Documente Academic
Documente Profesional
Documente Cultură
'
0 ... , 0 , 0
: tate nenegativi de r conditiilo a si
,..., 2 , 1 0 ) ,..., , (
: lor restrictii ea satisfacer cu
) ,..., , (
: obiectiv functia a minimizeaz care
) ,..., , ( determine se Sa
) (
2 1
2 1
2 1
* *
2
*
1
*
n
n i
n
n
x x x
m i x x x g
x x x f z
x x x x
P
'
0
,..., 2 , 1 0 ) (
) ( min
x
m i x g
R x x f
i
n
Dac n cazul liniar ( f si g
i
sunt funcii liniare) exist (cel puin) o
metod general de rezolvare de exemplu metoda simplex n cazul
neliniar nu exist o asemenea metod. Totui progrese substaniale au fost
fcute n unele cazuri speciale prin impunerea unor condiii asupra funciilor
f si g
i
.Aria acestor cazuri speciale este destul de mare astfel c nu ne vom
putea opri dect asupra unora mai relevante.
Neliniaritatea n modelarea proceselor economice
S considerm problema firmei al crei obiectiv este determinarea
unui program de producie astfel nct:
9
necesarul de resurse pentru susinerea programului s se ncadreze n
disponibile date;
profitul total, rezultat din vnzarea bunurilor produse s fie maxim.
n multe situaii practice, preurile i costurile unitare de fabricaie pot fi
considerate constante astfel c i profiturile unitare vor fi la fel. n
consecin, n aceste cazuri funcia obiectiv, care reprezint profitul total, va
fi liniar:
n n n
x P x P x P x x x f + + + ... ) ,..., , (
2 2 1 1 2 1
(x
j
reprezint cantitatea produs i vndut din bunul j;P
j
este profitul unitar
corespunztor bunului j ).
Nu ntotdeauna tot ceea ce se produce dintr-un bun se poate i vinde la
un anumit pre. Apare aa numita problem a elasticitii preului: cantitatea
de marf vndut se afl ntr-o relaie invers cu preul cerut aa cum arat
curba pre cerere .
O alt surs de neliniariti n funcia obiectiv o constituie variaia
costului marginal - pentru producerea a nc unei uniti dintr-un produs - n
funcie de nivelul produciei. Acest cost marginal poate s scad n unele
situaii (ca urmare a trecerii la producia de serie, al acumulrii experienei i
al perfecionrii procesului de producie) iar n altele poate s creasc (ore
suplimentare, utilizarea n regim de urgen a unor capaciti de producie
mai costisitoare pentru satisfacerea unor cereri imediate).
Neliniaritatea poate apare i n restricii ntr-o manier asemntoare. De
exemplu, dac exist o restricie bugetar asupra costului produciei, relaia
corespunztoare va fi cu siguran neliniar n cazul n care costul marginal
al produciei este variabil.
10
Pentru restriciile privitoare la alte tipuri de resurse, neliniaritatea
apare ori de cte ori consumurile nu sunt direct proporionale cu nivelele de
producie.
n problema transporturilor se urmrete determinarea unui program
pentru transportul unui produs de la diferite surse la diveri consumatori,
cunoscndu-se cantitile disponibile i cererile, astfel nct costul total al
transportului s fie minim. n programarea liniar, costul transportului unei
uniti de produs de la o anumit surs la o anumit destinaie a fost
considerat constant, independent de cantitatea transportat. De multe ori se
ntmpl ca la cantiti mari s se acorde la transport anumite reduceri; n
aceste situaii, costul marginal al transportului unei uniti suplimentare
tinde s scad i ca o consecin costul C(x) al transportrii cantitii x este
dat de o funcie neliniar.
Fie x cantitatea transportat i C(x) costul transportrii cantitii x.
dac 0 x 6 costul unitar de transport este de 6.5 u.m. deci
C
1
(x) = 6.5x u.m.;
dac 6 x 15 , 6 uniti vor fi transportate cu costul 6.5 u.m. per unitate
iar urmtoarele cu numai 5 u.m. per unitate astfel c :
C
2
(x) = 6.5 6 + 5.(x - 6) = 9 + 5.x
dac 15 x 27 , 15 uniti vor fi transportate cu costul C
2
(15) = 84 iar
urmtoarele cu numai 4 u.m. per unitate. Costul total va fi :
C
3
(x) = 84 + 4.(x 15) = 24 + 4.x
dac 27 < x 45 , 27 uniti vor fi transportate cu costul C
3
(27) = 132 iar
urmtoarele cu 3 u.m. per unitate de unde costul total:
C
4
(x) = 132 + 3.(x 27) = 51 + 3.x
Prin urmare, costul C(x) al transportrii a x uniti este dat de funcia:
11
'
< +
< +
< +
45 27 . 3 51
27 15 . 4 24
15 6 . 5 9
6 0 5 . 6
) (
x x
x x
x x
x x
x C
care este neliniar dar liniar pe poriuni. Din fig. 4.2b) rezult c pantele
poriunilor liniare ale graficului funciei C(x) sunt chiar costurile marginale
Dac fiecare cuplu (surs i , destinaie j ) are o funcie cost similar,
aa nct costul transportului a x
ij
uniti de la i la j este dat de funcia
neliniar C
ij
(x
ij
) atunci costul total este reprezentat de funcia de asemenea
neliniar;
j i
ij ij n
x C x x x f
,
2 1
) ( ) ,..., , (
Aceste consideraii nu modific restriciile problemei de transport care
rmn liniare:
n
j
i ij
m i a x
1
,..., 2 , 1
suma cantitilor livrate de sursa i nu
depete disponibilul su;
n j b x
j
m
i
ij
,..., 2 , 1
1
suma cantitilor primite de consumatorul j
acoper cererea sa.
La terminalul unei conducte petroliere situat ntr-un port sosesc vasele
A,B,C pentru a fi ncrcate. Vasul A trebuie ncrcat cu 15 mii tone n
maximum 48 de ore, vasul B trebuie ncrcat cu 20 mii tone n maximum 60
de ore iar vasul C trebuie ncrcat cu 45 mii tone n maximum 70 de ore.
(timpii de staionare pentru ncrcare se numesc timpi de stalii i sunt
prevzui n contractul de transport; orice depire a acestor timpi
(contrastalii) se penalizeaz, penalizarea depinznd de tipul navei etc)
Terminalul dispune de pompe i conducte care nsumeaz o capacitate de
12
ncrcare de 1200 tone pe or. Se pune problema de a stabili ce debit trebuie
afectat fiecrei nave astfel nct ele s fie ncrcate n cel mai scurt timp.
Dac se noteaz cu y
1
, y
2
, y
3
deditele repartizate vaselor A,B,C i cu
x
1
, x
2
, x
3
numrul de ore necesar ncrcrii lor se obine uor urmtorul
program neliniar:
'
+ +
+ +
3 , 2 , 1 0 ,
70 , 60 , 48
1200
45000 20000 15000
(min)
3 2 1
3 2 1
3 3 2 2 1 1
3 2 1
j y x
x x x
y y y
y x y x y x
x x x f
j j
Eliminnd y
1
, y
2
, y
3
rezult modelul mai simplu:
'
+ +
+ +
0 , 0 , 0
70 , 60 , 48
1200
45000 20000 15000
(min)
3 2 1
3 2 1
3 2 1
3 2 1
x x x
x x x
x x x
x x x f
Dificulti cauzate de neliniaritate
Considerm problema de optimizare:
'
0
)) ( ),..., ( ), ( ( ) ( , 0 ) (
, ) ( min
) (
2 1
x
x g x g x g x g x g
R x x f
P
m
n
a crei mulime de soluii admisibile o notm cu A:
A =
{ } 0 ; 0 ) ( ,..., 0 ) ( , 0 ) ( 0 ) (
2 1
x x g x g x g x g R x
m
n
13
(P) se rescrie:
S se determine x
*
A cu proprietatea:
{ } A x x f x f ), ( min ) (
*
Este cunoscut faptul c dac (P) este un program liniar (adic f i
g
1
,g
2
,,g
m
sunt funcii liniare) atunci mulimea A este convex i mai mult
chiar poliedral (intersecie finit de semispaii).Aceste proprieti ale
mulimii A plus faptul c funcia obiectiv este i ea liniar ne asigur c:
soluie optim dac exist este un punct de minim global adic:
f(x
*)
f(x) () x A
cel puin o soluie este un vrf al mulimii A.
Cum numrul vrfurilor mulimii poliedrale A este finit urmeaz c,
pentru programul liniar (P), problema determinrii unei soluii optime x
*
din
mulimea, n general infinit, a tuturor soluiilor admisibile se reduce la
gsirea lui x
*
n mulimea finit a vrfurilor acestei mulimi.
Metoda simplex realizeaz n mod sistematic aceast cutare oferind ntr-un
numr finit de pai (iteraii) soluia optim x
*
.
Neliniaritatea obiectivului sau a unora dintre restricii face ca unele din
proprietile relevate mai sus s dispar fapt care duce la complicarea
sarcinii de determinare a optimului.
Clase de probleme neliniare
1) Problemele de optimizare fr restricii au forma general:
S se determine x
*
R
n
care minimizeaz valoarea funciei
) ,..., , (
2 1 n
x x x f z
minimul fiind luat dupa toi x R
n
n care funcia f este definit.
2) Probleme de optimizare cu restricii liniare i funcie obiectiv
neliniar. n aceast clas un loc deosebit l ocup problemele de
14
programare patratic n care funcia obiectiv este un polinom de gradul doi
n variabilele sale:
+ +
n j i
j i ij
n
i
i i n
x x c x c c x x x f
1 1
0 2 1
) ,..., , (
Importana problemelor de programare patratic este motivat prin:
faptul c modeleaz cu suficient acuratee multe situaii practice;
se rezolv prin metode derivate din metoda simplex ntr-un numr
finit de pai;
rezolvarea multor probleme cu restricii liniare i funcie obiectiv
neliniar se poate reduce la rezolvarea unei secvene de probleme de
programare patratic ale cror funcii obiectiv aproximeaz din ce n
ce mai bine obiectivul neliniar original.
3) Problemele de programare convex se caracterizeaz prin:
funcie obiectiv convex dac aceasta se minimizeaz (echivalent:
funcie obiectiv concav dac aceasta se maximizeaz);
restriciile inegaliti sunt de forma
0 ) ( x g
i n care g
i
este o funcie
convex (echivalent
0 ) ( x g
i cu g
i
funcie concav);
eventualele restricii egaliti sunt liniare, cerin motivat prin
aceea c funciile liniare sunt singurele funcii simultan convexe i
concave.
Problemele convexe au urmtoarele proprieti fundamentale:
mulimea soluiilor admisibile este convex;
funcia obiectiv admite cel mult un optim (minim sau maxim) local; automat
acesta va fi un optim global i va reprezenta optimul problemei;
dac optimul liber (nerestricionat) al funciei obiectiv nu este o soluie
admisibil atunci optimul restricionat se gsete cu necesitate pe frontiera
15
mulimii A .Importana acestei clase de probleme este covritoare. ntr-
adevr:
programarea convex include programarea liniar ;
n acest domeniu a fost depus cel mai mare efort de cercetare i s-au obinut
cele mai puternice rezultate teoretice (cum ar fi teoria dualitii neliniare,
condiiile de optimalitate Kuhn Tucker) i practice (metode i algoritmi de
optimizare);
ntregul formalism matematic al teoriei economice moderne se bazeaz pe
ipotezele de convexitate.
4)Problemele de programare separabil se caracterizeaz prin
faptul c funcia obiectiv f ca i funciile g
I
din restricii sunt separabile n
sensul urmtoarei definiii:
Funcia
) ,..., , (
2 1 n
x x x f
se numete separabil dac ea se poate scrie ca o
sum de funcii, fiecare de cte o singur variabil:
) ( ... ) ( ) ( ) ,..., , (
2 2 1 1 2 1 n n n
x f x f x f x x x f + + +
Separabilitatea este important prin aceea c uureaz optimizarea. De
exemplu, optimizarea unei funcii separabile fr restricii se reduce la
optimizarea independent a termenilor.
5) Problemele de programare neconvex reunesc toate problemele
care nu satisfac ipotezele de convexitate. Ele sunt grele n primul rnd din
cauza faptului c au mai multe minime locale. Dup cum s-a mai spus,
metodele actuale pot determina un asemenea optim dar nu garanteaz c
optimul gsit este cel global. Din fericire, exist cteve tipuri de probleme
neconvexe, utile n practic, care pot fi rezolvate fr dificulti deosebite
prin metode speciale. rintre aceste tipuri, se numr problemele de
programare fracionar. Iat un exemplu:
16
'
+
+
0
) ,..., , ( ) ( min
2 1
0
0
x
b Ax
R x x x x
d dx
c cx
x f
n
n
unde se presupune c
0
0
> +d dx
pe A ={x R
n
||Ax b , x 0}.
O asemenea problem se reduce la un program liniar uzual punnd:
0 0
2 1
1
,
1
) ,..., , (
d dx
t x
d dx
y y y y
n
+
+
astfel c
t
y
x
.
Rezult programul liniar echivalent n n + 1 variabile y = (y
1
,y
2
,,y
n
) i t:
'
+
+
0 , 0
1
0
min
0
0
t y
t d dy
bt Ay
t c cy
Algoritmul simplex
Se consider problema de programare (2) i un program de baz
nedegenerat X
1 2
0 0 0 , ,..., , , ,...,
; deci variabilele
x x x
m 1 2
, ,...,
sunt principale iar
x x
m n +1
,...,
secundare, iar vectorii coloan a a a
m 1 2
, ,..., formeaz baza B a
programului de baz X
. Fie
{ }
N a a a
m m n
+ + 1 2
, ,..., .
Mai notnd:
X
x
x
X
x
x
C
c
c
C
c
c
p
m
s
m
n
p
m
s
m
n
_
,
_
,
_
,
_
,
+ + 1 1 1 1
; ; ;
problema (2) poate fi scris:
17
( )
( )
7
0
min f X C X C X
B X N X L
X
p
T
p s
T
s
p s
+
+
'
nmulind
BX NX L
p s
+
la stnga cu B
1
obinem:
( ) 8
1 1
E X B N X B L
p s
+
care reprezint transcrierea sistemului de restricii n baza B, cci dac
scriem
a z a j n
j
ij
i
i
m
1
1 ,
(exprimarea vectorilor coloan n funcie de
vectorii bazei B) vom avea:
z
ij ij
pentru 1 i, j m si z pentru m+1 j n.
ij
0
Corespunztor programului
X
'
Deci x
i
+
1
1
1
1
iar
Deci relaia (8) devine:
( ) 10
1
X B NX X
p s
+
de unde
( ) 11
1
X X B NX
p s
i atunci
:
( )
( ) ( )
f X C X C X C X B NX C X C X C C B N X
p
T
p s
T
s p
T
s s
T
s p
T
s
T
p
T
s
+ + +
1 1
sau explicit:
18
( ) ( ) 12
1 1 1
f X c x c c z x
i i
i
m
j j ij
i
m
j m
n
j
+
_
,
Notnd:
c x Z c z Z m j n
i i
i
m
i ij
i
m
j
+
1 1
1 si ,
atunci:
( ) ( ) ( )
13
1
f X Z c Z x
j j j
j m
n
+
+
Observm c
( )
Z f X C B L
p
T
si Z
1
.
Acum putem asocia problemei PL- min urmtorul tabel:
C B
p
c
1
c
2
c
n
X
a
1
a
2
a
n
vecto
rii
bazei
z z z
z z z
n
m m mm
11 12 1
1 2
...
...
componen
tele nenule
ale lui X
C Z
j j
.........................
................
( )
f X
0
1
0
pentru orice program admisibil X. Deci
X
este optim.
Teorema II.4.2. Dac X
1
2 , ,...,
unde:
x R
x x z i m
x m j n j t
t
i
i it
j
+
+
,
;
; ,
1
0 1
Astfel avem
( )
x j n
j
0 1 .
Pentru
1 i m
avem:
( ) a x a x a x a x z a a x a z a
ij
j
j
n
ij
j
j
m
ij
j
j m
n
ij j jt
j
m
it ij j
j
m
ij jt it
j
m
+
+ + +
1 1 1 1 1 1
(folosind (9)) +
_
,
+
+
a x z x a z a
ij j jh h
h m
n
j
m
ij jt
j
m
it
1 1 1
+
_
,
+ +
+ +
_
,
+
+ +
+ +
+ +
+
a x a z x a a a x a z x
a x a z x a x x a z a x
x a a x x
ij j
j
m
ij
j
m
jh h
h m
n
it it ij j
j
m
ij jh h
h m
n
j
m
ij j
j
m
ij jh h
j
m
h m
n
ij j
j
m
h ij jh
j
m
h m
n
ij j
j
m
h ih
h m
n
ij j
j
m
1 1 1 1 1 1
1 1 1 1 1 1 1
1 1
(renotm pe h cu j)
j ij
j m
n
ij j
j
n
i
a a x b
+
1 1
Deci
X este soluie admisibil. Avem:
20
( ) ( ) ( ) f X c x c Z x c x c Z
j j
j
m
j j
j m
n
j
j j
j
m
t t
+ +
+
1 1 1
din definirea lui X .
Deoarece
> < 0 0 si c
t
Z
t atunci ( )
f X
, adic funcia
obiectiv nu are optim finit.
Teorema II.4.3. Dac X
'
min / ,
se poate substitui n baza B vectorul a
s
cu vectorul a
t
, obinnd o baz
B'
,
corespunztoare unui program de baz X' care amelioreaz valoarea
funciei obiectiv.
Demonstraie. Deoarece
z
st
0,
folosind lema substituiei rezult c
nlocuind
a
s
n B cu
a
t
sistemul de vectori nou obinut B', este o baz.
Soluia de baz corespunztoare lui B'este dat tot de lema substituiei:
( ) 15
1
0
0
0 1
x x
x
z
z i m i s
x
x
x
z
x m j n j t
i i
s
st
it
s
t
s
st
j
'
'
'
'
, ,
, ,
>
+
'
, deci o sum de numere nenegative; iar dac
z
it
> 0
avem
x z
x
z
x
z
i it
i
it
s
st
'
_
,
i innd seama de (14) nseamn c x
i
'
este produs de dou
numere nenegative).
Deci ( )
X x x x
n
T
' , ,...,
' ' '
1
Acum putem prezenta algoritmul simplex pentru o problem PL - min
n form standard.
-Pasul 1
0
: Se gsete un program de baz nedegenerat X
cu baza B; se
construiete tabelul simplex (S).
-Pasul 2
,
negative, se alege cea mai mic. Indicele j corespunztor s-l notm cu t.
(Dac exist mai muli t se alege primul de la stnga la dreapta). Vectorul a
t
va intra n baz. Se cerceteaz dac
z
it
0
pentru 1 i m. Dac DA, se
trece la pasul 4, dac NU, se trece la pasul 3.
-Pasul 3
'
min / , 1 0
.
Vectorul a
s
va iei din baz. Elementul
z
st devine pivot. Se construiete un
nou tabel simplex folosind regula dreptunghiului:
a) se mparte linia pivotului la pivot.
b) n coloana pivotului, elementele
z cu j t
sj
se nlocuiesc cu 0
c) elementele
z i s j t
ij
, , cu
se nlocuiesc cu
z z
z z
z
ij ij
it sj
st
'
.
22
Se obine un alt program de baz X' cu baza B' i o nou valoare a funciei
obiectiv.
Se revine la pasul 2
cu B B ' i
X X
'
-Pasul 4
0
.Concluzie: PL - min nu are optim finit I algoritmul se oprete.
-Pasul 5
'
5 7 9 2
3 2 5 3 7
2 3 4
0 12 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
Alegem ( ) X
T
1 2 0 0 0 , , , , . Avem:
{ } a a a a a B a a
1 2 3 4 5 1 2
3
2
2
1
1
1
5
3
3
1
_
,
_
,
_
,
_
,
_
,
; ; ; ; ,
Coordonatele vectorilor a a
1 2
si n baza B sunt
1
0
_
,
, respectiv
0
1
_
,
.
Pentru a afla coordonatele lui
a
3
se procedeaz astfel: punem
a a a R
3
1
1
2
2
1 2
+ , , , deci:
1 2
1 2
1 2
3
2
2
1
1
1
3 2 1
2 1
_
,
_
,
_
,
+
+
'
ceea ce ne d
1 2
1 1 ,
. Deci n baza B,
a
B
3
1
1
_
,
. Analog se gsesc:
a a
B B
4 5
1
1
1
3
_
,
_
,
,
Aadar tabelul simplex corespunztor bazei B are forma:
23
5 7 9 2
1
a a a a a
1 2 3 4 5
5
7
a
a
1
2
1 0 1 1
-1
0 1 -1 1
1
2
c Z
j j
0 0 11 -10
-15
19
Deci
a
5
intr n baz, a
2
iese din baz, z
25
- pivot. Se execut
pivotajul i obinem:
5
1
a
a
1
5
1 1/3 2/3
0
0 1/3 -1/3 1/3
1
5 3
2 3
/
/
c Z
j j
0 5 6 -5
0
9
Intr n baza a
4
i iese a
1
.
2
1
a
a
4
5
3 4 1 4 1 2 1 0
1 4 1 4 1 2 0 1
/ / /
/ / /
5 4
1 4
/
/
c Z
j j
_
,
5 3
0
0
0
2 3
9
Algoritmul se aplic i problemelor PL - max n forma standard cu
observaia c
( ) max min f f
. De asemenea algoritmul se aplic i n
cazul n care funcia obiectiv are forma
f c x R
j j
j
n
+
1
,
, deoarece punctele
de extrem ale acesteia sunt aceleai cu punctele de extrem ale funciei:
g c x
j j
j
n
1
.
25