Problemy optymalizacji układ połączeń na płytce drukowanej Najbardziej efektywny rozkład jazdy Problem matematycznie definiuje tzw. funkcja kosztu [celu] f(1 ,2 ,...N ), której minimum poszukujemy Do optymalizacji 1) Rozmiar płytki 2) Długość połączeń 3) Czas wytwarzania Przykład 1 Przykład 2 przykłady problemów do optymalizacji
74
Embed
przykłady problemów do optymalizacjigalaxy.uci.agh.edu.pl/~bszafran/mofit/op.pdf · Problemy optymalizacji układ połączeń na płytce drukowanej Najbardziej efektywny rozkład
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
[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ę
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.
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 ]