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

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

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Algorytm genetyczny (genetic algorithm)-

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

Metody optymalizacji dyskretnej

Dobór parametrów algorytmu ewolucyjnego

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

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

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

Algorytmy genetyczne

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

Generowanie i optymalizacja harmonogramu za pomoca

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

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

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

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Strategie ewolucyjne (ang. evolution strategies)

Wybrane podstawowe rodzaje algorytmów

SZTUCZNA INTELIGENCJA

Optymalizacja. Wybrane algorytmy

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

Algorytmy ewolucyjne 1

ALGORYTMY GENETYCZNE ćwiczenia

ALGORYTM PERTURBACYJNY DLA PROBLEMU PRZEPŁYWOWEGO

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Algorytm hybrydowy dla problemu pakowania

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

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

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

Algorytmy ewolucyjne NAZEWNICTWO

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

SZTUCZNA INTELIGENCJA

Ewolucja Różnicowa Differential Evolution

OPTYMALIZACJA KONFIGURACJI ALGORYTMU EWOLUCYJNEGO DO PLANOWANIA PROCESU MONTAŻU

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

Analiza stanów gry na potrzeby UCT w DVRP

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

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

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

Algorytmy ewolucyjne Część II

WEKTOROWE KODOWANIE PERMUTACJI. NOWE OPERATORY GENETYCZNE

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

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

1 Problemyprzepływowe

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

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

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

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

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

ALGORYTM EWOLUCYJNY DLA PROBLEMU GRUPOWANIA WYROBÓW Z ALTERNATYWNYMI MARSZRUTAMI

Algorytmy genetyczne

Algorytmy metaheurystyczne podsumowanie

ROZWIĄZYWANIE ZAGADNIEŃ UKŁADANIA TRAS POJAZDÓW Z WYKORZYSTANIEM ALGORYTMÓW EWOLUCYJNYCH. Wstęp

6. Klasyczny algorytm genetyczny. 1

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

Teoria algorytmów ewolucyjnych

Programowanie genetyczne, gra SNAKE

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2011, Oeconomica 285 (62), 45 50

OPTYMALIZACJA STRUKTUR ELEKTROENERGETYCZNYCH SIECI PROMIENIOWYCH

Algorytmy genetyczne w optymalizacji

Techniki optymalizacji

Metody przeszukiwania

Nieklasyczne podejście ewolucyjne do problemu szeregowania zadań w systemach produkcyjnych

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

Zaawansowane programowanie

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

Sterowanie procesami dyskretnymi

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

Metody Programowania

PROBLEMY HAROMONOGRAMOWANIA PRODUKCJI

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

Wstęp do Sztucznej Inteligencji

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

Aproksymacja funkcji a regresja symboliczna

Metody Optymalizacji: Przeszukiwanie z listą tabu

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

Algorytmy ewolucyjne `

ALGORYTM PRZESZUKIWANIA Z ZABRONIENIAMI DLA DWUKRYTERIALNEGO PROBLEMU PRZEPŁYWOWEGO

Optymalizacja optymalizacji

PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM

Obliczenia ewolucyjne - plan wykładu

PRZESZUKIWANIE LOKALNE I ALGORYTMY POPULACYJNE DLA WIELOKRYTERIALNEGO PROBLEMU GNIAZDOWEGO

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

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

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

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Problemy z ograniczeniami

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

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

Algorytmy ewolucyjne

Metody Rozmyte i Algorytmy Ewolucyjne

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

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

Eksperymenty obliczeniowe z algorytmami ewolucyjnymi i porównania algorytmów.

Automatyczny dobór parametrów algorytmu genetycznego

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

Transkrypt:

szeregowanie zadań, algorytmy ewolucyjne Adam STAWOWY * ALGORYTM EWOLUCYJNY DLA PROBLEMU SZEREGOWANIA ZADAŃ W SYSTEMIE PRZEPŁYWOWYM W pracy zaprezentowano algorytm programowania ewolucyjnego do problemu szeregowania zadań w systemie przepływowym przy kryterium minimalizacji długości uszeregowania oraz przedstawiono wyniki badań porównawczych z techniką Tabu Search. Cechami charakterystycznymi programowania ewolucyjnego jest zależność odchylenia standardowego mutacji od wartości funkcji dopasowania rodzica oraz losowy charakter selekcji potomków przechodzących do nowego pokolenia. W opracowanej przez autora 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. 1. WPROWADZENIE Zagadnienie szeregowania zadań w systemie przepływowym jest takim przypadkiem szeregowania zadań, gdzie - na skutek przyjętych założeń - liczba możliwych sekwencji zadań wynosi n!. Już dla 10 zadań liczba wszystkich sekwencji wynosi 3628800; przeszukanie tak dużej liczby wariantów po to, by wybrać optymalne uporządkowanie zadań jest nierealne czasowo i/lub nieopłacalne ekonomicznie. Udowodniono, że problem ten jest zagadnieniem 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 [1]. Dlatego też, już od połowy lat 60, 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): C max max CiM (1) gdzie: n - liczba zadań M - liczba stopni przetwarzania (zespołów technologicznych, maszyn, urządzeń) M j - urządzenie nr j, j=1,..., M i * Wydział Zarządzania, Akademia Górniczo-Hutnicza

Z i - zadanie nr i, i=1,...,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 2. ALGORYTMY EWOLUCYJNE Algorytmy ewolucyjne (ang. Evolutionary Algorithms - EA) są szeroko stosowaną techniką (często o charakterze heurystycznym) przeszukiwania i optymalizacji opartą na zasadach przejętych z teorii ewolucji. Naturalność oraz prostota działania sprawiły, że algorytmy te są chętnie wykorzystywane w naukach zarządzania do rozwiązywania problemów optymalizacji kombinatorycznej, a w szczególności - do szeroko rozumianych problemów alokacji zasobów. W klasie tej mieszczą się również zagadnienia szeregowania zadań. Algorytmy ewolucyjne nie gwarantują znalezienia optimum globalnego, jednak generalnie zapewniają znalezienie rozwiązania wystarczająco dobrego w akceptowalnym przedziale czasu [10]. Stąd głównym zastosowaniem tych algorytmów powinny być problemy, dla których nie istnieją techniki specjalizowane. Nawet jeśli techniki takie istnieją, można osiągnąć poprawę ich działania poprzez ich połączenie z algorytmami ewolucyjnymi. Wyróżnia się cztery typy EA, aczkolwiek podział ten nie jest ostry [12]: algorytmy genetyczne (ang. Genetic Algorithms - GA), strategie ewolucyjne (ang. Evolution Strategies - ES), programowanie ewolucyjne (ang. Evolutionary Programming - EP), programowanie genetyczne (ang. Genetic Programming - GP). 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 [11], Reeves a [16] oraz Chena i zespołu [3]. W swoich publikacjach autorzy ci porównali swoje heurystyki z techniką symulowanego wyżarzania oraz algorytmem Ho i Changa [8]; badania obliczeniowe potwierdziły efektywność działania techniki GA. Wcześniejsze prace autora [17, 18] również dotyczyły algorytmu genetycznego: przeprowadzone eksperymenty wykazały, że operatory krzyżowania - mimo dużego nakładu obliczeniowego - z reguły dają rozwiązania gorsze niż rodzicielskie, a przy tym zawężają obszar przeszukiwań; wniosek ten potwierdziły prace Parka i Cartera [15]. Dlatego też autor przerwał prace nad algorytmem genetycznym i podjął badanie innych algorytmów ewolucyjnych. 3. PROGRAMOWANIE EWOLUCYJNE DO SZEREGOWANIA ZADAŃ W SYSTEMIE PRZEPŁYWOWYM Cechami charakterystycznymi programowania ewolucyjnego jest zależność odchylenia standardowego mutacji od wartości funkcji dopasowania rodzica oraz losowy charakter selekcji potomków przechodzących do nowego pokolenia [12].

Populacja liczy m rodziców, w każdym kroku iteracyjnym (pokoleniu) z każdego rodzica na drodze mutacji otrzymywanych jest l potomków. Co pokolenie następuje selekcja globalna, podczas której µ najlepszych, spośród wszystkich nowo wygenerowanych rozwiązań zastępuje pokolenie rodziców. Selekcja globalna wykonywana jest w ten sposób, że dla każdego rozwiązania losowanych jest lk konkurentów spośród reszty rozwiązań i zliczana jest liczba zwycięstw (wartość funkcji dopasowania rozwiązania jest większa niż wartość funkcji konkurenta). Do następnego pokolenia przechodzą te rozwiązania, które mają na koncie najwięcej zwycięstw. Prawidłowy dobór liczby lk jest niesłychanie ważny, gdyż zbyt mała liczba konfrontacji powoduje, iż do następnego pokolenia dostają się rozwiązania przypadkowe, zaś zbyt duża - zastępuje wybór losowy wyborem praktycznie deterministycznym (wybierane są tylko najlepsze rozwiązania, w sensie funkcji dopasowania). Eksperymentalnie ustalono następujące elementy algorytmu: rozmiar populacji, parametry mechanizmu selekcji, liczbę generowanych potomków z jednego rodzica, warunek zakończenia obliczeń. Przyjęto, że funkcja dopasowania jest określona następującym wzorem: DG FD (2) 1 DU DG gdzie: DG - dolna granica obliczana wg zasady podanej w pracy Taillarda [20], 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ż ciekawą właściwość, że jeśli DU=DG to FD=DG. Operator mutacji wzięty z typowego programowania ewolucyjnego nie jest odpowiedni dla zagadnień permutacyjnych [12]. Autor opracował nowy operator bazujący na założeniach: potomek nie powinien różnić się bardzo od rodzica, gorszy rodzic powinien podlegać intensywniejszej mutacji niż rodzic lepszy, 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,s). Schematycznie przedstawia to rysunek 1. Formalny zapis działania operatora NDSM wygląda następująco: przesunięcie round( N ( 0, )) FD / MaxFD cr gen (3) gdzie: s 0 cr - początkowe odchylenie standardowe równe 0,15 n - czynnik redukujący wartość odchylenia w kolejnych generacjach cr = exp((ln(s k )-ln(s 0 ))/maxgen

s k gen maxgen FD i MaxFD - końcowa wartość odchylenia standardowego równa 0,03 n - numer aktualnej generacji - maksymalna liczba generacji - funkcja dopasowania i-tego rodzica - najlepsza znaleziona wartość funkcji dopasowania 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 s 0 do s 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. Z rozkładu normalnego wylosowano liczbę -2,63, stąd zadanie z pozycji 12 zostanie przesunięte na pozycję nr 9 s 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 wylosowana pozycja Rys. 1. Schemat działania operatora NDSM. Fig 1. The example of NDSM performance. Ostateczną wersję programowania ewolucyjnego dla problemu przepływowego charakteryzują zebrane w tabeli 1 elementy i parametry. Tabela 1. Elementy programowania ewolucyjnego dla problemu przepływowego. Funkcja dopasowania DG Postać FD( Ri ) 1 DU( Ri ) DG Techniki zaawansowane nie stosowano Schemat i populacja Reprezentacja lista (ciąg) n zadań Rozmiar populacji 7 rodziców, 30 potomków Inicjalizacja cztery uszeregowania wygenerowano metodami CDS [2], Dannenbringa [4], Gupty [7] i Palmera [14], reszta - wygenerowana została w sposób losowy Selekcja następnego pokolenia Warunek zatrzymania do następnego pokolenia przechodzą te rozwiązania, które mają na koncie najwięcej zwycięstw w konfrontacji z 80 losowo wybranymi konkurentami spośród populacji potomków po wykonaniu 5 000 iteracji

Reprodukcja Mutacja Operator mutacji P m nie stosowano NDSM 1,0 4. BADANIA EKSPERYMENTALNE Algorytm ewolucyjny testowano przy użyciu przykładowych problemów Taillarda [20]. Testy te składają się ze 120 szczególnie trudnych przypadków o 12 różnych rozmiarach, wybranych spośród wielkiej liczby losowo wygenerowanych problemów. Dla każdego n M. = {20 5, 20 10, 20 20, 50 5, 50 10, 50 20, 100 5, 100 10, 100 20, 200 10, 200 20, 500 20} Taillard wybrał 10 przykładów. Algorytm programowania ewolucyjnego (PE) porównano z algorytmami Tabu Search Taillarda (T) [19] oraz Nowickiego i Smutnickiego (TSAB) [13]. Algorytm ewolucyjny działał zgodnie ze schematem przedstawionym w tabeli 1. W każdym przypadku wykonywano pięć przebiegów obliczeniowych, spośród których wybrano najlepszy rezultat. Wyniki testów zawiera tabela 2; 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 {20 5, 20 10, 20 20, 50 5}, 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 [5]. Tabela 2. Zestawienie długości uszeregowań porównywanych algorytmów dla przykładowych problemów Taillarda. Rozmiar 50 10 50 20 Algorytm T TSAB PE T TSAB PE 1 2 3 4 5 6 7 8 9 10 3037 2911 2871 3067 3011 3021 3124 3048 2910 3100 3025 2892 2864 3064 2986 3006 3107 3039 2902 3091 3025 2883 2862 3063 2988 3006 3109 3039 2902 3091 3886 3733 3673 3755 3648 3719 3730 3737 3772 3791 3875 3715 3668 3752 3635 3698 3716 3709 3765 3777 3865 3715 3671 3749 3638 3697 3725 3723 3765 3775

Rozmiar 100 5 100 10 Algorytm T TSAB PE T TSAB PE 1 2 3 4 5 6 7 8 9 10 5493 5274 5175 5018 5250 5135 5247 5094 5448 5328 5493 5268 5175 5014 5250 5135 5246 5094 5448 5328 5493 5268 5175 5017 5250 5135 5251 5094 5448 5322 5776 5362 5679 5820 5491 5308 5600 5640 5891 5865 5770 5349 5677 5791 5468 5303 5599 5623 5875 5845 5771 5348 5623 5807 5474 5308 5599 5640 5884 5830 Rozmiar 100 20 200 10 Algorytm T TSAB PE T TSAB PE 1 2 3 4 5 6 7 8 9 10 6330 6320 6364 6331 6405 6487 6379 6514 6386 6534 6286 6241 6329 6306 6377 6437 6346 6481 6358 6465 6250 6248 6340 6323 6399 6446 6334 6488 6347 6507 10872 10500 10956 10893 10537 10347 10882 10754 10465 10727 10868 10494 10922 10889 10524 10331 10857 10731 10438 10676 10872 10507 10923 10893 10527 10331 10860 10741 10438 10681 Rozmiar 200 20 500 20 Algorytm T TSAB PE T TSAB PE 1 2 3 4 5 6 7 8 9 10 11393 11445 11522 11461 11427 11368 11536 11544 11424 11528 11294 11420 11446 11347 11311 11282 11456 11415 11343 11422 11303 11361 11461 11411 11375 11335 11478 11463 11350 11430 26316 26807 26626 26642 26509 26654 26575 26794 26241 26662 26189 26629 26458 26549 26404 26581 26461 26615 26083 26527 26268 26764 26493 26628 26467 26605 26490 26720 26170 26604 Analizując otrzymane wyniki można stwierdzić, iż nie ma statystycznych różnic między algorytmami dla problemów o rozmiarach 100 5 i 100 10. W pozostałych przypadkach: algorytm TSAB dominuje nad techniką TS w wersji Taillarda,

TSAB dominuje nad programowaniem ewolucyjnym dla największego problemu (liczba zadań równa 500); w pozostałych przypadkach nie ma statystycznych różnic między algorytmami, programowanie ewolucyjne dominuje nad algorytmem Taillarda za wyjątkiem problemu 500 20, gdzie nie ma statystycznych różnic między tymi technikami. Programowanie ewolucyjne znalazło ogółem 15 rozwiązań lepszych niż spotkane do tej pory w literaturze fachowej dla problemów o różnych rozmiarach. Autor nie napotkał w literaturze przedmiotu opisu algorytmu ewolucyjnego, który dawałby rezultaty zbliżone do opisanych powyżej. 5. WNIOSKI KOŃCOWE Badania eksperymentalne wykazały, że: algorytm ewolucyjny opracowany przez autora, 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. Celowe jest prowadzenie dalszych badań nad możliwością stosowania tych technik do wspierania procesu projektowania organizacji procesu produkcyjnego. W pracach uwzględnione zostaną parametry ekonomiczne, związane z organizacją i technologią procesu produkcyjnego. LITERATURA [1] Błażewicz J., Cellary W., Słowiński R., Węglarz J., Badania operacyjne dla informatyków, Warszawa, WNT, 1983. [2] Campbell H.G., Dudek R.A., Smith M.L., A heuristic algorithm for the n job m machine sequencing problem, Management Science, vol. 16, 1970, pp. 630-637. [3] Chen Ch.-L., Vempati V.S., Aljaber N., An application of genetic algorithms for flow shop problems, European Journal of Operational Research, 1995, Vol.80, pp. 389-396. [4] Dannenbring D.G., An evaluation of flow shop sequencing heuristics, Management Science, 1977, Vol. 23, No 11, pp. 1174-1182. [5] Domański C., Testy statystyczne, Warszawa, PWE 1990. [6] Dudek R.A., Panwalkar S.S., Smith M.L., The lessons of flowshop scheduling research, Operations Research, 1992, Vol. 40, pp. 7-13.

[7] Gupta J.N.D., A functional heuristic algorithm for the flop-shop scheduling problem, Operational Research Quarterly, 1971, Vol.22, pp. 39-47. [8] Ho J.C., Chang Y.L., A new heuristic for the n-job, M-machime flow-shop problem, European Journal of Operational Research, 1990, Vol. 52, pp. 194-206. [9] Johnson S.M., Optimal two- and three-stage production schedules with set-up times included, Naval Research Logistics Quarterly, 1954, Vol. 1, pp. 61-68. [10] Michalewicz Z., Genetic algorithm + data structures = evolution programs, Berlin, Springer-Verlang, 1992. [11] Mulkens H., Revisiting the Johnson algorithm for flow-shop scheduling with genetic algorithms, Knowledge- Based Reactive Scheduling, Amsterdam, North-Holland, 1994. [12] Nissen V., Evolutionary algorithms in management science. An overview and list of references, Papers on Economics & Evolution, report no. 9303, European Study Group for Evolutionary Economics, 1993. [13] Nowicki E., Smutnicki Cz., A fast tabu search algorithm for the flow shop problem, Wrocław, Wydawnictwo Politechniki Wrocławskiej, 1994. [14] Palmer D.S., Sequencing jobs through a multi-stage process in the minimum total time - a quick method of obtaining near optimum, Operational Research Quarterly, 1965, Vol. 16, pp. 101-107. [15] Park K., Carter B., On the effectivness of genetic search in combinatorial optimization,, serwer Boston University, Boston, 1995. [16] Reeves C.R., A genetic algorithm for flowshop sequencing, Computers and Operations Research, 1994, Vol. 22, No. 1, pp. 5-13. [17] Stawowy A., Wrona R., Algorytm genetyczny dla problemu szeregowania zadań w systemie przepływowym, Kwartalnik Elektrotechnika, 1995, T. 14, Z. 4. [18] Stawowy A., Mazur Z., Heurystyczne algorytmy szeregowania zadań produkcyjnych i grupowania wyrobów, Nowoczesne metody zarządzania produkcją, pod red. Z.Martyniaka, Wydział Zarządzania AGH, Kraków, 1996. [19] Taillard E., Some efficient heuristic methods for flow shop sequencing, European Journal of Operational Research, 1990, Vol. 47, pp. 65-74. [20] Taillard E., Benchmarks for basic scheduling problems, European Journal of Operational Research, 1993, Vol. 64, pp. 278-285. STRESZCZENIE (An evolutionary algorithm for flowshop problem) The flowshop scheduling problem is one of NP-complete problems. It means no known exact algorithm can solve all problem instances in polynomial time since worst-case performances scales exponentially with problem size. Heuristics produce results whose quality is uncertain, but they are easy to implement, flexible and can be designed to execute in a given amount of time. An evolutionary programming for the flowshop scheduling problem is presented in the paper. The new mutation tailored to ordering problems is also described. This algorithm is tested and compared with tabu search heuristic. The simulation results show that the new heuristic is very good for all size problems.