Documente Academic
Documente Profesional
Documente Cultură
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
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
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.
Noţiuni specifice:
• criteriu de optimizare
• variabilă de decizie
• funcţie obiectiv (funcţie scop)
• soluţie optimă
Testarea modelului
Stabilirea funcţiei
obiectiv
Selectarea metodei
de optimizare
Calcularea
soluţiei optime
Operaţii efectuate cu
ajutorul calculatorului
Aplicarea soluţiei
optime
• 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.
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
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.
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
FR
c A , c B , cC
Figura 1. Reactor.
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
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
?
OK
nu Testarea semnificaţiei
coeficienţilor
corespunde
?
OK
MODEL MATEMATIC
1 +1 +1 Y1
0 X1 2 +1 −1 Y2
3 −1 +1 Y3
b b
4 −1 −1 Y4
(−1,−1) (+1,−1)
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
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
• analiza dimensională
Un proces descris printr-o relaţie de forma:
f ( x1 , x2 , . . . , x i , . . . , x n ) = 0
unde: m
α
∏ πk k = c
k =1
Se poate obţine o dependenţă de tipul:
n −1
c
y = c0 ∏ xi i
i =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
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
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
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
Testarea modelului
Testarea semnificaţiei coeficienţilor
Se păstrează doar termenii ce conţin coeficienţi ce respectă condiţia:
|ci | > ∆c
Clasificare:
• Metode analitice
• Metode numerice
• Metode de programare
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.
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.
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.
f ( x ∗ + ∆x ) − f ( x ∗ ) 6 0 (2)
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).
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.
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.
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.
Î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.
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
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)
Condiţia suficientă pentru ca punctul x1∗ , x2∗ să fie un minim este:
Relaţiile (9) şi (10) respectiv (12) sunt cunoscute sub numele de criteriile lui Lagrange.
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
∂f
=0
∂x1
∂f
=0
∂x2 (13)
..
.
∂f
=0
∂xn
• un punct staţionar este un minim local dacă toţi determinanţii matricei he-
ssiene 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.
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.
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
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.
y = f ob ( x1 , x2 , . . . , xn ) (24)
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 )
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
y = f ob ( x1 , x2 ) (30)
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.
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
L ( x1 , x2 , λ ) = y ( x1 , x2 ) − λ g ( x1 , x2 ) (34)
Î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 )
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.
r j = g j ( x ) + xn2 + j = 0 j = 1, . . . m (45)
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).
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
h
Figura 5. Vas de stocare.
funcţionare.
0 r
rc δiz
Rezolvare:
Determinarea grosimii optime a izolaţiei unei conducte reprezintă o problemă
de minimizare ce implică o funcţie obiectiv de forma:
unde termenii reprezintă cheltuieli ı̂n unităţi valorice [u.v] iar δiz reprezintă
grosimea izolaţiei, [m].
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
(rc + δiz ) − rc δ
riz = = iz (54)
rc + δiz δ
ln ln 1 + iz
rc rc
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:
Î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.
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.
f (x) f (x)
f∗ b
f∗ b
a b
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
∆(k) 6 e (60)
f ob
f ob ( xi + e) b
b
f ob ( xi )
xi xi + e x
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).
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
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
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).
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
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.
∆ (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.
( j)
( Fi )n−( j+1)
δ = ∆ ( j −1) (66)
( Fi )n−( j−1)
δ( j)
( j)
x2
xmin b b b b
xmax
( j)
x1
δ( j)
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)
min f ob = x2 − 6x + 8
x
pe intervalul de căutare [0; 5], cu precizia e = 0,01.
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.
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.
δ ( j ) = (1 − s ) ∆ ( j −1) (70)
min f ob = x2 − 6x + 8
x
pe intervalul de căutare [0; 5], cu precizia e = 0,01.
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 ].
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.
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
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
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 )
Aplicaţie numerică
Se dau următoarele valori numerice:
VR = 10 m3 FR = 0,15 m3 /s;
c = 80 [u.v.]/kmol.
(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.
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.
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:
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].
Cop = b + c · FR (91)
Csep = d + e · FR + f · c B (92)
VENIT = g · FR · c B (93)
= −(b + d) − (c + e) FR − f c B + ( g − a) FR c B
[( 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
Aplicaţie numerică
Se dau următoarele valori numerice:
VR = 10 m3 TR = 70 ˚C;
e = 5·10−4 .
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.
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) ;
f (x) f (x)
bc
f ( x (k) )
f ( x (k) ) bc
bc
f ( x ( k +1) )
bc
f ( x ( k +1) )
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.
3.5
2.5
1.5
0.5
−0.5
−1
−1 −0.5 0 0.5 1 1.5 2
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)
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
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) .
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) ;
x2
x1
Figura 16. 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.
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);
f ob ( x (k+1) ) = f ob (λ(k) )
x2
x1
Figura 17. Metoda gradientului cu pas optim.
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 .
Pornind din punctul x (0) = [5; 5] şi cu pasul λ(0) = 1 să se rezolve:
b) direcţie de deplasare:
60
0, 8192
(0) 5 f ( x (0) ) 42
d =
= =
( 0)
73, 2393
5 f ( x )
0, 5735
x2
x1
Figura 18. 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ă.
x ∗ = x ∗(k) ± e
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;
(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
x ∗ = x ∗(k) ± e
(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 ).
x2 b
x1
Figura 19. Metoda Rosenbrock.
x2
0,2587 a
(2)
x2 b
0,9657 a
0,2587 a
a
(1)
x2 b
(0)
x2 b
0,9657 a
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
x2
(N)
x2 bb
P1
bb
bb
P2
( R)
x2 b
( R) (N)
x1 x1 x1
x2
x1
Figura 22. Metoda poliedrului.
şi
h i
(k ) (k ) (k ) (k )
f xm = min f x1 , f x2 , . . . , f xn+1 (116)
(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)
(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)
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
Î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
ni > 0 pentru i = 1, 2, . . . , N
ZT
c p,i
∆S0T,i = ∆S0T0 ,i + dT (135)
T
T0
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.
0
∆H298 0
∆S298 c p , [J/(mol·K)]
Componenta
[J/mol] [J/(mol·K)] α β · 103 γ · 10−5
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:
O2 2 0 0
N2 0 2 0
SO2 2 0 1
SO3 3 0 1
NO 1 1 0
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)]
% 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);
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;
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.
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
n
∑ aij xi = bj j = l + 1, . . . , m (151)
i =1
unde
xi > 0 i = 1, 2, . . . , n (152)
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.
Rezolvare:
Formularea matematică a acestei probleme de alocare optimă a resurselor este
dată de funcţia obiectiv:
x2
Figura 23. Rezolvarea grafică
ı̂n programarea liniară.
150
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
a b c
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.
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.
Algoritmul Simplex
Algoritmul Simplex reprezintă o algoritmizare a metodei
algebrice prezentate pentru a putea fi utilizat pe calculator.
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:
ITERAŢIA 0 x1 x2 ... xn b
f − c1 − c2 ... −cn bm +1
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
supusă la restricţiile:
− x1 + 2x2 6 6
2x1 + x2 6 8 (160)
2x1 − x2 6 4
şi x1 , x2 > 0.
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.
ITERAŢIA 0 x1 x2 b
x3 −1 2 6
x4 2 1 8
x5 2 −1 4
f −2 −3 0
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
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.
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.
Rezolvare:
Modelul matematic al procesului de optimizat include următoarele ecuaţii:
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
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.
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
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.
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 .
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
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
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.
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.
T∗
Fi , ci Fe , ce
Reactor tubular
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 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.
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).
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
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.
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 - optimizarea
1 2 i n-1 n
ı̂ntregului sistem
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.
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.
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
Rezolvare
Pentru un astfel de sistem, există trei modalităţi de operare cu
scopul obţinerii unui optim global:
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
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
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
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
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
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
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
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
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
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
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
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
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 .
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.
şi expresia soluţiei optime pentru stadiul 1 este deja determinată, re-
zultă:
∗
Fob,2 = f ob,2 x3 , d2 + Fob,1 ( x3 ) (176)
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
T T
V V
Fe , ce
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 = θ.
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
ci+1 − ci − ri τi = 0 (187)
ri = ci k0 e− E/RTi (188)
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)
unde:
!
f ob,i = ci+1 − ci = max (194)
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)
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 )
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)
∗ c2 k( T )(θ − τ2 ) !
f ob = f ob,2 + f ob,1 = c3 − c2 + = max (202)
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)
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)
[1 + τ2 k( T )] [1 + k( T )(θ − τ2 )] − τ2 k( T ) [1 + 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
∗ ∗ ∗ c3 k ( T ) θ
f ob = c3 − c1 = f ob,1 + f ob,2 =
2 + k( T )θ
Algoritmii genetici sunt modele bazate pe genetică şi evoluţie preluate din biologie.
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.
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.
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.
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.
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.
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.
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
Codificarea membrilor populaţiei poate fi făcută prin elemente binare ori reale, con-
form următoarelor relaţii:
• pentru domeniul de valori reale:
Î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
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.
2. Woinaroschy A., Mihai M., Isopescu R., Optimizarea proceselor din industria
chimică. Exemple şi aplicaţii, Editura Tehnică, Bucureşti, 1990
5. Imre Á., Cormoş A., Matlab. Exemple şi aplicaţii ı̂n ingineria chimică, Editura
Presa Universitară Clujeană, Cluj-Napoca, 2008