Sunteți pe pagina 1din 22

Metode de optimizare

Tehnici de optimizare n energetic Pag:4





1. METODE DE OPTIMZARE


1.1. Introducere n optimizare

Evoluia proceselor din lumea nconjurtoare, din energetic n particular, sunt influenate
de dou categorii de fenomene:
- fenomene naturale - datorate legilor naturale de evoluie a proceselor (de exemplu
randamentul unei centrale termoelectrice este influenat de ciclul termic ales i este limitat
ntotdeauna de randamentul Carnot);
- fenomene artificiale - datorate activitii omului, putnd fi fenomene economice sau
organizatorice, depinznd direct de intervenia omului n procesul respectiv.
Deoarece fenomenele naturale au loc independent de voina omului, pentru desfurarea
unei activiti ct mai eficiente, este necesar ca cea de-a doua categorie de fenomene s se
desfoare anumite condiii astfel nct, inndu-se seama de fenomenele naturale, ntregul
proces s se desfoare ct mai eficient.
Disciplina care cerceteaz n mod tiinific fenomenele organizatorice i permite pregtirea
tiinific a deciziilor poart denumirea de cercetare operaional. Cercetarea operaional este o
ramur a matematicii. Ea a aprut ca o necesitate a mbuntirii activitii umane n diferite
domenii.
Metoda de cercetare specific cercetrii operaionale este modelul matematic. Acesta
cuprinde:
funcia obiectiv - care modeleaz fenomenul urmrit i se exprim n diferite uniti de
msur, cel mai adesea n uniti bneti. Funcia obiectiv se mai numete funcie criteriu sau
funcie scop.
restriciile problemei - care in seama de regul de legile naturale care determin procesul
(restricii tehnice) sau de anumite condiii economice (restricii economice).
Stabilirea valorii optime pentru funcia obiectiv (minim sau maxim, dup caz), n
condiiile respectrii restriciilor, poart denumirea de optimizare. In procesul de optimizare se
stabilesc valori pentru mrimile de comand din proces, care depind de activitatea omului. Setul de
valori stabilit pentru mrimile de comand se numete decizie optim.

Metode de optimizare
Tehnici de optimizare n energetic Pag:5
In timp ce obiectivele funcionrii sistemului analizat pot fi mai multe, funcia obiectiv, de
regul o funcie economic, nu poate fi dect una singur.
De exemplu n cazul optimizrii funcionrii unei centrale de ntreprindere, optimul obinut
pentru minimizarea consumului de combustibil, pentru o producie impus, este diferit de cel
obinut n cazul maximizrii produciei de abur livrat.
Stabilirea soluiei optime este cu att mai dificil cu ct sistemul de optimizat este mai
complex. Cnd stabilirea soluiei optime pentru sistemul complex este greoaie, aceasta se poate
face pe subsistemele componente ale sistemului complexe. Optimul obinut este de regul mai slab
dect n cazul optimizrii sistemului n ansamblul lui, ns calculele sunt mult mai simple. Metoda
nlocuirii unei optimizri complete cu mai multe optimizri pariale poart denumirea de
suboptimizare.
O alt variant de suboptimizare este optimizarea succesiv a funciei obiectiv n raport cu
anumite variabile de comand, celelalte fiind considerate constante. O problem de maxim poate fi
uor transformat n una de minim prin schimbarea semnului funciei obiectiv. Un punct de extrem
poate fi global dac valoarea optim pentru ntreg domeniul de definiie sau local dac valoarea
este optim pentru un subdomeniu.
Pentru o problem de optimizare, o faz important este stabilirea modelului matematic care
reprezint un proces de abstractizare. Apreciind diferit multiplele aspecte ale unui fenomen se pot
obine mai multe modele matematice. Opiunea pentru un model sau altul se face n funcie de
precizia de descriere a fenomenului, volumul de calcule necesar pentru determinarea optimului,
cheltuieli necesare. Determinarea valorii extreme a unei funcii obiectiv, supus la restricii, se mai
numete i programare matematic. Dac funcia de optimizat i restriciile sunt liniare
programarea se mai numete programare liniar. In caz contrar ea se numete neliniar. Dac
funcia criteriu este ptratic (variabile la ptrat sau produs de variabile), iar restriciile sunt liniare,
programarea se numete ptratic. Dac funcia obiectiv i restriciile sunt convexe, atunci
programarea se numete convex. Un caz particular al programrii matematice este programarea
dinamic, caz n care atribuirea de valori variabilelor se face succesiv. Dac variabilele problemei
nu variaz n timp, atunci optimizarea este staionar, n caz contrar ea este dinamic. Dac
mrimile care intervin n procesul de optimizare au un caracter aleatoriu, atunci optimizarea se
numete stohastic.
Metodele de optimizare au o convergen global dac permit gsirea punctului de extrem
la pornirea din orice punct al domeniului. Convergena global este specific problemelor de
programare convex.


Metode de optimizare
Tehnici de optimizare n energetic Pag:6
1.1.1. Forma general a problemelor de optimizare

Modelul matematic general al unei probleme de optimizare este dat de relaia (1.1)


min(max) ( , ,..., )
( , ,..., ) , , ,...,
( , ,..., ) , , ,...,
( , ,..., ) , , ,...,
z x x x
f x x x d i p
f x x x d j p p q
f x x x d k q q m
n
i n i
j n j
k n k
1 2
1 2
1 2
1 2
12
1 2
1 2
=
= + +
= = + +

(1.1)
n care z(x
1
, x
2
,...,x
n
) reprezint funcia obiectiv, iar f
i
(x
1
, x
2
,...,x
n
), i=1,2,...,p, f
j
(x
1
, x
2
,...,x
n
),
j=p+1,p+2,..,q, f
k
(x
1
, x
2
,...,x
n
), k=q+1, q+2,...,m restriciile problemei. Mrimile x
1
, x
2
,...,x
n
sunt
variabilele problemei. Pentru ca problema s admit soluii este necesar ca n m-q.

1.1.2. Etapele rezolvrii unei probleme de optimizare

Principalele etape n rezolvarea unei probleme de optimizare sunt:
- culegerea de informaii n legtur cu procesul studiat;
- ntocmirea modelului matematic;
- verificarea modelului matematic;
- determinarea soluiei optime;
- aplicarea soluiei optime.
In prima etap se culeg informaii statistice despre fenomenul studiat, precum i despre
parametrii care influeneaz desfurarea acestuia. Aceast etap este cea mai dificil, mai ales
atunci cnd nu este bine cunoscut.
In faza de ntocmire a modelului matematic trebuie s se fac abstracie de informaiile
neeseniale. Alegerea judicioas a aspectelor modelate constituie principala problem atunci cnd
se ntocmete modelul matematic. Nu trebuie s se insiste pe un model foarte precis atunci cnd
informaiile despre proces au o precizie redus sau atunci cnd nu intereseaz o precizie deosebit.
Verificarea modelului matematic se face prin simulare. Se compar rezultatele obinute prin
calcul cu cele obinute n procesul real. Dac rezultatele sunt corespunztoare modelul este
plauzibil, n caz contrar el trebuie corectat.
Determinarea soluiei optime depinde de modelul matematic ales, n perioada testelor
putndu-se impune modificarea acestuia.

Metode de optimizare
Tehnici de optimizare n energetic Pag:7
Aplicarea soluiei optime poate scoate n eviden numite aspecte neluate n considerare sau
anumite limite ale modelului, rezultnd necesitatea corectrii acestuia.
Toate etapele de mai sus se influeneaz reciproc. O problem de optimizare este complet
rezolvat cnd toate etapele de mai sus au fost parcurse.

1.2. Programarea liniar
1.2.1. Formularea problemei

Este problema n care funcia obiectiv i restriciile sunt liniare. Forma standard a problemei
de progrmare liniar este:

z c x c x c x
a x a x a x d
a x a x a x d
a x a x a x d
x j n
m n
n n
n n
n n
m m mn n m
j
= + + + =
+ + + =
+ + + =
+ + + =
=
<
1 1 2 2
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
0 1 2
... min(max)!
...
...
....................................................
...
, , ,...,

(1.2)
n care c
j
, j=1,2,..,n sunt costuri unitare n problema de minim sau beneficii unitare n problema de
maxim, a
ij
, i=1,2,...,m, j=1,2,...,n reprezint consumul din resursa i pentru realizarea produsului j,
iar d
i
, i=1,2,..,n resursele disponibile. Funcia z este funcia obiectiv.
Problema (1.2) poate fi scris compact:

z c x
a x d i m
x j n
m n
j j
j
n
ij j i
j
n
j
= =
= =
=
<
=
=

min(max)!
, , ,...,
, , ,...,
1
1
12
0 12

(1.3)
sau matricial:

| | | |
| | | | | |
| |
z C X
A X D
X
T
= =
=

min(max)!
, 0

(1.4)

Metode de optimizare
Tehnici de optimizare n energetic Pag:8

| | | |
C c c c
T
n
=
1 2
...
(1.5)

| | | |
X x x x
T
n
=
1 2
...
(1.6)

| |
A
a a a
a a a
a a a
n
n
m m mn
=

(
(
(
(
11 12 1
21 22 2
1 2
...
...
.... ...... ..... .....
...

(1.7)

| | | |
D d d d
T
m
=
1 2
...
(1.8)
Vectorul [D] mai este denumit i vectorul resurselor. Vectorii coloan ai matricei [A],
vectori de dimensiune m n spaiul vectorial n dimensional i vom nota cu [V
j
]:

| | | |
V a a a
j
T
j j mj
=
1 2
....
(1.9)
In practic se ntlnesc mai des formele canonice ale problemei de programare linear:


| | | |
| | | | | |
| |
z C X
A X D
X
T
= =

min!
, 0

(1.10)

| | | |
| | | | | |
| |
z C X
A X D
X
T
= =

max!
, 0

(1.11)
Orice problem de programare liniar poate fi adus la forma standard (1.4). Astfel
problema (1.10) poate fi scris:

| | | |
| | | | | | | |
| | | |
z C X
A X X D
X X
T
e
e
= =
=

min!
, 0 0

(1.12)
iar problema (1.11) devine:

Metode de optimizare
Tehnici de optimizare n energetic Pag:9

| | | |
| | | | | | | |
| | | |
z C X
A X X D
X X
T
e
e
= =
+ =

max!
, 0 0

(1.13)
O soluie a problemei care satisface restriciile se numete program admisibil. Un program
care are cel mult m variabile nenule se numete program de baz (n condiiile rang(A)=m).

1.2.2. Proprieti ale problemei de programare liniar

a) Mulimea programelor admisibile ale problemei de programare liniar este convex.
Dac [X
1
] i [X
2
] sunt programe admisibile, atunci trebuie s artm c i programul [X]
obinut prin combinaia liniar a celorlalte dou este un program admisibil.

| | | | | |
X X X = + ( ) , [0, ] 1 1
1 2

(1.14)
Este evident c dac [X
1
] 0 , [X
2
] 0, atunci [X] 0. Scriind restriciile pentru
cele dou programe i nmulindu-le cu (1-), respectiv , vom obine

| | | | | |
| | | | | |
A X D
A X D
=
=
1
2
1 ( )


(1.15)
i adunnd cele dou ecuaii:

| | | | | | ( ) | | | |
| | | | | |
A X X D D
A X D
+ = +
=
( ) ( ) 1 1
1 2


(1.16)
adic [X] este tot un program admisibil.
b) Mulimea programelor optime este convex:
Dac [X
1
] i [X
2
] sunt programe optime, atunci trebuie s artm programul [X] dat de
(1.14) este dea asemenea optim. Deoarece ambele programe sunt optime, valoarea funciei obiectiv
va fi aceeai:

| | | |
| | | |
z C X
z C X
opt
T
opt
T
=
=
1
2
1 ( )


(1.17)
i prin adunare

Metode de optimizare
Tehnici de optimizare n energetic Pag:10

| | | | | | ( )
| | | |
( ) ( ) 1 1
1 2
+ = +
=
z z C X X sau
z C X
opt opt
T
opt
T

(1.18)
adic programul [X] este de asemenea optim.
c) Dac o problem de programare liniar admite un program, ea admite cel puin un
program de baz.
Fie un program [X] care are n valori nenule. Vom putea scrie:

| | | |
x V D
j
j
n
j
=

=
1

(1.19)
Deoarece rang(A)=m < n atunci cei n vectori ai matricei a vor fi liniar dependeni, adic

j
, j=1,2,..,n, nu toi nuli astfel nct:

| |

j
j
n
j
V
=

=
1
0
(1.20)
Sumnd (1.19) i (1.20) nmulit cu un coeficient R vom avea:

( ) | | | |
x V D
j j j
j
n
+ =
=


1

(1.21)
Pentru ca programul cu variabilele x'
j
= x
j
+
j
, j=1,2,..,n, care satisface restriciile de tip
egalitate, s satisfac i restriciile x'
j
0, j=1,2,..,n este necesar ca:
x j n
j j
+ = 0 12 , , ,...,
(1.22)
Alegnd pentru R valoarea pentru care una dintre restricii este satisfcut la limit, vom
obine:

=
j
j
j
x

inf
0

(1.23)
atunci programul [X']=[X]+
0
[] va avea n-1 componente nenule, componenta pentru care este
satisfcut relaia (1.23), anulndu-se.

Metode de optimizare
Tehnici de optimizare n energetic Pag:11
Procedeul de mai sus se poate repeta pn cnd relaia (1.20) scris pentru n-1, n-2,..
componente nenule nu mai este satisfcut. Acest lucru se va ntmpla atunci cnd numrul de
componente nenule va fi egal cu m, adic atunci cnd variabilele din baz vor fi independente.
d) Dac o problem de programare liniar admite un program optim ea va admite cel puin
un program optim de baz.
Fie un program [X] optim, cu n componente nenule. Fiind un program sunt satisfcute rel.
(1.19), (1.20) i (1.21).
Funcia obiectiv pentru soluia [X']=[X]+[] va fi:

| | | | | | | | | | | |
z C X C X C
T T T
= = + '
(1.24)
i ntruct [X] este un program optim, rezult:

| | | |
z z C
opt
T
= +
(1.25) Deoarece R i z nu poate fi mai mic dect z
opt
n cazul problemelor de minim, iar
z nu poate fi mai mare dect z
opt
n cazul problemelor de maxim, rezult ca necesar:

| | | |
C
T
= 0
(1.26)
i n consecin, valoarea funciei obiectiv z pentru programul [X']=[X]+[] nu depinde de
valoarea lui . Alegnd pentru valoarea
0
,

dat de (1.23) se obine un nou program optim cu n-1
componente nenule. Continund acest raionament se ajunge la un program optim cu m componente
nenule, adic un program optim de baz.




1.2.3. Algoritmul Simplex

Considerm problema de minim sub forma standard:

| | | |
| | | | | |
| |
z C X
A X D
X
T
= =
=

min!
, 0

(1.27)
Considernd rang(A)=m < n, cu eliminarea eventual a unor ecuaii inutile (combinaii
lineare ale altora) i c avem o soluie de baz [X
B
] neoptim vom cuta soluii de baz care s

Metode de optimizare
Tehnici de optimizare n energetic Pag:12
conduc la o valoare mai mic a funciei obiectiv. Evident situaiile n care soluia nu este de baz
nu intereseaz deoarece, aa cum s-a artat n paragraful anterior, programele pot fi transformate
uor n programe de baz. Pe de alt parte, n cazul unei soluii de baz, variabilele din afara bazei
sunt nule. Considernd c variabilele din afara bazei nu sunt nule, vom studia ce variabil dintre
acestea se poate introduce n baz astfel nct s se obin o soluie mai bun.
mprind variabilele n variabile de baz (x
i
B, m variabile) i n variabile din afara bazei (x
j

B, m-n variabile), mprind matricea A n mod corespunztor, restricia de tip egalitate din (1.27)
se scrie:

| |
[ ] [ ]
[ ]
[ ]
[ ] A A
X
X
D
B R
B
R

(
=
(1.28)
Dezvoltnd (1.28) se obine succesiv:

| | | | | | | | | |
A X D A X
B B R R
=
(1.29)

| | | | | | | | | | | |
X A D A A X
B B B R R
=
1 1

(1.30)

| | | | | | | |
X D A X
B B R
B
R
=
(1.31)
unde

| | | | | |
| | | | | |
D A D
A A A
B B
R
B
B R
=
=

1
1

(1.32)
Calculnd acum funcia obiectiv:

| | | | | | | | | | | | | |
z C X C C
X
X
C X C X
T
B T R T
B
R
B
T
B R
T
R
= =

(
= + [ ] [ ]
[ ]
[ ]

(1.33)
i nlocuind [X
B
], din (1.31), vom avea:

| | | | | | | | ( ) | | | | | | | |
| | | | | | ( ) | |
z C D A X C X C D
C C A X z c c a x
B
T
B R
B
R R
T
R B
T
B
R
T
B
T
R
B
R
B
j i ij
B
i B
j
j B
= + = +
+ = +
|
\

|
.
|




(1.34)
unde

Metode de optimizare
Tehnici de optimizare n energetic Pag:13

| | | |
z C D
B
B
T
B
=
(1.35)
reprezint valoarea curent a funciei obiectiv (n baza curent B).
Notnd
z c a
j
B
i ij
B
i B
=


(1.36)
relaia (1.34) devine:

( )
z z c z x
B
j j
B
j B
j
= +


(1.37)
Din relaia (1.37) se pot determina variabilele din afara bazei care primind o valoare nenul
conduc la scderea funciei obiectiv.
1. Criteriul de optim
Dac c
j
- z
j
0, jB, soluia este optim. Intr-adevr, din (1.37) se observ c dac se
introduce o variabil n baz, oricare ar fi ea, funcia obiectiv crete (fiind evident necesar ca x
j

0).
In cazul problemei de maxim condiia de optim este c
j
- z
j
0, jB.
2. Criteriul de intrare n baz
Dac c
j
- z
j
0 atunci soluia nu este optim i va intra n baz variabila x
k
(vectorul [V
k
])
pentru care
{ }
B
j j
j
B
k k
z c z c = inf
(1.38)
n acest fel, va intra n baz variabila care va conduce cel mai rapid la scderea funciei obiectiv.
In cazul problemei de maxim va intra n baz variabila pentru care:
{ }
B
j j
j
B
k k
z c z c = sup
(1.39)
3. Criteriul de optim infinit
Dac c
j
- z
j
0, i k este variabila care va intra n baz conform condiiei (1.39) dar toi
a
B
ik
< 0, (i=1,2,..,m) atunci programul admite un optim infinit. Intr-adevr din (1.32) scris pe
componente, n ipoteza intrrii n baz a variabilei k B, vom avea:

Metode de optimizare
Tehnici de optimizare n energetic Pag:14
x d a x
i
B
i
B
ik
B
k
= , i=1,2,..,m
(1.40) Se constat c variabila intrat n baz x
k
poate crete orict, deoarece variabilele x
B
i
rmn
pozitive. Funcia obiectiv va fi:
z z c z x z
B
k k
B
k
= + ( )
(1.41)
4. Criteriul de ieire din baz
Pentru ca programul obinut prin intrarea n baz a variabilei x
k
, s fie un program de baz,
va trebui ca din baz s iese o variabil. Criteriul de ieire este dat de condiia ca variabilele rmase
n baz s rmn pozitive. Scriind sistemul restriciilor de tip egalitate (1.31) rearanjat:

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
1 1 1 1
2 1 2 2
1
1
... ... ... ...
... ... ... ...
... ... ... ... ... ... ... ... ... ... ...
... ... ... ...
... ... ... ... ... ... ... ... ... ... ...
... ... ... ...
a a a
a a a
a a a
a a a
m
B
k
B
n
B
m
B
k
B
n
B
hm
B
hk
B
hn
B
mm
B
mk
B
mn
B
+
+
+
+

(
(
(
(
(
(
(
(

(
(
(
(
(
(
(
(
(
(
(
=

(
(
(
(
(
(
(
(
x
x
x
x
x
d
d
d
d
h
k
n
B
B
h
B
m
B
1
2 1
2
...
...
...
...
...

(1.42)
Presupunnd c intr n baz variabila x
k
i iese din baz variabila x
h
, transformarea
coloanei k n coloan unitate, cu pivot a
B
hk
implic mprirea linei h cu pivotul i formarea de
zerouri n restul coloanei k. Termenii liberi vor avea expresiile:
d
d
a
h
B h
B
hk
B
1
=
(1.43)
d d
d
a
a
d a d a
a
i
B
i
B h
B
hk
B
ik
B i
B
hk
B
h
B
ik
B
hk
B
1
= =

, i # h, i=1,2,...,n
(1.44)
unde B1 reprezint baza obinut prin intrarea variabilei k i ieirea variabilei h. Din condiia d
B1
i

0, rezult urmtoarele condiie pentru ieirea din baz:

a
d a d a
hk
B
i
B
hk
B
h
B
ik
B
>

0
0
i=1,2,...,m
(1.45)
sau

d
a
d
a
i
B
ik
B
h
B
hk
B
, i=1,2,..., m
(1.46)
Rezult variabila h care iese din baz:

Metode de optimizare
Tehnici de optimizare n energetic Pag:15

d
a
d
a
h
B
hk
B
i
a
i
B
ik
B
ik
B
=


`
)
>
inf
0

(1.47)


1.2.4. Rezolvarea problemelor de programare liniar (PL)


Pentru rezolvarea problemelor se utilizeaz criteriile descrise n paragraful anterior. Pentru a
nelege procedura practic de rezolvare, vom prezenta n continuare un exemplu.
Fie problema de PL:

z x x
x x
x x
= + =
+
+
2 5
4 10
2 3 6
1 2
1 2
1 2
max!

(1.48)
Pentru aducerea problemei la forma standard (pentru care se aplic algoritmul simplex) se
adaug variabilele ecart y
1
, y
2
adugate la restricii:

z x x
x x y
x x y
= + =
+ + =
+ + =
2 5
4 10
2 3 6
1 2
1 2 1
1 2 2
max!

(1.49)
Rezolvare manual a problemei se face utiliznd tabelul (1.1).
Tabelul 1.1
Rezolvarea problemei de PL

C 2 5 0 0
B C
B
x
1
x
2
Y
1
y
2
D
y
1
0 1 4 1 0 10 {10/4}
y
2
0 2 3 0 1 6 {6/3}
z
j
0 0 0 0 0
c
j
- z
j
2 5 0 0
y
1
0 -5/3 0 1 -4/3 2
x
2
5 2/3 1 0 1/3 2
z
j
10/3 5 0 5/3 10
c
j
- z
j
-4/3 0 0 -5/3

Metode de optimizare
Tehnici de optimizare n energetic Pag:16
In prima linie din tabel se trec valorile vectorului [C] pentru toate variabilele, inclusiv cele
de ecart, y
1
, y
2
. In linia a 2-a se trece lista alfanumeric a variabilelor. In coloana 1 se trec
variabilele din baz. n prima iteraie baza va fi format de variabilele y
1
, y
2
care au deja o matrice
unitate n matricea restriciilor (col. 5 i 6). In coloana a 2-a se trec coeficienii din funcia obiectiv
a variabilelor din baz, c
i
, iB, necesari pentru calculul mrimilor z
j
cu relaia (1.36). In
urmtoarele coloane se trec coeficienii a
ij
, i=1,2,...,m, j=1,2,...,m, iar n ultima coloan vectorul
resurselor [D].
In prima etap se calculeaz mrimile z
j
cu rel (1.36), ca produs ntre mrimile din coloana 2
i cele din coloana j (3, 4, 5,...). Prin nmulirea coloanei 2 cu coloana D se obine conform relaiei
(1.36), valoarea funciei obiectiv (zona ngroat). In continuare se calculeaz linia c
j
- z
j
ca
diferen ntre linia 1 i linia z
j
. Pentru problema analizat se caut valoarea maxim pozitiv din
linia c
j
- z
j
care ne va da potrivit criteriului 2, variabila care va intra n baz. In cazul nostru intr n
baz variabila x
2
pentru care c
j
- z
j
= 5. Se determin, potrivit criteriului 4 variabila care iese din
baz. In cazul nostru min{10/4, 6/3}=6/3 i deci va iei din baz variabila y
2
. Coeficientul a
hk
=3
corespunztor interseciei coloanei variabilei care intr n baz i celei care iese din baz se mai
numete i pivot (chenar linie dubl). Pn aici am terminat prima iteraie.
In iteraia urmtoare, prima linie trecut n tabel este cea corespunztoare variabilei care
iese din baz. In coloana unu se trece variabila intrat, iar n cea de-a doua coeficientul c
i
aferent.
Toate mrimile din colanele urmtoare se mpart la pivot, astfel nct n iteraia curent acesta va
avea valoarea 1. Pentru a crea o nou baz, n coloana variabilei intrate, pentru restul liniilor se
formeaz, prin prelucrri lineare. 0.
Se continu, la fel ca n prima iteraie cu calculul liniilor z
j
i c
j
- z
j
. Din tabel (ultima line),
se observ c soluia obinut dup prima iteraie este optim deoarece c
j
- z
j
0, j=1,2,..,n.
Valoarea optim a funciei obiectiv se ia din ultima linie z
j
, coloana D, n cazul nostru valoarea 10.
Rezult c soluia optim este x
1
= 0, x
2
= 2, y
1
= 2, y
2
= 0. Se observ c ambele restricii din
(1.49) sunt satisfcute, iar din (1.48) a doua este satisfcut la limit, n timp ce prima este
satisfcut cu un ecart de 2 uniti, valoare dat de y
1
n (1.49).

1.2.5. Determinarea unui program iniial de baz

Pentru cazul particular al problemei prezentate n exemplul anterior, determinarea unui
program iniial de baz nu prezint dificulti acesta fiind dat de variabilele ecart y
1
i y
2.
Aceast
situaie nu este ns valabil pentru toate cazurile ntlnite n practic.

Metode de optimizare
Tehnici de optimizare n energetic Pag:17
a) Metoda formrii unei matrice unitate n matricea extins format din restricii + vectorul
resurselor [D]. Formarea unei matrice unitate se face prin pivotare, alegerea pivotului fcndu-se
din condiia obinerii unei soluii pozitive (1.46), adic alegerea pivotului se face cu (1.47). Coloana
pe care se pivoteaz se alege astfel nct volumul de calcule s fie minim. Vom arta modul de
lucru printr-un exemplu.

z x x x x x x
x x x x
x x x x x
x x x x x
x i
i
= + + + =
+ =
+ =
+ + + =
=
2 3 3 5
2 2 2
3 3 5 1
3 3
0 12 6
1 2 3 4 5 6
1 4 5 6
2 3 4 5 6
2 3 4 5 6
max!
, , ,...,

(1.50)
Matricea extins a sistemului transformat succesiv devine:

|
\

|
.
|
|
|



|
\

|
.
|
|
|

|
\

|
.
|
|
|
1 0 0 2 1 2 2
0 3 1 1 3 5 1
0 1 1 1 1 3 3
1 0 0 2 1 2 2
0 1 1 3 1 3 1 5 3 1 3
0 0 4 3 4 3 0 4 3 8 3
1 0 0 2 1 2 2
0 1 0 0 1 2 1
0 0 1 1 0 1 2
~ / / / /
/ / / /
~
~

unde s-a obinut o matrice unitate n coloanele x
1
, x
2
, x
3
, programul iniial de baz fiind [2 1 2 0 0
0]
T
, iar valoarea funciei obiectiv fiind 9. In continuare se aplic algoritmul simplex, tabelul 1.2,
datele prelundu-se din ultima matrice extins:

Tabelul 1.2
Tabelul simlpex pentru problema (1.50)
C 2 3 1 -3 -5 1
B C
B
x
1
x
2
x
3
x
4
X
5
x
6
D
x
1
2 1 0 0 -2 -1 2 2
x
2
3 0 1 0 0 -1 2 1
x
3
1 0 0 1 1 0 1 2
z
j
2 3 1 -3 -5 11 9
c
j
- z
j
0 0 0 0 0 -10

Din ultima linie a tabelului 1.2 se observ c soluia este optim (c
j
- z
j
0, j=1,2,..,6).

Metode de optimizare
Tehnici de optimizare n energetic Pag:18
b) Metoda celor dou faze
In aceast metod forma standard (1.4) se modific n faza I prin adugarea unor variabile
auxiliare x
a
j
, j=1,2,..,m i a funciei obiectiv:

| | | | | | | | | |
| | | |
z x
A X I X D
X X
j
a
j
m
a
a
1
1
0 0
= =
+ =

=

min!
,

(1.51)
Dac dup rezolvarea fazei I se obine min(z
1
)=0, deci x
a
j
= 0, j=1,2,..,m. nseamn c
variabilele auxiliare au fost eliminate din baz i vom avea o baz format din variabilele
principale. In caz contrar problema nu admite un program iniial de baz.
In faza II-a se preia ultimul tabel simplex al fazei I i se aplic n continuare algoritmul
simplex pentru problema principal:

| | | |
| | | | | |
| |
z C X
A X D
X
T
B B
= =
=

min(max)!
, 0

(1.52)
n care baza B este ultima baz a fazei I. Pentru exemplul (1.51) vom ntocmi tabelul simplex
pentru faza I innd seama c avem deja o coloan unitate (aferent variabilei x
1
). Vom aduga
numai dou variabile auxiliare x
a
1
, x
a
2
, n restriciile 2, respectiv 3, funcia obiectiv fiind
z
1
=(x
a
1
+x
a
2
)=min!:
Tabelul 1.3
Faza I pentru problema (1.50)

C 0 0 0 0 0 0 1 1
B C
B
x
1
x
2
x
3
x
4
x
5
x
6
x
a
1
x
a
2
D
x
1
0 1 0 0 -2 -1 2 0 0 2 {2/2}
x
a
1
1 0 3 -1 -1 -3 5 1 0 1 {1/5}
x
a
2
1 0 1 1 1 -1 3 0 1 3 {3/3}
z
j
0 4 0 0 -4 8 1 1 4
c
j
- z
j
0 -4 0 0 4 -8 0 0
x
1
0 1 -6/5 2/5 -8/5 1/5 0 -2/5 0 8/5 {8/2}

Metode de optimizare
Tehnici de optimizare n energetic Pag:19
x
6
0 0 3/5 -1/5 -1/5 -3/5 1 1/5 0 1/5 -
x
a
2
1 0 -4/5 8/5 8/5 4/5 0 -3/5 1 12/5 {12/8}
z
j
0 -4/5 8/5 8/5 4/5 0 -3/5 1 12/5
c
j
- z
j
0 4/5 -8/5 -8/5 -4/5 0 8/5 0
x
1
0 1 -1 0 -2 0 0 -1/4 -1/4 1
x
6
0 0 1/2 0 0 -1/2 1 1/8 1/8 1/2
x
3
0 0 -1/2 1 1 1/2 0 -3/8 5/8 3/2
z
j
0 0 0 0 0 0 0 0 0
c
j
-z
j
0 0 0 0 0 0 0 1 1
Din tabel se observ c s-a obinut 0 pentru funcia obiectiv n faza I i s-au eliminat din
baz variabilele auxiliare, ultima baz fiind format de variabilele x
1
, x
3
, x
6
. Se observ din prima
linie c s-au luat costurile c
j
aferente funciei obiectiv din faza I. In faza II se revine la funcia
obiectiv iniial:

Tabelul 1.4
Faza II-a pentru problema (1.50)

C 2 3 1 -3 -5 1
B C
B
x
1
x
2
x
3
x
4
x
5
x
6
D
x
1
2 1 -1 0 -2 0 0 1 -
x
6
1 0 1/2 0 0 -1/2 1 1/2 {1/1}
x
3
1 0 -1/2 1 1 1/2 0 3/2 -
z
j
2 -2 1 -3 0 1 4
c
j
- z
j
0 5 0 0 -5 0
x
1
2 1 0 0 -2 -1 2 2
x
2
3 0 1 0 0 -1 2 1
x
3
1 0 0 1 1 0 1 2
z
j
2 3 1 -3 -5 11 9
c
j
- z
j
0 0 0 0 0 -10
Se constat c s-a obinut aceeai valoare pentru funcia obiectiv, 9 i acelai program
optim, [2 1 2 0 0 0]
T
. Dei este mai laborioas, metoda celor dou faze are avantajul unei abordri
sistematice i deci posibilitatea programrii pe calculator.

Metode de optimizare
Tehnici de optimizare n energetic Pag:20

1.2.6. Dualitatea n programarea liniar

Prin definiie, dac avem o problem de programare liniar sub forma canonic:

z c x
a x d d m
x j n
j j
j
n
ij j i
j
n
j
1
1
1
12
0 12
= =
=
=
=
=

min!
, , ,...,
, , ,...,

(1.53)
duala acesteia este:

z d y
a y c j n
y i m
i i
i
m
ij i j
i
m
i
2
1
1
1 2
0 1 2
= =
=
=
=
=

max!
, , ,...,
, , ,...,

(1.54)
Problema dual se obine din problema iniial (primal) prin:
- schimbarea naturii extremului;
- fiecrei restricii de rang i i corespunde o variabil dual y
i
0;
- fiecrei variabile x
j
i corespunde o restricie dual, avnd drept coeficieni ai restriciilor
coordonatele vectorului [V
j
] i termenii liberi ai inecuaiei costurile unitare c
j
, j=1,2,..,n;
- termenii liberi ai restriciilor, d
i
, i=1,2,...,m devin coeficienii funciei obiectiv.
Intr-o form sintetic cuplul de probleme poate fi scris:

Metode de optimizare
Tehnici de optimizare n energetic Pag:21

| |
| | | |
| |
a a a
a a a
a a a
X
d
d
d
c c c X
a a a
a a a
a a a
Y
d
d
n
n
m m mn m
n
n
n
m m mn
T
11 12 1
21 22 2
1 2
1
2
1 2
11 12 1
21 22 2
1 2
1
2
.....
.....
.... .... ..... ....
....
....
..... min!
.....
.....
.... .... ..... ....
....
...

(
(
(
(

(
(
(
(
=

(
(
(
(

| |
| |
.
max!
.....
d
Y
c c c
m
T
n

(
(
(
(
=

1 2

(1.55)
sau

| | | | | | | |
| | | | | | | | | | | |
| | | |
z C X z D Y
A X D A Y C
X Y
T T
T
1 2
0 0
= = = =


min! max!

(1.56)
Avantajele utilizrii dualitii sunt numeroase. Noi vom sublinia numai avantajul rezolvrii
unei probleme de forma dualei, care spre deosebire de forma primal, admite cu uurin un
program iniial de baz.

1.2.6.1. Proprieti ale dualitii

a) Pentru un cuplu de probleme duale, valoarea funciei obiectiv pentru problema de maxim
nu poate depi valoarea funciei obiectiv a problemei de minim.
Dac nmulim restriciile de tip egalitate ale celor dou probleme cu [Y]
T
, respectiv [X]
T

vom obine:

| | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | |
Y A X D Y A X Y D D Y z
X A Y C X A Y X C C X z
T T T T
T T T T T T
= =
= =
2
1
(1.57)
ntruct

| | | | | | | | | | | |
| | | | | | | | | | | | | |
Y A X X A Y
z D Y X A Y C X z z z
T T T
T T T T
=
= =
2 1 2 1

(1.58)

Metode de optimizare
Tehnici de optimizare n energetic Pag:22
b) Dac pentru un cuplu de probleme duale, cu programele [X] i [Y], valorile funciilor
obiectiv coincid, atunci ambele programe sunt optime.

| | | | | | | |
z z C X D Y
T T
1 2
= =
i potrivit proprietii a), rezult c sa atins un punct de extrem pentru ambele probleme.
c) Teorema ecarturilor. Condiia necesar i suficient pentru ca programele [X] i [Y] s
fie optime este:
| | | || | | | ( )
| | | | | | ( ) | | 0
0
=
=
X Y A C
D X A Y
T T
T

(1.59)
S artm, de exemplu, suficiena. Dac adunm ecuaiile i inem seama c termenul
[Y]
T
[A] [X] se reduce rezult
| | | | | | | | | | | |
2 1
z z Y D D Y X C
T T T
= = = =
(1.60)
i, potrivit proprietii b) programele sunt simultan optime.
Observaie:
Dac se aduc problemele (1.56) la forma standard, atunci vom avea:

| | | |
| | | | | | | |
| | | | 0 ,
] [
min!
1

=
= =
e
e
T
X X
D X I X A
X C z

| | | |
| | | | | | | |
| | | | 0 ,
] [
max!
2

= +
= =
e
e T
T
Y Y
C Y I Y A
Y D z

(1.61)
de unde rezult:

| || | | | | |
| | | | | | | |
e T
e
Y Y A C
X D X A
=
=

(1.62)
i nlocuind n (1.59) avem:

| | | |
| | | | 0
0
=
=
e T
e T
Y X
X Y

de unde rezult i numele teoremei.



1.2.6.2. Determinarea soluiei optime a unei probleme
de programare liniar pe baza dualitii

Metode de optimizare
Tehnici de optimizare n energetic Pag:23

Ne propunem s rezolvm o problem de forma:

| | | |
| | | | | |
| |
z C X
A X D
X
T
1
0
= =

min!

(1.63)
pentru care, aa cum am artat, este mai dificil determinarea unui program iniial de baz.
Problema dual adus la forma standard este:

| | | |
| | | | | | | |
| | | | 0 , 0
max!
2

= +
= =
e
e T
T
Y Y
C Y Y A
Y D z

(1.64)
Aceast problem admite ca program iniial de baz variabilele ecart [Y
e
]. Dac pentru
aceast problem s-a determinat un program optim [Y
0
], tabelul simplex n ultima iteraie va arta
ca mai jos:
Tabelul 1.5
Tabelul simplex pentru problema dual
D d
1
d
2
.... d
m
0 .... 0
B D
B
y
1
y
2
.... y
m
y
1e
.... y
ne
C
[B] [D
B
] [B]
-1
[A]
T
[B]
-1
[B]
-1
[C]
z
i
[D
B
]
T
[B]
-1
[A]
T
[D
B
]
T
[B]
-1
[D
B
]
T
[B]
-1
[C]
d
i
- z
i
[D]
T
-[D
B
]
T
[B]
-1
[A]
T
-[D
B
]
T
[B]
-1


Deoarece soluia este optim rezult c

| | | | | |
| | | | | |
Y B C
z D B C
opt B
T
0
1
2
1
=
=


(1.65)
Dac notm:

| | | | | |
X D B
T
B
T
0
1
=


(1.66)
ntruct avem o problem de maxim, iar soluia este optim este necesar ca d
i
- z
i
0. In
consecin:

Metode de optimizare
Tehnici de optimizare n energetic Pag:24

| | | | | | | | | | | | | |
| | | | | |
D D B A A X D
D B X
T
B
T T
B
T

1
0
1
0
0
0 0

(1.67)
Din condiiile (1.67) rezult c [X
0
] este program pentru problema primal (satisface toate
restriciile). Dac scriem valoarea funciei obiectiv pentru problema primal vom avea:

| | | | | | | | | | | | | |
z C X X C D B C z
T T
B
T
opt 1 0 0
1
2
= = = =


(1.68)
din proprietile dualitii rezult ca programul [X
0
] este optim pentru problema primal.
Rezult c rezolvarea problemei primale (1.63) se poate face prin intermediul problemei
duale (1.64) soluia primei gsindu-se pe linia z
i
n dreptul variabilelor ecart al problemei duale.
Tabelul 1.6
Exemplu pentru rezolvarea unei probleme prin dualitate

C 5 6 0 0
B C
B
y
1
y
2
y
1e
y
2e
D
y
1e
0 1 1 1 0 1 {1/1}
y
2e
0 2 3 0 1 1 {1/3}
z
i
0 0 0 0 0
d
i
- z
i
5 6 0 0
y
1e
0 1/3 0 1 -1/3 2/3 {2/1}
y
2
6 2/3 1 0 1/3 1/3 {1/2}
z
i
4 6 0 2 2
d
i
- z
i
1 0 0 -2
y
1e
0 0 -1/2 1 -1/2 1/2
y
1
5 1 3/2 0 1/2 1/2
z
i
5 15/2 0 5/2 5/2
d
i
- z
i
0 -3/2 0 -5/2
Exemplu
S se rezolve problema de PL:

Metode de optimizare
Tehnici de optimizare n energetic Pag:25

z x x
x x
x x
x x
1 1 2
1 2
1 2
1 2
2 5
3 6
0
= + =
+
+

min!
,

(1.69)
Duala acestei probleme va fi:

z y y
y y
y y
2 1 2
1 2
1 2
5 6
1
2 3 1
= + =
+
+
max!

(1.70)
pe care o rezolvm prin algoritmul simplex utiliznd ca program iniial de baz cel dat de
variabilele ecart.
Soluia optim pentru problema dual este [Y]=[1/2 0 1/2 0] cu z
2opt
=5/2, iar pentru
problema primal este [X]=[0 5/2] i z
1opt
=5/2.

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