You are on page 1of 17

Universitatea ”Bogdan Petriceicu Hasdeu” Cahul

Facultatea de Economie, Inginerie și Științe Aplicate


Catedra de Matemtică și Informatică
Specialitatea Informatică Matematică
Anul III

Cercetare științifică
Tema: Programarea liniară

Elaborat: Munteanu Marina


Cîrchelan Oleg
Grupa: IM-1501
Coordonator științific: Bagrin Dumitru
Lector superior universitar

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.1 Problema utilizării raționale a resurselor


O întreprindere dispune de m resurse 𝑅1 , 𝑅2 , ⋯ , 𝑅𝑚 în cantitățile 𝑏1 , 𝑏2 , ⋯ , 𝑏𝑚 . Pe baza acestor
resurse se pot fabrica n produse 𝑃1 , 𝑃2 , ⋯ , 𝑃𝑛 , care vor aduce beneficii întreprinderii, beneficiile
unitare respective fiind 𝑐1 , 𝑐2 , ⋯ , 𝑐𝑛 .
̅̅̅̅̅
Cunoscând că pentru a produce o unitate de produs 𝑃𝑗 , 𝑗 = 1, 𝑛 sunt necesare unități de resurse
𝑅𝑖 , 𝑖 = ̅̅̅̅̅̅
1, 𝑚, se cere de a determina ce cantități de fiecare produs va trebui să producă întreprinderea
astfel încât beneficiul total de la vânzarea producției să fie maxim.
Datele inițiale sunt introduse în tabel:
Tab. 1.1
Producție Limitele
Resursele de
𝑃1 𝑃2 ⋯ 𝑃𝑗 ⋯ 𝑃𝑛
resurse
𝑅1 𝑎11 𝑎12 ⋯ 𝑎1𝑗 ⋯ 𝑎1𝑛 𝑏1
𝑅2 𝑎21 𝑎22 ⋯ 𝑎2𝑗 ⋯ 𝑎2𝑛 𝑏2
⋯ ⋮ ⋮ ⋮ ⋮ ⋮
𝑅𝑗 𝑎𝑖1 𝑎𝑖2 ⋯ 𝑎 𝑖𝑗 ⋯ 𝑎𝑖𝑛 𝑏𝑖
⋯ ⋮ ⋮ ⋮ ⋮ ⋮
𝑅𝑛 𝑎𝑚1 𝑎𝑚2 ⋯ 𝑎𝑚𝑗 ⋯ 𝑎𝑚𝑛 𝑏𝑚
Beneficiul
𝑐1 𝑐2 ⋯ 𝑐𝑗 ⋯ 𝑐𝑛
unitar
Pentru a scrie modelul matematic al problemei formulate vom nota cu 𝑥𝑗 volumul de producție.
𝑃𝑗 , 𝑗 = ̅̅̅̅̅
1, 𝑛, care va fi fabricat din resursele existente, iar prin 𝑋 = (𝑥1 , 𝑥2 , ⋯ , 𝑥𝑛 ) – programul de
producție al întreprinderii.
Asadar, modelul matematic al problemei de utilizare rațională a resurselor are forma:
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑗 𝑥𝑗 + ⋯ + 𝑎1𝑛 𝑥𝑛 ≤ 𝑏1
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑗 𝑥𝑗 + ⋯ + 𝑎2𝑛 𝑥𝑛 ≤ 𝑏2
(2.1) ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ⋯ + 𝑎𝑚𝑗 𝑥𝑗 + ⋯ + 𝑎𝑚𝑛 𝑥𝑛 ≤ 𝑏𝑚
{ 𝑥1 ≥ 0, 𝑥2 ≥ 0, ⋯ , 𝑥𝑗 ≥ 0, ⋯ , 𝑥𝑛 ≥ 0,

(2.2) 𝑍(𝑥) = 𝑐1 𝑥1 + 𝑐2𝑥2 + ⋯ + 𝑐𝑗 𝑥𝑗 + ⋯ + 𝑐𝑛 𝑥𝑛 → 𝑚𝑎𝑥.

Mai compact modelul matematic poate fi scris:

∑ 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖 , 𝑖 = ̅̅̅̅̅̅
1, 𝑚
𝑥𝑗 ≥ 0, 𝑗 = ̅̅̅̅̅
1, 𝑛
𝑛

𝑍(𝑥) = ∑ 𝑐𝑗 𝑥𝑗 → 𝑚𝑎𝑥
{ 𝑗=1

Conținutul matematic al problemei este: din mulțimea soluțiilor sistemului de inecuații(1.1) să


se determine o soluție ce va da valoarea maximă a funcției – scop(1.2).
Exemplu: Pentru a produce două feluri de marfă P1 și P2, o fabrică de tricotaj folosește lână,
nitron și silon (R1, R2, R3) ale căror rezerve constituie respectiv 820kg, 430kg și 310kg. Cantitățile
(kg) de fire toarse necesare pentru fabricarea unei unități de produs finit și beneficiul căpătat la
vânzarea unei unități de producție sunt prezentatea în tabelul 1.2.
Tab. 1.2
Feluri de Cantități de fire necesare
Limitele
materie
P1 P2 resurselor
primă
R1, lână 0,4 0,2 820
R2, nitron 0,2 0,1 430
R3, silon 0,1 0,1 310
Beneficiu
7,8 5,6
unitar
Să se determine programul de activități care va aduce făbricii un beneficiu(profit) maxim.
Notăm prin x1, x2 volumul de producție P1 și respectiv P2.
Modelul matematic al problemei este:
0,4𝑥1 + 0,2𝑥2 ≤ 820
0,2𝑥1 + 0,1𝑥2 ≤ 430
{ , 𝑍(𝑥) = 7,8𝑥1 + 5,6𝑥2 → 𝑚𝑎𝑥.
0,1𝑥1 + 0,1𝑥2 ≤ 310
𝑥1 ≥ 0, 𝑥2 ≥ 0
1.2 Problema amestecului optim(meniul optim)
Se știe că pentru a realiza un amestec, se pot folosi n tipuri de materii prime 𝑀𝑗 , 𝑗 = ̅̅̅̅̅ 1, 𝑛.
̅̅̅̅̅̅
Amestecul trebuie să conțină m substanțe 𝑆𝑖 , 𝑖 = 1, 𝑚, care se găsesc în materiile prime în așa fel încât
fiecare substanță să intre în unitatea de amestec în cantitatea necesară 𝑏𝑖 , 𝑖 = ̅̅̅̅̅̅
1, 𝑚.
Cunoscând cantitățile 𝑎𝑖𝑗 de substanță și ce se conține într-o unitate de materie primă 𝑀𝑗 și
costurile unitare 𝑐𝑗 pentru materiile prime 𝑀𝑗 , se cere de a determina cantitățile de materie primă
necesare pentru a obține unitatea de amestec cu componența prescrisă la costul total minim.
Datele inițiale ale problemei se conțin în tabelul 2.3
Tab. 1.3
Materie primă Cantitatea
minimă
Substanțele
𝑀1 𝑀2 ⋯ 𝑀𝑛 de
substanțe
𝑆1 𝑎11 𝑎12 ⋯ 𝑎1𝑛 𝑏1
𝑆2 𝑎21 𝑎22 ⋯ 𝑎2𝑛 𝑏2
⋯ ⋮ ⋮ ⋮ ⋮
𝑆𝑛 𝑎𝑚1 𝑎𝑚2 ⋯ 𝑎𝑚𝑛 𝑏𝑚
Costul
unitar de
𝑐1 𝑐2 ⋯ 𝑐𝑛
materie
primă

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ță.

1.3 Problema de transport


Un produs, ce se află la m producători (Am), trebuie transportat la n consumatori (Bn). Cunoscând
cantitățile disponibile 𝑎𝑖 , 𝑖 = ̅̅̅̅̅̅
1, 𝑚 și cantitățile necesare 𝑏𝑗 , 𝑗 = ̅̅̅̅̅
1, 𝑛, precum și costurile unitare de
transport 𝑐𝑖𝑗 de la producătorul Ai la consumatorul Bi, se cere să se determine cantitățile 𝑥𝑖𝑗 de produs
repartizat de la producători la consumatori, astfel ca cererea să fie satisfăcută exact în fiecare centru
de consum, iar cheltuelile totale de transport să fie minime.
Datele inițiale se conțin în tabelul 2.4
Tab. 2.4
Consumatorii
Producătorii Disponibil
𝐵1 𝐵2 ⋯ 𝐵𝑛
𝐴1 𝑐11 𝑐12 ⋯ 𝑐1𝑛 𝑎1
𝐴2 𝑐21 𝑐22 ⋯ 𝑐2𝑛 𝑎2
⋯ ⋮ ⋮ ⋮ ⋮
𝐴𝑚 𝑐𝑚1 𝑐𝑚2 ⋯ 𝑐𝑚𝑛 𝑎𝑚
Necesar 𝑏1 𝑏2 ⋯ 𝑏𝑛

𝑥11 + 𝑥12 + ⋯ + 𝑥1𝑛 ≤ 𝑎1


𝑥21 + 𝑥22 + ⋯ + 𝑥2𝑛 ≤ 𝑎2
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
𝑥𝑚1 + 𝑥𝑚2 + ⋯ + 𝑥𝑚𝑛 ≤ 𝑎𝑚
Modelul matematic al problemei are forma: 𝑥11 + 𝑥21 + ⋯ + 𝑥𝑚1 = 𝑏1
𝑥12 + 𝑥22 + ⋯ + 𝑥𝑚2 ≤ 𝑎1
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
𝑥1𝑛 + 𝑥2𝑛 + ⋯ + 𝑥𝑚𝑛 = 𝑏𝑛
{ 𝑥𝑖𝑗 ≥ 0, 𝑖 = ̅̅̅̅̅̅
1, 𝑚, 𝑗 = ̅̅̅̅̅
1, 𝑛

Principiul de optimalitate. Metoda simplex. Algoritmul metodei simplex.


Tabelele simplex.
Deoarece ştim că dacă programul în formă standard (P) are optim finit o soluţie optimă va fi
cu necesitate o soluţie de bază şi deci va fi asociată unei baze B*, este natural să ne întrebăm cum
găsim această bază optimală B*.Traducând în termeni algebrici procedeul geometric “naiv”, rezultă
următoarea procedură:
• se generează toate bazele programului (P) şi se calculează soluţiile asociate acestora;
• se elimină soluţiile de bază neadmisibile şi dintre cele admisibile se reţine acea soluţie care
oferă funcţiei obiectiv valoarea maximă.
“Metoda” descrisă are o alternativă care, din fericire, s-a dovedit a fi deosebit de eficientă din
punct de vedere practic. Este vorba de metoda simplex datorată matematicianului american G.B.
Dantzig (1947).
Această metodă este un procedeu de cercetare sistematică a soluţiilor admisibile de bază ale
unui program liniar în formă standard (P). Ea presupune cunoscută o asemenea soluţie, numită soluţie
iniţială sau de start şi în continuare construieşte un şir de soluţii admisibile de bază dealungul căruia
valoarea funcţiei obiectiv creşte progresiv.
Metoda simplex oferă un test simplu de recunoaştere a optimalităţii unei soluţii de bază şi
deasemeni un test de recunoaştere a optimului infinit. Practica numerică a arătat că numărul soluţiilor
admisibile de bază efectiv generate este de regulă mult mai mic decât numărul total al acestora.
Cu anumite precauţii, uşor de îndeplinit, metoda simplex garantează convergenţa procesului
iterativ în sensul că o bază admisibilă cercetată la un moment dat nu mai revine în iteraţiile ulterioare
(vezi secţiunea 4.5). Cum numărul bazelor este finit, urmează că într-un număr finit de paşi se ajunge
fie la soluţia optimă fie la concluzia că programul are optim infinit. Fireşte, în această descriere
succintă, am plecat de la ipoteza cunoaşterii unei soluţii admisibile de bază iniţiale, adică de la premiza
că (P) este un program compatibil.

2.1 Algoritmul metodei simplex. Tabelul simplex


Vom analiza în continuare metoda simplex pentru rezolvarea problemelor de programare
liniară de maximizare, pentru care vom aplica următorul algoritm:
Exemple rezolvate:
𝑥1 + 2𝑥2 ≤ 12
2𝑥 + 𝑥2 ≤ 15
1. { 1 , 𝑍(𝑋⃗) = 𝑥1 + 2𝑥2 →max
2𝑥1 − 𝑥2 ≤ 5
𝑥1 ≥ 0
Rezolvare: Aducem problema la forma standart
𝑥1 + 2𝑥2 + 𝑥3 = 12
𝑍𝑥1 + 𝑥2 + 𝑥4 = 15
2𝑥1 − 𝑥2 + 𝑥5 = 10 , 𝑍(𝑋⃗) = 𝑥1 + 2𝑥2 →max
𝑥2 + 𝑥6 = 5
{ ̅̅̅̅ ≥ 0
𝑥1,6
Calculele le efectuăm conform algoritmului metodei simplex aplicând tabelul Gauss, în care
𝑏
se adaugă coloana 𝑎 𝑖 , pentru calcularea liniei pivotului (ars). (tab 5.1.6)
𝑖𝑠

⃗⃗⃗⃗⃗1 = (0; 5; 2; 10; 15; 0) și 𝑍(𝑋


După prima iterație am obținut prima soluție 𝑋 ⃗⃗⃗⃗⃗1 ) = 10. Soluția
nu-i optimă ∆𝑗 = −1 < 0. După următoarea iterație obținem soluția optimă 𝑋 ⃗⃗⃗⃗⃗1∗ = (2; 5; 0; 6; 11; 0) și
𝑍𝑚𝑎𝑥 = 12
Tabelul 3.
cj 1 2 0 0 0 0 Bi / ais
Baza ci B
xi x1 x2 x3 x4 x5 x6 (ais>0 )
12/2=6
x3 0 12 1 2 1 0 0 0
15/1=15
x4 0 15 2 1 0 1 0 0
x5 0 10 2 -1 0 0 1 0
←5/1=5
x6 0 5 0 1 0 0 0 1
min
zj 0 0 0 0 0 0 0
∆j= zj-cj -1 -2 0 0 0 0
x3 0 2 [1] 0 1 0 0 -2 2/1= 2
x4 0 10 2 0 0 1 0 -1 ←min

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

Soluția optimă: ⃗⃗⃗⃗⃗


𝑋1∗ = (2; 5; 0; 6; 11; 0) și 𝑍𝑚𝑎𝑥 = 12.
−𝑥1 + 𝑥2 ≤ 2
2𝑥 − 4𝑥 ≤ 3
2. {−4𝑥1 + 3𝑥2 ≤ 8 , 𝑍(𝑋) = 2𝑥1 + 3𝑥2 → max
1 2
̅̅̅̅
𝑥1,2 ≥ 0
Rezolvare: Aducem modelul la forma standard:
−𝑥 + 𝑥2 + 𝑥3 = 2
2𝑥1 − 4𝑥2 + 𝑥4 = 3
{−4𝑥 + 3𝑥 + 𝑥 = 8 , 𝑍(𝑋) = 2𝑥1 + 3𝑥2 → max
1 2 5
̅̅̅̅
𝑥1,5 ≥ 0
Rezolvarea- tabelar:
𝑐𝑗 2 3 0 0 0 Bi / ais
Baza ci B
𝑥𝑖 𝑥1 x2 x3 x4 x5 (ais>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; 2; 0; 11; 2) cu Z=6 nu este optimă deoarece ∆1 = −5 și tot ci ais<0


Soluția 𝑋
Funcția Z(𝑋⃗) este nemărginită.
−𝑥2 + 𝑥3 ≤ 1
−5𝑥1 + 𝑥2 + 𝑥3 = 2
3. { , Z(𝑋⃗)= 3𝑥1 − 𝑥2 − 4𝑥3 → 𝑚𝑖𝑛
−8𝑥1 + 𝑥2 + 2𝑥3 ≥ 3
̅̅̅̅ ≥ 0
𝑥1,3
Rezolvare: Aducem modelul la forma standart:
−𝑥2 + 𝑥3 + 𝑥4 = 1
{ −5𝑥1 + 𝑥2 + 𝑥3 = 2 , Z(𝑋⃗) = 3𝑥1 − 𝑥2 − 4𝑥3 → 𝑚𝑖𝑛
−8𝑥1 + 𝑥2 + 2𝑥3 − 𝑥5 = 3
3 -1 -4 0 0 Bi / ais
Baza ci B
x1 x2 x3 x4 x5 (ais>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

zj -16 3 -1 -4 -11 -19

∆j= zj-cj 0 0 0 -11 -19

Am obținut soluția optimă: ⃗⃗⃗⃗⃗


𝑋 ∗ = (1; 3; 4; 0; 0) și Zmin= -16.
Determinarea soluției de bază admisibile (s.b.a) inițiale. Metoda bazei
artificiale.
Utilizarea algoritmului simplex necesită cunoașterea unei soluții de bază admisibile
inițiale.Cunoaștem metoda utilizării variabilelor de compensare pentru obținerea unei s.b.a. Dar
deoarece nu toate problemele practice sunt de aceeași formă , rezultă că este necesar să cunoaștem și
alte metode de determinare a s.b.a inițiale.
Fie că problema de P.L este dată sub forma standard:
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 = 𝑏1
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 = 𝑏2
− − − − − − − − − −
𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ⋯ + 𝑎𝑚𝑛 𝑥𝑛 = 𝑏𝑚
{ 𝑥1, 𝑛 ≥ 0 𝑖 = 1, 𝑚

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

Dacă se cere de minimizat funcția obiectiv Z(𝑋⃗), atunci:

𝑍𝑀 (𝑋̃) = 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛 + 𝑀𝑥𝑛+1 + 𝑀𝑥𝑛+2 + ⋯ + 𝑀𝑥𝑛+𝑚 → 𝑚𝑖𝑛

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

Fiindcă în ultimul tabel avem ∆𝑗 ≥ 0, soluția ̃


𝑥 ∗ = (4; 0; 2; 0; ) este optimă.

Pentru problema inițială obținem soluția optimă ̃


𝑥 ∗ = (4; 0; 2; ) cu valoarea funcției-scop
𝑍𝑚𝑎𝑥 = 14.
2𝑥1 + 𝑥2 ≥ 4
𝑥1 + 𝑥2 ≥ 5
3. 𝑥 + 2𝑥 ≥ −3 , Z(𝑋⃗) = 2𝑥1 − 𝑥2 → 𝑚𝑖𝑛
1 2
{ 𝑥1,3 ≥ 0
Rezolvare:
Aducem modelul la forma standart , și funcția obiectiv la max.
2𝑥1 − 𝑥2 − 𝑥3 = 4
𝑥1 + 𝑥2 − 𝑥4 = 5

−𝑥1 − 2𝑥2 + 𝑥5 = 3 , 𝑍1 (𝑋) = −2𝑥1 + 𝑥2 → 𝑚𝑎𝑥
{ 𝑥1,5 ≥ 0
Această problemă o socoate inițială și alcătuim problema extinsă, adăugînd la primele două
ecuații cîte o variabilă artificială (în a treia avem deja variabila 𝑥5 ).
2𝑥1 − 𝑥2 − 𝑥3 + 𝑥6 = 4
𝑥 + 𝑥2 − 𝑥4 + 𝑥7 = 5
{ 1 , 𝑍1 (𝑋̃) = −2𝑥1 + 𝑥2 − 𝑀𝑥6 − 𝑀𝑥7 → 𝑚𝑎𝑥
−𝑥1 − 2𝑥2 + 𝑥5 = 3

Rezolvarea se obține în următorul tabel:

-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 .

You might also like