Algorytm genetyczny

Download Report

Transcript Algorytm genetyczny

„Wielokryterialna optymalizacja pracy systemu
wytwarzania o strukturze przepływowej –
algorytm memetyczny”
Przygotował:
Dominik Żelazny, IIAR
Plan prezentacji
1. Opis problemu.
2. Algorytm genetyczny.
3. Metoda lokalnego przeszukiwania.
4. Algorytm LS NSGA-II.
5. Badania i testy.
6. Uwagi końcowe.
Opis problemu
• zbiór m maszyn M = {1, 2, …,m}
• zbiór n niepodzielnych zadań J = {1, 2, …, n}
• na każdej maszynie zadania wykonywane są w tej samej
kolejności
• zbiór operacji O = { (i, j) : i є M, j є J }
• każda operacja wykonuje się na maszynie w niezerowym czasie pij
Opis problemu
Poniżej przedstawiono strukturę permutacyjnego systemu
przepływowego, w której S przedstawia uszeregowanie wejściowe.
Natomiast M1, …, Mm poszczególne maszyny na których
wykonywane jest zadanie. Każda z maszyn działa w tym wypadku w
systemie FIFO, czyli First In First Out.
Opis problemu
Rozwiązanie
problemu
polega
na
znalezieniu
takiego
uszeregowania (permutacji π) dopuszczalnego, które zminimalizuje
dwie funkcje kryterialne (Cmax i Cavg)
Opis problemu
Średni czas przepływu (Cavg) wyrażony jest poniższym wzorem:
C avg 
1
n
n
C
m , ( j )
j 1
C i , ( j )  max C i , ( j 1 ) , C ( i 1 ),  ( j )   p i , ( j )
Maksymalny czas przepływu (Cmax) wyrażony jest poniższym wzorem:
C max  C m , ( n )
C i , ( j )  max C i , ( j 1 ) , C ( i 1 ),  ( j )   p i , ( j )
Gdzie:
j = 1, …, n ,
C i , ( 0 )  0
i = 1, …, m
Algorytm genetyczny
Algorytmy genetyczne zalicza się go do grupy algorytmów
ewolucyjnych, które powstały i zostały rozwinięte w celu
znajdowania przybliżonych rozwiązań problemów optymalizacji
w taki sposób, by znajdować wynik w miarę szybko i uniknąć
pułapek minimów lokalnych.
Algorytm genetyczny
Start
Utwórz populację początkową
Oceń każdego
Zastąp
Nowe pokolenie
Operatory genetyczne
osobnika populacji
Tak
Stop
Warunek
stopu
Nie
Wybierz
Rodziców
Algorytm genetyczny
Sposób działania algorytmu genetycznego można przedstawić
następująco:
• określenie sposobu kodowania rzeczywistych parametrów problemu w postaci
chromosomu,
• przyjęcie postaci funkcji przystosowania oceniającej analizowany zestaw
parametrów pod względem jakości poszukiwanego rozwiązania,
• losowy dobór punktów startowego zestawu parametrów,
• selekcja najlepiej przystosowanych chromosomów do nowej populacji,
• zastosowanie na nowej populacji operatorów genetycznych w postaci
krzyżowania i mutacji,
• sprawdzenie wartości funkcji przystosowania.
Algorytm genetyczny
Zalety działania operatorów krzyżowania i mutacji.
Algorytm genetyczny
Zastosowany
operatora
szeregowania, schemat PMX.
krzyżowania
dla
problemu
Algorytm genetyczny
Zastosowany operator mutacji dla problemu szeregowania,
technika random swap.
Algorytm genetyczny
Najpopularniejsze metody mutacji.
Algorytm genetyczny
Schemat tworzenia kolejnych populacji.
Algorytm genetyczny
Ewolucja nigdy nie stara się znaleźć rozwiązania optymalnego.
Ona głównie szerzy udoskonalenia wśród populacji. W trakcie tego
procesu, ewolucja przechodzi tajemniczą, krętą ścieżką poprzez
przestrzeń poszukiwania. Czasami ścieżka ta prowadzi do ślepego
zaułka (przedwczesna zbieżność). Czasami kręci się w kółko. Zdarza
się, że ścieżka zaprowadzi do globalnego optimum - ale nie ma
takiej gwarancji.
W związku z powyższym tworzone są algorytmy memetyczne,
łączące algorytmy genetyczne z innymi metodami.
Metoda lokalnego przeszukiwania
Idea sąsiedztwa. Poniższa ilustracja przedstawia przestrzeń
rozwiązań S, oraz sąsiedztwo rozwiązania x należącego do S.
Metoda lokalnego przeszukiwania
Zastosowane
dla
problemu
szeregowania
przeszukiwanie
sąsiedztwa polega na losowej zamianie dwóch sąsiadujących
elementów. W wypadku algorytmu LS NSGA-II oddalonych od siebie
nie dalej niż o dwa miejsca.
Metoda lokalnego przeszukiwania
Po wygenerowaniu nowego rozwiązania poddawane jest ono
ocenie, zgodnie z wartością funkcji kryterialnej lub wartościami
kilku funkcji, i porównywane z poprzednim. Jeśli nowe rozwiązanie
jest „lepsze” od poprzedniego, to w kolejnej iteracji dokonujemy
przeszukiwania otoczenia nowego rozwiązania.
Algorytm LS NSGA-II
Algorytm Local Search Elitist Non-dominated Sorting Genetic
Algorithm (NSGA-II) opiera się o filozofię przeszukiwania przestrzeni
rozwiązań Pareto-optymalnych, zwanych również rozwiązaniami
niezdominowanymi.
Algorytm LS NSGA-II
fast-nondominated-sort(P)
dla każdego p ∈ P
dla każdego q ∈ P
jeśli (p ≺ q) wtedy
Sp = Sp ∪ {q}
inaczej jeśli (q ≺ p) wtedy
np = n p + 1
jeśli np = 0 wtedy
F1 = F1 ∪ {p}
jeśli p dominuje q wtedy
dołącz q do Sp
jeśli p jest zdominowany przez q wtedy
zwiększ np
jeśli żadne rozwiązanie nie dominuje p wtedy
p jest członkiem pierwszego frontu
i=1
Dopóki Fi ≠ ∅
H=∅
dla każdego p ∈ Fi
dla każdego q ∈ Sp
dla każdego członka p z Fi
zmodyfikuj każdego członka Sp
nq = nq – 1
zmniejsz nq o jeden
jeśli nq = 0 wtedy H = H ∪ {q}
jeśli nq jest zerem, q staje się członkiem H
i = i +1
Fi = H
obecny front utworzony jest z członków H
Algorytm LS NSGA-II
Estymacja gęstości poprzez obliczanie zatłoczenia otoczenia
rozwiązania oraz clusteryzacja rozwiązań.
Algorytm LS NSGA-II
Algorytm LS NSGA-II
Badania i testy (TA25) - bicriteria
1820
1810
1800
1790
1780
1770
1760
1750
2300
2350
2400
2450
NSGA-II
2500
2550
LS NSGA-II
ACO PF
2600
2650
2700
Badania i testy (TA41) - bicriteria
2000
1950
1900
1850
1800
1750
1700
3080
3100
3120
3140
NSGA-II
3160
3180
LS NSGA-II
ACO PF
3200
3220
3240
Badania i testy (TA60) - bicriteria
2720
2700
2680
2660
2640
2620
2600
2580
2560
2540
2520
3850
3900
3950
4000
NSGA-II
4050
LS NSGA-II
ACO PF
4100
4150
4200
Badania i testy (TA25) - bicriteria
2150
2100
2050
2000
1950
1900
1850
1800
1750
2320
2420
2520
2620
LS NSGA-II
2720
NSGA-II
2820
2920
3020
Badania i testy (TA41) - bicriteria
2470
2370
2270
2170
2070
1970
1870
1770
3080
3280
3480
3680
LS NSGA-II
3880
NSGA-II
4080
4280
Badania i testy (TA60) - bicriteria
3300
3200
3100
3000
2900
2800
2700
2600
2500
3800
4000
4200
4400
NSGA-II
4600
4800
LS NSGA-II
5000
5200
5400
Badania i testy - bicriteria
ACO PF
Instancja
NSGA-II
LS NSGA-II
|P*|
d
|P|
d
|P|
d
|P|
TA05
0
14
0
9
13
13
13
TA25
0
17
0
12
15
15
15
TA41
0
9
0
7
16
16
16
TA60
0
8
0
7
12
12
12
TA61
0
3
0
6
15
15
15
Uwagi końcowe
Interpretacja wyników w przypadku funkcji wielokryterialnej nie
jest łatwa. Zsumowano więc fronty zerowe Pareto-optymalne
otrzymane przez każdy z algorytmów i wyłoniono z takiego zbioru
rozwiązania niezdominowane.
Jak łatwo zauważyć, algorytm LS NSGA-II zdominował wszystkie
rozwiązania zaprezentowane przez ACO PF i oryginalny NSGA-II,
zarazem znajdując znacznie więcej niż „rywale” rozwiązań
optymalnych w sensie Pareto.
Dziękuję za uwagę!