Documente Academic
Documente Profesional
Documente Cultură
1. Principii generale
Orice sistem sau component este definit de un set de parametrii care sunt
utilizaţi ca variabile În timpul procesului de optimizare. De obicei, o
parte din aceşti parametrii sunt parametrii predefiniţi, iar ceilalţi pot fi
1
trataţi ca variabile numite variabile de decizie. Acestea se reprezintă prin
x1
x
2
.
vectorul variabilelor: X .
.
.
x n
2
Problema de control optim este o problemă de programare
matematică care presupune un număr de etape, unde fiecare
etapă este legată de etapa precedentă Într-o anumită manieră.
Aceasta este descrisă de două tipuri de variabile: de control şi
de stare. Variabilele de control definesc sistemul şi
guvernează evoluţia sistemului de la o etapă la alta.
Variabilele de stare descriu comportarea sau starea
sistemului la fiecare etapă. Problema este de a găsi un set de
variabile de control astfel Încât funcţia obiectiv totală pe
toate etapele, cunoscută În acest caz sub numele de indice de
performanţă, să fie minimizată În condiţiile existenţei unui
set de restricţii ale variabilelor de stare şi de control.
Probleme de optimizare bazate pe natura ecuaţiilor implicate În
descrierea resticţiilor şi a funcţiei obiectiv. Din acest punct de
vedere problemele de optimizare pot fi de mai multe tipuri:
probleme de optimizare liniare, respectiv neliniare, respectiv
geometrice, respectiv pătratice.
Probleme de optimizare bazate pe valorile permise ale variabilelor
de decizie. }n acest caz se problemele de optimizare pot fi de
următoarele tipuri: probleme de optimizare cu numere Întregi sau
cu numere reale.
Probleme de optimizare bazate pe natura deterministică a
variabilelor. Acestea pot fi probleme de optimizare deterministice şi
probleme de optimizare stocastice. In cazul problemei de
optimizare stocastică unele sau toate variabilele sunt probabilistice.
Probleme de optimizare bazate pe separabilitatea funcţiilor. Unele
probleme de optimizare pot fi separabile şi se bazează pe separarea
funcţiilor obiectiv şi a restricţiilor, iar altele sunt neseparabile.
Probleme de optimizare bazate pe numărul funcţiilor obiectiv.
Depinzând de numărul funcţiilor obiectiv, problemele de
optimizare pot fi definite:
o de o singură funcţie obiectiv
o de mai multe funcţii obiectiv.
3
Pentru problemele cu limite sub forma de egalitatii se poate utiliza
metoda multiplicatorului Lagrange.
Daca problema are limite sub forma de inegalitati, se pot utiliza
conditiile Kuhn-Tucker pentru a determina punctul optim.
Aceste metode conduc la un set de ecuatii neliniare care pot fi
dificil de rezolvat.
4
Exemplu de problema de optimizare
Sa se determine max f (x) pentru x S
Unde :
f(x) este o functie numita functie obiectiv
x este un vector de variabile (x1….x)
S este un set de n- vectori sau setul de limite
Definitii:
Valoarea lui x* a variabilei x rezolva problema max f (x) pentru x S
daca f (x) ≤ f (x*) pentru toate valorile lui x S.
In acest caz x* corespunde maximului functiei f in conditiile in care x S , iar
f (x*) este valoarea maxima a functiei f in conditiile valorilor limitate ale lui
xS
De exemplu atat x* cat si x** reprezinta valorile maxime ale functiei f(x) care
este subiectul limitei x S .
Problema 1
Se considera o functie f(x) cu o singura variabila definita de:
f(x)=-x-1 pentru x< -1,
f(x)=0 pentru -1 ≤ x ≤ 1
f(x)=x-1 pentru x>1
5
Este punctul x=0 un maxim global si /sau minim global si/sau maxim local
si/sau minim local al functiei f(x)?
Solutie:
Se considera că x variază pe intervalul [-3,+3]. Variaţia funcţiei f(x) pe acest
interval este reprezentată în figura de mai jos
x fx
-3 2
-2 1
-1 0
0 0
1 0
2 1
3 2
4 3
5 4
Fig.3 Reprezentarea grafica a functiei f(x)-problema 1.
Problema 2
Se considera o functie f(x)cu o singura variabila definita de:
f(x)=x+1 pentru x<-1,
f(x)=0 pentru -1<=x<=1
f(x)=x-1 pentru x>1
Este punctul x=0 un maxim global si /sau minim global si/sau maxim local
si/sau minim local al functiei f(x)?
Solutie:
Se considera ca x variază în intervalul[-3,+3]
6
x f(x)
-3 -2
-2 -1
-1 0
0 0
1 0
2 1
3 2
Fig.4 Reprezentarea grafica a functiei f(x)-problema 2.
7
Quasi-Newton
Levenberg-Marquardt
Metode heuristice:
Algoritmi genetici
Particle swarm optimization
Ant colony
Memetic algorithm
Simulating annealing
Tabu search
Metoda Newton este o tehnică În care curbura locală a funcţiei obiectiv este
utilizată pentru a aproxima o funcţie pătratică. Următoarea poziţie În procesul de
optimizare este partea inferioară a funcţiei pătratice aproximative.
Teoretic minimum este atins acolo unde gradientul este zero. După fiecare
mişcare, funcţia pătratică este rezolvată din nou pentru un alt pas. Se Începe cu
un vector x al variabilei de decizie n . Funcţia obiectiv este deci F x .
~ ~
8
1 T ~2
F ~ p F ~
xk ~ xk g~kT ~
p ~p Gk p O (1)
2
1 T ~2
F ~ p F ~
xk ~ xk g~kT ~
p ~p Gk p (2)
2
x1
x
2
~ .
x (3)
.
.
x n
F
x
1
F
x
2
~
g .
.
.
F
x n
(4)
9
2F 2F 2F
x x x x ...
1 1 1 2 x1x n
F 2F 2F
...
x 2 x1 x 2 x 2 x 2 x n
G . (5)
.
.
F 2F 2F
...
x n x1 x n x 2 x n x n
1 T ~
Q ~ p F ~
xk ~ x k g~kT ~
p ~p Gk p (6)
2
Q ~ p ~T
xk ~
~ g k Gk ~
p (7)
p
Minimum se va găsi acolo unde derivata devine egală cu zero. Prin urmare,
soluţia trebuie să verifice ecuaţia următoare:
g~kT Gk ~
p (8)
10
Limitele tehnicilor tip Newton
O limită a acestei tehnici este aceea că presupune calcularea a numeroase
derivate de ordinul unu şi doi.
O altă limită provine din faptul că soluţia lui ~p poate să nu fie un minim.
Funcţia pătratică Q are un punct staţionar la ~x k 1 ~p care nu este neapărat un
minim. Acest punct poate fi un maxim sau chiar un punct oarecare. Pentru a fi
sigur că ~x k 1 ~p este un minim, atunci G trebuie definit pozitiv. Aceasta
înseamnă că determinantul lui G trebuie să fie pozitiv, iar toate elementele de pe
diagonală trebuie să fie pozitive.
Dacă matricea Hessiană nu este pozitiv definită, pasul ~p mai poate fi
convergent. Totuşi dacă nu se Întâmplă aşa pasul ~p poate fi divergent(fig.3)
11
Algoritmi genetici
Un algoritm genetic efectuează operaţii specifice în cadrul unui proces de
reproducere guvernat de operatori genetici. Noile soluţii sunt create prin selecţia
şi recombinarea cromozomilor existenţi, în vederea optimizării unei funcţii de
evaluare specifice fiecărei probleme în parte. Semnificaţia acestei funcţii nu este
relevantă pentru algoritm, ceea ce contează fiind numai valoarea sa.
Algoritmii genetici operează cu o populaţie iniţială – corespunde, de
exemplu, valorilor numerice ale unei anumite variabile (unui anumit element
programabil). Dimensiunea acestei populaţii nu este constantă şi este în general
dependentă de problema de rezolvat. Membrii acestei populaţii sunt de regulă
şiruri alcătuite din 0 şi 1, adică şiruri binare. Exemplu de populaţie iniţială într-o
primă generaţie şi având dimensiune mică (10):
1100010101
0000100010
1000000001
0001100010
1101110101
0001000100
1111111000
0000000001
1100001000
1111111111
În practică se consideră o dimensiune mai mare a polulaţiei şi şiruri de
lungimi mai mari. Şirurile binare pot reprezenta valorile codate ale unei sau unor
variabile de interes.
Populaţia iniţială este generată aleator, iar pentru caracterizarea acesteia
poate fi utilizată terminologia specifică geneticii. Astfel, fiecare şir din cadrul
populaţiei corespunde unui cromozom şi fiecare bit (element binar) al şirului
corespunde unei gene.
Cromozomii sunt variabilele problemei de optimizare şi elemente ale unei
structuri funcţionale numit genom. Fiecare genom îşi începe ciclul de viaţă ca o
mulţime de cromozomi generaţi aleator. Colecţia genomilor alcătuieşte
populaţia.
Un algoritm genetic efectuează operaţii specifice în cadrul unui proces de
reproducere guvernat de către operatori genetici.
Soluţiile noi sunt create prin selecţia şi recombinarea cromozomilor
existenţi, în vederea optimizării unei funcţii de evaluare (funcţie de performanţă,
“fitness”), aleasă pentru fiecare problemă în parte. De exemplu, dacă problema
de rezolvat este o problemă de optimizare, funcţia de evaluare ar putea fi funcţia
12
obiectiv sau inversul acesteia. Semnificaţia funcţiei respective este irelevantă
pentru algoritm, ceea ce contează fiind doar valoarea sa.
Exemplu de populaţie şi funcţia de evaluare aferentă:
13
Fig.4. Selecţia pe principul ruletei.
14
c1: 1 | 1 0 0 | 0 1 0 1 0 1
şi schimbând ordinea genelor între punctele 2 şi 4 rezultă noul
cromozom:
u1: 1 | 0 0 1 | 0 1 0 1 0 1.
4. Mutaţia – basculează aleatoriu o anumită genă (un anumit
bit) a / al cromozomului. Reprezintă procesul final de obţinere a unei
generaţii şi are drept scop introducerea unei noi soluţii (şiruri) în cadrul
populaţiei şi protejarea algoritmilor genetici împotriva pierderii irevocabile şi
accidentale a informaţiei datorită unor încrucişări nepotrivite.
Operatorul de mutaţie contribuie la evitarea punctelor de extrem local.
Operatorii genetici, cu încrucişarea şi mutaţia în rol principal, asigură
principalele diferenţe dintre algoritmii genetici şi metodele numerice de
descreştere utilizate în rezolvarea problemei de optimizare.
Pornind de la o populaţie iniţială şi utilizând operatorii genetici, algoritmii
genetici dezvoltă generaţii noi care explorează rapid mulţimea soluţiilor
admisibile (regiunea de interes) în vederea obţinerii soluţiei optimale :
Avantajele utilizării algoritmilor genetici :
- rezolvarea numerică a problemelor de optimizare dificile
din punctul de vedere al expresiilor funcţiilor obiectiv şi restricţiilor,
- rezolvarea numerică a problemei de optimizare caracterizate prin funcţii
obiectiv cu mai multe extreme locale, maxime şi minime.
Mecanismele care leagă algoritmul genetic de problema ce trebuie
rezolvată sunt:
(1) Codarea problemei în termeni de cromozomi, genomi şi populaţie –
prin şiruri de biţi, simplu de creat şi de manipulat. Codificarea se realizează de
obicei prin şiruri de cifre binare. S-a demonstrat că acest mod de codificare este
robust, în sensul adaptării lui la o mare varietate de probleme practice. Ceea ce i
se reproşează uneori este precizia soluţiei, limitată la numărul de biţi, pe care se
face reprezentarea. Alegerea unui număr suficient de mare de biţi pentru
reprezentarea valorilor reale din problemă, înlătură însă acest dezavantaj.
(2) Funcţia de evaluare, care furnizează o măsură a calităţii fiecărui
cromozom în contextul problemei respective – orice funcţie de evaluare are, la
intrare, şirul de cromozomi şi returnează numere sau liste de numere ce
reprezintă performanţele realizate de cromozomi.
Funcţia de evaluare are rolul mediului înconjurător din cadrul evoluţiei
naturale.
15
5. Studiu de caz. Aplicarea algoritmilor genetici pentru
determinarea debitului de injecţie la un grup de sonde În gaz-lift
115
3
105
95
85
75
65
55
45
35
25
15
5
-5
0 20 40 60 80 100 120 140 160 180
3 3
Gas injection rate, 10 Sm /D
16
Debitul de gaze injectate disponibil pentru cele şase sonde este
130000Sm3/D. In aceste condiţii se aplică algoritmii genetici pentru optimizarea
debitului de injecţie alocat fiecărei sonde.
Rezultatele optimizării sunt prezentate in tabelul de mai jos:
Metoda de
Interpolare liniară Metoda polinomului de gradul doi
aproximare
Qg Ql Qg Ql
Nr.sondă 103 Sm3/D m3/D 103 Sm3/D m3/D
1 10,727 56,181 5,565 49,202
2 22,210 120,406 15,641 115,489
3 25,866 175,299 36,337 187,471
4 24,094 99,547 23,656 101,383
5 42,956 127,579 35,123 125,665
6 4,1443 48,003 13,675 60,928
17