OPTYMALIZACJA KONFIGURACJI ALGORYTMU EWOLUCYJNEGO DO PLANOWANIA PROCESU MONTAŻU Tomasz JANKOWSKI Streszczenie Jednym z pierwszych zadań, jakie należy wykonać w trakcie projektowania procesu technologicznego montażu, jest ustalenie kolejności wchodzenia poszczególnych części do procesu montażu, czyli zaplanowanie sekwencji montażowej. Problem planowania sekwencji montażu, jak większość problemów optymalizacji kombinatorycznej, należy do klasy problemów trudno rozwiązywalnych w rozsądnym czasie, co oznacza, że ich dokładne rozwiązanie za pomocą algorytmów o złożoności wielomianowej jest najprawdopodobniej niemożliwe. Przedstawiony w niniejszym artykule koncepcyjny model ewolucyjny umożliwi w opinii autora efektywne rozwiązywanie zagadnienia planowania sekwencji montażowej. Praca skupia się na przedstawieniu znaczenia właściwej konfiguracji algorytmu ewolucyjnego, na przykładzie operacji krzyżowania i różnych wersji jej realizacji. Przeprowadzono badania numeryczne wpływu wybranych sposobów realizacji operatora krzyżowania, jakie w źródłach literaturowych uznawane są za najlepsze dla kodowania permutacyjnego problemów optymalizacji kombinatorycznej, do których należy zadanie planowania sekwencji montażowej oraz zadanie testowe planowania trasy komiwojażera. Wyniki przeprowadzonych badań numerycznych pozwoliły ustalić najbardziej efektywną konfigurację operatora krzyżowania z porządkowaniem (OX) oraz wartości parametrów prawdopodobieństw krzyżowania i mutacji, dla których algorytm uzyskuje rozwiązania optymalne ze stuprocentową powtarzalnością, przy jak najniższym koszcie symulacji. Słowa kluczowe algorytmy ewolucyjne, planowanie procesu, optymalizacja 1. Wstęp Intensywny rozwój elastycznych i komputerowo zintegrowanych systemów produkcyjnych oraz komputerowych systemów wspomagających wytwarzanie wymaga efektywnych algorytmów do rozwiązywania wielu problemów planowania i szeregowania zadań produkcyjnych [1]. W planowaniu i sterowaniu produkcją, z powodu coraz szerszego zastosowania komputerowego wspomagania w rozwiązywaniu problemów decyzyjnych, konieczne jest wykorzystanie efektywnych i szybkich algorytmów. Dotyczy to szczególnie poziomów planowania taktycznego, związanego z przygotowaniem systemu do wykonywania konkretnych zadań w krótkim czasie i sterowania operacyjnego związanego z bieżącym funkcjonowaniem systemu produkcyjnego [2]. 2. Model ewolucyjny dla zagadnienia planowania sekwencji montażowej Przedstawiony w niniejszym rozdziale model ewolucyjny umożliwia w opinii autora efektywne rozwiązywanie zagadnienia planowania sekwencji montażowej. Zamieszczony na rys. 1 schemat przedstawia strukturę funkcjonalną modelu z wyszczególnieniem dwóch obszarów: przestrzeni fizycznej, zawierającej informacje o strukturze montowanego wyrobu, sposób modelowania sekwencji montażowej, przyjęte kryteria optymalizacji i inne potrzebne dane wejściowe dotyczące wyrobu lub procesu montażu; przestrzeni ewolucyjnej, w której zawarte są procedury tworzenia populacji początkowej, procedury iteracyjnego powtarzania procesu optymalizacji ewolucyjnej i definicje warunków zakończenia oraz definicje wielu wersji operatorów genetycznych: krzyżowania, mutacji, reprodukcji i sukcesji. Niniejszy artykuł skupia się na przedstawieniu znaczenia właściwej konfiguracji algorytmu ewolucyjnego, na przykładzie operacji krzyżowania i różnych wersji jej realizacji. Inne elementy modelu ewolucyjnego opisane są szczegółowo w następujących publikacjach [3, 4]. 3. Konfiguracja algorytmu ewolucyjnego Bardzo ważnym etapem przygotowania algorytmu ewolucyjnego do pracy jest jego strojenie, tzn. optymalne określenie takich wielkości, jak: sposób realizacji reprodukcji i sukcesji, rodzaj zastosowanego krzyżowania, rodzaj zastosowanej mutacji, wielkość populacji, prawdopodobieństwo krzyżowania, prawdopodobieństwo mutacji, mających decydujący wpływ na pracę algorytmu i jakość uzyskiwanych rezultatów. Wyznaczenie optymalnych wartości, dla tak wielu wielkości mających wpływ na pracę algorytmu, wymaga wielu czasochłonnych eksperymentów [5, 6]. Wymienione wielkości dzielą się na: nieciągłe, określane mianem zmiennych decyzyjnych, ciągłe, określane mianem parametrów. Na podstawie analizy literatury, do realizacji eksperymentów wybrano następującą grupę różnych wariantów realizacji zmiennych decyzyjnych: 15
3/2014 Technologia i Automatyzacja Montażu Rys. 1. Schemat modelu ewolucyjnego dla zagadnienia planowania sekwencji montażowej Fig. 1. Flow chart of evolutionary model for assembly sequence planning 3 sposoby realizacji operacji reprodukcji: ruletkowa, turniejowa, rangowa; 3 sposoby realizacji operatora krzyżowania: z porządkowaniem (OX), z częściowym odwzorowaniem (PMX), cykliczne (CX); 2 sposoby realizacji operacji sukcesji: trywialna, elitarna. Na podstawie wybranej grupy zmiennych decyzyjnych określono 18 wariantów konfiguracji algorytmu do przeprowadzenia badań symulacyjnych efektywności poszczególnych konfiguracji. Niezależny rozwój algorytmów ewolucyjnych w różnych ośrodkach naukowych przyczynił się do powstania różnych schematów realizacji operatora krzyżowania, który będzie obiektem niżej omawianych analiz. Jednymi ze źródeł tych różnic były: liczba osobników rodzicielskich, będąca źródłem danych dla operacji krzyżowania, oraz liczba osobników potomnych, powstałych w wyniku wykonania krzyżowania. W niniejszej pracy przyjęto, najczęściej stosowany schemat, że w krzyżowaniu biorą udział dwa osobniki rodzicielskie i w rezultacie otrzymuje się dwa osobniki potomne. Krzyżowanie z częściowym odwzorowaniem (PMX) Operator krzyżowania z częściowym odwzorowaniem PMX, autorstwa Goldberga i Lingle a [7], tworzy potomka, wybierając podsekwencję od jednego rodzica i pozostawiając porządek i pozycje tak wielu elementów drugiego rozwiązania rodzicielskiego, jak to tylko możliwe. Krzyżowanie z porządkowaniem (OX) Operator krzyżowania z porządkowaniem OX, który został zaproponowany przez Davisa [8], tworzy rozwiązanie potomne, wybierając podsekwencję od jednego rodzica i pozostawiając wzajemne uporządkowanie elementów z drugiego rodzica. Krzyżowanie cykliczne (CX) Operator krzyżowania cyklicznego CX, zaproponowany przez Olivera [9], tworzy rozwiązania potomne w taki sposób, że każdy element potomka i jego pozycja pochodzi od jednego z rodziców. Jako zadanie testowe wykorzystano, bardzo popularne w badaniu algorytmów optymalizacji kombinatorycznej, zagadnienie komiwojażera. Złożoność problemu określono dla 36 punktów (miast), gdzie wielkość przeszukiwanej przestrzeni rozwiązań wynosi 36! 3,7*10 41. Dla wygenerowanego planu miast wyznaczono najkrótszą trasę o wartości równej 360, będącą rozwiązaniem optymalnym, co następnie wykorzystano do oceny, czy algorytm jest w stanie znaleźć rozwiązanie optymalne. Dodatkowo znajomość wartości optymalnej dla badanego zadania testowego wykorzystano jako dodatkowy warunek zatrzymania pracy algorytmu w momencie osiągnięcia optimum. 4. Analiza uzyskanych wyników Na rys. 2 7 przedstawiono porównanie uzyskanych rezultatów, dla analizowanych sposobów realizacji operatora krzyżowania (OX, PMX, CX), w różnych konfiguracjach operatorów reprodukcji i sukcesji. 16
Rys. 2. Porównanie operatorów krzyżowania w konfiguracji z reprodukcją ruletkową i sukcesją trywialną Fig. 2. Comparison of crossover operators in configuration with roulette reproduction and trivial succession Trudno wyciągać bezpośrednie wnioski na podstawie wykresów przedstawionych na rys. 2 i 3, w których algorytm nie osiągał lub osiągał ze stosunkowo niską powtarzalnością rozwiązania optymalne. Na rys. 2 widoczna jest pewna niejednoznaczność. Konfiguracja z krzyżowaniem PMX, która jako jedyna z porównywanych osiągnęła jeden raz wartość optymalną, jednocześnie uzyskała najgorszą wartość średnią z wyników jakości rozwiązania. Dla lepszej interpretacji wyników dodatkowo posłużono się określeniem miar dyspersji uzyskanych wyników poprzez wyznaczenie odchyleń standardowych dla wartości jakości rozwiązania i kosztu symulacji będących wartościami średnimi z próby 10 eksperymentów, w celu określenia niepewności przypadkowej uzyskanych wyników. Wyniki dotyczące jakości rozwiązania z zastosowaniem krzyżowania PMX pokazują kilkakrotnie większy zakres niepewności uzyskanych wyników niż zastosowanie pozostałych operatorów krzyżowania OX i CX. Informacja ta daje potwierdzenie, że mimo wysokiej wartości średniej dla jakości rozwiązania (844,1±228,3), a jednocześnie przy dużej dyspersji uzyskiwanych wyników, algorytm był w stanie osiągnąć wartość optymalną w jednym z pomiarów. Co do wyników kosztu symulacji widać, że jeśli chodzi o wartość średnią, która w przypadku nieosiągania wartości optymalnych pokazuje numer iteracji algorytmu, w którym nastąpiła ostatnia poprawa wartości funkcji oceny, że w porównaniu operatorów krzyżowania najwyższą wartość uzyskano dla krzyżowania OX. Jeśli chodzi o wartość niepewności, to najmniejszą uzyskano dla krzyżowania OX i to prawie o rząd wielkości niższą od pozostałych operatorów, a więc znacznie lepsze skupienie wyników niż dla pozostałych operatorów krzyżowania. Rys. 4. Porównanie operatorów krzyżowania w konfiguracji z reprodukcją turniejową i sukcesją trywialną Fig. 4. Comparison of crossover operators in configuration with tournament reproduction and elite succession Rys. 3. Porównanie operatorów krzyżowania w konfiguracji z reprodukcją ruletkową i sukcesją elitarną Fig. 3. Comparison of crossover operators in configuration with roulette reproduction and elite succession Rys. 5. Porównanie operatorów krzyżowania w konfiguracji z reprodukcją turniejową i sukcesją elitarną Fig. 5. Comparison of crossover algorithms in configuration with tournament reproduction and elite succession W przypadku wyników dla konfiguracji z reprodukcją ruletkową i sukcesją elitarną (rys. 3) widać lepsze rezultaty niż w przypadku wcześniejszej konfiguracji, chociaż nie uzyskano stuprocentowej powtarzalności w osiąganiu optimum. Jak w przypadku rys. 2, uzupełniono przedstawione rezultaty o wartości niepewności dla wyznaczonych wyników w celu pełniejszej oceny. W odróżnieniu od poprzedniego wykresu, wykres z rys. 3 przedstawia znacznie lepsze rezultaty w powtarzalności osiągania optimum. Zastosowanie operatora OX pozwoliło uzyskać powtarzalność na poziomie 80%, co daje dwukrotnie lepszy wynik niż zastosowanie operatorów PMX lub CX. Znajduje to także swoje odbicie w wartości średniej funkcji jakości rozwiązania i jej niepewności. 17
3/2014 Technologia i Automatyzacja Montażu Znacznie łatwiej interpretować wyniki przedstawione na rys. 4 7. Wszystkie 4 konfiguracje uzyskiwały wynik optymalny ze stuprocentową powtarzalnością niezależnie od zastosowanego krzyżowania, co praktycznie sprowadza analizę do porównania i oceny pod kątem kosztu symulacji, jaki był konieczny do osiągnięcia przedstawionych wyników. W każdej konfiguracji zastosowanie krzyżowania OX powodowało uzyskanie najniższego kosztu symulacji. Koszt symulacji prowadzonych z zastosowaniem operatorów PMX lub CX był gorszy o 24 80% w zależności od konfiguracji operatorów reprodukcji i sukcesji. Najwolniej przebiegało osiąganie optimum z zastosowaniem operatora CX, poza jednym przypadkiem konfiguracji z reprodukcją rangową i sukcesją elitarną (patrz rys. 7), kiedy uzyskano niższy koszt symulacji z zastosowaniem operatora CX niż z zastosowaniem operatora PMX. Rys. 6. Porównanie operatorów krzyżowania w konfiguracji z reprodukcją rangową i sukcesją trywialną Fig. 6. Comparison of crossover operators in configuration with rank reproduction and trivial succession Rys. 7. Porównanie operatorów krzyżowania w konfiguracji z reprodukcją rangową i sukcesją elitarną Fig. 7. Comparison of crossover operators in configuration with rank reproduction and elite succession 5. Podsumowanie Przeprowadzono badania numeryczne wpływu wybranych sposobów realizacji operatora krzyżowania, jakie w źródłach literaturowych uznawane są za najlepsze dla kodowania permutacyjnego problemów optymalizacji kombinatorycznej, do których należy zadanie planowania sekwencji montażowej oraz zadanie testowe planowania trasy komiwojażera. Wyniki przeprowadzonych badań numerycznych pozwoliły ustalić najbardziej efektywną konfigurację operatora krzyżowania z porządkowaniem (OX) oraz wartości parametrów prawdopodobieństw krzyżowania i mutacji, dla których algorytm uzyskuje rozwiązania optymalne ze stuprocentową powtarzalnością, przy jak najniższym koszcie symulacji. LITERATURA 1. Nowicki E.: Metoda tabu w problemach szeregowania zadań produkcyjnych. Prace Naukowe Instytutu Cybernetyki Technicznej Politechniki Wrocławskiej. Monografie nr 27, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław 1999. 2. Łebkowski P.: Metody komputerowego wspomagania montażu mechanicznego w elastycznych systemach produkcyjnych. Uczelniane Wydawnictwa Naukowo-Dydaktyczne AGH, Kraków 2000. 3. Jankowski T.: Memetic algorithm for assembly sequence planning. Journal of Machine Engineering, vol. 8, no. 3, pp. 77 90, 2008. 4. Jankowski T., Jędrzejewski J.: Hybrid evolutionary optimization in efficient task planning. Sustanable production and logistics in global networks: 43rd CIRP International Conference on Manufacturing Systems, W. Sihn and P. Kuhlang, Ed., pp. 884 891, 2010. 5. Pawlak M.: The search for the best decision variables values of the evolution program. Materiały I. Krajowej Konferencji pt.: Algorytmy Ewolucyjne, pp. 94 105, Murzasichle, 1996. 6. Pawlak M.: Algorytmy ewolucyjne jako narzędzie harmonogramowania produkcji. Wydawnictwo Naukowe PWN, Warszawa 1999. 7. Goldberg D. E., Lingle R.: Alleles, Loci, and the {TSP}. Proceedings of the First International Conference on Genetic Algorithms, J. J. Grefenstette, Ed., pp. 154 159, Lawrence Erlbaum Associates, 1985. 8. Davis L.: Applying Adaptive Algorithms to Epistatic Domains. Proceedings of the International Joint Conference on Artificial Intelligence, pp. 162 164, 1985. 9. Oliver I. M., Smith D. J., Holland J. R. C.: A Study of Permutation Crossover Operators on the Travelling Salesman Problem. Proceedings of the Second International Conference on Genetic Algorithms, J. J. Grefenstette, Ed., pp. 224 230, Lawrence Erlbaum Associates, 1987. Dr inż. Tomasz Jankowski adiunkt, Instytut Technologii Maszyn i Automatyzacji, Politechnika Wrocławska, ul. Wybrzeże Wyspiańskiego 27, 50-370 Wrocław, tel. 71 3204174, e-mail: tomasz.jankowski@pwr.wroc.pl. 18
OPTIMIZATION OF THE EVOLUTIONARY ALGORITHM CONFIGURATION FOR ASSEMBLY PROCESS PLANNING Abstract One of the first steps, which should be done when designing an assembly process, is to determine the order in which the particular parts enter the assembly process, i.e. to plan the assembly sequence. As most combinatorial optimization problems, the assembly sequence-planning problem is difficult to solve in a reasonable amount of time, which means that their exact solution by means of algorithms with polynomial complexity is almost impossible. According to the author, the conceptual evolutionary model presented in this section makes possible to solve effectively the assembly sequence-planning problem. This paper emphasizes the importance of the proper configuration of the evolutionary algorithm, using the crossover operation and the different methods of conduction. Numerical studies have shown that the selective implementation effect of the crossover operator is generally considered to be the best for the permutational encoding of combinatorial optimization problems. The assembly sequence planning task, and the travelling salesman route planning test task that corresponds to the process have been carried out in this study. The numerical simulations led to determine the most effective configuration of the OX crossover operator, the values of the crossover, and mutation probability parameters for which the algorithm generates optimal solutions with one hundred per cent repeatability at the lowest simulation cost. Keywords evolutionary algorithms, process planning, optimization 19