Sunteți pe pagina 1din 77

II.

METODE SIMPLEX PENTRU MODELE LINIARE


1. Algoritmul simplex primal. Descriere.

Pentru rezolvarea modelelor liniare, au aprut, ncepnd cu 1948, mai multe metode, dintre care amintim: metoda simplex cu variantele sale, metoda Kantorovici, metoda relaxrii. Dintre toate metodele aprute n literatura de specialitate, cea mai rspndit este cea elaborat de G. B. Dantzig. Algoritmul propus de Dantzig permite determinarea unei soluii admisibile de baz optime, dac exist, prin examinarea parial dirijat a mulimii soluiilor admisibile de baz; mai precis, vor fi testate o parte din soluiile admisibile de baz. n mod empiric, pe baza unor experiene de calcul efectuate timp de 10 ani, s-a stabilit c soluia optim, dac exist, se obine dup cel mult 3m iteraii (m = rangA). Fiecare dintre aceste noi iteraii const n gsirea unei noi soluii admisibile de baz creia i corespunde o valoare mai bun a funciei obiectiv dect n situaia precedent. 1.a) Teoreme fundamentale ale algoritmului simplex primal Se consider o problem de programare liniar sub form standard:
AX = b , unde A M m n (R ) , rangA = m < n ; b 0 i i I a.. bi 0

(P)

X 0 [max] f ( x) = CX

Analiza economico-matematic a unor modele liniare

Fie X 1 o SAB corespunztoare bazei B1 = (as )sJ B1 , n raport cu care se va explicita sistemul de restricii X B = B1
1

( )
(X )

b B1

( )

RX R , unde
T

(B )
X1.

1 1

b = (X )
not

B1

0 . Elementele vectorului

B1

= ( x1 , x 2 , ...., xm )

sunt

valorile variabilelor bazice, deci, componentele nenegative ale vectorului

Teorema 1: Criteriul de mbuntire a unei soluii admisibile de baz


Fie problema de programare liniar (P), B1 o baz n R m i X 1 soluia admisibil de baz corespunztoare ei. Dac pentru un indice j J J B , f j c j < 0 i exist cel puin un indice s J B astfel nct
1

y sj > 0 , atunci X 1 poate fi nlocuit printr-o soluie admisibil de baz X 2

cel puin la fel de bun, n sensul f ( X 1 ) f ( X 2 ) . Soluia admisibil


X 2 corespunde bazei B 2 dedus din B1 prin nlocuirea lui ak , k J B , cu
1

al , l J J B . Indicii l i k sunt dai de relaiile:

II.1.1 i II.1.2

f 1 c1 =

min { f j c j | f j c j < 0 } jJ J B

x xk = min s y sj > 0 . By y kl s J sj

Teorema 2: Testul de optimalitate

O soluie admisibil de baz, X , a problemei (P) este optim dac i numai dac II.1.3
f j c j 0 , j J .

Metode simplex pentru modele liniare

Observaia 1 : Dac exist X SAB astfel nct s fie identificate relaiile

II.1.3 - numite criteriu de optimalitate - atunci [max] f ( x) << + .


Observaia 2: Relaia

II.1.4

f j c j 0 , j J

este criteriu de optimalitate dac se cere minimizarea funciei liniare f.


Observaia 3: f s c s = 0 , s J B , unde J B reprezint mulimea indicilor

variabilelor bazice.
Corolar: Soluia optim X * este unic determinat dac

II.1.5

f j c j > 0 , j J J B (adic, oricare j pentru care a j este

nebazic).
Teorema 3: Testul de optim infinit

Dac pentru o soluie admisibil de baz a problemei considerate exist un indice l J J B astfel nct f l cl 0 i y sl 0 , s J B , atunci (P) are optim infinit.
Observaia 4: Pentru problemele cu funcia obiectiv [min] f , criteriul de

recunoatere a optimului nemrginit (teorema 3) este:


l J J B astfel nct f l cl > 0 i y sl 0 , s J B .

Din enunul teoremei rezult c o problem de programare liniar are optim infinit dac exist un vector nebazic cu toate componentele nenegative ( al = ( y sl )s , y sl 0 , s ), pentru care f l cl nu satisface criteriul de optimalitate al tipului su de optim.

Analiza economico-matematic a unor modele liniare

Concluziile celor trei teoreme sunt sistematizate n tabelul urmtor:


Soluie optim finit ([opt]f<< ) unic multipl determinat

Optim infinit

f j cj > 0,
[max]

j J J f j cj = 0,
B

f j c j 0 , j {1,.., n}
i

j J f j cj = 0,
B

k J J B a.. f k ck = 0 f j c j 0 , j {1,.., n}
i

l J J B a.. f l cl < 0 i y sl 0 , s J B l J J B a.. f l cl > 0 i y sl 0 , s J B

[min]

j J B f j cj < 0, j J J
B

k J J B a.. f k ck = 0

1.b) Schema de rezolvare prin algoritmul simplex primal:


Modelul matematic. Forma standard AX = b , X 0 , [max] f ( X ) = cX

rangAmn = m < n , b 0 , bk > 0 , k 1, m

Se genereaz o SAB

X (1) B = (a1 ...a m ) i R = (a m +1 ...a n )


x B = B 1b = x B , J B = {1,..., m} X (1) = R x =0

Metode simplex pentru modele liniare

Calculeaz:

0 , pentru a j vector bazic 1 B f j c j = c B a j c j care este 0 , pentru a j vector nebazic, sau 0 , pentru a vector nebazic j B 1 f0 = c B b

fj cj 0 j = 1, n

DA

STOP. Problema admite soluie optim finit

B 1 b f 0 = [max] f ; X = 0
*

NU

() vector nebazic cu componentele negative i diferena strict negativ?


( l J i

DA

\ J B a.. f l cl < 0 y sl 0 , s I

STOP. Problema admite optim nemrginit

(1)

Analiza economico-matematic a unor modele liniare

(1) NU
Se aplic: criteriul de intrare n baz (C.I.B):

f j c j <0

min {f j c j } = f r c r ;
x x min s = k y sr > o y y kr sI sr
raport unic.

criteriul de eliminare din baz (C.E.B): Observaii: -

a k va fi eliminat de a r ; y kr > 0 este pivotul iteraiei;

- dac raportul nu este unic determinat, se lucreaz cu problema perturbat sau se aplic metoda lexicografic pentru a stabili ce vector va fi eliminat. Se trece la
( 2) X SAB

, unde

(a1 ...a k 1 a k a k +1 ...a m ) (a1 ...a k 1 a r a k +1 ...a m )


J B := J B \ {k} U {r}
Se calculeaz componentele vectorilor n noua baz: 1) Elementele din linia pivotului, linia k:

f X (1) f X ( 2 )

) (

x k y k1 y , ,...., kn y kr y kr y kr

2) Vectorii care se menin n baz i menin componentele; dac atunci, n noua baz,

ar

a luat locul lui

ak ,

ar

va avea componentele lui

ak ;

3) Pentru orice alt component care nu a fost calculat la 1) sau 2), se aplic una dintre formulele:

x i :=

y ij :=

x i y kr x k y ir , y kr y ij y kr y kj y ir

pentru

i J B \ {r}

y kr

, pentru

jJ

Metode simplex pentru modele liniare

Observaia 5:
m numrul soluiilor admisibile de baz este cel mult C n ;

trecerea de la o iteraie la alta presupune trecerea de la o SAB la o alt soluie admisibil de baz, cel puin la fel de bun n sensul dat de optimul funciei; rezult c dup un numr finit de pai acest procedeu iterativ se oprete dac nu apare fenomenul de ciclare.
Observaia 6: Prin algoritmul simplex sunt examinate numai soluiile

admisibile de baz. Procedura de iterare a algoritmului simplex se oprete atunci cnd nu va mai exista nici un vector care, introdus n baz, s duc la creterea valorii funciei scop, dac problema admite optim finit. Din punct
de vedere geometric se ajunge la punctul de extrem al mulimii optimizeaz funcia scop.
Observaia 7: Prin trecerea de la o SAB la o alta cel puin la fel de bun n

care

sensul dat de tipul de optim al funciei f ( X ) , se realizeaz o cretere a acesteia cu


xk ( f r cr ) . y kr

Observaia 8: Cnd scopul este de a minimiza funcia obiectiv, algoritmul

se modific, n sensul maximizrii funciei ( f ) .


1.c) Aplicaii ale algoritmului simplex n continuare vom exemplifica aplicarea algoritmului n trei modele distincte.

Model liniar cu optim finit, unic determinat Specific acestui prim exemplu, care va fi studiat, este c prin aducerea la forma standard apar m vectori care formeaz o baz n spaiul
bunurilor.

Analiza economico-matematic a unor modele liniare

Etapa 0:

Se consider un model simplificat al unui proces de fabricare a trei produse, prin utilizarea limitat a trei resurse: [max] f = 20 x1 + 16 x2 + 17 x3 x1 + 2 x2 680 2 x1 + x2 + 4 x3 800 2 x + 2 x + x 900 2 3 1

x j 0, j = 1,3
cu forma standard:

[max] f = 20 x1 + 16 x2 + 17 x3 + 0 x4 + 0 x5 + 0 x6
II.1.6

x1 + 2 x2 + x4 = 680 2 x1 + x2 + 4 x3 + x5 = 800 2 x + 2 x + x + x = 900 2 3 6 1 x j 0, j = 1,6

Etapa 1: Generarea unei soluii admisibile de start. Pasul 1 Se scrie matricea A i se verific apoi condiia

rangA36 = 3 < 6 :
1 A = 2 2 a1 2 0 1 0 0 1 4 0 1 0 i rangA = 3 < 6. 2 1 0 0 1 a 2 a3 a 4 a5 a 6

Metode simplex pentru modele liniare

Se scrie baza de start i se deduce soluia admisibil de baz (SAB)


de start: B1 = (a 4 a5 a 6 ) = I 3 este baza de start format din vectorii
B1

unitate a4 , a5 i a6 . Aadar, X

x4 = x5 , x 6

R1

x1 = x2 , de unde rezult x 3

explicitarea sistemului n raport cu baza B1 :

1 0 0 x 4 680 1 2 0 x1 II.1.7 0 1 0 x 5 = 800 2 1 4 x 2 0 0 1 x 6 900 2 2 1 x 3 Se stabilete SAB de start:


0 680 not B R 800 = X i X = 0 , sau 0 900
X SAB = (0 0 0 680 800 900 ) .
T

Observaia 9: Nu are importan ce coloane ale matricii A sunt vectori

liniar independeni n R m ; important pentru rapiditatea gsirii soluiei optime este ca A s conin o matrice unitate.

Analiza economico-matematic a unor modele liniare

Pasul 2
680 = (0 0 0 ) 800 = 0 ; 900

f0 = f (X ) = c X
1
B

= (c 4

c5

c6 ) X

f1 = c I
B

1 3

1 a1 = (0 0 0 ) I 3 2 = 0 , 2 2 a 2 = (0 0 0 ) I 3 1 = 0 ; 2
0 a3 = (0 0 0 ) I 3 4 = 0 , 1

f2 = c I
B

1 3

f3 = c I
B

1 3

f4 = c I
B

1 3

1 a 4 = (0 0 0 ) I 3 0 = 0 ; 0
0 a5 = (0 0 0 ) I 3 1 = 0 , 0

f5 = c I
B

1 3

f6 = c I
B

1 3

0 a 6 = (0 0 0 ) I 3 0 = 0 . 1

De obicei, calculele implicate de aplicarea algoritmului simplex sunt organizate n tabelele simplex, care au cel mult m + 4 linii i n + 4 coloane, i corespund unei baze. n continuare va fi dat tabelul corespunztor bazei de start.

Metode simplex pentru modele liniare

T. II.1.1

cj cB 0 0 0 B
a4 a5

20
a1

16
a2

17 a3 0 4 1 0

0
a4

0 a5 0 1 0 0

0 a6 0 0 1 0

XB 680 800 900 0

680/1 800/2 (minim) 900/2

1 2 2 0

2 1 2 0

1 0 0 0

a6 fj f j cj

-20 -16 -17

Pasul 3 Este verificat testul de optimalitate (vezi teorema 2)?

DA

f j c j 0 , j = 1, n ?
NU

STOP. X 1 este soluia optim a problemei i f 0 valoarea maxim a funciei obiectiv.


Pasul 4

Pentru problema de fa, f j c j < 0 , j = 4,5,6 se trece la Pasul 4.

j = 1,2,3 i

f j cj = 0 ,

Pasul 4 Se verific dac problema admite optim infinit (teorema 3):


STOP. DA

[max] f = +

l J J astfel nct f l cl < 0 i y sl 0 , s J ?


B B

NU

Pasul 5

Din T.II.1.1 se observ c nu exist vector nebazic (a1 componentele negative i pentru care f l cl < 0 .

a2

a3 ) cu toate

Analiza economico-matematic a unor modele liniare

Pasul 5 Dac algoritmul nu se oprete la Pasul 3 sau Pasul 4,

rezult c soluia testat, X 1 , nu este optimal, deci, trebuie s se treac la o nou SAB, X 2 , cel puin la fel de bun ca X 1 , n sensul c f X 1 f X 2 . Pentru aceasta se vor executa dou operaii.
Operaia 1: Se aplic criteriul de intrare n baz:
C.I.B [max] f minB f j c j f j c j < 0 = f l cl al va intra n
jJ J

( ) ( )

baz.
Operaia 2: Se aplic criteriul de eliminare din baz:
[max ] f b b x C.E.B = min s y sl > 0 = min s a sl > 0 = k , B B [min ] f sJ a kl sJ a sl y sl

pentru

X 1,

sau, n general, =

xk , de unde rezult c a k va fi eliminat, iar y kl devine y kl

pivotul iteraiei. Se va presupune c pivotul este unic, ceea ce este echivalent cu a spune c noua SAB are m componente strict pozitive. Rapoartele calculate se trec n ultima coloan din tabelul II.1.1. n cazul nostru, avem:
Operaia 1:

j =1, 2 , 3

min f j c j f j c j < 0 = min{ 20, - 16, - 17} = 20 = f1 c1 ,

de unde rezult c a1 va intra n noua baz (l=1). b b b 680 800 900 800 b2 Operaia 2: min 1 , 2 , 3 = min , , = = 2 2 2 a 21 1 a11 a 21 a33 a 2 va fi eliminat i a 21 = 2 este pivotul iteraiei, pe care l vom colora n tabel.

Metode simplex pentru modele liniare

Cele trei rapoarte se trec n ultima coloan a tabelului T.II.1.1; dac un raport nu se poate calcula n sensul dat de C.E.B n ultima coloan, pe acel loc, se va trece / sau - .
Pasul 6 Conform teoremei 1, se trece de la soluia admisibil de baz X 1 la soluia admisibil de baz X 2 ce corespunde bazei B2 dedus

din B1 prin nlocuirea vectorului a k cu vectorul al : B2 = (a1 ... a k 1 al a k +1 ... a n ) i J B2 = ( J B1 {k}) U {l} .

Se trece la un nou tabel simplex. Se vor scrie vectorii nebazici i X n noua baz. Aceste calcule ce vor fi trecute n tabelul T.II.1.3 iteraia 2 a algoritmului simplex sunt efectuate n conformitate cu calculele implicate de metoda eliminrii complete:
B

Dac un vector se menine n baz, atunci el i menine componentele (a1 ... ak ak +1 ... am ) ; dac vectorul ak este eliminat din baz de ctre al , atunci acesta i ia componentele (vezi tabelul T.II.1.2). n particular, vectorii a 4 , a 6 i menin componentele, iar vectorul a1 va avea componentele lui a 5 din iteraia 1. Elementele din linia vectorului al se obin mprind elementele din linia vectorului a k , iteraraia precedent, la pivotul iteraiei, y kl . Astfel, elementele din linia 2, iteraia 2, iau valorile

800 2 1 4 0 1 0 , , , , , , . 2 2 2 2 2 2 2

Formulele de trecere de la o iteraie la alta pot fi sistematizate direct n tabelul simplex:

T.II.1.2
cj
c
B

c1
a1

. . .

c k 1
a k 1

ck
ak
a 1l a kl

c k +1
a k +1

. . .

cm
am

c m +1
a m +1

. .

cj
aj

. .

cl
al

. .

cn
an

B
b a
a1
1 kl

b a
k

c1

1l

a ij a kl a kj a il a kl
B j J J 2

a
kl

. . .
c k 1

. .
b a k 1 a
kl

. .

. 1

. 0

. .

. 0

.
0

.
b a
k

.
k 1l

k +1

a
kl

k 1l a kl

b cl al a

1 a kl

.
km + 1 a kl

. .

kl

kn a kl

b c k +1 a k +1

k +1

a
kl

b a
k

.
k + 1l

1
k + 1l a kl

kl

. . .
cm

. .
b a am
m

. .

. 0

. .

. 0

. .

. 1

. 0

.
b a
k

.
ml

kl

a
kl

fj
fj c
j

f0

f1
f1 c 1

. .

. 0

fk
fk c k

. 0

. .

fm
fm c m f m +1 c m +1

fl

fn

fl c l

fn c n

Metode simplex pentru modele liniare

Dup efectuarea calculelor, se revine la pasul 2. Pentru exemplul numeric de mai nainte, obinem:

680 2 800 1 = 280 2


XB

900 2 800 2 = 100 2

1 prima component 2

y12 :=
1

2 2 11 2

a2
a treia component 2 2 1 2

y 32 :=

2 2 2 1 2

Analiza economico-matematic a unor modele liniare

Rezultatele calculelor pentru exemplul numeric propus, pn la oprirea algoritmului, sunt date n tabelul II.1.3:

T.II.1.3

cj cB
0 20 B

20

16

17

XB
280 400 100 8000

a1 a 2
0 1 0 20 3/2 1/2 1 10 -6 0 0 1 16

a3
-2 2 -3 40 23 5/2 7/2 -3 22 5

a 4 a5
1 0 0 0 1 0 0 0 -1/2 1/2 -1 10 10 1 1 -1 4 4

a6
0 0 1 0 -3/2 -1/2 1 6 6

280/3/ 2 400/2 100/2

a4 a1 a6

Iteraia 2

fj
f j cj
0 20 16

0 ? NU

Iteraia 3

a4 a1 a2 fj
f j cj

130 350 100 8600

0 1 0 20

0 ? DA STOP

n linia test f j c j este verificat criteriul de optimalitate, motiv pentru care algoritmul se oprete, modelul liniar admind soluie optim finit.

Metode simplex pentru modele liniare

Citirea soluiei:
Baza optim Variabile bazice Valori optimale
130 350 100 Valori optimale 0 0 0
T

a4 a1 a2

x4 x1 x2
Variabile nebazice

x3 x5 x6

Soluia optim X * = (350 100 0 130 0 0) este:


unic determinat, deoarece f j c j > 0 , pentru a j nebazic; nedegenerat, pentru c numrul componentelor strict pozitive este egal cu

rangA=3.
[max] f = 8600 = f 0 n ultimul tabel, numit i tabel optimal.
Modelul liniar cu optim nemrginit

Considerm urmtorul program liniar


[max] f = x1 + 2 x2 + 2 x3 + x4 1 x1 x3 + x4 = 1 2 x 2 + x3 x 4 = 1 x j 0 , j = 1,4

Analiza economico-matematic a unor modele liniare

Vom studia natura sa aplicnd algoritmul propus de Dantzig. Deoarece 1 b= >0, 1


1 0 1 1 / 2 A= 0 1 1 1 , a1 a 2 a3 a4

rang

A=2<4

1 0 B= = (a1 0 1

a 2 ) , rezult c scrierea canonic a sistemului de restricii

1 0 x1 1 1 / 2 x3 1 0 1 x + 1 1 x = 1 , 2 4 evideniaz o SAB de start, i anume, X SAB = (1 1 0 0 ) .


T

Calculele implicate de aplicarea algoritmului sunt sistematizate n urmtorul tabel simplex:

cj cB
1 2 B

XB
1 1 3

a1
1 0 1

a2
0 1 2 0 1 2

a3
-1 1 1 -1 -2 -1 -4 -6

a4
1/2 -1 -3/2 -5/2 1 0 1

1/(1/2) -

a1 a2 fj

f j cj
1 2

0 ? NU; Th.3?
-

NU

Th.1

a4 a2 fj

2 3 8

2 2 6 5

f j cj

0 ? NU; Th.3? DA

Metode simplex pentru modele liniare

n ultima linie exist un vector nebazic, i anume a 3 , pentru care y = 2 < 0 Th .3 f 3 c 3 < 0 i 13 STOP: [max] f = + y 23 = 1 < 0 Vom investiga natura programului dual.
[max] f = 1 x1 + 2 x 2 + 2 x3 + 1 x 4
[min]g = u1 + u 2

1 x4 = 1 1 x1 + 0 x2 + ( 1) x3 + 2 0 x1 + 1 x2 + 1 x3 + (1) x4 = 1 x1 0 x2 0 x3 0 x4 0

u1 R u2 R u1 + 0 u 2 1 1 u2 2

( 1) u1 + u 2 2
1 u1 u 2 1 2

u2

d 1 : u1 = 1

d 2 : u2 = 2

d 4 : u2 = d 3 : u 2 = u1 + 2
O

1 u1 1 2 u1

Analiza economico-matematic a unor modele liniare

Din rezolvarea grafic a problemei duale, se observ c = . Nu exist (u1 u 2 ) , u i R , i = 1,2 , care s verifice simultan cele 4 restricii. S reinem c, dac o problem de programare liniar are optim infinit, atunci duala sa nu are soluie. Este aceasta o afirmaie general valabil? Rspunsul l vom afla n urmtorul capitol.

2. Generarea SAB prin metode particulare

n continuare, vom analiza cazul n care matricea A, dup aducerea la forma standard, nu conine o baz unitate din spaiul R m . n general, n matricea A din modelele matematice corespunztoare unor procese reale nu apare complet I m . Pentru a genera o soluie admisibil de baz a problemei date, dac acest lucru este posibil, se poate alege una din variantele: Scrierea explicit a sistemului de restricii n raport cu o baz din R m . Metoda celor dou faze. Metoda bazei artificiale.

a) Metoda bazei artificiale (1953 A. Chaines, W. Cooper, D. Fan)


Se consider un model matematic sub forma sa standard:
AX = b II.2.1 X 0 i rang Am n = m < n , b 0 , k I a.. bk 0 . [max] f ( X ) = cX

Presupunem c matricea A nu conine o baz unitate de ordinul m. Prin aceast metod se urmrete generarea unei SAB pentru (II.2.1), dac acest lucru este posibil, folosind numai algoritmul simplex primal.

Metode simplex pentru modele liniare

Metoda bazei artificiale presupune parcurgerea urmtoarelor etape:

Etapa 1 Se extinde problema prin introducerea a m variabile artificiale care vor fi penalizate n funcia obiectiv:
AX + I m X a = b II.2.2 X 0, X a 0 , [max] f = CX X a
a a unde >> 0 , I m este matricea unitate de ordin m, X a = x n +1 ...x n + m

este

a vectorul coloan cu componentele xn +i , i 1, m , variabile artificiale. Din

scrierea X a = b AX , rezult soluia de start:


X =0 X SAB . X a = b

Pentru a exemplifica parcurgerea acestei etape, considerm modelul liniar:


[max] f = 3 x1 + 2 x2 + 4 x3 x1 + 4 x2 + 3 x3 = 6 2 x1 + x2 + x3 = 4 x j 0 , j 1,3 1 4 3 6 , unde A = , b = 4 , rangA=2<3. 2 1 1
a1 a2 a3

Analiza economico-matematic a unor modele liniare

1 0 Se constat c baza B = nu poate fi format cu ajutorul unor vectori 0 1 din A, motiv pentru care se trece la forma extins:
a a [max] f = 3 x1 + 2 x2 + 4 x3 ( x4 + x5 ) a x1 + 4 x2 + 3 x3 + x4 = 6 a 2 x1 + x2 + x3 + x5 = 4

>> 0

noua

matrice

x j 0 , j 1,5

1 4 3 1 0 A= , apare baza B = (a 4 2 1 1 0 1
a a x4 = 6 , x5 = 4 i f va fi (6 4 ) < 0 .

a5 ) , care permite scrierea

soluiei de start a1 a 2 a 3 a 4 a 5 pentru problema extins: x1 = x2 = x3 = 0 ,

Observaia 1: Valoarea funciei obiectiv este o valoare foarte mic ( bi 0 ,


i = 1, m i >> 0 ). Deoarece se cere maximizarea lui f, ideal ar fi ca n soluia optim toate variabilele artificiale s aib valoarea 0. Variabilele artificiale au fost penalizate n funcia obiectiv cu coeficieni foarte mici, pentru ca algoritmul simplex s le elimine din baz. Dac se cere [min] f ,
a a atunci ele vor fi penalizate cu coeficieni foarte mari: xn +1 + ... + xn+ m , cu

>> 0 , ceea ce s-ar traduce printr-o comportare nerentabil n raport cu tipul de optim.
Etapa 2: Se aplic algoritmul simplex problemei extinse. Presupunem c
dup k iteraii, k N * , k < , avem f j c j 0 , j = 1, n + m , deci, problema extins admite soluie optim finit.

Metode simplex pentru modele liniare

La baza discuiei ce va urma, relativ la existena sau nonexistena soluiei optime a problemei iniiale, stau urmtoarele teoreme:

Teorema 1 Dac II.2.1 are soluie optim finit, atunci ea va fi optim i pentru II.2.2. Orice soluie optim a problemei extinse care nu conine nici o variabil artificial strict pozitiv este soluie optim i pentru problema iniial, dup nlturarea variabilelor artificiale.

Teorema 2 Dac II.2.1 are funcia obiectiv nemrginit, atunci i II.2.2 are funcia obiectiv nemrginit. Reciproca este adevrat.

Dup oprirea algoritmului, se discut natura problemei iniiale dup cum urmeaz:

Cazul 1: Soluia optim a problemei extinse nu conine nici o variabil artificial cu valoare strict pozitiv soluia optim a problemei II.2.1 se
obine considernd numai valorile optimale ale variabilelor x1 ,..., xn .

Cazul 2: n soluia optim exist cel puin o variabil artificial cu valoare strict pozitiv; n acest caz, problema iniial nu are soluie. Observaia 2: Deoarece funcia obiectiv este de forma

(CX X a ) ,

anumit iteraie exist ( f j c j )( ) < 0 pentru cel puin doi indici. Va intra n noua baz vectorul al dac ( f l cl )( ) va avea cel mai mic coeficient negativ (respectiv, pentru [min] f , cel mai mare coeficient pozitiv).

diferenele f j c j vor fi funcii liniare de . S presupunem c la o

Observaia 3: S presupunem c algoritmul s-a oprit la iteraia k N * ,


k < + , i c la iteraia r N * , r < k , s-a obinut o baz format numai cu

vectori din A (fr vectori artificiali). SAB corespunztoare acestei baze

Analiza economico-matematic a unor modele liniare

este o SAB pentru problema iniial. Practic, la aceast etap, se aplic algoritmul simplex primal pentru problema originar. Observaia 4: n general, dac a fost eliminat un vector artificial din baz, componentele sale nu vor mai fi calculate la urmtoarele iteraii. Nu se recomand acest lucru atunci cnd se cere soluia optim a dualei sau se pune problema postoptimizrii modelului. Se continu problema prin aplicarea algoritmului simplex primal
cj
c
B

3
a1

2
a2

4
a3

a4

a5

B
a4 a5 fj
fj

6 4
10

1 2
3

4 1
5

3 1
4

1 0

0 1

6/4 4/1

cj
a2

3 3

5 2

4 4

1/4 -1/4
1/ 2 + / 4

0 1

0 j ?
NU 6 2

3/2 5/2

1/4 5/4

1 0 2 1 0 2 10/7 -2/7 24/7 20/7

3/4 1/4
3/ 2 / 4

a5 fj fj

5 / 2 + 3 1 / 2 5 / 4 5 / 2 5 / 4

cj
a2
a1

5 / 2 5 / 4 1 / 2 + 5 / 2

-1/5 4/5 2
2 +

0 j ?
NU 10/7 10

2 3

1 2 8

0 1 3

7/10 1/5 2 -2 1 0 24

3/10 -1/5 0

fj fj

cj
a3
a1

0 j ?
NU

4 3

10/7 12/7 76/7

0 1 3

3/7 -2/7 6/7


6/7 +

-2/7 6/7 10/7


10 / 7 +

fj fj

cj

0 DA
STOP

Metode simplex pentru modele liniare

Exemplificarea observaiei 2:

Iteraia

C.I.B:

min{ 3 3, 5 2, - 4 - 4} = 5 2 = f 2

c2

sau

min{-3, -5, -4}=-5 a 2 eliminat.

Iteraia 2 C.I.B: min{-5/4, -1/4}=-5/4 a1 va intra n baz.


La iteraia a 3-a, variabilele artificiale au fost eliminate i dispunem acum de o baz a problemei iniiale: (a 2 , a1 ) , cu x1 = 2 , x 2 = 1 , x 3 = 0 . Exemplificarea observaiei 1: n soluia optim a problemei extinse, 10 12 * * * * , x 2 = 0 , x 3 = , x 4 = 0 , x 5 = 0 , toate variabilele artificiale au 7 7 valori nule. Conform unei teoreme enunat anterior n acest capitol,
* x1 =

12 problema iniial admite soluia optim finit X * = 7 [max] f = 76 . 7

10 7

Considerm acum un alt exemplu pentru a aplica metoda i n cazul n care se impune minimizarea funciei scop. Rezolvarea problemei, fr comentarii, este redat n cele ce urmeaz: [min] f = 5 x1 + x2 + 2 x3 x1 + 2 x2 + x3 6 3x2 + 4 x3 = 20 x + 2 x 18 3 2 x j 0, j = 1,3 [min] f = 5 x1 + x2 + 2 x3 x1 + 2 x2 + x3 x4 = 6 forma standard 3x2 + 4 x3 = 20 . x + 2 x x = 18 3 5 2 x j 0, j = 1,5

Analiza economico-matematic a unor modele liniare

1 2 1 1 0 6 1 0 0 A = 0 3 4 0 0 , rang A=3< 5, b = 20 > 0 , B = 0 1 0 nu 3 0 1 2 0 1 18 0 0 1 a1 a 2 a3 a 4 a5 poate fi format numai cu coloane din A, dar a1 B3 .

Etapa 1: Forma extins:


a a [min] f = 5 x1 + x2 + 2 x3 + x4 + x7 ; >> 0.

x1 + 2 x 2 + x 3 x 4 = 6 1 a A = 0 3 x 2 + 4 x 3 + x 6 = 20 , x + 2 x x + x a = 18 0 3 5 7 2 a1 x j 0, j = 1,7

0 0 3 4 0 0 1 0 1 2 0 1 0 1 a 2 a3 a 4 a5 a6 a7 0 x1 6 X = x6 = 20 x 18 7
B

2 1 1

B = (a1

a6

a7 ) X SAB x2 0 x3 0 = x4 = 0 x5 0

XR

Metode simplex pentru modele liniare

Tabelul simplex:
cj

5
a1

1
a2

2
a3

0
a4

0
a5

a6

a7

B
a1 a4 a7 fj fj

6 20 18
30 + 38

1 0 0 5

2 3 1
4 + 10 4 + 9

1 4 2
6 + 5 6 + 3

-1 0 0 -5 -3 -1 0 0 -5 -5

0 0 -1

0 1 0

0 0 1

6/1 20/4 (min) 18/2

[min] f 0 j ?
NU

cj
a1 a3 a7 fj

-1/4 1/4 -1/2


3/ 4 / 2 3 / 4 3 / 2

0 0 1

5 2

1 5 8
15 + 8

1 0 0 5

5/4 3/4 -1/2


31 / 4 / 2
27 / 4 / 2

0 1 0 2

0 0 -1

[min] f 0 j ? STOP
DA

fj

cj

* * Problema extins admite soluia optim finit x1 = 1 , x2 = 0 ,


* * * * * x3 = 5 , x 4 = 0 , x 5 = 0 , x6 = 0 , x7 = 8 , care are o variabil artificial

bazic cu valoare strict pozitiv. Conform teoremei 2, problema propus spre rezolvare este fr soluie.

b) Metoda celor dou faze (1954, G.B. Dantzig, A. Orden, P. Wolfe)


Se menin ipotezele de lucru de la metoda bazei artificiale. Ca i la metoda precedent, se urmrete generarea unei SAB pentru II.2.1 ori de cte ori calculul direct al unei astfel de soluii este dificil datorit dimensiunilor problemei (m i/sau n foarte mari). Aceste dou metode pun la dispoziia utilizatorului procedee generale de generare a soluiilor admisibile de baz, sau informaia c problema nu are soluii ceea ce ar putea indica o modelare greit a procesului economic.

Analiza economico-matematic a unor modele liniare

Metoda celor dou faze const n parcurgerea urmtoarelor etape:

Faza 1: Scopul acestei etape este de a obine, dac este posibil, o SAB de start pentru II.2.1, aplicnd algoritmul simplex-primal problemei auxiliare:
II.2.3 A X + B (x n +1 ...xn +i ...x n + m ) = (b1 ...bm ) ,
T

unde xn+i este variabila artificial adugat numai prii stngi a restriciei i , i = 1, m , iar B este matricea unitate de ordinul m=rangA. II.2.4 X 0 , X a 0 , II.2.5 [min]W = xn +i .
i =1 m

La aceast faz obiectivul va fi minimizarea sumei variabilelor articiale din restricii, indiferent de tipul de optim al problemei considerate. Din II.2.3 rezult c variabilele artificiale bazice sunt n SAB de start:
X =0 . Se aplic algoritmul simplex primal problemei auxiliare. X SAB = X a = b

Admitem c aceasta are soluie optim finit, deci exist o SAB care verific criteriul de optimalitate: w j c j 0 , j = 1, n + m . Atunci,
Se trece la rezolvarea ei prin metoda simplex primal cu SAB de start dat de soluia optim a problemei auxiliare, dup ce au fost eliminate variabilele artificiale.

min W = 0

Faza 2: Se revine la AX = b DA X 0 [max] f ( X ) = CX

NU

STOP II.2.1 nu are soluii

Metode simplex pentru modele liniare

La baza metodei stau urmtoarele afirmaii:

Tema 1: Orice soluie admisibil de baz a problemei II.2.1 este SAB a


problemei auxiliare cu X a = 0 . Existena unei astfel de soluii atrage n mod necesar [min]W=0.

Tema 2: Orice soluie admisibil de baz a problemei extinse pentru care W=0 este o SAB a problemei iniiale.
S exemplificm numeric aplicarea acestei metode. Considerm modelul liniar: [min] f = 50 x1 + 25 x2 + 30 x3 x1 + 2 x2 + 3 x3 8 3 x1 + 4 x2 + x3 9 x j 0, j = 1,3 [min] f = 50 x1 + 25 x2 + 30 x3 x1 + 2 x2 + 3x3 x4 = 8 3 x1 + 4 x2 + x3 x5 = 9 x j 0, j = 1,5 1 2 3 1 0 A= 8 3 4 1 0 1 , b = , rangA=2<5. ntruct matricea A nu 9 a1 a 2 a3 a 4 a5 conine 2 vectori unitari care s formeze baza unitate n R 2 , vom aplica metoda celor dou faze. . , cu forma standard

Analiza economico-matematic a unor modele liniare

Faza 1: Se construiete problema auxiliar


[min]W = x6 + x7 x1 + 2 x2 + 3 x3 x4 + x6 = 8 , 3x1 + 4 x2 + x3 x5 + x7 = 9 x j 0, j = 1,7 B = (a 6 1 0 a7 ) = 0 1 , rezult
1 2 3 1 0 1 0 A= 3 4 1 0 1 0 1 . Deoarece a1 a2 a3 a4 a5 a6 a7
T

X SAB : X = 0, X a = (8 9 ) . Se aplic

algoritmul simplex-primal:
cj c
B

0
a1

0
a2

0
a3

0
a4

0
a5

1
a6

1
a7

B
a6 a7 fj fj

1 1

8 9 17

1 3 4 4

2 4 6 6 0 1 0 0 1 0

3 1 4 4 5/2 1/4 5/2 5/2 1 0 0

-1 0 -1 -1 -1 0 -1 -1 -2/5 1/10 0 0

0 -1 -1 -1 1/2 -1/4 1/2 1/2 1/5 -3/10 0 0

1 0 1 1 0 1

0 1 1

8/2 8/4

cj
a6 a2 fj

0 j = 1, 7 ? NU.

1 0

7/2 9/4 7/2

-1/2 3/4 -1/2 -1/2

7/5 9

fj

cj
a3 a2 fj

0 j = 1, 7 ? NU.

0 0

7/5 19/10 0

-1/5 4/5 0 0

fj

cj

0 j = 1, 7 ? DA STOP.

* * Problema extins are soluie optim finit: x1 = 0 , x2 = 19 / 10 , * * * * * x3 = 7 / 5 , x4 = x5 = x6 = x7 = 0 ; [min]W=0 se trece la faza 2.

Metode simplex pentru modele liniare

Observaie: Coloana lui a 7 nu ne mai intereseaz, deoarece variabila x7 , odat eliminat din baz, nu va mai fi reintrodus ulterior. Idem pentru a 6 . Faza 2: Se revine la funcia obiectiv din modelul originar. Problema de
rezolvat va fi: [min] f = 50 x1 + 25 x2 + 30 x3 x1 + 2 x2 + 3x3 x4 = 8 3 x1 + 4 x2 + x3 x5 = 9 x j 0, j = 1,5
,

cu

X SAB

x1 0 x2 19 / 10 = x3 = 7 / 5 x4 0 x 5 0

obinut prin

eliminarea variabilelor auxiliare din soluia optim gsit la faza 1. Se testeaz optimalitatea sa:
cj
B

50

25

30

0
a4

0
a5
1/5 -3/10

a1

a2

a3
1 0

1 1

a3 a2 fj fj

7/5 19/10

-1/5 4/5

0 1

-2/5 1/10

89,5

14 -36

25

30

-9,5
-9,5

-1,5
-1,5
0 j = 1,5 ? DA

cj

STOP
T

19 Problema admite soluia optim finit X SAB = 0 10

7 5

0 0 ,

cu [min]f=89,5. Vom continua studiul modelului matematic prin scrierea dualei:


[max]g = 8u1 + 9u 2 u1 + 3u 2 50 , pentru care duala este 2u1 + 4u 2 25 3u + u 30 2 1 u i 0, i = 1,2 .

[min] f = 50 x1 + 25 x2 + 30 x3 x1 + 2 x2 + 3 x3 8 u1 3 x1 + 4 x2 + x3 9 u 2 x j 0, j = 1,3

Analiza economico-matematic a unor modele liniare

Stabilim soluia optim a dualei (dac exist). Forma standard a dualei va evidenia o baz unitate n R 3 . ntr-adevr,
[max]g = 8u1 + 9u 2 1 u1 + 3u 2 + u3 = 50 A = 2 2u1 + 4u 2 + u 4 = 25 , 3 3u + u + u = 30 5 1 2 a1 ui 0, i = 1,5 a4 3 1 0 0 50 4 0 1 0 , rang A=3<5, b = 25 > 0 , 1 0 0 1 30 a 2 a3 a 4 a5

1 0 0 B = 0 1 0 = (a3 0 0 1

a5 ) , X SAB = (0 0 50 25 30 ) .
T

Se aplic algoritmul simplex-primal:


cj

8
a1

9
a2

0
a3

0
a4

0
a5

B
a3 a4 a5 fj fj

0 0 0

50 25 30 0

1 2 3 0 -8

3 4 1 0 -9 0 1 0 9 0 1 0 9

1 0 0 0 1 0 0 0 1 0 0 0

0 1 0 0 3/4 1/4 -1/4 9/4 9/4 -4/5 3/10 -1/10 19/10 19/10

0 0 1 0 0 0 1 0 1/5 -1/5 2/5 7/5 7/5

50/3 25/4 30/1

cj
a3 a2 a5 fj

0 j = 1, 5 ?

0 9 0

125/4 25/4 95/4 175/4

-1/2 1/2 5/2 9/2 -7/2

25/2 19/2

fj

cj
a3
a2

0 9 8

26 3/2 19/2 89,5

0 0 1 8

a1 fj fj

cj

0 j = 1,5 ? DA

STOP

Metode simplex pentru modele liniare


* * * Duala admite soluia optim finit: u1 = 3 / 2 , u 2 = 19 / 2 , u 3 = 36 ,
* * u 4 = u 5 = 0 i [max]g = 89,5 = [min] f .

3. Degenerare i ciclare n probleme de programare liniar


Definiie: X se numete SAB degenerat pentru II.2.1 dac numrul valorilor variabilelor bazice strict pozitive este cel mult (m-1) unde m=rangA. Soluiile admisibile de baz degenerate se pot obine n dou moduri:
1) n sistemul de restricii scris sub forma explicit X B + B 1 RX R = B 1b ,

B 1b are cel puin o component egal cu zero i toate celelalte strict


pozitive valorile variabilelor bazice X B = B 1b , strict pozitive, sunt n numr de cel mult (m-1). 2) Exist cazul n care, n spaiul bunurilor R m , vectorul b nu formeaz un sistem de vectori liniar independeni cu orice combinaie de (m-1) vectori din A. Din punct de vedere geometric, acest lucru nseamn c b trece printr-un vrf al poliedrului conex al restriciilor AX = b . S presupunem c

(a1

a 2 ... a m1 a2 ... a m ) :

(a1 b)

a2

... a m )

este

baz

Rm ,

dar

nu este un sistem de m vectori liniar

independeni. Vectorul b poate fi scris n mod unic n baza

(a1

II.3.1 a1 x1 + a 2 x2 + ... + a m 1 xm1 + a m 0 = b . Din II.3.1 rezult c X SAB are componentele ( x1 ....xm 1 0....0 ) , deci
T

este SAB degenerat.

Analiza economico-matematic a unor modele liniare

Rezolvarea urmtorului model matematic, n R 2 , ne va furniza o interpretare geometric a conceptului de degenerare: [max] f = x1 + 4 x 2 2 x1 + x 2 1 2 x + 5x 5 1 2 , cu forma standard 2 x1 + 3 x 2 6 14 x1 + 11x 2 14 x j 0, j = 1,2
x2
2 B 1 -5/2 -1/2 O 3 C A

[max] f = x1 + 4 x 2 2 x1 + x 2 + x3 = 1 2x + 5x x = 5 1 2 4 . 2 x1 + 3 x 2 + x5 = 6 14 x1 + 11x 2 + x6 = 14 x j 0, j = 1,6

d1 d2

d3

x1

3 7 Valoarea maxim este atins n B , , prin care trec trei drepte 8 4 care definesc mulimea convex (simplexul) a soluiilor admisibile. Dac nlocuim soluia optim n forma standard, se obine un program optim
* degenerat: x1 =

3 * 7 * * * * , x 2 = , x3 = 0 , x 4 = 3 , x5 = 0 , x 6 = 0 . 8 4

Observaie: i prin A trec trei drepte, d1 , d 2 i x1 = 0 , deci, prin nlocuirea


coordonatelor sale n forma standard, se obine o SAB degenerat. S presupunem c unei probleme de programare liniar degenerat i se caut soluia optim aplicnd metoda simplex, i, la o anumit iteraie,

Metode simplex pentru modele liniare

raportul min nu este unic determinat. Metoda perturbaiilor (A. Chanes) i metoda lexicografic (B.B. Dantzig i P. Wolfe) sunt dou metode ce nu nltur degenerarea, ci creeaz posibilitatea continurii algoritmului prin nlturarea arbitrariului n determinarea vectorului ce va fi eliminat din baz, vector situat pe una din liniile rapoartelor minime de valori egale.

a) Metoda lexicografic
Presupunem c la iteraia p N * , vectorul al , l J , trebuie s intre n baz, toate componentele sale y sl , s I , sunt strict pozitive i
xs xk x = r . = y rl y sl y kl

k = r = min s| y > 0
sl

Se pune ntrebarea: care din cei doi vectori va fi eliminat, a k sau a r ?


T.II.3.1

cj cB c1 ck
cr
B

c1 a1

cl al y1l

cn an

XB x1

x1 / y11

a1

ak

xk

y kl

xk / y kl
min

ar

xr

y rl

xr / y rl

cm

am fj f j cj

xm

y ml

xm / y ml

Decizia va fi luat dup parcurgerea urmtorilor pai:

Analiza economico-matematic a unor modele liniare

Pasul 1 Se mpart elementele liniei k, ncepnd cu xk , la eventualul element


pivot y kl . Se mpart elementele liniei r la eventualul element pivot y rl , i se aeaz sub celelalte rapoarte n ordinea dat de coloanele tabelului simplex:
xk y k1 y k 2 y y y , , ,..., kl 1 , kl ,...., kn ; y kl y kl y kl y kl y kl y kl y y y x r y r1 y r 2 , , ,..., rl 1 , rl ,...., rn . y rl y rl y rl y rl y rl y rl

Pasul 2 Operaia 1 Se compar rapoartele din a doua coloan: y k 1 y r1 = ? y kl y rl

DA NU

Se trece la Operaia 2.

STOP. Pivotul iteraiei va fi numitorul raportului minim. Va fi eliminat din baz vectorul situat n linia pivotului.

Operaia 2: k := k + 1 Operaia 1.
Dup cel mult n operaii se poate stabili vectorul care trebuie eliminat.

Observaie: n cazul programrii pe calculator, se va elimina din baz vectorul cu cel mai mic indice. n foarte puine cazuri, aceast metod prezint dezavantajul c, dup un anumit numr de iteraii, poate s se
revin la baza iteraiei p, p N * .

Metode simplex pentru modele liniare

Fie problema: [min] f ( X ) = 3 x1 + 2 x2 + 4 x3 + 2 x4 + 3 x5


x + 2 x2 + x3 + x 4 = 10 . II.3.2 1 2 x1 + 3 x 2 + x3 + x5 = 15

x j 0 , j = 1,5 1 2 1 1 0 Dup scrierea matricii A = , rangA=2<5, ne este sugerat 2 3 1 0 1


soluia de

a1 a 2 a3 a 4 a5
start pentru algoritmul simplex-primal,
X SAB = (0 0 0 10 15) .
T

Completnd primul tabel, se va observa n formula criteriului de eliminare din baz c minimul nu este unic. ntr-adevr,

cj cB
2 3 B

XB
10 15 65

a1
1 2 8 5

a2
2 3 13 11

a3
1 1 5 1

a4
1 0 2

a5
0 1 3

10/2 15/3

a4

a5 fj f j cj

[min ] f
0 j = 1,5 ? NU

Se observ c: max ( f j c j ) = 11 = f 2 c2 a 2 va intra n noua


f j c j >0

baz. Dar,
Pasul 1

10 15 = . Aadar, care vector va fi eliminat? 2 3


Pasul 2 O1:

10 1 2 1 1 0 , , , , , 2 2 2 2 2 2 15 2 3 1 0 1 , , , , , 3 3 3 3 3 3

10 15 = 2 3 1 2 se elimin vectorul a 4 . O2: < 2 3 Pivotul iteraiei este 2.

Analiza economico-matematic a unor modele liniare

cj c
B

X
5 0

a1
1/2 1/2 2 -1

a2
1 0 2

a3
1/2 -1 -1 -5

a4
1/2 -3 -5 -7

a5
0 1 2

2 3

a4 a5

fj f j cj

10

0 j = 1,5 STOP

Soluia optim este degenerat. Variabila bazic x5 are valoarea zero.

b) Metoda perturbaiilor Vom exemplifica aceast metod pe modelul precedent. Pasul 1 Fie (0,1) arbitrar de mic. Se va trece de la II.3.2, la o problem
perturbat, de forma:
[max] f = c j x j
j =1 n

II.3.3

a j x j + ja j = b + ja j
j =1 j =1 j =1

x j 0, j = 1, n Dac soluia admisibil de baz corespunde bazei format din primii m vectori, atunci restriciile din II.3.3 se mai pot scrie:

II.3.4

(x
m s =1

+ s as +

j = m +1

a j = b( ) ,

unde b( ) = b + j a j .
j =1

Metode simplex pentru modele liniare

n particular, pentru II.3.2 avem scrierea


10 1 2 1 1 0 10 + + 2 2 + 3 + 4 b( ) = + 1 + 2 + 3 + 4 + 5 = 15 2 3 1 0 1 15 + 2 + 3 2 + 3 + 5

a1

a2

a3

a4

a5

Pasul 2 Prin modificarea de la pasul 1 s-a obinut o problem nedegenerat.


Presupunem c al este vectorul ce va face parte din noua baz (se accept ipotezele expuse la metoda lexicografic). Vom aplica acum criteriul de eliminare din baz:
n x s + s + j y sk j = m +1 = min s| y sk >0 y sk

n particular:

= min

10 + 4 + + 2 2 + 3 15 + 5 + 2 + 3 2 + 3 = , 2 3

2 3 4 3 5 = min 5 + + 2 + + ,5 + + 2 + + 2 2 2 3 3 3

Pentru suficient de mic, 5 +


a 4 va fi eliminat.

+ 2 +

3
2

4
2

< 5+

3 5 2 +2 + + 3 3 3

Observaia 1: Metodele au fost date n cazul n care raportul minim este realizat pentru doi indici s I , dar se pot aplica i n situaia n care se pot
elimina mai mult de doi vectori din baz.

Analiza economico-matematic a unor modele liniare

Observaia 2: Se poate trece de la o SAB degenerat la o SAB cu valorile variabilelor bazice strict pozitive (nedegenerat), aa cum se va vedea i din exemplul urmtor: Se dorete realizarea unui amestec din trei tipuri de benzin. Acest amestec este de multe ori condiionat de cantitile de care dispunem din fiecare produs. Se nelege c avem analizele de laborator ale tuturor produselor i cunoatem caracteristicile chimice ale produselor pe care le amestecm, de aceea, dac amestecm benzina de 92 cu benzina de 88 i cu nafta o facem pentru a obine benzin de 92. Cantitatea de benzin de 92 trebuie s reprezinte cel puin 50% din ntregul amestec, iar nafta trebuie s fie cuprins ntre 25% i 30% din ntregul amestec. Preurile unitare ale sortimentelor sunt de 30$ barilul de nafta, 40$ barilul de benzin de 88 i 50$ barilul de benzin de 92. S determinm ce cantiti se amestec astfel nct valoarea amestecului rezultat s fie maxim.
Notm cu x1 cantitatea de nafta, cu x 2 cantitatea de benzin de 92 i cu x3 cantitatea de benzin de 88. Restriciile privind disponibilul sunt:
x1 100 x 2 90 3 x1 + x 2 + x3 0 . 7 x1 3x 2 3 x3 0 x1 x 2 + x3 0 Forma standard este: [max] f = 4 x1 + 5 x 2 + 3 x3 x1 + x 4 = 100 x + x = 90 5 2 3 x1 + x 2 + x3 + x6 = 0 7 x 3 x 3 x + x = 0 2 3 7 1 x1 x 2 + x3 + x8 = 0 x j 0, j = 1,8

Metode simplex pentru modele liniare

Calculele implicate de aplicarea algoritmului simplex primal sunt prezentate n tabelul urmtor: cj cB
0 0 0 0 0 B 4 5 3 0 0 0 0 0

XB
100 90 0 0 0 0

a1
1 0 -3 7 1 0 -4

a2
0 1 1 -3 -1 0 -5 0 0 1 0 0 5 0 0 1 0 0 50 0 0

a3
0 0 1 -3 1 0 -3 0 -1 1 0 2 5 2 1/3 -1/3 0 -2/3 4/3 -4/3 -13/3 0 0

a4
1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0

a5
0 1 0 0 0 0 0 1 0 0 0 0 -1/3 1/3 1 2/3 2/3 19/3 19/3 -1/2 1/2

a6
0 0 1 0 0 0 0 -1 1 3 1 5 5 1/3 -1/3 0 7/3 1/3 -4/3 -4/3 1/4 -1/4

a7
0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0

a8
0 0 0 0 -1 0 0 0 0 0 1 0 0 0 0 0 1 0 -1/4 1/4

90 0 -

a4 a5

a6 a7 a8 fj f j cj

0 0 5 0 0

a4 a5 a2 a7

100 90 0 0 0 0

1 3 -3 -2 -2 -15 -19

100 30 -

a8 fj fj c

0 4 5 0 0

a4 a1 a2 a7

70 30 90 60 60 570

0 1 0 0 0 40

210 45

a8 fj f j cj

0 4

a4 a1

55 45

0 1

220 -

Analiza economico-matematic a unor modele liniare

5 0 3

a2 a7

90 90 45 765

0 0 0 4

1 0 0 5

0 0 1 3

0 0 0 0

1 1 1/2 17/2 17/2

0 5/2 1/4 -1/4 -1/4

0 1 0 0 0

0 1/2 3/4 13/4 13/4

36 180

a3 fj f j cj

cj cB
0 4 5 0 3 B

XB
46 54 90 36 36 774

a1
0 1 0 0 0 4

a2
0 0 1 0 0 5

a3
0 0 0 0 1 3

a4
1 0 0 0 0 0

a5
-3/5 3/5 1 2/5 2/5 43/5 43/5

a6
0 0 0 1 0 0

a7

a8

a4 a1 a2 a6

-1/10 -3/10 1/10 3/10 0 2/5 0 1/5

a3 fj f j cj

-1/10 7/10 1/10 33/10 1/10 33/10

Dup cteva iteraii, obinem soluia care recomand amestecarea a


x1 = 54 barili nafta, x 2 = 90 barili de benzin de 92 i x3 = 36 barili de

benzin de 88. Astfel, se vor obine 180 de barili cu valoarea total de 774 10 dolari. Preul unui baril de amestec va fi de 42$. Benzina nafta va reprezenta 54 100 = 30% din amestec, benzina auto de 92 va reprezenta 180 50% din amestec, iar benzina auto de 88 reprezint 30% din amestec. Se observ astfel c, dei la iteraia 2 soluia admisibil de baz este degenerat, la urmtoarea iteraie soluia admisibil devine nedegenerat.

c) Ciclare Dac valoarea funciei scop nu se modific pe parcursul ctorva iteraii succesive, este posibil s apar fenomenul de ciclare, adic s se revin la una dintre soluiile admisibile de baz prin care s-a trecut deja.

Metode simplex pentru modele liniare

Degenerarea este o condiie necesar, dar nu i suficient, de ciclare. Dei foarte multe procese economice sunt modelate prin programe liniare cu soluii admisibile de baz degenerate, la nici una pn acum nu a aprut fenomenul de ciclare. E. Beale [] a gsit i a publicat un astfel de model.
[min] f = 3 1 x 4 + 20 x 5 x 6 + 6 x 7 4 2

1 x1 + 4 x 4 8 x 5 x 6 + 9 x 7 = 0 x + 1 x 12 x 1 x + 3x = 0 . 5 6 7 2 2 4 2 x + x = 1 6 3 x j 0 , j = 1,6 Prezentm n continuare rezultatele sub form de tabel a apte iteraii. Se va observa c primul tabel coincide cu ultimul.

cj

-3/4

20

-1/2

cB
0 0 0

XB
0 0 1 0

a1
1 0 0 0

a2
0 1 0 0

a3
0 0 1 0

a4
1/4 1/2 0 0 3/4

a5
-8 -12 0 0 -20

a6
-1 -1/2 1 0 1/2

a7
9 3 0 0 -6

0 0 -

a1 a2 a3

fj
f j cj

Analiza economico-matematic a unor modele liniare

cj

-3/4

20

-1/2

XB
0 0 1 0

a1
4 -2 0 -3 -3

a2
0 1 0 0

a3
0 0 1 0

a4
1 0 0 -3/4

a5
-32 4 0 24 4

a6
-4 3/2 1 3 7/2

a7
36 -15 0 -27 -33

0 -

-3/4 0 0

a4 a2 a3

fj f j cj

cj

-3/4

20

-1/2

X
0 0 1 0

a1
-12 -1/2 0 -1 -1

a2
8 1/4 0 -1 -1

a3
0 0 1 0

a4
1 0 0 -3/4

a5
0 1 0 20

a6
8 3/8 1 3/2 2

a7
-84 15/4 0 -12 -18

0 0 1

-3/4 20 0

a4

a5 a3 fj f j cj

cj

-3/4

20

-1/2

XB
0 0 1 0

a1
-3/2 1/16 3/2 2 2

a2
1 -1/8 -1 -3 -3

a3
0 0 1 0

a4
1/8 -3/64 -1/8 -1 -1/4

a5
0 1 0 20

a6
1 0 0 -1/2

a7
-21/2 3/16

-1/2 20 0

a6 a5 a3 fj f j cj

21/2 2/21 9 3

Metode simplex pentru modele liniare

cj

-3/4

20

-1/2

XB
0 0 1 0

a1
2 1/3 -2 1 1

a2
-6 -2/3 6 -1 -1

a3
0 0 1 0

a4
-5/2 -1/4 5/2 -1/4 1/2

a5
56 16/3 -56 4 -16

a6
1 0 0 -1/2

a7
0 1 0 6

0 0 -

-1/2 6 0

a6 a7 a3

fj
f j cj

cj

-3/4

20

-1/2

X
0 0 1 0

a1
1 0 0 0

a2
-3 1/3 0 2 2

a3
0 0 1 0

a4
-5/4 1/6 0 1 7/4

a5
28 -4 0 -24 -44

a6
1/2 -1/6 1 -1 -1/2

a7
0 1 0 6

0 1

0 6 0

a1 a7

a3 fj f j cj

cj

-3/4

20

-1/2

cB
0 0 0

XB
0 0 1 0

a1
1 0 0 0

a2
0 1 0 0

a3
0 0 1 0

a4
1/4 1/2 0 0 3/4

a5
-8 -12 0 0 -20

a6
-1 -1/2 1 0 1/2

a7
9 3 0 0 -6

4 0 -

a1 a2 a3

fj f j cj

n tabelele precedente, dei criteriul de intrare n baz ne-a dat posibilitatea de a alege ntre dou variabile, am ales ntotdeauna prima variabil din partea de sus a tabelelor. Dac ns vom alege la un moment dat alte variabile care ies din baz dect cele alese anterior putem ajunge la

Analiza economico-matematic a unor modele liniare

soluia optim, evitnd n acest fel ciclarea, aa cum se vede din urmtoarele dou iteraii: cj cB
0 -3/4 0 B 0 0 0 -3/4 20 -1/2 6

XB
0 0 1 0

a1
1 0 0 0

a2
-1/2 2 0 -3/2 -3/2 0

a3
0 0 1 0 0

a4
0 1 0 -3/4 -3/4

a5
-2 -24 0 18 -2 20

a6
-3/4 -1 1 3/4 5/4 -1/2

a7
15/2 6 0 -9/2 -21/2 6

a1 a4 a3

fj f j cj

cj

X
1 1

a1
1 0 0 0

a2
-1/2 2 0 -3/2 -3/2

a3
3/4 1 1 -5/4 -5/4

a4
0 1 0 -3/4

a5
-2 -24 0 18 -2

a6
0 0 1 -1/2

a7
15/2 6 0 -9/2 -21/2
T

0 -3/4 -1/2

a1 a4 a6

3/4

fj f j cj

-5/4

Astfel, soluia optim este dat de X = (3 / 4 0 0 1 0 1 0 ) , valoarea minim a funciei obiectiv fiind f ( X ) = 5 / 4 . Dei n problemele practice nu s-a observat fenomenul de ciclare, teoretic exist posibilitatea de a aprea i, ca urmare, este bine s cunoatem o cale de a-l evita.

4. Algoritmul simplex revizuit


Acest algoritm este o form revizuit a algoritmului simplex primal, care se recomand a fi folosit atunci cnd rezolvarea modelului matematic se face cu ajutorul calculatorului. Ideea de baz este de a reine datele iniiale, apoi, folosind matricea sistemului de restricii se va construi

Metode simplex pentru modele liniare

o matrice invers, se vor calcula c B B 1 , X B = B 1b i f j c j , n funcie de care se ia decizia de a opri algoritmul sau de a-l continua trecnd la o soluie admisibil de baz mai bun.

Considerm problema de programare liniar la forma standard


min f ( x) = cX

II.4.1

{AX = b
X 0

unde A M m,n (R ) , rangA = m n b R m , c, X R n . Pentru aplicarea algoritmului simplex revizuit, se construiete completata problemei II.4.1: min f 1 ( x) = x 0 x cX = 0 II.4.2 0 . AX = b X 0, x 0 R 1 cB Aici, matricea sistemului de restricii va fi: A1 = 0 B cR , R

unde A = (B R ) . Se observ c rangA1 = m + 1 . Vectorul termenilor liberi


c 0 pentru problema completat este b1 = . Notm a 1 = k , unde a k k b a k

este coloana k din matricea A.

Analiza economico-matematic a unor modele liniare

Dac
B

este baz primal admisibil pentru II.4.1, atunci

1 c este baz primal admisibil pentru II.4.2. Este uor de B1 = 0 B

1 u B B B 1 verificat c B11 = 0 B 1 , unde u = c B . Tabelul simplex revizuit va avea urmtoarea form:


Variabilele de baz

B11
1

B11b1 f
B

B11 a 1 * k f kB c k

x0

u B = c B B 1

0 XB B 1 XB y kB = B 1 a k * Ultima coloan va aprea n momentul cnd se trece la mbuntirea soluiei curente.

Etapele algoritmului simplex revizuit sunt prezentate n schema logic S.II.4.1:

AX = b , X 0 , [max] f (x ) = cX

Datele iniiale:

rangAmn = m n , b R m , c R n
Se determin o baz primal admisibil pentru problema II.4.1 i se calculeaz apoi B1 , B11b1 , u B , B11 a 1j

Schema logic S.II.4.1 STOP. Problema admite soluie optim finit

B j

c j 0 DA

j = 1, n
NU

B 1b f 0 = [min] f ; X B = 0 .

Alegem k astfel nct

f j c j >0

max ( f jB c j ) = f kB c k > 0 . B
f
B

k Se completeaz ultima coloan din tabel cu vectorul B11 a 1 = B k k y = B 1 a . k k

y kB 0 ?

DA

STOP Problema are optim ( ).

NU

Se alege r dup regula: min B


i| yik

xiB x rB = B . B y ik y rk
~

Se nlocuiete coloana a cu coloana a , i se formeaz noua baz primal admisibil, B1 . Se calculeaz B11b1 , u B , B11 a 1j .

Analiza economico-matematic a unor modele liniare

Pas 0 Se determin B baz primal admisibil i se calculeaz: B 1 , X B ,


f B , u B = c B B 1 .

Pas 1 Se calculeaz f jB c j = u B a j c j , j R .
Dac f jB c j 0 , j { ,.., n} B = R soluie optim. 1 Dac nu, se trece la Pasul 2.

Pas 2 Alegem k astfel nct max ( f jB c j ) = f kB c k > 0 . B


f j c j >0

Se calculeaz y kB = B 1 a k . Dac y kB 0 , problema are optim nemrginit ( ). Dac nu, se trece la Pasul 3. xiB x rB = B . Se nlocuiete coloana a r cu i| yik y B y rk ik ~ coloana a k , i se formeaz noua baz primal admisibil, B1 . Se revine la

Pas 3 Alegem r dup regula: min B

Pasul 1.
S rezolvm cu algoritmul simplex revizuit urmtoarea problem de programare liniar: [min] f = 2 x1 x 2 x1 x 2 4 3 x1 x 2 18 x + 2 x 6 2 1 x i 0 , i = 1,2 .

Metode simplex pentru modele liniare

primul

rnd,

aducem,

problema

la

forma

standard:

[min] f = 2 x1 x 2 x1 x 2 + x 3 = 4 1 1 1 0 0 3 x1 x 2 + x 4 = 18 . Matricea restriciilor este A = 3 1 0 1 0 , 1 2 0 0 1 x + 2 x + x = 6 2 5 1 x i 0 , i = 1,5

B = I3 = a3

a4

a 5 . Scriem completata problemei de mai sus:

[min]g = x 0 x 0 (2 x1 x 2 ) = 0 x x + x = 4 1 2 3 . 3 x1 x 2 + x 4 = 18 x1 + 2 x 2 + x5 = 6 x i 0 , i = 1,5 1 2 1 0 0 1 1 1 Aadar, A1 = 0 3 1 0 0 1 2 0 0 0 0 0 1 cR = 1 0 0 R 0 1 0 4 c 0 , b1 = = . 8 b B 16


B

1 c B Observaie: Dup reordonare putem obine chiar A1 = 0 B

cR . R

Completm tabelul simplex revizuit, evident fr ultima coloan: u B = c B B 1 = (0 0 0 ) I 3 = (0 0 0 ) .


Variabilele de baz

B11
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

B11b1
0 4 18 6

x0 x3
x4 x5

Analiza economico-matematic a unor modele liniare

c j Pentru j R , calculm f jB c j = (1 u B ) a . n cazul nostru, j

R = {1,2} . Aadar, pentru j = 1 avem: 2 1 c1 1 B 1 c1 = 1 u a = (1 0 0 0) 3 = 2 > 0 , B a1 = 3 , 1 1 1

f 1B

iar pentru j = 2 , 1 1 c2 1 B 1 c2 = 1 u a = (1 0 0 0 ) 1 = 1 > 0 , B a 2 = 1 . 2 2 2

f 2B

Soluia curent nu este optim i nici cazul optim nemrginit nu este ndeplinit. Trecem la schimbarea bazei. Deoarece, f 1B c1 = 2 > 1 = f 2B c 2 , variabila x1 va intra n noua baz. Completm tabelul de mai sus cu ultima coloan:
Variabilele de baz

B11
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

B11b1
0 4 18 6

B11 a11
2 1 3 -1

x0 x3
x4 x5

4 18 4 Deoarece min , = , variabila x 3 va iei din baz. Pivotul 1 3 1 este, desigur, valoarea aflat n csua colorat, adic 1. Tabelul simplex revizuit urmtor se obine din cel precedent, dup aceleai reguli care se aplic tabelului simplex obinuit.

Metode simplex pentru modele liniare

Astfel, cu noua baz avem:


Variabilele de baz
0

~ B11
1 -2 0 0 0 0 1

~ B11b1
-8 4 6 10

~ B11 a12
* 3 -1 2 1

x 0 1 0 x1 0 -3 1 x4 0 1 0 x5 * Ultima coloan se va completa ulterior.

f 2B

1 ~ c2 1 B c2 = 1 u a = (1 2 0 0 ) 1 = 3 > 0 (soluia curent 2 2

nu este optim).
1 0 0 1 1 ~ 1 B a 2 = 3 1 0 1 = 2 (rezult de aici c nu avem optim 1 0 1 2 1

infinit), 0 ~ c3 1 B c3 = 1 u a = (1 2 0 0 ) 0 = 2 < 0 . 3 0

f 3B

Singura variabil care poate intra n baz este x 2 . Completm ultima 6 10 6 coloan. Cum min , = , rezult c variabila x 4 iese din baz. 2 1 2 Pivotul este 2.

Analiza economico-matematic a unor modele liniare

~ ~ Urmtorul tabel simplex revizuit, unde baza este acum notat B1 :


Variabilele de baz

~ ~ B11
0 0 0 1

~ ~ B11b1
-17 7 3 7

~ ~ B11 a13 **
5/2 -1/2 -3/2 5/2

1 5/2 -3/2 x0 0 -1/2 1/2 x1 0 -3/2 1/2 x2 0 5/2 -1/2 x5 ** Ultima coloan se va completa ulterior.

f 3B

~ ~

0 1 c 3 = (1 5 / 2 3 / 2 0) = 5 / 2 > 0 (soluia curent nu este 0 0

optim).
1 / 2 1 / 2 0 1 1 / 2 ~ 1 ~ B a 3 = 3 / 2 1 / 2 0 0 = 3 / 2 (rezult de aici c nu avem 5 / 2 1 / 2 1 0 5 / 2

optim infinit),
0 ~ ~ 0 B f 4 c4 = (1 5 / 2 3 / 2 0) = 3 / 2 < 0 . 1 0

Variabil care intr n baz este x 3 . Completm ultima coloan. Se observ imediat c singura variabil care poate iei din baz este x5 . Pivotul este 5/2. La aceast iteraie baza curent este notat prin B1 .

Metode simplex pentru modele liniare

Variabilele de baz

B11
1 0 0 0 0 0 0 1 -1 2/5 1/5 -1/5 -1 1/5 3/5 2/5

B11b1
-24 42/5 36/5 14/5

x0 x1 x2 x3

Cum f 4B

0 0 c 4 = (1 0 1 1) = 1 < 0 i 1 0

f 5B

0 0 c5 = (1 0 1 1) = 1 < 0 , rezult c soluia curent, 0 1


T

x = (42 / 5 36 / 5 14 / 5 0 0) este optim, unic i nedegenerat. Din exemplificarea aplicrii algoritmului simplex revizuit, rezult urmtoarele:
Memoria calculatorului este eficient folosit, prin reducerea volumului de

infomaii stocate.
Datele reinute la o iteraie sunt suficiente pentru a obine toate

informaiile dorite, relativ la problema primal i la duala sa.


5. Algoritmul simplex dual

Cnd s-a aplicat algoritmul simplex primal s-a apelat pe tot parcursul algoritmului la soluii admisibile de baz (SAB) i regulile sale au fost stabilite impunndu-se condiia de nenegativitate a variabilelor din model.

Analiza economico-matematic a unor modele liniare

Cu ajutorul teoriei dualitii se poate formula un nou algoritm de rezolvare a problemelor de programare liniar, pornind de la o soluie de baz care nu respect - total sau parial - condiia de nenegativitate, i anume, algoritmul simplex dual. Conceptul de baz cu care se opereaz este cel de soluie dual realizabil (SDR).
Definiie: Se numete soluie dual realizabil a unei probleme de

programare liniar o soluie de baz care are cel puin o component strict negativ i care verific criteriul de optimalitate al modelului liniar. Algoritmul simplex-dual este o procedur de explorare orientat a soluiilor dual-admisibile pn la obinerea soluiei optime sau pn la evidenierea faptului c problema nu admite soluii. Aplicarea sa presupune cunoaterea unei soluii dual-realizabile (sau dual-admisibile) dar nu i admisibile, deoarece, dac toate variabilele ar avea valori pozitive, cum este verificat criteriul de optimalitate, ar rezulta c soluia este optim. n general, stabilirea unei soluii dual-admisibile este greu de realizat, motiv pentru care acest algoritm se aplic atunci cnd o soluie dual realizabil se poate stabili cu un volum mic de calcule, cnd restriciile sunt cu precdere de forma , sau cnd aceasta se obine prin modificarea unor caracteristici numerice din model. Acest algoritm poate fi privit ca dualul algoritmului simplex-primal, deoarece reflect aplicarea acestuia la problema dual. Pentru algoritmul simplex dual, valorile funciei scop descresc cnd aceasta se cere maximizat i cresc cnd se cere minimizat, pn cnd este atins valoarea optim, dac programul liniar admite soluie optim finit.

Metode simplex pentru modele liniare

[max] f

Schema de desfurare a algoritmului simplex-dual, cnd se cere este urmtoarea:


Modelul matematic se aduce la forma standard Se stabilete o SDR:

B M n (R ) a.. X B = B 1b = (x1 ....x m ) 0


T

f j c j = c B B 1 a j c j 0 , j = 1, n

x k < 0 a.

DA

y kj 0 , j = 1, n
NU Alege xl = min{x s } (C.E.B);
s| x s < 0

STOP

Problema este fr soluii.

Elimin din baz vectorul Alege

al ;
(C.I.B);

f j cj f k ck = min j | ylj < 0 y lk y lj nlocuiete vectorul a l cu a k ;


Se formeaz B1

Se calculeaz elementele noului tabel; dup regulile aplicate n cazul algoritmului simplex primal, avnd ca pivot elementul y lk < 0 . Dac nu apare fenomenul de ciclare, dup efectuarea calculelor se ajunge la una din situaiile: 1. X 2.
B1

0 i f j c j 0 , j = 1, n STOP. Problema admite soluie

optim finit.

1 X B1 0 i f k c k < 0 , k { ,.., n} s-a generat o SAB, se va continua

cu algoritmul simplex-primal. 3. Exist cel puin o variabil bazic cu valoare strict negativ i f j c j 0 ,

j = 1, n

Analiza economico-matematic a unor modele liniare

Observaie: Cele dou criterii de eliminare i respectiv de intrare n baz, sub aceast form, sunt invariante la tipul de optim.
Pentru o mai bun nelegere a modalitilor de operare a celor doi algoritmi duali, se vor sumariza principalele lor elemente dup cum urmeaz:
Algoritmul simplex primal Soluie de start, B baz curent Algoritmul simplex dual

X SAB :

X B = B 1 b 0 ;
variabil

X SDR : X B = B 1 b ; X R = 0 x s < 0 , s J f j c j 0 j f j c j 0 j
B

a..

X R = 0; f s c s = 0 , x s Obs:
bazic a) Dac

(pt. [max]) sau (pt. [min])

f j c j 0 j

(pt. [max]), (pt. a) Dac soluie care

respectiv

[min]) programul optim finit. STOP b) Dac

f j c j 0 j
are pentru nebazic i

f j c j 0 j
B

(pt. [max]), (pt.

respectiv

f j c j 0 j

a k f k ck < 0

y sk 0 , s (pt. f k ck > 0
[min]) funcia i

[min]) i X 0 programul liniar are soluie optim finit. b) Dac

[max]),

respectiv

xs < 0 , s J B

y sj 0 ,

y sk 0 ,

s (pt.

programul liniar nu are soluie.

program cu nemrginit.

obiectiv Dac pt. [max]

f j cj 0 ,

respectiv

atunci se continu pentru cel puin o valoare s J . Se cu simplex dual, deoarece s-a generat o Algoritmul continu cu simplex primal. SDR. se continu Pt. [min]: f k c k > 0 i y sk > 0 Dac pt. [max] f k c k < 0 , respectiv dac
B

Pt. [max]:

f k ck < 0

y sk > 0

pt.

[min]

f j cj 0 ,

j ,

xs < 0 , s J B ,

pentru cel puin o valoare continu cu simplex primal.

sJ B .

Se pt. [min] i

f k ck > 0 ,

cu

ak nebazic,
atunci se

xs 0 , s J B ,

continu cu simplex primal, deoarece s-a generat o SAB. Pivot Criterii pentru schimbarea bazei

ylk > 0
a) b) C.I.B. C.E.B.

ylk < 0
a) b) C.E.B C.I.B.

Metode simplex pentru modele liniare

Pentru a nelege mai bine modul de aplicare a algoritmului simplexdual, precum i diferenele fa de aplicarea algoritmului simplex-primal, vom da cteva exemple numerice.

Exemplul 1 S se gseasc soluia optim a modelului liniar: [min] f = 6 x1 + 5 x2 + 6 x3


4 x1 + x2 + x3 2 2 x1 x2 + x3 6 x + x 2 x 3 2 3 1
x j 0, j = 1,3

Soluie: Se schimb sensul primelor dou restricii: [min] f = 6 x1 + 5 x 2 + 6 x3

4 x1 x 2 x3 2 2 x1 + x 2 x3 6 x + x 2x 3 1 2 3 x j 0, j = 1,3 Se aduce problema la forma standard [min] f = 6 x1 + 5 x 2 + 6 x3 4 x1 x 2 x3 + x 4 = 2 2 x1 + x 2 x3 + x5 = 6 . x + x 2x + x = 3 1 2 3 6 xi 0, i 1,6 4 1 1 1 0 0 Dup scrierea matricii A = 2 1 1 0 1 0 , rangA=3<6, 1 1 2 0 0 1 se constat c bazei (a 4 a5 a 6 ) i corespunde o soluie bazic X = (0 0 0 2 6 3) , care nu respect condiia de nenegativitate.
T

Analiza economico-matematic a unor modele liniare

Pentru a stabili dac satisface criteriul de optimalitate, trebuie construit primul tabel de tip simplex: cj cB
0 0 0 B 6 5 6 0 0 0

XB
-2 -6 3 0

a1
4 -2 -1 0 -6

a2
-1 1 1 0 5

a3
-1 -1 -2 0 -6

a4
1 0 0 0

a5
0 1 0 0

a6
0 0 1 0
0 j = 1,6 ? DA

a4 a5

a6 fj f j cj

Soluia bazic construit este dual realizabil, deoarece verific criteriul de optimalitate. Conform schemei de rezolvare vor fi efectuate urmtoarele operaii: Se verific dac n liniile valorilor strict negative ale variabilelor bazice exist i componente strict negative. Rspunsul fiind afirmativ, se vor aplica cele dou criterii: - Criteriul de eliminare din baz (C.E.B): min{ 2,6} = 6 a5 prsete baza. Criteriul de intrare n baz (C.I.B):

f c f c3 6 6 6 min 1 1 , 3 , = min = y 23 2 1 2 y 21 vector al noii baze i (-2) pivotul.

a1 va fi al doilea

Se efectueaz calculele implicate de scrierea vectorilor b i a j , j = 1,6 n noua baz (a 4 a1 a 6 ) i a diferenelor f j c j , j = 1,6 .

Metode simplex pentru modele liniare

Calculele sunt prezentate n tabelul de mai jos: cj


6 5 6 0 0 0

c
0 6 0

XB
-14 3 6 18

a1
0 1 0 6

a2
1 -1/2 1/2 -3 -8

a3
-3 1/2 -3/2 3 -3

a4
1 0 0 0

a5
2 1/2 -1/2 -3 -3

a6
0 0 1 0

a4 a1 a6 fj f j cj

0 j = 1,6 ? DA

Noua soluie de baz se menine dual realizabil, ca urmare se vor aplica criteriile algoritmului simplex-dual: C.E.B: -14 unic a 4 eliminat; C.I.B: a3 va nlocui vectorul a 4 , -3 fiind singura component strict negativ din linia vectorului eliminat. Se va efectua o nou pivotare. cj
6 5 6 0 0 0

cB
6 6 0

XB
14/3 2/3 13 32

a1
0 1 0 6

a2
-1/3 -1/3 0 -4 -9

a3
1 0 0 6

a4
-1/3 1/6 -1/2 -1 -1

a5
-2/3 -1/6 -3/2 -5 -5

a6
0 0 1 0

a3
a1 a6

fj f j cj

0 j = 1,6 ?
DA

Analiza economico-matematic a unor modele liniare

Din acest ultim tabel rezult: X B 0 ; f j c j 0 , j = 1,6 , deci algoritmul 2 X* = 3 0 se 14 3 oprete. Problema
T

admite

soluia

optim

finit

0 0 13 cu [min] f = 32 .

Observaie: Spre deosebire de algoritmul simplex primal, unde valoarea funciei obiectiv scade n cazul problemelor de minim de la o iteraie la alta, pn la valoarea minim, n algoritmul simplex dual valoarea funciei obiectiv crete pn la valoarea minim admisibil (n cazul studiat, de la 0 la 18, i apoi la 32).
[max] f = 3 x1 + 2 x 2 + 6 x3 x1 + 3x 2 + 4 x3 105 Exemplul 2 Se consider programul liniar: 2 x1 + 5 x 2 + x3 70 4 x + x + 2 x 175 2 3 1 x j 0, j 1,3 Aflati soluia optim. S se scrie duala programului liniar dat. S se afle soluia sa optim X aplicnd algoritmul simplex dual.
Soluie:

Mai nti aducem problema la forma standard: [max] f = 3 x1 + 2 x 2 + 6 x3 x1 + 3 x 2 + 4 x3 + x 4 = 105 2 x1 + 5 x 2 + x3 + x5 = 70 . 4 x + x + 2 x + x = 175 2 3 6 1 x j 0, j 1,6

Metode simplex pentru modele liniare

Rezolvarea acestei probleme este complet prezentat prin cele 3 tabele simplex de mai jos, corespunztoare iteraiilor parcurse pn la aflarea soluiei optime: cj cB
0 0 0 B 3 2 6 0 0 0

XB
105 70 175 0

x1
1 2 4 0 -3

x2
3 5 1 0 -2 3/4 17/4 -1/2 9/2 5/2 1 0 0 6

x3
4 1 2 0 -6 1 0 0 6 2/7 -1/7 0 9/7 9/7

x4
1 0 0 0 1/4 -1/4 -1/2 3/2 3/2 -1/7 4/7 -2 6/7 6/7

x5
0 1 0 0 0 1 0 0 0 0 1 0

x6
0 0 1 0 0 j = 1,6 ? NU 0 0 1 0

x4 x5 x6 fj f j cj

6 0 0

x3 x5 x6 fj f j cj

105/4 175/4 490/4 315/2

1/4 7/4 7/2 3/2 -3/2

0 j = 1,6 ?
NU

6 3 0

x3
x1 x6

20 25 35 195

0 1 0 3

1/7 17/7 -9 58/7 43/7

fj f j cj

0 j = 1,6 ? DA Se observ c f j c j 0 , j = 1,6 , deci programul liniar admite

soluia optim finit X * = (25 0 20 0 0 35) . Baza optim este dat


T

de B = (a3

a1
B

a 6 ) , a crei invers
1

2 / 7 1 / 7 0 = 1 / 7 4 / 7 0 0 2 1

Analiza economico-matematic a unor modele liniare

poate fi citit n dreptul vectorilor care au format baza iniial. Se construiete duala: [max] f = 3 x1 + 2 x 2 + 6 x3 [min]g = 105u1 + 70u 2 + 175u 3

x1 + 3 x 2 + 4 x3 105 u1 u1 + 2u 2 + 4u 3 3 2 x1 + 5 x 2 + x3 70 u 2 3u1 + 5u 2 + u 3 2 4 x + x + 2 x 175 u 4u + u + 2u 6 2 3 3 2 3 1 1 x j 0, j 1,6 Din forma standard: u i 0, i 1,3

[min]g = 105u1 + 70u 2 + 175u 3 u1 + 2u 2 + 4u 3 u 4 = 3 3u1 + 5u 2 + u 3 u 5 = 2 4u + u + 2u u = 6 2 3 6 1 u i 0, i 1,6 rezult c matricea A conine matricea unitate, din R 3 , cu semn schimbat, ca urmare toate restrictiile dualei vor fi nmulite cu ( 1) : [min]g = 105u1 + 70u 2 + 175u 3 u1 2u 2 4u 3 + u 4 = 3 3u1 5u 2 u 3 + u 5 = 2 4u u 2u + u = 6 1 2 3 6 u i 0, i 1,6 .

Metode simplex pentru modele liniare

Rezolvarea problemei, prin algoritmul simplex dual, este prezentat mai jos: cj

105

70

175

u1
-1 -3 -4 0 -105

u2
-2 -5 -1 0 -70 -7/4 -17/4 1/4 105/4

u3
-4 -1 -2 0 -175 -7/2 -1/2 1/2 105/2

u4
1 0 0 0 1 0 0 0 -4/7 -17/7 1/7 -25 -25

u5
0 1 0 0 0 1 0 0 0 1 0 0

u6
0 0 1 0 0 j = 1,6 -1/4 -3/4 -1/4 -105/4 -105/4 0 j = 1,6 1/7 -1/7 -2/7 -20 -20 0 j = 1,6

0 0 0

u4 u5

-3 -2 -6 0

u6 fj f j cj

0 0 105

u4 u5 u1 fj

-3/2 5/2 3/2 315/2

0 0 1 105

f j cj
70 0 105

-175/4 -243/4 1 0 0 70 2 -8 0 140 -210

u2 u5 u1 fj

6/7 43/7 9/7 195

0 0 1 105

f j cj

Se observ imediat c [max] f = [min]g = 195 . Soluia optim a dualei este 9 U* = 7 Se verific uor c
* x1 4 / 7 0 1 / 7 25 * (70 0 15) 17 / 7 1 1 / 7 = 0 = x2 . x* 1/ 7 0 2 / 7 20 3

6 7

43 0 . 7

Analiza economico-matematic a unor modele liniare

6. Probleme pentru fixarea cunotinelor


[min] f = 3 x1 + 5 x 2 + 4 x3 2 x + x 2 12 Problema 1 Se consider modelul liniar: 1 x1 + 2 x 2 + x3 20 x j 0, j = 1,3 a) S se genereze, dac este posibil, SAB sau/i SDR prin explicitarea sistemului de restricii n raport cu bazele (a1 , a 2 ) i (a 2 , a3 ) . b) S se scrie duala sa. Admite soluie optim finit? Justificai rspunsul. c) Ce legtur exist ntre SAB generat la punctul a) i problema dual? d) S se rezolve problema dat cu ajutorul algoritmului simplex-dual.
Soluie:

[min] f = 3 x1 + 5 x 2 + 4 x3 2 x1 + x 2 x 4 = 12 a) Forma standard: . x1 + 2 x 2 + x3 x5 = 20 x j 0, j = 1,5 2 1 0 1 0 Matricea sistemului de restricii: A = 1 2 1 0 1 . 12 Vectorul termenilor liberi: b = . 20

Metode simplex pentru modele liniare

Pentru baza determinat de coloanele 1 i 2 din matricea A ,


B = (a1 a 2 ) , rezult R = (a3 a 4 a5 ) , X
B

x3 x1 R = , X = x 4 . Sistemul de x 2 x 5

restricii scris sub forma canonic relativ la B este x3 2 1 x1 0 1 0 12 II.6.1 1 2 x + 1 0 1 x 4 = 20 . x 2 5


1 2 3 , obinem: = 3 1 2 3 3

Prin nmulirea relaiei II.6.1 cu B 1

x3 1 0 x1 2 / 3 1 / 3 0 1 0 2 / 3 1 / 3 12 0 1 x + 1 / 3 2 / 3 1 0 1 x 4 = 1 / 3 2 / 3 20 2 x 5 , sau x3 x1 1 / 3 2 / 3 1 / 3 4 / 3 + x 2 / 3 1 / 3 2 / 3 x 4 = 28 / 3 . x 2 5

4/3 Deoarece B 1b = 28 / 3 > 0 se poate construi o soluie admisibil de baz, i anume x1 = funciei obiectiv va fi 4 28 , x2 = , x3 = x 4 = x5 = 0 , pentru care valoarea 3 3

152 . 3

Analiza economico-matematic a unor modele liniare

Baza generat de coloanele 2 i 3 din matricea sistemului de 1 0 1 0 1 restricii, B = 2 1 , cu inversa B = 2 1 , conduce la urmtoarea explicitare a sistemului de restricii ale problemei:
x1 1 0 x 2 2 1 0 12 2 1 x + 1 0 1 x 4 = 20 , 3 x 5

de unde rezult, prin nmulirea cu B 1 :


x1 x 2 1 0 2 1 0 1 0 12 + x 2 1 1 0 1 x 4 = 2 1 20 . x 3 5

Dup efectuarea calculelor apare scrierea explicit a sistemului de restricii n raport cu baza (a 2 a3 ) din spaiul bunurilor: x1 2 x1 + x 2 x 4 = 12 x 2 2 1 0 12 + x 3 2 1 x 4 = 4 sau 3 x + x + 2 x x = 4 . x 1 3 4 5 3 5

12 Se observ c B 1b = nu are toate componentele pozitive. 4 Dac se vor anula variabilele nebazice x1 = x 4 = x5 = 0 i cele bazice vor lua valorile x 2 = 12 , x3 = 4 , se va obine o soluie a problemei care are dou componente nenule (rangA=2) i vectorii ataai variabilelor bazice sunt liniar independeni ( a 2 i a3 formeaz baza). n aceste condiii, vectorul X 1 = (0 12 4 0 0 )
T

nu poate fi SAB, dar ar fi dual

Metode simplex pentru modele liniare

realizabil dac ar verifica criteriul de optimalitate. Se va verifica acest lucru: cj cB


5 3 B 3 5 4 0 0

XB
12 -4 48

a1
2 -3 1 -2

a2
1 0 5 0

a3
0 1 3 0

a4
-1 2 1 1

a5
0 -1 -3 -3

a2 a3 fj f j cj

Deoarece f 4 c 4 > 0 , vectorul X = (0 12 4 0 0 )

nu este

soluie dual realizabil, este doar soluie pentru modelul scris sub forma standard. 2 Observaie: n tabel, vectorul trecut n coloana lui a1 reprezint 3 scrierea acestuia n baza (a 2 a3 ) . ntr-adevr, 2 1 0 2 a1 = = 2a 2 3a3 = 2 3 = 1 2 1 4 3 . b) Construim acum duala problemei din enun. [min] f = 3 x1 + 5 x 2 + 4 x3 2 x1 + x 2 12 x1 + 2 x 2 + x3 20 x j 0, j = 1,3
[max]g = 12u1 + 20u 2 2u1 + u 2 3 , de unde rezult duala u1 + 2u 2 5 u2 0 u + u 4 1 2 u1 , u 2 0

u1

Se observ c orice cuplu (u1 , u 2 ) care verific primele dou restricii ale problemei duale, o verific i pe a treia. Mulimea soluiilor admisibile ale acestei probleme este dat de intersecia dintre semiplanele

Analiza economico-matematic a unor modele liniare

determinate de inecuaiile: 2u1 + u 2 3 , u1 + 2u 2 5 i u 2 4 , n condiiile u1 , u 2 0 , i este o mulime mrginit i convex. Atunci (vezi teorema programrii liniare), problema admite soluie optim finit. c) Fie baza dat de coloanele 1 i 2 din matricea sistemului de restricii ale problemei primale: B = (a1
a 2 ) . Atunci

1 f1 = c B B 1 a1 = (3 5) = 3 , 0 0 f 2 = c B B 1 a 2 = (3 5) = 5 . 1 n problema dual, acestei baze i corespunde un sistem de restricii saturate, i anume, restriciile cu termenii liberi 3 i 5:
2u1 + u 2 = 3 u1 + 2u 2 = 5 1 u1 = 3 . 7 u 2 = 3

d) Soluia de start pentru algoritmul simplex-dual este o soluie dual realizabil (SDR). Se observ c matricea A conine matricea unitate de ordinul 2 cu semnul schimbat: B = (1)(a 4 a5 ) . Restriciile scrise sub forma standard se vor nmuli cu (-1): 2 x1 x 2 + x 4 = 12 x1 2 x 2 x3 + x5 = 20 apoi se va scrie sistemul sub forma matriceal:
x1 2 1 0 1 0 x 4 12 1 2 1 x 2 + 0 1 x = 20 . x 5 3

Vectorul

X1

de componente

x1 = x 2 = x3 = 0 ,

x 4 = 12

x5 = 20 verific sistemul de restricii din forma standard, are dou componente nenule (rangA=2), cel puin una strict negativ, i corespunde

Metode simplex pentru modele liniare

bazei B = (a 4

a5 ) . cj

X 1 va fi SDR dac ar satisface criteriul de

optimalitate. S verificm acest lucru:


3 5 4 0 0

cB
0 0

XB
-12 -20 0

a1
-2 -1 0 -3

a2
-1 -2 0 -5 0 1 5 0 0 1 5 0

a3
0 -1 0 -4 1/2 1/2 5/2 -3/2 -1/3 2/3 7/3 -5/3

a4
1 0 0 0 1 0 0 0 -2/3 1/3 -1/3 -1/3

a5
0 1 0 0 -1/2 -1/2 -5/2 -5/2 1/3 -2/3 -7/3 -17/3

a4 a5 fj f j cj

5 3

a4 a2 fj f j cj
a1 a2 fj

-2 10 50

-3/2 1/2 5/2 -1/2

5 3

4/3 28/3 152/3

1 0 3 0

f j cj algoritmul simplex dual:

Iteraia 1: Deoarece f j c j 0 , j 1,5 X 1 este SDR . Se aplic


CEB: min(-12, -20)=-20 eliminm vectorul a5 ; n linia vectorului eliminat toate componentele sunt pozitive? NU aplicm CIB. CIB: min(|-3/-1|, |-5/-2|, |-4/-1|)=|-5/-2| a 2 ia locul lui a5 , y 22 = 2 este pivot.

Iteraia 2: Deoarece f j c j 0 , j 1,5 X 2 este SDR.


CEB: a 4 eliminat 1/ 2 5 / 2 CIB: min 3 / 2 , 1/ 2 1/ 2 = 3/ 2 .

Analiza economico-matematic a unor modele liniare

Observaia 1: Matricea B 1 se citete din ultimul tabel, n dreptul vectorilor ce au format prima baz, dar, atenie, elementele vor fi luate cu
2 / 3 1 / 3 semn schimbat: B 1 = 1/ 3 2 / 3 .

Observaia 2: Valorile optime ale variabilelor dualei se citesc n linia f j


din ultimul tabel, n dreptul vectorilor ce au format prima baz (ca n tabelul simplexului-primal), cu semnul impus n modelul dualei: u i 0, i = 1,2 1 7 * * u1 = , u 2 = . 3 3

Problema 2 S se rezolve grafic i printr-o metod simplex urmtorul program liniar:


[min] f = 5 x1 + 3 x 2 x1 + x 2 4 2 x1 + x 2 3 3x + x 5 2 1 x j 0, j 1,2
Soluia grafic: n primul rnd vom reprezenta grafic mulimea

soluiilor admisibile ale problemei. Aa cum tim, mulimea soluiilor admisibile este generat de restriciile programului liniar de mai sus, i se afl la intersecia semiplanelor definite de aceste restricii. Pentru a gsi semiplanele i apoi interesecia acestora, vom reprezenta mai nti dreptele
d1 : x1 + x 2 = 4 , d 2 : 2 x1 + x 2 = 3 i d 3 : 3 x1 + x 2 = 5 .

Semiplanul determinat de prima restricie a problemei este cel mrginit de dreapta d 1 i care nu conine originea. Semiplanul determinat de a doua restricie este determinat de d 2 i nu conine originea. n fine, semiplanul determinat de cea de-a treia restricie este mrginit de d 3 i nu

Metode simplex pentru modele liniare

include

originea.

Dac

notm

d1 I d 2 = {A} ,

d 1 I d 3 = {B}

x + x2 = 4 d 2 I d 3 = {C} , prin rezolvarea sistemelor de ecuaii 1 , 2 x1 + x 2 = 3

x1 + x 2 = 4 2 x1 + x 2 = 3 i , gsim coordonatele punctelor A, B i C, i 3 x1 + x 2 = 5 3 x1 + x 2 = 5 1 11 2 19 1 7 anume: A , , B , i C , . Astfel, poriunea haurat din 2 2 3 3 5 5 grafic reprezint mulimea soluiilor admisibile. Se tie faptul c soluia optim se gsete ntr-unul din vrfurile mulimii soluiilor admisibile. 2 19 Astfel, este foarte uor de realizat faptul c C , reprezint punctul de 5 5 minim. Valoarea funciei obiectiv n acest punct, valoarea minim a funciei, este 5 2 19 67 + 3 = . 5 5 5
x2 d2 C

A
B
d1 x1
O

d3

Analiza economico-matematic a unor modele liniare

Observaie: Acelai lucru ar fi fost observat cu uurin i dac am fi construit dreapta de nivel corespunztoare funciei obiectiv,
d : 5 x1 + 3 x 2 = 0 . Ducnd paralele la aceast dreapt, se vede c prima

paralel care intersecteaz mulimea soluiilor admisibile ale problemei este 2 19 cea care trece prin C , i se afl la cea mai mic distan de origine. 5 5
Soluie analitic: Vom utiliza algoritmul simplex dual (punctul a)), apoi

algoritmul simplex primal (punctul b)).

Aducem mai nti problema la forma standard: [min] f = 5 x1 + 3 x 2 x1 + x 2 x3 = 4 2 x1 + x 2 x 4 = 3 . 3x + x x = 5 2 5 1 x j 0, j 1,5 a) Pentru a aplica algoritmul simplex dual, vom nmuli mai nti fiecare [min] f = 5 x1 + 3 x 2 x1 x 2 + x3 = 4 1 1 1 0 0 restricie cu ( 1) : 2 x1 x 2 + x 4 = 3 , cu A = 2 1 0 1 0 . 3 x x + x = 5 3 1 0 0 1 1 2 5 x j 0, j 1,5 Baza de start pentru algoritmul simplex dual trebuie s fie dual admisibil. O astfel de baz este format din vectorii a3 , a 4 , a5 . Cunoscnd toate aceste date, putem trece la aplicarea algoritmului menionat anterior:

Metode simplex pentru modele liniare

cj cB
0 0 0 B

XB
-4 -3 -5 0

a1
-1 2 -3 0 -5

a2
-1 -1 -1 0 -3 -2/3 -5/3 1/3 5/3 -4/3 0 1 0 3

a3
1 0 0 0 1 0 0 0 1 0 0 0

a4
0 1 0 0 0 1 0 6 -2/5 -3/5 -1/5 -4/5 -4/5

a5
0 0 1 0 -1/3 2/3 -1/3 -1/3 -1/3 -3/5 -2/5 -1/5 -1/5 -11/5

a3
a4 a5

fj f j cj
0 0 5

0 j ? DA SDR

a3
a4 a1 fj

-7/3 -19/3 5/3 25/3

0 0 1 5

f j cj
0 3 5

0 j ? DA SDR

a3
a2 a1 fj

1/5 19/5 2/5 67/5

0 0 1 5

f j cj

0 j ? DA soluie optim

Prima baz admisibil (a3

a2

a1 ) este i baz optim pentru 67 ; 5 2 19 1 * * * , x2 = , x3 = , x 4 = 0 , 5 5 5

modelul studiat. Din tabelul optimal obinem cel puin dou informaii: funcia de eficien are valoarea minim

* soluia optim are componentele: x1 = * x5 = 0 .

b) S relum modelul de la forma standard, deoarece aceast form ne sugereaz folosirea metodei bazei artificiale (sau metoda celor dou faze), n cazul n care se impune rezolvarea prin algoritmul simplex primal.

Analiza economico-matematic a unor modele liniare

[min] f = 5 x1 + 3 x 2 + x6 + x7 + x8 x1 + x 2 x3 + x6 = 4 Forma extins este: 2 x1 + x 2 x 4 + x7 = 3 3x + x x + x = 5 2 5 8 1 x j 0, j 1,8 cj


5 3 0 0 0

a6
1 0 0

0 1 0

0 0 1

cB

XB
4 3 5 14

a1
1 -2 3 2 2 -5

a2
1 1 1 3 3 -3 0 1 0 3 0 1 0 3 0 1 0 3

a3
-1 0 0 - - -1 0 0 - - -1/3 -2/3 5/3

a4
0 -1 0 - - 1 -1 1 - - 1/3 -1/3 -2/3

a5
0 0 -1 - - 0 0 -1 - - 0 0 -1 - - -1/5 -2/5 -3/5 -11/5 -11/5

a 7 a8

a6 a7 a8

fj

-1 0 0

0 0 1

f j cj a6
a2 a8
1 3 2 3 +9

3 -2 5 8 8 -5

fj f j cj
5 3

0 0 1

a1 a2 a8

1/3 11/3 1/3 (58+ )/3

1 0 0 5

fj f j cj
5 3 0

(5 -11)/3 (2-2 )/3 (5 -11)/3 (2-2 )/3 0 0 1 0 1/5 -3/5 -2/5 -4/5 -4/5

a1 a2 a3

2/5 19/5 1/5 67/5

1 0 0 5

fj f j cj

Metode simplex pentru modele liniare

Prin rezolvarea acestui model liniar prin cei doi algoritmi am vrut s evideniem, nc o dat, comportarea dual a acestora n ceea ce privete atingerea minimului funciei f : f 01 = 14
Algoritmul simplex primal

f 02 = 3 + 9 f 03 = (58 + ) / 3 [min] f = 67 / 5

Algoritmul simplex dual

f 02 = 25 / 3 f 01 = 0

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