Sunteți pe pagina 1din 20

4

Programarea liniară.
Algoritmul Simplex

4.1. Noţiuni teoretice

4.1.1. Forma standard

O problemă de programare liniară se spune că este în forma standard atunci


când toate restricţiile devin ecuaţii şi toate variabilele nenegative. O inegalitate
devine egalitate prin introducerea unei noi variabile, numită variabilă de
compensare, ea reprezentând valoarea rămasă neutilizată din resursa
respectivă.

4.1.2. Forma tabelară

O problemă de programare liniară este în formă tabelară atunci când toate


constrângerile sunt ecuaţii având partea dreaptă mai mare sau egală cu zero şi
atunci când în fiecare ecuaţie apare o variabilă care are coeficientul egal cu +1
într-o singură ecuaţie şi egal cu 0 în toate celelalte ecuaţii. Variabila cu
coeficient egal cu +1 într-o ecuaţie şi 0 în celelalte se numeşte variabilă de
bază asociată ecuaţiei. Toate celelalte variabile care nu sunt variabile de bază
se numesc variabile secundare.

În general, atunci când există mai multe variabile decât ecuaţii, există un număr
infinit de soluţii într-un sistem de ecuaţii. Dar chiar dacă există o infinitate de
soluţii, uneori este dificil de a găsi o singură soluţie. Valoarea formei tabelare
este aceea că oferă cu uşurinţă găsirea unei soluţii prin stabilirea valorilor

67
68 Cercetări operaţionale

variabilelor secundare la zero şi a valorilor variabilelor de bază la valoarea


corespunzătoare membrului drept al ecuaţiei. Aceste soluţii se numesc soluţii
fezabile de bază. Aceste soluţii corespund punctelor extreme ale regiunii
fezabile de bază. Următorul exemplu ilustrează forma tabelară:
x2 + 3x3 -2x5 =7
4x3 + x4 + 3x5 =8
x1 - 2x3 + 2x5 = 16
4x5 + x6 = 10
Variabilele de bază sunt x2, x4, x1 şi x6. Soluţiile fezabile de bază sunt respectiv
x1 = 16; x2=7; x3=0; x4=8; x5=0 şi x6 =10.
O problemă în formă tabelară poate fi scrisă într-un tablou. Un tablou este acea
reprezentare a coeficienţilor ecuaţiilor care respectă următoarele condiţii:
1. Deasupra tabelului coeficienţilor ecuaţiilor se scriu coeficienţii funcţiei
obiectiv. Aceştia reprezintă creşterea directă pe unitate a funcţiei obiectiv
prin creşterea fiecărei variabile cu o unitate, neglijând efectul
constrângerilor.
2. La stânga tabloului se scriu variabilele de bază corespunzătoare fiecărei
ecuaţii şi coeficientul acesteia din funcţia obiectiv.
3. La baza tabloului există două linii:
- linia zj care reprezintă descreşterea în valoare a funcţiei obiectiv ca
urmare a creşterii cu o unitate a variabilelor xj, descreştere datorată
efectelor constrângerilor. Ea se obţine prin multiplicarea coeficienţilor
fiecărei coloane prin coeficientul funcţiei obiectiv corespunzător
variabilei de bază pentru acea ecuaţie şi însumarea acestora.
- Linia cj-zj reprezintă linia profitului marginal sau linia evaluării nete,
obţinută prin scăderea valorilor zj din cj pentru fiecare coloană.
Considerând următoarea funcţie obiectiv:
z=3x1 + 3x2 + 10x3 + x4 + 5x5 + x6 → MAX,
avem următorul tablou:
X1 X2 X3 X4 X5 X6
Bază Cj 3 3 10 1 5 1
X2 3 0 1 3 0 -2 0 7
X4 1 0 0 4 1 3 0 8
X1 3 1 0 -2 0 2 0 16
X6 1 0 0 0 0 4 1 10
zj 3 3 7 1 7 1 87
Cj-zj 0 0 3 0 -2 0
4. Algoritmul Simplex 69

4.1.3. Metoda SIMPLEX

Metoda simplex este o procedură iterativă de rezolvare a problemelor de


programare liniară aduse la forma tabelară. Metoda simplex generează noi
soluţii fezabile de bază care cresc valoarea funcţiei obiectiv (sau cel puţin o lasă
neschimbată), prin generarea unor noi forme tabelare pentru sistemul de ecuaţii.
Atunci când nu se mai poate aduce nici o îmbunătăţire a fost atinsă soluţia
optimă.

Metoda simplex constă din 3 etape:


1. Găsirea celei mai mari valori pozitive pentru cj - zj. Aceasta va desemna
coloana pivot. Dacă nu există o astfel de valoare, atunci soluţia optimă a
fost deja găsită.
2. Pentru fiecare valoare pozitivă din coloana pivot se găseşte raportul:
(membrul drept)/(elementul corespunzător din coloana pivot).
Raportul minim stabileşte linia pivot. La intersecţia coloanei pivot cu linia
pivot se găseşte elementul pivot.
3. Se generează noua formă tabelară astfel:
(a) Se împarte linia pivot la elementul pivot;
(b) Pentru toate celelalte linii, se înmulţeşte noua linie generată la pct.
(a). prin elementul corespunzător din coloana pivot şi se extrage din
linia curentă.
(c) Se completează celulele tabloului şi se trece la pasul 1.

Pasul 1 al metodei simplex stabileşte variabila cu cea mai mare influenţă unitară
asupra funcţiei obiectiv. Pasul al 2-lea stabileşte care variabilă devine prima
zero pe măsură ce creşte variabila cu influenţa cea mai mare. Pasul al 3-lea
generează noul tablou cu variabila din pasul 1 înlocuind variabila stabilită la
pasul al 2-lea.

Procedura descrisă mai sus se aplică problemelor de maximizare. Pentru


problemele de minimizare putem proceda:
(1) multiplicând funcţia obiectiv cu -1 şi maximizând, sau
(2) schimbând pasul 1 astfel încât să se găsească cel mai negativ cj - zj şi
stop dacă n-a fost găsită o astfel de valoare.

Atunci când o problemă este scrisă direct în forma standard ea poate să nu


corespundă şi formei tabelare, deşi pot exista unele ecuaţii care să aibă
70 Cercetări operaţionale

coeficienţi egali cu +1 într-o ecuaţie şi egali cu 0 în celelalte. Pentru acele


ecuaţii care nu respectă această condiţie se adaugă o variabilă artificială căreia
i se asociază coeficientul -M, unde M este gândit ca un număr foarte mare
apropiat de infinit. Apoi se trece la efectuarea paşilor metodei simplex. Datorită
contribuţiei foarte mari per unitate a variabilei artificiale (-M), dacă problema
are un punct de optim, atunci valoarea variabilei artificiale va fi egală cu 0.

Observaţi că atunci când o variabilă artificială devine secundară ea poate fi


eliminată deoarece trebuie să fie egală cu 0 în orice soluţie fezabilă.

4.2. Problemă rezolvată

Fie următoarea problemă de programare liniară:

z = 2x1 + 3x2 + 4x3 → MAX


x1 + x2 + x3 ≤ 30
2x1 + x2 + 3x3 ≥ 60
x1 – x2 + 2x3 = 20
xj ≥ 0, j=1,2,3

a) Scrieţi problema în forma standard. Explicaţi de ce problema NU este


în forma tabelară.
b) Adăugaţi variabilele artificiale necesare pentru a obţine prima formă
tabelară şi corectaţi corespunzător funcţia obiectiv.
c) Rezolvaţi problema prin metoda simplex.
d) Ce schimbare ar trebui făcută astfel încât să urmăriţi minimizarea
funcţiei obiectiv?

M 4.2.1. Rezolvarea manuală

a). Pentru a aduce problema la forma standard se introduc variabilele de


compensare s1 şi s2, astfel încât restricţiile se transformă din inegalităţi în
egalităţi.
4. Algoritmul Simplex 71

z = 2x1 + 3x2 + 4x3 → MAX


x1 + x2 + x3 + s1 = 30
2x1 + x2 + 3x3 - s2 = 60
x1 – x2 + 2x3 = 20
xj ≥ 0, j=1,2,3

Această formă nu este şi tabelară deoarece în a 2-a şi a 3-a restricţie nu există


variabile cu coeficient +1 într-una singură şi coeficient 0 în celelalte.

b). Pentru a aduce problema la forma tabelară se adaugă variabilele artificiale


a1 pe linia a 2-a şi, respectiv, a2 în linia a 3-a. Funcţia obiectiv va fi şi ea
modificată prin adăugarea noilor variabile multiplicate cu coeficientul –M.
Astfel forma tabelară va fi:

x1 x2 x3 s1 s2 a1 a2
Bază cj 2 3 4 0 0 -M -M
s1 0 1 1 1 1 0 0 0 30
a1 -M 2 1 3 0 -1 1 0 60
a2 -M 1 -1 2 0 0 0 1 20
zj -3M 0 -5M 0 M -M -M -80M
cj-zj 3M+2 3 5M+4 0 -M 0 0

Deoarece a2 este o variabilă artificială şi va deveni o variabilă secundară, îi


vom abandona coloana.

c). Iteraţia a 2-a

x1 x2 x3 s1 s2 a1
Bază cj 2 3 4 0 0 -M
s1 0 1/2 3/2 0 1 0 0 20
a1 -M 1/2 5/2 0 0 -1 1 30
x3 4 1/2 -1/2 1 0 0 0 10
zj -(1/2)M+2 -(5/2)M-2 4 0 M -M -30M+40
cj-zj (1/2)M+2 (5/2)M+5 0 0 -M 0
72 Cercetări operaţionale

Iteraţia a 3-a

x1 x2 x3 s1 s2
Bază cj 2 3 4 0 0
s1 0 1/5 0 0 1 15/4 11
x2 3 1/5 1 0 0 -2/5 6
x3 4 3/5 0 1 0 -1/5 13
zj 3 3 4 0 -2 -30M+40
cj-zj -1 0 0 0 2

Iteraţia a 4-a

x1 x2 x3 s1 s2
Bază cj 2 3 4 0 0
s2 0 1/3 0 0 5/3 1 55/3
x2 3 1/3 1 0 2/3 0 40/3
x3 4 2/3 0 1 1/3 0 50/3
zj 11/3 3 4 10/3 0 320/3
cj-zj -5/3 0 0 -10/3 0

Astfel soluţia optimă este x1=0; x2=40/3, x3=50/3, s1=0, s2=55/3, iar valoarea
optimă este z=320/3.

d). Problema se poate transforma într-o problemă de minimizare prin


schimbarea valorii coeficienţilor variabilelor artificiale de la –M la +M.

X 4.2.2. Rezolvarea cu Microsoft Excel

Folosind enunţul problemei, se introduc datele in Microsoft Excel, după cum


a fost prezentat în lucrările de laborator anterioare. Astfel, datele problemei vor
fi trecute într-o foaie de calcul Excel ca în figura 4.1.
z = 2x1 + 3x2 + 4x3 → MAX
x1 + x2 + x3 ≤ 30
Constrângeri: 2x1 + x2 + 3x3 ≥ 60
x1 – x2 + 2x3 = 20
xj ≥ 0, j=1,2,3
4. Algoritmul Simplex 73

Fig. 4.1. Introducerea datelor in Excel


Spre deosebire de rezolvarea manuală, rezolvarea problemelor de programare
liniară cu ajutorul Microsoft Excel, nu presupune introducerea de variabile
suplimentare. Cunoscând modul de rezolvare a problemelor de programare
liniară cu Microsoft Excel, explicat în Aplicaţia nr. 2, urmăm paşii prezentaţi.

În celulele E4:E6 şi E8, se va introduce funcţia SUMPRODUCT,


calculându-se valorile pentru fiecare constrângere, şi pentru funcţia obiectiv.
Din meniul Data se apelează Solver-ul, şi în fereastra care va apare pe ecran se
vor trece: celula cu rezultatul funcţiei obiectiv (E8), celulele cu valori
schimbabile (celulele cu fond galben din figura 4.1 – B10:D10), precum şi tipul
(maximizare/minimizare) şi constrângerile problemei (Fig. 4.2).

Fig. 4.2 Apelarea Solver-ului şi introducerea constrângerilor


74 Cercetări operaţionale

Apăsarea butonului Solve, duce la rezolvarea problemei. Mai intâi se deschide


fereastra Solver Results şi din ea alegem Keep Solver Solutions şi dăm clic pe
Answer în secţiunea Reports. Se observă ca se obţin aceleaşi rezultate ca şi în
cazul rezolvării manuale. Excel-ul returnează valori doar pentru variabilele din
enunţul problemei (Fig. 4.3).

Fig. 4.3 Soluţia problemei dată de Excel

Q 4.2.3. Rezolvarea cu WinQSB

După selectarea modulului Linear and Integer Programming, în fereastra care


se va deschide selectăm din meniul File, opţiunea New Problem. Se vor
introduce datele generale ale problemei în fereastra roz, ca în figura 4.4.
4. Algoritmul Simplex 75

Fig. 4.4. Datele generale ale problemei


După introducerea datelor detaliate ale problemei, se selectează opţiunea Solve
the problem, din meniul Solve and Analyze (Fig. 4.5). Se observă că şi
WinQSB-ul returnează aceleaşi rezultate care au fost descoperite şi prin
celelalte metode (Fig 4.6).

Fig. 4.5Rezolvarea problemei

Fig. 4.6 Soluţia problemei


76 Cercetări operaţionale

S 4.2.4. Rezolvarea cu QM for Windows

Se selectează modulul – Linear Programming – din arborele modulelor sau


MODULE → Linear Programming (Fig. 4.7).

Fig. 4.7. Alegerea modulului “Linear Programming”


După ce datele au fost introduse, ca în figura 4.8, se dă clic pe butonul Solve,
pentru rezolvarea problemei cu setul de date introdus.

Fig. 4.8. Datele detaliate ale problemei

Dacă se vor urma paşii prezentaţi în lucrarea de laborator nr. 2, se va obţine


aceeaşi soluţie optimă pentru problemă, ca şi în cazul rezolvării prin celelalte
metode (Fig. 4.9).

Fig. 4.9. Soluţia problemei


4. Algoritmul Simplex 77

4.3 Aplicaţii
Să se rezolve următoarele probleme prin algoritmul simplex. Discutaţi soluţiile
găsite.
1. MAX 2x1 + 3x2 – x3 2. MAX 3x1 + 4x2 + 2x3
3x1 + 6x2 ≤ 30 x1 + x2 + x3 ≤ 50
4x1 + 2x2 + x3 ≤ 20 2x1 + 3x2 – x3 ≤ 30
x2 + x3 ≤ 10 xj ≥ 0, j=1,2,3
xj ≥ 0, j=1,2,3
3. Fie următoarea problemă:
MIN 2x1 – 3x2 – 4x3
x1 + 2x2 + x3 ≥ 5
3x2 + 2x3 ≤ 12
xj ≥ 0, j=1,2,3
a) Aduceţi problema la forma standard;
b) Rezolvaţi problema prin metoda simplex.
4. Max z= 2x1 + x2 -3x3 5. Max z= 3x1 + 5x2
x1 + 2x2 – x3 ≤ 11 -2x1 + 2x2 + s1 = 1
x1 - x2 –1,5x3 = -1 3x1 - x2 + s2 = 2
-2x1 - 3x2 + 3x3 ≥ 8 x1, x2, s1, s2 ≥ 0
x1 ≥ 0
x2 ≤ 0
x3 – nerestricţionat
6. Min z= x1 + 4x2 7. Max z= 2x1 + 3x2 + x3
3x1 + x2 + s1 = 10 -x1 - x2 – x3 = -10
x1 + x2 + s2 = 2 2x1 - x2 + 3x3 ≥ 5
x1 + 2x2 + s3 = 16 x1 + x2 ≤ 8
x1, x2, s1, s2, s3 ≥ 0 x1, x2, x3 ≥ 0
8. Min z= 2x1 + 2x2 -x3 9. Max z= 2x1 + 5x2 + 4x3 + 3x4
-x1 + x2 – x3 ≤ -16 20x1 + 25x2 + 30x3 + 15x4 ≤
2x1 - 2x3 ≥ 30 900
x1 + 2x2 ≥ 8 20x1 + 20x2 + 12x3 + 10x4 ≤
x1, x3 ≥ 0 900
x2 ≤ 0 x1 ≥ 5
x3 ≥ 3
x1, x2, x3, x4 ≥ 0
78 Cercetări operaţionale

10.Max z= 3x1 + x2 +3x3


2x1 + x2 + x3 ≤ 2
x1 + 2x2 + 3x3 ≤ 5
2x1 + 2x2 + x3 ≤ 6
x1, x2, x3 ≥ 0
11.Fie următoarea problemă de programare liniară:
MAX 4x1 + 3x2
x1 ≤ 6
2x1 + 3x2 ≤ 6
-x1 + x2 ≤ 4
xj ≥ 0, j=1,2
a) Rezolvaţi grafic problema;
b) Rezolvaţi problema şi cu ajutorul algoritmului simplex şi indicaţi
punctele de pe grafic corespunzătoare fiecărui tabel;
c) De ce la selectarea variabilei de intrare o alegeţi pe cea care are cea
mai mare diferenţă cj – zj?
12.Fie problema următoare:
MAX 2x1 + 5x2
X1 + x2 ≤ 10
-x1 + x2 ≤ 6
x1 + 2x2 ≤ 16
x1, x2 ≥ 0
a) Rezolvaţi problema grafic;
b) Rezolvaţi problema prin metoda simplex.
13.Fie problema de programare liniară:
MAX 2x1 + 3x2 + 4x3
x1 + x2 + x3 ≤ 30
2x1 + x2 + 3x3 ≥ 20
x1 – x2 + 2x3 = 20
xj ≥ 0, j=1,2,3
a) Scrieţi problema în forma ei standard;
b) Adăugaţi variabilele artificiale pentru a obţine forma tabelară şi
corectaţi corespunzător funcţia obiectiv;
c) Rezolvaţi problema prin metoda simplex;
4. Algoritmul Simplex 79

14.Rezolvaţi problema de mai jos prin metoda simplex.


MAX 3x1 – x2 + 2x3
X1 + 2x2 + x3 = 14
2x1 + 3x2 ≤ 18
x1 ≥ 6
xj ≥ 0, j=1,2,3

Rezolvaţi cu ajutorul metodei grafice şi apoi cu algoritmul simplex următoarele


probleme de programare liniară:
15. Max 3x1 + 2x2 16. Max 2x1 + 4x2
-x1 + 2x2  0 -x1 + 2x2  -4
6x1 + 4x2  12 2x1 + x2  3
x1, x2  0 x1, x2  0
17. Max 3x1 + 3x2 18. Max 2x1 + 4x2
4x1 + 2x2  -8 x1 + 2x2  4
x1 - x2  1 2x1 + x2  3
x1, x2  0 x1, x2  0
19. Max 3x1 + 2x2 20. Min 3x1 + 2x2 + 4x3
x1 + x2  4 x1 + x2 = 4
2x1 + x2  6 2x2 + x3  8
x1, x2  0
Rezolvaţi cu ajutorul algoritmului simplex următoarele probleme de
programare liniară:
21. Max 6x1 + 4x2 + 4x3 22. Max 4x1 + 4x2 + 6x3
x1 + x2 + x3  10 6x1 + 2x2 + 3x3  12
3x1 + x2  12 -6x1 + 10x2 + 12x3  20
2x2 + 4x3  8 x1 + x2 + x3  6
x1, x2, x3  0 x1, x2, x3  0

23.O companie produce ventilatoare, cuptoare şi uscătoare pentru a le


comercializa. Contribuţia netă pentru aceste produse este estimată să fie:

Produs Contribuţia
Ventilator 210
Cuptor 170
Uscător 45
80 Cercetări operaţionale

Fiecare din aceste produse necesită timp de procesare în departamentele de


fabricaţie, asamblare şi testare, după cum este prezentat mai jos:

Timp de lucru necesar (în ore)


Produs
Fabricaţie Asamblare Testare
Ventilator 3 3 1
Cuptor 4 2 0.75
Uscător 1 0.5 0.5

Totalul orelor disponibile pentru procesare în cele trei departamente în


săptămânile următoare sunt estimate a fi:

Departamentul Ore disponibile pentru activitate


Fabricaţie 400
Asamblare 350
Testare 200

Utilizând metoda simplex, determinaţi graficul de producţie pentru


săptămânile următoare care maximizează totalul contribuţiei nete.
24.Fiind dată forma tabelară de mai jos:
X1 X2 X3 S1 S2 S3
Baza 4 2 -1 0 0 0
cj
0 1 -1 6 0 1 10
0 0 4 2 1 1 20
1 0 0 -3 0 1 30
zj
cj - z j

a) Completaţi tabelul;
b) Care este soluţia curentă de bază?
c) Care este efectul asupra funcţiei obiectiv în următoarele cazuri?
i) x3 este incrementat cu 1;
ii) x3 este incrementat cu 3;
iii) s1 este incrementat cu 1,5
iv) s3 este incrementat cu 2
4. Algoritmul Simplex 81

d) Care este variabila de intrare? Scrieţi ecuaţiile corespunzătoare


ştiind că toate variabilele suplimentare, exceptând variabila de
intrare sunt egale cu zero;
e) Explicaţi de ce variabila de intrare nu poate fi incrementată cu 10 la
această iteraţie;
f) La ce valoare va creşte variabila de intrare;
g) Cât de mult se va îmbunătăţi funcţia obiectiv în următorul tabel?
Utilizând ecuaţiile din (d) care va fi valoarea următoarelor variabile
curente de bază?
25.Compania “Raybold Petroleum” cumpără ţiţei din trei surse distincte.
Costul, capacităţile şi caracteristicile celor trei surse sunt oarecum diferite,
aşa cum este arătat mai jos:
Proporţia
Capacitate
Cost pe maximă
anuală
Sursa baril Nivel benzină,
[mii barili]
[u.m.] %
Tiţei Soamer 43 12000 70 45
Ţiţei Northslope 52 5000 85 50
Ţiţei Mideast 60 20000 90 55

Raybold estimează că este necesar să cumpere 20 milioane de barili de ţiţei


în timpul anului următor, şi doreşte să determine programul de cumpărare
care are cel mai mic cost. Decizia care se ia se bazează pe necesitatea ca
media nivelului de ţiţei cumpărat să fie mai mică decât 80 şi cantitatea totală
de ţiţei trebuie să deţină cel puţin 50% benzină. În plus, compania este
obligată, sub contract, să cumpere o cantitate minimă de 5 milioane de barili
de “ţiţei Mideast”. Determinaţi costul minim al programului de cumpărare.
26.O companie care produce oţel, are două mine de exploatare a zăcămintelor
de fier, situate în Minnesota şi Virginia de West. Este necesar un total de
50000 tone de zăcământ de fier pe săptămână de la aceste mine. Capacităţile
săptămânale ale minelor şi costurile pe tonă de livrare spre întreprinderile
de prelucrare sunt date în tabelul de mai jos:

Mina Capacitate Cost


(tone/săptămână) (u.m./tonă)
Petrila Est 35000 87
Petroşani 32000 69
82 Cercetări operaţionale

Zăcământul de minereu de fier la întreprinderea de prelucrare trebuie să


conţină cel puţin 45% fier şi cel mult 1.3% sulf. Procentajele de fier şi sulf
ale zăcămintelor celor două mine sunt:

Mina Procent fier Procent sulf


Petrila Est 43.0 1.1
Petroşani 67.0 1.4

Formulaţi modelul de programare liniară şi determinaţi cantitatea de fier de


la fiecare mină astfel încât costurile să fie minime.
27.O companie care produce fertilizatori, consideră că este mai important
producerea unui nou fertilizator care trebuie să conţină mai mult decât o
cantitate exactă de nitrogen, potasiu şi fosfat pe kilogram. Combinaţia
specificată conţine minimum 15% din fiecare din ingredientele mai sus
menţionate. Compania consideră patru ingrediente cu care să realizeze
produsul. În tabelul de mai jos se află procentele din kilogram al fiecărui
element chimic necesar, precum şi costul pe kilogram al fiecărui ingredient.

1 2 3 4
Potasiu 40 6 1 10
Nitrogen 2 20 4 6
Fosfat 5 3 30 15
Preţ pe kilogram (u.m.) 0.30 0.60 0.15 0.20

Formulaţi modelul de programare liniară care va determina cantitatea


minimă necesară din cele trei elemente prin combinarea celor patru
ingrediente.
28.O companie cumpără petrol brut din 3 surse: Orientul Mijlociu, Marea
Nordului şi Rusia. Costul de transport este dat în tabelul de mai jos.
Compania doreşte să cumpere petrol care să deţină cel puţin 50% benzină,
un procentaj de sulf de minim 60% şi indicatorul alfa să aibe cea mai mică
valoare de 7.
4. Algoritmul Simplex 83

Proporţie Proporţie
Cost Indicato-
Sursa benzină sulf
[u.m.] rul alfa
[%] [%]
Orientul mijlociu 3 80 40 2
Marea Nordului 5 60 60 4
Rusia 7 40 20 12

Determinaţi modul în care trebuie să realizeze achiziţiile compania astfel


încât să-şi minimizeze costurile, ţinând cont de restricţiile considerate.
Precizaţi costul total. Modul de rezolvare este următorul: Transcrieţi
problema în forma standard; Rezolvaţi problema prin metoda algoritmului
Simplex.
29.O companie metalurgică doreşte să producă un produs nou pentru care are
nevoie de zăcăminte de minereu din trei zone: A, B şi C. Costul fiecărui
zăcământ de minereu este prezentat în tabelul de mai jos. Minereul care se
foloseşte trebuie să conţină minim 30% cupru, cel puţin 50% zinc şi
coeficientul beta trebuie să fie egal cu 23. În tabelul de mai jos sunt
prezentate cantităţile de cupru şi aluminiu conţinute de fiecare din cele 3
minereuri, precum şi coeficienţii beta aferenţi acestora.
Cost Indicato-
Sursa Cupru [%] Zinc [%]
[u.m.] rul beta
A 10 50 30 20
B 30 60 60 15
C 20 90 90 30

Determinaţi planul de achiziţie al companiei, pentru a minimiza costurile,


în condiţiile date. Modul de rezolvare este următorul: Transcrieţi problema
în forma standard; Rezolvaţi problema prin metoda algoritmului Simplex.
30.O companie a contractat producerea de locuinţe într-o localitate. Compania
trebuie să ia o decizie referitoare la angajarea în echipa de finisare a unuia
sau mai multor ucenici de zugravi (8 ore pe zi) sau să angajeze unul sau mai
mulţi zugravi cu normă redusă (5 ore pe zi). Pentru ucenici compania
plăteşte 4 u.m. pe oră, în timp ce pentru zugravii angajaţi cu normă redusă,
plăteşte 9 u.m. pe oră. Compania doreşte să cheltuiască suplimentar cel mult
26 u.m. pe zi şi să nu folosească mai mult de 17 ore suplimentare pe zi.
Analiza profitului indică faptul că fiecare zugrav cu normă redusă va mări
profitul cu 3 u.m. pe zi, iar fiecare ucenic de zugrav cu 4 u.m. pe zi. Câte
persoane va angaja compania astfel încât profitul să fie maxim.
84 Cercetări operaţionale

31.Administratorul unei herghelii de cai doreşte să stabilească un regim


alimentar pentru caii pe care îi are în îngrijire. În acelaşi timp, doreşte să
menţină costurile cu întreţinerea animalelor la un nivel cât mai mic.
Mixurile alimentare disponibile pentru hrana cailor sunt pe bază de ovăz,
grâu şi produse minerale. Fiecare din aceste mixuri conţin cantităţi diferite
din 5 ingrediente necesare pentru hrana zilnică a animalelor. Tabelul
următor conţine cantitatea minimă necesară din fiecare ingredient per
kilogram de amestec, precum şi costurile celor 3 mixuri alimentare.

Mixul alimentar
Cu
Cantitatea
Ingrediente Cu ovăz Cu grâu produse
minimă
[kg.] [kg.] minerale
necesară
[kg.]
A 2 3 1 6
B ½ 1 ½ 2
C 3 5 6 9
D 1 1½ 2 8
E ½ ½ 1½ 5
Cost per kg. 9 u.m. 14 u.m. 17 u.m.

În plus, proprietarul grajdului este conştient că un cal hrănit prea mult se


mişcă mai greu. În consecinţă, el consideră că 6 kg. de hrană pe zi sunt
maximul pe care trebuie să le primească un cal pentru a funcţiona corect.
Care este amestecul optim dintre aceste 3 mixuri alimentare?
32.Proprietarul unei ferme doreşte să crească vite, pe care după ce le îngraşă să
le trimită la procesatorii de carne. El vrea să găsească ce cantităţi de nutreţ
să cumpere astfel încât standardele minime de nutriţie să fie îndeplinite, şi
în acelaşi timp, costurile să fie minime.
Mixurile alimentare care pot fi achiziţionate sunt compuse din 3 tipuri de
grâne care conţin următoarele ingrediente (per kg de hrană).

Mixuri alimentare
Ingredient
Mixul X Mixul Y Mixul Z
A 3 2 4
B 2 3 1
C 1 0 2
D 6 8 4
4. Algoritmul Simplex 85

Costurile per kilogram pentru mixurile X,Y şi Z sunt 2 u.m., 4 u.m şi


respective 2,5 u.m. Cantităţile minime de nutrienţi pe lună pentru o vacă
sunt: 4 kg din ingredientul A, 5 kg din ingredientul B, 1 kg din ingredientul
C şi 8 kg din ingredientul D.
Fermierul se confruntă cu încă o constrângere: cantitatea maximă din mixul
Z pe care o poate achiziţiona într-o lună este de 500 de kg. Având în vedere
că are 100 de vaci, înseamnă că nu poate conta pe mai mult de 5 kg de mix
Z pentru hrănirea unei vaci pe lună. Formulaţi problema ca o problemă de
programare liniară şi rezolvaţi-o.
33.Fiind dată forma tabelară de mai jos:
X1 X2 X3 S1 S2 S3
Baza cj 6 3 5 0 0 0
X3 5 0 1 1 1 0 3 5
X1 6 1 -3 0 0 0 1 12
S2 0 0 2 0 1 1 -1 10
zj 6 -13 5 5 0 21 97
cj - z j 0 16 0 -5 0 -21
a) Completaţi tabelul;
b) Care este soluţia curentă de bază?
c) Găsiţi soluţia optimă rezolvând problema prin algoritmul Simplex.
34.Un mic atelier de mobilă produce 3 tipuri de mese A, B şi C. Fiecare model
necesită un anumit timp pentru tăierea părţilor component, pentru asamblare
şi pentru vopsire. Atelierul poate să vândă toate produsele pe care le fabrică
şi mai mult, poate vinde modelul C şi nevopsit. Atelierul are câţiva angajaţi
care lucrează în regim part-time, astfel timpul disponibil variază de la o lună
la alta. Folosiţi datele din tabelul de mai jos pentru a formula o problemă de
programare liniară care va ajuta conducerea atelierului să determine ce
cantitate din fiecare produs să fabrice pentru a-şi maximiza profitul.
Model Decupare Asamblare Vopsire Profit unitar
(ore) (ore) (ore) (um)
A 3 4 5 25
B 1 2 5 20
C 4 5 4 50
C nevopsit 4 5 0 30
Capacitate 150 200 300
86 Cercetări operaţionale

35.Un mic atelier de tamplărie, în care se lucrează 25 de ore pe săptămână


produce trei produse: A, B şi C. Beneficiul obţinut în urma vânzării acestor
produse este de 40 lei/buc pentru produsul A, respectiv 120 lei/buc pentru
produsul B şi 30 lei/buc pentru produsul C. Într-o oră atelierul poate realiza
50 buc din produsul A, 25 buc din al doilea produs sau 75 buc din produsul
C. Cererea săptămânală nu depăşeşte 1000 buc din produsul A, 500 buc din
produsul B, 1500 buc din al treilea produs. Cum trebuie repartizată
producţia celor trei articole pentru ca atelierul să-şi asigure un beneficiu
maxim?

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