Sunteți pe pagina 1din 8

SECIUNEA 1

Euristici si metaeuristici. Introducere


Definiie O metaeuristic este un proces iterativ care ghideaz i modific operaiile unor euristici subordonate pentru o explorare i o exploatare eficient a spaiului de cutare n scopul producerii sau identificrii de soluii de calitate mai bun pentru problemele dificile. Metaeuristicile pot manipula o soluie unic (complet sau incomplet) sau o colecie de soluii la fiecare iteraie. De regul, pentru a structura informaia n scopul identificrii eficiente a soluiilor (aproape) optimale sunt folosite strategii de nvare. Istoric de dezvoltare. Anii 80 Probleme pentru care se preteaz folosirea metaeuristicilor
-

optimizare (stocastic) --- black box optimization

- predicie, - clasificare, - recunoaterea pattern-urilor Metaeuristicile sunt algoritmi folosii cnd se cunosc foarte puine informaii utile: nu se cunoate cum arat soluiile optimale, nu se cunoate o metod principial de cutare a lor, exist puine informaii euristice de folosit, iar cutarea exhaustiv nu se poate lua n consideraie deoarece spaiul de cutare este foarte mare. ns dac se ofer o soluie candidat a problemei, aceasta se poate testa i i se poate evalua calitatea. Altfel spus, recunoatem o soluie bun atunci cnd o vedem. Rolul metaeuristicilor n cutare i optimizare Optimizarea se definete ca fiind un raionament sau calcul care permite gsirea valorilor unuia sau mai multor variabile corespunznd maximului sau minimului unei funcii.

Obiectivul optimizrii este o funcie sau funcional. Acesta este maximizat sau minimizat cu posibile restricii care limiteaz alegerea valorilor pentru variabile. Obiectivul poate fi: profitul sau pierderea ntr-un mediu de afaceri; viteza sau distana ntro problem de fizic; veniturile probabile ntr-un mediu de investiii supuse riscului; bunstarea social n contextul planificrii guvernamentale. Teoria matematic a optimizrii se folosete pentru: a caracteriza punctele de optim a furniza baza pentru algoritmii de optimizare. Formularea unei probleme de optimizare O problem de optimizare se definete prin tripletul format din: necunoscut numit variabil (sau variabil de decizie)1, un obiectiv2 i o mulime de restricii. Funcia obiectiv i restriciile sunt funcii de variabile. Formularea matematic: minimizeaz y = f(x) , respectnd restriciile: e(x) = (e1(x),e2(x),,em(x)) 0, unde x X, y Y. y se numete funcie obiectiv sau funcie cost. Funcia obiectiv acioneaz ca un criteriu n raport cu care se face optimizarea.
1
2

(1) (2)

Variabila poate fi simpl sau compus.


Obiectivul poate fi de asemenea simplu sau compus.

X se numete spaiu de cutare sau spaiul deciziilor sau spaiul variabilelor sau spaiul necunoscutelor. Variabilele problemei difer de parametrii acesteia. Prin parametrii unui model de optimizare nelegem acele mrimi care definesc modelul ca entitate independent n realitatea nconjurtoare. Parametrii au anumite valori numerice bine precizate i cunoscute. Variabilele reprezint necunoscutele modelului. Acestea pot ncadra modelul n diverse clase de modele dup valorile pe care le pot lua. Reestriciile modelului reprezint acele relaii matematice care constrng alegerea variabilelor de decizie. X f {x X e( x) 0} se numete mulime fezabil i reunete soluiile admisibile. Yf = f(Xf) se numete spaiu obiectiv. O soluie admisibil care minimizeaz funcia obiectiv se numete soluie optim. Cu alte cuvinte, n optimizare se caut un element x0 X pentru care
f ( x0 ) f ( x), x X .

adic gsirea celei mai bune soluii dintre cele fezabile. Ex. reprezentare grafic:

Fr a restrnge generalitatea, funcia obiectiv se poate maximiza. Pentru aceasta se va lucra cu funcia obiectiv z = - y. min {f(x)}
3

devine - max {-f(x)} Obs. Multe probleme teoretice, dar i ale lumii reale, pot fi modelate n acest cadru general. Aadar, optimizarea presupune fie minimizarea fie maximizarea unei funcii obiectiv. 1. Construirea unui model adecvat este primul pas al optimizrii. 2. Odat modelul stabilit, se alege un algoritm de optimizare pentru gsirea soluiei. 3. Se verifica dac algoritmul a identificat soluia. Metaeuristicile se constituie ca subcmp al optimizrii stocastice, domeniu care implic ntr-o anume msur factorul aleator n scopul identificrii de soluii (aproape) optime problemelor de optimizare dificile. Probleme de optimizare combinatorial. Tehnici exacte i tehnici aproximative de rezolvare Optimizarea combinatorial reprezint studiul matematic cu privire la cutarea soluiilor optimale care sunt aranjamente, grupri, ordonri sau selecii de obiecte discrete, de regul n numr finit. Problemele lumii reale sunt adeseori (dac nu ntotdeauna) considerate dificil de rezolvat deoarece: - nu pot fi mereu formulate i rezolvate printr-o abordare matematic direct; - sunt implicate multe restricii i muli parametri; - numrul soluiilor posibile poate fi enorm; - soluiile de calitate trebui identificate rapid; - verificarea fiecrei soluii posibile pentru a o gsi pe cea mai bun este foarte costisitoare, adeseori nu este fezabil; - calitatea unei soluii poate varia n timp, de aceea pot fi necesare mai multe soluii. Tehnicile exacte sunt acelea care pot identifica soluia/soluiile exacte ale problemelor, care sunt optime globale n cazul problemelor de optimizare. Tehnici exacte sunt programarea matematic3, teoria poliedral etc. O clasificare a primelor cuprinde pe de o parte metodele enumerative, iar pe de alta tehnicile bazate pe calcul, relaxarea lagrangeian i strategiile de descompunere (Pinson, 1995; Jain i Meeran, 1999; Affenzeller i Wagner, 2004).

Ex. programare liniar mixt i n ntregi 4

Tehnici tradiionale de optimizare

Tehnici enumerative Ghidate Branch & Bound Neghidate

Tehnici bazate pe calcul Metode directe

Strategii de descompunere Relaxare lagrangeian

Metode gradient

Programare Backtracking dinamic

Fig. Error! No text of specified style in document.. Clasificare a principalelor tehnici tradiionale (exacte) de optimizare

Metodele enumerative pot identifica cu certitudine totalitatea soluiilor optime globale deoarece genereaz i investigheaz toate soluiile-candidat posibile, ns resursele timp i spaiu necesare pentru aceasta sunt exagerat de mari4. Branch & bound se poate folosi la rezolvarea problemelor cu obiective i restricii liniare, care fac uz de mulimi ordonate speciale. Programarea dinamic este o tehnic general recursiv de descompunere. Este util numai pentru anumite clase de probleme numerice discrete cu o structur favorabil. Tehnica backtracking se poate aplica numai problemelor discrete n care soluia este format din componente ale unei (unor) mulimi finite. Este mare consumatoare de resurse. Tehnicile tradiionale de cautare bazate pe calcul se pot clasifica n dou grupuri distincte: - metode directe - metode indirecte (metode gradient).

ordinul de complexitate timp i spaiu este exponenial n mrimea datelor de intrare 5

Cele directe folosesc pentru ghidarea cutrii numai funcia obiectiv i restriciile, iar cele gradient folosesc i derivatele de ordinul I sau/i II ale funciei obiectiv sau/i ale restriciilor. n timp ce metodele directe sunt lente i necesit multe evaluri de funcii pentru a converge la soluii, cele bazate pe gradient converg mai rapid la soluii, dar nu sunt eficiente pentru probleme discontinue sau nedifereniabile. Metodele gradient funcioneaz pe probleme cu un singur optim. Pentru cele multimodale, primul vrf ntlnit n cutare va fi soluia returnat; odat atins un vrf, cutarea nu mai poate reveni. Tehnicile bazate pe calcul, care folosesc restriciile problemei i derivate ale funciilor obiectiv, pentru probleme cu spaii de cutare simple pot genera soluia exact dar ntr-un numr foarte mare sau infinit de pai. Prin urmare, tehnicilor exacte li se asociaz multiple dezavantaje (Deb, 1999), cum ar fi: - lipsa unei perspective globale asupra problemei; - ineficiena n general pentru probleme cu variabile discrete; - tendina de blocare la soluii suboptimale, n condiiile unor spaii de cutare dificile; - dependena convergenei la soluia optim de soluia aleas iniial; - ineficiena n medii paralele de calcul; - un algoritm eficient pentru o problem poate s nu fie eficient pentru altele. Toate aceste neajunsuri restrng aplicabilitatea metodelor exacte pentru rezolvarea problemelor de optimizare la instane de dimensiuni reduse. Acest fapt a condus la dezvoltarea multor metode aproximative de optimizare i a facut din teoria euristicilor un domeniu de cercetare cu extindere rapid. Tehnicile aproximative, dei nu garanteaz identificarea celei mai bune soluii (respectiv a celei optime globale) dac aceasta exist, obin ntr-un timp rezonabil soluii (aproape) optime. Din acest motiv, pentru problemele complexe i de mari dimensiuni, unde aplicarea metodelor exacte este practic imposibil, se folosesc tehnicile aproximative. Acestea trateaz dou aspecte n cutarea soluiei: - cum s fie efectiv examinat spaiul de cutare i - cum s se evalueze eficient toate alternativele. Metaeuristicile sunt tehnici de optimizare aproximative. Soluie aproximativ: soluie (aproape) optim Dac un algoritm aproximativ ruleaz n timp polinomial i se poate demonstra abilitatea sa de identificare a soluiilor a cror optimalitate este un anumit procent din optimalitatea soluiei optime globale, acesta se numete algoritm - aproximativ (Jain i Meeran, 1999).

Dar ce sunt euristicile? Euristici - metaeuristici Ex.1 o problem de asignare 3 persoane trebuie s primeasc 3 job-uri. Costul de asignare este:
Job Pers. A B C 1 1 3 3 2 3 7 4 3 4 4 2

O persoan primete un singur job, un job este asignat unei singure persoane. O euristic simpl este: 1. alege o persoan i un job n mod aleator 2. asigneaz job-ul la persoan 3. repet de la pasul 1 pentru persoanele rmase i job-urile neasignate pn cnd nu mai sunt persoane Nu folosete informaia cost deci nu trebuie s ne ateptm la rezultate bune. O soluie posibil va fi: C-2 A-3 B-1 Cost total = 11 O euristic mai bun: 1. alege cosul minim din matrice i asigneaz persoana respectiv la job-ul corespunztor 2. terge persoana i job-ul din problem i repet procedura pentru noua problem. Soluia sa va fi: Cost 1 A - 1 Cost 2 C - 3 Cost 7 B - 2 Cost total = 10 Acest mod de lucru impune anse de alegere din ce n ce mai reduse.
7

Interschimbare ncercarea de a mbunti soluia curent. Ex. Dac s-ar interschimba asignrile lui A i C costl va fi mai mic? Ex.2 JSSP. Earliest due date. Se pot folosi euristici generice / metaeuristici. Se pot proiecta euristici specifice pentru o problem dat. Metaeuristicile includ, dar nu se limiteaz la: - Calirea simulat a metalelor (simulated annealing) - Cautare tabu (tabu search) - Metoda GRASP (Greedy Random Adaptive Search Procedure) - Calcul evoluionist (algoritmi genetici, strategii de evoluie, programare genetic) - ACO (Ant Colony Optimization) - WBM (Wasp Behavioral Model) - PSO (Particle Swarm Optimization) - alte metaeuristici (reele neuronale artificiale, sisteme imunitare artificiale, programare logic cu restricii) - metode hibride ale acestora Aceste tehnici se bazeaz pe concepte din teoria evoluiei bilogice, rezolvarea inteligent a problemelor, matematic i fizic, mecanica statistic i teoria sistemului nervos.

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