Pełny tekst PDF - Instytut Badań Systemowych PAN
Transkrypt
Pełny tekst PDF - Instytut Badań Systemowych PAN
Instytut Badañ Systemowych PAN Badania Systemowe – Teoria i Zastosowania Sesja Sprawozdawcza Wykorzystanie algorytmów ewolucyjnych do szeregowania zadañ z ruchomymi realizatorami Jerzy Józefczyk Warszawa, marzec 2004 1 Wprowadzenie Problematyka szeregowania zadań w kompleksie operacji produkcyjnych z uwzględnieniem ruchu realizatorów została wprowadzona w [4], a dalsze rezultaty przedstawiono m.in. w [5], [6]. Specyfika tego zagadnienia polega na tym, że przy jego formułowaniu i rozwiązywaniu należy uwzględnić miejsca, w których są wykonywane zadania produkcyjne. Każde takie miejsce, nazywane stanowiskiem produkcyjnym, jest wykorzystywane do wykonania określonych zadań, będących fragmentem procesu wytwarzania obiektu. Podmioty wykonujące zadania, czyli realizatory muszą się przemieszczać w celu wykonywania zadań na stanowiskach. Uzasadnieniem potrzeby rozpatrywania takiego złożonego problemu szeregowania jest specyfika niektórych nowoczesnych dyskretnych systemów produkcyjnych, m.in. [1]. Ruch realizatorów komplikuje problemy szeregowania, które już dla zagadnień klasycznych, są w większości NP-trudne lub silnie NP-trudne. Dlatego istnieje potrzeba opracowywania efektywnych czasowo przybliżonych i heurystycznych algorytmów rozwiązania, m.in. wykorzystujących metody sztucznej inteligencji. Dla szczegółowego problemu szeregowania zadań z kryterium w postaci sumy momentów zakończenia zadań oraz dla jednego realizatora jest proponowany algorytm oparty na podejściu ewolucyjnym. Podejście to dla innych przypadków jest przedstawione m.in. w [2], [7]. 2 Ewolucyjny algorytm rozwiązania Jako funkcję przystosowania przyjęto kryterium jakości szeregowania, do selekcji zastosowano metodę turniejową. Rozwiązanie jest reprezentowane przez wektor wierszowy c, którego bieżący element c(n ) ∈ H (H–zbiór zadań), a wartość c( n ) = h oznacza, że zadanie h ∈ H jest wykonywane jako n-te w kolejności. Mutacja jest przeprowadzana dla każdego rozwiązania ze współczynnikiem p2 ∈ [0,1] w ten sposób, że dwa losowo wybrane elementy wektora c są zamieniane miejscami. Na podstawie [3] niżej przedstawiono algorytm krzyżowania, który zapewnia uzyskanie dwóch rozwiązań potomnych c1′ i c2′ z dwóch rozwiązań rodzicielskich c1 i c2 . Ze współczynnikiem p1 ∈ [0,1] są krzyżowane w kolejności od pierwszego do ostatniego sąsiednie dwa rozwiązania z losowo uporządkowanej listy rozwiązań. 1. Podstaw w = 1 . ~ ′ (1) = c w (1) , H = H − {c w ′ (1)} i n = 2 . 2. Podstaw c w 3. 4. ′ ( n − 1) . Znajdź takie ck ( m), k = 1,2 , że ck (m − 1) = cw ~ ~ Sprawdź, czy c1 ( m ) ∈ H ∨ c2 ( m ) ∈ H . Jeśli tak, to przejdź do kroku następnego, jeśli nie – to do kroku 7. ~ ~ 5. Sprawdź, czy c1 ( m ) ∈ H ∧ c2 ( m ) ∈ H . Jeśli tak, to wyznacz najmniejszy numer k rozwiązania rodzicielskiego, dla którego τ ck ( m ) ≤ τ ck ′ ( m ) , k ≠ k ′ , ~ ′ (n ) = ck (m) , H = H − {c w ′ ( n )} i przejdź do kroku 8. podstaw c w ~ ~ ′ ( n ) = ck ( m ) , H = H − {c w ′ ( n )} i przejdź do 8. 6. Dla ck ( m ) ∈ H podstaw c w ~ ~ ′ ( n ) = ck ( m ) , H = H − {c w ′ ( n )} . 7. Wylosuj ck ( m ) ∈ H i podstaw c w ~ 8. Sprawdź, czy H = ∅ . Jeśli tak, to przejdź do kroku następnego, jeśli nie – podstaw n = n + 1 i przejdź do kroku 3. Sprawdź, czy w = 2 . Jeśli tak, to zakończ algorytm krzyżowania, jeśli nie – ~ podstaw w = 2 , H = H i przejdź do kroku 2. 9. 3 Eksperymentalna ocena algorytmu rozwiązania Przeprowadzone badania symulacyjne miały na celu ocenę jakości algorytmu wyrażonej wartością kryterium QΣ . W pierwszej części tej oceny zbadano wpływ współczynników p1 i p2 na jakość uzyskiwanych rozwiązań dla liczby zadań H traktowanej jako parametr. Czasy dojazdu realizatora do stanowisk i czasy wykonywania czynności na stanowiskach generowano losowo według rozkładu równomiernego z przedziału [1, 20] . Każda z otrzymanych wartości QΣ jest wynikiem uśrednienia 10 różnych uruchomień algorytmu dla takich samych danych. Wyniki dla 20 zadań ( H = 20 ) są przedstawione w Tabeli 1. Dla większej liczby zadań charakter rezultatów jest podobny. Wniosek z badań jest taki, że współczynnik krzyżowania p1 powinien być możliwie duży, a współczynnik mutacji p2 nie ma większego wpływu na jakość rozwiązania. Dla małych rozmiarów problemu oceniono proponowany algorytm heurystyczny w stosunku do algorytmu optymalnego o wykładniczej złożoności obliczeniowej. Tabela 1. Wartości kryterium QΣ p1 \ p2 0,02 0,06 0,10 0,14 0,18 0,50 0,60 0,70 0,80 0,90 1,00 1379 1352 1373 1332 1362 1343 1403 1388 1335 1359 1355 1329 1373 1381 1361 1357 1359 1376 1413 1362 1366 1380 1349 1340 1386 1390 1332 1348 1337 1313 δ [%] 6 c 4 b 2 a 0 H 4 5 6 7 8 9 10 Rys.1. Zależność δ od H dla różnych p1 , p2 Wskaźnikiem oceny jest stosunek δ = (QΣ − QΣ* ) / QΣ , gdzie QΣ∗ jest optymalną wartością kryterium. Wyniki oceny przedstawiono na Rys. 1, gdzie poszczególne wykresy odpowiadają różnym wartościom obu współczynników, tzn. a: p1 = 0,95 , p2 = 0,2 , b: p1 = 0,5 , p2 = 0,2 , c: p1 = 0,5 , p2 = 0,6 . Algorytm ewolucyjny jest tylko około 5% gorszy od rozwiązania optymalnego, a najlepsze rezultaty uzyskano dla tego zestawu prawdopodobieństw, który okazał się najlepszy w pierwszej części badań. 4 Uwagi końcowe Zbadano przydatność algorytmu ewolucyjnego do rozwiązania prostego, ale NPtrudnego problemu kombinatorycznego w postaci zagadnienia szeregowania zadań niepodzielnych i niezależnych na jednym realizatorze, z kryterium w postaci sumy momentów zakończenia zadań. Dla niewielkich rozmiarów problemu różnica między proponowanym algorytmem heurystycznym a algorytmem dokładnym wynosiła około pięciu procent. W dalszych badaniach jest planowane przeanalizowanie algorytmów hybrydowych łączących zalety algorytmów ewolucyjnych oraz algorytmów symulowanego wyżarzania. Uzyskane doświadczenia będą wykorzystane przy rozpatrywaniu analogicznego problemu szeregowania z wieloma realizatorami. Literatura [1] Averbakh I., Berman O., A simple heuristic for m–machine flow–shop and its applications in routing–scheduling problems, Operations Res., 1999, vol.47, pp.165–170. [2] Banaszak Z., Józefczyk J., Evolutionary algorithm with learning for scheduling of manufacturing tasks with moving executors. W: XIV Int. Conf. on Systems Science, Z. Bubnicki, A. Grzech (red.), Oficyna Wyd. Polit. Wroc., Wrocław 2001, vol. II, 187–194 . [3] Grefenstette J. et al., Genetic algorithms for the traveling salesman problem. W: Proc. of Int. Conf. on Genetic Algorithms, Lawrence Erlbaum Associates, Mahaw NJ, USA, 1985. [4] Józefczyk J., Szeregowanie zadań w kompleksie operacji z uwzględnieniem ruchu realizatorów. Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław, 1996. [5] Józefczyk J., Scheduling tasks on moving executors to minimise the maximum lateness. European Journal of Operational Research, 2001, vol.131, 171–187. [6] Józefczyk J., Wybrane problemy podejmowania decyzji w kompleksach operacji. Seria „Monografie Komitetu Automatyki i Robotyki PAN”, tom 2, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław, 2001. [7] Józefczyk J., Application of genetic algorithms for solving the scheduling problem with moving executors. Systems Science, vol. 27, 2001, 87–95.