Adam Stawowy ALGORYTM EWOLUCYJNY DLA PROBLEMU GRUPOWANIA WYROBÓW Z ALTERNATYWNYMI MARSZRUTAMI EVOLUTIONARY STRATEGY FOR CELL FORMATION PROBLEM WITH MULTIPLE ROUTINGS Summary: Group Technology (GT) is philosophy which aims to decompose a manufacturing system into autonomous subsystems (groups). The objective is to aggregating similar parts into families and dissimilar machines into cells such that inter-cell movement of parts is minimized. In this paper, the basic evolutionary strategy model is extended to consider alternative routes. The approach is demonstrated on data from the literature and is shown to be an effective cell design tool. The results confirmed once more the power of the evolutionary algorithms which consists in ability to generate very good solutions without going into the structure of the problem. 1. Wprowadzenie Technologia grupowa (ang. GT - Group Technology) jest metodą zarządzania produkcją, która zakłada podział systemu wytwarzania na autonomiczne podsystemy (grupy). Celem jest zebranie podobnych wyrobów (części) w grupy i niepodobnych urządzeń (maszyn) w komórki tak, by transport międzykomórkowy części był zminimalizowany [1, 6]. W artykule tym najpierw przedstawiono problem technologii grupowej z alternatywnymi marszrutami. W rozdziale 3. objaśniono strategię ewolucyjną (ES) użytą do rozwiązania problemu formowania komórek produkcyjnych. W rozdziale 4. omówiono rezultaty eksperymentu dla wybranego problemu literaturowego. Wnioski zaprezentowano w rozdziale 5. dr inż., Wydział Zarządzania, Akademia Górniczo-Hutnicza, Kraków
2. Problem projektowania komórek W procesie projektowania elastycznych struktur produkcyjnych najefektywniejszą metodą jest grupowanie wyrobów na bazie analizy przepływu produkcji PFA (Production Flow Analysis). Na podstawie analizy istniejących marszrut technologicznych konstruowana jest macierz incydencji M. Wartość 1 elementu Mij oznacza, że maszyna i jest używana do wykonania wyrobu j, a wartość 0 - sytuację przeciwną. Tak więc kolumna Mj macierzy opisuje marszrutę technologiczną dla j-tego produktu. Celem jest przetransformowanie macierzy M w klastry poprzez odpowiednie przestawianie wierszy i kolumn - otrzymane bloki formują komórki maszyn [7]. Zaproponowano wiele różnych algorytmów do rozwiązania tego problemu, wyczerpujący przegląd można znaleźć w pracy Joines'a i zespołu [4]. Prawie wszystkie algorytmy zakładają istnienie tylko jednej dopuszczalnej marszruty dla danej części. Tymczasem istnienie funkcjonalnie podobnych urządzeń jest w praktyce produkcyjnej oczywiste i co więcej ich uwzględnienie może prowadzić do znacznie lepszego zaprojektowania struktury produkcyjnej [8]. Proponowane w literaturze algorytmy są skomplikowane i mało elastyczne; wad tych jest pozbawione podejście ewolucyjne, które przedstawił Joines i zespół [5]. Jest to rozszerzenie specjalizowanego algorytmu genetycznego (GA) dla standardowego problemu formowania komórek [3]. Zastosowano w nim 7 różnych operatorów (4 mutacje i 3 krzyżówki) dla populacji złożonej z 50-80 rozwiązań; liczba generacji wynosi 5 000-20 000, w zależności od rozmiaru problemu. Rozwiązanie (chromosom) kodowane jest w postaci trzech genów: R x1, x2,..., xm, y1, y2,..., yn, z1, z2,... zn maszyny wyroby marszruty 3. Algorytm ewolucyjny dla problemu grupowania z alternatywnymi marszrutami Proponowane podejście należy do technik sztucznej inteligencji i jest modyfikacją algorytmu strategii ewolucyjnej stosowanej przez autora dla standardowego problemu formowania komórek [10]. Jest to (1, )-ES, w której =100 potomków jest generowanych z jednego rodzica za pomocą prostych 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 poprawia efektywność algorytmu. Działanie algorytmu było przerywane po ewolucji 250 pokoleń; oznacza to, że zaledwie 25 000 pojedynczych rozwiązań było przeliczanych podczas działania algorytmu. Należy również podkreślić, że - podczas obliczania funkcji przystosowania - algorytm jednoznacznie przyporządkowuje maszyny i wyroby do komórek, więc określenie maszyny będącej "wąskim gardłem" nie przedstawia żadnych trudności.
Dopuszczalne rozwiązania są kodowane przy pomocy dwóch genów. Pierwszy jest listą n elementów i s separatorów grup, przy czym wartość j (1 j n) określająca numer elementu może wystąpić na liście tylko jeden raz, podobnie jak wartość i (n+1 i n+s) określająca numer separatora. Za pomocą parametru s można kontrolować liczbę grup w rozwiązaniu. Drugi gen koduje marszrutę przypisaną kolejnym częściom w rozwiązaniu. R y1, y2,..., yn, yn 1,..., yn s, z1, z2,... zn wyrobyi separatory marszruty Tak więc dla 7 elementów i 3 separatorów grup, rozwiązanie postaci R = (1,3,9,8,5,2,7,10,6,4,1,1,2,2,3,3,3) oznacza, że elementy umieszczone są w trzech grupach (1,3), (5,2,7) i (6,4), przy czym pierwszy wyrób przechodzi marszrutę nr 1, drugi nr 1, a siódmy nr 3. Funkcję dopasowania stanowi ważony wskaźnik efektywności zaproponowany przez Ng [9]; funkcję tę maksymalizowano: q( e e0 ) FF q( e ev e0 ) ( 1 q) e0 (1) gdzie: e - liczba operacji w macierzy incydencji e v - liczba pustych miejsc w blokach e 0 - liczba elementów leżących poza blokami q - współczynnik wagi (przyjęto q = 0,5). Dla pierwszego genu stosowano znane z literatury mutacje tj. wymiany, wstawiania i inwersji. Najistotniejszą cechą algorytmu, różniącą go od prób innych autorów, jest to, że mutacji podlegają zarówno elementy jak i separatory. Dla drugiego genu stosowano prostą mutację polegającą na losowaniu numeru marszruty oddzielnie dla każdego wyrobu. Algorytm strategii ewolucyjnej dla problemu formowania komórek charakteryzują zebrane w tabeli 1 elementy i parametry. 4. Badanie eksperymentalne Działanie proponowanego algorytmu przetestowano na przykładzie problemu opisanego przez Nagi i zespół [8]. W eksperymentach stosowano wartości parametrów zebrane w tabeli 1. Na rysunku 1 przedstawiono oryginalną macierz incydencji z alternatywnymi marszrutami dla poszczególnych wyrobów, spośród których wyroby nr 16, 17, 18 i 19 mają tylko jedną dopuszczalną marszrutę. Tak więc algorytm szukał rozwiązania dla 40 zmiennych (20 wyrobów, 4 separatory i 16 marszrut). Algorytm GA Joinesa i zespołu znajdywał najlepsze rozwiązanie =0,7952 średnio po 231,6 generacjach z jednym elementem leżącym poza blokami oraz 16 pustymi miejscami w blokach. Proponowany algorytm
znajdywał najlepsze rozwiązanie średnio po 132,3 pokoleniach, przy czym w 6 przypadkach na 10 było to rozwiązanie o =0,8 z trzema elementami leżącymi poza blokami oraz 14 pustymi miejscami w blokach. W tym przypadku, zaprezentowanym na rysunku 2, maszyna nr 17 nie jest wykorzystywana. Tabela 1. Elementy strategii ewolucyjnej dla problemu formowania komórek Funkcja przystosowania Schemat i populacja reprezentacja rozmiar populacji inicjalizacja selekcja następnego pokolenia warunek zatrzymania Reprodukcja Mutacja pierwszy gen P m drugi gen P m ważony wskaźnik efektywności lista (ciąg) n wyrobów i s separatorów grup oraz ciąg marszrut dla poszczególnych wyrobów 1 rodzic, 100 potomków 1 rozwiązanie wyznaczone w sposób losowy najlepszy potomek zastępuje rodzica po wygenerowaniu 250 pokoleń nie stosowano wymiana, wstawianie i inwersja stosowane z równym prawdopodobieństwem 1,0 losowanie z rozkładu równomiernego numeru marszruty 1/n Problem testowy okazały się łatwy dla naszego algorytmu: w żadnym przypadku algorytm ES nie potrzebował więcej niż 165 generacji, by znaleźć najlepsze rozwiązanie. Biorąc pod uwagę wartość tego parametru, wyniki osiągnięte przez ES są dużo lepsze niż GA Joinsa. Należy przy tym zauważyć, że ES operuje na mniejszej populacji niż GA, a operatory są mniej skomplikowane, stąd algorytm ES działa dużo szybciej niż GA.
wyrób 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16171819 marszruta1 2 1 2 1 2 1 2 1 2 3 1 2 1 2 3 4 5 6 1 2 1 2 3 4 5 6 1 2 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 3 1 1 1 4 1 1 1 1 1 1 1 1 1 1 5 1 1 1 1 1 1 1 1 1 1 1 1 1 6 1 1 1 1 1 1 1 1 1 1 1 1 1 7 1 1 1 1 1 1 1 1 1 8 1 1 1 1 1 1 1 9 1 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 111 1 1 1 1 1 1 1 1 1 1 12 1 1 13 1 1 1 1 1 1 14 1 1 1 15 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 1 1 1 1 1 1 1 17 1 1 1 1 1 1 1 1 1 1 1 18 1 1 1 1 1 1 1 1 1 1 1 19 1 1 1 1 1 1 1 1 1 1 1 maszyna Rys. 1. Wejściowa macierz dla problemu Nagi z alternatywnymi marszrutami
0 1 1 1 1 6 1 1 1 1 8 1 1 1 11 1 1 1 1 1 1 1 1 1 1 4 1 1 1 5 1 1 1 1 1 15 1 1 1 1 2 1 1 1 7 1 1 1 10 1 1 18 1 1 1 1 1 9 1 1 1 1 13 1 1 1 16 1 1 1 19 1 1 1 1 3 1 1 1 12 1 1 14 1 1 1 17 wyrób 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 marszruta 2 2 2 2 1 1 4 2 6 1 2 2 2 3 3 3 1 1 1 1 maszyny 5. Wnioski końcowe wyroby 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Rys. 2. Najlepsze rozwiązanie dla problemu Nagi Istnieje bogata literatura opisująca algorytmy optymalizacyjne i heurystyczne dla problemu formowania komórek produkcyjnych. Praktyczne ich zastosowanie jest jednak ograniczone ze względu na rozmiary problemów albo małą elastyczność. Autor [10] zaproponował prosty i elastyczny algorytm strategii ewolucyjnej dla rozwiązania grupowania wyrobów i maszyn. Dzięki zastosowanej reprezentacji oraz sposobowi mutacji, którym podlegają zarówno separatory jak i elementy, zaproponowany algorytm działa dużo szybciej niż bardziej skomplikowane, specjalizowane algorytmy genetyczne. W niniejszej pracy zaproponowano rozszerzenie oryginalnego algorytmu. Zastosowana reprezentacja umożliwia generowanie rozwiązań, które uwzględniają występowanie funkcjonalnie identycznych maszyn (alternatywnych marszrut). Wyniki eksperymentów jeszcze raz potwierdziły siłę algorytmów ewolucyjnych, która polega na zdolności do generowania bardzo dobrych rozwiązań bez wnikania w strukturę problemu.
Literatura [1] Gallagher C.C., Knight W.A., Group technology production methods in manufacture, Ellis Horwood Limited, New York 1986. [2] Falkenauer E., A new representation and operators for GAs applied to grouping problems, Evolutionary Computation, 2(2)/1994. [3] Joines J.A., Culbreth C.T., King R.E., Manufacturing cell design: An integer programming model employing genetic, IIE Transactions, 28(1)/1996. [4] Joines J.A., King R.E., Culbreth C.T.: A comprehensive review of production-oriented manufacturing cell formation techniques, International Journal of Flexible Automation and Integrated Manufacturing, 3(3&4)/1996. [5] Joines J.A., King R.E., Culbreth C.T., Moving beyond the parts incidence matrix: alternative routings and operations for the cell formation problem, www.ie.nscu.edu/joines/papers. [6] King J.R., Nakornchai V., Machine-component group formation in group technology: Review and extension, International Journal of Production Research, 20(2)/1982. [7] Kusiak A., Part families selection model for flexible manufacturing systems, International Journal of Production Research, 28(2)/1983. [8] Nagi R., Harhalakis G., Proth J.M., Multiple routings and capacity considerations in group technology applications, International Journal of Production Research, 28(12)/1990. [9] Ng S., Worst-case analysis of an algorithm for cellular manufacturing, EJOR, 69(3)/1993. [10]Stawowy A., Strategia ewolucyjna dla problemu grupowania wyrobów, Komputerowo zintegrowane zarządzanie, tom 2, pod red. Ryszarda Knosali, Wydawnictwa Naukowo-Techniczne, Warszawa 2000.