Analiza comparativa a algoritmilor de optimizare multicriteriala
(OM) vs algoritmi genetici (AG)
Introducere
Un algoritm reprezint un set de instruciuni destinate pentru a efectua o sarcin specific, avnd n vedere o stare iniial, care se va termina ntr-o stare final definit. Eficiena n aplicare a algoritmului depinde de viteza de lucru, marime, consumul de resurse. Gndirea algoritmic reprezint cel mai important instrument pentru rezolvarea unei probleme construit pe baza unor instruciuni dar mai ales pentru construirea i nelegerea algoritmilor: - Capacitatea de a analiza problema. - Capacitatea de a specifica cu precizie problema. - Abilitatea de a gsi instruciunile de baz pentru problema dat. - Capacitatea de a construi un algoritm corect pentru buna funcionare a instruciunilor problemei. - Abilitatea de a gndi toate posibilitile normale si speciale ale problemei. - Capacitatea de a mbunti eficiena unui algoritm. Optimizarea reprezint un process care const n analizarea multiplelor posibiliti de rezolvare a unei probleme iar obiectivele sale sunt gsirea soluiilor optime ale problemei . n urma optimizrii, un algoritm ar trebui s ntruneasc o serie de caracteristici: - Finitudine proprietatea algoritmului de a stabili datele de ieire. - Generalitate proprietatea algoritmului de furniza o soluie indiferent de problema impus. - Corectitudinea proprietatea algoritmului de a procesa informaiile astfel nct rezultatele s fie furnizate n mod corect, n conformitate cu datele de intrare. - Claritatea proprietatea algoritmului de a fi concis descrierea operaiilor, fr abateri de la modul optim de funcionare. Astfel, pentru gsirea soluiei n rezolvarea unei probleme, necesit mai nti nelegerea problemei,iar apoi descrierea pas cu pas a soluiei, cu alte cuvinte gsirea unui algoritm optim respectivei probleme.
Algoritmi de optimizare multicriteriala(OM)
Optimizarea multicriterial reprezint un proces prin care se realizeaz optimizarea a dou sau mai multe obiective. Acest tip de optimizare trebuie s ia n considerare configurarea optima a mai multor parametrii. n cazul algoritmilor de optimizare multicriterial problem prezint nu doar o singur soluie ci o multitudine, de aceea nu toate soluiile au scopul de a acoperi toate obiectivele impuse, ci mai degrab soluii ale problemelor care au ca obiectiv o optimizare continual a optimizrilor restului de soluii n aa fel nct, prin continuarea optimizrii obiectivelor, sau cel puin unul dintre acestea, cele precedente vor avea pierderi datorate calitii rezultatelor. Prin gsirea unei astfel de soluii, se poate defini un algoritm de optimizare multicriterial. Optimizarea global se definete ca un proces prin care este stabilit minimul sau maximul dintr-un spaiu sau dintr-un domeniu. Un exemplu de optimizare global este cel al unei funcii R R D f n _ : , | = D , exist D x e dac < ) (x f , atunci putem spune c x este maxim global dac pentru x ' i ) ( ) ( ' x f x f = .
Oprimizare Pareto:
Spunem c o soluie optim este de tip Pareto atunci cnd ntr-un spaiu definit, din mulimea tuturor soluiilor care aparin acestui spaiu, niciuna nu este superioar acesteia. Astfel prin identificarea acestui spaiu al mulimii soluiilor n care se identific i o anume soluie Pareto, defapt se identific o soluie final, definitorie. n cazul n care mulimea Pareto optimal este foarte mare avnd o infinitate de soluii, se reduc acele soluiidup anumite criterii: dac o mulime depete un numr foarte mare de soluii atunci aceasta va fi eliminat, dac mulimea Pareto extern depete spaiul mulimii soluiilor atunci toate soluiile Pareto (cele catalogate ca find finale) vor fi clasificate n acelai mod, ceea ce va duce la o ncetinire a proceselor de rulare. Soluia imediat a aceste probleme nu este de a reduce dimensiunea mulimii Pareto, ci de creare a unui subspaiu cu aceleai caracteristici, n care se vor stoca soluiile identificate din mulimea original. Exemple de ali algoritmi multicriteriali: MOGA-Multi-Objective Genetic Algorithm, VEGA-Vector Evaluated Genetic Algorithm, .NSGA-Non- determinated Sorting Algorithm. Puncte tari / puncte slabe: - Fac parte din categoria algoritmilor relative simpli. - Nu au o utilizare complex. - Prezint un timp mic de rulare. - Utilizarea inadecvat duce la erori frecvente
Algoritmi genetici (AG)
Algoritmii genetici sunt algoritmi la baza crora stau principiile geneticii i ale seleciei naturale. Prin selecie natural doar specia care este capabil s se adapteze poate s supravieuiasc. Acest proces, n timp duce la o evoluie a specie supravieuitoare i la dispariia celei inadaptate. Algoritmii genetici sunt eficieni pentru optimizri la nivel mondial, dar necest ca utilizatorul s defineasc mai muli parametri. n cazul n care aceti parametrii sunt definii corespunztor, eficiena de cutare scade semnificativ. Cu toate acestea, exist reguli care nu sunt clare pentru definirea acestor algoritmi, fapt ce duce la o dificultate considerabil din partea utilizatorilor. Un algoritm bun nu ar trebui s ofere complexitate n utilizare. Metoda de optimizare global nu utilizeaz informaie diferit, dei n unele cazuri este mai lent fa de optimizarea altor algoritmi mai inferiori celor genetici. 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. Rezolvarea problemei se realizeaz printr-un proces de optimizare a soluiilor potrivite. Astfel orice algoritm genetic poate fi adaptat instruciunilor impuse de orice problem. Un exemplu cel mai frecvent n aria algoritmilor genetici este cel al cromozomilor. Fiecare cromozom prezint anumite caracteristici specific numite gene. n orice proces care const n optimizare, raportul dintre cutarea global i cea local este condiionat prin prisma exploatrii spaiului soluiilor, ceea ce devine o condiie obligatorie. Un exemplu de utilizare a algoritmilor genetici este cel al cromozomilor n funcie de populaie: la un moment initial t=0 se iniializeaz P(t), se evolueaz starea cromozomilor n funcie de populaia P(t), se repeat algoritmul. mparirea populaiei n diferite partiii prezint un important factor n procesul de cutare. Coevoluia partiiilor prin convergena prilor duce la soluii optiale ale problemei. Pentru o reprezentare definitorie, putem ncrucia n mod convex pentru un timp diferit de t=0 i o alegere aditiv a mutaiei considernd c fiecare variabil sufer o perturbaie normal. n mod automat descendenii i nlocuiesc prinii n noua generaie. Condiia de oprire a algoritmului poate fi data de atingerea unui numr maxim de generaii.
Optimizare Pareto:
Optimizarea Pareto n sensul algoritmilor genetici este mbogit prin etichetarea cromozomilor la fiecare generaie. Toi indivizii care sunt catalogai ca fiind nedominani sunt eliminai din populaie. Din populaia rmas se vor alege ali indivizi nedominani, procesul se termin n momentul n care toi indivizii primesc o etichet. n acest caz, submulimile de soluii nedominante reprezint o partiie a populaiei. Fiecare submulime corespunde unei partajri a performanelor care intervin n selecia cromozomilor.
Puncte tari / puncte slabe: - Se pot adapta cu uurin pe mulajul problemei. - Uurina n optimizarea unei soluii. - Timp mare de rulare. - Necesit declararea multor parametrii.
Modaliti de implementare
Implementarea algoritmilor genetici: - Reprezentarea cromozomilor ca un spaiu bine determinat al soluiilor. - Generarea populaiei iniiale. - Optimizarea criteriului partiiei. - Selecia. - Recombinarea. - Mutaia partiiilor. - Etichetarea indivizilor. - Rezultate.
Implementarea algoritmilor de optimizare multicriterial: - Metoda a posteriori. - Metoda a priori. - Metoda hybrid.
Studiu de caz: OM vs AG
Folosind conceptul de minim sau de maxim optim, algoritmii genetici pe baza optimizrii multicriteriale se dovedete faptul c se genereaz mai multe compromisuri din punct de vedere al abordrii soluiilor. n majoritatea problemelor, obiectivele trebuie s fie ndeplinite simultan. Soluia dat de algoritmul genetic nu este ntotdeauna i optimul global al problemei, ns aceasta se apropie de soluia dorit, n cazul problemelor complicate putem fi mulumii i cu gsirea unei singure soluii optime, mai apropiat de optimul global. Spre deosebire de algoritmii de optimizare multicriterial, algoritmii genetici prezint o nelegere mai grea din partea utilizatorilor, au un timp mare de rulare deoarece ntreagul proces se difereniaz de cel al OM-ului prin optimizarea soluiilor pn la gsirea celei potrivite. Dac pentru AG importana algoritmului o reprezint gsirea cromozomului optim, pentru OM importana este reprezentat de eficiena i complexitatea algoritmului de cutare. Cu toate acestea, algoritmii genetici au un dezavantaj, i nu sunt chiar cea mai bun soluie de a rezolva orice problem. Spre exemplu, metodele uzuale au fost optimizate pentru a gsi foarte repede soluia unei funcii analitice convexe de cteva variabile. n acest timp, algoritmii genetici sunt depii cu mult la vitez, ei nc fiind n faza de analiz a costului populaiei iniiale. n concluzie, la fel ca i AG, optimizarea multicriterial prezint capacitatea de a reprezenta concepte probabilistice, vagi, din limbajul natural.
Concluzii
Prin analizarea celor dou concept putem spune c au o importan major n dezvoltarea inteligenei artificiale chiar dac cele dou prezint att avantaje ct i dezavantaje, avnd fiecare puncte tari / puncte slabe. Algoritmii bazai pe optimizare multicriterial sunt uor de implementat, avnd eficien crescut doar n cazul sistemelor cu complexitate sczut. Algoritmii genetici sunt mai greu de neles din partea utilizatorilor, dar sunt foarte uor de adaptat oricrui tip de problem. Trebuie acordat o atenie sporit optimizrii algoritmilor i nelegerii acestora, deoarece orice sistem informatic, orice automatizare se identific implicit cu viitorul .
Bibliografie
1. Randy L. Haupt, Sue Ellen Haupt Practical Genetic Algorithms 2. R.L. Keeney and H. Raiffa - Decisions with multiple objectives 3. Matthias Ehrgott: Multicriteria Optimization