PRZESZUKIWANIE LOKALNE I ALGORYTMY POPULACYJNE DLA WIELOKRYTERIALNEGO PROBLEMU GNIAZDOWEGO

Podobne dokumenty
Algorytmy mrówkowe. P. Oleksyk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Algorytmy metaheurystyczne podsumowanie

Optymalizacja. Wybrane algorytmy

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Wybrane podstawowe rodzaje algorytmów

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

WIELOKRYTERIALNE PORZĄDKOWANIE METODĄ PROMETHEE ODPORNE NA ZMIANY WAG KRYTERIÓW

Techniki optymalizacji

ALGORYTM PRZESZUKIWANIA Z ZABRONIENIAMI DLA DWUKRYTERIALNEGO PROBLEMU PRZEPŁYWOWEGO

SZTUCZNA INTELIGENCJA

Problem Komiwojażera - algorytmy metaheurystyczne

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Metody przeszukiwania

Analiza stanów gry na potrzeby UCT w DVRP

Algorytm genetyczny (genetic algorithm)-

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Heurystyczne metody przeszukiwania

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Obliczenia inspirowane Naturą

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Algorytmy konstrukcyjne dla problemu harmonogramowania projektu z ograniczonymi zasobami. Marcin Klimek *

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja Instytut Informatyki Uniwersytetu Wrocławskiego

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016

Zadania laboratoryjne i projektowe - wersja β

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

Techniki optymalizacji

Systemy mrówkowe. Opracowali: Dawid Strucker, Konrad Baranowski

Algorytmy genetyczne

Algorytmy heurystyczne w UCB dla DVRP

Algorytm świetlika charakterystyka, własności aplikacyjne i usprawnienia

Metody optymalizacji dyskretnej

9.9 Algorytmy przeglądu

Analiza wielokryterialna wstęp do zagadnienia

ALGORYTM EWOLUCYJNY DLA PROBLEMU SZEREGOWANIA ZADAŃ W SYSTEMIE PRZEPŁYWOWYM

Metody Optymalizacji: Przeszukiwanie z listą tabu

Obliczenia Naturalne - Algorytmy Mrówkowe cz. 4

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Problem komiwojażera ACO. Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym.

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Algorytmy mrówkowe. Plan. » Algorytm mrówkowy» Warianty» CVRP» Demo» Środowisko dynamiczne» Pomysł modyfikacji» Testowanie

Aproksymacja funkcji a regresja symboliczna

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Priorytetyzacja przypadków testowych za pomocą macierzy

Seminarium IO. Zastosowanie wielorojowej metody PSO w Dynamic Vehicle Routing Problem. Michał Okulewicz

Zastosowanie sztucznej inteligencji w testowaniu oprogramowania

Techniki optymalizacji

ZASTOSOWANIE ALGORYTMÓW MRÓWKOWYCH W ROZWIĄZANIU PROBLEMU SZEREGOWANIA ZADAŃ APPLICATION OF ANT COLONY SYSTEMS IN SOLVING OF TASK SCHEDULING PROBLEM

Techniki optymalizacji

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Optymalizacja ciągła

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Algorytm memetyczny w grach wielokryterialnych z odroczoną preferencją celów. Adam Żychowski

Metody Programowania

Sterowanie procesami dyskretnymi

Optymalizacja. Przeszukiwanie lokalne

Algorytmy ewolucyjne

PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2008 Seria: AUTOMATYKA z. 199 Nr kol. 1999

PROBLEMY HAROMONOGRAMOWANIA PRODUKCJI

Uczenie sieci typu MLP

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Symulowane wyżarzanie dla problemu harmonogramowania projektu z ograniczonymi zasobami. Marcin Klimek *

HARMONOGRAMOWANIE ROBÓT BUDOWLANYCH Z MINIMALIZACJĄ ŚREDNIEGO POZIOMU ZATRUDNIENIA

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Analiza wielokryterialna

O dwóch modyfikacjach algorytmu PSO

ALGORYTM RÓWNOLEGŁY DLA PROBLEMU MARSZRUTYZACJI

Algorytmy genetyczne

Zastosowanie algorytmów heurystycznych do rozwiązywania problemu układania tras pojazdów

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Dobór parametrów algorytmu ewolucyjnego

AUTOMATYZACJA PROCESW DYSKRETNYCH 2012 ZASTOSOWANIE TECHNIK RÓWNOLEGŁYCH W SZEREGOWANIU ZA- DAŃ Z KRYTERIUM MINIMALIZACJI SUMY SPÓŹNIEŃ

Optymalizacja optymalizacji

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Programowanie celowe #1

Algorytmy wyznaczania centralności w sieci Szymon Szylko

WYKORZYSTANIE ALGORYTMÓW GENETYCZNYCH I MRÓWKOWYCH W PROBLEMACH TRANSPORTOWYCH

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Algorytm hybrydowy dla problemu pakowania

Przeszukiwanie lokalne

Wybór / ocena atrybutów na podstawie oceny jakości działania wybranego klasyfikatora.

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

Wielokryteriowa optymalizacja liniowa

HEURYSTYCZNY ALGORYTM SZEREGOWANIA ZADAŃ W SYSTEMIE MASZYN RÓWNOLEGŁYCH Z KRYTERIUM MINIMALNO-CZASOWYM

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

Zadanie 1: Piętnastka

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Zaawansowane programowanie

WIELOKRYTERIALNA OPTYMALIZACJA PRACY SYSTEMU WYTWARZANIA O STRUKTURZE PRZEPŁYWOWEJ

Optymalizacja. Symulowane wyżarzanie

Projektowanie i analiza algorytmów

Programowanie dynamiczne

Tomasz M. Gwizdałła 2012/13

Sieci obliczeniowe poprawny dobór i modelowanie

Seminarium IO. Zastosowanie metody PSO w Dynamic Vehicle Routing Problem (kontynuacja) Michał Okulewicz

Transkrypt:

Przeszukiwanie lokalne i algorytmy... Jarosław RUDY, Dominik ŻELAZNY Politechnika Wrocławska PRZESZUKIWANIE LOKALNE I ALGORYTMY POPULACYJNE DLA WIELOKRYTERIALNEGO PROBLEMU GNIAZDOWEGO Streszczenie. W pracy rozważa się problem gniazdowy z minimalizacją dwóch kryteriów. Dla każdego z kryteriów problem jest silnie NP-trudny, wiec wersja wielokryterialna jest również NP-trudna. Heurystyki dla wielokryterialnego problemu gniazdowego są niezwykle rzadkie, proponujemy i porównujemy dwa algorytmy, mianowicie algorytm mrówkowy i symulowane wyżarzanie. LOCAL SEARCH AND POPULATION-BASED ALGORITHMS FOR MULTI- CRITERIA JOB-SHOP SCHEDULING PROBLEM Summary. In this paper the job shop scheduling problem with minimizing two criteria is considered. For each separate criterion the problem is strongly NPhard, which makes multi-objective case NP-hard as well. Heuristics for multiobjective job shop problems are very rare, we propose and compare two algorithms, namely ant colony optimization and simulated annealing. 1. Wstęp Metody optymalizacji dyskretnej od dawna leżą w kręgu zainteresowań wielu firm, szczególnie tych których działalność związana jest z procesami biznesowymi lub

J. Rudy, D. Żelazny produkcyjnymi. Metody te dają bowiem możliwość usprawnienia powyższych procesów i tym samym zwiększenie konkurencyjności oraz przystosowanie się do szybko zmieniających się standardów rynkowych. Ze względu na rosnącą potrzebę coraz dokładniejszych i szybszych metod rozwiązań, rozmaite problemy optymalizacji dyskretnej są wciąż obiektem badań teoretycznych i praktycznych. Jedną z takich grup problemów jest szeregowanie zadań, której ważnym reprezentantem jest tzw. problem gniazdowy (ang. Job Shop Problem, JSP). Problem ten dosyć dobrze modeluje wiele rzeczywistych systemów produkcyjnych, do których może być często stosowany bez większych zmian. Sytuacje taką potwierdzają liczne prace badawcze i instancje testowe (benchmarki) dostępne w literaturze, a także mnogość metod używanych do rozwiązania problemu JSP, wliczając w to metody dokładne (programowanie dynamiczne, metody podziału i ograniczeń) oraz liczne metody przybliżone, w tym metaheurystyki (algorytmy ewolucyjne i populacyjne, przeszukiwania lokalne), szerzej opisane w dalszej części artykułu. Kolejną ważną cechą zagadnienia JSP jest przynależność do klasy problemów NP-trudnych, co w praktyce wyklucza stosowanie metod dokładnych dla problemów testowych o rozmiarze spotykanym powszechnie w praktyce. Ponadto, zagadnienie JSP jest uznawane za trudniejsze niż wiele pokrewnych problemów jak np. problem przepływowy (ang. Flow Shop Problem), choćby ze względu na znacznie większą przestrzeń rozwiązań przy standardowej reprezentacji rozwiązania. Istotną kwestią w przypadku problemów optymalizacji dyskretnej jest postać funkcji celu, a co za tym idzie, podział na problemy jedno- i wielokryterialne. Większość spotykanych w literaturze badań dotyczy problemów z jednym kryterium, aczkolwiek w ciągu ostatniej dekady publikacje dla wielokryterialnego szeregowania zadań zyskały na znaczeniu. Pomimo tego, wielokryterialny problem gniazdowy (ang. Multi-Objective JSP, MOJSP) ze względu na swoją złożoność wciąż pozostaje stosunkowo niezbadany, wliczając w to jego właściwości w połączeniu z różnymi metodami rozwiązań. 2. Przegląd literatury Szeregowanie w systemie gniazdowym należy do NP-trudnych problemów optymalizacji dyskretnej. Dokładne algorytmy, jak metoda podziału i ograniczeń, sprawdzają się wyłącznie dla problemów o małych rozmiarach i pozwalają na znalezienie rozwiązań optymalnych. Jednakże w rzeczywistych problemach mamy do czynienia głównie z problemami o dużych rozmiarach, które wymagają zastosowania metod przybliżonych, co w szczególności tyczy się problemów wielokryterialnych. Optymalizacją dyskretną, m.in. problemami szeregowania zadań, w ujęciu wielokryterialnymi zajmowali się w ostatnich latach Polscy badacze. Ze względu na ograniczenia rozmiaru pracy, nie będziemy wymieniać wszystkich prac. Należy zwrócić uwagę na pracę Sawika [6] dotyczącą wielokryterialnej optymalizacji z terminami zwrotu w produkcji na zamówienie. Zaprezentowane podejście wykorzystuje skalaryzację funkcji celu za pomocą ważonej sumy kryteriów.

Przeszukiwanie lokalne i algorytmy... Słowiński i inni stworzyli algorytm Fuzzy Pareto Simulated Annealing (FPSA) dla wielokryterialnych problemów rozmytych optymalizacji kombinatorycznej [2]. Rozszerzenie algorytmu PSA dla problemów rozmytych wymagało zdefiniowania relacji dominacji w rozmytym zbiorze rozwiązań rozmytych. Autorzy zdefiniowali również nową regułę akceptacji rozwiązania zaburzonego. Błażewicz i inni w pracy [1] dokonali przeglądu metod rozwiązywania problemu gniazdowego. Poruszono zarówno metody dokładne, takie jak metoda podziału i ograniczeń, oraz metody przybliżone konstrukcyjne (np. reguły priorytetowe) oraz algorytmy przybliżone, w tym bazujące na przeszukiwaniu lokalnym (np. algorytm symulowanego wyżarzania) oraz ewolucyjne (np. algorytm genetyczny). Kachitvichyanukul i Sitthitham w pracy [4] zaproponowali dwuetapowy algorytm genetyczny (ang.: Genetic Algorithm), który minimalizował funkcję celu opisaną jako kombinacja ważonych wartości dwóch lub więcej z poniższych kryteriów: a) maksymalny czas przetwarzania wszystkich zadań (ang.: makespan), b) sumy ważonych przyspieszeń oraz c) suma ważonych opóźnień. Algorytm składał się z dwóch etapów: 1) równoległego algorytmu GA, poszukującego najlepszych rozwiązań dla każdego z kryterium, z migracją pomiędzy populacjami oraz 2) połączenie wszystkich populacji wygenerowanych przez GA. Przedstawiciel algorytmów mrówkowych (ang.: Ant Colony Optimization) został zaproponowany przez Udomsakdigool i Khachitvichyanukul w pracy [10]. Rozwiązywał on wielokryterialny problem gniazdowy (ang.: Multi-Objective Job Shop Problem) z funkcją celu będącą sumą znormalizowanych ważonych wartości maksymalnego czasu przetwarzania wszystkich zadań, średniego czasu przepływu oraz średniego opóźnienia. Mrówki korzystały z różnych informacji heurystycznych, bazujących na priorytetowej regule dysponowanie, która pozwalała na uzyskanie różnorodności wyników. Dodatkowo, metoda przeszukiwania lokalnego została zastosowana w celu polepszenia wyników. Algorytm został przetestowany z wykorzystaniem instancji małych rozmiarów i porównany z wartościami optymalnymi, wyniki były porównywalne. W pracy [5] Lei zaprezentował metodę roju cząsteczek (ang.: Particle Swarm Optimization) dla MOJSP. Celem była jednoczesna minimalizacja maksymalnego czasu przetwarzania i sumy czasów opóźnień. Metoda globalnej selekcji najlepszego rozwiązania była połączona z archiwizowanie rozwiązań opartym o ocenę odległości między rozwiązaniami. Zaproponowany algorytm był zdolny do znajdywania niezwykle dobrej jakości frontu Pareto w rozsądnym czasie. Wielokryterialny algorytm PSO (MOPSO) zaprojektowany przez Sha i Lina [7] z myślą o następujących kryteriach: a) maksymalny czas przetwarzania, b) suma opóźnień oraz c) całkowity czas bezczynności. Dekodowanie do rozwiązania aktywnego wykonane było z pomocą heurystyki Gifflera-Thompsona. Ekstensywne testy z wykorzystaniem instancji o małych rozmiarach wykazały, że zaproponowany MOPSO dostarcza znacznie lepszych rozwiązań. Suresh i Mohanasndaram opracowali algorytm symulowanego wyżarzania nazwany Pareto Archived Simulated Annealing (PASA), minimalizujący maksymalny

J. Rudy, D. Żelazny czas przetwarzania i średni czas przepływu. Wykorzystywał on zarówno optymalność w sensie Pareto (relację dominacji) jak i prostą funkcję sumującą do akceptowania rozwiązań z sąsiedztwa wygenerowanego za pomocą funkcji Segment Random Insertion. Jakoś rozwiązań generowanych przez PASA okazała się lepsza w porównaniu z innymi zaimplementowanymi na potrzeby pracy [9]. 3. Opis problemu Dany jest zbiór zadań J = {1, 2,..., n}, które należy wykonać na maszynach ze zbioru P = {1, 2,..., m}. Zadanie jest ciągiem operacji, każda operacja posiada maszynę na której musi zostać wykonana i czas wykonywania. Problem polega na wyznaczeniu kolejności wykonywania operacji na każdej maszynie (uszeregowania) i minimalizacji podanej funkcji celu. Ponadto znalezione uszeregowanie musi być dopuszczalne tj. spełniać poniższe warunki: 1. Dowolna maszyna może w danej chwili czasu wykonywać co najwyżej jedną operację, kolejne operacje mogą być więc wykonane na maszynie dopiero, gdy maszyna zakończy obecną operację. 2. Dowolna operacja może wykonywać się naraz tylko na jednej maszynie. 3. Operacje danego zadania muszą być wykonywane w ściśle określonej kolejności, narzuconej przez porządek technologiczny. Jako funkcję celu przyjęto funkcję o następujących dwóch kryteriach: 1) Czas wykonania wszystkich zadań: 2) Suma terminów zakończenia zadań: (2) gdzie: czas zakończenia wykonywania ostatniej operacji zadania j-tego. Obydwa kryteria są równoważne tj. brak wag lub równe wagi. 4. Reprezentacja i metody rozwiązania W celu redukcji złożoności problemu i rozmiaru przestrzeni rozwiązań stosujemy reprezentację rozwiązania w postaci permutacji zadań. Aby uzyskać rozwiązanie (uszeregowanie) odpowiadające danej reprezentacji, należy przeprowadzić procedurę dekodowania. W pierwszym kroku do pustego uszeregowania dodajemy pierwsze operacje wszystkich zadań w kolejności określonej przez reprezentację. Operacje umieszczane są w najwcześniejszym możliwym terminie z zachowaniem porządku technologicznego. W drugim kroku dodawane są drugie operacje maszyn i tak dalej, aż wszystkie operacje zostaną uszeregowane. Otrzymane w ten sposób uszeregowanie jest zawsze dosunięte w lewo (nie ma jednak gwarancji, że jest to uszeregowanie aktywne). Przykładowo dla permutacji i 3 operacji dla zadania kolejność dodawania operacji do uszeregowania to:, gdzie, to (1)

Przeszukiwanie lokalne i algorytmy... operacja o-ta dla zadania J. Obliczanie (aktualizacja) wartości funkcji celu odbywa się na bieżąco podczas procedury dekodowania. Jako metody rozwiązania wielokryterialnego problemu gniazdowego zastosowano dwa algorytmy przybliżone (metaheurystyki). Pierwsza metoda to algorytm mrówkowy (ang. Ant Colony Optimization, ACO), który jest przykładem metaheurystyki populacyjnej. Druga z zaimplementowanych metod to symulowane wyżarzanie (ang. Simulated Annealing, SA) przedstawiciel metaheurystyki z przeszukiwaniem lokalnym. Poniżej znajduje się opis obydwu metod. 4.1. Algorytm mrówkowy ACO bazuje na sposobie w jaki kolonia mrówek lokalizuje źródło pożywienia i zwykle używany jest dla problemów optymalizacji, które można sprowadzić do problemu znajdywania dobrych (krótkich) ścieżek w grafach (np. problem komiwojażera). Metoda wykorzystuje zbiór agentów (osobników) zwanych mrówkami do budowy rozwiązań, które konstruowane są krok po kroku (rozwiązania częściowe), a końcowe rozwiązania poddawane są ocenie. Następnie mrówki pozostawiają ślad feromonowy na znalezionej trasie (rozwiązaniu) o sile zależnej od jakości rozwiązania. Feromon ma wpływ na prawdopodobieństwo wyboru danej krawędzi w grafie podczas budowy rozwiązania. Ogólny wzór na prawdopodobieństwo wyboru węzła j z węzła i ma postać:, (3) gdzie jest feromonem na krawędzi od węzła i do węzła j, a jest widocznością węzła i z węzła j, N to zbiór węzłów dopuszczalnych do wyboru z węzła i. Z kolei α i β to parametry algorytmu. Dla problemu komiwojażera widoczność jest odwrotnością odległości między węzłami tj.. Obecność feromonu pozwala na intensyfikację poszukiwań, a dodatkowy mechanizm parowania feromonu jest odpowiedzialny za zapominanie starych rozwiązań po pewnym czasie, co pozytywnie wpływa na dywersyfikację poszukiwań. Zastosowana przez nas wersja ACO oparta jest na algorytmie Min-Max Ant System (MMAS) opracowanego przez Stützle'a i Hoosa [8]. MMAS zakłada elitarność tylko jedna mrówka w danej iteracji ma prawo zostawić ślad feromonowy. Ponadto poziom feromonu na danej krawędzi ograniczony jest poprzez wartości oraz. Wartości te są dobierane dynamicznie w każdej iteracji, szerzej opisane w oryginalnej pracy Stützle'a i Hoosa. Kolejną modyfikacją jest fakt, że początkowy poziom feromonu ustawiony jest na wartość, co zmniejsza różnice pomiędzy rozwiązaniami w początkowych iteracjach i poprawia osiągi algorytmu. Aby dostosować algorytm MMAS do wielokryterialnego problemu gniazdowego zastosowaliśmy metodę TOPSIS [3] do oceny rozwiązań. Dzięki opisanej wyżej

J. Rudy, D. Żelazny reprezentacji, zakodowane rozwiązanie (permutacja) może być traktowane jako ścieżka w grafie, podobnie jak w problemie komiwojażera. Widoczność węzła j jest zdefiniowana jako suma czasów wykonywania wszystkich operacji danego zadania j, jest więc niezależna od aktualnego węzła i, a przez to prosta do obliczenia. 4.2. Algorytm symulowanego wyżarzania Algorytm SA należy do klasy metod lokalnego przeszukiwania. Zainspirowany został zjawiskiem stygnięcia metali. Przy stopniowym ochładzaniu, cząsteczki metalu rozkładają się w sposób bardziej systematyczny tworząc coraz bardziej równomierne struktury. W procesie tym, temperatura stygnięcia dobierana jest tak, by cząsteczki rozłożyły się równomiernie i znalazły optymalne położenie. W trakcie stygnięcia, przed osiągnięciem temperatury końcowej, cząsteczki mogą przyjąć nieco bardziej chaotyczne położenie, by w kolejnych krokach procesu wyżarzania mogły z tego położenia dojść do położenia optymalnego. Idea ta została wykorzystana w algorytmie SA. W każdym kroku algorytmu wykonywane jest przeszukanie sąsiedztwa obecnego rozwiązania, w trakcie którego akceptowane są rozwiązania lepsze oraz z pewnym prawdopodobieństwem, malejącym wraz ze spadkiem temperatury, rozwiązania gorsze od aktualnego. Pozwala to algorytmowi na uniknięcie utknięcia w optimach lokalnych na początku i wybieranie wyłącznie rozwiązań lepszych pod koniec procesu wyżarzania. Na potrzeby pracy zaimplementowano algorytm SA, który rozpoczyna działanie od permutacji uzyskanej na skutek działania pewnej metody konstrukcyjnej. Sąsiedztwo generowane jest poprzez zamianę dwóch sąsiadujących ze sobą zadań. Wygenerowane rozwiązanie zastępuje obecne, jeśli aktualne zostało zdominowane przez nowe lub w przypadku, gdy spełniony jest warunek akceptacji wyrażony przez prawdopodobieństwo ( ), gdzie: ( ( ) ( )), (4) oraz T aktualna temperatura i K liczba kryteriów. Dodatkowo, w trakcie działania algorytmu budowane jest zewnętrzne archiwum rozwiązań niezdominowanych, do którego dodawane są nowe (nie powtarzające się) rozwiązania optymalne w sensie Pareto. Dzięki takiemu zabiegowi, algorytm zwraca aproksymację frontu Pareto, zamiast pojedynczego rozwiązania niezdominowanego. 5. Badania Algorytmy zaimplementowano w języku C++ i skompilowano z użyciem środowiska Visual Studio 2010. Testy przeprowadzono z użyciem komputera wyposażonego w procesor Intel i7-3610qm (2,3GHz) i 8 GB RAM DDR3. Podczas badań wykorzystano znane z literatury benchmarki, składające się z 8 grup, z których

Przeszukiwanie lokalne i algorytmy... każda zawiera 10 instancji o tych samych rozmiarach. Algorytmy posiadały dwa warunki stopu: 1) osiągnięcie określonej liczby iteracji, lub 2) przekroczenie ustalonego czasu działania algorytmu. Celem porównania rozwiązań wielokryterialnych wykorzystano technikę polegającą na ocenie mnogości podzbioru rozwiązań niezdominowanych oraz opisany w pracy [11] wskaźnik I H nazywany współczynnikiem hiper-objętości. 5.1. Porównanie algorytmów W tabeli 1 umieszczono podsumowane dla grup instancji: a) procent rozwiązań niezdominowanych znalezionych przez algorytm SA (ACO) - SA/P (ACO/P) w kolumnie drugiej (trzeciej), b) uśredniony współczynnik hiper-objętości I H dla algorytmu SA (ACO) w kolumnie czwartej (piątek) oraz pokrycie współczynnika I H algorytmu ACO przez algorytm SA w kolumnie szóstej. Tabela 1 Liczba rozwiązań Pareto oraz współczynnik hiper-objętości Grupa SA/P ACO/P I I H (SA) I H (ACO) H (SA)/ I H (ACO) [%] [%] [%] 15x15 31,25 68,75 0,059 0,0728 83,92 20x15 27,45 72,55 0,0618 0,0791 82,40 20x20 23,96 76,04 0,0624 0,0736 87,56 30x15 29,46 70,54 0,062 0,0875 74,88 30x20 28,44 71,56 0,0634 0,0812 81,09 50x15 31,25 68,75 0,0553 0,0975 59,38 50x20 34,59 65,41 0,0641 0,0868 77,14 100x20 41,57 58,43 0,0591 0,1074 56,17 Średnia 31,00 69,00 0,0609 0,0857 75,32 Jak łatwo zauważyć, algorytm ACO znalazł znacznie więcej rozwiązań niezdominowanych, a znalezione przez SA aproksymacje frontu Pareto miały o około 25% gorsze wartości współczynnika hiper-objętości. Algorytm ACO okazał się lepszy od algorytmu SA pod względem obu zastosowanych współczynników oceny. 6. Wnioski W pracy zaimplementowano i zbadano dwa algorytmy meta-heurystyczne dla wielokryterialnego problemu gniazdowego z reprezentacją zadaniową. Wykonane badania wykazały, że algorytm mrówkowy w tym samym czasie generował więcej rozwiązań niezdominowanych niż algorytm symulowanego wyżarzania. Pomimo tego na uwagę zasługuje fakt, że aproksymacje frontów Pareto dostarczane przez oba algorytmy były we wszystkich przypadkach rozłączne. Oznacza to, że algorytm

J. Rudy, D. Żelazny symulowanego wyżarzania był w stanie znaleźć rozwiązania nieosiągalne dla algorytmy mrówkowego i vice versa. Oba algorytmy dokonały więc aproksymacji innej części frontu Pareto, a ich rozwiązania posiadały różny zakres wartości dla tych samych kryteriów. Ponadto, własność ta zachodziła, pomimo faktu, że przy strojeniu obu algorytmów nie faworyzowano żadnego z kryteriów optymalizacji. LITERATURA 1. Błażewicz J., Domschke W., Pesch E., The job shop scheduling problem: Conventional and new solution techniques, European Journal of Operational Research, Vol. 93, 1996, pp. 1-33. 2. Hapke M., Jaszkiewicz A., Słowiński R., Pareto Simulated Annealing for Fuzzy Multi-Objective Combinatorial Optimization, Journal of Heuristics, Vol. 6(3), 2000, pp. 329 345. 3. Hwang C. L., Yoon K., Multiple Attribute Decision Making: Methods and Applications, Springer-Verlag, New York, 1981. 4. Kachitvichyanukul V., Sitthitham S., A two-stage genetic algorithm for multiobjective job shop scheduling problems, Journal of Intelligent Manufacturing, Vol. 22(3), 2011, pp. 355 365. 5. Lei D., A Pareto archive particle swarm optimization for multi-objective job shop scheduling, Computers and Industrial Engineering, Vol. 54(4), 2008, pp. 960 971. 6. Sawik T., Multi-objective due-date setting in a make-to-order environment, International Journal of Production Research, Vol. 47(22), 2009, pp. 6205 6231. 7. Sha D. Y., Lin H. H., A multi-objective PSO for job-shop scheduling problems, Expert Systems with Applications, Vol. 37(2), 2010, pp. 1065 1070. 8. Stützle T., Hoos H. H., MAX-MIN Ant System, Future Generation Computer Systems, Vol. 16 (8), 2000, pp. 889 914. 9. Suresh R.K., Mohanasndaram K.M., Pareto archived simulated annealing for job shop scheduling with multiple objectives, International Journal of Advanced Manufacturing Technology, Vol. 29, 2006, pp. 184 196. 10. Udomsakdigoola A., Khachitvichyanukul V., Ant colony algorithm for multicriteria job shop scheduling to minimize makespan, mean flow time and mean tardiness, International Journal of Management Science and Engineering Management, Vol. 6(2), 2011, pp. 117 123. 11. Zitzler E., Thiele L., Laumanns M., Fonseca C.M., Fonseca V., Performance assessment of multi-objective optimizers: An analysis and review, IEEE Trans. Evol. Comput., Vol. 7(2), 2003, pp. 117 132.