Sunteți pe pagina 1din 41

Tehnici de optimizare

Cursul nr. 2

Dr. ing. Andrei Lihu

Optimizare blackbox
Nu avem informaii legate de gradient
Alpinistul orb cu altimetru Blestemul dimensiunilor (Bellman)

Hill climbing vs. Gradient descent (discuie liber)

Convergen
Soluiile gsite sunt aproximative i acceptabile Convergena de acuratee cnd se cunoate optimul global f(xG) se ndeplinete cnd: |f(xi)-f(xG)|

Principalele probleme ale tehnicilor de optimizare


A. Convergena rapid ntr-un minim local
B. Lipsa convergenei

Soluia = ?
Un mecanism de echilibru ntre explorare i exploatare.

Simulated annealing

Problema comis-voiajorului

TSPLib http://comopt.ifi.uniheidelberg.de/software/TSPLIB95/

TSP config. Berlin 52

continuare ...

Exemplu n NetLogo: Minimizarea energiei ntr-o imagine

Avantaje i limitri ale HC i SA


Triviale Nu consum memorie mult Depind de nr. de vecinitatea generat Prea muli vecini >> ineficien Prea puini >> conv. rapid SA este mai bun dect HC, dar introduce

parametri i complexitate suplimentar.

Studiu bibliografic
Extremal search
Monte-Carlo simulation Metropolis-Hastings

Stochastic Optimization Harmony search

Calculul evoluionist
Meta-euristici: a. alg. evoluioniti (strategii evoluioniste, alg. genetici)

b. alg. din cadrul inteligenei colective (PSO, ACO, BCO)


c. evoluia diferenial d. alg. memetici

Cadrul teoretic evoluionist al lui Bck


t 0 P(t) iniializeaz() F(t) evalueaz(P(t), ) repet P(t) recombin(P(t), r) P(t) mutaie (P(t), m) F(t) evalueaz(P(t), ) P(t+1) selecteaz(P(t), F(t), , s) tt+1 pn se ndeplinete condiia de stop

Evo Lisa

Algoritmii genetici
i. simuleaz procesul evolutiv darwinian. ii. au la baz conceptul de populaie, individ, gen. iii. ca reprezentare: binari (clasici) i pe numere reale.
mutaie

initializare populaie

evaluare fitness i criteriu de terminare

recombinare

evaluare fitness i criteriu de terminare

selecie

Algoritmi genetici
Cromozomul - mulimea de gene asociate unui individ (soluie potenial) Populaia - este o mulime de soluii candidat Genotipul - genele unui individ sau populaii Fenotip - toate trsturile determinate de genotip Fitness - msura a calitii unui individ Generaia - este etapa n evoluia unei populaii Reproducerea - generarea de urmai pornind de la populaia curent prin incruciare i mutaie.

Codarea problemei
Binar: 10111001000111 Real: 2343.37832

Iniializare
Aleatorie uniform Metoda nonlinear simplex

Selecie
Concurs
Metoda ruletei

Recombinare / Crossover

P1: xxx:xxxxx:xxxx:xx P2: +++:++++:++++:++

C1: xxx:+++++:xxxx:++ C2: +++:xxxxx:++++:xx

Mutaie

It1: 1100011010

It2: 1100010010

Algoritmi genetici
i. Selecia (turnir, rulet)
uniform

ii. Recombinarea

BLX-

iii. Mutaia
gaussian

de tip Mhlenbein:

OneMax
Maximizarea numrului de bii de 1 ntr-un ir de bii. Se cunoate la un moment dat doar numrul de bii de 1 din ir.

OneMax Demo n NetLogo

OneMax Ruby

continuare...

Studiu bibliografic
Genetic programming
Evolutionary strategies

Real-valued GA

Cultural algorithms

Memetic algorithms

Funcii standard de test


Unimodale

Multimodale
Rotite Deplasate Hibride CEC 2005 Benchmark suite

Sfera

Rosenbrock

Ackley

Rastrigin

Funcii de test CEC 2005 (discuie)


Necesitatea unor funcii de test
Evitarea efectului de optim la 0

Framework-uri pt. calculul evoluionist


Java EvA2, ECJ, Open Beagle, Evolvica, DACE
etc.

Demo Java EvA2

Studiu bibliografic
CEC 2005 benchmark functions Evolutionary software packages

Java EvA2 Statistical tests for optimization

Bibliografie / Resurse
1. 2. http://www.cleveralgorithms.com/natureinspired/physical/simulated_ann ealing.html http://www.cleveralgorithms.com/natureinspired/evolution/genetic_algorithm.html

S-ar putea să vă placă și