Sunteți pe pagina 1din 11

CERCETĂRI OPERAŢIONALE

ELEMENTE DE TEORIA PROBLEMELOR DE


OPTIMIZARE LINIARĂ CU RESTRICŢII

Cursul 2
Cuprins

Teoria problemelor de optimizare liniară cu restricţii(POLR) 2


2.1 Proprietăţi algebrice şi geometrice ale problemei de optimizare liniară cu
restricţii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Soluţii ale problemei de optimizare liniară cu restricţii . . . . . . . . . . . . 5
2.3 Principiul metodei lui Dantzig . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Rezumat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Rezultate aşteptate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Glosar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1
Teoria problemelor de optimizare
liniară cu restricţii(POLR)

Obiective
Obiectivele acestui curs sunt:

• Prezentarea terminologiei şi a noţiunilor de bază al teoriei POLR


• Prezentarea proprietăţilor geometrice ale POLR
• Prezentarea proprietăţilor algebrice ale POLR
• Prezentarea tipurilor de soluţii ale POLR
• Prezentarea principiului Dantzig.

Problema generală de programare liniară a fost formulată pentru prima dată în anul
1939 de către L.V. Kantorovici şi a fost prezentată împreună cu o metodă de rezolvare,
numită metoda "multiplicatorilor rezolvanţi". Kantorovici recunoaşte că o serie de pro-
bleme economice pot fi descrise cu acelaşi model matematic şi pentru aceste modele pot
fi elaborate metode numerice de rezolvare.
În 1941, Frank Hitchcock a formulat modelul de transport (care, de asemenea, este un
model special de programare liniară). O analiză riguroasă a problemei a fost efectuată de
T.C. Koopmans, în 1949. George Stigler, în 1945, formulează un model matematic pentru
stabilirea hranei raţionale pentru animale.
Toate aceste modele împreună cu alte modele speciale din timpul celui de al doilea
Război Mondial arată necesitatea elaborării unor metode eficiente de rezolvare numerică
ale acestora.
O importanţă deosebită pentru programarea liniară a constituit-o metoda simplex
elaborată în 1947 de către George Dantzig. Pentru descoperirea şi dezvoltarea programării
liniare, în 1976, Dantzig a primit premiul naţional al Statelor Unite ale Americii.
Modelul matematic de programare liniară utilizat în reprezentarea unui sistem econo-
mic este construit dintr-un ansamblu de relaţii liniare, dintre care una reflectă obiectivul
urmărit, iar celelalte cuprind restricţiile economice sau tehnologice.
Unde putem aplica modelul de programare liniară?
Acest model acoperă o clasă de probleme de mare importanţă practică, cum sunt cele
de planificare, organizare, amestec, transporturi, investiţii, reparaţii şi altele.
O serie de probleme, care nu sunt probleme de programare liniară, pot fi reduse prin
transformări convenabile la acest tip de model.

2
O altă clasă de probleme, care nu sunt liniare, pot fi rezolvate prin intermediul unui
şir de modele liniare, ale căror soluţii determină un şir care admite un subşir convergent
către soluţia optimă a modelului considerat.
Faptul că, într-un model de programare liniară, funcţia de scop este liniară atrage
după sine două proprietăţi importante. Pe de o parte, valorile variabilelor independente
din funcţia de scop sunt proporţionale cu valoarea variabilei respective (dacă costurile
unitare de producţie reprezintă x u.m. pentru un produs p fixat, atunci pentru n produse
vor fi de n ori mai mare) - adică are loc proprietatea de proporţionalitate.
Pe de altă parte, valorile componentelor funcţiei de scop sunt independente între ele
(dacă se produc n produse, atunci costurile de producţie ale produsului pi nu sunt influ-
enţate de costurile de producţie ale produsului pj ). Această proprietate este cunoscută ca
proprietatea de aditivitate.
Pe lângă proprietăţile prezentate, un model liniar, care descrie un fenomen economic,
o problemă practică, trebuie să verifice proprietatea de divizibilitate şi certitudine.
Prin proprietatea de divizibilitate se înţelege că variabilele pot lua şi va-lori raţionale.
Proprietatea de certitudine înseamnă că toate datele de intrare (coeficienţii funcţiei de
scop, elementele matricei restricţiilor, termenii liberi din membrul drept al restricţiilor)
sunt cunoscute apriori.

2.1 Proprietăţi algebrice şi geometrice ale problemei de op-


timizare liniară cu restricţii
În acest paragraf vom prezenta noţiunile de mulţime convexă, mulţime poliedrală şi poli-
top. Mulţimea poliedrală reprezintă latura geometrică şi inegalităţile liniare latura alge-
brică a problemei de optimizare liniară cu restricţii.
Teorema fundamentală a inegalităţilor liniare se datorează lui Gy. Farkas (1894) şi
Minkowski (1896). Rezultatul a fost extins de Caratheodory (1911) şi Weyl (1935).
Deoarece restricţiile unui model liniar de optimizare formează un sistem liniar de ine-
cuaţii, teoremele de caracterizare a incompatibilităţii unui sistem de inecuaţii liniare sunt
extrem de importante.
În continuare, ne ocupăm cu interpretarea geometrică a restricţiilor liniare. În acest
scop se dau următoarele definiţii:
Definiţia 2.1.1. Mulţimea M ⊂ Rn este convexă , dacă pentru orice x1 , x2 ∈ M şi
λ ∈ [0, 1] avem λx1 + (1 − λ)x2 ∈ M.
Remarcăm faptul că mulţimea M ⊂ Rn este convexă, dacă pentru oricare două puncte
ale sale x1 , x2 ∈ M, segmentul [x1 , x2 ] determinat de aceste două puncte aparţine în
întregime mulţimii date.
Mulţimea {λx1 + (1 − λ)x2 , λ ∈ [0, 1]} se numeşte combinaţia convexă a punctelor date
şi coincide cu segmentul cu capetele x1 , x2 .

Mulţimile convexe pot fi mărginite şi nemărginite.


Mulţimea vidă şi mulţimea formată dintr-un singur element sunt conside-rate mulţimi
convexe.
Definiţia 2.1.2. O mulţime M de vectori din Rn se numeşte hiperplan dacă există
a ∈ Rn \ {0} astfel încât:
M = {x ∈ Rn | (a, x) = b, b ∈ R}.

3
Definiţia 2.1.3. O mulţime M de vectori din Rn se numeşte semispaţiu dacă există
a ∈ Rn \ {0} astfel încât:
M = {x ∈ Rn | (a, x) ≥ 0}.

Definiţia 2.1.4. O mulţime M de vectori din Rn se numeşte mulţime poliedrală (tron-


son) dacă există (ai )i=1,m ∈ Rn \ {0}, (bi )i=1,m ∈ R astfel încât:
m
\
M= {x ∈ Rn | (ai , x) ≥ bi }.
i=1

Teorema 2.1.5. Hiperplanul, semispaţiul şi mulţime poliedrală sunt mulţimi convexe.

Dacă se notează cu k dimensiunea spaţiului cu proprietatea "este spaţiu de dimensiune


minimă care include mulţimea poliedrală P ", atunci k se numeşte dimensiunea lui P .

Definiţia 2.1.6. Un politop a cărui dimensiune este mai mare cu 1 decât numărul vâr-
furilor sale se numeşte simplex .

Un segment este 1-simplex, un triunghi este 2-simplex, un tetraedru este un 3-simplex,


un politop cu n + 1 vârfuri se numeşte n-simplex.
Restricţiile problemei de programare liniară formează o mulţime poliedrală. Modelul
liniar admite soluţie (optim finit) doar în cazul în care această mulţime este mărginită.
Adică, în cazul optimului finit, mulţimea soluţiilor posibile este un politop.

Definiţia 2.1.7. Fie M o mulţime convexă din spaţiul Rn . Punctul x este un punct
extrem pentru mulţimea M, dacă nu este interior nici unui segment inclus în întregime în
mulţimea M .

Teorema 2.1.8. Orice politop coincide cu invelitoarea convexă a extremelor sale.

Teorema 2.1.9. Extremele mulţimii S sunt chiar soluţiile bazice.

Teorema 2.1.10. La extremele lui S pot fi găsite două baze B1 , B2 care diferă doar
printr-un vector.

Teorema 2.1.11. Dacă f este o funcţie liniară, definit pe un poliedru convex, atunci fie
că nu este mărginit superior pe această mulţime, fie îşi atinge maximul în cel puţin un
punct extrem al poliedrului (evident dacă poliedrul are cel puţin un extrem).

Proprietăţile poliedrului convex prezentate mai sus se datorează lui H. Minkowski


(1864-1909). Noţiunea de soluţie bazică exista cu mult înainte de apariţia programării
liniare. Meritul lui Dantzig este de a fi recunoscut utilitatea acestor rezultate existente.
Deci, din mulţimea S, care admite o infinitate de elemente, ne interesează doar acele
puncte care reprezintă vârfurile poliedrului, adică soluţiile bazice.

Teorema 2.1.12. Mulţimea soluţiilor posibile ale problemei de optimizare liniară cu res-
tricţii este o mulţime convexă.

Observaţie. Din punct de vedere practic, teorema este foarte importantă. În con-
secinţă, se poate afirma că o problemă de programare liniară admite fie o soluţie optimă
unică, fie o infinitate de soluţii optime.
Se poate formula următoarea întrebare:

4
Ce proprietăţi trebuie să verifice acele modele de programare matematică care pot fi
rezolvate pe baza principiului de mai sus?
Doar pentru problemele de optimizare liniară cu restricţii sunt valabile proprietăţile
de mai sus?
Are loc următorul rezultat.

Teorema 2.1.13. Dacă în modelul:



 f (x) = (c, x) → min/max

Ax 6 b (2.1)
 x≥0

unde A ∈ Mm,n (R), b ∈ Rm , c ∈ Rn , funcţia de scop f : D j Rn → R este strict


cvasimonotonă şi îşi atinge minimul/maximul, atunci soluţia sa optimă poate fi obţinută
cu principiul vârfurilor vecine (principiul lui Dantzig).

2.2 Soluţii ale problemei de optimizare liniară cu restricţii


În acest paragraf vom preciza condiţiile necesare pentru rezolvarea numerică a problemei
de optimizare liniară cu restricţii şi vom defini câteva tipuri de soluţii care pot fi asociate
problemei propuse spre rezolvare.

A. Cazul formei standard


Fie modelul: 
 f (x) = (c, x) → min/max

Ax = b (2.2)
 x≥0

unde A ∈ Mm,n (R), b ∈ Rm , c ∈ Rn , f : Rn → R.


Vom presupune că sistemul de restricţii Ax = b are cel puţin o soluţie. În caz contrar,
problema de optimizare considerată nu are sens.
Pe tot parcursul expunerii vom presupune că rang A = m.
Dacă rang A < m, atunci, în caz de compatibilitate, ar însemna că une-le restricţii
sunt consecinţe ale celorlalte, adică modelul construit în scopul studierii unui fenomen
economic este un model încărcat.
Se va presupune de asemenea că are loc inegalitatea m < n, (dacă m = n atunci
sistemul de restricţii formează un sistem Cramer).
În aceste condiţii, sistemul liniar de ecuaţii Ax = b este un sistem nedeterminat. În
consecinţă, sistemul liniar admite o infinitate de soluţii.

Definiţia 2.2.1. O soluţie a sistemului de ecuaţii Ax = b care verifică în plus condiţia de


nenegativitate (x ≥ 0) se numeşte soluţie posibilă (soluţie admisibilă sau program)
al problemei (2.1).

S = {x ∈ Rn | Ax = b, x ≥ 0} se numeşte mulţimea soluţiilor posibile.

Definiţia 2.2.2. O soluţie posibilă, x∗ , a problemei (2.1) se numeşte program optim,


soluţie optimă , dacă verifică condiţia de optim, adică (c, x∗ ) ≤ (c, x), unde x ∈ S
oarecare (dacă avem model de minimizare) şi (c, x∗ ) ≥ (c, x), unde x ∈ S oarecare (dacă
avem o problemă de maximizare).

5
Definiţia 2.2.3. O soluţie posibilă x ∈ S cu cel mult m componente strict pozitive se
numeşte soluţie de bază, dacă coloanele matricei A, care corespund acestor componente,
formează o bază în Rm .

Definiţia 2.2.4. O soluţie de bază se numeşte nedegenerată , dacă are exact m componente
nenule, şi degenerată , în caz contrar.

Teorema 2.2.5. Orice soluţie de bază a unei probleme de programare liniară este un punct
extrem al mulţimii S şi, reciproc, orice punct extrem al mulţimii S este soluţie bazică.

Dacă determinăm mulţimea soluţiilor bazice, atunci prin înlocuirea acestora în funcţia
de scop putem alege soluţia optimă a problemei considerate.
Câte soluţii de bază are un model cu n variabile şi m restricţii?
Pe baza definiţiei 2.2.3, aceste soluţii bazice pot fi obţinute în urma rezolvării tuturor
sistemelor Cramer de m ecuaţii şi n necunoscute, pe care le putem forma din sistemul de
restricţii Ax = b.
Astfel se poate afirma că numărul soluţiilor bazice este cel mult Cnm .

Problemă rezolvată
Să se determine soluţiile bazice ale problemei:


 f (x) = 2x1 + x2 + 2x3 + x4 + 3x5 → max

 2x + x + x − x − x = 2
1 2 3 4 5

 x1 + 2x2 − x3 − x4 + 3x5 = 4


xj ≥ 0, j = 1, 5

Matricea restricţiilor este:


!
2 1 1 −1 −1
A= rang A = 2
1 2 −1 −1 3

Notăm Cij , i < j 1 ≤ i, j ≤ 5 toate matricile pătratice de ordin doi ce pot fi formate
cu coloanele lui A.
! ! !
2 1 2 1 2 −1
C12 = C13 = C14 =
1 2 1 −1 1 −1
! ! !
2 −1 1 1 1 −1
C15 = C23 = C24 =
1 3 2 −1 2 −1

! ! !
1 −1 1 −1 1 −1
C25 = C34 = C35 =
2 3 −1 −1 −1 3
!
−1 −1
C45 = .
−1 3
 
5!
Avem 10 astfel de matrici C52 = 2!3! = 10 .

6
Toţi determinanţii det(Cij ) sunt diferiţi de zero, ceea ce înseamnă că vom avea cel
mult 10 soluţii bazice obţinute în urma rezolvării celor 10 sisteme liniare de două ecuaţii
şi două necunoscute.
În cazul unui sistem liniar de ecuaţii asociat matricei Cij , variabilele xi şi xj sunt
considerate variabile principale. Variabilele secundare sunt considerate nule.
Pentru matricea C12 , de exemplu, variabilele principale sunt x1 , x2 , iar x3 = x4 = x5 =
0.
În acest caz avem de rezolvat sistemul:
(
2x1 + x2 = 2
.
x1 + 2x2 = 4

Soluţia obţinută este (0 2 0 0 0). În mod analog, rezolvând sistemele liniare de ecuaţii, se
vor obţine soluţiile: (2 0 -2 0 0), (-2 0 0 -6 0), (10/7 0 0 0 6/7), (0 2 0 0 0), (0 2 0 0 0), (0
2 0 0 0), (0 0 -1 -3 0), (0 0 -1 0 3), (0 0 0 -5/2 1/2).
Dintre cele 10 soluţii obţinute, sunt soluţii de bază doar cele pentru care toate com-
ponentele sunt pozitive. Deci problema de optimizare liniară cu restricţii considerată
admite o soluţie bazică nedegenerată şi 4 soluţii bazice degenerate. Prin calcul direct,
prin înlocuirea soluţiilor bazice în funcţia de scop, putem alege soluţia optimă. Avem:
f (10/7 0 0 0 6/7) = 38/7
f (0 2 0 0 0) = 2
adică soluţia optimă este x0 = (10/7 0 0 0 6/7) şi fmax = 38/7.

Dacă considerăm un model cu n = 17 variabile şi m = 8 restricţii, atunci am avea


de rezolvat 24 310 sisteme Cramer cu 8 ecuaţii şi 8 variabile pentru a determina soluţiile
bazice.
Chiar şi în cazul unei probleme de dimensiune redusă, determinarea soluţiilor bazice
necesită foarte mult timp, ceea ce înseamnă că metoda nu este eficientă pentru determi-
narea optimului.
În 1947, G. Dantzig formulează un algoritm eficient pentru rezolvarea modelelor liniare.

2.3 Principiul metodei lui Dantzig


Principiul metodei lui Dantzig constă în alegerea unei soluţii bazice oarecare, în for-
mularea unui criteriu de optim cu care se verifică optimalitatea soluţiei bazice propuse şi
stabilirea unei metode cu care se poate pune în evidenţă o nouă soluţie bazică pentru care
valoarea funcţiei de scop creşte, dacă se caută un maxim (sau descreşte dacă se caută un
minim).
Se repetă operaţia până când mărirea/micşorarea funcţiei de scop nu mai este posibilă,
ceea ce înseamnă că s-a atins optimul acesteia.

B. Cazul formei generale


Modelul de optimizare liniară cu restricţii, dat într-o formă oarecare de prezentare poate fi
redus, folosind transformări echivalente, la un model în forma standard prin introducerea
unor variabile auxiliare, artificiale şi prin folosirea unor substituţii adecvate.
Se poate arăta că soluţiile modelului astfel obţinut sunt soluţii ale problemei iniţiale,
iar valorile optime coincid. Variabilele auxiliare introduse au doar semnificaţii economice.

7
Rezumat

• În cadrul cursului s-au prezentat proprietăţile algebrice şi geome-


trice ale POLR,

• Au fost definite tipuri de soluţii asociate unei POLR,

• S-a prezentat principiul lui Dantzig, principiu pe care se bazează


metoda de rezolvare ale POLR, algoritmul simplex.

Rezultate aşteptate
După studierea acestui curs, ar trebui:

• să se cunoască proprietăţile algebrice şi geometrice ale POLR,

• să se cunoască tipurile de soluţii, proprietăţile acestora şi legătura dintre aceste


soluţii,

• să se cunoască principiul lui Dantzig.

8
Bibliografie

[Sza] Szabó, Zs., (2005), Cercetări oreraţionale, Editura universităţii "Petru Maior" Târgu
Mureş

[Way] Wayne, L.W.,(2004), Operation Research. Applications and Algorithms, Fourth


Edition, Duxbury Press - online

[1] http://www.asecib.ase.ro/cursuri_online.htm

9
Glosar

combinaţie convexă, 3
convexă, 3

degenerată, 6

hiperplan, 3

mulţime poliedrală, 4
mulţimea, 3

nedegenerată, 6

semispaţiu, 4
simplex, 4
soluţie
admisibilă, 5
de bază, 6
optimă, 5
posibilă, 5

10

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