Documente Academic
Documente Profesional
Documente Cultură
În acest capitol vom prezenta câteva idei fundamentale din domeniul matematic
numit "Optimizare Liniară". Acesta este de fapt un subdomeniu al unui domeniu
(imens!!) al matematicii aplicate, numit "Cercetări Operaţionale". Introducerea
conceptelor şi metodelor utilizate în programarea liniară se va face prin studierea unor
exemple de probleme practice, evitând o dezvoltare teoretică sofisticată.
Problema 1. Un mic producător fabrică două bunuri, A şi B, pentru care foloseşte două
maşini. Numărul de ore necesar fabricării fiecărui produs şi capacitatea de funcţionare a
maşinilor sunt trecute în tabelul de mai jos.
A B capacitatea de funcţionare
maşina 1 2h 3h 12 h
maşina 2 2h 1h 8h
Problema 2. Un client al unei firme doreşte fabricarea unei cantităţi mari de produse de
tip A şi de tip B în decursul unei luni. Clientul este dispus să plătească 138 u.m pentru o
serie de 100 de produse A şi 136 u.m. pentru o serie de 100 de produse B. Fabricarea
acestor produse A şi B necesită o trecere prin trei ateliere M1, M2 şi M3, conform
tabelului de mai jos.
[max] f = 50 x + 30 y
2 x + y 200
x + 4,5 y 540
4 x + 3 y 480
x, y 0
Problema 3. Un agent economic are în plan fabricarea în total a cel puţin 100 de
produse A, B şi C. Pentru aceasta se foloseşte o materie primă cu rezerve limitate la 300
de unităţi. Consumurile specifice ale celor trei tipuri de produse sunt de 2, 3 şi respectiv
1 unităţi de materie primă pentru fiecare unitate de produs finit. Condiţiile speciale de
depozitare impun ca din produsele A şi C să nu se producă mai mult de 50 de unităţi
(împreună). Cum produsele A şi B sunt mai căutate pe piaţă se urmăreşte aplicarea unui
plan de producţie care să conducă la obţinerea unei cantităţi cât mai mari din aceste
produse. Determinaţi planul optim de producţie şi interpretaţi-l din punct de vedere
economic.
Modelul matematic: Notăm cu x, y, z cantităţile de produse A, B respectiv C care
trebuie fabricate. Obţinem:
[max] f = x + y
x + y + z 100
2 x + 3 y + z 300
x + z 50
x, y , z 0
Ştiind că cerinţele unui spital sunt de exact 100 de unităţi de vitamină C şi cel puţin 80
de unitaţi de vitamină B1, determinaţi ce cantitate de medicamente din fiecare tip trebuie
preparată astfel încât costul total să fie minim.
Modelul matematic: notăm cu x, y, z cantităţile respective de medicamente. Se obţine:
[min] f = 10 x + 20 y + 15 z
3x + 2 y + 3z = 100
3x + 4 y + 2 z 80
x, y , z 0
Problema 5. Pentru fertilizarea terenului un fermier are nevoie (pentru un hectar) de cel
puţin 80kg potasiu, cel puţin 30 kg de calciu şi cel puţin 20 kg de sodiu. El poate alege
între două tipuri de îngrăşăminte. Într-un pachet de tipul I intră 1 kg de potasiu şi 1 kg
de calciu iar într-un pachet de tipul II intră 2 kg de potasiu şi 1 kg de sodiu. Ştiind că un
pachet costă 1 u.m., indiferent de tip, determinaţi numărul de pachete pe care trebuie să
le cumpere fermierul astfel încât costul total să fie minim.
Model matematic: fie x şi y numărul de pachete necesare, din primul şi respectiv al
doilea tip. Se obţine:
[min] f = x + y
x + 2 y 80
x 30
y 20
x, y 0
Alimente
A B C D E
Vitamine
V1 1 2 1 3 0
V2 0 1 0 3 1
V3 1 1 0 2 2
Preţ unitar 2 8 4 70 10
[max] f = 60 x + 100 y
3x + 2 y 180
6 x + 10 y 400
x, y 0
Problema 10. O rafinărie are doi furnizori de petrol brut. Petrolul de calitatea A costă
35$ barilul iar cel de calitatea B costă 30$ barilul. Rafinăria produce trei categorii de
combustibili din petrolul brut cumpărat, C1, C2, C3, cantităţile produse dintr-un baril
fiind date mai jos.
C1 C2 C3
A 0,3 0,2 0,3
B 0,3 0,4 0,2
[min] f = 35 x + 30 y
0,3 x + 0,3 y 900.000
0, 2 x + 0, 4 y 800.000
0,3 x + 0, 2 y 500.000
x, y 0
[max] f = 0, 07 x + 0, 08 y + 0, 09 z
x + y + z = 30
x3
y3
z3
x + y 15
y 2x
x, y , z 0
Problema 13. O filială a bancii Bank of America este foarte solicitată, având nevoie
zilnic de între 10 şi 18 funcţionari, depinzând de orele zilei. La ora prânzului, între 12 şi
14, este de obicei cel mai aglomerat. Tabelul de mai jos arată numărul de lucrători
necesari în diferite momente ale zilei.
Banca dispune de 12 funcţionari full-time dar are la dispoziţie şi multe persoane care
doresc să lucreze part-time. Un angajat part-time trebuie să lucreze timp de 4 ore zilnic
(fără pauză) dar poate începe lucrul la orice oră (exactă) de la 9 la 13. Angajaţii part-
time primesc salarii mai mici pe oră, conform legislaţiei în vigoare. Angajaţii full-time
lucrează de la 9 la 17 dar primesc o oră liberă pentru prânz. Jumătate din ei pleacă la
masă la 11 iar cealaltă jumătate la ora 12. În conformitate cu politica sa, banca limitează
numărul total de ore de muncă ale angajaţilor part-time la 50% din necesarul de ore de
muncă zilnic. Un angajat part-time primeşte în medie 24$ zilnic iar un angajat full-time
primeşte în medie 75$ pe zi. Banca intenţionează să minimizeze cheltuielile totale
zilnice cu angajaţii chiar dacă este necesar să concedieze unul sau mai mulţi angajaţi
full-time. Care este varianta optimă de organizare ?
Modelul matematic: notăm cu x numărul de angajaţi full-time şi cu y, z, t, u, v numărul
de angajaţi part-time corespunzători respectiv perioadelor de timp (de câte 4 ore) 9-13,
10-14, 11-15, 12-16 şi 13-17. Condiţiile din enunţ conduc la următorul model
matematic:
[min] f = 75 x + 24 y + 24 z + 24t + 24u + 24v
x + y 10
x + y + z 12
0.5 x + y + z + t 14
0.5 x + y + z + t + u 16
x + z + t + u + v 18
x + t + u + v 17
x + u + v 15
x + v 10
x 12
4 y + 4 z + 4t + 4u + 4v 56
x, y , z , t , u , v 0
Alte exemple, inclusiv probleme foarte complicate din practică, din diferite
domenii economice, le puteţi găsi în bibliografia indicată pentru cei care doresc să
înveţe în plus faţă de cât se cere la examen.
http://www.zweigmedia.com/RealWorld/simplex.html
Faceţi click pe "Example" ca să vedeţi cum se introduc datele. Apoi pe "Solve" şi veţi
vedea valoarea optimă a funcţiei obiectiv (notată cu p acolo) şi soluţia optimă (adică
valorile variabilelor x, y, etc.) în căsuţa deasupra căreia scrie "Solution". Atenţie,
algoritmul prin care se construiesc tabelele de acolo diferă de algoritmul simplex clasic,
care va fi prezentat în secţiunile următoare. Versiunile profesionale de astfel de softuri
pot fi programate astfel încât să construiască tabelele simplex clasic. Versiunea aceasta
gratuită nu calculează soluţia multiplă, dacă există, nu pune în evidenţă variabilele
artificiale etc. (vezi secţiunile următoare).