Documente Academic
Documente Profesional
Documente Cultură
În orice problemă de optimizare rezultată din modelarea unui proces economic întâlnim două
categorii de mărimi:
• Mărimi constante: preţuri, profituri, costuri, cantităţi disponibile de resurse etc. Bineînţeles
că şi aceste mărimi se pot schimba de la o perioadă la alta; important este faptul că pe un
interval de timp convenabil ales ele pot fi considerate invariabile!
• Mărimi variabile ca de exemplu: cantităţi de bunuri ce urmează a fi produse într-o anumită
perioadă.
În principiu, mărimile variabile urmează a fi astfel determinate încât să satisfacă un anumit
criteriu de performanţă cum ar fi: maximizarea venitului (a profitului) sau minimizarea costurilor de
producţie.
Orice proces economic se desfăşoară în anumite condiţii limitative ca de exemplu: încadrarea
consumurilor de resurse în disponibilele date sau realizarea unui anumit nivel minimal al profitului.
Identificarea corectă a acestor condiţii determină nemijlocit calitatea modelului şi de aici şi calitatea
soluţiei optime.
În elaborarea modelului matematic pentru o problemă de optimizare practică se recomandă
parcurgerea următoarelor etape:
1. Identificarea mărimilor variabile:acestea vor deveni variabilele de decizie ale modelului;
2. Identificarea condiţiilor limitative ce caracterizează procesul modelat şi formalizarea lor în
relaţii matematice – inegalităţi şi / sau egalităţi – denumite restricţii;
3. Precizarea criteriului de performanţă şi formalizarea lui într-o funcţie de variabilele de
decizie, numită funcţia obiectiv;
4. Precizarea condiţiilor explicite impuse mărimilor variabile, ca de exemplu: să ia numai
valori reale nenegative sau numai valori întregi etc.
În acest context, soluţiile admisibile ale problemei originale se identifică cu acele seturi de valori
numerice acordate variabilelor de decizie care satisfac restricţiile şi condiţiile explicite. Soluţia optimă va
fi acea soluţie admisibilă care oferă funcţiei obiectiv cea mai mare sau cea mai mică valoare, după caz.
4.2.2. Terminologie, notații utilizare în programarea liniară. Forme ale unei
probleme de programare liniară
Ansamblul de relaţii matematice rezultate din parcurgerea etapelor prezentate mai sus şi care
constă în maximizarea sau minimizarea unei funcţii ale cărei variabile trebuie să satisfacă un set de
restricţii şi condiţii explicite poartă numele de problemă de programare matematică.
Dacă funcţia obiectiv şi restricţiile sunt liniare în variabilele de decizie vom avea de a face cu o
problemă de programare liniară sau mai scurt program liniar. Neliniaritatea funcţiei obiectiv sau a
unora dintre restricţii plasează problema de programare în clasa celor neliniare.
În principiu, oricărei probleme de optimizare i se poate asocia o problema de programare
matematică. Problemele de maxim şi de minim apar frecvent în domeniul economic. Astfel, firmele
încearcă să maximizeze profiturile sau să minimizeze costurile. Experţii în planificare macroeconomică
se preocupă de maximizarea bunăstării unei comunităţi economico-sociale. Consumatorii doresc să
cheltuiască venitul lor într-un mod care să le maximizeze satisfacţia (de natură materială dar şi spirituală
etc.)
Programarea liniară se ocupă deci de o clasă specială de probleme de optimizare care apar deseori
în aplicaţiile economice. Aceste probleme constau în maximizarea sau minimizarea unei funcţii liniare,
numită funcţie obiectiv, ale cărei variabile trebuie să satisfacă:
• un sistem de relaţii date sub forma unor ecuaţii şi/sau inecuaţii liniare nestricte, denumite
generic restricţii;
• cerinţa de a lua numai valori numerice nenegative (³0).
Așa cum a fost precizat mai sus, o problemă de programare liniară (PPL) este o problemă de
optimizare în care restricțiile și funcția obiectiv sunt expresii liniare în variabilele problemei.
Notații
Considerăm o PPL cu m restricții și n variabile. Notațiile cu care vom opera sunt:
Să notăm cu xj cantitatea din bunul Gj care urmează a fi produsă. Problema enunţată mai înainte
devine:
Să se găsească valorile numerice x1,x2,...,xn care maximizează funcţia:
f = c1 x1 + c2 x 2 +...+ cn x n
cu satisfacerea restricţiilor:
ì a11 x1 + a12 x 2 + ! + a1n x n £ b1
ïa x +a x +!+ a x £b
ï 21 1 22 2 2n n 2
í
ï !!!!!!
ïîa m1 x1 + a m2 x 2 + ! + a mn x n £ bm
şi a condiţiilor de nenegativitate:
x1 ³ 0 , x 2 ³ 0 , ! x n ³ 0
Observaţie: Ipotezele de liniaritate făcute nu sunt verificate întotdeauna în practică. Raţiunea lor
este dublă:
• conduc la modele matematice în general simple;
• pe baza modelelor liniare se pot formula concluzii calitative şi legităţi economice care îşi menţin
valabilitatea - în anumite limite - şi într-un context neliniar.
2) Problema dietei a devenit o ilustrare clasică a programării liniare, fiind întâlnită în mai toate
textele de specialitate. Ea se ocupă cu hrănirea unei colectivităţi, să zicem un grup de militari, în cel mai
economic mod cu condiţia satisfacerii anumitor cerinţe de nutriţie. Mai concret, este vorba de a prepara
un aliment complex pornind de la n sortimente de hrană F1,F2,...,Fn. Un număr de elemente sau principii
nutritive N1,N2,...,Nm - proteine, glucide, grăsimi calciu,etc. sunt avute în vedere în sensul că alimentul
combinat trebuie să conţină cel puţin b1,b2,...,bm unităţi specifice din fiecare. Să presupunem cunoscute
următoarele:
• cantitatea aij din principiul nutritiv Ni conţinută într-o unitate din tipul de hrană Fj;
• preţul unitar cj al tipului de hrană Fj.
Notăm cu x1,x2,...,xn cantităţile din felurile de hrană F1,F2,...,Fn care trebuie cumpărate în vederea
elaborării dietei. Formal, x1,x2,...,xn vor trebui determinate astfel încât:
• costul f = c1 x1 + c2 x 2 +...+ cn x n al alimentelor cumpărate să fie minim.
• amestecul să conţină principiile nutritive N1,N2,...,Nm în cantităţi cel puţin egale cu b1,b2,...,bm,
adică:
ì a11 x1 + a12 x 2 + ... + a1n x n ³ b1
ï a x + a x + ... + a x ³ b
ïï 21 1 22 2 2n n 2
í................................
ïa x + a x + ... + a x ³ b
ï m1 1 m2 2 mn n m
ïî x1 ³ 0, x 2 ³ 0,..., x n ³ 0
Din nou au fost tacit utilizate ipotezele de liniaritate întâlnite şi în modelul precedent.
Este posibil ca (P) să aibă soluţii dar nici una din ele să fie admisibilă: A = Æ. Spunem în acest
caz că problema (P) este incompatibilă. Chiar dacă A ¹ Æ, este posibil ca funcţia obiectiv să fie
nemărginită pe A , adică să existe un şir de soluţii admisibile de-a lungul căruia funcţia obiectiv să tindă
spre + ¥ sau -¥, după caz. în această situaţie vom spune că (P) are optim infinit. Dacă (P) are (cel puţin)
o soluţie optimă, zicem că (P) are optim finit.
Deoarece eventualele restricţii inegalităţi sunt nestricte mulţimea A este închisă (în topologia
uzuală a spaţiului Rn), adică o dată cu un şir convergent de puncte conţine şi limita acestuia. Această
proprietate este esenţială pentru existenţa unei soluţii optime a problemei (P)! Conform unui rezultat clasic
al analizei matematice, dacă A este mărginită, atunci f îşi atinge efectiv extremele pe A, şi deci (P) are
optim finit. În consecinţă, dacă (P) are optim infinit, cu siguranţă A este nemărginită. Reciproca nu este în
general adevărată: este posibil ca A să fie nemărginită şi totuşi (P) să aibă optim finit.
4.2.2.2. Forma canonică a unei probleme de programare liniară
O restricţie a unei probleme (P) de programare liniară se zice concordantă dacă este o inegalitate
de tipul "£" când funcţia obiectiv se maximizează şi de tipul "³" când funcţia obiectiv se minimizează. O
restricţie inegalitate care nu este concordantă se va numi neconcordantă. Restricţiile egalităţi nu fac
obiectul acestei clasificări.
Spunem că o problemă de programare liniară este în formă canonică dacă toate restricţiile ei sunt
inegalităţi concordante.
În consecinţă, o problemă în formă canonică de maximizare arată astfel:
ì n
ï å aij x j £ bi i = 1,..., m
j =1 ì Ax £ b
ï ï
í x j ³ 0 j = 1,..., n sau matricial í x ³ 0 unde:
ï ï(max) f = cx
n
ï(max) f = å c j x j î
î j =1
ì n
ï å aij x j ³ bi
j =1 ì Ax ³ b
ï ï
í xj ³ 0 Û í x³0
ï ï(min) f = cx
n
ï(min) f = å c j x j î
î j =1
De exemplu, problema firmei (1.1, exemplul 1)) este o formă canonică de maximizare în timp ce
problema dietei (1.1, exemplul 2)) este o formă canonică de minimizare.
Orice problemă de programare liniară se poate pune sub o formă canonică de maximizare sau
minimizare, fără modificarea mulţimii soluţiilor admisibile, observând că:
• o egalitate se poate înlocui cu două inegalităţi de sens contrar;
• o restricţie neconcordantă devine concordantă prin înmulţire cu -1;
• putem schimba sensul optimizării funcţiei obiectiv, graţie formulei generale:
În consecinţă, putem face anumite raţionamente teoretice pe o formă canonică (ca de exemplu în teoria
dualităţii liniare), fără ca prin aceasta să restrângem generalitatea.
Exemplul 1.3.1
ì(max) f = 2 x1 - 3x 2 + 4 x 3 ì(min)( - f ) = -2 x1 + 3x 2 - 4 x 3
ï x - 3x + 5x = 3 ï x 1 - 3x 2 + 5 x 3 ³ 3
ïï 1 2 3 ï
Þ ï - x 1 + 3x 2 - 5 x 3 ³ - 3
í 3 x1 + x 2 ³ 5 í
ï 2x + ï 3x 1 + x 2 ³ 5
x 3 £ 10
ï 1
ï - 2 x1 - x 3 ³ -10
ïî x1 ³ 0, x 2 ³ 0, x 3 ³ 0 ï
î x1 ³ 0, x 2 ³ 0, x 3 ³ 0
Programul (P) Forma canonică de minimizare a programului (P)
Spunem că o problemă de programare liniară este în formă standard dacă toate restricţiile ei sunt
egalităţi. Importanţa acestei forme particulare rezultă din faptul că metoda de rezolvare a problemelor de
programare liniară care va fi expusă mai departe cere ca problema să fie în această prezentare.
În consecinţă, o problemă (P) care are şi restricţii inegalităţi va fi înlocuită - în vederea rezolvării
ei - cu o alta în care toate restricţiile sunt egalităţi. Noua problemă, numită forma standard a problemei
(P) şi notată (FSP), se construieşte astfel:
• O restricţie inegalitate din problema originală (P) de tipul "£" (respectiv de tipul "³") se
transformă în egalitate prin adăugarea (respectiv prin scăderea) unei variabile nenegative din membrul
său stâng. Aceste variabile se numesc variabile de abatere sau de ecart.
• Restricţiile egalităţi nu se modifică.
• Noile variabile introduse nu apar în funcţia obiectiv a problemei originale (alternativ, spunem
că ele apar cu coeficienţi nuli)
Exemplul 1.4.1
ì(max) f = 7 x1 + 9 x 2 + 8 x 3 ì(max) f = 7 x1 + 9 x 2 + 8 x 3
ï 5x + 2 x - x ³ 4 ï
ïï 1 2 3 ï 5 x1 + 2 x 2 - x 3 - x 4 =4
( P ) í 3 x1 + x 2 + x 3 = 5 Þ ï
( FSP )í 3x1 + x 2 + x 3 =5
ï x1 + 2 x 2 + 3 x 3 £ 9 ï x 1 + 2 x 2 + 3x 3 + x5 = 9
ï ï
ïî x1 ³ 0, x 2 ³ 0, x 3 ³ 0 ïî x j ³ 0, j = 1,...,5
Problema care apare în acest context este aceea de a explica modul în care se obţine soluţia optimă
a problemei (P) dacă se cunoaşte soluţia optimă a formei sale standard (FSP). Se poate arăta uşor că între
mulţimile de soluţii admisibile AP , ale problemei (P) şi AFSP, ale problemei (FSP), există o corespondenţă
bijectivă care conservă soluţiile optime. Vom arăta cum funcţionează această corespondenţă pe exemplul
precedent.
Notând-o cu F, aceasta corespondenţă va asocia unei soluţii admisibile x = ( x1 , x 2 , x 3 ) a
problemei (P) vectorul:
F( x ) = ( x1 , x 2 , x 3 , 5x1 + 2 x 2 - x 3 - 4, 9 - x1 - 2 x 2 - 3x 3 )
care prin construcţie se dovedeşte a fi o soluţie admisibilă a problemei (FSP). Reciproc, unei soluţii
admisibile x~ = ( x~1 , x~2 , x~3 , x~4 , x~5 ) a problemei (FSP) corespondenţa inversă F-1 îi asociază vectorul
( x~1 , x~2 , x~3 ) care satisface în mod clar restricţiile problemei originale (P). Dacă x este soluţia optimă a
problemei (P) atunci F( x ) este soluţia optimă a problemei (FSP) şi reciproc, dacă cunoaştem soluţia
optimă x~ a problemei (FSP) , F -1 ( x~) reprezintă soluţia optimă a problemei (P).
În problemele concrete, variabilele de abatere au interpretări economice precise aşa că în analiza
soluţiei optime valorile lor vor fi luate în considerare laolaltă cu valorile variabilelor originale. Astfel, în
problema firmei (1.1, exemplul1)) variabilele de abatere xn+1, xn+2, ..., xn+m definite prin:
n
x n +i = bi - å aij x j i = 1,..., m
j =1
reprezintă cantităţi de resurse neconsumate şi prin urmare cunoaşterea valorilor lor în soluţia optimă oferă
indicaţii utile în analiza modului în care sunt utilizate resursele firmei: materii prime, capacităţi de
producţie, forţă de muncă, etc.
În problema dietei (1.1,exemplul 2)) variabilele de abatere:
n
x n +i = å aij x j - bi i = 1,..., m
j =1
reprezintă cantităţile de principii nutritive cu care sunt depăşite nivelele minimale specificate în reţetă.
Să considerăm problema:
ì(max) f = 3x1 + 4 x 2
ï - 3x + 4 x £ 12
ïï 1 2
í x1 + x 2 £ 6
ï - 2x + x £ 2
ï 1 2
ïî x1 ³ 0 , x 2 ³ 0
Identificăm x1, x2 cu abscisa, respectiv ordonata unui punct din planul raportat la un sistem
ortogonal de axe. Este cunoscut faptul că mulţimea punctelor din plan ale căror coordonate satisfac prima
restricţie coincide cu unul din semiplanele determinate de dreapta d1 de ecuaţie -3x1+4x2 = 12. Mai precis,
este vorba de semiplanul care conţine originea (0,0), deoarece coordonatele acesteia satisfac evident prima
restricţie.
În mod analog, următoarele restricţii sunt verificate în semiplanele determinate de dreapta d2 de
ecuaţie x1+x2 = 6 şi respectiv d3 de ecuaţie -2x1+x2 = 2 şi care conţin originea. În fine, condiţia x1 ³ 0 are
loc în semiplanul “din dreapta” axei verticale, în timp ce condiţia x2 ³ 0 are loc “deasupra” axei orizontale.
Soluţiile admisibile ale problemei se identifică cu punctele comune celor cinci semiplane. Acestea
formează interiorul şi frontiera poligonului OABCD din figura 1.5.1.
Funcţia obiectiv determină - pentru f variabil - o mulţime de drepte paralele care intersectează sau
nu mulţimea A. Astfel punctele situate pe dreapta 3x1+4x2=12 reprezintă diferite combinaţii ale mărimilor
x1, x2 care dau funcţiei obiectiv f aceeaşi valoare 12. Întrucât această dreaptă taie A, rezultă că problema
are soluţii admisibile - chiar o infinitate - care oferă funcţiei obiectiv valoarea 12. Dreapta 3x1+4x2=24 nu
mai taie A şi deci nici o soluţie admisibilă a problemei nu este capabilă să asigure funcţiei obiectiv valoarea
24.
Conchidem că maximul funcţiei f este “undeva” între 12 şi 24. Se observă uşor că acest maxim
se atinge în vârful C al frontierei lui A. Punctul C este intersecţia dreptelor d1 şi d2 şi deci coordonatele
sale, care reprezintă soluţia optimă a problemei, se determină rezolvând sistemul format din ecuaţiile celor
două drepte. Se găseşte x1* = 127 , x 2* = 307 maximul lui f fiind 22 27 . Soluţia optimă satisface cu egalitate
primele două restricţii şi cu inegalitate strictă pe ceea de a treia.
x2 f=24
f=
f=12 B
d1 A
A
d2
x1
O D
d3
Figura 1.5.1
În mod asemănător se arată că dacă funcţia de maximizat ar fi fost f = - x1+x2 atunci optimul ar fi
fost atins în vârful B de coordonate x1=4/5, x2=18/5 .
Examinând acest exemplu putem trage următoarele concluzii:
1. Mulţimea A este convexă, adică o dată cu două puncte conţine şi segmentul care le uneşte. O
consecinţă intuitivă a acestei proprietăţi este că soluţia optimă, dacă există, se găseşte “undeva” pe
frontiera lui A .
2. Frontiera lui A este un contur poligonal cu un număr finit de vârfuri şi o soluţie optimă se
găseşte neapărat într-unul din ele.
Aceste concluzii, care se confirmă pe orice altă problemă în două sau trei variabile (mulţimea
soluţiilor admisibile putând fi “vizualizată“ în planul R2 sau spaţiul R3) au constituit sursa întregii teorii a
programării liniare.
O firmă poate produce cinci tipuri de produse G1, G2, G3, G4 și G5 utilizând patru categorii de
materii prime R1, R2, R3 și R4. Consumurile specifice din materiile prime pentru realizarea produselor,
profiturile unitare precum și disponibilul din fiecare materie primă de-a lungul perioadei analizate sunt
date în tabelul de mai jos:
Produs Disponibil
G1 G2 G3 G4 G5
R1 5 2 5 1 0 1000
R2 4 3 4 1 0 700
Materia primă
R3 4 1 1 2 0 800
R4 1 2 0 2 1 200
Profit unitar (u.m./buc.) 50 30 100 60 10
Presupunem că firma dispune de capacitate de producție pentru a produce orice cantitate de produs
dorește din cele cinci tipuri și întreaga cantitate produsă poate fi vândută pe piață.
Se doreşte determinarea cantităților optime ce urmează a fi fabricate de către firmă astfel încât
profitul total obținut din vânzarea acestora să fie maxim.
i) Scrieți un model liniar corespunzător situației economice descrise;
ii) Determinați cantitățile optime în care trebuie produse P1, P2, P3, P4 și P5 utilizând un software
specializat în rezolvarea problemelor de programare liniară (de ex. QM for Windows sau Excel
QM).
Soluție:
1. Identificarea mărimilor variabile: notăm cu xj, j= 1,...5 cantitatea din bunul Gj care urmează
a fi produsă.
2. Restricții privind încadrarea în cantitățile disponibile de materii prime
x& ≥ 0, j = 1, . . . ,5
Figura 1.6
Apăsăm pe butonul OK și ni se deschide o foaie de Excel cu un tabel în care vom introduce pe
prima linie valorile coeficienților lui xj din funcția obiectiv (c) iar pe următoarele linii valorile din matricea
A. Odată introduse aceste valori apăsăm butonul Run Excel's Solver iar rezultatele vor fi redate în tabelul
Results.
Figura 1.7
Din tabel identificăm soluția optimă a acestei probleme care presupune producerea a 150 de u.c.
din G3 (𝑥#∗ = 150) și a 100 u.c. din G4 (𝑥$∗ = 100), pentru restul produselor cantitatea optimă fiind 0
(𝑥!∗ = 𝑥"∗ = 𝑥%∗ = 0). Profitul maxim obținut va fi de 21000 u.m.
Pentru a conferi construcţiei problemei duale maxima generalitate vom slăbi condiţia de
nenegativitate impusă tuturor variabilelor, admiţând că unele din ele nu pot lua decât valori nepozitive
(£ 0) în timp ce altele pot lua orice valoare reală.
Cu această observaţie duala unei probleme de programare liniară cu m restricţii şi n variabile se
construieşte după următoarele reguli:
1) Dacă în primală funcţia obiectiv se maximizează (respectiv se minimizează) în problema duală
funcţia obiectiv se minimizează (respectiv se maximizează).
2) Restricţiei de rang i , i=1,...,m din primală îi corespunde în duală o variabilă ui; dacă restricţia
primală este o inegalitate concordantă (respectiv neconcordantă, respectiv o egalitate) variabila duală
asociată este nenegativă (³ 0), ( respectiv nepozitivă (£ 0), respectiv fără restricţie de semn).
3) Variabilei xj , j=1,...,n din problema primală îi corespunde în duală restricţia de rang j.
Membrul stâng al acestei restricţii este o combinaţie liniară a variabilelor duale ui realizată cu coeficienţii
variabilei xj din toate restricţiile primalei (aceştia sunt aij, i=1,...,m). Termenul său liber este coeficientul
cj al lui xj din funcţia obiectiv primală. În fine, dacă variabila primală xj este nenegativă (respectiv
nepozitivă, respectiv fără restricţie de semn) restricţia duală asociată va fi o inegalitate concordantă
(respectiv neconcordantă, respectiv o egalitate).
4) Coeficienţii funcţiei obiectiv ai problemei duale sunt termenii liberi bi ai restricţiilor problemei
primale.
Exemplul 2.1.1
ì3x1 - 2 x 2 + x 3 + 4 x 4 - x5 £ 6 u1 ³ 0 ü
ï2 x + 2 x 3 + 5x 4 + x5 = 9 u2 f . r . s. ï
ï 1 ï
ï x1 + 6 x 2 + x 3 + 2 x 4 ³3 u3 £ 0 ï
ï ï
ïï x1 ³ 0 3u1 + 2u2 + u3 ³ 8 ïï
í x2 ³ 0 -2u1 + 6u3 ³ 3 ý
ï x 3 f . r . s. u1 + 2u2 + u3 = 1 ï
ï ï
ï x 4 f . r . s. 4u1 + 5u2 + 2u3 = 5 ï
ï x5 £ 0 - u1 + u2 £7 ï
ï ï
ïîmax f = 8 x1 + 3x 2 + x 3 + 5x 4 + 7 x5 min g (u) = 6u1 + 9u2 + 3u3 ïþ
Observaţii:
1) Problema duală are atâtea variabile (respectiv restricţii) câte restricţii (respectiv variabile) are
problema primală.
2) Regulile 1) - 4) pun în evidenţă următoarele corespondenţe de termeni prin trecere la duală:
min « max
(restricţie) concordantă « (variabilă) nenegativă
(restricţie) neconcordantă « (variabilă) nepozitivă
(restricţie) egalitate « (variabilă) fără restricţie de semn
termen liber al unei restricţii « coeficient al funcţiei obiectiv
În consecinţă, fiind dată o problemă de programare liniară (P) şi duala sa (Q), vom vorbi despre
cuplul de probleme în dualitate (P,Q), fără a mai specifica în mod expres care din probleme este primala
şi care duala.
Cu notaţiile matriciale introduse în (1.3) la care se adaugă: u = [u1 , u2 ,..., um ] , cuplul format din cele două
probleme de mai sus devine:
ì Ax £ b ìuA ³ c
ï ï
( P) í x ³ 0 (Q) íu ³ 0
ïmax f ( x ) = cx ïmin g (u) = ub
î î
2) Conservarea formei de prezentare se pierde atunci când se consideră duala unei probleme în
formă standard.
ìå n
ü
a x = bi i = 1,..., m « ui f . r . s. i = 1,..., m ï
ï j =1 ij j
ï ï
ï m ï
í xj ³ 0 j = 1,..., n « å aij ui ³ c j j = 1,.., n ý
ï i =1
ï
ïmax f = å c x n m
min g = å bi ui ï
ïî j =1
j j
i =1 ïþ
sau matricial:
ì Ax = b ìuA ³ c
ï ï
( P) í x ³ 0 ( Q )íu Î R m ( f . r. s. )
ïmax f ( x ) = cx ïmin g( u) = ub
î î
(f.r.s.º fără restricţie de semn!)
În mod analog se construieşte duala formei standard în care funcţia obiectiv se minimizează:
ì Ax = b ìuA £ c
ï ï
( P) í x ³ 0 ( Q )íu f . r. s.
ïmin f ( x ) = cx ïmax g( u) = ub
î î
Observaţie: De reţinut este faptul că dualele a două probleme de programare liniară echivalente
sunt ele însele echivalente adică au aceeaşi mulţime de soluţii admisibile şi aceleaşi soluţii optime.
Cu notaţiile matriciale din (2.2) să considerăm cuplul de probleme în dualitate în formă canonică:
ì(max) f ( x ) = cx ì(min) g( u) = ub
ï ï
( P )í Ax £ b ( Q )í uA ³ c
ï x³0 ï u³0
î î
Teorema 2.3.1 Fie x = [ x1 , x 2 ,..., x n ] o soluţie admisibilă a problemei (P) şi u = [u1 , u2 ,..., um ]
T
Simetria teoremei 2.3.2 nu constituie totuşi un răspuns pentru reciproca teoremei 2.3.1 Specificăm
acest lucru în mod expres pentru că în programarea neliniară el nu are loc.
Teorema 2.3.3 Dacă una din problemele unui cuplu de probleme în dualitate are soluţie optimă
atunci şi cealaltă are şi valorile optime ale funcţiilor obiectiv coincid.
Nu dăm demonstraţia teoremei 2.3.2 deoarece pregătirile necesare depăşesc cadrul impus acestui
curs. Vom demonstra însă teorema 2.3.3 după ce vom prezenta metoda generală de rezolvare a
problemelor de programare liniară.
Teorema 2.3.4 (Teorema ecarturilor complementare - TEC) Fie (P,Q) un cuplu de probleme
canonice în dualitate:
ì Ax £ b ìuA ³ c
ï ï
( P)í x ³ 0 Q íu ³ 0
ïmax f ( x) = cx ïmin g (u) = ub
î î
Un cuplu de soluţii admisibile ( x , u ) este un cuplu de soluţii optime dacă şi numai dacă:
ì(uA - c) x = 0
í (2.3.1)
îu (b - Ax ) = 0
Demonstraţie: Să presupunem relaţiile (2.3.1) verificate de cuplul ( x , u ):
uAx - cx = 0 ü
ý Þ cx = ub Þ ( x , u ) este un cuplu de soluţii optime în virtutea teoremei
ub - uAx = 0þ
2.3.1.Reciproc, să presupunem că ( x , u ) constituie un cuplu de soluţii optime. Atunci
cx = ub ,în virtutea teoremei fundamentale a dualităţii şi prin urmare:
(uA - c) x + u (b - Ax ) = 0
Deoarece x , u sunt soluţii admisibile avem: (uA - c) x ³ 0, u (b - Ax ) ³ 0 şi deci
(uA - c) x = 0, u (b - Ax ) = 0 relaţii care arată că x , u verifică (2.3.1).!
j =1 i =1
m æ n ö
å ui ç bi - å aij x j ÷ = 0
i =1 è j =1 ø
Aceste relaţii sunt echivalente cu:
æç å m
a u - c j ö÷ x j = 0 j = 1,..., n
è i =1 ij i ø
æ n ö
ui ç bi - å aij x j ÷ = 0 i = 1,..., m
è j =1 ø
x = [ x1 , x 2 ,..., x n ] şi
T
Verificarea acestor egalităţi de către un cuplu de soluţii admisibile
u = [u1 , u2 ,! , um ] reprezintă deci o condiţie necesară şi suficientă de optimalitate.
Cuplul ( x , u ) de soluţii admisibile este un cuplu de soluţii optime dacă şi numai dacă verifică seturile de
implicaţii:
ì x >0 Þ å
m
= ì u >0 Þ
n
aij x j = bi
ï j a ij u i c j ï i å
i =1 j =1
ín ím
ï å a ij ui < bi Þ ui = 0 ï å aij ui > c j Þ xj = 0
î j =1 îi =1
Observaţie. Deşi prezentată pe un cuplu de probleme canonice, teorema 2.3.4. este valabilă pentru
orice cuplu de probleme în dualitate. Astfel pentru cuplul:
ìmax f = cx ìmin g = ub
ï ï
í Ax = b í uA ³ c
ï x³0 ï u f . r . s.
î î
ele se reduc la: (uA - c) x = 0 Û æç å aij ui - c j ö÷ u j = 0 j = 1,..., n.
m
è i =1 ø
Şi mai concret, considerăm cuplul din:
Exemplul 2.3.1
ìmin f = 5x1 - 2 x 2 - x 3 ì max g = 6u1 + 12u2 + 4u3
ï ï
ïï6 x1 + 2 x 2 - 3x 3 £ 6 ïï 6u1 + u2 + 2u3 £ 5
( P )í x1 + 3x 2 + 2 x 3 = 12 ( Q )í 2u1 + 3u2 - u3 £ -2
ï2 x - x + 4 x ³ 4 ï- 3u + 2u + 4u £ -1
ï 1 2 3
ï 1 2 3
ïî x1 , x 2 , x 3 ³ 0 ïîu1 £ 0, u2 f . r. s., u3 ³ 0
Conform TEC, condiţia necesară şi suficientă pentru ca două soluţii admisibile ale celor două probleme:
x = ( x1 , x 2 , x 3 ) T şi u = (u1 , u2 , u3 )
să fie optime este satisfacerea relaţiilor:
( 5 - 6u1 - u2 - 2u3 ) x1 = 0 (1)
( -2 - 2u1 - 3u2 + u3 ) x 2 = 0 ( 2)
( -1 + 3u1 - 2u2 - 4u3 ) x 3 = 0 (3)
( 6 - 6 x1 - 2 x 2 + 3x 3 )u1 = 0 ( 4)
( 2 x1 - x 2 + 4 x 3 - 4 ) u 3 = 0 (5)
O consecinţă importantă a TEC este faptul că rezolvarea unei probleme de programare liniară este
echivalentă cu rezolvarea dualei sale în sensul că dacă se cunoaşte soluţia optimă a uneia din ele putem
deduce relativ simplu soluţia optimă a celeilalte. Pentru ilustrare vom determina soluţia optimă a
problemei (P) din exemplul precedent ştiind că duala (Q) are soluţia optimă u* de componente:
u1* = 0 , u2* = - 149 , u3* = 141 .
Înlocuind u* în (1) - (5) se constată că relaţiile (2),(3),(4) sunt satisfăcute de orice valori numerice
acordate variabilelor x1 , x2 , x3. În schimb din (1) şi (5) obţinem relaţiile: x1=0 şi 2x1 - x2 + 4x3 - 4 = 0 care
împreună cu restricţia egalitate din (P) constituie un sistem liniar:
ì x1 = 0
ï
í2 x1 - x 2 + 4 x 3 = 4
ï x + 3x + 2 x = 12
î 1 2 3
Rezolvând sistemul, obţinem soluţia optimă a problemei (P):
x1* = 0 , x 2* = 207 , x 3* = 127 f max = f ( x * ) = - 527 = g (u * ) = g min
Echivalenţa amintită mai înainte este folositoare în rezolvarea efectivă a problemelor de
programare liniară ştiut fiind că efortul de calcul este relativ mai mic dacă numărul restricţiilor este mai
mic. în consecinţă, pentru o problemă cu multe restricţii şi un număr restrâns de variabile, va fi mai comod
să rezolvăm duala sa.
Reluăm problema firmei din secţiunea 1.1 exemplul 1). Considerăm o întreprindere care produce
bunurile G1,G2,...,Gm la preţurile c1,c2,...,cn folosind pentru aceasta mai multe resurse R1,R2,...,Rm
disponibile în cantităţile limitate b1,b2,...,bm. Consumurile specifice de resurse pentru unul sau altul din
bunurile realizabile de către firmă sunt specificate în matricea:
é a11 a12 ! a1n ù
ê a 21 a 22 ! a 2 n ú
A=ê ú
ê" " ! " ú
êëa m1 a m2 ! a mn úû
Obiectivul firmei este maximizarea veniturilor rezultate din vânzarea bunurilor produse. în
ipotezele de liniaritate uzuale, programul liniar pentru determinarea combinaţiei optime de bunuri este:
ì(max) f ( x ) = c1 x1 + c2 x 2 +!+ cn x n
ï a x + a x +!+ a x £ b
ï 11 1 12 2 1n n 1
ï a 21 x1 + a 22 x 2 +!+ a 2 n x n £ b2
(P) í
ï ............................................
ï a m1 x1 + a m2 x 2 +!+ a mn x n £ bm
ï
î x1 ³ 0, x 2 ³ 0,! , x n ³ 0
Să notăm cu x* = ( x1* , x 2* ,..., x n* ) combinaţia de bunuri care aduce firmei venitul maxim:
V * = max f = f ( x*) = c1 x1* + c2 x 2* +...+ cn x n*
Dacă admitem că singura posibilitate a firmei de a obţine venitul V* constă în transformarea resurselor
disponibile în bunuri conform programului x* şi vânzarea acestora este natural să ne întrebăm care este
contribuţia fiecărei resurse în parte la formarea acestui venit.
La baza discuţiei vom pune aceleaşi ipoteze de liniaritate care ne-au condus la modelul matematic
(P) şi anume:
• contribuţia unei resurse la venitul maxim al firmei este - până la o anumită limită - direct
proporţională cu cantitatea disponibilă;
• nivelul contribuţiei unei resurse nu este condiţionat de celelalte resurse , ci numai de cantitatea
în care ea se află disponibilă.
Să notăm atunci cu u1* , u2* ,..., um* aportul unei unităţi din resursa R1, din resursa R2, ş.a.m.d. la
formarea venitului maxim V*. În virtutea ipotezelor de liniaritate amintite putem scrie:
Această mărime trebuie să acopere preţul pe care firma îl încasează prin vânzare de vreme ce ea nu are
alte resurse de formare a venitului în afara transformării resurselor în bunuri. Se conchide că sistemul
u* = (u1* , u2* ,..., um* ) trebuie să satisfacă relaţiile:
ìa11 u1* + a 21 u2* +...+ a m1 um* ³ c1
ï
ïa12 u1 + a 22 u2 +...+ a m2 um ³ c 2
* * *
í (2.4.2)
ï ..........................
ïa u * + a u * +...+ a u * ³ c
î 1n 1 2n 2 mn m n
şi de asemenea condiţiile de nenegativitate:
u1* ³ 0, u2* ³ 0,..., um* ³ 0 (2.4.3)
Sunt suficiente relaţiile (2.4.1) - (2.4.3) pentru determinarea efectivă a valorilor u1* , u2* ,..., um* ? Teoria
dualităţii dă un răspuns afirmativ pe baza următoarelor observaţii:
1) Relaţiile (2.4.2) şi (2.4.3) arată că u* = (u1* , u2* ,..., um* ) constituie o soluţie admisibilă a dualei
(Q) asociată problemei (P):
ì (min) g( x ) = b1 u1 + b2 u2 +...+ bm um
ï a u + a u +...+ a u ³ c
ï 11 1 21 2 m1 m 1
ï a12 u1 + a 22 u2 +...+ a m2 um ³ c 2
( Q )í
ï. ..................................
ï a1n u1 + a 2 n un +...+ a mn um ³ c n
ï
î u1 ³ 0, u2 ³ 0,..., um ³ 0
2) Relaţia (2.4.1) rescrisă în forma f(x*) = g(u*), coroborată cu teorema de dualitate 2.3.1, ne arată
că u* este chiar soluţia optimă a problemei duale Q.
Astfel, am găsit un conţinut economic coerent variabilelor duale u1, u2,..., um din problema duală
(Q). Ele reprezintă nişte valori băneşti asociate la câte o unitate din fiecare resursă disponibilă a firmei
şi exprimă aportul unitar al fiecărei resurse la formarea venitului maxim. Strict dimensional, variabilele
u1, u2,..., um au semnificaţia unor preţuri ataşate resurselor. Totuşi aceste preţuri nu au nimic comun cu
valoarea intrinsecă a resurselor ci - aşa cum a rezultat din interpretarea dată - reflectă numai măsura
participării lor la formarea venitului maxim. Tocmai pentru a preveni identificarea lor cu preţurile reale
ale resurselor, în literatura de specialitate, aceste entităţi au fost denumite preţuri umbră (shadow prices).
A rezultat de asemenea şi o modalitate de calcul a acestor mărimi: se rezolvă problema duală (Q).
Teoria dualităţii arată că venitul maxim V* al firmei - privit ca funcţie de cantităţile disponibile de
resurse - depinde liniar de aceste disponibile prin intermediul preţurilor duale optime - vezi relaţia (2.4.1)
În consecinţă :
¶V *
= ui* i = 1,..., m (2.4.4)
¶ bi
Prin urmare preţurile duale optime ne arată cu cât se modifică venitul maxim V* al firmei la o
variaţie cu o unitate a disponibilului unei resurse.
Este important de reţinut faptul că aceste concluzii rămân valabile numai în situaţia în care
componentele vectorului b variază între anumite limite! În cazul general, atunci când se iau în considerare
toate valorile posibile ale lui b, adică b Î R+m , funcţia V*(b) este subaditivă şi pozitiv omogenă. Aceasta
înseamnă:
V * ( b + b' ) £ V * ( b) + V * ( b' ) ( " ) b, b' Î R+m
V * ( tb) = tV * ( b) ( " ) t ³ 0 , b Î R+m
Reamintim că în baza TEC soluţiile optime x*, u* al problemelor (P) şi (Q) satisfac relaţiile:
x *j > 0 Þ a1 j u1* + a 2 j u2* +...+ a mj um* = c j (2.4.5)
ai1 x1* + ai 2 x 2* +...+ ain x n* < bi Þ ui* = 0 (2.4.5')
ui* > 0 Þ ai1 x1* + ai 2 x 2* +...+ ain x n* = bi (2.4.6)
a1 j u1* + a 2 j u2* +...+ a mj um* > c j Þ x *j = 0 (2.4.6')
• (2.4.5) arată că dacă bunul Gj intră în combinaţia optimă atunci preţul său este egal cu partea din venitul
maxim al firmei corespunzătoare resurselor încorporate într-o unitate din el.
• (2.4.5') arată că dacă o resursă nu este prevăzută a se consuma în întregime - spunem că este
excedentară - preţul său dual este 0. Această concluzie reprezintă versiunea liniară a legii
cererii şi ofertei - preţul unei mărfi pentru care oferta este mai mare decât cererea trebuie să
scadă.
• (2.4.6) arată că o resursă cu preţ dual semnificativ trebuie consumată în întregime; creşterea cu o unitate
a disponibilului aducând o creştere a venitului maxim conform (2.4.4).
• (2.4.6') arată că dacă pentru un bun valoarea resurselor încorporate într-o unitate - valoare măsurată în
preţurile duale optime - depăşeşte preţul său atunci acesta nu intră în combinaţia optimală.
m
Diferenţa å aij u *j - c j reprezintă pierderea potenţială de venit pe care firma o va înregistra
i =1
dacă totuşi decide realizarea unei unităţi din bunul j.
Condiţiile (2.4.5), (2.4.5'), (2.4.6), (2.4.6') date de TEC se mai numesc şi condiţii de echilibru de
unde şi numele de preţuri de echilibru dat uneori preţurilor duale optime.
uneşte.
Formal :
X convexă Û (") x , y Î X ,(") a Î[0,1] , z = (1 - a ) x + a y Î X
Se verifică imediat că intersecţia mai multor mulţimi convexe este o mulţime convexă.
Fie a = ( a1 , a 2 ,..., a n ) un vector nenul şi b un scalar. Este uşor de văzut că mulţimea:
{ }
S = x = ( x1 , x 2 ,..., x n ) T ax £ b Û a1 x1 + a 2 x 2 +...+ a n x n £ b
este convexă. Ea se numeşte semispaţiu, în timp ce mulţimea:
{
H = x = ( x1 , x 2 ,..., x n ) T ax = b Û a1 x1 + a 2 x 2 +...+ a n x n = b }
se numeşte hiperplan. Este clar că şi H este o mulţime convexă ca intersecţie a semispaţiului S de mai
sus, cu semispaţiul:
{
S ' = x Î R n ax ³ b Û ( - a ) x £ -b Û - a1 x1 - a 2 x 2 -...- a n x n £ -b }
O intersecţie finită de semispaţii se numeşte mulţime poliedrală. Evident, o mulţime poliedrală
este convexă, reciproca nefiind în general adevărată.
În figura 3.1.1 sunt prezentate câteva mulţimi convexe şi neconvexe în plan. Este clar că mulţimile
a) şi b) nu sunt convexe. Discul c) este o mulţime convexă dar nu este poliedrală, fiind în fapt intersecţia
infinită a tuturor semispaţiilor care conţin discul şi sunt mărginite de tangentele la circumferinţă. Poligonul
convex d) este intersecţia a 4 semispaţii aşa cum se arată în fig.3.1.2
Notă: Toate mulţimile specificate sunt presupuse, închise adică îşi conţin frontierele.
Figura 3.1.1
S3
S2
S1
S4
Figura 3.1.2
Din cele de mai sus rezultă că orice mulţime poliedrală în R n se identifică cu mulţimea soluţiilor
unui sistem de ecuaţii şi/sau inecuaţii liniare în n variabile. În particular:
Mulţimea AP a soluţiilor admisibile ale unui program liniar (P) este o mulţime convexă,
poliedrală şi închisă. Frontiera sa se compune din toate punctele ale căror coordonate satisfac cu
egalitate cel puţin una din restricţii.
Se numeşte vârf al unei mulţimi convexe X Í R n un punct v Î X cu proprietatea că nu există un
segment [x,y] Ì X care să conţină pe v ca punct interior. În R 2 sau R 3 regăsim conceptul geometric uzual.
O mulţime poliedrală are întotdeauna un număr finit de vârfuri (posibil nici unul); de exemplu,
poligonul d) din fig. 3.1.1 are patru vârfuri în timp ce un semispaţiu nu are vârfuri. Discul c) are o infinitate
de vârfuri: orice punct de pe circumferinţă are această calitate.
Mulţimile d) şi e) din fig.3.1.1 sunt amândouă poliedrale dar e) este nemărginită. Pentru a
caracteriza această proprietate avem nevoie de un nou concept, cel de rază extremă. Pentru a nu depăşi
cadrul orar al cursului vom lăsa la latitudinea cititorului aprofundarea conceptului utilizând ca suport
bibliografic www.asecib.ase.ro – Cursuri on-line – 9. Nica V. şi colectiv, Cercetări Operaţionale I.
Să considerăm acum un program liniar (P) în care funcţia obiectiv se maximizează şi să ne situăm
în cazul în care programul (P) este compatibil adică mulţimea soluţiilor sale admisibile AP este nevidă.
Am văzut că AP este o mulţime poliedrală şi convexă având un număr finit de vârfuri v 1 , v 2 ,....., v p . Aşa
cum va rezulta din secţiunea 4.1, AP are cel puţin un vârf, adică p ³ 1 . Vom enunţa acum teorema
centrală a programării liniare.
TEOREMA1). Dacă programul (P) are optim finit, atunci o soluţie optimă se găseşte într-unul
din vârfurile mulţimii soluţiilor admisibile AP .
Importanţa acestei teoreme este covârşitoare: ea reduce problema găsirii unei soluţii optime x *
din mulţimea, în general infinită, AP a tuturor soluţiilor admisibile ale programului (P), la identificarea
acestei soluţii în mulţimea finită a vârfurilor lui AP.
Recapitulând modul în care diferitele proprietăţi discutate au fost implicate în obţinerea acestui
rezultat fundamental să reţinem că:
1)
NOTĂ: Pentru demonstraţiile Teoremelor şi Lemelor din acest capitol, vezi www.asecib.ase.ro – Cursuri on-line
– 9. Nica V. şi colectiv, Cercetări Operaţionale I.
• Convexitatea mulţimii soluţiilor admisibile AP situează soluţiile optime, dacă acestea există, pe
frontiera lui AP;
• Deoarece AP este poliedrală, iar funcţia obiectiv este liniară, cel puţin una din soluţiile optime
este un vârf al lui AP.
Teorema furnizează următorul procedeu "naiv" de rezolvare a unui program liniar (P):
• se "generează" lista (finită) a vârfurilor mulţimii AP;
• prin înlocuire succesivă în funcţia obiectiv se reţine vârful care oferă acesteia valoarea maximă
(sau minimă, după caz).
Considerăm o problemă de programare liniară (P) care conţine cel puţin o restricţie inegalitate şi
fie (FSP) forma sa standard (vezi secţiunea 1.4) Pentru simplificarea notaţiilor, vom presupune că (P) este
în formă canonică de maximizare:
ìmax f = cx
ï
( P) í Ax £ b
ï x³0
î
unde:
é a11 a12 ! a1n ù é b1 ù é x1 ù
êa a 22 ! a 2 n ú ê b2 ú êx ú
A= ê 21 ú b= ê ú x=ê ú
2
ştim din secţiunea 1.3 că orice program liniar poate fi scris în această formă. Forma standard a programului
(P) va fi:
é y1 ù
ìmax f = cx êy ú
ï
( FSP )í Ax + y = b în care: y = ê ú este vectorul variabilelor de abatere.
2
ïx ³ 0 , y ³ 0 ê ! ú
î ê ú
ë ym û
Între mulţimile de soluţii admisibile AP Ì Rn şi AFSP Ì Rn+m există o corespondenţă bijectivă F(x) = (x,
y), unde y = b - Ax, a cărei inversă este proiecţia F -1(x,y) = x. Am remarcat deja în secţiunea 1.4 că prin
corespondenţa F, soluţiile optime ale celor două probleme se corespund. în fapt, F are următoarea
proprietate mai generală.
Teorema 3.3.1 Dacă x este un vârf al mulţimii AP atunci F(x) = (x, y) cu y = b - Ax este un vârf
al mulţimii AFSP . Reciproc, dacă (x, y) este un vârf al mulţimii AFSP atunci F-1(x,y) = x este un vârf al
mulţimii AP .
În baza acestei teoreme precum şi a teoremei centrale a programării liniare (secţiunea 3.2), pentru a rezolva
problema (P) este suficient să căutăm soluţia optimă a formei sale standard (FSP) printre vârfurile mulţimii
AFSP .
Vom vedea în secţiunea următoare cum se caracterizează “algebric” vârfurile mulţimii soluţiilor
admisibile ale unui program liniar în formă standard. Tot acolo vom arăta că dacă un program (P) este
compatibil atunci AP are cel puţin un vârf şi în orice caz un număr finit de asemenea elemente. Pe baza
acestor rezultate, vom putea descrie în paragraful 4 o metodă efectivă de rezolvare a unei probleme de
programare liniară.
Lema 1 Dacă x şi x ¢ sunt soluţii de bază ale programului (P) şi I( x ¢ ) Í I( x ) atunci x = x ¢ (şi
deci I( x ) = I( x ¢ )).
implică:
å ( x i - x i¢ ) A i = 0
i ÎI ( x )
Lema 2 Fie x = ( x1 , x 2 ,..., x n )T o soluţie admisibilă a problemei (P) care nu este soluţie de bază.
Atunci există un vector yÎ Rn şi un interval [ l , l ]Ì Rn È {-¥ , +¥} astfel încât:
1) Ay = 0;
2) [ l , l ] conţine pe 0 şi nu se reduce la acest punct; l şi l nu sunt simultan infinite;
3) pentru orice l Î[ l , l ] vectorul x(l) = x + ly este o soluţie admisibilă a problemei (P);
4) Dacă de exemplu, l este finit şi x ¢ = x( l ) atunci I( x ¢ ) Í I( x ) dar êI( x ¢ ) ê£ êI( x ) ê- 1
adică x ¢ are mai puţine componente nenule decât x .
Demonstraţie: Din ipoteză rezultă că mulţimea coloanelor Ai , iÎ I( x ) este liniar
independentă. Există prin urmare scalarii yi , iÎ I( x ) nu toţi nuli astfel încât:
å yi Ai = 0
iÎI ( x )
Teorema 3.4.1 O soluţie admisibilă x = ( x1 , x 2 ,..., x n )T a problemei (P) este un vârf al mulţimii
AP dacă şi numai dacă x este o soluţie de bază.
Demonstraţie: Să presupunem că x este vârf dar nu este soluţie de bază. Conform lemei 2
există y Î Rn cu Ay = 0 şi intervalul [ l , l ] care conţine pe 0 şi nu se reduce la acesta,
astfel încât x(l) = x + ly să fie o soluţie a programului (P) oricare ar fi l Î [ l , l ]. Alegem
e > 0 suficient de mic astfel încât [-e ,+e ] Ì [ l , l ] şi punem: x1 = x -ey, x2 = x +ey .
Atunci x1,x2Î AP , x1¹ x2 şi x = 12 ( x 1 + x 2 ) în contradicţie cu ipoteza că x este vârf al
mulţimii AP .
Pentru reciprocă să presupunem că x este o soluţie de bază fără a fi vârf. Atunci
există x1,x2Î AP, x1¹ x2 şi aÎ (0,1) astfel încât x = (1-a )x1 + ax2. Pentru iÏI( x ) avem
(1 - a ) x 1i + ax 2i = 0 şi cum x 1i ³ 0 , x 2i ³ 0 rezultă x 1i = x 2i = 0 . în consecinţă, I(x1) Í I( x ),
I(x2) Í I( x ) şi în virtutea lemei 1 rezultă x1 = x2 = x , în contradicţie cu ipoteza făcută. !
Teorema 3.4.2 Dacă programul în formă standard (P) este compatibil atunci mulţimea soluţiilor
sale admisibile AP are cel puţin o soluţie de bază, deci un vârf.
Consecinţă Mulţimea AP a soluţiilor admisibile ale unui program liniar compatibil are cel puţin
un vârf.
Având în vedere caracterizarea algebrică a vârfurilor dată în teorema 3.4.1, teorema centrală a
programării liniare poate fi formulată şi în următorii termeni.
Teorema 3.4.3 Dacă un program liniar în formă standard are optim finit, cel puţin una din
soluţiile sale optime este o soluţie de bază.
Mai rămâne de arătat că mulţimea soluţiilor admisibile ale unui program liniar are un număr finit
de vârfuri. În virtutea teoremelor 3.3.1 şi 3.4.1, aceasta revine la a arăta că un program liniar în formă
standard (P) are un număr finit de soluţii admisibile de bază. Faptul rezultă nemijlocit din aceea că numărul
sistemelor liniar independente ce pot fi extrase dintr-o mulţime finită de vectori este finit. Vom preciza
acest lucru sub forma unei teoreme în secţiunea următoare, în care vom introduce un concept uşor diferit
de cel de soluţie de bază, acela de soluţie asociată unei baze a programului (P). Noul concept are avantajul
de a fi mai uşor de manipulat în practică.
4.2.6.4. Baze ale unui program liniar în formă standard. Soluţia asociată unei baze
Deoarece rangA = m, în matricea A va exista cel puţin un grup de m coloane liniar independente,
constituind deci o bază a spaţiului Rm. Un asemenea grup se va numi bază a programului (P) şi numărul
n!
acestora este finit , nedepăşind Cnm = .
m !( n - m )!
Fie B o bază a programului (P), I mulţimea indicilor coloanelor din B şi J mulţimea indicilor
coloanelor din A care nu sunt în B. Renumerotând convenabil variabilele programului vom scrie matricea
A în forma:
A = [B , S] cu B = [Ai]i Î I , S = [Aj]j Î J
în raport cu baza B aleasă, variabilele xi , i Î I se vor numi variabile bazice, iar toate celelalte nebazice
sau secundare.
Scriem sistemul Ax = b în forma:
éx B ù
[ B, S ]ê S ú = b Û Bx B + Sx S = b
êë x úû
Deoarece B este o bază a spaţiului Rm, B (ca matrice!) este nesingulară deci inversabilă. Înmulţind
la stânga cu B-1 obţinem:
x B + Sx S = b cu S = B -1 S = a ij[ ] iÎI , j ÎJ
, b = B -1 b = [ bi ] iÎI (3.5.2)
[ ]
S = B -1 A j jÎJ [
= B -1 A j ] jÎJ [ ]
= Aj jÎJ
cu
A j = B -1 A j = a ij [ ] iÎI
(3.5.3)
Utilizăm (3.5.2) pentru a elimina din expresia funcţiei obiectiv variabilele bazice:
éx B ù
f = [ c B , c S ]ê S ú = c B x B + c S x S = c B ( b - Sx S ) + c S x S =
êë x úû
= c b - ( c S - c S )x S = f - c S x S
B B
(3.5.4)
unde:
f = c B b ( = c B B -1 b ) = å c i bi (3.5.5)
iÎI
şi:
c S = c B S - c S ( = c B B -1 S - c S ) = c j [ ] j ÎJ
în care:
c j = c B A j - c j ( = c B B -1 A j - c j ) = å c i a ij - c j (3.5.6)
iÎI
Astfel, în raport cu baza B, programul (P) poate fi adus la următoarea formă echivalentă, conform
(3.5.2) şi (3.5.4):
ìmax f = f - å c j x j
ìmax f = f - c S x S ï j ÎJ
ï ï
( PB )í x + Sx = b
B S
Û íx i + å a ij x j = bi i Î I (3.5.7)
ï ï j ÎJ
î x ³ 0 ,x ³ 0
B S
ïîx i ³ 0 , i Î I ; x j ³ 0 , j Î J
(PB) se numeşte forma explicită a programului (P) în raport cu baza B. Comparând (PB) cu (P)
constatăm că efectul înmulţirii cu B -1 a sistemului Ax = b este explicitarea variabilelor bazice xi , i Î I în
funcţie de cele nebazice xj , j Î J.
Luând în (PB):
xS = 0 Û xj = 0 , j Î J (3.5.8)
obţinem:
xB = b Û x i = bi i Î I (3.5.9)
Vectorul:
éb ù ¬ x B
x=ê ú (3.5.10)
0
ë û ¬ x S
este evident o soluţie a programului (P), numită soluţia asociată bazei B. Vom spune că B este o bază
admisibilă dacă soluţia asociată (3.5.10) este admisibilă, ceea ce revine la a spune că bi ³ 0 , i Î I .
Prin construcţie, soluţia asociată unei baze a programului (P) este o soluţie de bază în sensul
definiţiei din secţiunea precedentă. Reciproca nu este în general adevărată. Astfel, dacă x =
( x1 , x 2 ,..., x n ) T este o soluţie de bază a programului (P), numărul componentelor nenule este £ m. Dacă
acest număr este exact m atunci x este soluţia asociată bazei formate din coloanele matricii A
corespunzătoare celor m componente nenule. Spunem în acest caz că x este o soluţie de bază
nedegenerată. Dacă numărul componentelor nenule este < m, coloanele corespunzătoare acestor
componente pot fi completate până la o bază în mai multe moduri, astfel că x se asociază la mai multe
baze! Dacă se întâmplă aşa spunem că x este o soluţie degenerată.
Deoarece (P) are un număr finit de baze, el va avea şi un număr finit de soluţii asociate acestor
baze şi de aici un număr finit de soluţii de bază.
În baza relaţiilor (3.5.8), (3.5.9) constanta f din (3.5.5) reprezintă valoarea funcţiei obiectiv a
programului (P) în soluţia (3.5.10) asociată bazei B. Componentele c j , j Î J (definite în (3.5.6)) ale
vectorului c S din (3.5.4) vor juca un rol esenţial în caracterizarea optimalităţii unei soluţii admisibile de
bază. Ele se numesc costuri reduse (notate Dj în alte materiale de specialitate) şi sunt întotdeauna asociate
variabilelor nebazice. Coeficienţii numerici ai formei explicite (3.5.7) se trec într-un tabel (TB) al cărui
format este indicat în tabelul 3.5.1. Tabelul (TB) se numeşte tabelul simplex asociat bazei B. Coloana “B”
conţine vectorii bazei B, coloana “CB” conţine Coeficienţii din funcţia obiectiv ai variabilelor Bazice iar
în coloana “VVB” apar Valorile Variabilelor Bazice. În ultima linie a tabelului, numită şi linia test, apar
valoarea f a funcţiei obiectiv în soluţia asociată bazei B precum şi costurile reduse c j , j Î J
corespunzătoare coloanelor nebazice. Formula (3.5.5) arată că f este produsul scalar al coloanelor “CB”
şi “VVB” în timp ce relaţia (3.5.6) arată că c j se obţine din produsul scalar al coloanelor “CB” şi “Aj”
scăzând costul cj scris deasupra coloanei “Aj”.
Tabelul 3.5.1
ci cr cj ck
CB B VVB ! Ai ! Ar ! Aj ! Ak !
" " " " " " "
ci A i
`bi ! 1 ! 0 ! `aij ! `aik ! (TB)
" " " " " " "
cr Ar `br ! 0 ! 1 ! `arj ! `ark !
" " " " " " "
f f ! * ! * ! c j ! ck !
ì max f = 2 x1 + x 2
ï
( P) íx1 - x 2 £ 4 ; 3x1 - x 2 £ 18 ; - x1 + 2 x 2 £ 6
ï x1 ³ 0 , x 2 ³ 0
î
Figura 4.2.1
Aducem (P) la forma standard adăugând variabilele de abatere x3, x4, x5:
ì max f = 2 x1 + x 2
ï
ï x1 - x 2 + x 3 = 4
ï
( FSP) í 3x1 - x 2 + x4 = 18
ï- x + 2 x + x5 = 6
ï 1 2
ïî x j ³ 0 , j = 1,...,5
soluţie asociată:
1 = 0 , x2 = 0 , x3 = 4 , x4 = 18 , x5 = 6
este admisibilă.
ï
î x1 ³ 0 , x 2 ³ 0 ïî x j ³ 0 , j = 1,...,5
Se constată că (FSP) nu este în forma bună neconţinând decât un singur vector al matricii unitare
de ordinul 3. Vom creea o asemenea matrice introducând în primele două restricţii variabilele artificiale
x6 şi x7. Obţinem programul:
ì(max) f = 2 x1 + 3x 2 - Mx 6 - Mx 7
ï
ï 2 x1 + x 2 - x 3 + x6 = 40
ï
( FBP )í x1 + 3x 2 - x4 + x 7 = 30 , M >> 0
ï x + x + x5 = 30
ï 1 2
ïî x j ³ 0 , j = 1,...,7
Putem aplica algoritmul simplex programului (FBP) plecând de la baza unitară E = [A6, A7, A5]
şi de la soluţia asociată acesteia:
x1 = x2 = x3 =x4 = 0 x5 = 30 , x6 = 40 , x7 = 30
După trei iteraţii (vezi tabelele 4.3.1 - 4.3.4) se obţine soluţia optimă a programului (FBP) în care
variabilele artificiale x6 , x7 au valoarea zero. Ignorând aceste valori se obţine soluţia optimă a formei
standard (FSP) şi implicit soluţia optimă a programului original (P):
x1* = 10 , x 2* = 20 f max = 80
Figura 4.3.1
Așa cum a fost precizat mai sus, o problemă de programare liniară (PPL) este o problemă de
optimizare în care restricțiile și funcția obiectiv sunt expresii liniare în variabilele problemei. Exemple
clasice de PPL sunt: problema firmei și problema dietei.
Considerăm o problemă de programare liniară (P) cu m restricţii egalităţi şi/sau inegalităţi
nestricte, n variabile şi cu funcţia obiectiv f. Un ansamblu de n valori numerice care satisfac restricţiile se
va numi Soluţie a programului (P). Dacă în plus sunt verificate şi condiţiile de nenegativitate, ansamblul
se numeşte Soluţie admisibilă. O soluţie admisibilă care maximizează sau minimizează - după caz -
funcţia obiectiv se va numi Soluţie optimă. Notând cu A mulţimea soluţiilor admisibile, problema (P) se
scrie:
Să se determine x*Î A cu proprietatea: f(x*) = max sau min f ( x )
xÎA
Este posibil ca (P) să aibă soluţii dar nici una din ele să fie admisibilă: A = Æ. Spunem în acest
caz că problema (P) este incompatibilă. Chiar dacă A ¹ Æ, este posibil ca funcţia obiectiv să fie
nemărginită pe A , adică să existe un şir de soluţii admisibile de-a lungul căruia funcţia obiectiv să tindă
spre + ¥ sau -¥, după caz. în această situaţie vom spune că (P) are optim infinit. Dacă (P) are (cel puţin)
o soluţie optimă, zicem că (P) are optim finit.
Problemele de programare liniară în două variabile pot fi rezolvate cu ajutorul metodei grafice.
Pentru probleme cu mai mult de două variabile vom folosi software specializat (metoda Simplex este
prezentată în cadrul unui curs avansat).
Oricărei probleme de programare liniară i se asociază o alta, numită duala sa. Construcţia
problemei duale depinde nemijlocit de structura problemei iniţiale denumită şi problema primală. Studiul
şi interpretarea economică a problemei duale aduc informaţii suplimentare în analiza proceselor
economice şi în fundamentarea deciziilor.
Duala unei probleme de programare liniară cu m restricţii şi n variabile se construieşte după
următoarele reguli:
min « max
(restricţie) concordantă « (variabilă) nenegativă
(restricţie) neconcordantă « (variabilă) nepozitivă
(restricţie) egalitate « (variabilă) fără restricţie de semn
termen liber al unei restricţii « coeficient al funcţiei obiectiv
Teorema fundamentală a dualităţii: Pentru un cuplu de probleme în dualitate una şi numai una
din următoarele situaţii este posibilă:
1) Ambele probleme au soluţii admisibile; atunci ambele au soluţii optime şi valorile
optime ale funcţiilor obiectiv coincid: f ( x ) = g (u ) .
2) Numai una din probleme are soluţii admisibile, iar cealaltă nu are; atunci problema
compatibilă are optim infinit.
3) Nici una din probleme nu are soluţii admisibile.
Teorema ecarturilor complementare - TEC Fie (P,Q) un cuplu de probleme canonice în
dualitate:
ì Ax £ b ìuA ³ c
ï ï
( P)í x ³ 0 Q íu ³ 0
ïmax f ( x) = cx ïmin g (u) = ub
î î
Un cuplu de soluţii admisibile ( x , u ) este un cuplu de soluţii optime dacă şi numai dacă:
ì(uA - c) x = 0
í
îu (b - Ax ) = 0
O consecinţă importantă a TEC este faptul că rezolvarea unei probleme de programare liniară este
echivalentă cu rezolvarea dualei sale în sensul că dacă se cunoaşte soluţia optimă a uneia din ele putem
deduce relativ simplu soluţia optimă a celeilalte
Variabile duale u1, u2,..., um din problema duală (Q) reprezintă nişte valori băneşti asociate la câte
o unitate din fiecare resursă disponibilă a firmei şi exprimă aportul unitar al fiecărei resurse la formarea
venitului maxim. Strict dimensional, variabilele u1, u2,..., um au semnificaţia unor preţuri ataşate resurselor
ce reflectă măsura participării lor la formarea venitului maxim. Tocmai pentru a preveni identificarea lor
cu preţurile reale ale resurselor, în literatura de specialitate, aceste entităţi au fost denumite preţuri umbră
(shadow prices). A rezultat de asemenea şi o modalitate de calcul a acestor mărimi: se rezolvă problema
duală (Q). Prin urmare preţurile duale optime ne arată cu cât se modifică venitul maxim V* al firmei la
o variaţie cu o unitate a disponibilului unei resurse.
Exercițiul 1 (Temă):
În această secţiune se dau câteva exemple de elaborare a modelelor matematice pentru o serie de
situaţii din practica economică. Din motive evidente, situaţiile analizate au fost mult simplificate
rămânând totuşi plauzibile. În completare, pentru modelele construite s-au indicat şi soluţiile optime,
interpretate în contextul situaţiilor originale modelate.
Cititorul este invitat să rezolve singur (fie manual fie cu ajutorul unui utilitar) modelele prezentate
ca şi problemele propuse, bineînţeles atunci când va avea la dispoziţie şi metoda de soluţionare. Succes!
Exemplul 1. Pentru asigurarea activităţii curente de producţie, o firmă are nevoie de anumite cantităţi din
trei repere. În principiu, firma are posibilitatea de a fabrica aceste repere cu mijloace proprii dar
conducerea este de părere că resursele disponibile nu sunt suficiente pentru producerea cantităţilor
necesare astfel că se pune problema achiziţionării unora de pe piaţă, cel puţin în parte. În procesul de
fabricaţie al reperelor la firmă sunt implicate două utilaje, fiecare cu un număr limitat de ore disponibile
de funcţionare. Datele concrete ale situaţiei sunt indicate în tabelul 1.1:
Consumuri unitare de timp Cost intern de Cost de achiziţie Cantitatea
Repere de prelucrare (u.t./reper) producţie de pe piaţă necesară de
M1 M2 (u.m./reper) (u.m./reper) repere (bucăţi)
R1 2 5 25 31 200
R2 3 4 44 47 100
R3 6 1 19 23 150
Timp disponibil
1200 1000
(u.t.)
Tabelul 1.1
Conducerea firmei este interesată în a stabili cât să producă şi cât să cumpere de pe piaţă astfel
încât totalul cheltuielilor să fie minim. Scrieţi un program liniar care să răspundă acestui obiectiv.
Modelul matematic
5 x1 + 4 x 2 + x3 £ 1000 (2)
- cantităţile produse nu trebuie să depăşească comenzile:
x1 £ 200 (3)
x2 £ 100 (4)
x3 £ 150 (5)
Observaţie: un calcul simplu arată că fondurile de timp disponibil ale celor două utilaje nu sunt
suficiente pentru producerea reperelor cerute:
2 × 200 + 3 × 100 + 6 × 150 = 1600 > 1200
5 × 200 + 4 × 100 + 1 × 150 = 1550 > 1000
astfel că unele repere vor fi cumpărate de pe piaţă la un preţ mai mare.
f = 6 x1 + 3x 2 + 4 x3 ® max (6)
Observaţie: normal ar fi să impunem şi condiţia “ x1 , x 2 , x3 întregi” dar nu o facem deoarece s-ar complica
rezolvarea. Este posibil ca în soluţia optimă x1 , x 2 , x3 să aibe valori întregi şi dacă nu se întâmplă acest
lucru putem recurge la rotunjiri. Soluţia rezultată din rotunjire poate să nu mai fie optimă dar abaterea de
la optim este economic neglijabilă.
Reunind (1) – (7) obţinem programul liniar:
ì(max) f = 6 x1 + 3 x 2 + 4 x3
ï 2 x + 3 x + 6 x £ 1200
ï 1 2 3
ï 5 x1 + 4 x 2 + x3 £ 1000
ï
( P) í x1 £ 200
ï x2 £ 100
ï
ï x3 £ 150
ï
î x1 , x 2 , x3 ³ 0
-Din reperul R1, 171 bucăţi se produc în cadrul firmei, restul de 29 bucăţi se cumpără.
Cost: 25×171 + 31×29 = 4275 + 899 = 5174u.m.
- Reperul R2 se cumpără în totalitate de pe piaţă.
Cost: 47×100 = 4700u.m.
- Din reperul R3, 143 bucăţi se produc în firmă şi celelalte 7 bucăţi se cumpără:
Cost: 19×143 + 23×7 = 2717 + 161 = 2878u.m.
Exemplul 2. O bancă asigură clienţilor săi patru tipuri de credit cu următoarele dobânzi anuale:
Tabel 1.2
Banca dispune de 250 milioane euro şi în stabilirea cotelor pe care le va repartiza fiecărui tip de credit ea
va trebui să ţină seama de următoarele condiţii:
a) Tipul 1 trebuie să reprezinte cel puţin 55% din totalul creditelor de tipurile 1 şi 2 şi cel puţin
25% din totalul creditelor acordate (în milioane euro);
b) Tipul 2 nu trebuie să depăşească 25% din totalul creditelor acordate;
c) Dobânda medie a tuturor creditelor acordate nu trebuie să depăşească 15%.
Cum va trebui să procedeze banca pentru a-şi maximiza venitul din dobânzile la creditele acordate?
Modelul matematic
I) Identificarea mărimilor variabile. Vom nota xi º volumul creditelor de tipul i acordate, i =1,2,3,4
(în milioane euro)
II) Formalizarea criteriului de performanţă în funcţia obiectiv. Venitul băncii, din dobânzile la
creditele acordate are expresia
x1 + x 2 + x3 + x 4 £ 250 (2)
ïï - 9 x1 + 11x 2 £ 0
í
ï - 3 x1 + x 2 + x3 + x 4 £ 0
ï - x1 + 5 x 2 + 5 x3 - 5 x 4 £ 0
ï
ïî x1 , x 2 , x3 ³ 0
Pentru rezolvare s-a folosit un utilitar care a produs soluţia „întreagă” redată în :
Tabelul 1.3
Tipul 1 reprezintă 56% din totalul creditelor de tipurile 1 şi 2 şi 26% din totalul tuturor creditelor. Tipul 2
reprezintă numai 20,4% din total credite. În fine, dobânda medie la creditele acordate este de 15%. Venitul
din dobânzi al băncii se ridică la 37,5 milioane euro.
Exemplul 3. GODAC este o mică firmă specializată în comercializarea cărnii şi a produselor din carne.
Printre alte produse se oferă clienţilor carne tocată în amestec din carne slabă de vită şi carne de porc.
Un kg de carne de vită pentru tocat conţine 80% carne şi 20% grăsime şi se vinde cu 24lei/kg.
Kilogramul de carne de porc conţine 68% carne şi 32% grăsime şi se vinde cu 18 lei. În ce proporţie
vor fi amestecate carnea de vită şi carnea de porc astfel încât:
- procentul de grăsime în amestec să nu depăşească 25%;
- preţul unui kg de carne tocată în amestec să fie cât mai mic.
Se va presupune că toate costurile legate de tocare şi amestecare (omogenizare) sunt neglijabile sau au
fost deja incluse în preţurile constituenţilor.
Modelul matematic
I) Identificarea mărimilor variabile. Întrebarea din enunţ „în ce proporţie vor fi amestecate cele două
sortimente de carne astfel încât..” conduce la notaţiile:
II) Formalizarea condiţiilor limitative în restricţii. Din definiţia variabilelor modelului rezultă
egalitatea:
x1 + x 2 = 1 (1)
Limitarea procentului de grăsime din amestec conduce la inegalitatea:
III) Formalizarea criteriului de performanţă în funcţia obiectiv. Preţul unui kg de amestec are
expresia:
f = 24 x1 + 18 x 2 ® min (3)
IV) Condiţii explicite impuse variabilelor.
x1 ³ 0 , x 2 ³ 0 (4)
(desigur, x1 şi x2 trebuie să fie subunitare dar această limitare este asigurată prin (1) şi (4))
ì(min) f = 18 + 6 x1 Û min 6 x1
í
î0,583 £ x1 £ 1
cu soluţia x1* = 0,583 (min) f = 21,50 . Prin urmare amestecul cel mai iefin ar costa 21,50 lei/kg şi ar
contine 58,3% carne de vită şi restul carne de porc.
Exercițiul 3 (rezolvat):
O mică firmă produce bunurile alimentare G1, G2, G3 folosind trei materii prime agricole de bază R1, R2, R3.
Necesarul de resurse, în kg, pentru realizarea unui kilogram din fiecare din bunurile G1, G2, G3 sunt indicate în
tabelul 1.4.
Bunuri G1 G2 G3 Pentru ziua următoare există în stoc 45 kg din R1, 30 kg din R2 şi 20 kg din
Resurse R3.Profiturile sunt de 7, 9, 12 unităţi monetare pe kilogramul din G1, G2,
R1 2 4 5 respectiv G3. Firma livrează bunul G1 în cutii de ½ kg, bunul G2 în cutii de 1 kg
şi bunul G3 în cutii de 2 kg iar desfacerea este asigurată pentru tot ceeace se
R2 1 3 2
produce.
R3 2 1 1
Tabelul 1.4
1) Scrieţi un program liniar pentru determinarea programului de activitate al
firmei în ziua următoare având ca obiectiv maximizarea profitului.
2) Cum se modifică programul iniţial dacă din bunul G1 nu trebuie să se facă mai mult de zece cutii?
3) Cum se modifică programul iniţial dacă din bunul G1 se pot face cel mult zece cutii iar din G2 cel puţin
trei?
4) Deoarece resursele R1, R2, R3 sunt foarte perisabile firma este interesată în a le valorifica cât mai bine.
Cum se poate modela acest deziderat?
1) Modelul matematic
I) Identificarea mărimilor variabile. Fără îndoială, mărimile variabile ale acestei situaţii sunt “ce se va produce”
în ziua următoare din G1,G2,G3 cu resursele existente în stoc. Consumurile de resurse sunt calculate la kg de produs
finit însă forma finală de prezentare a bunurilor este “în cutii”, astfel că în evaluarea producţiei ce urmeză a fi
realizate bunurile vor fi măsurate în cutii. În consecinţă, variabilele modelului vor fi:
III) Identificarea criteriului de performanţă şi formalizarea lui în funcţia obiectiv. Se urmăreşte maximizarea
1
profitului a cărui expresie este 7 × x1 + 9 × x 2 + 12 × 2 x3 u.m.
2
IV) Condiţii explicite impuse variabilelor modelului. Condiţiile de nenegativitate sunt evidente:
x1 ³ 0 , x 2 ³ 0 , x3 ³ 0
deoarece produsele finale sunt măsurate în unităţi indivizibile (nu se poate produce o “fracţie” dintr-o cutie…) În
final se obţine programul liniar:
ì(max) f = 3,5 x1 + 9 x 2 + 24 x3
ï x + 4 x + 10 x £ 45
ïï 1 2 3
( P1 ) í0,5 x1 + 3 x 2 + 4 x3 £ 30
ï x + x + 2 x £ 20
ï 1 2 3
ïî x1 , x 2 , x3 ³ 0 (intregi)
resursa R1: 45 - ( x1 + 4 x 2 + 10 x3 ) ³ 0
resursa R2: 30 - (0,5 x1 + 3 x 2 + 4 x3 ) ³ 0
resursa R3: 20 - ( x1 + x 2 + 2 x3 ) ³ 0
Valorificarea celor trei resurse este cu atât mai bună cu cât diferenţele de mai sus sunt mai mici. Vom realiza acest
lucru minimizând cea mai mare dintre diferenţe:
ì (min) y
ïunde
ï
í
ï y = max{45 - ( x1 + 4 x 2 + 10 x3 ),30 - (0,5 x1 + 3 x 2 + 4 x3 ),20 - ( x1 + x 2 + 2 x3 )}
ïî si x1 , x 2 , x3 satisfac toate relatiile modelului (P)
Pentru a transforma noul model într-un program liniar uzual înlocuim relaţia de definiţie a variabilei y cu
inegalităţile:
45 - ( x1 + 4 x 2 + 10 x3 ) £ y
30 - (0,5 x1 + 3x 2 + 4 x3 ) £ y
20 - ( x1 + x 2 + 2 x3 ) £ y
Tot din relaţia de definiţie a lui y rezultă că dacă x1 , x 2 , x3 sunt întregi atunci y este sau un număr întreg sau un
număr cu partea fracţionară 0,5; în consecinţă, numărul z = 2y va fi cu siguranţă întreg. Înlocuind mai sus y = z
2
obţinem programul liniar:
ì(min)0,5 z
ï x + 4 x + 10 x £ 45
ï 1 2 3
ï0,5 x1 + 3 x 2 + 4 x3 £ 30
ï
ï x1 + x 2 + 2 x3 £ 20
( P4 ) í
ï x1 + 4 x 2 + 10 x3 + 0,5 z ³ 45
ï0,5 x1 + 3 x 2 + 4 x3 + 0,5 z ³ 30
ï
ï x1 + x 2 + 2 x3 + 0,5 z ³ 20
ï x , x , x , z ³ 0 (intregi)
î 1 2 3
Analiza comparativă a soluţiilor optime. În tabelul 1.5 sunt prezentate soluţiile optime întregi ale
modelelor P1 – P4.
Cel mai mare profit care s-ar obţine din resursele date este de 121 u.m.; această valoare poate fi luată ca
punct de referinţă. Soluţia corespunzătoare are unele inconveniente: nu produce bunul G2 şi aproape o treime din
resursa R2 nu se consumă. Încercarea de diversificare a producţiei – vezi soluţiile modelelor (P2) şi (P3) - reduce
profitul cu câteva procente şi duce la creşterea cantităţilor de resurse neutilizate. Ultima “propunere” de plan de
activitate asigură o utilizare aproape totală a resurselor disponibile iar profitul aferent este foarte aproape de nivelul
maxim posibil. Totuşi ea nu prevede producerea bunului G3 şi acest lucru s-ar putea să conteze în decizia finală,
decizie care va trebui să ţină seama şi de cererea pentru acest bun.
Tabelul 1.5
1. Ciobanu, Gh, Nica, V, Mustață Fl., Mărăcine, V., Cercetări Operaționale cu aplicații în
economie. Teoria grafurilor și Analiza drumului critic, Editura MATRIX ROM, București,
1996;
2. http://www.asecib.ase.ro/cursuri_online.htm, cursurile numărul: 1- Bazele Cercetării
Operaționale, București, Romania, Eugen Țigănescu, Dorin Mitruț, 1 bis- ID Cercetări
Operaționale, Vasile Nica, 9- Cercetări Operaționale I, Vasile Nica, Floare Mustață, Gheorghe
Ciobanu, Virginia Mărăcine.