• Nie Znaleziono Wyników

MichałOkulewicz MetodyLosoweOptymalizacjiGlobalnej

N/A
N/A
Protected

Academic year: 2021

Share "MichałOkulewicz MetodyLosoweOptymalizacjiGlobalnej"

Copied!
40
0
0

Pełen tekst

(1)

Metody Losowe Optymalizacji Globalnej

Michał Okulewicz

Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska

(2)

Informacje organizacyjne

1 Prowadzący

2 Zakres przedmiotu

3 Zasady zaliczenia

4 Literatura

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

Rozwiązywane obecnie zagdanienia:

wizualna atrakcyjność rozwiązań

algorytm optymalizacyjnych ogólnego przeznaczenia

Ulubione algorytmy metaheurystyczne

Particle Swarm Optimization,

(4)

Prowadzący II

Variable Neighborhood Search

Inne wykorzystywane techniki:

modele liniowe,

filtr cząsteczkowy,

lasy losowe, regresja logistyczna 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 inspiracji dla tych zachowań,

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

(5)

Prowadzący III

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

(6)

Słuchacze?

Kierunek i moment studiów?

Doświadczenie z optymalizacją ogólną?

Doświadczenie z problemami optymalizacyjnymi? (TSP, VRP, BPP)?

Doświadczenie z Javą i C++?

(7)

Zakres przedmiotu I

Zadanie optymalizacji Czyli co?

Czy istnieje najlepszy algorytm optymalizacyjny?

O szukaniu igły w stogu siana i darmowych obiadach.

Co zrobić, żeby się nie narobić?

O projektowaniu funkcji celu i metodach losowych.

Czy 1 jest bliżej 17 czy 2?

O sąsiedztwie i przestrzeniach przeszukiwania.

Czy więcej znaczy lepiej?

O metodach populacyjnych, na przykładzie metod ewolucyjnych.

(8)

Zakres przedmiotu II

Czego możemy nauczyć się od mrówek, pszczół, ryb i ptaków?

Co wspólnego mają Powrót Batmana, film Władca Pierścieni i serial Gra o Tron?

O inteligencji rojowej.

Czy algorytmy heurystyczne są nam potrzebne?

O eksploracji, eksploatacji, hiper-heurystykach i algorytmie memetycznym.

Jak oceniać algorytmy?

O zbiorach benchmarkowych i opisie wyników.

Jak zadowolić klienta?

O optymalizacji wielokryterialnej, odpornej i meta-optymalizacji.

(9)

Zakres przedmiotu III

Jak odbierać laptopy i odpady?

Studium przypadku: Vehicle Routing Problem

Jak ciąć drewno?

Studium przypadku: 2-D Packing and Cutting Problem

(10)

Zakres przedmiotu IV

Monte Carlo i hill-climbing

Simulated Annealing i Variable Neighbourhood Search

Evolutionary Algorithm i Genetic Algorithm

Particle Swarm Optimization i Ant Colony Optimization

Differential Evolution

(11)

Zakres przedmiotu: projekt

Rozwój podejścia Generalized Self-Adapting Particle Swarm Optimization (testowanie na benchmarkach COCO BBOB)

Benchmarki CEC (2017)

Konkurs BBComp

(12)

Umowa

Prowadzący - przygotowuje najlepsze zajęcia jakie potrafi i pokazuje tropy którymi warto podążać

Studenci - robią notatki i w trakcie zajęć podążają za tymi tropami

Prowadzący - luźno podchodzi do oceniania laboratorium

Studenci - rzetelnie robią zadania i kończą je w domu na następne laboratorium, żeby mogli kontynuować pracę

Razem - szukamy najfajniejszych algorytmów

optymalizacyjnych i staramy się zostawić coś po sobie (MIT/Expat License)

(13)

Umowa

Prowadzący - przygotowuje najlepsze zajęcia jakie potrafi i pokazuje tropy którymi warto podążać

Studenci - robią notatki i w trakcie zajęć podążają za tymi tropami

Prowadzący - luźno podchodzi do oceniania laboratorium

Studenci - rzetelnie robią zadania i kończą je w domu na następne laboratorium, żeby mogli kontynuować pracę

Razem - szukamy najfajniejszych algorytmów

optymalizacyjnych i staramy się zostawić coś po sobie (MIT/Expat License)

(14)

Umowa

Prowadzący - przygotowuje najlepsze zajęcia jakie potrafi i pokazuje tropy którymi warto podążać

Studenci - robią notatki i w trakcie zajęć podążają za tymi tropami

Prowadzący - luźno podchodzi do oceniania laboratorium

Studenci - rzetelnie robią zadania i kończą je w domu na następne laboratorium, żeby mogli kontynuować pracę

Razem - szukamy najfajniejszych algorytmów

optymalizacyjnych i staramy się zostawić coś po sobie (MIT/Expat License)

(15)

Umowa

Prowadzący - przygotowuje najlepsze zajęcia jakie potrafi i pokazuje tropy którymi warto podążać

Studenci - robią notatki i w trakcie zajęć podążają za tymi tropami

Prowadzący - luźno podchodzi do oceniania laboratorium

Studenci - rzetelnie robią zadania i kończą je w domu na następne laboratorium, żeby mogli kontynuować pracę

Razem - szukamy najfajniejszych algorytmów

optymalizacyjnych i staramy się zostawić coś po sobie (MIT/Expat License)

(16)

Umowa

Prowadzący - przygotowuje najlepsze zajęcia jakie potrafi i pokazuje tropy którymi warto podążać

Studenci - robią notatki i w trakcie zajęć podążają za tymi tropami

Prowadzący - luźno podchodzi do oceniania laboratorium

Studenci - rzetelnie robią zadania i kończą je w domu na następne laboratorium, żeby mogli kontynuować pracę

Razem - szukamy najfajniejszych algorytmów

optymalizacyjnych i staramy się zostawić coś po sobie (MIT/Expat License)

(17)

Umowa

Prowadzący - przygotowuje najlepsze zajęcia jakie potrafi i pokazuje tropy którymi warto podążać

Studenci - robią notatki i w trakcie zajęć podążają za tymi tropami

Prowadzący - luźno podchodzi do oceniania laboratorium

Studenci - rzetelnie robią zadania i kończą je w domu na następne laboratorium, żeby mogli kontynuować pracę

Razem - szukamy najfajniejszych algorytmów

optymalizacyjnych i staramy się zostawić coś po sobie (MIT/Expat License)

(18)

Zaliczenie

Powstaje przy okazji pracy, a nie jest celem

(19)

Zaliczenie

60 punktów - laboratorium

40 punktów - projekt

(20)

= ?

(21)

6=

(22)

=

(23)

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 Gendreau, M.; Potvin, J-Y. (2010). ”Handbook of Metaheuristics”. Springer.

(24)

Literatura II

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

Springer.

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

WNT

(25)

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)}

(26)
(27)

Poszukiwania trwają

https://github.com/fcampelo/EC-Bestiary#introduction

(28)
(29)
(30)

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

i=1

xi2− cos(2πxi)

f <- function (x) { if (! is . matrix (x )) {

x = matrix (x , ncol = length (x )) }

rowSums (x ^2) - rowSums ( cos (2 * pi *x ))+ ncol (x) }

(31)
(32)

samples . count = 200 sample = matrix (

runif (

dim * samples . count , min (x), max (x) ),

ncol = dim ,

nrow = samples . count ) values = f( sample )

sample [ which . min ( values ) ,]

(33)
(34)

res = optim ( fn = f ,

par = sample [ which . min ( values ) ,] , method = "L - BFGS -B" ,

lower = min (x), upper = max (x )) res $ par

(35)
(36)

require ( randomForest )

rf = randomForest (x = sample , y = values ) z = outer (X=x ,

Y=y ,

FUN = function (X1 , X2 )

{ predict (rf , data . frame ( cbind (X1 , X2 )))})

(37)
(38)

A gdyby połączyć te metody w jeden algorytm?

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

(39)

Praca domowa

Zaimplementować algorytm Hill Climbing (przełączanie bitów) dla zdyskretyzowanej przestrzeni przeszukiwania

Zaprezentować porównanie sąsiedztwa dla podejścia ciągłego i dyskretnego

Porównać jakość obu podejść (parametrem dyskretnego HC powinnien być poziom dyskretyzacji)

(40)

Cytaty

Powiązane dokumenty

The first and third authors would like to acknow- ledge the hospitality of the Centre for Research in Algebra and Number Theory during their stays at Carleton

This easily leads to examples of surfaces over a number field which do not dominate any variety of general type, but which nevertheless do not acquire Zariski-dense K-rational

Double Boolean algebras are algebras (D, u, t, / ,. They have been introduced to capture the equational theory of the algebra of protoconcepts. the Prime Ideal Theorem for

Wszelkie jednak dane liczbowe opierają się w tym przypadku na dalekich od doskonałości szacunkach, dokonywanych głównie przez Departament Pomocy Społecznej Ministerstwa Pracy

Nieco poszerzone badania późniejsze zawęziły ten dystans czasowy do 166-249 tysięcy (Vigilant et al. Powodem krytyki i zarazem popularności ich badań stał się wniosek,

1) In the CMSMPR-experiments with pure ammonium sulfate, chapter 4, the nucleation mechanism is surface breeding limited by a formation step proportional to the growth rate, and

[r]

For any deeply infinite effective double frame (Ψ, Φ, R) there exists an infinite family {B j : j ∈ ω} of infinite recursive subsets of Φ such that each B j is different from any R