CAPITOLUL I PROGRAMARE LINIARA. Forma geerală a uei probleme de programare liiară Problemele de maim şi de miim apar frecvet î cele mai diferite domeii ale matematicilor pure sau aplicate.î domeiul ecoomic, asemeea probleme sut foarte aturale. Astfel, firmele îcearcă să maimizeze profiturile sau să miimizeze costurile. Eperţii î plaificare macroecoomică se preocupă de maimizarea buăstării uei comuităţi ecoomico-sociale. Cosumatorii doresc să cheltuiască veitul lor îtr-u mod care să le maimizeze satisfacţia (de atură materială dar şi spirituală etc.) Programarea liiară se ocupă de o clasă specială de probleme de optimizare care apar deseori î aplicaţiile ecoomice. Aceste probleme costau î maimizarea sau miimizarea uei fucţii liiare, umită fucţie obiectiv, ale cărei variabile trebuie să satisfacă: u sistem de relaţii date sub forma uor ecuaţii şi / sau iecuaţii liiare estricte, deumite geeric restricţii; ceriţa de a lua umai valori umerice eegative ( 0).. Eemple ) Problema firmei. Cosiderăm u sistem de producţie, de eemplu o firmă, care produce buuri G,G 2,...,G utilizâd petru aceasta m categorii de resurse R,R 2,...,R m (materii prime, forţă de mucă, capacităţi de producţie, combustibili şi eergie etc.). Adoptăm ipoteza că tehologia de trasformare a resurselor î buuri este liiară î sesul că: Petru fiecare bu, cosumul ditr-o aumită resursă este direct proporţioal cu catitatea produsă. Cosumurile ditr-o resursă sau alta u se codiţioează reciproc. Fie atuci a i catitatea di resursa i utilizată petru producerea uei uităţi di buul G. Fie deasemei b i catitatea dispoibilă di resursa R i şi c preţul (sau profitul) uitar al buului G.
2 I. PROGRAMARE LINIARA Preţul uui bu u depide de catitatea produsă şi ici de situaţia vâzărilor celorlalte buuri. Problema costă î determiarea uui program de fabricaţie care să maimizeze veitul (sau profitul) firmei. Să otăm cu catitatea di buul G care urmează a fi produsă. Problema euţată mai îaite devie: Să se găsească valorile umerice, 2,..., care maimizează fucţia: cu satisfacerea restricţiilor: şi a codiţiilor de eegativitate: f = c + c + + c 2 2... a + a + L + a b a + a + L + a b LLLLLL am + am22 + L + am b 2 2 2 22 2 2 2 m, 2,L Observaţie: Ipotezele de liiaritate făcute u sut verificate îtotdeaua î practică. Raţiuea lor este dublă: coduc la modele matematice î geeral simple; pe baza modelelor liiare se pot formula cocluzii calitative şi legităţi ecoomice care îşi meţi valabilitatea - î aumite limite - şi îtr-u cotet eliiar. 2) Problema dietei a deveit o ilustrare clasică a programării liiare, fiid îtâlită î mai toate tetele de specialitate. Ea se ocupă cu hrăirea uei colectivităţi, să zicem u grup de militari, î cel mai ecoomic mod cu codiţia satisfacerii aumitor ceriţe de utriţie. Mai cocret, este vorba de a prepara u alimet comple porid de la sortimete de hraă F,F 2,...,F. U umăr de elemete sau pricipii utritive N,N 2,...,N m - proteie, glucide, grăsimi
. Forma geerală a uei probleme de programare liiară 3 calciu,etc. sut avute î vedere î sesul că alimetul combiat trebuie să coţiă cel puţi b,b 2,...,b m uităţi specifice di fiecare. Să presupuem cuoscute următoarele: catitatea a i di pricipiul utritiv N i coţiută îtr-o uitate di tipul de hraă F ; preţul uitar c al tipului de hraă F. Notăm cu, 2,..., catităţile di felurile de hraă F,F 2,...,F care trebuie cumpărate î vederea elaborării dietei. Formal,, 2,..., vor trebui determiate astfel îcât: costul f = c + c22 +... + c al alimetelor cumpărate să fie miim. amestecul să coţiă pricipiile utritive N,N 2,...,N m î catităţi cel puţi egale cu b,b 2,...,b m, adică: a + a2 2 +... + a b a2 + a22 2 +... + a2 b2... am + am22 +... + am b, 2,..., Di ou au fost tacit utilizate ipotezele de liiaritate îtâlite şi î modelul precedet. m.2 Soluţii admisibile ale uei probleme de programare liiară Cosiderăm o problemă de programare liiară (P) cu m restricţii egalităţi şi/sau iegalităţi estricte, variabile şi cu fucţia obiectiv f. U asamblu de valori umerice care satisfac restricţiile se va umi soluţie a programului (P). Dacă î plus sut verificate şi codiţiile de eegativitate, asamblul se umeşte soluţie admisibilă. O soluţie admisibilă care maimizează sau miimizează - după caz - fucţia obiectiv se va umi soluţie optimă. Notâd cu A mulţimea soluţiilor admisibile, problema (P) se scrie:
4 I. PROGRAMARE LINIARA Să se determie * A cu proprietatea: f( * ) = ma sau mi f ( ) A Este posibil ca (P) să aibe soluţii dar ici ua di ele să fie admisibilă: A =. Spuem î acest caz că problema (P) este icompatibilă.chiar dacă A, este posibil ca fucţia obiectiv să fie emărgiită pe A, adică să eiste u şir de soluţii admisibile dealugul căruia fucţia obiectiv să tidă spre + sau -, după caz. Î această situaţie vom spue că (P) are optim ifiit.dacă (P) are (cel puţi) o soluţie optimă, zicem că (P) are optim fiit. Deoarece evetualele restricţii iegalităţi sut estricte mulţimea A este ichisă (î topologia uzuală a spaţiului R ), adică o dată cu u şir coverget de pucte coţie şi limita acestuia. Această proprietate este eseţială petru eisteţa uei soluţii optime a problemei (P)! Coform uui rezultat clasic al aalizei matematice, dacă A este mărgiită, atuci f îşi atige efectiv etremele pe A, şi deci (P) are optim fiit. Î coseciţă, dacă (P) are optim ifiit, cu siguraţă A este emărgiită. Reciproca u este î geeral adevărată: este posibil ca A să fie emărgiită şi totuşi (P) să aibe optim fiit..3 Forma caoică a uei probleme de programare liiară O restricţie a uei probleme (P) de programare liiară se zice cocordată dacă este o iegalitate de tipul " " câd fucţia obiectiv se maimizează şi de tipul " " câd fucţia obiectiv se miimizează.o restricţie iegalitate care u este cocordată se va umi ecocordată. Restricţiile egalităţi u fac obiectul acestei clasificări. Spuem că o problemă de programare liiară este î formă caoică dacă toate restricţiile ei sut iegalităţi cocordate. Î coseciţă, o problemă î formă caoică de maimizare arată astfel: ai bi i =,..., m = =,..., (ma) f = c = sau matricial A b (ma) f = c ude:
. Forma geerală a uei probleme de programare liiară 5 a a2 L a b a a a b A = 2 22 L 2 b = 2 = 2 M M L M M M am am2 L am bm c= [ c c2 L c ] O problemă î formă caoică de miimizare se va scrie: ai bi = (mi) f = c = A b (mi) f = c De eemplu, problema firmei (., eemplul )) este o formă caoică de maimizare î timp ce problema dietei (., eemplul 2)) este o formă caoică de miimizare. Orice problemă de programare liiară se poate pue sub o formă caoică de maimizare sau miimizare, fără modificarea mulţimii soluţiilor admisibile, observâd că: o egalitate se poate îlocui cu două iegalităţi de ses cotrar; o restricţie ecocordată devie cocordată pri îmulţire cu -; putem schimba sesul optimizării fucţiei obiectiv, graţie formulei geerale: [ f ] f mi = A ( ) ma A ( ) (.3.) Î coseciţă, putem face aumite raţioamete teoretice pe o formă caoică, ca de eemplu î teoria dualităţii liiare, fără ca pri aceasta să restrâgem geeralitatea. Eemplul.3.
6 (ma) f = 2 3 + 4 32 + 53 = 3 3 + 2 5 2 + 3 0, 2, 3 2 3 I. PROGRAMARE LINIARA (mi)( f ) = 2 + 32 43 + 32 53 3 + 32 53 3 3 + 2 5 2 3 0, 2, 3 Programul (P) Forma caoică de miimizare a programului (P).4 Forma stadard a uei probleme de programare liiară Spuem că o problemă de programare liiară este î formă stadard dacă toate restricţiile ei sut egalităţi. Importaţa acestei forme particulare rezultă di faptul că metoda de rezolvare a problemelor de programare liiară care va fi epusă mai departe cere ca problema să fie î această prezetare. Î coseciţă, o problemă (P) care are şi restricţii iegalităţi va fi îlocuită - î vederea rezolvării ei - cu o alta î care toate restricţiile sut egalităţi. Noua problemă, umită forma stadard a problemei (P) şi otată (FSP), se costruieşte astfel: O restricţie iegalitate di problema origială (P) de tipul " " (respectiv de tipul " ") se trasformă î egalitate pri adăugarea (respectiv pri scăderea) uei variabile eegative di membrul său stâg. Restricţiile iegalităţi u se modifică. Noile variabile itroduse u apar î fucţia obiectiv a problemei origiale (alterativ, spuem că ele apar cu coeficieţi uli) Eemplul.4. (ma) f = 7 + 9 + 8 5 + 2 2 3 4 ( P) 3 + 2 + 3 = 5 + 22 + 33 9, 2, 3 2 3 (ma) f = 7 + 92 + 83 5 + 22 3 4 = 4 ( FSP) 3 + 2 + 3 = 5 + 22 + 33 + 5 = 9, =,..., 5
. Forma geerală a uei probleme de programare liiară 7 Problema care apare î acest cotet este aceea de a eplica modul î care se obţie soluţia optimă a problemei (P) dacă se cuoaşte soluţia optimă a formei sale stadard (FSP). Se poate arăta uşor că ître mulţimile de soluţii admisibile A P,ale problemei (P) şi A FSP, ale problemei (FSP), eistă o corespodeţă biectivă care coservă soluţiile optime. Vom arăta cum fucţioează această corespodeţă pe eemplul precedet. Notâd-o cu Φ, aceasta va asocia uei soluţii admisibile = (, 2, 3) a problemei (P) vectorul: Φ( ) = (,,, 5 + 2 4, 9 2 3 ) 2 3 2 3 2 3 care pri costrucţie se dovedeşte a fi o soluţie admisibilă a problemei (FSP). Reciproc, uei soluţii admisibile ~ = ( ~, ~, ~, ~, ~ 2 3 4 5) a problemei (FSP) corespodeţa iversă Φ - îi asociază vectorul ( ~, ~, ~ ) care satisface î mod 2 3 clar restricţiile problemei origiale (P). Dacă este soluţia optimă a problemei (P) atuci Φ( ) este soluţia optimă a problemei (FSP) şi reciproc, dacă cuoaştem soluţia optimă ~ a problemei (FSP), Φ ( ~ ) reprezită soluţia optimă a problemei (P). Î problemele cocrete, variabilele de abatere au iterpretări ecoomice precise aşa că î aaliza soluţiei optime valorile lor vor fi luate î cosiderare laolaltă cu valorile variabilelor origiale. Astfel, î problema firmei (., eemplul)) variabilele de abatere +, +2,..., +m defiite pri: = b a i =,...,m + i i i = reprezită catităţi de resurse ecosumate şi pri urmare cuoaşterea valorilor lor î soluţia optimă oferă idicaţii utile î aaliza modului î care sut utilizate resursele firmei: materii prime, capacităţi de producţie, forţă de mucă, etc. Î problema dietei (.,eemplul 2)) variabilele de abatere: = a b i =,..., m + i i i = reprezită catităţile de pricipii utritive cu care sut depăşite ivelele miimale specificate î reţetă.
8 I. PROGRAMARE LINIARA.5 Rezolvarea grafică a problemelor de programare liiară Să cosiderăm problema: (ma) f = 3 + 4 3 + 42 2 + 2 6 2 + 2 2, 2 2 Idetificăm, 2 cu abscisa, respectiv ordoata uui puct di plaul raportat la u sistem ortogoal de ae. Este cuoscut faptul că mulţimea puctelor di pla ale căror coordoate satisfac prima restricţie coicide cu uul di semiplaele determiate de dreapta d de ecuaţie -3 +4 2 =2. Mai precis,este vorba de semiplaul care coţie origiea (0,0), deoarece coordoatele acesteia satisfac evidet prima restricţie. Î mod aalog, următoarele restricţii sut verificate î semiplaele determiate de dreapta d 2 de ecuaţie + 2 =6 şi respectiv d 3 de ecuaţie -2 + 2 =2 şi care coţi origiea. Î fie, codiţia 0 are loc î semiplaul di dreapta aei verticale, î timp ce codiţia 2 0 are loc deasupra aei orizotale. Soluţiile admisibile ale problemei se idetifică cu puctele comue celor cici semiplae. Acestea formează iteriorul şi frotiera poligoului OABCD di figura.5.. 2 f=24 f= 22 2 7 C f=2 B d A A d 2 O D d 3
. Forma geerală a uei probleme de programare liiară 9 Figura.5. Fucţia obiectiv determiă - petru f variabil - o mulţime de drepte paralele care itersectează sau u mulţimea A. Astfel puctele situate pe dreapta 3 +4 2 =2 reprezită diferite combiaţii ale mărimilor, 2 care dau fucţiei obiectiv f aceeaşi valoare 2. Îtrucât această dreaptă taie A, rezultă că problema are soluţii admisibile - chiar o ifiitate - care oferă fucţiei obiectiv valoarea 2. Dreapta 3 +4 2 =24 u mai taie A şi deci ici o soluţie admisibilă a problemei u este capabilă să asigure fucţiei obiectiv valoarea 24. Cochidem că maimul fucţiei f este udeva ître 2 şi 24. Se observă uşor că acest maim se atige î vârful C al frotierei lui A. Puctul C este itersecţia dreptelor d şi d 2 şi deci coordoatele sale, care reprezită soluţia optimă a problemei, se determiă rezolvâd sistemul format di ecuaţiile celor * 2 * 30 două drepte. Se găseşte = 7, 2 = 7 maimul lui f fiid 22 2. Soluţia 7 optimă satisface cu egalitate primele două restricţii şi cu iegalitate strictă pe ceea de a treia. Î mod asemăător se arată că dacă fucţia de maimizat ar fi fost f = - + 2 atuci optimul ar fi fost atis î vârful B de coordoate =4/5, 2 =8/5. Eamiâd acest eemplu putem trage următoarele cocluzii:. Mulţimea A este coveă, adică o dată cu două pucte coţie şi segmetul care le ueşte. O coseciţă ituitivă a acestei proprietăţi este că soluţia optimă, dacă eistă, se găseşte udeva pe frotiera lui A. 2. Frotiera lui A este u cotur poligoal cu u umăr fiit de vârfuri şi o soluţie optimă se găseşte eapărat îtr-uul di ele. Aceste cocluzii, care se cofirmă pe orice altă problemă î două sau trei variabile (mulţimea soluţiilor admisibile putâd fi vizualizată î plaul R 2 sau spaţiul R 3 ) au costituit sursa îtregii teorii a programării liiare.