Professional Documents
Culture Documents
Cercetare științifică
Tema: Programarea liniară
Cahul, 2018
Cuprins
INTRODUCERE ........................................................................................................................................................ 3
EXEMPLE DE PROBLEME DE PROGRAMAREA LINIARĂ ............................................................................. 4
1.1 PROBLEMA UTILIZĂRII RAȚIONALE A RESURSELOR ............................................................................................... 4
1.2 PROBLEMA AMESTECULUI OPTIM(MENIUL OPTIM)................................................................................................. 6
1.3 PROBLEMA DE TRANSPORT ...................................................................................................................................... 6
PRINCIPIUL DE OPTIMALITATE. METODA SIMPLEX. ALGORITMUL METODEI SIMPLEX.
TABELELE SIMPLEX. ............................................................................................................................................. 7
2.1 ALGORITMUL METODEI SIMPLEX. TABELUL SIMPLEX............................................................................................ 8
DETERMINAREA SOLUȚIEI DE BAZĂ ADMISIBILE (S.B.A) INIȚIALE. METODA BAZEI ARTIFICIALE.
.................................................................................................................................................................................. 13
Introducere
Matematici aplicate în economie conține elemente de bază din algeabra liniară și programarea
liniară, care poate fi aplicată în economie. Această disciplină este necesară să fie cunoscută de
specialiști, care activează în domeniul economiei unde nmulte fenomene și procese sunt supuse
calculul indicatorilor economice, examinează activitatea întreprinderilor și a economiei naționale, face
totaluri și prognoze. Este o disciplină bazată pe elemente din algebră și programare liniară, deoarece
este orientată pentru soluționarea unor probleme de planificare și dirijare a activității economice,
analizarea și prelucrarea informației tehnico-ecomonică care în majoritatea cazurilor este reprezentată
sub froma unui tabel(matrici).
Sarcina fundamantală a Matematicii aplicate în economie este studiul și analiza unor probleme
economice, aplicată la rezolvarea unor probleme economice a modelelor matematice, utilizarea
operațiilor cu matrice, matrice inversă, la rezolvarea sistemelor de ecuații liniare obținute în procesul
de modelare a balanței dintre ramurile economiei.
Actualmente nu există domeniu în economie în care nu s-ar utiliza metodele și modelele
matematice. Printre metodele matematice, folosite pe larg în economie, un rol important îl are
programarea matematică. Scopul principal pe care-l urmărește programarea matematică constă în
obținerea soluției optime a unei probleme economice pe baza unui model matematice.
Sfera de aplicare în economie a programării matematice cuprinde un număr mare și variat de
probleme privind planificarea economică și de perspectivă, conducerea diferitor procese de producție,
dirijarea diferitelor procese tehnologice, etc.
În problemele de programare matematică procesele economice sunt descrise prin relațiile care
arată dependența dintre diferiți factori ce intervin în desfășurarea acțiunilor. Se cunosc diferite direcții
de studii ale programării matematice, cum ar fi: programarea liniară, când aceste expresii (restricțiile
și funcția obiectiv) sunt liniare; progrmarea neliniară, când cel puțin o restricție sau funcție – obiectiv
este de tip neliniar; programarea dinamică, când se examinează probleme legate de luarea deciziilor
în funcție de timp sau a unor procese compuse din mai multe etape.
Modelul matematic de programare liniară aplicat la reprezentarea unui sistem economic este
constituit dintr-un ansamblu de realții liniare dintre care una reflecă obiectivul urmărit, iar celelalte
cuprind restricțiile economice sau tehnice.
Orice problemă de programare liniară se formulează matematic astfel: din mulțimea soluțiilor
sitemului de restricții exprimate prin ecuații și inecuații liniare, să se determine o soluție (soluția
optimă) ce dă valoarea maximă (sau minimă) a unei expresii liniare numită funcție – obiectiv (funcție
– scop).
Exemple de probleme de programarea liniară
Printre metodele matematice, folosite pe larg în economie, un rol important îl are programarea
matematică. Scopul principal pe care-l urmărește programarea matematică constă în obținerea soluției
optime a unei probleme economice pe baza unui model matematice.
În problemele de programare matematică procesele economice sunt descrise prin relațiile care
arată dependența dintre diferiți factori ce intervin în desfășurarea acțiunilor. Se cunosc diferite direcții
de studii ale programării matematice, cum ar fi: programarea liniară, când aceste expresii (restricțiile
și funcția obiectiv) sunt liniare; progrmarea neliniară, când cel puțin o restricție sau funcție – obiectiv
este de tip neliniar; programarea dinamică, când se examinează probleme legate de luarea deciziilor
în funcție de timp sau a unor procese compuse din mai multe etape.
Modelul matematic de programare liniară aplicat la reprezentarea unui sistem economic este
constituit dintr-un ansamblu de realții liniare dintre care una reflecă obiectivul urmărit, iar celelalte
cuprind restricțiile economice sau tehnice.
Orice problemă de programare liniară se formulează matematic astfel: din mulțimea soluțiilor
sitemului de restricții exprimate prin ecuații și inecuații liniare, să se determine o soluție (soluția
optimă) ce dă valoarea maximă (sau minimă) a unei expresii liniare numită funcție – obiectiv (funcție
– scop).
∑ 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖 , 𝑖 = ̅̅̅̅̅̅
1, 𝑚
𝑥𝑗 ≥ 0, 𝑗 = ̅̅̅̅̅
1, 𝑛
𝑛
𝑍(𝑥) = ∑ 𝑐𝑗 𝑥𝑗 → 𝑚𝑎𝑥
{ 𝑗=1
Notăm cu 𝑥𝑗 , 𝑗 = ̅̅̅̅̅
1, 𝑛 cantitatea de materie primă 𝑀𝑗 necesară pentru a obține unitatea de
amestec cu componența prescrisă.
Modelul matematic al problemei are forma:
∑ 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖 , 𝑖 = ̅̅̅̅̅̅
1, 𝑚
𝑥𝑗 ≥ 0, 𝑗 = ̅̅̅̅̅
1, 𝑛
𝑛
𝑍(𝑥) = ∑ 𝑐𝑗 𝑥𝑗 → 𝑚𝑖𝑛
{ 𝑗=1
Într-o unitate de amestec trebuie să se conțină nu mai puțin de cantitatea necesară pentru
fiecare substanță.
x5 0 15 2 0 0 0 1 1 10/2=5
x2 2 5 0 1 0 0 0 1 15/2=7,5
zj 10 0 2 0 0 0 2
∆j= zj-cj -1 0 0 0 0 2
x1 1 2 1 0 1 0 0 -2
x4 0 6 0 0 -2 1 0 3
x5 0 11 0 0 -2 0 1 5
x2 2 5 0 1 0 0 0 1
zj 12 1 2 1 0 0 0
∆j= zj-cj 0 0 1 0 0 0
0 1 0 0
x3 2 -1 [1] ←2/1=2 min
0 0 1 0
x4 3 2 -4
0 0 0 1
x5 8 -4 3 8/3=2,6
zj 0 0 0 0 0 0
∆j= zj-cj -2 -3 0 0 0
1
x2 3 2 -1 1 0 0
0
x4 0 11 -2 4 1 0 ais<0
0
x5 0 2 -1 -3 0 1
zj 6 -3 3 3 0 0
∆j= zj-cj -5 0 3 0 0
1 0 -1 1 1 0
x4 0
2 -5 [1] 1 0 0 ←2/1=2 min
3 -8 1 2 0 -1 3/1=3
3 -5 0 2 1 0
x4 0
2 -5 1 1 0 0
x2 -1
1 -3 0 [1] 0 -1
x4 0 1 [1] 0 0 1 2
←1/1=1 min
x2 -1 1 -2 1 0 0 1
x3 -4 1 -3 0 1 0 -1
zj -5 14 -1 -4 0 3
∆j= zj-cj 11 0 0 0 3
x1 3 1 1 0 0 1 2
x2 -1 3 0 1 0 2 5
x3 -4 4 0 0 1 3 5
Z(𝑋)=𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛 → 𝑚𝑎𝑥
Determinarea unei soluții de bază admisibile inițiale prin metoda bazei artificiale constă în
următoarele:
Se înlocuiește problema dată cu o problemă modificată – ,,problemă extinsă’’ :
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 + 𝑥𝑛+1 = 𝑏1
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 + 𝑥𝑛+2 = 𝑏2
− − − − − − − − − −
𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ⋯ + 𝑎𝑚𝑛 𝑥𝑛 + 𝑥𝑛+𝑚 = 𝑏𝑚
{ 𝑥1, 𝑛 + 𝑚 ≥ 0
𝑍𝑀 (𝑋̃) = 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛 − 𝑀𝑥𝑛+1 − 𝑀𝑥𝑛+2 − ⋯ − 𝑀𝑥𝑛+𝑚 → 𝑚𝑎𝑥 unde M >0, destul
de mare
1 0 0
0 1 0
0
. . .
Vectorii unitari 𝐴⃗n+1= . , 𝐴⃗n+2= . , …, 𝐴⃗n+m= , ce corespund așa numitor variabile
.
. . .
(0) (0) (1)
artificiale 𝑥𝑛+1 , 𝑥𝑛+2 , …, 𝑥𝑛+𝑚 alcătuiesc o bază , se poate arăta că rezolvînd problema extinsă, vom
primi și soluția problemei inițiale.
Probleme rezolvate:
Să se rezolve probleme de programare liniară:
𝑥1 + 3𝑥2 + 3𝑥3 = 9
1. { 2𝑥1 + 2𝑥2 + 𝑥3 = 4 , Z(𝑋⃗) = 𝑥1 + 6𝑥2 + 4𝑥3 → 𝑚𝑎𝑥
𝑥1,3 ≥ 0
Rezolvare:
Alcătuim problema extinsă cu adăugarea variabilelor artificiale 𝑥4 , 𝑥5
𝑥1 + 3𝑥2 + 3𝑥3 + 𝑥4 = 9
{ 2𝑥1 + 2𝑥2 + 𝑥3 + 𝑥5 = 4 , Z(𝑋⃗) = 𝑥1 + 6𝑥2 + 4𝑥3 − 𝑀𝑥4 − 𝑀𝑥5 → 𝑚𝑎𝑥
𝑥1,5 ≥ 0
1 6 4 -M -M Bi / ais
Baza ci B
x1 x2 x3 x4 x5 (ais>0 )
-
9/3=3
x4 M 9 1 3 3 1 0
←4/2=2
x5 - 4 2 [2] 1 0 1
min
M
zj -13M -3M -5M -4M -M -M
-3M- -5M-
∆j= zj-cj -4M-4 0 0
1 6
←
-
x4 3 -2 0 [3/2] 1 3/3/2= 3
M -3/2 min
x2 2 1 1 1/2 0
6
2/1/2=4
12-
zj 2M+6 6 3/2M+3 -M +3/2M+6
3M
∆j= zj-cj 2M+5 0 3/2M-1 0 5/1M+6
x3 4 2 -4/3 0 1 2/3 -1
x2 6 1 5/3 1 0 -1/3 1
zj 14 14/3 6 4 2/3 2
∆j= zj-cj 11/3 0 0 2/3+M 2+M
Deoarece în ultimul tabel simplex toate valorile ∆𝑗 ≥ 0 , j=1,5 obținem ̃ 𝑥 ∗ = (0; 1; 2; 0; 0)
este soluție optimă pentru problemă extinsă. Dar atunci ⃗⃗⃗⃗⃗
𝑥 ∗ =(0;1;2) este soluția optimă a problemei
inițiale. ( 𝑥4 , 𝑥5 = 0) și Zmax = 14
𝑥1 + 𝑥2 + 𝑥3 = 6
2. { 2𝑥1 + 𝑥2 = 8 , Z(𝑋⃗) = 3𝑥1 + 2𝑥2 + 𝑥3 → 𝑚𝑎𝑥
𝑥1,3 ≥ 0
Rezolvare:
Deoarece 𝑥3 lipsește în a doua ecuație introducem variabila artificială numai în a doua ecuație.
Problema extinsă va avea forma:
𝑥1 + 𝑥2 + 𝑥3 = 6
{2𝑥1 + 𝑥2 + 𝑥4 = 8, Z(𝑋⃗) = 3𝑥1 + 2𝑥2 + 𝑥3 − 𝑀𝑥4 → 𝑚𝑎𝑥
𝑥1,4 ≥ 0
Rezolvăm aplicînd tabelele Gauss:
Baza ci B 3 2 1 -M Bi / ais
x1 x2 x3 x4 (ais>0 )
X3 1 6 1 1 1 0 6/1=6
X4 -M 8 [2] 1 0 1 ←8/2=4
min
zj 6-8M 1-2M 1-M 1 -M
∆j= zj-cj -2M- -M-1 0 0
2
X3 1 2 0 1/2 1 -1/2
X1 3 4 1 1/2 0 1/2
zj 14 3 2 1 1
∆j= zj-cj 0 0 0 1+M
-2 1 0 0 -M -M -M Bi / ais
Baza ci B
x1 x2 x3 x4 x5 x6 x7 (ais>0 )
-2
x5 0 3 -1 0 0 1 0 0 ← 4/2=2
-1
x6 -M 4 [2] -1 0 0 1 0 min
1
x7 -M 5 1 0 -1 0 0 1 5/1=5
zj -3M -3M 0 M M 0 -M -M
∆j= zj-cj 2-3M -1 M M 0 0 0
0 -1/2 1/2
x5 0 5 -5/2 0 1 0 3/3/2= 2
1 -1/2 1/2
x1 -2 2 -1/2 0 0 0 min
0 1/2 -1/2
x7 -M 3 [3/2] -1 0 1
-4- 1- 1-
zj 1 M 0 M/2-1 -M
3M 3/2M 1/2M
- 1- 3/2M-
∆j= zj-cj 3 M 0 0
3/2M 1/2M 1
x5 0 10 0 0 1/3 -5/3 1 -1/3 5/3
x1 -2 3 1 0 -1/3 -1/3 0 1/3 1/3
x2 1 2 0 1 1/3 -2/3 0 -1/3 2/3
zj -4 -2 1 1 0 0 -1 0
∆j= zj-cj 0 0 1 0 0 M-1 M
̅̅̅̅ rezultă că 𝑋
Deoarece în ultimul tabel avem 𝐵𝑗 ≥ 0 , j=1,5 ⃗⃗⃗⃗⃗⃗𝑥 = (3; 2) este soluția optimă și
𝑍𝑚𝑖𝑛 = 𝑍𝑚𝑎𝑥 = −(−4) = 4 .