Documente Academic
Documente Profesional
Documente Cultură
● ”un proces iterativ de generare de soluţii bune la probleme dificile, care ghidează una
sau mai multe euristici subordonate prin combinarea unor tehnici de explorare şi
exploatare eficientă a spaţiului de căutare al problemelor. De regulă, pentru a
structura informaţia în scopul identificării soluţiilor, aceşti algoritmi folosesc strategii
de învăţare.” (Osman şi Laporte (1996))
Caracteristici:
● sunt, mai degrabă, cadre algoritmice generale decât algoritmi, care se pot
suplimenta la nevoie cu diverse mecanisme particulare.
● sunt adesea inspirate din natură, bazându-se pe concepte din teoria sistemelor
biologice şi a evoluţiei biologice, pe comportamente sociale, de grup, însă şi pe
concepte din matematică, fizică, mecanică statistică şi chimie.
● Încorporează factor aleator*, care contribuie la ghidarea căutării spre regiuni
favorabile ale spaţiului de căutare forţând ieşirea din optimele locale
● pot fi dezvoltate şi ca sisteme adaptive sau care învaţă din experienţă
● comportamentul lor este, de regulă, dificil de înţeles. Ele folosesc simultan mai multe
strategii şi se pot comporta diferit pe probleme diferite
● operaţional, majoritatea metaeuristicilor se comporta ca o cutie neagră
● sunt strategii care ghidează căutarea soluţiilor
● scopul lor este acela de a explora eficient spaţiul de căutare pentru a găsi soluţii
bune
● tehnicile pe care le conţin merg de la proceduri simple de căutare locală la procese
complexe de învăţare
● sunt algoritmi aproximativi şi de regulă nedeterminişti
● nu sunt dedicate problemelor specifice
● pot încorpora mecanisme pentru evitarea blocării procesului de căutare în regiuni
limitate din spaţiul de căutare
● pot folosi cunoştinţe specifice domeniului sub formă de euristici, care sunt controlate
de strategia de la nivelul superior
● pentru a ghida căutarea pot folosi experienţa de căutare (încorporată într-o anume
formă de memorie)
1
Clasificare:
1. algoritmii genetici,
2. evoluţia diferenţială şi
3. metodele de tipul inteligenţă colectivă.
1. căutarea tabu,
2. simularea călirii metalelor,
3. căutarea locală iterativă,
4. căutarea cu vecinătăţi variabile,
5. metoda GRASP;
4. Hibridarea. Componentele pot rula concurent sau pot face schimburi de informaţie
pentru ghidarea căutării.
2
2. Metoda gradientului si metoda Newton. Rolul acestora in
dezvoltarea metaeuristicilor
Metoda gradientului
= metoda celei mai rapide creșteri (varianta pentru problemele de maximizare)
Aici, strategia de căutare iterativă a optimului se bazează pe alegerea direcţiei de
căutare.
● Metoda NU este o metaeuristică.
● Identificarea gradientului în punctul curent şi folosirea sa în căutare. Informaţia
conţinută în gradient (care este în cazul funcţiilor unidimensionale panta tangentei)
este o euristică pentru metoda de căutare, care-i permite deplasarea spre o regiune
mai bună din perspectiva funcţiei obiectiv.
● ! Metoda gradientului nu impune cunoaşterea funcţiei obiectiv f, nici măcar calcularea
valorii sale, dar presupune cunoaşterea gradientului său, f’.
● Soluţia ideală se obţine când căutarea a ajuns pe vârful graficului funcţiei.
● Criteriul de oprire a algoritmului de căutare: gradientul este zero.
● soluţie aproape optimă
● ! Punctele unde gradientul funcţiei este zero (puncte staţionare), nu sunt numai cele
de maxim, pe care le căutăm. Gradientul este zero şi în punctele de minim şi în
punctele de inflexiune ale funcţiei:
●
● Aşadar, pentru atingerea maximului, algoritmul va “urca” în toate dimensiunile
simultan.
● Ce se întâmplă dacă funcţia este multimodală?
○ durata de convergenţă
■ Pasul de deplasare creşte în acord cu gradientul curent, iar dacă
panta este abruptă, valoarea pasului va fi prea mare şi va forţa saltul
pe cealaltă parte a graficului
■ Metoda este lentă.
○ Soluții:
■ estimarea unei valori adecvate pentru pasul de deplasare α
■ ajustarea pasului de deplasare în funcţie de mărimea gradientului -
metoda Newton
Metoda Newton
● ajustarea pasului de deplasare în funcţie de mărimea gradientului, adică amortizarea
căutării când panta în punctul curent se apropie de zero.
● Metoda foloseşte în plus informaţia despre variaţia pantei, adică derivata de ordinul
doi a funcţiei obiectiv f.
3
● Pentru cazul multidimensional, lucrurile se complică. Prima derivată va fi gradientul,
iar a doua derivată va fi matricea complexă care conţine derivatele parţiale de ordinul
doi ale funcţiei f pentru fiecare dimensiune, numită Hessian-ul funcţiei f, Hf(x), care va
trebui în plus inversată.
● Avantaje:
○ converge de regulă mai rapid decât metoda gradientului
○ indică dacă s-a ajuns la un maxim (local sau global) şi nu la un minim sau un
punct de inflexiune, deoarece se ştie că în punctele de maxim,
● Punct critic: rămâne blocată în optimul găsit, ca şi metoda gradientului, lucru care
nu este folositor dacă funcţia este multimodală.
● Soluții:
○ fie parametrul αse modifică cu o valoare suficient de mare;
○ fie metoda Newton se aplică în mod repetat pornind de la soluţii-candidat
iniţiale diferite. Se va reţine în cele din urmă soluţia cea mai bună dintre cele
testate (pentru aceasta este necesară cunoaşterea funcţiei f).
4
5. Paralelizare, co-evolutie, hibridare
Paralelizare
De ce este necesară? – de regulă, metaeuristicile sunt mari consumatoare de resurse
de calcul, în primul rând pentru că sunt algoritmi stocastici.
Cui se aplică? – cel mai des ME bazate pe populaţii, dar şi ME stare unică.
Modelul centralizat
● accentul este pus pe comunicarea
subpopulaţiilor
Co-evoluţie
Co-evoluţia a fost definită în comunitatea ştiinţifică a calculului evoluţionist prin
următorul principiu: o specie A evoluează datorită răspunsului său la caracteristicile
5
altei specii B, iar B de asemenea evoluează drept răspuns la caracteristicile iniţiale ale
lui A.
Co-evoluţia constituie deci evoluţia simultană a două sau mai multe populaţii diferite,
care se ajută sau se forţează reciproc să se adapteze la mediu.
Se poate manifesta în două maniere:
● co-evoluţie bazată pe cooperare
● co-evoluţie bazată pe competiţie
Tehnici co-evoluţioniste:
● co-evoluţia competiţională într-o populaţie;
● co-evoluţia competiţională în două subpopulaţii;
● co-evoluţia cooperativă în n subpopulaţii;
● co-evoluţia cooperativ-competiţională;
● tehnicile de lucru cu nişe: partajarea performanţei, aglomerarea şi gruparea;
● alte variaţii ale acestora.
Hibridare
Combinările adecvate de metaeuristici au demonstrat că induc metodei de căutare un
comportament semnificativ mai eficient şi o flexibilitate mai mare, deoarece beneficiază de
sinergie.
Metode hibride de clasă 3,4: încorporarea operaţiilor tipice pentru inteligenţa artificială
(programarea cu restricţii sau data mining) în metaeuristici.
Probabil cea mai populară este hibridarea unui algoritm evoluţionist cu o metodă de
ameliorare locală.
Alte hibridări:
● algoritm genetic + călirea simulată a metalelor;
● algoritm genetic + călirea simulată a metalelor + căutarea tabu;
● algoritm genetic + căutarea tabu;
● călirea simulată a metalelor / căutarea tabu + diverse euristici;
● călirea simulată a metalelor + căutarea tabu;
● căutarea tabu + ACO;
● algoritm genetic + ACO;
● algoritm genetic + căutare locală gradient;
● căutarea tabu + branch-and-bound;
● algoritm genetic + hill-climbing.
6
● combinări colaborative
○ Într-un mediu colaborativ algoritmii schimbă informaţie, dar nici unul nu este
parte din celălalt. Ei se pot executa secvenţial, în paralel sau alternativ.
● combinări integratoare
○ În modelele integratoare, unul dintre algoritmi este principal, iar celălalt este
un bloc component subordonat, inclus în primul.
7
8
METAEURISTICI STARE UNICĂ
7. Metodele stare unică. Descriere si analiză comparativă
Urmează o singură traiectorieprin spaţiul de căutare (la fiecare execuţie sau la fiecare
etapă principală a execuţiei), plecând de la o soluţie-candidat iniţială, pe care o actualizează
iterativ.
Pe măsură ce explorează spaţiul de căutare, aceste metaeuristici folosesc o procedură
de selecţie care decide ce soluţii-candidat identificate să se reţină în traiectorie şi care să fie
respinse.
1. Metoda alpinistului este similară metodei gradient, dar mai generală: pentru a
avansa nu necesită cunoaşterea gradientului sau a direcţiei sale, ci, în urma
modificării soluţiei curente folosind o componentă aleatoare,
a. dacă rezultatul este mai valoros, acesta se acceptă ca nouă soluţie curentă,
b. dacă rezultatul nu este mai valoros, acesta se respinge.
8. Hill-climbing
Metoda alpinistului este similară metodei gradient, dar mai generală: pentru a avansa
nu necesită cunoaşterea gradientului sau a direcţiei sale, ci, în urma modificării soluţiei
curente folosind o componentă aleatoare,
● dacă rezultatul este mai valoros, acesta se acceptă ca nouă soluţie curentă,
● dacă rezultatul nu este mai valoros, acesta se respinge.
Metoda îmbunătăţeşte continuu soluţia-candidat curentă şi se opreşte când nu se mai
pot face îmbunătăţiri.
Metoda alpinistului este mai generală decât metoda gradientului: aici alterarea nu este
ghidată de gradientul funcţiei, ci implică un factor aleator.
● când se găsesc soluţii mai bune acestea se adoptă
9
● când se găsesc soluţii mai slabe acestea se ignoră
Metoda alpinistului cu ascensiune abruptă este o versiune de căutare mai agresivă:
la fiecare pas de îmbunătăţire se generează aleator mai multe soluţii-candidat din
vecinătatea celei curente şi se selectează drept nouă soluţie curentă cea mai bună dintre
acestea.
Metoda prelevează de fapt informaţie despre gradient şi, pe baza ghidării acesteia,
ascensionează către maxim urmând cea mai bună cale.
Saltul la noua soluţie nu trebuie să fie nici prea mare, nici prea redus. Setarea
amplitudinii pasului de alterare este un mod de a controla raportul între explorarea şi
exploatarea spaţiului de căutare.
Metoda alpinistului cu reporniri aleatoare - versiunea pentru probleme multimodale.
O dată ce a atins un optim (posibil local), reîncepe căutarea cu o soluţie-candidat iniţială
diferită, aleasă în mod aleator, şi reţine drept soluţie finală pe cea mai valoroasă soluţie
identificată în urma acestor multiple căutări.
→vezi exemplu
9. Simulated annealing
Călirea simulată a metalelor (simulated annealing) permite ieşirea din optimele locale
printr-o strategie care acceptă şi tranziţii la stări mai slabe:
● dacă rezultatul modificării soluţiei curente este mai valoros, acesta se acceptă
necondiţionat ca nouă soluţie curentă,
● dacă rezultatul nu este mai valoros, acesta se acceptă cu o probabilitate care se
reduce pe măsură ce căutarea avansează.
La început, metoda realizează o căutare aproape brută în spaţiul de căutare (pentru că
parametrul “temperatură” este setat la o valoare mare), iar pe parcurs se concentrează pe
regiunea mai valoroasă (pentru că “temperatura” este redusă gradat).
Algoritmul se opreşte când nu se mai produc ameliorări ale soluţiei curente sau după un
număr de iteraţii specificat anterior.
Metoda funcţionează mai eficient pe spaţii de căutare continue.
10
● flexibilitatea şi abilitatea de a evita blocarea în optime locale în probleme cu multe
restricţii şi multe optime locale;
● posibilitatea paralelizării.
Dezavantaje:
● prea multe tranziţii negative îndepărtează căutarea de optimul global;
● setarea parametrilor este o problemă delicată, deoarece precizia valorilor lor
influenţează mult calitatea rezultatului;
● raportul între calitatea soluţiei şi resursele de timp consumate este uneori
disproporţionat
Aplicaţii:
● probleme combinatoriale:
○ probleme de alocare,
○ probleme de clustering,
○ probleme de împachetare şi de croire,
○ de partiţionare a grupurilor,
○ problema rucsacului,
○ probleme în grafuri,
○ de transport;
● probleme de proiectare;
● optimizări de funcţii;
● probleme de reţele şi telecomunicaţii;
● probleme de localizare;
● probleme de programare operativă;
● probleme statistice etc.
11
11. Cautarea locala iterativa
Metoda caută soluţii în spaţiul optimelor locale într-o manieră stocastică.
Repornirea căutării nu se face aleator, ci în funcţie de un optim local deja identificat,
numit optim local de bază (curent), care se actualizează conform unui criteriu de acceptare.
Repornirea căutării se realizează într-o regiune suficient de depărtată de optimele deja
identificate, însă nu atât de departe încât căutarea să devină o căutare aleatoare.
Metodele de căutare locală iterativă cuprind trei module:
● căutarea locală,
● perturbarea optimului local de bază şi
● verificarea satisfacerii criteriului de acceptare.
De regulă, perturbarea generează o soluţie într-o vecinătate mai mare decât vecinătatea
utilizată în procedura de căutare locală.
Rolul funcţiei actualizează care implementează criteriul de acceptare a noii soluţii
curente de bază este acela de a alege inteligent noi puncte de pornire pentru căutare.
Criteriul de acceptare din căutarea locală iterativă se situează între situaţiile extreme
aferente căutării aleatoare şi metodei alpinistului.
Deoarece principala dificultate a metodei constă în a determina când s-a atins un optim
local, de regulă se setează un cronometru (variabila t ) care opreşte “urcarea”, iar cea mai
bună valoare curentă la expirarea timpului setat se consideră a fi optimul local identificat.
Dacă acest cronometru se setează la o valoare suficient de mare, probabilitatea este
destul de mare ca punctul identificat să fie un optim sau un punct din vecinătatea acestuia.
Procedura de căutare locală poate fi una simplă sau poate fi chiar o metaeuristică de
căutare locală: călirea simulată a metalelor, căutarea tabu, căutarea locală genetică sau
altele.
Criteriul de acceptare de asemenea poate fi unul simplu sau unul complex. Un criteriu
de tipul călirii simulate a metalelor va accepta noua soluţie dacă este mai calitativă; şi în caz
contrar o va accepta, dar cu o anumită probabilitate.
Se aplică cu succes dacă nu există foarte multe optime locale.
Ex: problema comis-voiajorului, colorarea grafurilor, planificarea temporală, diverse
alocări.
Inconvenientul metodei: poate explora repetat aceleaşi zone din spaţiul de căutare, nu
dispune de o imagine de ansamblu a acestuia.
12. GRASP
GRASP nu se deplasează în spaţiul soluţiilor-candidat, ci în spaţiul componentelor de
soluţii-candidat. Astfel, metoda este una orientată pe componente şi de aceea este destinată
optimizării combinatoriale.
Algoritmul nu realizează aşadar tranziţii de la o soluţie la alta, ci construieşte o
soluţie-candidat admisibilă (prin adăugarea rând pe rând a câte unei componente din
mulţimea cunoscută de componente-candidat), soluţie pe care apoi o ameliorează local
explorându-i vecinătatea.
La fiecare pas, componenta de adăugat la soluţia parţială se selectează aleator dintr-o
listă restrictivă ce conţine cele mai valoroase componente admisibile la pasul curent.
Componentele-candidat sunt evaluate printr-o funcţie greedy care cuantifică beneficiul
local al includerii lor în soluţie la pasul curent.
Deoarece funcţia greedy ţine seama de deciziile anterioare luate în generarea soluţiei,
GRASP este o metodă adaptivă.
12
METAEURISTICI BAZATE PE POPULAŢII DE
SOLUŢII-CANDIDAT
13. Descriere și analiză comparativă
Folosesc o întreagă mulţime de soluţii-candidat, iar membrii săi (un aspect foarte
important) nu acţionează independent, ci se influenţează reciproc în procesul căutării.
Avansul acestora în căutare se face simultan şi interdependent pe mai multe direcţii.
Metaeuristicile bazate pe populaţii de soluţii-candidat:
● algoritmii genetici,
● evoluţia diferenţială şi
● metodele de tipul inteligenţă colectivă.
Formează calculul evoluţionist.
Caută optimul pe baza progresului înregistrat într-o populaţie de soluţii-candidat
interdependente.
Sunt două clase mari de metode de acest tip:
● algoritmii evoluţionişti, care folosesc operatori inspiraţi din teoria evoluţiei speciilor
biologice (reproducere, mutaţie, recombinare, selecţie naturală, supravieţuirea celor
mai puternici);
● metodele de tip inteligenţă colectivă (swarm intelligence), în care optimizarea
apare în urma unui comportament colectiv auto-organizant al populaţiei de
soluţii-candidat.
13
Principiul de funcţionare al unui AG se bazează pe tendinţa de creştere a performanţei
unei populaţii de soluţii candidat, în timp, determinată de competiţia pentru resursele
mediului şi propagarea materialului genetic de către cei mai buni indivizi ai populaţiei.
Noţiunea-cheie a utilităţii AG este performanţa indivizilor, determinată de funcţia obiectiv şi
de restricţiile problemei.
Reprezentarea genetică
Reprezentarea (codificarea) indivizilor se realizează în funcţie de problemă. Aceasta
poate fi:
● Binară: 001101001
● Valoare (şir de caractere): 2.7, 7.4, 5.0 sau abcdefg
● Permutare: 4 2 7 5 1 3 6
● Arbore
Selecţia
Selecţia reprezintă alegerea unor indivizi din populaţia curentă pentru aplicarea
încrucişării. Indivizii selectaţi, numiţi părinţi, se vor grupa în perechi.
Modelele de selecţie cel mai frecvent apelate sunt:
Selecţia turneu constă în alegerea în mod aleator a k părinţi din populaţie, care vor fi
supuşi unui turneu de calitate, câştigat prin comparare. Cel mai valoros, câştigătorul, va fi un
părinte. În acest fel, procedura se va repeta pentru a selecta toţi părinţii necesari. Parametrul
k se numeşte dimensiunea turneului; valoarea sa trebuie acordată cu dimensiunea
populaţiei din care se selectează, deoarece o valoare prea mare conduce la un consum
mare de timp (la extrem se confundă cu selecţia elitistă), iar o valoarea prea mică nu acordă
şanse suficiente de alegere a indivizilor calitativi (la extrem se confundă cu selecţia
aleatoare).
Selecţia ruletă constă în simularea lansării acului unei rulete pe domeniul valorilor
obiectiv pentru indivizii din populaţia curentă. Mai întâi se ordonează crescător valorile
obiectiv ale indivizilor şi se realizează corespondenţa între performanţa relativă a fiecărui
individ şi suprafaţa ruletei. Apoi se generează aleator un număr în [0,1], valoare care va
semnifica poziţia finală a acului ruletei. Astfel, probabilitatea de selecţie a unui individ este
proporţională cu calitatea sa.
Selecţia elitistă - indivizii din populaţia curentă se sortează după performanţă şi se aleg
drept părinţi cei mai buni indivizi.
14
Mutaţia genetică este un operator unar care modifică minor individul căruia se aplică.
15
Conceptul-cheie care asigură identificarea unei soluţii (aproape) optime este
auto-organizarea:setul de mecanisme dinamice care stabileşte regulile de bază pentru
interacţiunile dintre componentele sistemului.
Principalele metode de inteligență colectivă:
● PSO(ParticleSwarmOptimization): optimizarea în roiurile de particule
● ACO(AntColonyOptimization): optimizarea în coloniile de furnici artificiale
● WBM(WaspBehaviorModel): modelul comportamentului viespilor
● ABC(ArtificialBeeColonyalgorithm): algoritmul coloniilor de albine artificiale
● Multi-swarmoptimization: optimizarea multi-roi
16
18. Metaeuristici pentru optimizare combinatorială. Descriere și
analiză comparativă
Optimizarea combinatorială = Ramură a ştiinţei teoretice a calculatoarelor şi a
matematicii aplicate, care tratează problemele de optimizare în care:
● mulţimea de soluţii valide este discretă sau se poate reduce la o mulţime discretă,
● soluţiile au asociate fiecare un cost numeric şi
● scopul constă în identificarea celei mai bune soluţii (a soluţiei de cost minim).
Se caută obiectul optim, care constituie o combinaţie de componente dintr-o mulţime de
regulă finită. Este fie o grupare, fie o ordonare, un aranjament sau o selecţie optimală de
componente, discrete la rândul lor.
Metaeuristicile pentru optimizarea combinatorială sunt metode orientate pe
componente.
Două abordări posibile:
1. construirea pas cu pas a soluţiilor din componente candidat şi
2. modificarea iterativă a soluţiilor-candidat, care sunt complete.
Ambele sunt puternic dependente de problemă, implicând proiectarea de funcţii speciale
pentru testarea validităţii şi calităţii componentelor-candidat şi ale soluţiilor.
1. Construirea iterativă porneşte de la o soluţie iniţial vidă şi, pe baza restricţiilor, la
fiecare pas al căutării la aceasta se adaugă o nouă componentă, validă, până la
finalizarea construirii unei soluţii complete.
GRASP (Greedy Randomized metaeuristică stare unică
Adaptive Search Procedure)
17
parcurse în graf (inclusiv de la generaţiile anterioare), feromon care reflectă experienţa
acumulată de agenţi în căutarea soluţiei optime.
Fiecare agent înaintează în graf selectând din vecinătatea fezabilă:
● cu probabilitatea ∝, nodul având asociată cantitatea maximă de feromon;
● cu probabilitatea 1-∝ un nod aleator.
Procedura ACO:
● iniţializează urmele de feromon
● setează parametrii cât timp criteriu_oprire = fals execută
○ agenţii construiesc soluţii-candidat
○ ameliorează soluţiile // optional
○ actualizează urmele de feromon
Modelul ACO este un proces de învăţare distribuită în care agenţii individuali nu sunt
adaptivi, dar modifică adaptiv modul în care este percepută problema de către ceilalţi agenţi.
Cu alte cuvinte, influenţa individuală a unui agent nu este relevantă, însă influenţa
coloniei de agenti este majoră.
Puncte critice:
● necesar ridicat de timp de calcul pentru atingerea optimului în problemele complexe
● dificultatea stabilirii unor valori adecvate ale parametrilor fiecărei instanţe.
Aplicații:
● probleme de determinare a rutelor optime în grafuri,
○ problema comis-voiajorului;
● planificarea sarcinilor pe maşini;
● analiza datelor;
● partitionarea grafurilor;
● plierea proteinelor;
● optimizare online (în reţele de telecomunicaţii);
● probleme de alocare:
○ distribuire optimală (statică şi dinamică),
○ împachetare optimală,
○ decupare optimală;
● problema acoperirii unei mulţimii;
● compunerea produselor;
● planificare strategică;
● colorarea grafurilor.
18