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

Podobne dokumenty
ALGORYTM EWOLUCYJNY DLA PROBLEMU SZEREGOWANIA ZADAŃ W SYSTEMIE PRZEPŁYWOWYM 1. WPROWADZENIE

NOWE WARIANTY OPERATORÓW GENETYCZNYCH DLA PROBLEMÓW Z KRYTERIUM SUMACYJNYM

Algorytm genetyczny (genetic algorithm)-

Nowe warianty operatorów genetycznych dla problemów z kryterium sumacyjnym

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

Strategie ewolucyjne (ang. evolu4on strategies)

Generowanie i optymalizacja harmonogramu za pomoca

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

WEKTOROWE KODOWANIE PERMUTACJI. NOWE OPERATORY GENETYCZNE

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

NIETYPOWE WŁASNOŚCI PERMUTACYJNEGO PROBLEMU PRZEPŁYWOWEGO Z OGRANICZENIEM BEZ PRZESTOJÓW

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

1 Problemyprzepływowe

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

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Algorytmy genetyczne

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

ALGORYTMY GENETYCZNE ćwiczenia

Dobór parametrów algorytmu ewolucyjnego

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

Metody Rozmyte i Algorytmy Ewolucyjne

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Metody optymalizacji dyskretnej

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

ALGORYTM PRZESZUKIWANIA Z ZABRONIENIAMI DLA DWUKRYTERIALNEGO PROBLEMU PRZEPŁYWOWEGO

Optymalizacja. Wybrane algorytmy

PROBLEM PRZEPŁYWOWY Z PRZEZBROJENIAMI ORAZ CIĄGŁĄ PRACĄ MASZYN Wojciech BOŻEJKO, Radosław IDZIKOWSKI, Mieczysław WODECKI

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

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

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Algorytmy genetyczne w optymalizacji

Strategie ewolucyjne (ang. evolution strategies)

Algorytmy ewolucyjne 1

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

HARMONOGRAMOWANIE PRZEDSIĘWZIĘĆ BUDOWLANYCH Z ZASTOSOWANIEM ALGORYTMÓW METAHEURYSTYCZNYCH

Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

ALGORYTM EWOLUCYJNY DLA PROBLEMU GRUPOWANIA WYROBÓW Z ALTERNATYWNYMI MARSZRUTAMI

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Automatyczny dobór parametrów algorytmu genetycznego

Wybrane podstawowe rodzaje algorytmów

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Algorytmy genetyczne

Teoria algorytmów ewolucyjnych

Metody Optymalizacji: Przeszukiwanie z listą tabu

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2014 PROBLEM PRZEPŁYWOWY: PERMUTACYJNY, BEZ CZEKANIA, BEZ PRZESTOJÓW

Algorytmy ewolucyjne NAZEWNICTWO

Zaawansowane programowanie

6. Klasyczny algorytm genetyczny. 1

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016

ALHE Z11 Jarosław Arabas wykład 11

Obliczenia ewolucyjne - plan wykładu

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

Algorytmy ewolucyjne Część II

Zadania laboratoryjne i projektowe - wersja β

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

Metody przeszukiwania

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

SZTUCZNA INTELIGENCJA

Algorytmy genetyczne

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła

Algorytmy metaheurystyczne podsumowanie

Algorytm hybrydowy dla problemu pakowania

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

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

IMPLIKACJE ZASTOSOWANIA KODOWANIA OPARTEGO NA LICZBACH CAŁKOWITYCH W ALGORYTMIE GENETYCZNYM

Optymalizacja optymalizacji

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

Problemy z ograniczeniami

Testowanie hipotez statystycznych. Wnioskowanie statystyczne

Algorytmy genetyczne

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

SYSTEM WSPOMAGANIA HARMONOGRAMOWANIA PRZEDSIĘWZIĘĆ BUDOWLANYCH

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Algorytmy ewolucyjne `

PROBLEMY HAROMONOGRAMOWANIA PRODUKCJI

Wstęp do Sztucznej Inteligencji

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58

Techniki optymalizacji

Mikroekonometria 6. Mikołaj Czajkowski Wiktor Budziński

Maciej Piotr Jankowski

Techniki optymalizacji

Standardowy algorytm genetyczny

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Rozwiązanie problemu komiwojażera przy użyciu algorytmu genetycznego 2

Ewolucja Różnicowa Differential Evolution

Sterowanie procesami dyskretnymi

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

Heurystyki. Strategie poszukiwań

Aproksymacja funkcji a regresja symboliczna

SZTUCZNA INTELIGENCJA

Tomasz M. Gwizdałła 2012/13

Transkrypt:

ALGORYTM EWOLUCYJNY DLA PROBLEMU SZEREGOWANIA ZADAŃ W SYSTEMIE PRZEPŁYWOWYM Adam STAWOWY, Marek ŚWIĘCHOWICZ Streszczenie: W pracy zaprezentowano algorytm strategii ewolucyjnej do problemu szeregowania zadań w permutacyjnym systemie przepływowym przy kryterium minimalizacji długości uszeregowania oraz przedstawiono wyniki badań porównawczych z techniką Tabu Search. W opracowanej przez autorów wersji tego algorytmu wykorzystano nowy operator mutacji dostosowany do problemu szeregowania. Wyniki badań wykazały, że algorytm ten, szczególnie dzięki nowej mutacji oraz starannemu doborowi wszystkich parametrów, jest dokładniejszy niż algorytmy genetyczne opisywane w literaturze i może konkurować, z dużo bardziej skomplikowanymi, algorytmami Tabu Search. Słowa kluczowe: szeregowanie zadań, problem przepływowy, algorytmy ewolucyjne. Wprowadzenie Zagadnienie szeregowania zadań w permutacyjnym systemie przepływowym jest problemem silnie NP-trudnym, co oznacza, że nie jest możliwe sformułowanie efektywnego algorytmu, dla którego funkcja złożoności obliczeniowej jest ograniczona od góry przez wielomian liczby zadań n []. Dlatego też, już od połowy lat 0, obserwuje się burzliwy rozwój wielomianowych algorytmów heurystycznych dających rozwiązania przybliżone. Jako kryterium optymalizacji w procesie przepływowym stosowana jest powszechnie długość uszeregowania (DU) czyli czas zakończenia wykonywania zadań w systemie (ang. makespan): Cmax maxcim () gdzie: n - liczba zadań, M - liczba stopni przetwarzania (zespołów technologicznych, maszyn, urządzeń), M j - urządzenie nr j, j=... M, Z i - zadanie nr i, i=... n, t ij - czas wykonywania operacji zadania Z i na urządzeniu M j, C ij - czas zakończenia wykonywania zadania Z i na urządzeniu M j.. Strategia ewolucyjna do szeregowania zadań w systemie przepływowym i W ostatnich latach pojawiło się kilka publikacji dotyczących zastosowania algorytmów ewolucyjnych dla problemu przepływowego - wszystkie wykorzystują różne wersje algorytmu genetycznego: są to przede wszystkim prace Mulkensa [], Reeves a [] oraz Chena i zespołu []. W publikacjach autorzy ci porównali swoje heurystyki z techniką symulowanego wyżarzania oraz algorytmem Ho i Changa []; badania obliczeniowe potwierdziły efektywność działania techniki GA. Wersja strategii ewolucyjnej zastosowana przez autorów dla szeregowania zadań w systemie przepływowym jest wzorowana na algorytmie Nissena dla problemu alokacji zasobów

[]. Jest to (,)-ES, w której potomków jest generowanych z jednego rodzica za pomocą prostej mutacji. Krzyżowanie nie jest stosowane. Najlepszy z potomków zastępuje rodzica w nowej populacji. Ten sposób selekcji (rodzic nie konkuruje z potomkami) powoduje często pogorszenie rozwiązania wejściowego, ale - wg Nissena - poprawia działanie algorytmu (potwierdziły to również obserwacje autorów). Ochronę przed przedwczesną zbieżnością algorytmu do optimum lokalnego stanowi mechanizm tzw. destabilizacji. Jeśli wartość funkcji dopasowania najlepszego potomka jest mniejsza niż wartość funkcji rodzica, zmienna (licznik) zliczająca takie zdarzenia jest zwiększana o jeden, w przeciwnym razie - jest zerowana. Jeżeli licznik przekroczy zadaną wartość, następuje faza destabilizacji, podczas której jest zerowany licznik i następuje generowanie potomków poprzez intensywną mutację rodzica. W naszym algorytmie przyjęto, że jest nią mutacja zamiany wykonywana 000 razy dla ostatniego rozwiązania rodzicielskiego. W ten sposób powstaje potomek bardziej różniący się od rodzica niż to ma miejsce podczas normalnego działania algorytmu, a przeszukiwanie zostaje skierowane w nowe obszary przestrzeni dopuszczalnych rozwiązań. Eksperymentalnie ustalono następujące elementy algorytmu: rozmiar populacji, parametry mechanizmu destabilizacji, warunek zakończenia obliczeń. Przyjęto, że funkcja dopasowania jest określona następującym wzorem: DG FD DU DG () gdzie: DG - dolna granica obliczana wg zasady podanej w pracy Taillarda [], DU - długość uszeregowania (makespan). Taka konstrukcja funkcji pozwala na jej maksymalizowanie, co jest zalecane dla poprawnego działania algorytmów ewolucyjnych. Ponadto funkcja taka silniej różnicuje rozwiązania o zbliżonej długości uszeregowania niż czyniłaby to funkcja jedynie długości uszeregowania oraz niesie dodatkową informację o potencjalnie optymalnym rozwiązaniu. Przyjęta funkcja ma również tę właściwość, że jeśli DU=DG to FD=DG. Operator mutacji wzięty z typowego algorytmu ewolucyjnego nie jest odpowiedni dla zagadnień permutacyjnych []. Autorzy opracowali nowy operator bazujący na założeniach, że potomek nie powinien różnić się bardzo od rodzica oraz że intensywność mutacji powinna maleć w kolejnych pokoleniach. W rezultacie powstał operator NDSM (ang. Normally Distributed Shift Mutation) działający w ten sposób, że zadanie z wylosowanej pozycji przesuwane jest o liczbę pozycji wylosowaną z rozkładu normalnego N(0,). Formalny zapis działania operatora NDSM wygląda następująco: przesunięcie round( N(0, )) cr gen () gdzie: 0 - początkowe odchylenie standardowe równe 0.*n,

cr - czynnik redukujący wartość odchylenia w kolejnych generacjach cr = exp((ln( k )-ln( 0 ))/maxgen, k - końcowa wartość odchylenia standardowego równa 0.0*n, gen - numer aktualnej generacji, maxgen - maksymalna liczba generacji. Intensywność mutacji (mierzona średnią wielkością przesunięcia) jest duża na początku działania algorytmu i zmniejsza się z czasem w ślad za zmianą wartości odchylenia standardowego, które maleje wykładniczo od 0 do k. Jest to intuicyjnie zrozumiałe, gdyż na początku procesu przeszukiwania szansa na poprawę rodzicielskiego rozwiązania poprzez silniejsze zaburzenie jest dużo większa niż w końcowej fazie procesu, gdzie rodzic jest z reguły rozwiązaniem bliskim optymalnemu. Ostateczną wersję strategii ewolucyjnej dla problemu przepływowego charakteryzują zebrane w tabeli elementy i parametry. Tab.. Elementy strategii ewolucyjnej dla problemu przepływowego Funkcja dopasowania Postać Techniki zaawansowane Schemat i populacja Reprezentacja Rozmiar populacji Inicjalizacja Selekcja następnego pokolenia Warunek zatrzymania Mechanizm destabilizacji Reprodukcja Mutacja Operator mutacji P m.. Badania eksperymentalne DG FD( Ri) DU( R ) DG nie stosowano i lista (ciąg) n zadań rodzic, potomków rozwiązanie wyznaczone algorytmem NEH [9] najlepszy potomek zastępuje rodzica po wygenerowaniu 000 pokoleń po 900 kolejnych generacjach, podczas których nie nastąpiła poprawa najlepszego znalezionego przez algorytm rozwiązania nie stosowano NDSM,0 Algorytm ewolucyjny testowano przy użyciu przykładowych problemów Taillarda []. Testy te składają się ze 0 szczególnie trudnych przypadków o różnych rozmiarach, wybranych spośród wielkiej liczby losowo wygenerowanych problemów. Dla każdego n*m. = {0*, 0*0, 0*0, 0*, 0*0, 0*0, 00*, 00*0, 00*0, 00*0, 00*0, 00*0} Taillard wybrał 0 przykładów. Algorytm strategii ewolucyjnej (ES) porównano z algorytmami Tabu Search Taillarda (T) [0] oraz Nowickiego i Smutnickiego (TSAB) []. Algorytm ewolucyjny działał zgodnie ze schematem przedstawionym w tabeli. W każdym przypadku wykonywano pięć przebiegów obliczeniowych, spośród których wybrano najlepszy rezultat. Wyniki testów zawiera tabela ; pogrubioną czcionką oznaczono najlepsze rezultaty spośród otrzymanych podczas badań lub znalezionych w literaturze. Nie przedstawiono wyników testów dla problemów o

najmniejszych rozmiarach {0*, 0*0, 0*0, 0*}, gdyż wszystkie algorytmy osiągnęły identyczne rezultaty; z tego też względu nie uwzględniono tych wyników w badaniach statystycznych. Następnie zbadano, czy różnice pomiędzy wynikami otrzymywanymi przez poszczególne techniki są istotne. W tym celu dla każdego rozmiaru problemu obliczono dla poszczególnych algorytmów względną odległość od najlepszego rozwiązania i tak otrzymane średnie poddano testowi Cochrana-Coxa []. Tab.. Zestawienie długości uszeregowań porównywanych algorytmów dla przykładowych problemów Taillarda Rozmiar 0*0 0*0 9 0 0 9 0 0 0 0 90 00 0 9 0 9 00 0 09 90 09 0 0 9 00 09 90 09 9 0 9 9 09 9 9 9 Rozmiar 00* 00*0 9 0 0 09 9 0 0 09 9 0 09 9 0 9 0 00 0 0 9 9 0 99 9 9 0 9 9 0 Rozmiar 00*0 00*0 9 0 0 0 0 9 9 0 9 09 0 000 09 09 0 0 0 0 0 0 0 09 09 09 0 0 0 0 0 0 0 00 09 09 0 0 0 0 0 0

Rozmiar 00*0 00*0 9 0 9 9 0 9 9 0 09 9 9 9 9 0 0 9 09 9 0 99 Analizując otrzymane wyniki można stwierdzić, iż nie ma statystycznych różnic między algorytmami dla problemów o rozmiarach 00* i 00*0. W pozostałych przypadkach: algorytm TSAB jest lepszy niż technika TS w wersji Taillarda, TSAB dominuje nad strategią ewolucyjną dla problemów o większych rozmiarach (n>=00), strategia ewolucyjna jest bardziej efektywna niż algorytm Taillarda dla problemów 0*0 i 00*0; dla pozostałych problemów nie ma statystycznych różnic między tymi technikami. Warto zauważyć, że w niektórych przypadkach bardzo dobre rezultaty dała prosta strategia ewolucyjna, która ogółem znalazła osiem rozwiązań lepszych niż spotkane do tej pory w literaturze fachowej.. Wnioski końcowe Badania eksperymentalne wykazały, że: algorytm ewolucyjny opracowany przez autorów, szczególnie dzięki nowej mutacji oraz starannemu doborowi wszystkich parametrów, jest efektywniejszy niż algorytmy genetyczne opisywane w literaturze i może konkurować, z dużo bardziej skomplikowanymi, algorytmami typu Tabu Search, istnieje możliwość wykorzystania opisanego algorytmu w systemach, gdzie czynnik czasu ma decydujące znaczenie; algorytm stosunkowo szybko dochodzi do dobrych rozwiązań i w razie konieczności przerwania obliczeń najlepsze znalezione dotychczas rozwiązanie można uznać za rozwiązanie suboptymalne. Przeprowadzone badania wykazały dużą przydatność algorytmów ewolucyjnych dla problemu szeregowania zadań w permutacyjnym systemie przepływowym. Wielką ich zaletą jest prostota, elastyczność oraz brak potrzeby wnikania w strukturę rozwiązywanego problemu.

Literatura. Błażewicz J., Cellary W., Słowiński R., Węglarz J.: Badania operacyjne dla informatyków. WNT, Warszawa, 9.. Mulkens H.: Revisiting the Johnson algorithm for flow-shop scheduling with genetic algorithms. [w:] Knowledge-Based Reactive Scheduling, North-Holland, Amsterdam, 99.. Reeves C.R., A genetic algorithm for flowshop sequencing. Computers and Operations Research, vol., nr, 99, pp. -.. Chen Ch.-L., Vempati V.S., Aljaber N.: An application of genetic algorithms for flow shop problems. European Journal of Operational Research, vol. 0, 99, pp. 9-9.. Ho J.C., Chang Y.L.: A new heuristic for the n-job, M-machime flow-shop problem. European Journal of Operational Research, vol., 990, pp. 9-0.. Nissen V.: Evolutionary facility layout - a comparison. Artykuł zgłoszony do Studies in Locational Analysis, 99.. Taillard E.: Benchmarks for basic scheduling problems. European Journal of Operational Research, vol., 99, pp. -.. Michalewicz Z.: Genetic algorithm + data structures = evolution programs. Springer- Verlang, Berlin, 99. 9. Nawaz M., Enscore Jr. E.E., Ham I.: A heuristic algorithm for the m-machime, n-job flowshop sequencing problem. OMEGA International Journal of Management Science, vol., 9, pp. 9-9. 0. Taillard E.: Some efficient heuristic methods for flow shop sequencing. European Journal of Operational Research, vol., 990, pp. -.. Nowicki E., Smutnicki Cz.: A fast tabu search algorithm for the flow shop problem. Wydawnictwo Politechniki Wrocławskiej, Wrocław, 99.. Domański C.: Testy statystyczne. PWE, Warszawa, 990.