Sunteți pe pagina 1din 17

Cercet ari operationale

B arb acioru Iuliana Carmen


CURSUL 6
Cursul 6
2
Cuprins
2 Programare liniar a 5
2.1 Modelul matematic al unei
probleme de programare liniar a . . . . . . . . . . . . . . . . . . . . 5
2.2 Forme de prezentare a modelului matematic . . . . . . . . . . . . . 12
Index 16
3
Cursul 6
4
Capitolul 2
Programare liniar a
n cadrul metodelor matematice larg utilizate n economie, un rol important
l ocup a programarea matematic a (programarea liniar a, neliniar a, parametric a,
dinamic a, etc.).
n general, prin problema de programare matematica se ntelege determinarea
valorii optime (maxime sau minime) a unei functii de mai multe variabile, dac a
variabilele sunt expuse unor leg aturi exprimate prin ecuatii si inecuatii si unor
conditii cu privire la semn.
Sfera de aplicare n economie a program arii matematice cuprinde un num ar
variat de probleme privind planicarea economic a operativ a si de perspectiv a,
conducerea dife-
ritelor procese de productie, dirijarea diferitelor procese tehnologice, etc.
Dintre toate ramurile program arii matematice, programarea liniar a este metoda
cea mai r aspndit a de rezolvare a unor probleme economice, aceasta deoarece, pe
de o parte, aparatul matematic utilizat n modelare si rezolvare este relativ sim-
plu, iar pe de alt a parte, este usor accesibil a pentru reprezentarea matematic a si
analiza fenomenelor economice.
2.1 Modelul matematic al unei
probleme de programare liniar a
Pentru a ntelege mai usor modelul matematic al unei probleme de programare
liniar a, sub forma general a, vom prezenta mai nti un exemplu simplu.
Exemplul 2.1.1 Realizarea de catre o ntreprindere a doua produse P
1
si P
2
impune folosirea a patru materii prime M
i
; i = 1; 4: Consumurile specice (coe-
5
Cursul 6
cien tii tehnici) c
ij
; i = 1; 4 , j = 1; 2 , disponibilul de materii prime si beneciile
unitare sunt date n Tabelul 1.1. ntreprinderea trebuie sa stabileasca ce cantita ti
va fabrica din ecare produs n a sa fel nct beneciul total sa e maxim.
Tabelul 1.1
M
i
P
j
Coecientii tehnici c
ij
Disponibilul n tone
P
1
P
2
M
1
2 2 12
M
2
1 2 8
M
3
4 0 16
M
4
0 4 22
Beneciu unitar 2 3
Pentru a stabili modelul matematic al problemei formulate not am cu x
1
num arul
de unit ati din produsul P
1
si cu x
2
num arul de unit ati din produsul P
2
care vor
fabricate pe baza resurselor existente (disponibilul de materii prime). Beneciul
total, corespunz ator nivelelor x
1
si x
2
ale productiei, se exprim a prin functia:
f (x
1
; x
2
) = 2x
1
+ 3x
2
(1.1)
Denitia 2.1.2 Func tia \f " se nume ste functie obiectiv(func tie scop, func tie
de ecien ta, func tie criteriu sau economica).
Deoarece pentru o unitate din produsul P
1
se consum a dou a unit ati din ma-
teria prim a M
1
iar pentru o unitate din produsul P
2
se consum a dou a unit ati
din materia prim a M
1
; va trebui s a introducem urm atoarea restrictie impus a de
disponibilul din materia prim a M
1
:
2x
1
+ 2x
2
_ 12 (1.2)
Rationnd similar pentru materiile prime M
2
; M
3
si M
4
obtinem:
x
1
+ 2x
2
_ 8 (1.3)
4x
1
_ 16
4x
2
_ 22
6
Cercet ari Operationale B arb acioru Iuliana Carmen
deci vom avea n nal:
_

_
2x
1
+2x
2
_ 12
x
1
+2x
2
_ 8
4x
1
_ 16
4x
2
_ 22
(1.4)
Denitia 2.1.3 Condi tiile (1.4) se numesc restrictiile problemei de progra-
mare matematica.
Tinnd seama de continutul economic al notiunilor cu care se lucreaz a sunt
necesare conditiile:
x
1
_ 0; x
2
_ 0 (1.5)
Denitia 2.1.4 Condi tiile (1.5) se numesc conditii de nenegativitate ale
problemei de programare matematica.
Asadar, modelul matematic al problemei prezentate este:
_

_
max [f (x
1
; x
2
)] = 2x
1
+ 3x
2
_

_
2x
1
+2x
2
_ 12
x
1
+2x
2
_ 8
4x
1
_ 16
4x
2
_ 22
x
1
_ 0; x
2
_ 0
(1.6)
Observatia 2.1.5 n modelul matematic al problemei de mai sus, att func tia
obiectiv ct si restric tiile sunt func tii liniare de necunoscute x
1
; x
2
:
Dac a toate functiile care intervin n (1.1) si (1.4) sunt liniare, problema de
programare matematic a se numeste problema de programare liniara. Numai acest
caz particular face obiectul sectiunii de fat a a c artii.
nainte de a analiza diferitele forme sub care se poate prezenta o problem a
de programare liniar a vom considera cteva probleme economice n scopul de a
le construi modelul matematic corespunz ator.
Exemplul 2.1.6 (Repartitia sarcinilor de productie ntre ntreprinderi
n cazul unui singur produs) Un numar de m ntreprinderi care fabrica ace-
la si produs trebuie sa aprovizioneze n beneciari. n tabelul 1.2. sunt trecute
7
Cursul 6
cantita tile a
i
; (1 _ i _ m) realizate de cele m ntreprinderi, cantita tile b
j
; (1 _ j _ n)
de care au nevoie cei n beneciari, costul transportului unei unita ti de produs de la
ntreprinderea A
i
; (1 _ i _ m) la beneciarul B
j
; (1 _ j _ n) pe care l-am notat
cu c
ij
; precum si costul de produc tie p
i
al unei unita ti din produsul ntreprinderii
A
i
:
Sa se determine reparti tia optima a sarcinilor de produc tie pe ntreprinderi
astfel nct cheltuielile de transport si costul de produc tie pentru ntreaga cantitate
fabricata si transportata sa e minim.
Solutie: Notnd cu x
ij
cantitatea din productia ntreprinderii A
i
care urmeaz a
a livrat a beneciarului B
j
atunci relatiile:
_

_
x
11
+ x
12
+ ::: + x
1n
= a
1
x
21
+ x
22
+ ::: + x
2n
= a
2
::::::::::::::::::::::::::::::::::::::::::
x
m1
+ x
m2
+ ::: + x
mn
= a
m
exprim a faptul c a suma cantit atilor livrate celor n beneciari de c atre produc a-
torul A
i
trebuie s a e egal a cu cantitatea produs a la aceast a ntreprindere.
Tabelul 1.2
AB B
1
B
2
::: B
j
::: B
n
Disponibil
Cost
unitar
A
1
A
2
:::
A
i
:::
A
m
c
11
c
12
::: c
1j
::: c
1n
c
21
c
22
::: c
2j
::: c
2n
::: ::: ::: ::: ::: :::
c
i1
c
i2
::: c
ij
::: c
in
:::: ::: ::: ::: ::: :::
c
m1
c
m2
::: c
mj
::: c
mn
a
1
a
2
:::
a
i
:::
a
m
p
1
p
2
:::
p
i
:::
p
m
Necesar b
1
b
2
::: b
j
::: b
n
Deoarece ecare beneciar trebuie s a primeasc a de la cei m produc atori o canti-
tate egal a cu necesarul s au, nseamn a c a trebuie s a e satisf acute si relatiile:
_

_
x
11
+ x
21
+ ::: + x
m1
= b
1
x
12
+ x
22
+ ::: + x
m2
= b
2
::::::::::::::::::::::::::::::::::::::::::
x
1n
+ x
2n
+ ::: + x
mn
= b
n
8
Cercet ari Operationale B arb acioru Iuliana Carmen
Natura problemei impune ca toate cantit atile x
ij
s a e nenegative:
x
ij
_ 0 , 1 _ i _ m; 1 _ j _ n
Problema cere s a se determine toate cantit atile x
ij
care satisfac conditiile scrise
mai sus astfel nct cheltuielile totale s a e minime, adic a:
f (x
11
; :::; x
1n
; x
21
; :::; x
2n
; :::; x
m1
; :::; x
mn
) =
= (p
1
+ c
11
) x
11
+ (p
2
+ c
12
) x
12
+ ::: + (p
m
+ c
m1
) x
m1
+ :::: + (p
m
+ c
mn
) x
mn
s a ia valoarea minim a.
Asadar, modelul matematic va :
- functia de minmizat:
min[f (x
11
; :::; x
1n
; x
21
; :::; x
2n
; :::; x
m1
; :::; x
mn
)] =
m

i=1
n

j=1
(p
i
+ c
ij
) x
ij
- restrictiile:
n

j=1
x
ij
= a
i
; 1 _ i _ m (m egalit ati)
m

i=1
x
ij
= b
j
; 1 _ j _ n (n egalit ati)
- conditia de nenegativitate a variabilelor:
x
ij
_ 0; 1 _ i _ m; 1 _ j _ n (m n variabile)
Exemplul 2.1.7 O ferma agricola dispune de a
i
tone ngra samnt de tipul I
i
,
1 _ i _ m; de b unita ti for ta de munca si c hectare de pamnt. Sectorul de
legume al acestei ferme permite cultivarea a n tipuri de legume. El dispune de
cel mult a
i
tone ngra saminte de tipul I
i
, cel pu tin b unita ti de for ta de munca
(indicator ce exprima consumul de for ta de munca n anul de baza) si cel pu tin
c hectare de pamnt. n tabelul 1.3 sunt trecute consumurile de ngra saminte,
for ta de munca si costul de produc tie la hectar p
j
pentru ecare tip de leguma j,
1 _ j _ n:
9
Cursul 6
Se cere sa se stabileasca structura optima a culturilor de legume astfel nct costul
total al produc tiei sa e minim.
Tabelul 1.3
ResurseTipuri de legume L
1
L
2
::: L
j
::: L
n
l
1
l
2
:::
l
i
:::
l
m
a
11
a
12
::: a
1j
::: a
1n
a
21
a
22
::: a
2j
::: a
2n
::: ::: ::: ::: ::: :::
a
i1
a
i2
::: a
ij
::: a
in
:::: ::: ::: ::: ::: :::
a
m1
a
m2
::: a
mj
::: a
mn
For ta de munca b
1
b
2
::: b
j
::: b
n
Costul de produc tie la hectar p
1
p
2
::: p
j
::: p
n
Solutie: Not am cu x
j
suprafata (n hectare) cultivat a cu legume de tipul L
j
si cu a
ij
num arul de unit ati din ngr as amntul I
i
necesar unui hectar din cultura
L
j
. Atunci avem restrictiile:
_

_
a
11
x
1
+ a
12
x
2
+ ::: + a
1n
x
n
_ a
1
a
21
x
1
+ a
22
x
2
+ ::: + a
2n
x
n
_ a
2
::::::::::::::::::::::::::::::::::::::::::
a
m1
x
1
+ a
m2
x
2
+ ::: + a
mn
x
n
_ a
m
Forta de munc a utilizat a pentru cultivarea celor n tipuri de legume trebuie s a e
de cel putin b unit ati, dar n nici un caz nu trebuie s a dep aseasc a disponibilul de
b unit ati al fermei. Asadar, trebuiesc satisf acute relatiile:
b
1
x
1
+ b
2
x
2
+ ::: + b
n
x
n
_ b
b
1
x
1
+ b
2
x
2
+ ::: + b
n
x
n
_ b
Restrictiile referitoare la suprafata cultivat a trebuie s a tin a seama de suprafata
planicat a pentru legume, care trebuie s a e de cel putin c ha., dar care nu trebuie
ns a s a dep aseasc a disponibilul fermei de c ha.
x
1
+ x
2
+ ::: + x
n
_ c
x
1
+ x
2
+ ::: + x
n
_ c
10
Cercet ari Operationale B arb acioru Iuliana Carmen
Cantit atile x
1
; x
2
; :::; x
n
_ 0 trebuie determinate astfel nct s a e sa-
tisf acute restrictiile indicate si n acelasi timp s a minimizeze costul total al pro-
ductiei, adic a functia:
f (x
1
; x
2
; :::; x
n
) = p
1
x
1
+ p
2
x
2
+ ::: + p
n
x
n
Deci modelul matematic al problemei este format din:
- functia obiectiv (ce trebuie minimizat a):
min[f (x
1
; x
2
; :::; x
n
)] =
n

j=1
p
j
x
j
- restrictiile problemei:
n

j=1
a
ij
x
j
_ a
i
; 1 _ i _ m
b _
n

j=1
b
j
x
j
_ b
c _
n

j=1
x
j
_ c
conditia de nenegativitate a variabilelor:
x
j
_ 0; 1 _ j _ n
11
Cursul 6
2.2 Forme de prezentare a modelului matematic
Din analiza modelelor prezentate n paragraful precedent rezult a c a ntr-o pro-
blem a de programare liniar a pot ap area restrictii scrise sub form a de egalit ati
sau inegalit ati (de tipul _ " sau _ "). De asemenea criteriul de optimali-
tate ales impune n unele cazuri maximizarea functiei obiectiv iar n alte cazuri
minimizarea acesteia.
S a consider am problema de programare liniar a avnd modelul matematic:
_

_
min[f (x
1
; x
2
; x
3
)] = 3x
1
x
2
+ 2x
3
_

_
x
1
+x
2
x
3
= 1
3x
1
4x
2
+x
3
= 2
2x
1
+3x
2
x
3
= 4
x
1
_ 0; x
2
_ 0; x
3
_ 0
Introducem notatiile:
A =
_
_
_
_
1 1 1
3 4 1
2 3 1
_
_
_
_
; B =
_
_
_
_
1
2
4
_
_
_
_
; C =
_
_
_
_
3
1
2
_
_
_
_
; X =
_
_
_
_
x
1
x
2
x
3
_
_
_
_
si atunci problema considerat a poate scris a sub form a matriceal a astfel:
_

_
min[f (x
1
; x
2
; x
3
)] =
_
3 1 2
_
_
_
_
_
x
1
x
2
x
3
_
_
_
_
_
_
_
_
1 1 1
3 4 1
2 3 1
_
_
_
_
_
_
_
_
x
1
x
2
x
3
_
_
_
_
=
_
_
_
_
1
2
4
_
_
_
_
_
_
_
_
x
1
x
2
x
3
_
_
_
_
_ 0
12
Cercet ari Operationale B arb acioru Iuliana Carmen
Prin generalizare e matricile:
A =
_
_
_
_
_
_
a
11
a
12
::: a
1n
a
21
a
22
::: a
2n
::: ::: ::: :::
a
m1
a
m2
::: a
mn
_
_
_
_
_
_
; B =
_
_
_
_
_
_
b
1
b
2
:::
b
m
_
_
_
_
_
_
;
C =
_
_
_
_
_
_
c
1
c
2
:::
c
n
_
_
_
_
_
_
; X =
_
_
_
_
_
_
x
1
x
2
:::
x
n
_
_
_
_
_
_
si e f : T
n
[X] R; f (X) = C
t
X:
Denitia 2.2.1 O problema de programare liniara este data sub forma stan-
dard daca toate restric tiile sunt ecua tii si tuturor variabilelor li se impun condi tii
de nenegativitate, adica:
(1)
min[f (X)] = C
t
X
A X = B
X _ 0
sau (1)
0
max [f (X)] = C
t
X
A X = B
X _ 0
Am denit la nceput aceast a form a a unei probleme de programare liniar a
deoarece orice problem a de programare liniar a, pentru a rezolvat a, va trebui
mai nainte adus a la forma standard.
Denitia 2.2.2 Spunem ca o problema de programare liniara este data sub forma
canonica daca toate restric tiile sunt inegalita ti de acela si sens si tuturor vari-
abilelor li se impun condi tii de nenegativitate. Atunci cnd restric tiile sunt de
forma _ func tia obiectiv trebuie maximizata iar atunci cnd sunt de forma
_ trebuie minimizata. n ambele cazuri restric tiile acestor probleme se numesc
concordante.
Avem deci:
(2)
_

_
min[f (X)] = C
t
X
A X _ B
X _ 0
sau (3)
_

_
max [f (X)] = C
t
X
A X _ B
X _ 0
13
Cursul 6
Evident orice form a canonic a poate adus a la forma standard.
Pentru forma (2) unde restrictiile sunt de forma _ " se scade pe ecare linie
cte o variabil a de compensare (sau variabil a ecart), y
j
; y
j
_ 0; din membrul
stng, respectiv pentru forma (3) unde restrictiile sunt de forma _ " se adun a
pe ecare linie cte o variabil a de compensare, y
j
; y
j
_ 0:
Trebuie mentionat faptul c a variabilele de compensare nu apar n functia
obiectiv (sau altfel spus apar cu coecientii c
c
j
= 0; unde prin c
c
j
ntelegem coe-
cientii corespunz atori variabilelor de compensare).
Obtinem:
(2)
0
_

_
min[f (X)] = C
t
X
A X I Y = B
X _ 0; Y _ 0
respectiv (3)
0
_

_
max [f (X)] = C
t
X
A X + I Y = B
X _ 0; Y _ 0
unde I este matricea identitate de ordinul m iar
Y =
_
_
_
_
_
_
y
1
y
2
:::
y
m
_
_
_
_
_
_
Exemplul 2.2.3 Fie modelul prezentat sub forma canonica:
_

_
max [f (x
1
; x
2
; x
3
)] = 2x
1
+ 3x
2
+ 2x
3
_
2x
1
+x
2
+x
3
_ 8
x
1
+2x
2
+x
3
_ 5
x
1
_ 0; x
2
_ 0; x
3
_ 0
Adaugnd cte o variabila de compensare pe ecare linie a sistemului de inecua tii,
vom ob tine:
_

_
max [f (x
1
; x
2
; x
3
)] = 2x
1
+ 3x
2
+ 2x
3
_
2x
1
+x
2
+x
3
+y
1
= 8
x
1
+2x
2
+x
3
+y
2
= 5
x
1
_ 0; x
2
_ 0; x
3
_ 0
y
1
_ 0; y
2
_ 0
14
Cercet ari Operationale B arb acioru Iuliana Carmen
ceea ce este echivalent cu:
_
2 1 1
1 2 1
_
_
_
_
_
x
1
x
2
x
3
_
_
_
_
+
_
1 0
0 1
__
y
1
y
2
_
=
_
8
5
_
X _ 0; Y _ 0
adica forma (3)
0
:
Observatia 2.2.4 n aplica tiile practice apar des situa tii n care modelul mate-
matic con tine restric tii de toate tipurile.
Restric tiile de forma _ sunt neconcordante pentru problema la care se cere
maximizarea func tiei obiectiv, iar cele de forma _ sunt neconcordante pentru
problema la care se cere minimizarea func tiei obiectiv.
Orice problem a de programare liniar a se poate reduce la forma standard sau
la forma canonic a cu ajutorul unor transform ari elementare efectuate asupra
variabilelor sau/si restrictiilor precum si a operatorului aplicat functiei obiectiv.
Aceste transform ari sunt:
Transformarea operatorului maxim n minim (sau invers) se bazeaz a pe
egalitatea:
max
x2X
[f (X)] = min
x2X
[f (X)]
adev arat a pentru orice multime X si orice functie real a denit a pe X: n
particular:
max C
t
X = min
_
C
t
_
X
Transformarea sensului unei inegalita ti se realizeaz a prin nmultirea ei cu
-1;
O variabil a x c areia nu i se impun conditii de semn, se nlocuieste prin
diferenta a dou a variabile nenegative x
1
; x
2
:
x = x
1
x
2
cu x
1
_ 0; x
2
_ 0
Ecua tiile se transforma n inecua tii pe baza faptului c a a x = b este
echivalent a cu urm atoarele inecuatii de sens contrar:
a x = b =
_
a x _ b
a x _ b
15
Cursul 6
Transform arile enumerate mai sus ne dau posibilitatea s a obtinem forma stan-
dard sau forma canonic a echivalent a a oric arei probleme de programare liniar a.
Exemplul 2.2.5 Sa se aduca la forma standard urmatoarea problema de progra-
mare liniara:
_

_
max [f (x
1
; x
2
; x
3
)] = 3x
1
x
2
+ 2x
3
_

_
x
1
+x
2
x
3
= 1
3x
1
4x
2
+x
3
_ 2
2x
1
+3x
2
x
3
_ 4
x
i
_ 0; i = 1; 3
Se observa ca restric tiile problemei con tin egalita ti, inegalita ti neconcordante (a
doua restric tie) si inegalita ti concordante (a treia restric tie). Prima restric tie
ind o egalitate ne convine si deci ramne neschimbata. La a doua restric tie
adunam n stnga variabila de compensare y
1
_ 0 iar la cea de-a treia restric tie
scadem din partea stnga a egalita tii variabila de compensare y
2
_ 0: Ob tinem
forma standard:
_

_
max [f (x
1
; x
2
; x
3
)] = 3x
1
x
2
+ 2x
3
_

_
x
1
+x
2
x
3
= 1
3x
1
4x
2
+x
3
+y
1
= 2
2x
1
+3x
2
x
3
y
2
= 4
x
i
_ 0; y
j
_ 0; i = 1; 3; j = 1; 2
16
Index
Conditii
de nenegativitate, 7
Forma
canonica, 13
standard, 13
Functie
obiectiv, 6
Restrictii
concordante, 13
neconcordante, 15
Restrictiile
problemei, 7
Transformari
elementare, 15
17

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