Sunteți pe pagina 1din 78

CAPITOLUL 6

OPTIMIZRI LINIARE
BREVIAR TEORETIC
Considerm problema de programare liniar scris sub forma
standard:
[opt ] f = cx

(*)

Ax = b ,

x0

unde

A M m, n (R ), b M m,1 (R ), c M 1, n (R ), c M 1, n (R ), x M n,1 (R ) .

Definiia 1. Se numete soluie posibil (admisibil) a problemei

(*) ,

orice vector x R n care satisface restriciile problemei i


condiiile de semn. Notm mulimea soluiilor posibile cu

X p= x R n / Ax = b, x 0 .
Definiia 2. Se numete soluie posibil de baz a problemei (*) ,

orice soluie posibil x R n a problemei (*) care ndeplinete


urmtoarele condiii:
1) are cel mult m componente srtict pozitive, iar celelalte sunt
egale cu zero;
2) coloanele matricei A corespunztoare componentelor strict
pozitive sunt vectori liniar independeni.
Definiia 3. Fie C R n o mulime convex. Un punct v C se
numete vrf al mulimii C dac nu exist nici o pereche de vectori
x1 , x 2 C i (0,1) astfel nct v = x1 + (1 )x 2 .

Teorema 1. Orice soluie posibil de baz a problemei (*) este


vrf al mulimii soluiilor posibile i reciproc.
Definiia 4. Se numete soluie optim a problemei (*) , orice
soluie posibil x o R n a problemei (*) care satisface i condiia

( )

de optim, adic f x o = opt f ( x ) .


x X p

Notm mulimea soluiilor optime cu X o .

Teorema 2. Soluia optim a problemei de programare liniar (*)


se afl printre vrfurile mulimii soluiilor posibile X p ale
problemei.

Observaia 1. Dac problema (*) are p soluii optime de baz:


x ok , k = 1, p ,

atunci

soluia

k =1

k =1

optim

general

are

forma:

x 0 = k x ok , k 0, k = 1 .

Observaia 2. Spunem c o problem de programare liniar admite:

1) optim unic, dac X o conine un singur element;


2) optim multiplu, dac X o conine cel puin dou elemente.
Vom prezenta n continuare metode de soluionare a problemelor
de programare liniar.

6.1. REZOLVAREA GRAFIC A UNEI


PROBLEME DE PROGRAMARE LINIAR
Aceast metod este comod de aplicat n cazul problemelor de
programare liniar cu dou variabile.
PROBLEME REZOLVATE
1. Se consider urmtoarea problem de programare liniar:

[max] f

= 4 x1 + 7 x 2

x1 + x 2 6
x x 2
1
2

1
x

2
x1 , x 2 0

a) S se determine mulimea soluiilor posibile ale problemei.


b) S se determine mulimea soluiilor posibile de baz ale
problemei.
c) S se determine mulimea soluiilor optime ale problemei.
Rezolvare:
a ) Reprezentm grafic mulimea soluiilor posibile X p , adic
mulimea punctelor planului ale cror coordonate verific
restriciile problemei.
Scriem ecuaiile ataate celor trei inecuaii i reprezentm
grafic dreptele care le corespund acestora n plan:
d1 : x1 + x 2 = 6 , care intersecteaz axele n punctele (0, 6 ) i (6, 0 ) .
d 2 : x1 x 2 = 2 , care intersecteaz axele n punctele (0, 2 ) i (2,0 ) .
d 3 : x 2 = 1 , care este paralel cu Ox1 i taie Ox2 n punctul (0,1) .
Determinm mulimea punctelor din plan ale cror coordonate
verific restriciile problemei.

Se tie c mulimea punctelor planului ale cror coordonate verific


o inecuaie reprezint un semiplan.
Fie S1 semiplanul determinat de inecuaia x1 + x 2 6 ; punctul
(0, 0) verific inecuaia, deci S1 conine originea. Procednd
analog n cazul celorlalte inecuaii i intersectnd semiplanele
obinute ( S 2 : x1 x 2 2 , S 3 : x 2 1 , S 4 : x1 0 , S 5 : x 2 0 ), gsim:
x2
S4
D
S2

C
(d3)

S3

S5
A

x1

O
S1
(d1)

(d2)

Mulimea soluiilor posibile ale problemei este reprezentat de


interiorul i frontiera patrulaterului ABCD : X p = [ABCD] .
A = d 3 Ox2 A(0,1) .

B = d 2 d 3 ; rezolvnd sistemul

celor dou drepte, gsim: B(3,1) .

x1 x 2 = 2

x2 = 1

format din ecuaiile

Analog, C = d1 d 2 = C (4, 2 ) .
D = d1 Ox 2 D(0, 6 ) .
Deoarece mulimea X p este mrginit, rezult c:

b) Mulimea X pb a soluiilor posibile de baz este format din

vrfurile patrulaterului ABCD , X pb = {A, B, C , D} .


c) Mulimea X ob a soluiilor optime de baz este format din
acele elemente ale mulimii X pb (vrfuri ale mulimii soluiilor
posibile) n care funcia obiectiv i atinge valoarea optim (n acest
caz, valoarea maxim).
Avem c f ( A) = f (0,1) = 7 ; f (B ) = f (3,1) = 19 ;
f (C ) = f (4, 2) = 30 ; f (D ) = f (0, 6 ) = 42 , deci X ob = {D} = {(0, 6 )} .
Mulimea X o a soluiilor optime este X o = {D} = {(0, 6 )} , adic
x1 = 0, x2 = 6 ; valoarea optim a funciei obiectiv este max f = 42 .

2. S se rezolve urmtoarea problem de programare liniar:

[max] f

= 2 x1 + 3x 2

2 x1 + 5 x 2 2

2 x1 + 3 x 2 6
x , x 0
1 2

Rezolvare:
I. Determinm mulimea soluiilor posibile ale problemei.
Scriem ecuaiile ataate celor trei inecuaii i reprezentm
grafic dreptele care le corespund acestora n plan:
d1 : 2 x1 + 5 x 2 = 2 , care taie axele n punctele 0, 2 i ( 1, 0 ) .

( 5)

d 2 : 2 x1 + 3 x 2 = 6 care taie axele n punctele (0, 2 ) i (3, 0 ) .

Determinm punctele din plan ale cror coordonate verific


inecuaiile sistemului, intersectnd semiplanele S1 : 2 x1 + 5 x 2 2 ,
S 2 : 2 x1 + 3 x 2 6 , S 3 : x1 0 , S 4 : x 2 0 . Obinem:

x2
S3
S2
B
C
S4

A
S1

x1

(d1)

(d2)

Mulimea X p a soluiilor posibile ale problemei este reprezentat


de interiorul i frontiera triunghiului ABC : X p = [ ABC ] , unde

( 5)

(2 )

A 0, 2 , B(0, 2 ) i C 3 ,1 .
II. Calculm valoarea funciei obiectiv n vrfurile mulimii X p .

( 5)

Avem c f ( A) = f 0, 2 = 6 ; f (B ) = f (0, 2 ) = 6 ; f (C ) = f
5

(32 ,1) = 6 .

Observm c funcia f atinge valoarea maxim n punctele (0, 2 )

(2 )

i 3 ,1 . Conform observaiei 1 din breviarul teoretic, rezult c


soluia optim a problemei este:

(2 )

t
X o = (0, 2 )t + (1 ) 3 ,1 , [0,1] , adic segmentul [BC ] .

Valoarea optim a funciei obiectiv este max f = 6 .

3. S se rezolve urmtoarea problem de programare liniar:

[min] f

= 9 x1 + 5 x 2

x1 + x 2 1

x1 + 2 x 2 1
x , x 0
1 2

Rezolvare:
Determinm mulimea soluiilor posibile ale problemei.
Dreptele ce determin semiplanele ataate celor dou inecuaii sunt:
d1 : x1 + x 2 = 1 , care taie axele n punctele (0,1) i ( 1, 0 ) .

( 2 ) i (1, 0) .

d 2 : x1 + 2 x 2 = 1 , care taie axele n punctele 0, 1

Intersectm semiplanele S1 : x1 + x 2 1 , S 2 : x1 + 2 x 2 1 ,
S 3 : x1 0 , S 4 : x 2 0 .
x2
S3

(d1)

S2
S4

x1

O
(d2)
S1

Obinem c mulimea soluiilor posibile ale problemei este vid:


X p = , prin urmare problema de programare liniar nu are
soluie.

4. S se rezolve urmtoarea problem de programare liniar:

[max] f

= 3 x1 + 5 x 2

x1 - 3 x 2 3

2 x1 + x 2 2
x , x 0
1 2

Rezolvare:
Determinm mulimea soluiilor posibile ale problemei.
Dreptele ce determin semiplanele ataate celor dou inecuaii sunt:
d1 : x1 3 x 2 = 3 , care taie axele n punctele (0, 1) i (3, 0 ) .
d 2 : 2 x1 + x 2 = 2 care taie axele n punctele (0, 2 ) i ( 1, 0 ) .
Mulimea X p a soluiilor posibile ale problemei este reprezentat

de suprafaa haurat.
x2
S3

S2

S4
O

S1

x1

(d1)

(d2)

Deoarece mulimea X p este nemrginit i problema este de


maxim, rezult c problema are optim infinit (max f = + ) .

6.2. ALGORITMUL SIMPLEX PRIMAL


6.2.1. PROBLEME DE PROGRAMARE LINIAR CARE
ADMIT SOLUIE INIIAL DE BAZ

PROBLEME REZOLVATE
S se rezolve prin dou metode problema de programare liniar:

[max ] f

= 5 x1 + 3 x2

2 x1 + x2 8

x1 + 2 x2 7
x , x 0
1 2

Rezolvare:
A. Algoritmul simplex primal
Pasul I.
a) Aducem problema la forma standard:

[max] f

= 5 x1 + 3x2 + 0 x3 + 0 x4
2 x1 + x2 + x3 = 8

x1 + 2 x2 + x4 = 7

xi 0, i = 1,4

b) Scriem matricea sistemului ( A ) , pentru a verifica dac


problema are soluie iniial de baz (aceast condiie este
ndeplinit dac A conine matricea unitate).
a1 a 2 a3 a 4

2 1 1 0 ; baza iniial este B = {a3 , a 4 } .

A =
1 2 0 1

Pasul II. Alctuim tabelul simplex:


B

CB

a3

a4

0
0
fj

XB

8
7
0
j

a1

a2

a3

a4

2
1
0
5

1
2
0
3

1
0
0
0

0
1
0
0

8:2
7:1

f j se obine calculnd produsul scalar dintre fiecare coloan

i coloana CB; de exemplu, primele dou elemente din linia f j


s-au determinat astfel:

0 8
f 0 = = 0 8 + 0 7 = 0 ;
0 7

0 2
f 1 = = 0 2 + 0 1 = 0 .
0 1

j se calculeaz astfel:
j = C j f j , pentru probleme de maxim;
j = f j C j , pentru probleme de minim;

( C j reprezint prima linie din tabel i este format din coeficienii


funciei obiectiv.)
Pasul III. Verificm criteriile:
Criteriul de optim finit: j 0, j = 1,5 ;
Acest criteriu nu se verific , pentru c 1 = 5 > 0 i 2 = 3 > 0 .
Criteriul de optim infinit: k 1,5 astfel nct k > 0 i toate
elementele coloanei a k sunt 0 .
Acest criteriu nu se verific, pentru c: 1 , 2 > 0 , dar
coloanele a1 , a 2 conin cel puin cte o valoare strict pozitiv.
Pasul IV. Schimbm baza:
Criteriul de intrare n baz: intr n baz vectorul a k
corespunztor diferenei maxime j > 0 .

n cazul nostru, max{5, 3} = 5 , deci intr n baz vectorul a1 .


Criteriul de ieire din baz: iese din baz vectorul al
corespunztor raportului k minim ( k > 0 ). Coloana k se
B

determin fcnd raportul ntre elementele coloanei X i


elementele strict pozitive ale coloanei vectorului care intr n baz.
n cazul acesta, l = min 8 , 7 = 4 , deci iese din baz vectorul a3 .

{2 1}

Pasul V. Trecem la o nou iteraie:


Stabilim pivotul, care se gsete la intersecia liniei vectorului
care iese ( al ) cu coloana vectorului care intr n baz ( a k ).
Completm coloanele B i CB
Restul elementelor se determin cu metoda Gauss-Jordan.
Calculm noile valori f j i j .
B

CB

a1

a4

5
0
fj

XB

4
3
20
j

a1

a2

a3

a4

1
0
5
0

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

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

0
1
0
0

8
2

Algoritmul se repet pn cnd se verific unul din criteriile de


optim.
B

CB
a1
a2

5
3
fj

XB

3
2
21
j

a1

a2

a3

a4

1
0
5
0

0
1
3
0

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

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

n acest caz, observm c se verific criteriul de optim finit


( j 0, j = 1,5 ).
Soluia optim a problemei se citete din coloana XB : x1 = 3 ,
x 2 = 2 , x3 = 0 , x 4 = 0 , iar valoarea maxim a funciei este
f max = 21.

B. Metoda grafic
Dreptele ce determin semiplanele ataate restriciilor sunt:
d1 : 2 x1 + x 2 = 8 , care taie axele n punctele (0, 8) i (4, 0) .
d 2 : x1 + 2 x 2 = 7 , care taie axele n punctele 0, 7 i (7, 0) .

( 2)

Determinm mulimea soluiilor posibile ale problemei,


intersectnd semiplanele S1 : x1 + 2 x2 8 , S 2 : 2 x1 + x2 7 , S 3 : x1 0 ,
S 4 : x 2 0 . Obinem:
x2
S3

S2

C
B
S4
O

x1

A
S1

(d1)

(d2)

Mulimea X p a soluiilor posibile ale problemei este reprezentat


de interiorul i frontiera patrulaterului OABC .
Deoarece X p este mrginit, optimul funciei obiectiv se realizeaz
ntr-unul din vrfurile poligonului soluiilor posibile. Acestea sunt:
O (0, 0) , A 0, 7 , B(3, 2) i C (4, 0) .

( 2)

( )

Avem c: f (0, 0) = 0 , f 0, 7 =
2

21 ,
2

f (3, 2) = 21 i f (4, 0) = 20 .

Prin urmare, soluia optim a problemei este: X O = (3, 2)t , f max = 21.

6.2.2. REZOLVAREA PROBLEMELOR DE


PROGRAMARE LINIAR CARE NU ADMIT SOLUIE
INIIAL DE BAZ. METODA BAZEI ARTIFICIALE
PROBLEME REZOLVATE

S se rezolve problema de programare liniar:


[max] f = 5 x1 + 2 x2
2 x1 + 3x2 6

x1 + x2 1
x , x 0
1 2

Rezolvare:
Se aduce problema la forma standard:

[max ] f

= 5 x1 + 2 x2 + 0 x3 + 0 x4

2 x1 + 3 x2 + x3 = 6

x1 + 2 x2 x4 = 1

xi 0, i = 1,4

Se scrie matricea sistemului( A ) , pentru a verifica dac


problema are soluie iniial de baz (aceast condiie este
ndeplinit dac A conine matricea unitate).
a1 a 2 a3 a 4
0
2 3 1 0 ; lipsete vectorul e 2 = din matricea A i

A =
1
1 1 0 1
din aceast cauz la restricia a doua vom aduga o variabil
artificial y .

Observaie. Variabilele artificiale apar n funcia obiectiv cu


coeficientul + M la problemele de minim i M la cele de
maxim, unde M .
Rezult forma standard de lucru a problemei:

[max ] f

= 5 x1 + 2 x2 + 0 x3 + 0 x4 My

2 x1 + 3 x2 + x3 = 6

x1 + 2 x2 x4 + y = 1

xi 0, i = 1,4

Rezolvm aceast problem:


5
CB
XB
B
a1

a3
a5

0
-M
fj

6
1
-M
j

a3
a1

0
5
fj

4
1
5
j

a4
a1

0
5
fj

2
6
30
j

-M

a2

a3

a4

a5

3
2
1
1
-M
-M
5+M 2+M
0
1
1
1
5
5
0
-3
0
1/2
1
3/2
5
15/2
0
-11/2

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

0
-1
M
-M
2
-1
-5
5
1
0
0
0

0
1
-M
0
-2
1
5
-M-5
-1
0
0
-M

3
1

2
-

Discuie:
Dup ce algoritmul simplex a luat sfrit, dac unei variabile
artificiale i corespunde n coloana X B o valoare nenul, atunci
problema nu are soluie.
Dup ce algoritmul simplex a luat sfrit, dac toate variabilele
artificiale sunt egale cu 0, atunci decizia este optim finit, iar soluia
problemei se citete din coloana XB.
Rezultatele obinute n ultima iteraie sunt: x1 = 6 , x 2 = 0 , x3 = 0 ,
x 4 = 2 , y = 0 . Cum variabila artificial este y = 0 , rezult c
problema are soluie optim: X o = (6,0,0,2) t i f max = 30 .

6.2.3. CAZURI SPECIALE N REZOLVAREA


PROBLEMELOR DE PROGRAMARE LINIAR
I. Probleme cu optim multiplu

Discuie. a) Dac toate valorile j = 0 din ultima linie a tabelului


simplex corespund unor vectori din baza optim (ultima baz),
atunci problema are soluie unic.
b) Dac k = 0 i vectorul ak nu se afl n baza
optim, atunci problema admite optim multiplu. Pentru gsirea
unei alte soluii, se introduce n baz vectorul ak .
opt
1
2
Soluia optim general este: X = X + (1 ) X , [0,1].

PROBLEME REZOLVATE

S se rezolve problema de programare liniar:

[max] f

= 8 x1 + 5 x2 + 2 x3

x1 + x2 + x3 12
3 x + 2 x + x = 30
2
3
1
2 x + x + x 22
3
1 2
x 0, i = 1,3
i

Rezolvare:
Forma standard a problemei este:

[max ] f

= 8 x1 + 5 x2 + 2 x3 + 0 x4 + 0 x 5

x1 + x2 + x3 x4 = 12
3 x + 2 x + x = 30
2
3
1
2 x + x + x + x = 22
2
3
5
1
x 0, i = 1,5
i

1 1 1 1 0

A = 3 2 1 0 0 ;
2 1 1 0 1

0
1


Deoarece lipsesc vectorii e1 = 0 i e2 = 1 , la prima i la a
0
0


doua restricie vom aduga variabilele artificiale y1 i y 2 .
Rezult forma standard de lucru:

[max] f

= 8 x1 + 5 x2 + 2 x3 + 0 x4 + 0 x My1 My2

x1 + x2 + x3 x4 + y1 = 12

3 x1 + 2 x2 + x3 + y2 = 30
2 x + x + x + x = 22
3
5
1 2
x 0, i = 1,5
i

Tabelul simplex:
B

CB

a6
a7
a5

-M
-M
0
fj

a6

a1
a5

-M
8
0
fj

a3

a1
a5

2
8
0
fj

-M

-M

a1

a2

a3

a4

a5

a6

a7

12
30
22

1
3
2

1
2
1

-1
0
0

0
0
1

1
0
0

0
1
0

-42M

-4M

-3M

-M

-M

8+4M 5+3M

2+2M

-M

2
10
2

0
1
0

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

0
0
1

1
0
0

-1/3
1/3
-1/3

80-2M

16 M
3

M 1
3

3
9
1
78

0
1
0
8
0

1/2
1/2
-1/2
5
0*

XB

1/3
2/3
-1/3

1
1
1
-2M

-M

2M 2
3

-M

1
0
0
2
0

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

0
3/2 -1/2
0 -1/2 1/2
1 -1/2 -1/2
0
-1
3
0 -M+1 -M-3

8 2M
3

12
10
11

3
30
6

8+ M
3
8 4M
3

6
18
-

Din ultima iteraie citim soluia optim X 1 = (9,0,3,0,1)t . n linia


j avem 1 = 0 , dar vectorul a1 nu se afl n baza optim, de
unde rezult c problema are optim multiplu. Pentru gsirea unei
alte soluii, introducem n baz vectorul a1 i din urmtoarea
iteraie va rezulta X 2 = (6,6,0,4,0)t .

fj

78
j

a2
a1
a5

5
8
0
fj

6
6
4
78
j

8
0
0
1
0
8
0

5
0*
1
0
0
5
0

2
0
2
-1
1
2
0

1
-1
-3
2
-1
1
-1

0
0
0
0
1
0
0

-1
3
-M+1 -M-3
3
-1
-2
1
1
-1
-1
3
-M-1 -M-3

Soluia optim a problemei: X opt = X 1 + (1 ) X 2 , [0,1],


opt
t
adic X = (6 + 3 ,6 6 ,3 ,4 4 , ) , [0,1].

II. Probleme care nu admit soluie


PROBLEME REZOLVATE

S se rezolve problema de programare liniar:

[min ] f

= 7 x1 + 4 x2

x1 + x2 1

x1 + 2 x2 1
x , x 0
1 2

Rezolvare:

Forma standard de lucru a problemei este:

[min ] f

= 7 x1 + 4 x2 + 0 x3 + 0 x4 + My

x1 + x2 x3 + y = 1

x1 + 2 x2 + x4 = 1

xi 0, i = 1,4
B

a1

a2

a3

a4

a5

1
1
M

-1
1

1
2

-1
0

0
1

1
0

-M-7

1/2
1/2
M/3+2

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

XB

CB
a3

a4

M
0
fj

a1
a4

M
4
fj

-M

-M

M-4

-M

-1
0
-M
-M

-1/2
1/2
2-M/2
2-M/2

1
0
M
0

0
1
4
0

1/1
1/2

j 0, j = 1,5 , deci algoritmul a luat sfrit. Rezultatele din ultima

iteraie sunt: x1 = 0, x2 = 1 / 2, x3 = 0, x4 = 0, y = 1 / 2.
Deoarece variabilei artificiale y i corespunde o valoare nenul,
rezult c problema nu are soluie.
III. Probleme cu optim infinit
PROBLEME REZOLVATE

[max ] f

= 3 x1 + 5 x2
x1 3 x2 3

- 2 x1 + x2 2
x , x 0
1 2

Rezolvare:
Forma standard de lucru a problemei este:
[max ] f = 3x1 + 5 x2 + 0 x3 + 0 x4 My
x1 3 x2 x3 + y = 3

- 2 x1 + x2 + x4 = 2

xi 0, i = 1,4
B
a5
a4

CB

-M
0
fj

XB

3
2
-3M
j

a1
a4

3
0
fj

3
8
9
j

a1

a2

a3

a4

1
-2
-M
3+M
1
0
3
0

-3
1
3M
5-3M
-3
-5
-9
14

-1
0
-M
-M
-1
-2
-3
3

0
1
0
0
0
1
0
0

-M
a5

1
0
-M
0
1
2
3
-M-3

3
-

Se observ c se verific criteriul de optim infinit (coloana a 2 ).


n acest caz, problema are optim infinit (max f = + ) .

PROBLEME PROPUSE

S se rezolve prin dou metode urmtoarele probleme de


programare liniar i s se compare rezultatele:

[max] f

= 7 x1 + 8 x 2
2 x1 + x 2 5

x1 + 2 x 2 4
x ,x 0
1 2

1.

[min ] f

R: x1 = 2, x 2 = 1; f max = 22 .

= 6 x1 + 7 x 2

2.

x1 + x 2 1

x1 2 x 2 1
x ,x 0
1 2
[max ] f = 4 x1 + 6 x 2

R: x1 = 0, x 2 = 1; f min = 7 .

3.

2 x1 + 3 x 2 6

- 2 x1 + 6 x 2 3
x ,x 0
1 2
[max] f = 3x1 + 7 x 2

R: x1 = 1, x 2 = 3 ; f max = 13 .
2

4.

2 x1 + 3 x 2 6

x1 2 x 2 4
x , x 0
1 2

R: Problema are optim infinit.

[max] f
5.

6.

= 2 x1 + 3 x 2

2 x1 + 5 x 2 2

2 x1 + 3 x 2 6
x ,x 0
1 2
[min ] f = 5 x1 + 2 x2
2 x1 + 3 x2 6

x1 + x2 1
x ,x 0
1 2

R: x1 = 1, x 2 = 3 ; f max = 13 .
2
2

R: x1 = 0, x2 = 1; f min = 2 .

[min] f = 3 x1 + 4 x2

7.

4 x1 7 x 2 28

5 x1 + 2 x 2 10
x , x 0
1 2

R: Problema nu are soluie..

[max] f = 3 x1 + 4 x2

8.

9.

2 x1 + x2 12

x1 + 2 x2 4
x , x 0
1 2
[max] f = 3 x1 + 5 x 2

3 x1 + 2 x 2 6

2 x1 + x 2 6
x , x 0
1 2
[opt ] f = 3 x1 + 5 x2

R: x1 = 4, x2 = 4; f max = 28 .

R: x1 = 0, x2 = 3; f max = 15 .

x1 + 2 x2 8
2 x + 3x 6
10.
1
2

3 x1 + x 2 18
x1 , x 2 0
R: x1 = 4, x 2 = 6; f max = 42 dac problema este de maxim;
x1 = 3, x 2 = 0; f min = 9 dac problema este de minim.
[max] f = 2 x1 + 5 x2

11.

2 x1 + x 2 5

x1 + 4 x 2 6
x , x 0
1 2

R: x1 = 2, x2 = 1; f max = 9 .

[max] f = 2 x1 + 3 x 2

12.

5 x1 + 3 x 2 30

x1 + 3 x2 12
x , x 0
1 2

R: x1 = 9 , x2 = 5 ; f max = 33 .
2
2
2

S se rezolve urmtoarele probleme de programare liniar


folosind algoritmul simplex primal:
[max] f = 2 x1 x 2 + 3 x3 + 2 x 4 + 3 x5

13.

3 x1 + x3 + x4 4

2 x1 + x 2 x3 + x4 = 1

x1 + 2 x3 + 2 x 4 + x5 = 2
x 0, i = 1,5
i

R: x1 = 1 , x 2 = 0, x3 = 0, x 4 = 0, x5 = 3 ; f max = 11
2

[max] f = 5 x1 + 2 x2 + 8 x3

14.

x1 + x2 + x3 18

2 x1 + x 2 + 3 x3 = 45
x + x + 2 x 33
2
3
1
x 0, i = 1,3
i

R: x1 = 9 9 , x 2 = 9 , x3 = 9 + 9 , [0, 1] ; f max = 117

2
2
[min] f = x1 2 x 2 + 3 x3 + 2 x 4
3 x1 + x 2 + x 4 = 2
15.
x + x + x + 2x = 3
2
3
4
1
x + x + x 1
2
4
1
x 0, i = 1,4
i
R: x1 = 1 , x2 = 1 , x3 = 2, x 4 = 0; f min = 11
2
2
2

16.

[max] f = 3 x1 + 5 x 2 + x 3 + 6 x 4
x1 + x 3 + 2 x 4 40

2 x1 + x 2 + 3x 3 16
x + x + 2 x 48
2
3
1
x 0, i = 1,4
i

R: x1 = 0, x2 = 16, x3 = 0, x 4 = 20; f max = 200


17.

[max] f = 5 x1 + 4 x 2 + 3 x3 + 2 x 4 + x5
2 x1 + x 2 + x3 + 3 x 4 + 2 x5 = 40

x1 + 2 x 2 + 3 x3 + x 4 + 3 x5 = 50

xi 0, i = 1,5

R: x1 = 10, x 2 = 20, x3 = 0, x 4 = 0, x5 = 0; f max = 130


18.

[min] f = x1 + 3x2 + 2 x3 + 5 x4 + 4 x5
3x1 + 2 x2 + x3 + 2 x4 + 3x5 = 63

x1 + 3x2 + 2 x3 + x4 + 2 x5 = 42

xi 0, i = 1,5

R: x1 = 15, x 2 = 9, x3 = 0, x 4 = 0, x5 = 0; f max = 42

19.

[min] f = 10 x1 + 5 x 2 + x3
x1 + x 2 + x3 5
2 x x
2 x3 1
1
x + 3x 2 x 4
2
3
1
x 0, i = 1,3
i

R: x1 = 0, x 2 = 14 , x3 = 11 ; f min = 81
5

[min] f = 8 x1 + 4 x 2 + 12 x3 + 6 x 4

20.

2 x1 + x 2 + 2 x3 x 4 10
x + 2 x + x + 3 x 9
2
3
4
1

x
x
x
x

2
+
+
3
+
1
2
3
4 8

x 0, i = 1,3
i
R: x1 = 1 , x 2 = 9, x3 = 0, x 4 = 0; f min = 40
2

[max] f = 9 x1 + 10 x 2 + 8 x3

21.

3 x1 x2 + x3 30

x1 + 2 x2 + 3 x3 60

2 x1 + x 2 + x3 20
x + 2 x 2 x 40
2
3
1
xi 0, i = 1,3

R: x1 = 0, x 2 = 20, x3 = 0; f max = 200


[max] f = 5 x1 + 10 x 2 + 20 x3

x1 + 2 x2 + 3 x3 5
2 x + x + x 4
22.
2
3
1
x + 2x + 2x 6
2
3
1
x 0, i = 1,3
i
R: x1 = 0, x 2 = 0, x3 = 5 ; f max = 100
3
3

23.

[min] f = 2 x1 x 2 + x 3 x 4 + 3 x 5
x1 + x 2 + x 3 x 4 + 2 x 5 12

x1 + 2 x 2 + x 3 + x 4 + x 5 = 12
3 x + x + x x x 8
2
3
4
5
1
x 0, i = 1,5
i

R: x1 = 4 , x2 = 28 , x3 = 0, x 4 = 0, x5 = 0; f min = 5
5
5

[min] f = x1 + 2 x 2 x3 + 3 x 4 + x 5

24.

2 x1 + x 2 + x3 x 4 + x5 10

x1 + 2 x 2 + 3 x3 + x 4 x5 = 12
x + x + x + x + x 14
2
3
4
5
1
x 0, i = 1,5
i
R: x1 = 0, x2 = 0, x3 = 11 , x 4 = 2, x5 = 13 ; f min = 7
2
2
[max] f = x1 + 2 x2 + 3x3 + 4 x4 + 5 x5

25. 2 x1 + 3x2 + x3 + x4 + 2 x5 = 28

3x1 + x2 + 3x3 + 2 x4 + x5 = 35

xi 0, i = 1,5

R: x1 = 0, x2 = 0, x3 = 0, x4 = 14, x5 = 7; f max = 35
26.

[min] f = x1 + 2 x 2 + 4 x3 + 2 x 4 + x5
x1 + 3 x 2 + 2 x 3 + 3 x 4 + x 5 = 2

2 x1 + x 2 + 3 x 3 + 2 x 4 + 3 x5 = 3

xi 0, i = 1,5
R: x1 = 0, x2 =, x3 = 0, x 4 = 3 , x5
7
[max] f = x1 + 2 x 2 + 3 x 3 + 4 x 4 + 5 x 5

= 5 ; f min = 11
7
7

27. 2 x1 + x 2 + 2 x3 + 3x 4 + 3x5 = 30

x1 + 2 x 2 + 2 x 3 + 2 x 4 + x 5 = 40

xi 0, i = 1,5

R: x1 = 0, x 2 = 18, x3 = 0, x4 = 0, x5 = 4; f max = 56
[min] f = 3 x1 + x2 + 5 x3 + 2 x4 + x5

28. x1 + 2 x2 + 3x3 + 2 x4 + x5 = 20

2 x1 + x2 + x3 + 3 x4 + 3 x5 = 30

xi 0, i = 1,5

R: x1 = 0, x2 = 6, x3 = 0, x 4 = 0, x5 = 8; f min = 14

[max] f = x1 2 x 2 + 3 x 3 + 2 x 4
3 x1 + x 2 + x 4 = 2
29.
x1 + x 2 + x 3 + 2 x 4 = 3
x + x + x 1
2
4
1
x 0, i = 1,4
i
R: x1 = 2 , x 2 = 0, x3 = 7 , x 4 = 0; f miax = 23 .
3
3
3
[min] f = 5 x1 + 4 x 2 + 3 x 3
x1 + x 2 + x 3 6

30.
3 x1 + 2 x 2 + x 3 2
x + x + 2x 1
2
3
1
x 0, i = 1,3
i

R: x1 = 0, x2 = 0, x3 = 6; f min = 18 ;
[max] f = 5 x1 + 6 x 2 + 7 x 3
2 x1 + x 2 + x 3 3

31.
x1 + x 2 + 3 x 3 5

x + x + 2x 4
2
3
1
x 0, i = 1,3
i

R: x1 = 0, x2 = 2, x3 = 1; f max = 19 ;
[min] f = 3 x1 2 x 2 + 7 x 3
x1 + 3 x 2 x 3 3

32.
2 x1 x 2 + 2 x 3 2
3 x + 2 x x 4
2
3
1
x 0, i = 1,3
i

R: x1 = 6 , x2 = 5 , x3 = 0; f min = 8 ;
7
7
7

[max] f = 4 x1 + 5 x 2 2 x 3
2 x1 + x 2 + x 3 6

33.
x1 + 3 x 2 + 2 x 3 4
3 x + x x 1
2
3
1
x 0, i = 1,3
i

R: x1 = 14 , x2 = 2 , x3 = 0; f max = 66 ;
5
5
5
[min] f = x1 + 3 x 2 + 2 x 3
x1 + x 2 + x 3 3
34.
2 x1 + 3 x 2 + x 3 4
x + 2 x + 3 10
2
3
1
x 0, i = 1,3
i
R: x1 = 2 , x2 = 0, x3 = 16 ; f min = 34 ;
5
5
5
[max] f = 6 x1 + 5 x 2 + 4 x 3
x1 + x 2 + 2 x 3 7

35.
x1 + x 2 + 3 x 3 5
2 x + 3 x + x 3
2
3
1
x 0, i = 1,3
i

R: x1 = 4 , x2 = 0, x3 = 13 ; f min = 4 ;

7
[min] f = x1 + 3 x 2 2 x 3
x1 + x 2 + x 3 = 2
36.
x1 + 2 x 2 + 3 x 3 5
x + x + 2 x 1
2
3
1
x 0, i = 1,3
i

R: x1 = 1 , x2 = 0, x3 = 3 ; f min = 5 ;
2
2
2

[max] f = 4 x1 + 3 x 2 + 10 x3
x1 + x 2 + 3 x3 2

37.
2 x1 + x 2 + x3 1

3 x + x + 2 x 3
2
3
1
x 0, i = 1,3
i

R: x1 = 1 , x 2 = 0, x3 = 3 ; f max = 34 ;
5
5
5
[max] f = 5 x1 + x 2 + 4 x 3
2 x1 + 3 x 2 + x 3 6

38.
x1 + 2 x 2 + 3 x 3 5
2 x + x + x 2
2
3
1
x 0, i = 1,3
i

R: x1 = 1 , x 2 = 0, x3 = 8 ; f max = 37 ;
5
5
5
[max] f = 4 x1 x 2 + 6 x 3 + 2 x 4
x1 + x 2 + x 3 + 2 x 4 = 3

39.
2 x1 + 3 x 2 + x 4 6

2 x + 2 x x 2
2
4
1
x 0, i = 1,4
i

R: x1 = 1, x 2 = 0, x3 = 2, x4 = 0; f max = 16 ;
[min] f = 3 x1 4 x 2 + x 3 + 5 x 4
x1 x 3 + 2 x 4 2
40.
2 x1 x 2 + 3 x 4 = 3
x + x 2x 1
3
4
2
x 0, i = 1,4
i

R: x1 = 0, x 2 = 9, x3 = 0, x 4 = 4; f min = 16 .

6.3. DUALITATE N PROGRAMAREA LINIAR


6.3.1. SCRIEREA PROBLEMEI DUALE
BREVIAR TEORETIC

Modelului matematic al unei probleme de programare liniar i se


poate ataa n mod unic o nou problem de programare, numit
duala problemei primale. Problema iniial sau primal ( PP )
mpreun cu problema sa dual ( PD ) formeaz un cuplu de
probleme duale.
Considerm modelul matematic al unei probleme de programare
liniar.
Spunem c o restricie este concordant cu funcia obiectiv
dac este de tipul " " n cazul unei probleme de maxim i
dac este de tipul " " n cazul unei probleme de minim.
Spunem c o restricie este neconcordant cu funcia obiectiv
dac este de tipul " " n cazul unei probleme de maxim i
dac este de tipul " " n cazul unei probleme de minim.
Reguli de obinere a problemei duale din problema primal
1. Duala unei probleme de minim este o problem de maxim, iar
duala unei probleme de maxim este o problem de minim.
2. Fiecrei restricii din PP i corespunde o variabil n problema
dual; numrul variabilelor din PD este egal cu numrul
restriciilor din PP , iar numrul restriciilor din PD este egal cu
numrul variabilelor din PD .
3. Coeficieni funciei obiectiv din PD sunt termenii liberi din
PP , iar termenii liberi din PD sunt coeficieni funciei obiectiv
din PP .
4. Matricea coeficienilor sistemului de restricii din PD este
transpusa matricei coeficienilor sistemului de restricii din PP .

5. a) Unei restricii concordante cu funcia obiectiv din PP i


corespunde o variabil pozitiv n PD .
b) Unei restricii neconcordante cu funcia obiectiv din PP i
corespunde o variabil negativ n PD .
c) Unei restricii de tip egalitate din PP i corespunde o
variabil oarecare n PD .
6. a ) Unei variabile pozitive din PP i corespunde o restricie
concordant cu funcia obiectiv n PD .
b) Unei variabile negative din PP i corespunde o restricie
neconcordant cu funcia obiectiv n PD .
c) Unei variabile oarecare din PP i corespunde o restricie de
tip egalitate n PD .

PROBLEME REZOLVATE
1. S se scrie duala urmtoarei probleme de programare liniar:

[min ] f

= 3 x1 7 x 2 + 2 x3 x 4
2 x1 + 3 x 2 + x 4 9
4x x + 2x = 2
1
2
3

3
+
+
2
x
x
x
2
3 5x4 4
1
x1 0, x 2 0, x 3 R, x 4 0

Rezolvare:
Asociem fiecrei restricii din problema primal cte o variabil:
u1 , u 2 , u3 .

[min ] f
PP :

= 3 x1 7 x 2 + 2 x3 x 4
2 x1 + 3 x 2 + x 4 9

4 x1 x 2 + 2 x3 = 2

3 x1 + x 2 + 2 x3 5 x 4 4
x 0, x 0, x R, x 0
2
3
4
1

u1
u2
u3

Folosind regulile enunate n breviarul teoretic, obinem problema

[max ] f

dual PD :

= 9u1 + 2u 2 + 4u 3
2u1 + 4u 2 + 3u 3 3

3u 1 u 2 + u 3 7
2u 2 + 2u 3 = 2
u 5u 1
1
3

u1 0, u 2 R, u 3 0

Deoarece prima variabil din PP este pozitiv ( x1 0 ), rezult c


prima restricie din PD este concordant cu funcia obiectiv
( " " pentru maxim). Analog s-a procedat i pentru obinerea
celorlalte restricii din PD .
Prima restricie din PP este neconcordant cu funcia obiectiv
( " " pentru minim), rezult c prima variabil din PD este
negativ ( u1 0 ). Analog s-a procedat i pentru obinerea
semnului celorlalte variabile din PD .
2. S se scrie duala urmtoarei probleme de programare liniar:

[max ] f

= 8 x1 + 3 x 2 + 4 x3

5 x1 + 3 x 2 + 2 x 4 9

4 x1 x 2 + 3 x3 2

6 x1 + 5 x 2 4 x3 1
3 x + x + 2 x 4
1
2
3

xi 0, i = 1,3

Rezolvare:

Asociem fiecrei restricii din problema primal cte o variabil:


u1 , u 2 , u3 .

[max ] f

= 8 x1 + 3 x 2 + 4 x3
5 x1 + 3 x 2 + 2 x 4 9

4 x1 x 2 + 3 x3 2

6 x1 + 5 x 2 4 x3 1

3 x1 + x 2 + 2 x3 4
x 0, i = 1,3
i

PP :

u1
u2
u3
u4

Folosind regulile enunate n breviarul teoretic, obinem problema


dual:

[min ] f
PD :

= 9u1 + 2u 2 + u 3 + 4u 4
5u1 + 4u 2 + 6u 3 3u 4 8

3u 1 u 2 + 5u 3 + u 4 3
2u + 3u 4u + 2u 4
2
3
4
1
u 0, i = 1,4
i

Observaie. n acest caz, spunem c PP i PD formeaz un cuplu de


probleme duale simetrice.

6.3.2. REZOLVAREA UNUI CUPLU DE PROBLEME


PRIMAL-DUAL
PROBLEME REZOLVATE

Se d urmtoarea problem de programare liniar:

[min ] f

= 30 x1 + 12 x 2 + 36 x3
x1 + 2 x 2 + x3 3

x 2 + x3 5

+ 2 x3 1
x1
2 x + x
6
2
1
xi 0, i = 1,3

a ) S se construiasc problema dual.


b) S se rezolve problema dual.
c) S se determine soluiile optime ale cuplului de probleme
primal-dual.
Rezolvare:

[max ] f

a ) PD :

= 3u1 + 5u 2 + u 3 + 6u 4
u1 + u 3 + 2u 4 30
2u + u + u 12
2
4
1
u + u + 2u 36
2
3
1
u 0, i = 1,4
i

b) Aducem problema dual la forma standard:

[max ]g = 3u1 + 5u2 + u3 + 6u4 + 0u5 + 0u6 + 0u7


u1 + u3 + 2u 4 + u5 = 30
2u + u + u + u = 12
4
6
1 2

2
u
u
u
u
+
+
+
3
7 = 36
1 2
u 0, i = 1,7
i

Realizm tabelul simplex:


B

CB

a5
a6
a7

0
0
0
gj

UB

a1

a2

a3

a4

a5

a6

a7

30
12
36
0

1
2
1
0
3
-3
2
1
12
-9
-3
2
4
9
-6
-1/3
2/3
4/3
31/3
-22/3

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

2
1
0
0
6
0
1
0
6
0
0
1
0
12
0
0
1
0
6
0

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

j
a5

a4
a7

0
6
0
gj

6
12
36
72
j

a3
a4

a7

1
6
0
gj

6
12
30
78
j

a3
a4
a2

1
6
5
gj

26
2
10
88
j

1
0
1
0
1
1
0
1
0
1
1
0
0
6
-5
1
0
0
1
0

15
12
-

6
36

12
10

Soluia optim a problemei duale este:


u1 = 0, u 2 = 5, u 3 = 1, u 4 = 6, u 5 = 0, u 6 = 0, u 7 = 0 ; g max = 88 .
c) Pentru a determina soluia optim a problemei primale se
procedeaz n felul urmtor:
-se rezolv problema dual cu ajutorul algoritmului simplex primal;
-n ultima iteraie a algoritmului simplex primal, pe linia g j , n
dreptul coloanelor ce corespund vectorilor care au format baza
iniial, se citete soluia optim a problemei primale.
Prin urmare, soluia optim a problemei primale este:
x1 = 2 / 3, x2 = 14 / 3, x3 = 5 / 3 ; f min = g max = 88 .

Observaie. Este util rezolvarea problemei duale n locul celei


primale atunci cnd duala este mai uor de rezolvat cu ajutorul
algoritmului simplex primal, cum a fost cazul problemei anterioare.
PROBLEME PROPUSE

S se scrie duala urmtoarelor probleme de programare liniar:

[max ] f
1.

= 5 x1 x 2 + 4 x3 + 3 x 4
4 x1 + 3 x 2 + 5 x 4 6
7 x x + 2 x = 5
1
2
3

3 x1 + x 2 + 2 x3 5 x 4 4
x1 0, x 2 0, x3 R, x 4 0

[min ]g = 6u1 + 5u 2 + 4u 3
R:

2.

4u1 + 7u 2 + 3u 3 5

PD :
3u 1 u 2 + u 3 1
2u 2 + 2u 3 = 4
5u 5u 3
3
1
u1 0, u 2 R, u 3 0
[min ] f = 3x1 7 x 2 + 2 x3 x 4
2 x1 + 3 x 2 + x 4 2
4x x + 2x 1
1
2
3

+
+
x
x
x
3
2
2
3 5x4 = 3
1
x1 0, x 2 R, x3 0, x 4 0

[max ]g = 2u1 + u 2 + 3u 3
2u1 + 4u 2 + 3u 3 3
3u u + u = 7
2
3
R: PD
1
u
u
+

3
2
2
2
3
u 5u 1
3
1
u1 0, u 2 0, u 3 R
[min ] f = 8 x1 + 6 x 2 + 3x3 x 4

3.

2 x1 + 3 x 2 + x 4 7

3 x1 + x 2 + 2 x3 5 x 4 4
x R, x 0, x 0, x 0
2
3
4
1
[max ]g = 7 x1 + 4 x 2

2u1 + 3u 2 = 8
3u + u 6
2
R: PD :
1
2u 2 3
u 5u 1
2
1
u 1 0, u 2 0
[max ] f = 2 x1 + 7 x 2 + 2 x3
2 x1 + 3 x 2 4
4x x + 2x = 2
1
2
3

x
x
x
3
3
+
+
2
3 1
1
x1 0, x 2 0, x3 R
[min ]g = 4u1 + 2u 2 + u 3

4.

R:

2u1 + 4u 2 + 3u 3 2
3u u + u 7
1
2
3

2
3
2
u
u
+
=
3
2
u1 0, u 2 R, u 3 0

5. Se d urmtoarea problem de programare liniar:

[min ] f

= 5 x1 + 2 x 2 + 6 x3

x1 + 2 x 2 + x3 3

6
2 x1 + x 2

x 2 + x3 5

x
+ 2 x3 1
1
xi 0, i = 1,3

a ) S se construiasc problema dual.


b) S se rezolve problema dual.
c) S se determine soluiile optime ale cuplului de probleme
primal-dual.

[max ]g = 3u1 + 6u 2 + 5u 3 + u 4

R: a ) PD :

u1 + 2u 2 + u 4 5
2u + u + 2u 2
2
3
1
3u + 3u + 2u 6
3
4
1
u 0, i = 1,4
i

c) X o = (1, 4, 0 )t ; f min = 13 ; U o = (0, 2, 0, 1)t ; g max = 13 .


6. Se d urmtoarea problem de programare liniar:

[max ] f

= 3 x1 + 2 x 2 + 4 x3

x1 + 2 x 2 + x3 3
2 x + x
6
2
1

x 2 + x3 5

x 0, i = 1,3
i

a) S se construiasc problema dual.


b) S se determine soluiile optime ale cuplului de probleme
primal-dual.

[min ]g = 3u1 + 6u 2 + 5u 3
R: a) PD :

u1 + 2u 2 3
2u + u + u 2
2
3
1
u + u 4
3
1
u 0, i = 1,3
i

b) X o = (0, 0, 3)t ; f max = 12 ; U o = (4, 0, 0)t ; g min = 12 .


7. Se d urmtoarea problem de programare liniar:
[min] f = 8 x1 + 4 x2 + 12 x3 + 6 x 4

2 x1 + x 2 + 2 x3 x4 10
x + 2 x + x + 3 x 9
2
3
4
1
2 x + x + 3 x + x 8
1
2
3
4

x 0, i = 1,3
i
a) S se construiasc problema dual.
b) S se rezolve problema dual.
c) S se determine soluiile optime ale cuplului de probleme
primal-dual.

[max ]g = 10u1 + 9u 2 + 8u 3

R: a ) PD :

2u1 u 2 2u 3 8

u1 + 2u 2 + u 3 4

2u1 + u 3 + 3 x3 12
u + 3u + x 6
3
3
1
u i 0, i = 1,4

c) X o = (0, 10, 0, 0)t ; f min = 40 ; U o = (4, 0, 0)t ;


g max = 40 .

8. Se d urmtoarea problem de programare liniar:


[max] f = 7 x1 9 x 2 + 8 x3

3 x1 x 2 + x3 7

x1 2 x 2 + 3 x3 3

2 x1 x2 x3 2
x + 2 x 2 x 8
2
3
1
xi 0, i = 1,3
a) S se construiasc problema dual.
b) S se determine soluiile optime ale cuplului de probleme
primal-dual.

[min ]g = 7u1 + 3u 2 + 2u 3 + 8u 4

R: a ) PD :

3u1 + u 2 + 2u 3 u 4 7

;
u1 2u 2 u 3 + 2u 4 9
u + 3u u 2u 8
2
3
4
1
u 0, i = 1,4
i

t
b) X o = 9 , 0, 4 ; f max = 95 ; U o = 0,
7
7
7

t
23 13
, ,0 ;
7 7

g max = 95 .
7

6.4. ALGORITMUL SIMPLEX DUAL


PROBLEME REZOLVATE
S se rezolve urmtoarea problem de programare liniar,
utiliznd algoritmul simplex dual:

[min ] f

= 3 x1 + 2 x 2 + 4 x 3 + x 4

5 x1 + x 2 4 x 3 + 2 x 4 12
3 x x 3 x + x 9
1
2
3
4

x1 + 2 x 2 2 x 3 x 4 15
x 0, i = 1,4
i

Rezolvare:
Forma standard de lucru a problemei este:

[min ] f

= 3 x1 + 2 x 2 + 4 x 3 + x 4 + 0 x 5 + 0 x 6 + 0 x 7

5 x1 + x 2 4 x 3 + 2 x 4 + x 5 = 12
3 x x 3 x + x + x = 9
1
2
3
4
6

x
x
x
x
x

+
2
2
2
3
4
7 = 15
1
x 0, i = 1,7
i

Realizm prima iteraie din tabelul simplex i verificm dac


avem soluie dual realizabil ( j 0, j = 1,7 ):
CB

0
0
0

Baza
a5
a6
a7

fj

XB

-12
-9
-15
0
j

a1

a2

a3

a4

a5

a6

a7

-5
-3
-1
0
-3

1
-1
2
0
-2

-4
-3
-2
0
-4

2
1
-1
0
-1

1
0
0
0
0

0
1
0
0
0

0
0
1
0
0

Aplicm criteriul de ieire din baz: iese din baz vectorul


corespunztor celei mai mici valori negative din coloana X B ; n
cazul acesta, min{ 12,9,15} = 15 , deci iese din baz vectorul a 7 .
Aplicm criteriul de intrare n baz: se calculeaz rapoartele
dintre elementele liniei j i elementele strict negative de pe linia
vectorului care iese din baz; va intra n baz vectorul
corespunztor celui mai mic raport; n cazul nostru,
min 3 , 4 , 1 = 1 , deci va rezulta c intr n baz vectorul a 4 .

{1

2 1

Stabilim pivotul i elementele din urmtoarea iteraie le vom


determina folosind metoda Gauss-Jordan.
Algoritmul simplex dual ia sfrit cnd se produce unul din
urmtoarele evenimente:
- toate elementele coloanei X B sunt mai mari sau egale cu zero;
n acest caz, decizia este optim finit, iar soluia se citete din
coloana X B ;
- coloana X B conine elemente strict negative, iar pe linia unui
vector corespunztor unei valori strict negative avem numai valori
mai mari sau egale cu zero; n acest caz, decizia este: problema nu
are soluie.
Rezult urmtoarele iteraii:
CB

Baza

0
0
1

a5

4
0
1

a3

a6
a4
fj

XB

-42
-24
15
15
j

a6
a4
fj

21/4
9/4
9/2
51/2
j

a1

a2

a3

a4

a5

a6

a7

-8
-5
2
2
-2
1
0
0

0
0
1
1
0
0
0
1

1
0
0
0
0
-1/8
-5/8
1/4

0
1
0
0
0
0
1
0

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

4
0

1
0

-1/4
-1/4

0
0

-3/2
-3/2

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

5
1
-2
-2
-4
-5/8
-17/8
3/4 -3/4
11/4
-1/4

-13/4
-21/4

Deoarece toate elementele coloanei X B sunt pozitive, rezult c

t
problema are soluie optim: X o = 0, 0, 21 , 9 , 0, 9 , iar valoarea
4

minim a funciei obiectiv corespunztoare acestei soluii este:

f min = 4 21 + 1 9 = 51 .
4

PROBLEME PROPUSE
S se rezolve urmtoarele probleme de programare liniar folosind,
acolo unde este posibil, algoritmul simplex dual:
[min] f = 3 x1 + 4 x2 + 5 x3

1. x1 2 x2 x3 2

R: X o = (0, 1, 0 )t ; f min = 4

2. x1 + 2 x 2 3x3 x 4 6

R: X o = (0, 0, 2, 0 )t ; f max = 2

2 x1 x2 3 x3 1

xi 0, i = 1,3
[max] f = x1 2 x 2 x 3 3 x 4

2 x1 x 2 x 3 2 x 4 2

x i 0, i = 1,4

[min] f = 3 x1 + x 2 + 2 x 3 + 5 x 4

3. 2 x1 + x 2 2 x 3 x 4 2

t
R: X o = 0, 4 , 7 , 0 ; f min = 18
5 5
5

x1 2 x 2 x 3 2 x 4 3

x i 0, i = 1,4
[max] f = x1 2 x 2 + 3 x 3 4 x 4 + 5 x 5

4. 2 x1 + x 2 + x 4 + x 5 = 5

x1 x 2 + x 3 3 x 4 = 4

x i 0, i = 1,5

t
R: X o = 0, 0, 11 11 , 5 11 , 11 , [0, 1] ; f max = 13
3
3

[min] f = 5 x1 + 4 x 2 + 3 x 3
2 x1 + 2 x 2 x 3 4

5.
x1 x 2 x 3 6

R: X o = (7, 5, 0 )t ; f min = 55

x x + 2 x 12
2
3
1
x 0, i = 1,3
i

[min] f = 4 x1 + 3 x 2 + 2 x 3 + x 4

6. 2 x1 x 2 x3 3x 4 = 3

x1 2 x 2 3 x 3 + x 4 = 3

xi 0, i = 1,4

R: Nu se poate aplica algoritmul

simplex dual ( ASD ); folosind algoritmul simplex primal ( ASP ),

t
se obine soluia optim X o = 0, 0, 6 , 3 , pentru care f min = 3 .
5 5
[max] f = 6 x1 + 3 x2 + 2 x3

7. x1 x2 2 x3 4

3 x1 x2 x3 2

xi 0, i = 1,3

[min] f = 5 x1 + 3 x 2 + 2 x 3
x1 x 2 x 3 5

8.
x1 x 2 + 2 x 3 4
2 x x x 1
2
3
1
x 0, i = 1,3
i

t
R: X o = 1 , 7 , 0 ; f max = 27 .
2 2
2

t
R: X o = 0, 14 , 1 ; f min = 44 .
3 3
3

[max] f = 3 x1 x 2 3 x3 x 4

9. x1 x 2 x3 3x 4 = 3

2 x1 2 x 2 + 3 x3 + x 4 = 3

xi 0, i = 1,4

R: Nu se poate aplica ASD ;

t
folosind ASP , se obine soluia optim X o = 0, 12 , 0, 3 , pentru

care f max = 15 .
7

[opt ] f = x1 2 x 2 + 3 x 3 4 x 4
10. 2 x1 x 2 + x 3 x 4 = 4 R: Dac problema este de maxim,

x1 x 2 3 x3 x 4 = 3

xi 0, i = 1,4
X o = (3, 0, 2, 0)t , f max = 9 ; dac problema este de minim,
t
X o = 1 , 0, 0, 10 , f min = 13 .
3
3

[min] f = 8 x1 + 3 x 2

11. x1 x 2 1

x1 + 2 x 2 1

x i 0, i = 1,2

R: Problema nu are soluie.

6.5. REOPTIMIZRI
PROBLEME REZOLVATE

Se consider problema de programare liniar:

[max ] f

= 7 x1 + 4 x 2

2 x1 + 3 x 2 9
x x 3
1
2

x + x 9
1
2

x 0, i = 1,2
i

a ) S se determine soluia optim a acestei probleme.


b) S se determine soluia optim a problemei n cazul n care
coeficienii funciei obiectiv devin:
b1 ) c~ = (4,3) ;
b2 ) c~ = (5,5) ;
b3 ) c~ = (1,6) .
c) S se determine soluia optim a problemei n cazul n care
temenii liberi devin:
~
c1 ) b = (1,2,3) t ;
~
c 2 ) b = (5,3,1) t .
Rezolvare:
a) Forma standard de lucru a problemei este:

[max ] f

= 7 x1 + 4 x 2 + 0 x 3 + 0 x 4 + 0 x 5
2 x1 +
x
1

x +
1

x 0,
i

3x 2 + 0 x3 = 9
x2 + x4 = 3
x2 +
i = 1,5

x5 = 9

Pentru rezolvarea problemei vom aplica algoritmul simplex primal.


Realizm tabelul simplex:
CB

0
0
0

Baza
a3
a4

a5
fj

XB

9
3
9
0
j

0
7
0

a3

a1
a5
fj

15
3
6
21
j

0
7
4

a3
a1
a2
fj

12
6
3
54
j

a1

a2

a3

a4

a5

-2
1
1
0
7
0
1
0
7
0
0
1
0
7
0

3
-1
1
0
4
1
-1
2
-7
11
0
0
1
4
0

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

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

0
0
1
0
0
0
0
1
0
0
-1/2
1/2
1/2
11/2
-11/2

Rezult soluia optim: X o = (6, 3, 12, 0, 0) t , f max = 54 .


b) Modificarea coeficienilor funciei obiectiv
Alctuim un tabel simplex n care vom copia datele din ultima
iteraie a tabelului precedent, cu excepia liniei C j (unde vom scrie
noii coeficieni ai funciei obiectiv, dai de c~ ), a coloanei C B
(unde vom trece tot coeficienii funciei obiectiv dai de c~ ) i,
evident, a liniilor f j i j . Dup ce calculm j sunt posibile
dou situaii:
1) toate elementele liniei j sunt negative sau egale cu zero i
n acest caz se poate citi soluia optim a problemei modificate;
soluia optim a problemei modificate coincide cu soluia optim

a problemei iniiale. Valoarea optim a funciei obiectiv este dat


de primul element al liniei f j ;
2) pe linia j exist cel puin un element strict pozitiv i n acest
caz se aplic n continuare algoritmul simplex primal, pn la
obinerea soluiei optime a problemei modificate.
b1 ) n cazul n care c~ = (4, 3) obinem urmtorul tabel simplex:
CB

0
4
3

Baza
a3
a1
a2
fj

XB

12
6
3
33
j

a1

a2

a3

a4

a5

1
0
0
0
0

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

-1/2
1/2
1/2
7/2
-7/2

0
1
0
4
0

0
0
1
3
0

Se observ c toate elementele liniei j sunt negative sau egale


cu zero. Rezult c soluia optim a problemei modificate coincide
cu soluia optim a problemei iniiale:
~
~
X o = (6, 3, 12, 0, 0) t , f max = 33 .
b2 ) n cazul n care c~ = (5,5) obinem urmtorul tabel simplex:
CB

0
5
5

Baza
a3

a1
a2
fj

XB

12
6
3
45
j

0
5
5

a4

a1
a2
fj

24/5
18/5
27/5
45
j

a1

a2

a3

a4

a5

0
1
0
5
0
0
1
0
5
0

0
0
1
5
0
0
0
1
5
0

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

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

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

Observm c toate elementele liniei j din prima iteraie sunt


negative sau egale cu zero, prin urmare soluia optim a problemei
iniiale este soluie optim i pentru problema modificat:
~
X 1 = (6, 3, 12, 0, 0) t . Deoarece pe linia j exist 4 = 0 , dar

vectorul a 4 nu se afl n baza optim, rezult c problema are


optim multiplu. Introducnd n baz vectorul a 4 , obinem o nou
~
soluie optim: X 2 = (18 / 5, 27 / 5, 0, 24 / 5, 0) t .
Soluia optim n form general a problemei este:
~
~
X opt = X 1 + (1 ) X 2 , [0,1] , iar f max = 45 .
b3 ) n cazul n care c~ = (1,6) obinem urmtorul tabel simplex:
Baza

CB

a3

0
1
6

a1

a2
fj

XB

12
6
3
24
j

0
1
6

a4

a1
a2

fj

24/5
18/5
27/5
36
j

a1

a2

a3

a4

a5

0
0
1
6
0
0
0
1
5
0

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

0
1
0
1
0
0
1
0
5
0

5/2
1/2
-1/2
-5/2
5/2*
1
0
0
0
0

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

Pe linia j din prima iteraie exist un element strict pozitiv


( 4 = 5 ), prin urmare vom aplica n continuare algoritmul simplex
2

primal, pn la obinerea soluiei optime a problemei modificate:


~
~
X o = (18 / 5, 27 / 5, 0, 24 / 5, 0) t , f max = 36 .

c) Modificarea termenilor liberi ai restriciilor problemei


Vom folosi formula prin care se determin o soluie de baz X B a
sistemului de restricii corespunztoare unei baze date B :
X B = B 1 b , unde B este matricea care are pe coloane vectorii
bazei B i B 1 se citete din ultima iteraie a tabelului simplex, n
dreptul vectorilor care au format baza iniial; b este vectorul
termenilor liberi.
~
Dac vectorul termenilor liberi b devine b , se calculeaz
~
~
X B = B 1 b . Sunt posibile dou cazuri:
~
1) X B 0 , n acest caz soluia optim a problemei modificate
este format din variabilele bazice, care se pot citi din vectorul
~
X B i din variabilele secundare, care sunt egale cu zero.
~
2) X B are cel puin o component negativ; n aceast situaie,
se alctuiete un tabel simplex, n care se copiaz datele din
ultima iteraie a tabelului simplex al problemei iniiale, mai puin
~
coloana X B , unde se scriu elementele date de X B . Se aplic n
continuare algoritmul simplex dual.
~
c1 ) b = (1, 2, 3) t
~
~
Dup formula X B = B 1 b avem c soluia de baz a sistemului
~
de restricii cu termenii liberi dai de b , corespunztoare bazei
5
12 1 92
1
2


~
1
1
2 = 52 0 , deci
{a3 , a1 , a 2 } , este: X B = 0
2
2
1

1
1 3
2
0 2
2
soluia optim a problemei modificate este dat de:
x3 = 92 , x1 = 52 , x 2 = 12 , x 4 = x5 = 0 , sau

~
~
X o = ( 52 , 12 , 92 ,0,0) t , f max = 7 52 + 4 12 =

39
2

~
c 2 ) b = (5,3,1) t

~
~
Dup formula X B = B 1 b avem c soluia de baz a sistemului
~
de restricii cu termenii liberi dai de b , corespunztoare bazei
{a3 , a1 , a 2 } , este:
5
12 5 12
1
2


~
1
1
X B = 0
2
2 3 = 2 , care are i o component

1
1
1 1

2
0 2
negativ; prin urmare, vom aplica n continuare algoritmul simplex
dual.

CB

0
7
4

Baza
a3
a1
a2

fj

XB

12
2
-1
10
j

0
7
0

a3

a1
a4
fj

7
1
2
7
j

a1

a2

a3

a4

a5

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

1
0
0
0
0
1
0
0
0
0

0
1
0
7
0
0
1
0
7
0

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

Obinem c soluia optim a problemei modificate este:


~
~
X o = (1,0,7,2,0)t , f max = 7 1 + 4 0 = 7 .

-1/2
1/2
1/2
11/2
-11/2
2
1
-1
7
-7

PROBLEME PROPUSE
1. Se consider problema de programare liniar:

[max ] f

= 5 x1 + 9 x 2

3 x1 + 2 x 2 12
- x + x 8
2
1
x + x 6
2
1
x 0, i = 1,2
i

a) S se rezolve aceast problem.


b) S se determine soluia optim a problemei n cazul n care
coeficienii funciei obiectiv devin:
b1 ) c~ = (2,1) ;
b2 ) c~ = (1, 6 ) .
c) S se determine soluia optim a problemei n cazul n care
temenii liberi devin:
~
c1 ) b = (1, 2, 3)t ;
~
c2 ) b = (5, 3, 1)t ;
~
c3 ) b = (1, 2, 4)t .
R: a) X o = (0, 6)t , f max = 54 ;
~
~
b) b1 ) X o = (6, 0)t , f max = 30 ;
~
~
b2 ) X o = (0, 6)t , f max = 54 ;
~
~
c) c1 ) X o = (1, 2)t , f max = 23 ;
~
~
c2 ) X o = (0, 1)t , f max = 9 ;
t
~
~
c3 ) X o = 7 , 13 , f max = 152 .

(5 5 )

2. Se consider problema de programare liniar:

[min ] f

= 5 x1 + 3 x 2

4 x1 + 3 x 2 24
x x 3
2
1
x + x 9
1
2

x 0, i = 1,2
i

a) S se rezolve aceast problem.


b) S se determine soluia optim a problemei n cazul n care
coeficienii funciei obiectiv devin:
b1 ) c~ = (6, 5) ;
b2 ) c~ = (3, 8) ;
c) S se determine soluia optim a problemei n cazul n care
temenii liberi devin:
~
c1 ) b = (4, 5, 6)t ;
~
c1 ) b = (5, 3,1)t ;
~
c1 ) b = (3, 2, 4)t .

R: a) X o = (4, 3)t , f max = 29 ;


~
~
b) b1 ) X o = (4, 3)t , f max = 39 ;
~
~
b2 ) X o = (0, 7 )t , f max = 56 ;
t
~
~
c) c1 ) X o = 11 , 1 , f max = 29 ;
2 2
~
~
c2 ) X o = (1, 0)t , f max = 5 ;
~
~
c3 ) X o = (3, 1)t , f max = 18 .

6.6. REZOLVAREA UNEI PROBLEME DE


PROGRAMARE LINIAR PRIN MAI MULTE
METODE

PROBLEME REZOLVATE

S se rezolve urmtoarea problem de programare liniar prin toate


metodele cunoscute:

[min ] f

= 5 x1 + 4 x2 + 6 x3

x1 + 3 x2 + x3 6
2 x + x + 2 x 12
2
3
1
3 x + x + 2 x 24
2
3
1
x 0, i = 1,3
i

Rezolvare:

Metoda I. (folosind algoritmul simplex primal)


Forma standard de lucru a problemei este:

[min ] f

= 5 x1 + 4 x2 + 6 x3 + 0 x4 + 0 x5 + 0 x6 + My1 + My2 + My3


x1 + 3 x2 + x3 x4 + y1 = 6
2 x + x + 2 x x + y = 12
3
5
2
1 2
3 x + x + 2 x x + y = 24
3
6
3
1 2
x 0, i = 1,6
i

Realizm tabelul simplex:

CB

M
M
M

5
M
M

5
0
M

Baza
a7

a1

a2

a3

a4

a5

a6

a7

a8

a9

0
-1
0

0
0
-1

1
0
0

0
1
0

0
0
1

a9

1 2
2
1
3
1

1 -1
2 0
2 0

fj

42M

6M

5M

-M

-M

-M

6M-5 4M-4 5M-6 -M

-M

-M

a9

6
0
6

1
0
0

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

0
0
-1

1
-2
-3

0
1
0

0
0
1

fj

6M+30

5 -8M+10 -M+5 5M-5 -M

-M

-5M+5

0 -8M+6

-M

-6M+5

6
0
6

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

1/2
1/2
-3/2

0
0
1

6M+30

5 -M/2+5/2 -M+5 0

3M/2-5/2 -M

0 -M/2-3/2 -M-1 0 3M/2-5/2 -M

-M

8
2
4
40

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

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

5/3

10/3

-7/3

-8/3

a1
a8

a1
a4
a9

fj
a1
a4
a5
fj

6
12
24

a8

5
0
0

XB

4M

-M-1 5M-5 -M

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

-5/3
-5/3

1/3
1/3
2/3

5/3

-M 5/3 -M

Rezult soluia optim: X o = (8,0,0,2,4,0) t , f min = 40 .


Metoda II.(cu ajutorul problemei duale)
Scriem i rezolvm problema dual:

[max]g = 6 y1 + 12 y 2 + 24 y 3
y1 + 2y 2 + 3 y 3 5
2 y + y + y 4
2
3
1
y + 2y + 2 y 6
2
3
1
y 0, i = 1,3
i

Forma standard de lucru a problemei duale este:

0
0
-1

0
-M

6
6
8

-3M/2+5/2 M
-5M/2+5/2

0
2

6
18
-

[max ]g = 6 y1 + 12 y 2 + 24 y 3 + 0 y 4 + 0 y 5 + 0 y 6
y1 + 2y 2 + 3 y 3 + y 4 = 5
2 y + y + y + y = 4
2
3
5
1

y1 + 2y 2 + 2 y 3 + y 6 = 6
y 0, i = 1,6
i

Realizm tabelul simplex pentru problema dual:


CB

0
0
0

Baza
a4

a5
a6
fj

YB

5
4
6
0
j

24
0
0

a3
a5
a6
fj

5/3
7/3
8/3
40
j

12

24

a1

a2

a3

a4

a5

a6

1
2
1
0
6
1/3
5/3
1/3
8
-2

2
1
2
0
12
2/3
1/3
2/3
16
-4

1
0
0
0
0
1/3
-1/3
-2/3
8
-8

0
1
0
0
0
0
1
0
0
0

0
0
1
0
0
0
0
1
0
0

3
1
2
0
24
1
0
0
24
0

5/3
4
3

0
2

Soluia optim a problemei primale se citete de pe linia f j , n


dreptul vectorilor care au format baza iniial :
X o = (8,0,0) t , f min = 40 .
Metoda III. ( cu ajutorul algoritmului simplex dual)
Pentru a se putea aplica algoritmul simplex dual, este necesar s
avem o soluie dual realizabil. Pentru aceasta, va trebui s
nmulim cel puin o restricie cu -1. Observm c cel mai
convenabil este s nmulim toate restriciile cu -1; astfel, cu
ajutorul variabilelor de compensare, vom obine matricea identic
i algoritmul simplex va fi mai uor de aplicat, n condiiile n care
s-a obinut o soluie dual realizabil.

[min ] f

= 5 x1 + 4 x 2 + 6 x 3
x1 3 x 2 x 3 6
- 2 x x 2 x 12
1
2
3

3 x x 2 x 24
1
2
3

x 0, i = 1,3
i

Forma standard de lucru a problemei este:

[min ] f

= 5 x1 + 4 x 2 + 6 x3 + 0 x 4 + 0 x5 + 0 x 6
x1 3 x 2 x3 + x 4 = 6
- 2 x x 2 x + x = 12
1
2
3
5

+
3
2
x
x
x
x
1
2
3
6 = 24

x 0, i = 1,6
i

Realizm tabelul algoritmului simplex dual:


CB

0
0
0

Baza
a4
a5
a6

fj

XB

-6
-12
-24
0
j

0
0
5

a4
a5
a1
fj

2
4
8
40
j

a1

a2

a3

a4

a5

a6

0
1
0
0
0
0
1
0
0
0

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

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

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

-1
-2
-2
0
-6
-1/3
-2/3
2/3
10/3
-8/3

1
0
0
0
0
1
0
0
0
0

Rezult soluia optim: X o = (8,0,0,2,4,0) t , f min = 40 .

PROBLEME PROPUSE

S se rezolve urmtoarele probleme de programare liniar prin


toate metodele cunoscute:
[max] f = 3 x1 + 5 x 2
x + 3 x 2 11
1. 1
2 x1 + x 2 7
x , x 0
1 2

R: X o = (2, 3)t ; f max = 21 .

[min] f = 5 x1 9 x 2
2x x 4
2. 1 2

x1 + 3 x 2 3
x , x 0
1 2

R: X o = (3, 2)t ; f min = 3 .

[max] f = 4 x1 + 3 x 2

3.

2 x1 + x 2 5

x1 + 2 x 2 4
x , x 0
1 2

R: X o = (2, 1)t ; f max = 11 .

[min] f = 4 x1 + x 2
3 x 2 x 2 12
4. 1
x1 + x 2 5
x , x 0
1 2

R: X o = (22, 27 )t ; f min = 61 .

[max] f = 3 x1 + 4 x 2

5. 2 x1 + x 2 12

x1 + 2 x 2 4
x , x 0
1 2

R: X o = (4, 4)t ; f max = 28 .

[min] f = 3 x1 + 8 x 2

6. 3x1 2 x 2 3
x1 + x 2 2
x , x 0
1 2

R: X o = (7, 9)t ; f min = 51 .

[max] f = 7 x1 x 2

7. 3 x1 + x 2 6
x1 + 2 x 2 4
x , x 0
1 2

R: Problema nu are soluie.

[max] f = 3x1 + 5 x2
x1 + 2 x 2 8

8. 2 x1 + 3 x2 6

3x1 + x2 18
x1,2 0

R: X o = (4, 6 )t ; f max = 42 .

[min] f = 3 x1 + 2 x 2 + x3
2 x1 + x 2 + 3 x3 = 6
9. x1 + x 2 + x3 3
R: X o = (2, 2, 0 )t ; f max = 10 .
x + x + 2x 4
2
3
1
x 0, i = 1,3
i
[min] f = 6 x1 x 2 + 5 x3
x1 + x3 + 2 x 4 2

10. 2 x1 x 2 = 4

x + x x 1
3
4
2
x 0, i = 1,4
i

R: X o = (2, 0, 0, 2)t ; f min = 12 .

[min] f = 2 x1 x 2 + 2 x3
x1 + x 2 + x3 2

11. x 2 x + x 3
2
3
1
x + x 2x 3
2
3
1
x 0, i = 1,3
i

R: X o = (8, 5, 5)t ; f min = 21 .

[min] f = 4 x1 3 x 2 + x3
x1 + x 2 + x3 4
12. 2 x x + 3x = 4
R: X o = (0, 11, 5)t ; f min = 28 .
2
3
1

x1 x 2 + 2 x3 1
x 0, i = 1,3
i
[max] f = 2 x1 + 8 x 2 + 5 x3
x1 + 3 x 2 + 2 x3 = 30

13. x + 2 x + x 22
2
3
1

x1 + x 2 + x3 12
x 0, i = 1,3
i

R: X o = (3 , 6 + 3 , 6 6 )t , [0,1] ; f max = 78 .
[max] f = x1 + 2 x 2 + 4 x3
x1 + 2 x 2 6
14. 2 x1 + x 2 + x3 6
x + 2x 5
3
1
x 0, i = 1,3
i

t
R: X o = 0, 3, 5 ; f max = 16 .
2

[min] f = 3 x1 + 2 x 2 + 4 x3
2 x1 + x3 1

15. x + 3 x x 3
2
3
1

x + 2x 4
3
2
x 0, i = 1,3
i

R: X o = (0, 4, 0)t ; f min = 8 .

6.7. PROBLEME DE TRANSPORT

PROBLEME REZOLVATE
1. Un produs trebuie transportat de la furnizorii F1 , F2 ctre
beneficiarii B1 , B2 , B3 . Cantitile de care dispun cei trei furnizori,
necesarul fiecrui beneficiar i costurile unitare de transport sunt
date n tabelul urmtor:
F1
F2
Necesar

B1
3
4
40

B2
2
5
50

B3
2
6
40

Disponibil

60
70

a ) S se scrie modelul matematic al problemei.


b) S se determine planul optim de transport astfel nct costul
total de transport s fie minim, pornind de la o soluie de baz
obinut prin metoda colului de nord-vest.
Rezolvare:
Observaie. Fiecrui furnizor Fi i corespunde n coloana
disponibil cantitatea de care dispune, fiecrui beneficiar B j i

corespunde pe linia necesar cantitatea de care are nevoie, iar la


intersecia liniei furnizorului Fi cu coloana beneficiarului B j se
poate citi elementul Cij = costul unitar de transport de la Fi ctre
B j . Notm cu N suma cantitilor de pe linia necesar i cu D

suma cantitilor din coloana disponibil.


a) Notm cu xij cantitatea ce trebuie transportat de la
furnizorul "i" ctre beneficiarul " j " , unde i = 1,2 , j = 1,3 i cu
f costul total de transport. Observm c N = D , deci problema

este echilibrat. Modelul matematic al problemei de transport este:


[min ] f (x ) = 3x11 + 2 x12 + 2 x13 + 4 x21 + 5 x22 + 6 x23
x11 + x12 + x13 = 60
x + x + x = 70
22
23
21
x11 + x 21 = 40
x + x = 50
22
12
x13 + x23 = 40

xij 0, i = 1,2, j = 1,3


b) Etapa I. Se verific dac problema este echilibrat ( N = D );
deoarece N = D = 130 , rezult c aceast condiie este ndeplinit.
Etapa II. Se determin o soluie de baz, notat X 0 .
Vom folosi metoda colului de nord-vest.
1) Fie NV csua situat n colul de nord-vest al tabelului X 0 .
n NV se transport o cantitate egal cu minimul dintre necesarul
i disponibilul corespunztoare acestei csue (n NV se scrie
valoarea min{40,60}=40).
2) Se scade aceast valoare din disponibilul i necesarul
corespunztor csuei NV . Dac s-a epuizat necesarul, se
completeaz cu - csuele de pe coloana pe care se afl NV , iar
dac s-a epuizat disponibilul se completeaz cu - csuele de pe
linia pe care se afl NV .
3) Se reiau paii 1) , 2) pentru matricea rmas necompletat.
Obinem soluia X 0 :
40
-

20
30

40

Etapa III. Se verific dac soluia obinut este:


1) nedegenerat (dac are m + n 1 componente nenule, unde
m reprezint numrul de furnizori, iar n reprezint numrul de
beneficiari);

2) optim (dac ij 0, ()i = 1, m, j = 1, n ).


1) Se observ c soluia X 0 este nedegenerat.
2) Pentru testarea optimalitii, introducem variabilele
u i , i = 1,2 i v j , j = 1,3 , cu proprietatea c u i + v j = C ij , unde C ij

sunt costurile unitare de transport din csuele bazice (csuele


corespunztoare componentelor nenule ale soluiei).
2.1) Pentru determinarea variabilelor u i i v j vom folosi
urmtorul tabel, n care am copiat costurile C ij din csuele
nebazice i am dat uneia dintre variabile valoarea zero ( u1 = 0 ):

u1 =0

v1 =

v2 =

v3 =

2
5

u2 =

Din condiia u i + v j = C ij , i = 1,2 , j = 1,3 , obinem:


u1 + v1 = 3
v1 = 3 ;
u1 = 0

u 2 + v 2 = 5
u2 = 3 .
v2 = 2

u1 + v 2 = 2
v2 = 2 ;
u1 = 0

u2 + v3 = 6
v3 = 3 .
u2 = 3

2.2) Pentru variabilele u i i v j gsite calculm


Cij = u i + v j , i = 1,2, j = 1,3 i le scriem n urmtorul tabel:

u1 =0
u2 =3

v1 =3

v2 =2

v3 =3

3
6

2
5

3
6

2.3) Determinm apoi ij = C ij C ij , i = 1,2, j = 1,3 i


verificm criteriul de optim.

Toate calculele din etapa III .2) se pot sintetiza n urmtorul tabel:
v1 =3

v2 =2

v3 =3

u1 =0

u2 =3

X0

40

+
20
30
-

40

ij = C ij C ij

Etapa IV. Se observ c exist valori ij > 0 , prin urmare soluia


nu este optim.
Se alege cea mai mare dintre diferenele ij > 0 (n cazul acesta,
21 ) i n csua corespunztoare acesteia ( x21 ) se scrie . Se
formeaz un circuit ce pleac din i revine n , care merge n
unghi drept i are colurile nenule. n colurile circuitului se scriu
alternativ semnele + , -, ncepnd cu + de la . Se alege
= minimul csuelor marcate cu -: = min{40, 30} = 30 . Cu
= 30 se determin o nou soluie de baz X 1 , adunnd la
csuele marcate cu + i scznd la cele marcate cu -.
Vor rezulta urmtoarele iteraii:
v1 =3

v2 =2

v3 =5

u1 =0

u2 =1

-2

v1 =0

v2 =2

v3 =2

u1 =0

-3

u2 =4

v1 =1

v2 =2

v3 =2

1
4

2
5

2
5

X1

10
30
+

50

40
X2

40

50

+
10
30
-

X3

40

20
30

40

u1 =0
u2 =3

ij = C ij C ij

ij = C ij C ij

ij = C ij C ij

-2
0

0
0

0
-1

Deoarece criteriul de optim se verific ( ij 0, i = 1, 2, j = 1, 3),


rezult c soluia gsit n ultima iteraie este optim.

Observm c toate diferenele ij = 0 corespund unor variabile


bazice, deci soluia optim este unic. Am obinut X O :
20
30

40

40

sau: x11 = 0, x12 = 20, x13 = 40, x 21 = 40, x 22 = 30, x 23 = 0.


Costul total minim de transport este:
2

f min = C ij x ij = 3 0 + 2 20 + 2 40 + 4 40 + 5 30 + 6 0 = 430 u.m.


i =1 j =1

2. S se rezolve problema de transport:


F1
F2
F3
Necesar

B1

4
2
1

1
5
7

B3
3
6
4

70

80

50

Disponibil

60
40
100

Rezolvare:
Etapa 1. Se observ c problema este echilibrat.

Etapa II. Determinm o soluie iniial de baz.


Observaie. n cazul n care nu se specific folosirea unei anumite
metode pentru aflarea unei soluii iniiale de baz, este mai bine s
determinm cte o soluie prin mai multe metode i s o alegem
pe aceea care are costul total de transport minim.

a)

Prin metoda colului de nord-vest rezult soluia X


60
10
-

f 0 = 960

u .m .

30
50

50

b) Metoda costului minim pe linie


1) Fie ML csua de pe prima linie creia i corespunde cel mai
mic cost. n ML se transport o cantitate egal cu minimul dintre
necesarul i disponibilul corespunztoare acestei csue (vom
obine astfel x11 = 60 ).
2) Se scade aceast valoare din disponibilul i necesarul
corespunztor csuei ML . Dac s-a epuizat necesarul, se
completeaz cu - csuele de pe coloana pe care se afl ML , iar
dac s-a epuizat disponibilul se completeaz cu - csuele de pe
linia pe care se afl ML .
3) Se reiau paii 1) , 2) pentru matricea rmas necompletat.
Rezult soluia X 1 :
40
30
f 1 = 510 u . m .

60
20

50

c) Metoda costului minim pe coloan obinem:


1) Fie MC csua de pe prima linie creia i corespunde cel
mai mic cost. n MC se transport o cantitate egal cu minimul
dintre necesarul i disponibilul corespunztoare acestei csue (vom
obine astfel x31 = 70 ).
2) Se scade aceast valoare din disponibilul i necesarul
corespunztor csuei MC . Dac s-a epuizat necesarul, se
completeaz cu - csuele de pe coloana pe care se afl MC , iar
dac s-a epuizat disponibilul se completeaz cu - csuele de pe
linia pe care se afl MC .
3) Se reiau paii 1) , 2) pentru matricea rmas necompletat.
Rezult soluia X2 :
70

f 2 = 470

u .m .

60
20
-

20
30

d ) Metoda costului minim n tabel:


1) Fie MT csua de pe prima linie creia i corespunde cel
mai mic cost. n MT se transport o cantitate egal cu minimul
dintre necesarul i disponibilul corespunztoare acestei csue (vom
obine astfel x12 = 60 ).
2) Se scade aceast valoare din disponibilul i necesarul
corespunztor csuei MT . Dac s-a epuizat necesarul, se
completeaz cu - csuele de pe coloana pe care se afl MT , iar
dac s-a epuizat disponibilul se completeaz cu - csuele de pe
linia pe care se afl MT .
3) Se reiau paii 1) , 2) pentru matricea rmas necompletat.
Rezult soluia X3 :

f 3 = 470

70
u .m .

60
20
-

20
30

Alegem drept soluie iniial de baz pe aceea care are costul de


transport minim, adic pe X2 (care coincide cu X3 ).
Etapa III. Soluia aleas este nedegenerat, rmne s verificm
optimalitatea.
v1 =-1

v2 =1

v3 =2

u1 =0

-1

-5

-1

u2 =4

u3 =2

-4

X0

60
+

70
-

20

20
30
+

ij = C ij C ij

Etapa IV.
X1

20
50

60
20

u1 =0
u2 =4

50

u3 =3

v1 =-2

v2 =1

v3 =1

-2
2
1

1
5
4

1
5
4

ij = C ij C ij

-6
0
0

0
0
-3

-2
-1
0

Problema are soluie unic. Soluia optim este

X O:

60
20

20
50

50

Costul minim de transport este: fmin = 450 u.m.


3. S se rezolve problema de transport:

F1
F2
Necesar

B1

1
2
24

3
1
12

Disponibil

B3
2
3
36

42
30

Rezolvare:
Etapa 1. Se observ c problema este echilibrat.
Etapa II. Determinm o soluie iniial de baz.
a) Prin metoda colului de nord-vest rezult soluia X 0 :
24
-

f 0 = 162

b)

12
-

6
30

u .m .

Prin metoda costului minim pe linie obinem soluia X 1 :


24
-

f 1 = 126

12

18
18

u .m .

Soluiile obinute prin metoda costului minim pe coloan i n tabel


coincid cu X 1 .
Vom alege X1 drept soluie iniial de baz.
Etapa III. Aceast soluie este nedegenerat; verificm
optimalitatea.
v1 =1

v2 =0

v3 =2

u1 =0

-3

u2 =1

X1

24

12

+
18
18
-

ij = C ij C ij

Observm c 21 = 0 , dar x21 nu este variabil bazic, deci


problema are optim multiplu. Vom determina o nou soluie,
scriind n csua x21. Rezult = 18 i o nou soluie X 2 :
6
18

36
12

Soluia optim sub form general este:


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

4. S se rezolve problema de transport:


F1
F2
Necesar

B1

5
2
40

1
6
50

Disponibil

B3
3
4
60

30
80

Rezolvare:
Etapa I. Problema este neechilibrat (D < N ) .
Pentru echilibrare se introduce un furnizor fictiv, avnd
disponibilul egal cu N D = 40 i costurile unitare de transport
nule. Obinem problema:
B1

F1
F2
F3

5
2
0

1
6
0

B3
3
4
0

Necesar

40

50

60

Disponibil

30
80
40

Etapa II. Determinm cte o soluie iniial de baz prin cele patru
metode.
a ) Prin metoda colului de nord-vest rezult soluia X 0 :
30
10
-

f 0 = 550

u .m .

50
-

20
60

b) Prin metoda costului minim pe linie rezult soluia X 1 :

f 1 = 270

40
u .m .

30
20

40
20

c) Prin metoda costului minim pe coloan gsim soluia X2 :


40
-

30
20
-

20
40

f 2 = 310 u . m .
d ) Prin metoda costului minim n tabel obinem soluia X3 :
70

60
20
-

20
30

f 3 = 470 u . m .
Alegem X1 drept soluie iniial de baz.
Etapa III. Aceast soluie este nedegenerat, rmne s verificm
optimalitatea.
v1 =-1

v2 =1

v3 =1

-1
2
-2

1
4
0

1
4
0

ij = C ij C ij

X1

40
-

30
20

40
20

u1 =0

u2 =3
u3 =-1

-6
0
-2

Problema are soluie unic. Soluia optim este X O :


40
-

30
20

40
20

Costul total minim de transport este f min = 270 u.m.

0
-2
0

-2
0
0

5. S se rezolve urmtoarea problem de transport, pornind de


la o soluie de baz obinut prin metoda costului minim pe linie:
F1
F2
Necesar

B1

7
5
12

3
6
24

B3
6
4
18

Disponibil

24
30

Rezolvare:
Etapa 1. Se observ c problema este echilibrat.

Etapa II. Determinm o soluie iniial de baz prin metoda


costului minim pe linie i obinem soluia X 0 :
12

24
-

18

Etapa III. Observm c soluia obinut este degenerat (are


numai 3 componente nenule, n loc de 4).
Deoarece degenerarea soluiei s-a produs n faza iniial, vom
modifica problema astfel: adugm la fiecare cantitate din coloana
disponibil o valoare , iar la ultima cantitate de pe linia
necesar valoarea m , unde m reprezint numrul de
furnizori, iar este un numr pozitiv foarte mic, 0 . Dup
ce algoritmul a luat sfrit, nlocuim cu zero i apoi citim
soluia optim a problemei.
Astfel obinem problema modificat:
F1
F2
Necesar

B1
7
5
12

B2
3
4
24

B3
6
6
18+2

Disponibil

24+
30+

Soluia obinut prin metoda costului minim pe linie este X 0 :


12

24
-

18+

Aceasta este nedegenerat; verificm optimalitatea.


X1

12

24
-

u1 =0

18+

u2 =0

v1 =5

v2 =3

v3 =6

5
5

3
3

6
6

ij = C ij C ij

-2
0

0
-1

0
0

Rezult c problema are soluie optim unic, degenerat, X O :


24
12

18

Costul total minim de transport este:


f min = 3 24 + 5 12 + 6 18 = 240 u.m.
6. S se rezolve urmtoarea problem de transport, pornind de
la o soluie de baz obinut prin metoda costului minim pe
coloan:
F1
F2
F3
F4
Necesar

B1
3
4
2

B2
5
4
6

B3
5
7
7

5
20

6
70

6
70

9
7
5
8
70

Disponibil
30
60

50
90

Rezolvare:
Etapa I. Avem D = N = 230 u.m. , deci problema este echilibrat.
Etapa II. Determinm o soluie de baz prin metoda costului
minim pe coloan i obinem X 0 :
20
-

10
60
-

20
50

30
40

Etapa III. a) X 0 are 4 + 4 1 componente nenule, deci este


nedegenerat.
b) Testm optimalitatea soluiei:

v1 = 4

v2 = 5

v3 = 5

v4 = 7

u1 = 0

-2

u 2 = 1

-1

-3

-1

u 3 = 2

-3

-4

u4 = 1

X0
+

10

20

60
20
50
+

+
30
40
-

ij = C ij C ij

Se observ c 11 > 0 , prin urmare soluia nu este optim.


Etapa IV. n csua x11 adugm . Alegem
= min{20, 40, 20} = 20 . Cu = 20 gsim o nou soluie de baz
X1 :
20

10
60
50
20

70

a ) Observm c aceast soluie este degenerat.


Deoarece degenerarea soluiei s-a produs pe parcurs , vom scrie
ntr-una din csuele eliberate n etapa precedent ( x13 sau
x31 ). Vom obine o soluie nedegenerat X 2 :
20

10
60

50
20

70

b) Verificm optimalitatea acestei soluii:


X2
20

10
60

u1 = 0
u 2 = 1

70

50

u3 = 2

20

u4 = 1

v1 = 3

v2 = 5

v3 = 5

v4 = 7

3
2
1
4

5
4
3
6

5
4
3
6

7
6
5
8

ij = C ij C ij

0
-2
-1
-1

0
0
-3
0

0
-3
-4
0

-2
-1
0
0

Criteriul de optim este ndeplinit. Lum = 0 i rezult soluia


optim X O :
20

10
60
50
20

70

Costul total minim de transport este:


f min = 20 3 + 10 5 + 60 4 + 50 5 + 70 6 + 20 8 = 1480 u.m.

PROBLEME PROPUSE

S se scrie modelul matematic i s se determine planul optim de


transport pentru urmtoarele probleme, astfel nct costul total de
transport sa fie minim:
1.
F1
F2
Necesar

B1

4
5
50

3
6
60

B3
3
7
50

Disponibil

Disponibil

80
80

R: X :
30
30

50

50

f min = 670 u.m.

2.
B1

F1
F2
F3

4
7
1

6
5
2

B3
3
1
4

Necesar

100

40

60

50
80
70

R: X o :
50
20
20

50

60

f min = 450 u.m.

3.
B1

F1
F2
F3

6
4
2

8
5
7

B3
3
1
9

Necesar

70

80

50

B1

4
2
1

1
5
7

B3
3
6
4

70

20

50

Disponibil

60
40
100

R: X :
10
40
30

70

50

f min = 780 u.m.

4.
F1
F2
F3
Necesar

R: X :
20
70

40
10

f min = 250 u.m.

40
20

Disponibil

60
40
100

5.
B1

F1
F2
F3
Necesar

5
3
2

2
6
8

B3
4
7
5

10

Disponibil

8
6
12

R: X :
8
2
9

4
3

f min = 89 u.m.

6.
F1
F2
F3
Necesar

B1

3
4
9

8
5
7

B3
3
6
4

60

80

50

Disponibil

60
40
60

X :
60
40
10
30

50

f min = 650 u.m.

7.
B1
F1
F2
F3

5
1
7

2
4
1

B3
6
3
4

Necesar

80

70

50

Disponibil

40
60
100

R: X o :
20
60

20
50

50

f min = 450 u.m.

8.
B1

F1
F2
F3

2
3
1

4
3
5

B3
4
6
6

F4

4
10

5
60

5
60

Necesar

Disponibil

20

7
6
4

50

40

7
60

80

R: X o :
10

10

10 10

50
10 10

50 + 10

[0, 1] ; f min = 810 u.m.

40
20

9.
B1

F1
F2
F3

7
1
2

3
4
6

B3
5
6
1

F4

5
30

9
55

7
70

Necesar

Disponibil

30

8
7
5

60

50

4
60

80

R: X :
25 + 5

30

30 5

5 5
5

50
15

[0, 1] ; f min = 645 u.m.

60

10.
B1

F1
F2
F3

1
4
2

4
2
5

B3
5
7
3

F4

4
90

6
70

6
65

Necesar

9
7
5
8
70

Disponibil
20
55

40
90

R: X o :
20
55
40
70

15

20 15

15 15

5 + 15

70

[0, 1] ; f min = 650 u.m.


11.
B1

F1
F2
F3

6
4
2

5
3
6

B3
4
7
7

F4

4
25

6
70

3
90

Necesar

20

25

30
70
5

f min = 715 u.m.

9
5
5
8
85

R: X o :
15
50

55

Disponibil
35
50

55
70

12.
B1

F1
F2
F3

3
8
5

2
4
6

B3
6
2
7

F4
Necesar

1
20

6
40

4
95

F1
F2
F3

B1
2
4
2

B2
6
4
6

B3
5
7
1

3
35

2
65

6
70

5
7
6
3
60

Disponibil
80
35

50
20

13.

F4
Necesar

9
4
5
8
80

Disponibil
30
55

70
90

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