• Nie Znaleziono Wyników

MichałOkulewicz ZaawansowaneMetodyOptymalizacjiGlobalnej

N/A
N/A
Protected

Academic year: 2021

Share "MichałOkulewicz ZaawansowaneMetodyOptymalizacjiGlobalnej"

Copied!
25
0
0

Pełen tekst

(1)

Zaawansowane Metody Optymalizacji Globalnej

Michał Okulewicz

Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska

(2)

Informacje organizacyjne

1 Zapoznanie

2 Zakres przedmiotu

3 Literatura

4 Zasady zaliczenia

5 Zadanie optymalizacji

(3)

Prowadzący I

Studia: magisterskie na MiNI (MSI), doktoranckie na IPI PAN (SMAD dla leniwych z modyfikacjami)

Praca magisterska: Porównanie wybranych metod optymalizacji globalnej, 2011

Rozprawa doktorska: Zastosowanie populacyjnych

metaheurystyk wykorzystujących rozkład danych problemu do rozwiązywania problemu dynamicznej marszrutyzacji, 2017

Obecnie:

hybrydowe algorytmy optymalizacji globalnej

Rozwiązywane zagadnienia:

optymalizacja rozkroju kłody,

optymalizacja harmonogramów odbioru odpadów,

lokalizacja telefonów komórkowych

(4)

Prowadzący II

Ulubione algorytmy metaheurystyczne

Particle Swarm Optimization,

Differential Evolution,

Variable Neighborhood Search

Inne wykorzystywane techniki:

modele liniowe,

lasy losowe, sieci neuronowe

Przekonania naukowe:

optymalizację rojem cząstek należałoby uogólnić,

optymalizacja rojem cząstek oferuje dobrą platformę do rozwoju różnych zachowań cząstek,

interakcje ludzi w zespole mogą stanowić dobre źródło

(5)

Prowadzący III

algorytmy powinny być proste w implementacji, a wydajne tylko na tyle ile potrzeba, bo mojego czasu mi szkoda, a czasu procesora nie,

polski rynek jest gotowy na wdrożenia algorytmów z zakresu sztucznej inteligencji.

(6)

Uczestnicy

Co kończyliście?

Czy i w czym umiecie programować?

Dlaczego poszliście na studia doktoranckie?

Czym się zajmujecie na doktoracie? Czym chcecie się zajmować?

Czego się spodziewacie po tym przedmiocie?

(7)

Zakres przedmiotu I

Zadanie optymalizacji: czyli co?

Metody Zaawansowane: czyli jakie?

Przestrzenie przeszukiwania: ciągłe czy dyskretne?

Metody podstawowe

Algorytmy jednopunktowe: stochastic gradient descent, symulowane wyżarzanie, variable neighbourhood search, strategie ewolucyjne

Algorytmy populacyjne: algorytm genetyczny, algorytm ewolucyjny, ewolucja różnicowa, optymalizacja rojem cząstek →

Algorytmy inteligencji rojowej: boidy Reynoldsa, algorytm mrówkowy, optymalizacja rojem cząstek

Jak testować algorytmy?

(8)

Zakres przedmiotu II

Jaka jest rola algorytmów heurystycznych?

Metody hybrydowe: Ewolucja Lamarcka, Algorytm Memetyczny, metody hiperheurystyczne →

Jakie są jeszcze związki między uczeniem maszynowym a optymalizacją?

Uogólniony algorytm roju cząstek: GAPSO

Optymalizacja wielokryterialna

Optymalizacja dynamiczna

(9)

Cel przedmiotu

= ?

(10)

Cel przedmiotu

6=

(11)

Cel przedmiotu

=

(12)

Literatura I

1 Shi, Y.; Eberhart, R.C. (1998). A modified particle swarm, optimizer”. Proceedings of IEEE International Conference on Evolutionary Computation. pp. 69–73.

2 Storn, R.; Price, K. (1997). ”Differential evolution - a simple and efficient heuristic for global optimization over continuous spaces”. Journal of Global Optimization. 11: 341–359

3 Wolpert, D.H., Macready, W.G. (1997), Ńo Free Lunch Theorems for Optimization”, IEEE Transactions on Evolutionary Computation 1, 67.

4 S¨orensen, K. (2015). ”Metaheuristics-the metaphor exposed”.

International Transactions in Operational Research, 22(1),

(13)

Literatura II

5 Gendreau, M.; Potvin, J-Y. (2010). ”Handbook of Metaheuristics”. Springer.

6 Panigrahi, B.K.; Shi, Y.; Lim, M. (2011), ”Handbook of swarm intelligence: concepts, principles and applications”.

Springer.

7 Arabas J. (2004). ”Wykłady z algorytmów ewolucyjnych”.

WNT

(14)

Zaliczenie

Nie ma egzaminu

Będziemy pisać artykuł

(15)

Zaliczenie

Nie ma egzaminu

Będziemy pisać artykuł

Omówienie w formie seminarium wyników cudzych badań - 3.0

Omówienie w formie seminarium wyników własnych badań - 3.5

Zaprezentowanie wyników własnych mających potencjał na artykuł - 4.0

Przygotowanie i wysłanie artykułu naukowego - 4.5

Przygotowanie i wysłanie artykułu naukowego w dobre miejsce (czasopismo 140+, konferencje PPSN, GECCO, CEC) - 5.0

(16)

Zadanie optymalizacji

Szukamy parametrów modelu matematycznego pewnego układu, które zapewnią poprawę działania tego układu

Problem reprezentujemy jako funkcję jakości (przystosowania, celu)

Poszukiwane parametry są argumentami tej funkcji

X = {x : ∀x ∈Df (x )  f (x)}

(17)

Zadanie

Znaleźć optimum funkcji f : Rn→ R, np. f (x ) = n +

n

P

i =1

xi2− cos(2πxi)

f < - f u n c t i o n ( x ) { if ( ! is . m a t r i x ( x )) {

x = m a t r i x ( x , n c o l = l e n g t h ( x )) }

r o w S u m s ( x ^2) - r o w S u m s ( cos (2 * pi * x ))+ n c o l ( x ) }

(18)

Zadanie

-10123

Funkcja Rastrigina

y

(19)

Rozwiązanie (dla leniwych)

s a m p l e s . c o u n t = 200 s a m p l e = m a t r i x (

r u n i f (

dim * s a m p l e s . count , min ( x ) , max ( x ) ) ,

n c o l = dim ,

n r o w = s a m p l e s . c o u n t ) v a l u e s = f ( s a m p l e )

s a m p l e [ w h i c h . min ( v a l u e s ) ,]

(20)

Rozwiązanie (dla leniwych)

-10123

Funkcja Rastrigina

y

(21)

Rozwiązanie (dla lubiących gradienty)

res = o p t i m ( fn = f ,

par = s a m p l e [ w h i c h . min ( v a l u e s ) ,] , m e t h o d = " L - BFGS - B " ,

l o w e r = min ( x ) , u p p e r = max ( x )) res $ par

(22)

Rozwiązanie (dla lubiących gradienty)

-10123

Funkcja Rastrigina

y

(23)

Rozwiązanie (dla statystyków)

r e q u i r e ( r a n d o m F o r e s t )

rf = r a n d o m F o r e s t ( x = sample , y = v a l u e s ) z = o u t e r ( X = x ,

Y = y ,

FUN = f u n c t i o n ( X1 , X2 )

{ p r e d i c t ( rf , d a t a . f r a m e ( c b i n d ( X1 , X2 ) ) ) } )

(24)

Rozwiązanie (dla statystyków)

-10123

y

(25)

A gdyby to wszystko połączyć?

GAPSO Framework

Particle +currentLocation: double[]

+currentVelocity: double[]

+bestLocation: double[]

+bestValue: double +nextSample(Behavior[]): double

<<Interface>>

Behavior +usageProbability: double +nextSample(Particle, Particle[]): double[]

PSO DE

SamplesMemory

+storeSample(double[] location, double value): void +getNearestSamples(int size, double[] origin): Pair<double[],double>[]

<<uses>>

<<uses>>

QuadraticFunction

BehaviorAdapter

+registerImprovement(Behavior, double): void +getUsageProbablity(Behavior): double

<<uses>>

SearchSpaceManager +registerOptimum(double[], double): void +getInitialSearchRegionBBOX(): double[][]

RestartManager +registerIteration(): void +registerImprovement(boolean): void +shouldBeRestarted(Particle[]): boolean

PolynomialFunction

Cytaty

Powiązane dokumenty

Algorytm Kruskala może być zrealizowany jako funkcja otrzymująca jako argument graf (lub listę wszystkich krawędzi) i zwracająca jako wynik minimalne drzewo rozpinające (wynik

Każdy osobnik opisany jest przez liczbę bitów (chromosomów) równą LBnP * liczba parametrów (tutaj 2).. Wartość każdego bitu dobierana

Funkcja connect() nie może być ponawiana bez uprzedniego otworzenia nowego gniazda. Przebieg współpracy z serwerem określa protokół komunikacji. TCP jest protokołem

W teorii złożoności obliczeniowej problem NP-trudny (NPH) to taki problem obliczeniowy, którego rozwiązanie jest co najmniej tak trudne jak rozwiązanie każdego problemu z

A tw o-stage decoding procedure is

Wybór osobnika odbywa się w następujący sposób: Pobieramy 1 osobnika bieżącej populacji, po czym losujemy progowo bez zwracania sprawdzając, czy osobnik może być zmutowany..

Monte Carlo Losowe błądzenie Hill climbing Symulowane wyżarzanie Variable Neighbourhood Search.

algorytm genetyczny z elementami symulowanego wyŜarzania. Dalszy układ pracy jest następujący. W rozdziale drugim podaję sformułowanie matematyczne rozwaŜanego problemu