Sunteți pe pagina 1din 10

RECAPITULARE PROGRAMARE LINIARĂ

I) Ce este un program liniar.

Reamintim că o problemă de programare liniară sau program liniar se compune din


următoarele elemente :
 Un set de variabile x=( x1 , x2 , … x n) numite variabile de decizie ;
 Un sistem de ecuații și/sau inecuații liniare în variabilele x 1 , … , x n , numite restricții ;
 Condițiiile de nenegativitate :variabilele x 1 , … , x n nu pot lua decât valori (reale) ≥ 0;
 O funcție liniară în variabilele x 1 , … , x n numită funcția obiectiv.
¿ ¿ ¿ ¿
Problema. Să se determine setul de valori numerice x =( x 1 , x 2 ,… , x n) care satisfac restricțiile și
condițiile de nenegativitate și care oferă funcției obiectiv valoarea optimă, adică maximă sau
minimă ,după caz.

Exemplul 1. Un program liniar în trei variabile :

( max ) f =7 x 1 +9 x 2+ 8 x 3 ⟵ funcția obiectiv

( P)
{ 5 x 1 +2 x2 −x3 ≥ 4

}
3 x 1 + x 2+ x 3=5 ⟵ restricții
x 1 +2 x 2 +3 x3 ≤ 9
x 1 ≥ 0 , x 2 ≥ 0 , x 3 ≥0 ⟵ condiții de nenegativitate
¿ ¿ ¿
Se cere determinarea valorilor numerice x 1 , x 2 și x 3 care satisfac cele trei restricții și condițiile de
nenegativitate și care oferă funcției obiectiv cea mai mare valoare posibilă.

Reamintim că o soluție a unui program liniar este un ansamblu de valori numerice acordate
variabilelor de decizie care satisfac restricțiile programului ; o soluție admisibilă este o soluție
cu toate componentele nenegative. În fine, o soluție optimă este o soluție admisibilă care oferă
funcției obiectiv valoarea optimă, adică maximă sau minimă, după caz.

Exemplul 1 Continuare. Pentru programul (P) din exemplul 1 :


 setul x́=( 1,3 ,−1 ) ⟺ x́ 1=1 , x́ 2=3 , x́ 3=−1 este o soluție care nu este admisibilă;
 setul x́=( 1,1,1 ) ⟺ x́ 1=1 , x́ 2=1 , x́ 3=1 este o soluție admisibilă;
1 22 1 ¿ 22 ¿
( )
 setul x = 5 , 5 , 0 ⟺ x 1= 5 , x 2= 5 , x 3=0 este unica soluție optimă a programului (P)
¿ ¿

oferind funcției obiectiv f valoarea maximă 41.

II) Modelarea prin programarea liniară

Exemplul 2 Recent, tânărul întreprinzător român Gheorghe a deschis o mică brutărie în Sinaia
la cota 1440 și vinde turiștilor sosiți cu telecabina covrigi și brioșe în pungi de o duzină. Punga
de covrigi se vinde cu 10 lei iar o pungă cu brioșe costă 12 lei. Produsele sunt bine apreciate și
turiștii sunt înfometați astfel că tot ceeace se coace se și vinde mintenaș. O duzină de covrigi
consumă 5 măsuri de făină,2 ouă și o măsură de zahăr iar o duzină de brioșe necesită 3 măsuri
de făină 3 ouă și 3 măsuri de zahăr. Pentru ziua următoare,Gheorghe are în stoc 90 măsuri de
făină, 45 ouă și 36 măsuri de zahăr. Câte duzini de covrigi și câte duzini de brioșe ar putea
coace Gheorghe în ziua următoare pentru ca venitul său să fie maxim ?
Modelul matematic
În acord cu schema generală, elaborarea modelului matematic implică parcurgerea următoarelor
etape:
I) Identificarea mărimilor variabile; acestea vor fi variabilele de decizie ale
modelului
În exemplul de față, singurele mărimi necunoscute sunt cantitățile de produse finite ce vor fi
fabricate din resursele existente. Drept care vom nota :
x1 = numărul pungilor cu covrigi
x2 = numărul pungilor cu brioșe
ce vor fi pregătite în ziua următoare din stocurile de făină,ouă și zahăr date.
II) Identificarea condițiilor limitative ale situației concrete modelate și formalizarea
lor în restricțiile modelului
În exemplul nostru există o singură cerință de care trebuie să ținem seama: încadrarea
necesarului de resurse penru fabricarea cantităților x1,x2 în stocurile disponibile:
- pentru făină: producerea a x1 pungi cu covrigi necesită 5x1 măsuri de făină. Pentru x2
pungi cu brioșe avem nevoie de 3x2 măsuri de făină. Prin urmare, expresia necesarului de făină
pentru realizarea combinației (x1,x2) de produse finite va fi 5 x 1+3 x 2. Acest necesar nu trebuie să
depășească disponibilul de 90 măsuri, ceeace se traduce prin inegalitatea
5 x 1+3 x 2 ≤ 90 (1)
- pentru ouă : raționând analog, cerința ca necesarul de ouă să nu depășească disponibilul
înseamnă satisfacerea inegalității
2 x1 +3 x 2 ≤ 45 (2)
- pentru zahăr :încadrarea necesarului de zahăr în cantitatea disponibilă se formalizează
prin inegalitatea
x 1+ 3 x 2 ≤36 (3)

III) Precizarea condițiilor explicite impuse valorilor variabilelor de decizie


Având în vedere semnificația lor economică este clar că variabilele x1 și x2 nu pot lua decât
valori nenegative
x 1 ≥ 0 , x2 ≥ 0 (4)
Atenție: x 1=0 sau x 2=0 traduce intenția de a nu produce covrigi respectiv brioșe !
În acord cu terminologia generală, perechile de valori numerice ( x́ 1 , x́ 2 ) asignate variabilelor x1 ,
x2 care satisfac restricțiile (1-3) și condițiile de nenegativitate (4) se numesc soluții admisibile ;
oricare dintre ele reprezintă un « program de producție » realizabil din resursele date.
IV) Identificarea criteriului de apreciere (de performanță) a soluțiilor admisibile și
formalizarea acestuia în funcția obiectiv a modelului
Din enunț rezultă că aprecierea diferitelor « posibilități de producție » se va face prin venitul
(potențial) pe care l-ar aduce în caz de adoptare. Expresia acestui venit este dată de funcția
f =10 x 1+12 x 2 (5)
a cărei valoare maximă urmează a fi căutată pe mulțimea soluțiilor admisibile.
Modelul matematic al situației de planificare din exemplul 2 este ansamblul relațiilor (1-5)
rescris în continuare și notat cu sigla (P) :
( max f =10 x 1 +12 x 2 )

( P)
{ 5 x 1+3 x 2 ≤ 90
2 x1 +3 x 2 ≤ 45
x 1+ 3 x 2 ≤36
x1 ≥ 0 , x2 ≥ 0

Deoarece funcția obiectiv (5) și restricțiile (1-3) sunt liniare în variabilele x1,x2 (P) este un
program liniar care se « citește » :
Să se determine valorile numerice x 1 , x 2 asignate variabilelor x 1 , x 2 care satisfac restricțiile (1-3)
¿ ¿

și condițiile de nenegativitate (4) și care oferă funcției obiectiv (5) valoarea maximă.
Într-o secțiune viitoare se va arăta că soluția optimă a programului (P) este :
x ¿1=15(pungi cu covrigi) , x ¿2=5(pungi cu brioșe) cu venitul maxim (max)f = 210 lei.

În caz de adoptare, această soluție ar utiliza întreg disponibilul de făină și ouă și numai 30
măsuri din stocul de zahăr.

III) Clasificarea programelor liniare

Un program liniar (P) se va numi compatibil dacă mulțimea soluțiilor sale admisibile este
nevidă. Vom spune că (P) este un program incompatibil dacă nu are soluții admisibile
(atenție : chiar dacă este incompatibil, este posibil ca (P) să aibe soluții dar nici una să nu aibe
toate componentele nenegative !)
Vom spune că programul liniar (P) are optim finit dacă (P) are cel puțin o soluție optimă. Dacă
(P) este un program compatibil dar nici una dintre soluțiile sale admisibile nu este optimă vom
zice că (P) are optim infinit (dacă funcția obiectiv f din (P) se maximizează, faptul că (P) are
optim infinit înseamnă următorul lucru : oricât de mare ar fi constanta pozitivă M, va exista
(măcar) o soluție admisibilă x́ cu proprietatea că f ( x́ ) > M ! )

Cu soluție optimă
unică (fig 1)

cu optim finit

Cu o infinitate de
soluții optime (fig 2)
compatibil

cu optim infinit
(fig3)
program liniar

incompatibil
(fig 4)

Exemplul 3 Ilustrări
1. Un program liniar cu soluție optimă unică
( max ) f =3 x1 −x2

{ 3 x 1−2 x 2 ≤ 3
( P1 ) 5 x 1 +4 x 2 ≥10
2 x1 + x2 ≤ 5
x1 ≥ 0 ,≥ x 2 ≥ 0

Vezi figura 1. Soluțiile admisibile se identifică cu punctele mulțimii hașurate !

x2

Dreapta de nivel f=3


a funcției obiectiv

A
Soluția optimă unică

x1

Figura 1
2. Un program liniar cu o infinitate de soluții

( max ) f =10 x 1 +5 x2

{ 3 x 1−2 x 2 ≤3
( P2 ) 5 x1 + 4 x 2 ≥ 10
2 x 1+ x 2 ≤5
x 1 ≥ 0 , ≥ x 2 ≥0
(P2) provine din (P1) prin schimbarea funcției obiectiv. Ambele programe au aceeași mulțime de
soluții admisibile ; vezi figura 2. Dreptele de nivel ale funcției obiectiv (una dintre ele este
dreapta punctată...) sunt paralele cu dreapta AD și ca urmare, orice punct din segmentul AD se
identifică cu o soluție optimă a programului oferind funcției obiectiv f aceeași valoare maximă
= 25.

x2
Dreaptă de nivel D
a funcției
obiectiv

C
A

A
B
x1

Figura 2

3. Un program liniar cu optim infinit

( max ) f =3 x 1−x 2

{
( P3 )
3 x 1−2 x 2 ≤ 3
5 x 1+ 4 x 2 ≥ 10
x1 ≥ 0 , x2 ≥ 0

(P3) se obține din (P1) eliminând restricția 2 x1 + x 2 ≤ 5. Din figura 3 rezultă că oricât de mare ar fi
constanta pozitivă M, dreapta de nivel f =M ⟺3 x 1−x 2=M intersectează mulțimea soluțiilor
admisibile A altfel spus există soluții admisibile – chiar o infinitate ! – care oferă funcției
obiectiv valoarea M. În concluzie, funcția obiectiv poate lua valori oricât de mari pe A !

dreapta de nivel

Figura 3

4. Un program liniar incompatibil


( max ) f =3 x 1−x 2

{ 3 x 1−2 x 2 ≥ 3
( P4 ) 5 x 1+ 4 x 2 ≤ 10
2 x 1+ x2 ≥5
x 1 ≥ 0 , ≥ x2 ≥ 0

(P4) se obține din (P1) schimbând sensul celor trei restricții. Din figura 4 rezultă clar că sistemul
restricțiilor din (P4), deși are soluții, nici una dintre ele nu are toate componentele nenegative ;
mulțimea soluțiilor admisibile este deci vidă !

Programul are soluții(!)


dar niciPpppppp
una nu este
admisibilă
Figura 4

IV) Proprietățile fundamentale ale mulțimii soluțiilor admisibile A ale unui


program linear compatibil

 A este o mulțime convexă: o dată cu două puncte conține și segmentul care unește
aceste puncte. Urmare a acestei proprietăți este faptul că soluția optimă a programului – dacă
există ! - se găsește pe frontiera mulțimii A !
 A este o mulțime poliedrală aică este o intersecție finită de semispații
(semiplane în reprezentările grafice) ; ca urmare, A un număr finit de vârfuri și dacă
programul are optim finit cel puțin o soluție optimă se găsește într-un vârf.

V) Forme speciale de prezentare a unui program liniar.

Vom spune că un program liniar este în formă canonică dacă toate restricțiile sale sunt
inecuații:
- de forma ≤ dacă funcția obiectiv se maximizeză ;
- de forma ≥ dacă funcția obiectiv se minimizează.
Forma canonică constituie cadrul natural de prezentare a teoriei dualității liniare. Orice
program liniar este echivalent cu o formă canonică.

Vom spune că un program liniar este în formă standard dacă toate restricțiile sale sunt ecuații.
Forma standard este importantă prin faptul că toate metodele actuale de rezolvare a programelor
liniare cer ca problema de soluționat să fie în această formă !
Un program liniar care nu este în formă standard poate fi adus la această formă prin
introducerea în restricțiile inegalități a unor noi variabile numite variabile de abatere.
Exemplul 4 Forma standard a programului (P) din exemplul 1
5 x 1+ 2 x 2−x 3 ≥ 4

{
( P)
3 x 1+ x 2 + x 3=5
x1 +2 x 2+3 x 3 ≤9
x 1 ≥ 0 , x 2 ≥ 0 , x3 ≥ 0
( max ) f =7 x 1 +9 x 2+ 8 x 3
⟹(FSP) ¿

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