Analiza comparativ a algoritmilor de optimizare multicriteriali(OM) vs Algoritmi genetici(AG)
Universitatea Politehnica,Bucuresti Facultatea de Automatica si calculatoare 2
Lupu Daniela grupa 313AC
Cuprins
Introducere ................................................................................................................................................... 3 1.Algoritmi de optimizare multicriterial...................................................................................................... 4 2.Algoritmi genetici(AG) ................................................................................................................................ 6 3.Implementare si aplicabilitate ................................................................................................................. 11 4.Studiu de caz:AG vs OM ........................................................................................................................... 12 5.Concluzii ................................................................................................................................................... 12 Bibliografie .................................................................................................................................................. 13
Universitatea Politehnica,Bucuresti Facultatea de Automatica si calculatoare 3
Introducere
Pentru a putea compara algoritmii intre ei ,este necesara cunoaterea noiunii de algoritm.Prin definitie, algoritmul reprezinta descrierea logica a pailor ce permit gasirea soluiei(complete) pentru o problema data ,soluie ce trbuie implementat intr-un interval finit de timp. Cum am precizat mai devreme ,un algoritm are ca scop rezolvarea unei probleme , subnelegandu-se c se dorete o soluie eficient.Deci alegerea celei mai bune rezolvari dintr-o multime de solutii viabile, in raport cu un criteriu predefinit poarta numele de optimizare. Obiectivele optimizrii Scopul optimizrii este de a mbuntii algoritmi,acetia devenind mai buni.Dar ce este un algoritm bun/eficient? Un algoritm bun ine cont de urmtoarele criterii: timpul de rulare;necesarul de memorie / resurse pentru algoritm ;complexitatea acestuia;criteriul predefinit(criteriu determinat de domeniul n care se utilizeaz).Aceste criterii constitue obiective ale optimizarii, acestea fiind adesea generate de restriciile exterioare (de exemplu: bugetul ,securitatea, etc) Universitatea Politehnica,Bucuresti Facultatea de Automatica si calculatoare 4
Plecnd de la definirea conceptului de optimizare i anume de a selecta soluia adecvat criteriul predefinit ,putem identifica un prim obiectiv al optimizrii i anume imbuntirea performanelor n raport cu un criteriu. Se cunoate faptul c din totdeauna s-a dus o lupt pentru bit,dorindu-se o ct mai eficient utilizare a memoriei.n consecin un algoritm optimizat bine este acela care salveaz resurse -utilizarea optim a resurselor. Gndindu-ne la algoritmi buni, ne ndreptm atenia la clasificarea acestora i ndeosebi la performana acestora.Performana este dat de dependena de timp,procesul de optimizare constnd n reducerea timpului de execuie. Rezultatele optimizrii n urma optimizrii,innd cont de obiectivele enunate se asteapt o mbuntire a performanei .Tot n aceast direcie se obine un nivel bun al fiabilitii i al mentenanei,fiind esenial pentru un algoritm optimizat sa fie stabil i s ruleze n condiii bune pe orice sistem de calcul.
1.Algoritmi de optimizare multicriterial
De cele mai multe ori in practic ,problemele de optimizare care se ntlnesc necesit optimizarea simultan a mai multor criterii.Aceste probleme au un nivel mare de complexitate i poart numele de probleme multicriteriale. 1.1 Obiective Deseori ,n optimizarea problemelor cu un grad mare de complexitate se ivesc diverse criterii care ajung s fie contradictorii ,devenind astfel dificil stabilirea unei tehnici de rezolvare a acestora.n consecin ,obiectivul optimizrii multicriteriale este de gsi soluia cea mai bun ajungnd la un compromis al crui rezultat sa fie ct mai apropiat de rezultatul ideal.Prin rezultat ideal nelegem soluia care satisface toate criteriile perfect.Dar o astfel de abordare este imposibil ,ntruct soluia unui criteriu poate fi problema altuia i tot aa. 1.2 Metodologie Pentru optimizarea multicriterial exist numeroase metode de implementare a algoritmilor de optimizare multicriterial printre care: Metode elementare : Universitatea Politehnica,Bucuresti Facultatea de Automatica si calculatoare 5
Acestea sunt metode simple care nu au nevoie de nici un sprijin al unui sistem de calcul pentru a face analiza. Se indic utilizarea lor n problemele ce au puine criterii de decizie. Metodele MAUT(Multiple attribute utility theory): Aceasta reprezint o metodologie mai riguroas pentru modul n care se include preferinele de risc i incertitudine n metodele de suport decizional multicriterial(Loken,2007,p1587). Avantajul major al acestei metode l reprezint luarea n considerare a incertitudinilor.Metoda este cuprinztoare ,putnd explica i include preferinele fiecrei consecine la fiecare pas al metodei.Acest grad de precizie este convenabil ,dar poate duce la multe dezavantaje posibile.O incredibil cantitate de date de intrare este necesar la fiecare pas al procedurii,cu scopul de a nregistra cu precizie preferinele factorului de decizie,ceea ce mnnc resurse. Metoda AHP(Analytic hierarchy process) Aceasta utilizeaz comparaiile sub form de perechi care sunt folosite att pentru a compara alternativele cu privire la diverse criterii ct i estimarea importanei acestora(Loken ,2007,p 1587).Metoda este frecvent utilizat.
ELECTRE(Elimination et choix ttraduisant la realit) : mpreun cu multele sale interaii ,este o metod bazat pe analiza concordanei. Avantajul major al acesteia e ca ia n considerare nesiguran i neclaritatea / ambiguitatea. Dezavantajul l reprezint faptul c procesul i rezultatele sale pot fi greu de explicat n termeni de nespecialist. Metoda PROMETHEE(Preference ranking organization method for enrichment evaluation) Este similar cu metoda ELECTRE ,avand de asemenea mai multe iteratii. Aceasta este usor de utilizat ,fiind principalul avantaj.Nu este necesara presupunerea ca criteriile sunt proportionale.Dezavantajele sunt faptul ca aceasta metoda nu ofera o claritate asupra importantei pe care o are un criteriu ,insa i se atribuie o valoare(dar nu se ofera o metoda clara prin care se face aceasta asociere) 1.3 Puncte tari & Puncte slabe Avantaje Dezavantaje - Timp de execuie redus - Creterea preciziei rezultatelor - Rezultate mbuntite
- Complexitatea algoritmului - Consum mare de resurse ca urmare a diversitii criteriilor de optimizare Universitatea Politehnica,Bucuresti Facultatea de Automatica si calculatoare 6
2.Algoritmi genetici(AG)
Algoritmi genetici se ncadreaz n categoria algoritmilor de calcul evoluionist i se bazeaz pe teoria lui Darwin. Aceasta teorie, n cteva cuvinte, afirm c cei mai buni (performani) indivizi supraveuiesc.Acetia au fost introdui i analizai de J. Holland n 1975, acesta pornind de la similitudinile dintre populaia de indivizi biologici i soluiile posibile la o problem. Este necesar n continuare prezentarea principiului dup care a fost gndit algoritmul genetic,urmnd a descrie asocierea dintre termeni biologici i cei din zona informatic. Algoritmi genetici pornesc de la o mulime iniial de soluii (de cele mai multe ori aleatorie) numit ,n termeni biologici, populaie.n aceast populaie fiecare individ reprezint o soluie posibil la problem ,fiind numit cromozom.Dup cum bine se tie cromozomi conin informaie genetic.Deci gena reprezint n zona informatic blocurile de informaie - cu alte cuvinte gena codific informaia.Cromozomi evolueaz pe durata iteraiilor succesive numite generaii.Pentru crearea urmatoarei populaii sunt selectai cei mai buni cromozomi din generaia curent i noii cromozomi sunt formai folosind unul din cei doi operatori :ncruciarea i mutaia.
De precizat c pentru a determina capacitatea de supraveuire a unui individ se utilizeaz o funcie numit funcie de adecvan,ce are rolul de a cuantifica optimalitatea unei soluii n raport cu alte soluii. Din punct de vedere conceptual un algoritm genetic conine 3 module: Modulul de evaluare la acest nivel se permite determinarea soluiilor bune ; Modulul populatiei reprezint totalitatea solutiilor posibile; Modulul de reproducere reprezint mulimea tehnicilor de evoluie de la o generaie la alta: mutaia i ncruciarea; n consecin ,algoritmul genetic este ,ntr-un sens mai larg, orice model bazat pe ideea de populaie i care folosete selecia i operatori de recombinare pentru a genera noi puncte ntr-un spaiu de cutare. 2.1 Obiective Algoritmi genetici au ca scop gsirea unei soluii la o problem ce nu poate fi rezolvat dup un model standart sau nu i se poate gsi un model matematic.Abordarea algoritmului genetic este de a cuta n spatiul soluiilor cea mai bun rezolvare.Astfel, multe modele au fost introduse de cercettori dintr-o perspectiv experimental ,oamenii de tiinta fiind orientai spre aplicaii i interesei de algoritmii genetici doar ca mijloace de optimizare. 2.2 Metodologie Universitatea Politehnica,Bucuresti Facultatea de Automatica si calculatoare 7
Aa cum am precizat mai devreme ,abordarea algoritmului genetic este de a cuta soluia optim ntr-un spaiu de soluii ales aleatoriu ,reducnd distana dintre valuarea ideala/optim i cea gsit.Identificarea spaiului soluiilor se face n mai multe etape(Figura 1) : - Initializarea : spaiul de cutare este umplut cu soluii generate aleator; - Selectia : o parte din populaia generat aleator este folosit n generarea unei noi generaii de soluii; - Reproducerea : la acest nivel se genereaz o noua generaie de soluii pornind de la generaia iniial.Se utilizeaza tehnicile :mutaia i ncruciarea. - Finalizarea : se consider c soluia a fost gsit dac este ndeplinit unul din urmatoarele criterii: 1. Parcurgerea unui numr prestabilit de generaii. 2. Epuizarea timpului alocat rulrii algoritmului. 3. Gasirea soluiei cele mai bune.Altfel spus distana dintre soluia optim i cea curent este minima.
Abandonare Universitatea Politehnica,Bucuresti Facultatea de Automatica si calculatoare 8
Figura 1:Fazele ciclului algoritmilor genetici.
La nivelul seleciei putem identifica urmatoarele metode : Metoda ruletei sau principiul proportionalitatii. Aceasta presupune c probabilitatea unui individ de a fi selectat este proporionala cu fitness-ul lui. Prin fitness nelegem criteriile de potrivire utilizate in evaluarea cromozomilor. Pentru o mai bun nelegerea a metodei s facem urmatoarea asociere.Sa ne gndim la jocul de rulet si pe roat alocm fiecrui numr(fitness-ul individului) un spaiu inegal pe circumferina roii.Numerele care ocup un spaiu mai mare au anse mai bune de a capta bila ruletei.
Metoda Gauss Paii propui pentru aceast metod sunt: 1. Se alege un cromozom din populaie curent. Populaie Selecie Reproducere Evaluare Universitatea Politehnica,Bucuresti Facultatea de Automatica si calculatoare 9
2. Utiliznd formula lui Gauss calculm probabilitatea ca acel cromozom s fie un cromozom bun (Acela care obine valoarea funcie de evaluare maxim).
2 2 2 )) ( ( ) (
i c fitness M i e c P
unde P(.) reprezint probabilitatea calculat pentru cromozomul ci, M reprezint media, care aici este valoarea maxim care poate fi obinut de ctre funcia de evaluare i care reprezint dispersia sau panta cu care scade probabilitatea, iar fitness(ci) reprezint valoarea funciei de evaluare pentru acel cromozom. De exemplu dac valoare maxim a funciei de evaluare este 1, M va fi 1 iar pentru dispersie propunem o valoare ntre 0.3-0.5.
3. n al treilea pas aceast probabilitate calculat este comparat cu o probabilitate aleas aleator n domeniul [0,1] (Probabilitatea lui Gauss ntoarce valori n acest domeniu).
4. Se verific dac probabilitatea lui Gauss calculat pentru cromozomul ales este mai mare dect probabilitatea aleas aleator:
a) Dac da cromozomul ales aleator se ia n considerare pentru a forma noua populaie b) Dac nu se trece din nou la pasul 1
Aceast metod asigur posibilitatea lurii n considerare i a cromozomilor care nu au obinut valori mari pentru funcia de evaluare (ofer anse mai mari de evoluie i cromozomilor mai slabi). Selectia prin turnir( prin concurs) unde un anumit numr de idivizi(de obicei doi) lupt pentru a fi selectai n noua generatie.Aceast competiie este repetat pn sunt selectai un numr de indivizi egal cu dimensiunea populaiei Trecerea de la o generaie la alta se poate face pe dou ci: Algoritmul generaional noua populaie este format doar din descendeni ai vechii generaii. Algoritmul non-generaional de cele mai ulte ori n noua populaie sunt introdui cei mai promitori indivizi din cele doua populaii,cea a prinilor i cea a descendenilor. n continuare s descriem cele dou metode de reproducere: Incrucisarea(crossover)presupune schimbarea materialului genetic ntre doi cromozomi parinte. Aceasta tehnica poate oferi din dou soluii bune ,soluii mai bune sau nu la fel de
bune decat cele existente.De precizat c dac copilul nu este bun (nu este mai apropiat de soluia corect dect cromozomul printe ) atunci el este eliminat la urmtoare etap. ncruciarea se poate realiza ntr-un punct sau n mai multe puncte,acest lucru depinznd de problem.Exemplul de mai jos este sugestiv pentru ncruciarea ntr-un punct a doi cromozomi printe codificai pe opt bii. Universitatea Politehnica,Bucuresti Facultatea de Automatica si calculatoare 10
Mutatia este tehnica care introduce elementele de noutate n spaiul soluiilor i const n modificarea valorii unei gene.Aceasta este de natur exploatativ nelegnd prin asta c cromozomul copil se afl n general la o distan mai mic de cromozomul printe dect n cazul ncrucirii crossover fiind de natur explorativ.n continuare un exemplu sugestiv de mutaie:
Mutageneza modificarea a 3 gene.
Se precizeaz c n majoritatea cazurilor se prefer a se utiliza n rezolvarea problemelor de optimizare un model elitist.Acesta const n pstrarea celor mai promitori indivizi dintr-o generaie i adugarea automat a acestora n generaia urmtoare.Se nelege prin asta c dac n urma seleciei sau a reproducerii , cel promitor individ din generaia curent este pierdut atunci sistemul foreaza apariia lui n generaia urmtoare.
2.3 Puncte tari/puncte slabe Avantaje Dezavantaje - Va fi intotdeauna obtinnuta o solutie , calitatea acesteia tinznd s se mbunteasc n timp; - Dificila precizarea criteriilor de finalitate - Dificultate in gasirea unei reprezentri adecvate; Universitatea Politehnica,Bucuresti Facultatea de Automatica si calculatoare 11
- Se adapteaz uor;
3.Implementare si aplicabilitate
Pn n acest moment am prezentat ce este algoritmul ct i metode.Deci n continuare putem vorbi de implementarea lor. Aa cum am precizat n decursul acestei lucrri ,algoritmul genetic reprezint o tehnic de optimizare a problemelor complexe ce nu au un model matematic de urmat.Algoritmul genetic este un instrument al inteligenei artificiale fiind aplicai n optimizarea unor procese din domeniul chimic, electric ,economic ,etc. S lum de exemplu problema optimizrii n managementul traficului aerian.Aceasta se poate formula astfel: gsirea acelor traiectorii individuale ale aeronavelor care s asigure n fiecare moment separaiile de siguran dintre aeronave ,att in plan vertival(1000ft) cat si in plan orizontal(3-5ft).Separaiile necesare pot fi mai mari in cazul siajului produs de aeronavele grele,dar n absena acestuia ar putea fi mai mici ,fapt care constituie singura resurs rmas pentru creterea capacitii de trafic aerian.Rezolvarea acestei probleme presupune alterarea traiectoriilor optime gsite la problema precedenta ,mai ales n situatiile de trafic aglomerat.La aceasta problem s-a propus utilizarea algoritmilor genetici ,care permit optimizarea unor probleme neliniare de mare complexitate. Un alt exemplu: optimizarea sistemelor de alimentaie cu apa i de canalizare.Pentru aceste sisteme ,problemele de optimizare care pot fi rezolvate cu ajutorul unor algoritmi genetici sunt: combinarea resurselor de apa pentru atingerea standartelor de calitate a apei cu costuri minime;optimizarea amplasarii venelor de control ntr-o retea de alimentare cu apa n scopul reducerii scurgerilor accidentale;optimizarea costurilor totale ale sistemelor de alimentatie cu apa i de canalizare,acestea fiind influenat de diveri factorii. ntr-o alta ordine de ideii algoritmii de optimizare multicriteriala sunt implementaii cu succes n diverse domenii precum cel financiar,industrial, bancar ,politic ct i domeniile ingenereti care lucreaz cu o cantitate mare de date ce trebuiesc prelucrate n funcie de mai multe criterii. S lum de exemplu prognoza meteo.Aceasta este stabilit n funcie de mai muli factori precum zona geografic,altitudine,presiune .a.
Universitatea Politehnica,Bucuresti Facultatea de Automatica si calculatoare 12
4.Studiu de caz:AG vs OM Analiza comparativa Timp de rulare Depinde de complexitatea problemei, ns la problemele cu dificultatea medie putem afirma c OM-ul are un timp de rulare redus pe cnd AG-ul consum mult timp Complexitatea amndoi algoritmi au un grad de complexitatea ridicat dect cei obinuii Obiective ambi algoritmi au ca scop optimizarea Abordare AG-ul are o abordare de cutare a soluiei pe cnd OM are o abordare clasic de gasi (calcula) soluia. Date de intrare ambi algoritmi lucreaz cu o cantitate mare de date ,nsa OM are nevoie de mai multe informaii i complete dect AG Precizie OM ofer de cele mai multe ori un rezultat mai precis dect AG Adaptabilitatea OM-ul este mai rigid dect AG-ul acesta din urm lucrnd bine n condiii de zgomot
5.Concluzii
Ambii algoritmi au o aplicabilitate mare acoprind diverse domenii.Att OM ct i AG prezint avantaje i dezavantaje pe care noi , oamenii preocupaii de a inova (optimiza ), trebuie s le implementm n aa fel nct s fie utilizate la potenial maxim.Se subntelege c pentru a putea realiza acest lucru este imperioas cunoaterea acestora ct i a unor cunotine complementare din domeniul de activitate n care sunt implementate.
Prezentare
Universitatea Politehnica,Bucuresti Facultatea de Automatica si calculatoare 13
Bibliografie
- Loken, E. (2007). Use of multi-criteria decision analysis methods for energy planning problems. Renewable and Sustainable Energy Reviews, 11(7): 1584-1595 - Mark Velasquez and Patrick T. Hester(2013),An analysis of Multi-Criteria Decision Making Methods;International Journal of Operations Research Vol.10,No 2,56-66 - Mihai Caramihai,Notiuni introductive,Curs 1 SDA,Universitatea Politehnica Bucureti - Mihai Caramihai,Algoritmi genetici,Curs 10 SDA,Universitatea Politehnica Bucureti -Romic Trandafir,Modele i algoritmi de optimizare - Claudia Mihaela Mark, Algoritmi genetici,curs,Universitatea Tibiscus Timioara - http://www.water-management.ro/algoritmi-genetici-ga-2.html - Representations for Genetic and Evolutionary Algorithms,Franz Rothlauf,Germany