Sunteți pe pagina 1din 17

Teorii de optimizare

1. Principii generale

O problemă de optimizare poate fi formulată astfel:


 x1 
x 
 2
. 
Să se determine vectorul X    care minimizează funcţia f  X  În
. 
. 
 
 x n 
condiţiile existenţei următoarelor limite:
g j ( X )  0, j  1,2,..., m
l j ( X )  0, j  1, 2,..., p

unde X este un vector n- dimensional al variabilelor, f(X) este funcţia obiectiv,


iar g j ( X ) şi l j ( X ) se numesc limite sau restricţii care pot fi sub forma unor
egalităţi sau inegalităţi. Numărul de variabile n şi numărul restricţiilor m şi/ sau
p trebuie să nu fie interelaţionate. Problema de optimizare formulată mai sus
este denumită problemă de optimizare cu restricţii.
Alte probleme de optimizare pot fi formulate astfel:
 x1 
x 
 2
. 
să se determine vectorul X    care minimizează funcţia f  X  .
. 
. 
 
 x n 
Aceste probleme de optimizare se numesc probleme de optimizare fără
restricţii.

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 

Limitele sau restricţiile reprezintă limitele comportării sau performanţelor


unui sistem.
Funcţia obiectiv reprezintă de fapt criteriul În raport cu care sistemul este
optimizat. Alegerea funcţiei obiectiv este una din deciziile cele mai importante
În procesul de optimizare, ea fiind aleasă În funcţie de natura problemei. Unele
probleme de optimizare au o singură funcţie obiectiv, altele pot avea mai multe
funcţii obiectiv.
Totalitatea tehnicilor matematice sau euristice utilizate pentru a găsi
minimum sau maximum funcţiei obiectiv se numeşte optimizare.

2. Clasificarea problemelor de optimizare

Problemele de optimizare se pot clasifica în următoarele categorii:


 Probleme de optimizare bazate pe existenţa sau inexistenţa unor
restricţii- acestea pot avea sau nu restricţii sau limite
 Probleme de optimizare bazate pe natura variabilelor de decizie- În
acest caz se pot distinge două tipuri de probleme de optimizare şi
anume:
o problemă de optimizare parametrică sau statică care
presupune găsirea unui set de parametrii care să conducă la
minimizarea unei funcţii de dependentă de aceşti parametrii
şi supusă unor restricţii.
o problema de optimizare în care scopul este de a găsi un set de
variabile de decizie care sunt funcţii continui de nişte
parametrii care să minimizeze o funcţie obiectiv suspusă unui
set de restricţii.Acest tip de problemă la care variabilele de
decizie sunt funcţii de unul sau mai mulţi parametrii se
numeşte problemă de optimizare dinamică.

 Probleme de optimizare bazate pe structura fizică a acesteia.


Depinzând de structura fizică a problemei, problemele de
optimizare se de două tipuri:
o probleme de control optim
o probleme de control nonoptim.

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. Metode clasice de optimizare


 Metodele clasice de calcul diferential pot fi utilizate pentru a gasi
maximum si minimum fara restrictii ale unei functii care are un
numar de variabile.
 Pesupun ca functia este diferentiabila de doua ori in raport cu
variabilele de decizie, iar derivatele sunt continui.

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. Problema de optimizare cu o singură variabilă

O funcţie de o singură variabilă x , f (x) are un minim local sau un minim


relativ la x  x * dacă f ( x * )  f ( x *  h) pentru toate valorile suficient de mici
pozitive sau negative ale lui h . Similar, un punct x * este denumit un maxim
local sau relativ dacă f ( x * )  f ( x *  h) pentru toate valorile lui h suficient de
apropiate de zero. O funcţie f ( x ) are un minim global sau absolut la
x * dacă f ( x * )  f ( x ) pentru toate valorile lui x În domeniul pe care f ( x ) este
definită. Similar un punct x * va fi un maxim global al lui f ( x ) dacă f ( x * )  f ( x )
pentru toate valorile lui x pe domeniul de definiţie. }n figura de mai jos se
prezintă diferenţa dintre punctele de optim global şi cele de optim local.
Problema de optimizare cu o singură variabilă este aceea În care valoarea
lui x  x * se află În intervalul [a, b] astfel Încât x * minimizează funcţia f ( x ) .
Pentru a stabili condiţiile necesare şi suficiente pentru un minim relativ al unei
funcţii cu o singură variabilă se enunţă următoarele teoreme:
Teorema 1: Condiţia necesară:
Dacă o funcţie f ( x ) este definită Într-un interval a  x  b şi are un minim
relativ la x  x * unde a  x *  b , şi dacă derivata df ( x) / dx  f ' ( x) are o valoare
finită la x  x * , atunci f ' x *   0 .
Teorema 2: Condiţia suficientă:
Fie f ' ( x * )  f ' ' ( x * )  ...  f ( n1) x *   0 , dar f ( n ) ( x * )  0 . Atunci f ( x * ) este:
 o valoare minimă a lui f ( x ) dacă f ( n) ( x * )  0 , iar n este par;
 o valoare maximă a lui f ( x ) dacă f ( n) ( x * )  0 iar n este par;
 nici maxim nici minim dacă n este impar.
Maxim relativ
Maxim global
Mimim relativ
Mimim global
Mimim relativ
sau minim global

Fig.1. Definirea punctelor de maxim, minim relativ sau global.

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
xS
De exemplu atat x* cat si x** reprezinta valorile maxime ale functiei f(x) care
este subiectul limitei x  S .

Fig.2. Definirea punctelor de maxim, minim relativ sau global- exemplu

 Punctul x’ nu este un maxim al functiei f deoarece f (x*)>f (x’)


insa reprezinta un maxim in raport cu punctele x1 si x2 sau un
maxim local.
 Variabila x* este un maxim local al functiei f pentru x  S, daca
exista un numar ε>0 astfel incat f (x)≤ f (x*) pentru toate valorile
lui x  S pentru care distanta dintre x si x* este cel mult ε.
 x* poate fi considerat un maxim global.
 Pentru gasirea minimului unei functii min f(x) se procedeaza in
mod similar ca in cazul gasirii maximului unei functii.

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.

 x=0 nu este un maxim global al functiei deoarece f(2)=1>f(0)=0


 x=0 este un minim global al functiei deoarece f(x) ≥f(0)=0 pentru toate
valorile lui x  [-3;+5]
 x=0 este un maxim local pentru toate valorile lui x  [-1;+1]
deoarece f(x) ≤ f(0)=0
 x=0 este si un minim local

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.

 x=0 nu este un maxim global al functiei deoarece f(2)=1>f(0)=0


 x=0 nu este un minim global al functiei deoarece f(-2)=-
-1<f(0)=0
 x=0 este un maxim local pentru toate valorile lui x  [-1;+1]
deoarece f(x) ≤ f(0)=0
 x=0 este si un minim local

5. Probleme de optimizare neliniară

Utilizarea tehnicilor de optimizare neliniară permite considerarea unui


număr nelimitat de variabile care pot fi optimizate în mod concurent.
Funcţia obiectiv este neliniară şi ia toate variabilele de decizie ca input şi
determină variabila obiectivă.
Funcţia obiectiv este aceea pe care dorim să o maximizăm sau
minimizăm.
Exemple de funcţii obiectiv sunt numeroase ca :
 maximizarea producţiei,
 maximizarea profitului net actualizat pe sondă,
 minimizarea cumulativului raţiei gaze-ţiţei,
 minimizarea raţiei apă-ţiţei,
 minimizarea investiţiei pe metru cub echivalent produs, etc.
In multe cazuri există numai o variabilă de decizie, acest tip de optimizare
fiind prezentat la subcapitolul 4.
Problemele de optimizare neliniare pot fi dificil de rezolvat, iar nivelul de
dificultate creşte geometric cu cât numărul de variabile de decizie creşte.
Problemele de optimizare care presupun mai multe variabile de decizie se
numesc probleme de optimizare multivariabile.
In cazul acestor probleme de optimizare se cunosc o serie de tehnici de
soluţionare ca:
 tehnicile tip Newton iterative
 Newton-Raphson

7
 Quasi-Newton
 Levenberg-Marquardt
 Metode heuristice:
 Algoritmi genetici
 Particle swarm optimization
 Ant colony
 Memetic algorithm
 Simulating annealing
 Tabu search

Tehnicile tip Newton


Aceste tehnici sunt clasice în rezolvarea problemelor de optimizare
multivariabile. Inainte de a descrie aceste tehnici este necesar de a explica faptul
că În mod convenţional se consideră că optimizarea se referă la minimizarea
unei funcţii obiectiv. In acest caz maximizarea necesită minimizarea negativului
funcţiei obiectiv(fig.2)

Fig.2. Maximizarea şi minimizarea unei funcţii obiectiv.

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  .
~ ~

Metoda Newton aproximează funcţia F cu primii trei termeni ai dezvoltării În


serie Taylor a funcţiei F . Utilizând un pas ~p spre minim, rezultă:

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 

De asemenea, g~ este vectorul derivatei functiei F ~xk  :

 F 
 x 
 1
 F 
 x 
 2
~
g  . 
 
. 
. 
 
 F 
 x n 
(4)

iar G este matricea Hessiana a funcţiei F :

9
 2F 2F 2F 
 x x x x ... 
 1 1 1 2 x1x 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 

Funcţia F din ecuaţia (2) se rearanjează pentru a forma o funcţie pătratică


Q:

1 T ~
Q ~ p   F ~
xk  ~ x k   g~kT ~
p ~p Gk p (6)
2

Obiectivul este de minimizare a funcţiei pătratice Q . Pentru aceasta se derivează


În raport cu ~p :

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)

Ecuaţia (8) se poate rescrie sub forma:


~
p  Gk1 g~kT (9)

După determinarea lui F , g~ şi G la ~x k se utilizează ecuaţia (9) pentru


determinarea lui ~p . |inând seama că ~x k 1  ~x k  p este uşor să se găsească
următoarea poziţie În procesul de optimizare. Eventual procesul atinge un punct
unde criteriul de convergenţă este satisfăcut.
De obicei procesul este discontinuu atunci când toate elementele fie ale
lui p sau g~ au valori suficient de mici
~
Metoda Newton de obicei converge rapid. Dacă punctul iniţial de pornire
este suficient de aproape de minimum convergenţa este garantată.

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)

Fig.3. Ilustrarea unor posibile forme generate de o funcţie pătratică.

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ă:

Plecând de la populaţia iniţială, trebuie dezvoltată o populaţie nouă,


fiecare populaţie nouă generată prin reproducere înlocuind generaţia anterioară.
}n acest proces funcţia de evaluare globală se va îndrepta spre optim şi va oferi
soluţii din ce în ce mai bune ale problemei de optimizare. Procesul este analog
teoriei neo-darwiniste a evoluţiei în biologie, care afirmă că organismele
(sistemele) adaptate continuu la schimbările de mediu au şansele cele mai mari
de supravieţuire.
Operatori genetici (asupra genomilor, cromozomilor):
1. Selecţia (naturală) – destinat alegerii unui set de cromozomi (şiruri) din
populaţie pentru a-i (a le) reproduce.
Membrii populaţiei sunt aleşi pentru reproducere pe baza valorii funcţiei
lor de evaluare, iar membrilor populaţiei le este acordată o probabilitate de
reproducere proporţională cu valoarea funcţiei lor de evaluare fiind preferaţi cei
cu o valoare cât mai mare a funcţiei de evaluare.
Tehnici de selecţie:
- pe baza principiului ruletei – modelează mecanismul selecţiei naturale,
în care cromozomii cu o funcţie de evaluare mai mare au o şansă mai mare de a
fi aleşi(fig.4). Exemplu în legătură cu populaţia anterioară: cromozomul 1 are
probabilitatea de 20 % (9 / 45) de a fi selectat;

13
Fig.4. Selecţia pe principul ruletei.

- pe baza rangului – probabilitatea de a fi ales este o funcţie liniară de


locul ocupat de individ (cromozom) în cadrul populaţiei.
- elitistă – tehnică euristică destinată reţinerii întotdeauna a celui mai bun
cromozom al populaţiei.
2. Încrucişarea creează noi membri (urmaşi, succesori) ai populaţiei prin
schimbul unor gene provenind din doi cromozomi-părinte (două şiruri-părinte)
c1 şi c2 selectate /selectaţi în prealabil pe baza funcţiei lor de evaluare.
Variante de implementare: utilizând un singur punct de încrucişare sau
mai multe. Punctele de încrucişare sunt alese aleator.
Exemple de aplicare a operatorului de încrucişare, în care poziţia bitului
(genei) – dinspre stânga spre dreapta:
Încrucişarea cu un singur punct de încrucişare.
Fie aş2 punctul de încrucişare (după ce-l de-al doilea bit). Au fost
selectaţi cromozomii:
c1: 1 1 | 0 0 0 1 0 1 0 1, c2: 0 0 | 0 0 1 0 0 0 1 0.
Prin aplicarea operatorului de încrucişare a rezultat succesorii:
u1: 1 1 | 0 0 1 0 0 0 1 0, u2: 0 0 | 0 0 0 1 0 1 0 1.
Încrucişarea cu două puncte de încrucişare.
Punctele de încrucişare sunt a ş 2 şi a ş 7 (între ce-a de-a doua şi cea de-a
şaptea genă). Au fost selectaţi aceiaşi cromozomi:
c1: 1 1 | 0 0 0 1 0 1 | 0 1, c2: 0 0 | 0 0 1 0 0 0 | 1 0.
Aplicarea operatorului de încrucişare conduce la cromozomii din noua
generaţie:
u1: 1 1 | 0 0 1 0 0 0 | 0 1, u2: 0 0 | 0 0 0 1 0 1 | 1 0.
Fiecărui cromozom îi corespunde o anumită probabilitate de încrucişare,
de regulă în domeniul ă0.6, 0.95Î.
3. Inversiunea alege două puncte din cromozom şi inversează ordinea
genelor situate între aceste puncte, numite puncte de inversiune şi alese aleator.
Noul cromozom este obţinut concatenând genele reordonate.
Exemplu: pornind de la cromozomul:

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

Pentru rezolvarea problemei de optimizare a debitului de gaze injectate la


sondele În gaz-lift cu ajutorul algoritmilor genetici s-a plecat de la datele
referitoare la curbele de comportare ale sondelor(fig. 5). Aceste date se pot
obţine În urma aplicării analizei nodale sau pot fi furnizate de datele de şantier.
195
sd1 points
185 sd2 points
175 sd3 ponts
165 sd6 points
sd4 points
155
sd5 points
145
135
125
Flow rate, m /D

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

Fig.5 Curbele de comportare ale sondelor În gaz-lift continuu.

Pentru a putea fi introduse În algoritm a fost necesar să se aproximeze


(modeleze) aceste curbe de comportare ale sondelor ăn gaz-lift. Metodele de
aproximare folosite au fost: interpolare liniară, polinomială de gradul doi.
Debitul total maxim produs de cele 6 sonde este:
6
QT   Q L max i  663,12 m3/D.
i 1

iar debitul de gaze corespunzător este:


6
Q g   Qinjmi  4216100 Sm3/D.
i 1

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

Total 129,997 579,0149 129,997 583,384

6. Comparaţie între analiza nodală şi optimizarea producţiei

În literatura curentă expresia “analiză nodală“ şi “optimizarea producţiei”


sunt virtual sinonime. Aceasta duce la o confuzie Între analiza nodală şi
optimizarea neliniară. Distincţia Între cele două concepte este următoarea:
 Analiza nodală găseşte valoarea zero a unei funcţii care conduce la
determinarea debitului stabilizat al sondei;
 Optimizarea neliniară găseşte valoarea zero a unui gradient al unei
funcţii care permite determinarea unei valori maxime sau minime a
funcţiei respective.
Cu alte cuvinte analiza nodală găseşte o soluţie prin localizarea zero a
funcţiei, iar optimizarea neliniară găseşte o soluţie optimă prin localizarea zero a
gradientului unei funcţii obiectiv.
Prin urmare, analiza nodală nu este o fromă de optimizare, ci este o
procedură de găsire a debitului stabilizat care să satisfacă funcţia de comportare
a sondei. Confuzia analizei nodale cu optimizarea vine de la utilizarea acesteia
de manieră exhaustivă pentru a optimiza o singură variabilă(de exemplu
diametrul tubingului). Prin menţinerea celorlalţi parametrii constanţi şi
considerarea variaţiei unui singur parametru se poate determina debitul maxim
stabilizat.
Pentru efectuarea unui studiu de optimizare este necesar mai intâi să se
construiască un model de sondă pe care să se determine comportarea sondei, iar
apoi să se optimizeze comportarea sondei cu ajutorul tehnicilor de optimizare
neliniară.

17

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