Sunteți pe pagina 1din 9

C.

Rotar- Rezolvarea problemelor de optimizare multicriterial utiliznd

REZOLVAREA PROBLEMELOR DE OPTIMIZARE


MULTICRITERIAL UTILIZND CROMODINAMICA
GENETIC
Corina Rotar
Abstract. One of the main application areas of the evolutionary computation is
multiobjective optimization. There is a variety of approachc trying to solve the
multiobjectice optimization problems. Goldberg, Srinivas and Deb, and many otber, propose
evolutive algorithms, which have proved to be a very good instrument for solving
multiobjective optimization problems. In this article we propose to apply genetic
chromodynamics tehniques, developed by Dumitrescu, for solving tbis difficult problems.
Keywords: Evolutive algorithms, Genetic chromodynamics, multiobjective optimization
I. INTRODUCERE
Calculul Evolutiv reprezint un ansamblu de tehnici i concepte inspirate din teoria
evoluiei biologice, n conformitate cu aceasta, o populaie de soluii iniiale se modific
sub aciunea operatorilor biologici: selecie, recombinare, mutaie, etc., nregistrndu-se o
cretere a performanei indivizilor de la o generaie la alta. Selectarea celor mai buni
indivizi (cromozomi) pentru a deveni prinii generaiei urmtoare, conduce nspre o
mbuntire a calitii indivizilor descendeni. Dup un numr fixat de generaii, cel mai
bun individ al ultimei populaii sau cel mai bun individ generat in decursul procesului
reprezint soluia problemei. Soluia oferit de tehnicile Calculului Evolutiv nu este
ntotdeauna soluia global exact a problemei, ns o bun aproximare a acesteia este n
multe situaii satisfctoare.
Direciile Calculului Evolutiv sunt: Algoritmii Genetici, Programarea
Evolutiv, Strategiile Evolutive, Programarea Genetic, Sisteme de Clasificare Instruibile,
Cromodinamica Genetic, Algoritmi Genetici Dezordonai i Codificarea Delta.
Algoritmii evolutivi au la baza modelul evoluiei organismelor, natura fiind sursa
principal de inspiraie. n conformitate cu legile evoluiei naturale, un Algoritm Evolutiv
modeleaz adaptarea unei populaii de indivizi, reprezentnd fiecare n parte o soluie
posibil a problemei de rezolvat. Aceast adaptare se face n sensul creterii
performanelor indivizilor populaiei n raport cu funcia obiectiv.
Spaiul de cutare al problemei poate s fie prea mare sau chiar infinit n aceast
situaie, populaia asupra creia acioneaz algoritmul evolutiv este format dintr-o
submulime finit a spaiului de cutare. Fiecare element al populaiei, numit in
literatura de specialitate cromozom, reprezint o soluie posibil a problemei. De
regul, populaia iniial se construiete prin generarea aleatoare a unor puncte ale
spaiului de cutare. Performana unui cromozom este calculat cu ajutorul funciei de
evaluare, funcie ce poate coincide cu funcia obiectiv in cazul problemelor de
optimizare sau, in alte situaii, poate fi o funcie de cost, de ctig, etc.
45

C. Rotar- Rezolvarea problemelor de optimizare multicriterial utiliznd


Algoritmii evolutivi sunt n esen proceduri iterative de cutare. La fiecare iteraie
sunt selectai cei mai performani indivizi ai populaiei curente P(t), urmnd ca asupra lor
s se aplice operatorii genetici specifici pentru a genera noi indivizi. Operatorii genetici
uzuali sunt operatorul de recombinare i cel de mutaie. Recombinarea asigur
construirea unor noi indivizi prin combinarea materialului genetic (fragmente de
cromozomi) provenit din indivizii existeni. Mutaia va crea noi indivizi prin executarea
unor mici modificri, perturbaii, asupra unui singur cromozom. Descendenii obinui in
urma aplicrii operatorilor genetici vor forma noua generaie P(t+1). Se consider c la
fiecare iteraie, noua generaie conine indivizi mai performani, mai "adaptai" dect cei
ai populaiei anterioare.
Terminarea algoritmului evolutiv este fie condiionat de atingerea unui numr dat de
iteraii, fie de orice alt condiie specific problemei. Soluia algoritmului va fi extras
din populaia final, fiind cel mai bun cromozom al acesteia. Pentru a ne asigura c cel
mai bun individ generat nu s-a pierdut prin alternarea generaiilor, algoritmul
evolutiv poate fi nzestrat cu un mecanism suplimentar ce permite supravieuirea celor
mai buni k indivizi ai populaiei de la o generaie la alta. Soluia dat de algoritmul
genetic nu este ntotdeauna i optimul global al problemei rezolvate, ns aceasta se
apropie mult de soluia dorit, n cazul problemelor complicate, putem fi mulumii de
gsirea unei soluii bune, ct mai apropiat de optimul global. Prerile sceptice n
legtur cu eficiena procedurilor evolutive au fost nlturate prin obinerea unor
rezultate surprinztoare n cazul problemelor complicate pentru care tehnicile clasice
nu dau soluii bune sau necesit un timp prea mare de execuie.
Rezolvarea oricrei probleme poate fi privit ca un proces de cutare i optimizare
n spaiul soluiilor posibile. Din aceste considerente un algoritm evolutiv poate fi
adaptat n mod corespunztor oricrei probleme date. S lum spre exemplu cea mai
popular clasa de algoritmi evolutivi, algoritmii genetici. Fiecare cromozom al populaiei
este alctuit dintr-o secven de caracteristici sau gene. Valorile genelor sunt preluate
dintr-un alfabet A dependent de specificaiile problemei de rezolvat. Lungimea
cromozomilor, definit prin numrul de gene constitutive, este de regul un numr
constant. O clas aparte de algoritmi genetici, algoritmii genetici dezordonai,
utilizeaz o lungime variabil a cromozomilor.
Observaie: n orice procedur puternic de cutare i optimizare, stabilirea unui
echilibru ntre explorarea spaiului soluiilor posibile (cutarea global) i
exploatarea regiunilor promitoare ale spaiului de cutare (cutarea local), devine o
condiie obligatorie. Cercetrile lui Holland din anii '70 au demonstrat c algoritmii
genetici realizeaz acest echilibru ntr-o maniera aproape optimal.
Structura general a unui algoritm genetic:
1. Fie t=0. Iniializare aleatoare P(t);
2. Evaluarea cromozomilor populaiei P (t).
3. Repet
3.1. Selecie cromozomi prini din P(t)
46

C. Rotar- Rezolvarea problemelor de optimizare multicriterial utiliznd


rezultnd populaia intermediar PI.
3.2. Asupra populaiei P1 se aplic
operatorii
genetici
(recombinare,
mutaie, inversiune, etc.) rezultnd
populaia P2. Din PI se terg prinii
populaiei P2.
3.3. n P2 se adaug cromozomii rmai n
PI.
P(t+l)=P2; t=t+l; Evaluarea cromozomilor din P(t).
Sfrit.
II. CROMODINAMICA GENETIC
Direcie relativ nou a Calculului Evolutiv, Cromodinamica Genetic a fost
iniial dezvoltat pentru rezolvarea problemelor de clasificare. Cromodinamica genetic
utilizeaz
o
populaie
de
dimensiune
variabil
Numrul indivizilor populaiei scade cu fiecare generaie." Fiecare cromozom (individ)
reprezint o soluie posibil din spaiul de cutare. Utilizatorul are libertatea de a opta
pentru o variant de codificare a cromozomilor: binar, real, etc.
Ideea de baz a acestei metode este de a realiza o partiionare a populaiei
ntr-un numr oarecare de subpopulaii. O subpopulaie va corespunde unui punct de
optim.
n procesul de cutare, aceast partiionare a populaiei trebuie s
se menin. Subpopulaiile coevolueaz i converg n parte spre soluiile optimale ale
problemei. Se admite c indivizii (soluiile) foarte apropiai se vor unifica,
determinnd
o
descretere
a
dimensiunii populaiei, n final fiecare subpopulaie va conine un singur individ
reprezentnd un punct de optim din spaiul soluiilor posibile ale problemei considerate.
Iniial, fiecrui individ i va fi ataat o culoare distinct, n timp se va constata o
descretere a numrului de culori (ceea ce explic i numele metodei) i o stabilizare a
unei culori dominante pentru fiecare subpopulaie.
Modificrile aduse populaiei la fiecare iteraie sunt modelate cu ajutorul
operatorilor genetici de recombinare i mutaie. Recombinarea este de tipul (2,1), adic
din doi prini selectai va rezulta un unic descendent Fiecare cromozom este selectat
pentru recombinare. Se consider acesta printele dominant Perechea sa este
selectat numai dintr-o vecintate sferic a cromozomului dominant. Din punct de
vedere biologic, probabilitatea de mperechere a unui individ cu un alt individ din
aceeai subpopulaie este mult mai mare dect mperecherea cu un individ dintr-o
alt subpopulaie. Din aceste considerente, Cromodinamica genetic accept doar
ncruciri locale. Pentru fiecare cromozom selectat a (printele dominant) se
definete o vecintate sferic centrat n a, de raz r: V(a,r) n care va fi cutat
partenerul recesiv b al cromozomului a. Raza r poate constitui o constant a
procedurii sau poate s varieze n funcie de numrul de generaii produse, n
47

C. Rotar- Rezolvarea problemelor de optimizare multicriterial utiliznd


concordan cu rolul su, raza r se numete raz de interaciune.
Cei doi operatori considerai, mutaia i recombinarea se exclud reciproc. Un
cromozom a este perturbat prin mutaie doar n situaia n care vecintatea sa V(a,r) nu
permite stabilirea unui partener pentru recombinare. Decizia de alegere a
operatorilor genetici este condiionat att de cadrul problemei concrete ct i de
metoda de reprezentare a indivizilor. Spre exemplu, pentru o reprezentare real, putem
considera ncruciarea convex de tipul (2,1) i o lege aditiv de mutaie prin care fiecare
variabil a cromozomului sufer o perturbaie normal:
Fie a cromozomul selectat pentru recombinare, i m dimensiunea sa (numrul de
variabile), n vecintatea sa V(a,r) este determinat partenerul b de recombinare. Unicul
descendent al perechii (a,b) este cromozomul c, pentru care:

ci = i ai + (1 1 )bi , i = 1, m unde i [0,1]


urmeaz o distribuie uniform.
Obs: Unicul descendent al perechii (a,b) va moteni culoarea printelui dominant.
n cazul in care vecintatea lui c nu ofer nici un partener valid pentru
ncruciare, cromozomul c este supus mutaiei..
n general, un descendent mai bun i nlocuiete automat printele n noua
generaie. Aceasta ar putea conduce nspre o convergen prematur a procedurii.
Evitarea convergenei premature poate fi fcut prin nzestrarea procedurii cu un
mecanism suplimentar de tipul recoacerii simulate. Astfel, un individ mai slab dect
printele su poate fi acceptat n noua generaie cu o anumit probabilitate p.
Un alt aspect specific cromodinamicii genetice este descreterea numrului de
indivizi ai populaiei, n timp anumii indivizi devin foarte apropiai i mai multe
subpopulaii ar putea evolua nspre acelai punct de optim. Acest lucru este
neacceptabil dac dorim determinarea numrului corect de optime i avem n vedere
aptul c fiecrui punct de optim i va corespunde un unic cromozom. Pentru modelarea
acestui aspect se va considera c indivizii foarte apropiai (distana dintre acetia este
mai mic dect o valoare pre-fixat) se vor unifica devenind unul singur.
Condiia de oprire a algoritmului poate fi dat de atingerea unui numr de
generaii sau poate fi validat n cazul n care dup un numr oarecare de generaii nu se
mai nregistreaz modificri semnificative ale populaiei. ;
Rezultatele acestei tehnici sunt pe de o parte, determinarea punctelor
de optim i pe de alt parte stabilirea numrului corect de puncte de optim. Dac,
populaia final este alctuit din s cromozomi atunci numrul de puncte de optim
este s iar fiecare cromozom xi , i = 1,2,..., s reprezint o soluie optim (local sau
global) a problemei.
Dinamica metodei poate fi urmrit pe dou nivele. Primul nivel corespunde
modificrii cromozomilor iar cel de-al doilea este asociat cu formarea, modificarea i
stabilizarea subpopulaiilor.
III. OPTIMIZARE MULTICRITERIAL
48

C. Rotar- Rezolvarea problemelor de optimizare multicriterial utiliznd


O clas de probleme cu un grad mare de complexitate admite existena mai
multor funcii obiectiv. Problemele n care mai multe funcii obiectiv trebuie
optimizate simultan se numesc probleme de optimizare multicriterial
(optimizare multiobiectiv, optimizare vectorial). De cele mai multe ori criteriile de
optim sunt contradictorii, ngreunnd semnificativ stabilirea unei tehnici de rezolvare a
problemelor de acest gen. O abordare simplist permite convertirea criteriilor ntr-o
singur funcie obiectiv, problema reducndu-se la o problem de optimizare clasic cu
un singur obiectiv. Fiecare criteriu i va aduce aportul n aceast funcie printr-o
pondere prestabilit. Alegerea ponderilor pentru definirea unei unice funcii obiectiv
cunoate adesea o rezolvare subiectiv care ar afecta soluia final. Motivele prezentate
ncurajeaz cercetarea altor tehnici de rezolvare a problemelor multicriteriale.

Optimizare Pareto
Pentru o problem de optimizare cu m funcii criteriu: fi , i = 1,2,...,m definim
vector criteriu, vectorul m-dimensional cu urmtoarea form, avnd ca i
componente funciile fi , i = 1,2,...,m :

f1

F = M
f
m

Notnd cu domeniul funciei F, F : R m , iar reprezint spaiul de


cutare pentru problema dat.
Principalul neajuns al problemelor de optimizare multicriterial const n
incompatibilitatea diferitelor criterii i, n consecin, imposibilitatea comparrii
soluiilor, n optimizarea Pareto aceast dificultate este nlturat prin definirea unei
49

C. Rotar- Rezolvarea problemelor de optimizare multicriterial utiliznd


relaii de ordine (relaie de dominare) peste mulimea soluiilor.
O soluie nedominat sau optimal n sens Pareto se definete intuitiv prin
urmtoarele propoziii:
(a) Nu este o soluie mai proast dect celelalte.
(b) Este mai bun dect oricare alta n raport cu cel puin un criteriu.
Pentru a defini relaia de dominare peste mulimea soluiilor (spaiul ) se
definete n prealabil o relaie de dominare peste mulimea valorilor funciei vector F
(spaiul Rm).
Fie urmtoarea problem de optimizare multicriterial:

f ( x) max, i = 1,..., m
P: i
x
Valorile funciei vector F constituie mulimea V, unde:
V={v R m | x , v = F(x)}
Definiie. Fie u i v doi vectori din V. Spunem c vectorul v l domin pe u (notat
u p v) n raport cu problema considerat, ddac sunt ndeplinite urmtoarele:
(a) u i , i= 1,2,...,m;
(b) j = 1,2,...,m : uj <vj.
Definiie. Spunem c valoarea v a funciei F este nedominat (Pareto-optimal)
dac nu exist nici o alt valoare care s o domine.
Relaia definit peste mulimea V induce n spaiul o relaie de dominare:
Definiie: Spunem ca soluia x e este nedominat (soluie Pareto - optimal)
ddac nu exist nici o alt soluie care s genereze o valoare a funciei F care domin pe F(x).
Soluiile optimale - Pareto ale problemei constituie frontul Pareto asociat problemei
respective:
P = { x | F(X) - nedominata}
Optimizare Pareto cu algoritmi genetici
n 1989 Goldberg aplic cu succes tehnicile algoritmilor genetici pentru
rezolvarea problemelor de optimizare multicriterial utiliznd conceptul de nedominare
n sens Pareto. Algoritmul genetic este mbogit printr-un mecanism de etichetare a
cromozomilor la fiecare generaie. Astfel, la o generaie oarecare toi indivizii nedominai
sunt etichetai cu valoarea l i sunt eliminai din populaie. Din populaia rmas se vor
extrage din nou indivizii nedominai, acetia din urm primind rangul 2. Procedeul continu
n aceast manier pn cnd toi indivizii generaiei respective au fost etichetai.
Submulimile de soluii nedominate realizeaz o partiie a generaiei curente. Valorile
rangurilor sunt utilizate n calcularea probabilitilor de selecie i reproducere.
n 1995, Srintvas i Deb implementeaz un algoritm de optimizare Pareto n care
este folosit metoda nielor ecologice. La fiecare generaie sunt stabilite submulimile de
soluii nedominate n maniera descris anterior. Pentru fiecare submultime de soluii
nedominate se recalculeaz performana indivizilor aparteneni folosind metoda niei.
Submulimile de soluii nedominate reprezint de fapt o partiie a populaiei. Fiecare
50

C. Rotar- Rezolvarea problemelor de optimizare multicriterial utiliznd


submultime (subpopulaie) corespunde unei nie n care indivizii partajeaz resursele
comune. Performanele recalculate intervin n selecia cromozomial. n continuare
este dat algoritmul de optimizare vectorial bazat pe metoda niei ecologice.
Algoritmul de optimizare P carete bazat pe metoda niei ecologice - prelucrarea
generaiei P(tl
1.
2.
3.
4.
5.

Fie P 1 - submultimea soluiilor nedominate din P(t)


Se genereaz o valoare mare de adecvare ce se atribuie fiecrui individ din P1 ;
Se recalculeaz performanele indivizilor nedominai folosind metoda niei;
Fie v 1 cea mai mic valoare de adecvare a cromozomilor din P1 i i = 2;
P(t) = P(t)\P 1 ;

6. Ct timp P(t) execut:


6.1.

Fie P' - submultimea soluiilor nedominate din P(t)

6.2.
Pi;
6.3.

Fie vi , vi < vi-1 , o valoare de adecvare ce se atribuie fiecrui individ din

Se recalculeaz performanele indivizilor nedominai folosind metoda


niei;
6.4.
P(t)=P{t)/P';
6.5.
i = i + 1;
7. n = i; numrul de subpopulaii
nn
8. P(t) = P i ; refacerea populaiei
i =1
i=i
9. Se aplic operatorii genetici asupra indivizilor populaiei P(t) utiliznd
valorile
adecvrilor
recalculate.

IV. OPTIMIZARE MULTICRTTERIAL CU CROMODINAMIC


GENETIC
O interesant abordare a problemelor de optimizare vectorial este
folosirea cromodinamicii genetice pentru determinarea frontului Pareto. n acest
paragraf este propus un algoritm care folosind tehnicile cromodinamicii genetice
ncearc rezolvarea unei probleme de optim multicriterial.
Componentele oricrui algoritm evolutiv pot fi grupate n 3 module:
Modulul Populaie
51

C. Rotar- Rezolvarea problemelor de optimizare multicriterial utiliznd


Modulul Evaluare
Modulul Recombinare i Modificare
n concordan cu aceast mprire pe module, . prezentarea
algoritmului n aceast seciune va urmri schema propus.
Modulul Populaie:
Metoda de reprezentare: Reprezentare real pare adecvat unei astfel de probleme.
Fiecare cromozom X este
reprezentat printr-o structur: [(x1 xn), r, c, f], n care:
vectorul de componente reale (x1 xn), reprezint un punct din spaiul soluiilor , r
- reprezint rangul individului (numrul subpopulaiei la care aparine), c - culoarea cu care este
nzestrat cromozomul, f - valoarea funciei de performan: f(X).
Metoda de iniializare: Se recurge, ca n majoritatea situaiilor la o
iniializare
aleatoare a populaiei. Numrul iniial de indivizi este un parametru al
algoritmului i poate fi modificat, n general se folosete o valoare cuprins n intervalul
[100,200].
Metoda de selecie: Fiecare individ al generaiei curente este selectat pentru
recombinare sau mutaie. Partenerul pentru recombinare este cutat doar ntr-o vecintate a
cromozomului, respectiv, printre cromozomii cu aceiai culoare ca i printele dominant. Dac nu
este posibil stabilirea unui partenr, cromozomul dominant este supus mutaiei.
Metoda de nlocuire: Descendentul mai performant dect printele dominant l
nlocuiete automat pe acesta in noua generaie. Nu se utilizeaz un mecanism de tipul recoacerii
simulate.
Alte considerente: Raza de interaciune se stabilete la fiecare generaie n
funcie de numrul de submulimi de soluii nedominate. Astfel, fiind n - numrul de clase
(subpopulaii de soluii nedominate) la o generaie dat, raza de interaciune reprezint raportul
dintre distana maxim ntre oricare doi indivizi, primul din clasa de rang l i celalalt din clasa de
rang maxim n, i numrul de clase n. Pentru fiecare individ nedominat din clasa de rang l se
construiete o vecintate de raz r. Fiecrei vecinti i este ataat o culoare distinct.
Indivizii care nu sunt colorai la o iteraie, nu vor putea fi recombinai sau mutai. Acetia
supravieuiesc trecerii de la o generaie la alta, astfel nct, la o nou iteraie vor avea din nou
ansa de a fi colorai, respectiv de a produce descendeni.
Etichetarea indivizilor: se face determinnd toate clasele de soluii nedominate. Fiecrui
element dintr-o clas i este ataat o valoare natural ce reprezint numrul clasei respective.
Prima submulime de soluii nedominate va forma clasa de rang 1. Prin eliminarea temporar din
populaie a acestei prime clase, populaia rmas va putea conine o nou submulime de soluii
nedominate, reprezentnd clasa de rang 2. n mod asemntor se vor stabili toate
clasele de soluii nedominate i toi indivizii populaiei vor primi o etichet.
Modulul Evaluare
Performana fiecrui individ c este calculat folosind funcia de evaluare cu urmtoarea
form:

f (c ) =

1
, unde:
d ' ( x, c )

d(x,c) - distana euclidian dintre punctele din spaiu de cutare reprezentate de cromozomii x i
52

C. Rotar- Rezolvarea problemelor de optimizare multicriterial utiliznd


c;
r- reprezint rangul cromozomului c i suma se calculeaz pentru toi cromozomii x care verific
condiia rang(x) = rang(c) (c i x aparin aceleiai submulimi de soluii nedominate).
Modalul Recombinare i Modificare:
Operatorii genetici utilizai sunt ncruciarea convex i mutaia. Mutaia provoac
asupra componenei vectorului (x 1 , ..., x n ) perturbaii aleatoare urmeaz legea normal.
Astfel, prin mutaie, vectorul (x 1 , ..., x n ) devine: (y 1 , ..., y n ) unde: yi = xi + Ni (0,l), i =
1,2,..., n. (prin Ni (0, 1) s-a notat instana unei variabile aleatoare cu distribuit
normal avnd m = 1 i = 0 ).
Algoritmul dat n continuare se dorete a fi o ncercare de aplicare a tehnicilor
cromodinamicii genetice pentru rezolvarea problemelor de optimizare vectorial:
1. Iniializare aleatoare populaie P(0); fie t = 1, 2.
Ct timp
(condiie_continuare = true) execut:
2.1. Stabilirea submulimilor de soluii nedominate (clase) a populaiei P(t);
fie nc - numrul de clase; fiecrui cromozom i este ataat o valoare
reprezentnd
numrul
clasei
din
care
face parte (rangul);
2.2. Calcularea razei de interaciune;
2.3. Ataare culoare pentru fiecare cromozom al populaiei
P(t);
(stabilirea vecintilor de ncruciare)
2.4. Ataarea valorii de adecvare fiecrui individ al populaiei Pft);
2.5. Pentru fiecare cromozom c se caut un partener compatibil (de aceiai
culoare). Dac s-a gsit un astfel de partener se va aplica operatorul de recombinare, n
caz contrar se aplic mutaia;
2.6. t = t + 1.
BIBLIOGRAFIE
[1] P. J. Angeline, Evobttionary Algorithms and Emergent Intelligence, Dissertation,
Presented in Parial Fulflllment of the Requirements for the Degree Doctor of
Philosophy in the Graduale School of The Ohio State University, The Ohio State
University, 1993
[2] T, B&ck, Evolutionary Algoritkms in Tkeory and Practice, Oxford University Press,
1996.
[3] D. Dumitrescu, Algoritmi Genetici fi Strategii Evolutive - aplicaii tn Inteligena
Artificial fi tndomenii conexe, Ed Albastr, Cluj Napoca, 2000
[4] D. Dumitrescu, B. Lazzerini, L. C. Jain, A. Dumitrescu, Evobttionary computation,
CRC Press, 2000.
[5]
D. E. Goldberg, Genetic Algorithms in Search, Opt'unization, andMaehine
Learning, Addison-Wesley Publishing Company, Inc., 1989.
Autor
Corina ROTAR, Universitatea "l Decembrie 1918" Alba lulia Alba lulia.
53

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