• Nie Znaleziono Wyników

Index of /rozprawy2/10045

N/A
N/A
Protected

Academic year: 2021

Share "Index of /rozprawy2/10045"

Copied!
119
0
0

Pełen tekst

(1)AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI, INFORMATYKI I ELEKTRONIKI. KATEDRA AUTOMATYKI. ROZPRAWA DOKTORSKA. SYSTEM KOMPUTEROWY UŁATWIAJĄCY WYKORZYSTANIE INFORMACJI O ZJAWISKACH SOCJALNOEKONOMICZNYCH PRZY WYBORZE FIRM INWESTUJĄCYCH NA DANYM TERENIE. MGR INś. JANUSZ RYBARSKI. Promotor: Prof. dr hab. inŜ. Ryszard Tadeusiewicz. Kraków, 2008.

(2) Podziękowania W tym miejscu chciałbym bardzo serdecznie podziękować Panu Profesorowi Ryszardowi Tadeusiewiczowi za cenne wskazówki oraz pomoc merytoryczną, dzięki której praca ta osiągnęła ostateczny kształt. Osobne podziękowania chciałbym skierować do Magdaleny Nalepy za cierpliwość i tolerancję, która tak była mi potrzebna szczególnie pod koniec realizacji pracy. Jestem teŜ wdzięczny moim kolegom Michałowi Widlokowi oraz Sewerynowi Habdank-Wojewódzkiemu,. którzy. wspierali. mnie. podczas. realizacji. tego. przedsięwzięcia.. Pracę tę dedykuję moim Rodzicom i Siostrze Janusz Rybarski. 2.

(3) Spis treści 1.. 2.. Wprowadzenie 1.1.. Wstęp. 5. 1.2.. ZałoŜenia i uwarunkowania naukowe. 6. 1.3.. Teza pracy. 7. Wprowadzenie do problematyki podejmowania decyzji 2.1.. Struktura procesu podejmowania decyzji. 2.1.2.. Problematyka podejmowania decyzji w sektorze publicznym. Zagadnienia optymalizacji wielokryterialnej. 9 9 13 16. 2.2.1.. Rys historyczny optymalizacji wielokryterialnej. 16. 2.2.2.. Optymalizacja wielokryterialna - definicje podstawowe. 18. 2.2.3.. Metody optymalizacji wielokryterialnej. 21. 2.3.. Algorytmy genetyczne. 22. 2.3.1.. Algorytmy genetyczne – definicje podstawowe. 22. 2.3.2.. Przegląd historyczny zastosowania algorytmów genetycznych. 23. 2.3.3.. Ogólna charakterystyka algorytmów genetycznego SPEA (ang. Strange. Pareto Evoluntary Alghorith). 24. 2.3.4.. 27. 2.4.. Uzasadnienie wykorzystania algorytmu typu SPEA. Problem doboru firm inwestujących na danym terenie jako binarny problem. plecakowy System komputerowy wspomagania decyzji. 30 32. 3.1.. Koncepcja budowy komputerowego systemu wspomagania decyzji. 32. 3.2.. Platforma Eclipse. 34. 3.3.. Implementacja algorytmu genetycznego. 35. 3.4.. Implementacja algorytmu SPEA. 37. Problematyka wyboru firm inwestujących na danym terenie. 4.. 9. Proces podejmowania decyzji. 2.1.1.. 2.2.. 3.. 5. 39. 3.5.. Sposób kodowania czynników. 39. 3.6.. Problematyka tworzenia populacji początkowej. 42. 3.7.. Problematyka rozwiązań dopuszczalnych. 43. 3.8.. Funkcje przystosowania. 45. Weryfikacja i analiza zastosowanej metody. 52. 4.1.. Weryfikacja implementacji algorytmów. 52. 4.2.. Decyzje podejmowane przez człowieka. 55 3.

(4) 4.3.. Wyniki symulacji komputerowych. 65. 5.. Podsumowanie. 72. 6.. MoŜliwe kierunki kontynuacji pracy. 73. Spis tabel:. 74. Spis ilustracji.. 75. Bibliografia. 77. 4.

(5) 1. Wprowadzenie 1.1. Wstęp Od momentu wejścia Polski do Unii Europejskiej obserwujemy coraz większe zainteresowania inwestorów zagranicznych lokowaniem swoich przedsięwzięć takŜe na terenie naszego kraju. Wymieniając te najbardziej spektakularne moŜemy wspomnieć o takich. przedsięwzięciach. jak:. inwestycja. firmy. MAN. w. podkrakowskich. Niepołomicach na kwotę 100 mln EUR, czy teŜ inwestycja LG w podwrocławskich Kobierzycach na kwotę 110 mln USD. NaleŜy jednak pamiętać, Ŝe ryzyko kaŜdej inwestycji ponoszone jest nie tylko przez inwestora, ale równieŜ przez lokalną społeczność, a co za tym idzie, jest (a raczej powinna być) nie bez znaczenia dla urzędników odpowiedzialnych za proces podejmowania decyzji. Analizując dalej ten problem moŜna zauwaŜyć, Ŝe dla urzędników nie tyle sama inwestycja ma znaczenie, co jej wpływ na rozwój miasta, gminy, powiatu, regionu itp. – oraz odbiór (często subiektywny!) tego rozwoju przez przedstawicieli lokalnej społeczności, będących zwierzchnikami tegoŜ urzędnika. Wspomniane okoliczności umoŜliwiają poprawne zdefiniowanie kryteriów jakości podejmowanych decyzji, jednak pierwszy problem polega na tym, Ŝe kryteriów tych jest z reguły kilka i nie moŜna ich zredukować do pojedynczego wypadkowego kryterium, co powoduje, Ŝe rozwaŜane tu zagadnienie ujawnia swoją naturę nawiązującą do formalizmu optymalizacji wielokryterialnej, czyli polioptymalizacji. Z tego powodu, a takŜe ze względu jednak na duŜą liczbę danych podlegających analizie w procesie inwestycyjnym coraz trudniej jest podejmować trafne decyzje bez odpowiedniego wspomagania informatycznego. Udział komputerowych systemów wspomagających jest szczególnie waŜny przy podejmowaniu decyzji o znaczeniu strategicznym, których realizacja rozciągnięta jest w długim horyzoncie czasowym, a ich rezultat uzaleŜniony od wielu (nie zawsze przewidywalnych) czynników zewnętrznych. W prezentowanej rozprawie podjęto próbę stworzenia narzędzi formalnych oraz informatycznych, które mogą się okazać pomocne w rozwaŜanej klasie problemów podejmowania decyzji. Przedstawiając te narzędzia i prowadzące do nich rozwaŜania teoretyczne pragniemy podkreślić słuŜebny (pomocniczy) charakter proponowanych tu rozwiązań. W kaŜdym procesie decyzyjnym główną rolę pełni człowiek, poniewaŜ to on ponosi odpowiedzialność za podjętą decyzję. Jednak systemy wspomagające podejmowanie decyzji, między innymi omawianego w tej pracy typu, są bardzo 5.

(6) przydatne, poniewaŜ procesy informacyjne, jakie człowiek moŜe prowadzić przy uŜyciu wyłącznie własnego umysłu, podlegają bardzo istotnym ograniczeniom. Pierwsze z tych ograniczeń ma związek z liczbą przesłanek, które są brane pod uwagę podczas podejmowania decyzji. Zgodnie z badaniami psychofizycznymi przeciętna osoba moŜe podczas podejmowania decyzji wyraźnie mieć w polu widzenia maksymalnie 7-9 róŜnych przesłanek (na przykład w postaci wartości poziomów określonych parametrów). Wiadomo teŜ z psychologii, Ŝe moŜliwości analityczne ludzkiego umysłu zmieniają się w zaleŜności od predyspozycji danej osoby (niektórzy ludzie są zdolni do szybszej i bardziej trafnej oceny sytuacji, a inni są z natury mniej bystrzy), przy czym nawet dla ustalonego konkretnego człowieka mogą się silnie zmieniać zaleŜnie od czasu (na przykład w funkcji zmęczenia lub w zaleŜności od dodatkowych czynników rozpraszających uwagę – na przykład pochodzących ze sfery Ŝycia osobistego decydenta). Dodatkowo oceny projektów inwestycyjnych są często określane wyłącznie z punktu widzenia decydenta mającego osobisty stosunek do pieniędzy, które mają być zainwestowane, a to zawęŜa pole kryterialne i swobodę wyboru. JeŜeli o losie projektu decyduje bankier to interesuje go przede wszystkim termin zwrotu pieniędzy, odsetki, ryzyko. JeŜeli decyduje urzędnik, to przesłanką decyzji mogą stać się takŜe inne czynniki, na przykład bardzo waŜne kryteria społeczne lub ekologiczne. Jeśli decyzję ma podjąć politk, to dla niego kluczowym argumentem moŜe być orientacja na nowoczesne technologie promujące rozwój całego regionu, kwestie związane z zapewnieniem właściwego zatrudnienia itp. [18]. 1.2. ZałoŜenia i uwarunkowania naukowe Jak juŜ wcześniej było wspomniane, systemy przetwarzania informacji a takŜe systemy decyzyjne są coraz częściej spotykane przy wykonywaniu róŜnych zawodów związanych z koniecznością podejmowania decyzji w kontekście procesów zarządzania, a takŜe w Ŝyciu codziennym. MoŜna jednak zauwaŜyć, Ŝe dotychczas uŜywane systemy tego rodzaju wykorzystują głównie dane liczbowe zgromadzone w bazach danych lub (przy większych systemach) w hurtowniach danych, nie wymagające skomplikowanych procesów kodowania, oraz zaawansowanych algorytmów obliczeniowych dla ich właściwej reprezentacji w uŜywanym systemie informatycznym. W przedstawianej tu pracy podejęto próbę wykorzystania danych róŜnego rodzaju (nie tylko numerycznych) słuŜących w sumie do opisania firm, branŜ oraz środowiska inwestycyjnego. 6.

(7) Odwzorowanie tego rodzaju gospodarczo-społecznych informacji w komputerowo wspomaganych procesach decyzyjnych stanowi nowy i trudny element, z którym trzeba było się zmierzyć przy realizacji tej rozprawy. Ze względu na brak stosownych gotowych wzorów konieczne było przy tym rozwiązanie kilku zagadnień naukowych, zmierzających między innymi do odpowiedzi na pytanie, jak dane tego typu naleŜy uwzględniać w procesie podejmowania decyzji. Dodatkowo trzeba było zbadać takŜe ich wpływ na wynik końcowy. Realizacja powyŜszego zadania została podzielona w przygotowywanej pracy na kilka etapów: •. wybór czynników wpływających na proces podejmowania decyzji. •. opracowanie sposobu kodowania czynników jakościowych i ilościowych. •. opracowanie algorytmów decyzyjnych. •. przeprowadzenie procesu weryfikacji i analizy zastosowanych metod, a takŜe oceny ich skuteczności i uŜyteczności ich wykorzystania, – w szczególności w administracji publicznej i w pracach samorządów. Praca zawiera dokładniejszy opis przedstawionych wyŜej problemów, jak równieŜ prezentuje znane z literatury oraz zaproponowane przez autora sposoby ich rozwiązania. Część empiryczna pracy zawiera weryfikację eksperymentalną zaproponowanych rozwiązań oraz dyskusje na temat moŜliwości i celowości powszechnego zastosowania opracowanych metod w administracji publicznej. Warto dodać i podkreślić, Ŝe w ramach pracy został stworzony oryginalny system komputerowy, umoŜliwiający testowanie i wybieranie optymalnych algorytmów, wykorzystujący między innymi techniki sztucznej inteligencji. Ciekawym elementem rozprawy jest próba konfrontacji decyzji sugerowanych przez system z decyzjami podejmowanymi (w warunkach symulacji) przez ludzi. Eksperyment ten dostarcza unikatowych moŜliwości porównania zalet i wad systemów automatycznych wspomagania decyzji (w szczególności systemów wspomaganych za pomocą metod sztucznej inteligencji) z naturalną kreatywnością ludzi.. 1.3. Teza pracy Cel i zakres problemowy niniejszej rozprawy zostały wyŜej podane i przedyskutowane w formie opisowej. PoniewaŜ jednak praca ta ma funkcjonować jako rozprawa naukowa, przeto jej cel przedstawimy dodatkowo w postaci formalnej tezy, której dowód będzie głównym celem wszystkich dalszych wywodów. OtóŜ ta teza, którą będziemy usiłowali udowodnić, będzie brzmiała następująco: 7.

(8) Istnieje moŜliwość stworzenia systemu komputerowego wspomagającego proces podejmowania. decyzji. inwestycyjnych. z. wykorzystaniem. informacji. socjo-. ekonomicznych z danego regionu. Teza sformułowana jest wprawdzie w konwencji egzystencjalnej, dowód będzie jednak przedstawiony w formie konstruktywnej, to znaczy pokaŜemy, jak moŜna konkretnie zbudować system o cechach deklarowanych w ramach tezy – oraz jakie są jego własności.. 8.

(9) 2. Wprowadzenie do problematyki podejmowania decyzji Jak było to wcześniej wspomniane, główną rolę w procesie podejmowania decyzji pełni człowiek, gdyŜ to on ponosi odpowiedzialność za podjętą decyzję. Tworząc, więc system komputerowy wspomagający proces podejmowania decyzji naleŜy zadać sobie pytanie: jak wygląda proces podejmowania decyzji realizowany przez człowieka, z jakich etapów się składa i jakie kryteria brane są pod uwagę przy wyborze konkretnego rozwiązania. WaŜne są takŜe pytania komplementarne do tych wyŜej postawionych, a mianowicie kwestie tego, jakich informacji najbardziej potrzebuje człowiek podejmujący decyzje oraz w jakiej formie informacje te powinny mu być podawane, Ŝeby maksymalnie skutecznie mogły być wykorzystane w procesie podejmowania decyzji przez człowieka Naukowcy zajmujący się problematyką podejmowania decyzji od dawna spierają się o róŜne definicje tego procesu. I tak C. Colbe [78] uwaŜa, iŜ decyzja to „wybór wśród alternatyw działania najbardziej odpowiadającego przyjętym kryteriom wyboru”, z kolei J. Kurnal [40] definiuje ten sam proces jako: „Akt świadomego wyboru jednego z rozpoznanych i dostępnych wariantów działania”. Na potrzeby niniejszej pracy moŜna przyjąć takŜe inną definicję, która mówi, Ŝe proces decyzyjny definiowany jest jako świadomy i nielosowy wybór jednego spośród zbioru moŜliwych wariantów rozwiązania problemu decyzyjnego, polegający na wyróŜnieniu ze zbioru moŜliwości tej, która będzie podjęta w działaniu. 1 W świetle tej definicji oczywistym staje się postawione wcześniej pytanie o strukturę procesu podejmowania decyzji tak, aby decyzja była trafna i wiarygodna, a takŜe ponosiła za sobą konkretne wymierne skutki.. 2.1. Proces podejmowania decyzji 2.1.1.. Struktura procesu podejmowania decyzji. Oczywistym jest fakt, iŜ im decyzja trudniejsza, a jej skutki mniej przewidywalne, tym proces decyzyjny charakteryzuje się większą złoŜonością. MoŜliwe jest podanie etapów, z których proces taki na pewno będzie się składał, chociaŜ w indywidualnych przypadkach mogą dochodzić takŜe dalsze etapy. W swojej pracy Z. Ściborek [78] dzieli proces decyzyjny na kilka etapów do których naleŜą:. 1 J.Targalski -definicja pojęcia decyzji. Z. Ściborek „Podejmowanie decyzji” str.31.. 9.

(10) •. sformułowanie celu. •. określenie kryterium wyboru. •. skonstruowanie wariantów decyzyjnych. •. ocena. hipotetycznych. skutków. realizacji. poszczególnych. wariantów. z uwzględnieniem kontekstu •. wybór, poprzez odwołanie się do wybranego kryterium, najbardziej korzystnego wariantu decyzyjnego NaleŜy więc przyjąć, Ŝe takŜe proces decyzyjny wspierany przez system. komputerowy musi składać się z przynajmniej wyŜej wymienionych etapów. NajwaŜniejszym z nich, co oczywiste, jest etap formułowania celu, a co za tym idzie, takŜe listy ograniczeń, które powodują, iŜ pewne skutki podjęcia decyzji nie mogą zostać wywołane, a pewne cele nie są osiągalne. Do ograniczeń takich naleŜą ograniczenia wynikające z [78]: ●. fizycznych właściwości określonych systemów, do których w przypadku podejmowania decyzji dotyczących inwestycji na danym terenie moŜna zaliczyć ograniczenia związane z dostępnością przestrzeni przeznaczonej pod inwestycje oraz jej własnościami. ●. narzuconych przyjętych limitów, które w prezentowanej pracy obejmować będą limity związane z dostępnością i wydajnością mediów (np: 30 m3 wody/godzinę), wydajnością oczyszczalni ścieków itp.. ●. narzuconych wymogów, nie zezwalających na podejmowanie niektórych działań. Dla przykładu moŜna podać charakter gminy (gmina atrakcyjna turystycznie), w której obrębie nie naleŜy lokować przemysłu cięŜkiego, sortowni odpadów, spalarni itp.. Tworząc listę ograniczeń naleŜy takŜe określić: ●. ograniczenia o najsilniejszym wpływie. ●. stopień nienaruszalności ograniczeń, wynikających z decyzji wyŜszego poziomu Kolejnym z wymienionych etapów jest ustalenie wartości kryteriów, które. będą miały wpływ na podejmowaną decyzję. Na etapie tym naleŜy brać pod uwagę konkretne wartości, formuł matematycznych, a takŜe ludzi oraz ich cele [16]. Pamiętać 10.

(11) jednak naleŜy, iŜ to samo kryterium dla róŜnych ludzi moŜe mieć róŜną wartość, a miara wartości często jest subiektywna. Najczęściej spotykaną metodą jest metoda rangowania, przypisująca wagi dla poszczególnych kryteriów. MoŜliwe jest takŜe określenie kryterium kosztowego, w przypadku którego najlepszym rozwiązaniem jest, przy ustalonym zadaniu, wariant, który moŜe być zrealizowany najmniejszym kosztem [33]. Konstruowanie wariantów decyzyjnych, z których następnie zostaną wybrane rozwiązania najlepsze (w przypadku problemów wielokryterialnych nie moŜliwe jest otrzymanie rozwiązania optymalnego) wydaje się z pozoru zadaniem stosunkowo łatwym. Celem tego działania jest szczegółowa ocena czynników, które w róŜny sposób wpływać będą na rozwiązanie sytuacji problemowej oraz ustalenie kilku realnych wariantów jej rozwiązania2. WaŜne jest, aby przygotowane na tym etapie warianty były realne, tzn. mogły zaistnieć (spełniały wszystkie ograniczenia). NaleŜy takŜe pamiętać, Ŝe proponowane rozwiązania nie mogą być przyporządkowane z góry przyjętej jakiejś subiektywnej koncepcji rozwiązania preferującej określone cele (co ogranicza w kolejnych etapach moŜliwość wyboru). Dlatego teŜ naleŜy wyraźnie oddzielić fazę poszukiwań rozwiązań od fazy oceniającej dane rozwiązania. Z licznych badań psychologicznych procesu twórczego wynika, iŜ połączenie tych faz w znacznym stopniu wpływa na minimalizację twórczości, innowacyjności i liczby nowych pomysłów, które mogą mieć wpływ na wielkość tworzonego zbioru rozwiązań [78]. Ostatnią bardzo waŜną zasadą, której naleŜy przestrzegać, jest odkładanie tzw. momentu rozstrzygającego, czyli momentu, w którym dokonuje się wyboru konkretnego rozwiązania. Chyba najtrudniejszym etapem, z wymienionych powyŜej, jest etap oceny hipotetycznych skutków realizacji poszczególnych wariantów. Etap ten moŜna porównać do prognozowania, w którym to na podstawie stanu obecnego oraz modeli zachowania się otoczenia, podejmowana jest próba określenia kształtów zmian zjawisk ekonomicznych w przeszłości [87]. W przypadku decyzji o charakterze strategicznym (a taki charakter ma z reguły proces wyboru firm inwestujących na danym terenie) proces ten przebiega inaczej. We wstępnej ocenie wariantów zostają odrzucone warianty, które [78]: •. są niewykonalne ze względu na nieusuwalne przeszkody. 2 Z. Ściborek: Podejmowanie decyzji, Warszawa 2003 s. 138. 11.

(12) •. koszty ich realizacji znacznie przekraczają budŜet decydenta. •. są niepoŜądane ze względów politycznych lub społecznych. •. są wyraźnie zdominowane przez inne warianty Dopiero w kolejnym etapie opracowywania wariantów przychodzi czas na. ocenę skutków ich wprowadzenia. Nie jest to jednak zadanie łatwe. KaŜdy z realizowanych wariantów powoduje zwykle znaczną liczbę skutków, które moŜna oceniać w róŜny sposób. Skutki, które sprzyjają osiągnięciu celu to korzyści, natomiast skutki, które są niepoŜądane i które pragniemy wyeliminować lub zminimalizować ich wielkość to koszty. (naleŜy pamiętać, iŜ te same skutki podejmowania decyzji mogą raz być odbierane jako korzyści, w innym zaś wypadku jako koszty) Istnieje takŜe trzecia kategoria skutków – tzn. skutki zewnętrzne, mające niewielki wpływ na powodzenie lub niepowodzenie w osiągnięciu celu. [78] Koszty podjęcia takiej a nie innej decyzji mogą być rozwaŜane zarówno jako nakłady jakie trzeba ponieść w związku z realizacją wybranej decyzji, bądź jako utracone korzyści lub niewykorzystane okazje. Oznacza to, Ŝe kosztem danego wariantu jest takŜe to, co moŜna by uzyskać lub uczynić, gdyby nie wybrano tego konkretnego wariantu. Analiza literatury wprowadza następujące rodzaje skutków [78]: ●. oceniane (mierzone) dokładnie i podanie w ich jednostkach naturalnych (kilogramach, sztukach itp.). ●. wyraŜone w wartościach pieniądza. ●. wyraŜone za pomocą oszacowania liczbowego. ●. nie dające się wyrazić liczbowo, ale moŜliwe do uporządkowania w sensie rang (np: skutki społeczne które są niewyraŜalne liczbowo, ale moŜliwe do oceny jak bardzo korzystne, korzystne, obojętne, niekorzystne). ●. określane za pomocą stwierdzeń nie dających się uporządkować (np: w postaci skutków politycznych).. Przyjmując inny podział koszty moŜna podzielić na [78] • koszty ekonomiczne (to koszty wyraŜone w pieniądzu, inne koszty ekonomiczne). 12.

(13) • koszty pozaekonomiczne – które stają się udziałem ludności w przypadku wyboru wariantu. Koszty pozaekonomiczne stanowią wyraz niekorzystnego oddziaływania danego wariantu na „jakość Ŝycia”3 i w przypadku decyzji podejmowanych w sektorze publicznym bardzo często mają decydujący wpływ na wybór wariantu rozwiązania. W rzeczywistości najczęściej nie moŜna znaleźć rozwiązania optymalnego. Z konieczności więc często poszukuje się rozwiązania zadowalającego, czyli takiego, przy którym oczekiwanym efektom towarzyszą dostatecznie niskie oczekiwane nakłady i koszty, a jednocześnie rozwiązanie to gwarantuje osiągnięcie celu. 4 Co więcej, decydentowi moŜna przedstawić wszystkie najbardziej obiecujące warianty (na przykład rozwiązania Pareto–optymalne) wraz z ich indywidualną oceną i opisem, jednak bez wskazywania na najlepszy wariant [78] (działanie odpowiadające działaniu systemu wspomagania decyzji).. 2.1.2. Problematyka podejmowania decyzji w sektorze publicznym W przypadku podejmowania decyzji dotyczących inwestycji firm na terenie danej gminy, najczęściej nie bierze się pod uwagę tylko kosztów lub zysków (w sensie ekonomicznym), które odniesie gmina. W sektorze publicznym, a do takiego naleŜy zaliczyć decyzje podejmowane przez wójtów, burmistrzów, bądź spółki z udziałem skarbu państwa zarządzające danym terenem inwestycyjnym, decyzje podejmowane są w pierwszej kolejności z uwzględnieniem kosztów kryteriów pozaekonomicznych (często politycznych), a dopiero w dalszej kolejności z uwzględnieniem kosztów ekonomicznych realizacji danego przedsięwzięcia. Decyzje podejmowane przez polityków dość często ustalane są w sposób mechaniczny (najczęściej w rutynowych działaniach opartych na przepisach lub regulaminach) lub teŜ są wymuszane pod wpływem napięć społecznych i wewnętrznych stresów decydentów. Chcąc więc uniknąć sytuacji, w których na podejmowaną decyzję mają wpływ czynniki, które w istocie nie powinny być brane pod uwagę, zaproponowano zastosowanie podejścia cybernetycznego [58], łączącego teorię decyzji racjonalnych z teorią decyzji emocjonalnych. W podejściu tym zakłada się, iŜ polityk rozkłada sytuacje decyzyjne na składowe i dokonuje ich kolejnej ewaluacji. Co więcej, 3 Z. Ściborek Podejmowanie decyzji, Warszawa 2003 s. 155 4 j.w.. 13.

(14) zakładamy, Ŝe polityk czyniąc to ma dostęp do pełnej informacji, a ponadto stara się przewidywać skutki swoich decyzji, zna hierarchię swoich preferencji, formułuje alternatywne decyzje i zna konsekwencje kaŜdego proponowanego wyboru. RównieŜ na zasadzie intencjonalnego załoŜenia przyjmujemy, Ŝe gdy dochodzi do starcia dwóch wartości, wówczas podejmujący decyzję polityk integruje ich odrębne wymiary, stosując milcząco przyjęte skalarne kryterium, pozwalające ocenić wyŜszość jednej wartości na drugą. Proces decyzyjny opisany wyŜej ma w duŜej mierze charakter postulatywny i normatywny, gdyŜ raczej stwierdza, jak być powinno, niŜ pokazuje wierne odbicie praktyki, która ma miejsce w rzeczywistości. Jednak nawet wtedy, gdy nie stosujemy idealizujących uproszczeń stwierdzić naleŜy, Ŝe rozumowanie polityków ma zwykle charakter analityczny, gdyŜ jako decydenci analizują oni i oceniają alternatywne skutki swoich decyzji. 5. . Steinbruner [75] zauwaŜa, iŜ decydent. wykorzystujący narzędzia cybernetyczne, dąŜy przede wszystkim do utrzymania dynamicznej równowagi ze swoim środowiskiem. W tym celu działa strategicznie, szybko i sprawnie, nie przeprowadzając złoŜonych kalkulacji zysków i strat, opierając się na kilku prostych wzorach oraz na niewielkim zbiorze najwaŜniejszych zmiennych6 Niestety rzeczywiste procesy decyzyjne nie zawsze przebiegają w ten sposób [75]. Ludzie najczęściej decydują inaczej, a racjonalność decyzji dopisywana jest ex-post. W przypadku decyzji politycznych [58] naleŜy takŜe mówić nie tylko o decyzjach zoptymalizowanych, ale takŜe zadowalających. MoŜna więc mówić o decyzjach politycznych jako: • zoptymalizowanych. całościowo,. które. wydają. się. ideałem. najczęściej. niemoŜliwym do osiągnięcia • zoptymalizowanych częściowo, na przykład tylko ze względu na jedno kryterium (na przykład mogą to być interesy jednej tylko grupy społecznej) • zadowalających, ale niezoptymalizowanych – spełniających określone kryteria w stopniu minimalnym, ale aprobowanym • niezadowalających, ale utrzymujących się jeszcze w kulturowo określonym przedziale tolerancji • błędnych, czyli wykraczających poza granice owej tolerancji. 5 Z. J Pietraś Decydowanie polityczne, Warszawa-Kraków 1998 s 29 6 j.w.. 14.

(15) Ocena poszczególnych decyzji nie jest prosta, gdyŜ powinno się uwzględnić funkcję dwu zmiennych słuŜących do oceny trafności decyzji: funkcji czasu oraz podmiotu oceniającego daną decyzje. Decyzja zoptymalizowana w momencie podjęcia, nie musi być tak samo oceniana po upływie np. dziesięciu lat. Tak samo decyzja zoptymalizowana ze względu na interesy jednej grupy społecznej moŜe być uznawana za błąd polityczny przez inną grupę. W swojej pracy S. Zawadzki [86] twierdzi, Ŝe decyzja polityczna moŜe być uwaŜana za zoptymalizowaną jeŜeli równocześnie spełnia trzy podstawowe kryteria: aksjologiczne (dotyczy zgodności decyzji z systemami wartości grupy rządzącej oraz róŜnych wielkich i małych grup społecznych a takŜe ich organizacji), prakseologiczne (odnosi się do doboru metod i środków działania), społeczne (ma zapewnić ich sprawną implementacje dzięki uzyskaniu poparcia społecznego) [58]. Zatem powinna być zgodna z abstrakcyjnymi systemami wartości, z konkretnymi interesami społecznymi, a co najwaŜniejsze, powinna być skuteczna 7 W literaturze przedmiotu mowa jest takŜe o decyzjach akceptowalnych. Decyzja, aby być uwaŜana za akceptowalną, musi spełniać trzy kryteria: po pierwsze grupa oceniająca musi mieć moŜliwość odtworzenia oceny sytuacji decyzyjnej jaka istniała w momencie podejmowania decyzji (w przypadku systemów komputerowych waŜne jest, aby moŜliwe było prześledzenie drogi podejmowania decyzji), po drugie członkowie grupy oceniającej muszą być w stanie odtworzyć listę wariantów decyzji, którą decydenci podejmowali (czyli inne moŜliwe rozwiązania), po trzecie musi być moŜliwe odtworzenie przez grupę relacji preferencji ośrodka decyzyjnego (oraz ich akceptacja)8 Pamiętać równieŜ trzeba, iŜ realizacja decyzji politycznych zmienia otoczenie społeczne i zawsze wywołuje jego reakcje, często polegające na przeciwstawianiu się. W takich sytuacjach trzeba, w danej sprawie, podejmować wiele decyzji korygujących poprzednie i uwzględniające reakcje środowiskowe. Brak społecznej akceptacji decyzji politycznej, powoduje jej nieoptymalność, a co za tym idzie, daleko idącą niemoŜność jej realizacji. Warto zaznaczyć, Ŝe w demokratycznym państwie prawa uzyskanie pełnej akceptacji jakiejś decyzji ze strony wszystkich obywateli jest prawie niemoŜliwe. Zoptymalizowana decyzja polityczna powinna jednak uzyskać akceptację większości obywateli, a w tym podstawowych grup społecznych.. 7 j w s 129 8 j.w.. 15.

(16) 2.2. Zagadnienia optymalizacji wielokryterialnej Jak było wcześniej wykazane, decyzje ekonomiczne (bądź teŜ polityczne) poprzedza złoŜony proces, który nie zawsze jednak prowadzi do otrzymania rozwiązania optymalnego. Co więcej, nie moŜna nawet mówić o rozwiązaniu optymalnym, poniewaŜ w przypadku tak złoŜonych procesów nie wiadomo co oznacza rozwiązanie optymalne. JeŜeli chodzi o inwestycje duŜe - dla długookresowych inwestycji nie moŜna wybrać rozwiązania, na podstawie tylko jednego kryterium (wielości firmy, czy np. ilości zainwestowanego kapitału). Nie moŜna więc w sposób jednoznaczny określić, które rozwiązanie jest rozwiązaniem optymalnym i czy takie rozwiązanie w ogóle istnieje (na przykład dla jednej grupy oczywistym będzie wybór firm duŜych ze względu na powierzchnię inwestycji, dla innych ze względu na liczbę zatrudnianych osób). Widać więc, Ŝe mamy do czynienia z optymalizacją wielokryterialną (tzw. polioptymalizacją).. 2.2.1.. Rys historyczny optymalizacji wielokryterialnej. Historię optymalizacji moŜna podzielić na kilka etapów [3],[53]. Etap pierwszy, to poszukiwania wartości minimalnej, który realizują G. W. Leibniz (16461716) i L. Euler (1707-1783). Ich prace kontynuuje I. Newton (1643-1727), J. Bernoulli (1654-1705) oraz jego syn, D. Bernoulli (1700-1782). Podstawy matematyczne optymalizacji tworzą J. L. Lagrange (1736-1813) oraz W. R. Hamilton (1805- 1865). L. Rayleigh (1842-1919), W. Ritz (1878-1909) i B. G. Galerkin (1871-1945) wykorzystują aproksymacje do znajdywania optimum funkcji. Kolejny etap to etap poszukiwania rozwiązań Pareto optymalnych [15]; [41]. Francisa Ysidro Edgeworth’a (1845-1926) podaje definicję optimum w przypadku wielokryterialnych decyzji ekonomicznych. W 1881 r. w swoim dziele pt. “Mathematical Psychics: An essay on the application of mathematics to the moral sciences”, wprowadza pojęcie “optymalny”. Georg Cantor i Felix Hausdorff wprowadzają zagadnienie przestrzeni bezwymiarowych (1895 r.). a Vilfredo Pareto (1848-1923), wprowadza pojęcie optimum w sensie Pareto (1896 r.) próbując analizować problemy ekonomii przy pomocy aparatu matematycznego. Tjalling C. Koopmans wykorzystuje problematykę optymalizacji wielokryterialnej w teorii produkcji (1951 r.). Harold W. Kuhn i Albert W. Tucker w 1951 roku podają podstawy matematyczne optymalizacji wielokryterialnej. Dziewięć lat później (1960 r.) Leonid Hurwicz uogólnia wyniki Kuhn’a i Tucker’a na przestrzenie wektorowe. Rosenberg 16.

(17) prowadząc prace nad algorytmami ewolucyjnymi proponuje zastosowanie ich w problemach wielokryterialnych (lata 60-te). Marglin w 1976 roku wykorzystując optymalizację wielokryteriową koncentruje prace nad planowaniem źródeł zaopatrzenia w wodę. Dopiero jednak przetłumaczenie na język angielski w 1971 roku dzieła V. Pareto powoduje istotny przełom w pracach nad optymalizacją wielokryterialną. W latach 80-tych dwudziestego wieku Schaffer opracowuje wielowymiarowe algorytmy ewolucyjne. W Stanach Zjednoczonych nad podobnymi zadaniami pracują Stadler (1979 r.), Steuer (1985 r.) i inni. W Japonii prace prowadzą Sawaragi, Nakayama i Tanino (1985 r.). Pierwsze prace nad optymalizacją wielokryterialną prowadził J. L. Cohon’a i D. H. Marks’a (1975 r.) [11], [3]. W 1985 r. J. D. Schaffer tworzy program VEGA Vector Evaluated Genetic Algorithms a M. Fourman proponuje hierarchiczną metodę optymalizacji (1985 r.). F. Kursawe pracuje nad metodami optymalizacji stochastycznej z problemu jednokryterialnego na wielokryterialny (1985 r.). Wynikiem jego pracy jest algorytm ESVO – Evolution Strategies for Vector Optimization (1991 r.). W 1993 roku C. Fonseca i P. Fleming tworzą kolejny ewolucyjny algorytm wielokryterialny o nazwie MOGA - Multiobjective Genetic Algorithm, w którym selekcja oparta jest o metodę rangowania (1993 r.). W tym samym roku (1993 r.) J. Horn i N. Nafpliotis tworzą program NPGA - Niched Pareto Genetic Algorithm. NSGA - NonDominated Sorting Genetic – program stworzony przez N. Srinivas i K. Deb w 1994 wykorzystuje metodę graficzną do porównywania wyników. Pięć lat później (1999 r.) E. Zitzler i L. Thiele tworzą program SPEA - Strength Pareto Evolutionary Algorithm (wykorzystywany w niniejszej pracy), w którym proponują rozwiązanie problemu elityzmu [89][90]. D. W. Corne i J. D. Knowles tworzą program PAES - Pareto Archived Evolution Strategy (1999 r.) i PESA - Pareto Envelope-based Selection Algorithm (2000 r.), wykorzystujące ilościowe metryki działania. K. Deb w 2000 roku tworzy natomiast NSGA-II - NonDominated Sorting Genetic Algorithm II. Obszerną historię algorytmów typu MOEA (ang. Multiobjective Evolutionary Algorithms) moŜna znaleźć w publikacji [41]. PoniŜej zostały podane nazwy programów (algorytmów) oraz nazwiska ich twórców Fourman: LOGA - Lexicographic Ordering GA (1985 r.). Hajela i Lin: WBGA – Weight-Based GA (1993 r.). Osyczka i Kundu: DPGA - Distance-based Pareto GA (1995 r.). Kita i inni: TDGA - Thermodynamical GA (1996 r.). VanVeldhuizen, Zydallis, Day i Lamont: MOMGA-I, II, IIa - Multi-Objective Messy GA (1999 r.). Coello: micro GA-MOEA - micro GA for Multiobjective Optimization 17.

(18) (2000 r.). Pelikan, Goldberg, Lobo: mBOA – Multi-Objective Bayesian Optimization Algorithm (2000 r.). W pracy [37] znajdują się najnowsze osiągnięcia z zakresu optymalizacji wielokryterialnej. W dalszej części zostały podane nazwiska twórców oraz nazwy programów (wraz z datą utworzenia) Erickson, Mayer, Horn - NPGA II (2001 r.). Zitzler, Laumanns, Thiele - SPEA 2 (2001 r.). Kim, Hiroyasu, Miki, Watanabe – SPEA 2+ (2004 r.). Hongyun, Sanyang – ISPEA Immunity SPEA (2003 r.). Corne, Jerram, Knowles, Oates - PESA II (2001 r.). Coello, Pulido - Micro GA: Micro-Genetic Algorithm (2001 r.). Pulido, Coello - Micro-GA2 (2003 r.). Cochran, Horng, Fowler MPGA: Multi-Population Genetic algorithm (2003 r.). Coello, Becerra - CAEP: Cultural Algorithm with Evolutionary Programming (2003 r.). Coello, Pulido, Lechuga - MOPSO: Multi-Objective Particle Swarm Optimization (2003 r.). Knowles - ParEGO: Pareto38 Efficient Global Optimization (2005 r.).. 2.2.2. Optymalizacja wielokryterialna - definicje podstawowe [89] Definicja 1. Zagadnienie optymalizacji wielokryterialnej Niech dany będzie zbiór n zmiennych decyzyjnych, zbiór k funkcji celu i zbiór m ograniczeń. Funkcje celu (kryteria) i ograniczenia są funkcjami zmiennych decyzyjnych. Problem optymalizacji wielokryterialnej moŜna sprowadzić do: Minimalizacja wektora:. Przy ograniczeniach. y = f ( x) = ( f 1 ( x), f 2 ( x), f 3 ( x), … f k ( x)). (1). g ( x) = ( g 1 ( x), g 2 ( x), g 3 ( x), … g m ( x)) ≤ 0. (2). Gdzie: x- wektor zmiennych decyzyjnych x = ( x1 , x 2 , x3 , … x n ) ∈ X y –kryteria wyboru y = ( y1 , y 2 , y 3 , … y k ) ∈ Y X - przestrzeń zmiennych decyzyjnych Y- przestrzeń kryteriów 18.

(19) Ograniczenie g ( x) ≤ 0 wyznacza rozwiązania dopuszczalne. Definicja 2. Zbiór rozwiązań dopuszczalnych X d Jest to zbiór zmiennych decyzyjnych x spełniających ograniczenia g ( x) , co moŜna wyrazić w sposób następujący:. X d = { x ∈ X g ( x) ≤ 0}. (3). Odpowiadający mu zbiór wartości osiągalnych kryteriów ma postać: Yd = f ( X d ) = ∪ x∈X d { f ( x)}. (4). W przypadku optymalizacji jednokryterialnej zbiór rozwiązań dopuszczalnych jest w pełni uporządkowany według wartości funkcji celu f. W przypadku optymalizacji wielokryterialnej zbiór rozwiązań dopuszczalnych uporządkowany jest częściowo.. Definicja 3. Relacje typu =, >=, > Niech dane będą dwa wektory wielkości kryterialnych u i v. MoŜna zdefiniować następujące relacje:. u=v. gdy. u≥v u>v. gdy gdy. ∀ i ∈ {1, 2 , … k }: u i = v j ∀ i ∈ {1, 2 , … k }: u i ≥ v j u ≥v∧u ≠ v. (5). Relacje <= i < definiowane są analogicznie.. Definicja 4. Dominacja w sensie Pareto (Pareto dominacja) Niech dane będą dwa wektory zmiennych decyzyjnych a i b. MoŜna zdefiniować następujące relacje: a dominuje na b gdy f (a ) > f (b) a słabo dominuje nad b gdy f (b) ≥ b. (6). a jest neutralne względem b gdy f (a ) ≥/ f (b) ∧ f (b) ≥/ f (a ). 19.

(20) Definicja 5. Optymalność w sensie Pareto (Pareto optymalność) Wektor zmiennych decyzyjnych x ∈ X d jest niezdominowany odnoście zbioru A ⊆ X d , jeŜeli zachodzi: ∃/a ∈ A : a ≻ x gdzie. (7). ∃/ - oznacza „nie istnieje”. Wektor x jest optymalny w sensie Pareto, gdy jest niezdominowany odnośnie przestrzeni X d Wszystkie rozwiązania Pareto-optymalne nazywa się zbiorem Paretooptymalnym. Odpowiadające mu wektory kryteriów to front lub powierzchnia Paretooptymalna.. Definicja 6. Zbiory i fronty niezdominowane Niech A ⊆ X d . Funckja p (A) określa zbiór niezdominowanych wektorów zmiennych. decyzyjnych w zbiorze A:. p( A) = {a ∈ A | a jest niezdominowany odnośnie A}. (8). Zbiór p (a ) jest zbiorem niezdominowanym odnośnie A, odpowiadający mu zbiór wektorów kryteriów f ( p ( A)) jest niezdominowanym frontem odnośnie A. Ponadto, zbiór X p = p ( X p ) to zbiór Pareto-optymalny, a zbiór Y p = p ( X p ) to front Paretooptymalny.. Definicja 7. Globalne i lokalne zbiory Pareto-optymalne Niech dany będzie zbiór wektorów zmiennych decyzyjnych A ⊆ X d 2. Zbiór A jest lokalnym zbiorem Pareto-optymalnym, jeŜeli zachodzi następujący warunek:. ∀a ∈ A : ∃/x ∈ X d : x ≻ a ∧ x − a < ε ∧ f ( x) − f (a ) < δ. (9). przy czym:. ⋅ - metryka 20.

(21) ε > 0, δ > 0 • Zbiór A jest globalnym zbiorem Pareto-optymalnym, jeŜeli zachodzi: ∀a ∈ A : ∃/x ∈ X d : x ≻ a. 2.2.3.. (10). Metody optymalizacji wielokryterialnej. Metody. optymalizacji. wielokryterialnej. moŜna. podzielić. na. dwie. kategorie:[15], [3]: ●. Techniki skalaryzacji (ang. scalarization approaches), w których problem wielowymiarowy. sprowadzany. jest. do. problemu. jednowymiarowego. i w konsekwencji otrzymujemy jedno rozwiązanie: ●. Techniki Pareto (ang. Pareto approaches), w których rozwiązaniem zadania jest zbiór rozwiązań.. W przypadku pierwszej kategorii moŜna mówić o metodach takich jak: • Metoda waŜonej sumy (Weighted Sum Approach – WSA), • Programowanie. kompromisowe. -. kombinacje. nieliniowe. (Compromise. Programming - CP - Non-linear combinations) • Analiza uŜyteczności wielokryterialnej - teoria uŜyteczności (Multiattribute Utility Analysis - MUA - Utility Theory – UT) • Programowanie celów (Goal Programming – GP), • Techniki leksykograficzne (Lexicographic Approaches – LA) • Funkcje dopuszczalne (Acceptability Functions – AF), • Logika rozmyta (Fuzzy Logic – FL) Techniki Pareto moŜna z kolei podzielić na metody opierające się o: •. Poszukiwanie i filtrowanie w sensie Pareto (Exploration and Pareto Filtering),. •. Metoda sum waŜonych ze skanowaniem wag (Weigthed Sum Approaches (with weight scanning)). •. Adaptacyjna metoda sum waŜonych (Adaptive Weighted Sum Method – AWS). •. Metoda przecięć obszaru granicznego (Normal Boundary Intersection – NBI). 21.

(22) •. Symulowane wyŜarzanie wykorzystywane do optymalizacji wielokryterialnej (Multiobjective Simulated Annealing MOSA). •. Algorytmy genetyczne do optymalizacji wielokryterialnej (Multiobjective Genetic Algorithm MOGA). 2.3. Algorytmy genetyczne 2.3.1.. Algorytmy genetyczne – definicje podstawowe. Algorytmy genetyczne (AG), będące grupą algorytmów ewolucyjnych (AE) bazują na regułach ewolucji naturalnej, której podstawy opracował Karol Darwin (1844 r.). Algorytmy te posiadają cechy, które w wyraźny sposób odróŜniają je od tradycyjnych algorytmów optymalizacyjnych: [25] [61], • nie przetwarzają bezpośrednio paramentów zadania lecz ich zakodowaną postać • prowadzą poszukiwania, wychodząc nie z pojedynczego punktu lecz z pewnej ich populacji • korzystają tylko z funkcji celu nie zaś jej pochodnych lub innych pomocniczych informacji • stosują probabilistyczne a nie deterministyczne reguły wyboru Prostota działania algorytmów genetycznych, a co za tym idzie takŜe łatwość ich implementacji, opiera się na trzech podstawowych działaniach: ●. mutacji -. polegającej na zamianie wartości losowo wybranego genu na. przeciwną, ●. krzyŜowaniu –. którego działanie opiera się na losowym przecięciu dwóch. chromosomów w jednym (lub wielu) punktach i zamianie poszczególnych elementów ze sobą. ●. reprodukcji –. która odpowiedzialna jest za powielenie ciągów kodowych. w zaleŜności od wartości funkcji przystosowania (ang. fitness function). 22.

(23) Rys. 1 Schemat blokowy algorytmu genetycznego Źródło: Rutkowski 2005 s, 233. 2.3.2. Przegląd historyczny zastosowania algorytmów genetycznych Pierwsze wzmianki na temat wykorzystania algorytmów genetycznych pojawiły się w rozprawie doktorskiej Baglye w roku 1967 [25]. W tym samym czasie Rosenberg (1967 r.) w pracy doktorskiej zajmował się symulacją populacji jednokomórkowych organizmów o nieskomplikowanej budowie. W 1970 r. w pracy pt. „Adaptive Search Using Simulated Evolution” („Poszukiwanie adaptacyjne na drodze symulowanej ewolucji”) Cavicchio wykorzystał algorytm genetyczny do rozwiązywania problemu wyboru podprogramu oraz rozpoznawania postaci. (wykorzystał metodę rozpoznawania postaci podana przez Bledsoe-a i Browinga w 1959 roku). Jedną z innowacji, którą w swych badaniach wprowadził Caviccho była metoda preselekcji, polegająca na tym, Ŝe osobnik potomny o dobrym przystosowaniu zastępował jednego 23.

(24) ze swoich rodziców w nadziej utrzymania róŜnorodności populacji. Metoda ta została wykorzystana przez De Jonga – (1975 r.) w studium na temat optymalizacji W pracy doktorskiej Holletein (1971 r.) pod tytułem „Aritficial Genetic Adaptation. in. Computer. Control. System. („Sztuczna. adaptacja. genetyczna. w komputerowych systemach sterowania”) dokonał optymalizacji funkcji dwóch zmiennych przy zastosowaniu mechanizmów dominowania, krzyŜowania, mutacji oraz reprodukcji. W 1972 roku Frantz w swoich badaniach wykorzystał widzę poprzednika badając korelację między występowaniem krótkodystansowych sprzęŜeń a tempem poprawy wyników. Dopiero w 1984 roku Schaffer wykonał pierwszą próbę optymalizacji wielokryterialnej z wykorzystaniem algorytmów genetycznych. TakŜe Hollstein (1971 r) oraz I. De Jong (1975 r) w swoich badaniach zajmowali się optymalizacją. funkcji. z wykorzystaniem. algorytmów. genetycznych.. Bindle. w rozprawie doktorskiej zbadał sześć metod selekcji (1981 r.). W 1983 r. Brindle zaproponował uŜycie procedur turniejowych jako metody selekcji. 1982 r. Booker wykazał wyŜszość wyboru losowego wg reszt bez powtórzeń nad modelem wartości oczekiwanej [25]. Kolejne badania opierały się na badaniu mechanizmu skalowania funkcji celu i były juŜ przedmiotem badań Bagleya (1967 r.) i Rosenberga (1967 r.).. 2.3.3. Ogólna charakterystyka algorytmów genetycznego SPEA (ang. Strange Pareto Evoluntary Alghorith) Algorytm SPEA, pierwszy raz zaprezentowany przez Zilzlera oraz Thiela w pracy „An evolutionary algorithm for multiobjective optimization: The Strength Pareto Approach” Alghorithm),. czyli. [89], to algorytm typu MOEA (ang. Multi Object Evoluntary algorytm. genetyczny. wykorzystywany. do. rozwiązywania. problemów optymalizacji wielkryterialnej, charakteryzujący się następującymi cechami: ●. przechowuje w zewnętrznym zbiorze (ang. External Set) chromosomy reprezentujące niezdominowany front Pareto. ●. wykorzystuje klasteryzację w celu redukcji ilości rozwiązań. ●. wykorzystuje zasadę dominacji Pareto w celu obliczenia skalarnej wartości funkcji przystosowania odpowiadającej kaŜdemu chromosomowi.. Główną cechą algorytmu SPEA, jak było to wcześniej wspomnianej, jest zewnętrzny zbiór, przechowujący niezdominowane rozwiązania Pareto (patrz def. 4 i def. 6).. 24.

(25) Kopiowane są do niego chromosomy zgodnie ze wzorem prezentowanym poniŜej, w których wektor decyzyjny jest niezdominowany.. P ′ = P ′ + {i i ∈ Pt ∧ m(i ) ∈ p(m( Pt ))}. (11). gdzie: Pt - populacja w iteracji t Pt - zbiór zewnętrzny chromosomów w iteracji t P ′ - tymczasowy zbiór zewnętrzny w iteracji t m(i ) - funkcja dekodująca chromosom na wektor zmiennych decyzyjnych. Ze zbioru tego usuwane są wszystkie chromosomy, które są słabo zdominowane odnośnie m(P ′) tzn.: dopóki istnieje para (i, j ) gdzie i, j ∈ P ′ oraz m(i ) słabo dominuje nad m( j ) zostaje wykonana operacja P ′ = P ′ − { j} Obliczanie wartości funkcji przystosowania podzielone jest na dwa etapy: W pierwszym dla kaŜdego chromosomu i naleŜącego do populacji Pt jest wyliczana wartość S ( j ) ∈ (0,1] nazywanego dalej siłą 9 . Siła S (i ) jest proporconalna do ilości chromosomów j ∈ Pt dla których m(i ) słabo dominuje nad m( j ) S (i ) =. {j j ∈ P ∧ m(i) ≻= m( j )} t. N +1. (12). W kolejnym etapie wyliczana jest wartość funkcji przystosowania (ang. fitness function) przy czym:. • Dla i chromosomu i ∈ Pt , wartość funkcji przystosowania jest równa jego sile F (i ) = S (i ) • Dla chromosomu j gdzie j ∈ Pt , wartość funkcji przystosowania obliczana jest jako suma siły wszystkich chromosomów i ∈ Pt , dla których wektor decyzyjny słabo dominuje nad wektorem decyzyjnym chromosomu j, do której na końcu. 9. Pojęcie t wprowadził Holland w 1992 podczas prac nad systemami klasyfikacji. 25.

(26) dodawana jest wartość „1” (aby mieć pewność Ŝe chromosom w zbiorze Pt ma lepszą wartość funkcji przystosowania niŜ chromosom znajdujący się w zbiorze Pt ) F ( j) = 1 +. ∑. S ( i ) gdzie. i ∈ Pt , , ( i ) ≻ = m ( j ). f ( j ) ∈ [1 , 0 ). (13). Proces selekcji odbywa się z wykorzystaniem zbioru P ′ do, którego kopiowane są chromosomy i = 1,… N przy czym: •. wybierane są losowo dwa chromosomy i, j ∈ Pt + P ′. •. JeŜeli F (i ) < F ( j ) wtedy P ′ = P ′ + {} i w pozostałych przypadkach P ′ = P ′ + { j}. Rys. 2 Schemat działania algorytmu SPEA Źródło: An Evolutionary Alghorith for Multiobjective Optimization: The Strength Pareto Approach. 26.

(27) 2.3.4.. Uzasadnienie wykorzystania algorytmu typu SPEA. W ciągu ostatnich kilkunastu lat moŜna było zaobserwować bardzo szybki rozwój algorytmów genetycznych wykorzystujących optymalizację w sensie Pareto. Zitler-a [90], w swojej pracy porównał stworzony przez siebie algorytm z innymi algorytmami typu MOEA takimi jak: (więcej informacji moŜna znaleźć -[22], [1], [81],[13]): 1. Schaffer’s Vector Evaluated Genetic Algorithm (VEGA) -[68], [69] 2. Hajela and Lin’s Weighting-based Genetic Algorithm (HLGA) - [29] 3. Fonseca and Fleming’s Multiobjective Genetic Algorithm (FFGA) - [23] 4. Horn, Nafpliotis, and Goldberg’s Niched Pareto Genetic Algorithm (NPGA) [31],[32],[5] Srinivas and Deb’s Nondominated Sorting Genetic Algorithm (NSGA) - [70] W omawianej pracy działanie powyŜszych algorytmów zostało sprowadzone do rozwiązania problemu plecakowego zawierającego 250, 500 i 750 elementów. Zitler wykazał, Ŝe algorytm SPEA (ang. Strange Pareto Evlountary Algorythm) osiąga najlepsze rezultaty wśród wymienionych algorytmów w przypadku rozwiązywania tej klasy problemów. NaleŜy zauwaŜyć, iŜ porównanie przeprowadzone przez autora z wykorzystaniem problemu plecakowego toŜsamego z problemem wyboru firm inwestujących na danym terenie ewidentnie wskazuje na moŜliwości wykorzystania do rozwiązania omawianego problemu algorytmu SPEA. W celu przeprowadzenia testów Zitler. sprowadził. wielowymiarowy problem. plecakowy do. n. problemów. jednowymiarowych. Zadanie polegające na znalezieniu wektora:. x = ( x1 , x 2 ,… x n ) ∈ {0,1}. n. (14). przy ograniczeniu n. ei ( x) = ∑ wi , j x j ≤ c j gdzie (1 ≤ i ≤ k ). (15). j =`. dla wielowymiarowej funkcji celu. 27.

(28) f ( x) = ( f 1 ( x), f 2 ( x), … f k ( x)). (16). zostało sprowadzone do k funkcji opisanych równaniem: n. f i ( x) = ∑ pi , j x j. (17). j =1. gdzie: pi , j - wartość j-tego elementu w i-tym plecaku wi , j - waga j-tego elementu w plecaku i c j - pojemoność plecaka i. Na poniŜszym wykresie zaprezentowano otrzymane fronty Pareto optymalnych rozwiązań w piątej iteracji dla poszczególnych algorytmów przy 2 wymiarowym problemie plecakowym.. 28.

(29) Rys. 3 Porównanie działania algorytmu SPEA z innymi algorytmami typu MOEA do rozwiązania problemu plecakowego źródło: Zitzler E, Evolutionary Algosrithms for Multiobjective Optimization: Methods and Applications. W innej swojej pracy opublikowanej w 1998 [89], roku ten sam autor porównał działanie. algorytmów. genetycznych. typu. MOEA. na. podstawie. pokrycia. niezdominowanych rozwiązań, otrzymanych w wyniku działania poszczególnych algorytmów. PoniŜsza tabela przedstawia w procentach pokrycie niezdominowanych rozwiązań otrzymanych za pomocą algorytmu A przez niezdominowane rozwiązania uzyskane przy pomocy algorytmu B dla róŜnie zdefiniowanego problemu plecakowego zawierającego, tak jak w poprzednim przypadku, od 2 do 4 plecaków oraz od 100 do 500 elementów, przy czym: • Niched - oznacza algorytm genetyczny- Niched Pareto GA, • weighted - oznacza algorytm sum waŜonych Hajela and Lin • random – prosty algorytm przeszukiwania losowego.. 29.

(30) Tabela 1 Tabela porównująca działanie algorytmów typu MOEA, obrazująca pokrycie znalezionych rozwiązań niezdominowanych.. Z powyŜszego zestawienia wyraźnie widać, Ŝe algorytm SPEA, z ponad 90% przybliŜeniem, znajduje niezdominowane rozwiązania otrzymane w czasie działania innych algorytmów. Pozostałe algorytmy posiadają duŜo niŜszą skuteczność. Analizując obydwie wspomniane publikacje, autor niniejszej pracy doszedł do wniosku, iŜ algorytm SPEA, w porównaniu z innymi prezentowanymi algorytmami, gwarantuje najszybsze. oraz. wielokryteriowego. najdokładniejsze problemu. znalezienie. plecakowego.. Dlatego. rozwiązań teŜ. w. algorytm. przypadku ten. został. zaimplementowany i wykorzystany do znalezienia firm mogących zainwestować na danym terenie.. 2.4. Problem doboru firm inwestujących na danym terenie jako binarny problem plecakowy Dyskretny problem plecakowy (ang. binary knapsack problem), to problem polegający na wyborze jak największej liczby przedmiotów, o jak największej wartości, które jednocześnie jesteśmy w stanie zmieścić do plecaka o zadanym rozmiarze.. 30.

(31) Matematycznie jednowymiarowy problem plecakowy (problem, w którym wartość przedmiotów jest funkcją jednowymiarową) definiuje następująco: Funkcja wartości plecaka: N. f ( x ) = ∑ c j xi. (18). j =0. Przy ograniczeniu: N. ∑w x j =0. j. i. ≤B. (19). Rys. 4 Przedstawienie graficzne dyskretnego problemu plecakowego Wielowymiarowy problem plecakowy to problem, w którym funkcja celu (funkcja wartości plecaka) to funkcja wielowymiarowa zdefiniowana następująco. f ( x) = ( f 1 ( x), f 2 ( x), f 3 ( x)… f 4 ( x) ). (20). g ( x) = ( g 1 ( x), g 2 ( x), g 3 ( x), … g m ( x)) ≤ 0. (21). Przy ograniczeniach Przy ograniczeniach. Problem doboru firm inwestujących na danym terenie [65] moŜna zdefiniować w analogiczny sposób jak wielowymiarowy binarny problem plecakowy. Wielkość 31.

(32) terenu inwestycyjnego to wielkość plecaka, w którym musimy umieścić firmy. Ilość terenu jaki zostanie przez firmę zajęty w trakcie realizacji inwestycji, wielkość zapotrzebowania na media (prąd, wodę, gaz), to cięŜar (wielkość) przedmiotu. Wartość jaką przedstawia firma dla lokalnej społeczności to wartość przedmiotu. PowyŜsza interpretacja problemu obrazuje skalę trudności zagadnienia [65]. ZłoŜoność obliczeniowa binarnego problemu plecakowego wynosi bowiem Ο(n 2 ) , gdzie n jest ilością firm biorących udział w „przetargu”. PowyŜsza złoŜoność wynika z faktu, iŜ kaŜda z firm moŜe zostać wybrana lub nie, w procesie decyzyjnym. Przykładowo dla 20 firm startujących w „przetargu” ilość kombinacji rozwiązań wynosi 1 048 576. Prezentowane oszacowanie jest oszacowaniem nadmiarowym, gdyŜ uwzględnia zarówno rozwiązanie, w którym nie wybraliśmy Ŝadnej firm, jak i takie, w którym wybraliśmy wszystkie (co nie będzie miało miejsca ze względu na ograniczenia dotyczące powierzchni inwestycyjnej). Podane oszacowanie pozwala zorientować się z jak duŜym problemem mamy do czynienia.. 3. System komputerowy wspomagania decyzji 3.1. Koncepcja budowy komputerowego systemu wspomagania decyzji Od lat wiadomo, Ŝe polski sektor publiczny nie jest zinformatyzowany w naleŜytym stopniu. Nie istnieje teŜ zaawansowany projekt i plan przeprowadzenia takiej informatyzacji. Częste zmiany przepisów (w przypadku informatyzacji ZUS w latach 1998-2003 ustawę o ubezpieczeniach społecznych nowelizowano 9 razy [55]) powodują, iŜ bardzo trudno jest wprowadzać i wykorzystywać zaawansowane systemy komputerowe w administracji publicznej. Z tego względu najczęściej wykorzystywane są jedynie systemy bazodanowe (tzw. hurtownie danych), które umoŜliwiają gromadzenia i przetwarzanie informacji o obywatelach (np. PESEL, CEPiK, KSI ZUS, REGON) W przeciwieństwie do sektora publicznego, w sektorze prywatnym, od dawna stosuje się systemy wspomagania decyzji lub systemy wspomagania zarządzania. Nowy model zarządzania publicznego (ang. New Public Management) wymusił jednak takŜe iw. sektorze. publicznym. zmianę. paradygmatu. biurokracji. na. paradygmat. przedsiębiorczości [44]. Koncepcja nowego modelu zarządzania publicznego opiera się na załoŜeniu, iŜ w sektorze publicznym zarządzanie jako wyodrębniona działalność 32.

(33) moŜe być zastosowane w taki sam sposób jak w sektorze prywatnym, a co za tym idzie naleŜy stosować takie same lub podobne komputerowe systemy wspomagania zarządzania, do których naleŜą: •. informatyczne. systemy. zarządzania. (MIS),. które. słuŜą. wspomaganiu. rutynowych czynności organizacji, czyli planowania, zarządzania wszelkimi zasobami organizacyjnymi, kierowania, kontrolowania działalności organizacji. Typowy MIS sięga do organizacyjnej bazy danych w celu pozyskania odpowiednich informacji, które następnie przetwarza zgodnie z potrzebami uŜytkownika, •. systemy wspomagające decyzje (DSS), do których zaliczamy interaktywne systemy komputerowe wspomagające kadrę kierowniczą w podejmowaniu decyzji niestrukturyzowanych przez zastosowanie odpowiednich danych których modeli komputerowych,. •. systemy ekspertowe (ES), których celem jest wspomaganie decydenta w niestrukturyzowanej sytuacji decyzyjne. Systemy te nie posługują się modelami świata rzeczywistego, lecz naśladują tok rozumowania eksperta lub decydenta, czyli wykorzystują tzw. sztuczna inteligencję.. Celem niniejszej pracy jest zbudowanie komputerowego systemu wspomagania decyzji. Ze względu jednak na specyfikę problemu jakim jest wybór firm inwestujących na danym terenie system taki musi charakteryzować się następującymi cechami: −. budową modułową umoŜliwiającą w przyszłości rozbudowę tworzonego systemu. −. niezaleŜnością od rodzaju danych wejściowych opisujących firmy. −. graficznym interfejs uŜytkownika zapewniający łatwą konfigurację parametrów.. Modułowość systemu narzuciła naturalny podział pozwalający rozwijać poszczególne elementy bez konieczności modyfikowania pozostałych. PoniŜej zaprezentowano ogólny schemat podziału systemu.. 33.

(34) Rys. 5 Diagram połączeń między modułami Strzałki oznaczają wymagane połączenia pomiędzy modułami. Jako algorytm Pareto oznaczono algorytm umoŜliwiający znalezienie rozwiązań Pareto optymalnych. 3.2. Platforma Eclipse Systemy wspomagania decyzji, tak jak było to wcześniej powiedziane, to nie tylko zestaw algorytmów implementujących poszczególne funkcje, ale takŜe zintegrowany system, który umoŜliwia decydentowi (najczęściej osobie, która nie posiada specjalistycznej wiedzy z zakresu informatyki) dokonywać analiz, wprowadzać dane, zmieniać parametry wpływające na rodzaj i sposób podejmowania decyzji. System taki to takŜe system, który w sposób zrozumiały dla odbiorcy uzasadni podjęcie takiej bądź innej decyzji za pomocą wykresów lub reguł umoŜliwiając decydentowi prześledzenie całego procesu decyzyjnego (analiza taka jest niezbędna w przypadku podejmowania decyzji politycznych – patrz rozdział Problematyka podejmowania decyzji w sektorze publicznym). Ze względu na skomplikowaną budowę tworzonego systemu oraz konieczność zapewnienia modułowości platformy umoŜliwianej dalszą jej rozbudowę, autor zdecydował się na wykorzystanie otwartej platformy napisanej w języku Java - Eclipse,. 34.

(35) która oferuje: (porównanie środowiska Eclipse z innym otwartym środowiskiem o nazwie NetBeans moŜna znaleźć w publikacji [64]): . modułową budowę aplikacji. . jednolity wygląd elementów tworzonej aplikacji. . obsługę systemów pomocy. . łatwą rozszerzalność aplikacji. . łatwa moŜliwość aktualizacji oprogramowania. . moŜliwość wykorzystania gotowych rozwiązań (obsługi róŜnych formatów plików, tworzenie graficznych edytorów itp. [63]). Rys. 6 Architektura Platformy Eclipse Źródło: Eclipse Podręcznik Programisty – Wydawnicto Helion 2005, s. 197. Poszczególne moduły systemu zostały zaimplementowane jako wtyczki (ang. plugins) dostępne w środowisku Eclipse-a. Pozwoliło to znacznie skrócić czas implementacji całej aplikacji, a takŜe zapewniło łatwość w dodawaniu i rozbudowie poszczególnych wtyczek za pomocą specjalnego mechanizmu opartego o pliki postaci XML.. 3.3. Implementacja algorytmu genetycznego. 35.

(36) Głównym. celem. zaimplementowania. własnej. biblioteki. algorytmów. genetycznych było dopasowanie wymogów jakie są stawiane przy konstrukcji systemu (czyli modułowości i moŜliwości dalszej rozbudowy) do moŜliwości zastosowania algorytmów genetycznych. WaŜne było aby implementacja algorytmu genetycznego umoŜliwiała w przyszłości jego rozbudowę o moduły pozwalające wykorzystywać zaimplementowaną strukturę w procesie znajdowania rozwiązań Pareto-optymalnych. Drugim bardzo waŜnym powodem, było takie zaprojektowanie model danych, które gwarantowałoby moŜliwość wykorzystania danych o dowolnej postaci (bez konieczności narzucania uŜytkownikowi określonych struktur). Efektem pracy było powstanie biblioteki algorytmów genetycznych (dostępnej na stronie http://sourceforge.net, oraz stronie domowej autora) o bardzo prostej strukturze zaprezentowanej poniŜej. (w opinii autora biblioteka algorytmów genetycznych napisana w języku Java i dostępna w sieci Internet pod nazwa JGAP – nie gwarantuje aŜ takiej prostoty i funkcjonalności).. Rys. 7 Diagram Class implementacji algorytmu genetycznego. 36.

(37) 3.4. Implementacja algorytmu SPEA Wybór algorytmu SPEA jako algorytmu umoŜliwiającego optymalizację wielokryterialną z wykorzystaniem algorytmów genetycznych, oraz stworzenie własnej biblioteki algorytmów genetycznych, pociągnęło za sobą konieczność implementacji algorytmu. SPEA. algorytmu. umoŜliwiającego. znalezienie. rozwiązań. Pareto-. optymalnych (który w pracy oznaczany jest jako algorytm Pareto). PoniŜej na rysunku 8 zaprezentowano strukturę pakietu zapewniającego wyŜej wymienioną funkcjonalność.. 37.

(38) Rys. 8 Implementacja algorytmu SPEA.

(39) Problematyka wyboru firm inwestujących na danym terenie 3.5. Sposób kodowania czynników W przypadku problemu plecakowego, a takim właśnie modelem jest przybliŜany rozwaŜany w tej pracy problem wyboru firm inwestujących na danym terenie,. najczęściej. stosowanym. sposobem. kodowania. „zbioru. wybranych. przedmiotów” jest kodowanie binarne. W kodowaniu tym, kaŜdemu chromosomowi odpowiada pewien koszyk wybranych elementów, w którym gen o wartości „1” oznacza, iŜ dany element został włoŜony do plecaka (firma została wybrana), natomiast „0”, iŜ element ten nie znajduje się w plecaku (firma nie została wybrana). Długość chromosomu to liczba elementów, podlegających procesowi wyboru (liczba firm).. Rys. 9 Chromosom kodujący koszyk firm Problemu nie stanowi właśnie taka implementacja sposobu kodowania ale odwzorowanie mające na celu przyporządkowanie kaŜdemu genowi – firmy o określonych parametrach. W celu odpowiedniego zamodelowania zaistniałej sytuacji został stworzony meta-model danych zapewniający omawiane odwzorowanie. Wymóg, który został postawiony na początku, iŜ nie będzie z góry narzuconej struktury danych ani typu danych, wymusił konieczność parametryzacji kaŜdego rodzaju danych. Dane wczytywane są więc z pliku postaci XML prezentowanego poniŜej. <?xml version="1.0" encoding="UTF-8"?> <firms> <parameters> <parameter id="pl.rybarski.firms.water" name="water" type="java.lang.Double" /> <parameter id="pl.rybarski.firms.gas" name="gas".

(40) type="java.lang.Double" /> <parameter id="pl.rybarski.firms.transport" name="transport" type="pl.rybarski.firms.Transport" /> <parameter id="pl.rybarski.firms.trade" name="trade" type="pl.rybarski.firms.Trade" /> <parameter id="pl.rybarski.firms.contribution" name="contribution" type="pl.rybarski.firms.Contribute" /> <parameter id="pl.rybarski.firms.enviroment" name="enviroment" type="pl.rybarski.firms.Enviroment" /> <parameter id="pl.rybarski.firms.power" name="power" type="java.lang.Double" /> <parameter id="pl.rybarski.firms.investition" name="investition" type="java.lang.Double" /> <parameter id="pl.rybarski.firms.workers" name="workers" type="java.lang.Integer" /> <parameter id="pl.rybarski.firms.productionType" name="productionType" type="pl.rybarski.firms.ProductionType" /> <parameter id="pl.rybarski.firms.production" name="production" type="java.lang.String" /> <parameter id="pl.rybarski.firms.size" name="size" type="java.lang.Double" /> </parameters> <firmset> <firm id="0"> <name>Cebal Tuba Sp. z o.o.</name> <data> <parameter id="pl.rybarski.firms.size">11582.0</parameter> <parameter id="pl.rybarski.firms.power">21.0</parameter> <parameter id="pl.rybarski.firms.gas">32.0</parameter> <parameter id="pl.rybarski.firms.water">21.0</parameter> <parameter id="pl.rybarski.firms.production">tworzywa sztuczne - opakowania polietylenowe</parameter> <parameter id="pl.rybarski.firms.trade">chemiczna</parameter> <parameter id="pl.rybarski.firms.investition">1.12E7</parameter> <parameter id="pl.rybarski.firms.workers">45</parameter> <parameter id="pl.rybarski.firms.enviroment"> <en id="enviroment" value="średnia" /> <en id="persons" value="średnia" /> </parameter> <parameter id="pl.rybarski.firms.contribution"> <con country="Francja" value="58.0" /> <con country="Polska" value="42.0" /> </parameter> <parameter id="pl.rybarski.firms.productionType"> <prod>produkcyjna</prod> </parameter> <parameter id="pl.rybarski.firms.transport"> <trans>samochodowy</trans> </parameter> </data> </firm> <firm id="1"> <name>Steijn Paper Sp. z o.o.</name> <data> <parameter id="pl.rybarski.firms.size"> 8829.0 </parameter> <parameter id="pl.rybarski.firms.power">85.0</parameter> <parameter id="pl.rybarski.firms.gas">10.0</parameter> <parameter id="pl.rybarski.firms.water">85.0</parameter>. 40.

(41) <parameter id="pl.rybarski.firms.production"> papiernicza - papier transferowy </parameter> <parameter id="pl.rybarski.firms.trade"> papiernicza </parameter> <parameter id="pl.rybarski.firms.investition"> 2.5E7 </parameter> <parameter id="pl.rybarski.firms.workers">80</parameter> <parameter id="pl.rybarski.firms.enviroment"> <en id="enviroment" value="średnia" /> <en id="persons" value="średnia" /> </parameter> <parameter id="pl.rybarski.firms.contribution"> <con country="Holandia" value="100.0" /> </parameter> <parameter id="pl.rybarski.firms.productionType"> <prod>produkcyjna</prod> </parameter> <parameter id="pl.rybarski.firms.transport"> <trans>samochodowy</trans> <trans>PKP</trans> </parameter> </data> </firm> </firmset> </firms>. Listing. 1 Plik zawierający informacje o firmach Prezentowany plik ten został podzielony na dwie części. W pierwszej znajdują się informacje na temat typu danych oraz ich identyfikatory, pozwalające wczytać określone dane do systemu. Identyfikatory te odpowiadają identyfikatorom funkcji odpowiedzialnych za deserializację (ang. deserialization) danych (odczytywanie danych z dysku). Funkcje wczytujące muszą zostać stworzone indywidualnie dla kaŜdego rodzaju danych, a następnie zostać wczytane do modułu odpowiedzialnego za deserializację. W drugiej części pliku znajdują się konkretne wartości liczbowe bądź opisowe, które zostaną wczytane do systemu. Rozwiązanie, pomimo iŜ umoŜliwia wczytanie danych dowolnego rodzaju, posiada jedną wadę. W momencie pobierania danych z „metamodelu” w celu np. obliczenia wartość koszyka firm, konieczne jest ich rzutowanie do określonego typu (do typu, który jest w stanie obsłuŜyć dana funkcja), co wymusza narzut czasowy, który opóźnia działanie algorytmu.. 41.

(42) 3.6. Problematyka tworzenia populacji początkowej Algorytm genetyczny rozpoczyna swoje działanie od wygenerowania losowej populacji początkowej o zadanej liczbie chromosomów (wielkości). Wartości poszczególnych genów chromosomu mogą być ustalane w sposób losowy. W przypadku rozwiązywania problemu, w którym mamy do czynienia z bardzo duŜą przestrzenią rozwiązań oraz z bardzo małą przestrzenią rozwiązań dopuszczalnych utworzoną poprzez ograniczenia, istnieje niebezpieczeństwo otrzymania populacji, w której większość chromosomów nie będzie spełniała załoŜonych ograniczeń. Sytuacja taka ma miejsce w omawianym przypadku. PoniŜej zaprezentowano wykres ilości (w procentach) rozwiązań nie spełniających ograniczeń dla jednej funkcji ograniczającej (wielkości dostępnego terenu), w zaleŜności od maksymalnej ilości ustalonych genów dla populacji o wielkości 500, i 1500 chromosomów. Liczba ustawionych genów w chromosomie, była wybierana w sposób losowy z przedziału [1...k] gdzie k – oznacza maksymalną dopuszczalną liczbę ustawionych genów (za geny ustawione rozumiane są geny których wartość ustalona jest na „1” – tzn. firma została wybrana).. Rys. 10 Liczba rozwiązań dopuszczalnych w zaleŜności od wielkości populacji Zobrazowany problem wynika z faktu, iŜ ograniczenie dotyczące wielkości dostępnego terenu wynoszące 620 tyś m2 stanowi jedynie 11,74% wielkości gruntów na jakie w sumie zapotrzebowanie zgłosiły firmy - 5283,1234 tyś m2. Aby otrzymać populację o określonej liczbie chromosomów, które nie spełniają ograniczeń, został stworzony algorytm, który w sposób zautomatyzowany znajduje maksymalną wartość liczby. ustalonych. genów. dla. zadanej. procentowej. liczby. chromosomów 42.

(43) niepoprawnych. Algorytm ten prezentowany poniŜej, generuje określoną ilość razy populację początkową,. a następnie zwraca. maksymalną wartość. ustalonych. chromosomów. Dane: N – wielkość populacji k- długość chromosomu pi- procentowa ilość chromosomów nie spełniających ograniczeń i – numer iteracji P – ustalona dopuszczalna wartość procentowa chromosomów niepoprawnych Krok 1: Utwórz tablicę T wartości procentowych o długości równej k+1. Ustal i = 1, Krok 2: Utwórz populację testową Krok 3: Oblicz procentową ilość chromosomów nie spełniających ograniczeń pi. Zapisz wyliczoną wartość w tablicy T[i] = pi JeŜeli i < k+1 to i = i + 1 oraz przejdź do kroku 2 Krok 4: Znajdź maksymalny indeks elementu w tablicy T[i] dla którego wartość jest mniejsza od P. Listing. 2 Znajdowanie wartości granicznej. 3.7. Problematyka rozwiązań dopuszczalnych Algorytm. znajdowania. maksymalnej. liczby. ustalonych. genów,. wykorzystywany do generowania populacji początkowej, nie gwarantuje utworzenia populacji, w której wszystkie chromosomy są poprawne. TakŜe w procesie działania operatorów genetycznych moŜliwe jest stworzenie (w procesie mutacji lub krzyŜowania). chromosomów. znajdujących. się. poza. przestrzenią. rozwiązań. dopuszczalnych. W takiej sytuacji, gdy algorytm genetyczny jest wykorzystywany do rozwiązywania jednowymiarowych problemów (np.: problemu plecakowego z jedną funkcja ograniczającą) - chromosomy takie są karane poprzez przyjęcie dla nich zerowej wartości funkcji przystosowania [61], tak aby nie brały one udziału w procesie selekcji oraz wyboru rozwiązania optymalnego. Tą samą zasadę moŜna odnieść do rozwiązywania zadań optymalizacji wielokryterialnej. W przypadku przekroczenia któregokolwiek z ograniczeń chromosomy są karane poprzez przyjęcie wartości zerowej dla wszystkich funkcji przystosowania.. 43.

(44) Innym rozwiązaniem jest poddanie populacji, zawierającej pewną ilość chromosomów niepoprawnych, procesowi „naprawy” czyli podmianie chromosomów nie spełniających ograniczeń, chromosomowymi spełniającymi takowe. Podczas implementacji. omawianego. rozwiązania,. zdecydowano. się przetestować dwa. rozwiązania: 1. Polegające na losowym wygenerowaniu chromosomu i sprawdzeniu czy chromosom spełnia załoŜone ograniczenia. W przypadku, gdy chromosom nie spełnia. któregokolwiek. z. ograniczeń,. następuje. ponowna. generacja. chromosomu. Technika ta, pomimo iŜ wydaje się skuteczna (kiedyś musi zostać wygenerowany chromosom poprawny), moŜe doprowadzić do zawieszenia wykonywania programu, a na pewno spowoduje znaczne opóźnienia w działaniu programu. 2. Polegające na opracowaniu metody poprawienia chromosomu (poprzez mutację części genów), która zagwarantuje otrzymanie chromosomu spełniającego ograniczenia w skończonym czasie. Ze względu na niepewność wygenerowania rozwiązania poprawnego pierwsza z opisanych metod nie spełniła pokładanych w niej nadziei i dlatego teŜ została pominięta w dalszej pracy. W przypadku wykorzystania drugiej metody, powstaje zasadnicze pytanie: które z genów naleŜy zmodyfikować i jaki wpływ na ostateczny kształt chromosomu będzie miała taka modyfikacja? Nasuwającym się rozwiązaniem, jest rozwiązanie polegające na modyfikacji tych genów, dla których stosunek wartości funkcji przystosowania do wartości funkcji ograniczenia jest najmniejszy. Niestety nie zawsze istnieje moŜliwość uszeregowania genów w sposób omówiony powyŜej. W przypadku optymalizacji funkcji wielokryterialnej lub gdy chromosom nie spełnia kilku z narzuconych ograniczeń nie istnieje metoda pozwalająca w obiektywny sposób dokonać omawianego sortowania. Powstaje bowiem pytanie: według której z funkcji w pierwszej kolejności powinno się modyfikować geny, i jak taka modyfikacja wpłynie na spełnienie pozostałych załoŜeń i wartość funkcji przystosowania. Omawiane trudności skłoniły autora do zaproponowania innej metody. PoniŜej zaprezentowano algorytm, którego zadaniem jest losowa mutacja genów do momentu w którym chromosom nie będzie spełniał wszystkich załoŜonych ograniczeń.. 44.

(45) Dane: ch – modyfikowany chromosomu i -numer iteracji Krok 1: Utwórz tablicę T numery genów chromosomu których wartość wynosi „1” Krok 2: Wylosuj liczbę ki z przedziału [0,ti], gdzie ti – długość tablicy T Krok 3: Zamień wartość k genu w chromosomie na „0”. Usuń numer ki z tablicy T. Krok 4: Sprawdź czy zmodyfikowany chromosom spełnia wszystkie zadane kryteria. JeŜeli nie powróć do kroku 2.. Listing. 3 Algorytm tworzenia populacji początkowej Wadą prezentowanej metody jest losowa eliminacja genów. Gwarantuje ona jednak otrzymanie chromosomu spełniającego wszystkie załoŜone kryteria w maksymalnie k iteracjach., gdzie k – długość chromosomu.. 3.8. Funkcje przystosowania Celem stworzonego systemu jest optymalizacja wyboru firm inwestujących na danym terenie. W tym celu w czasie realizacji pracy zostało opracowanych szereg funkcji pozwalających ocenić wartość planowanej inwestycji (koszyka firm). PoniŜej zostały zaprezentowane stworzone funkcje.. Funkcja sumująca Funkcje umoŜliwiająca obliczenie sumy dowolnie wybranego parametru firmy takiego jak wielkość zajętej powierzchni inwestycyjnej, wartości zapotrzebowania na media, sumaryczna wartość inwestycji itp. n. f ( x ) = ∑ xi. (22). i =1. Odmianą tej funkcji, jest funkcja pozwalająca obliczyć sumę dowolnego parametru definiującego branŜę w jakiej firma działa. W pracy wykorzystano badania komisji europejskiej, definiując następujące cztery współczynniki:10: - HI_EDU – udział pracowników z wyŜszym wykształceniem - TRAINING – udział firm szkolących pracowników. 10. Hollanders H, Arundel A – European sector innovation scoreboards, December 2005, str. 17. 45.

Cytaty

Powiązane dokumenty

We współczesnej analizie strukturalnej do modelowania systemu wykorzystuje się narzędzia graficzne oraz uzupełniające narzędzia tekstowe. Do podstawowych narzędzi

• Model związków encji (DZE) (diagramy binarne, predykatory, struktury danych) - jest to abstrakcyjny model danych (entity relationship), który służy do wyrażania

Docelowo będą to: osoby bezrobotne, osoby długotrwale bezrobotne, osoby niezatrudnione korzystające ze świadczeń pomocy społecznej, osoby nieaktywne zawodowo z uwagi

Programowanie aplikacji w środowisku Borland Developer Studio (Turbo Pascal, Delphi, C++) oraz Visual Studio (C#), 2.

Zarządzanie zasobami ludzkimi 30 W, 15 C Systemy zarządzania przez jakość 30 W, 15 C Laboratorium systemów informatycznych 30 L. Wiedzę studenci zdobywają realizując

Adresy względne są natomiast automatycznie dostosowywane do nowego położenia, dlatego też adresy względne w skopiowanej lub przeniesionej formule odnoszą się do

Utwórz nowy styl tekstu dla list punktowych (dalej „lista punktowa”) wg „wzoru”.. Nazwij ten styl: PUNKTORY (1

• ustaw numeracje nagłówka pierwszego rzędu liczbami rzymskimi, z numeracji kolejnych rzędów usuń liczbę rzymską (1 pkt);. • wprowadź automatyczną numerację stron