Sunteți pe pagina 1din 316

Universitatea BABEŞ-BOLYAI

Departamentul de Inginerie Chimică


Cluj-Napoca, ROMANIA

Optimizarea Proceselor
Chimice

Cluj-Napoca, ROMANIA
sem.8, 2008-2009
Optimizarea Proceselor Chimice
Cuprins

Introducere 9
Noţiuni generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Etapele optimizării . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Alegerea criteriului de optimizare . . . . . . . . . . . . . . . . . . . . . . . 13
Stabilirea restricţiilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Aplicaţii ı̂n industria chimică . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Modelarea matematică a proceselor 16


Modele matematice analitice . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Modelul matematic al unui reactor prevăzut cu agitator . . . . . . . . 20
Modele matematice statistice . . . . . . . . . . . . . . . . . . . . . . . . . . 21
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 3/316
Optimizarea Proceselor Chimice
Analiza de regresie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Obţinerea datelor experimentale . . . . . . . . . . . . . . . . . . . . . . 24
Testarea datelor experimentale . . . . . . . . . . . . . . . . . . . . . . . 27
Alegerea formei modelului . . . . . . . . . . . . . . . . . . . . . . . . . 28
Calcularea coeficienţilor modelului . . . . . . . . . . . . . . . . . . . . 31
Testarea modelului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Transferul termic ı̂ntr-un schimbător de căldură . . . . . . . . . . . . . 37

Metode de optimizare 38
Metode analitice de optimizare . . . . . . . . . . . . . . . . . . . . . . . . . 43
Funcţii obiectiv fără restricţii . . . . . . . . . . . . . . . . . . . . . . . 45
Funcţii obiectiv cu restricţii de tip egalitate . . . . . . . . . . . . . 59
Funcţii obiectiv cu restricţii de tip inegalitate . . . . . . . . . . . . 70
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 4/316
Optimizarea Proceselor Chimice
Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Dimensionarea unui vas de stocare . . . . . . . . . . . . . . . . . . . . 75
Grosimea optimă a izolaţiei unei conducte . . . . . . . . . . . . . . . . 76
Metode numerice unidimensionale de optimizare . . . . . . . . . . . . 84
Caracteristici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Algoritm general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Funcţii unimodale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Reducerea intervalului de căutare . . . . . . . . . . . . . . . . . . . . . 88
Metoda Bolzano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Metoda perechilor secvenţiale . . . . . . . . . . . . . . . . . . . . . . 93
Metoda seriei lui Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . 97
Metoda secţiunii de aur . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 5/316
Optimizarea Proceselor Chimice
Temperatura optimă de reacţie . . . . . . . . . . . . . . . . . . . . . . . 111
Debitul optim de alimentare al unui reactor continuu . . . . . . . . . . 119
Metode numerice multidimensionale de optimizare . . . . . . . . . . 130
Caracteristici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Algoritm general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Criteriile lui Himmelblau . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Metode de gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Metoda gradientului cu pas constant . . . . . . . . . . . . . . . . . . . 144
Metoda gradientului cu pas optim . . . . . . . . . . . . . . . . . . . . . 148
Metoda Pattern Search . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Metoda Rosenbrock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Metoda poliedrului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Metoda poliedrului extensibil . . . . . . . . . . . . . . . . . . . . . . 180
Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 6/316
Optimizarea Proceselor Chimice
Compoziţia la echilibru a unui amestec gazos . . . . . . . . . . . . . . 185
Metode de programare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Programarea liniară . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Determinarea căilor optime de aprovizionare . . . . . . . . . . . . . . 234
Planul optim de producţie . . . . . . . . . . . . . . . . . . . . . . . . . 238
Programarea dinamică . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Optimizarea timpului de staţionare . . . . . . . . . . . . . . . . . . . . 279
Algoritmi genetici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Exemplu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Metode experimentale de optimizare . . . . . . . . . . . . . . . . . . . . 309
EVOP - Operarea Evolutivă . . . . . . . . . . . . . . . . . . . . . . . . 310
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 7/316
Optimizarea Proceselor Chimice
Bibliografie 316

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 8/316
Introducere
Optimizarea Proceselor Chimice: Introducere

A optimiza:
a identifica ı̂ntr-o situaţie de decizie (problemă)
aceea decizie (soluţie) care dintr-un anumit punct
de vedere dinainte stabilit (criteriu de optimizare),
este cea mai bună decizie (soluţie) dintre toate de-
ciziile (soluţiile) posibile.

Problemele de optimizare pot fi definite ca probleme de


determinare a celei mai mici sau a celei mai mari valori
ale unei funcţii de una sau mai multe variabile.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 10/316
Optimizarea Proceselor Chimice: Noţiuni generale

Noţiuni specifice:
• criteriu de optimizare
• variabilă de decizie
• funcţie obiectiv (funcţie scop)
• soluţie optimă

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 11/316
Optimizarea Proceselor Chimice: Etapele optimizării

Alegerea criteriului Stabilirea Alegerea varia- Obţinerea modelului


de optimizare restricţiilor bilelor de decizie matematic

Testarea modelului

Stabilirea funcţiei
obiectiv

Selectarea metodei
de optimizare

Calcularea
soluţiei optime
Operaţii efectuate cu
ajutorul calculatorului
Aplicarea soluţiei
optime

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 12/316
Optimizarea Proceselor Chimice: Alegerea criteriului de optimizare

Criterii de optimizare de natură economică:


• beneficiul
• durata de recuperare a investiţiei
• investiţia totală
• costuri de producţie

Criterii de optimizare de natură tehnică:


• volumul reactorului
• conversia reactantului
• masa catalizatorului
• concentraţia produsului

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 13/316
Optimizarea Proceselor Chimice: Stabilirea restricţiilor

Restricţii de natură fizică:


• variabile non-negative: xi >0
De exemplu: lungimi, grosimi, concentraţii sunt exprimate prin valori non-negative.

Restricţii de natură tehnică ori tehnologică:


• variabile ı̂ntre anumite limite: a 6 xi 6 b
De exemplu: temperatura de operare a unui reactor, lungimea ţevilor unui
schimbător de căldură.

• expresii de forma: g j ( x1 , x2 , . . . x n ) = 0
ori
gk ( x1 , x2 , . . . x n ) 6 0
De exemplu: natura procesului ori chiar cerinţele impuse procesului pot lua
astfel de forme.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 14/316
Optimizarea Proceselor Chimice: Aplicaţii ı̂n industria chimică
Proiectare
• alegerea soluţiei tehnologice optime
• dimensionarea optimă a utilajelor şi a fluxurilor

Exploatare
• determinarea valorilor optime ale parametrilor de lucru
• aprovizionarea/valorificarea optimă a materiilor
prime/produşilor

Conducere
• alegerea structurii optime a sistemului de conducere
• identificarea valorilor optime ale regulatoarelor

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 15/316
Modelarea matematică
a proceselor
Optimizarea Proceselor Chimice: Modelare matematică

Modele matematice
Rol: Permit identificarea legăturilor existente ı̂ntre variabilele
procesului.
Formă: Ecuaţii ori sisteme de ecuaţii matematice.
Tipuri: Liniare şi Neliniare
Staţionare şi Dinamice
Analitice şi Statistice
Utilizare: Proiectare, Exploatare, Optimizare, Conducere procese şi
instalaţii.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 17/316
Optimizarea Proceselor Chimice: Modele matematice analitice
Bazat pe:
I ecuaţii de conservare:
• masa totală/pe componente
• energie
• moment
I ecuaţii ale proceselor chimice şi fizice ce au loc ı̂n sistem:
• cinetice
• termodinamice
• legi ale proceselor fizice: - Fick (transfer de masă)
- Fourier (transfer termic)
- Stokes (sedimentare)
- Raoult (echilibre de fază), . . .
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 18/316
Optimizarea Proceselor Chimice: Modele matematice analitice

Avantaje
I flexibilitate
I domeniul de valabilitate extins

Dezavantaje
I necesită o bună cunoaştere a fenomenelor şi proceselor
I personal cu pregătire specială
I validare cu date experimentale
I rezultă modele complexe greu de utilizat

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 19/316
Exemple: Modelul matematic al unui reactor prevăzut cu agitator

FR Să se scrie ecuaţiile modelului matematic al


c A,0 , c B,0 unui reactor operat continuu ı̂n care are loc
reacţia:
TR
A + B −→ C
V

FR
c A , c B , cC

Figura 1. Reactor.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 20/316
Optimizarea Proceselor Chimice: Modele matematice statistice

Bazat pe:
I date experimentale
I instrumente matematice simple

xn
independente

ym

dependente
..
Variabile

Variabile
. Sistem ..
.
x2 modelat y1
x1

y j = f j ( x1 , x2 , . . . , xn ) pentru j = 1, m

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 21/316
Optimizarea Proceselor Chimice: Modele matematice statistice

Avantaje
I simple din punct de vedere matematic
I nu necesită cunoştinţe despre procese şi fenomene
I nu necesită cunoştinţe speciale

Dezavantaje
I necesită un set extins de date experimentale
I nu pot fi extrapolate pe ale sisteme
I sunt valabile doar pe domeniul datelor experimentale
utilizate

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 22/316
Optimizarea Proceselor Chimice: Analiza de regresie

?
Etapele Inventarierea S
I
variabilelor
analizei de ?
S
T
regresie - Obţinerea datelor E
experimentale M
? C
nu Testarea datelor
corespunde experimentale A
L
?
OK
C
- Alegerea formei U
modelului L
?
Calcularea coeficienţilor
modelului
?
 nu Testarea adecvanţei nu
corespunde
modelului corespunde

?
OK

nu Testarea semnificaţiei
coeficienţilor

corespunde

?
OK


MODEL MATEMATIC

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 23/316
Optimizarea Proceselor Chimice: Analiza de regresie

Obţinerea datelor experimentale


I experimente aleatoare
prin utilizarea datelor rezultate din urmărirea
curentă a procesului
I experimente programate
prin identificarea, pe baza unui anumit algo-
ritm, a acelor combinaţii de valori ale variabi-
lelor independente prin care se pot obţine maxi-
mum de informaţii cu un număr minim de ex-
perimente

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 24/316
Optimizarea Proceselor Chimice: Analiza de regresie
Experimentul factorial
Numărul de experimente: m = zn
Experimentul factorial la două niveluri, n = 2.
Caracteristici:
• acoperirea ı̂ntregului domeniu de variaţie al variabilelor independente prin
alegerea pentru fiecare variabilă a două niveluri: inferior, xi,min şi superior,
xi,max
• codificarea variabilelor prin valorile −1, 0 şi 1 ı̂n urma centrării şi normării
fiecărei variabile conform expresiilor:
xi,min + xi,max
xi0 = pentru calcularea nivelului de bază al variabilei xi
2
xi,max − xi,min
∆xi = unitatea intervalului variabilei xi
2
xi − xi0
Xi = valorile codificate ale variabilei xi . Xi ∈ {−1; 0; 1}
∆xi
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 25/316
Optimizarea Proceselor Chimice: Experiment factorial

Experiment factorial la două niveluri: m = 2n


• pentru n = 2 avem m = 22 = 4 experimente
X2
(−1,+1) (+1,+1)
b b

Numărul Factori Variabila


experimentului X1 X2 dependentă

1 +1 +1 Y1
0 X1 2 +1 −1 Y2
3 −1 +1 Y3

b b
4 −1 −1 Y4
(−1,−1) (+1,−1)

Figura 2. Experiment factorial complet la 2 niveluri.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 26/316
Optimizarea Proceselor Chimice: Analiza de regresie

Testarea datelor experimentale


Sursă erori:
• imprecizia măsurătorilor efectuate;
• apariţia unor fluctuaţii ale parametrilor consideraţi constanţi;
• influenţa unor factori care nu au fost consideraţi;
• subiectivitatea observatorului.

Modalităţi de testare:
• testul Cochran pentru testarea omogenităţii dispersiilor:
2
σmax
Gcalculat = m 6 Gtabelat (m, ν)
2
∑ i σ
unde: i =1
ki ki
∑ (Yi,j − Yi )2 ∑ Yi,j
j =1 j =1
σi2 = - dispersia, iar Yi = - media unei populaţii
ki − 1 ki
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 27/316
Optimizarea Proceselor Chimice: Analiza de regresie

Alegerea formei modelului


• funcţie polinomială
O expresie de forma:
y ( x ) = c0 + c1 x1 + c2 x2 + . . . + c i x i + . . . + c n x n +
c11 x12 + c12 x1 x2 + . . . + c1k x1 xk + . . . + c1n x1 xn +
c21 x1 x2 + c22 x22 + . . . + c2k x2 xk + . . . + c2n x2 xn + . . .

care poate fi obţinută şi prin dezvoltare ı̂n serie Taylor a unei funcţii y = f ( x ):
n  
δy
y ( x ) = y ( x0 ) + ∑ ( xi − xi,0 ) +
i =1
δx i x = x0

n n  2 
1 δ y
+ ∑∑ ( x − xi,0 )( xk − xk,0 ) + . . .
2 i=1 k=1 δxi δxk x= x0 i

Obs.: Prin gruparea termenilor se obţine o formă polinomială.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 28/316
Optimizarea Proceselor Chimice: Analiza de regresie

• analiza dimensională
Un proces descris printr-o relaţie de forma:
f ( x1 , x2 , . . . , x i , . . . , x n ) = 0

poate fi exprimată prin expresia (teorema π - Buckingham):


ϕ(π1 , π2 , . . . , πk , . . . , πm ) = 0 cu m < n

unde: m
α
∏ πk k = c
k =1
Se poate obţine o dependenţă de tipul:
n −1
c
y = c0 ∏ xi i
i =1

care poate fi adusă la o formă liniară prin logaritmare:


n −1
log y = log c0 + ∑ ci log xi
i =1

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 29/316
Optimizarea Proceselor Chimice: Analiza de regresie

• reprezentare grafică - aplicabilă ı̂n cazul funcţiilor de o singură variabilă


• utilizarea unor expresii ale unor unor legi ale fenomenului/procesului
modelat

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 30/316
Optimizarea Proceselor Chimice: Analiza de regresie

Calcularea coeficienţilor modelului


Metoda celor mai mici pătrate
Bazat pe minimizarea abaterilor date-model utilizând expresia:
m
S= ∑ (Yj − y j )2
j =1

n
Pentru un model matematic de forma: y = c0 + c1 x1 + . . . + cn xn = ∑ ci xi obţinem:
i =0
!2
m 2 m n
S= ∑ Yj − y j = ∑ Yj − ∑ ci xij
j =1 j =1 i =0

Identificarea coeficienţilor ci (i = 0, . . . , n) poate avea loc prin minimizarea lui S:


!2
m n
min S =
c
∑ Yj − ∑ ci xij
j =1 i =0

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 31/316
Optimizarea Proceselor Chimice: Analiza de regresie

Soluţia problemei este obţinută prin anularea derivatelor parţiale ale lui S funcţie de ci ,
obţinându-se sistemul de ecuaţii:
 !
 m n

 ∂S

 = −2 ∑ Yj − ∑ ci xij x0i = 0

 ∂c0

 j =1 i =0

 !

 m n

 ∂S = −2
∂c1 ∑ Yj − ∑ ci xij x1i = 0
j =1 i =0



 ..

 .

 !

 m n

 ∂S

 ∂c = −2 ∑ Yj − ∑ ci xij xnj = 0

n j =1 i =0

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 32/316
Optimizarea Proceselor Chimice: Analiza de regresie

Reprezentând sistemul ı̂n forma matriceală:


 
C XT X = XTY

unde X este matricea mărimilor independente, Y este vectorul mărimii dependente iar
C este vectorul coeficienţilor având următoarele expresii:
     
x x11 · · · xn1 Y c
 01   1  0
     
 x02 x12 · · · xn2   Y2   c1 
X= .  
Y= .   C= 
.   . 
 .. ..   ..   .. 
     
x0m x1m · · · xnm Ym cn
soluţia este:   −1
T
C= X X XTY

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 33/316
Optimizarea Proceselor Chimice: Analiza de regresie

Calcularea coeficienţilor modelului


Date obţinute prin experimente factoriale complete
Coeficienţii pentru un model matematic de forma: y = c0 + c1 x1 + . . . + cn xn se obţin
prin expresia: m
∑ Xij Yj
j =1
ci = m
2
∑ ij
X
j =1

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 34/316
Optimizarea Proceselor Chimice: Analiza de regresie

Testarea modelului
Testarea adecvanţei modelului
Se utilizează testul Fisher: 2
σm
F = 2 6 Ftabelat (α, νm , νy )
σy
2 este dispersia de adecvanţă a modelului calculată cu relaţia:
unde σm
N 2
∑ Yj − y j
σm2
= i =1
N − Nc

iar σy2 este dispersia datelor experimentale care se calculează cu relaţiile:


m kj  2
∑ σj2 νj ∑ Ykj − Y j
j =1 k =1
σy2 = m σj2 = νj = k j − 1
νj
∑ νj
j =1

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 35/316
Optimizarea Proceselor Chimice: Analiza de regresie

Testarea modelului
Testarea semnificaţiei coeficienţilor
Se păstrează doar termenii ce conţin coeficienţi ce respectă condiţia:
|ci | > ∆c

unde ∆c este intervalul de ı̂ncredere al coeficienţilor dat de relaţia:


q
∆c = ±t σc2

Dispersia coeficienţilor σc2 se calculează cu relaţia:


σy2
σc2 =
N
m
iar valoarea criteriului Student se alege din tabele sub forma t(α, ν) unde ν = ∑ νi .
i =1

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 36/316
Exemple: Transferul termic ı̂ntr-un schimbător de căldură

În scopul obţinerii unui model matema- Nu


Nr.
tic al transferului termic ı̂ntr-un schim- Re
exp. 1 2 3 4
bător de căldură s-au efectuat o serie
de experimente (prezentate ı̂n tabelul 1 50 33 32 33 -
alăturat). 2 250 57 56 56 -
Procesul de transfer termic poate fi de-
3 400 67 68 - -
scris de o ecuaţie criterială de forma:
4 600 77 78 77 77
Nu = a Reb
5 800 85 86 87 -
Folosind datele experimentale disponi- 6 1000 92 91 92 -
bile, să se determine valorile coeficienţi- 7 1200 98 98 97 98
lor a şi b.
8 1400 103 102 103 103
9 1600 108 107 108 108
10 2000 118 117 117 117

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 37/316
Metode de optimizare
Optimizarea Proceselor Chimice: Metode de optimizare

Criterii de alegerea a metodei de optimizare:


• numărul de variabile de decizie;
• forma funcţiei obiectiv;
• forma şi numărul restricţiilor.

Clasificare:
• Metode analitice
• Metode numerice
• Metode de programare

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 39/316
Optimizarea Proceselor Chimice: Metode de optimizare

Metode analitice
sau clasice de optimizare ce pot fi aplicate la func¸tii
obiectiv definite, continue şi derivabile. Aceste metode
sunt greu ori imposibil de aplicat pe măsură ce va-
riabilele de decizie sunt supuse la restricţii de tip
egalitate ori inegalitate ori creşte dimensionalitatea
problemei.
Din acest motiv, metodele analitice se aplică doar
pentru rezolvarea problemelor simple de optimi-
zare cu număr mic de variabile de decizie.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 40/316
Optimizarea Proceselor Chimice: Metode de optimizare

Metode numerice
sau metode de căutare directă sunt aplicabile pen-
tru probleme de optimizare cu funcţii obiectiv şi
restricţii de forme complexe şi cu număr mare de
variabile de decizei. Metodele din această clasă se
bazează pe experimente numerice planificate prin
care se ı̂naintează pas cu pas, prin ı̂mbunătăţiri
succesive a valorii funcţiei obiectiv, spre extremul
căutat.
Aceste metode se ı̂mpart, ı̂n funcţie de numărul de
variabile de decizie, ı̂n:
• metode de eliminare şi
• metode de urcare-coborâre.
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 41/316
Optimizarea Proceselor Chimice: Metode de optimizare

Metode de programare
sunt metode ce se aplică ı̂n situaţia ı̂n care funcţia
obiectiv şi restricţiile prezintă anumite forme de re-
prezentare specifice. Principalele metode de pro-
gramare sunt: programarea liniară, programarea dina-
mică, programarea pătratică, etc. Astfel programarea
liniară se aplică ı̂n situaţia ı̂n care funcţia obiectiv şi
restricţiile sunt expresii liniare ı̂n raport cu variabi-
lele de decizie.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 42/316
Metode analitice
de optimizare
Optimizarea Proceselor Chimice: Metode analitice

Caracteristici:
• soluţia optimă este identificată cu precizie;
• pot fi aplicate şi la problemele cu restricţii;
• funcţia obiectiv trebuie să fie continuă şi de mai multe ori
derivabilă, cu cel puţin o parte dintre derivate continue.

Datorită acestor caracteristici, metodele analitice clasice de


optimizare sunt aplicabile doar la problemele cu un număr redus
de variabile de decizie ı̂n care expresiile funcţiei obiectiv şi ale
restricţiilor sunt matematic simple.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 44/316
Metode analitice: Funcţii obiectiv fără restricţii

Funcţii obiectiv de o variabilă de decizie


Fie f ( x ) o funcţie obiectiv unidimensională continuă şi de mai multe ori derivabilă pe
domeniul de căutare A 6 x 6 B. Această funcţie are un minim ı̂n punctul x = x ∗ dacă
se respectă inegalitatea:
f ( x ∗ + ∆x ) − f ( x ∗ ) > 0 (1)
pentru orice −e 6 ∆x 6 e. În acelaşi mod, funcţia f ( x ) are un maxim ı̂n punctul x = x ∗
dacă se respectă inegalitatea:

f ( x ∗ + ∆x ) − f ( x ∗ ) 6 0 (2)

pentru orice ∆x din intervalul [−e, e].

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 45/316
Metode analitice: Funcţii obiectiv fără restricţii

Prin dezvoltarea funcţiei f ( x ) ı̂n serie Taylor ı̂n jurul presupusului punct de extrem x ∗
se poate determina condiţia necesară pentru ca funcţia să prezinte un extrem:

∗ ∗

∂f ∆x ∂ f
2 2
f ( x + ∆x ) − f ( x ) = ∆x + 2 +... (3)
∂x x= x∗ 2 ∂x x= x∗

Dacă punctul x ∗ este un extrem atunci pe baza condiţiilor prezentate ı̂n ecuaţiile (1) şi
(2) este necesar ca termenul de ordinul ı̂ntâi din dezvoltarea ı̂n serie Taylor, ecuaţia (3),
să nu ı̂şi schimbe semnul indiferent de valoarea curentă a termenului ∆x. Acest lucru
este posibil dacă:

∂ f
=0 (4)
∂x x= x∗
de unde rezultă şi condiţia necesară pentru ca un punct oarecare x să fie un punct de
extrem, respectiv ca acel punct să fie o rădăcină a derivata de ordinul ı̂ntâi a funcţiei
obiectiv.
Punctele pentru care derivata de ordin ı̂ntâi este nulă (optime locale şi puncte de infle-
xiune) poartă denumirea de puncte staţionare (fig. 3).

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 46/316
Metode analitice: Funcţii obiectiv fără restricţii

f (x) f (x) f (x)

f (x∗ ) b

b
f ( a)

f (x∗ ) b

x∗ x x∗ x a x
∆x < 0 ∆x > 0 ∆x < 0 ∆x > 0 ∆x < 0 ∆x > 0

a b c
Figura 3. Tipuri de puncte staţionare:
a - punct de maxim; b - punct de minim; c - punct de inflexiune.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 47/316
Metode analitice: Funcţii obiectiv fără restricţii

Presupunând că suma termenilor de ordin mai mare decât doi este neglijabilă ı̂n raport
cu termenul de ordinu doi, condiţia suficientă pentru ca x ∗ să fie un punct de extrem
este:

∂ f
2
• pentru minim: 2 > 0;
∂x ∗ x=x


∂2 f
• pentru maxim: < 0;
∂x
2
x= x∗
În situaţia ı̂n care derivata de ordinul doi este nulă ı̂n punctul x ∗ atunci se examinează
derivatele de ordin superior.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 48/316
Metode analitice: Funcţii obiectiv fără restricţii

Generalizare
Dacă prima derivată nenulă este de ordin par, punctul
staţionar considerat va fi minim local dacă valoarea
derivatei respective ı̂n acel punct este pozitivă şi maxim
local dacă este negativă; dacă prima derivată nenulă este
de ordin impar, punctul staţionar respectiv este un punct
de inflexiune.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 49/316
Metode analitice: Funcţii obiectiv fără restricţii

Funcţii obiectiv de două variabile de decizie


Fie o funcţie obiectiv f ( x1 , x2 ) de două variabile independente, continuă şi multiplu
derivabilă. Dezvoltarea ı̂n serie Taylor a acestei funcţii ı̂n jurul presupusului punct de
extrem ( x1∗ , x2∗ ) este:

∗ ∗ ∗ ∗

∂f ∂ f
f ( x1 + ∆x1 , x2 + ∆x2 ) − f ( x1 , x2 ) = ∆x1 + ∆x2 +
∂x1 x∗ ,x∗ ∂x2 x∗ ,x∗
1 2 1 2
(5)
∆x12 ∂2 f ∂2 f ∆x 2
∂ 2 f
2
+ + ∆x1 ∆x2 + +...
2 2
∂x1 ∂x1 ∂x2 x∗ ,x∗ 2 ∂x22
x1∗ ,x2∗ 1 2 x1∗ ,x2∗

În această relaţie s-a considerat că intervalele ∆x1 , ∆x2 sunt suficient de mici ı̂ncât ter-
menii de ordin mai mare decât doi pot fi neglijabiţi.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 50/316
Metode analitice: Funcţii obiectiv fără restricţii

Condiţia necesară pentru ca un punct x1∗ , x2∗ să fie un punct staţionar este ca respectivul
punct să fie o soluţie a sistemului:

 ∂f

 ∂x1 = 0

(6)

 ∂f

 =0
∂x2
Pentru ca punctul staţionar astfel identificat să fie un maxim, este suficient, conform
celor expuse anterior, ca:

2
∆x1 ∂2 f ∂2 f ∆x2 ∂2 f
2
2 + ∆x1 ∆x2 + 2 <0 (7)
2 ∂x1 ∗ ∗ ∂x1 ∂x2 x∗ ,x∗ 2 ∂x2 ∗ ∗
x1 ,x2 1 2 x1 ,x2

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 51/316
Metode analitice: Funcţii obiectiv fără restricţii

Pentru simplificarea scrierii se notează:



2
∂ f ∂ f
2 ∂2 f
2 = A, = B, 2 =C
∂x1 ∗
∂x1 ∂x2 x= x∗ ∂x2
x=x x= x∗

Astfel, relaţia (7) devine:

∆x12 A + 2∆x1 ∆x2 B + ∆x22 C < 0 (8)

Dacă se dă factor comun termenul A, se obţine:


 
B C
A ∆x12 + 2∆x1 ∆x2 + ∆x22 <0
A A

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 52/316
Metode analitice: Funcţii obiectiv fără restricţii

B 2
În interiorul parantezei prin adunarea şi scăderea termenului ∆x22 2 se obţine un pătrat
A
perfect:
 2 2 
2 B 2B 2C 2B
A ∆x1 + 2∆x1 ∆x2 + ∆x2 2 + ∆x2 − ∆x2 2 < 0
A A A A
respectiv:
" 2 #
B ∆x22  2

A ∆x1 + ∆x2 + 2 AC − B <0
A A
Pentru ca termenii din paranteza dreaptă să-şi păstreze semnul oricare ar fi ∆x1 , ∆x2
simultan nenule este necesar ca:
AC − B2 > 0 (9)
ceilalţi termeni fiind pozitivi. Pentru un maxim, condiţia (9) este completată de condiţia:

A<0 (10)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 53/316
Metode analitice: Funcţii obiectiv fără restricţii

În mod similar, pentru un minim avem:



2
∆x1 ∂2 f ∂2 f ∆x2 ∂2 f
2
+ ∆x1 ∆x2 + >0 (11)
2 ∂x12 ∗ ∗ ∂x1 ∂x2 x∗ ,x∗ 2 ∂x22
x1 ,x2 1 2 x1∗ ,x2∗

astfel ı̂ncât, efectuând aceleaşi notaţii, rezultă:


" 2 #
B ∆x22  
A ∆x1 + ∆x2 + 2 A C − B2 >0
A A

Condiţia suficientă pentru ca punctul x1∗ , x2∗ să fie un minim este:

AC − B2 > 0 şi A>0 (12)

Relaţiile (9) şi (10) respectiv (12) sunt cunoscute sub numele de criteriile lui Lagrange.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 54/316
Metode analitice: Funcţii obiectiv fără restricţii

Dacă se scrie matricea hessiană al funcţiei f ( x1 , x2 ):


 
2
∂ f 2
∂ f
 ∂2 x ∂x1 ∂x2 
 1 
H=  

 ∂2 f ∂ f 
2

∂x1 ∂x2 ∂2 x2 x∗ ,x∗


1 2

se observă corespondenţa expresiilor (9) şi (10) respectiv (12) cu determinanţii de ordinul
1 şi 2 ai acestei matrice. Astfel dacă se notează cu Di determinantul de ordinul i, o
formulare echivalentă a criteriilor lui Lagrange va fi:
• pentru un minim: D1 > 0 şi D2 > 0
• pentru un maxim: D1 < 0 şi D2 > 0

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 55/316
Metode analitice: Funcţii obiectiv fără restricţii

Funcţii obiectiv de n variabile de decizie


Pentru cazul unei funcţii obiectiv f ( x1 , x2 , . . . , xn ) de n variabile de decizie se proce-
dează ı̂n acelaşi mod. Dezvoltarea ı̂n serie Taylor şi metoda completării pătratelor con-
duce la următoarele condiţii:
• condiţia necesară pentru ca un punct x1∗ , x1∗ , . . . , xn∗ să fie un punct staţionar:


 ∂f

 =0

 ∂x1





 ∂f

 =0
∂x2 (13)



 ..



 .



 ∂f
 =0
∂xn

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 56/316
Metode analitice: Funcţii obiectiv fără restricţii

• un punct staţionar este un minim local dacă toţi determinanţii matricei he-
ssiene sunt pozitivi:

Di > 0 pentru i = 1, 2, . . . n (14)


• un punct staţionar este un maxim local dacă determinanţii de ordin impar ai
matricei hessiene sunt negativi, iar cei de ordin par sunt pozitivi:

Di < 0 pentru i = 1, 3, 5, . . .
(15)
Di > 0 pentru i = 2, 4, 6, . . .
• dacă nu sunt ı̂ndeplinite nici condiţiile (14) şi nici (15), punctul staţionar stu-
diat este un punct de inflexiune.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 57/316
Metode analitice: Exemplu

Să se rezolve următoarea problemă de optimizare:

min f ob = 4x12 + 2x22 + 4x1 x2 + 2x2 + 1 (16)


x

Rezolvare
Pentru identificarea punctelor staţionare se anulează derivatele de ordinul ı̂ntâi:

 ∂ f ob

 ∂x1 = 8x1 + 4x2 = 0

(17)

 ∂ f ob

 = 4x2 + 4x1 + 2 = 0
∂x2
Determinarea tipului de extrem se face prin analizarea valorilor derivatelor de ordinul
doi ı̂n punctele staţionare identificate astfel.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 58/316
Metode analitice: Funcţii obiectiv cu restricţii de tip egalitate

Pentru un sistem cu n variabile de decizie ( x1 , x2 , . . . , xn ) supus la l restricţii de tip


egalitate, formularea generală a problemei de optimizare este:

optim f ( x ) , x ∈ En (18)
x
supus la:
gj (x) = 0 j = 1, . . . l (19)
unde domeniul de căutare este spaţiul euclidian n-dimensional ( En ), iar f ( x ) şi g j ( x )
sunt funcţii de orice formă.

Rezolvare:
I Metoda substituţiei
I Metoda multiplicatorilor lui Lagrange

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 59/316
Metode analitice: Funcţii obiectiv cu restricţii de tip egalitate

Metoda substituţiei
Fie funcţia obiectiv:
y = f ob ( x1 , x2 ) (20)
cu restricţia:
g ( x1 , x2 ) = 0 (21)
Dacă din restricţia (21) explicităm una din variabile ı̂n funcţie de cealaltă, obţinem:

x2 = h ( x1 ) (22)

Înlocuind variabila de decizie x2 din funcţia obiectiv (20) cu expresia lui din (22),
obţinem:
y = f ob ( x1 , h ( x1 )) (23)
Problema obţinută, relaţia (23), este o problemă echivalentă cu cea iniţială, relaţiile (20)
şi (21), ı̂n sensul că prezintă aceeaşi soluţie.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 60/316
Metode analitice: Funcţii obiectiv cu restricţii de tip egalitate

În situaţia ı̂n care avem o funcţie obiectiv de n variabile de decizie:

y = f ob ( x1 , x2 , . . . , xn ) (24)

supusă la sistemul de restricţii:

gi ( x1 , x2 , . . . , xn ) = 0, i = 1, 2, . . . , m < n (25)

se exprimă din cele m restricţii, m variabile de decizie din cele n ı̂n funcţie de cele n − m
rămase, conform expresiilor:
x 1 = h 1 ( x m +1 , x m +2 , . . . , x n )
x 2 = h 2 ( x m +1 , x m +2 , . . . , x n )
.. (26)
.
x m = h m ( x m +1 , x m +2 , . . . , x n )

Prin substituţie rezultă funcţia obiectiv echivalentă nesupusă la restricţii de forma:

y = f ob ( xm+1 , xm+2 , . . . , xn ) (27)


UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 61/316
Metode analitice: Exemplu

Să se rezolve următoarea problemă de optimizare:

min f ob = 4x12 + 2x22 + 4x1 x2 + 2x2 + 1 (28)


x
cu restricţia:
x1 + x2 = 0 (29)

Rezolvare
Se exprimă variabila x1 ı̂n funcţie de x2 din restricţia (29):

x1 = − x2

Înlocuim ı̂n funcţia obiectiv, relaţia (28), pe x1 cu această expresie şi obţinem:

f ob = 4 (− x2 )2 + 2x22 + 4 (− x2 ) x2 + 2x2 + 1 =
= 2x22 + 2x2 + 1

Funcţia obiectiv obţinută astfel nu este supusă la restricţii.


UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 62/316
Metode analitice: Funcţii obiectiv cu restricţii de tip egalitate

Metoda multiplicatorilor lui Lagrange


Având o funcţie obiectiv de două variabile de decizie descrisă de expresia:

y = f ob ( x1 , x2 ) (30)

şi supusă la restricţia:


g ( x1 , x2 ) = 0 (31)
soluţia poate fi un punct S de coordonate ( x1∗ , x2∗ ) din domeniul de căutare care verifică
ecuaţia de restricţie, adică numai puncte de pe curba g( x1 , x2 ) = 0.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 63/316
Metode analitice: Funcţii obiectiv cu restricţii de tip egalitate

1 x2 )
x2

g( x ,
, x 2) f ( x1∗ , x2∗ )
f (x 1
x2∗ y= b

x1∗ x1
Figura 4. Poziţia punctului de extrem conform expresiilor (30) şi (31).
Observaţie: Funcţia obiectiv este reprezentată prin curbe de contur.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 64/316
Metode analitice: Funcţii obiectiv cu restricţii de tip egalitate

Dacă punctul S (fig. 4) este soluţia problemei de optimizare descrisă prin relaţiile (30)
şi (31), atunci curbele f ( x1 , x2 ) = f ∗ şi g( x1 , x2 ) = 0 sunt tangente ı̂n punctul S, având
aceeaşi pantă.
Această condiţie poate fi redată prin expresia:

∂y ∂y
∂x1 ∂x2
= =λ (32)
∂g ∂g
∂x1 x∗ ,x2∗ ∂x2 x1∗ ,x2∗
1

unde λ este raportul de pante şi se numeşte multiplicatorul lui Lagrange.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 65/316
Metode analitice: Funcţii obiectiv cu restricţii de tip egalitate

Din (32) rezultă:


∂y ∂g
−λ =0
∂x1 ∂x1
(33)
∂y ∂g
−λ =0
∂x2 ∂x2
Ecuaţiile (33) ı̂mpreună cu (31) pot fi interpretate drept condiţiile necesare pentru valo-
rile extreme ale unei funcţii fără restricţii denumită funcţia lui Lagrange:

L ( x1 , x2 , λ ) = y ( x1 , x2 ) − λ g ( x1 , x2 ) (34)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 66/316
Metode analitice: Funcţii obiectiv cu restricţii de tip egalitate

În situaţia unei funcţii obiectiv de n variabile de decizie şi cu m 6 n restricţii de tip
egalitate se construieşte funcţia lui Lagrange ı̂n felul următor:

L( x1 , x2 , . . . , xn , λ1 , . . . , λm ) = f ( x1 , x2 , . . . , xn )−

−λ1 g1 ( x1 , x2 , . . . , xn )−
(35)
−λ2 g2 ( x1 , x2 , . . . , xn )−
..
.
− λ m gm ( x1 , x2 , . . . , x n )

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 67/316
Metode analitice: Funcţii obiectiv cu restricţii de tip egalitate
Rezolvarea acestei probleme se face prin rezolvarea sistemului format din egalarea cu
zero a derivatelor parţiale ale funcţiei L ı̂n raport cu x1 , x2 , . . ., xn :

 ∂L

 =0

 ∂x 1





 ∂L
 =0
∂x2 (36)

 .
..





 ∂L

 =0

 ∂xn

precum şi derivatele parţiale ale funcţiei L ı̂n raport cu λ1 , . . . , λm :




 ∂L

 =0

 ∂λ 1
..
. (37)



 ∂L

 =0
∂λm
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 68/316
Metode analitice: Exemplu

Să se rezolve următoarea problemă de optimizare:

min f ob = 4x12 + 2x22 + 4x1 x2 + 2x2 + 1 (38)


x
cu restricţia:
x1 + x2 = 0 (39)

Rezolvare: Se formează funcţia obiectiv a lui Lagrange:


L( x1 , x2 , λ) = 4x12 + 2x22 + 4x1 x2 + 2x2 + 1 − λ( x1 + x2 )

Rezolvăm următorul sistem de ecuaţii:



 ∂L

 = 8x1 + 4x2 − λ = 0

 ∂x1


∂L
= 4x2 + 4x1 + 2 − λ = 0 (40)

 ∂x 2




 ∂L = x + x = 0
1 2
∂λ
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 69/316
Metode analitice: Funcţii obiectiv cu restricţii de tip inegalitate

Pentru o funcţie obiectiv cu n variabile de decizie ( x1 , x2 , . . . , xn ) supusă la m restricţii


de tip inegalitate, formularea generală a problemei de optimizare este:

optim f ( x ) , x ∈ En (41)
x
supus la:
gj (x) 6 0 j = 1, . . . m (42)
unde domeniul de căutare este spaţiul euclidian n-dimensional ( En ), iar f ( x ), şi g j ( x )
sunt funcţii de orice formă.
Soluţia problemei (optimul) se poate găsi fie ı̂n interiorul domeniului admisibil, definit
prin relaţiile (42), fie pe frontiera acestui domeniu. Pentru rezolvarea acestui tip de
probleme se prezintă două modalităţi de abordare.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 70/316
Metode analitice: Funcţii obiectiv cu restricţii de tip inegalitate

Metoda bazată pe ignorarea inegalităţilor


Abordarea identificării soluţiei are loc ı̂n felul următor:
1. se tratează funcţia obiectiv ca o funcţie fără restricţii;
2. se verifică dacă punctele staţionare găsite astfel sunt ı̂n interiorul
domeniului admis, respectiv dacă verifică sistemul de restricţii;
3. dacă acest lucru este adevărat, soluţia problemei cu restricţiile inegalitate este
identică cu soluţia problemei fără restricţii;
4. dacă acest lucru este fals, optimul căutat se poate găsi pe frontiera impusă de
restricţii. Identificarea soluţiei ı̂n acest caz are loc prin impunerea respectării
la limită a inegalităţilor ce nu sunt satisfăcute prin transformarea lor ı̂n
restricţii egalitate. În acest caz rezolvarea problemei se reia de la primul
punct al algoritmului, incluzând ı̂n calcul şi restricţiile egalitate obţinute
astfel.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 71/316
Metode analitice: Exemplu

Să se rezolve următoarea problemă de optimizare:

min f ob = 4x12 + 2x22 + 4x1 x2 + 2x2 + 1 (43)


x
supusă la restricţiile:
x1 + x2 = 0
(44)
x1 + x2 − x1 x2 > 1,5

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 72/316
Metode analitice: Funcţii obiectiv cu restricţii de tip inegalitate

Metoda bazată pe transformarea inegalităţilor


În acest caz ı̂n fiecare restricţie de tip inegalitate se introduce o variabilă fictivă, non-
negativă prin care restricţia de tip inegalitate devine una de tip egalitate. Modificările
efectuate asupra restricţiilor (42) sunt:

r j = g j ( x ) + xn2 + j = 0 j = 1, . . . m (45)

Pe acestă cale, problema este transformată dintr-o problemă de optimizare cu restricţii


de tip inegalitate, ı̂ntr-o problemă de optimizare cu restricţii de tip egalitate.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 73/316
Metode analitice: Exemplu

Să se rezolve următoarea problemă de optimizare:

min f ob = 4x12 + 2x22 + 4x1 x2 + 2x2 + 1 (46)


x
supusă la restricţiile:
x1 + x2 > 0
(47)
x1 + 9 x2 − x1 x2 > 0,5

Rezolvare: Transformăm restricţiile inegalitate ı̂n restricţii de tip egalitate prin intro-
ducerea unor variabile fictive notate cu x3 şi x4 . Sistemul de restricţii (47) devine:

− x1 − x2 + x32 = 0
(48)
− x1 − 9 x2 + x1 x2 + x42 = −0,5

Pe această cale obţinem o problemă echivalentă problemei iniţiale, ecuaţiile (46) şi (47),
ı̂n care funcţia obiectiv este expresia (46) şi restricţiile sunt expresiile (48).

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 74/316
Exemple: Dimensionarea unui vas de stocare

Să se dimensioneze un vas de stocare de formă cilindrică cu fund şi capac plan
având volumul VR = 1000 m3 .
Dimensionarea vasului se va executa ı̂n d

aşa fel ı̂ncât costul materialului utilizat


pentru confecţionarea vasului să fie mi-
nim, dar cu respectarea condiţiei de mon-
taj ca ı̂nălţimea vasului să nu depăşească
h R 6 9 m.

h
Figura 5. Vas de stocare.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 75/316
Exemple: Grosimea optimă a izolaţiei unei conducte

Să se stabilească grosimea optimă δiz ∗ a t, [ ˚C] Abur Izolaţie Aer


izolaţiei termice din polistiren a unei con-
t abur
ducte ce transportă abur saturat.
Sistemul are următoarele caracteristici:
• presiunea aburului, p abur = 5 bar;
• diametrul conductei, dc = 60 mm;
• lungimea traseului, L = 150 m;
Sistemul este ı̂n funcţiune h = 8.000 ore
pe an putând fi amortizat ı̂n 10 ani de tmed

funcţionare.
0 r
rc δiz

Figura 6. Transferul termic prin


izolaţia unei conducte.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 76/316
Exemple: Grosimea optimă a izolaţiei unei conducte

Rezolvare:
Determinarea grosimii optime a izolaţiei unei conducte reprezintă o problemă
de minimizare ce implică o funcţie obiectiv de forma:

min f ob = Ctotal = Cinvestiţie + Coperare (49)


δiz

unde termenii reprezintă cheltuieli ı̂n unităţi valorice [u.v] iar δiz reprezintă
grosimea izolaţiei, [m].

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 77/316
Exemple: Grosimea optimă a izolaţiei unei conducte

Cheltuielile de investiţie, Ctotal , sunt date de cota anuală de amortizare a valorii


izolaţiei:
Ctotal = Viz ρiz ciz r am (50)

unde: Viz este volumul izolaţiei, [m3 ];


ρiz - densitatea izolaţiei, [kg/m3 ];
ciz - costul unitar al izolaţiei (impreună cu manopera de
montare), [u.v./kg];
r am - rata anuală a amortizării izolaţiei.
Pentru izolarea unei conducte, volumul izolaţiei utilizate este dată de expresia:
h i
2 2
Viz = πL (rc + δiz ) − rc = πLδiz (δiz + 2rc ) (51)

unde: L - lungimea conductei ce se izolează, [m];


rc - raza exterioară a conductei, [m].

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 78/316
Exemple: Grosimea optimă a izolaţiei unei conducte

Cheltuielile de operare, Coperare , sunt date de valoarea pierderilor de căldură


prin izolaţie:
Coperare = Q cen h (52)

unde: Q este cantitatea de energie pierdută prin izolaţie, [W];


cen - costul energiei termice, [u.v./W];
h - numărul anual de ore de funcţionare al traseului izolat,
[h/an].

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 79/316
Exemple: Grosimea optimă a izolaţiei unei conducte

Pentru cazul izolării unei conducte pentru calculul căldurii pierdute utilizăm
relaţia transferului de căldură prin pereţi cilindrici coaxiali (fig. 6):

2πL (t − t amb )
Q= (53)
δiz 1
+
λiz riz α aer rext

unde: t este temperatura fluidului vehiculat prin conductă, [K];


t amb - temperatura ambiantă (media anuală), [K];
λiz - conductivitatea termică a izolaţiei, [W/(m·K)];
riz - raza medie logaritmică a stratului de izolaţie, [m];
α aer - coeficientul parţial de transfer termic spre mediul
ambiant, [W/(m2 ·grd)];
rext - raza exterioară a conductei izolate, [m].

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 80/316
Exemple: Grosimea optimă a izolaţiei unei conducte

Termenii riz şi rext sunt exprimate prin relaţiile:

(rc + δiz ) − rc δ
riz =   =  iz  (54)
rc + δiz δ
ln ln 1 + iz
rc rc

rext = rc + δiz (55)


Funcţia obiectiv a problemei de optimizare, prin explicitarea cheltuielilor con-
form relaţiilor (50)÷(55), devine:
2πL cen h (t − t amb )
min f ob = πL δiz ρiz ciz r am (2rc + δiz ) +   (56)
δiz 1 δiz 1
ln 1 + +
λiz rc α aer (rc + δiz )

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 81/316
Exemple: Grosimea optimă a izolaţiei unei conducte

Rezolvarea acestei probleme de optimizare este posibilă prin aplicarea metodei


analitice de anulare a derivatei funcţiei obiectiv ı̂n raport cu variabila de decizie
δiz :
∂f
= 2πL ρiz ciz r am (rc + δiz ) −
∂δiz
 
1 1
2πL cen h (t − t amb ) (rc + δiz ) − (57)
λiz αiz (rc + δiz )
−    2 =0
(r + δiz )
 c
δ 1
ln 1 + iz + 
λiz rc α aer

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 82/316
Exemple: Grosimea optimă a izolaţiei unei conducte

Aplicaţie numerică
Temperatura aburului saturat de p abur este de 158,2 ˚C. Caracteristicile materia-
lului izolator folosit sunt: λiz = 0,04 [W/(m·K)], ρiz = 30 [kg/m3 ]. Se cunoaşte
că: α aer = 10 [W/(m2 ·K)] iar t amb = 18,9 ˚C.
Costurile energiei termice şi a materialului izolator (inclusiv manopera de mon-
tare) au fost considerate ca fiind: cen = 2,5·103 [u.v./kW] şi ciz = 7,2·104 [u.v./m].
Notând cu x = rc + δiz şi ı̂nlocuind aceste valori ı̂n ecuaţia (57) obţinem:

8 1,7505 · 108 − 4,3762 · 1010 x


2,0358 · 10 x + 2
=0 (58)
[25 x ln x + 70,3353 x + 0,1]
Rezolvarea acestei ecuaţii neliniare se poate face printr-o metodă numerică.
∗ = 0,306 m.
Soluţia obţinută este x = 0,336 m ce corespunde la δiz

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 83/316
Metode numerice
unidimensionale
de optimizare
Optimizarea Proceselor Chimice: Caracteristici

În cele mai multe situaţii modelul matematic al unui proces din ingine-
ria chimică este neliniar, rezultând expresii matematice complexe pen-
tru funcţia obiectiv şi restricţii. Astfel de probleme de optimizare nu
pot fi rezolvate prin metode analitice ci necesită aplicarea unor metode
numerice.
Metodele numerice sau metodele directe de căutare a optimului sunt
caracterizate de:
I utilizarea unui plan de căutare bazat pe experimente numerice
ce au loc prin alegerea convenabilă a unor valori pentru
variabilele de decizie şi calcularea valorii funcţiei obiectiv;
I căutarea porneşte de la o soluţie iniţială aproximativă a
problemei;
I utilizarea unui algoritm ce aproximează soluţia exactă a
problemei de optimizare.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 85/316
Optimizarea Proceselor Chimice: Algoritm general

• stabilirea unui interval iniţial ce conţine punctul de extrem şi pe care


funcţia obiectiv este unimodală (prezintă un singur extrem). Acest inter-
val de căutare corespunde unei restricţii de forma:

a6x6b

unde a şi b sunt limitele intervalului, notate prin xmin = a şi xmax = b;
• reducerea intervalului iniţial prin eliminarea simultană sau succesivă a
unor subintervale, pentru care există certitudinea că nu conţin punctul
de extrem.

Observaţie: Condiţia necesară pentru aplicarea acestui algoritm este ca


funcţia obiectiv să fie unimodală pe intervalul iniţial de căutare.

Dacă pe un interval iniţial de căutare funcţia obiectiv este plurimodală (prezintă


mai multe puncte de extrem) se ı̂mparte intervalul de căutare ı̂n intervale pe
care funcţia este unimodală.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 86/316
Optimizarea Proceselor Chimice: Funcţii unimodale

f (x) f (x)

f∗ b

f∗ b

xmin x∗ xmax x xmin x∗ xmax x

a b

Figura 7. Funcţii obiectiv unimodale pe domeniul de căutare:


a - punct de maxim; b - punct de minim.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 87/316
Optimizarea Proceselor Chimice: Reducerea intervalului de căutare

f (x) f (x)
bc bc

bc bc

1 2 3 1 2 3
xmin x1 x2 xmax x xmin x1 x2 xmax x

Caz A Caz B

Figura 8. Reducerea intervalului de căutare.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 88/316
Optimizarea Proceselor Chimice: Metode de eliminare

Căutarea optimului se face prin două tipuri de metode:


a) simultane - planul de căutare stabileşte de la ı̂nceput toate
valorile variabilei de decizie ı̂n care se vor face experimentele
numerice asupra funcţiei obiectiv;
b) secvenţiale - planul de căutare este astfel ı̂ntocmit ı̂ncât
experimentele succesive se bazează pe rezultatele
experimentelor anterioare, adică valorile variabilei de decizie ı̂n
experimentul j + 1 depind de rezultatele obţinute ı̂n
experimentele anterioare j, j − 1, j − 2, . . .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 89/316
Optimizarea Proceselor Chimice: Metode de eliminare

Datorită eficienţei superioare, metodele de căutare secvenţială sunt cele mai


utilizate. Din această categorie de metode de eliminare se prezintă:
A. metode ce fac apel la valoarea derivatei funcţiei obiectiv pentru
reducerea intervalului de căutare:
I metoda Bolzano;
I metoda perechilor secvenţiale;
B. metode ce folosesc valoarea funcţiei obiectiv pentru reducerea
intervalului de căutare:
I metoda seriei lui Fibonacci;
I metoda secţiunii de aur.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 90/316
Optimizarea Proceselor Chimice: Metoda Bolzano

Pentru aplicarea metodei, avem nevoie de:


• expresia derivatei funcţiei obiectiv;
• intervalul iniţial de căutare ∆(0) = xmax − xmin pe care funcţia
obiectiv este unimodală;
• precizia dorită ı̂n identificarea extremului, e.

Observaţie: Dacă pe domeniul de căutare funcţia obiectiv este


unimodală atunci derivatele sale la limitele intervalului de căutare,
[ xmin , xmax ] vor avea semne diferite.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 91/316
Optimizarea Proceselor Chimice: Metoda Bolzano. Algoritm
1. se amplasează un punct ı̂n mijlocul intervalului curent de căutare:
( k −1) ( k −1)
xmax − xmin
x (k) = (59)
2
unde k este indicele eliminării curente.
2. se calculează valorile derivatei funcţiei obiectiv ı̂n punctele xmin , x (k) şi
xmax ;
3. se elimină acel subinterval pe care derivata nu-şi schimbă semnul;
4. testarea atingerii punctului de extrem cu precizia impusă, e se face prin
compararea mărimii intervalului rămas cu precizia. Dacă ∆(k) > e, se
trece la o nouă eliminare, k = k + 1, revenind la punctul 1 al algoritmu-
lui. Dacă se ı̂ndeplineşte condiţia:

∆(k) 6 e (60)

atunci x (k) ± e/2 reprezintă soluţia problemei de optimizare.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 92/316
Optimizarea Proceselor Chimice: Metoda perechilor secvenţiale
Această metodă derivă din metoda ı̂njumătăţirii intervalului eliminând deza-
vantajul necesităţii derivării analitice a funcţiei obiectiv.

f ob

f ob ( xi + e) b

b
f ob ( xi )

xi xi + e x

Figura 9. Estimarea derivatei unei funcţii


prin raportul diferenţelor.
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 93/316
Optimizarea Proceselor Chimice: Metoda perechilor secvenţiale

Derivata funcţiei obiectiv ı̂n punctul xi poate fi aproximată prin raportul dife-
renţelor (fig. 9):

d f ob ∆ f ob f ob ( xi + δ) − f ob ( xi ) f ob ( xi + δ) − f ob ( xi )
≈ = = (61)
dx xi ∆x ( xi + δ ) − xi δ

unde prin δ s-a notat o distanţă suficient de mică ı̂n apropierea lui xi .
Algoritmul metodei perechilor secvenţiale este identic cu algoritmul metodei
ı̂njumătăţirii intervalului cu excepţia faptului că semnul derivatei este calculat
pe baza relaţiei (61).

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 94/316
Metode de eliminare: Exemplu

Să se rezolve următoarea problemă de optimizare:

min f ob = x2 − 6x + 8
x
pe intervalul de căutare [0; 5], cu precizia e = 0,01.

Rezolvare:
Expresia analitică a derivatei funcţiei obiectiv este:
d f ob
= 2x − 6 (62)
dx

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 95/316
Metode de eliminare: Exemplu

Tabelul 1. Rezultatele obţinute


i xmin x (i ) xmax d f ob ( xmin ) d f ob ( x (i) ) d f ob ( xmax ) ∆

1 0 2,5000 5,0000 − − + 5,0000


2 2,5000 3,7500 5,0000 − + + 2,5000
3 2,5000 3,1250 3,7500 − + + 1,2500
4 2,5000 2,8125 3,1250 − − + 0,6250
5 2,8125 2,9688 3,1250 − − + 0,3125
6 2,9688 3,0469 3,1250 − + + 0,1563
7 2,9688 3,0078 3,0469 − + + 0,0781
8 2,9688 2,9883 3,0078 − − + 0,0391
9 2,9883 2,9980 3,0078 − + + 0,0195
10 2,9883 2,9932 2,9980 − + + 0,0098
Rezultatul obţinut după 10 eliminări este x ∗ = 2,9932 ± 0,0048 corespunzător f ob
∗ = −1.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 96/316
Optimizarea Proceselor Chimice: Metoda seriei lui Fibonacci

Metoda seriei lui Fibonacci a fost dezvoltată de J. Kiefer (1953) şi se bazează
pe un şir de numere naturale utilizat de Fibonaccia (1202) pentru urmărirea
ı̂nmulţirii iepurilor.
Şirul lui Fibonacci este dat de următoarea ecuaţie recurentă:

( Fi )0 = ( Fi )1 = 1
(63)
( Fi )n = ( Fi )n−1 + ( Fi )n−2 cu n>2

Expresia analitică a elementelor şirului lui Fibonacci este:


 √ ! n +1 √ ! n +1 
1 1+ 5 1− 5
( Fi )n = √  −  (64)
5 2 2

Termenii şirului lui Fibonacci, până la rangul 32, sunt date ı̂n tabelul 2.
a Matematicianul italian Leonardus filius Bonacci Pisanus - fiul lui Bonaccio Pisanul numit şi Leo-
nardo din Pisa (1180-1228).

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 97/316
Optimizarea Proceselor Chimice: Metoda seriei lui Fibonacci

Tabelul 2. Valorile şirului lui Fibonacci


n ( Fi )n n ( Fi )n n ( Fi )n

0 1 11 144 22 28.657
1 1 12 233 23 46.368
2 2 13 377 24 75.025
3 3 14 610 25 121.393
4 5 15 987 26 196.418
5 8 16 1.597 27 317.811
6 13 17 2.584 28 514.229
7 21 18 4.181 29 832.040
8 34 19 6.765 30 1.346.269
9 55 20 10.946 31 2.178.309
10 89 21 17.711 32 3.524.578

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 98/316
Optimizarea Proceselor Chimice: Metoda seriei lui Fibonacci

Cerinţe:
• expresia funcţiei obiectiv, sau sistemul de
optimizat din care prin măsurători se poate
determina sau calcula valoarea funcţiei
obiectiv,
• intervalul iniţial de căutare ∆(0) ,
• tipul de extrem căutat, maxim/minim,
• precizia dorită ı̂n identificarea extremului e.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 99/316
Optimizarea Proceselor Chimice: Metoda seriei lui Fibonacci

Algoritmul metodei seriei lui Fibonacci:


1. se calculează numărul de eliminări teoretic necesare pentru atingerea
punctului de extrem conform paşilor următori:
a) se calculează numărul ajutător NA cu relaţia:

∆ (0)
NA = (65)
e
b) se identifică ı̂n şirul lui Fibonacci rangul elementului ce are valoa-
rea egală sau imediat superioară valorii lui NA . Rangul identificat
pe această cale este n - numărul de eliminări succesive teoretic ne-
cesare.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 100/316
Optimizarea Proceselor Chimice: Metoda seriei lui Fibonacci

2. se calculează un subinterval δ cu relaţia:

( j)
( Fi )n−( j+1)
δ = ∆ ( j −1) (66)
( Fi )n−( j−1)

unde j indică numărul eliminării, iniţial j = 1, iar ∆(k) este mărimea


intervalului de căutare din pasul k calculată cu relaţia:
(k) (k)
∆(k) = xmax − xmin (67)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 101/316
Optimizarea Proceselor Chimice: Metoda seriei lui Fibonacci

3. se poziţionează două puncte ı̂n intervalul de căutare cu relaţiile (fig. 10):


( j) ( j) ( j) ( j)
x1 = xmin + δ( j) şi x2 = xmax − δ( j) (68)

δ( j)
( j)
x2
xmin b b b b
xmax
( j)
x1
δ( j)

Figura 10. Poziţionarea punctelor de căutare.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 102/316
Optimizarea Proceselor Chimice: Metoda seriei lui Fibonacci

4. se calculează pe baza expresiei funcţiei obiectiv sau prin experimente ı̂n


sistemul de optimizat, valoarea funcţiei obiectiv ı̂n cele două puncte x1
şi x2
5. se elimină intervalul sau intervalele pe care este imposibil să se afle punc-
tul de extrem, conform celor menţionate anterior
6. se testează atingerea preciziei dorite prin compararea numărului de eli-
minări efectuate cu n − 1. Dacă această condiţie nu se ı̂ndeplineşte, se
trece la o nouă eliminare, j = j + 1 ı̂n relaţiile (66), (67) şi (68).

Punctele 2, . . . 5 din algoritm se reiau până când condiţia finală se ı̂ndeplineşte,


respectiv numărul de eliminări efectuate este egal cu n − 1.
Soluţia problemei de optimizare este:
xmax + xmin xmax − xmin
x∗ = ± (69)
2 2

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 103/316
Optimizarea Proceselor Chimice: Metoda seriei lui Fibonacci

Avantajul utilizării seriei lui Fibonacci constă ı̂n faptul că ı̂ncepând de la cea de-a
doua eliminare este necesară calcularea valorii funcţiei obiectiv doar ı̂ntr-un singur
punct nou (fig. 11).

δ ( j −1)
( j −1)
x2
xmin b b b b
xmax eliminarea j − 1
( j −1)
x1
δ ( j −1)

δ( j)
( j)
x2
xmin b b b b
xmax eliminarea j
( j)
x1
δ( j)

Figura 11. Reutilizarea punctelor de căutare cu ajutorul şirului lui Fibonacci.


Observaţie: Reprezentarea grafică corespunde situaţiei ı̂n
( j −1)
care subintervalul eliminat este [ xmin , x1 ].
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 104/316
Metoda seriei lui Fibonacci: Exemplu

Să se rezolve următoarea problemă de optimizare:

min f ob = x2 − 6x + 8
x
pe intervalul de căutare [0; 5], cu precizia e = 0,01.

Rezolvare: Se parcurg următoarele etape (metoda seriei lui Fibonacci):


1. se calculează numărul de eliminări necesare, conform relaţiei (65):
(0) (0)
∆ (0) xmax − xmin 5−0
NA = = = = 500
e e 0,01
2. se identifică conform tabelului 2 elementul din şirul lui Fibonacci ce are valoarea
imediat superioară valorii NA . Acest element (( Fi )14 = 610) are rangul 14, deci
numărul de eliminări succesive necesare pentru identificarea punctului de extrem
cu precizia e =0,01 este de 13.
3. se trece la prima eliminare, j = 1:
..
.
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 105/316
Optimizarea Proceselor Chimice: Metoda secţiunii de aur

Secţiunea de aur este definită ca fiind raportul cel mai plăcut ochiului dintre
două segmente.
A M B
0| {z }| {z } 1
x 1−x
Figura 12. Calcularea secţiunii de aur.

Acest raport, (reprezentat pentru un segment AB - fig. 12) permite ı̂mpărţirea


sa cu un punct M ı̂n aşa fel ı̂ncât:

MB AM
=
AM AB
Dacă AB = 1 şi AM = x:
1−x x
=
x 1
de unde x2 + x − 1 = 0 cu soluţia pozitivă x = 0,618....
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 106/316
Optimizarea Proceselor Chimice: Metoda secţiunii de aur

Cerinţe:
• expresia funcţiei obiectiv, sau sistemul de optimizat
din care prin măsurători se poate determina sau
calcula valoarea funcţiei obiectiv,
• intervalul iniţial de căutare ∆(0) ,
• tipul de extrem căutat, maxim/minim
• precizia dorită ı̂n identificarea extremului e.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 107/316
Optimizarea Proceselor Chimice: Metoda secţiunii de aur

Algoritmul metodei secţiunii de aur:


1. se calculează un subinterval δ cu relaţia:

δ ( j ) = (1 − s ) ∆ ( j −1) (70)

unde s este numărul ce caracterizează secţiunea de aur (s = 0,618...), j


indică numărul eliminării, iniţial j = 1, iar ∆(k) este mărimea intervalului
de căutare din pasul k calculată cu relaţia:
(k) (k)
∆(k) = xmax − xmin (71)

2. se poziţionează două puncte ı̂n intervalul de căutare cu relaţiile:


( j) ( j) ( j) ( j)
x1 = xmin + δ( j) şi x2 = xmax − δ( j) (72)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 108/316
Optimizarea Proceselor Chimice: Metoda secţiunii de aur

3. se calculează pe baza expresiei funcţiei obiectiv sau prin experimente ı̂n


sistemul de optimizat, valoarea funcţiei obiectiv ı̂n cele două puncte x1
şi x2
4. se elimină intervalul sau intervalele pe care este imposibil să se afle punc-
tul de extrem, conform celor menţionate anterior
5. se testează atingerea preciziei dorite prin compararea intervalului de
( j) ( j)
căutare rămas, ∆( j) = xmax − xmin cu precizia dorită e. Dacă ∆( j) > e
se ia o nouă eliminare, j = j + 1 ı̂n relaţiile (70), (71) şi (72).

Punctele 1, . . . 5 din algoritm se reiau până când condiţia finală se ı̂ndeplineşte,


respectiv ∆( j) 6 e.
Soluţia problemei de optimizare este:

∗ xmax + xmin xmax − xmin


x = ± (73)
2 2

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 109/316
Metoda secţiunii de aur: Exemplu

Să se rezolve următoarea problemă de optimizare:

min f ob = x2 − 6x + 8
x
pe intervalul de căutare [0; 5], cu precizia e = 0,01.

Rezolvare: Se parcurg următoarele etape (metoda secţiunii de aur):


1. se calculează valoarea subintervalului δ(1) conform relaţiei (70):

δ(1) = (1 − s) ∆(0) = 0,382 · 5 = 1,91

2. se trece la poziţionarea a două valori x1 şi x2 , conform relaţiilor (72):


(1) (1)
x1 = xmin + δ(1) = 0 + 1,91 = 1,91
(1) (1)
x2 = xmax − δ(1) = 5 − 1,91 = 3,09
3. . . .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 110/316
Exemple: Temperatura optimă de reacţie
FR
Reacţiile consecutive, de ordinul I:
c A,0 , c B,0

k1 k2
A −−→ B −−→ C (74)
TR
V au loc ı̂ntr-un reactor continuu cu ames-
tecare perfectă de volum V (fig. 13).
Produsul valoros este B ce poate fi valo-
rificat cu un beneficiu de b [u.v.]/kmol.
FR
Compusul A poate fi recuperat la valoa-
c A , c B , cC rea a [u.v.]/kmol, iar compusul C se valo-
Figura 13. Reactor. rifică cu c [u.v.]/kmol.
Să se determine temperatura optimă de
reacţie TR ce asigură maximizarea bene-
ficiului ı̂n situaţia unui debit de alimentare reactant FR , ţinând cont că tempe-
ratura de reacţie poate varia doar ı̂n domeniul TR ∈ [ TR,min , TR,max ].

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 111/316
Exemple: Temperatura optimă de reacţie

Rezolvare:
Maximizarea beneficiului obţinut ı̂n acest reactor corespunde unei probleme de
optimizare ı̂n care funcţia obiectiv este:

max f ob = a · c A · FR + b · c B · FR + c · cC · FR (75)
TR
unde: c A , c B şi cC sunt concentraţiile molare ale compuşilor A, B şi C ı̂n fluxul
de ieşire din reactor FR .
Pentru a explicita termenii din funcţia obiectiv ı̂n funcţie de variabila de decizie
TR trebuie să scriem modelul matematic al sistemului.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 112/316
Exemple: Temperatura optimă de reacţie

Ecuaţiile de bilanţ de masă pentru cei trei compuşi:


- pentru compusul A:

c A,0 FR − c A FR + r A VR = 0 (76)

- pentru compusul B:

c B,0 FR − c B FR + r B VR = 0 (77)

- pentru compusul C:
−cC FR + rC VR = 0 (78)
Vitezele de reacţie r A , r B şi rC sunt date de expresiile:

r A = −k1 c A = −k1,0 e− E1 /( R TR ) c A

r B = k1 c A − k2 c B = k1,0 e− E1 /( R TR ) c A − k2,0 e− E2 /( R TR ) c B (79)

rC = k2 c B = k2,0 e− E2 /( R TR ) c B
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 113/316
Exemple: Temperatura optimă de reacţie

Din ecuaţiile (76)÷(79) putem exprima concentraţiile compuşilor A, B şi C din


fluxul de ieşire FR :
c A,0
cA = − E / ( R T )
(80)
1 + τk1,0 e 1 R

c B,0 τk1,0 e− E1 /( R TR ) c A,0


cB = +   (81)
1 + τk2,0 e − E2 / ( R TR ) 1 + τk1,0 e − E1 / ( R TR ) 1 + τk2,0 e − E2 / ( R TR )

τk2,0 e− E2 /( R TR ) c B,0 τ 2 k1,0 e− E1 /( R TR ) k2,0 e− E2 /( R TR ) c A,0


cC = +   (82)

1 + τk2,0 e 2 E / ( R T R ) 1 + τk1,0 e 1− E / ( R TR ) 1 + τk2,0 e 2 − E / ( R TR )

unde τ este timpul de staţionare.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 114/316
Exemple: Temperatura optimă de reacţie

Înlocuind aceste expresii ı̂n funcţia obiectiv, obţinem:

max f ob = a · c A · FR + b · c B · FR + c · cC · FR =
TR "
a FR c A,0 c B,0
= − E / ( R T )
+ b FR − E / ( R T )
+
1 + τk1,0 e 1 R 1 + τk2,0 e 2 R

#
τk1,0 e 1 − E / ( R T )
R c
A,0
+   +
1 + τk1,0 e 1− E / ( R T R ) 1 + τk2,0 e 2 − E / ( R T R ) (83)
"
τk2,0 e− E2 /( R TR ) c B,0
+ c FR − E / ( R T )
+
1 + τk2,0 e 2 R

#
2
τ k1,0 e 1− E / ( R T )
R k − E / ( R T )
2,0 e
2 R c
A,0
+  
1 + τk1,0 e 1− E / ( R T R ) 1 + τk2,0 e 2 − E / ( R T R )

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 115/316
Exemple: Temperatura optimă de reacţie

Aplicaţie numerică
Se dau următoarele valori numerice:
VR = 10 m3 FR = 0,15 m3 /s;

TR,min = 60 ˚C; TR,max = 90 ˚C;

c A,0 = 10 kmol/m3 ; c B,0 = 0,01 kmol/m3 ;

k1,0 = 6·107 s−1 ; k2,0 = 8·1012 s−1 ;


E1 E2
= 7.500 K; = 12.000 K;
R R
a = 2.000 [u.v.]/kmol; b = 34.000 [u.v.]/kmol;

c = 80 [u.v.]/kmol.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 116/316
Exemple: Temperatura optimă de reacţie

Înlocuind aceste valori ı̂n expresia funcţiei obiectiv (83), obţinem:

3000 51 + 6,4 · 1013 e−12000/TR


max f ob = 9 − 7500/T
+ 14 − 12000/T
+
TR 1 + 4 · 10 e R 1 + 5,33 · 10 e R

(84)
2, 04 · 1014 e−7500/TR + 2,56 · 1026 e−19500/TR
+
(1 + 4 · 109 e−7500/TR )(1 + 5,33 · 1014 e−12000/TR )
Identificarea soluţiei problemei de optimizare s-a făcut prin aplicarea algorit-
mului metodei secţiunii de aur pornind de la intervalul de căutare TR ∈[333 K;
363 K]. Pentru o precizie de căutare de e 6 1 · 10−3 rezultatele obţinute sunt
prezentate ı̂n tabelul 3.
Soluţia problemei de optimizare este: TR∗ = 342,9665 K ± 7,5 · 10−4 K, adică
TR∗ ' 69,8 ˚C.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 117/316
Exemple: Temperatura optimă de reacţie
Tabelul 3. Maximizarea beneficiului prin metoda secţiunii de aur
j xmin x1 x2 xmax f ob ( x1 ) f ob ( x2 ) ∆

1 333,000 344,460 351,540 363,000 22.624,082 20.431,999 30,000


2 333,000 340,082 344,460 351,540 22.439,943 22.624,082 18,540
3 340,082 344,460 347,163 351,540 22.624,082 22.136,664 11,457
4 340,082 342,787 344,460 347,163 22.693,617 22.624,082 7,080
5 340,082 341,754 342,787 344,460 22.648,899 22.693,617 4,377
6 341,754 342,787 343,426 344,460 22.693,617 22.687,966 2,705
7 341,754 342,393 342,787 343,426 22.684,343 22.693,617 1,671
..
.
23 342,966 342,966 342,966 342,967 22.694,627 22.694,627 7,5·10−4
Observaţie: Celulele colorate din corpul tabelului indică intervalele de căutare rămase după
eliminare. De exemplu, ı̂n eliminarea j = 7 intervalul rămas este [342,393; 343,426].

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 118/316
Exemple: Debitul optim de alimentare al unui reactor continuu

Se consideră reacţia reversibilă de ordinul I:

k1
−−→
A ←−− B (85)
k2
ce are loc ı̂ntr-un reactor continuu operat ı̂n condiţii izoterme la tempera-
tura TR .
Reacţia are loc ı̂ntr-un reactor de volum V prevăzut cu un sistem de agitare
precum şi cu o manta de răcire. Amestecul de reacţie evacuat din reactor
este supus unui proces de separare a componentului B, considerat compo-
nent valoros. Reactantul A nereacţionat este recirculat.
Se cere determinarea debitului optim de alimentare cu materia primă FR∗ ,
având concentraţia c A,0 ı̂n aşa fel ı̂ncât beneficiul obţinut să fie maxim.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 119/316
Exemple: Debitul optim de alimentare al unui reactor continuu

Rezolvare:
Beneficiul poate fi exprimat ca o diferenţă dintre venitul realizat prin valorifi-
carea produsului B şi totalul cheltuielilor necesare pentru producerea sa.
Totalul costurilor pentru obţinerea produsului B este dat de expresia:

COST = Cmp + Cop + Csep (86)


unde: Cmp este costul materiei prime;
Cop - costurile de operare ale instalaţiei;
Csep - costurile de separare ale produsului B.
Pentru exprimarea acestor costuri este necesară obţinerea unui model mate-
matic al reactorului. Reactorul poate fi modelat ca un reactor cu amestecare
perfectă.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 120/316
Exemple: Debitul optim de alimentare al unui reactor continuu

Ecuaţiile de bilanţ pot fi scrise pentru cele două componente:


- pentru componenta A:

c A,0 FR − c A FR + r A VR = 0 (87)

- pentru componenta B:
−c B FR + r B VR = 0 (88)
unde: FR este debitul de alimentare al reactorului, [m3 /s];
c A,0 - concentraţia iniţială a componentului A, [kmol/m3 ];
c A , c B - concentraţiile componentelor A şi B la evacuarea din
reactor, [kmol/m3 ];
VR - volumul reactorului, [m3 ];
r A , rB - vitezele de reacţie pentru componentele A şi B,
[kmol/s].

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 121/316
Exemple: Debitul optim de alimentare al unui reactor continuu

Vitezele de reacţie r A şi r B sunt calculate cu expresiile:

r A = −k1 c A + k2 c B = −k1,0 e− E1 /( R TR ) c A + k2,0 e− E2 /( R TR ) c B


(89)
r B = k1 c A − k2 c B = k1,0 e− E1 /( R TR ) c A − k2,0 e− E2 /( R TR ) c B

Costurile din relaţia (86) sunt exprimate prin următoarele ecuaţii:


• costul materiei prime:
Cmp = a · FR · c B (90)

unde: a este reprezintă costul unitar al materiei prime A, [u.v./kmol].


Această parte a costurilor totale include doar cheltuielile proporţionale
cu cantitatea de A reacţionat, ı̂ntrucât partea nereacţionată este reutilizată
după faza de separare.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 122/316
Exemple: Debitul optim de alimentare al unui reactor continuu

• costurile de operare ale instalaţiei:

Cop = b + c · FR (91)

unde: b este termenul ce include componentele de cost ce sunt inde-


pendente de intensitatea operării instalaţiei, cum ar fi:
cheltuielile cu forţa de muncă, pt. amestecare, etc., ı̂n
[u.v./s] ;
c - termenul ce include acele elemente de cost ce sunt de-
pendente de intensitatea de operare a instalaţiei, cum ar
fi: cheltuielile cu agentul termic, cheltuielile de vehiculare
a fluidelor, cheltuielile de reparaţii, amortizarea, etc., ı̂n
[u.v./m3 ];

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 123/316
Exemple: Debitul optim de alimentare al unui reactor continuu

• costul separării compusului valoros:

Csep = d + e · FR + f · c B (92)

unde: d este termenul ce reprezintă componentele de cost ce sunt inde-


pendente de cantitatea şi calitatea amestecului supus se-
parării, ı̂n [u.v./s];
e - termenul ce reprezintă acele componente de cost ce depind
de debitul de amestec separat, ı̂n [u.v./m3 ];
f - termenul ce reprezintă componentele de cost ce depind de
concentraţia compusului B ı̂n amestecul supus separării,
ı̂n [u.v./(kmol·s/m3 )].

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 124/316
Exemple: Debitul optim de alimentare al unui reactor continuu

Veniturile realizate sunt date de valorificarea produsului B:

VENIT = g · FR · c B (93)

unde g este termenul ce reprezintă costul unitar al produsului B, ı̂n [u.v./kmol].

Beneficiul realizat este dat de expresia:

BEN = VENIT − COST =


= g FR c B − [( a FR c B ) + (b + c FR ) + (d + e FR + f c B )] = (94)

= −(b + d) − (c + e) FR − f c B + ( g − a) FR c B

Variabila de decizie ı̂n această problemă este debitul de alimentare al reactoru-


lui FR , astfel toate elementele din ecuaţia (94) trebuie să fie exprimate ı̂n funcţie
de această variabilă. Pentru aceasta trebuie să exprimăm c B funcţie de FR .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 125/316
Exemple: Debitul optim de alimentare al unui reactor continuu

Din modelul matematic al reactorului rezultă:


c A,0 k1 FR VR
cB = (95)
( FR + k1 VR )( FR + k2 VR ) − k1 k2 VR2

În urma acestor considerente, funcţia obiectiv este:

[( g − a) FR − f ] c A,0 k1 FR VR
max f ob = −(b + d) − (c + e) FR + (96)
FR ( FR + k1 VR )( FR + k2 VR ) − k1 k2 VR2

Pentru rezolvarea acestei probleme apelăm la o metodă de eliminare. Pentru


aceasta, alegem un domeniu de căutare de forma FR,min 6 FR 6 FR,max şi preci-
zia de determinare a extremului, e.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 126/316
Exemple: Debitul optim de alimentare al unui reactor continuu

Aplicaţie numerică
Se dau următoarele valori numerice:
VR = 10 m3 TR = 70 ˚C;

k1,0 = 6·108 s−1 ; k2,0 = 4·1012 s−1 ;


E1 E2
= 9.500 K; = 14.500 K;
R R
c A,0 = 1 kmol/m3 ; a = 2 [u.v./kmol];

b = 0,2 [u.v]; c = 0,3 [u.v./(m3 /s)];

d = 0,2 [u.v]; e = 0,1 [u.v./(m3 /s)];

f = 0,1 [u.v./(kmol/m3 )]; g = 90 [u.v./kmol];

FR,min = 0,01 [m3 /s]; FR,max = 0,2 [m3 /s];

e = 5·10−4 .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 127/316
Exemple: Debitul optim de alimentare al unui reactor continuu

Înlocuind aceste valori ı̂n expresia funcţiei obiectiv, obţinem:

0,5 FR − 5,68 · 10−4


max f ob = −0,4 − 0,4 FR + (97)
FR FR + 0,0057

Rezolvarea acestei probleme se face prin metoda perechilor secvenţiale pornind


de la domeniul de căutare FR ∈[0,01; 0,2] m3 /s. Pentru precizia de căutare
cerută rezultatele obţinute sunt prezentate ı̂n tabelul 4.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 128/316
Exemple: Debitul optim de alimentare al unui reactor continuu
Tabelul 4. Determinarea debitului optim de alimentare
(i ) 0 (F (i )
0 (F ) 0 (F
i FR,min FR FR,max f ob R,min ) f ob R f ob R,max ) ∆

1 10,000 95,000 200,000 + − − 190,00


2 10,000 52,500 95,000 + + − 85,00
3 52,500 73,750 95,000 + + − 42,50
4 73,750 84,375 95,000 + + − 21,25
5 84,375 89,687 95,000 + − − 10,62
6 84,375 87,031 89,687 + − − 5,31
7 84,375 85,703 87,031 + + − 2,65
8 85,703 86,367 87,031 + + − 1,32
9 86,367 86,699 87,031 + + − 0,66

Soluţia obţinută este FR∗ = 86,865±0,5 l/s (0,086865±5·10−4 m3 /s).


Această soluţie corespunde unui beneficiu maxim de BEN∗ = 0,028328 [u.v./s].

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 129/316
Metode numerice
multidimensionale
de optimizare
Optimizarea Proceselor Chimice: Caracteristici

Metodele numerice (directe) pentru identificarea soluţiei unei probleme de op-


timizare cu două sau mai mult de două variabile de decizie se mai numesc şi
metode de urcare-coborâre.
Această denumire provine de la analogia suprafeţei de răspuns a funcţiei obiec-
tiv (pentru situaţia ı̂n care avem două variabile de decizie) cu relieful unei
regiuni terestre pe care metodele directe se pot vizualiza sub forma unor de-
plasări către extrem - urcare, pentru identificarea unui maxim, coborâre, pentru
identificarea unui minim.
Metodele de urcare-coborâre se caracterizează prin faptul că fiecare deplasare
urmăreşte două scopuri majore:
I obţinerea unei valori ı̂mbunătăţite a funcţiei obiectiv;
I obţinerea de informaţii utile cu scopul de a ı̂mbunătăţi evoluţia
ulterioară.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 131/316
Optimizarea Proceselor Chimice: Metode de urcare-coborâre

Cerinţe:
Aplicarea acestor metode implică specificarea următoarelor
elemente:
I expresia funcţiei obiectiv;
I o soluţie iniţială oarecare - x (0) (un set iniţial de valori
ale componentelor vectorului de decizie);
I precizia de determinare a punctului de extrem, e;
I tipul de extrem căutat.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 132/316
Optimizarea Proceselor Chimice: Algoritm general

1. se calculează valoarea
 funcţiei
 obiectiv ı̂n punctul iniţial - corespunzător
soluţiei iniţiale - f x (0) ;
2. se identifică (printr-un algoritm specific fiecărei metode ı̂n parte) o nouă
soluţie a problemei de optimizare, x (k+1) ;
 
3. se calculează valoarea funcţie obiectiv ı̂n noul punct, f x (k+1) ;

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 133/316
Optimizarea Proceselor Chimice: Algoritm general

4. se compară valoare funcţiei obiectiv ı̂n punctul iniţial al iteraţiei cu-


rent (ce este identic cu soluţia iniţială pentru prima
 iteraţie)
 cu valoarea

funcţiei obiectiv corespunzătoare noii soluţii: f x (k+1) : f x (k) :
a) dacă noua soluţie este favorabilă (corespunde unei valori mai mici a
funcţiei obiectiv decât valoarea funcţiei obiectiv ı̂n punctul iniţial
al iteraţiei - pentru un minim, respectiv corespunde unei valori
mai mari a funcţiei obiectiv decât ı̂n punctul iniţial al iteraţiei când
căutăm un maxim) - punctul curent devine punctul iniţial pentru
o nouă iteraţie;
b) dacă noua soluţie este nefavorabilă - se păstrează punctul iniţial cu-
rent şi se determină un alt punct de căutare şi se revine la punctul
2 din cadrul algoritmului ı̂n cadrul iteraţiei curente;

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 134/316
Optimizarea Proceselor Chimice: Algoritm general

5. se verifică atingerea punctului de extrem cu precizia e, folosind criteriile


lui Himmelblau:    
f x ( k +1) − f x ( k )

  6e (98,a)

f x (k)

x ( k +1) − x ( k )

6e (98,b)
x ( k)

Dacă cele două criterii se ı̂ndeplinesc simultan, punctul curent este


soluţia problemei de optimizare, x ∗ = x (k+1) ± e. În situaţia ı̂n care cri-
teriile lui Himmelblau nu se ı̂ndeplinesc simultan, se continuă cu o nouă
căutare (k = k + 1), revenindu-se la punctul 2 din cadrul algoritmului.
Observaţie: Utilizarea simultană a celor două criterii este strict necesară deoarece
ı̂ndeplinirea doar a criteriului 98,a sau doar a criteriului 98,b ar putea conduce la
o concluzie greşită ı̂n cazul ı̂n care suprafaţa de răspuns a funcţiei obiectiv ar avea
profilul prezentat ı̂n figura 14,a, respectiv 14,b.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 135/316
Optimizarea Proceselor Chimice: Criteriile lui Himmelblau

f (x) f (x)

bc
f ( x (k) )

f ( x (k) ) bc
bc
f ( x ( k +1) )
bc
f ( x ( k +1) )

x (k) x ( k +1) x x ( k ) x ( k +1) x


a b

Figura 14. Criteriile lui Himmelblau.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 136/316
Optimizarea Proceselor Chimice: Metode de urcare-coborâre

Metodele de urcare-coborâre diferă prin modul ı̂n care se identifică un nou


punct de căutare (punctul 2 din algoritm).

O clasificare simplă a metodelor de urcare-coborâre se poate face prin gruparea


lor ı̂n două categorii:
A. metode care necesită evaluarea derivatelor funcţiei obiectiv;
B. metode care nu necesită evaluarea derivatelor funcţiei obiectiv.

Observaţie: Modelele matematice ale proceselor din ingineria chimică sunt ca-
racterizate printr-o complexitate mare. Datorită acestui motiv, obţinerea ana-
litică a expresiei derivatelor funcţiei obiectiv este o sarcină, ı̂n general, foarte
grea. Astfel, metodele din prima categorie prezintă o importanţă mai redusă
faţă de metodele din a doua categorie.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 137/316
Optimizarea Proceselor Chimice: Metode de gradient

Metodele de gradient sunt metode de căutare numerică a punctului de extrem


ce folosesc pentru deplasare pe suprafaţa de răspuns a funcţiei obiectiv, direcţia
vectorului gradient.
Vectorul gradient sau gradientul unei funcţii f ( x ) ı̂n punctul x (k) este:

∂ f (x)

∂x
1


∂ f (x)

∂x2

5 f ( x (k) ) = (99)
.
.
.



∂ f (x)

∂x (k)
n x=x

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 138/316
Optimizarea Proceselor Chimice: Metode de gradient

Gradientul unei funcţii prezintă următoarele proprietăţi (fig. 15):


1. gradientul este un vector ce defineşte direcţia cu cea mai rapidă
creştere ı̂n punctul considerat, x (k) ;
2. gradientul ı̂ntr-un punct x (k) este normal la linia de contur a funcţiei
f ( x (k) ) ce trece prin punctul respectiv.
Ţinând cont de aceste proprietăţi, direcţia gradientului este cea mai eficientă
cale de urmat pentru găsirea unui extrem, sensul pozitiv pentru găsirea unui
maxim, iar sensul negativ pentru găsirea unui minim.
Metodele de gradient folosesc direcţia vectorului gradient pentru deplasarea
către extrem.
Direcţia vectorului gradient este o proprietate dependentă de poziţia punctu-
lui ı̂n care ea se calculează. Metodele de gradient folosesc o succesiune de
deplasări pe suprafaţa de răspuns a funcţiei obiectiv, după fiecare deplasare,
direcţia vectorului gradient este reevaluată.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 139/316
Optimizarea Proceselor Chimice: Metode de gradient
4

3.5

2.5

1.5

0.5

−0.5

−1
−1 −0.5 0 0.5 1 1.5 2

Figura 15. Vectorul gradient pe suprafaţa de răspuns


a unei funcţii reprezentate prin curbe de contur.
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 140/316
Optimizarea Proceselor Chimice: Metode de gradient

Deplasările succesive pe suprafaţa de răspund au loc după relaţia:


(k)
x ( k +1) = x ( k ) ± λ ( k ) d (100)
unde: x este vectorul de decizie;
λ - pasul/deplasarea pe suprafaţa de răspuns a funcţiei
obiectiv;
d - direcţia de deplasare;
k, k + 1 - exponent ce indică pasul/iteraţia.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 141/316
Optimizarea Proceselor Chimice: Metode de gradient

Vectorul d - direcţia de deplasare, este un vector normat având direcţia şi sensul
vectorului gradient al funcţiei obiectiv ı̂n punctul curent. Acesta se calculează
prin ı̂mpărţirea vectorului gradient cu norma sa conform relaţiei:

(k) 5 f ( x (k) )
d =

(101)
( k)
5 f ( x )

unde v
u u n 
∂ f (x)
2
(k) t
5 f ( x ) = ∑ ∂xi (102)
i =1 x = x (k)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 142/316
Optimizarea Proceselor Chimice: Metode de gradient

Pentru căutarea unui maxim, deplasările au loc ı̂n sensul dat de vectorul d caz
ı̂n care ı̂n relaţia (100) avem semnul ’+’, iar ı̂n cazul ı̂n care căutarea are loc
pentru un minim, semnul este ’−’, deoarece deplasările au loc ı̂n sens opus
celei indicate de vectorul gradient.
Pentru alegerea pasului de deplasare λ se utilizează două variante:
A. se alege iniţial pentru λ o valoare fixă ce poate fi ı̂njumătăţită la
nevoie pentru identificarea cu precizia dorită a punctului de
extrem - metoda gradientului cu pas constrant
B. se calculează o valoare optimă a pasului, λ∗ pentru fiecare
deplasare prin rezolvarea unei probleme de optimizare
unidimensională ı̂n care λ este variabila independentă - metoda
gradientului cu pas optim

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 143/316
Optimizarea Proceselor Chimice: Metoda gradientului cu pas constant

Cerinţe:
Aplicarea acestei metode implică specificarea următoarelor
elemente:
I expresia funcţiei obiectiv;
I o soluţie iniţială oarecare x (0) ;
I precizia de determinare a punctului de extrem, e;
I tipul de extrem căutat, minim sau maxim;
I valoarea iniţială a pasului de căutare, λ(0) .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 144/316
Optimizarea Proceselor Chimice: Metoda gradientului cu pas constant

Algoritm:
 
1. se calculează valoarea funcţiei obiectiv ı̂n punctul iniţial f x (0) ;
2. se determină componentele vectorului gradient al funcţiei obiectiv ı̂n
punctul curent cu ajutorul relaţiei (99);
(k)
3. se determină direcţia de deplasare d cu relaţia (101);
4. se identifică un nou punct de căutare cu ajutorul relaţiei (100) unde vom
folosi ’+’ dacă extremul căutat este un maxim şi ’−’ dacă căutăm un
minim;
 
5. se calculează valoarea funcţiei obiectiv ı̂n noul punct, f x (k+1) ;

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 145/316
Optimizarea Proceselor Chimice: Metoda gradientului cu pas constant

6. se compară valoarea funcţiei obiectiv ı̂n punctul


 iniţial
 al iteraţiei
  curente
cu valoarea funcţiei obiectiv ı̂n noul punct: f x (k+1) : f x (k) :
a) dacă noua soluţie este favorabilă punctul curent devine punctul
iniţial pentru o nouă iteraţie (k = k + 1) şi se continuă cu pct. 2
din algoritm;
b) dacă noua soluţie este nefavorabilă se determină un alt punct de
căutare prin păstrarea direcţiei de căutare dar cu ı̂njumătăţirea pa-
sului (λ(k) = λ(k) /2) şi se revine la punctul 4 al algoritmului ı̂n
cadrul iteraţiei curente;
7. se verifică atingerea punctului de extrem cu precizia e, folosind criteriile
lui Himmelblau, relaţiile (98). Dacă cele două criterii se ı̂ndeplinesc simul-
tan, punctul curent este soluţia problemei de optimizare, x ∗ = x (k) ± e.
În situaţia ı̂n care criteriile lui Himmelblau nu se ı̂ndeplinesc simultan, se
continuă cu o nouă căutare (k = k + 1), revenindu-se la punctul 2 din
cadrul algoritmului şi la pasul de căutare iniţial λ(k) = λ(0) .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 146/316
Optimizarea Proceselor Chimice: Metoda gradientului cu pas constant

x2

x1
Figura 16. Metoda gradientului cu pas constant.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 147/316
Optimizarea Proceselor Chimice: Metoda gradientului cu pas optim

Cerinţe:
Aplicarea acestei metode implică specificarea următoarelor
elemente:
I expresia funcţiei obiectiv;
I o soluţie iniţială oarecare x (0) ;
I precizia de determinare a punctului de extrem, e;
I tipul de extrem căutat, minim sau maxim.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 148/316
Optimizarea Proceselor Chimice: Metoda gradientului cu pas optim

Algoritm:
 
1. se calculează valoarea funcţiei obiectiv ı̂n punctul iniţial f x (0) ;
2. se determină componentele vectorului gradient al funcţiei obiectiv ı̂n
punctul curent cu ajutorul relaţiei (99);
(k)
3. se determină direcţia de deplasare d cu relaţia (101);

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 149/316
Optimizarea Proceselor Chimice: Metoda gradientului cu pas optim

4. se calculează pasul optim λ∗(k) ı̂n următorul mod:


a) din relaţia (100) se exprimă punctul de căutare nou ı̂n funcţie de
λ(k) :
(k) ( k )
x1 ± λ ( k ) d1


(k)
x2 ± λ(k) d2(k)
(k) (k)

x ( k +1) (k)
= x ±λ d = (103)
..

.


(k)
xn ± λ(k) d(nk)

b) prin ı̂nlocuirea variabilelor de decizie x1 , x2 , . . . xn ı̂n expresia


funcţiei obiectiv cu relaţiile obţinute prin (103) se obţine o funcţie
obiectiv ı̂n care variabila independentă este λ(k) :

f ob ( x (k+1) ) = f ob (λ(k) )

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 150/316
Optimizarea Proceselor Chimice: Metoda gradientului cu pas optim

c) se rezolvă problema de optimizare unidimensională (folosind o


metodă analitică ori o metodă numerică - de eliminare), obţinân-
du-se pe această cale λ∗(k) :

optim f ob (λ(k) ) =⇒ λ∗(k)


λ(k)

d) pe baza relaţiei (103) se identifică soluţia cea mai favorabilă x (k+1)


pentru iteraţia curentă;
 
5. se calculează valoarea funcţiei obiectiv ı̂n noul punct, f x (k+1) ;

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 151/316
Optimizarea Proceselor Chimice: Metoda gradientului cu pas optim

6. se verifică atingerea punctului de extrem cu precizia e, folosind criteriile


lui Himmelblau, relaţiile (98). Dacă cele două criterii se ı̂ndeplinesc simul-
tan, punctul curent este soluţia problemei de optimizare, x ∗ = x (k) ± e.
În situaţia ı̂n care criteriile lui Himmelblau nu se ı̂ndeplinesc simultan, se
continuă cu o nouă căutare (k = k + 1), revenindu-se la punctul 2 din
cadrul algoritmului.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 152/316
Optimizarea Proceselor Chimice: Metoda gradientului cu pas optim

x2

x1
Figura 17. Metoda gradientului cu pas optim.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 153/316
Optimizarea Proceselor Chimice: Metode de gradient

Aplicarea practică a metodelor de gradient este posibilă şi ı̂n situaţiile limita-
tive ı̂n care nu se poate obţine expresia analitică a derivatelor prin derivarea
numerică a funcţiei obiectiv.
Aproximarea numerică a valorii derivatelor se poate face utilizând chiar relaţia
de definiţie a derivatelor:
(k) (k) (k) (k) (k) (k)
∂ f ( x (k) ) f ( x1 , . . . , x i + δ, . . . , xn ) − f ( x1 , . . . , xi , . . . , xn )
≈ (104)
∂xi δ
unde i = 1, 2, . . . , n iar δ & 0 .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 154/316
Metode de gradient: Exemplu

Pornind din punctul x (0) = [5; 5] şi cu pasul λ(0) = 1 să se rezolve:

min f ( x1 , x2 ) = 4x12 + 2x22 + 4x1 x2 + 2x2 + 1 (105)


x1 ,x2

Rezolvare: Se parcurg următoarele etape:


1. se calculează valoarea funcţiei obiectiv ı̂n punctul iniţial: f ( x (0) ) = f (5; 5) = 261.
2. se determină componentele vectorului gradient şi se calculează valorile sale ı̂n
punctul iniţial:

∂ f (x)
8x + 4x 60
∂x1 1 2


(0)
5 f (x ) = = =
∂ f (x)
4x2 + 4x1 + 2 42
x =[ 5;5 ]
∂x2 x= x(0)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 155/316
Metode de gradient: Exemplu

3. se calculează vectorul direcţie de deplasare astfel:


a) norma vectorului:
v
u
u 2 
∂ f (x)
2 p
(0) t
5 f ( x ) = ∑ = 602 + 422 = 73, 2393
i =1
∂xi x = x (0)

b) direcţie de deplasare:


60


0, 8192
(0) 5 f ( x (0) ) 42
d =

= =
( 0) 73, 2393
5 f ( x ) 0, 5735

4. se calculează o soluţie nouă:


0
x1 = x0 − λ d
..
.
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 156/316
Optimizarea Proceselor Chimice: Metoda Pattern Search

Metoda Pattern Search utilizează ca principiu de căutare testarea după direcţii


paralele cu axele de coordonate.

Căutarea are loc ı̂n 2 faze:


1. căutare locală cu pasul λ pe fiecare direcţie de căutare prin modificarea
la un moment dat a valorii unei singure variabile de decizie;
2. căutare extinsă ı̂n care are loc deplasarea accelerată pe direcţia cea mai
favorabilă identificată ı̂n căutarea locală.

Condiţiile de aplicare a metodei implică specificarea următoarelor elemente:


I expresia funcţiei obiectiv;
I o soluţie iniţială oarecare x (0) ;
I precizia de determinare a punctului de extrem, e;
I tipul de extrem căutat, minim sau maxim;
I pasul de căutare locală, λ(0) .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 157/316
Optimizarea Proceselor Chimice: Metoda Pattern Search

x2

x1
Figura 18. Metoda Pattern Search.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 158/316
Optimizarea Proceselor Chimice: Metoda Pattern Search

Algoritmul metodei Pattern Search este (fig. 18):


 
1. se calculează valoarea funcţiei obiectiv ı̂n punctul iniţial f x (k) , pentru
prima căutare k = 0;
2. se trece la etapa de căutare locală, de la direcţia de căutare 1, . . . i, . . . n ce
are loc după următoarele reguli:
a) iniţial, căutarea are loc ı̂n sens pozitiv:
( k +1) (k)
xi = xi + λ(k) (106)

b) se calculează valoarea funcţiei obiectiv ı̂n punctul curent;

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 159/316
Optimizarea Proceselor Chimice: Metoda Pattern Search

c) se compară valoarea calculată a funcţiei obiectiv cu valoarea din


punctul de bază curent:
i dacă valoarea funcţiei obiectiv este favorabilă, se trece la
următoarea dimensiune, i = i + 1 şi se continuă cu punctul
3 din algoritm. Dacă valoarea funcţiei obiectiv nu este
favorabilă, se face o căutare ı̂n sens opus, cu relaţia:
( k +1) (k)
xi = xi − λ(k) (107)

ii se calculează valoarea funcţiei obiectiv ı̂n punctul curent;


iii dacă valoarea funcţiei obiectiv nu este favorabilă, se
păstrează punctul de bază curent pe direcţia lui xi şi se
trece la căutarea după o nouă dimensiune, i = i + 1;
iv dacă valoarea funcţiei obiectiv este favorabilă se adoptă
punctul curent ca punct de bază şi se trece la căutarea pe
direcţia următoare, i = i + 1 până când i = n;

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 160/316
Optimizarea Proceselor Chimice: Metoda Pattern Search

Observaţie: Dacă căutarea locală se termină fără nici o deplasare din punctul de
bază se reduce pasului de căutare cu ajutorul relaţiei:
λ
λ= (108)
2
şi se reia căutarea locală curentă.

3. se trece la etapa de căutare extinsă (accelerată) prin repetarea deplasării


obţinute prin căutarea locală multiplicată cu un coeficient pozitiv supra-
unitar α (ı̂n general α = 2 . . . 4);
a) dacă căutarea extinsă se soldează cu un succes, această etapă de
căutare se repetă multiplicând pasul total efectuat ı̂n căutarea cu-
rentă cu o valoare pozitivă supraunitară α;
b) căutarea accelerată se repetă până la obţinerea unui insucces, caz
ı̂n care iteraţia curentă este considerată ı̂ncheiată;

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 161/316
Optimizarea Proceselor Chimice: Metoda Pattern Search

4. se trece la testarea atingerii punctului de extrem, prin utilizarea criteriilor


lui Himmelblau:
a) dacă condiţiile lui Himmelblau nu se ı̂ndeplinesc simultan, se trece
la o nouă etapă de căutare (k = k + 1) şi se revine la punctul 2 din
algoritm;
b) dacă condiţiile lui Himmelblau se ı̂ndeplinesc, soluţia este dată de:

x ∗ = x ∗(k) ± e

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 162/316
Optimizarea Proceselor Chimice: Metoda Rosenbrock

Metoda Rosenbrock poate fi privită ca o dezvoltare a metodei Pattern Search.


Diferenţa majoră faţă de Pattern Search constă ı̂n faptul că ı̂n loc de a efectua
explorările locale pe direcţii fixe şi paralele cu axele de coordonate, acestea au
loc după un set de direcţii ortogonale ce se recalculează după fiecare iteraţie pe
baza celei mai favorabile direcţii de deplasare curente.

Pentru aplicarea metodei Rosenbrock avem nevoie de:


I expresia funcţiei obiectiv;
(0)
I un set de valori iniţiale ale vectorului de decizie, x0 ;
I un set de n vectori unitari ortogonali ce definesc direcţiile iniţiale de
(0) (0) (0)
explorare, d1 , d2 , . . . , dn ;
(0)
I un vector al mărimii paşilor de deplasare, λ ;
I precizia dorită de identificare a soluţiei, e;

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 163/316
Optimizarea Proceselor Chimice: Metoda Rosenbrock

Algoritmul de minimizare al lui Rosenbrock este următorul (o reprezentare


schematică a etapelor algoritmului este făcută ı̂n figura 19):
1. se calculează
  valoarea funcţiei obiectiv ı̂n punctul de start al iteraţiei,
(0)
f ob x0 ;
2. se trece la faza de căutare locală ı̂n care, pentru fiecare direcţie de căutare,
i = 1, . . . , n se parcurg următoarele etape:
(k) (k) (k)
a) se calculează valoarea funcţiei obiectiv ı̂n punctul xi + λi di
unde iniţial i = 1;

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 164/316
Optimizarea Proceselor Chimice: Metoda Rosenbrock

b) dacă:
   
(k) (k) (k) (k)
f xi + λi di < f xi
(k) (k) (k) (k)
pasul respectiv este considerat un succes şi xi = xi + λi di .
Pasul pe direcţia respectivă este amplificat cu coeficientul pozitiv
(k) (k)
supraunitar α, λi = α · λi .
Dacă ı̂nsă    
(k) (k) (k) (k)
f xi + λi di > f xi
(k) (k)
se consideră pasul respectiv un insucces iar λi = β · λi unde β
este un coeficient subunitar negativ;
c) păstrând ı̂ntotdeauna cel mai bun punct atins, se continuă cu
următoarea direcţie de căutare i = i + 1. După epuizarea
direcţiilor de căutare, când i = n, se revine la prima direcţie de
căutare i = 1 şi se reiau căutările locale până când pe fiecare
direcţie de căutare se obţine un succes urmat de un insucces;

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 165/316
Optimizarea Proceselor Chimice: Metoda Rosenbrock

(k) (k)
3. se notează cu Λ j suma algebrică a tuturor paşilor λ j,p , p = 1, 2, . . . , P
efectuaţi cu succes:
P
(k) (k)
ΛJ = ∑ λ j,p (109)
p =1

4. se verifică atingerea punctului de extrem verificând ı̂ndeplinirea criterii-


lor lui Himmelblau;
a) dacă nu s-a atins punctul de extrem se trece la calcularea noului
set al direcţiilor de explorare pentru o nouă iteraţie, pentru care
( k +1) (k)
coordonatele punctului de plecare sunt: x0 = xn .
b) dacă condiţiile lui Himmelblau se ı̂ndeplinesc, soluţia este dată de:

x ∗ = x ∗(k) ± e

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 166/316
Optimizarea Proceselor Chimice: Metoda Rosenbrock

Calculul noilor direcţii de căutare:


Se definesc, ı̂n prealabil, următorii vectori:
( k +1) (k) (k) (k) (k) (k) (k)
A1 = Λ1 d1 + Λ2 d2 + . . . + Λ n d n
(k) (k) (k) (k) (k)
A2 = Λ2 d2 + ...+ Λn dn
.. (110)
.
(k) (k) (k)
An = Λn dn

(k) (k) ( k +1) (k) (k)


De remarcat că A1 reprezintă vectorul de la x0 la x0 , A2 de la x1 la
( k +1)
x0 ş.a.m.d.
( k +1)
Se determină prima direcţie de explorare pentru iteraţia următoare d1 ca
(k)
fiind paralelă cu vectorul deplasării totale A1 efectuate ı̂n iteraţia anterioară.
(k)
( k +1) A2
d1 =
(k) (111)
A1

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 167/316
Optimizarea Proceselor Chimice: Metoda Rosenbrock
( k +1)
Celelalte n − 1 direcţii sunt reciproc ortogonale cu d1 , fiind calculate cu aju-
torul metodei lui Gram-Schmidt. Relaţiile utilizate sunt:
j −i  T 
(k) (k) (k) ( k +1) ( k +1)
Bj = Aj − ∑ Aj di di
i =1
şi
(k)
( k +1)
Bj
dj =
(k) j = 2, . . . , n (112)
Bj

(0)
Observaţie: Iteraţia iniţială porneşte de la direcţiile di paralele cu axele de coor-
donate. Valori uzuale ale coeficienţilor sunt α = 3 şi β = −0,5.

Efectul calculării unui nou set de direcţii de explorare la fiecare iteraţie constă
de fapt ı̂ntr-o rotire a sistemului de direcţii de explorare, reducându-se efec-
tele negative de interacţiune a variabilelor (aceste efecte apar când ı̂n funcţia
obiectiv există termeni sub formă de produse de variabilele xi · x j ).

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 168/316
Optimizarea Proceselor Chimice: Metoda Rosenbrock

x2 b

x1
Figura 19. Metoda Rosenbrock.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 169/316
Optimizarea Proceselor Chimice: Metoda poliedrului

Metoda poliedrului, numită şi metoda Box, utilizează o fi-


gură geometrică regulată, numită Simplex, definită ı̂n spaţiul
n-dimensional ca un corp geometric cu n + 1 vârfuri, având o
distanţă constantă ı̂ntre două vârfuri alăturate.

În spaţiul de căutare bidimensională (problemă de optimizare


cu două variabile de decizie), obiectul de căutare, Simplex-ul
se prezintă sub forma unui triunghi echilateral, iar ı̂ntr-un do-
meniu de căutare tridimensională (probleme cu trei variabile
de decizie), obiectul de căutare este un tetraedru.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 170/316
Optimizarea Proceselor Chimice: Metoda poliedrului

Plasarea ı̂n domeniul de căutare a hiperpoliedrului se face cu ajutorul a două


constante, p şi q ce sunt calculate cu expresiile:
a  √ 
p= √ n−1+ n+1
n 2
  (113)
a √
q = √ −1 + n + 1
n 2

unde: a este dimensiunea laturii poliedrului de căutare;


n - dimensiunea problemei de optimizare (numărul de variabile
de decizie).
Poziţionarea vârfurilor corpului geometric de căutare se face utilizând schema
din tabelul 5.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 171/316
Optimizarea Proceselor Chimice: Metoda poliedrului

Tabelul 5. Schema de poziţionare a vârfurilor corpului de căutare


( j) ( j) ( j) ( j)
Vârful j x1 x2 ... x n −1 xn Observaţii
(0) (0) (0) (0)
0 x1 x2 ... x n −1 xn vârful origine
(0) (0) (0) (0)
1 x1 + p x2 + q ... x n −1 + q xn + q
(0) (0) (0) (0)
2 x1 + q x2 + p ... x n −1 + q xn + q
.. .. .. .. .. ..
. . . . . .
(0) (0) (0) (0)
n−1 x1 + q x2 + q ... x n −1 + p xn + q
(0) (0) (0) (0)
n x1 + q x2 + q ... x n −1 + q xn + p

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 172/316
Optimizarea Proceselor Chimice: Metoda poliedrului

Dacă avem două variabile de decizie (n = 2), p şi q se utilizează expresiile:



3+1
p = √ a = 0,9657 a
2 2

3−1
q = √ a = 0,2587 a
2 2
Poziţionarea punctelor se poate observa ı̂n figura 20.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 173/316
Optimizarea Proceselor Chimice: Metoda poliedrului

x2
0,2587 a

(2)
x2 b

0,9657 a

0,2587 a
a
(1)
x2 b

(0)
x2 b

0,9657 a

(0) (2) (1)


x1 x1 x1 x1

Figura 20. Poziţionarea simplexului.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 174/316
Optimizarea Proceselor Chimice: Metoda poliedrului. Algoritm

Algoritmul metodei poliedrului (Box) este următorul:


1. se poziţionează corpul geometric de căutare, cu vârful 0 ı̂n punctul iniţial
al căutării;
2. se calculează valorile funcţiei obiectiv ı̂n cele n + 1 vârfuri ale corpului
de căutare;
3. se sortează vârfurile ı̂n ordinea valorilor funcţiei obiectiv, de la cea mai
favorabilă valoare la cea mai nefavorabilă;
4. se identifică vârful ce se elimină pe baza următoarelor reguli:
a) se elimină vârful cel mai nefavorabil cu excepţia situaţiei ı̂n care
prin eliminarea acestui vârf se revine ı̂ntr-un punct deja testat;
b) ı̂n cazul ı̂n care situaţia anterioară (varianta a) nu este posibilă, se
elimină vârful anterior din lista de vârfuri formată la punctul 3 din
algoritm;
Observaţie: În nici o situaţie nu se elimină vârful cel mai favorabil!!!

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 175/316
Optimizarea Proceselor Chimice: Metoda poliedrului. Algoritm

5. algoritmul se reia până când pe baza regulilor prezentate, nu mai poate


fi ı̂mbunătăţită valoarea funcţiei obiectiv;
6. se testează atingerea punctului de extrem comparând deplasarea totală
efectuată, considerând punctul final al deplasării, vârful curent cel mai
favorabil;
7. dacă condiţiile lui Himmelblau nu se ı̂ndeplinesc, căutarea se reia, punc-
tul iniţial al căutării fiind cel mai bun vârf curent. Plecând de la acest
punct, se reconstruieşte corpul geometric de căutare cu dimensiunea la-
turii ı̂njumătăţite, a = a/2.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 176/316
Optimizarea Proceselor Chimice: Metoda poliedrului

Eliminarea unui vârf al corpului de căutare are loc prin oglindirea vârfului eli-
minat ı̂n jurul laturii opuse a hiperpoliedrului. Acest lucru, din punct de vedere
matematic are loc pe baza relaţiei:
" !#
n
(N) 2 ( j) ( R) ( R)
n j∑
xi = x i − x i − x i (114)
=0

pentru i = 1, 2, . . . , n, unde N este vârful nou, R reprezintă vârful respins.


Pentru situaţia ı̂n care n = 2 relaţia (114) devine:
" !#
2
(N) ( j) ( R) ( R) ( P1 ) ( P2 ) ( R)
xi = ∑ xi − xi − xi = xi + xi − xi
j =0

unde vârfurile P1 şi P2 sunt vârfurile păstrate (fig. 21).

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 177/316
Optimizarea Proceselor Chimice: Metoda poliedrului

x2
(N)
x2 bb

P1
bb

bb
P2
( R)
x2 b

( R) (N)
x1 x1 x1

Figura 21. Eliminarea vârfului respins.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 178/316
Optimizarea Proceselor Chimice: Metoda poliedrului

x2

x1
Figura 22. Metoda poliedrului.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 179/316
Optimizarea Proceselor Chimice: Metoda poliedrului extensibil

Metoda SIMPLEX (elaborat de Nelder şi Mead) este o dezvol-


tare a metodei poliedrului. Caracteristica principală constă ı̂n
utilizarea unui set de n + 1 puncte exploratoare, ce formează
ı̂n spaţiul de căutare vârfurile unui hiperpoliedru.

La fiecare iteratie vârful cel mai nefavorabil (ı̂n care funcţia


obiectiv are cea mai slabă valoare) este ı̂nlocuit cu un punct
corespunzător unei valori mai avantajoase a funcţiei obiectiv.
Înlocuirea se realizează prin proiectarea punctului nefavora-
bil prin centrul de greutate a celorlalte vârfuri ale hiperpolie-
drului de explorare.

Diferenţa faţă de metoda poliedrului constă ı̂ntr-o etapă su-


plimentară de extensie a poliedrului pe direcţia reflexiei favo-
rabile.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 180/316
Optimizarea Proceselor Chimice: Metoda poliedrului extensibil

Pentru iteraţia k, minimizarea functiei obiectiv f ob ( x ) decurge după următorul


algoritm:
1. se determină care din vârfurile hiperpoliedrului de explorare cores-
punde valorii celei mai mari şi respectiv valorii celei mai mici a funcţiei
obiectiv astfel:
  h      i
(k ) (k ) (k ) (k )
f x M = max f x1 , f x2 , . . . , f xn+1 (115)

şi
  h      i
(k ) (k ) (k ) (k )
f xm = min f x1 , f x2 , . . . , f xn+1 (116)

2. se calculează coordonatele centrului de greutate xW al vârfurilor hiper-


(k)
poliedrului, exceptând vârful xW :
" ! #
n +1
(k ) 1 (k ) (k )
xW =
n+1 ∑ xj − xM (117)
j =1

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 181/316
Optimizarea Proceselor Chimice: Metoda poliedrului extensibil

(k)
3. se reflectă” punctul de coordonate x M prin centrul de greutate xW , re-

zultând:  
(k ) (k ) (k ) (k )
x R = xW + α xW − x M (118)

unde coeficientul de reflexieα > 0. Se calculează valoarea funcţiei obiec-


(k )
tiv ı̂n punctul de reflexie, f x R .
   
(k ) (k )
4. dacă f x R 6 f xm , se trece la o extindere a reflexiei:
 
(k ) (k ) (k ) (k )
xE = xR +γ xR − xW (119)

unde γ > 1 este coeficientul


  de extindere.
 
(k ) (k ) (k ) (k )
În situaţia ı̂n care f x E < f xm , se ı̂nlocuieşte x M cu x R , după
care se trece la iteraţia
 următoare:
  k=  k + 1.
(k ) (k )
În situaţia ı̂n care f x R > f xm algoritmul continuă ı̂n următorul
mod:

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 182/316
Optimizarea Proceselor Chimice: Metoda poliedrului extensibil
(k ) (k )
5. dacă, ı̂n afară de x M există cel puţin ı̂ncă un punct xO pentru care:
     
(k ) (k ) (k )
f x R < f xO < f x M (120)

(k ) (k )
se ı̂nlocuieşte x M cu x R , după care se trece la iteraţia următoare: k =
k + 1.
6. dacă ı̂nsă un astfel de punct nu există, se efectuează o contracţie a refle-
xiei:  
(k ) (k ) (k ) (k )
x C = xW + β x M − xW (121)
(k ) (k )
unde 0 < β < 1 este coeficientul de contracţie. Se ı̂nlocuieşte x M cu xC ,
după care se trece la iteraţia următoare: k = k + 1.
   
(k ) (k )
7. dacă reflexia a fost total nefavorabilă, f x R > f x M se efectuează
o reducere a hiperpoliedrului de explorare conform relaţiei:
 
(k ) (k ) (k ) (k )
x j = xm + 0,5 x j − xm j = 1, . . . , n + 1 (122)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 183/316
Optimizarea Proceselor Chimice: Metoda poliedrului extensibil

Înainte de trecerea la o nouă iteraţie (revenire a pct.1 din algoritm) se efectuează


testele de stop. Un criteriu propus de Nelder şi Mead constă ı̂n satisfacerea
relaţiei:
r
n +1 h    i
1 (k ) (k ) 2

n + 1 j =1
f xj − f xW 6ε (123)

unde ε reprezintă precizia cerută.

Coeficienţii α, β, γ au o influenţă considerabilă asupra numărului total de


evaluări ale funcţiei obiectiv până la atingerea punctului de extrem cu preci-
zia dorită. Nelder şi Mead propun următoarele valori: α = 1, β = 0,5 şi γ = 2.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 184/316
Exemple: Compoziţia la echilibru a unui amestec gazos

În procedeul de obţinere a H2 SO4 prin procedeul de contact amestecul de gaze


ce intră ı̂n reactorul ce lucrează la temperatura de 500˚C şi presiunea de 1 atm.
are compoziţia:


 SO2 7,8 [%]v ,




O2 10,8 [%]v ,





 N
2 81,4 [%]v .
Să se calculeze compoziţia gazelor care ies din reactor prin metoda minimizării
entalpiei libere.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 185/316
Exemple: Compoziţia la echilibru a unui amestec gazos

Rezolvare:
Compoziţia la echilibru a unui amestec de N componente ı̂n fază gazoasă la
temperatura T şi presiunea P poate fi determinată prin minimizarea entalpiei
libere a amestecului. Dependenţa de presiune a entalpiei libere pentru specia i
se calculează cu relaţia:

ZP
0
∆GT,i = ∆GT,i + Vdp (124)
p0 =1

unde: ∆GT,i este entalpia liberă a speciei i la temperatura T şi presiunea P;


0
∆GT,i - entalpia liberă a speciei i la temperatura T şi presiunea
standard p0 ;
V - volumul.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 186/316
Exemple: Compoziţia la echilibru a unui amestec gazos

Considerând specia chimică i gaz ideal, ştiind că pentru un mol p V = R T,


relaţia anterioară devine:
ZP
0 dp 0
∆GT,i = ∆GT,i + RT = ∆GT,i + RT ln P (125)
p
p =1

Entalpia liberă a unui amestec gazos de N componente la temperatura T şi


presiunea P se calculează cu relaţia:
N
∆GT,am = ∑ ni ∆GT,i (126)
i =1

unde ni reprezintă numărul de moli din specia i.


Aplicând ipoteza gazelor ideale, din expresiile (125) şi (126) obţinem:
N  
0
∆GT,am = ∑ ni ∆GT,i + RT ln pi (127)
i =1

unde pi reprezintă presiunea parţială a speciei i.


UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 187/316
Exemple: Compoziţia la echilibru a unui amestec gazos

Înlocuind:
ni
pi = yi P = P (128)
N
∑ ni
i =1
unde yi este fracţia molară a speciei i, obţinem:
N h i
0
∆GT,am = ∑ ni ∆GT,i + RT ln (yi P) (129)
i =1

Prin ı̂mpărţirea la termenul RT obţinem:


" 0
#
N ∆GT,i
∆GT,am
= ∑ ni + ln P + ln (yi P) (130)
RT i =1
RT

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 188/316
Exemple: Compoziţia la echilibru a unui amestec gazos

Determinarea compoziţiei de echilibru implică minimizarea funcţiei obiectiv:


" 0
#
N ∆GT,i n
min f ob = ∑ ni + ln P + ln N i (131)
ni i =1
RT ∑ i =1 n i

cu respectarea restricţiilor date de legea conservării masei:


N
∑ ai,j ni = bj unde j = 1, . . . , M (132)
i =1

unde: ai,j este numărul de atomi ai elementului j conţinuţi de specia i;


bj - masa atomică totală iniţială din amestec a elementului j;
M - numărul total de specii atomice diferite.
Soluţia trebuie să conţină doar elemente pozitive, adică:

ni > 0 pentru i = 1, 2, . . . , N

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 189/316
Exemple: Compoziţia la echilibru a unui amestec gazos

Entalpia liberă a componentului i se calculează pe baza entalpiei şi entropiei:


0 0
∆GT,i = ∆HT,i + T ∆S0T,i (133)

Dependenţa cu temperatura a entalpiei şi entropiei componentului i este dată


de relaţiile:
ZT
0
∆HT,i = ∆HT00 ,i + c p,i dT (134)
T0

ZT
c p,i
∆S0T,i = ∆S0T0 ,i + dT (135)
T
T0

unde ∆HT00 ,i şi ∆S0T0 ,i sunt valorile ı̂n condiţii standard.


Căldura specifică c p,i a componentului i se exprimă cu ajutorul relaţiei de core-
lare de forma: γi
c p,i = αi + β i T + 2 (136)
T
unde αi , β i şi γi sunt constante specifice componentului i.
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 190/316
Exemple: Compoziţia la echilibru a unui amestec gazos

Prin substituirea relaţiilor (134), (135) şi (136), ı̂n urma integrării, din relaţia
(133) rezultă:
 
0 = ∆H 0 + T ∆S0 + α ln T
∆GT,i + (αi − β i T ) ( T − T0 ) +
T0 ,i T0 ,i i
T0
  (137)
βi γ 1 T
+ ( T − T0 )2 − i +
2 2 T − T0 ( T − T0 )2

Aplicaţie numerică
Reacţiile pe care le considerăm a avea loc ı̂n reactor sunt:
1
SO2 + O2 −→
←− SO3 (138)
2
1 1
N2 + O2 −→←− NO (139)
2 2
Calcularea compoziţiei la echilibru a amestecului se bazează pe datele termo-
dinamice ale componentelor, date care sunt prezentate ı̂n tabelul 6.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 191/316
Exemple: Compoziţia la echilibru a unui amestec gazos

Tabelul 6. Date termodinamice ale componentelor amestecului de reacţie

0
∆H298 0
∆S298 c p , [J/(mol·K)]
Componenta
[J/mol] [J/(mol·K)] α β · 103 γ · 10−5

O2 0 205,03 31,46 3,39 −3,77


N2 0 191,50 27,87 4,27 −
SO2 −296,900 248,11 42,55 12,55 5,65
SO3 −395,200 256,23 57,32 26,86 −13,05
NO 90,370 210,62 29,58 3,85 −0,59

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 192/316
Exemple: Compoziţia la echilibru a unui amestec gazos
Conform relaţiei (137) entalpia liberă a componentelor este:
!
0
T
∆GT,O2 = 0 + T 205,03 + 31,46 ln + (31,46 − 3,39 · 10−3 T ) ∆T +
T0
(140)
− 3 3,77 · 10 5 
3,39 · 10 2 1 T
+ ∆ T+ + 2 = 195.749,52
2 2 ∆T ∆ T
!
0
T
∆GT,N = 0 + T 191,50 + 27,87 ln + (27,87 − 4,27 · 10−3 T ) ∆T +
2 T0
(141)
4,27 · 10−3
+ ∆2 T = 180.716,58
2

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 193/316
Exemple: Compoziţia la echilibru a unui amestec gazos
!
0
T
∆GT,SO = −296900 + T 248,11 + 42,55 ln +
2 T0
12,55 · 10−3
+(42,55 − 12,55 · 10−3 T ) ∆T + ∆2 T − (142)
2
!
5,65 · 10 5 1 T
− + 2 = −56.740,60
2 ∆T ∆ T
!
0
T
∆GT,SO3 = −395200 + T 256,23 + 57,32 ln +
T0
26,86 · 10−3
+(57,32 − 26,86 · 10−3 T ) ∆T + ∆2 T + (143)
2
!
13,05 · 10 5 1 T
+ + 2 = −134.505,29
2 ∆T ∆ T

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 194/316
Exemple: Compoziţia la echilibru a unui amestec gazos
!
0
T
∆GT,NO = 90370 + T 210,62 + 29,58 ln +
T0
3,85 · 10−3
+(29,58 − 3,85 · 10−3 T ) ∆T + ∆2 T + (144)
2
!
0,59 · 10 5 1 T
+ + 2 = 288.045,37
2 ∆T ∆ T
unde T = 500 + 273 = 773 K şi ∆T = T − T0 = 773 − 298 = 475 K.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 195/316
Exemple: Compoziţia la echilibru a unui amestec gazos
În aceste condiţii funcţia obiectiv devine:
" !
195.749,52 n O2
min nO2 + ln P + ln +
nO2 , nN2 , RT ∑ ni
nSO2 , nSO3 , !
nNO 180.716,58 nN2
+ n N2 + ln P + ln +
RT ∑ in
!
-56.740,60 nSO2
+nSO2 + ln P + ln + (145)
RT ∑ ni
!
-134.505,29 nSO3
+nSO3 + ln P + ln +
RT ∑ ni
!#
288.045,37 nNO
+ nNO + ln P + ln
RT ∑ ni

unde:
∑ ni = nO2 + nN2 + nSO2 + nSO3 + nNO
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 196/316
Exemple: Compoziţia la echilibru a unui amestec gazos
Restricţiile la care este supusă această funcţie obiectiv sunt date de ecuaţiile de
bilanţ de masă pentru oxigen, azot şi sulf. Aceste relaţii sunt identificate pe
baza coeficienţilor ai,j şi b j prezentate ı̂n tabelul 7:

Tabelul 7. Coeficienţii ai,j şi bi ai


speciilor şi componentelor din amestec
H
HH i
O N S
j HHH

O2 2 0 0
N2 0 2 0
SO2 2 0 1
SO3 3 0 1
NO 1 1 0

bj 0,372 1,628 0,078

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 197/316
Exemple: Compoziţia la echilibru a unui amestec gazos

2 nO2 + 2 nSO2 + 3 nSO3 + nNO = 0,372


2 nN2 + nNO = 1,628 (146)
nSO2 + nSO3 = 0,078

Problema de optimizare este supusă la 3 restricţii şi are un număr de 5 variabile


de decizie. Putem să exprimăm din sistemul de restricţii 3 variabile de decizie
ı̂n funcţie de celelalte două, prin acesta putem reduce dimensionalitatea
problemei de la 5 variabile de decize la două. Fie aceste două variabile de
decizie nNO şi nSO3 . Expresiile de substituţie pentru nN2 , nSO2 şi nO2 sunt:

nN2 = 0,814 − 0,5 nNO


nSO2 = 0,078 − nSO3 (147)
nO2 = 0,108 − 0,5 nSO3 − 0,5 nN2

Rezolvarea acestei probleme s-a făcut utilizând funcţia fmins din MATLAB prin
scrierea unei funcţii externe ce calculează valoarea entalpiei libere a
amestecului de gaze ı̂n condiţiile prezentate ı̂n problemă. Funcţia este:
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 198/316
function y = AmGazR(x);
% Calculeaza valoarea entalpiei libere a
% amestecului de gaze la T=500 grd.C si P=1 atm.
%

% stabilirea constantelor
T = 500 + 273; % [K]
T0 = 298; % [K]
DT = T - T0; % [K]
P = 1; % [atm]
R = 8.314; % [J/(mol K)]

% identificarea variabilelor de decizie


nSO3 = x(1);
nNO = x(2);

% fixarea restrictiilor
nSO2 = 0.078 - nSO3;
nO2 = 0.108 - 0.5*nSO3 - 0.5*nNO;
nN2 = 0.814 - 0.5*nNO;
% calcularea entalpiei libere a componentilor
G_O2 = 0 + T*(205.03 + 31.46*log(T/T0)) + ...
(31.46 - 3.39e-3*T)*DT + 3.39e-3/2*DTˆ2 + ...
3.77e-5/2*(1/DT + T/DTˆ2);

G_N2 = 0 + T*(191.5 + 27.87*log(T/T0)) + ...


(27.87 - 4.27e-3*T)*DT + 4.27e-3/2*DTˆ2;

G_SO2 = -296900 + T*(248.11 + 42.55*log(T/T0)) + ...


(42.55 - 12.55e-3*T)*DT + 12.55e-3/2*DTˆ2 - ...
5.65e-5/2*(1/DT + T/DTˆ2);

G_SO3 = -395200 + T*(256.23 + 57.32*log(T/T0)) + ...


(57.32 - 26.86e-3*T)*DT + 26.86e-3/2*DTˆ2 + ...
13.05e-5/2*(1/DT + T/DTˆ2);

G_NO = 90370 + T*(210.62 + 29.58*log(T/T0)) + ...


(29.58 - 3.85e-3*T)*DT + 3.85e-3/2*DTˆ2 + ...
0.59e-5/2*(1/DT + T/DTˆ2);
% numarul total de moli
nT = nO2 + nN2 + nSO2 + nSO3 + nNO;

% calcularea elementelor din functia obiectiv


% cu impunerea domeniului de cautare >= 0
if nO2 <= 0
y1 = 1e10;
else
y1 = nO2*(G_O2/(R*T) + log(P) + log(nO2/nT));
end;

if nN2 <= 0
y2 = 1e10;
else
y2 = nN2*(G_N2/(R*T) + log(P) + log(nN2/nT));
end;
if nSO2 <= 0
y3 = 1e10;
else
y3 = nSO2*(G_SO2/(R*T) + log(P) + log(nSO2/nT));
end;

if nSO3 <= 0
y4 = 1e10;
else
y4 = nSO3*(G_SO3/(R*T) + log(P) + log(nSO3/nT));
end;

if nNO <= 0
y5 = 1e10;
else
y5 = nNO*(G_NO/(R*T) + log(P) + log(nNO/nT));
end;

% calcularea valorii functiei obiectiv


y = y1 + y2 + y3 + y4 + y5;
%PROGRAM pt. calcularea compozitiei la echilibru
% a amestecului gazos de reactie
%

% setare valori pt. structura OPTIONS


OPTIONS = optimset(’TolX’,1e-20, ...
’TolFun’,1e-20, ...
’MaxFunEvals’,1000);

% apelarea functiei fmins


c = fminsearch(’AmGazR’,[1e-3 1e-3],OPTIONS);

% identificarea solutiei obtinute


nSO3 = c(1);
nNO = c(2);
nSO2 = 0.078 - nSO3;
nO2 = 0.108 - 0.5*nSO3 - 0.5*nNO;
nN2 = 0.814 - 0.5*nNO;
% calcularea compozitiei de echilibru
nT = nO2+nN2+nSO2+nSO3+nNO;
cO2 = nO2/nT;
cSO2 = nSO2/nT;
cSO3 = nSO3/nT;
cNO = nNO/nT;
cN2 = nN2/nT;

% afisarea solutiei optime


disp([cO2 cSO2 cSO3 cNO cN2]’);
Exemple: Compoziţia la echilibru a unui amestec gazos
Soluţia identificată pe această cale este dată de următoarea compoziţie a
amestecului de gaze la ieşirea din reactor:


 SO2 4,263 · 10−11 [%]v ,







 O2 7,180 [%] v ,





N2 84,703 [%] v , (148)







 SO3 8,116 [%] v ,






 NO 4,433 · 10−6 [%]v .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 205/316
Metode de programare
Optimizarea Proceselor Chimice: Metode de programare

Metode de programare
sunt metode ce se aplică ı̂n situaţia ı̂n care funcţia
obiectiv şi restricţiile prezintă anumite forme de re-
prezentare specifice.
Principalele metode de programare sunt:
I programarea liniară,
I programarea dinamică,
I programarea pătratică,
I etc.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 207/316
Optimizarea Proceselor Chimice: Programarea liniară

Metoda de programare liniară a fost dezvoltat de George Danzig ı̂n 1947 şi se
referă la rezolvarea problemelor de optimizare ı̂n care atât funcţia obiectiv cât
şi restricţiile sunt expresii liniare ı̂n raport cu variabilele de decizie.
În cadrul acestor probleme se minimizează funcţii obiectiv de forma:
n
min f ob = ∑ ci xi (149)
x i =1

supuse la sistemul de restricţii:


n
∑ aij xi 6 bj j = 1, 2, . . . , l (150)
i =1

n
∑ aij xi = bj j = l + 1, . . . , m (151)
i =1
unde
xi > 0 i = 1, 2, . . . , n (152)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 208/316
Optimizarea Proceselor Chimice: Programarea liniară

Astfel de probleme de optimizare sunt ı̂n general tipice sistemelor economice


cum ar fi problemele de alocare optimă de resurse, optimizarea transporturilor,
optimizarea deciziilor, etc.
În ingineria chimică astfel de probleme sunt mai rare, ı̂n mare parte datorate
faptului că procesele respective nu pot fi redate prin expresii liniare. Totuşi pro-
bleme de optimizare cu expresii ale funcţiei obiectiv şi ale restricţiilor de tipul
arătat, apar ı̂n ingineria chimică ı̂n general ı̂n situaţia ı̂n care modelele mate-
matice ale fenomenelor sunt liniarizare ori rezultă din analiza de regresie ı̂ntr-o
astfel de formă. De asemenea, sunt comune şi problemele de calcul concentraţii
ori amestecuri, ce ı̂n anumite situaţii duc tot la probleme rezolvabile prin pro-
gramare liniară.
Împortanţă rezolvării problemelor de programare liniară derivă din faptul că
prin această metodă pot fi rezolvate probleme cu nu număr deosebit de mare
de variabile şi restricţii, permiţând pe această cale abordarea optimizări unor
sisteme mari (grupuri de instalaţii, platforme industriale, ş.a.m.d.).

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 209/316
Optimizarea Proceselor Chimice: Programarea liniară

Conform relaţiei (149), prin derivarea funcţiei obiectiv ı̂n raport cu variabilele
de decizie se obţine:
∂f
= ci (153)
∂xi
Se observă că aplicarea metodelor analitice clasice nu este posibilă deoarece
derivatele nu sunt dependente de variabilele de decizie ci sunt egale cu nişte
constante.
Pentru identificarea unei soluţii ı̂ntr-o astfel de situaţie, singura posibilitate
este ca aceasta să fie situată pe limita domeniului admis definit de sistemul
de restricţii.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 210/316
Programarea liniară: Exemplu

O firmă dispune de două tehnologii ce permit obţinerea a două


produse, P1 şi P2 utilizând două materii prime, M1 şi M2 .

Consumurile specifice din cele două materii prime sunt de:


I 1 kg M1 /kg P1 şi 3 kg M2 /kg P1 , respectiv
I 2 kg M2 /kg P1 şi 1 kg M2 /kg P2 .

Dacă beneficiile obţinute prin valorificarea produselor fabricate


sunt de 150 lei/kg P1 respectiv 100 lei/kg P2 să se determine can-
tităţile ce urmează a fi obţinute din cele două produse utilizând
100 kg materie primă M1 şi 150 kg materie primă M2 ı̂n aşa fel
ı̂ncât beneficiul obţinut să fie maxim.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 211/316
Programarea liniară: Exemplu

Rezolvare:
Formularea matematică a acestei probleme de alocare optimă a resurselor este
dată de funcţia obiectiv:

max f ob = 150 x1 + 100 x2 (154)


x
supusă la restricţiile:
x1 + 2 x2 6 100
(155)
3 x1 + x2 6 150
x1 , x2 > 0
unde x1 şi x2 reprezintă cantităţile obţinute din cele două produse, P1 şi P2 .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 212/316
Programarea liniară: Exemplu

x2
Figura 23. Rezolvarea grafică
ı̂n programarea liniară.
150

Din reprezentarea grafică se observă că


soluţia optimă este cea dată de un vârf

x1 +
2 x2
al domeniului de căutare, vârful C de 100

6 10

f ob
f ob
∗ =
coordonate sunt x1∗ = 40 şi x2∗ = 30.

=
0

15
9.0

.00
00

0u
u.a
Valoarea funcţiei obiectiv pentru care

.a.
.
dreapta prin care ea este reprezentată B
50
intersectează domeniul de căutare este
x2∗ b
C
de 9.000 lei şi reprezintă beneficiul ma- 3x
1 +
x
2 6
xim realizabil. 150

0
A x1∗ 50 D 100 x1

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 213/316
Optimizarea Proceselor Chimice: Programarea liniară

Din acest exemplu putem observă că există 4 situaţii posibile:


1. soluţie unică - cazul cel mai dorit, identic cu cea ce se observă ı̂n exemplul
anterior (fig. 23). În această situaţie există o soluţie unică ce corespunde
unui vârf al domeniului de căutare.
2. soluţie multiplă (fig. 24.a) - apare atunci când funcţia obiectiv prin transla-
tare se poate suprapune peste una din restricţii. În această situaţie toate
punctele de-a lungul acestei restricţii, pe limitele dictate de domeniul de
căutare, vor avea ca rezultat acceaşi valoare a funcţiile obiectiv. Toate
punctele din acest domeniu (x1 , x2 ) vor fi soluţii ale problemei de opti-
mizare.
3. soluţie nemărginită (fig. 24.b) - dacă sistemul de restricţii formează un do-
meniu de căutare nemărginit atunci soluţie problemei este la infinit.
4. soluţie imposibilă (fig. 24.c) - dacă sistemul de restricţii formează un do-
meniu de căutare vid, problema nu are soluţie.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 214/316
Optimizarea Proceselor Chimice: Programarea liniară

a b c

Figura 24. Soluţii posibile ı̂n programarea liniară:


a - soluţii multiple; b - soluţie nemărginită; c - soluţie imposibilă.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 215/316
Optimizarea Proceselor Chimice: Programarea liniară

Problemele de optimizare rezolvabile prin programare liniară sunt mult prea


complexe pentru a putea fi rezolvate geometric. Rezolvarea acestor probleme
se face prin metode algebrice.

Rezolvare algebrică
Algoritmul algebric de rezolvare a problemelor de programare liniară include
două etape:
Pasul 1. determinarea iniţială a unei soluţii de bază admise;
Pasul 2. schimbarea soluţiei de bază admise, cu o alta, până la
determinarea punctului de optim.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 216/316
Optimizarea Proceselor Chimice: Programarea liniară

Pasul 1. În cadrul acestui pas, se efectuează următoarele operaţii:


a) Aducerea problemei la forma standard.
Transformăm restricţiile de tip inegalitate ı̂n restricţii de tip egalitate conform
relaţiilor:
n n
∑ aij xi 6 b j =⇒ ∑ aij xi + xn+ j = b j sau
i =1 i =1
(156)
n n
∑ aij xi > b j =⇒ ∑ aij xi − xn+ j = b j pentru j = 1, 2, . . . , l
i =1 i =1

prin adăugarea unor variabile fictive xn+1 , . . . , xn+l cu respectarea condiţiei


de nonnegativitate xn+ j > 0 pentru j = 1, 2, . . . , l.
În urma acestei etape obţinem o problemă de optimizare ı̂n care avem N=n+l
variabile de decizie (n variabile de decizie iniţiale plus cele l variabile de
decizie fictive adăugate pentru convertirea restricţiilor de tip inegalitate la
restricţii de tip egalitate) supuse la m restricţii de tip egalitate.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 217/316
Optimizarea Proceselor Chimice: Programarea liniară

b) Identificarea unei soluţii de bază iniţiale.


Sistemul de restricţii include m ecuaţii şi N variabile. Ca urmare N − m varia-
bile pot fi alese arbitrar, celelalte m variabile fiind astfel complet determinate.
Dacă luăm cele N − m variabile egale cu zero şi calculăm celelalte m variabile
din sistemul de restricţii, obţinem o soluţie a sistemului ce se numeşte soluţie
de bază, ı̂n care cele m variabile determinate constituie baza soluţiei de bază,
iar cele N − m variabile egale cu zero constituie non-baza soluţiei de bază.
Dacă soluţia de bază astfel determinată are elementele din bază non-negative,
soluţia de bază se numeşte soluţie de bază admisă, şi pentru domeniul de cău-
tare corespunde unui vârf.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 218/316
Optimizarea Proceselor Chimice: Programarea liniară

Pasul 2. Pentru ı̂mbunătăţirea soluţiei iniţiale se efectuează operaţiile:


a) Rearanjarea restricţiilor şi a funcţiei obiectiv.
Pornind de la restricţii, se exprimă variabilele din non-baza soluţiei de bază ı̂n
funcţie de variabilele din baza soluţiei de bază. De asemenea se rearanjează
funcţia obiectiv ı̂n aşa fel ı̂ncât să fie exprimată doar ı̂n funcţie de variabilele
din baza soluţie de bază.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 219/316
Optimizarea Proceselor Chimice: Programarea liniară

b) Deplasarea ı̂ntr-un alt vârf al domeniului de căutare cu scopul de a ame-


liora valoarea funcţiei obiectiv.
Această deplasare se va efectua ı̂ntr-un vârf alăturat al domeniului de căutare
prin modificarea unei variabile din non-bază. Pentru alegerea variabilei ce
urmează să fie modificată se analizează expresia funcţiei obiectiv.

Pentru a mări valoarea funcţiei obiectiv, cu scopul de a maximiza valoarea


sa, trebuie să creştem valoarea variabilei cu coeficient pozitiv (ı̂n situaţia ı̂n
care avem mai multe variabile cu coeficient pozitiv, cea mai bună cale este
alegerea variabilei cu coeficientul pozitiv cel mai mare).

Pentru a micşora valoarea funcţiei obiectiv, cu scopul de a minimiza valoa-


rea sa, trebuie să mărim valoarea variabilei cu coeficient negativ (ı̂n situaţia
ı̂n care avem mai multe variabile cu coeficient negativ se alege variabila de
decizie ce prezintă valoarea negativă cea mai mare).

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 220/316
Optimizarea Proceselor Chimice: Programarea liniară

Observaţie: Mărirea valorii acestei variabile se face până la limita la


care nici una din variabilele din bază nu devine negativă.
Pe această cale se identifică o nouă soluţie de bază
admisă ce corespunde unui vârf alăturat vârfului curent
al domeniului de căutare, vârf ı̂n care avem cea mai
favorabilă valoare a funcţiei obiectiv.

Pasul 2 este reluat atât timp cât există posibilitatea unei ı̂mbunătăţiri a valorii
funcţiei obiectiv.
Acest lucru este posibil căt timp ı̂n expresia funcţiei obiectiv există variabile de
decizie cu coeficient pozitiv ı̂n situaţia căutării unui maxim, sau căt timp există
variabile de decizie cu coeficient negativ, ı̂n situaţia căutării unui minim.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 221/316
Programarea liniară: Algoritmul Simplex

Algoritmul Simplex
Algoritmul Simplex reprezintă o algoritmizare a metodei
algebrice prezentate pentru a putea fi utilizat pe calculator.

Se porneşte de la un tablou ı̂n care sunt introduse toţi


coeficienţii din funcţia obiectiv şi din sistemul de restricţii,
denumit tablou simplex (tabelul 8).

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 222/316
Programarea liniară: Algoritmul Simplex

Tabelul 8. Tabloul Simplex

x1 x2 ... xn x n +1 x n +2 ... xn+l b

a1,1 a1,2 ... a1,n 1 0 ... 0 b1


a2,1 a2,2 ... a2,n 0 1 ... 0 b2
.. .. .. .. .. .. .. .. ..
. . . . . . . . .
al,1 al,2 ... al,n 0 0 ... 1 bl

al +1,1 al +1,2 ... al +1,n 0 0 ... 0 bl +1


al +2,1 al +2,2 ... al +2,n 0 0 ... 0 bl +2
.. .. .. .. .. .. .. .. ..
. . . . . . . . .
am,1 am,2 ... am,n 0 0 ... 0 bm

c1,1 c1,2 ... c1,n 0 0 ... 0 f ob

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 223/316
Programarea liniară: Algoritmul Simplex

Se porneşte de la o soluţie fesabilă/admisă iniţială, pentru care funcţia obiectiv


şi restricţiile sunt scrise sub forma:

n+m
− f ob = − ∑ c i x i = − bm +1 (157)
i =1

n+m
∑ aij xi = b j , j = 1, . . . , m (158)
i =1
Dacă x1 , x2 , ..., xn sunt variabilele din non-bazei (care au valoarea zero) iar
xn+1 , xn+2 , ..., xn+m sunt variabilele din bază (cele calculate pe baza restricţii-
lor ı̂n funcţie de variabilele din non-bază) se ı̂ntocmeşte corespunzător soluţiei
iniţiale de bază, relaţiile (157) şi (158), următorul tabel:

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 224/316
Programarea liniară: Algoritmul Simplex

ITERAŢIA 0 x1 x2 ... xn b

x n +1 a11 a12 ... a1n b1


x n +2 a21 a22 ... a2n b2
.. .. .. .. .. ..
. . . . . .
xn+m am1 am2 ... amn bm

f − c1 − c2 ... −cn bm +1

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 225/316
Programarea liniară: Algoritmul Simplex

Trecerea de la un vârf la altul al hiperpoliedrului ce delimi-


tează domeniul de căutare admis până la vârful ce corespun-
de soluţiei problemei de optimizare corespunde cu o serie de
transformări ı̂n cadrul acestui tabel de date.
Pentru fiecare iteraţie ı̂n cadrul algoritmului Simplex se fac
următoarele operaţii:
1. se determină coloana corespunzătoare variabilei ce va
intra ı̂n bază;
2. se determină linia corespunzătoare a variabilei ce iese
din bază;
3. se interschimbă poziţia variabilelor respective şi se re-
calculează coeficienţii din tabel astfel ı̂ncât să cores-
pundă noii soluţii de bază.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 226/316
Programarea liniară: Algoritmul Simplex

Detailarea algoritmului este următoarea:


1. se va caută ı̂n caz de maximizare ı̂n ultima linie a tabelului coeficientul cu
cea mai mare valoare negativă (ı̂n caz de minimizare - coeficientul cu cea
mai mare valoare pozitivă). Coloana corespunzătoare indică variabila
care va intra ı̂n bază şi se mai numeşte şi coloana pivot;
2. pentru determinarea variabilei ce iese din bază se identifică pe coloana
pivotului poziţia coeficientului pozitiv pentru care raportul dintre ter-
menul liber corespunzător şi coeficient este cel mai mic. Acest coeficient
este denumit pivot. Linia corespunzătoare acestui coeficient corespunde
variabilei ce urmează să iasă din baza şi se mai numeşte şi linia pivot.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 227/316
Programarea liniară: Algoritmul Simplex

3. Conform schimbării reciproce a poziţiei relative a celor două variabile se


vor interschimba simbolurile lor din prima linie respectiv prima coloană
a tabelului. Recalcularea coeficienţilor are loc astfel:
• noua valoare a pivotului este 1/α pq
• noile valori ale celorlalţi coeficienţi de pe linia pivotului sunt
α pj /α pq
• noile valori ale celorlalţi coeficienţi de pe coloana pivotului sunt
−αiq /α pq
• noile valori ale celorlalţi coeficienţi sunt αij − α pj αiq /α pq .
(ı̂n aceste relaţii p este indicele liniei pivotului, q indicele coloanei
pivotului, α pq valoarea pivotului, iar αij valoarea coeficientului
situat pe linia i, coloana j, unde i 6= q şi j 6= p ).

Repetarea acestor etape este făcută până când toţi coeficienţii de pe ultima linie
a tabelului situate pe coloanele variabilelor au acelasi semn (pozitiv pentru ma-
ximizare, negativ pentru minimizare).
UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 228/316
Programarea liniară: Exemplu

Să se maximizeze funcţia obiectiv:

f ob = 2x1 + 3x2 (159)

supusă la restricţiile:

− x1 + 2x2 6 6
2x1 + x2 6 8 (160)
2x1 − x2 6 4

şi x1 , x2 > 0.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 229/316
Programarea liniară: Exemplu

Rezolvare:
Prin introducerea variabilelor fictive x3 , x4 şi x5 se obţine:

max f ob = 2 x1 + 3 x2 + 0 x3 + 0 x4 + 0 x5 (161)
x
supusă la restricţiile
− x1 + 2x2 + x3 = 6
2x1 + x2 + x4 = 8 (162)
2x1 − x2 + x5 = 4
şi x1 , x2 , x3 , x4 şi x5 > 0.
Solutia de bază admisă evidentă este dată de non-baza x1 = 0, x2 = 0, iar din sis-
temul de restricţii rezultă valorile variabilelor din baza soluţiei de baza admise
x3 = 6, x4 = 8, x5 = 4.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 230/316
Programarea liniară: Exemplu

Problema de optimizare este transpusă ı̂n tabel, conform


algoritmului Simplex, ı̂n felul următor:

ITERAŢIA 0 x1 x2 b

x3 −1 2 6
x4 2 1 8
x5 2 −1 4

f −2 −3 0

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 231/316
Programarea liniară: Exemplu

ITERAŢIA 1 x1 x3 b

x2 − 12 1
2 3

1·(−1) 5
x4 2− 2 = 2 − 12 8− 1·6
2 =5

(−1)·(−1) 3 1 6·(−1)
x5 2− 2 = 2 2 4− 2 =7
3 6·(−3)
f −2 − 2 = − 72 3
2 0− 2 =9

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 232/316
Programarea liniară: Exemplu

ITERAŢIA 2 x4 x3 b
    
x2 − 12 · − 25 = 1
5
1
2 − − 12 · − 12 25 = 2
5 3 + 5 12 · 2
5 =4

5
x1 2 − 12 · 2
5 = − 15 5 25 = 2

  
3
x5 2· − 5 = − 35
2 1
2− 32 · − 12 · 25 = 11
10 7 − 5 32 · 2
5 =4
    
f − 2 · − 5 = 75
7 2 3
2 − − 72 · − 12 · 25 = 4
5 9−5 − 72 · 2
5 = 16

Căutarea se termină deoarece toţi coeficienţii variabilelor din funcţia obiectiv sunt pozi-
tivi. Soluţia problemei este: x1∗ = 2, x2∗ = 4, x3∗ =0 şi f ob
∗ = 16.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 233/316
Exemple: Determinarea căilor optime de aprovizionare

Un combinat chimic dispune de 3 secţii S1 , S2 şi S3 . Materia primă necesară


funcţionării celor trei secţii poate fi obţinută de la doi furnizori F1 şi F2 .

Tabelul 9. Date privind aprovizionarea combinatului

Cheltuieli de transport Necesar


F1 F2
[u.v./t] [t]

S1 20 30 60
S2 30 35 15
S3 20 25 30

Disponibil, [t] 70 40

Să se determine planul optim de aprovizionare, ı̂n aşa fel ı̂ncât să avem chel-
tuieli minime de transport.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 234/316
Programarea liniară: Exemplu

Rezolvare:
Modelul matematic al procesului de optimizat include următoarele ecuaţii:

m1,1 + m1,2 + m1,3 = MF1

m2,1 + m2,2 + m2,3 = MF2

20 m1,1 + 30 m1,2 + 20 m1,3 = C1

30 m2,1 + 35 m2,2 + 25 m2,3 = C2

m1,1 + m2,1 = MS1

m1,2 + m2,2 = MS2

m1,3 + m2,3 = MS3

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 235/316
Programarea liniară: Exemplu

unde: mi,j reprezintă cantităţile de materia primă transportată de la furnizorul


i la secţia j, [t];
MFi - cantitatea totală transportată de la furnizorul i, [t];
Ci - costul aprovizionării de la furnizorul i, [u.v.];
M Si - cantitatea totală cu care s-a aprovizionat secţia i, [t].

Din lista de variabile utilizate ı̂n modelul matematic al sistemului de optimizat,


alegem cantităţile cu care se aprovizionează de la furnizori secţiile combinatului,
adică variabilele mi,j , ca variabile de decizie.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 236/316
Programarea liniară: Exemplu

Făcând notaţiile, x1 = m1,1 , x2 = m1,2 , x3 = m1,3 , x4 = m2,1 , x5 = m2,2 şi


x6 = m2,3 , funcţia obiectiv devine:

min f ob = 20 x1 + 30 x2 + 20 x3 + 30 x4 + 35 x5 + 25 x6 (163)
x
fiind supusă la restricţiile:

x1 + x2 + x3 6 70
x4 + x5 + x6 6 40
x1 + x4 = 60 (164)

x2 + x5 = 15
x3 + x6 = 30

x1 , x2 , x3 , x4 , x5 , x6 > 0

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 237/316
Exemple: Planul optim de producţie

Într-o instalaţie ce produce insecticide, ı̂n nomenclatorul de fabricaţie există la un


moment dat două produse, P1 şi P2 . Fiecare din aceste produse ı̂nglobează trei
materii prime M1 , M2 şi M3 .

Tabelul 10. Date pentru instalaţia de insecticide

Consum specific Disponibil


P1 P2
[kg/t] [t]

M1 200 400 20
M2 600 300 40
M3 200 300 30

Beneficiul, [u.v./t] 8 6

Cunoscând datele din tabelul 10, să se determine planul optim de producţie, ast-
fel ı̂ncât beneficiul realizat să fie maxim.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 238/316
Exemple: Planul optim de producţie

Rezolvare:
Modelul matematic al sistemului de optimizat include următoarele ecuaţii:

c1,1 m1 + c1,2 m2 = M M1

c2,1 m1 + c2,2 m2 = M M2

c3,1 m1 + c3,2 m2 = M M3

b1 m1 + b2 m2 = B

unde: mi reprezintă cantităţile de produs i obţinute, [t];


ci,j - consumul specific de materie primă i necesară la fabrica-
rea produsului j, [t/t];
M Mi - cantitatea de materie primă i consumată, [t];
bi - beneficiul realizat prin valorificarea produsului i, [u.v./t];
B - beneficiul total, [u.v.].

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 239/316
Exemple: Planul optim de producţie

Alegem cantităţile m1 şi m2 de produse fabricate ca variabile de decizie.


Notând x1 = m1 şi x2 = m1 funcţia obiectiv a problemei de optimizare este:

max f ob = 8 x1 + 6 x2 (165)
x
fiind supusă la următoarele restricţii:

0,2 x1 + 0,4 x2 6 20
0,6 x1 + 0,3 x2 6 40 (166)

0,2 x1 + 0,3 x2 6 30

x1 , x2 > 0
Problema este rezolvabilă prin programare liniară şi are un număr de 2 varia-
bile de decizie şi 2 restricţii de tip inegalitate.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 240/316
Exemple: Planul optim de producţie

Transformăm restricţiile de tip inegalitate ı̂n restricţii egalitate prin introduce-


rea unor variabile fictive:

0,2 x1 + 0,4 x2 + x3 = 20
0,6 x1 + 0,3 x2 + x4 = 40 (167)

0,2 x1 + 0,3 x2 + x5 = 30

x1 , x2 , x3 , x4 , x5 > 0
Făcând un scurt inventar constatăm că avem 5 variabile de decizie şi 2 restricţii.
Prin urmare, pentru obţinerea unei soluţii de bază admise, anulăm 5 − 3 = 2
variabile de decizie.
O soluţia de bază admisă implicită este cea obţinută prin anularea variabilelor
x1 şi x2 .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 241/316
Exemple: Planul optim de producţie

Pentru această soluţie de bază admisă formăm tabloul Simplex:

Iteraţia 0 x1 x2 b

x3 0,2 0,4 20
x4 0,6 0,3 40
x5 0,2 0,3 30

f ob −8 −6 0
Observaţie: Linia şi coloana evidenţiată
reprezintă linia şi coloana pivotului

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 242/316
Exemple: Planul optim de producţie

Iteraţia 1 x4 x2 b

x3 − 0,2
0,6 = −0,333 0,4− 0,20,6
·0,3
=0,3 20− 0,20,6·40 =6,666

1 0,3 40
x1 0,6 =1,666 0,6 =0,5 0,6 =66,666

x5 − 0,2
0,6 = −0,333 0,3− 0,20,6
·0,3
=0,2 30− 0,20,6·40 =16,666
8 0,3·(−8) (−8)·40
f ob −−
0,6 =13,333 −6 − 0,6 = −2 0− 0,6 =533,333

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 243/316
Exemple: Planul optim de producţie

Iteraţia 2 x4 x3 b
−0,333 1 6,666
x2 0,3 = −1,11 0,3 =3,333 0,3 =22,22

x1 1,666− −0,33
0,3
·0,5
=2,22 − 0,5
0,3 = −1,666 66,666− 6,66 ·0,5
0,3 =55,555

x5 −0,333− −0,33
0,3
·0,2
= −0,11 − 0,2
0,3 = −0,666 16,666− 6,66 ·0,2
0,3 =12,22
−(0,33)·(−2)
f ob 13,333− 0,3 =11,11 −− 2
0,3 =6,66 533,333− −20,3
·6,66
=577,77

O ı̂mbunătăţire ulterioră a soluţiei curente nu mai este posibilă deoarece toţi coeficienţii
funcţiei obiectiv din tabel sunt negativi.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 244/316
Exemple: Planul optim de producţie

Astfel soluţia problemei de optimizare este:




 x1 = 55,55





 x2 = 22,22



x3 = 0





 x4 = 0




 x = 12,22
5

cu valoarea maximă a beneficiului de 577,777 u.v..

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 245/316
Optimizarea Proceselor Chimice: Programarea dinamică

Există probleme, ce nu sunt specifice doar ingineriei chimice, ı̂n care funcţia obiectiv
depinde nu de variabile de decizie ci de funcţii necunoscute de una sau mai multe
variabile independente, funcţii care trebuiesc determinate astfel ı̂ncât să permită
identificarea unui extrem al funcţiei obiectiv.
Astfel de probleme apar ı̂n problemele de optimizare ale sistemelor cu parametri
distribuiţi şi ı̂n optimizarea sistemelor dinamice.
De exemplu, concentraţia produsului valoros la ieşirea dintr-un reactor tubular
ı̂n care au loc reacţii succesive, depinde de profilul de temperatură T (z), unde
z reprezintă coordonata pe lungimea reactorului.
Soluţia unei astfel de probleme nu este dată de o valoare optimă T ∗ a temperaturii
ci de o funcţie optimă T ∗ (z) (fig. 25).
Astfel de probleme de optimizare implică, ı̂n loc de calcularea unei valori optime,
identificarea unei politici optime de variaţie a valorii variabilei de decizie ı̂n timp
sau spaţiu.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 246/316
Optimizarea Proceselor Chimice: Programarea dinamică

T∗

Fi , ci Fe , ce
Reactor tubular

Figura 25. Profilul optim de temperatură


ı̂ntr-un reactor tubular.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 247/316
Optimizarea Proceselor Chimice: Programarea dinamică

Problemă de opţiune:

Care este modul ı̂n care trebuie să varieze parametri, astfel ı̂ncât optimul determinat
ı̂n fiecare etapă de desfaşurare a procesului să ne ducă la un optim global?

În ingineria chimică, astfel de probleme pot fi cele care necesită:


I determinarea unei funcţii de variaţie optimă a unui parametru ı̂n spaţiu:
• identificarea unui profil optim de variaţie a temperaturii ı̂ntr-un reac-
tor tubular (fig. 25) cu scopul maximizării concentraţiei produsului de
reacţie ı̂n fluxul de evacuare;
• identificarea modurilor optime de operare ale utilajelor din cadrul unei
linii tehnologice cu scopul maximizării funcţionării ı̂ntregului sistem.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 248/316
Optimizarea Proceselor Chimice: Programarea dinamică

I determinarea unei funcţii de variaţie optimă a unui parametru ı̂n timp:


• identificarea profilului optim de variaţie a temperaturii ı̂ntr-un reac-
tor discontinuu cu scopul maximizării productivităţii prin reducerea
duratei unei şarje;
• identificarea secventei optime de comenzi ı̂ntr-un sistem, care permite
minimizarea duratei anulării efectului unei perturbaţii.

În astfel de situaţii, se impune alegerea unor politici optime - funcţie de timp sau de
spaţiu care ia locul variabilelor independente din cazurile anterioare.
Rezolvarea acestor tipuri de probleme necesită să determinăm optimul unei funcţii
de funcţii.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 249/316
Optimizarea Proceselor Chimice: Programarea dinamică

Principiul de optimalitate
Programarea dinamică se aplică ı̂n situaţiile ı̂n care trebuie luate o
serie de decizii care trebuie să optimizeze un sistem compus dintr-
o serie de etape/porţiuni distincte, cu condiţia ca aceste decizii
luate pentru o anumită etapă să nu afecteze etapele anterioare.
Principiul de optimalitate care stă la baza programării dinamice
este acela că:
politica optimă are proprietatea că, oricare ar fi starea iniţială
şi decizia iniţială, deciziile rămase trebuie să constituie o stra-
tegie optimă ı̂n raport cu starea care rezultă din prima decizie -
(Richard Bellman).
Programarea dinamică presupune că sistemul de optimizat este
aciclic şi poate fi defalcat ı̂ntr-o serie de stadii sau de trepte ce se
succed ı̂n timp ori ı̂n spaţiu (fig. 26).

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 250/316
Optimizarea Proceselor Chimice: Programarea dinamică

d1 d2 di d n −1 dn
? ? ? ? ?
- 1 - 2 - ... - i - ... - n-1 - n -
x0 x1 x2 x i −1 xi x n −2 x n −1 xn

Figura 26. Structura unui sistem aciclic pentru


aplicarea programării dinamice.
xi pentru i = 0, . . . , n - vector de stare
di pentru i = 1, . . . , n - vector de decizie.

Orice decizie luată la o treaptă ori stadiu, conform structurii aciclice a sistemu-
lui, nu poate influenţa decât treptele/stadiile situate la aval de ea.
Pe baza principiului optimalităţii mersul general al programării dinamice
ı̂ncepe cu optimizarea ultimei trepte/stadii.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 251/316
Optimizarea Proceselor Chimice: Programarea dinamică

1 2 i n-1 n Sistemul aciclic


de optimizat

Treapta I - optimizarea
1 2 i n-1 n
ultimei etape

Treapta II - optimizarea
1 2 i n-1 n
ultimelor două etape
Figura 27. Schema
programării dinamice
n
Treapta i - optimizarea pentru un sistem format
1 2 i n-1
ultimelor i etape din n etape.

Treapta n-1 - optimizarea


1 2 i n-1 n
ultimelor n-1 etape

Treapta n - optimizarea
1 2 i n-1 n
ı̂ntregului sistem

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 252/316
Programarea dinamică: Exemplu

Fie o linie tehnologică formată din trei utilaje. Aceste utilaje sunt: un preı̂ncălzitor P, un
reactor R şi un separator S (prezentate ı̂n figura 28).
Se cere identificarea modurilor optime de operare ale celor trei utilaje astfel ı̂ncât
obţinerea produsului dorit să aibă loc cu un cost minim al energiei utilizate ı̂n sistem.

Debit agent Debit agent de Debit abur pentru Variabile de


de ı̂ncălzire schimb termic coloana de distilare decizie locale

Preı̂ncălzitor Reactor Separator

Criteriu local
cost abur cost apă de răcire cost abur
de optimizare
| {z }
costul energiei utilizate de ı̂ntreaga instalaţie Criteriu global
de optimizare
Figura 28. Linie tehnologică formată din 3 utilaje.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 253/316
Programarea dinamică: Exemplu

Conform criteriului de optimizare urmărit, costurile energiei utilizate


ı̂n instalaţie sunt prezentate ı̂n figura 29.

Observaţie: Pentru o mai uşoară ı̂nţelegere a principiului opti-


mului s-a considerat că fiecare utilaj poate fi operat ı̂n 3 mo-
duri distincte la care corespund 3 niveluri de costuri cu ener-
gia utilizată. Astfel preı̂ncălzitorul poate fi operat ı̂n modurile
P1 , P2 şi P3 , reactorul ı̂n modurile R1 , R2 şi R3 , iar separatorul
ı̂n modurile S1 , S2 şi S3 .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 254/316
Programarea dinamică: Exemplu

3 5 2 Preı̂ncălzitor

2 3 6 2 3 1 4 5 3 Reactor

5 4 2 5 6 4 5 4 1 2 4 3 6 2 3 5 6 4 4 2 3 7 3 5 5 6 4 Separator

Figura 29. Costurile energiei utilizate ı̂n instalaţie.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 255/316
Programarea dinamică: Exemplu

Rezolvare
Pentru un astfel de sistem, există trei modalităţi de operare cu
scopul obţinerii unui optim global:

A. Operarea fiecărui utilaj la optimul local


B. Operare cu identificarea modului optim de operare pornind
de la intrare
C. Operare cu identificarea modului optim pe baza principiului
optimalităţii

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 256/316
Programarea dinamică: Exemplu

3 5 2 Preı̂ncălzitor

2 3 6 2 3 1 4 5 3 Reactor

5 4 2 5 6 4 5 4 1 2 4 3 6 2 3 5 6 4 4 2 3 7 3 5 5 6 4 Separator

Figura 30. Costul minim al energiei - modul de calcul A.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 257/316
Programarea dinamică: Exemplu

3 5 22 Preı̂ncălzitor

2 3 6 2 3 1 4 5 3 Reactor

5 4 2 5 6 4 5 4 1 2 4 3 6 2 3 5 6 4 4 2 3 7 3 5 5 6 4 Separator

Figura 30. Costul minim al energiei - modul de calcul A.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 258/316
Programarea dinamică: Exemplu

3 5 22 Preı̂ncălzitor

2 3 6 2 3 11 4 5 3 Reactor

5 4 2 5 6 4 5 4 1 2 4 3 6 2 3 5 6 4 4 2 3 7 3 5 5 6 4 Separator

Figura 30. Costul minim al energiei - modul de calcul A.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 259/316
Programarea dinamică: Exemplu

3 5 22 Preı̂ncălzitor

2 3 6 2 3 11 4 5 3 Reactor

5 4 2 5 6 4 5 4 1 2 4 3 6 2 3 5 6 4 4 2 3 7 3 5 5 6 4 Separator

Figura 30. Costul minim al energiei - modul de calcul A.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 260/316
Programarea dinamică: Exemplu

3 5 2 Preı̂ncălzitor

2 3 6 2 3 1 4 5 3 Reactor

5 4 2 5 6 4 5 4 1 2 4 3 6 2 3 5 6 4 4 2 3 7 3 5 5 6 4 Separator

Figura 31. Costul minim al energiei - modul de calcul B.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 261/316
Programarea dinamică: Exemplu

3 5 22 Preı̂ncălzitor

2 3 6 2 3 1 4 5 3 Reactor

5 4 2 5 6 4 5 4 1 2 4 3 6 2 3 5 6 4 4 2 3 7 3 5 5 6 4 Separator

Figura 31. Costul minim al energiei - modul de calcul B.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 262/316
Programarea dinamică: Exemplu

3 5 22 Preı̂ncălzitor

2 3 6 2 3 1 4 5 33 Reactor

5 4 2 5 6 4 5 4 1 2 4 3 6 2 3 5 6 4 4 2 3 7 3 5 5 6 4 Separator

Figura 31. Costul minim al energiei - modul de calcul B.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 263/316
Programarea dinamică: Exemplu

3 5 22 Preı̂ncălzitor

2 3 6 2 3 1 4 5 33 Reactor

5 4 2 5 6 4 5 4 1 2 4 3 6 2 3 5 6 4 4 2 3 7 3 5 5 6 4 Separator

Figura 31. Costul minim al energiei - modul de calcul B.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 264/316
Programarea dinamică: Exemplu

3 5 2 Preı̂ncălzitor

2 3 6 2 3 1 4 5 3 Reactor

5 4 2 5 6 4 5 4 1 2 4 3 6 2 3 5 6 4 4 2 3 7 3 5 5 6 4 Separator

Figura 32. Costul minim al energiei - modul de calcul C.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 265/316
Programarea dinamică: Exemplu

3 5 2 Preı̂ncălzitor

2 3 6 2 3 1 4 5 3 Reactor

5 4 22 5 6 4 5 4 1 22 4 3 6 22 3 5 6 4 4 22 3 7 33 5 5 6 4 Separator

Figura 32. Costul minim al energiei - modul de calcul C.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 266/316
Programarea dinamică: Exemplu

3 5 2 Preı̂ncălzitor

22 3 6 22 3 1 44 5 3 Reactor

5 4 22 5 6 4 5 4 1 22 4 3 6 2 3 5 6 4 4 22 3 7 3 5 5 6 4 Separator

Figura 32. Costul minim al energiei - modul de calcul C.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 267/316
Programarea dinamică: Exemplu

33 5 2 Preı̂ncălzitor

22 3 6 2 3 1 4 5 3 Reactor

5 4 22 5 6 4 5 4 1 2 4 3 6 2 3 5 6 4 4 2 3 7 3 5 5 6 4 Separator

Figura 32. Costul minim al energiei - modul de calcul C.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 268/316
Optimizarea Proceselor Chimice: Programarea dinamică

Formulare matematică
Fie sistemul serial:
dn d n −1 di d2 d1
? ? ? ? ?
- n - n-1 - ... - i - ... - 2 - 1 -
x n +1 xn x n −1 x i +1 xi x2 x1 x0

Se observă că pentru fiecare stadiu i există un vector de intrare xi+1 , un vector de ieşire
xi şi un vector de decizie di .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 269/316
Optimizarea Proceselor Chimice: Programarea dinamică

Condiţiile necesare pentru aplicarea principiului optimalităţii sunt:


I existenţa pentru fiecare treaptă a unui model matematic care să permită calcu-
larea componentelor vectorului de ieşire xi funcţie de vectorul de intrare xi+1 şi
vectorul deciziilor di :
 
x i = gi x i + 1 , d i pentru i = 1, . . . , n (168)

I funcţia obiectiv globală a sistemului f ob să poată fi descompusă ı̂ntr-o sumă de


funcţii obiectiv locale f ob,i :
n  
f ob = ∑ f ob,i x i +1 , x i , d i pentru i = 1, . . . , n (169)
i −1

Dacă aceste condiţii sunt ı̂ndeplinite se poate trece la aplicarea programării dinamice pe
∗ ∗ ∗ ∗
respectivul sistem cu scopul determinării deciziilor locale optime (d1 , d2 , . . . , di , . . . , dn )
ı̂n aşa fel ı̂ncât funcţia obiectiv globală f ob să prezinte un extrem.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 270/316
Optimizarea Proceselor Chimice: Programarea dinamică
Etapa 1
În această etapă se optimizează sistemul format din ultimul stadiu prin

determinarea deciziei locale optime d1 ı̂n funcţie de starea sistemului
după deciziile luate ı̂n stadiile anterioare dată de vectorul x2 .
Funcţia obiectiv a acestei subprobleme de optimizare este:
 
Fob,1 = f ob,1 x2 , x1 , d1 (170)

Din modelul matematic se poate exprima:


 
x 1 = g1 x 2 , d 1 (171)

astfel ı̂ncât prin substituţie, funcţia obiectiv devine:


 
Fob,1 = f ob,1 x2 , d1 (172)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 271/316
Optimizarea Proceselor Chimice: Programarea dinamică

Utilizând o metodă de optimizare analitică ori numerică adecvată for-


mei subproblemei de optimizare se poate determina decizia locală op-
timă sub forma unei funcţii de vectorul mărimilor de intrare pe treapta
1:

d1 = h1 ( x 2 ) (173)
∗ ( x ).
expresia valorii optime a funcţiei obiectiv fiind Fob,1 2

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 272/316
Optimizarea Proceselor Chimice: Programarea dinamică
Etapa 2
Se optimizează sistemul format din ultimele două stadii prin deter-

minarea deciziei locale optime d2 funcţie de starea sistemului după
deciziile luate pe stadiile anterioare. Funcţia obiectiv a acestei subpro-
bleme de optimizare este:
   
Fob,2 = f ob,2 x3 , x2 , d2 + f ob,1 x2 , x1 , d1 =
  (174)
= f ob,2 x3 , x2 , d2 + Fob,1

Deoarece din modelul matematic al stadiului 2 se poate exprima:


 
x 2 = g2 x 3 , d 2 (175)

şi expresia soluţiei optime pentru stadiul 1 este deja determinată, re-
zultă:  

Fob,2 = f ob,2 x3 , d2 + Fob,1 ( x3 ) (176)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 273/316
Optimizarea Proceselor Chimice: Programarea dinamică

Utilizând o metodă de optimizare analitică ori numerică adecvată for-


mei subproblemei de optimizare se poate determina decizia locală op-
timă sub forma unei funcţii de vectorul mărimilor de intrare pe treapta
2:

d2 = h2 ( x 3 ) (177)
∗ ( x ).
expresia valorii optime a funcţiei obiectiv fiind Fob,2 3

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 274/316
Optimizarea Proceselor Chimice: Programarea dinamică
Etapa i
Prin generalizare, ı̂n cadrul acestei etape de aplicare a programării di-
namice se optimizează sistemul format din ultimele i stadii prin de-

terminarea deciziei locale optime di funcţie de starea sistemului după
deciziile luate pe stadiile anterioare dat de vectorul xi+1 .
Funcţia obiectiv a acestei subprobleme de optimizare este:

  i −1  
Fob,i = f ob,i xi+1 , xi , di + ∑ f ob,j x j , x j−1 , d j =
j =1
(178)
 
= f ob,i xi+1 , xi , di + Fob,i−1

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 275/316
Optimizarea Proceselor Chimice: Programarea dinamică

Deoarece din modelul matematic al stadiului i se poate exprima:


 
x i = gi x i + 1 , d i (179)

şi expresia soluţiei optime pentru treptele 1, . . . ,i − 1 este deja determi-


nată, rezultă:
 

Fob,i = f ob,i xi+1 , di + Fob,i −1 ( x i +1 ) (180)

Se determină, ı̂n condiţiile arătate la etapele anterioare, decizia locală


optimă sub forma unei funcţii de vectorul mărimilor de intrare pe
treapta i:

d i = h i ( x i +1 ) (181)
∗ (x
expresia valorii optime a funcţiei obiectiv fiind Fob,i i +1 ).

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 276/316
Optimizarea Proceselor Chimice: Programarea dinamică
Etapa n
În final se consideră ı̂ntreg sistemul, determinând decizia locală op-

timă dn ı̂n funcţie de vectorul mărimilor de intrare a sistemului x n+1 .
Funcţia obiectiv pentru această etapă este:
  n −1  
Fob,n = f ob,n x n+1 , x n , dn + ∑ f ob,j x j , x j−1 , d j =
j =1
(182)
 
= f ob,n x n+1 , x n , dn + Fob,n−1

Deoarece din modelul matematic al stadiului n se poate exprima:


 
x n = g n x n +1 , d n (183)

şi expresia soluţiei optime pentru treptele 1, . . . ,n − 1 este deja deter-


minată, rezultă:
 

Fob,n = f ob,n x n+1 , dn + Fob,n −1 ( x n +1 ) (184)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 277/316
Optimizarea Proceselor Chimice: Programarea dinamică

Se determină decizia locală optimă şi expresia funcţiei obiectiv funcţie


de vectorul x n+1 :
∗ ∗
d n = h n ( x n +1 ) şi Fob,n ( x n +1 ) (185)

Deoarece vectorul mărimilor de intrare x n+1 este cunoscut se pot iden-



tifica valorile numerice corespunzătoare ale vectorilor de decizie di
pentru toate stadiile i = 1, . . . , n.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 278/316
Exemple: Optimizarea timpului de staţionare

Fie o cascadă de două reactoare cu amestecare de volume V1 =V2 =V, ce


funcţionează ı̂n regim izocor şi izoterm cu T1 =T2 =T (fig. 33).
Fi , ci

T T
V V

Fe , ce

Figura 33. Sistem de două reactoare.

Să se determine care va fi timpul de staţionare optim ı̂n fiecare reactor, astfel
ı̂ncât conversia să fie maximă, considerând timpul total de staţionare θ iar tim-
pul de staţionare maxim ı̂ntr-un reactor de τmax = θ.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 279/316
Exemple: Optimizarea timpului de staţionare

Rezolvare
Pentru aplicarea programării dinamice problema de optimizare trebuie să permită:
I descompunerea sistemul de optimizat ı̂ntr-o secvenţă de elemente ce se succed
ı̂n timp sau spaţiu
Acest lucru este simplu deoarece putem observa că fluxurile de masă ce sunt ı̂n
cadrul sistemului de optimizat definesc două subsisteme ce corespund celor două
reactoare din sistem, rezultând o structură a sistemului de forma prezentată ı̂n
figura 34 (notarea subsistemelor s-a făcut de la ultimul subsistem).
τ2 τ1

c3 Reactor c2 Reactor c1
2 1

Figura 34. Schema sistemului de două reactoare.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 280/316
Exemple: Optimizarea timpului de staţionare

I obţinerea modelul matematic al fiecărui element al sistemului


Modelul matematic al reactorului trebuie să descrie concentraţia de ieşire, funcţie
de concentraţia de intrare şi de timpul de staţionare.
Modelul matematic al unui astfel de reactor este dat de ecuaţia de conservare a
masei:
Fi+1 ci+1 − Fi ci − ri Vi = 0 (186)
unde Fi+1 şi Fi sunt debitele de alimentare, respectiv golire ale reactorului i, ri este
viteza de reacţie ı̂n etapa i iar Vi reprezintă volumul reactorului i..
Deoarece putem considera Fi =Fi+1 =F, prin ı̂mpărţire cu F obţinem:

ci+1 − ci − ri τi = 0 (187)

Viteza de reacţie pentru o reacţie ireversibilă de ordinul 1 este:

ri = ci k0 e− E/RTi (188)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 281/316
Exemple: Optimizarea timpului de staţionare

Deoarece T1 =T2 =T, termenul k0 e− E/RT este constant şi ı̂l notăm cu k( T ),
astfel ı̂ncât bilanţul de masă devine:

ci+1 − ci − ci τi k( T ) = 0 (189)

Din această ecuaţie putem exprima concentraţia de ieşire astfel:


c i +1
ci = (190)
1 + τi k( T )
Ecuaţia (190) reprezintă modelul matematic simplificat al reactorului i.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 282/316
Exemple: Optimizarea timpului de staţionare

I descompunerea funcţiei obiectiv ı̂ntr-o sumă de funcţii obiectiv locale pe fie-


care element
Conversia totală a reactantului poate fi exprimată astfel:
c3 − c1
ξ= (191)
c3
Deoarece maximizarea acestui raport implică maximizarea diferenţei de la numă-
rător, funcţia obiectiv globală o putem defini ca fiind:
!
f ob = c3 − c1 = max (192)

Funcţiile obiectiv locale rezultă astfel:


2 2
!
f ob = (c3 − c2 ) + (c2 − c1 ) = ∑ ( c i +1 − c i ) = ∑ f ob,i = max (193)
i =1 i =1

unde:
!
f ob,i = ci+1 − ci = max (194)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 283/316
Exemple: Optimizarea timpului de staţionare

Etapa 1
Modelul matematic al reactorului 1 este dat de expresia:
c2
c1 = (195)
1 + τ1 k( T )
Funcţia obiectiv pentru acest subsistem este:

!
f ob,1 = c2 − c1 = max (196)

Prin ı̂nlocuire se obţine:


c2 c τ k(T ) !
f ob,1 = c2 − = 2 1 = max (197)
1 + τ1 k( T ) 1 + τ1 k( T )

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 284/316
Exemple: Optimizarea timpului de staţionare

Identificarea soluţiei optime pentru problema de optimizare redată de


funcţia obiectiv (197) este posibilă pe cale analitică prin anularea deri-
vatei de ordinul ı̂ntâi a funcţiei obiectiv ı̂n raport cu variabila de deci-
zei τ1 . Astfel obţinem:

d f ob,1 c2 k ( T ) c2 τ1 k2 ( T )
= − =
dτ1 1 + τ1 k( T ) [1 + τ1 k( T )]2

c2 k( T ) [1 + τ1 k( T )] − c2 τ1 k2 ( T ) c2 k ( T )
= 2
= 2
=0
[1 + τ1 k( T )] [1 + τ1 k( T )]
(198)
Anularea acestei expresii se poate obţine pentru τ1 % ∞. În cazul
nostru soluţia este τ1∗ = τ1,max = θ − τ2 . Pentru această valoare optimă
valoarea maximă a funcţiei obiectiv pentru subsistemul 1 este:

∗ c2 k( T )(θ − τ2 )
f ob,1 ( c2 ) = (199)
1 + k( T )(θ − τ2 )

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 285/316
Exemple: Optimizarea timpului de staţionare

Etapa 2
În cadrul etapei a doua de optimizare se trece la optimizarea sistemu-
lui format din cele două reactoare.
Pentru cel de al doilea reactor, modelul matematic este:
c3
c2 = (200)
1 + τ2 k( T )
Funcţia obiectiv pentru acestă etapă este identică cu funcţia obiectiv a
problemei de optimizare:
!
f ob = c3 − c1 = f ob,2 + f ob,1 = max (201)

Deoarece soluţia algebrică a primei etape de optimizare este deja cu-


noscută, putem scrie:

∗ c2 k( T )(θ − τ2 ) !
f ob = f ob,2 + f ob,1 = c3 − c2 + = max (202)
1 + k( T )(θ − τ2 )

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 286/316
Exemple: Optimizarea timpului de staţionare

Prin utilizarea modelului matematic, se obţine:


c2 k( T )(θ − τ2 )
f ob = c3 − c2 + =
1 + k( T )(θ − τ2 )

c3 c k( T )(θ − τ2 )
= c3 − + 2 =
1 + τ2 k( T ) 1 + k( T )(θ − τ2 )

c3 [1 + τ2 k( T )] − c3 c3 (θ − τ2 )k( T )
= + =
1 + τ2 k( T ) 1 + τ2 k( T ) 1 + (θ − τ2 )k( T )

c3 τ2 k( T ) c k( T )(θ − τ2 ) !
= + 3 = max
[1 + τ2 k( T )] [1 + k( T )(θ − τ2 )] 1 + k( T )(θ − τ2 )
(203)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 287/316
Exemple: Optimizarea timpului de staţionare

Prin anularea derivatei funcţiei obiectiv ı̂n raport cu variabila de deci-


zie τ2 se obţine:
d f ob c3 k ( T ) c3 k ( T )
= − −
dτ2 [1 + τ2 k( T )] [1 + k( T )(θ − τ2 )] [1 + k( T )(θ − τ2 )]

c3 τ2 k2 ( T ) c3 k2 ( T )(θ − τ2 )
− + 2
+
[1 + τ2 k( T )] [1 + k( T )(θ − τ2 )] [1 + k( T )(θ − τ2 )]

c3 τ2 k2 ( T )
+ 2
=0
[1 + τ2 k( T )] [1 + k( T )(θ − τ2 )]
(204)

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 288/316
Exemple: Optimizarea timpului de staţionare

Aducând aceste fracţii la numitor comun şi anulând numărătorul,


obţinem:

[1 + τ2 k( T )] [1 + k( T )(θ − τ2 )] − τ2 k( T ) [1 + k( T )(θ − τ2 )] +

+τ2 k( T ) [1 + τ2 k( T )] − [1 + k( T )(θ − τ2 )] [1 + τ2 k( T )]2 +

+k( T )(θ − τ2 )2 = 0
(205)
După simplificări, obţinem:

1 + k( T )(θ − τ2 ) + τ2 k( T ) [1 + τ2 k( T )] − [1 + τ2 k( T )]2 =
(206)
= k( T )θ − 2τ2 k( T ) = 0

θ
cu soluţia τ2∗ = .
2

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 289/316
Exemple: Optimizarea timpului de staţionare

Astfel, soluţia problemei de optimizare este:


θ
τ1∗ = τ2∗ =
2
Valoarea maximă a funcţiei obiectiv este:

∗ ∗ ∗ c3 k ( T ) θ
f ob = c3 − c1 = f ob,1 + f ob,2 =
2 + k( T )θ

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 290/316
Algoritmi genetici
ı̂n optimizare
Optimizarea Proceselor Chimice: Algoritmi genetici

Algoritmii genetici sunt modele bazate pe genetică şi evoluţie preluate din biologie.

Elementele de bază ale algoritmilor genetici sunt:


• selecţia soluţiilor ı̂n funcţie de gradul de potrivire;
• reproducerea pentru ı̂ncrucişarea genelor;
• mutaţia pentru modificările aleatoare ale genelor.

Prin aceste mecanisme, algoritmul genetic identifică soluţii din ce ı̂n ce mai bune ale
unei probleme, la fel cum speciile evoluează pentru a se adapta mai bine mediului.

Algoritmii genetici au fost extinşi din punct de vedere al modului ı̂n care reprezintă
soluţiile şi efectuează procesele de bază.

Calculul evolutiv reprezintă o definiţie mai largă a algoritmilor genetici. Acesta in-
clude nu numai algoritmii genetici ci şi o clasificare a sistemelor, programare gene-
tică, etc.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 292/316
Optimizarea Proceselor Chimice: Algoritmi genetici

Algoritmii genetici includ concepte ca: cromozomi, gene, procese de reproducere,


mutaţii şi evoluţie.

În principal, aplicarea algoritmului genetic implică următoarele etape:


• generarea aleatoare ale unor soluţii ale problemei - cromozomii;
• etapa iterativă ce include:
– selectarea celor mai bune soluţii;
– efectuarea operaţiilor de reproducere;
– ocazional, efectuarea unor mutaţii asupra soluţiilor;

Prin identificarea ı̂n cadrul iteraţiilor a celor mai bune soluţii, algoritmul va identi-
fica soluţii din ce ı̂n ce mai favorabile la fel ca ı̂n cazul procesului natural de evoluţie.
Acest algoritm poate fi utilizat ı̂n acest mod la rezolvarea problemelor de optimi-
zare.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 293/316
Optimizarea Proceselor Chimice: Algoritmi genetici

Reprezentarea soluţiilor
Algoritmul genetic ı̂ncepe cu definirea reprezentării soluţiilor pentru o problemă
dată. Prin soluţie ı̂nţelegem orice valoare ce poate fi soluţia corectă a problemei,
astfel că o soluţie poate fi sau nu soluţia corectă a problemei de optimizare. Modul
de reprezentare a soluţiei pentru algoritmul genetic este la libera alegere a utiliza-
torului. În general, modul cel mai des utilizat de reprezentare a soluţiei este cel sub
formă de şiruri de caractere.

Alfabetul de reprezentare poate să fie compus din cifre binare (0 şi 1), numere ı̂n
virgulă flotantă, ı̂ntregi, simboluri (de exemplu: A, B, C,. . . ), matrice, etc.

Gradul de potrivire a unei soluţii


Gradul de potrivire a unei soluţii este o măsură ce poate fi utilizată pentru a com-
para soluţiile şi a determina care este mai bună.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 294/316
Optimizarea Proceselor Chimice: Algoritmi genetici

Etapele aplicării algorimilor genetici

Pasul 0 - Iniţializarea populaţiei


a) Generarea unor soluţii aleatoare

Următoarele trei etape se repetă până când se obţine soluţia optimă a pro-
blemei de optimizare sau o anumită condiţie de terminare este satisfăcută.
O astfel de condiţie poate fi dată de condiţiile lui Himmelblau.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 295/316
Optimizarea Proceselor Chimice: Algoritmi genetici

Pasul 1 - Reproducerea
a) Determinarea gradului de potrivire şi a probabilităţii corespunzătoare
pentru toate soluţiile populaţiei.
b) Crearea unui centru de ı̂mperechere. Se selectează aleator soluţii pon-
derate cu gradul de potrivire al lor. Soluţiile cu un grad de potrivire
mai ridicat au astfel o probabilitate mai mare de a fi alese spre deose-
bire de soluţiile mai puţin potrivite, astfel având şanse mai mari de a
supravieţui ı̂n noua generaţie. Astfel conceptul de evoluţie bazată pe
selecţie naturală este pusă ı̂n valoare.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 296/316
Optimizarea Proceselor Chimice: Algoritmi genetici

Pasul 2 - Creşterea ı̂ncrucişată


a) Se selectează aleator două soluţii la un moment dat. Cu o probabilitate
de ı̂ncrucişare fixată pc (de ex.: pc = 0,7), se determină aleator dacă au
loc ı̂ncrucişări. Dacă au loc ı̂ncrucişări, se trece la pasul următor, altfel
se formează doi descendenţi ce sunt copii exacte a celor două soluţii şi
se trece la pasul 3.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 297/316
Optimizarea Proceselor Chimice: Algoritmi genetici

b) Se selectează aleator puncte interne (puncte de ı̂ncrucişare) ale


soluţiilor şi se schimbă ı̂ntre ele porţiunile de după punctul respectiv
(vezi tabelul 11).

Tabelul 11. Creşterea ı̂ncrucişată a indivizilor

Înainte de ı̂ncrucişare Soluţiile din


punct de ı̂ncrucişare generaţia
↓ următoare

Soluţia 1 ♦♦♦♦♦OOOOO ♦♦♦♦♦

Soluţia 2 HHHHH HHHHHOOOOO

Această procedură se repetă pe populaţia obţinută la pasul 1, până


când dimensiunea noii populaţii atinge dimensiunea iniţială a
populaţiei, alegând aleator câte o pereche la un moment dat.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 298/316
Optimizarea Proceselor Chimice: Algoritmi genetici

Pasul 3 - Mutaţii aleatoare


a) Cu ajutorul unei probabilităţi de mutaţie mică, fixată, pm (de exem-
plu: pm = 0,001) se selectează aleator mici porţiuni ale reprezentării
soluţiilor şi se modifică artificial (de ex. prin modificarea bit-ului res-
pectiv de la 1 la 0 ori de la 0 la 1). Frecvenţa mutaţiilor este ı̂n general
mică aşa cum rezultă şi din valoarea aleasă a lui pm .

Prin acest pas 3 se modelează modul ı̂n care au loc ı̂n natură mutaţiile.
Astfel este posibilă crearea unor noi rase ce nu ar fi posibilă prin repro-
ducerea ori ı̂mperechere ı̂ncrucişată. Prin aplicarea algoritmului ge-
netic, după un anumit număr de iteraţii, câteodată ı̂ntreaga populaţie
tinde să fie similară, astfel ı̂ncânt o deplasare semnificativă către ex-
trem, nu mai are loc. Porţiunile modificate ı̂n urma mutaţiei permit,
deseori, deplasări semnificative către extrem.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 299/316
Optimizarea Proceselor Chimice: Algoritmi genetici

Procedura prezentată, formată din pasul 0 urmat de repetarea


paşilor 1, . . . ,3 până la ı̂ndeplinirea condiţiei de terminare for-
mează o singură rulare.

De foarte multe ori aplicarea algoritmului respectiv se repetă (de


ex. de 10 ori), pornind de la un set diferit de soluţii aleatoare.

Acest lucru este necesar deoarece algoritmul genetic nu garan-


tează identificarea soluţiei optime. Totuşi există probleme de opti-
mizare pentru care utilizarea metodelor clasice nu asigură identi-
ficarea soluţiei optime. În astfel de situaţii algoritmii genetici pot
fi o soluţie.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 300/316
Optimizarea Proceselor Chimice: Algoritmi genetici

Avantajele utilizării algoritmilor genetici se manifestă prin:


• auto-ghidare,
• auto-organizare,
• robusteţe,
• flexibilitate,
• calcul simplu şi direct ce permite o uşoară implementare a
calculului paralel.

Dezavantajele sunt legate de obţinerea unui rezultat dependent de


şansă şi un timp de calcul ceva mai lung, respectiv incertitudinea
obţinerii unei soluţii optime globale.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 301/316
Algoritmi genetici: Exemplu

Fie următoarea funcţie obiectiv:

f ob = x1 + 10 sin(5 x1 ) + 7 cos(4 x2 ) + 20 (207)

Se cere identificarea unui maxim pe domeniul de căutare x1 ∈


[0; 3] şi x2 ∈ [0; 3] cu o precizie de 1 · 10−6 .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 302/316
Algoritmi genetici: Exemplu

Rezolvare:
O reprezentare grafică a funcţiei obiectiv relevă o suprafaţă de
căutare pe care există mai multe puncte de extrem (fig. 35).

40
f(x1,x2)

35

30

25

20

15

10

0
3
2.5
3
2 2.5
1.5 2
1 1.5
x 1 x
2 0.5 0.5 1
0 0

Figura 35. Suprafaţa de răspuns a funcţiei obiectiv.


UBB Cluj, ROMANIA 18 februarie 2009
Departamentul de Inginerie Chimică 303/316
Algoritmi genetici: Exemplu

Aplicarea algoritmului genetic necesită generarea unei populaţii iniţiale. Dimensiu-


nea acestei populaţii este de obicei de ordinul zecilor/sutelor de seturi de valori ale
variabilelor de decizie.

Codificarea membrilor populaţiei poate fi făcută prin elemente binare ori reale, con-
form următoarelor relaţii:
• pentru domeniul de valori reale:

xi,j = ( L M,i − Lm,i ) ri,j + Lm,i pentru j = 1, . . . , n P (208)

unde: L M,i reprezintă limita superioară a domeniului de căutare pentru


direcţia de căutare i;
Lm,i - limita inferioară a domeniului de căutare pentru
direcţia de căutare i;
ri,j - valoare aleatoare generată pe domeniul r ∈ [0; 1];
nP - mărimea populaţiei utilizate;

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 304/316
Algoritmi genetici: Exemplu

• pentru domeniul de valori binare, numărul de biţi pe care se face reprezenta-


rea se calculează prin rotunjirea la valoarea ı̂ntreagă următoare a rezultatului
expresiei:
 
L M,i − Lm,i
log2 (209)
e

unde: e reprezintă precizia de determinare a soluţiei;


Elementele populaţie iniţiale rezultă prin combinaţii aleatoare de valori binare
(0 şi 1) luate câte nb .

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 305/316
Algoritmi genetici: Exemplu

În cazul acestui exerciţiu, ı̂n situaţia ı̂n care alegem o reprezentare bi-
nară a indivizilor, numărul de biţi necesari este dat de următoarea
relaţie:
   
L M − Lm 3 6 = 21,5165
log2 e = log 2 1·10 − 6 = log2 3 · 10

nb = 22

Aplicarea algoritmului genetic implică utilizarea calculatorului deoa-


rece metoda este eficientă doar utilizând o populaţie formată dintr-un
număr mare de indivizi ce sunt urmăriţi pe parcursul câtorva zeci de
generaţii.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 306/316
Algoritmi genetici: Exemplu

Se defineşte funcţia obiectiv ı̂n fişierul fobGA.m:


1 function y = fobGA(x);
2 %Functia obiectiv corespunzatoare relatiei din exemplu
3 %
4 y = x(1) + 10*sin(5*x(1)) + 7*cos(4*x(2)) + 20;

Se apelează funcţia algGena prin următoarea linie de comandă:


1 xopt = algGen(’fobGA’,[0 3;0 3],[1e-6 0 0],[200 100])
2 xopt =
3 2.8314 1.5708 39.8294

unde ultima valoarea reprezintă valoarea maximă identificată a funcţiei obiectiv.


a această funcţie MATLAB este prezentată ı̂n lucrarea [1].

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 307/316
Algoritmi genetici: Exemplu

Rezolvarea acestei probleme, utilizând metode deterministe, permite, ı̂n funcţie de


punctul de start, identificarea doar a unui optim local. Astfel, utilizând funcţia
MATLAB, fminsearch din Optimization Toolbox, obţinem:
1 xopt = fminsearch(’-(x(1)+10*sin(5*x(1))+7*cos(4*x(2))+20)’, ...
2 [1.5 1.5])
3 xopt =
4 1.5748 1.5708

∗ (1,5748;1,5708)=38,5728. Se obsevă, comparând


cu valoarea funcţiei obiectiv de f ob
valorile maxime găsite de cele două metode, superioritatea algoritmului genetic.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 308/316
Metode experimentale
de optimizare
Optimizarea Proceselor Chimice: EVOP - Operarea Evolutivă

Operarea evolutivă - EVOP (EVolutionary OPeration) - este o metodă


on-line de optimizare utilizată pentru ı̂mbunătăţirea procesele de
producţie.
• introdus de Box ı̂n 1957;
• ı̂nlocuieşte operarea statică cu un mod de operare di-
namică prin utilizarea unei scheme de lucru cu mici
modificări sistematice ale condiţiilor de operare ale
unui proces;
• prin evaluarea efectelor observate ale acestor modi-
ficări se identifică modalităţile de ı̂mbunătăţire ale pro-
cesului.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 310/316
Optimizarea Proceselor Chimice: EVOP - Operarea Evolutivă

EVOP − caracterisitici:
• se aplică proceselor industriale fără perturbarea ori
ı̂ntreruperea acestora;
• permite păstrarea nivelelor impuse de calitate a
produselor;
• nu implică costuri suplimentare de producţie;
• poate fi aplicată ı̂n timpul operării normale a proceselor;
• nu necesită pregătire specifică.

Limitări:
• necesită un număr mare de experimente;
• aplicabilă pentru un număr mic de variabile considerate.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 311/316
Optimizarea Proceselor Chimice: EVOP - Operarea Evolutivă

EVOP − schema de lucru pentru o singură variabilă X:


• se alege valoarea variabilei X corespunzător nivelului
de producţie curent/nominal;
• se aleg nivelurile X − ∆X şi X + ∆X ı̂n interiorul limi-
telor de specificaţie ale procesului;
• se evaluează calitatea procesului ı̂n toate cele trei
puncte;
• se alege punctul ı̂n care calitatea procesului este cea
mai bună şi se trece la un nou ciclu de căutare.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 312/316
Exemplu: EVOP - proces cu o singură variabilă

Să se determine prin metoda EVOP temperatura optimă de operare a


unui reactor ı̂n aşa fel ı̂ncât concentraţia produsului A să fie maximă
ı̂n fluxul evacuat din reactor.

Obs. Variaţia concentraţiei produsului A ı̂n fluxul de evacuare


funcţie de temperatura de operare T poate fi reprezentată prin
funcţia:

c A = −3, 636 · 10−5 T 3 + 5, 85 · 10−3 T 2 − 0, 2581 T + 4, 2793

Temperatura normală de operare a reactorului poate varia


ı̂ntre 50˚C şi 90˚C.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 313/316
Optimizarea Proceselor Chimice: EVOP - Operarea Evolutivă

EVOP − schema de lucru pentru două variabile, X şi Y:


• se aleg valorile variabilelor X şi Y corespunzător nivelurilor de
producţie curente/nominale;
• se aleg variaţiile ∆X şi ∆Y ı̂n aşa fel ı̂ncât valorile: X − ∆X, X +
∆X, Y − ∆Y şi Y + ∆Y să se situeze ı̂n interiorul domeniului de
funcţionare normală a procesului;
• se evaluează calitatea procesului pentru toate combinaţiile de
valori ale celor două variabile:
(X + ∆X, Y + ∆Y)
(X + ∆X, Y − ∆Y)
(X − ∆X, Y + ∆Y)
(X − ∆X, Y + ∆Y)
• se alege combinaţia de valori pentru care calitatea procesului
este cea mai bună drept punct central pentru un nou ciclu de
căutare.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 314/316
Exemplu: EVOP - proces cu două variabile

Utilizând EVOP, să se determine condiţiile optime de lucru ı̂ntr-o


instalaţie (definite de: T - temperatura de reacţie şi F - debitul de
alimentare) ı̂n aşa fel ı̂ncât să avem costuri minime de operare.

Obs. Costurile de operare pot fi definite funcţie de condi-


ţiile lucru prin relaţia:

COST = 100 (0, 11 T − F2 + 5, 8 F − 14)2 + F2 − 7, 2 F + 22

Domeniul de operare admis este:


T ∈ [20; 90]˚C şi F ∈ [2; 5] m3 /h.

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 315/316
Optimizarea Proceselor Chimice
Bibliografie
1. Imre Á., Agachi P.Ş., Optimizarea proceselor din industria chimică, Editura
Tehnică, Bucureşti, 2002

2. Woinaroschy A., Mihai M., Isopescu R., Optimizarea proceselor din industria
chimică. Exemple şi aplicaţii, Editura Tehnică, Bucureşti, 1990

3. Curievici I., Optimizări ı̂n industria chimică, Editura Didactică şi


Pedagogică, Bucureşti, 1980

4. Smigelschi O., Woinaroschy A., Optimizarea proceselor ı̂n industria chimică,


Editura Tehnică, Bucureşti, 1978

5. Imre Á., Cormoş A., Matlab. Exemple şi aplicaţii ı̂n ingineria chimică, Editura
Presa Universitară Clujeană, Cluj-Napoca, 2008

UBB Cluj, ROMANIA 18 februarie 2009


Departamentul de Inginerie Chimică 316/316

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