Sunteți pe pagina 1din 31

Algoritmi evolutivi pentru rezolvarea

problemelor de optimizare
multicriterial
Specificul optimizrii multicriteriale
Metode de rezolvare a problemelor de optimizare multicriterial
Optimizare n sens Pareto cu algoritmi evolutivi

Calcul neuronal si evolutiv - Curs 11

Specificul optimizrii multicriteriale


Optimizare multicriterial = optimizarea simultan a mai multor
criterii
Exemple:
1.
Determinarea parametrilor unui produs industrial care asigur
maximizarea fiabilitii i minimizarea costurilor
2.
Rezolvarea unei probleme de rutare ntr-o reea de telefonie
astfel nct s fie minimizate att costurile ct i congestia
reelei
3.
Gruparea datelor n clustere astfel nct s fie maximizat
similaritatea datelor aparinnd aceluiai cluster i minimizat
similaritatea datelor din clustere diferite

Calcul neuronal si evolutiv - Curs 11

Specificul optimizrii multicriteriale


Formularea problemei: f:Rn->Rr, f(x)=(f1(x),,fr(x))
Se cauta x* care satisface:
(i)
Restricii de tip inegalitate: gi(x*)>=0, i=1..p
(ii) Restricii de tip egalitate: hi(x*)=0, i=1..q
(iii) Optimizeaz (maximizeaz sau minimizeaz fiecare criteriu)
Obs:
1. criteriile pot fi contradictorii (ex: calitatea i preul unui produs: cu
ct produsul este mai bun calitativ cu att va fi mai mare
pretul)
2. marea majoritate a problemelor din practic au dou criterii (r=2)
ns exist probleme i cu mai multe criterii
Calcul neuronal si evolutiv - Curs 11

Specificul optimizrii multicriteriale


Exemplu: r=2 (dou criterii de optim)
f1(x)=x2, f2(x)=(x-2)2 pentru x n [-2,4]
Se dorete minimizarea ambelor funcii. Nu exist x* care s
minimizeze simultan cele dou funcii
f1,f2

Se caut soluii de compromis:


suficient de bune din perspectiva
ambelor criterii:
x n [0,2] nu exist x cu
f1(x)<f1(x) si f2(x)<f2(x)
O astfel de solutie de compromis
este numit soluie n sens Pareto-2

15
12.5
10
7.5
5
2.5
-1

Calcul neuronal si evolutiv - Curs 11

Specificul optimizrii multicriteriale


Noiuni de baz n optimizarea n sens Pareto:
1.
Relaia de dominare:
y domin pe y (n cazul unei probleme de minimizare)
daca yi<=yi pentru fiecare i i inegalitatea este strict pentru cel
puin o component
y nu domin pe y i
nici y nu domin pe y
f2 y domin pe y
f2
Relaia de
dominare este o
y
relaie de ordine
y
parial (exist
elemente care sunt
y
y
reciproc
nedominate)
f1
f1
Calcul neuronal si evolutiv - Curs 11

Specificul optimizrii multicriteriale


Noiuni de baz n optimizarea n sens Pareto:
2. Element nedominat n raport cu o mulime:
y este nedominat n raport cu V dac nu exist nici un element n V
care s l domine pe y
Elementele marcate cu rou sunt
nedominate n raport cu toate
elementele
Elementele marcate cu verde sunt
nedominate n raport cu celelalte
marcate cu verde i cu cele marcate
cu albastru

f2

f1
Calcul neuronal si evolutiv - Curs 11

Specificul optimizrii multicriteriale


Noiuni de baz n optimizarea n sens Pareto:
3. Soluie optimal n sens Pareto
Un element x este soluie optimal n sens Pareto dac nu exist
nici un element x astfel nct f(x) s l domine pe f(x)
Mulimea tuturor elementelor Pareto optimale ale unei probleme de
optimizare multicriteriale se numete soluia optimal a
problemei (n sens Pareto)
f1,f2
15

In cazul exemplului studiat mulimea


Pareto optimal este intervalul [0,2]

12.5
10
7.5
5
2.5
-2

-1

Calcul neuronal si evolutiv - Curs 11

Specificul optimizrii multicriteriale


Noiuni de baz n optimizarea
n sens Pareto:
4. Front Pareto
Mulimea valorilor funciilor
obiectiv (criteriile de
optimizat) asociate
elementelor unei mulimi
Pareto optimale se
numete front Pareto

f1,f2
15
12.5
10
7.5
5
2.5
-2

-1

f2
10
8

Front Pareto

6
4
2
2

Calcul neuronal si evolutiv - Curs 11

10

f1

Metode de rezolvare
1.

Transformarea ntr-o problem de optimizare unicriterial:


toate criteriile de optim se combin n unul singur
Metoda agregrii
r

f ( x)

w f ( x),
i i

i 1

wi (0,1),

i 1

Avantaje: se reduce la o problem mai simpl de optimizare


unicriterial
Dezavantaje:

pentru un set de parametri w se obine o singur soluie; pentru


estimarea frontului Pareto trebuie rezolvat pb pt mai multe
seturi de valori ale lui w

Trebuie specificai parametrii w

nu permite estimarea fronturilor Pareto neconvexe


Calcul neuronal si evolutiv - Curs 11

Metode de rezolvare
1.

Transformarea ntr-o problema de optimizare unicriterial:


toate criteriile de optim se combin n unul singur

Metoda deplasrilor fa de valori int


r

f ( x) (

| f i ( x) yi* | p )1/ p , yi* valori tinta

i 1

Avantaje: se reduce la o problem de optimizare unicriterial


Dezavantaje:

trebuie cunoscute valorile int

problema la care se reduce este uniciterial dar poate fi


multimodal (exist mai multe valori pentru care se atinge
optimul)
Calcul neuronal si evolutiv - Curs 11

10

Metode de rezolvare
2. Aproximarea simultan (folosind o populaie de soluii candidat)
a mai multor elemente ale mulimii optimale n sens Pareto

Se folosete un algoritm evolutiv al crui scop este s


genereze ntr-o singur rulare o aproximare a mulimii Pareto
(i a frontului Pareto corespunztor)

Aproximarea frontului Pareto trebuie s satisfac cel puin


dou caracteristici:

S fie ct mai apropiat de frontul real


S fie suficient de divers
2.5
2
1.5
1
0.5

0.2

Calcul neuronal si evolutiv - Curs 11

0.4

0.6

0.8

11

Optimizare n sens Pareto cu


algoritmi evolutivi
Pentru ca aproximarea frontului Pareto s aib cele dou
proprieti trebuie folosite tehnici specifice:

Folosirea unui proces de selecie n care s se in cont de


relaia de nedominare
Utilizarea unui factor de aglomerare n evaluarea elementelor
populaiei (crowding factor)
Modificarea funciei de scor prin utilizarea unui mecanism de
partajare (sharing function)
Restricionarea ncrucirii (mating restriction)
Asigurarea elitismului prin utilizarea unei populaii secundare
(arhiv)

Calcul neuronal si evolutiv - Curs 11

12

Optimizare n sens Pareto cu


algoritmi evolutivi
Criterii specifice de selecie:

Pe baza nivelului de nedominare (ex: NSGA Nondominated


Sorting GA)

Se organizeaz populaia pe nivele de nedominare:

Primul nivel este constituit din elementele nedominate


Elementele nedominate din mulimea obinut ignornd primul nivel
formeaz al doilea nivel

Un element este considerat


mai bun dac rangul de
nedominare este mai mic
La selecie se reunete
populaia prinilor cu cea a
urmailor i se ordoneaz
cresctor dup rang

Al doilea nivel (rang=2)


Al treilea nivel
(rang=3)

Primul nivel
(rang=1)

Calcul neuronal si evolutiv - Curs 11

13

Optimizare n sens Pareto cu


algoritmi evolutivi
Criterii specifice de selectie:

Gradul de adecvare a unui element depinde de:

Numrul de elemente pe care el le domin (direct proporional)


dominance count
Numrul de elemente de ctre care este dominat (invers
proporional)- dominance rank

Ex: SPEA Strength Pareto EA


La compararea a dou elemente se folosete unul dintre
criteriile de optimizat. La fiecare etap criteriul n baza cruia
se compar elementele se alege:
pe baza unei reguli de parcurgere a setului de criterii
aleator, pe baza unor probabiliti fixate sau adaptive
Ex: VEGA
Calcul neuronal si evolutiv - Curs 11

14

Optimizare n sens Pareto cu


algoritmi evolutivi
Utilizarea unui factor de aglomerare (crowding factor)

Scop: stimularea diversitii aproximrii frontului Pareto

Idee: dintre dou elemente care au aceeai calitate dpdv al


criteriilor (de exemplu sunt reciproc nedominate, aparin
aceluiai nivel de nedominare sau au acelai grad de
adecvare) este preferat cel care care se afl ntr-o regiune
mai puin aglomerat)

Factorul de aglomerare asociat unui element se calculeaz n


funcie de distana dintre acest element i cei mai apropiai
vecini
Valoarea factorului de
aglomerare: (a+b)/2

Calcul neuronal si evolutiv - Curs 11

15

Optimizare in sens Pareto cu


algoritmi evolutivi
Mecanism de partajare (sharing mechanism):

Idee: dac un grup de indivizi partajeaz o resurs comun


atunci ansa lor de supravieuire este direct proporional cu
volumul resursei i invers proporional cu dimensiunea
grupului

Gradul de adecvare (ai) al unui element se ajusteaz prin


mprirea la o funcie de partajare care depinde de distanele
dintre elementele grupului

(s)
i

ai
m

s(d ( x , x ))
j 1

1 (d / s )
s(d )
0

Calcul neuronal si evolutiv - Curs 11

d s
d s

16

Optimizare in sens Pareto cu


algoritmi evolutivi
Mecanism de partajare:

Permite diferentierea ntre elemente care sunt reciproc nedominate

Prezint dezavantajul c necesit specificarea unei raze de aciune a


funciei de partajare (s )

1 (d / s )
s(d )

d s
d s

sd
1

s=3

0.8
0.6

Are efect benefic i n cazul


optimizrii multimodale (cnd
se urmrete aproximarea tuturor
optimelor locale sau globale)

0.4
0.2

s=1
1

Calcul neuronal si evolutiv - Curs 11

s=2
17

Optimizare in sens Pareto cu


algoritmi evolutivi
Imperechere restrictionata (restricted mating):

Idee: acceptarea ncrucirii doar ntre elemente aparinnd


aceleiai specii (elemente suficient de similare)

Scop: evitarea generarii de urmai de calitate slab


Exemple:
1.
Acceptarea ca prini a unor elemente care sunt suficient de
apropiate ntre ele
2.
Acceptarea ca prini doar a unor elemente nedominate

Calcul neuronal si evolutiv - Curs 11

18

Optimizare in sens Pareto cu


algoritmi evolutivi
Utilizarea unei arhive:

Scop: asigurarea elitismului (conservarea elementelor


nedominate obinute pe parcursul evoluiei)

Arhiva va reprezenta aproximarea mulimii optimale

Dezavantaj: este necesar implementarea unui mecanism de


gestiune a arhivei caracterizat prin:

Un nou candidat este acceptat n arhiv dac nu este dominat de


ctre nici un element al arhivei
Dac noul element domin elemente existente n arhiv atunci
acestea sunt eliminate
Pentru a se evita creterea nelimitat a volumului arhivei, aceasta
trebuie reorganizat periodic (de exemplu prin eliminarea
elementelor aflate la o distan mic fa de alte elemente ale
arhivei)
Calcul neuronal si evolutiv - Curs 11

19

Exemple: VEGA (Vector Evaluating


Genetic Algorithm)

Primul algoritm evolutiv pentru optimizare multicriterial (1985)


care nu folosete tehnica agregrii
Structura general i operatorii de reproducere sunt similari
algoritmilor specifici optimizrii unicriteriale
Singurul element care se modific este procesul de selecie:

In cazul a r criterii se aplic selecia (de exemplu selecie


proporional) de r ori construindu-se k subpopulaii (fiecare
cu cte m/r elemente m fiind dimensiunea populaiei
globale
Avantaje: uor de implementat
Dezavantaje: similare cu cele ale tehnicilor bazate pe agregare

Calcul neuronal si evolutiv - Curs 11

20

Exemple: Lexicographic Ordering

Se asociaz prioriti criteriilor de optimizat

Se rezolv successiv probleme de optimizare unicriteriale


(pentru fiecare criteriu n parte) n ordinea descresctoare a
prioritilor criteriilor

Avantaj: simplu de implementat

Dezavantaj: necesit stabilirea unor prioriti

Observaie: se poate evita utilizarea prioritilor prin selecie


aleatoare a criteriilor
Calcul neuronal si evolutiv - Curs 11

21

Exemple: Multiobjective GA

Propus in 1993

Fiecrui element i se asociaz un rang proporional cu numrul


de elemente de ctre care este dominat

Utilizeaz funcie de partajare i o regul de selecie


restricionat a prinilor

Calcul neuronal si evolutiv - Curs 11

22

Exemple: Nondominating Sorting


GA (NSGA)
Variante: NSGA-I (1993), NSGA-II (2000)

Fiecrui element i se asociaz un grad de nedominare bazat pe


identificarea unor nivele de nedominare:

Elementele nedominate din populaia curent formeaz


primul nivel de nedominare

Elementele nedominate din populaia rmas dup


eliminarea elementelor primului nivel, formeaz al doilea
nivel s.a.m.d.
Pentru stimularea diversitii:

NSGA-I folosete funcie de partajare


NSGA-II folosete factor de aglomerare
Calcul neuronal si evolutiv - Curs 11

23

Exemple: Niched Pareto GA (NPGA)

Propus n: 1994
Folosete selecie de tip turneu bazat pe nedominare n raport
cu un eantion din populaie:

Selecteaz aleator dou elemente din populaie (x1 i x2)

Selecteaz aleator un eantion de q elemente (din populaia


curent avnd m elemente)

Verific dac x1 i x2 sunt dominate de ctre elemente din


eantion

Daca x1 e nedominat dar x2 e dominat se selecteaz x1


Daca x2 e nedominat dar x1 e dominat se selecteaz x2
Daca ambele sunt dominate sau ambele nedominate atunci se
folosete o funcie de partajare pentru discriminare

Calcul neuronal si evolutiv - Curs 11

24

Exemple: Strength Pareto EA


(SPEA)

Propus n: 1999

Folosete o arhiv de elemente nedominate actualizat pe


parcursul evoluiei

Pentru fiecare element din arhiv se ntreine un indicator de dominare


(strength factor) proporional cu numrul de elemente pe care acesta le
domin
Pentru fiecare element din populaie scorul se calculeaz ca fiind invers
proporional cu suma indicatorilor elementelor din arhiv care l domin

SPEA 2 aduce cteva modificri:

La evaluarea unui element se iau n considerare att elementele care l


domin ct i cele de ctre care este dominat
Utilizeaz o tehnic de estimare a densitii frontului (bazata pe distana la
cel mai apropiat vecin)
Folosete o tehnic de trunchiere a arhivei
Calcul neuronal si evolutiv - Curs 11

25

Exemple: tehnici bazate pe


descompunere (MOEA/D)
Specific: transformarea problemei de optimizare multicriterial
n mai multe probleme de optimizare unicriterial

MOEA/D a fost propus in 2007 i este la ora actual printre cei


mai eficieni algoritmi (n special n cazul a mai mult de dou
criterii)

Idee MOEA/D:

Se consider N seturi de vectori cu ponderi (w1,w2,...,wN);


fiecare vector conine r valori (r=nr criterii)

Se cunosc valori int (referin) pentru fiecare dintre cele m


criterii

Pentru fiecare vector wi se rezolv problema de optimizare


unicriterial corespunztoare:

Minimizeaz maxj{wij |fj(x)-yj*|} (criteriu de tip Cebisev)

Calcul neuronal si evolutiv - Curs 11

26

Exemple: tehnici bazate pe


descompunere (MOEA/D)

Pentru implementarea unui alg de tip MOEA/D trebuie


specificate:

N = numr subprobleme
N vectori cu ponderi (ct mai uniform distribuii)
T = numrul de vectori din vecintatea fiecrui vector
pondere

Calcul neuronal si evolutiv - Curs 11

27

Exemple: tehnici bazate pe


descompunere (MOEA/D)

Structura algoritm:

Iniializeaz N populatii; iniializeaz z=(z1,...,zr) valori int;


iniializeaz arhiva cu mulimea vid

La fiecare generaie, pentru fiecare subproblem i:

Selecteaz dou elemente xk si xl din populaiile


subproblemelor aflate n vecintatea subproblemei i

Combin xk cu xl i construiete y

Actualizeaz z (dac e cazul)

Inlocuiete vecinii cu y dac acesta este mai bun

Elimin elementele dominate din arhiv i adaug y la


arhiv dac este nedominat

Calcul neuronal si evolutiv - Curs 11

28

Utilizarea unei arhive


Utilizarea unei
arhive:

populatie

evaluare
selectie
generare de noi elemente

noua populatie

arhiva

actualizare
trunchiere

noua arhiva
Calcul neuronal si evolutiv - Curs 11

29

Sumar

D.Brockhoff - Tutorial MOEA GECCO 2013


Calcul neuronal si evolutiv - Curs 11

30

Resurse
http://www.lania.mx/~ccoello/EMOO/EMOObib.html
(2940 referinte septembrie 2007)
(3519 referinte noiembrie 2008)
(4388 referinte octombrie 2009)
(4861 referinte februarie 2010)
Din 2010 EMOObib nu a mai fost actualizat
(7806 referinte martie 2013) tutorial on MOEA GECCO 2013

Calcul neuronal si evolutiv - Curs 11

31

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