Sei sulla pagina 1di 30

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 10

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 10

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 10 3

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 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
Calcul neuronal si evolutiv - Curs 10 4

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 y domin pe y f2 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 10 5

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 10 6

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)

In cazul exemplului studiat mulimea Pareto optimal este intervalul [0,2]

Calcul neuronal si evolutiv - Curs 10

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

Front Pareto

Calcul neuronal si evolutiv - Curs 10

Metode de rezolvare
1. Transformarea ntr-o problem de optimizare unicriterial: toate criteriile de optim se combin n unul singur Metoda agregrii

f ( x) =

w f ( x),
i i i =1

wi (0,1),

w
i =1

=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 10 9

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

f ( x) = (

i =1

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

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 10 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

Calcul neuronal si evolutiv - Curs 10

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 adecvare 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 10

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 10

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 10 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 adevare) 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
a

Calcul neuronal si evolutiv - Curs 10

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

s(d ( x , x ))
j =1 i j

1 (d / s ) s(d ) = 0

d <s d s

Calcul neuronal si evolutiv - Curs 10

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 ) = 0

d <s d s

s=3 s=1 s=2


17

Are efect benefic i n cazul optimizrii multimodale (cnd se urmrete aproximarea tuturor optimelor locale sau globale)

Calcul neuronal si evolutiv - Curs 10

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 Acceptarea ca prini doar a unor elemente nedominate 2.

Calcul neuronal si evolutiv - Curs 10

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 10

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 k criterii se aplic selecia (de exemplu selecie proporional) de k ori construindu-se k subpopula ii (fiecare cu cte m/k elemente m fiind dimensiunea populaiei globale Avantaje: uor de implementat Dezavantaje: similare cu cele ale tehnicilor bazate pe agregare

Calcul neuronal si evolutiv - Curs 10

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 10

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 10

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 10 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 10

24

Exemple: Strength Pareto EA (SPEA)


Propus n: 1999 Folosete o arhiv de elemente nedominate actualizat pe parcursul evolu iei
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 10 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 multor criterii) Idee MOEA/D: Se consider N seturi de vectori cu ponderi (w1,w2,...,w1N); fiecare vector con ine m valori (m=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 max{wij |fj(x)-yj*|}

Calcul neuronal si evolutiv - Curs 10

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 distribui i) T = numrul de vectori din vecintatea fiecarui vector pondere Structura algoritm: Initializeaz o populaie cu N elemente; iniializeaz z=(z1,...,zm) valori int La fiecare generaie, pentru fiecare subproblem i: Selecteaz dou elemente xk si xl din populaiile subproblemelor aflate n vecintatea subproblemei i Combina xk cu xl si construieste y Actualizeaz z (dac e cazul)
Calcul neuronal si evolutiv - Curs 10

27

Exemple: tehnici bazate pe descompunere (MOEA/D)


Structura algoritm: Initializeaz o populaie cu N elemente; iniializeaz z=(z1,...,zm) 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 Combina xk cu xl si construieste 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 10

28

Sumar
Utilizarea unei arhive: populatie arhiva

evaluare selectie generare de noi elemente

actualizare trunchiere

noua populatie
Calcul neuronal si evolutiv - Curs 10

noua arhiva
29

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)

Calcul neuronal si evolutiv - Curs 10

30

Potrebbero piacerti anche