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

Podobne dokumenty
ZASTOSOWANIE ALGORYTMU WSADOWEGO DO SZEREGOWANIA ZADAŃ PRODUKCYJNYCH

Algorytm genetyczny (genetic algorithm)-

Algorytmy genetyczne

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

Dobór parametrów algorytmu ewolucyjnego

OPTYMALIZACJA KONFIGURACJI ALGORYTMU EWOLUCYJNEGO DO PLANOWANIA PROCESU MONTAŻU

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

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

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

Algorytmy genetyczne (AG)

Algorytmy genetyczne w optymalizacji

ALGORYTMY GENETYCZNE ćwiczenia

Algorytmy ewolucyjne NAZEWNICTWO

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

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Problemy z ograniczeniami

Algorytmy genetyczne

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

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Wstęp do Sztucznej Inteligencji

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

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

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

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

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

Generowanie i optymalizacja harmonogramu za pomoca

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Optymalizacja. Wybrane algorytmy

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

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

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016

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

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

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

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

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Algorytmy ewolucyjne

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

Techniki optymalizacji

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

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

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

6. Klasyczny algorytm genetyczny. 1

Równoważność algorytmów optymalizacji

Algorytmy genetyczne dla problemu komiwojażera (ang. traveling salesperson)

Metody optymalizacji dyskretnej

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Strategie ewolucyjne (ang. evolution strategies)

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

Algorytmy genetyczne

Zadania laboratoryjne i projektowe - wersja β

Algorytmy genetyczne

Algorytmy metaheurystyczne podsumowanie

Ewolucja Różnicowa Differential Evolution

doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.

Algorytmy ewolucyjne 1

Wykorzystanie metod ewolucyjnych w projektowaniu algorytmów kwantowych

przetworzonego sygnału

Strategie ewolucyjne (ang. evolu4on strategies)

Wielokryterialne harmonogramowanie portfela projektów. Bogumiła Krzeszowska Katedra Badań Operacyjnych

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

BIOCYBERNETYKA ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE. Adrian Horzyk. Akademia Górniczo-Hutnicza

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

HARMONOGRAMOWANIE OPERACYJNE Z OGRANICZENIAMI W IFS APPLICATIONS

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

ZASTOSOWANIE ALGORYTMU GENETYCZNEGO DO WYZNACZANIA OPTYMALNYCH DECYZJI STERUJĄCYCH

TRANSCOMP XV INTERNATIONAL CONFERENCE COMPUTER SYSTEMS AIDED SCIENCE, INDUSTRY AND TRANSPORT

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

Harmonogramowanie produkcji

Wykorzystanie nowoczesnych technik prognozowania popytu i zarządzania zapasami do optymalizacji łańcucha dostaw na przykładzie dystrybucji paliw cz.

Zastosowanie technologii nvidia CUDA do zrównoleglenia algorytmu genetycznego dla problemu komiwojażera

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

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

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

Gospodarcze zastosowania algorytmów genetycznych

Hybrydowy algorytm mrówkowy wykorzystujący algorytm genetyczny do wyznaczania trasy w systemie nawigacji

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

KARTA MODUŁU KSZTAŁCENIA

Metody przeszukiwania

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

Tomasz Pawlak. Zastosowania Metod Inteligencji Obliczeniowej

Algorytmy ewolucyjne. wprowadzenie

Rój cząsteczek. Particle Swarm Optimization. Adam Grycner. 18 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Problem Komiwojażera - algorytmy metaheurystyczne

ZASTOSOWANIE METOD OPTYMALIZACJI W DOBORZE CECH GEOMETRYCZNYCH KARBU ODCIĄŻAJĄCEGO

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Metody Rozmyte i Algorytmy Ewolucyjne

Zastosowanie sztucznej inteligencji w testowaniu oprogramowania

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin., Oeconomica 2017, 337(88)3, 5 12

Instrukcja projektowa cz. 2

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

PRZEWODNIK PO PRZEDMIOCIE

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

SZTUCZNA INTELIGENCJA

Zmodyfikowany algorytm genetyczny dla dwuwymiarowego nieregularnego problemu optymalnego rozkroju

Algorytmy heurystyczne w UCB dla DVRP

Wybrane podstawowe rodzaje algorytmów

Transkrypt:

Andrzej Jardzioch, Bartosz Skobiej Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Nieklasyczne podejście ewolucyjne do problemu szeregowania zadań w systemach produkcyjnych Wstęp Problematyka szeregowania zadań produkcyjnych jest tematyką obecną w nauce od dłuższego czasu. Jeszcze przed wybuchem drugiej wojny światowej podwaliny pod współczesne systemy decyzyjne harmonogramowania zadań produkcyjnych stworzyli Frederick Taylor i Henry Gantt. Pomimo upływu lat poruszana problematyka nadal jest aktualna i poruszana w wielu publikacjach, nie tylko z dziedziny inżynierii produkcji [4, 5, 8, 12]. Należy zaznaczyć iż proces sortowania zleceń ma znaczący wpływ na generowane harmonogramy pracy i tym samym uważane jest za podstawowe narzędzie optymalizacyjne stosowane w zarządzaniu zadaniami produkcyjnymi [9]. Nieustanne doskonalenie wpisane w procedury zarządzania nowoczesnych przedsiębiorstw, połączone ze wzrostem mocy obliczeniowej komputerów oraz rozwojem takich dziedzin nauki jak optymalizacja komputerowa czy metody sztucznej inteligencji, prowadzi do kolejnych prób podejścia do znanych problemów lub do definiowania nowych, bardziej realistycznych zastosowań [7]. Opis problemu Głównym zagadnieniem rozpatrywanym przez autorów jest opracowanie narzędzia informatycznego wspomagającego zarządzanie kolejką zadań produkcyjnych. Efektem działania opracowanego algorytmu sortowania jest harmonogram produkcji, który implikuje równocześnie specyficzny rozkład dróg logistycznych w procesie produkcji. W prezentowanym przypadku skupiono się na opracowaniu i analizie nieklasycznego algorytmu genetycznego dla problemu jednomaszynowego. System produkcyjny zaadaptowany do badań może być traktowany jako podsystem jednakowych lub podobnych maszyn pracujących równolegle (jak przy algorytmie McNaughtona [10]) i zgrupowanych wirtualnie czy też jako grupa maszyn w ciągu technologicznym (jak przy mutacji algorytmu Johnsona dla trzech maszyn [1, 6]). Należy jednak zaznaczyć, iż zarówno algorytm McNaughtona, jak i algorytm Johnsona zostały opracowane w celu minimalizacji całkowitego czasu obróbki. W przeciwieństwie do wspomnianych metod sortowania zadań względem czasu obróbki, autorzy niniejszych badań skupili się na innym kryterium kolejkowania na zysku. W celu oceny stopnia przystosowania poszczególnych sortowań do założonego kryterium zysku, zdecydowano się zaadoptować wzór (1) z pozycji literaturowej [13]. gdzie: R k - zysk z zadań przy k-tym sortowaniu, i - numer zadania, n - liczba zadań, r i - potencjalny zysk z i-tego zadania, W i - współczynnik wagowy kary i-tego zadania, C i - suma czasów obróbkowych przetworzonych zadań (w tym i-tego), d i - wymagany termin wykonania i-tego zadania. W przypadku uzyskania liczby ujemnej w wyniku obliczenia różnicy C i - d i, a zatem w przypadku gdy zadanie zostało wykonane w wymaganym czasie, współczynnik kary W i nie będzie miał wpływu na osiągnięty zysk, gdyż zostanie przemnożony przez liczbę 0. W przypadku gdy obliczona różnica C i - d i będzie większa od 0, wartość opóźnienia przemnożona przez współczynnik kary uszczupli zysk. W sytuacjach niekorzystnych, 281

wartość kary może przewyższyć potencjalny zysk z zadania i tym samym spowodować stratę. Pomimo jednak zanotowanej straty w przypadku jednego zadania, nie można arbitralnie stwierdzić że całe sortowanie jest nieefektywne w stosunku do innych. Podchodząc do prezentowanego problemu, należy mieć na uwadze że przestrzeń potencjalnych rozwiązań jest nieciągła a eksplorowanie jej nie może opierać się na przeszukiwaniu zupełnym. O ile bowiem przeszukanie zupełne dla 3 rozwiązań ograniczy się do 3! możliwości, co wynika ze wzoru na permutacje bez powtórzeń, o tyle analiza sortowań dla 20 zadań wymusiłaby przeszukanie przestrzeni optymalizacyjnej złożonej z około 24*10 17 potencjalnych rozwiązań. Biorąc pod uwagę fakt że każde możliwe sortowanie składa się z 10 zadań pociąga to za sobą przeliczenie wzoru (1) ponad 24*10 18 razy. Dodatkowo należy zaznaczyć, że wyniki prezentowanych badania mają być wsparciem dla przedsiębiorstwa, które oczekuje efektywnego rezultatu dla liczby zadań w zakresie 100-300. Algorytm genetyczny Do rozwiązania problemu przedstawionego w poprzednim punkcie zastosowano nieklasyczny algorytm genetyczny, którego implementacja programistyczna opiera się na autorskim rozwiązaniu. W pierwszym kroku określono sposób kodowania osobników. Zdecydowano się zastosować całkowitoliczbowe kodowanie permutacyjne osobników, które jest często spotykane w tego typu problemach. Jest to intuicyjny sposób kodowania nie wymagający dodatkowych nakładów obliczeniowych i pozwala na bezpośrednie przeniesienie danych rzeczywistych do algorytmu genetycznego. Każdy osobnik jest zatem wektorem numerów zadań do wykonania, np.: (1,2,3,4,5) dla liczby pięciu zadań. Każde zadanie składa się z następujących atrybutów: - numer zadania i, - potencjalny zysk r i, - współczynnik wagowy kary W i, - czas obróbki zadania t i, - wymagany termin wykonania d i. Po określeniu kodowania, generowane jest w sposób losowy pierwsze pokolenie złożone z 20 osobników. Następnie określane jest przystosowanie poszczególnych sortowań, czyli zysk lub strata generowane przez kolejne osobniki. Na podstawie otrzymanego wektora przystosowań wybierane są dwa osobniki najlepiej dopasowane do kryterium zysku, tym sposobem realizowana jest funkcja elitaryzmu. Kolejnym krokiem jest poddanie populacji selekcji rankingowej. W wyniku jej działania 40% najlepiej przystosowanych osobników (oprócz elity) zostaje zachowana do dalszej ewolucji natomiast pozostałe zostają usunięte z populacji a ich miejsce zajmują kolejne, losowe osobniki. Rozważając możliwość wykorzystania operatora krzyżowania, należy zwrócić uwagę, iż zdecydowano się na zastosowanie kodowania permutacyjnego osobników. Posłużenie się takim rozwiązaniem spowodowało brak możliwości zaimplementowania klasycznych operatorów krzyżowania takich jak: krzyżowanie jedno i wielopunktowe. W literaturze można spotkać propozycje krzyżowań dla kodowania permutacyjnego, np.: PMX (ang. Partially Matched Crossover) [3, 8], CX (ang. Cyclic Crossover) [7, 11] czy SXX (ang. Sub-tour Exchange Crossover) [14]. Jednak w prezentowanej implementacji autorzy zdecydowali się położyć nacisk na analizę operatora uważanego za drugorzędny operatora mutacji. Nie zastosowano natomiast operatora rekombinacji. W przypadku operatora mutacji, podobnie jak w przypadku krzyżowania, nie można bezkrytycznie stosować klasycznych metod. Ze względu na permutacyjne kodowanie osobników nie ma bowiem możliwości zastosowania mutacji jednomiejscowej inwersyjnej, która przy kodowaniu binarnym objawia się zmianą genu o wartości 0 na 1 lub 1 na 0 w losowym miejscu chromosomu. Możliwa jest natomiast implementacja mutacji zamiennej (ang. swap mutation), która została przedstawiona na rysunku 1. W metodzie tej, wybieramy losowo dwa geny w chromosomie i zamieniamy je miejscami. 282

Rys. 1. Przykładowa mutacja zamienna genów o wartościach 3 i 7. Innym rodzajem mutacji, który został zaimplementowany w badaniach jest mutacja heurystyczna [2]. Ten hybrydowy sposób mutowania łączy w sobie cechy mutacji zamiennej z przeszukiwaniem heurystycznym. Poglądowy schemat działania tej metody przedstawiono na rysunku 2. W metodzie tej przeszukujemy wszystkie permutacje dla wskazanych, losowych genów w chromosomie i po oszacowaniu zysku lub straty dla każdego z nich wybieramy sortowanie najlepiej spełniające warunek maksymalizacji zysku. Rys. 2. Przykład realizacji 3 genowej mutacji heurystycznej. Bazując na parametrach domyślnych algorytmu genetycznego zaimplementowanego w programie Matlab, dla stałego współczynnika mutacji przyjęto wartość 0,2. W przypadku mutacji zmiennej w czasie, współczynnik mutacji zwiększano liniowo od 0,2 do 0,8 wraz ze wzrostem liczby generacji. Na uwagę zasługuje fakt iż w prezentowanym przypadku operator mutacji jest jedynym operatorem genetycznym oddziaływującym na populację. Definiowanie wskaźnika mutacji na wysokim poziomie 0,8 nie powinno doprowadzić do nadmiernego wzrostu różnorodności genetycznej co zostało zauważone w badaniach nad klasycznym algorytmem genetycznym, lecz docelowo ma za zadanie eksploatację przestrzeni bliskiej optimum. Ostatnim etapem cyklu algorytmu genetycznego jest sprawdzenie warunku zatrzymania. W prezentowanych badaniach zdefiniowano dwa warunki zatrzymania pracy algorytmu: liczbę iteracji określoną przez użytkownika oraz poziom wykorzystania pamięci operacyjnej komputera. 283

Badania Podstawowym celem badań jest analiza efektywności nieklasycznego algorytmu genetycznego. Wyniki osiągnięte przy pomocy algorytmu genetycznego zostały porównane z wynikami uzyskanymi metodami: EDD (ang. Earliest Due Date sortowanie od najwcześniejszego wymaganego terminu realizacji zadania), TR (ang. Time Reserve sortowanie według rosnącej rezerwy czasu liczonej jako różnica wymaganego terminu realizacji zadania i czasu obróbki), SPT (ang. Shortest Processing Time sortowanie od najmniejszej wartości czasu obróbki zadania) i LPT (ang. Longest Processing Time sortowanie od największej wartości czasu obróbki zadania). W początkowej fazie badań przyjęto charakterystyczną listę dziewięciu zadań produkcyjnych z ustalonymi atrybutami. Listę zadań przedstawiono w tabeli 1. nr (i) Tab. 1. Lista zadań produkcyjnych przyjętych do badania. współczynnik potencjalny zysk czas obróbki wagowy kary (r i ) (t (W i ) i ) 1 84 8 10 36 2 19 4 12 22 3 84 9 1 44 4 24 9 5 15 5 89 10 2 48 6 23 7 7 18 7 76 7 11 39 8 84 6 13 22 9 23 10 8 44 wymagany termin wykonania (d i ) Bazując na liście zadań z tabeli 1, za pomocą wzoru (1) obliczono zyski i straty dla powszechnie stosowanych sortowań: EDD (4,6,2,8,1,7,3,9,5), strata -388, TR (8,2,4,6,1,7,9,3,5), strata -632, SPT (3,5,4,6,9,1,7,2,8), zysk 53, LPT (8,2,7,1,9,6,4,5,3), strata -871. Następnie stosując metodę zupełnego przeszukiwania permutacyjnego określono sortowanie optymalne pod względem zysku. W ten sposób znaleziono sortowanie (6,4,8,3,1,9,5,7,2) generujące wynik 174. Jest to największy zysk możliwy do uzyskania dla zadań z tabeli 1. Posiadając wiedzę na temat wartości optymalnej zysku oraz wyników uzyskanych przez podstawowe metody sortowań, przystąpiono do badań nad algorytmem genetycznym. Badania obejmowały pięć aspektów: A) algorytm genetyczny ze stałą w czasie mutacją zamienną (współczynnik mutacji 0,2), B) algorytm genetyczny ze stałą w czasie mutacją zamienną (współczynnik mutacji 0,8), C) algorytm genetyczny ze zmienną w czasie mutacją zamienną (współczynnik mutacji 0,2-0,8), D) algorytm genetyczny z mutacją heurystyczną 2 miejsc w chromosomie (współczynnik mutacji 0,2), E) algorytm genetyczny z mutacją heurystyczną 3 miejsc w chromosomie (współczynnik mutacji 0,2). Każdy z powyższych aspektów badań obejmował po 20 uruchomień algorytmu genetycznego. Uzyskane rezultaty przedstawiono w kolejnym punkcie. Wyniki W badaniu A, gdzie zastosowano stały współczynnik mutacji o wartości 0,2 po 100 generacjach osiągnięto wartość średnią wyniku na poziomie zysku 84. W przypadku badania B, gdzie zastosowano współczynnik mutacji o wartości 0,8 uzyskano średni wynik 108. Wbrew oczekiwaniom, zmienny w czasie operator mutacji 284

zastosowany w badaniu C nie spełnił swojego zadania. Zwiększanie w sposób liniowy poziomu mutacji do 80% nie przyczyniło się do lepszego przeszukiwania obszaru w okolicach optimum w końcowym stadium działania algorytmu. Osiągnięty rezultat mieści się pomiędzy wynikami z badania A oraz B i kształtuje się na poziomie 100. Obrazowe porównanie wyników przeprowadzonych badań przedstawiono na rysunku 3. Cechą charakterystyczną, którą można zaobserwować na rysunku 3 jest wyraźne polepszenie jakości wyników w początkowym etapie działania algorytmu. Rys. 3. Porównanie wyników działania algorytmu dla różnych współczynników mutacji. Badania D i E mają na celu określenie efektywności zastosowania mutacji heurystycznej. Z punktu widzenia nakładu obliczeniowego, zwiększono zakres przeszukiwań obszaru rozwiązań potencjalnych z 2000 (20 osobników * 100 generacji) w badaniu A, B i C - do 2400 w przypadku badania D i do 4000 osobników w przypadku badania E. Potencjalne przeszukiwanie zupełne obejmuje przestrzeń 9! elementów, czyli 362 880. W przypadku badania D uzyskano średni wynik na poziomie 151, natomiast dla badania E otrzymany wynik wynosi średnio 174 i jest wartością optymalną. Porównanie wyników działania algorytmu z zastosowaniem mutacji heurystycznej przedstawiono na rysunku 4. 285

Rys. 4. Porównanie wyników działania algorytmu z zastosowaniem mutacji heurystycznej. Wnioski Nieklasyczne podejście ewolucyjne zaprezentowane w artykule jest ryzykowną próbą znalezienia metody pozwalającej na szybsze uzyskanie wyniku, który spełniałby oczekiwania badacza. Ryzyko związane jest z odejściem od utartych schematów działania oraz z brakiem możliwości predykcji wyników. W prezentowanych badaniach autorzy zrezygnowali z zastosowania operatora krzyżowania w algorytmie genetycznym, a cały ciężar poszukiwania najlepszych rozwiązań został przejęty przez operator mutacji oraz losowość dobieranych do populacji osobników. O ile losowość dodawanych osobników, które zwiększają różnorodność genetyczną nie jest metodą gwarantującą sukces, o tyle modyfikacje operatora mutacji mogą prowadzić do zadawalających wyników nawet pomimo braku operatora krzyżowania. Zastosowany w badaniach A, B i C operator mutacji zamiennej oraz jego wersja zmienna w czasie są być może interesującym podejściem w przypadku obecności operatora rekombinacji lecz w omawianym podejściu nie spełniają swojego zadania. Zdecydowanie wartym polecenia rozwiązaniem jest natomiast mutacja heurystyczna. Wyniki uzyskane tą metodą sugerują, że również w klasycznym podejściu przy stosunkowo niewielkim wzroście ilości obliczeń można znacząco poprawić jakość rozwiązania. Finansowanie Badania zostały sfinansowane ze środków Narodowego Centrum Nauki - projekt badawczy numer N N503 193237. Streszczenie W artykule zaprezentowano nieklasyczne podejście ewolucyjne, oparte na algorytmie genetycznym, do rozwiązania problemu szeregowania zadań w systemie produkcyjnym. Optymalizację szeregowania przeprowadzono względem możliwego do uzyskania zysku, z obliczaniem kar za opóźnienia. Zaproponowane podejście obejmuje permutacyjne kodowanie chromosomów, elitaryzm, brak genetycznego operatora rekombinacji, zastosowanie mutacji heurystycznej oraz zmiennej w czasie mutacji zamiennej (ang. swap mutation). Przeprowadzono badania dla 9 losowych zleceń dla których metodą całkowitego przeszukania permutacyjnego obliczono optymalne szeregowanie pod względem zysku. Uzyskane wyniki porównano z innymi metodami szeregowania. 286

Non-classical Evolutionary Approach to the Job Scheduling Problem in Production Systems Abstract This article shows how a non-classical evolutionary approach, based on a genetic algorithm, can be used to solve the problem of task scheduling in production systems. The optimization of scheduling was done to maximize possible profit, including the calculation of delay penalties. The approach encompasses permutation encoding, elitism, lack of the genetic recombination operator, the use of heuristic mutation as well as time-variant swap mutation. For nine random orders optimal scheduling was determined using exhaustive search method. The results of the optimization were compared to those obtained with other methods of scheduling. Literatura [1] Chen B. et al.: A New Heuristic for Three-Machine Flow Shop Scheduling, Operations Research, vol. 44, No. 6, 1996. [2] Cheng R., Gen M.: Resource-constrained project scheduling problem using genetic algorithms, Intelligent Automation and Soft Computing 3: pp 273-286, 1997. [3] Goldberg D.E.: Alleles Loci and the TSP, Proceedings of the First International Conference on Genetic Algorithms and Their Application, Lawrence Erlbaum, New Jersey, pp 154-159, 1985. [4] Grajek M.: Harmonogramowanie dostaw wyrobów alkoholowych na obszarze Unii Europejskiej rozpoznanie problemu (cz. 1), Logistyka 5/2011, Instytut Logistyki i Magazynowania, Poznań, 2011. [5] Jardzioch A., Skobiej B.: Petri net implementation in queue algorithms analysis for flexible manufacturing systems, Foundations of Computing and Decision Sciences, vol. 36, No. 3-4, pp 207-217, 2011. [6] Johnson S. M.: Optimal two- and three-stage production schedules with setup times included. Naval Research Logistics Quarterly, pp 61-68, 1954. [7] Karger D., Stein C., Wein J.: Scheduling Algorithms, Algorithms and Theory of Computation Handbook, Chapman & Hall/CRC Publishing, 2010. [8] Knosala R. et al.: Zastosowania metod sztucznej inteligencji w inżynierii produkcji, Wydawnictwa Naukowo-Techniczne, Warszawa, 2002. [9] Lawler E.L. et al.: Sequencing and Scheduling: Algorithms and Complexity. Handbooks in Operations Research and Management Science, Vol. 4., Logistics of Production and Inventory, pp 445-522, North-Holland, 1993. [10] McNaughton R.: Scheduling with deadlines and loss functions. Management Science, 6:1-12, 1959. [11] Oliver I.M., Smith D.J., Holland J.R.C.: A Study of Permutation Crossover Operator on the TSP, Proceedings of the Second International Conference, Lawrence Erlbaum, New Jersey, pp 224-230, 1987. [12] Skołud B., Wosik I.: Algorytmy immunologiczne w szeregowaniu zadań produkcyjnych, Zarządzanie przedsiębiorstwem, Nr 1/2008, s.47-56, 2008. [13] Wang X., Xie X., Cheng T.C.E.: A modified artificial bee colony algorithm for order acceptance in twomachine flow shops. International Journal of Production Economics No. 141, 2013. [14] Yamamura M., Ono T., Kobayashi S.: Character-Preserving Genetic Algorithms for Traveling Salesman Problem, Journal of Japanese Society for Artificial Intelligence, Vol.7, No.6, pp 1049-1059, 1992. 287