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.