Zastosowanie nowego operatora krzy owania w rozwi¹zywaniu problemu gniazdowego z transportem

Podobne dokumenty
IV. UK ADY RÓWNAÑ LINIOWYCH

(wymiar macierzy trójk¹tnej jest równy liczbie elementów na g³ównej przek¹tnej). Z twierdzen 1 > 0. Zatem dla zale noœci

Rys Mo liwe postacie funkcji w metodzie regula falsi

gdy wielomian p(x) jest podzielny bez reszty przez trójmian kwadratowy x rx q. W takim przypadku (5.10)

1. Rozwiązać układ równań { x 2 = 2y 1

Projektowanie procesów logistycznych w systemach wytwarzania

III. INTERPOLACJA Ogólne zadanie interpolacji. Niech oznacza funkcjê zmiennej x zale n¹ od n + 1 parametrów tj.

Witold Bednarek. Konkurs matematyczny w gimnazjum Przygotuj siê sam!

Analiza dzia³ania systemu gniazdowego z uwzglêdnieniem transportu i czasów przezbrojeñ**

Podstawowe działania w rachunku macierzowym

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc

Innym wnioskiem z twierdzenia 3.10 jest

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI

MATEMATYKA 4 INSTYTUT MEDICUS FUNKCJA KWADRATOWA. Kurs przygotowawczy na studia medyczne. Rok szkolny 2010/2011. tel

Konkurs matematyczny dla uczniów gimnazjum

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

3.2 Warunki meteorologiczne

Wiedza niepewna i wnioskowanie (c.d.)

SYMULACJA STOCHASTYCZNA W ZASTOSOWANIU DO IDENTYFIKACJI FUNKCJI GÊSTOŒCI PRAWDOPODOBIEÑSTWA WYDOBYCIA

EGZAMIN MATURALNY Z INFORMATYKI CZERWIEC 2011 POZIOM ROZSZERZONY WYBRANE: CZĘŚĆ I. Czas pracy: 90 minut. Liczba punktów do uzyskania: 20

Matematyka ubezpieczeń majątkowych r.

NUMER IDENTYFIKATORA:

(0) (1) (0) Teoretycznie wystarczy wzi¹æ dowoln¹ macierz M tak¹, by (M) < 1, a nastêpnie obliczyæ wektor (4.17)

EGZAMIN MATURALNY Z MATEMATYKI

Elementy cyfrowe i układy logiczne

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI

Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.

Arkusz zawiera informacje prawnie chronione do momentu rozpocz cia egzaminu.

Wprowadzenie do równań ró znicowych i ró zniczkowych.

DZIA 3. CZENIE SIÊ ATOMÓW

'()(*+,-./01(23/*4*567/8/23/*98:)2(!."/+)012+3$%-4#"4"$5012#-4#"4-6017%*,4.!"#$!"#%&"!!!"#$%&"#'()%*+,-+

14.Rozwiązywanie zadań tekstowych wykorzystujących równania i nierówności kwadratowe.

ARKUSZ WICZENIOWY Z MATEMATYKI MARZEC 2012 POZIOM PODSTAWOWY. Czas pracy: 170 minut. Liczba punktów do uzyskania: 50

Zadania. SiOD Cwiczenie 1 ;

Projektowanie logistycznych gniazd przedmiotowych

Regulamin Krêgów Harcerstwa Starszego ZHR

6. Projektowanie składu chemicznego stali szybkotn cych o wymaganej twardo ci i odporno ci na p kanie

EGZAMIN MATURALNY Z MATEMATYKI

UCHWAŁ A SENATU RZECZYPOSPOLITEJ POLSKIEJ. z dnia 18 października 2012 r. w sprawie ustawy o zmianie ustawy o podatku dochodowym od osób fizycznych

Twierdzenie Bayesa. Indukowane Reguły Decyzyjne Jakub Kuliński Nr albumu: 53623

Harmonogramowanie projektów Zarządzanie czasem

PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI

EGZAMIN MATURALNY Z INFORMATYKI

Instrukcja obsługi platformy zakupowej e-osaa (klient podstawowy)

POMOC PSYCHOLOGICZNO-PEDAGOGICZNA Z OPERONEM. Vademecum doradztwa edukacyjno-zawodowego. Akademia

Blokady. Model systemu. Charakterystyka blokady

Regulamin szkolnego konkursu matematycznego dla uczniów klasy II i III: Mały Matematyk

L A K M A R. Rega³y DE LAKMAR

Od redakcji. Symbolem oznaczono zadania wykraczające poza zakres materiału omówionego w podręczniku Fizyka z plusem cz. 2.

Równoleg³y algorytm hybrydowy dla problemu przep³ywowego z kryterium C sum

Problemy optymalizacyjne - zastosowania

Zagadnienia transportowe

1 Rozk ad normalny. Szczególnym przypadkiem jest standardowy rozk ad normalny N (0; 1), wartości

ZASADY WYPEŁNIANIA ANKIETY 2. ZATRUDNIENIE NA CZĘŚĆ ETATU LUB PRZEZ CZĘŚĆ OKRESU OCENY

CONSTRUCTOR. Kompaktowy magazyn z u yciem rega³ów wjezdnych. Deepstor P90 DRIVE -IN

DE-WZP JJ.3 Warszawa,

POMIAR STRUMIENIA PRZEP YWU METOD ZWÊ KOW - KRYZA.

7. REZONANS W OBWODACH ELEKTRYCZNYCH

Matematyka na szóstke

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej

Architektura komputerów

RUCH KONTROLI WYBORÓW. Tabele pomocnicze w celu szybkiego i dokładnego ustalenia wyników głosowania w referendum w dniu 6 września 2015 r.

Podstawy programowania

Bazy danych. Andrzej Łachwa, UJ, /15

Kurs wyrównawczy dla kandydatów i studentów UTP

Warunki Oferty PrOmOcyjnej usługi z ulgą

Ćwiczenie: "Ruch harmoniczny i fale"

EGZAMIN MATURALNY Z MATEMATYKI

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

REGULAMIN TURNIEJU SPORTOWEJ GRY KARCIANEJ KANASTA W RAMACH I OGÓLNOPOLSKIEGO FESTIWALU GIER UMYSŁOWYCH 55+ GORZÓW WLKP R.

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 6, strona 1. Format JPEG

Podstawowe pojęcia: Populacja. Populacja skończona zawiera skończoną liczbę jednostek statystycznych

CZY JEDNYM POSUNIÊCIEM DA SIÊ ROZWI ZAÆ WSZYSTKIE UK ADY DWÓCH RÓWNAÑ LINIOWYCH?

Przykªady problemów optymalizacji kombinatorycznej

Predykcja stóp procentowych na pieniê nym rynku miêdzybankowym oraz rynku kredytowym z wykorzystaniem sieci neuronowych

Polska-Warszawa: Usługi w zakresie napraw i konserwacji taboru kolejowego 2015/S

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

PK Panie i Panowie Dyrektorzy Izb Skarbowych Dyrektorzy Urzędów Kontroli Skarbowej wszyscy

EGZAMIN MATURALNY Z INFORMATYKI

Automatyzacja pakowania

Załącznik nr 4 UMOWA O REALIZACJI PRAKTYKI STUDENCKIEJ

POLITECHNIKA WROCŠAWSKA WYDZIAŠ ELEKTRONIKI PRACA DYPLOMOWA MAGISTERSKA

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

Regulamin konkursu na Logo Stowarzyszenia Wszechnica Zawodowa Nasza Szkoła

INSTRUKCJA OBSŁUGI URZĄDZENIA: HC8201

Steelmate - System wspomagaj¹cy parkowanie z oœmioma czujnikami

Wartości domyślne, szablony funkcji i klas

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

1 Praktyczne metody wyznaczania podstawowych miar bez zastosowania komputerów

Przyk³adowe zdania. Wydawnictwo Szkolne OMEGA. Zadanie 1. Zadanie 2. Zadanie 3. Zadanie 4. Zadanie 5. Zadanie 6. Zadanie 7. Zadanie 8. Zadanie 9.

Rekompensowanie pracy w godzinach nadliczbowych

Wynagrodzenia i świadczenia pozapłacowe specjalistów

Matematyka na szóstke

art. 488 i n. ustawy z dnia 23 kwietnia 1964 r. Kodeks cywilny (Dz. U. Nr 16, poz. 93 ze zm.),

Programowanie dynamiczne

Kto poniesie koszty redukcji emisji CO2?

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia: zrd.poznan.pl; bip.poznan.

Transkrypt:

AUTOMATYKA 2007 Tom 11 Zeszyt 1 2 Adam Tyñski* Zastosowanie nowego operatora krzy owania w rozwi¹zywaniu problemu gniazdowego z transportem 1. Wprowadzenie Oczywisty wymóg zwiêkszania wydajnoœci elastycznych systemów produkcyjnych przek³ada siê miêdzy innymi na: (i) zwiêkszenie precyzji modelowania ich pracy, (ii) zwiêkszenie efektywnoœci algorytmów szeregowania wykonywanych w nich zadañ. Zwiêkszenie precyzji modelowania mo na osi¹gn¹æ poprzez uwzglêdnienie dodatkowych ograniczeñ technologicznych, takich jak np. skoñczona liczba i pojemnoœæ buforów, niezerowe czasy przezbrojeñ czy (rozwa ane w tej pracy) czasy transportu pomiêdzy maszynami produkcyjnymi. Ze wzglêdu na NP-trudnoœæ zdecydowanej wiêkszoœci problemów szeregowania zadañ, w ostatnich latach dynamiczny rozwój prze ywaj¹ algorytmy heurystyczne, w szczególnoœci algorytmy lokalnych poszukiwañ. Efektywnoœæ tych algorytmów mo na zwiêkszyæ np. poprzez zaopatrzenie ich w odpowiednie mechanizmy eksploracji szczególnie obiecuj¹cych obszarów przestrzeni rozwi¹zañ. Zachowanie odpowiedniego balansu pomiêdzy dywersyfikacj¹ oraz intensyfikacj¹ obliczeñ mog¹ zapewniæ hybrydowe algorytmy genetyczne wykorzystuj¹ce np. nowoczesne operatory krzy owania i algorytmy poszukiwañ z zabronieniami. W pracy zosta³ przedstawiony nowy quasi-operator krzy owania, nazwany operatorem MX. Z operatora wyeliminowano wiele wad innych operatorów tego typu opisanych w literaturze przy jednoczesnym zachowaniu ich najwa niejszych zalet. Przyk³adem mo e tu byæ zachowanie idei œcie ki ³¹cz¹cej przy jednoczesnym uproszczeniu parametryzacji operatora (poprzez ograniczenie do minimum liczby wymaganych parametrów). Operator zosta³ osadzony w hybrydowym algorytmie genetycznym, wykorzystuj¹cym w trakcie swojej pracy m. in. algorytm poszukiwañ z zabronieniami. Algorytm genetyczny zosta³ u yty do heurystycznego rozwi¹zania uogólnienia problemu gniazdowego, w którym ka de zadanie nale y dodatkowo przetransportowaæ pomiêdzy jednomaszynowymi gniazdami produkcyjnymi. Ka dego transportu nale y dokonaæ przy u yciu jednego z dostêpnych w systemie wózków AGV, których liczba jest ograniczona. Zak³ada siê, e przydzia³ * Instytut Informatyki, Automatyki i Robotyki, Politechnika Wroc³awska 297

298 Adam Tyñski transportów do poszczególnych wózków nie jest znany i stanowi dodatkow¹ zmienn¹ decyzyjn¹. Zak³ada siê te, e wózki pracuj¹ w trybie zabierz i zostaw, co oznacza, e po zostawieniu transportowanego detalu w danym gnieÿdzie produkcyjnym wózek mo e wykonaæ tzw. przejazd pusty (przejazd bez za³adunku) do innego gniazda i tam rozpoczyna kolejny transport. Problem polega na odnalezieniu takiej kolejnoœci wykonania poszczególnych operacji i transportów, by kryterium optymalizacji moment zakoñczenia wykonywania wszystkich zadañ przyjê³o wartoœæ minimaln¹. Przedstawiony w tej pracy algorytm zosta³ poddany badaniom numerycznym przy u yciu odpowiednio dobranych instancji testowych. W wyniku przeprowadzonych analiz okazuje siê, e algorytm ten dostarcza wysokiej jakoœci rozwi¹zañ badanego problemu. 2. Model matematyczny Model matematyczny problemu by³ ju omawiany, np. w pracy [1], dlatego poni ej przedstawia siê tylko jego najwa niejsze elementy. Dany jest zbiór m p maszyn produkcyjnych M p = {1, 2,..., m p } i zbiór m t maszyn transportowych (uto samianych z wózkami AGV) M t = {m p +1, m p + 2,..., m p + m t }; M = M p M t, m = M = m p + m t. Dany jest zbiór r zadañ J = {1, 2,..., r}. Ka de zadanie k J sk³ada siê z sekwencji n k operacji produkcyjnych, indeksowanych przez j k +1, j k + 2,..., j k + n k, które powinny byæ wykonane w tej kolejnoœci; j k 1 k = i= 1 ni, j1 = 0. Przez O p = {1, 2,..., n p } bêdzie oznaczany zbiór wszystkich operacji produkcyjnych, gdzie n = k J nk. Ka d¹ operacjê produkcyjn¹ a O p p p nale y wykonaæ na maszynie ma ( ) μ( a) M w czasie p a > 0, przy czym przyjmuje siê, e μ ( a) = 1. Zak³ada siê, e ka de dwie kolejne operacje produkcyjne tego samego zadania nie mog¹ byæ wykonywane na tej samej maszynie produkcyjnej. Transport zadania k J i przejazd pusty maszyny transportowej pomiêdzy maszynami x, y M p, x y, wymaga odpowiednio t k (x, y) > 0 i e(x, y) > 0 czasu; t k (x, x) = e(x, x) = 0. Zak³ada siê, e czasy transportu i przejazdów pustych spe³niaj¹ silny warunek trójk¹ta oraz zale noœæ t k (x, y) e(x, y), x, y M p. Pomiêdzy ka d¹ par¹ s¹siednich operacji produkcyjnych j k + i oraz j k + i + 1, 1 i < n k, zadania k J jest wykonywana operacja transportowa, oznaczana symbolem a = [ j k + i]. Operacja a powinna byæ wykonana przez dowoln¹ maszynê t transportow¹ ma ( ) μ( a) M w czasie p a = t k (x, y), gdzie x = m( j k + i) oraz y = m( j k + i + 1). Zak³ada siê, e czas transportu p a zadania a nie zale y od maszyny m(a) μ(a). Zbiór t n 1 wszystkich operacji transportowych bêdzie oznaczany przez k1 O = Uk JUi= {[ jk + i]}. t t p Ca³kowita liczba operacji transportowych wynosi n = O = k J( nk 1) = n r. W celu wprowadzenia kompletnej notacji definiuje siê zbiór wszystkich operacji O = O p O t oraz liczbê wszystkich operacji n = O = n p + n t. Po wykonaniu operacji a = [ j g + i], 1 i < n g, g J, i przed wykonaniem operacji b = [ j k + h], 1 h < n k, k J, maszyna transportowa wykonuje przejazd pusty pomiêdzy maszynami x = m( j g + i + 1), y = m( j k + h), który trwa e(x, y) jednostek czasu. Przejazd pusty wygodnie jest uto samiæ z przezbrojeniem s(a, b) = e(x, y) maszyny transportowej, wykonywanym pomiêdzy operacjami a, b. W ten sposób zdefiniowane czasy przezbrojeñ spe³niaj¹ s³aby warunek trójk¹ta.

Zastosowanie nowego operatora krzy owania... 299 Uszeregowaniem bêdzie nazywany zbiór par S = {( S1, m(1)), ( S2, m(2)),..., ( Sn, m( n))}, gdzie m(i) μ(i) jest maszyn¹ wybran¹ do wykonania operacji i O, zaœ S i jest czasem rozpoczêcia jej wykonywania. Uszeregowanie jest dopuszczalne, gdy spe³nia ograniczenia typowe dla klasycznego problemu gniazdowego. Problem polega na odnalezieniu takiego uszeregowania dopuszczalnego, by moment zakoñczenia wykonywania procesu technologicznego, równy max i OSi + pi, przyj¹³ wartoœæ minimaln¹. Problem jest silnie NP-trudny. 3. Reprezentacja rozwi¹zañ i miary odleg³oœci W algorytmach genetycznych przestrzeñ rozwi¹zañ (zbiór wszystkich uszeregowañ) jest odwzorowywana w zbiór ci¹gów kodowych skoñczonej d³ugoœci (zwanych osobnikami b¹dÿ chromosomami). Dla problemów gniazdowych znane jest przynajmniej dziewiêæ reprezentacji rozwi¹zañ, spoœród których jedn¹ z najbardziej popularnych wydaje siê reprezentacja bazuj¹ca na listach preferencyjnych. W tym podejœciu uszeregowanie jest odwzorowywane w zestaw permutacji podzia³u roz³¹cznego zbioru operacji, opisany poni ej. Niech θ = {O 1, O 2,..., O m } oznacza podzia³ roz³¹czny zbioru O taki, e k O! l μ( k) k Ol. Niech Θ okreœla zbiór wszystkich podzia³ów roz³¹cznych zbioru O spe³niaj¹cych powy szy warunek. Nie trudno zauwa yæ, e dla ka dego podzia³u θ Θ zbiory O1,..., O p s¹ takie same, natomiast zbiory m O m p 1,..., O + m stanowi¹ dowolny podzia³ roz³¹czny zbioru O t. Niech π = (π 1,..., π m ) bêdzie zestawem permutacji podzia³u roz- ³¹cznego zbioru O, gdzie π l = ( πl(1),..., π l( ol)), ol = Ol, jest permutacj¹ zbioru O l, okreœlaj¹c¹ preferowan¹ kolejnoœæ (listê preferencyjn¹) wykonania operacji z tego zbioru na maszynie l. Niech Π 0 bêdzie zbiorem wszystkich zestawów permutacji. Dla uproszczenia, w dalszej czêœci pracy zestaw permutacji π Π 0 bêdzie nazywany permutacj¹ b¹dÿ po prostu rozwi¹zaniem problemu. Permutacja π reprezentuj¹ca uszeregowanie dopuszczalne bêdzie nazywana permutacj¹ dopuszczaln¹ (rozwi¹zaniem dopuszczalnym), zaœ zbiór wszystkich permutacji dopuszczalnych bêdzie oznaczany symbolem Π Π 0. Symbolem θ(π) Θ bêdzie oznaczany podzia³ roz³¹czny, którego permutacj¹ jest permutacja π Π 0. W dalszych rozwa aniach istotne bêdzie pojêcie odleg³oœci pomiêdzy permutacjami. Przedstawiona poni ej miara odleg³oœci, omawiana ju wczeœniej, np. w pracy [2], bazuje na reprezentacji permutacji w n-wymiarowej przestrzeni Euklidesowej. Mianowicie, dla dowolnej permutacji π Π 0 mo na okreœliæ punkt A = (a 1, a 2,..., a n ) R n taki, e a ϕ(i) = π 1 (i), i O, gdzie ϕ: O {1, 2,..., n} jest dowoln¹ funkcj¹ odwzorowuj¹c¹ zbiór operacji w podzbiór zbioru liczb naturalnych. Symbol π 1 oznacza tutaj permutacjê odwrotn¹ do permutacji π, tj. spe³nia równanie π m(i) (π 1 (i)) = i dla ka dej operacji i O. Mo liwe jest zatem zdefiniowanie miary odleg³oœci n 2 e( πσ, ) = AB = ( ai bi) (1) i= 1 pomiêdzy permutacjami π, σ Π 0 równej odleg³oœci euklidesowej pomiêdzy punktami A = (a 1, a 2,..., a n ), B = (b 1, b 2,..., b n ), reprezentuj¹cymi owe permutacje w przestrzeni R n.

300 Adam Tyñski Wiele w³asnoœci przedstawionej wy ej miary geometrycznej pozostaje nieznane. Nale- y tu jednak podkreœliæ, e w przeciwieñstwie do wielu innych powszechnie u ywanych miar odleg³oœci miara ta jest poprawnie okreœlona dla dowolnej pary permutacji (π, σ) Π 0, tzn. równie w sytuacji, w której θ(π) θ(σ). Faktem jest te istnienie istotnej dodatniej korelacji pomiêdzy miar¹ geometryczn¹ i czêsto u ywan¹ miar¹ tau Kendalla (oczywiœcie tylko w przypadku tych par permutacji (π, σ), dla których miara tau Kendala jest okreœlona, tzn. gdy θ(π) = θ(σ)). Mo na zatem siê spodziewaæ, e wiele rezultatów prawdziwych dla miary tau Kendalla jest te prawdziwe dla miary geometrycznej. 4. Operator krzy owania i algorytm genetyczny W algorytmie genetycznym podczas krzy owania z dwóch chromosomów macierzystych formowane s¹ chromosomy potomne wskutek wymiany miejscami ich fragmentów. W przypadku reprezentacji rozwi¹zañ bazuj¹cej na listach preferencyjnych, w procesie krzy owania konieczne jest u ycie odpowiednich operatorów. U ycie operatorów krzy owania gwarantuje tzw. legalnoœæ chromosomów potomnych, tzn. w wyniku krzy owania dwóch permutacji zawsze powstaje permutacja. Operatory krzy owania powinny byæ te dobrane w ten sposób, by ich u ycie pozwoli³o na dostateczn¹ eksploracjê przestrzeni rozwi¹zañ. W przypadku problemów szeregowania zadañ dobr¹ alternatyw¹ wydaje siê stosowanie quasi-operatorów rekombinacji wykorzystuj¹cych ideê œcie ki ³¹cz¹cej (path relinking). W myœl tej idei, operator krzy owania posiada cechy algorytmu lokalnych poszukiwañ poszukuj¹cego najlepszych rozwi¹zañ znajduj¹cych siê na œcie ce ³¹cz¹cej dwa krzy owane ze sob¹ chromosomy macierzyste. Taka strategia poszukiwañ ma szczególne znaczenie w przypadku problemów, dla których wykazano obecnoœæ tzw. wielkiej doliny w krajobrazie ich przestrzeni rozwi¹zañ (patrz. np. [3]). Œcie ka ³¹cz¹ca mo e byæ zdefiniowana na wiele sposobów, jak równie mo na stosowaæ wiele strategii jej przemierzania. Jednymi z najbardziej znanych quasi-operatorów s¹ operatory MSXF oraz MSMF [3]. Ich zalet¹ jest to, e w trakcie swojej pracy generuj¹ tylko permutacje dopuszczalne. Jednak e ich u ycie wi¹ e siê z koniecznoœci¹ doboru szeregu parametrów i elementów sk³adowych, zale nych od specyfiki rozwi¹zywanego problemu. Koniecznoœæ ta znacznie utrudnia u ycie operatorów w praktyce, a w przypadku niektórych problemów czyni operatory stosunkowo ma³o efektywnymi. Dlatego uzasadnione s¹ próby projektowania nowych operatorów o podobnej zasadzie dzia³ania, których efektywnoœæ nie jest determinowana przez dobór elementów zale nych od specyfiki problemu. W pracy [2] zosta³ przedstawiony quasi-operator krzy owania GX, który pierwotnie by³ wykorzystywany w rozwi¹zywaniu klasycznego problemu gniazdowego z kryterium C sum. W operatorze tym, podobnie jak w operatorach MSXF i MSMF, wykorzystuje siê ideê œcie - ki ³¹cz¹cej. Wykorzystuje siê te geometryczn¹ miarê odleg³oœci pomiêdzy permutacjami, dan¹ równaniem (1). Aby zastosowaæ operator GX w algorytmie rozwi¹zywania badanego problemu, nale y go jednak poddaæ pewnej modyfikacji; w klasycznym problemie gniazdowym zak³ada siê, e przydzia³ wszystkich operacji do maszyn jest z góry ustalony. Oznacza to, e moc zbioru podzia³ów roz³¹cznych spe³niaj¹cych warunek k O! l μ( k) k Ol wynosi wtedy Θ = 1, co oczywiœcie nie jest prawd¹ w przypadku problemu opisywanego w tej pracy.

Zastosowanie nowego operatora krzy owania... 301 Rozwa my dwie permutacje π, σ Π 0 takie, e θ(π) θ(σ). Istot¹ modyfikacji operatora GX jest umo liwienie jego zastosowania do permutacji π oraz σ. Z za³o enia, w wyniku wykonania jednego z kroków ka dej z maxiterx iteracji bêdzie formowany zestaw permutacji δ podzia³u θδ ( ) = { O1, O2,..., Om}, ol = Ol, l M, gdzie maxiterx jest parametrem. Nale y zatem znaleÿæ metodê konstrukcji podzia³u θ(δ). Najbardziej naturalnym rozwi¹zaniem wydaje siê byæ dodanie ka dej operacji i O z równym prawdopodobieñstwem do zbioru O k albo zbioru O l, gdzie k = m π (i), l = m σ (i). Symbole m π (i), m σ (i) oznaczaj¹ tu maszyny wybrane do wykonania operacji i w odpowiedniej permutacji π oraz σ. Operator MX, powsta³y w wyniku wprowadzenia powy szej modyfikacji do operatora GX, zosta³ przedstawiony poni ej. Schemat operatora MX Operator rozpoczyna dzia³anie z ustalonymi permutacjami π, σ i parametrem maxiterx. Operator zwraca permutacjê dopuszczaln¹ π* i wartoœæ funkcji celu C*. Krok 1. Okreœl funkcjê ϕ i znajdÿ punkty A, B R n odpowiadaj¹ce permutacjom π oraz σ. Po³ó A': = A, B': = B, π *: =, C*: = oraz iter : = 0. Po³ó Oi : =, i = 1,..., m. Krok 2. Dla ka dej operacji k O wykonaj krok 3. Krok 3. Wylosuj liczbê r z przedzia³u (0, 1). Je eli r 0,5, to po³ó m(k) := m π (k). W przeciwnym przypadku po³ó m(k) := m σ (k). Po³ó O m(k) := O m(k) k. Krok 4. Po³ó W i := {1,..., o i }, i = 1,..., m. Utwórz listê γ = (γ 1,..., γ n ) tak¹, e γ(i) = 0, i = 1, 2,..., n. Krok 5. Wylosuj liczbê r z przedzia³u (0, 1). ZnajdŸ punkt C = (c 1, c 2,..., c n ) taki, e AB = AC + CB oraz AC = r AB. Dla ka dego k O wykonuj krok 6. Krok 6. Po³ó l := m(k). ZnajdŸ t = min i W c ( ). l ϕ k i Wylosuj element z ze zbioru { i Wl : cϕ( k) i = t}. Po³ó γϕ ( ( k)): = z oraz Wl : = Wl \{ z}. Krok 7. Utwórz permutacjê δ tak¹, e δ 1 = γ. Krok 8. Po³ó ( ϖ, Cmax ( ϖ ) : = P( PWK( δ )). Je eli C max ( ϖ ) < C*, to po³ó π *: =ϖ, C*: = Cmax ( ϖ). Krok 9. ZnajdŸ punkt A R n odpowiadaj¹cy permutacji ϖ. Wylosuj liczbê r z przedzia- ³u (0, 1). Je eli r 0,5, to po³ó B :=A'. W przeciwnym przypadku po³ó B :=B'. Krok 10. Po³ó iter : = iter + 1. Je eli iter < max iterx, to idÿ do kroku 4. W przeciwnym przypadku zwróæ permutacjê π*, wartoœæ funkcji celu C* i STOP. Operator MX rozpoczyna dzia³anie z ustalonymi permutacjami π, σ i parametrem maxiterx. W kroku 1 procedury tworzone s¹ punkty A = (a 1,..., a n ), B = (b 1,..., b n ) odpowiadaj¹ce permutacjom π, σ skonstruowane w myœl zasady przedstawionej w punkcie 3. W krokach 2, 3 tworzony jest podzia³ θ = (O 1,..., O m ), wykorzystywany przy konstrukcji permutacji potomnej. W kroku 4 tworzony jest zbiór W = (W 1, W 2,..., W m ), gdzie W l, l M, jest zbiorem pozycji, na których mog¹ siê znajdowaæ operacje wykonywane na maszynie l w permutacji odwrotnej γ. W kroku 5 wyznaczany jest punkt C le ¹cy na odcinku pomiêdzy punktami A, B, oddalony o r jednostek od punktu A. W kroku 6 na podstawie punktu C

302 Adam Tyñski konstruowana jest permutacja odwrotna γ poprzez odpowiedni wybór elementów ze zbioru W. Permutacja δ, powsta³a w kroku 7, mo e byæ permutacj¹ niedopuszczaln¹. Aby przywróciæ jej cechy dopuszczalnoœci, w kroku 8 zosta³ u yty algorytm priorytetowy (patrz. np. [4]) ze specyficzn¹ regu³¹ priorytetow¹ PWK(δ). Zgodnie z t¹ regu³¹ najwy szy priorytet ma operacja znajduj¹ca siê najbli ej pocz¹tku permutacji δ l, l M. Bardziej precyzyjnie, niech OK l bêdzie zbiorem operacji konfliktowych na maszynie l M. Wtedy, zgodnie z powy sz¹ regu³¹, najwy szy priorytet w tym zbiorze przyjmuje operacja i nale ¹ca do jednoelementowego zbioru { j OKl : δ ( j) = min k OK l 1 1 δ ( k)}. Zapis ( ϖ, Cmax ( ϖ ): = P( PWK( δ )) oznacza tutaj zastosowanie algorytmu priorytetowego z regu³¹ PWK(δ) do permutacji δ. W wyniku dzia³ania algorytmu konstruowana jest permutacja dopuszczalna ϖ z wartoœci¹ funkcji celu C max (ϖ). Operator zwraca najlepsz¹ permutacjê dopuszczaln¹ π*, odnalezion¹ w trakcie maxiterx iteracji kroków 4 10. Warto podkreœliæ, e poza permutacjami π, σ, parametr maxiterx jest jedynym parametrem wymaganym przez operator MX. Przedstawiony wy ej operator krzy owania zosta³ osadzony w schemacie algorytmu genetycznego, zaproponowanego przez Reevesa i Yamadê [3]. Dla zachowania ci¹g³oœci wywodu nowo powsta³y algorytm GAMX zostanie przedstawiony poni ej w ca³oœci. Schemat algorytmu GAMX Algorytm rozpoczyna dzia³anie z parametrem maxp, parametrem maxiterx (dla operatora MX) i parametrami maxiter, maxl, maxδ, maxc, max_s, max_i, maxt (dla algorytmu AM AGV ). Algorytm zwraca najlepsze znalezione rozwi¹zanie dopuszczalne i jego wartoœæ funkcji celu. Krok 1. Generuj populacjê F = {π 1, π 1,..., π maxp }, k³ad¹c (π i, C max (π i )) := P(RAN). i i+ 1 Krok 2. Uszereguj osobniki na liœcie F w ten sposób, by Cmax ( π ) Cmax ( π ), i = 1, 2,..., maxp 1. Krok 3. Wylosuj dwa osobniki π i, π j, i j, z prawdopodobieñstwem odwrotnie proporcjonalnym do ich pozycji i, j na liœcie F. i j Krok 4. Po³ó (, γ Cmax ()): γ = MX( π, π ). Krok 5. Po³ó ( δ, Cmax ( δ )): = AM AGV ( γ). maxp i Krok 6. Je eli Cmax ( δ ) < Cmax ( π ) oraz Cmax ( δ) Cmax ( π ), maxp i = 1, 2,..., maxp 1, to po³ó π : = δ. Krok 7. Testuj kryterium stopu. Je eli kryterium stopu nie jest spe³nione, to idÿ do kroku 2. W przeciwnym przypadku zwróæ najlepsze rozwi¹zanie na liœcie F, jego wartoœæ funkcji celu i STOP. Za kryterium stopu algorytmu (w kroku 7) mo na przyj¹æ ograniczenie czasowe. Pewnego komentarza wymagaj¹ kroki 1, 4, 5. W kroku 1 populacjê F wygenerowano w sposób losowy za pomoc¹ algorytmu priorytetowego. W kroku 4 przez zapis ( δ, Cmax ( δ ): = MX( π, σ) nale y rozumieæ zastosowanie operatora MX do permutacji π, σ, gdzie δ jest permutacj¹ dopuszczaln¹, powsta³¹ w wyniku dzia³ania operatora. W kroku 5 do poprawy permutacji γ u yto algorytmu poszukiwañ z zabronieniami AM AGV opisanego w pracy [1]. Algorytm GAMX mo e byæ zatem postrzegany jako schemat dywersyfikacji obliczeñ dla algorytmu

Zastosowanie nowego operatora krzy owania... 303 AM AGV. Algorytm AM AGV wymaga okreœlenia szeregu parametrów, takich jak maxiter maksymalna liczba iteracji bez poprawy najlepszej wartoœci funkcji celu, maxl maksymalna d³ugoœæ listy dla skoków powrotnych, maxδ i maxc parametry u ywane w detektorze cykli, max_s, max_i maksymalna d³ugoœæ list tabu, czy ograniczenie czasu pracy algorytmu maxt. Poprzez zapis ( δ, Cmax ( δ )): = AM AGV () γ nale y rozumieæ zastosowanie algorytmu AM AGV do permutacji γ, gdzie δ jest zwrócon¹ permutacj¹. 5. Wyniki badañ eksperymentalnych Celem przeprowadzonych badañ numerycznych by³o sprawdzenie, czy i w jakim stopniu algorytm GAMX poprawia rozwi¹zania dostarczone przez algorytm AM AGV. W trakcie badañ wykorzystano zestaw instancji testowych, które mo na opisaæ nastêpuj¹co. Instancje te zosta³y wygenerowane na bazie 40 instancji testowych Lawrence a (LA01-LA40) dla klasycznego problemu gniazdowego, prezentowanych w pracy [5]. Instancje Lawrence a s¹ podzielone na 8 zestawów po 5 instancji o rozmiarach r m p, 10 5, 15 5, 20 5, 10 10, 15 10, 20 10, 30 10, 15 15. Poprzez uwzglêdnienie ró nych uk³adów maszyn produkcyjnych, dodanie ró nej liczby wózków AGV, ró nych kombinacji czasów transportu oraz przejazdów pustych zosta³o wygenerowane 480 instancji podzielonych na 40 zestawów oznaczanych przez TM01, TM02,..., TM40, po 12 instancji w ka dym zestawie. Ka - da instancja ma swoj¹ unikaln¹ nazwê w formacie TMa / m t / b / c / d, gdzie a, b, c, d s¹ zmiennymi, zaœ m t {2, 4} okreœla liczbê wózków AGV. Zmienna a {1,..., 40} oznacza numer instancji Lawrence a, która podlega modyfikacji. Bardziej precyzyjnie, dla ka dej instancji z grupy TMa przyjmuje siê liczbê maszyn produkcyjnych, liczbê zadañ i operacji produkcyjnych, czasy wykonania oraz przydzia³ maszyn do operacji produkcyjnych taki sam jak dla instancji LAa. Zmienna b {1, 2} okreœla typ uk³adu maszyn produkcyjnych. Rozpatrywane by³y dwa, spoœród najbardziej popularnych uk³adów maszyn. Dla b = 1 oraz b = 2 przyjêto odpowiednio uk³ad typu pêtla oraz uk³ad typu siatka. Zmienne c i d s¹ wspó³czynnikami skaluj¹cymi odpowiednio czasów przejazdów pustych i czasów transportu; mog¹ przyjmowaæ jedn¹ z trzech par wartoœci, (c, d) {(2, 2), (2, 5), (5, 5)}. Ostatecznie, dla ka dej pary maszyn produkcyjnych l 1, l 2 M p, przyjmuje siê e(l 1, l 2 ) = c g(l 1, l 2 ) oraz t k (l 1, l 2 ) = d g(l 1, l 2 ), k J, gdzie g(l 1, l 2 ) jest funkcj¹ okreœlaj¹c¹ odleg³oœæ pomiêdzy maszynami l 1, l 2. Dla b = 1 przyjmuje siê: p m l1 l2, l1 l2 gl ( 2 1, l2) = p m l1 l2, w przeciwnym przypadku (2) Dla b = 2 funkcja g(l 1, l 2 ) przyjmuje postaæ: t g( l 2 1, l2) = t1 t2 + l1 t1 l2 + (3) 5

304 Adam Tyñski gdzie: ti li 1 li 1 = 5 + 1, i = 1, 2 5 5 (4) Dla ka dej operacji transportowej i O t okreœlony jest dwuelementowy zbiór μ () i = {, a a+ 1}, gdzie: t t ( zi 1) ( m 1) a = min m 1,1 + r zaœ z i jest numerem zadania, w ramach którego wykonywana jest operacja transportowa i O t. Spoœród wszystkich zestawów instancji najbardziej interesuj¹ce wydaj¹ siê zestawy TR16-25, oraz TR36-40 (w sumie 180 instancji) i g³ównie do nich bêd¹ ograniczone dalsze rozwa ania. Powodem tego zainteresowania jest stosunkowo niewielka liczba instancji rozwi¹zanych optymalnie w tych zestawach. Wszystkie instancje testowe zosta³y rozwi¹zane w sposób przybli ony przez algorytmy zaimplementowane w Delphi 6 i uruchamiane na komputerze z procesorem AMD Athlon XP 2500+ (1833 MHz). Algorytm AM AGV dla ka dej instancji TM zosta³ uruchomiony dwukrotnie z identycznymi wartoœciami parametrów jak w cytowanej pracy [1], tj. przyjêto maxl = 4, maxδ = 100, maxc = 2, max_s = 15, max_i = 5 oraz maxt = 10 minut. W pierwszym uruchomieniu przyjêto maxiter = 16 000. W drugim uruchomieniu przyjêto maxiter = 30 000 w momencie startu algorytmu i po ka dej poprawie wartoœci funkcji celu oraz maxiter = 10 000 po wykonaniu skoku powrotnego. Przez C bêdzie oznaczana wartoœæ funkcji celu najlepszego rozwi¹zania znalezionego przez algorytm dla ka dej badanej instancji. Sumaryczny czas pracy algorytmu dla ka dej instancji bêdzie oznaczany symbolem T. Algorytm GAMX zosta³ uruchomiony dla ka dej instancji szeœciokrotnie z ograniczeniem czasowym (kryterium stopu) wynosz¹cym odpowiednio 200, 400,..., 1200 sekund oraz ustalonymi wartoœciami parametrów maxl = 4, maxδ = 100, maxc = 2, maxiter = 16 000 oraz maxt = 20 minut. Wartoœci parametrów max_s, max_i przed ka dym wywo³aniem algorytmu AM AGV by³y losowane odpowiednio ze zbiorów {10, 11,..., 20}, {3, 4,..., 7}. W celu uproszczenia notacji, algorytm z ograniczeniem czasowym 200, 400,..., 1200 sekund bêdzie nazywany odpowiednio algorytmem GAMX1, GAMX2,..., GAMX6, zaœ zwrócone przez niego wartoœci funkcji celu bêd¹ oznaczane odpowiednio przez C MX1, C MX2,..., C MX6. Na podstawie wyznaczonych wielkoœci C A, A {MX1, MX2,..., MX6}, zosta³y obliczone procentowe poprawy Φ A = 100 % ( C C A )/ C wartoœci C przez algorytm genetyczny. Dla ka dego zestawu TM16-25, TM36-40 wyliczono œrednie arytmetyczne A avφ popraw oraz œrednie arytmetyczne avt sumarycznego czasu pracy algorytmu AM AGV i przedstawiono w tabeli 1. W tabeli 2 naniesione s¹ wartoœci funkcji celu najlepszych rozwi¹zañ znalezionych przez wszystkie algorytmy; je eli zachodzi C MX6 < C albo C MX6 = C, wartoœci C MX6 zosta³y odpowiednio pogrubione albo oznaczone kursyw¹. (5)

Zastosowanie nowego operatora krzy owania... 305 Œrednie arytmetyczne Tabela 1 avφ A popraw i czasu pracy avt algorytmu AM AGV TMa MX 1 avφ [%] MX 2 avφ [%] MX 3 avφ [%] MX 4 avφ [%] MX 5 avφ [%] MX 6 avφ [%] avt [s] TM16 0,36 0,43 0,44 0,44 0,44 0,48 37,2 TM17 0,07 0,09 0,09 0,09 0,09 0,09 76,2 TM18 0,46 0,50 0,50 0,50 0,54 0,54 54,4 TM19 0,36 0,45 0,51 0,51 0,52 0,53 66,4 TM20 0,12 0,15 0,16 0,16 0,16 0,18 43,5 TM21 0,20 0,17 0,15 0,01 0,07 0,08 191,0 TM22 0,53 0,44 0,34 0,28 0,18 0,18 282,1 TM23 0,32 0,27 0,13 0,10 0,08 0,07 243,8 TM24 0,47 0,58 0,59 0,65 0,70 0,74 335,8 TM25 0,22 0,02 0,08 0,16 0,18 0,23 220,8 TM36 1,23 0,62 0,55 0,51 0,37 0,30 704,6 TM37 1,48 0,93 0,47 0,31 0,28 0,28 602,4 TM38 2,44 1,96 1,80 1,66 1,57 1,54 796,8 TM39 1,37 1,14 0,70 0,62 0,50 0,44 691,0 TM40 1,27 0,91 0,76 0,70 0,54 0,46 748,0 Œrednia 0,48 0,28 0,17 0,11 0,05 0,03 339,6 Tabela 2 Wartoœci funkcji celu najlepszych rozwi¹zañ dla instancji z zestawów TM 16-25, TM 36-40 TMa 2/1/c/d 2/2/c/d 4/1/c/d 4/2/c/d 2/2 2/5 5/5 2/2 2/5 5/5 2/2 2/5 5/5 2/2 2/5 5/5 TM16 976 1040 1065 976 1017 1021 976 1040 1040 976 1017 1017 TM17 805 866 923 801 830 857 805 848 848 801 830 830 TM18 881 931 966 874 919 925 877 927 927 874 913 913 TM19 874 920 954 876 920 946 874 918 918 876 920 920 TM20 931 978 986 934 967 969 931 975 975 934 967 967 TM21 1082 1153 1224 1081 1157 1212 1082 1124 1126 1081 1123 1123 TM22 953 1078 1172 947 1017 1099 953 988 989 947 976 977 TM23 1032 1130 1213 1032 1065 1153 1032 1041 1044 1032 1035 1039 TM24 967 1149 1246 965 1063 1164 966 1022 1021 963 1007 1008 TM25 1001 1110 1210 999 1082 1146 1001 1041 1041 998 1043 1043 TM36 1430 2479 2759 1345 1761 2013 1357 1562 1720 1331 1406 1444 TM37 1530 2383 2690 1482 1731 1933 1501 1645 1741 1472 1557 1561 TM38 1391 2445 2751 1298 1635 1888 1313 1498 1641 1263 1337 1381 TM39 1378 2268 2516 1279 1669 1887 1308 1493 1596 1274 1365 1405 TM40 1364 2351 2642 1286 1679 1916 1293 1471 1605 1268 1355 1393

306 Adam Tyñski Jak widaæ, dla instancji z zestawów TM16-20 algorytm GAMX generuje rozwi¹zania nie gorsze ni algorytm AM AGV ju w stosunkowo krótkim horyzoncie czasowym. Algorytm GAMX6 poprawi³ wartoœæ C dla 26 instancji. Tylko 3 wartoœci C MX6 s¹ mniejsze od odpowiednich wartoœci C. W tabeli 1 mo na te zaobserwowaæ, e wyd³u enie czasu pracy algorytmu z 200 do 1200 sekund nie przynosi istotnej poprawy jakoœci generowanych rozwi¹zañ. W przypadku zestawów TM21-25 algorytm genetyczny nadal generuje rozwi¹zania œrednio lepsze ni porównywany algorytm. Wygenerowanie takich rozwi¹zañ wi¹ e siê jednak ze znacznie wiêkszym nak³adem obliczeniowym ni w przypadku instancji z grup TM16-20. Wartoœæ C MX6 jest wiêksza od wartoœci C w 34 przypadkach, zaœ mniejsza dla 12 instancji. W przypadku instancji z zestawów TM36-40 algorytm GAMX, pomimo nielicznych wyj¹tków, wygenerowa³ rozwi¹zania gorszej jakoœci, ni algorytm poszukiwañ z zabronieniami, niezale nie od czasu pracy. Wartoœæ C MX6 jest wiêksza od wartoœci C jedynie dla 20 instancji, podczas gdy niemal we wszystkich pozosta³ych przypadkach jest gorsza. Podsumowuj¹c, mo na stwierdziæ, e przeprowadzone badania numeryczne wykaza³y, i nawet zwielokrotnienie liczby uruchomieñ algorytmu AM AGV nie gwarantuje znacznej poprawy jakoœci generowanych przez niego rozwi¹zañ. Z drugiej jednak strony algorytm GAMX6 poprawi³ 80 spoœród 180 rozwi¹zañ wygenerowanych przez algorytm 2, zaœ gorszy okaza³ siê w 53 przypadkach. Opisywany algorytm genetyczny mo na zatem traktowaæ jako dobre uzupe³nienie samodzielnego algorytmu poszukiwañ z zabronieniami. 6. Zakoñczenie W pracy zosta³ przedstawiony nowy quasi-operator krzy owania MX oraz hybrydowy algorytm genetyczny GAMX. Algorytm ten wykorzystuje w trakcie swojej pracy, miêdzy innymi, algorytm poszukiwañ z zabronieniami AM AGV. Algorytm zosta³ u yty do przybli- onego rozwi¹zania problemu gniazdowego z transportem i ograniczon¹ liczb¹ niededykowanych wózków AGV. Dostarczone rozwi¹zania zosta³y porównane z rozwi¹zaniami dostarczonymi bezpoœrednio przez algorytm AM AGV (uruchamianym jednak ze znacznie wiêkszym limitem czasowym, ni mia³o to miejsce w przypadku algorytmu GAMX). Przeprowadzone badania numeryczne ujawni³y, e stosunkowa jakoœæ rozwi¹zañ generowanych przez algorytm GAMX bardzo silnie zale y od poszczególnych grup rozwi¹zywanych instancji. Literatura [1] Smutnicki C., Tyñski A.: Problem gniazdowy z transportem i ograniczon¹ liczb¹ niededykowanych wózków AGV. Automatyka, 2005, 9, 233 [2] Smutnicki C., Tyñski A.: Job-Shop Scheduling by GA. A New Crossover Operator. Operations Research, 2006, 715

Zastosowanie nowego operatora krzy owania... 307 [3] Reeves C., Yamada T.: Genetic Algorithms, Path Relinking and the Flowshop Sequencing Problem. Evolutionary Computation. 1995, 80, 397 [4] Grabowski J., Nowicki E., Smutnicki C.: Metoda blokowa w zagadnieniach szeregowania zadañ. Warszawa, EXIT 2003 [5] Lawrence S.: Resource Constrained Project Scheduling: an Experimental Investigation of Heuristic Scheduling Techniques. Pitsburg, Graduate School of Industrial Administration. Carneige- Mellon University 1984

308 Adam Tyñski