Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Problemy optymalizacji
układ połączeń na płytce drukowanejNajbardziej efektywny rozkład jazdy
Problem matematycznie definiuje tzw. funkcja kosztu [celu] f(1,2,...N), której minimum poszukujemy
Do optymalizacji1) Rozmiar płytki2) Długość połączeń3) Czas wytwarzania
Przykład 1Przykład 2
przykłady problemów do optymalizacji
zasada najmniejszego działania:
P(t=t0)=P0
P(t=t1)=P1
Fizycznie realizowana trajektoria to ta na której S = min. Zamiast argumentu liczbowego – funkcja. Wektor położeń jako argument – po dyskretyzacji toru.
Regresja liniowa
y=+x
Matematyczny opis zjawiska, które jak się wydaje podlega zależności liniowej
Przykład 3
Przykład 4: tor ruchu ciała jako zagadnienie optymalizacyjne
Optymalizacja:
1) funkcja kosztu [funkcja celu] : dana w postaci analitycznej (wzoru) lub nie
przykłady na nie: funkcja kosztu szacowana w doświadczeniuregulacja anteny tv, optymalizacja lekarstw,
funkcja kosztu wyliczana przy pomocy symulacji (np. aerodynamicznych do optymalizacji kształtu)
2) ilość zmiennych (1, więcej, nieskończona)3) zmienne: ciągłe/dyskretne (nieskończenie lub skończenie wiele możliwych
argumentów)4) statyczna (trasa najkrótsza) / dynamiczna
[zależna od czasu najszybsza trasa dojazdu]5) funkcja gładka lub nie (możemy korzystać z pochodnej lub nie)
zależnie od problemu możemy wybrać algorytm deterministyczny lub probabilistycznydokładny lub heurystyczny
Zadanie jest najłatwiejsze gdy funkcja kosztu jest kwadratowa i dana wzorem analitycznym
problem liniowy
1D: Jeśli funkcja f(x) nie jest kwadratowa, ale jej pochodna f’(x) istnieje i jest znana można poszukać jej zer i wyznaczyć, w którym f minimalna
0 2 4 6 8 1 0x
- 0 . 4
0 . 0
0 . 4
0 . 8
1 . 2f (
x)
f(x)
=si
n(x)
/xf’
(x)=
cos(
x)/x
-sin
(x)/
x2
0 2 4 6 8 1 0x
- 0 . 6
- 0 . 4
- 0 . 2
0 . 0
0 . 2
f' (x
)
Jeśli funkcja gładka, lecz pochodna nieznana można ją wyliczyć numerycznielub pracować na samej funkcji
Np. Metoda parabol
W 1D: można nawet przeszukać całą dziedzinę funkcji gładkiej i skoncentrować się na lokalnych minimach.
rozwiązywanie RNL w 2 i więcej D: problem trudny
rysunek z rozdziału o metodzie Brenta z Numerical Recipes
W wielu wymiarach: funkcja gładka zmiennej ciągłej
1) można minimalizować funkcję po każdej ze zmiennych po kolei
2) metoda największego spadku (wymaga znajomości pochodnych)
metoda downhill simplex, amoeba (Melder-Nead)- gdy pochodne nieznane lub nie do wykorzystania (np. oscylacje małej amplitudy)
N+1 wierzchołków w N wymiarach
1) ABC – simpleks w i-tej iteracji (powiedzmy A-najgorszy, B-najlepszy
2) D – odbicie przez BC (linia najgorszy / średnia pozostałych).
3)Jeśli f(D)<f(A) ekspansja do E. 4) Jeśli f(D) > f(A) – ściągnięcie punkty F i G 5) Jeśli f(F)>f(A) i f(G)>f(A)
simpleks się kurczy do najlepszegopunktu– H,I
pojedyncza iteracja:
Optymalizacja funkcji kosztu f bywa zadaniem trudnym gdydziedzina f wielowymiarowa„powierzchnia” funkcji kosztu skomplikowanawiele minimów lokalnych,
Wszystkie metody tradycyjne : znajdują lokalne (najbliższe) minimumfunkcji gładkiej globalnego nie znajdą chyba, że przypadkiem
niezastąpione: do znalezienia dokładnego położenia minimum, gdy znane jego otoczenie
optymalizacja kombinatoryczna: zmienna dyskretna
Przykład: najkrótsza sieć (kanalizacyjna, energetyczna, światłowodowa)dla miast powiatowych województwa małopolskiego:
W realnych zastosowaniach nie tylko funkcja nieciągła (nie ma mowy o pochodnych):ale i zmienna dyskretna
Przykład: najkrótsza sieć (kanalizacyjna, energetyczna, światłowodowa)dla miast powiatowych województwa małopolskiego:
G
T
N S
L
BK
M
N T
S
W
C
3 6
4 5
4 3
3 2
2 3
5 7
4 3
4 2
4 24 2
4 1
3 1
6 5
3 631
Województwo zakodowanew postaci grafu – poszukiwanenajkrótsze drzewo spinające.
Rozwiązanie:
W realnych zastosowaniach nie tylko funkcja nieciągła (nie ma mowy o pochodnych):ale i zmienna dyskretna
Przykład: najkrótsza sieć (kanalizacyjna, energetyczna, światłowodowa)dla miast powiatowych województwa małopolskiego:
G
T
N S
L
BK
M
N T
S
W
C
3 6
4 5
4 3
3 2
2 3
5 7
4 3
4 2
4 24 2
4 1
3 1
6 5
3 631
Województwo zakodowanew postaci grafu – poszukiwanenajkrótsze drzewo spinające.
W realnych zastosowaniach nie tylko funkcja nieciągła (nie ma mowy o pochodnych):ale i zmienna dyskretna
Przykład: najkrótsza sieć (kanalizacyjna, energetyczna, światłowodowa)dla miast powiatowych województwa małopolskiego:
G
T
N S
L
BK
M
N T
S
W
C
3 6
4 5
4 3
3 2
2 3
5 7
4 3
4 2
4 24 2
4 1
3 1
6 5
3 631
Województwo zakodowanew postaci grafu – poszukiwanenajkrótsze drzewo spinające.
Problem równie łatwy jak regresja liniowa
rozwiązanie dane przez algorytm zachłanny Kruskula : tworzymy las dodając po kolei najkrótsze krawędzie tak aby nie utworzyć pętli dostaniemy najlepsze rozwiązanie
Rozwiązanie:
G
T
NS
L
BK
M
NT
S
W
C
36
45
43
32
23
5743
42
4242
41
31
65
36
Limanowa-Nowy Sącz
31
G
T
NS
L
BK
M
NT
S
W
C
36
45
43
32
23
5743
42
4242
41
31
65
36
Wadowice-Chrzanów
31
Myślenice-Kraków
G
T
NS
L
BK
M
NT
S
W
C
36
45
43
32
23
5743
42
4242
41
31
65
3631
Bochnia-Limanowa
C
G
T
NS
L
BK
M
NT
S
W
36
45
43
32
23
5743
42
4242
41
31
65
3631
Wadowice-Myślenice
G
T
NS
L
BK
M
NT
S
W
C
36
45
43
32
23
5743
42
4242
41
31
65
3631
B
Nowy Sącz-Gorlice
G
T
NS
L
K
M
NT
S
W
C
36
45
43
32
23
5743
42
4242
41
31
65
3631
G
T
NS
L
BK
M
NT
S
W
C
36
45
43
32
23
5743
42
42
4241
31
65
36
Kraków-Bochnia
31
bezpośrednie połączenie CK już się nie przyda
Myślenice-Nowy Targ
G
T
NS
L
BK
M
NT
S
W
C
36
45
43
32
23
5743
42
42
4241
31
65
3631
G
T
N S
L
BK
M
N T
S
W
C
3 6
4 5
4 3
3 2
2 3
5 7
4 3
4 2
4 24 2
4 1
3 1
6 5
3 631
Rozwiązanie:
Algorytm zachłanny – skutecznywięc - problem najkrótszego drzewa spinającego jest łatwy.
Złożoność dla najlepszej implementacji O(|V|log|V|), V – liczba wierzchołków
0) Oznacz wszystkie wierzchołki kolorem białym.Przypisz wierzchołkowi startowemu wagę 0.
1) Znajdź i zaczerń biały wierzchołek v o najmniejszej wadze2) Oznacz białych sąsiadów v jego wagą powiększoną o wagę
wspólnej krawędzi (o ile nowa waga mniejsza od starej) orazetykietą wierzchołka v
3) Jeśli są jeszcze białe wierzchołki idź do 1(złożoność V2)
Problem najkrótszej drogi (przeszukiwanie grafu wszerz z oznaczaniem wierzchołków)
Inny ważny problem: najkrótsza trasa z A do B
Wierzchołki mają kolor, wagę i etykietę
G
T
N S
L
BK
M
N T
S
W
C
3 6
4 5
4 3
3 2
2 3
5 7
4 3
4 2
4 24 2
4 1
3 1
6 5
3 6
3 6 G
4 5 G
1) Gorlice malujemy na czarno, miastom sąsiednim nadajemy wagi – odległości od Gorlic i indeks G.
2) Szukamy białego miasta o najmniejszej wadze i malujemy jena czarno (Nowy Sącz), wagę czarnego miasta ustalamy (mniejszej nie będzie)
G
T
N S
L
BK
M
N T
S
W
C
3 6
4 5
4 3
3 2
2 3
5 7
4 3
4 2
4 24 2
4 1
3 1
6 5
3 6
3 6 G
4 5 G
G
T
N S
L
BK
M
N T
S
W
C
3 6
4 5
4 3
3 2
2 3
5 7
4 3
4 2
4 24 2
4 1
3 1
6 5
3 6
3 6 G
4 5 G
9 3 N S
5 9 N S
3) Liczymy odległości do Gorlic sąsiadów Nowego Sącza
przykład: najkrótsze trasy z Gorlic do pozostałych miast
4) Najmniejszą wagę ma teraz Tarnów, 5) Następnie Limanowa
G
T
N S
L
BK
M
N T
S
W
C
3 6
4 5
4 3
3 2
2 3
5 7
4 3
4 2
4 24 2
4 1
3 1
6 5
3 6
3 6 G
4 5 G
9 3 N S
5 9 N S
8 9 T
G
T
NS
L
BK
M
NT
S
W
C
36
45
43
32
23
5743
42
4242
41
31
65
36
36 G
45 G
93 NS
59 NS
89 T
91 L ?
101 L
do Bochni z Gorlicbliżej przez Tarnów niżprzez Limanową
G
T
N S
L
BK
M
N T
S
W
C
3 6
4 5
4 3
3 2
2 3
5 7
4 3
4 2
4 24 2
4 1
3 1
6 5
3 6
3 6 G
4 5 G
9 3 N S
5 9 N S
8 9 T
1 0 1 L
1 3 1 B
1 3 1 B ?
6) Bochnia
do Myślenic jednak bliżej przez Limanową
7) Po Nowy Targu – Myślenice, z nich bliżej do Wadowic
G
T
N S
L
BK
M
N T
W
C
3 6
4 5
4 3
3 2
2 3
5 7
4 3
4 2
4 24 2
4 1
3 1
6 5
3 6
3 6 G
4 5 G
9 3 N S
5 9 N S
8 9 T
1 0 1 L
1 3 1 B
1 5 8 N T
3 1
1 3 7 M !
G
T
N S
L
BK
M
N T
W
C
3 6
4 5
4 3
3 2
2 3
5 7
4 3
4 2
4 24 2
4 1
3 1
6 5
3 6
3 6 G
4 5 G
9 3 N S
5 9 N S
8 9 T
1 0 1 L
1 3 1 B
3 1
1 3 7 M
1 6 8 Wostatecznie
Np.: z Chrzanowa do Gorlictrafimy po etykietach
G
T
N S
L
BK
M
N T
W
C
3 6
4 5
4 3
3 2
2 3
5 7
4 3
4 2
4 24 2
4 1
3 1
6 5
3 6
3 6 G
4 5 G
9 3 N S
5 9 N S
8 9 T
1 0 1 L
1 3 1 B
3 1
1 3 7 M
1 6 8 W
Zamiast stosować algorytmu można zrobić model z nitek i koralików, potem naciągnąć koraliki oznaczające Chrzanów i Gorlice
Widzieliśmy, że dwa ważne problemy mają efektywne, deterministyczne, dokładne rozwiązanie
Niektóre problemy są jednak obiektywnie trudne(nie istnieje algorytm o złożoności wielomianowej):wybór najkrótszej zamkniętej trasy przez wszystkie miasta (problem komiwojażera):
-algorytm deterministyczny rozwiązujący problem dokładny z wielomianową złożonością nie istnieje, gdy problem o dużym rozmiarze należy rozwiązać – stosuje się heurystyki.
Algorytm zachłanny dla komiwojażera:
ruszaj do najbliższego miasta, którego jeszcze nie odwiedziłeś.
- rozsądny: wyeliminuje przynajmniej długie przejazdy bez zatrzymywania się
Odwiedzić wszystkie miasta w cyklu zamkniętym w takiej kolejności aby pokonana trasa była najkrótsza.
Klasyczny problem testowy dlaalgorytmów optymalizacyjnych
Rozwiązanie zachłanne:start ze Szczecina:
1 5 3 .
Najlepsze
1 7 2 . 2 9
PL: 46 miast
Zachłanne rozwiązanie nie jest optymalne (choć nie najgorsze)
Szukana jest permutacja - przejrzeć wszystkie N! - niewykonalne 46!=5502622159812088949850305428800254892961651752960000000000
najlepszy algorytm dokładny O(2N) –lepiej niż n!, ale wciąż zbyt wiele 246=70368744177664
Gdy problem zbyt trudny by go rozwiązać dokładnie przy pomocy algorytmu deterministycznego – można zadowolić się przybliżonym (heurystycznym) lub próbowaćje poprawić przy pomocy MC
Problem obiektywnie trudny = gdy najlepszy deterministyczny algorytm nie zakończy swojego działania w skończonym czasie klasy złożoności obliczeniowej
Problemy NP
P NP-zupełne
Problemy decyzyjne: z odpowiedzią tak/nie
Schematobowiązujepod warunkiemże PNP
NP – można sprawdzić odpowiedź w czasie wielomianowym zadanie rozkładu na czynniki liczby 136117223861 nieznany jest wielomianowy algorytm (na komputer klasyczny) ale jeśli ktoś nam poda odpowiedź 1047291299709 - szybko sprawdzimy.
P – problemy, w których istnieje algorytm o wielomianowej złożoności( nie ma dowodu, że PNP.)
NP – zupełne (najtrudniejsze) – można do nich sprowadzić dowolny problem z NPz nadkładem wielomianowym. Jeśli jeden z problemów NP.-zupełnych zostanie rozwiązanyw czasie wielomianowym, to P=NP.
Faktoryzacja jest na pewno NP, wydaje się, że nie jest P i że nie jest NP-zupełna.[„Wydaje się, że nie P” na tyle, że standardowy w zakupach elektronicznych
protokół klucza publicznego RSA]
NP.-zupełne: problem spełnialności binarnego układu logicznego, problem komiwojażera, izomorfizmu grafów, kliki, kolorowania wierzchołków grafu i inne.
Problemy NP
P NP-zupełne
F
W praktyce problemy, które nie są P – stają się niemożliwe do dokładnego rozwiązania dla dużych rozmiarów zadania
najkrótsza trasa z A do B – łatwy (bo wielomianowy algorytm znany)najkrótsza zamknięta trasa po wszystkich miastach – trudny (bo algorytm wielomianowy nieznany i wydaje się, że nie istnieje)
Inna znana para pozornie podobnych problemów o skrajnie różnejzłożoności obliczeniowej: problem istnienia cyklu Eulera i cyklu Hamiltona w grafie
Cykl (zamknięta ścieżka) Eulera
Zadanie:zaplanować trasę spaceru:przejść po każdym moście dokładnie razi wrócić do punktu wyjścia
(przejść po wszystkich krawędziach grafu dokładnie raz i wrócić do punktu wyjścia)
3
3
35
stopień wierzchołka= liczba przyległych krawędzi
Cykl Eulera w grafie istnieje wtedy i tylko wtedygdy wszystkie jego wierzchołki są stopnia parzystego
przy każdym przejściu przez wierzchołek używamy 2 krawędzi
zaczynamy spacer od dowolnego wierzchołkausuwając z grafu przebyte krawędzie, wrócimydo wierzchołka startowego bez rozspójniania grafu
stopień wierzchołka= liczba przyległych krawędzi
3
3
35
Cykl Hamiltona
problem NP-zupełny
graf planarny (rzut środkowy dwunastościanu)
(przejść po wszystkich wierzchołkach grafu dokładnie raz i wrócić do punktu wyjścia)
cykl Hamiltona dla dwunastościanu
Jeśli wiemy, że problem NP-zupełny, a rozmiar problemu duży – poszukajmy rozwiązania przybliżonego
Metoda dokładna nie zadziała w skończonym czasie.Jeśli nie wiemy jak - poszukajmy losowo.Lecz: Całkiem ślepe przeszukiwanie losowe nie różni się od przeglądania wszystkich rozwiązań: prawdopodobieństwoznalezienia najlepszego jest żadne, a i rozsądnego znikome.
Problem komiwojażera dla 20 miast w pd-wsch Polsce
Wszystkich permutacji jest 20!=2432902008176640000.
Najlepsza trasa znaleziona po 1000 000prób (długość 89.12 [j.umowne] )
Widać, że kiepska: 1) skrzyżowane trasy 2) krócej będzie Tarnów-Nowy Sącz-Kraków
Katowice
Najlepsza trasa znaleziona po 1000 000losowaniach (długość 89.12 [j.umowne] )
Algorytm zachłanny start z Częstochowy 68.73
Wniosek: do przeszukiwania losowego potrzebny nam jest przewodnik.
Przewodnik do przeszukiwania losowego - inspiracje przyrodniczePrzyrodnicze (naturalne) algorytmy optymalizacji
1) Dobór naturalny – algorytmy genetycze
2) Wygrzewanie próbek dla usunięcia defektów – algorytm symulowanego wyżarzania
Metody MC: starają się poprawić przybliżone rozwiązanie. Mogą doprowadzić do optymalnego rozwiązania, ale nie mamy ścisłej gwarancji, że osiągnięte rozwiązanie jest najlepsze.
w praktyce akceptujemy: najlepsze rozwiązania jakie znamy.
Liczby losowe: wykonanie kroku poszukiwania oraz wprowadzenie innowacji w przeszukiwaniu.
Deterministyczne: najlepsze rozwiązanie w ściśle określonym czasieProbabilistyczne: używają generatora liczb losowych – tak zaplanowane, abyprawdopodobieństwo znalezienia ściśle najlepszego duże.
Algorytmy genetyczne
Powstające przypadkowo (mutacje) cechy zwiększające szanse na sukces ewolucyjny są zachowywane w genach gatunku i wzmacniane przez naturalnąselekcję.
Ewolucja = wielki proces optymalizacyjny
Funkcja przystosowania
cecha nr X
cecha nr Y
DNA Informacja genetyczna zapisana w sekwencji zasad w łańcuchu polinukleotydowymjęzyk czteroliterowy A, G, T, C (odpowiednio adenina, guanina, tymina i cytozyna).
Słowa: trójliterowe (każde słowo – jeden z 20 aminokwasów)Zdania ze słów: program produkcji białek
(każde złożone z aminokwasów)
Każda pojedyncza helisa zawiera pełną informację(Zasady wiążą się ściśle parami A-T, G-C)
replikacja(w nowej helisie DNA, jest pół starej, szansa na błędy – mutacje)
Typowy algorytm genetyczny:
Definicja problemu:kodowanie zmiennych (genotyp), i rozkodowanie (fenotyp) + funkcja kosztu
Każdy osobnik z populacji niesie pewien kod genetyczny = argument funkcji kosztu
Selekcja „naturalna” Osobniki najgorzej przystosowane (o największym koszcie) wymierają
Populacja początkowa
Osobniki przystosowane na tyle dobrze by żyć - łączą się w pary
Wydają na świat potomstwo o genach odziedziczonych po rodzicach
Pewna liczba osobników poddana jest przypadkowej mutacji
Dopóki zbieżność nie została osiągnięta
Wymiana genów losowa. korzystne cechy rodziców będą wzmacniane a słabsze eliminowane przez selekcję naturalną.
Mutacje mają wprowadzać cechyktórych nie mają rodzice.
Krzyżowanie genów i mutacje z użyciem liczb losowych.
Funkcja kosztu Dowolna:Ciągła, dyskretna, analityczna, dana na siatce, dana przez doświadczenieAlgorytmy genetyczne można zastosować do każdego problemuoptymalizacyjnego (choć nie zawsze będą optymalne). Kodowanie zmiennych: Jeśli np. f(x,y) - funkcja parametrów rzeczywistych: x i y mogą
być liczbami zmiennoprzecinkowymi (zmiennoprzecinkowy kod genetyczny)
- można też x i y poddać kwantyzacji i pracować na bajtach 01001011
10101010
W problemie komiwojażera: zmienne kodowane jako permutacje liczb całkowitych (1,6,3,4,5,7,2)
Naturalna selekcja:sortujemy osobniki wg funkcji kosztu:
5.295.85.86.517.517.77.75 usuwamy najgorsze
Łączenie w pary
Mnóstwo możliwości – tu jest miejsce na optymalizację
5.295.85.86.51
1) kolejno
2) losowo wg. rankingu kolejności np.1 rodzic 50% potomstwa2 30% 3 20%4 10%
5.295.85.86.51
3) losowo wg. kosztu np.. zgodnie z rozkładem:
najlepszy spośródwyeliminowanychw naszym przykładzied=5
(nr) f(nr) p(nr)
(1) 5.29 35%(2) 5.8 27%(3) 5.8 27%(4) 6.51 11%
(5) 7.51 0(6) 8 0(7) 9 0(8) 10 0
pstwo wylosowaniaosobnika i narodzica: proporcjonalnedo jego „odległości” od najlepszego spośródwymarłych
i f p
1 5.29 35%2 5.8 27%3 5.8 27%4 6.51 11%
Stworzyć dyskretny generator losowy o zadanym rozkładziedysponując generatorem o rozkładzie równomiernym z przedziału [0,1]
Tworzymy dystrybuantę: rozkład pstwa, że wylosowany będzie osobnik o numerze i lub niższym
P(0)=0P(1)=0.35P(2)=0.62P(3)=0.89P(4)=1
Losujemy liczbę l z przedziału [0,1] z rozkładem równomiernym.Uznajemy, że wylosowany został osobnik i+1 (słownie i plus pierwszy), jeśli
0
.5
1
1
2
4
3
Wymiana genów:
1) Binarna 0100101110101010 – jeden lub więcej, w ciągu lub osobno
2) Zmiennoprzecinkowe R1, R2: P=(1-)R1+R2 : –losowe z [0,1]
R1
R2
P gdzieś na odcinku
Losując inne dla każdej współrzędnej:
R1
R2
P gdzieś na prostokącie
Mutacje:
01001011
Np. odwrócenie bituna losowo wybranejpozycji
1) Binarna 2) Zmiennoprzecinkowa
Losowe przesunięcie
3) Permutacja: przestawienie losowo wybranej pary
[3 4 6 2 1 5]
Przykład: minimum funkcji (de Jonga) danej przepisem analitycznym
(x,y)[0,10] [0,10]
0 2 4 6 8 1 0x0
2
4
6
8
1 0
y
- 2 0- 1 4- 8- 241 01 6
f(9.0385, 8.666)= -18.55
Wylosowana populacja początkowa N=12
fioletowe odrzucamy jako najgorzej przystosowanezielone będą przekazywać swoje geny dalej
0 2 4 6 8 1 0x0
2
4
6
8
1 0y
- 2 0- 1 4- 8- 241 01 6 nr x y f(x,y)
1 6.01 8.91 -13.64 2 5.91 5.11 -9.955 3 5.82 8.09 -9.745 4 0.89 5.60 -6.407 5 8.99 6.52 -5.492 6 7.26 9.66 -0.141
7 0 0.85 0.92 8 2.97 4.26 1.80 9 2.62 7.43 3.7410 8.76 9.95 5.2411 9.67 1.89 6.9712 5.14 3.98 9.42
Pop. początkowa
0 2 4 6 8 1 0x0
2
4
6
8
1 0
y
- 2 0- 1 4- 8- 241 01 6
Dobór w pary i potomstwo
nr x y f(x,y) 1 6.01 8.91 -13.64 2 5.91 5.11 -9.955 3 5.82 8.09 -9.745 4 0.89 5.60 -6.407 5 8.99 6.52 -5.492 6 7.26 9.66 -0.141
krzyżyki: rodzice
potomstwo (kropki)wylosowane w prostokącie,którego wierzchołkiprzeciwległe do rodzice
xp = x xt+(1-x)xm gdzie x,y losowe z [0,1]
yp = y yt+(1-y)ym
dobór kolejnych par
Dajmy się rozwijać populacji bez wprowadzania mutacji
0 2 4 6 8 1 0x0
2
4
6
8
1 0
y
- 2 0- 1 4- 8- 241 01 6
0 2 4 6 8 1 0x0
2
4
6
8
1 0
y- 2 0- 1 4- 8- 241 01 6
0 2 4 6 8 1 0x0
2
4
6
8
1 0
y
- 2 0- 1 4- 8- 241 01 6
trzecie pokolenie pokolenie czwarte pokolenie piąte
globalne minimum nie zostało znalezione- populacja obsadza jedno z minimów lokalnych- szansa na zajęcie optymalnej „niszy” utracona w trzecim pokoleniu
pokolenie
Wybrany sposób wymiany genów:terytorium populacji kurczy się do jednego z minimów.
Mutacje
Po wydaniu na świat potomstwa p=25% generacji ulega mutacjom.Mutacji unika najlepiej przystosowany organizm, bo go szkoda.
Mutacja polega na przesunięciu punktu o wektor(dx,dy), przy czym dx i dy są losowe z przedziału [-2,2].
0 2 4 6 8 1 0x0
2
4
6
8
1 0
y- 2 0- 1 4- 8- 241 01 6
30 pokolenie:
Tak skonstruowany algorytm znajduje raczejokolice globalnego minimum – dokładne położenie wyszukamy metodą tradycyjną
Liczebność populacji a optymalne prawdopodobieństwo mutacji
Algorytm genetyczny do rozwiązywania problemu komiwojażera
Problem komiwojażera dla 20 miast w pd-wsch Polsce.
Odległości: metryka euklidesowa nie drogowa
(tak jak w przykładach poniżej)
Rozwiązanie: permutacja miastnp.(Opole,Katowice,Kraków,...,Opole)
Jedno pokolenie:
1) populacja 96 osobników (tras): 48 najgorzej przystosowanych (najdłuższych) zastąpionych 48 potomstwem najlepiej przystosowanych (najkrótszych).
2) Wprowadzenie mutacji do 20% osobników Mutacji unika najlepiej przystosowany.
W potomstwie mogą pojawić się duplikaty już istniejących osobników.
Duplikaty nie wnoszą nic do bazy genów. Wszystkie zostają poddane przymusowej mutacji.
Algorytm dla komiwojażera
Lista długości tras:
Pod kreską wymierają
Nad kreską łączone w pary
Krzyżowanie genów przy reprodukcji(krzyżowanie cykliczne):
każdy osobnik: permutacja
Rodzic 1: [3 4 6 2 1 5]Rodzic 2: [4 1 5 3 2 6]
Losujemy pierwszy gen do wymiany:wylosowaliśmy pierwszy
Rodzic 1: [4 4 6 2 1 5]Rodzic 2: [3 1 5 3 2 6]
Rodzic 1 ma dwie 4. Wymieniamy starą.
Rodzic 1: [4 1 6 2 1 5]Rodzic 2: [3 4 5 3 2 6]
Rodzic 1 ma dwie 1. Wymieniamy starą.
Rodzic 1: [4 1 6 2 2 5]Rodzic 2: [3 4 5 3 1 6]
Rodzic 1 ma dwie 2. Wymieniamy starą.Rodzic 1: [4 1 6 3 2 5]Rodzic 2: [3 4 5 2 1 6]
Brak powtórzeń: wymiana zakończona
geny potomstwa
Dwa najlepsze osobniki w 50 pokoleniu
potomstwo
Nieoptymalny:okolice Rzeszowa
Nieoptymalna:Częstochowa
73.35700
78.63119
dziedziczyzalety
dziedziczy wady
76.22113
75.76706
Dziedziczenie genów przykład:
Mutacja: wymiana pary losowo wybranych elementów w permutacji
[3 4 6 2 1 5]
Rozwiązanie przy użyciu algorytmu genetycznego długość 64.1.
Algorytmy genetyczne-podsumowanie
•Optymalizują funkcje zmiennej ciągłej lub dyskretnej•Funkcje wygenerowane numerycznie, eksperymentalnie lub dane analitycznie•Stosowalne do skrajnie skomplikowanych powierzchni•Nie wymagają znajomości ani istnienia pochodnych funkcji kosztu•Jednocześnie przeszukują szeroki zakres zmiennych•Radzą sobie z dużą ilością zmiennych•Mogą wyprodukować całą listę lokalnych minimów, nie tylko globalne•Nieźle się nadają do przetwarzania równoległego (gdy optymalizowana funkcja kosztowna numerycznie)
Przewodnik do przeszukiwania losowego - inspiracje przyrodniczePrzyrodnicze (naturalne) algorytmy optymalizacji MC
1) teoria doboru naturalnego – algorytmy genetycze
2) wzrost i hodowla kryształów, metalurgia – algorytm symulowanego wygrzewania
wygląd owada zoptymalizowany na drodzeprzypadkowego krzyżowania genów oraz mutacjiz mechanizmem selekcji naturalnej
Stabilne formy węgla: każda – lokalne minimum energii
węgiel -tworzy kierunkowewiązania kowalencyjne
grafit
diament E wiązania ( funkcja struktury układu)=E wiązania ( 1023 położeń atomów)
E
atom węgla:
grafit diament
metoda Czochralskiego hodowli kryształów
http://www.fkf.mpg.de
zarodek krystaliczny
roztopiony materiałciut powyżej temperatury topnienia
Wzrost kryształów jako proces optymalizacji
niska T
wysoka T
E wiązania ( funkcja struktury układu)=E wiązania ( 1023 położeń atomów)
metoda Czochralskiego wzrostu kryształów
http://www.fkf.mpg.de
zarodek
roztopiony materiałnieco powyżej temperatury topnienia
zarodek wolno wyciąganyroztopiony materiał stygnie i powoli krystalizuje
jeśli odpowiednio wolno schładzany materiał krystalizuje w idealnej strukturze(o optymalnej energii wiązania)
jeśli zarodek zbyt szybko wyciągnięty:kryształ będzie złej jakości – defekty [układ osiąga najbliższe minimum lokalne]
Wzrost kryształów jako proces optymalizacjiE wiązania ( funkcja struktury układu)=E wiązania ( 1023 położeń atomów)
Struktura krystalicznai defekty:
Defekty powodują naprężeniawewnętrzne. Kryształ z defektami jest twardy. przywrócenie idealnej struktury:
wymaga pokonania bariery energetycznej
dyslokacja krawędziowa
położenie międzywęzłowe
wakansjapołożeni e atom
u
energia kryształu
W metalurgii: dla usunięcia defektów (usunięcia naprężeń i zmiany twardości metalu)kryształ nagrzewa się do wysokiej temperatury, potem powoli schładza.Bariera energetyczna pokonana dzięki energii dostarczonej w formie ciepła.
[proces odwrotny do hartowania stali]
Symulowane wygrzewanie (simulated annealing)
Kirkpatrick, Science 220 671 1983praca wykonana w IBM przy optymalizacji fizycznego
projektowania układów scalonych)
Krystalizacja – optymalizacja energii wiązania w funkcji położeń wielkiej liczby atomów.Idealne optimum osiągane, gdy układ powoli schładzany (tak aby zachowana chwilowo równowaga termiczna).
Pomysł: optymalizacja funkcji wielu zmiennych naśladująca proces krystalizacji.
Teoria z mechaniki statystycznej: zachowanie układów o bardzo wielu stopniachswobody w równowadze termicznej z otoczeniem – algorytm Metropolisa.
Kirkpatrick –algorytm Metropolisa do symulacji własności układów w równowadze termicznej z otoczeniem
optymalizowana funkcja– traktowana jak energia pewnego układu.
Układ ugrzązł w lokalnym minimum
Dostarczyć energii, potem powoli [równowaga] ją odebrać liczymy, że układ szczęśliwie znajdzie drogę
do minimum globalnego
Symulowane wygrzewanie
Symululacja zachowania układu o dużej liczbie s.swobody w równowadze termicznej
Algorytm symulowanego wyżarzania dla optymalizacji E(P)
Wystartuj w punkcie P, ustaw wysoką „temperaturę” T
Przesuń P losowo P’=P+dP
Nowy punkt akceptowany (P:=P’) zawsze gdy lepszy E(P’)<E(P)(lepszy=bardziej prawdopodobny wg.r.B)
gdy E(P’)>E(P) –prawdopodobieństwo zaakceptowania punktu gorszego P’ dane przez np.
exp(-(E(P’)-E(P)) / kT) (rozkład Boltzmana)
PP '
P ' '
E0 . 0
0 . 2
0 . 4
0 . 6
0 . 8
1 . 0
p
e x p ( - E / k T )
k T = 1 0
k T = 1
k T = 0 . 1zmniejszyć T
Koniec jeśli T=0
Losujemy liczbę losową q wg rozkładurównomiernego, jeśli q < exp (-(E(P’)-E(P)) / kT) P:=P’
Im niższe T, tym mniej chętnie akceptujemy przesunięcia w góręna skali energii
Kirkpatrick – symulowane wyżarzanie w(E)=Cexp(-E/kT)- Metropolis z modyfikacją rozkładu pstwa w miarę działania algorytmu- zamiast grupy wędrowców - jeden
Przykład 1:f(x)=sin(x)+x2/1000
w każdej T wykonywana pewna liczba losowań (przesunięcia z przedziału [-2,2])
Wysokie T – punkt P wędruje między minimamiNiskie T – P uwięziony wokół jednego minimum
- 4 0 - 2 0 0 2 0 4 0- 1
0
1
2 T = 0 . 9T = 0 . 1
Sposób zmiany temperatury:T=0.001 i2 gdzie i spada od 100 do 1
W wysokiej T przeszukiwany szeroki zakres zmiennych.
W niższej – algorytm bada dokładnie minimum, które może być globalne, jeślischładzanie zostało odpowiednio wykonane.
Techniczna uwaga:gdy zmieniamy T: najlepiejstartować od najlepszego rozwiązaniauzyskanego do tej pory.
0 . 0 0 2 . 0 0 4 . 0 0 6 . 0 0 8 . 0 0 1 0 . 0 0
0 . 0 0
2 . 0 0
4 . 0 0
6 . 0 0
8 . 0 0
1 0 . 0 0
0 . 0 0 2 . 0 0 4 . 0 0 6 . 0 0 8 . 0 0 1 0 . 0 0
0 . 0 0
2 . 0 0
4 . 0 0
6 . 0 0
8 . 0 0
1 0 . 0 0
T>5 T<5
0 2 4 6 8 1 0x0
2
4
6
8
1 0
y
- 2 0- 1 4- 8- 241 01 6Zastosowanie S.A.
Dla funkcji testowej de Jonga:
Położenia P w kolejnych iteracjach:
0 . 0 0 2 . 0 0 4 . 0 0 6 . 0 0 8 . 0 0 1 0 . 0 0
0 . 0 0
2 . 0 0
4 . 0 0
6 . 0 0
8 . 0 0
1 0 . 0 0
T<1
Przykład 2.
0 . 0 0 2 . 0 0 4 . 0 0 6 . 0 0 8 . 0 0 1 0 . 0 0
0 . 0 0
2 . 0 0
4 . 0 0
6 . 0 0
8 . 0 0
1 0 . 0 0
ścieżka (25 kroków) dla T=1
0 . 0 0 2 . 0 0 4 . 0 0 6 . 0 0 8 . 0 0 1 0 . 0 0
0 . 0 0
2 . 0 0
4 . 0 0
6 . 0 0
8 . 0 0
1 0 . 0 0
ścieżka (50 kroków) dla T=2
0 . 0 0 2 . 0 0 4 . 0 0 6 . 0 0 8 . 0 0 1 0 . 0 0
0 . 0 0
2 . 0 0
4 . 0 0
6 . 0 0
8 . 0 0
1 0 . 0 0
ścieżka (100 kroków) dla T=4
zawężanie zakresu przeszukiwań z temperaturą: generowane ścieżki
0 2 4 6 8 1 0x0
2
4
6
8
1 0
y
- 2 0- 1 4- 8- 241 01 6
Przykład 3: Problem komiwojażera Generowanie P’ z P: P = [ 1 3 6 4 5 9 7 2 ]
Losujemy pierwszei ostatnie miasto
P’ = [ 1 3 9 4 6 5 7 2 ]Losowo zmieniamy kolejność
0 2 0 0 0 0 4 0 0 0 0 6 0 0 0 0n u m e r i t e r a c j i / 1 0 0
0
1
2
3
4
T
0 2 0 0 0 0 4 0 0 0 0 6 0 0 0 0n u m e r i t e r a c j i / 1 0 0
1 5 0
2 0 0
2 5 0
3 0 0
3 5 0
4 0 0
dlug
osc
tras
y
Sposób zmiany T długość P
Najlepsze rozwiązanie
Strategia schładzania a wynik końcowy
zbyt szybkie schłodzenie[do najbliższego minimumlokalnego]
Przykład 4: klaster jonowy
http://www.physchem.co.za/Bonding/Graphics/GRD60002.gif
najprostsze przybliżenie: naładowane kule bilardowe (nie mogą się przenikać)
r
d
dodatnio naładowane – współrzędne r1,r2, ...ujemnie naładowane – współrzędne d1,d2, ...
Przykład 4: klaster jonowy
najprostsze przybliżenie: naładowane kule bilardowe (nie mogą się przenikać)
r
d
dodatnio naładowane – współrzędne r1,r2, ...ujemnie naładowane – współrzędne d1,d2, ...
potencjał oddziaływania: załóżmy że promienie jonowe są równe 1
oddziaływanie jonów o różnym znaku
o tym samym znaku
0 2 4 6 8 1 0- 0 . 8
- 0 . 4
0 . 0
0 . 4
-7.507789-6.856922-4.853392
-2.895126
-4.778046
r
dfcja 20 zmiennych
Weźmy 5 jonów dodatnich, pięc ujemnych, dwa wymiary
konfiguracje z symulacji, strzałki pokazują
wyniki dla obniżanej temperatury
-6.413611
-7.130378
ominięte minima lokalne
-7.507789
minimum globalne