Sunteți pe pagina 1din 25

PROGRAMARE LINIAR

Forma general a unei probleme de programare liniar


Problemele de maxim i de minim apar frecvent n cele mai diferite
domenii ale matematicilor pure sau aplicate. n domeniul economic,
asemenea probleme sunt foarte naturale. Astfel, firmele ncearc s
maximizeze profiturile sau s minimizeze costurile. Experii n planificare
macroeconomic se preocup de maximizarea bunstrii unei comuniti
economico-sociale. Consumatorii doresc s cheltuiasc venitul lor ntr-un
mod care s le maximizeze satisfacia (de natur material dar i spiritual
etc.)
Programarea liniar se ocup de o clas special de probleme de
optimizare care apar deseori n aplicaiile economice. Aceste probleme
constau n maximizarea sau minimizarea unei funcii liniare, numit funcie
obiectiv, ale crei variabile trebuie s satisfac:
un sistem de relaii date sub forma unor ecuaii i / sau inecuaii
liniare nestricte, denumite generic restricii;
cerina de a lua numai valori numerice nenegative (0).
1
Exemple:
1) Problema firmei. Considerm un sistem de producie, de exemplu
o firm, care produce n bunuri G1,G2,...,Gn utiliznd pentru aceasta m
categorii de resurse R1,R2,...,Rm (materii prime, for de munc, capaciti
de producie, combustibili i energie etc.). Adoptm ipoteza c tehnologia
de transformare a resurselor n bunuri este liniar n sensul c:
Pentru fiecare bun, consumul dintr-o anumit resurs este direct
proporional cu cantitatea produs.
Consumurile dintr-o resurs sau alta nu se condiioneaz reciproc.
Fie atunci aij cantitatea din resursa i utilizat pentru producerea unei
uniti din bunul Gj. Fie deasemeni bi cantitatea disponibil din resursa Ri i
cj preul (sau profitul) unitar al bunului Gj.
Preul unui bun nu depinde de cantitatea produs i nici de situaia
vnzrilor celorlalte bunuri.
Problema const n determinarea unui program de fabricaie care s
maximizeze venitul (sau profitul) firmei.
S notm cu xj cantitatea din bunul Gj care urmeaz a fi produs. Problema
enunat mai nainte devine:
S se gseasc valorile numerice x1,x2,...,xn care maximizeaz funcia:
f = c1x1+c2x2+ +cnxn
cu satisfacerea restriciilor:
a
11
x
1
+ a
12
x
2
+ + a
1n
x
n
b
1

a
21
x
1
+ a
22
x
2
+ + a
2n
x
n
b
2
..
a
m1
x
1
+

a
m2
x
2
+ +a
mn
x
n
b
m
2
i a condiiilor de nenegativitate:
x
1
0, x
2
0, x
n
0
Observaie: Ipotezele de liniaritate fcute nu sunt verificate ntotdeauna n
practic. Raiunea lor este dubl:
conduc la modele matematice n general simple;
pe baza modelelor liniare se pot formula concluzii calitative i
legiti economice care i menin valabilitatea - n anumite limite
- i ntr-un context neliniar.
2) Problema dietei a devenit o ilustrare clasic a programrii liniare, fiind
ntlnit n mai toate textele de specialitate. Ea se ocup cu hrnirea unei
colectiviti, s zicem un grup de militari, n cel mai economic mod cu
condiia satisfacerii anumitor cerine de nutriie. Mai concret, este vorba de a
prepara un aliment complex pornind de la n sortimente de hran F
1
,

F
2
, F
n
.
Un numr de elemente sau principii nutritive N
1
, N
2
, N
m
sunt avute n
vedere n sensul c alimentul combinat trebuie s conin cel puin b
1
, b
2
,
b
m
uniti specifice din fiecare. S presupunem cunoscute urmtoarele:
cantitatea a
ij
din principiul nutritiv N
i
coninut ntr-o unitate din tipul
de hran F
j
;
preul unitar c
j
al tipului de hran F
j
.
Notm cu x
1
,x2
2
,...,x
n
cantitile din felurile de hran F
1
,F
2
,...,F
n
care
trebuie cumprate n vederea elaborrii dietei. Formal, x
1
, x
2
, ... x
n
vor trebui
determinate astfel nct:
costul f = c
1
x
1
+ c
2
x
2
+ + c
n
x
n
al alimentelor cumprate s fie
minim.
3
amestecul s conin principiile nutritive N
1
,N
2
,...,N
m
n cantiti cel
puin egale cu b
1
,b
2
,...,b
m
, adic:
a
11
x
1
+ a
12
x
2
+ + a
1n
x
n
b
1
a
21
x
1
+ a
22
x
2
+ + a
2n
x
n
b
2
a
m1
x
1
+ a
m2
x
2
+ + a
mn
x
n
b
m
........................................
x
1
0, x
2
0, x
n
0
Din nou au fost tacit utilizate ipotezele de liniaritate ntlnite i n
modelul precedent.
Soluii admisibile ale unei probleme de programare liniar
Considerm o problem de programare liniar (P) cu m restricii
egaliti i/sau inegaliti nestricte , n variabile i cu funcia obiectiv f. Un
ansamblu de n valori numerice care satisfac restriciile se va numi soluie a
programului (P). Dac n plus sunt verificate i condiiile de nenegativitate,
ansamblul se numete soluie admisibil. O soluie admisibil care
maximizeaz sau minimizeaz - dup caz - funcia obiectiv se va numi
soluie optim.
S se determine: x* A cu proprietatea: f *
(x)
= max sau min f
(x)
, x A
Este posibil ca (P) s aibe soluii dar nici una din ele s fie admisibil: A =
. Spunem n acest caz c problema (P) este incompatibil .Chiar dac A
, este posibil ca funcia obiectiv s fie nemrginit pe A , adic s existe
un ir de soluii admisibile dealungul cruia funcia obiectiv s tind spre +
sau -, dup caz. n aceast situaie vom spune c (P) are optim
infinit.Dac (P) are (cel puin) o soluie optim, zicem c (P) are optim finit.
4
Deoarece eventualele restricii inegaliti sunt nestricte mulimea A este
inchis (n topologia uzual a spaiului Rn), adic o dat cu un ir
convergent de puncte conine i limita acestuia. Aceast proprietate este
esenial pentru existena unei soluii optime a problemei (P)! Conform unui
rezultat clasic al analizei matematice, dac A este mrginit, atunci f i
atinge efectiv extremele pe A, i deci (P) are optim finit. n consecin, dac
(P) are optim infinit, cu siguran A este nemrginit. Reciproca nu este n
general adevrat: este posibil ca A s fie nemrginit i totui (P) s aibe
optim finit.
Forma canonic a unei probleme de programare liniar
O restricie a unei probleme (P) de programare liniar se zice
concordant dac este o inegalitate de tipul "" cnd funcia obiectiv se
maximizeaz i de tipul "" cnd funcia obiectiv se minimizeaz. O
restricie inegalitate care nu este concordant se va numi neconcordant.
Restriciile egaliti nu fac obiectul acestei clasificri.
Spunem c o problem de programare liniar este n form canonic dac
toate restriciile ei sunt inegaliti concordante.
n consecin, o problem n form canonic de maximizare arat astfel:
n
a
j
x
j
b
i
i=l, , m
f = 1
x
j
0 j=l, , n sau

n
(max) f= c
j
x
j

f =1
matriceal

A
x
b
5
x 0

unde

( max

) f =c
x



a
11
a
12
a
1n

A =

a
21

a
22
. a
2n

a
m1
a
m2
. a
mn
b
1

b
2

.
b = .
.
b
m
x
1
x

=

x
2

.
.
x
n
c =

c
1
, c
2
, c
n

O problem n form canonic de minimizare se va scrie:


n
a
ij
x
j
b
i
A
x
b
f =1


x 0
x
j
0 (min) f= c
x

n
(min) f= c
j
x
j

f=1
6
Orice problem de programare liniar se poate pune sub o form
canonic de maximizare sau minimizare, fr modificarea mulimii soluiilor
admisibile, observnd c:
egalitate se poate nlocui cu dou inegaliti de sens contrar;
restricie neconcordant devine concordant prin nmulire cu -1;
putem schimba sensul optimizrii funciei obiectiv, graie formulei
generale:
min f
(x)
= -max f
(x)
xA xA
n consecin, putem face anumite raionamente teoretice pe o form
canonic, ca de exemplu n teoria dualitii liniare, fr ca prin aceasta s
restrngem generalitatea.
Forma standard a unei probleme de programare liniar
Spunem c o problem de programare liniar este n form standard
dac toate restriciile ei sunt egaliti. Importana acestei forme particulare
rezult din faptul c metoda de rezolvare a problemelor de programare
liniar care va fi expus mai departe cere ca problema s fie n aceast
prezentare.
n consecin, o problem (P) care are i restricii inegaliti va fi
nlocuit - n vederea rezolvrii ei - cu o alta n care toate restriciile sunt
egaliti. Noua problem, numit forma standard a problemei (P) i notat
(FSP), se construiete astfel:
7
restricie inegalitate din problema original (P) de tipul ""
(respectiv de tipul "") se transform n egalitate prin adugarea
(respectiv prin scderea) unei variabile nenegative din membrul su
stng.
Restriciile inegaliti nu se modific.
Noile variabile introduse nu apar n funcia obiectiv a problemei
originale (alternativ, spunem c ele apar cu coeficieni nuli).
Exemplu
(max)f = 7x
1
+ 9x
2
+ 8x3
5x
1
+ 2x
2
- x
3
4
(P) 3x
1
+ x
2
+ x
3
= 5
x
1
+ 2x
2
+ 3x
3
9
x
1
0, x
2
0, x
3
0
(max) f= 7x
1
+ 9x
2
+ 8x
3
5x
1
+ 2x
2
x
3
x
4
= 4
(FSP) 3x
1
+ x
2
+ x
3
=5
x
1
+ 2x
2
+3x
3
+ . +x
5
= 9
x
j
0, j= 1,,5
ELEMENTE DE PROGRAMARE NELINIAR
8
Caracteristic unei probleme de programare liniar este faptul c toate
funciile implicate n ea funcia obiectiv i restricii sunt liniare. Dei
ipotezele de liniaritate au loc n numeroase situaii practice tot att de
frecvent ale nu sunt ndeplinite. De fapt, muli economiti teoreticieni au
constatat c un anume grad de neliniaritate este regula i nu excepia n
problemele de planificare economic.
Exist deci o puternic motivaie economic pentru studiul
problemelor de programare neliniar a cror form canonic de prezentare
este:

'

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

. Dup unele renumerotri i rearanjri putem considera


( )
X x x x
m
T

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

problema (2) devine:


( )
( )
9
1
1
f X c x
x z x x
i i
i
m
i ij j i
j m
n

'

Deci x
i

sunt componentele vectorului L n baza B.


( )
L B X B L X z B N
ij
i m
m j n


+
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

Teorema II.4.1. Dac X

este un program de baz nedegenerat


pentru PL - min i n tabelul asociat (S) avem
( )
c Z m j n
j j
+ 0 1 atunci
X

este program optim.


Demonstraie: Din (13) avem:
19
(S)
( )
( ) ( )

( ) f X f X c Z x f X
j j
j m
n
j
+



0
1
0
pentru orice program admisibil X. Deci
X

este optim.
Teorema II.4.2. Dac X

este un program de baz nedegenerat i n


tabelul simplex asociat (S) exist un t,
m t n + 1 ,
astfel nct
( )
c Z i m
t t
< 0 0 1 si z
it
, atunci PL - min nu are optim finit.
Demonstraie: Fie: ( )
X x x xn
T

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

este un program de baz nedegenerat


pentru PL - min, iar n tabelul simplex asociat (S) exist un t,
m t n c Z
t t
+ < 1 0 cu
i cel puin un indice i, 1 i m, astfel nct
z
it
> 0
,
atunci alegnd
s s m , 1
, dup criteriul:
( ) 14 1 0
x
z
x
z
i m z
s
st
i
it
it

>

'

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
'
'
'
'
, ,
, ,

>
+

'

cu toate componentele nenegative (pentru


1 i m i s ,
dac
z
it
0
atunci
21
( ) x x
x
z
z
i i
s
st
it
'
+


, 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 2 este o soluie de baz. Valoarea funciei obiectiv


pentru X' este:
( )
( ) ( ) ( ) ( ) ( ) f X f X c Z x f X c Z x f X
j j
j m
n
j t t 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

: Se verific dac diferenele


c Z
j j
0
pentru orice
j j n ,1
.
Dac DA se trece la pasul 5; dac NU, dintre toate diferenele
c Z
j j

,
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

: Se alege s, astfel nct


x
z
x
z
i m z
s
st
i
it
it

>

'

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

.Concluzie: PL - min are optim X

iar valoarea minim


( ) f X

".
STOP.
Exemplul II.4.1. Fie problema:
min
, , ... ,
f x x x x x
x x x x x
x x x x x
x j
j
+ + + +
+ + + +
+ + + +

'


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

15/4 25/4 17/2


0 0
11 4 /
i am obinut
( )
c Z j
j j
0 1 5. Deci programul optim este
( ) 0,0,0,5 4 1 4 / , / min
T
f cu =
11
4
.
24
3
4/3
( ) X f X '
/
/
'

_
,

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

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