26
1 Universitatea Politehnica Bucuresti Facultatea de Automatica si Calculatoare Departamentul Ingineria Sistemelor Referat tehnic Algoritmi de optimizare multicriterial a (OM) vs algoritmi genetici (AG) Paun Alin-Constantin

Paun Alin-Constantin 312 AC - OM vs AG

Embed Size (px)

DESCRIPTION

OM VS AG

Citation preview

Universitatea Politehnica BucurestiFacultatea de Automatica si CalculatoareDepartamentul Ingineria Sistemelor

Referat tehnic

Algoritmi de optimizare multicriteriala (OM) vsalgoritmi genetici (AG)

Paun Alin-Constantin

Rezumat10/05/2014OM vs AGPaun Alin-Constantin

Rezumat

Lucrarea prezenta are scopul de a trata in mod obiectiv doua tipuri de algoritmi diferiti, intalniti in mod frecvent in cotidian si anume: OM si AG.

In prima parte este abordata ideea de algoritmi, in introducere fiind punctate obiectivele optimizarii cat si rezultatele asteptate. Mai departe s-a discutat despre metodologie, instrumente, puncte tari/pucte slabe, finalul referatului culminand cu modalitati de implentare, alaturi de un studiu de caz.

Cuprins10/05/2014

CuprinsOM vs AGPaun Alin-Constantin

Introducere51.1 Optimizarea51.2 Obiectivele optimizarii71.3 Rezultatele asteptate in urma optimizarii7 2.Algoritmi de optimizare multicriteriala82.1 Introducere82.2 Decizia82.3 Criterii singulare vs criterii multiple, numar finit de alternative vs numar infinit de alternative 102.4 Metode de luare a deciziilor multi-atribut (MADM)112.4.1 Metode elementare122.4.2 Analiza pro si contra 122.4.3 Metodele maximin si maximax122.4.4 Metodele conjunctive si disjunctive 132.4.5 Metoda lexicografica132.4.6 Metodele MAUT132.4.7 Simple multiattribute rating technique (SMART)142.4.8 Procesul de ierarhizare analitica (AHP) 142.4.9 Metodele Outranking 152.4.10 Metodele ELECTRE 152.4.11 Metodele PROMETHEE 162.5 Puncte tari/Puncte slabe16 3.Algoritmi genetici173.1 Introducere173.2 Codarea unui cromozom183.2 Codarea unui cromozom183.2.1 Codarea binara183.2.1 Codarea prin permutare193.2.1 Codarea prin valoare103.2.1 Codarea sub forma de arbore203.3 Crossover213.3.1 Codarea printr-un singur pivot21

3.3.1 Crossover prin doi pivoti223.3.1 Crossover uniform 223.3.1 Crossover aritmetic223.4 Mutatia233.5 Avantaje/Dezavantaje234.Modalitati de implementare235.Studiu de caz256.Concluzii267.Referinte26

OM vs AGPaun Alin-Constantin

1 Introducere

Conform Wikipedia un algoritm inseamna inmatematica si informaticao metoda sau o procedura de calcul, alcatuita din pasii elementari necesari pentru rezolvarea unei probleme sau categorii de probleme. De obicei algoritmii se implementeaza in mod concret prin programarea adecvata a unui calculator, sau a mai multora. Din diverse motive exista si algoritmi inca neimplementati, teoretici.Algoritmul este notiunea fundamentala a informaticii. Totul este construit in jurul algoritmilor si astructurilor de date, cum ar filistele sau grafurile.

1.1 Optimizarea

In optimizarea unui design, obiectivul poate fi pur si simplu minimizarea costului de productie (ex: minimizarea resurselor folosite, etc) sau maximizarea eficientei. (ex: timp de rulare scurt, etc). Optimizarea este un proces de studiu constituit dintr-un ansmablu de metode si tehnici, ce are in vedere analizarea multiplelor posibilitati de rezolvare a unei probleme iar obiectivele sale sunt gasirea, solutiei optime ce se defineste adeseori prin: rapiditatea calculului, resurse minimale folosite, implementare usoara.

In cel mai simplu caz, o problema de optimizare consta in minimizrea sau maximizarea unei functii, numita functie obiectiv, prin alegerea sistematica a unei valori, numita si valoare de input, dintr-un set de valori specifice si testarea acesteia cu ajutorul functiei obiectiv, urmand ca apoi sa se analizeze valoarea de iesire a functiei numita si valoarea de output. Generalizarea teoriei optimizarii algoritmilor cuprinde cuprinde o mare arie specifica matematicii aplicate.

In figura 1 de mai jos este prezentata schema generala conceptuala a procesului de optimizare.

In cartea sa (Modele si algoritmi de utilizare), Romica Trandafir, definea conceptul de optimizare in felul urmator: Conceptul de optimizare este bine ncetenit ca principiul de baz n analiza problemelor complexe de decizie sau alocare. Folosirea optimizrii se bazeaz pe concentrarea ateniei asupra unui singur obiectiv conceput s cuantifice performana i calitatea deciziei ntr-o problem ce ar necesita determinarea valorilor unui numr mare de variabile interconectate. Acest obiectiv este maximizat sau minimizat supus unor restricii care s limiteze alegerea variabilelor de decizie. Dac un aspect al problemei poate fi identificat i caracterizat printr-un obiectiv (de exemplu: profitul ntr-o afacere) atunci optimizarea poate s ofere un cadru adecvat pentru o astfel de analiz. Optimizarea ar trebui privit ca un instrument de concepere i analiz, i nu ca un principiu care s duc la soluia corect din punct de vedere filozofic. Formularea problemei implic ntotdeauna gsirea unui echilibru ntre construirea unui model suficient de complex pentru a descrie ct mai bine problema i uurina de rezolvare a acestuia.

1.2 Obiectivele optimizarii

A face cel mai bine posibil este sensul oricrei atitudini naturale n viaa de zi cu zi. Dar aceasta nu are dect un sens relativ n raport cu nite restricii impuse din exterior sau acceptate de bunvoie (Cohen, 2000).

Obiectivul permanent al unui inginer ar trebuie sa fie a face cel mai bine posibil , indiferent daca discutam de conceperea unui algoritm, al unui plan de constructie sau de proiectarea unei instalatii. Desigur, aceasta expresie, in viata reala, este o functie relativa la buget, dar si la posibilitatile tehnologice prezente, optimizarea fiind adesea restrictionata de acesti factori. In problemele tehnice, alegerile posibile reprezinta adesea un continuu, o enumerare exhaustiva a posibilitatilor fiind de neconceput. Aici intervin obiective optimizarii.

Optimizarea are ca obiectiv final diminuarea costurilor (fie acestea resurse sau timp). Prin optimizare diminuarea costurilor, trebuie sa vina impreuna cu o performanta sporita si niciodata invers. Daca costurile au fost diminuate, iar in schimb performanta a scazut, in acest caz nu mai intra in discutie conceptul de optimizare.

1.3 Rezultatele asteptate in urma optimizarii

In urma optimizarii se astepta un algoritm stabil, care sa intruneasca toate criteriile de performanta: fiabilitate, rapiditate in calcul, resurse utilizate minimal, eficienta maxima.

2. Algoritmi de optimizare multicriteriala

2.1 IntroducereMajoritatea problemelor de decizie economice, industriale, financiare sau politice depind nu de un criteriu de selectie, ci de mai multe, aceastea necesitand a fi abordate de algoritmii de optimizare multicriteriala. Drept exemplu puteam consider cumpararea unui autoturism. Nimeni nu cumpara un autoturism doar pe baza pretului (crieriu financiar); confortul, calitatea, performanta, prestigiul marcii sunt si vor fi intotdeauna luate in considerare chiar daca unele persoane nu fac asta in mod voluntar. Pe de alta pare nimeni nu reactioneaza in acelasi fel. Selectia este facuta in facuta si in functie de gusturile personale ale fiecaruia. Fiecare individ aloca un set diferit de prioritati criteriilor ce definesc cupararea unui produs.

Problema selectiei sau a variabilelor supuse unui algoritm de multiselectie nu este una simpla, nici din punct de vedere economic, nici din punct de vedere matematic. De obicei nu exista o solutie optima, asadar solutie de compromis trebuie luate in considerare.

2.2 DeciziaLuarea unei decizii se rezuma in cele din urma la alegrea in mod deliberat a unei optinui dintr-un set de mai multe posibilitati, spre a optimiza, in mod proactiv, o situatie particulara si a nu lasa rezultatul la voia intamplarii. Luarea unei decizii presupune alaturi de cele metionate mai sus si eliminarea elementelor care sunt nesigure, care aduc un risc ridicat.De asemenea, luarea unei decizii presupunea minimizarea elementului de risc prin alegerea in mod corect a unei actiuni ce va influenta in mod pozitiv rezultatul procesului.

In figura 2 de mai jos este reprezentat in termeni sumari procesul luarii unei decizii.Figura 2.

Rezultatul unei anumite decizii este influentat de o serie de pasi ce trebuie sa conduca la solutia optima. (Figura 3)

Figura 3.

Pasii parcursi in stabilirea unei decizii sunt in numar de 7 in ordinea urmatoare:1. Definirea corecta a deciziei de luat

2. Intelegerea contextului in cadrul careia decizia trebuie luata3. Indentificarea optiunilor4. Evaluarea consecintelor generate de fiecare optiune in parte5. Stabilirea prioritatilor si alegerea uneia6. Reevaluarea deciziei luate7. Actiunea conform deciziei luate

Daca pasul 7 nu este efectuat atunci decizia luata nu a fost una reala, ci una destinata simularii.

2.3 Criterii singulare vs criterii multiple, numar finit de alternative vs numar infinit de alternative

Este foarte important sa se faca o distinctie corecta intre cazurile in care criteriul decizional este unul singular sau o multime de criterii. O problema decizionala poate avea un singur criteriu de decizie sau multiple criterii de decizie. In functie de structura si de descrierea functionala a problemei ce trebuie optimizata, diverse tehnici de optimizare pot fi folosite pentru producere unei solutii optime precum: programarea liniara, programarea non-liniara, programarea discreta, etc.

Cazul in care ne confruntam cu un numar finit de criterii, dar numarul alternativelor fezabile (cele care intrunesc cerintele) este infinit apartine domeniului algoritmilor de optimizare multicriteriala.In continuare ne vom axa pe pe analizarea problemelor cu un numar finit de criterii si alternative, alternative date in mod explicit. Problemele de acest fel au la bazsa deciziile multi-atribut.

2.4 Metode de luare a deciziilor multi-atribut (MADM)

Considerati o problema de bazata pe deciziile multi-atribut, o problema cu m criterii si n alternative. Fie multimea si multimea criteriilor respectiv cea a alternativelor. O caracteristica standard a MADM este tabel de decizie reprezentat in figura 4 de mai jos. In tabel, fiecare rand corespunde unui criteriu, iar fiecare coloana descrie performanta unei alternative. Elementul descrie performanta alternativei raportata la criteriul Figura 4 (tabelul de decizie)

Precum se poate observa si in tabelul de decizie grupul corespunde criteriilor. Atributul reflecta imporanta criteriului relativ la decizia luata si este presupus a fi pozitiv. Atributele reprezinta opinia unei singure decizii (decizie de filtru) sau sintetizeaza opinia unui grup de decizii (decizii expert). Valorile sunt asociate cu alternativele si folosite in metodele MAUT, reprezentand valorile de rang maxim ale alternativelor. De

obicei, valorile de rang inalt atrag o performanta superioara, rangul superior reprezentand alternativa cea mai buna.Procesul de ierarhizare analitica este o metodologie ce are la baza structurarea, masurarea si sinteza, procese ce pot veni in ajutorul factorilor de decizie. Eliminarea si alegerea traduc si metode ce tin de realitate, metode ce vor fi detaliate in continuare.

2.4.1 Metode elementare

Aceste abordari elementare sunt simple, nefiind nevoie de suport de calcul pentru realizarea analizei. Aceste metode sunt potrivite pentru problemele cu un singur factor de decizie, cu putine alternative si criterii care rareori fac diferenta.

2.4.2 Analiza pro si contraAnaliza pro si contra este o metoda de analiza calitativa in care sunt evidentiate lucrurile bune si rele referitoare la fiecare alternativa. Listele de pro si contra sunt comparate intre ele pentru fiecare alternativa in parte. Alternativa cu cele mai multe puncte forte si cele mai putine puncte slabe este cea aleasa. Aceasta metoda nu necesita un nivel matematic ridicat, fiind usoara de implementat.

2.4.3 Metodele maximin si maximax

Metoda maximin are la baza o strategie ce incearca sa evite cazul in care se atinge performanta minima, maximizand performanta minimala pentru criterii. Alternativa pentru care scorul este cel mai slab este cea preferata. Metoda maximin poate fi folosita doar cand toate criteriile pot fi comparate astfel inca ele sa poata avea un etalon de masura comun.

2.4.4 Metodele conjunctive si disjunctive

Aceste metode vizeaza mai mult atingerea unui nivel de satisfactie , decat performanta cea mai buna a criteriilor. Metodele conjunctive necesita ca o alternativa sa intruneasca un prag minim de performanta pentru toate criteriile. Metodele disjunctive necesita ca alternativa sa depaseasca pragul etalon ce putin pentru un criteriu. Orice alternativa care nu intruneste regulile impuse de metodele conjunctive sau de cele disjunctive este eliminata din consideratiile viitoare.

2.4.5 Metoda lexicografica

In acest caz criteriile sunt ordonate in functie de iporatanta lor. Alternativa ce are asociata cel mai bun scor de performanta, raportat la cel mai bun criteriu, este cea aleasa. Va fi comparata performanta cele mai bune alternative ca functie de criteriul cel mai important, pana se va gasi o unica potrivire.

2.4.6 Metodele MAUT

In cele mai multe cazuri bazate pe metodele MAUT, ponderile asociate cu criteriile pot expune in mod corect importanta relativa a criteriului doar daca scorurile de tip apartin unei scale comune, adimensionale. Metodele MAUT au la baza functiile utilitate. Functiiie utilitate pot fi folosite pentru a transforma valorile de performanta ale alternativelor pe baza unor criterii diverse, atat de fapt: obiective, cantitative cat si de judecata: subiective, calitative. Functiile utilitate joaca un rol foarte important: ele transforma valorile de performanta astfel incat o valorea preferabila de performanta obine un scor utilitar mai mare.

2.4.7 Simple multiattribute rating technique (SMART)

Smart este forma cea mai simpla a metodelor MAUT. Valoarea corespunzatoare alternativei este obtinuta in mod simplu ca ponderea algebrica a valorilor utilitare asociate cu aceasta valoare:

,

Pe langa modelul simplu adidiv, Edwards (1977) a mai propus de asemenea o metoda simpla de evaluare a atributelor criteriilor spre a reflecta importanta sa relativa la decizie. In primu rand, criteriile sunt ordonate in functie de importanta lor si 10 puncte sunt atribuite celui mai nesemnificativ criteriu. Procedeul se repeta, la pasul urmator criteriul penultim ca importanta primind alte 10 puncte. Ponderile finale sunt obtinute prin normalizarea punctelor de la unul.

2.4.8 Procesul de ierarhizare analitica (AHP)

Procesul de ierarhizare analitica (AHP) a fost propus de catre Saaty (1980). Principiul de baza al acestei metode este transformarea evaluarilor de importanta relativa a unui set de scoruri globale sau ponderi. AHP este una dintre cele mai folosite metode MADM.Aceasta metoda are la baza comparatiile pereche cu pereche de urmatorul tip: Cat de important este criteriul raportat la criteriul ?. Intrebarile de acest tip sunt folosite pentru determinarea ponderilor corespunzatoare criteriilor, iar raspunsurile utilizate in determinarea scorurilor de performanta corespunzatoare alternativelor pe criterii de judecata.

2.4.9 Metodele Outranking

Principiul acestor metode presupune o disponibilitate similara a datelor, precum in cazul metodelor MAUT. Metodele Outranking necesita ca atat alternativele cat si criteriile sa fie specificate, folosind acelasi tabel de decizie,anume si

2.4.10 Metodele ELECTRECea mai simpla metoda din familia metodelor ELECTRE este ELECTRE I.Metodologia metodelor ELECTRE are la baza indicii de corodanta si discordonanta dupa cum urmeaza. Se incepe de la inforamtiile prezente in matricea de decizie si se presupune ca suma ponderilor fiecarui criteriu este egala cu 1. Pentru o pereche ordonata de alternative (), indexul de cordonanta este suma tuturor ponderilor corespunzatoare acelor criterii pentru care scorul de performanta pentru este cel putin la fel de ridicat precum cel pentru , ex:

Metoda ELECTRE I este folosita pentru formarea unui clasament partial si alegerea unui set de alternative promitatoare. ELECTRE II este folosita pentru clasarea alternativelor. Pentru metoda ELECTRE III este stabilit un grad de tip outranking, reprezentand gredibilitatea acestor doua alternative ceea ce face aceasta metoda mai sofisticata.

2.4.11 Metodele PROMETHEE

Tabelul de decizie este punctul de plecare al metodologiei PROMETHEE introdusa de catre Brans si Vincke (1985). Pentru a putea lua deviatiile si scala criteriilor in considerare, o functie de preferinta este asociata fiecarui criteriu in parte. Pentru acest scop o functie de preferinta () este definita, preprezentand gradul de preferinta al alternativelor raportat la pentru criteriul . In cele mai multe cazuri practice () este functia de deviatie d = , ex: () = , unde este o functie nondescrescatoare, pentru si pentru . Un index de preferinta multicriteriala al raportat la poate apoi fi definit considerand toate criteriile.

Indexul ia valori intre 0 si 1, si reprezinta intesitatea globala a preferintei dintre cuplurile de alternative.

2.5 Puncte tari/puncte slabe

Puncte tariPuncte slabe

performanta sporita de executie date de iesire optime arie de raspandire larga timp redus de executie dificultatea redusa a implementarii cresterea timpului de executie in functie de gradul de complexitate al problemei complexitate algoritmica

3. Algoritmi genetici

3.1 IntroducereExista o mare clasa de probleme interesante pentru care nu s-au dezvoltat inca algoritmi suficienti de rapizi spre a le rezolva. Multe din aceste proble sunt probleme de optimizare ce apar des in aplicatiile dezvoltate. Avand probleme atat de greu de optimizat este adesea posibil sa gasim un algoritm eficient de optimizare a carui solutie este aproape optima. Pentru unele probleme greu de optimizat putem folosi algoritmi de stabilire a probabilitatilor de asesemenea acesti algoritmi nu garanteaza o valoare optima, dar prin tratarea cazurilor de probabilitate maxima se poate atinge un timp de executie mult mai redus.

Conform Wikipedia:Algoritmii genetici sunt tehnici adaptive de cutare euristic, bazate pe principiile geneticii i ale seleciei naturale, enunate de Darwin ("supravieuiete cel care e cel mai bine adaptat"). Mecanismul este similar procesului biologic al evoluiei. Acest proces posed o trstur prin care numai speciile care se adapteaz mai bine la mediu sunt capabile s supravieuiasc i s evolueze peste generaii, n timp ce acelea mai puin adaptate nu reuesc s supravieuiasc i cu timpul dispar, ca urmare a seleciei naturale. Probabilitatea ca specia s supravieuiasc i s evolueze peste generaii devine cu att mai mare cu ct gradul de adaptare crete, ceea ce n termeni de optimizare nseamn c soluia se apropie de optim.Un algoritm genetic este un model informatic care emuleaz modelul biologic evoluionist pentru a rezolva probleme de optimizare ori cutare. Acesta cuprinde un set de elemente individuale reprezentate sub forma unor iruri binare (populaia) i un set de operatori de natur biologic definii asupra populaiei. Cu ajutorul operatorilor, algoritmii genetici manipuleaz cele mai promitoare iruri, evaluate conform unei funcii obiectiv, cutnd soluii mai bune. Algoritmii genetici au nceput s fie recunoscui ca tehnici de optimizare odat cu lucrrile lui John Holland.

3.2 Codarea unui cromozomCele mai importante parti ale unui algoritm genetic sunt mutatia si crossover-ul. Performanta unui algoritm genetic este in mare parte influentata de acesti doi operatori. Inainte de a aborda acesti doi termeni vom discuta despre codarea unui cromozom.Cromozomul ar trebui sa contina, intr-un anumit fel informatii despre solutia pe care o reprezinta. Cea mai folosita metoda de codara este aceea de sir binar. Cromozomul, in urma codarii, ar putea arata in urmatorul fel:

Fiecare cromozom are asociat un sir binar. Fiecare bit din acest sir poate reprezenta o caracteristica a solutiei.

3.2.1 Codarea binaraCodarea binara este una dintre cele mai des intalnite tipuri de codarea a informatie, in mare parte deoarece primii algoritmi genetici au folosit acest tip de codare. In codarea binara fiecare cromozom este un sir de biti format din 0 sau 1.Problema exemplu: Problema rucsaculuiEnunt: Se dau lucruri de valoare si greutate precizata. Rucsacul are o capacitate limita specificata. Selectati lucrurile ce trebuiesc introduse in rucsac (fara ai mari capacitatea), astfel incat valoarea finala sa fie maximizata.Codarea: Fiecare bit reprezinta daca obiectul se afla in rucsac sau nu

3.2.2 Codarea prin permutare

In cazul codarii prin permutare, aceast poate fi folosita in probleme de ordonare, precum problema vanzatorului voiajor sau probleme de ordonare a sarcinilor. In cazul codarii prin permutare fiecare cromozom este un sir de numere ordonate intr-o anumita secventa reprezentativa:

Problema exemplu: Problema vanzatorului voiajorEnunt: Se da o retea de orase interconectate (sub forma unui graf) alaturi de distantele dintre ele. Vanzatorul voiajor trebuie sa viziteze toate orasele date, cu conditia ca drumul sa fie minimal.Codarea: Cromozomul va reprezenta ordinea in care vanzatorul viziteaza orasele.

3.2.3 Codarea prin valoareCodarea prin valoare poate fi folosita in probleme unde apar valori cu care este dificil de lucrat precum valori reale. Utilizarea codarii binare in astfel de probleme este una dificila, greu de implementat. Prin codarea prin valoarea, fiecare cromozom este un sir de diverse tipuri de valori. Valorile pot fi de orice tip, raportat la fiecare problema in parte, numere in firgula fixa, caractere, siruri de caractere:

Problema exemplu: Gasirea ponderilor pentru o reata neuronalaEnunt: Se da o retea neuronala alaturi de arhitectura acesteia. Sa se gaseasca ponderile corespunzatoare sinapselor astfel incat reteaua neuronala sa produca rezultatul dorit.Codarea: Valorile reale din cromozomi reprezinta ponderile corespunzatoare sinapselor.

3.2.4 Codarea sub forma de arbore

Codarea sub forma de arbore (sau tree encoding in engleza) este in principal folosita pentru rezolvarea problemelor evolutive genetice. In codarea sub forma de arbore fiecare cromozom este un arbore de obiecte, precum functiile sau comenzile in programare.

Problema exemplu: Gasirea unei functii pe baza valorilor dateEnunt: Se dau anumite valori de intrare si iesire pentru o anumita functie (ex f(0) = 5). Sa se gaseasca functia care intoarce cele mai apropiate valori de output fata de cele date de problema.Codarea: Cromozomii sunt functii reprezentati in intreriorul unui arbore.

3.3 Crossover (Incrucisarea)Dupa ce s-a decis tipul de codare ce va fi folosit, se poate face pasul catre crossover. Operatorul crossover selecteaza gene din cromozomii parinte si creeaza pe baza lor un rezultat. Cea mai simpla metoda de creare a rezultatului este alegerea la intamplare a unui punct de crossover (pivot); toata informatia ce se gaseste inaintea acestui punct se copiaza de la primul parinte, iar inforamatia intalnita dupa acest punct se copiaza de la al doilea parinte.Ex: Operatia de crossover poate arata in felul urmator ( | este pivotul sau punctul de crossover)

Exista multiple moduri de a realiza operatia de crossover, de exemplu putem alege mai mult de un punct pivot. Operatia de crossover poate fi destul de complicata, ea depinzand in mare masura de modul in care a fost codat cromozomul. Operatia de crossover specifica unei anumite probleme poate avea un impact enorm asupra performantei algoritmului.3.3.1 Crossover printr-un singur pivotDaca a fost ales un singur punct de crossover, sirul binar de la inceputul cromozomului pana la punctul pivot este copiat de la primul parinte, restul fiind copiat de la cel de al doilea parinte:

3.3.2 Crossover prin doi pivotiDaca s-au ales doua puncte de crossover, sirul binar de la inceputul cromozomului pana la primul punct de crossover este copiat de la primul parinte, sirul dintre cei doi pivoti este copiat de la cel de al doilea parinte, iar restul va fi copaiat de la primul parinte:

3.3.3 Crossover uniformIn cazul acestui tip de crossover biti sunt copiati in mod aleator de la primul parinte sau de la cel de al doilea parinte:

3.3.4 Crossover aritmeticIn cazul acestui tip de crossover rezultatul este format pe baza unor operatii aritmetice ce au loc la nivelul bitilor corespunzatori informatiei codate, (& in cazul de mai jos):

3.4 MutatiaDupa efectuarea operatiei de crossover are loc mutatia. Operatia de mutatie schimba in mod aleator noul rezultat obtinut in urma crossover-ului. Pentru codarea binara putem schimba, in mod aleator, valoarea unui numar redus de biti de la 1 la 0 sau invers, de la 0 la 1. Operatia de mutatie depinde atat de felul in care a fost codata informatia cat si de operatia de crossover. De exemplu, atunci cand se codeaza permutari, mutatia poate schimba doua gene.Exemplu de mutatie:

3.5 Avantaje/Dezavantaje

AvantajeDezavantaje

bine adaptati pentru lucrare in paralel (multi core) simplitate in implementare evidentiaza o solutie optima nu necesita informatii derivate foarte adaptabili dependenta fata de parametrii dificultate redicata in proiectare la nivel informatic a problemei

4. Modalitati de implementare

In primul capitol s-a adus in discutie definitia unui algoritm, precum si prezentarea unor anumite modele specifice.

Partea de implementare difera in functie de domeniul in care se doreste a se face implementarea. Atat algoritmii de optimizare multicriteriala cat si algoritmii genetici au o mare aplicabilitate la nivel cotidian, acestia fiind de o relevanta sporita.

In cazul algoritmilor de optimizare multicriteriala, exemplul clasic la care se face referire intotdeauna este cel al cazului raului Nestor. In acest caz s-au folosit algoritmii PROMETHEE si AHP pentru stabilirea cursului apei. Criteriile ce au determinat rezultatul optim au fost nevoile de alimentare cu apa, potentialul energetic al raului, precum si cerintele mediului inconjurator.In cazul algoritmilor genetici vom lua drept exemplu populatia unei tari. Implementarea acestora are la baza trei operatori:

1.selectia ce echivaleaza cu supravietuirea celor mai in forma2.crossover-ul ce echivaleaza cu inmultirea dintre indivizi3.mutatia ce introduce modificari aleatoare

1.Operatorul de selectie ideea cheie: se acorda o pondere ridicata indivizilor mai buni, permitandu-le in acest fel sa transmita genele mai departe spre urmaoare generatie Gratul de bunatate ar fiecarui individ depinde de forma fizica si mentala in care acesta se afla. Starea fizica si mentala se pot determina pe baza unei functii obiective sau a unui rationament subiectiv

2.Operatorul crossover doi indivizi sunt alesi din populatia tarii pe baza operatorului de selectie se alege in mod aleator o regula de crossover pe baza sirului de biti rezultatele noi obtinute in urma imeprecherii sunt implementate la nivelul urmatoarei generatii a populatiei prin recombinarea portiunilor codate corespunzatoare indivizilor selectionati, procesul are in mare parte sansa creari unor indivizi mai buni

1.Operatorul de mutatie scopul acestui operator este acela de a mentine diversitatea si de a minimiza convergenta prematura

Implementarea algoritmului:1. intializarea in mod aleator a populatiei 2. determinarea populatiei in forma 3. repeta||1. selectarea parintilor din cadrul populatiei| 2. executa operatia de crossover asupra parintilor |3. executa operatia de mutatie asupra populatiei|4. determina populatia in forma4. pana cand si ultimul individ este suficient de bun

5. Studiu de caz

In continuare vom trata studiul de caz aplicat pe OM si AG. Vom lua in considerare urmatorul scenariu: optimizarea traficului din Bucuresti pe baza metodologiei specifice celor doua tipuri de algoritmi.In cazul algoritmilor de optimizare multicriteriala se va tine cont de divrese criterii precum: volumul de transfer in retea, densitatea locuitorilor unei anumite zone, orele la care se inregistreaza trafic intens, locurile des vizitate in functie de sezon, amplasamentul centrelor comerciale de mari dimensiuni, etc. In cazul algoritmilor genetici se va folosi codarea prin valoare a diferilor informatii esentiale spre stabilirea rezultatului optim, urmand ca informatiile incapsulate de cromozomi sa fie supuse algoritmului specific acestei metode: selectie, crossover, mutatie, etc. In final vor fi interpretate rezultatele optime, pe baza acestora urmand sa fie setat timing-ul fiecarui semafor in parte, cat si orele optime de functionare a retelei subterane de metrou.

6. ConcluziiDupa analiza amanuntita a celor doua tipuri de algoritmi, putem afirma ca ambii au o importanta semnificativa in dezvoltarea sistemelor inteligente, adaptabile si capabile sa studieze mediul in cadrul caruia opereaza si sa ia decizii independent de factorul uman. Cele doua tipuri de algoritmi au aplicabilitate mare in cotidian, desi pe langa avantajele oferite vin la pachet cu o serie de dezavantaje.

7. Referinte

[1] http://en.wikipedia.org/wiki/Algorithm[2] http://en.wikipedia.org/wiki/Genetic_algorithm[3] Romica Trandafir Modele si algoritmi de optimizare[4] Mihai Caramihai, Notiuni introductive, Curs 1 SDA, Universitatea Politehnica Bucuresti[5] Janos Fulop ,,Introduction to Decision Making Methods[6] Tien-Yin Chou ,,Application of the PROMETHEE technique to determine depression outlet location and flow direction in DEM[7] Zhang Wei, Zhou Xia ,,An Improved PROMETHEE Method Applied in Enterprises Financial Performance Measurement[8] Neil Russell-Jones ,,The Decision-Making PocketBook[9] Jean-Pierre Brans ,,How to Decide with PROMETHEE[10] Jean-Pierre Brans ,,PROMETHEE Methods[11] Mohsen Pirdashti ,,Multi-Criteria Decision-Making Selection Model with Application to Chemical Engineering Management Decisions[12] Zbigniew Michalewicz ,,Genetic Algorithms + Data Structures = Evolution Programs[13] http://www.obitko.com/tutorials/genetic-algorithms/operators.php[14] http://www.scholarpedia.org/article/Possibility_theory#Qualitative_possibility_theory[15] http://www.dexonline.ro

PREZENTARE1