Sunteți pe pagina 1din 32

Algoritmi metaeuristici

Despre ce este vorba ?

Probleme dificile de optimizare

Categorii de algoritmi metaeuristici

Structura cursului aspecte organizatorice

Algoritmi metaeuristici - Curs 1 1


Despre ce este vorba ?
despre rezolvarea problemelor (dificile)

Exist diferite clase de probleme dificile:

Dificile att pentru calculatoare ct i pentru oameni


(probleme de optimizare combinatorial de dimensiuni mari,
probleme de optimizare neliniar, probleme de planificare
etc)

Dificile pentru calculatoare dar uoare pentru oameni


(recunoaterea vorbirii, recunoaterea imaginilor,
recunoaterea caracterelor etc)

Algoritmi metaeuristici - Curs 1 2


Probleme dificile
Problemele dificile att pentru calculatoare ct i pentru oameni
sunt cele caracterizate printr-un spaiu mare de cutare i prin
faptul c nu se cunosc algoritmi care s permit rezolvarea lor
ntr-un interval de timp a crui dimensiune s depind
polinomial de dimensiunea problemei (probleme NP dificile)
Exemple clasice:
Problema satisfiabilitii (SAT): determinarea valorilor de
adevr ale unor variabile pentru care o expresie logic este
adevarat. Pentru n variabile spaiul de cutare are
dimensiunea 2n
Problema comis voiajorului (TSP): determin un circuit de
cost minim care viziteaz n locaii. Dimensiunea spaiului de
cutare este (n-1)!
(n cazul problemelor simetrice este (n-1)!/2)
Algoritmi metaeuristici - Curs 1 3
Probleme dificile

Problemele dificile pentru calculatoare dar mai uoare pentru


oameni sunt cele ru-puse, adic cele pentru care este dificil
de identificat un model abstract care s reflecte toate
particularitile problemei

Sa considerm urmtoarele dou probleme:


clasificarea angajatilor unei firme n dou categorii n funcie de
valoarea venitului: cei care au peste venitul mediu (din cadrul
firmei) ntr-o categorie i cei care au sub venitul mediu n alt
categorie

clasificarea angajailor unei firme n dou categorii n funcie de


credibilitatea relativ la acordarea unui mprumut

Algoritmi metaeuristici - Curs 1 4


Probleme dificile
In cazul primei probleme este uor s se identifice un model
formal (o regul de clasificare):

IF venit > venit_mediu THEN Class 1


ELSE Class 2

In cazul celei de a doua probleme lucrurile sunt mai complicate


ntruct trebuie luai n calcul mai muli factori intercorelai
(situaie financiar, stare de sntate, situaie familial,
perspective n carier etc.). Un expert bancar poate rezolva o
astfel de problem bazndu-se pe experiena dobndit de-a
lungul timpului precum i pe elemente subiective dificil de
cuantificat
Algoritmi metaeuristici - Curs 1 5
Probleme dificile
Diferene ntre probleme bine-puse i probleme ru-puse

Problema bine-pus: Problema ru-pus:


- i se poate asocia un model - nu este uor de formalizat
formal - exist doar exemple de
- exist algoritm de rezolvare rezolvare
- datele despre problema pot fi
incomplete sau inconsistente
- metodele clasice sunt
inaplicabile

Algoritmi metaeuristici - Curs 1 6


Probleme dificile
Metodele de rezolvare a problemelor ru-puse trebuie s se
caracterizeze prin:

Abilitatea de a extrage modele din exemple


Adaptabilitate la modificri n proprietile problemei (probleme
cu caracter dinamic)
Robustee la erori sau zgomot n datele de intrare
Capacitate de a produce rezultatul folosind un volum rezonabil
de resurse (timp de calcul, spaiu memorie)

Rezolvarea unor probleme din aceast categorie conduce la


rezolvarea unor probleme de optimizare

Algoritmi metaeuristici - Curs 1 7


Probleme dificile de optimizare
Spaiu de cutare Funcie obiectiv
- Multe optime locale
- De dimensiune mare
- Caracterizat prin restricii - De tip black-box
complexe - Afectat de zgomot
- Mai multe componente
conflictuale (optimizare
multicriterial

Obs:

- Tehnicile tradiionale de optimizare sunt fie inaplicabile fie sunt


ineficiente

Algoritmi metaeuristici - Curs 1 8


Clase de probleme
- Spaiu de cutare discret probleme de optimizare combinatorial

- Probleme de rutare
- Probleme de planificare a activitilor
- Probleme de alocare a resurselor
- Probleme de selecie

- Spaiu de cutare continuu probleme de optimizare continu

- Estimarea parametrilor unui model sau a unei transformri


- Identificarea unor configuraii de energie minim
- Antrenarea sistemelor adaptive

Algoritmi metaeuristici - Curs 1 9


Probleme de rutare
Vehicle Routing Problem: Reprezentarea soluiilor:

- Determinarea unui drum de 1. Matrice binara de alocare (nxn):


cost minim care parcurge un Aij = 1 dac nodul j e vizitat la etapa i
set de locaii i satisface = 0 altfel
anumite restricii
Restricii:
Fiecare linie conine exact un 1
Caz particular: problema comis
voiajorului Fiecare coloan conine exact un 1
TSP= determinarea unui ciclu
hamiltonian de cost minim ntr-un Dimensiune spatiu: 2n*n
graf complet
2. Permutare de ordin n:
pi = indicele nodului vizitat la etapa i
Restricii:
elementele lui p sunt distincte

Dimensiune spatiu: n! (de fapt (n-1)!/2

Algoritmi metaeuristici - Curs 1 10


Probleme de planificare a activitilor
Problema: Se consider: S1 S2 S3
un set de evenimente (ex:
cursuri, examene), T1 E1 E3 E9
o mulime de sli T2 E4 E8
un set de intervale de timp.
T3 E6 E5

S se construiasc un orar n care T4 E2 E7


fiecare eveniment este asignat unei
sli i unui interval de timp astfel
Dimensiune spaiu de cutare: (k+1)mn
nct s fie satisfcute o serie de
restricii. k evenimente
Restriciile pot fi: m intervale de timp
Puternice (obligatorii) n resurse (sli)
Slabe (opionale)

Algoritmi metaeuristici - Curs 1 11


Probleme de planificare a activitilor
Restricii puternice (solutia este acceptabil doar dac le satisface):
Un eveniment este planificat o singur dat
Intr-o sal este planificat un singur eveniment la un moment dat
Sala asignat corespunde caracteristicilor evenimentului
Nu sunt planificate simultan evenimente la care particip aceleai
persoane

Graful conflictelor (dou noduri conectate reprezint


evenimente ce nu pot fi planificate simultan)
E1 E3 S1 S2 S3
E5 T1 E1 E3 E9
E2 T2 E4 E8
E6 E8
E4
T3 E6 E5
E9
T4 E2 E7
E7
Algoritmi metaeuristici - Curs 1 12
Probleme de planificare a activitilor
Restricii slabe (soluia este mai bun dac sunt satisfacute):
Nu sunt planificate mai mult de k evenimente succesive pentru
acelai participant
Nu sunt participani pt. care e planificat un singur eveniment/zi

Idee: restriciile slabe se transform in criterii de optimizat (ex: numrul de


participanti pentru care sunt planificate multe evenimente succesive
i/sau un singur eveniment s fie ct mai mic)
Graful conflictelor (dou noduri conectate reprezint
evenimente ce nu pot fi planificate simultan)
E1 E3 S1 S2 S3
E5 T1 E1 E3 E9
E2 T2 E4 E8
E6 E8
E4
T3 E6 E5
E9
T4 E2 E7
E7
Algoritmi metaeuristici - Curs 1 13
Probleme de alocare a resurselor
Problema: alocarea resurselor n Reprezentarea soluiilor:
cloud (n taskuri, m maini)
Se consider:
un set de task-uri cu anumite Vi = indice maina virtual pe care a
cerine plasat task-ul i
un set de maini virtuale cu
anumite caracteristici Dimensiune spaiu de cutare: mn
Se urmrete distribuirea task-urilor
pe mainile virtuale astfel nct:
S fie satisfcute cerinele task-
urilor
Numrul de maini virtuale
utilizate (sau costul global) s fie
ct mai mic

Caz particular: problema


mpachetrii (bin packing)

Algoritmi metaeuristici - Curs 1 14


Probleme de selecie
Initial dataset
Problema seleciei atributelor
(feature selection)

Se consider:
Reduced
un set de date caracterizat printr- Search Strategy
Dataset
un numr mare de atribute
Se pune problema selectrii unui
subset de atribute astfel nct:
Subset Quality
S se maximizeze acurateea Reduced Model
rezultatelor unor prelucrri
(clasificare)
S se minimizeze costul
prelucrrii datelor Model Learning

Reprezentare soluie: vector binar


Si=1 dac atributul i e selectat Quality Wrapper based
=0 dac atributul i nu e selectat Evaluation selector

Dim. spaiu cutare: 2n (n=nr iniial


de atribute) Algoritmi metaeuristici - Curs 1 15
Estimarea parametrilor
Problema alinierii imaginilor (image Reprezentarea soluiei:
registration)
vector de valori reale reprezentnd
Se consider dou imagini ale parametrii transformrii
aceluiai obiect care trebuie aliniate
= se caut o transformare a uneia Spaiu de cutare:
dintre imagini astfel nct s fie
minimizat disimilaritatea dintre [a1,b1]x[a2,b2]x...x[an,bn]
imaginea transformat i cealalt
imagine

Algoritmi metaeuristici - Curs 1 16


Identificarea unei configuraii de
energie minim
Problema: Se caut configuraia de energie minim a
unui grup de atomi n ipoteza c interaciunile dintre
atomi sunt descrise de o funcie de potenial (ex:
Lennard-Jones)

Reprezentarea soluiei: vector de valori reale care


grupeaz tripletele de coordonate asociate atomilor

Spaiu de cutare: [a1,b1]x[a2,b2]x...x[an,bn]

(de exemplu: [0,4]x[0,4]x[-4,4]x...x[-4,4])

Dificultate: optimul global e dificil de identificat

Algoritmi metaeuristici - Curs 1 17


Antrenarea sistemelor adaptive
Utilizarea unei reele neuronale (sau a oricrui model bazat pe
nvare automat)
Exemple
Invare

Date intrare Reea neuronal= Date ieire


sistem adaptiv
constituit din uniti
funcionale simple

Invare = determinarea parametrilor adaptabili ai modelului

Algoritmi metaeuristici - Curs 1 18


Structura unei reele neuronale
Reea neuronal artificial = ansamblu de uniti simple de
prelucrare (neuroni) interconectate

n
y f ( w j x j w0 )
intrri j 1

w1 n Funcie de agregare a
u w j x j w0 intrrilor
Ieire j 1
wj
f
f (u ) sgn( u ) f (u ) tanh( u )
1
f (u ) H (u ) f (u )
wn ponderi asociate 1 exp( u )
conexiunilor
Funcii de activare
(calcul semnal de ieire)
Algoritmi metaeuristici - Curs 1 19
Antrenarea unei reele neuronale
Structura unei reele neuronale
artificiale:

- Arhitectura

- Funcionare
N1 2 N 0 1
yi f wik f wkj x j , i 1, N 2
- Antrenare bazat pe exemple: k 0
j 0
determinarea parametrilor care
minimizeaz o funcie de eroare Reea feedforward cu un nivel ascuns
(pt probleme de clasificare, asociere)
(diferena dintre rspunsul
ateptat i cel produs de ctre
reea)

Algoritmi metaeuristici - Curs 1 20


Aplicaii n gruparea datelor
Identificarea reprezentanilor clusterilor:
- Ca soluii ale unei probleme de optimizare multicriteriale (minimizarea
varianei intra-cluster, maximizarea varianei inter-cluster)
- Ca soluii ale unei probleme de optimizare multimodal

Algoritmi metaeuristici - Curs 1 21


Optimizare interactiv
- Generare de structuri (imagini,
sunete) care optimizeaz un
criteriu subiectiv se bazeaz pe
evaluarea realizat de ctre un
utilizator

- DarwinTunes
http://darwintunes.org/

[http://www.evogenio.com/de/GBEvoArt/EvoArt1.html]

Algoritmi metaeuristici - Curs 1 22


Algoritmi metaeuristici
Metaeuristicile sunt tehnici generale de cutare n spaiul soluiilor care n cazul
problemelor dificile de optimizare:
permit identificarea unor soluii acceptabile
cu un consum rezonabil de resurse de calcul
Specific: se bazeaz (de cele mai multe ori) pe mecanisme aleatoare de
cutare

Avantaje:
Nu necesit cunoaterea proprietilor funciei obiectiv este suficient s
poat fi evaluat
Permit estimarea optimului global (cu condiia ca algoritmul s realizeze
explorarea adecvat a spaiului soluiilor)

Dezavantaje:
Exist puine rezultate teoretice privind convergena sau privind calitatea
aproximrii Algoritmi metaeuristici - Curs 1 23
Clase de metaeuristici

Clasificarea metaheuristicilor [Wikipedia, nojhan.free.fr]

Algoritmi metaeuristici - Curs 1 24


Clase de metaeuristici

Clasificarea metaheuristicilor [Wikipedia, nojhan.free.fr]

Algoritmi metaeuristici - Curs 1 25


Structura unui algoritm metaeuristic generic

S=soluie candidat iniial


Repeat
R=modificare(S)
if calitate(R)>calitate(S) then R=S
Until <conditie de oprire>

Componente:
- Iniializare
- Modificare (asigur explorarea spaiului soluiilor)
- Selecie (asigur exploatarea de calitate bun)

Element cheie: asigurarea echilibrului ntre explorare i exploatare

Algoritmi metaeuristici - Curs 1 26


Structura unui algoritm evolutiv
solutie
Metaeuristic bazata pe
populatii =
Initializare
populatie
proces iterativ constnd
Conditie
n aplicarea succesiv a
de oprire
unor operatori
- de explorare
Evaluare Selectie - de exploatare (selecie)

asupra unei populaii


Operatori iniializate aleator
de explorare

Algoritmi metaeuristici - Curs 1 27


Structura curs
Metaeuristici care folosesc o soluie candidat
Hill climbing
Iterated Local Search (ILS)
Simulated Annealing (SA)
Tabu Search (TS)
Greedy Randomized Adaptive Search (GRASP)
Variable Neighborhood Search (VNS)
Metaeuristici care folosesc o populaie de soluii candidat
Algoritmi evolutivi:
ES - strategii evolutive,
EP- programare evolutive
GA - algoritmi genetici
GP - programare genetica
Differential Evolution
Algoritmi bazai pe inteligena colectiv:
PSO - Particle Swarm Optimization,
ACO - Ant Colony Optimization
ABC - Artificial Bee Colony etc
Algoritmi bazai pe estimarea distribuiei de probabilitate:
PBIL Population Based Incremental Learning
EDA Estimation of Distribution Algorithms
Algoritmi metaeuristici - Curs 1 28
Structura curs
Algoritmi metaeuristici scalabili
Coevolutie cooperative
Modele de paralelizare:
Modelul master-slave
Modelul insular
Modelul celular
Algoritmi specifici unor clase de probleme
Optimizare cu restricii
Optimizare multicriterial
Optimizare multimodal
Optimizare dinamic
Aplicaii
Proiectarea evolutiv a reelelor neuronale
Analiza datelor: selecia atributelor, extragerea regulilor de clasificare, clustering
Planificare: probleme de rutare a vehiculelor, planificarea task-urilor i alocarea
resurselor n sisteme distribuite

Algoritmi metaeuristici - Curs 1 29


Bibliografie
1. Sean Luke, 2013, Essentials of Metaheuristics, Lulu, second
edition, accesibil la
http://cs.gmu.edu/~sean/book/metaheuristics/
2. Z. Michalewicz, D. Fogel: How to Solve It. Modern Heuristics.
Springer, 1999

Algoritmi metaeuristici - Curs 1 30


Structura laborator
Lab 1: Familiarizare cu SciLab si probleme simple de optimizare
Lab 2: Algoritmi de tip Simulated Annealing, Tabu Search etc.
Probleme de optimizare combinatorial (TSP)
Lab 3: Algoritmi evolutivi. Probleme de optimizare continu
Lab 4: Algoritmi bazai pe inteligena colectiv (PSO, ACO)
Lab 5: Probleme de optimizare multicriterial - MOEA
Lab 6: Proiectarea evolutiv a reelelor neuronale
Lab 7: Probleme de planificare

Medii de experimentare:
SciLab, R

Algoritmi metaeuristici - Curs 1 31


Evaluare
Materiale pentru curs: http://www.info.uvt.ro/~dzaharie/am2015

Mod de evaluare:

Proiect final: 60-80%

Test scris: 20%

Teme laborator: 20%

Algoritmi metaeuristici - Curs 1 32

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