Sunteți pe pagina 1din 78

CAPITOLUL 6 OPTIMIZRI LINIARE

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

(*)

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 ) .

Ax = b , x0

unde

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 ,


p k =1

atunci

soluia
p 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 x2 1 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) A O S1 (d2) (d1) B S5 S3

x1

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
x1 x 2 = 2 x2 = 1

format din ecuaiile

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

Analog, C = d1 d 2 = C (4, 2 ) . D = d1 Ox 2 D(0, 6 ) . Deoarece mulimea X p este mrginit, rezult c: 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 .

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

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 ) . 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:
d 2 : 2 x1 + 3 x 2 = 6 care taie axele n punctele (0, 2 ) i (3, 0 ) .

( 5)

x2
S3 S2 B C A S1 (d1) O S4

x1

(d2)

Mulimea X p a soluiilor posibile ale problemei este reprezentat de interiorul i frontiera triunghiului ABC : X p = [ ABC ] , unde

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


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

( 5)

(2 )

Observm c funcia f atinge valoarea maxim n punctele (0, 2 ) i 3 ,1 . Conform observaiei 1 din breviarul teoretic, rezult c soluia optim a problemei este:
t X o = (0, 2 )t + (1 ) 3 ,1 , [0,1] , adic segmentul [BC ] .

( 5)

(3 ,1) = 6 . 2

(2 )

Valoarea optim a funciei obiectiv este max f = 6 .

(2 )

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 ) .
d 2 : x1 + 2 x 2 = 1 , care taie axele n punctele 0, 1

( 2 ) i (1, 0) .

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 O (d2) S1 x1

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 (d1)

S1

x1

(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 2 1 A= 1 2 a3 a 4 1 0 ; baza iniial este B = {a3 , a 4 } . 0 1

Pasul II. Alctuim tabelul simplex:


B
a3

CB

XB

5
a1

3
a2

0
a3

0
a4

a4

0 0
fj

8 7 0
j

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


0 8 f0 = = 0 8 + 0 7 = 0 ; 0 7

i coloana CB; de exemplu, primele dou elemente din linia f j s-au determinat astfel:

0 2 f1 = = 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

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
a1

CB

XB

5
a1

3
a2

0
a3

0
a4

8 2

a4

5 0
fj

4 3 20
j

1 0 5 0

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

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

0 1 0 0

Algoritmul se repet pn cnd se verific unul din criteriile de optim.


B
a1 a2

CB

XB

5
a1

3
a2

0
a3

0
a4

5 3
fj

3 2 21
j

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 A S1 (d1) (d2)

x1

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) . Avem c: f (0, 0) = 0 , f 0, 7 = 2

( 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 1 A= 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

2
a2

0
a3

0
a4

-M
a5

3 1

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

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

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
a6 a7 a5

CB

XB

8
a1

5
a2

2
a3

0
a4

0
a5

-M
a6

-M
a7

12 10 11

-M -M 0
fj

12 30 22
-42M
j

1 3 2
-4M

1 2 1
-3M

1 1 1
-2M 2+2M

-1 0 0
M -M

0 0 1
0 0

1 0 0
-M 0

0 1 0
-M 0

8+4M 5+3M

a6

a1 a5

-M 8 0
fj

2 10 2
80-2M
j

0 1 0
8 0

1/3 2/3 -1/3


16 M 3 M 1 3

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


8 2M 3 2M 2 3

0 0 1
0 0 0

1 0 0
-M

-1/3 1/3 -1/3


8+ M 3 8 4M 3

3 30 6

M -M

a3

a1 a5

2 8 0
fj

3 9 1 78
j

0 1 0 8 0

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

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

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
a3
a4

CB

XB

7
a1

4
a2

0
a3

0
a4

M
a5

1/1 1/2

M 0
fj

1 1 M
j

-1 1
-M -M-7

1 2
M M-4

-1 0
-M -M

0 1
0 0

1 0
M 0

a1 a4

M 4
fj

1/2 1/2 M/3+2


j

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

0 1 4 0

-1 0 -M -M

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

1 0 M 0

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

XB

3
a1

5
a2

0
a3

0
a4

-M
a5

3 -

-M 0
fj

3 2 -3M
j

a1 a4

3 0
fj

3 8 9
j

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

1 0 -M 0 1 2 3 -M-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
1.

= 7 x1 + 8 x 2

2 x1 + x 2 5 x1 + 2 x 2 4 x ,x 0 1 2 [min ] f = 6 x1 + 7 x 2 x1 + x 2 1 x1 2 x 2 1 x ,x 0 1 2 [max ] f = 4 x1 + 6 x 2 2 x1 + 3 x 2 6 - 2 x1 + 6 x 2 3 x ,x 0 1 2 [max] f = 3x1 + 7 x 2 2 x1 + 3 x 2 6 x1 2 x 2 4 x , x 0 1 2 [max] f = 2 x1 + 3x 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 = 2, x 2 = 1; f max = 22 .

2.

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

3.

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

4.

R: Problema are optim infinit.

5.

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

6.

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
[max] f = 3 x1 + 4 x2 2 x1 + x2 12 x1 + 2 x2 4 x , x 0 1 2

R: Problema nu are soluie..

8.

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

[max] f = 3 x1 + 5 x 2

9.

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

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

10.

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
2 x1 + x 2 5 x1 + 4 x 2 6 x , x 0 1 2

11.

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 2 2
[max] f = 5 x1 + 2 x2 + 8 x3 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

14.

[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

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

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

16.

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


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

17.

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


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

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
[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

19.

R: x1 = 0, x 2 = 14 , x3 = 11 ; f min = 81 5 5 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 2 x1 + x 2 + 3 x3 + x 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 3 x1 x2 + x3 30 x1 + 2 x2 + 3 x3 60 21. 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


[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

23.

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


3x1 + x2 + 3x3 + 2 x4 + x5 = 35 xi 0, i = 1,5

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

R: x1 = 0, x2 = 0, x3 = 0, x4 = 14, x5 = 7; f max = 35
[min] f = x1 + 2 x 2 + 4 x3 + 2 x 4 + x5

26. x1 + 3x 2 + 2 x3 + 3x 4 + x5 = 2

2 x1 + x 2 + 3 x 3 + 2 x 4 + 3 x5 = 3 xi 0, i = 1,5 7 7

R: x1 = 0, x2 =, x3 = 0, x 4 = 3 , x5 = 5 ; f min = 11 27.
7 [max] f = x1 + 2 x 2 + 3 x 3 + 4 x 4 + 5 x 5 2 x1 + x 2 + 2 x 3 + 3 x 4 + 3 x 5 = 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

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

x1 + x 2 + x 3 6

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

31. x1 + x 2 + 3 x 3 5

2 x1 + x 2 + x 3 3 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

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

x1 + 3 x 2 x 3 3

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

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

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

2 x1 + x 2 + x 3 6

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

R: x1 = 14 , x2 = 2 , x3 = 0; f max = 66 ;

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

x1 + x 2 + 2 x 3 7

R: x1 = 4 , x2 = 0, x3 = 13 ; f min = 4 ; 7 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

37. 2 x1 + x 2 + x3 1

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

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

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

2 x1 + 3 x 2 + x 3 6

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 2 x + 2 x x 2 2 4 1 x 0, i = 1,4 i

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

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 x1 + x 2 + 2 x3 5 x 4 4 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

= 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

dual PD :

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
PP :

= 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 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

= 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

a ) PD :

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


u1 + u3 + 2u 4 + u5 = 30 2u + u + u + u = 12 4 6 1 2 u1 + u 2 + 2u3 + u7 = 36 u 0, i = 1,7 i

b) Aducem problema dual la forma standard:

Realizm tabelul simplex:


B
a5 a6 a7

CB

UB

3
a1

5
a2

1
a3

6
a4

0
a5

0
a6

0
a7

0 0 0
gj

30 12 36 0
j

a5

a4 a7

0 6 0
gj

6 12 36 72
j

a3
a7 a4

1 6 0
gj

6 12 30 78
j

a3 a4 a2

1 6 5
gj

26 2 10 88
j

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

1 0 1 0 1 1 0 1 0 1 1 0 0 6 -5 1 0 0 1 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

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: PD :
4u1 + 7u 2 + 3u 3 5 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
= 3 x1 7 x 2 + 2 x3 x 4 2 x1 + 3 x 2 + x 4 2 4x x + 2x 1 1 2 3 3 x1 + x 2 + 2 x3 5 x 4 = 3 x1 0, x 2 R, x3 0, x 4 0

[min ] f
2.

[max ]g = 2u1 + u 2 + 3u 3
2u1 + 4u 2 + 3u 3 3 3u u + u = 7 2 3 R: PD 1 3u 2 + 2u 3 2 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

4.

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

R:

[min ] f

5. Se d urmtoarea problem de programare liniar:


= 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
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

R: a ) PD :

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:
= 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

[max ] f

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 :

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

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 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 x1 + 2 x 2 2 x 3 x 4 + x 7 = 15 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

Baza
a5 a6
a7

XB

3
a1

2
a2

4
a3

1
a4

0
a5

0
a6

0
a7

0 0 0

fj

-12 -9 -15 0
j

-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
a5

XB

3
a1

2
a2

4
a3

1
a4

0
a5

0
a6

0
a7

0 0 1

a6 a4 fj a3 a6 a4 fj

-42 -24 15 15
j

4 0 1

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


j

-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

-8 -5 2 2 -2 1 0 0
4 0

0 0 1 1 0 0 0 1
1 0

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


-1/4 -1/4

0 1 0 0 0 0 1 0
0 0

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


-3/2 -3/2

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 2 4

minim a funciei obiectiv corespunztoare acestei soluii este:

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

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

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

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

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

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

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

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

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

[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

5. x1 x 2 x 3 6

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

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

[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

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

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

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

x1 x 2 x 3 5

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

care f max = 15 . 7

[opt ] f = x1 2 x 2 + 3 x 3 4 x 4 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 t X o = 1 , 0, 0, 10 , f min = 13 . 3 3

10. 2 x1 x 2 + x 3 x 4 = 4

R: Dac problema este de maxim,

este de minim,

[min] f = 8 x1 + 3 x 2 x1 + 2 x 2 1 x i 0, i = 1,2

11. x1 x 2 1

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

Baza
a3
a4

XB

7
a1

4
a2

0
a3

0
a4

0
a5

0 0 0

a5 fj

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

-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

Baza
a3 a1 a2 fj

XB

4
a1

3
a2

0
a3

0
a4

0
a5

0 4 3

12 6 3 33
j

0 1 0 4 0

0 0 1 3 0

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

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

Baza
a3

XB

5
a1

5
a2

0
a3

0
a4

0
a5

0 5 5

a1 a2 fj

12 6 3 45
j

0 5 5

a4

a1 a2 fj

24/5 18/5 27/5 45


j

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:
CB

Baza
a3

XB

1
a1

6
a2

0
a3

0
a4

0
a5

0 1 6

a1

a2 fj

12 6 3 24
j

0 1 6

a4

a1 a2

fj

24/5 18/5 27/5 36


j

0 1 0 1 0 0 1 0 5 0

0 0 1 6 0 0 0 1 5 0

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

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 1 1 9 1 2 2 2 ~B 1 1 2 = 5 0 , deci {a3 , a1 , a 2 } , este: X = 0 2 2 2 1 1 1 3 2 0 2 2
soluia optim a problemei modificate este dat de: x3 = 9 , x1 = 5 , x 2 = 1 , x 4 = x5 = 0 , sau 2 2 2

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

39 2

~ ~ 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 1 5 12 1 2 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.

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

CB

Baza
a3
a1 a2

XB

7
a1

4
a2

0
a3

0
a4

0
a5

0 7 4

fj

12 2 -1 10
j

0 7 0

a3

a1 a4 fj

7 1 2 7
j

0 1 0 7 0 0 1 0 7 0

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

1 0 0 0 0 1 0 0 0 0

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

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

Obinem c soluia optim a problemei modificate este: ~ ~ X o = (1,0,7,2,0)t , f max = 7 1 + 4 0 = 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

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 ~ ~o c2 ) X = (1, 0)t , f max = 5 ; ~ ~ c3 ) X o = (3, 1)t , f max = 18 .

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 .

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

Baza
a7

XB

5
a1

4
a2

6
a3

0
a4

0
a5

0
a6

M
a7

M
a8

M
a9

6 6 8

M M M

a8 a9 fj

6 12 24
42M
j

1 2 2 1 3 1
6M 4M

1 -1 2 0 2 0
5M -M

0 -1 0
-M -M

0 0 -1
-M -M

1 0 0
M 0

0 1 0
M 0

0 0 1
M 0

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

5 M M

a1 a8

a9
fj

6 0 6
6M+30
j

1 0 0

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

0 0 -1
-M -M

1 -2 -3
-5M+5 -6M+5

0 1 0
M 0

0 0 1
M 0

0 2

5 -8M+10 -M+5 5M-5 -M 0 -8M+6

5 0 M

a1 a4 a9

6 0 6
6M+30
j

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

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


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

1/2 1/2 -3/2


-5M/2+5/2

0 0 1
0

6 18 -

fj

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

5 0 0
fj

a1 a4 a5

8 2 4 40
j

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


5 0 5/3 -7/3 10/3 -8/3 0 0

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


0 0 -5/3 -5/3 0 -M

0 0 -1
0

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:

[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

Baza
a4

YB

6
a1

12
a2

24
a3

0
a4

0
a5

0
a6

5/3 4 3

0 0 0

a5 a6 fj

5 4 6 0
j

24 0 0

a3 a5 a6 fj

5/3 7/3 8/3 40


j

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

3 1 2 0 24 1 0 0 24 0

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

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

[min ] f

Forma standard de lucru a problemei este:


= 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 x1 x 2 2 x3 + x 6 = 24 x 0, i = 1,6 i

Realizm tabelul algoritmului simplex dual:


CB

Baza
a4 a5
a6

XB

5
a1

4
a2

6
a3

0
a4

0
a5

0
a6

0 0 0

fj

-6 -12 -24 0
j

0 0 5

a4 a5
a1 fj

2 4 8 40
j

-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

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

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 [max] f = 4 x1 + 3 x 2 2 x1 + x 2 5 x1 + 2 x 2 4 x , x 0 1 2

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

3.

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


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

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

9. x1 + x 2 + x3 3

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

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

10. 2 x1 x 2 = 4

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

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

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

x1 + x 2 + x3 2

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

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

12. 2 x x + 3x = 4 2 3 1

x1 + x 2 + x3 4

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

R: X o = (0, 11, 5)t ; f min = 28 .

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

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

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
[min] f = 3 x1 + 2 x 2 + 4 x3
15. x + 3 x x 3 2 3 1

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

2 x1 + x3 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 ):
v1 = u1 =0 u2 = v2 =

v3 =

2 5

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:
v1 =3 v2 =2

v3 =3

u1 =0 u2 =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:
X0

v1 =3 u1 =0

v2 =2

v3 =3

ij = C ij C ij

40 +

+ 20 30 -

3 6

2 5

3 6

0 2

0 0

1 0

40

u2 =3

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:
X1

v1 =3
+ 40 X2

v2 =2

v3 =5

ij = C ij C ij

10 30 +

50

u1 =0 u2 =1

3 4
v1 =0

2 3
v2 =2

5 6
v3 =2

0 0

0 -2

3 0

ij = C ij C ij

40

50 +
X3

+ 10 30 -

u1 =0 u2 =4

0 4
v1 =1

2 6
v2 =2

2 6
v3 =2

-3 0

0 1

0 0
ij = C ij C ij

Deoarece criteriul de optim se verific ( ij 0, i = 1, 2, j = 1, 3), rezult c soluia gsit n ultima iteraie este optim.

40

20 30

40

u1 =0 u2 =3

1 4

2 5

2 5

-2 0

0 0

0 -1

Observm c toate diferenele ij = 0 corespund unor variabile bazice, deci soluia optim este unic. Am obinut X O :
40 20 30 40

sau: x11 = 0, x12 = 20, x13 = 40, x 21 = 40, x 22 = 30, x 23 = 0. Costul total minim de transport este:
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 3

2. S se rezolve problema de transport:


B1
F1 F2 F3
Necesar

4 2 1 70

1 5 7 80

B3 3 6 4

Disponibil

60 40 100

50

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 30 50 50

f 0 = 960

u .m .

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 60 20 20 30

f 2 = 470

u .m .

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 :
70 u .m . 60 20 20 30

f 3 = 470

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.
X0

v1 =-1
60

v2 =1

v3 =2

ij = C ij C ij

u1 =0
20 30 +

-1 3 1

1 5 3

2 6 4

-5 1 0

0 0 -4

-1 0 0

+ 70 -

20

u2 =4

u3 =2

Etapa IV.
X1

v1 =-2 u1 =0 u2 =4

v2 =1

v3 =1

ij = C ij C ij

20 50

60 20 50

u3 =3

-2 2 1

1 5 4

1 5 4

-6 0 0

0 0 -3

-2 -1 0

Problema are soluie unic. Soluia optim este


20 50 60 20 50

X O:

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


3. S se rezolve problema de transport:
B1 F1 F2
Necesar

1 2 24

3 1 12

B3 2 3 36

Disponibil

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 12 6 30

f 0 = 162

u .m .
24 12 18 18

b)

Prin metoda costului minim pe linie obinem soluia X 1 :


u .m .

f 1 = 126

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.
X1

v1 =1
+ 18 18 -

v2 =0

v3 =2

ij = C ij C ij

24 +

u1 =0

1 2

0 1

2 3

0 0

-3 0

0 0

12

u2 =1

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:


B1
F1 F2
Necesar

5 2 40

1 6 50

B3 3 4 60

Disponibil

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 B
2

F1 F2 F3
Necesar

5 2 0 40

1 6 0 50

B3 3 4 0

Disponibil

30 80 40

60

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 50 20 60

f 0 = 550

u .m .

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


40 u .m . 40 30 20 40 20

f 1 = 270

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


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
X1

v2 =1

v3 =1

ij = C ij C ij

40 -

30 20

40 20

u1 =0

u2 =3

u3 =-1

-1 2 -2

1 4 0

1 4 0

-6 0 -2

0 -2 0

-2 0 0

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.

5. S se rezolve urmtoarea problem de transport, pornind de la o soluie de baz obinut prin metoda costului minim pe linie:
B1 B
2

F1 F2
Necesar

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 -

18+

v1 =5

v2 =3

v3 =6

ij = C ij C ij

u1 =0 u2 =0

5 5

3 3

6 6

-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

Disponibil 30 60

9 7 5 8 70

50 90

5 20

6 70

6 70

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:

X0
+ 10 60 20 50 + + 30 40 20
u1 = 0
u 2 = 1
u 3 = 2

v1 = 4

v2 = 5

v3 = 5

v4 = 7

ij = C ij C ij

4 3 2 5

5 4 3 6

5 4 3 6

7 6 5 8

1 -1 0 0

0 0 -3 0

0 -3 -4 0

-2 -1 0 0

u4 = 1

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 70 50 20

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

70

50 20

b) Verificm optimalitatea acestei soluii:


X2
20 10 60
v1 = 3
v2 = 5

v3 = 5

v4 = 7

ij = C ij C ij

50 70 20

u1 = 0
u 2 = 1

u3 = 2
u4 = 1

3 2 1 4

5 4 3 6

5 4 3 6

7 6 5 8

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 70 50 20

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.
B1 B
2

F1 F2
Necesar

4 5 50 50

3 6 60

B3 3 7 50

Disponibil

80 80

R: X o :
50 30 30

f min = 670 u.m.

2.
B1 B
2

F1 F2 F3
Necesar

4 7 1 100

6 5 2 40

B3 3 1 4

Disponibil

50 80 70

60

R: X o :
50 50 20 20 60

f min = 450 u.m.

3.
B1 F1 F2 F3
Necesar

6 4 2 70 10 40 30 50

8 5 7 80

B3 3 1 9

Disponibil

60 40 100

50

R: X :
70

f min = 780 u.m.

4.
B1 F1 F2 F3
Necesar

4 2 1 70 40 10 40 20

1 5 7 20

B3 3 6 4

Disponibil

60 40 100

50

R: X :
20 70

f min = 250 u.m.

5.
B1 B
2

F1 F2 F3
Necesar

5 3 2 9 8 2

2 6 8 10

B3 4 7 5

Disponibil

8 6 12

R: X :
9 4 3

f min = 89 u.m.

6.
B1
F1 F2 F3
Necesar

3 4 9 60

8 5 7 80

B3 3 6 4

Disponibil

60 40 60

50

X :
60 40 10 30 50

f min = 650 u.m.

7.
B1 F1 F2 F3
Necesar

5 1 7 80

2 4 1 70

B3 6 3 4

Disponibil

40 60 100

50

R: X o :
20 60 20 50 50

f min = 450 u.m.

8.
B1 F1 F2 F3
F4
Necesar

2 3 1 4 10
10

4 3 5 5 60
10 10

B3 4 6 6

Disponibil 20 50

7 6 4 7 60

40 80

5 60

R: X o :
10 50 40 20

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


9.
B1

10 10

50 + 10

F1 F2 F3

7 1 2 5 30
25 + 5

3 4 6 9 55
5 5
5

B3 5 6 1

Disponibil 30 60

8 7 5 4 60

50 80

F4
Necesar

7 70

R: X o :
30
30 5

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

50 15

60

10.
B1 B
2

F1 F2 F3
F4
Necesar

1 4 2 4 90

4 2 5 6 70

B3 5 7 3

Disponibil 20 55

9 7 5 8 70

40 90

6 65

R: X o :
20 55 40 70
15 20 15

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


11.
B1 F1 F2 F3
F4
Necesar

15 15

5 + 15

70

6 4 2 4 25 15 50

5 3 6 6 70 20

B3 4 7 7

Disponibil 35 50

9 5 5 8 85

55 70

3 90

R: X o :
25 70 5 55 30

f min = 715 u.m.

12.
B1 B
2

F1 F2 F3
F4
Necesar

3 8 5 1 20

2 4 6 6 40

B3 6 2 7

Disponibil 80 35

5 7 6 3 60

50 20

4 95

13.
B1 2 4 2 B2 6 4 6

F1 F2 F3

B3 5 7 1

Disponibil 30 55

9 4 5 8 80

70 90

F4
Necesar

3 35

2 65

6 70