Documente Academic
Documente Profesional
Documente Cultură
Analiza Comparativa A Algoritmilor de Optimizare Multicriteriala
Analiza Comparativa A Algoritmilor de Optimizare Multicriteriala
314 AC
1
Cuprins:
1. Introducere
1.1 Algoritmi-generalitati
1.2 Optimizarea- generalitati
1.3 Obiectivele optimizarii
1.4 Rezultate asteptate
2. Algoritmi de optimizare multicriteriala (AOM):
2.1 Generalitati
2.2 Metode de luare a deciziilor
2.3Metoda PROMETHEE-GAIA
2.4 Analiza PROMETHEE-GAIA
2.5 Obiective
2.6 Puncte tari/ Puncte slabe
3. Algoritmi inteligenti (AI)
3.1 Generalitati
3.2 Retele neuronale
3.2.1 Clasificare
3.3Logica Fuzzy
3.4 Algoritmi evolutivi
3.5 Algoritmi genetici
3.5.1 Terminologie
3.5.2 Pseudocod
3.5.3Principii
3.5.4 Metode de selectie
3.6 Puncte tari/ Puncte slabe
4. Tehnici de implementare pentru AOM si AI
5. Studiu de caz: AOM vs AI
6. Concluzii
7. Bibliografie
8. Prezentare Prezi
2
1.Introducere
1.1 Algoritmi-Generalitati
Algoritmul reprezinta in matematica si informatica o metoda sau o procedura de calcul
alcatuita din pasi elementari necesari pentru rezolvaea unei probleme sau categorii de
probleme. De obicei, algoritmii se implementeaza in mod concret prin programarea
adecvata a unui calculator sau a mai multora. Algoritmii prezinta o serie de proprietati,
printre care cele mai importante sunt:
Generalitatea - algoritmul rezolva o clasa de probleme, nu o problema particulara;
Claritatea – algoritmul nu contine ambiguitati ;
Finitudinea – algoritmul se termina dupa un numar finit de pasi;
• Completitudinea – algoritmul tine cont de toate cazurile particulare ale problemei
generale ( Ex : calculul lui 2 la n. Caz particular : 2 la 0 care trebuie tratat separat.) ;
Eficienta – algoritmul se va executa numar minim de pasi, folosind un minim de
memorie ;
Realizabilitatea – algoritmul poate fi codificat intr-un limbaj de programare;
Ca exemple de algoritmi putem aminti urmatoarele:
algoritmul de constructie a unui automobil (urmarind schitele de fabricatie);
algoritmul de folosire a unei masini-unelte (citind manualul de folosire);
algoritmul de explorare a unui labirint in vederea gasirii unei iesiri (una din solutii: se
tine o mâna pe perete si se merge fara a o dezlipi de acesta).
Algoritm pentru Semnaturi Digitale
Insa, un exemplu de algoritm executat de om in viata de zi cu zi poate fi gatirea unei
omlete:
pas 1.Pune tigaia pe foc
pas 2.Pune o lingurita de ulei in tigaie
pas 3.Cit timp uleiul nu s-a incins asteapta
pas 4.Pune oualele in tigaie
3
pas 5.Astepta pana cand se rumenesc
pas 6.Daca nu tii regim, pune sare
1.2 Optimizarea-generalitati
Optimizarea reprezinta activitatea de selectare, din multimea solutiilor posibile unei
probleme, a acelei solutii care este cea mai buna in raport cu un criteriu predefinit. Insa
luarea unei decizii implica mai intai existenta unor solutii ce pot fi luate in considerare si
intr-un astfel de caz scopul nu este doar sa identificam toate solutiile posibile, ci sa o
alegem pe cea care se potriveste cel mai bine in raport cu obiectivele, telurile, dorintele
noastre si nu numai.
In luarea unei decizii, se stabileste criteriul de decizie, se selecteaza alternativele, se
construieste un model, se evalueaza alternativele folosind modelul, apoi se selecteaza cea
mai buna alternativa. Un model este o abstractie si o simplificare a unei probleme reale,
incorporând ideal elementele esentiale si relatiile din problema reala. Rezolvarea unui
model inseamna obtinerea concluziilor logice care rezulta, concluzii ce constituie un ghid
efectiv in luarea deciziei daca modelul este proiectat si rezolvat corect. Luarea deciziei
implica informatia cantitativa obtinuta din model cu judecarea intuitiva a factorilor
calitativi.
4
1.3 Obiectivele optimizarii
2.Algoritmi de optimizare
multicriteriala(AOM)
2.1Generalitati
O clasa de probleme cu un grad mare de complexitate admite existenta mai multor functii
obiectiv. Problemele in care mai multe functii obiectiv trebuie optimizate simultan se
numesc probleme de optimizare multicriteriala (optimizare multiobiectiv, optimizare
vectoriala). De cele mai multe ori criteriile de optim sunt contradictorii, ingreunand
semnificativ stabilirea unei tehnici de rezolvare a problemelor de acest gen. O abordare
simplista permite convertirea criteriilor intr-o singura functie obiectiv, problema
reducandu-se la o problema de optimizare clasica cu un singur obiectiv. Fiecare criteriu isi
5
va aduce aportul in aceasta functie printr-o pondere prestabilita. Alegerea ponderilor
pentru definirea unei unice functii obiectiv cunoaste adesea o rezolvare subiectiva care ar
afecta solutia finala. Motivele prezentate incurajeaza cercetarea altor tehnici de rezolvare
a problemelor multicriteriale.
Cele mai multe probleme de decizii economice, industriale, financiare sau politice sunt
multicriteriale. De exemplu, nimeni nu cumpara o masina tinand cont doar de pret
(criteriul financiar), caci se iau in considerare si alte aspect cum ar fi confortul, calitatea,
performanta, prestigiul, etc. Totodata, oamenii au pareri diferite, astfel incat daca mai
multe persone ar fi puse in fata unei multimi de masini si lasate sa aleaga, ace stia nu ar
avea aceeasi optiune, fiecare orientandu-se dupa propriile sale gusturi si criterii. Problema
selectiei sau punerii intr-o anumita ordine a alternativelor supusa la o evaluare
multicriteriala nu este una usoara atat din punct de vedere economic, cat si matematic. De
obicei, nu exista nicio solutie optima; nicio alternativa nu este “cea mai buna” pentru o
conditie. Calitatea ridicata implica totodata un pret mai mare. Astfel, criteriile de selectare
se afla intr-un asa zis conflict. De aceea trebuie luate In considerare cele mai bune
compromisuri.
In ultimii ani au fost propuse multe metode de consultanta asupra deciziilor pentru a fi de
ajutor in algerea celor mai bune decizii. Toate aceste metode pornesc de la acelasi tabel de
evaluare, insa ele difera in functie de informatiile aditionale cerute. Amintim cateva dintre
aceste metode :
1.Metode elementare:
2.Metode MAUT:
4.Metode Outranking:
Metoda ELECTRE
6
Metoda PROMETHEE (Preference Ranking organization
Method forEnrichment Evaluation)
In continuare,vom prezenta in detaliu una dintre cele mai eficiente si usoare metodologii
de a trata problemele multicriteriale si anume PROMETHEE-GAIA. A fost dezvoltat un
software usor de utilizat numit “Decision Lab” in colaborare cu compania canadiana “Visual
Decision” pentru a asista toate tipurile de factori de decizie. Acest software trateaza
matrice similare cu cele din Tabelul 1, unde a 1 , a2 , … ai ,… an sunt n alternative posibile,
iar f 1 , f2 , … fj, … fk sunt k criterii de evaluare. Fiecare evaluare f j(ai) trebuie sa fie un
numar real. O astfel de matrice poate modela multe aplicatii din lumea reala. In unele
situatii exista o cerinta usoara si astfel matricea se obtine imediat, pe cand in alte cazuri ar
putea fi o problema destul de complexa care sa necesite multe luni de munca si analiza. O
serie de autori printre care B. Roy (1985), D. Bouyssou (1984), R. Keeney (1992), S. Zionts
(1989) si P. Vincke (1992) au analizat cum sa modelezi o situatie multicriteriala din lumea
reala. Acestia au pus accentul pe faptul ca matricea trebuie sa fie de cele mai multe ori
evolutiva: in timpul progresului procedurii de decizile, pot fi luate in considerare
alternative suplimentare pentru a castiga informatie. In timp ce noi criterii de evaluare ar
putea fi adaugate, altele temporale pot fi eliminate.Astfel, structura matricii se obtine
progresiv. In timp ce softwarul “Decision Lab” furnizeaza metode care sa se ocupe uso r de
matricile evolutive, metodologia PROMETHEE nu ia in considerare de una singura astfel de
argumente. Ea incepe cand matricea este deja construita. Chiar si in acest caz, nu este o
sarcina usoara sa finalizezi decizia. Apar intrebari de genul “Care sunt cele mai bune
compromisuri? “ sau “Care este cea mai eficienta clasificare?”.
7
totale. Ar trebui sa fie afisata o viziune clara asupra caracterului conflictual al criteriului si
influenta unui set particular de valori. Totodata, ar trebui sa fie posibil sa se ia in
considerare constrangeri de limitare suplimentare. Toate aceste conditii sunt acoperite de
procedura PROMETHEE-GAIA.
Desigur, vom intelege si mai bine toate aceste lucruri luand un exemplu concret. Sa
presupunem ca o fabrica de biciclete isi propune sa faca reclama produselor sale. Dupa
lungi discutii, 6 masuri de marketing se au in vedere: publicitatea in ziarul international
“News”, in ziarul “Herald”, pe panourile publicitare din marile orase, prin trimiterea unor
scrisori personale sau prin spoturile publicitare televizate ale canalelor CMM sau NCB.
Totodata, se iau in considerare 5 criterii de evaluare: costul(exprimat in 1000 US $),
obiectivul (masurat in 10 000 oameni), durata actiunii (in zile), eficienta (exprimata pe o
scara de la 0-100) si numarul de oameni implicati in actiuni din interiorul companiei (forta
de munca).
Criteriul C1 C2 C3 C4 C5
Costul Obiectul Durata Eficienta Forta de munca
Min/max min max max Max min
News 60 900 22 51 8
Herrald 30 520 31 13 1
Panouri 40 650 20 58 2
publicitare
Scrisori 92 750 60 36 3
CMM 52 780 58 90 1
NCB 80 920 4 75 6
PROMETHEE & GAIA calculeaza fluxurile pozitive si negative pentru fiecare alternativa.
Fluxul pozitiv exprima cat de mult domina o alternativa pe alta, pe cand fluxul negativ
determina cat de mult este dominata o alternativa fata de alta. Dupa o analiza cu
PROMETHEE I(clasificare partiala) se obtine urmatorul rezultat: actiunea CMM le domina
pe toate celalalte; cele doua ziare News si Herald sunt incomparabile: primul reprezinta o
8
actiune puternica (cost, obiectiv ridicat, eficienta mare) pe cand cel de-al doilea este
limitat.
2.5 Obiective
Dupa cum am vazut in cele prezentare anterior, algoritmii de optimizare multicriteriala isi
propun reducerea pe cat de mult posibil a incompatibilitatilor intre posibililele solutii si
optinerea cat mai multor relatii de dominare (legatura) intre acestea, pentru a putea fi
astfel comparate. Scopul final este de a crea o clasificare clara a tuturor posibilitatilor de
alegere a unei solutii .
9
AOM sunt foarte des utilizati deoarece au ca avantaje timpul redus de executie,
implementare accesibila, utilizarea in numeroase domenii, obtinerea unor rezultate precise
. Insa, ca orice algoritmi, prezinta si puncte slabe, cum ar fi faptul ca in cazul unor
probleme complexe, timpul de rulare devine mare, sunt mai dificili fata de algoritmii
clasici, exista o neconcordanta intre complexitatea problemei si hotararile utilizatorilor.
3.Algoritmii inteligenti(AI)
3.1Generalitati
Ce este inteligenta?
Aceasta este o intrebare care provoaca in prezent mai multe dezbateri decat definitia
inteligentei. La mijlocul anilor 1900, Alan Turing a sustinut faptul ca masinile de calcul ar
putea fi create pentru a mima procesele creierului uman. Acesta credea cu certitudine ca
nu exista nimic ce poate face creierul si computerul sa nu poata. In timp ce s -a realizat cu
success modelarea sistemelor neurale biologice, nu exista inca solutii pentru problemele
10
complexe ale modelarii intuitiei, constiintei si emotiei, acestea formand parti integrale ale
inteligentei umane.
O definitie mai recenta a inteligentei artificiale a venit de la IEEE Neural Networks Council
in 1996 : a studia cum sa faci calculatoarele sa faca lucruri pe care oamenii le fac mai bine.
3.2Retele neuronale
3.2.1Clasificare
11
conexiuni de feedback cu intarzieri si prin urmare pot oferi o structura mai compacta
pentru reprezentarea relatiilor dinamice.
Incertitudinile sau complexitatea multor sisteme fizice sau procese duc adesea la o
dificultate in dezvoltarea de modele analitice exacte. Cu toate acestea, oamenii pot inca sa
descrie comportamentul acestor sisteme prin procesele lor cognitive, cel putin calitativ. Un
expert poate fi in masura sa controleze un proces bazat pe cunostintele sale si observarea
procesului, chiar si fara niciun model matematic.Setul de teorii fuzzy este '' un corp de
concepte si tehnici care dau o forma de precizie matematica proceselor cognitive umane,
care sunt de multe ori imprecise si ambigue fata de standardele matematicii clasice ''
(Kaufmann si Gupta, 1988). Intr-adevar, aceasta teorie permite sa se ocupe de elemente
vagi prin gruparea elementelor, care nu au limite clare, in clase diferite. Logica fuzzy
foloseste functii a caror valoare variaza de la 0 la 1, si permite captarea reprezentari
lingvistice ale cunostintelor. Imprecizia cunoasterii este asigurata de functiile asociate cu
fiecare variabila lingvistica. Intr-un sens restrâns, logica fuzzy este un system logic care
este o generalizare a logicii cu valori multiple (Zadeh, 2007). Datorita acestui motiv, teoria
fuzzy a fost aplicata la diverse probleme de inginerie care sunt prea complexe sau prost
definite pentru analiza matematica conventionala. Intr-un sistem fuzzy cunostintele sunt
12
reprezentate de reguli if-then asociate cu variabile fuzzy. Aceste reguli, impreuna cu
functiile amintite anterior sunt prelucrate prin asa-numita regula compozitionala a
inferentei. Spre deosebire de alte procese de rationament in cazul in care rationamentul
calitativ este utilizat cu normele lingvistice pure, logica inferentei fuzzy implica sinteza
numerica pe baza functiilor , pentru a forma un tabel de decizie fuzzy. Deoarece cantitatile
sintetizate intr-o procedura de rationament fuzzt sunt in general neclare, decizia finala
este, de asemenea neclara.
Algoritmii evolutivi sunt algoritmi de calcul care sunt inspirati de procesul evolutiv al
naturii. Ei imita principiile selectiei naturale, care favorizeaza speciile mai puternice si
ghideaza evolutia viitoare astfel incât sa supravietuiasca in conditiile lor de mediu.
Accentul principal al algoritmilor evolutivi este cautarea punctul optim global.
Desi au reprezentari total diferite, cei trei algoritmi ai si cateva trasaturi commune si
anume:
Populatia
Notiunea de fitness
Notiunea de populatie dinamica bazata pe fitness
Notiunea de mostenire de la parinti la copii
13
Algoritmii genetici sunt tehnici de cautare si optimizare a solutiilor bazate pe principi ile lui
Darwin cu privire la selectia naturala.Acestia au aparut in conditiile in care pe de o parte,
algoritmii traditionali si-au dovedit limitele, iar pe de alta parte s-a dorit implementarea
unei solutii “la cheie” in raport cu varietatea problemelor ce trebuiau rezolvate. Algoritmul
lucreaza cu o populatie de solutii candidat, care evolueaza si se adapteaza unui mediu( in
cazul de fata, mediul este functia de optimizat). Genotipul sufera urmatoarele modificari:
Acestia pot avea o abordare conexivista ( solutii bazate pe retele neuronale), cat si
calcul evolutionar(algoritmi evolutivi).
3.5.1 Terminologie:
14
3.5.2 Implementarea in pseudocod:
begin
t := 0
initialize the population P(t)
evaluate P(t)
while (not termination-condition) do
begin
t := t + 1
select P(t) from P(t -1)
alter P(t)
evaluate P(t)
end
end
3.5.3 Principii :
1)Functia de robustete-are rolul de a cuantifica optimalitatea unei solutii
2)Principiul cautarii solutiei in cadrul unui spatiu dat –cautarea in spatial solutiei se face in
cadrul a 4 etape functionale:
a)etapa de initializare: spatial solutiilor este populat in mod aleator cu solutii inividuale
necesare pentru a acoperi intreg spatial.
b)etapa de selectie- o parte din populatie este selectata pentru a genera o noua generatie
de indivizi.Aceasta generatie este realizata pe baza a doua mecanisme generice: mutati e si
incrucisare.
15
Determinarea populatiei intermediare ce contine parintii care vor fi supusi operatorilor
genetici de recombinare si mutatie - selectarea indivizilor care vor produce urmasi.
Metode:
1.Metoda ruletei
Selectia unui cromozom se face pe baza principiului robustetei, astfel incat cea mai
performanta solutie are cea mai mare sansa de a fi aleasa.
2. Incrucisarea
Se alege in mod aleator un punct pozitionat similar in cadrul lanturilor a doi cromozomi,
apoi se sliteaza cromozomii parinti in dreptul [unctului respectivi, iar copiii sunt create prin
interschimbarea elementelor splitate
Ofera o diferentiere mai mare a generatiei copii si difera de cea intr-un punct prin faptul ca
se interschimba si ultimul element din lanturile a doi cromozomi.
Incrucisarea a doua solutii bune poate sa nu ofere o solutie la fel de buna pentru generstia
copii.Daca in urma procesului de incrucisare “copiii” obtinuti sunt mai putini performanti
decat “parintii” lor, atunci generatia copii trebuie eliminate prin procesul de selectie. In
procesul de selectie, sunt copiati cei mai buni cromozomi (cele mai bune solutii), urmand
ca ulterior sa fie generate o noua populatie. La fiecare etapa de generare a unei noi
populatii de cromozomi trebuie “retinuti” cei mai buni cromozomi din cadrul generatiei
respective. Acest procedeu poarta numele de elitism.
3)Mutatia- Mecanismul mutatiei cuprinde inversarea aleatoare a bitilor din cadrum unei
solutii in vederea pastrarii diversitatii populatiei.
16
3.6 Puncte tari/Puncte slabe
17
politica, financiara, inginereasca si in alte domenii unde se lucreaza cu o cantitate mare de
date si este necesara luarea unei decizii care sa aiba la baza mai multe criteria de selectie.
Un astfel de domeniu este sic el bancar sau contabil.
In continuare vom realiza un studio de caz pentru algoritmii multicriteriali si cei inteligenti,
mai exact tehnica fuzzy.
Vom considera situatia in care Andrei, un tanar ce abia a implinit 18 ani doreste sa
cumpere o masina second-hand, insa este dependent totodata si de parintii sai, care
trebuie sa fie de accord cu decizia sa pentru a-I da bani. Inainte de a se hotari ce tip de
masina doreste, Andrei a luat in considerare urmatoarele criterii de selectie:
Pret
Marca
Rulaj
Anul fabricatiei
Culoare
Dotari
Putere
Tipul combustibilului
Consum
Tatal , tinand cont de cerintele fiului sau,s-a hotarat sa intrebe mai multe personae
specializate in domeniul masinilor si se gandeste la urmatoarele posibilitati in alegerea
masinii:
Daca I se spune ca masina nu merita luata, atunci sansele sunt aproape nule
18
Daca I se spune ca masina este potrivita pentru baiat, dar ca exista si altele mai
bune, atunci sansele cred
Daca I se spune ca masina este perfecta pentru un incepator in arta sofatului din
toate punctele de vedere, atunci sansele cresc substantial
Privind asupra modului de algere al lui Andrei, respective al tatalui sau, ne dam seama
ca Andrei a aplicat principiile algoritmilor multicriteriali, pe cand tatal sau a recurs la
logica fuzzy.
6. Concluzii
19
7. Bibliografie
8.Prezentare prezi :
http://prezi.com/pxiid2a3lit6/?utm_campaign=share&utm_medium=copy
20