Sunteți pe pagina 1din 51

m n

2 ∑ ∑ Cijxij
i =1 j =1

(opt) f (x) OPTIMIZĂRI LINIARE

1. Mulţimi convexe

1.1
Să se demonstreze că intersecţia unei familii de mulţimi convexe este o mulţime
convexă.

Rezolvare

Ştim că mulţimea C ⊂ℝ n se numeşte convexă dacă pentru orice două puncte


X1, X2 ∈ C , segmentul care le uneşte este inclus în C. Altfel spus: dacă X1,X2 ∈ C atunci

X = λ X1 + (1 − λ )X2 ∈ C unde λ ∈ [0,1] .


Fie { A i }i∈I o familie de mulţimi convexe şi fie A = Ι A i .
i∈I

Fie X1,X2 ∈ A. Rezultă că X1 ∈ Ai, X2 ∈ Ai (∀) i∈I.

Cum Ai este mulţime convexă, rezultă că X1, X2 ⊂ A i (∀) i ∈ I am notat cu X1, X2

segmentul ce uneşte pe X1 cu X2). Rezultă că X1X2 ⊂ Ι A i = A deci A e o mulţime


i∈I

convexă.

1.2
Care din mulţimile de mai jos sunt convexe?

a) X = {( x, y ) ∈ ℝ2/ 1 ≤ x 2 + y 2 ≤ 4}

b) X = {( x, y ) ∈ ℝ2/ x 2 + y 2 = 9}

c) X = {( x, y ) ∈ ℝ2/ 9 x 2 + 4 y 2 ≤ 36 , y ≥ 0}
d) X = {( x, y ) ∈ ℝ2/ y ≥ x 2 , x ≥ 0}

e) X = {( x, y ) ∈ ℝ2/ xy ≤ 1, x ≤ 0 , y ≤ 0}

Rezolvare
a) X este coroana circulară haşurată în graficul de mai jos:
y
2 Se vede că dacă am alege
B
A 1/2 punctele A,B ∈ X, segmentul
0 1 x
AB ⊄ X deci mulţimea X nu este
convexă.
b) Mulţimea X este formată din punctele de pe circumferinţa
cercului cu centrul în origine şi rază 3.
y
Unind punctele A, B de pe
3 B
A
circumferinţă, AB nu aparţine lui X
deci0 mulţi 3 x mea nu este convexă.

c) X este mulţimea haşurată de mai jos:


y X este dată de intersecţia a două
3
mulţimi convexe: interiorul elipsei
A B
0 2 x

x2 y2
+ = 1 şi semiplanul y ≥ 0 deci este o mulţime convexă.
4 9
Se vede de asemenea că (∀) A,B∈X ⇒ AB ⊂ X .
d) y
y=x2

0 x

X este convexă deoarece este intersecţia a două mulţimi convexe: interiorul


parabolei y = x2 şi semiplanul x ≥ 0.
e) y X nu este mulţime convexă după
cum reiese din unirea punctelor

0 x A şi B.
A

B
1.3
Să se arate că mulţimea:
X = {( x, y ) ∈ ℝ2 / 3 x − 2y ≤ 6, x + y ≤ 3, x ≥ 0, y ≥ 0} este convexă şi să i se determine

vârfurile.

Rezolvare
X apare ca intersecţia a 4 semiplane deci este o mulţime convexă.

B
0 x
A
(d2)

(d1)

Vârful A apare ca intersecţia dreptei (d1): 3x – 2y = 6 cu axa ox de ecuaţie y = 0. Avem


deci A (2,0).
3 x − 2y = 6
Coordonatele lui B sunt date de soluţia sistemului: 
 x +y =3
 12 3 
Avem deci: B ,  .
 5 5
x = 0
(oy ) Ι (d2 ) ⇒  ⇒ C (0,3) .
x + y = 3
Mai avem evident: O (0,0).

1.4
Să se arate că mulţimea soluţiilor unui sistem de inecuaţii liniare este convexă.

Rezolvare
Fie sistemul de inecuaţii liniare scris sub formă algebrică
 b1   x1 
   
( )  b2  x 
AX ≤ b, A = ai j i =1,m , b =   , X =  2  .
Μ Μ
j =1,n    
b  x 
 m  n
Notă

O relaţie cu ≥ se transformă în ≤ prin înmulţire cu (-1) iar o egalitate se transformă

în două inegalităţi de sens contrar. Mulţimea T = { X ∈ ℝn / AX ≤ b} se mai numeşte

tronson.

Fie X1, X2 ∈T. Avem: AX1 ≤ b, AX2 ≤ b.

Fie X = λX1 + (1 − λ )X2 , λ ∈ [0,1] .


Avem: A X = λ A X1 + (1 − λ ) A X2 ≤ λ b + (1 − λ ) b = b deci X∈T.
Rezultă că tronsonul (mulţimea soluţiilor sistemului de inecuaţii liniare) este o mulţime
convexă.

2. Rezolvarea pe cale grafică a unei P.P.L.


(problemă de programare liniară)

Să se rezolve următoarele P.P.L prin metoda grafică:

2.1
(max) f(x) = 4x1 + 7x2
 x1 − x2 ≥ −3

2x1 + 3 x 2 ≤ 12 x1,2 ≥ 0
 x − 4x ≤ 4
 1 2

Rezolvare
Reprezentăm întâi grafic dreptele:
(d1) x1 – x2 = -3, (d2) 2x1 + 3x2 = 12, (d3) x1 – 4x2 = 4.
Poligonul convex al mulţimii soluţiilor posibile este mulţimea haşurată de mai jos:

X2

C (d3)
D
B

0 A X1
(d1)
(d2)
 60 4 
(d3 ) Ι (ox1) ⇒ A ( 4,0); (d2 ) Ι (d3 ) ⇒ B , ;
 11 11
 3 18 
(d1) Ι (d2 ) ⇒ C , ; (d1) Ι (0 x 2 ) ⇒ D (0,3) .
 
5 5 
Maximul funcţiei de eficienţă f se află într-unul din vârfurile poligonului. Avem:
 60 4  268
f ( A ) = f ( 4,0) = 16 , f (B) = f  ,  = ,
 11 11 11

 3 18  138
f (C) = f  ,  = , f (D) = f (0,3) = 21, f (0) = 0
5 5  5
138
rezultă că (max) f =
5

2.2
(min) f = 3x1 + 5x2
− 2x1 + x 2 ≤ 4

 x1 − 3 x 2 ≤ 6
 x2 ≥ 2

x1 ≥ 0

Rezolvare
Mulţimea soluţiilor posibile este haşurată în graficul de mai jos obţinut după
reprezentarea dreptelor: (d1): -2x1 + x2 = 4,
(d2): x1 - 3x2 = 6, (d3): x2 = 2.
X2

C (d2)
(d3)
A B
0 X1

(d1)

(d3 ) Ι (0 x1) ⇒ A (0, 2); (d2 ) Ι (d3 ) ⇒ B (12, 2); (d1) Ι (0 x 2 ) ⇒ C(0,4)
Avem: f(A) = 10, f(B) = 46, f(C) = 20, deci: (min)f = 10.
2.3
(max) f = 4x1 + 10x2
− x1 + x 2 ≤ 3

 2x1 + 5 x 2 ≤ 20 x1,2 ≥ 0
 x − 3x ≤ 6
 1 2
Rezolvare
Fie (d1): -x1 + x2 = 3, (d2): 2x1 + 5x2 = 20, (d3): x1 – 3x2 = 6.

y
(d3)
C
D
B

0 A x
(d1)
(d2)

Mulţimea soluţiilor posibile este poligonul convex haşurat de vârfuri:


 90 8   5 26 
o (0,0), A (6,0), B  , , C  , , D (0,3 ) .
 11 11  7 7 
Avem: f(0) = 0, f(A) = 24, f(B) = 40, f(C) = 40, f(D) = 30
Rezultă: (max) f = 40 şi este atins atât în vârful B cât şi în C.
Problema are optim multiplu şi orice punct de pe segmentul BC este o soluţie optimă.

2.4
(min) f = -2x1 + 3x2
 x1 + 2x 2 ≤ 4

3 x1 + 4 x 2 ≥ 24

x1,2 ≥ 0

Rezolvare
X2

(d1)

0 X1
(d2)

(d1): x1 + 2x2 = 4, (d2): 3x1 + 4x2 = 24.


Observăm că mulţimea soluţiilor posibile este vidă deci problema nu are soluţie
(intersecţia mulţimilor haşurate de mai sus este mulţimea vidă).
3. Algoritmul simplex. Metoda penalizării.
Problema duală. Algoritmul dual-simplex.

3.1
Să se rezolve următoarea P.P.L.:
(max) f = 4x1 + 7x2
 x1 − x2 ≥ −3

2x1 + 3 x 2 ≤ 12
 x − 4x ≤ 4
 1 2

x1,2 ≥ 0

Rezolvare
După ce înmulţim prima relaţie cu (-1), aducem P.P.L. la forma standard prin
adăugarea variabilelor de compensare y1, y2, y3.
(max)f = 4 x1 + 7 x 2 + 0 ⋅ y1 + 0 ⋅ y 2 + 0 ⋅ y 3 .

− x1 + x 2 + y1 = 3

 2x1 + 3 x 2 + y2 = 12
 x − 4x + y3 = 4
 1 2

x1,2 ≥ 0 , y1,2,3 ≥ 0 .

Observăm că matricea sistemului conţine matricea unitate de ordinul trei, deci putem
aplica algoritmul simplex (spunem că avem P.P.L. sub formă standard de lucru).

4 7↓ 0 0 0
Baza CB XB θ0
a1 a2 a3 a4 a5

← a3 0 3 -1 1 1 0 0 3:1=3
a4 0 12 2 3 0 1 0 12 : 3 = 4
a5 0 4 1 -4 0 0 1 -

fj 0 0 0 0 0 0
∆j = Cj -fj * 4 7 0 0 0

a2 7 3 -1 1 1 0 0 -
← a4 0 3 5 0 -3 1 0 3/5
a5 0 16 -3 0 4 0 1 -

fj 21 -7 7 7 0 0
* 11 0 -7 0 0
∆j

a2 7 18/5 0 1 2/5 1/5 0


a1 4 3/5 1 0 -3/5 1/5 0
a5 0 89/5 0 0 11/5 3/5 1

fj 138/5 4 7 2/5 11/5 0


∆j * 0 0 -2/5 -11/5 0

Întrucât toţi ∆ j ≤ 0, j = 1, 5 , am obţinut soluţia optimă:

89 138
x1 = 3 / 5, x 2 = 18 / 5, y1 = y 2 = 0, y 3 = , (max)f =
5 5
(vezi 2.1 )
Deoarece y1 = y 2 = 0, y 3 ≠ 0 rezultă că primele două relaţii sunt egalităţi iar a treia este

inegalitate strictă.

3.2
(max) f = 4x1 + 10x2
− x1 + x 2 ≤ 3

 2x1 + 5 x 2 ≤ 20
 x − 3x ≤ 6
 1 2

x1, 2 ≥ 0

Rezolvare
Forma standard este: (max) f = 4x1 + 10x2
− x1 + x 2 + y1 = 3

 2x1 + 5 x 2 + y2 = 20
 x − 3x + y3 = 6
 1 2

x1, 2 ≥ 0 y1,2,3 ≥ 0 .

Notă
Variabilele de compensare yi ≥ 0 , i = 1, 2,3 , capătă în funcţia de eficienţă f
coeficienţii zero.
4 ↓ 10 0 0 0
Baza CB XB θ0
a1 a2 a3 a4 a5

← a3 0 3 -1 1 1 0 0 3
a4 0 20 2 5 0 1 0 24
a5 0 6 1 -3 0 0 1 -

fj 0 0 0 0 0 0
∆j = Cj -fj * ↓4 10 0 0 0

a2 10 3 -1 1 1 0 0 -
← a4 0 5 7 0 -5 1 0 5/7
a5 0 15 -2 0 3 0 1 -

fj 30 -10 10 10 0 0
∆j = Cj -fj * 14 0 ↓-10 0 0

a2 10 26/7 0 1 2/7 1/7 0 13


a1 4 5/7 1 0 -5/7 1/7 0 -
←a5 0 115/7 0 0 11/7 2/7 1 115/11

fj 40 4 10 0 2 0
∆j * 0 0 0 -2 0

a2 10 8/11 0 1 0 1/11 -2/11


a1 4 90/11 1 0 0 3/11 5/11
a3 0 115/11 0 0 1 2/11 7/11

fj 40 4 10 0 2 0
∆j * 0 0 0 -2 0

 x1 = 5 / 7 
În iteraţia a treia s-a obţinut soluţia optimă: X1 :   .
 x 2 = 26 / 7 
Deoarece am găsit ∆ 3 = 0 , vectorul a3 nefiind în bază, algoritmul s-a continuat şi am

 90 
 x1 = 
obţinut încă o soluţie optimă: X2 :  11  .
 x = 8 / 11
 2 
Problema are soluţie multiplă dată de relaţia:
X = λ X1 + (1 − λ ) X2 , λ ∈ [0,1] .

şi (max) f = 40. (vezi 2.3 )


3.3
(min) f = -2x1 + 3x2
 x1 + 2x 2 ≤ 4

3 x1 + 4 x 2 ≥ 24

x1,2 ≥ 0

Rezolvare
Prin introducerea variabilelor de compensare yi ≥ 0, i = 1, 2 , restricţiile devin:

 x1 + 2x 2 + y1 = 4
 .
3 x1 + 4 x 2 − y2 = 24

Deoarece lipseşte al doilea vector unitar, la restricţia a doua adăugăm o variabilă artificială
(de penalizare) z1 care în funcţia f capătă coeficientul λ .
Avem: (min) f = − 2x1 + 3 x 2 + λz1 .

 x1 + 2x 2 + y1 = 4

3 x1 + 4 x 2 − y2 + z1 = 24

x1, 2 ≥ 0, y1,2 ≥ 0, z1 ≥ 0

-2 ↓3 0 0 λ
Baza CB XB θ0
a1 a2 a3 a4 a5

← a3 0 4 1 2 1 0 0 2
a5 λ 24 3 4 0 -1 1 6

fj 24 λ 3λ 4λ 0 -λ λ
∆j = fj - cj * ↓ 3 λ +2 4 λ -3 0 -λ 0

←a2 3 2 1 1/2 0 0 4
1/2
a5 λ 16 1 0 -2 -1 1 16

3 3
fj 16 λ +6 λ+ 3 -2 λ + -λ λ
2 2
7 3
∆j * λ+ 0 -2 λ + -λ 0
2 2
a1 -2 4 1 2 1 0 0
a5 λ 12 0 -2 -3 -1 1

fj 12 λ -8 -2 -2 λ -4 -3 λ -2 -λ λ
∆j * 0 -2 λ -7 -3 λ -2 -λ 0
Întrucât toţi ∆ j ≤ 0, j = 1,5 am obţinut iteraţia optimă.

Deoarece în ultima bază a rămas vectorul de penalizare a5 cu valoarea 12 ≠ 0 pe coloana


lui XB (adică z1 = 12), P.P.L. nu are soluţie (vezi 2.4 ).

3.4
O întreprindere urmăreşte minimizarea cheltuielilor totale de producţie la patru
produse P1, P2, P3, P4 ţinând cont de consumurile specifice la două materii prime
principale M1, M2.

Datele sunt furnizate de următorul tabel:


Produse P1 P2 P3 P4 Disponibil
Materii prime
M1 6 4 8 4 600
M2 0 2 4 6 160
Cheltuieli unitare de
10 8 4 8
producţie

Planul la cele patru produse este de 100 unităţi. Datorită necesităţilor interne ale
întreprinderii, produsul P3 trebuie să fie de cel puţin 20 unităţi. Cum trebuie organizată
producţia întreprinderii astfel încât planul să fie îndeplinit sau depăşit iar consumul total de
materii prime să fie conform disponibilului existent?

Rezolvare

Fie xi cantitatea care se produce din Pi, i = 1,4 . Modelul matematic al P.P.L. este:
(min) f = 10x1 + 8x2 + 4x3 + 8x4
6 x1 + 4 x 2 + 8x3 + 4x 4 ≤ 600
 2x 2 + 4x3 + 6x 4 ≤ 160


 x1 + x 2 + x3 + x4 ≥ 100
 x3 ≥ 20

xi ≥ 0 i = 1, 4
Primele două restricţii se referă la materiile prime iar ultimele două sunt restricţii de plan.
Pentru a micşora numărul de restricţii, putem face translaţia: t 3 = x 3 − 20 adică

x 3 = t 3 + 20 .
Observăm de asemenea că putem simplifica cu 2 primele două restricţii. Obţinem
următoarea P.P.L.:
(min) f = 10x1 + 8x2 +4t3 +8x4 +80
3 x1 + 2x 2 + 4t 3 + 2x 4 ≤ 220

 x2 + 2t 3 + 3x 4 ≤ 40
 x
 1 + x2 + t3 + x4 ≥ 80

x1 ≥ 0, x 2 ≥ 0, t 3 ≥ 0, x 4 ≥ 0

Introducând variabilele de compensare yi≥0, i = 1, 2, 3 şi variabila de penalizare z1≥0


obţinem:
(min) f = 10x1 + 8x2 + 4t3 + 8x4 + λz1

3 x1 + 2x 2 + 4t 3 + 2x 4 + y1 = 220

 x2 + 2t 3 + 3x 4 + y2 = 40
 x
 1 + x2 + t3 + x4 − y3 + z1 = 80

x1 ≥ 0, x 2 ≥ 0, x 4 ≥ 0, t 3 ≥ 0, yi ≥ 0 i = 1, 2, 3 , z1 ≥ 0

10 ↓8 4 8 0 0 0 λ
Baza CB XB θ0
a1 a2 a3 a4 a5 a6 a7 a8
2 0

a5 0 220 3 2 4 2 1 0 0 0 110
←a6 0 40 0 1 2 3 0 1 0 0 40
a8 λ 80 1 1 1 1 0 0 -1 1 80

fj 80 λ λ λ λ λ 0 0 -λ λ
∆ j = f j – cj ↓ λ -10 λ -8 λ -4 λ -8 0 0 -λ 0
*

a5 0 140 3 0 0 -4 1 -2 0 0 140/3
a2 8 40 0 1 2 3 0 1 0 0 -
←a8 λ 40 1 0 -1 -2 0 -1 -1 1 40

fj 40 λ +320 λ 8 16- λ 24-2 λ 0 8- λ -λ λ


∆j * λ -10 0 12- λ 16-2 λ 0 8- λ -λ 0

←a5 0 20 0 0 3 2 1 1 3 -3 20/3
a2 8 40 0 1 2 3 0 1 0 0 20
a1 10 40 1 0 -1 -2 0 -1 -1 1 -

fj 720 10 8 6 4 0 -2 -10 10
∆j * 0 0 2 -4 0 -2 -10 10- λ
a3 4 20/3 0 0 1 2/3 1/3 1/3 1 -1
a2 8 80/3 0 1 0 5/3 -2/3 1/3 -2 2
a1 10 140/3 1 0 0 -4/3 1/3 -2/3 0 0

yj 2120/3 10 8 4 8/3 -2/3 -8/3 -12 12


∆j * 0 0 0 -16/3 -2/3 -8/3 -12 12- λ

Soluţia optimă este:


140 80 20 80
x1 = , x2 = , x3 = t 3 + 20 = + 20 = ,
3 3 3 3
2120 2360
x 4 = 0, y1 = y 2 = y 3 = z1 = 0 şi (min)f = + 80 =
3 3
3.5
Două întreprinderi A şi B trebuie să primească un minim de investiţii şi anume:
¾ 60 u.m. întreprinderea A
¾ 120 u.m. întreprinderea B.
Se ştie că:
¾ fondul total de investiţii este 220 u.m.
¾ producţia globală la 1 u.m. investiţii este 1,2 respectiv 1,4 u.m.
¾ cheltuielile materiale la 1 u.m. producţie globală sunt
0,4 respectiv 0,5 u.m.
¾ cele două întreprinderi trebuie să obţină o producţie globală de cel puţin 265
u.m.
Cum trebuie repartizat fondul de investiţii pe cele două întreprinderi astfel încât cheltuielile
materiale totale să fie minime?

Rezolvare
Fie xi fondul de investiţii ce trebuie repartizat întreprinderii
i, i = 1,2. Modelul matematic al problemei este:
(min)f ( x ) = 0,4 ⋅ 1,2 x1 + 0,5 ⋅ 1,4 x 2

 x1 + x 2 ≤ 220
1,2x + 1,4 x ≥ 265
 1 2

 x1 ≥ 60
 x2 ≥ 120

x1, 2 ≥ 0

Putem face transformările: t 1 = x 1 − 60 ≥ 0, t 2 = x 2 − 120 ≥ 0 .


adică: x1 = t1 + 60, x 2 = t 2 + 120 .
P.P.L. devine:
(min) g = 0,48 t1 + 0,7t 2

 t1 + t 2 ≤ 40  t + t2 ≤ 40
 ⇒  1
1,2t1 + 1,4t 2 ≥ 25 6t1 + 7t 2 ≥ 125

t1, 2 ≥ 0 t1, 2 ≥ 0

Introducem variabilele de compensare şi de penalizare:


(min) g = 0,48 t1 + 0,7t 2 + λz1

 t1 + t 2 + y1 = 40

6t1 + 7t 2 − y2 + z1 = 125

t1, 2 ≥ 0, y1, 2 ≥ 0, z1 ≥ 0

0,48 0,7 0 0 λ
Baza CB XB θ0
a1 a2 a3 a4 a5

a3 0 40 1 1 1 0 0 40
←a5 λ 125 6 7 0 -1 1 125/7

fj 125 λ 6λ 7λ 0 -λ λ
∆j = fj- Cj * ↓ 6 λ -0,48 7 λ -0,7 0; -λ 0

a3 0 155/7 1/7 0 1 1/7 -1/7 155


←a2 0,7 125/7 6/7 1 0 -1/7 1/7 125/6

fj 12,5 0,6 0,7 0 -0,1 0,1


∆j * 0,12 0 0 -0,1 0,1- λ

a3 0 115/6 0 -1/6 1 1/6 -1/6


a1 0,48 125/6 1 7/6 0 -1/6 1/6

fj 10 0,48 0,56 0 -0,08 0,08


∆j * 0; -0,14 0 -0,08 0,08- λ

Soluţia optimă este:


125
t1 = 125 / 6, t2 = 0 adică: x1 = + 60 ≅ 80,8 u.m. x2 = 120 u.m. şi (min)g = 10.
6
Fondul de investiţii se repartizează astfel: întreprinderea A primeşte 80,8 u.m., iar B
primeşte 120 u.m. Cheltuielile materiale minime necesare realizării producţiei globale de
265 u.m. se ridică la:
0,48 ⋅ 60 + 0,7 ⋅ 120 + 10 = 122,80 u.m.
3.6
a) Să se rezolve următoarea P.P.L.
(min) f = x1 + 3x2 -2x3
 2x1 + x2 + x3 ≥ 3

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

xi ≥ 0, i = 1, 2, 3
b) Aflaţi coordonatele vectorilor ai, i = 1, 2, 3 în baza optimă.

Rezolvare
a) (min)f = x1 + 3 x 2 − 2x 2 + λz1 + λz 2

 2x1 + x 2 + x3 − y1 + z1 =3

− x1 + 3 x 2 + 4x3 + z2 =2

xi ≥ 0, i = 1, 2,3 ; y1 ≥ 0; z1, 2 ≥ 0

1 3 ↓-2 0 λ λ
Baza CB XB θ0
a1 a2 a3 a4 a5 a6

a5 λ 3 2 1 1 -1 1 0 3
←a6 λ 2 -1 3 4 0 0 1 1/2

fj 5λ λ 4λ; 5λ -λ; λ λ
∆ j = fj - Cj * ↓ λ -1; 4 λ -3 5 λ +2 -λ 0 0

←a5 λ 5/2 9/4 1/4 0 -1 1 -1/4 10/9


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

fj 5λ − 2 9λ + 2 λ −6 -2 -λ λ −λ −2
2 4 4 4
∆j 9λ − 2 λ − 18 − 5λ − 2
* 0 -λ 0
4 4 4

a1 1 10/9 1 1/9 0 -4/9 4/9 -1/9


a3 -2 7/9 0 7/9 1 -1/9 1/9 2/9

5
fj -4/9 1 -13/9 -2 -2/9 2/9 −
3
40 2 5
∆j * 0; − 0 -2/9 -λ − − λ
9 9 3
10 7
Soluţia optimă: x1 = , x 2 = 0, x3 = ; y1 = 0; z1 = z2 = 0
9 9
4
(min)f = − .
9
Deoarece y1 = 0 rezultă că pentru soluţia optimă prima relaţie este satisfăcută cu egal.

b) Varianta 1:
Baza optimă este B = {a1, a3}. Coordonatele vectorilor ai, i = 1,2,3 în B (reamintim că ai

este vectorul coloană al necunoscutei xi din


sistemul de restricţii) sunt coloanele lui ai din iteraţia optimă, adică:
1  1 / 9   0
a1B =  , a2B =  , a3B =   .
0 7 / 9  1 

Varianta2:
 2 1
Fie B =   matricea bazei B = {a1, a3}.
 − 1 4
Ştim că B-1 se află în iteraţia optimă sub vectorii unitari din baza iniţială, adică sub a5, a6.
Avem deci:
1  4 − 1
B −1 =  .
9  1 2 

1  4 − 1  2  1 
Avem: a1B = B−1a1 =    =   .
9  1 2   − 1  0 

 4 − 1 1  1 1 
a2B = B−1a2 = 1    =   .
9  1 2   3  9  7 

 4 − 1 1   0 
a3B = B−1a3 = 1    =   .
9  1 2   4  1 

3.7
Să se rezolve următoarea P.P.L.:
(max) f = x1 − 2x 2 + 4 x 3
 2x1 + x 2 − x3 ≥2

 x1 − x 2 + 2x 3 =3
− x + 2 x + x3 ≤1
 1 2

xi ≥ 0 i = 1, 2, 3 .

Rezolvare
Transformăm inegalităţile în egalităţi:
 2x1 + x 2 − x3 − y1 =2

 x1 − x 2 + 2x 3 =3
− x + 2 x + x3 + y2 =1
 1 2

Deoarece lipsesc primul şi al doilea vectori unitari, adăugăm variabilele de penalizare z1


respectiv z2; ele capătă în f coeficientul − λ . Problema devine:
(max) f = x1 − 2x 2 + 4 x 3 − λz1 − λz2

 2x1 + x 2 − x3 − y1 + z1 =2

 x1 − x 2 + 2x 3 + z2 =3
− x + 2 x + x3 + y2 =1
 1 2

x1,2,3 ≥ 0, y1,2 ≥ 0, z1,2 ≥ 0 .

↓1 -2 4 0 0 -λ -λ
Baza CB XB θ0
a1 a2 a3 a4 a5 a6 a7

←a6 -λ 2 2 1 -1 -1 0 1 0 1
0 0 1 3
a7 -λ 3 1 -1 2 0
a5 0 1 2 1 0 1 0 0 -
-1

fj -5 λ -3 λ 0 -λ λ 0 -λ -λ
∆ j =Cj – fj * 3 λ +1 -2 ↓ λ +4 -λ 0 0 0

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


←a7 -λ 2 0 -3/2 5/2 1/2 0 -1/2 1 4/5
a5 0 2 0 5/2 1/2 -1/2 1 1/2 0 4

fj 1-2 λ 1 1 + 3λ − 1 − 5λ − 1 − λ 1+ λ -λ
0
2 2 2 2

− 5 − 3λ 9 + 5λ 1+ λ − 3λ − 1
∆j * 0 0
2 2 0
2 2

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


a3 4 4/5 0 -3/5 1 1/5 0 -1/5 2/5 -
←a5 0 8/5 0 14/5 0 -3/5 1 3/5 -1/5 4/7
fj 23/5 1 -11/5 4 2/5 0 -2/5 9/5

2 9
∆j * 0 1/5 0 -2/5 0 − λ + − λ −
5 5

a1 1 9/7 1 0 0 -5/14 -1/14 5/14 3/14


a3 4 8/7 0 0 1 1/14 3/14 -1/14 5/14
a2 -2 4/7 0 1 0 -3/14 5/14 3/14 -1/14

fj 33/7 1 -2 4 5/14 1/14 -5/14 25/14

5 25
∆j * 0 0 0 -5/14 -1/14 − λ + − λ −
14 14

Soluţia optimă: x1 = 9 / 7, x 2 = 4 / 7, x 3 = 8 / 7; y1 = y 2 = 0;

33
z1 = z 2 = 0; (max)f = .
7

Notă
Toate relaţiile sunt satisfăcute cu egal pentru soluţia optimă.

3.8
Se face un amestec din ingredientele I1, I2, I3, I4 cu scopul obţinerii unui produs finit
în cantitate de cel puţin 1000t. Ingredientele conţin substanţele nutritive S1, S2, iar
amestecul trebuie să conţină cel puţin 20 000gr. din S1 şi 24 000gr. din S2.
Datele sunt prezentate în următorul tabel:

Ingrediente Conţinutul în grame pe tonă


Necesar grame
Substanţe I1 I2 I3 I4
S1 30 20 10 20 20 000
S2 10 30 20 10 24 000
Cost unitar 6 4 5 3

Cum trebuie făcut amestecul pentru a avea un cost total minim?

Rezolvare

Notând cu xi cantitatea din ingredientul Ii, i = 1, 4 care intră în amestec, modelul


matematic este:
(min) f = 6x1 + 4x2 + 5x3 +3x4
30 x1 + 20 x 2 + 10 x3 + 20 x 4 ≥ 20000

10 x1 + 30 x 2 + 20 x3 + 10 x 4 ≥ 24000
 x + x + x3 + x4 ≥ 1000
 1 2

xi ≥ 0, i = 1, 4

Rezolvare
Împărţind cu 10 primele două relaţii, restricţiile devin:
3 x1 + 2x 2 + x3 + 2x 4 ≥ 2000

 x1 + 3 x 2 + 2x 3 + x4 ≥ 2400
 x + x + x3 + x4 ≥ 1000
 1 2

xi ≥ 0, i = 1, 4

Dacă am aplica algoritmul Dimplex primal, ar trebui să extindem problema cu 3 variabile


de compensare şi încă 3 de penalizare.
Vom rezolva problema duală:
(max) g = 2000u1 + 2400u2 + 1000u3
3u1 + u2 + u3 ≤ 6
2u + 3u2 + u3 ≤ 4
 1
 ⇒
 u1 + 2u2 + u3 ≤ 5
2u1 + u2 + u3 ≤ 3

ui ≥ 0, i = 1, 2, 3

3u1 + u2 + u3 + y1 = 6
2u + 3u2 + u3 + y2 = 4

⇒  1
 u1 + 2u2 + u3 + y3 = 5
2u1 + u2 + u3 + y4 = 3

ui ≥ 0, i = 1,3 ; y j ≥ 0, j = 1, 2,3,4

2000 ↓2400 1000 0 0 0 0


Baza CB UB θ0
a1 a2 a3 a4 a5 a6 a7
2

a4 0 6 3 1 1 1 0 0 0 6
←a5 0 4 2 3 1 0 1 0 0 4/3
a6 0 5 1 2 1 0 0 1 0 5/2
a7 0 3 2 1 1 0 0 0 1 3

∆ j = Cj – gj 0 ↓2000 2400 1000 0 0 0 0


a4 0 14/3 7/3 0 2/3 1 -1/3 0 0 2
a2 2400 4/3 2/3 1 1/3 0 1/3 0 0 2
a6 0 7/3 -1/3 0 1/3 0 -2/3 1 0 -
←a7 0 5/3 4/3 0 2/3 0 -1/3 0 1 5/4

gj 3200 1600 2400 800 0 800 0 0


∆j * 400 0 ↓200 0 -800 0 0

a4 0 7/4 0 0 -1/2 1 1/4 0 -7/4 -


a2 2400 1/2 0 1 0 0 1/2 0 -1/2 -
a6 0 11/4 0 0 1/2 0 -3/4 1 1/4 11/2
←a1 2000 5/4 1 0 1/2 0 -1/4 0 3/4 5/2

gj 3700 2000 2400 1000 0 700 0 300


∆j * 0 0 0 0 -700 0 -300

a4 0 3 1 0 0 1 0 0 -1
a2 2400 1/2 0 1 0 0 1/2 0 -1/2
a6 0 3/2 -1 0 0 0 -1/2 1 -1/2
a3 1000 5/2 2 0 1 0 1/2 0 3/2

gj 3700 2000 2400 1000 0 700 0 300


∆j * 0 0 0 0 -700 0 -300

Problema duală are soluţie multiplă.

Citirea soluţiilor
Problema duală are soluţiile optime:
 u1 = 5 / 4   u1 = 0
   
U1 :  u2 = 1 / 2  , U2 :  u2 = 1 / 2  .
u = 0   u = 5 / 2
 3  3 
Soluţia optimă sub formă generală este: U = λU1 + (1 − λ )U2, λ ∈ [0,1]
Soluţia optimă a problemei primale se află în iteraţia optimă pe linia lui gj în dreptul
 x1 = 0
 
x = 700 
vectorilor de compensare: X :  2
x = 0
 3 
x = 300 
 4
Avem desigur (max) g = (min) f = 3700.
3.9
Să se arate că următoarea P.P.L.: nu are soluţii posibile
(min) f = x1 + 3x2 +5x3
− 2x1 − x 2 − x3 ≥ 20

 x1 + x 2 + 2x 3 ≤ 10

xi ≥ 0 i = 1, 2, 3

Rezolvare

Varianta 1:
Din prima inecuaţie a sistemului de restricţii şi din condiţia xi ≥ 0, i = 1, 2,3 ar rezulta
20 ≤ 0 deci sistemul este incompatibil.

Varianta 2:
Înmulţind prima relaţie cu (-1) şi adăugând variabilele de compensare yi, i = 1, 2 , obţinem
P.P.L.:
(min) f = x1 + 3x2 + 5x3
2x1 + x 2 + x3 + y1 = − 20

 x1 + x 2 + 2x 3 + y2 = 10

x1, 2, 3 ≥ 0, y1, 2 ≥ 0

1 3 5 0 0
Baza CB XB θ0
a1 a2 a3 a4 a5

a4 0 -20 2 1 1 1 0
a5 0 10 1 1 2 0 1

fj 0 0 0 0 0 0
∆ j =fj - Cj * -1 -3 -5 0 0

Având toţi ∆ j ≤ 0, j = 1,5 şi o componentă negativă pe coloana soluţiei XB, trebuie să

aplicăm algoritmul dual-simplex. Trebuie să scoatem din bază vectorul a4. Pentru a găsi
vectorul care intră în bază, urmărim pe linia vectorului a4 componentele negative, facem
rapoartele dintre ∆ j corespunzătoare şi aceste elemente şi alegem raportul minim. Cum

pe linia lui a4 nu există elemente negative, rezultă că P.P.L. nu are soluţie.


Varianta 3:
Aducem P.P.L. la forma standard de lucru:
(min) f = x1 + 3 x 2 + 5 x 3 + λz1

− 2x1 − x 2 − x3 − y1 + z1 = 20

 x1 + x 2 + 2x 3 + y2 = 10

x1, 2, 3 ≥ 0, y1, 2 ≥ 0, z1 ≥ 0

1 3 5 0 0 λ
Baza CB XB θ0
a1 a2 a3 a4 a5 a6

a6 λ 20 -2 -1 -1 -1 0 1
a5 0 10 1 1 2 0 1 0

fj 20 λ -2 λ -λ -λ -λ 0 λ
∆ j =fj - Cj * -2 λ -1 - λ -3 - λ -5 -λ 0 0

Întrucât toţi ∆ j ≤ 0, j = 1, 6 , algoritmul simplex nu se poate continua. Deoarece în baza

optimă a rămas vectorul de penalizare a6 cu z1 = 20 ≠ 0 , P.P.L. nu are soluţie.

3.10
Pentru întocmirea unei diete, se pot folosi alimentele A1,…,A5 care conţin vitaminele
V1, V2, V3. Să se alcătuiască dieta optimă (cu cel mai mic preţ de cost) care să conţină 20
unităţi din V1, cel puţin 15 unităţi din V2 şi cel puţin 20 unităţi din V3. Costul unitar al
alimentelor şi conţinuturile lor specifice în unităţi de vitamine sunt date mai jos:

Alimente A1 A2 A3 A4 A5
Vitamine
V1 1 2 1 3 0
V2 0 1 0 3 1
V3 1 1 0 2 2
Preţ unitar 2 8 4 70 10

Rezolvare

Fie xi cantitatea din alimentul A i , i = 1,5 care intră în alcătuirea dietei. Obţinem
următorul model matematic:
(min) f = 2x1 + 8x2 +4x3 +70x4 + 10x5
x1 + 2x 2 + x3 + 3x 4 = 20

 x2 + 3x 4 + x5 ≥ 15
x + x + 2x 4 + 2x 5 ≥ 20
 1 2
xi ≥ 0 , i = 1,5
Putem transforma egalitatea în două relaţii de sens contrar:
x1 + 2x 2 + x3 + 3x 4 ≤ 20
x + 2x + x3 + 3x 4 ≥ 20
 1 2

 x 2 + 3x 4 + x5 ≥ 15
x1 + x 2 + 2x 4 + 2x 5 ≥ 20

xi ≥ 0 , i = 1,5

Înmulţim ultimele trei inecuaţii cu (-1), introducem variabilele yi ≥ 0 , i = 1, 4 şi aplicăm


algoritmul dual-simplex următoarei P.P.L.:
(min) f = 2x1 + 8x2 + 4x3 + 70x4 + 10x5
 x1 + 2x 2 + x3 + 3x 4 + y1 = 20
− x − 2 x − x3 − 3x 4 + y2 = −20
 1 2
xi ≥ 0 , i = 1,5 ;

 − x 2 − 3x 4 − x5 + y3 = −15
− x1 − x 2 − 2x 4 − 2x 5 + y4 = −20

y j ≥ 0 , j = 1, 4 .

2 8 4 70 10 0 0 0 0
Baza CB XB θ0
a1 a2 a3 a4 a5 a6 a7 a8 a9

a6 0 20 1 2 1 3 0 1 0 0 0
←a7 0 -20 -1 -2 -1 -3 0 0 1 0 0
a8 0 -15 0 -1 0 -3 -1 0 0 1 0
a9 0 -20 -1 -1 0 -2 -2 0 0 0 1

 − 2 , − 8 , − 4 , − 70  = 2
∆j =fj-cj 0 -2 -8 -4 -70 -10 0 0 0 0 min − 1 − 2 − 1 − 3 
 
a6 0 0 0 0 0 0 0 1 1 0 0
a1 2 20 1 2 1 3 0 0 -1 0 0
←a8 0 -15 0 -1 0 -3 -1 0 0 1 0
a9 0 0 0 1 1 1 -2 0 -1 0 1

fj 40 2 4 2 6 0 0 -2 0 0  − 4 − 64 − 10 
min  , , = 4
∆j = fj -cj * 0 -4 -2 -64 -10 0 -2 0 0 − 1 − 3 − 1 
a6 0 0 0 0 0 0 0 1 1 0 0
a1 2 -10 1 0 1 -3 -2 0 -1 2 0
a2 8 15 0 1 0 3 1 0 0 -1 0
←a9 0 -15 0 0 1 -2 -3 0 -1 1 1
fj 100 2 8 2 18 4 0 -2 -4 0  − 52 − 6 − 2 
min  , , = 2
∆j * 0 0 -2 -52 -6 0 -2 -4 0  − 2 − 3 − 1
2 8 4 70 10 0 0 0 0
Baza CB XB θ0
a1 a2 a3 a4 a5 a6 a7 a8 a9
←a6 0 -15 0 0 1 -2 -3 1 0 1 1
a1 2 5 1 0 0 -1 1 0 0 1 -1
a2 8 15 0 1 0 3 1 0 0 -1 0
a7 0 15 0 0 -1 2 3 0 1 -1 -1

fj 130 2 8 0 22 10 0 0 -6 -2  − 48 0 
min  ,  = 0
 − 2 − 3
∆j
* 0 0 -4 -48 0 0 0 -6 -2

a5 0 5 0 0 1/3 2/3 1 1/3 0 1/3 1/3


a1 2 0 1 0 1/3 -5/3 0 1/3 0 4/3 2/3
a2 8 10 0 1 1/3 7/3 0 1/3 0 2/3 1/3
a7 0 0 0 0 0 0 0 1 1 0 0
fj 130 2 8 0 22 10 0 0 -6 -2

∆j * 0 0 -4 -48 0 0 0 -6 -2

Soluţia optimă:
x1 = 0, x 2 = 10, x 3 = x 4 = 0, x 5 = 5, yi = 0, i = 1, 4; (min)f = 130

Rezultă că dacă se folosesc 10 unităţi din alimentul A2 şi 5 unităţi din A5, dieta se
realizează la un preţ de cost minim în valoare de
130 u.m.

4. Reoptimizări

4.1
Fie P.P.L.:
(min) f = 10x1 + 5x2 + x3
 x1 + x 2 + x3 ≥ 5

2x1 − x 2 − x3 ≥ 1
 x + 3x − 2x 3 ≥ 4
 1 2

xi ≥ 0 , i = 1,3
a) Aflaţi soluţia optimă.
1 
~  
b) Cum se modifică soluţia optimă pentru b =  6  ?
3
 
c = (3, 2, 1) ?
c) Cum se modifică soluţia optimă pentru ~

c = (1, 2, 4 ) ?
d) Cum se modifică soluţia optimă pentru ~

Rezolvare
a) Pentru a aplica algoritmul simplex ar trebui să introducem 3 varia-bile de compensare
şi 3 de penalizare deci problema s-ar extinde
cu 6 variabile. Este mai simplu să rezolvăm problema duală:
(max) g = 5u1 + u2 + 4u3
u1 + 2u2 + u3 ≤ 10

u1 − u2 + 3u3 ≤ 5⇒
u − u − 2u3 ≤1
 1 2

ui ≥ 0, i = 1, 2, 3

u1 + 2u2 + u3 + y1 = 10

⇒ u1 − u2 + 3u3 + y2 = 5
u − u − 2u3 + y3 = 1
 1 2

ui ≥ 0, i = 1, 2,3 ; y j ≥ 0, j = 1, 2, 3

5 1 4 0 0 0
Baza CB UB θ0
a1 a2 a3 a4 a5 a6
a4 0 10 1 2 1 1 0 0 10
a5 0 5 1 -1 3 0 1 0 5
←a6 0 1 1 -1 -2 0 0 1 1
∆ j =Cj-gj 0 5 1 4 0 0 0

a4 0 9 0 3 3 1 0 -1 3
←a5 0 4 0 0 5 0 1 -1 4/5
a1 5 1 1 -1 -2 0 0 1 -
gj 5 5 -5 -10 0 0 5
∆j * 0 6 14 0 0 -5

←a4 0 33/5 0 3 0 1 -3/5 -2/5 11/


a3 4 4/5 0 0 1 0 1/5 -1/5 5
a1 5 13/5 1 -1 0 0 2/5 3/5 -
-
gj 81/5 5 -5 4 0 14/5 11/5
∆j * 0 6 0 0 -14/5 -11/5

a2 1 11/5 0 1 0 1/3 -1/5 -2/15


a3 4 4/5 0 0 1 0 1/5 -1/5
a1 5 24/5 1 0 0 1/3 1/5 7/15
gj 147/5 5 1 4 2 8/5 7/5
∆j * 0 0 0 -2 -8/5 -7/5
24 11 4
Soluţia optimă a problemei duale: u1 = , u2 = , u3 = , y1 = y 2 = y 3 = 0 .
5 5 5
Soluţia optimă a problemei primale se află în iteraţia optimă pe linia lui gj în dreptul
vectorilor de compensare:
x1 = 2, x2 = 8/5, x3 =7/5. Desigur: (min) f = (max) g = 147/5.
b) Reoptimizarea lui b din problema primală, induce reoptimizarea lui C în problema
duală; vom copia iteraţia optimă a dualei unde modificăm: coeficienţii de deasupra
tabelului, coloana CB, gj, ∆ j .

~ 1 6 3 0 0 0
Baza CB UB θ0
a1 a2 a3 a4 a5 a6
a2 6 11/5 0 1 0 1/3 -1/5 -2/15 -
a2 3 4/5 0 0 1 0 1/5 -3/15 -
←a1 1 24/5 1 0 0 1/3 1/5 7/15 72/7
~
g 102/5 1 6 4 7/3 -2/5 -14/15
~ ~ -~
∆j =C j g * 0 0 0 -7/3 2/5 14/15

a2 6 25/7 2/7 1 0 3/7 -1/7 0 -


←a3 3 20/7 3/7 0 1 1/7 2/7 0 10
a6 0 72/7 15/7 0 0 5/7 3/7 1 24
~
g 30 3 6 3 3 0 0
~
∆j * -2 0 0 -3 0 0
a2 6 5 1/2 1 1/2 1/2 0 0
a5 0 10 3/2 0 7/2 1/2 1 0
a6 0 6 3/2 0 -3/2 1/2 0 1
~
g 30 3 6 3 3 0 0
~ 0 0
∆j * -2 0 0 -3

Problema duală are soluţie optimă multiplă.

 u1 = 0  u1 = 0 
   
Fie: U1 =  u2 = 25 / 7  , U2 =  u2 = 5  două soluţii optime.
 u = 20 / 7  u = 0
 3   3 
Soluţia optimă sub formă generală este: U = λU1 + (1 − λ )U2 , λ ∈ [0,1] şi (max) g = 30.

 x1 = 3 
 
Soluţia optimă a problemei primale este X =  x2 = 0 
 x = 0
 3 
şi (min) f = 30.
c) Modificarea vectorului C din problema primală este echivalentă cu modificarea lui b din
problema duală.
Fie B matricea bazei optime din problema duală. Ştim că B-1 se află în iteraţia optimă
sub vectorii care au format prima bază unitară.
 5 − 3 − 2
−1 1  
Deci: B = 0 3 − 3 .
15 
5 3 7 

 5 − 3 − 2  3   7
~ −1 ~ ~ 1     1  
Din: UB = B b rezultă: UB = 0 3 − 3 ⋅  2 =  3 .
15     15  
5 3 7  1   28 

Cum toate componentele lui UB sunt pozitive, rezultă că soluţia optimă a problemei duale
28 7 1 28 7 1 53
este: u1 = , u2 = , u3 = şi (max) g = 5 ⋅ + +4 = .
15 15 5 15 15 5 5
Soluţia optimă a primalei rămâne:
8 7 53
x1 = 2, x 2 = , x3 = şi (min) f = (max) g = .
5 5 5
1 
~  
d) Avem în problema duală: b =  2  deci
 4
 

 5 − 3 − 2  1   − 3
~ −1 ~ ~ 1    1 
UB = B b ⇒ UB = 0 3 − 3  2  =  − 2 .
15  5
5 3 7   4  
 13 
Întrucât atunci când avem o reoptimizare pentru b se modifică doar soluţia de bază iar
diferenţele ∆ j rămân neschimbate, rezultă că în acest caz avem soluţie dual-realizabilă şi

aplicăm algoritmul dual simplex. Vom copia ultima iteraţie a algoritmului din cazul a) în
~
care înlocuim coloana lui UB cu UB .

5 1 4 0 0 0
Baza CB UB θ0
a1 a2 a3 a4 a5 a6
←a2 1 -3/5 0 1 0 1/3 -1/5 -2/15
a3 4 -2/5 0 0 1 0 1/5 -3/15
a1 5 13/5 1 0 0 1/3 1/5 7/15

54/5
− 8 / 5 − 7 / 5 
gj 5 1 4 2 8/5 7/5 min ,  =
∆ j =Cj -gj * 0 0 0 -2 -8/5 -7/5  − 1 / 5 − 2 / 15 
= 8

a5 0 3 0 -5 0 -5/3 1 2/3
←a3 4 -1 0 1 1 1/3 0 -1/3
a1 5 2 1 1 0 2/3 0 1/3
gj 6 5 9 4 14/3 0 1/3
∆j * 0 -8 0 -14/3 0 -1/3
a5 0 1 0 -3 2 -1 1 0
a6 0 3 0 -3 -3 -1 0 1
a1 5 1 1 2 1 1 0 0
gj 5 5 10 5 5 0 0
∆j * 0 -9 -1 -5 0 0

Soluţia optimă a problemei duale: u1 = 1, u2 = u3 = 0, (max) g = 5. Soluţia optimă a


problemei primale: x1 = 5, x2 = x3 = 0, (min) f = 5.

4.2
O unitate economică fabrică produsele P1, P2, P3, utilizând resursele: forţa de
muncă (F.M.), mijloace de muncă (M.M.) şi materii prime (M.P.). În tabelul de mai jos se
dau consumurile specifice, cantităţile disponibile şi preţurile unitare de vânzare ale
produselor:

Produse P1 P2 P3 Disponibil
Resurse (unităţi fizice)
F.M. 1 3 4 15
M.M. 2 5 1 10
M.P. 4 1 2 25
Preţ vânzare
3 2 6
(u. m.)

Se ştie că forţa de muncă trebuie utilizată în întregime şi că volumul producţiei planificate


al produsului P2 trebuie să fie cel puţin egal cu
o unitate fizică.

a) Să se scrie modelul matematic al P.P.L. şi să se aducă la forma standard de lucru.


b) Să se determine soluţia corespunzătoare bazei
B = {a3, a1, a5, a2} şi să se stabilească natura ei.
~
c) Care este soluţia optimă pentru C = (5, 1, 3) .

 20 
 
~  15 
d) Care este soluţia optimă pentru b =  
30
 
 2
 
Rezolvare
a) (max) f = 3x1 + 2x2 + 6x3
 x1 + 3 x 2 + 4x3 = 15
2x + 5 x + x3 ≤ 10
 1 2

4 x1 + x 2 + 2x 3 ≤ 25
 x2 ≥ 1

xi ≥ 0 , i = 1,3
A aduce P.P.L. la forma standard de lucru, înseamnă să avem toate restricţiile cu „=” şi
matricea unitate de ordinul 4.
Avem: (max) f = 3 x1 + 2x 2 + 6 x 3 − λz1 − λz 2 .

 x1 + 3 x 2 + 4x3 + z1 = 15
2x + 5 x + x3 + y1 = 10
 1 2

4 x1 + x 2 + 2x 3 + y2 = 25
 x2 − y3 + z2 = 1

xi ≥ 0 , i = 1, 2,3 ; y j ≥ 0, j = 1, 2,3 ; z1 , z2 ≥ 0

b) Fie B matricea bazei B. Avem:

4 1 0 3  2 −1 0 − 1
   
1 2 0 5 1 − 1 4 0 − 17 
B=  ⇒ B −1 = 
2 4 1 1 7 0 − 14 1 63 
   
0 0 0 
1  0 0 0 7 
 

Soluţia corespunzătoare acestei baze este:


 2 −1 0 − 1  15  19 / 7 
     
1 − 1 4 0 − 17   10   8 / 7 
XB = B −1 b adică: XB =  ⋅ =
7 0 − 14 7 63   25   14 
     
 0 0 0 7   1  1

Soluţia XB având toate componentele ≥ 0 este o soluţie realizabilă de bază. Pentru a


vedea dacă este soluţie optimă trebuie să întocmim tabelul simplex corespunzător. Pentru
aceasta aflăm coordonatele tuturor vectorilor ai în baza B folosind formula

aiB = B-1 ai, i = 1,8 .


Obţinem tabelul simplex:

Baza CB XB 3 2 6 0 0 0 −λ −λ θ0
a1 a2 a3 a4 a5 a6 a7 a8
a3 6 19/7 0 0 1 -1/7 0 1/7 2/7 -1/7
a1 3 8/7 1 0 0 4/7 0 17/7 -1/7 -17/7
a5 0 14 0 0 0 -2 1 -9 0 9
a2 2 1 0 1 0 0 0 -1 0 1
43
fj 152/7 3 2 6 6/7 0 43/7 9/7 −
7
9 − λ + 43
∆ j =Cj -fj * 0 0 0 -6/7 0 -43/7 − λ −
7
7

Întrucât toţi ∆ j ≤ 0, j = 1,8 , am obţinut chiar soluţia optimă:

152
x1 = 8/7, x2 = 1, x3 = 19/7, y1 = y3 = 0, y2 = 14, z1 = z2 = 0 şi (max)f =
7
~
c) Avem de făcut o reoptimizare în care vectorul C = (3, 2, 6) devine C = (5, 1, 3) . Vom
copia iteraţia optimă a problemei iniţiale în care modificăm coeficienţii Cj de deasupra
tabelului, vectorul CB, cantităţile fj şi ∆ j , j = 1,8 .

~ 5 1 3 0 0 0 −λ −λ θ0
Baza CB XB
a1 a2 a3 a4 a5 a6 a7 a8
a3 3 19/7 0 0 1 -1/7 0 1/7 2/7 -1/7
a1 5 8/7 1 0 0 4/7 0 17/7 -1/7 -17/7
a5 0 14 0 0 0 -2 1 -9 0 9
a2 1 1 0 1 0 0 0 -1 0 1
~ 81
fj 104/7 5 1 3 17/7 0 81/7 1/7 −
7
1 − λ + 81
~ ~
∆j=Cj - ~fj * 0 0 0 -17/7 0 -81/7 − λ −
7 7
~
Întrucât toţi ∆ j ≤ 0, j = 1,8 , rezultă că soluţia optimă a problemei iniţiale este optimă şi

104
pentru noua problemă. Se modifică doar optimul funcţiei şi anume (max)f = .
7
~ ~
d) Calculăm: XB = B−1 b şi obţinem:

 2 −1 0 − 1  20   23 / 7 
    
~ 1 − 1 4 0 − 17   15   6 / 7 
XB =  =
7 0 − 14 7 63   30   18 
    
 0 0 0 7   2   2 

~
Întrucât toate componentele lui XB sunt ≥ 0 , am obţinut soluţia optimă:
6 23
x1 = , x 2 = 2 , x3 = şi
7 7
6 23 184
(max)f = 3 ⋅ +2⋅2+6⋅ = .
7 7 7
4.3
a) Să se arate că punctele A (12, 0), B (0, 4) sunt optimale pentru cuplul de probleme
duale:
(max) f = 4x1 + 3x2 (max) g = 6u1 + 12u2

− 3 x1 + 2x 2 ≤ 6 − 3u1 + u2 ≥ 4
 
 x1 + 3 x 2 ≤ 12  2u1 + 3u2 ≥ 3

x1, 2 ≥ 0 u1, 2 ≥ 0
~
b) Care sunt soluţiile optime dacă în problema primală luăm C = (2, 7 ) şi în duală

~  2
b =   .
7
~ ~  3
c) Să se afle soluţia optimă a dualei dacă C = (2, 4) şi b =   .
1 
~
d) Să se afle soluţia optimă a dualei pentru C = ( 4, 9) .

Rezolvare
a) Varianta 1: Propunem cititorului să rezolve cele două probleme pe cale grafică.

Varianta 2:
Este suficient să rezolvăm problema primală:
(max) f = 4x1 +3x2
− 3 x1 + 2x 2 + y1 = 6

 x1 + 3 x 2 + y2 = 12

x1, 2 ≥ 0 , y1, 2 ≥ 0

4 3 0 0
Baza CB XB θ0
a1 a2 a3 a4
a3 0 6 -3 2 1 0 -
←a4 0 12 1 3 0 1 12
∆ j =Cj -fj 0 4 3 0 0

a3 0 42 0 11 1 3
a1 4 12 1 3 0 1
fj 48 4 12 0 4
∆j * 0 -9 0 -4

Soluţia optimă a problemei primale este: x1 = 12, x2 = 0 şi


(max) f = 48.
Soluţia optimă a problemei duale: u1 = 0, u2 = 4, (min) g = 48.
~
b) Este suficient să facem reoptimizarea problemei primale pentru C = (2,7) .

2 7 0 0
Baza ~
CB XB θ0
a1 a2 a3 a4
←a3 0 42 0 11 1 3 42/11
a1 2 12 1 3 0 1 4

~ 24 2 6 0 2
fj
~ ~ ~
∆ j = C j - fj * 0 1 0 -2

a2 7 42/11 0 1 1/11 3/11


a1 2 6/11 1 0 -3/11 2/11

~ 306
fj 2 7 1/11 25/11
11
~
∆j * 0 0 -1/11 -25/11

6 42 306
Soluţia optimă a problemei primale: x1 = , x2 = , (max)f =
11 11 11
1 25 306
Soluţia optimă a problemei duale: u1 = , u2 = , (min)g = .
11 11 11
c) Deoarece se modifică simultan C şi b, vom relua problema primală de la început:
(max) f = 3x1 + x2
− 3 x1 + 2x 2 ≤ 2 − 3 x1 + 2x 2 + y1 = 2
 ⇒ 
 x1 + 3 x 2 ≤ 4  x1 + 3 x 2 + y2 = 4

x1, 2 ≥ 0 x1, 2 ≥ 0, y1, 2 ≥ 0

Notă
Am ţinut seama că modificarea lui C respectiv b din problema duală, implică
modificarea lui b respectiv C în problema primală.
Avem:

3 1 0 0
Baza CB XB θ0
a1 a2 a3 a4
a3 0 2 -3 2 1 0 -
←a4 0 4 1 3 0 1 4
∆ j =Cj -fj 0 3 1 0 0
a3 0 14 0 11 1 3
a1 3 4 1 3 0 1
fj 12 3 9 0 3
∆j * 0 -8 0 -3
Soluţia optimă a problemei primale: x1 = 4, x2 = 0, (max) f = 12.
Soluţia optimă a problemei duale: u1 = 0, u2 = 3, (min) g = 12.
~  4
d) Considerăm că în problema primală termenul liber b devine b =   .
9
Dacă B este matricea bazei optime B = {a3, a1}, atunci:

 1 3 ~ ~ ~  1 3   4   31  ~
B−1 =   şi XB = B−1 b ⇒ XB =     =   şi XB
 0 1  0 1  9   9 
reprezintă soluţia optimă a problemei primale, adică: x1 = 9, x2 = 0.

Avem: (max)f = 4‧9 +3‧0 = 36.


Întrucât prin modificarea lui b în problema primală diferenţele ∆ j nu se schimbă, rezultă că

soluţia optimă a problemei duale este tot:


u1 = 0, u2 = 4, dar (min) g = 36.

5. Probleme de transport (P.T.)

5.1
Trei oraşe O1, O2, O3 se aprovizionează cu ulei vegetal din localităţile L1, L2, L3, L4.
Costurile unitare de transport de la Li la Oj, i = 1, 4 , j = 1,3 , disponibilul localităţilor şi
necesarul oraşelor, sunt date în tabelul de mai jos.

Oj O1 O2 O3 Disponibil (D)
Li
L1 2 1 3 200
L2 1 4 2 150
L3 5 2 1 250
L4 3 1 1 100
700
Necesar (N) 400 175 125 700

Cum trebuie organizat transportul astfel încât să fie acoperit tot necesarul oraşelor şi
distribuit tot disponibilul cu un cost total minim?

Rezolvare
Vom nota cu xi j cantitatea ce se transportă de la Li la Oj iar cu Ci,j costul unitar de
transport de la Li la Oj , i = 1, 4 , j = 1,3 . Vom aplica metoda potenţialelor.
Etapa I
Observăm că P.T. este echilibrată (N = D = 700).
Căutăm o soluţie iniţială de bază folosind de exemplu metoda costului minime pe
linie.

Oj O1 O2 O3 (D)
Li
L1 2 1 3
200
25 175
L2 1 4 2
150
150
L3 5 2 1
250
125 125
L4 3 1 1
100
100
700
(N) 400 175 125
700

Pe prima linie, costul minim este 1; transportăm în căsuţa respectivă min {175, 200} = 175.
Tot pe prima linie a rămas costul minim 2; transportăm în căsuţa respectivă min {200-175
= 25, 400} = 25. Prima linie fiind saturată, se trece la linia a doua cu acelaşi procedeu
ş.a.m.d.
Soluţia iniţială de bază este: x11 = 25, x12 = 175, x21 = 150, x31 = 125, x33 = 125, x41 = 100.
ea este nedegenerată deoarece are m + n – 1 =
= 4 + 3 – 1 = 6 componente diferite de zero.
Costul iniţial de transport este:
C0 = 2 ⋅ 25 + 1 ⋅ 175 + 1 ⋅ 150 + 5 ⋅ 125 + 1 ⋅ 125 + 3 ⋅ 100 = 1425 u.m. Urmărim să găsim o

altă repartiţie a transportului, astfel încât costul total să fie mai mic.
Etapa II
Introducem variabilele ui, v j, i = 1, 4, j = 1,3 care au proprietăţile: ui + vj = Cij, unde

Cij sunt costurile din căsuţele bazice (unde avem xi,j ≠ 0).
vj v1 = 0 v2 =-1 v3 =-4
ui
u1 = 2 2 1
u2 = 1 1
u3 = 5 5 1
u4 = 3 3

Alegem iniţial un ui sau vj egal cu 0 ( vezi teoria!!). Am ales de exemplu v1 = 0. Deoarece


u1 + v1 = 2, rezultă u1 = 2. Din u2 + v1 = 1 rezultă u2 = 1, ş.a.m.d.
Pentru căsuţele nebazice, vom determina cantităţile Ci j (au rolul lui fj de la P.PL.) care

verifică de asemenea relaţiile: Ci j = ui + v j .

Întocmim tabelul pentru Ci j ( Ci j coincid cu Ci j în căsuţele bazice):


vj v1 = 0 v2 =-1 v3 =-4
ui
u1 = 2 2 1 -2
u2 = 1 1 0 -3
u3 = 5 5 4 1
u4 = 3 3 2 -1

Am haşurat Ci j din căsuţele bazice.

Etapa III
Facem un nou tabel cu diferenţele ∆i j = Ci j − Ci j (la P.P.L., într-o problemă de

minim, făceam diferenţele ∆ j = f j − C j şi o alegeam pe cea mai mare pozitivă pentru a

găsi vectorul care intră în bază).


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

∆i j = Ci j − Ci j

Etapa IV
Alegem diferenţa ∆i j cea mai mare pozitivă (în cazul nostru 2). Întocmim un tabel

cu soluţia precedentă şi pe locul cu ∆i j cea mai mare pozitivă punem o valoare θ care

deocamdată este nedeterminată. Anihilăm apoi pe θ pe linii şi coloane obţinând un anumit


ciclu:

25 + θ 175 - θ 150 50

150 150

125 - θ θ 125 125 125

100 100
Facem θ = min {125,175} = 125 şi găsim o nouă soluţie de bază.
Notând cu C1 costul transportului pentru noua soluţie, avem:
C1 = C0 − θ. max ∆i j = 1425 − 125 ⋅ 2 = 1175 u.m.

Etapa V
Încercăm să vedem dacă noua soluţie de bază mai poate fi îmbunătăţită, calculând
pentru ea ui, vj, Ci j etc.

Algoritmul se termină când toţi ∆i j = Ci j − Ci j ≤ 0 (la P.P.L. toţi ∆ j = f j − C j ≤ 0 ).

Vom prezenta calculele mai departe considerând tabelele legate între ele:

vj v1 = 0 v2 =-1 v3 =-2
ui
u1 = 2 2 1 0 0 0 -3 150+ θ 50- θ 200

u2 = 1 1 0 -1 0 -4 -3 150 150
u3 = 3 3 2 1 -2 0 0 125 125 125 125
u4 = 3 3 2 1 0 1 0 100- θ θ 50 50

Ci j = ui + v j ∆i j = Ci j − Ci j θ = min{50,100} = 50

Costul de transport pentru noua soluţie este:


C2 = C1 − θ ⋅ max ∆i j = 1175 − 1 ⋅ 50 = 1125 u.m.

vj v1 = 0 v2 =-2 v3 =-3
ui
u1 = 2 2 0 -1 0 -1 -4
u2 = 1 1 -1 -2 0 -5 -4
u3 = 4 4 2 1 -1 0 0
u4 = 3 3 1 0 0 0 -1

Ci j = ui + v j ∆i j = Ci j − Ci j ≤ 0

Rezultă că ultima soluţie de bază este soluţia optimă:


x11 = 200, x21 = 150, x32 = 125, x33 = 125, x41 = 50, x42 = 50 şi costul minim este C2 = 1125
u.m.
5.2
Trei magazine de mobilă M1, M2, M3 achiziţionează mobila de la două fabrici F1 şi
F2. Costurile unitare de transport de la Fi, i =1,2 la Mj, j = 1,2,3, disponibilul fabricilor şi
necesarul magazinelor sunt date în tabelul următor. Cum trebuie organizat transportul
pentru a obţine un cost total minim?
Mj M1 M2 M3 D
Fi
F1 3 5 2 20
F2 4 1 3 20
40
N 10 15 25 50

Rezolvare
Varianta 1:

Problema fiind neechilibrată (D < N) extindem tabelul cu o fabrică fictivă F3 căreia îi


afectăm costurile de transport O (la P.P.L. variabilele de compensare capătă coeficienţii 0
în f) şi disponibilul egal cu N – D = 10.
Mj M1 M2 M3 D
Fi
3 5 2
F1 20
20
4 4 3
F2 20
15 5
0 0 0
F3 10
10
50
N 10 15 25 50
Am aflat soluţia iniţială de bază prin metoda costului minim pe linie. Observăm că soluţia
este degenerată deoarece are 4 < m + n − 1 = 5 componente diferite de zero. Pentru a
înlătura degenerarea, adăugăm câte un ε > 0 la fiecare disponibil şi 3 ε la ultimul
necesar. Căutăm apoi soluţia iniţială de bază prin metoda costului minim pe linie. În final,
după ce obţinem soluţia optimă, facem ε = 0 .

Mj M1 M2 M3 D
Fi
3 5 2
F1 20 + ε
20 +ε
4 1 3
F2
5 +ε
20 + ε
15
0 0 0
F3
ε 10 + ε
10
N 10 15 25 + 3ε 50 + ε
Soluţia iniţială este:
x13 = 20 + ε, x 22 = 15, x 23 = 5 + ε, x 31 = 10, x 33 = ε şi are 5 componente nenule.
Costul iniţial de transport este:
C0 = 2(20 + ε) + 1 ⋅ 15 + 3(5 + ε) + 0 ⋅ 10 + 0 ⋅ ε = 70 + 5ε .

Aplicăm în continuare metoda potenţialelor.


vj v1 = 0 v2 =-2 v3 =0
ui
u1 = 2 2 0 2 -1 -5 0
u2 = 1 3 1 3 -1 0 0
u3 = 4 0 -2 0 0 -2 0

Ci j = ui + v j ∆i j = Ci j − Ci j ≤ 0

Soluţia optimă este: x13 = 20, x22 = 15, x23 = 5, x31 = 10 cu costul
C0 = 70 u.m.
Întrucât x 31 ≠ 0 rezultă că magazinul M1 trebuie să se aprovizioneze de la altă fabrică cu

necesarul său de mobilă.


Varianta 2:
După ce echilibrăm problema, vom afla soluţia iniţială de bază prin metoda colţului
N-V. Vom vedea că este necesar să parcurgem mai multe iteraţii, în schimb soluţia iniţială
nu este degenerată.

Mj M1 M2 M3 D
Fi
3 5 2
F1 20
10 10
4 1 3
F2 20
5 15
0 0 0
F3 10
10
N 10 15 25 50

Soluţia iniţială: x11 = 10, x12 = 10, x22 = 5, x23 = 15, x33 = 10 care este nedegenerată dă un
cost iniţial C0 = 30 + 50 + 5 + 45 = 130 u.m.
vj v1 = 3 v2 =5 v3 =7
ui
u1 = 0 3 5 7 0 0 5 10 10- θ θ 10 10
u2 = -4 -1 1 3 -5 0 0 5+ θ 15- θ 15 5

u3 = 7 -4 -2 0 -4 -2 0 10 10

Ci j = ui + v j ∆i j = Ci j − Ci j θ = min{10,15} = 10
Costul transportului pentru noua soluţie este:
C1 = C0 − θ ⋅ max ∆i, j = 130 − 10 ⋅ 5 = 80 u.m.

vj v1 = 3 v2 =0 v3 =2
ui
u1 = 0 3 0 2 0 -5 0 10- θ 10+ θ 20

u2 = 1 4 1 3 0 0 0 15 5 15 5
u3 = -2 1 -2 0 1 -2 0 θ 10- θ 10 0

Ci j = ui + v j ∆i j = Ci j − Ci j θ = min{10,10} = 10

Soluţia obţinută fiind degenerată am pus un zero într-una din căsuţele (1,1)sau (3,3) unde
au dispărut simultan componente. Costul total de transport este:
C2 = C1 − θ ⋅ max ∆i, j = 80 − 10 ⋅ 1 = 70 u.m.

vj v1 = 3 v2 =1 v3 =3

ui
u1 = -1 2 0 2 -1 -5 0
u2 = 0 3 1 3 -1 0 0
u3 = -3 0 -2 0 0 -2 0

Ci j = ui + v j ∆i j = Ci j − Ci j

S-a obţinut aceeaşi soluţie optimă cu acelaşi cost total minim de transport.

5.3

Patru şantiere A j , j = 1, 4 , se aprovizionează cu ciment de la trei depozite

Di, i = 1,3 . Costurile unitare de transport, necesarul şantierelor precum şi disponibilul


depozitelor se dau în următorul tabel.

Aj A1 A2 A3 A4 D
Di
D1 3 3 3 5 800
D2 2 3 4 5 200
D3 4 3 3 2 300
N 600 350 250 100 1300

Să se determine planul optim de aprovizionare al şantierelor.


Rezolvare
P.T: fiind echilibrată, determinăm o soluţie iniţială de bază. Vom aplica metoda
costului minim pe coloană.
Aj A1 A2 A3 A4 D
Di
3 3 3 5
D1 800
400 350 50
2 3 4 5
D2 200
200
4 3 3 2
D3 300
200 100
N 600 350 250 100 1300

Soluţia iniţială de bază este nedegenerată (are m + n -1 = 6 componente ≠ 0). Costul


iniţial de transport este:
C0 = 1200 + 1050 +150 +400 +600 +200 = 3600 u.m.

vj v1=3 v2=3 v3=3 v4=2


ui
u1=0 3 3 3 2 0 0 0 -3 400 350- θ 50+ θ 400 150 250
u2=-1 2 2 2 1 0 -1 -2 -4 200 200
u3=0 3 3 3 2 -1 0 0 0 θ 200- θ 100 200 100

Ci j = ui + v j ∆i j = Ci j − Ci j ≤ 0 θ = min{200,350} = 200

Pentru noua soluţie de bază avem costul


C1 = C0 − θ ⋅ max ∆i j = 3600 − 200 ⋅ 0 = 3600 u.m.

vj v1 = 3 v2 =3 v3=3 v4 =2
ui
u1 = 0 3 3 3 2 0 0 0 -3
u2 = -1 2 2 2 1 0 -1 -2 -4
u3 = 0 3 3 3 2 -1 0 0 0

Ci j = ui + v j ∆i j = Ci j − Ci j ≤ 0

Observăm că pentru soluţia iniţială de bază am obţinut toţi ∆i j ≤ 0 însă în căsuţa

nebazică (3,2) avem ∆ 32 = 0 . La fel ca la P.P.L. conchidem că P.T. are soluţie optimă

multiplă. Se obţine încă o soluţie optimă punând θ în tabelul soluţiei pe locul (3,2). Avem
soluţiile optime:
X1 : x11= 400, x12 = 350, x13 = 50, x 21 = 200, x 33 = 200, x34 = 100
X2 : x11= 400, x12 = 150, x13 = 250, x 21 = 200, x 32 = 200, x 34 = 100
Ambele dau costul minim 3600 u.m.
Soluţia optimă sub formă generală este:
X = λ X1 + (1 − λ )X2, λ ∈ [0,1] şi este dată de matricea:

 400 350λ + (1 − λ )150 50λ + (1 − λ )250 0 


 
X :  200 0 0 0 .
 0 (1 − λ )200 200λ 100 

Notă
Pentru λ = 1 obţinem X1 şi pentru λ = 0 obţinem X2.

5.4
Două fabrici de pâine F1, F2 se aprovizionează cu făină de la trei depozite D1, D2,
D3. Cunoscând disponibilul depozitelor, necesarul fabricilor şi costurile unitare de
transport, să se determine planul optim de transport. Datele problemei sunt prezentate în
tabelul următor:

Fj F1 F2 D
Di
D1 5 3 50
D2 2 1 275
D3 4 2 125
450
N 100 200 300

Rezolvare

Avem N < D. Echilibrăm problema prin introducerea unei noi coloane cu costurile
de transport zero şi necesarul D – N = 150.
Fj F1 F2 F3 D
Di
5 3 0
D1 50
50
2 1 0
D2 275
175 100
4 2 0
D3 125
100 25
N 100 200 150 450
Am determinat soluţia iniţială de bază prin metoda costului minim pe linie. Soluţia este
nedegenerată şi avem:
C0 = 175 + 400 +50 = 625 u.m. pentru soluţia X0 : x13 = 50, x22 = 175, x23 = 100, x31 = 100,
x32 = 25.

vj v1 = 4 v2 =2 v3 =1
ui
u1 = -1 3 1 0 -2 -2 0 50 50
u2 = -1 3 1 0 1 0 0 θ 175- θ 100 100 75 100
u3 = 0 4 2 1 0 0 1 100- θ 25+ θ 125

Ci j = ui + v j ∆i j = Ci j − Ci j θ = min{100,175} = 100

Avem: C1 = 625 − 100 ⋅ 1 = 525 u.m. pentru soluţia X1 : x13 = 50,


x21 = 100, x22 = 75, x23 =100, x32 = 125.

vj v1 = 2 v2 =1 v3 =0
ui
u1 = 0 2 1 0 -3 -2 0 50 50
u2 = 0 2 1 0 0 0 0 100 75+ θ 100- θ 100 175
u3 = 1 3 2 1 -1 0 1 125- θ θ 25 100

Ci j = ui + v j ∆i j = Ci j − Ci j θ = min{125,100} = 100

Pentru soluţia de bază X2 : x13 = 50, x21 = 100, x22 = 175, x32 =25,
x33 = 100 avem costul C2 = C1 − θ ⋅ max∆i j = 525 − 100 ⋅ 1 = 425 u.m.

vj v1 = 2 v2 =1 v3 =-1
ui
u1 = 1 3 2 0 -2 -1 0
u2 = 0 2 1 -1 0 0 -1
u3 = 1 3 2 0 -1 0 0

Ci j = ui + v j ∆i j = Ci j − Ci j ≤ 0

Soluţia optimă este X2 cu costul total de transport C2 = 425 u.m.

Deoarece x13 =50 ≠ 0, x23 = 100 ≠ 0 rezultă că depozitul D1 nu-şi poate transporta făina
nici la F1, nici la F2 iar depozitul D2 rămâne cu o cantitate de 100 unităţi fizice
netransportate. Trebuie deci ca D1 şi D2 să-şi mai caute o altă fabrică unde să-şi
transporte făina.
5.5
Trei staţii de benzină P1, P2, P3 se aprovizionează de la rafinăriile R1, R2,R3.
Costurile unitare de transport, disponibilul rafinăriilor precum şi necesarul staţiilor de
benzină se află în tabelul:
Pj P1 P2 P3 D
Ri
R1 5 4 2 90
R2 2 6 3 70
R3 3 1 6 140
300
N 50 60 40 150
Care este planul optim de transport în ipoteza că din cauza unor lucrări de reparaţii,
drumurile de la R2 la P2 şi de la R2 la P3 nu pot fi folosite?

Rezolvare
Avem o P.T. cu rute interzise. În căsuţele (2,2), (2,3) vom înlocui costurile unitare 6
u.m. respectiv 3 u.m. cu un cost notat cu M unde M este un număr foarte mare. Raţiunea
acestei înlocuiri este evitarea celor două rute interzise.
Observăm de asemenea că P.T. este neechilibrată. Extindem tabelul cu o coloană cu
costuri nule şi necesarul 150.

Pj P1 P2 P3 P4 D
Ri
5 4 2 0
R1 90
90
2 M M 0
R2 70
10 60
3 1 6 0
R3 125
40 60 40
N 50 60 40 150 300

Am aplicat metoda costului minim pe linie pentru obţinerea soluţiei iniţiale de bază X0 : x14
= 90, x21 = 10, x24 = 60, x31 =40, x32 = 60,
x33 = 40. Avem: C0 = 20 +120 +60 + 240 = 440 u.m.
vj v1=3 v2=1 v3=6 v4=1
ui
u1=0 2 0 5 0 -3 -4 3 0 θ 90- θ 10 80
u2=-1 2 0 5 0 0 -M 5-M 0 10- θ 60+ θ 70
u3=0 3 1 6 1 0 0 0 1 40+ θ 60 40- θ 50 60 30
Ci j = ui + v j ∆i j = Ci j − Ci j θ = min{10, 40, 90} = 10

Costul acestei soluţii este C1 = 440 − 10 ⋅ 3 = 410 .

vj v1=3 v2=1 v3=6 v4=4


ui
u1=-4 -1 -3 2 0 -6 -7 0 0 10+ θ 80- θ 40 50
u2=-4 -1 -3 2 0 -3 -3-M 2-M 0 70 70
u3=0 3 1 6 4 0 0 0 4 50 60 30- θ θ 50 60 30

Ci j = ui + v j ∆i j = Ci j − Ci j θ = min{ 30, 80} = 30

Costul acestei soluţii de bază este:


C2 = C1 − θ ⋅ max ∆i j = 410 − 30 ⋅ 4 = 290 u.m.

vj v1=3 v2=1 v3=2 v4=0


ui
u1=0 3 1 2 0 -2 -3 0 0 40 50 40 50
u2=0 3 1 2 0 1 1-M 2-M 0 θ 70- θ 50 20
u3=0 3 1 2 0 0 0 -4 0 50- θ 60 30+ θ 60 80

Ci j = ui + v j ∆i j = Ci j − Ci j θ = min{ 50, 70} = 50

Costul de transport corespunzător acestei soluţii este:


C3 = C2 − θ ⋅ max ∆i j = 290 − 50 = 240 u.m.

vj v1 = 2 v2 =1 v3 =2 v4=0
ui
u1 =0 2 1 2 0 -3 -3 0 0
u2 =0 2 1 2 0 0 1-M 2-M 0
u3 =0 2 1 2 0 -1 0 -4 0

Ci j = ui + v j ∆i j = Ci j − Ci j ≤ 0

Soluţia optimă este: x13 = 40, x21 = 50, x32 = 60, x14 = 50, x24 = 20,
x34 = 80 şi costul optim este 240 u.m. Observăm că în aceste condiţii rafinăriile nu-şi
epuizează cantităţile de benzină deci pot distribui şi altor beneficiari.
Propunem cititorului să constate că dacă am fi ales soluţia iniţială de bază după regula
costului minim pe coloană am fi obţinut chiar soluţia optimă.
Notă
Dacă avem o P.T. de maxim atunci soluţia iniţială de bază se alege prin metoda
costului (beneficiului) maxim pe linie sau coloană iar diferenţele ∆i j sunt Ci j − Ci j ;

algoritmul se termină când toţi ∆i j ≤ 0 . În cazul rutelor interzise în problemă de maxim

punem 0 drept cost (beneficiu) pe rutele interzise.

6. Probleme propuse

6.1
Să se rezolve grafic următoarele P.P.L.:

6.1.1 (max) f(x) = 7x1 – 3x2

6 x1 + 7 x 2 ≥ 16

5 x1 + 5 x 2 ≤ 7

x1, 2 ≥ 0

6.1.2 (min) f(x) = 9x1 + 11x2

11 ≤ 7 x1 + 8 x 2 ≤ 17

 x1 − x 2 ≤ 4

x1, 2 ≥ 0

6.1.3 (opt) f(x) = 3x1 + 4x2

 x1 − 2x 2 ≤ 4

 x1 + 3 x 2 ≤ 12
2x
 1 − x2 ≤ 8

x1, 2 ≥ 0

Indicaţie Trebuie aflat (min) f(x) şi (max) f(x).

6.1.4 (max) f(x) = 9x1 -7x2

 6 x1 + 5 x 2 ≤ 11

 5 x1 + 6 x 2 ≥ 7
− 2 x + 4 x ≤ 5
 1 2

x1, 2 ≥ 0
6.1.5 (min) f(x) = -4x1 -6x2

 4 x1 − 5 x 2 ≤ 7

− 3 x1 + 4 x 2 ≤ 6
 3x + 4 x ≤ 12
 1 2

x1, 2, ≥ 0

6.2
Aplicând algoritmul simplex, să se rezolve următoarele P.P.L.:

6.2.1 (min) f(x) = 3x1 + 2x2 – x3

 x1 + x 2 + x3 = 8

− 2x1 + 3 x 2 ≤ 4

x1, 2, 3 ≥ 0

6.2.2 (min) f(x) = 8x1 + 4x2

x1 + x 2 ≥ 5
x − 2x ≤ 0
 1 2

x
 1 ≥ 2
 0 ≤ x2 ≤ 1

6.2.3 (opt) f(x) = 4x1 + 5x2

 x1 + 2x 2 ≥ 4

 2x1 + x 2 ≤ 6
− 3 x + 4 x ≥ 12
 1 2

x1, 2 ≥ 0

6.2.4 (min) f(x) = 2x1 – x2 + 4x3 +3x4

− x1 + 2x 2 + x4 = 6

 3 x1 + x 2 − 4x3 = 1

xi ≥ 0, i = 1, 4

6.2.5 (max) f(x) = x1 +2x2 +3x3 + x4

 3 x1 − x 2 + x3 − x4 ≤ 3

− x1 + 2x 2 + x4 = 2
 x + 4x + x3 ≥ 1
 1 2

xi ≥ 0, i = 1,3
6.2.6 (min) f(x) = 3x1 + x2 + 2x3

 x1 − 2x 2 + x3 ≥ 1

− 3 x1 + 4 x 2 + 2x 3 ≥ 4

x1, 2, 3 ≥ 0

6.2.7 (min) f(x) = 3x1 – x2

 x1 − 3x 2 ≥ −3
2x + x2 ≥ −2
 1

 x1 + 4x 2 ≤ 8
4 x1 − x2 ≤ 12

x1, 2 ≥ 0

6.2.8 (min) f(x) = - 3x1 + 4x2 -2x3

 x1 + x 2 + x3 = 4

2x1 + x 2 − x3 = 6
3 x + 2x = 1
 1 2

x1, 2, 3 ≥ 0

6.2.9 (max) f(x) = 2x1 + x2 -2x3

 x1 + 2x 2 + 3x3 = 2

 x1 − x3 ≤ 4
2x + x2 + 4x3 = 1
 1
x1, 2, 3 ≥ 0

6.2.10 (min) f(x) = x1 + 3x2 + 4x3

− x1 − x 2 + 2x 3 ≤ −4

− x1 − 2x 2 − x3 ≤ −8
 2x − x − 4x3 ≤ − 12
 1 2

x1, 2, 3 ≥ 0
6.2.11 (min) f(x) = 3x1 - 5x2 - x3 + 4x4 - 2x5

 x1 + 3 x 2 + x3 + x4 + x5 ≥ 3

− x1 + x 2 + 2x 3 − x4 = −2

xi ≥ 0, i = 1,5

6.2.12
a) (min) f(x) = 4x1 + x2 + 2x3
 x1 − 2x 2 + x3 ≥ 3

3 x1 + x 2 − x3 ≥ 2

xi ≥ 0, i = 1,3

~  4
b) Care este soluţia optimă pentru b =   ?
1 
c = (2, 1, 5 ) ?
c) Care este soluţia optimă pentru ~

6.2.13

a) (max) f(x) = 4x1 +5x2 + x3


x1 − x 2 + 3x3 ≤ 6

x1 + 2x 2 + x3 ≤ 4
x − x − 2x 3 ≤ 1
 1 2

xi ≥ 0, i = 1,3
Completaţi următorul tabel simplex şi aflaţi soluţia optimă:

4 5 1 0 0 0
Baza CB XB θ0
a1 a2 a3 a4 a5 a6
a4 0 0 0 1
a2 5 0 1 0
a1 4 1 0 0

~
b) Reoptimizaţi pentru C = (3, 2, 4 ) .

9
~  
c) Reoptimizaţi pentru b =  6  .
 4
 
6.2.14
a) (min) f(x) = 2x1 + 6x2 +x3 + x4
 x2 + x3 + 2x 4 = 20

x1 + 2x 2 + x3 = 40
x + x + 4x 4 = 10
 1 2

xi ≥ 0, i = 1, 4
~ ~
b) Care este soluţia optimă pentru C = (4, 3, 1, 2) ? Dar pentru C = (6, 4, 2, 1) ?

12   40 
~   ~  
c) Care este soluţia optimă pentru b =  6  ? Dar pentru b = 10  ?
 1  20 
   
6.2.15
a) (max) f(x) = 8x1 + 3x2 + 2x3
2x1 + x 2 + x3 = 100

 x1 + 4x3 = 50
3 x + 2x 3 = 200
 1

xi ≥ 0, i = 1,3
Completaţi următorul tabel simplex şi determinaţi soluţia optimă a problemei.

8 3 2 −λ −λ
Baza CB XB θ0
a1 a2 a3 a4 a5
a2 3 1 0 0
a4 −λ 0 0 1
a3 2 0 1 0

~
b) Reoptimizaţi pentru C = (3, 2, 8 ) .

10 
~  
c) Reoptimizaţi pentru b =  30  .
 20 
 

6.2.16
a) (min) f(x) = 2x1 + 3x2 +5x3 + 6x4
 x1 + 2x 2 + 3x3 + x4 ≥ 2

− x1 + x 2 − x3 + 3x 4 ≤ −1

xi ≥ 0, i = 1, 4
~  4
b) Care este soluţia optimă pentru b =   ?
 2
~
c) Care este soluţia optimă pentru C = (4, 1, 6, 2) ?

6.3
Rezolvaţi problemele de transport (de minim) corespunzătoare următoarelor tabele:

6.3.1

Bj B1 B2 D
Ai
A1 3 1 10
A2 2 4 15
A3 6 2 45
N 20 30

6.3.2

Bj B1 B2 B3 D
Ai
A1 2 1 3 30
A2 4 2 6 20
N 15 25 35

6.3.3

Bj B1 B2 B3 D
Ai
A1 5 2 1 10
A2 1 4 3 20
A3 6 2 2 60
N 20 10 40

6.3.4

Bj B1 B2 B3 B4 D
Ai
A1 4 1 3 2 400
A2 6 4 2 4 300
N 100 300 200 100
6.3.5

Bj B1 B2 B3 D
Ai
A1 3 5 2 25
A2 2 4 1 35
A3 6 3 4 10
N 15 5 50

Presupunem ruta (A3, B2) interzisă.