MM 3 (Algoritmul PPL) Seiciuc - 08

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

Descărcați ca doc, pdf sau txt
Descărcați ca doc, pdf sau txt
Sunteți pe pagina 1din 9

3.

Problema programrii liniare


Considerm problema de programare liniar sub forma
x c
T
min (3.1)

, b Ax
(3.2)

0 x
, (3.3)
unde ) ; ; ; (
2 1 n
T
c c c c ,
) ; ; ; (
2 1 n
T
x x x x ,
) ; ; ; (
2 1 m
T
b b b b ,

,
_

mn m m
n
n
a a a
a a a
a a a
A

2 1
2 22 211
1 12 11
Problema de programare liniar (3.1) (3.3) este preferat din cauza
restriciilor (3.2) care sunt date sub form de ecuaii, iar ele sunt studiate mai bine.
Deci, problema se prezint astfel: din mulimea tuturor soluiilor nenegative
ale sistemului de ecuaii (3.2) se cere de aflat pe aceea care minimizeaz (sau
maximizeaz) funcia liniar (3.1).
Remarc. Se spune, de obicei, c problema de programare liniar (3.1)
(3.3) are forma standard.
1. Atunci cnd restriciile problemei sunt date sub form de inecuaii ele se
transform n ecuaii prin introducerea variabilelor de compensare (variabile
ecart, variabile abatere):
O inecuaie de forma

i n in i i
b x a x a x a + + +
2 2 1 1
(3.4)
se transform n ecuaie prin introducerea variabilei de compensare : 0
i
y
18

i i n in i i
b y x a x a x a + + + +
2 2 1 1
(3.5)
2. Inecuaia de forma

i i n in i i
b y x a x a x a + + + +
2 2 1 1
(3.6)
se transform n ecuaie prin scderea variabilei de compensare : 0
i
y

i i n in i i
b y x a x a x a + + +
2 2 1 1
(3.7)
3. Atunci cnd e nevoie s trecem de la ecuaii de forma

i n in i i
b x a x a x a + + +
2 2 1 1
(3.8)
la inecuaii, putem nlocui (3.8) cu sistemul de inecuaii

'

+ + +
+ + +
i in i i
i in i i
b x a x a x a
b x a x a x a
1 1 2 1 1
1 1 2 1 1

(3.9)
4. O variabil supus condiiei
0
i
x
poate fi transformat n alta
nenegativ fcnd substituia . 0
i i
x y
5. O variabil oarecare
i
x creia nu i se impun condiii de nenegativitate
poate fi fcut cu dou variabile nenegative prin substituia
2 1 i i i
x x x .
6. O problem de minimizare o putem reduce la una de maximizare (i
invers), dac schimbm semnele coeficienilor din funcia obiectiv.
Avem

)] ( [ max ) ( min x f x f
(3.10)
Definiie. Vom numi soluie optim a problemei (3.1) (3.3) vectorul
T
n
x x x ) , , (
1
care verific condiiile (3.2) (3.3) i
x c x c
T T
min (3.11)
Atunci cnd problema este n dou variabile ea admite o interpretare clar
geometric (grafic). Orice problem de programare liniar, ce conine numai dou
variabile, poate fi uor rezolvat reieind din interpretarea ei geometric.
Pentru a ilustra aceast afirmaie, considerm un exemplu.
Exemplu. S se rezolve problema de programare liniar
19

max 2
2 1
x x f
(3.12)


+
+
0 ,
1
3 2
0
2 1
2 1
2 1
2 1
x x
x x
x x
x x
(3.13)
Rezolvare. Sistemul de inecuaii (3.13) reprezint intersecia a cinci
semiplane, determinate de dreptele respective:
. 0 , 0 ; 1 ; 3 2 ; 0
2 1 2 1 2 1 2 1
+ + x x x x x x x x
Desenm aceste drepte, ulterior determinm semiplanele care sunt
determinate de inecuaiile (3.13) .


A

-1 C
-2
20
2
3
4
1
11 2 3 4 5
3 2
2 1
+ x x
1
x
2
x
1,5
O
0
2 1
+ x x
-1
1
2 1
x x
2 2
2 1
x x
grad f
--grad f
Dreapta d x x
2 1
2 se numete linie de nivel. Desenm o linie de nivel
(pentru o valoare a lui d : d = 2 )
2 2
2 1
x x
.
Aceast dreapt trece prin punctele M
1
(2; 0) i M
2
(0; -1) .
Gradientul funciei
T T
x x
f f x x f grad ) 2 ; 1 ( ) ; ( ) ; (
2 1
2 1

ne indic creterea funciei, iar antigradientul (-grad f) ne va indica descreterea.
Att gradientul ct i antigradientul sunt perpendiculari liniei de nivel.
Astfel, deplasndu-ne n direcia vectorului grad f ( -grad f) cu linia de nivel
2 2
2 1
x x
(creia i corespunde valoarea funciei obiectiv f = 2 ) vom obine
valori mai mari (mici) pentru f.
Deplasarea se va face att timp, ct linia de nivel
d x x f ) ; (
2 1
pentru
diferite valori ale lui f va avea puncte comune cu domeniul (3.13).
Se observ din desen c ultimul punct comun pentru valoarea de minimum
este punctul A i ultimul punct comun pentru valoarea de maximum este punctul
C .
Deci, n acest punct C funcia
) ; (
2 1
x x f
2 1
2x x
atinge valoarea
maximal. Aflm coordonatele acestui punct rezolvnd sistemul de ecuaii:

'


0
1
2
2 1
x
x x
Soluia acestui sistem:
. 0 ; 1
2 1
x x
Deci, soluia optim a problemei
este atins n punctul C. Rezult c
. 0 ; 1
2 1
x x
. 1 0 2 1 ) 0 ; 1 ( ) ; (
2 1 max
f x x f f
Problema de programare liniar (3.1) (3.3) poate fi rezolvat grafic i n
cazul cnd numrul de variabile
2 > n
, dar cu condiia c
2 m n
.
Se consider c
m A rang
.
Exemplu. S se rezolve problema de programare liniar:
21

max 4 2 3 2
5 4 2 1
+ + + x x x x f
(3.15)

'

+ +
+ + +
+
4 3 2
6 4 2
2 3 2 2
4 2 1
5 3 2 1
5 4 3 1
x x x
x x x x
x x x x
(3.16)

5 , 4 , 3 , 2 , 1 , 0 i x
i
(3.17)
Rezolvare. Vom determina n sistemul de restricii (3.16) variabilele de
baz i cele secundare. Pentru aceasta vom aduce acest sistem la o baz unitate
( B = U ), folosind metoda eliminrii (Gauss-Jordan).
Simultan cu transformarea sistemului (3.16) vom transforma i funcia
obiectiv (3.15), considernd expresia (3.15) drept o ecuaie:
4 2 3 2
5 4 2 1
+ x x x x f (3.18)
n ecuaia (3.18) variabila de baz va fi f .
Astfel, (3.16) i (3.18) reprezint un sistem de 4 ecuaii. Ecuaia (3.18),
ns, nu va ocupa niciodat linia pivot, deoarece, noi dorim ca f s rmn n
continuare variabil de baz.
Procedura de eliminare este prezentat n tabelele de mai jos.
f x
1
x
2
x
3
x
4
x
5
b
i
0 1 0 -2 2 -3 2 0
0 2 1 4 0 1 6 14
0 -1 2 0 3 0 4 8
1 -2 1 0 -3 -2 4 -1
f x
1
x
2
x
3
x
4
x
5
b
i
0 1 0 -2 2 -3 2 0
0 0 1 8 -4 7 2 14
0 0 2 -2 5 -3 6 8
1 0 1 -4 1 -8 8 -1
f x
1
x
2
x
3
x
4
x
5
b
i
22
0 1 0 -2 2 -3 2 0
0 0 1 8 -4 7 2 14
0 0 0 -18 13 -17 2 -20
1 0 0 -12 5 -15 6 -15
f x
1
x
2
x
3
x
4
x
5
b
i
0 1 0 0 5/9 -10/9 16/9 20/9
0 0 1 0 16/9 -5/9 26/9 46/9
0 0 0 1 -13/18 17/18 -1/9 10/9
1 0 0 0 -11/3 -11/3 14/3 -5/3
Astfel, dup 3 iteraii s-au evideniat variabilele de baz
3 2 1
, x i x x
i
cele secundare
5 4
x i x
.
Din ultimul tabel rezult sistemul de ecuaii:

'


+
+
+
3
14
3
11
3
11
9
1
18
17
18
13
9
26
9
5
9
16
9
16
9
10
9
5
5 4
5 4 3
5 4 2
5 4 1
x x f
x x x
x x x
x x x
(3.19)
Din sistemul de ecuaii (3.19) rezult urmtorul sistem:

'

+
+
+
5 4 3
5 4 2
5 4 1
18
17
18
13
9
1
9
5
9
16
9
26
9
10
9
5
9
16
x x x
x x x
x x x
(3.20)
Deoarece 0 , ,
3 2 1
x x x din (3.20) rezult
23

'

+
+
+
0
18
17
18
13
9
1
0
9
5
9
16
9
26
0
9
10
9
5
9
16
5 4
5 4
5 4
x x
x x
x x
(3.21)
Prin urmare, problema de programare liniar (3.15) - (3.17) se reduce la una n
dou variabile:
max
3
14
3
11
3
11
5 4
+ + x x f (3.22)

'

+


9
1
18
17
18
13
9
26
9
5
9
16
9
16
9
10
9
5
5 4
5 4
5 4
x x
x x
x x
(3.23)
0 ,
5 4
x x (3.24)
Dup ce transformm sistemul de inecuaii (3.23), obinem problema:
max
3
14
3
11
3
11
5 4
+ + x x f (3.25)

'

+


2 17 13
26 5 16
16 10 5
5 4
5 4
5 4
x x
x x
x x
(3.26)

0 ,
5 4
x x
(3.27)
Problema (3.25) - (3.27) este una n dou variabile i poate fi rezolvat
grafic.

24
2
5
x
2 17 13
5 4
+ x x
26 5 16
5 4
x x

A(2,1: 1,6)
grad f =
)
3
11
;
3
11
(
A:
. 6 , 1 ; 1 , 2
2 17 13
26 5 16
5 4
5 4
5 4

'



x x
x x
x x


.
1035
1658
;
207
440
5 4
x x
Soluia optim se afl n punctul A (2,1; 1,6). Rezult .
1035
1658
;
207
440
5 4
x x
Din (3.20) gsim

,
_

+ +
1035
1658
207
440
9
5
5
16
1035
1658
9
10
207
440
9
5
5
16
1
x

; 24 , 0
9315
2228
1863
5516
5
16
1035
5516
9
5
5
16

25
2
-4
1 2 3 4 5
4
x
1,5
O
-1
grad f
-
5,2
-3
-
1,6
3,2
-2
1
-5
-0,1
0,5
16 10 5
5 4
x x


. 78 , 1
1863
3316
1035
43490 26910
9
1
1035
43490
26
9
1
1035
8290 35200
26
9
1
1035
8290
207
7040
9
1
9
26
1035
1658
9
5
207
440
9
16
9
26
2

,
_

,
_

,
_

,
_

+ + x
. 09 , 0
9315
828
18630
1656
1035
1656
18
1
1035
1658 17
207
440 13
2
18
1
1035
1658
18
17
207
440
18
13
9
1
3

,
_

,
_

+ + x
Valorea de maxim ai funciei obiectiv este
3 , 18
3
14
1035
1658
3
11
207
440
3
11
3
14
3
11
3
11
1035
1658
;
207
440 5 4 max
5 4
+ +
1
]
1

+ +
x x
x x f
26

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