You are on page 1of 51

Akademia Grniczo-Hutnicza im. St.

Staszica w Krakowie Wydzia Elektrotechniki, Automatyki, Informatyki i Elektroniki Katedra Automatyki

Optymalizacja wielokryterialna Informatyka Stosowana studia stacjonarne II-stopnia, rok II, semestr III

Interakcja w procesie modelowania rzeczywistego procesu podejmowania decyzji, oprogramowanie wybranych schematw interakcji uwzgldniajcych zachowanie decydenta w procesie wyboru zachowanie

Katarzyna Gruszczyska
e-mail:kasia.gruszczynska@10g.pl

Krakw, 2009

Spis treci
1. Wstp ................................................................................................................ 3 1.1. Prowadzenie interakcji................................................................................... 3 1.2. Specyfikacja................................................................................................... 3 2. Podstawy teoretyczne ....................................................................................... 5 2.1. Model matematyczny..................................................................................... 5 2.2. Wspczynnki trade-off (zamiany).................................................................. 5 2.3. Zaimplementowane nastpujce metody interaktywne: ................................ 5 2.4. Algorytm rozwizania zagadnienia ................................................................ 6 3. Opis implementacji ............................................................................................ 7 3.1. Generacja zbioru Pareto................................................................................ 7 3.2. Metoda klasyfikacji funkcji celu ...................................................................... 8 3.3. Neutral compromise solution ....................................................................... 10 3.4. Generacja punktw porednich ................................................................... 12 3.5. Metoda zbiorw, punktw referencyjnych .................................................... 13 3.6. Metoda algorytmw optymalizacji ................................................................ 17 4. Opis aplikacji ................................................................................................... 18 4.1. Okno Interactive Multiobjective Optimization ............................................... 18 4.2. Okno Preview .............................................................................................. 22 4.3. Okno Generate set of Pareto-optimal points................................................ 24 4.4. Okno Read from file set of Pareto-optimal points ........................................ 25 4.5. Okno Generate Pareto Midpoints ................................................................ 26 4.6. Okno Reference Sets and Reference Points Method .................................. 26 4.7. Okno Classify Objective Functions .............................................................. 31 4.8. Okno Optimization with standard methods .................................................. 35 4.9. Generate Neutral Compromise Solution ...................................................... 36 5. Instrukcja obsugi............................................................................................. 38 5.1. Przykad klasyfikacja.................................................................................... 38 5.2. Przykad zbiory referencyjne........................................................................ 41 5.3. Przykad zbiory/punkty referencyjne ............................................................ 46 5.4. Przykadowy rzeczywisty problem ............................................................... 49 Bibliografia.............................................................................................................. 51

1. Wstp
Niniejszy dokument stanowi specyfikacj, dokumentacj oraz pomoc dla uytkownika aplikacji. Przedstawiono: zaoenia projektu, metodologi implementacji, opis utworzonego programu, interfejsw graficznych, podstawy teoretycznie, ktre niezbdne byy podczas tworzenia aplikacji. Dokument zawiera take opis dziaania, krtk instrukcj obsugi, opis interfejsu aplikacji oraz testw. Zamieszczono take przykad obrazujcy dziaanie programu. Interactive Multiobjective Optimization jest aplikacja wspomagajca decydenta w procesie wyboru rozwizania, realizujca powysze zadanie przy pomocy metod optymalizacji wielokryterialnej. Naley zaznaczy, ze dane wczytywane lub generowane przez program mog modelowa rzeczywisty problem decyzyjny. Program umoliwia wybr rozwizania problemu w sposb interaktywny. Uytkownik - decydent ma wpyw na przebieg procesu podejmowania decyzji i to on dokonuje ostatecznego wyboru rozwizania. W zalenoci od dostpnej, posiadanej informacji dodatkowej i swoich preferencji uytkownik wybiera metod interaktywn.

1.1. Prowadzenie interakcji

Uytkownik-decydent po uprzednim wczytaniu lub wygenerowaniu zbioru punktw Pareto prowadzi w sposb intuicyjny interakcj z aplikacj. Wybr rozwizania polega na eksploracji zbioru Pareto w sposb preferowany przez uytkownika. Uytkownik decyduje o wyborze metody czy to metody punktw referencyjnych czy klasyfikacji. Prowadzc interakcj, zadajc parametry dla metod wyraa swoje preferencj Aplikacja poszukuje rozwiza jak najlepiej odpowiadajcym preferencjom uytkownika. Aplikacja umoliwia zamodelowanie rozmaitych problemw decyzyjnych rnych dziedzin. Moliwa rozbudowa o nowe metody interakcji i integracja z innymi aplikacjami.

1.2. Specyfikacja

Funkcjonalnoci programu: samodzielno - uruchamianie jako plik.exe . aplikacja zawiera przykadowy problem do rozwizania moliwo zadania dowolnej liczby punktw i kryteriw generowanie zbioru punktw dopuszczalnych odnajdywanie w zbiorze punktw dopuszczalnych zbioru Pareto rozwizano problem znany jako Skyline wedug przeprowadzanym testw funkcja znajduje zawsze tylko i wycznie punkty Pareto aproksymacja zbioru Pareto (wartoci Ideal i Nadir) metoda klasyfikacji funkcji celu oparta o projekt NIMBUS metoda punktw referencyjnych oparta o metryk Czebyszewa i stoki dziaa take (lub przede wszystkim ) dla zbiorw referencyjnych

aproksymacja n-wymiarowych zbiorw n-wymiarowym wielobokiem (polytope) generowanie porednich punktw Pareto lub punktw referencyjnych odnajdywanie neutralnego rozwizania kompromisowego metoda optymalizacji Nelder'a-Mead'a interfejs dla caej aplikacji m.in.: dodawanie i usuwanie punktw referencyjnych wczytanie punktw z pliku tekstowego zapis punktw do pliku tekstowego podgld aktualnych wartoci zbiorw i aproksymacji pomoc uytkownika

rodowisko implementacji: Borland C++ Builder 6 Ograniczenia: teoretyczny, wynikajcy ze sposobu implementacji brak ogranicze na liczb punktw i kryteriw ograniczenia zostay naoone ze wzgldu na ograniczenie liczby wierszy i kolumn dla komponentu TStringGrid z biblioteki Borland C++ Builder 6 dla kryteriw - ograniczenie wynosi 100 dla punktw - ograniczenie wynosi 1000 moliwa zmiana ogranicze w pliku interactive.h (naley mie na uwadze ograniczenia dla obiektu TStringGrid)

2. Podstawy teoretyczne

2.1. Model matematyczny


We handle multiobjective optimization problems of the form: minimize {f1(x), f2(x), . . . , fk(x)} subject to x S involving k (>=2) conflicting lower semicontinuous objective functions fi: Rn!R that we want to minimize simultaneously. The decision (variable) vectors x = (x1, x2, . . . , xn)T belong to the nonempty compact n) feasible region S (subset of R . Objective vectors consist of objective (function) values f(x) =( f1(x), f2(x), . . T . , fk(x) ) and the image of the feasible region is called a feasible objective region. W niniejszym projekcie rozwaane problemy s dyskretne.

2.2. Wspczynnki trade-off (zamiany)

W niniejszej implementacji nie posugiwano si pojciem wspczynnika trade-off. Pojcie wspczynnikw zamiany (szczeglnie globalnych) jest mao intuicyjne. Przewaajca wikszo prac z zakresu WPD wykorzystuje pojcie efektywnoci, nie odnoszc si w ogle do pojcia wspczynnikw zamiany. "Jeeli oceny s dane w sposb jawny, to uyteczno wspczynnikw zamiany punkt - punkt jest niewielka. Dla pary efektywnych ocen wspczynniki zamiany punkt - punkt nie wnosz adnej dodatkowej informacji w stosunku do informacji niesionej przez wartoci wsprzdnych ocen (wartoci kryteriw). W istocie dostarczaj one nawet mniej informacji, gdy nie dla wszystkich par wsprzdnych takie wspczynniki istniej. W tym przypadku wspczynniki zamiany s po prostu inn form prezentowania informacji o wartociach wsprzdnych dla wybranej pary ocen ". Pojcie wspczynnika zamiany staje si uyteczne, gdy zbiory ocen s nieskoczone. [10]

2.3. Zaimplementowane nastpujce metody interaktywne:

metoda oparta na punktach i zbiorach referencyjnych metoda oparta na klasyfikacji funkcji celu metoda oparta o standardowe algorytmy optymalizacji - aktualnie dostpna tylko metoda Nelder'aMead'a

2.4. Algorytm rozwizania zagadnienia

Uytkownik wybiera z tabeli w oknie gwnym jedno rozwizanie do kontynuacji. Wybrane rozwizane jest traktowane jako Current Solution w dalszej czci dziaania programu. Nastpnie uytkownik wybiera metod interakcji (Menu Interactive methods) jak chce zastosowa. W oknach poszczeglnych metod wyraa swoje preferencje. Po zatwierdzenia OK aplikacja realizuje algorytmy metod interakcyjnych (np.: metody metryki dla metody zbiorw referencyjnych lub klasyfikacja dla metody klasyfikacji rozwiza) i optymalizacji (Metoda Nelder'a - Mead'a). Rozwizania otrzymane w wyniku zadanych metod s wywietlane w tabeli Results w oknie gwnych aplikacji. Moliwy jest ponowny wybr jednego rozwizania do kontynuacji lub zapis do pliku zawartoci tabeli Results i ponowne wczytanie tyche wynikw po zamkniciu aplikacji. Zatem interakcja odbywa si w sposb interakcyjny

3. Opis implementacji

W niniejszym rozdziale zawarto krtki opis sposobu implementacji waniejszych algorytmw.

Generacja zbioru Pareto

Algorytm odnajdywania w zbiorze punktw dopuszczalnych zbir Pareto, rozwizujcy znany problem znalezienia, obliczania Skyline zbioru punktw, zwany takze jako maximum vector problem. Metoda klasyfikacji funkcji celu

Metodologia zaimplementowanego algorytmu jest oparta na metodzie NIMBUS nalecej do klasy metod ogranicze. W klasie metod ogranicze preferencje decyenta s wyraane za pomoc dodawania, usuwania, wzmacniania lub sabiania ogranicze. Na kadej iteracji wymaga si, aby decydent wskazywa wsprzdne ocen (kryteria), ktrych wartoci chciaby, aby wzrosy kosztem wartoci innych wsprzdnych. Neutral compromise solution

Algorytm odnajdywania neutralnego rozwizania kompromisowego

Generacja punktw porednich

Algorytm generacji punktw porednich realizuje aproksymacj n-wymiarowych zbiorw n-wymiarowym wielobokiem (polytope) Metoda zbiorw, punktw referencyjnych

W klasie metod punktu referencyjnego decdent wyraa swoje preferencje za pomoc punktu referencyjnego (elemenu przestrzeni ocen). Prze rozwizani problemu optymalizacyjnego jest wyznaczana ocena, ktra "odpowiada" wybranemu punktowi referencyjnemu i funkcji osignicia.

Metoda algorytmw optymalizacji

3.1. Generacja zbioru Pareto

W niniejszej aplikacji realizowany jest algorytm rozwizujcy znany problem znalezienia, obliczania Skyline zbioru punktw, zwany takze jako maximum vector problem. Termin Skyline pochodzi od graficznej reprezentacji problemu. Definicja: Punkt jest Pareto-optymalny jeli nie jest zdominowany przez aden inny punkt. Punkt dominuje inny punkt jeli tak samo dobry lub lepszy we wszystkich wymiarach (dla wszystkich kryteriw) i lepszy w przynajmniej jednym wymiarze (dla jednego kryterium). [4]

"A feasible decision vector x* is called a Pareto optimal solution if there does not exist another feasible decision vector x such that f(xi) <= f(x*i) for all i i=1,...,k and f(xj) < f(x*j) for at least one j. An objective vector f(x*) is called Pareto optimal if the corresponding decision vector x* is Pareto optimal." [5] Skonstruowanie wydajnego algorytmu obliczania Skyline jest problemem bardzo zoonym pomimo pozornej trywialnoci problemu. Stworzono wiele implementacji tego problemu, rozszerze podstawowego algorytmu. Istniej warianty wykorzystujce B-drzewa i R-drzewa oraz sortowanie we wstpnej fazie.[4] Algorytm generacji zbioru Pareto: generowanie losowego zbir punktw dopuszalnych wybr ze zbioru punktw dopuszalnych punktw Pareto. przeszukiwanie zbioru punktw dopuszalnych w celu znalezenia punktw speniajcch warunki z definicji odrzucanie punktw nie bdcych Pareto-optymalnymi jeli zostanie odnaleziony punkt, ktry jest mniejszy od innego po wszystkich kryteriach to znaczy, ze by moe jest on punktem Pareto, natomiast punkt z nim porwnywany na pewno nie jest punktem Pareto i moe zosta wyeliminowany z dalszych poszukiwa

W niniejszej implementacji uytkownik zadaje liczb punktw dopuszalnych, jakie maj zosta wygenerowane oraz dowoln liczb kryteriw. Liczba kryteriw jest teoretycznie nieograniczona. Wykorzystywany jest standardowy generator liczb losowych C++, dlategote liczba znalezionych punktw Pareto pomimo znacznej wielkoci zbioru punktw dopuszczalnych moe by niewielka.

Patrz takze:Okno Generate set of Pareto-optimal points

3.2. Metoda klasyfikacji funkcji celu

Metodologia zaimplementowanego algorytmu jest oparta na metodzie NIMBUS nalecej do klasy metod ogranicze. W zwizku z powyszym poniej zamieszczone, zacytowane fragmenty opisu metody NIMBUS s aktualne dla niniejszej aplikacji. "[...] the classification indicates what kind of changes are desirable in the objective function values. " [6] "A DM is a person who can express preference information that can be used to order the mathematically equivalent Pareto optimal solutions of the problem in question. NIMBUS1 assumes that less is preferred to more to the DM when the objective functions are optimized." [5] Algorithm " is based on the classification of the objective functions into up to five classes. The DM classifies the objective functions according to his/her preferences. The classification is made at the current Pareto optimal objective vector f f(xh). In the classes the values of the objective functions fi 1. should be decreased; 2. should be decreased until some aspiration level; 3. have satisfactory values;

4. can be increased up to some upper bound; 5. can change freely ." [5] Klasyfikacja jest akceptowalna jeli przynajmniej jedna funkcja zostanie sklasyfikowana jako " increased up to some upper bound" lub "change freely" oraz przynajmniej jedna funkcja zostanie sklasyfikowana jako "decreased" lub "decreased until some aspiration level", "[...] because one must let some objective function to impair in order to improve some other objective function." [5] "The difference between the classes 1 and 2 is that the functions in the first class will be minimized as much as possible while the functions in the second class will be minimized until the given aspiration level." [5] "Aspiration levels and upper bounds are asked from the DM, if required. Aspiration levels must be lower and upper bounds must be greater than the corresponding values of the current solution. [...] the number of new solutions generated, can be varied during the optimization process. The subproblems can be solved by any suitable single objective optimization solver." [5] Algorithm in short "The iteration procedure starts with the classification at the current solution. After the method has produced new solution candidates corresponding to the classification, the DM can [...] select one of them as the basis of the next classification. If (s)he is satisfied with the solution obtained, optimization procedure stops. Otherwise, (s)he can make another classification." [5] "The search continues iteratively by moving around the Pareto optimal set" [6] "[...] the DM is able to learn about the behaviour of the problem by making different kinds of classifications. Thus, (s)he can move around the set of Pareto optimal solutions and find out the interdependencies between the objectives. The information asked from the DM is quite simple. (S)he only has to decide in which direction (s)he wants the objective function values to change and specify the possible aspiration levels and the upper bounds or ask for intermediate solutions." [5]

Patrz take: Okno Classify Objective Functions - umoliwia interaktywny wybr, przypisanie klasy dla danej funkcji. Uytkownik specyfikujc klasy i parametry okrela kierunek zmiany wzgldem aktualnego wektora. Obecnie jest dostpna jedna metoda optymalizacji ograniczonego zbioru Pareto - Nelder-Mead'a, ale moliwe jest doczenie innych metod do znajdowania minimumalej wartosi w ograniczonym przez klasyfikacj zbiorze Pareto. Uytkownik ma moliwo okrelenia maksymalnej liczby rozwiza jakie mog b wygenerowane (Maximum number of new solutions to).

Algorytm metody klasyfikacji (schemat dziaania): Sprawdzenie akceptowalnoci klasyfikacji Klasyfikacja jest akceptowalna jeli: 1. przynajmniej jedna funkcja zostanie sklasyfikowana jako "impair till upper bound" lub "change freely" 2. przynajmniej jedna funkcja zostanie sklasyfikowana jako "improve" lub "improve till aspiration level" sprawdzane s aktualnie wybrane wartoci list rozwijalnych w oknie Classify Objective Functions w przypadku niespenienia powyszych warunkw zostan wywietlone stosowne komunikaty,

jeli klasyfikacja jest akceptowalna nstpuje nakadanie ogranicze wg. preferencji uytkownika na zbir Pareto, patrz: Okno Classify Objective Functions nastpuje szukanie punktw Pareto, ktrych wsprzdne odpowiadaj ograniczeniom wprowadzono priorytety klas, aby mozliwe byo znalezienie w/w punktw (poniej lista od klasy o najwyszym prioryercie do klasy o najniszym) 1. "do not change" 2. "improve till aspiration level" 3. "impair till upper bound" 4. "improve" 5. "change freely" z uwzgldnieniem prioryterw dla klas konstruowany jest wektor wpisywane s wartoci kryteriw o priorytecie 1(tylko pierwsza iteracja) wpisywane s wartoci kryteriw o kolejnym priorytecie wektor jest poszukiwany jeli nie istnieje iteracja jest przerywana jeli istnieje jest jednym z moiwych rozwiza - punktem Pareto speniajcym ograniczenia po zakoczeniu oblicze klasyfikacyjnych nastpuj faza oblicze kocowego przetwarzania (Postprocessing) ze zbioru znalezionych punktw, rozwiza wybierane s wartoci dla kadego z kryterium z uwzgldnieniem prioryterw dla klas konstruowany jest wektor wpisywane s wartoci kryteriw o priorytecie 1(tylko pierwsza iteracja) wpisywane s wartoci kryteriw o kolejnym priorytecie wektor jest poszukiwany w zbiorze Pareto jeli istnieje jest jednym z moliwych rozwiza - punktem Pareto speniajcym ograniczenia jeli nie istnieje iteracja jest przerywana jeli uytkownik tak postanowi zastosowana moe zosta metoda optymalizacji np. Nelder-Mead'a do znajdowania minimalnej wartoci w ograniczonym przez klasyfikacj zbiorze Pareto w przeciwnym wypadku cay ograniczony zbir Pareto zostanie wywietlony w oknie gwnym jeli uytkownik skorzysta z moiwoci okrelenia maksymalnej liczby nowych rozwiza jakie mog zosta wygenerowane, dziaanie algorytmu jest przerywane jeli dana liczba zostanie osignita

3.3. Neutral compromise solution

Neutral compromise solution - to tzw."rodek zbiru Pareto", rozwizanie kompromisowe znajdujce si "gdzie porodku zbioru Pareto" [2]

Poniej przedstawiono graficzn interpretacj Neutral compromise solution oraz zaimplementowanego algorytmu.

10

Jako punkt Nadir rozumie si punkt o maksymalnych wartociach zbiru Pareto, po kadym z kryterw. Tym samym aproksymacja zbioru Pareto w niniejszej aplikacji jest uproszczona, poniewa znalezienie wydajnego algorytmu obliczajcego dobr aproksymacj zbioru Pareto (szczeglnie generowanego poprzez Skyline) jest problemem bardzo zoonym i wci otwartym. Szukane rozwizanie powinno znajdowa si na przeciciu zbioru Pareto z odcinkiem czcym punkt idealny (Ideal) i punkt Nadir. Problem odnajdywania punktu Neutral compromise solution nie jest trywialny cho wyglda na oczywisty. Schemat dziaania algorytmu: wyliczane s punkty Ideal oraz Nadir poszukiwana jest najmniejsza i najwieksza warto dla kadego z kryterium zapamitane wartoci s umieszczane w odpowiedniej tabeli i sua w wielu algorytmach w aplikacji moliwy jest podgld aktualnych wartoci -> Okno Preview wyliczne s wsprzdne punktu Neutral compromise solution dla kazdego kryterium: obliczana jest rnica r = Nadir - Ideal rnica Nadir i Ideal jest mnoona przez divisor = 0,5

11

w powyszy sposb wyliczany jest punkt znajdujcy si porodku odcinka czcego punkty Nadir i Ideal punkt o obliczonych wsprzdnych jest poszukiwany jesli punkt o obliczonych wsprzdnych nie zostanie odnaleziony, poniewa nie istnieje, nastpuje szukanie punktu w pobliu punktu o obliczonych wsprzdnych. wprowadzone jest pojcie Area czyli strefy, w ktrej to szukanie nastpuje strefa poszukiwania nie jest powikszana przy kadej nastpnej iteracji jeli w poprzedniej nie odnaleziono punktu speniajcego oczekiwania; standartowo Area=1, jednake moe zosta zmieniona przez uytkownika w oknie Generate Neutral Compromise Solution jeli rozwizanie nie zostaoby odnalezione nawet w strefie Area nastpuje zmiana wartoci divisor (divisor / 2) i algorytm jest powtarzany

3.4. Generacja punktw porednich

W algorytmie generacji punktw porednich, wykorzystywanej m.in. w metodzie zbiorw refrencyjnych zaimlementowany jest wzr na rodek odcinka dla n-wymiarowej przestrzeni o osiach

Algorytm generacji punktw porednich realizuje aproksymacj n-wymiarowych zbiorw n-wymiarowym wielobokiem (polytope).

Algorytm metody generacji punktw porednich (schemat dziaania pojedynczej iteracji): sortowanie zbioru wg. wartoci ostatniej wsprzdnej punktu (wartoci domniemanej funkcji) pobranie pary punktw ze zbioru w kaej iteracji pobierane s kolejne punkty: 1-szy i 2-gi, nastpnie 2-gi i 3-ci, 3-ci i 4-ty, 4-ty i 5-ty itd. a do osignicia koca zbioru obliczenie na podstawie wzoru punktu znajdujcego si na rodku abstrakcyjnego odcinka tworzonego przez wybran par puntw wpisanie wsprzdych nowoutworzonego punktu do zbioru.

12

Na powyszym rysunku punkty uprzednio zdefiniowane oznaczono kolorem czarnym, punktu wygenerowane w pierwszej iteracji kolorem pomaraczowym, a wygenerowane w drugiej iteracji kolorem tym. Generowanie punktw rodkowych w dwch iteracjach powoduje dodanie 3 punktw pomidzy kade dwa punkty uprzednio zdefiniowane. Zbir punktw ulega powiekszeniu. W metodzie zbiorw refrencyjnych punkty porednie wygenerowe przez algorytm, stanowi abstrakcyjn krawd zbioru, aproksymowanego, rwnie abstrakcyjnie wielobokiem (dla wielu wymiarw tzw. polytope). W teje metodzie przy wczeniu opcji Pareto Point - Reference Set s obliczane iteracyjnie punkty porednie pomidzy punktami referencyjnymi zdefiniowanymi przez uytkownika. Natomiast przy wczeniu opcji Pareto Set - Reference Set s obliczane w ten sam sposb punkty porednie pomidzy punktami Pareto oraz ponadto punkty porednie pomidzy punktami referencyjnymi zdefiniowanymi przez uytkownika.

3.5. Metoda zbiorw, punktw referencyjnych

Algorytm metody punktw referencyjnych oparty jest o metryk Czebyszewa i stoki. Dziaa take (lub przede wszystkim ) dla zbiorw referencyjnych. Taki sam algorytm jest stosowany dla punktw i zbiorw referencyjnych, poniewa zbiory s rozumiane jako zbiory pojedynczych punktw. Miara Czebyszewa

13

Miara ta zostaa wprowadzona przez Pafnutija Czebyszewa i jest specjalnym przypadkiem odlegoci Minkowskiego. Odlego Czebyszewa, to miara odlegoci midzy dwoma punktami dana wzorem: i

Algorytm metody punktow/zbiorw referencyjnych (schemat dziaania): pobranie z GUI wybranych przez uytkownika opcji dotyczcych kierunku poszukiwa tzn. okrelenie, wzgldem ktrych zbiorw naley odlegloci minimalizowa lub maksymalizowa dla ktrych konkretnie zbiorw naley odlegloci minimalizowa lub maksymalizowa tworzenie zbioru punktw referencyjnych ze zbioru wszystkich punkw referencyjnych podanych przez uytkownika ewentualna generacja porednich punktw referencyjnych, stanowicych abstrakcyjn krawd zbioru (Generacja punktw porednich) wybr punktu referencyjnego ze zbioru konstrukcja stoka dla wybranego punktu referencyjnego definicja zakresu, wartoci granicznej dla kadego kryterium wybr punktu Pareto znajducego si w zasigu stoka mierzenie odleglosci Czebyszewa pomidzy punktem referencyjnym a punktem Pareto zaimlementowany jest powyej przedstawiony wzr szukanie punktu Pareto znajdujcego si w najmniejszej/najwiekszej odlegoci wszystkich punkw referencyjnych w zalenoci od zadanego kierunku poszukiwa jest poszukiwana najkrtsza odlego, o najmniejszej mierze Czebyszewa (minimalizowanie) lub najdusza, o najwikszej mierze Czebyszewa (maksymalizowanie) zapamietanie odlegosci jeli jest mniejsza/wieksza od aktualnie zapisanej wywietlenie rozwizania - punktu Pareto znajdujcego si w najmniejszej/najwikszej odlegoci wynikiem mog by maksymalnie 4 rozwizania (punkty w najmniejszej/najwiekszej odlegoci) od kadego ze zbiorw liczba rozwiza jest zalena od liczby zdefiniowanych zbiorw oraz wybranych opcji zaznaczonych na GUI

Dostpne opcje pomiaru odlegoci do wyboru: Pareto Point - Reference Point w kadej iteracji odlego jest obliczana pomidzy punktem Pareto a punktem referencyjnym.

Pareto Point - Reference Set w kadej iteracji odlego jest obliczana pomidzy punktem Pareto a zbiorem referencyjnym

14

Pareto Point - Reference Set w kadej iteracji odlego jest obliczana pomidzy zbiorem Pareto a zbiorem referencyjnym

Okrelenie, ktrej metody chcemy uy odbywa si poprzez wybr odpowiedniego pola wyboru z grupy Compute distance between w oknie Reference Sets and Reference Points Method. Okrelenie kierunku poszukiwa odbywa si poprzez wybr odpowiedniego pola wyboru z grupy pl wyboru Direction of search w oknie Reference Sets and Reference Points Method.

Poniej przedstawiono graficzn interpretacj metod pomiaru odlegoci dla zaimplementowanego algorytmu.

15

16

Na powyszych pogldowych ilustracjach widoczne s zdefiniowane przez uytkownika punkty referencyjne i punkty Pareto (oznaczone kolorem czarnym) oraz stoki (oznaczone liniami przerywanymi) skonstruowane na niektrych, przykadowych punktach refrencyjnych. Oznaczone kolorem tym s punkty referencyjne i punkty Pareto wygenerowane przez algorytm. W przypadkach zilustrowanych na powyszych rysunkach dogenerowane zostay 3 nowe punkty pomidzy kad par punktw referencyjnych lub Pareto, poniewa algorytm wykona dwie iteracje podczas generacji punktw rodkowych (patrz. opcja Accuracy(iteratons) oraz Generacja punktw porednich) Dla metody Pareto Point - Reference Set dogenerowywane przez algorytm s tylko punkty referencyjne, zbir punktw Pareto pozostaje niezmieniony. Natomiast w przypadku metody Pareto Set - Reference Set dogenerowywane przez algorytm s zarwno punkty referencyjne jak i punkty Pareto. Jeli chodzi o metod Pareto Point - Reference Point nie s dogenerowywane adne punkty. Aplikacja operuje na zbiorach niezmienionych, takich jakimi zostay podane przez uzytkownika. Zaznaczono pomidzy, ktrymi punktami mierzone s odlegoci - pomidzy punktami refrencyjnymi a punktami Pareto "wpadajcymi do stoka" skonstruowanego na danym punkcie referencyjnym. Najmniejsze odlegoci wskazano strzak i odpowiednio opisano. Stoek definiuje zakres wartoci dla kadego kryterium. Punkt pareto znajduje si w zasigu stoka jeli wartoci jego wsprzdnych, kryteriw s mniejsze lub wiksze (zalenie od kierunku stoka -> patrz. opcja Reflect) od wartoci wsprzdnych stoka. Na przykad jeli stoek ma wsprzdne (5,28) oznacza to, e punkt Pareto "wpadnie do stoka" jeli wartoc dla kryterium F1jest mniejsza/wiksza od 5 a dla F2 mniejsza/wiksza od 28 zalenie od kierunku stoka. Patrz takze: Generacja punktw porednich

3.6. Metoda algorytmw optymalizacji

Metoda algorytmw optymalizacji Metoda Nelder'a-Mead'a nie jest metod interaktywn optymalizacji wielokryterialnej, w menu Interactive Methods okna gwnego istnieje jedynie, dlatego, by umoliwi uytkownikowi dostp do metody optymalizacji bez stosowania interakcji np., kiedy uytkownik wczyta gotowe rozwizania z pliku (by moe wygenerowane wczeniej przy pomoc metod niniejszej aplikacji) i chce je jedynie znale minimaln warto.

17

4. Opis aplikacji

W niniejszym rozdziale zawarto opis interfejsu oraz funkcjonalnoci i obsugi aplikacji. Uruchamianie Aplikacja nie wymaga wczeniejszej instalacji. Uruchomienie nastpuje poprzez dwukrotne kliknienie na ikone programu interactive.exe Aby poprawnie uruchomi w katalogu aplikacji powinny znajdowac sie nastpujce pliki: classes.dat help.chm

Elementy wsplne interfejsu We wszystkich oknach aplikacji moliwe jest za pomoc przyciskw wywoanie dostpnej dla danego okna pomocy oraz wywoanie okna podgldu Preview Window.

Jeli okno pomocy zostao ju otwarte nie zostanie otwarte nowe okno pomocy; w aktualnym oknie zostanie wywietlony odpowiedni rozdzia.

4.1. Okno Interactive Multiobjective Optimization

Poniej przedstawiono wygld okna gwnego po uruchomieniu i otrzymaniu rezultatw

18

Results

Rezultaty (rozwizania, punkty) s przedstawiane w oknie jako alternatywy i kolejno umieszczane w wiersach tabeli. W kolumnach tabeli przedstawiane s wartoci funkcji czyli wsprzedne punktw. Moliwa jest zmiana kolejnoci wierszy tabeli

Selected alternative for continuation

Przed wybraniem metody optymalizacji z tabeli Results naley wybra klikniciem jedn alternatyw, ktra w dalszej w metodzie klasfikacji funkcji bdzi rozpatrywana jako Current Solution. Number of criteria

- liczba rozpatrywanych, zadanych kryteriw

Number of alternatives

- liczba znalezionych rozwiza - punktw

Skrty klawiszowe

Do wszystkich opcji z menu gwnego aplikacji przypisane s skrty klawiszowe, aby uatwi i

19

przyspieszy obsug - interakcj uytkownikowi. Obok kadej pozycji w menu znajduj si oznaczenia skrtw klawiszowch.

Informacja

W prawej dolnej czci okna znajduje si informacja o aktualnie wskazywanej przez kursor myszy funkcji oraz alternatywie.

Menu File W menu File dostpne s nastpujce opcje: Open Solutions (Ctrl+O) wybranie opcji powoduje otwarcie okna systemowego Open File... pozwalajcego na wybr pliku tekstowego z danymi przeznaczonymi do wczytania jako punkty - rozwizania plik tekstowy musi mie odpowiednia skadni, aby mg zosta poprawnie wczytany przez aplikacje. Na poniszym zrzucie ekranu przedstawiono przykadow zawarto pliku z danymi: 6 punktw, kady opisany przez 3 wsprzdne -kryteria

jeli otwarcie pliku nie powiedzie si zostanie wywietlony komunikat "Cannot open file!"

20

Save Results As... (Ctrl+S) wybranie opcji powoduje zapisanie z uyciem okna systemowego Save File... do pliku tekstowego punktw - rozwiza znajdujcych si w oknie tabeli Results proponowana nazwa dla pliku - results.txt utworzony plik moe zosta wczytany w przyszoci przez opcj opisan powyej

Exit (Ctrl+X) wycie/zamknicie aplikacji

Menu View W menu View dostpna jest opcja: Preview Window (Ctrl+V) powodujca otwarcie okna Preview (lub zamknicie jeli jest ono ju otwarte)

Menu Data - Points W menu Data - Points dostpne s nastpujce opcje: Generate Points (F2) powoduje otwarcie okna Generate set of Pareto-optimal points

Read from File (F3) powoduje otwarcie okna Read from file set of Pareto-optimal points

Generate Pareto Midpoints (F4) powoduje otwarcie okna Generate Pareto Midpoints

21

Menu Interactive methods

Menu Interactive methods oferuje wybr sposobu interakcji oraz porednio umoliwia wybr metody optymalizacji Reference Sets and Reference Points Method (F5) otwiera okno metody opartej na punktach i zbiorach referencyjnych

Classify Objective Functions (F6) otwiera okno metody opartej na klasyfikacji funkcji celu

Optimization with standard methods (F7) otwiera okno metody opartej o standardowe algorytmy optymalizacji

Neutral Compromise Solution (F8) otwiera okno Generate Neutral Compromise Solution

Menu Help W menu Help dostepne sa dwie opcje do wyboru: Help... (F1) otwiera okno pomocy Windows, plik: help.chm

About... (Shift+F1) informacje na temat wersji, praw autorskich

4.2. Okno Preview

Okno Preview Window (Ctrl+V) okno Preview z tabelami zawierajcymi aktualne wartoci macierzy z punktami dopuszczalnymi Feasible points, punktami Pareto - Pareto points oraz wartociami aproksymacji zbioru pareto punktw Ideal i Nadir - Pareto set approximation: Ideal and Nadir values okno moe by otwierane i zamykane w trakcie dziaanie aplikacji w dowolnym momencie; nie musi by zamykane podczas otwierania pozostaych okien aplikacji; w pozostaych oknach aplikacji rwnie znajduj si przyciski umoliwiajce uruchomienie okna Preview okno Preview zawsze zawiera aktualn zawarto zbiorw oraz aktualne wartosci Ideal and Nadir

22

23

4.3. Okno Generate set of Pareto-optimal points

Poniej przedstawiono wygld okna po uruchomieniu.

w polu tekstowym Number of criteria naley wpisa liczb kryteriw w polu tekstowym Number of points naley wpisa liczb punktw dopuszalnych, poniewa w piewszej kolejnoci jest generowany losowo zbir punktw dopuszalnych a nastpnie z tego zbioru wybierane s punkty Pareto. Realizowany jest algorytm rozwizujcy znany problem Skyline zwany takze jako maximum vector problem

Kliknicie przycisku Generate set of Pareto-optimal points powoduje rozpoczcie pracy alorytmu wyboru puntw Pareto ze zbioru punktw dopuszczalnych w polu tekstowym Number of Pareto points zostaje wywietlona liczba punktw Pareto wygenerowanych przez algorytm.

Wybierajc z listy rozwijalnej Result(s) - Starting Point(s): odowiedni opcj uytkownik okrela rezultat, punkt startowy do dalszej optymalizacji. Na liscie dostpne s trzy opcje do wybou: Neutral compromise solution

Po wybraniu OK zostanie wybrane przez algorytm jedno rozwizanie kompromisowe i wywietlone w oknie gwnym; moliwy bdzie zapis do pliku. Pareto set

Po wybraniu OK zbir pareto zostanie wywietlony w oknie gwnym; moliwy bdzie wybr jednej alternatywy lub zapis do pliku. Set of feasible points

24

Po wybraniu OK zbir rozwiza dopuszczalnych zostanie wywietlony w oknie gwnym; moliwy bdzie wybr jednej alternatywy lub zapis do pliku.

4.4. Okno Read from file set of Pareto-optimal points

Poniej przedstawiono wygld gwnego po uruchomieniu.

Kliknicie przycisku Open and read: powoduje otwarcie okna systemowego Open File... pozwalajcego na wybr pliku tekstowego z danymi przeznaczonymi do wczytania jako punkty - rozwizania; plik tekstowy musi mie odpowiednia skadni, aby mg zosta poprawnie wczytany przez aplikacje. jeli otwarcie pliku nie powiedzie si zostanie wywietlony komunikat "Cannot open file!"

cieka do aktualnie wybranego poprzez okno Open File... pliku zostaje wywietlona w polu tekstowym w polu tekstowym Number of criteria zostaje wywietlona liczba kryteriw wczytanych z pliku

25

w polu tekstowym Number of points zostaje wywietlona liczba punktw wczytanych z pliku

Wybierajc z listy rozwijalnej Result(s) - Starting Point(s): odowiedni opcj uytkownik okrela rezultat, punkt startowy do dalszej optymalizacji. Na liscie dostpne s trzy opcje do wybou: Neutral compromise solution

Po wybraniu OK zostanie wybrane przez algorytm jedno rozwizanie kompromisowe i wywietlone w oknie gwnym; moliwy bdzie zapis do pliku. Pareto set

Po wybraniu OK zbir pareto zostanie wywietlony w oknie gwnym; moliwy bdzie wybr jednej alternatywy lub zapis do pliku.

4.5. Okno Generate Pareto Midpoints

Poniej przedstawiono wygld gwnego po uruchomieniu.

Kliknicie przycisku Okno Generate Pareto Midpoints: powoduje rozpoczcie generacji punktw porednich dodanie nowych punktw do zbioru Pareto powstay zbir pozostaje Pareto-optymalny

Sposb implementacji wykorzystanej w niniejszym oknie metody jest opisany w rozdziale Generacja punktow posrednich

4.6. Okno Reference Sets and Reference Points Method

Poniej przedstawiono wygld okna gwnego po uruchomieniu.

26

lista Select Group suy do wyboru grupy punktw dla dodawanego/ dodanego punktu; problem zaimplementowany jest dla dowolnej liczby grup; aktualnie/standartowo s 4 grupy: anti-ideal points, status-quo solutions, target points, lower limits of optimality. Koncepcja i nazwy pochodz z [1]

przycisk Add Reference Point (Ctrl+A) umoliwia dodanie punktu referencyjnego; funkcjonalnoc identyczna z funkcjonalnoci Add Reference Point menu Reference Point

przycisk Delete Reference Point (Ctrl+Del)

27

umoliwia usuniecie punktu referencyjnego; funkcjonalnoc identyczna z funkcjonalnoci Delete Reference Point menu Reference Point

tabela punktw referencyjnych w tabeli znajduj si aktualne wartoci punktw referencyjnych wraz z przypisanymi grupami tabela umoliwia interaktywne definiowanie punktw referencyjnych, edycj jej zawartoci kolumny tabeli dynamicznie dopasowuj swoj szeroko do dugoci wprowadzonego tekstu kliknicie na nagwek wiersza/kolumny powoduj obrysowanie wiersza/kolumny na czerwono dodatkowo kliknicie nagwka wiersza powoduj narysowanie ztej linii oznaczajcej zaznaczenie tego wiersza wybrany wiersz moe zosta usunity z tabeli; oznacza to usunicie punktu referencyjnego po wybraniu komrki tabeli z kolumnu Group moliwa jest zmiana grupy dla danego punktu referencyjnego poprzez wybranie z listy Select Group moliwa jest zmiana kolejnoci wierszy tabeli

menu kontekstowe tabeli (aktywne w obszarze tabeli) pozycja Delete Reference Point (Ctrl+Del) umoliwia usuniecie punktu referencyjnego; funkcjonalnoc identyczna z funkcjonalnoci Delete Reference Point menu Reference Point oraz przycisku

pozycja Cancel po prostu - zamknij rozwinite menu

grupa pl wyboru Direction of search pola wyboru pozwalajce w sposb interaktywny okreli kierunek poszukiwa - maksymalizacj lub minimalizacj odlegoci od zbioru/punktu uytkownik ma do dyspozycji 3 stany tyche pl: 1. checked -po dwukrotnym klikniciu na pole pojawia si rowy napis maximize odlegoc od zbioru bdzie maksymalizowana 2. not checked - po "odznaczeniu" pola napis nie pojawia si/znika - zbir tak oznaczony nie jest brany pod uwag podczas oblicze 3. grayed - po "zaznaczeniu" pola pojawia si zielony napis minimize - odlegoc od zbioru bdzie minimalizowana szar czcionk wypisane s sugestie dotyczce kierunku poszukiwa ([1])

grupa pl wyboru Compute distance between Pareto Point - Reference Set w kadej iteracji odlego bdzie obliczana pomidzy punktem Pareto a zbiorem referencyjnym jeli opcja jest wybrana aktywne jest pole Accuracy(iterations) pozwalajce na okrelenie liczby nowowygenerowanych punktw referencjnych, a tym samym dokadnoci poszukiwania najmiejszej/najwieszej odlgoci od zbiorw

28

Pareto Point - Reference Point w kadej iteracji odlego bdzie obliczana pomidzy punktem Pareto a punktem referencyjnym Pareto Point - Reference Set w kadej iteracji odlego bdzie obliczana pomidzy zbiorem Pareto a zbiorem referencyjnym jeli opcja jest wybrana aktywne jest pole Accuracy(iterations) pozwalajce na okrelenie liczby nowowygenerowanych punktw, a tym samym dokadnoci poszukiwania najmiejszej/najwieszej odlgeoci od zbiorw

pole wyboru Use Simplified Cone pozwala na uycie uproszczonej, ale wydajniejsej metody konstrukcji stoka

pole wyboru Reflect pozwala na "odbicie" zbiorw referencyjnych wzgldem zbioru Pareto zamieniane pooeniem s po dwa zbiory jednoczenie:"anti-ideal points" i "status-quo solutions" z "target points" i "lower limits of optimality"

pole wyboru Show All Messages jeli opcja jest wybrana zostan wywietlone wszystkie zaimplementowane okna informacyjnenp.: "Distance to 'anti-ideal' set: ", "Segment midpoint: ", "Chebyshev distance:".

W prawej dolnej czsci okna znajduj si pola okrelajce: maksymaln liczna rozwiza jakie mog by odznalezione dla wszystkich zbiorw maksymaln liczna rozwiza jakie mog by odznalezione dla kadego ze zbiorw

Menu File W menu File dostpne s nastpujce opcje: Read from file (Ctrl+O) wybranie opcji powoduje otwarcie okna systemowego Open File... pozwalajcego na wybr pliku tekstowego z danymi przeznaczonymi do wczytania jako punkty - rozwizania plik tekstowy musi mie odpowiednia skadni, aby mg zosta poprawnie wczytany przez aplikacje. Na poniszym zrzucie ekranu przedstawiono przykadow zawarto pliku z danymi: 5 punktw referencyjnych, kady opisany przez 3 wsprzdne -kryteria oraz typ grupy

29

gdy liczba kryteriw odczytanych z pliku jest rna od liczby kryteriw ustalonych wczesniej podczas interakcji dla zbirw punktw, wywietlane jest nastpujce ostrzeenie:

jeli otwarcie pliku nie powiedzie si zostanie wywietlony komunikat "Cannot open file!"

Save to file (Ctrl+S) wybranie opcji powoduje zapisanie z uyciem okna systemowego Save File... do pliku tekstowego punktw - rozwiza znajdujcych si w oknie tabeli Results proponowana nazwa dla pliku - reference_points.txt utworzony plik moe zosta wczytany w przyszoci przez opcj opisan powyej

30

Close (Ctrl+X) zamknicie okna

Menu Reference Point Add Reference Point (Ctrl+A) umoliwia dodanie punktu referencyjnego; funkcjonalnoc identyczna z funkcjonalnoci przycisku Add Reference Point w oknie metody

Delete Reference Point (Ctrl+Del) umoliwia usuniecie punktu referencyjnego; funkcjonalnoc identyczna z funkcjonalnoci przycisku Delete Reference Point w oknie metody

4.7. Okno Classify Objective Functions

Poniej przedstawiono wygld okna po uruchomieniu, przypisaniu klas i wpisaniu wartoci.

31

32

Okno umoliwia interaktywny wybr, przypisanie klasy dla danej funkcji. Uytkownik specyfikujc klasy i parametry okrela kierunek zmiany wzgldem aktualnego wektora. Metoda oparta na metodzie NIMBUS. tabela Classify Functions / lista wyboru umoliwia interaktywny wybr, przypisanie klasy dla danej funkcji po kliniciu na pole tabeli pojawia si lista wyboru klas nazwy klas umieszczono w pliku classes.dat; aktualnie/standardowo istnieje 5 klas 1. 2. 3. 4. 5. improve improve till aspiration level do not change impair till upper bound change freely

istnieje moliwoc zmiany nazwy grupy w pliku classes.dat; zmienione nazwy pojawi si w odpowienich listach rozwijalnych ComboBox

tabela Aspiration functions po wybraniu z listy pola tabeli Classify Functions opcji "improve till aspiration level" w tabeli Aspiration functions pojawi si nowy wiersz z wartociami dla odpowiedniej funkcji w kolumnie Enter value naley wpisa odpowieni warto: od Ideal do Current Solution rozwizanie dla kryterium, tak ograniczonego bdzie szukane w przedziale: od Aspiration level do Current Solution moliwa jest zmiana kolejnoci wierszy tabeli

tabela Upper and lower bound functions po wybraniu z listy pola tabeli Classify Functions opcji "impair till upper bound" w tabeli Upper and lower bound functions pojawi si nowy wiersz z wartociami dla odpowiedniej funkcji w kolumnie Enter value naley wpisa odpowieni warto: od Current Solution do Nadir rozwizanie dla kryterium, tak ograniczonego bdzie szukane w przedziale: od Current Solution do Upper / lower bound moliwa jest zmiana kolejnoci wierszy tabeli

Zaimplementowano obsug zmiany decyzji wzgldem klasyfikacji przez uytkownika po dokonaniu zmiany klasy, zostan wywietlone komunikaty; odpowiedni wiersz zostanie usuniety z tabeli

33

Sprawdzenie akceptowalnoci klasyfikacji Klasyfikacja jest akceptowalna jeli: 1. przynajmniej jedna funkcja zostanie sklasyfikowana jako "impair till upper bound" lub "change freely" 2. przynajmniej jedna funkcja zostanie sklasyfikowana jako "improve" lub "improve till aspiration level" w przypadku niespenienia powyszych warunkw zostan wywietlone stosowne komunikaty:

Solver, optimizer lista pozwala na wybr metody optymalizacji dostpne opcje: None - bez znajdowania minimum, caly ograniczony zbior pareto zostanie wyswietlony w tabeli Results w oknie gwnym None, but limit solutions - ogranicz maksymaln liczbe nowych rozwiazan Nelder-Mead - zastowuj metode Nelder-Mead do znajdowania minimumalej wartosi w ograniczonym przez klasyfikacj zbiorze Pareto

zostan wywietlone kolejne okienka typu ShowMessage informujce o aktualnie wybranej metodzie, np:

34

Maximum number of new solutions to be generated maksymalna liczba nowych rozwiazan; rozwizanie aktualne (Current Solution) zostanie umieszczne w 1-szym rzedzie tabeli Results

pole wyboru Show All Messages jeli "zaznaczone" - zostan wywietlone kolejne okienka typu ShowMessage na kadym etapie oblicze przykadowe komunikaty:

Po zakoczeniu oblicze klasyfikacyjnych nastpuj faza oblicze kocowego przetwarzania (Postprocessing):

Po znalezieniu rozwiza zostaje wywietony komunikat informujcy o liczbie znalezionych rozwiza:

4.8. Okno Optimization with standard methods

Poniej przedstawiono wygld okna po uruchomieniu.

35

Dostpn metod optymalizacji jest metoda Nelder-Mead'a. Uytkownik: wybiera zbir, w jakim chce znale minimum: Pareto-optimal set lub Feasible-solutions set podaje wartoci wspczynnikw niezbdne dla metody Sympleks pocztkowy jest generowany losowo - z punktw Pareto s wybierane losowe punkty

4.9. Generate Neutral Compromise Solution

Poniej przedstawiono wygld okna po uruchomieniu.

36

uytkownik podaje parametr Area definiujcy wielko strefy szukania obliczonego rozwizania; patrz: Neutral compromise solution wywoywany jest algorytm odnajdywania neutralnego rozwizania kompromisowego znalezione rozwizanie jest wywietlane w tabeli Results okna gwnego

37

5. Instrukcja obsugi
W celu przedstawienia sposobu oraz poprawnoci dzialania aplikacji przygotowano roste przykdy. Zaaczono pliki z przykadowymi danymi - punktami Pareto oraz punktami referencyjnymi. Pliki nie zawieraj zbyt wielu danych, aby moliwa bya analiza poprawnoci rozwiza podawanych przez aplikacj. Naley zaznaczy, ze dane te mog modelowa rzeczywisty problem decyzyjny np.: Przykadowy rzeczywisty problem.

5.1. Przykad klasyfikacja

Plik o nazwie: example.txt znajduje si w folderze points. Nie zawiera zbyt wielu danych, aby moliwa bya analiza poprawnoci rozwiza podawanych przez aplikacj. Poniej znajduje si okno z zawartoci przykadowego pliku z punktami.

Wczytywanie danych odbywa si przy pomocy okna Read from file... Wskazujmy pik example.txt, otwieramy. Jako rezultat/punkt startowy wskazujemy Pareto set i wciskamy OK.

38

Zbir Pareto pojawi si w oknie gwnym w tabeli Results. Naley wybra alternatyw nr 2.

Prowadzenie interakcji w niniejszym tutorialu rozpoczynamy od zastosowania metody klasyfkacji funkcji celu. Z Menu Interactive methods > Classify Objective Functions lub wciskamy F6; otwarte zostaje okno metody opartej na klasyfikacji funkcji celu. Wybrana alternatywa nr 2 to Current Solution w metodzie klasyfikacji.

39

40

Funkcje naley sklasyfikowa jak na powyszym zrzucie ekranu oraz wpisac parametr w tabeli Upper and lower bound functions , Enter value = 72. Dzii wybraniu opcji None z listy wyboru Solver, optimizer - caly ograniczony zbior pareto zostanie wyswietlony w tabeli Results w oknie gwnym. Poniej znajduje si okno z tabeli Results; znalezione zostay dwa moliwe rozwizania w zbiorze Pareto.

5.2. Przykad zbiory referencyjne

Rozpoczynamy od wczytania zbioru Pareto - Menu Data-Points > Read from File. Plik o nazwie: pareto_2criteria6points .txt znajduje si w folderze points. Nie zawiera zbyt wielu danych, aby moliwa bya analiza poprawnoci rozwiza podawanych przez aplikacj. Zbir Pareto pojawi si w oknie gwnym w tabeli Results.

41

Prowadzenie interakcji w niniejszym tutorialu rozpoczynamy od zastosowania metody punktw/zbiorw referencyjnych. Z Menu Interactive methods > Reference Sets and Reference Points Method lub wciskamy F5; otwarte zostaje okno metody opartej na punktach i zbiorach referencyjnych Plik o nazwie: reference_points2x2.txt znajduje si w folderze reference points. Nie zawiera zbyt wielu danych, aby moliwa bya analiza poprawnoci rozwiza podawanych przez aplikacj. Poniej znajduje si okno z zawartoci przykadowego pliku z punktami.

42

Wczytywanie danych odbywa si przy pomocy opcji Read from file... w menu okna Zawarto wskazanego pliku zostanie wywietlona w tabeli

43

Metod naley skonfigurowa jak na powyszym zrzucie ekranu. Dziki wybraniu opcji Pareto Set - Reference Set - odlegoc bedzie obliczana pomiedzy zbiorem Pareto a zbiorem referencyjnym. Opcjonalnie moliwe jest wywietlenie dodatkowych informacji podczas dziaania algorytmw -> Show All Mesages. Wywietlone zostan okna typu ShowMessage.

44

Poniej znajduje si okno przedstawiajce rezultaty; znalezione zostao rozwizanie ze zbioru Pareto punkty Pareto znajdujcy si w najmniejszej odlegoci od zbioru referencyjnego "target set".

45

5.3. Przykad zbiory/punkty referencyjne


Rozpoczynamy od wczytania zbioru Pareto - Menu Data-Points > Read from File. Plik o nazwie: pareto_2criteria6points .txt znajduje si w folderze points. Nie zawiera zbyt wielu danych, aby moliwa bya analiza poprawnoci rozwiza podawanych przez aplikacj. Zbir Pareto pojawi si w oknie gwnym w tabeli Results.

Prowadzenie interakcji w niniejszym tutorialu rozpoczynamy od zastosowania metody punktw/zbiorw referencyjnych. Z Menu Interactive methods > Reference Sets and Reference Points Method lub wciskamy F5; otwarte zostaje okno metody opartej na punktach i zbiorach referencyjnych Plik o nazwie: reference_points2x2.txt znajduje si w folderze reference points. Nie zawiera zbyt wielu danych, aby moliwa bya analiza poprawnoci rozwiza podawanych przez aplikacj. Poniej znajduje si okno z zawartoci przykadowego pliku z punktami.

46

Wczytywanie danych odbywa si przy pomocy opcji Read from file... w menu okna Zawarto wskazanego pliku zostanie wywietlona w tabeli

47

Metod naley skonfigurowa jak na powyszym zrzucie ekranu. Dziki wybraniu opcji Pareto Point- Reference Set - odlegoc bedzie obliczana pomiedzy punktami Pareto a zbirem referencyjnym. Opcjonalnie moliwe jest wywietlenie dodatkowych informacji podczas dziaania algorytmw -> Show All Mesages. Wywietlone zostan okna typu ShowMessage, m.in. :

48

Poniej znajduje si okno z tabeli Results; znalezione zostao rozwizanie ze zbioru Pareto - punkt Pareto znajdujcy si w najmniejszej dlegoci od zbioru referencyjnego "target set".

5.4. Przykadowy rzeczywisty problem

Przykad wykorzystuje problem opisany w artykule [4] Punkty z wykresu zamieszczonego poniej mona zapisa do pliku .txt, a nastpnie wczyta do aplikacji i

49

zastosowa dowoln metod w celu znalezienia rozwizania. "Suppose you are going on holiday to Nassau (Bahamas) and you are looking for a hotel that is cheap and close to the beach. Unfortunately, these two goals are complementary as the hotels near the beach tend to be more expensive. The database system at your travel agents is unable to decide which hotel is best for you, but it can at least present you all interesting hotels. Interesting are all hotels that are not worse than any other hotel in both dimensions. We call this set of interesting hotels the Skyline. From the Skyline, you can now make your final decision, thereby weighing your personal preferences for price and distance to the beach. More formally, the Skyline is defined as those points which are not dominated by any other point. A point dominates another point if it is as good or better in all dimensions and better in at least one dimension. For example, a hotel with price = $50 and distance = 0.8 miles dominates a hotel with price = $100 and distance = 1.0 miles." Skyline of Hotels

Above figure "shows the Skyline of cheap hotels near the beach for a sample set of hotels. A travel agency is one application for which a Skyline operation would be useful."

50

Bibliografia
[1] Skulimowski Andrzej M.J., Decision Support Systems Based on Reference Sets, Krakw 1996 [2] wikipedia.org [3] Wierzbicki Andrzej P., Reference Point Methods in Vector Optimization and Decision Support [4] Buerzsuenyi S., Kossmann D., Stocker K., The Skyline Operator, http://www-db.in.tum.de/research/publications/conferences/skyline.pdf [5] Hakanen J., Miettinen K., Makela M.M., Manninen K., On InteractiveMultiobjective Optimizationwith NIMBUS in Chemical Process Design, JOURNAL OF MULTI-CRITERIA DECISION ANALYSIS, 2005 [6] Miettinen K., Makela M. M., Synchronous approach in interactive multiobjective optimization, European Journal of Operational Research [7] Luque M, Caballero R., Molina J., Ruiz F., Equivalent Information for Multiobjective Interactive Procedures, 2007 [8] Stachurski A., Wierzbicki Andrzej P., Podstawy optymalizacji, Warszawa 2001 [9] Findeisen W., Szymanowski J., Wierzbicki A., Teoria i metody obliczeniowe optymalizacji, Warszawa 1980 [10] Kaliszewski I., Wielokryterialne podejmowanie decyzji. Obliczenia mikkie dla zoonych problemw decyzyjnych, WNT, Warszawa 2008

51

You might also like