Sunteți pe pagina 1din 12

Rezolvarea problemelor de programare liniar

CAPITOLUL 13 REZOLVAREA PROBLEMELOR DE PROGRAMARE LINIAR 13.1. Rezolvarea problemelor i procesul de luare a deciziilor
}n general, prin <problem[> se ]n\elege o dificultate care nu poate fi dep[=it[ ]n mod automat. Procesul de rezolvare a unei probleme poate fi definit ca procesul de identificare a diferen\elor dintre starea actual[ =i starea dorit[ a unei afaceri =i stabilirea ac\iunilor necesare pentru a rezolva aceast[ diferen\[. Pentru probleme destul de complicate care s[ justifice timpul =i efortul unei analize am[nun\ite, procesul de rezolvare a unei probleme implic[ parcurgerea urm[torilor pa=i: 1. Identificarea =i definirea problemei. 2. Determinarea unui set de solu\ii alternative. 3. Determinarea unui criteriu sau a unor criterii pentru evaluarea alternativelor. 4. Evaluarea alternativelor. 5. Alegerea unei alternative. 6. Implementarea alternativei alese. 7. Evaluarea rezultatelor =i verificarea dac[ a fost selectat[ o solu\ie satisf[c[toare. Luarea deciziilor este un termen ]n general asociat cu primele cinci etape ale procesului de rezolvare a unei probleme. Astfel, prima etap[ ]n luarea unei decizii este identificarea =i definirea problemei, iar ultima etap[ este alegerea unei alternative, care de fapt este actul de luare a deciziei (figura 13.1). S[ consider[m urm[toarea situa\ie. Un absolvent de facultate ]=i caut[ un serviciu. Ca urmare a cererilor depuse, absolventul prime=te mai multe oferte situate ]n localit[\i diferite: Bucure=ti, Timi=oara, Constan\a, Bra=ov. Alternativele pentru acest caz de luare a deciziei sunt: 1. Acceptarea postului din Bucure=ti. 2. Acceptarea postului din Timi=oara. 3. Acceptarea postului din Constan\a. 4. Acceptarea postului din Bra=ov. Urm[torul pas al procesului de luare a deciziei este stabilirea criteriilor ce vor fi folosite ]n evaluarea alternativelor. Problemele decizionale ]n care obiectivul este de a g[si cea mai bun[ solu\ie ]n raport cu un singur criteriu se numesc decizii cu un singur obiectiv. Desigur, un criteriu important este salariul, dar pot exista =i alte criterii: posibilitatea de avansare, localitatea, posibilitatea de a avea o locuin\[. Problemele decizionale ]n care decizia este luat[ ]n func\ie de mai multe criterii se numesc decizii multicriteriale. Urm[torul pas este evaluarea fiec[rei altenative ]n raport cu fiecare criteriu. Unele criterii sunt u=or de evaluat (cum ar fi salariul), altele pot fi evaluate pe baza unor factori subiectivi (poten\ialul de avansare, localitatea). }n general, la factorii subiectivi, pentru fiecare variant[ se acord[ un calificativ sau o not[. De foarte multe ori criteriile sunt contradictorii. O alternativ[ bun[ prin aplicarea unui criteriu poate s[ nu fie la fel de bun[ prin aplicarea celorlalte criterii. Pentru evaluarea primului tip de criterii se folosesc metodele cantitative, pentru cel de al doilea tip, metodele calitative. }n abordarea cantitativ[ analistul se va concentra asupra datelor asociate problemei =i va dezvolta un model matematic care va descrie obiectivele, restric\iile sau alte rela\ii care exist[ ]n problem[. Ulterior, prin utilizarea metodelor cantitative, analistul va face o alegere ]n func\ie de datele problemei.

Modelarea deciziilor utiliznd foile de calcul Analiza calitativ[ se bazeaz[ mai mult pe intui\ie =i experien\[. Dac[ managerul a avut experien\e similare, problema este relativ simpl[. Dac[ managerul nu are experien\[ ]n probleme similare sau problema este prea complex[, pentru luarea deciziei finale se recomand[ metodele cantitative. Definirea problemei

Identificarea alternativelor

Determinarea criteriilor

Analiza cantitativ[

Analiza calitativ[

Evaluarea alternativelor Luarea deciziei

Figura 13.1 Procesul de luare a deciziei

13.2. Dezvoltarea modelelor


Modelele sunt reprezent[ri ale unor obiecte sau situa\ii reale. Ele pot exista ]n mai multe forme. De exemplu, o machet[ a unui avion este o reprezentare a unui avion adev[rat. Similar, un camion de juc[rie este modelul unui camion adev[rat. Aceste dou[ exemple de modele sunt replici fizice ale obiectelor reale. Folosind terminologia adecvat[, ele sunt modele fizice sau modele iconice. O alt[ categorie de modele include obiectele care exist[ ]n form[ fizic[, dar nu au acela=i aspect ca =i obiectul modelat. Acestea sunt modelele analogice. Cutia de viteze a unui automobil este un model analogic: pozi\ia acului indic[ viteza automobilului. Un termometru este un alt model analogic pentru reprezentarea temperaturii. A treia categorie include acele modele care reprezint[ o problem[ sub forma unui set de rela\ii matematice. Aceste modele se numesc modele matematice. De exemplu, profitul total ob\inut prin v`nzarea unui produs poate fi calculat ]nmul\ind profitul unitar cu cantitatea v`ndut[. Dac[ x reprezint[ num[rul de unit[\i v`ndute, P profitul total, atunci pentru un profit

Rezolvarea problemelor de programare liniar unitar de 1000 lei, modelul matematic care stabile=te profitul total ]n func\ie de v`nz[ri este P1000*x. Scopul utiliz[rii modelelor este realizarea unei interfe\e cu situa\ia real[ prin studierea =i analizarea modelului. De exemplu, un constructor de avioane poate testa un model fizic pentru a verifica caracteristicile de zbor ale unui avion adev[rat. Similar, un model matematic poate fi utilizat pentru a analiza ce profit va fi ob\inut dac[ un produs este v`ndut. Pentru cazul prezentat, dac[ vor fi v`ndute 30 de buc[\i (x30), profitul ob\inut va fi de 30*100030000 lei. Utilizarea modelelor matematice reduce cheltuielile =i timpul necesar pentru rezolvarea unei probleme reale. O machet[ de avion se construie=te mai repede =i este mai ieftin[ dec`t un avion real. La fel, prin utilizarea modelului matematic, se poate calcula rapid profitul ce poate fi ob\inut, f[r[ ca managerul s[ produc[ =i s[ v`nd[ cele x unit[\i. Modelele au =i avantajul reducerii riscului asociat, prin experimentarea unei situa\ii reale. Pentru exemplele prezentate se pot evita gre=elile de proiectare, care ar putea duce la pr[bu=irea avionului, sau se pot evita deciziile gre=ite care ar duce la pierderi de milioane de lei. Concluziile ob\inute depind de c`t de bine reprezint[ modelul situa\ia real[. Cu c`t modelul se apropie mai mult de cazul real, cu at`t rezultatele vor fi mai precise. }n continuare vor fi analizate numai modelele matematice. Principalele aspecte abordate se refer[ la utilizarea metodelor cantitative ]n procesul de luare a deciziei. Accentul este pus nu pe metodele propriu-zise, ci pe modul ]n care ele pot fi rezolvate utiliz`nd foile de calcul.

13.3. Modele matematice


}n majoritatea cazurilor ]n care se ]ncearc[ rezolvarea unor probleme manageriale se constat[ c[ modul ]n care este structurat[ problema conduce la ob\inerea unui obiectiv specific (cum ar fi maximizarea unui profit sau minimizarea unui cost). De asemenea, se constat[ c[ de multe ori exist[ o serie de restric\ii sau constr`ngeri (cum ar fi capacitatea de produc\ie). Succesul folosirii analizei cantitative depinde de acurate\ea cu care obiectivul =i restric\iile sunt exprimate sub form[ de ecua\ii =i rela\ii matematice. Expresia matematic[ care descrie obiectivul problemei se nume=te func\ie obiectiv. De exemplu, ecua\ia P10*x poate fi func\ia obiectiv a unei firme care ]ncearc[ s[ maximizeze profitul. Rela\iile matematice care descriu constr`ngerile problemei se numesc restric\ii. Dac[ de exemplu pentru a produce o unitate de produs sunt necesare 5 ore =i ]ntr-o s[pt[m`n[ se lucreaz[ doar 40 de ore, atunci rela\ia 50*x40 este o restric\ie de timp. 5*x reprezint[ timpul total necesar pentru a produce x unit[\i, care trebuie s[ fie mai mic sau egal cu cele 40 de ore disponibile. Problema de decizie este urm[toarea: C`te unit[\i trebuie produse ]ntr-o s[pt[m`n[ pentru a maximiza profitul? Modelul matematic al acestei probleme este: Max P = 10 * x functia obiectiv

5 * x 40 restrictii x0 Restric\ia x0 este necesar[ deoarece nu se poate fabrica un num[r negativ de produse.

Modelarea deciziilor utiliznd foile de calcul

13.4. Metoda programrii liniare


Programarea liniar[ este o metod[ de rezolvare a problemelor de luare a deciziei. Urm[toarele tipuri de aplica\ii sunt specifice pentru rezolvarea lor cu ajutorul program[rii liniare: 1. Un manager trebuie s[ stabileasc[ pentru perioada urm[toare programul de produc\ie =i nivelul stocurilor astfel ]nc`t s[ fie satisf[cut[ cererea de pe pia\[ =i ]n acela=i timp vrea s[ minimizeze costul total de produc\ie =i costurile de stocare. 2. Un analist financiar trebuie s[ selecteze pentru un portofoliu de investi\ii cea mai bun[ combina\ie de ac\iuni =i obliga\iuni. Aceste investi\ii trebuie selectate astfel ]nc`t s[ se maximizeze eficien\a investi\iei. 3. Un director de marketing trebuie s[ stabileasc[ modul ]n care va distribui bugetul pentru publicitate ]n diverse medii: radio, televiziune, ziare =i reviste, astfel ]nc`t efectul reclamei f[cute s[ fie maxim. 4. O companie are depozite ]n c`teva ora=e din \ar[ =i prime=te comenzi de la clien\i din diverse localit[\i. Se pune problema determin[rii cantit[\ilor care vor fi trimise de la depozite spre clien\i astfel ]nc`t costurile totale de transport s[ fie minimizate. Acestea sunt doar c`teva exemple ]n care programarea liniar[ a fost utilizat[ cu succes, dar lista poate continua. Ce au ]n comun aceste exemple este faptul c[ ele ]ncearc[ s[ minimizeze sau s[ maximizeze ceva. }n primul exemplu managerul vrea s[ minimizeze costurile; ]n exemplul 2 analistul financiar vrea s[ maximizeze eficien\a investi\iei; ]n exemplul 3 directorul de marketing trebuie s[ maximizeze eficien\a reclamei; ]n exemplul 4 trebuie minimizate cheltuielile de transport. }n toate problemele de programare liniar[, obiectivul este maximizarea sau minimizarea unor cantit[\i. Toate problemele de programare liniar[ au =i o a doua proprietate: restric\iile care limiteaz[ gradul ]n care obiectivul poate fi realizat. }n exemplul 1 produc\ia este limitat[ de capacitatea de produc\ie =i ]n acela=i timp trebuie s[ satisfac[ cererea; ]n exemplul 2 analistul este limitat de suma disponibil[ =i tipul ac\iunilor existente; ]n exemplul 3 directorul de marketing este constr`ns de bugetul fixat =i de disponibilitatea mediilor de reclama; ]n exemplul 4 cantit[\ile ce pot fi transportate sunt limitate la disponibilul din fiecare depozit. Deci, restric\iile sunt o alt[ tr[s[tur[ general[ a fiec[rei probleme de programare liniar[. Exemplu Firma ABC produce o varietate de produse chimice. }n cadrul unui proces de produc\ie, pentru a produce dou[ produse (un aditiv =i un solvent) sunt necesare trei tipuri de materii prime. Aditivul este v`ndut fabricilor de ulei =i este folosit la producerea a diverse tipuri de combustibil. Solventul este v`ndut combinatelor chimice =i este utilizat la fabricarea detergen\ilor. Pentru a fabrica aditivul =i solventul cele trei materii prime sunt amestecate ]n propor\iile indicate ]n tabelul 13.1. Produs Material 1 Material 2 Material 3 Aditiv 2 /5 0 3 /5 Solvent 1 /5 3 /10

Tabelul 13.1 Necesarul de materii prime pentru ob\inerea unei tone de adidiv/solvent

Rezolvarea problemelor de programare liniar

Pentru a ob\ine o ton[ de aditiv se amestec[ 2/5 tone de material 1=i 3/5 tone de material 3. O ton[ de solvent poate fi ob\inut[ prin amestecarea a tone de material 1, 1/5 tone de material 2 =i 3/10 tone de material 3. Produc\ia este limitat[ de disponibilitatea celor trei materii prime. }n prezent firma dispune de 20 tone de material 1, 5 tone de material 2 =i 21 tone de material 3. Prin natura procesului de produc\ie, materiile prime care nu sunt utilizate ]n procesul de produc\ie curent sunt considerate de=euri. Fiecare ton[ de aditiv aduce un profit de 40$ , iar fiecare ton[ de solvent aduce un profit de 30$. Managementul firmei ABC, dup[ analiza cererii de pe pia\[, a decis c[ pre\urile stabilite vor determina v`nzarea ]ntregii cantit[\ii produse (aditiv =i sovent). Formularea problemei Formularea problemei sau modelarea reprezint[ procesul de transpunere a problemei ]ntr-un model matematic. Modelarea problemei este o art[ care poate fi st[p`nit[ prin practic[ =i experien\[. De=i fiecare problem[ are caracteristici unice, multe probleme pot avea tr[s[turi comune. Ca urmare, pentru ]ncep[tori pot fi utile o serie de reguli ce pot fi aplicate pentru formularea unui model, reguli ce vor fi ilustrate ]n dezvoltarea modelului matematic pentru firma ABC. Acest exemplu a fost selectat pentru a introduce metoda program[rii liniare pentru c[ este u=or de ]n\eles. }n practic[ apar probleme mai complicate, care necesit[ o analiz[ mai profund[ pentru a identifica toate aspectele care trebuie incluse ]n model. Primul pas este identificarea obiectivului =i a restric\iilor. }n cazul nostru obiectivul este maximizarea profitului total. Restric\iile se refer[ la cantit[\ile de materii prime disponibile, care limiteaz[ cantit[\ile de aditiv =i solvent ce pot fi produse. Restric\ia 1: cantitatea de material 1 utilizat[ trebuie s[ fie mai mic[ sau egal[ cu cantitatea de material 1 disponibil[. Restric\ia 2: cantitatea de material 2 utilizat[ trebuie s[ fie mai mic[ sau egal[ cu cantitatea de material 2 disponibil[. Restric\ia 3: cantitatea de material 3 utilizat[ trebuie s[ fie mai mic[ sau egal[ cu cantitatea de material 3 disponibil[. Urm[torul pas este definirea variabilelor de decizie. Cele dou[ variabile de decizie sunt: num[rul de tone de aditiv produse =i num[rul de tone de solvent produse. Not[m cu: A: cantitatea de aditiv produs[ (tone) S: cantitatea de solvent produs[ (tone) A =i S sunt variabile de decizie. Se scrie obiectivul utiliz`nd variabilele de decizie. Profitul total provine din dou[ surse: v`nz[rile de aditiv =i v`nz[rile de solvent. Dac[ profitul ob\inut prin v`nzarea unei tone de aditiv este de 40$, atunci prin v`nzarea a A tone profitul va fi 40*A. La fel, dac[ profitul ob\inut prin v`nzarea unei tone de solvent este de 30$, atunci prin v`nzarea a S tone profitul va fi 40*S. Profitul total 40A 30S Expresia matematic[ a obiectivului se nume=te func\ie obiectiv. }n cazul nostru obiectivul este maximizarea profitului total, deci func\ia obiectiv va fi:

Modelarea deciziilor utiliznd foile de calcul

Max ( 40A 30S ) Se scriu restric\iile utiliz`nd variabilele de decizie. Restric\ia 1. Deoarece o ton[ de aditiv este produs[ folosind 2/5 tone de material 1, cantitatea de material 1 necesar[ pentru a produce A tone de aditiv este 2/5 * A. Pentru fiecare ton[ de solvent se folosesc tone de material 1, deci cantitatea de material 1 necesar[ pentru a produce S tone de solvent este * S. Astfel, cantitatea total[ de material 1 necesar[ este 2/5 * A * S. Cantitatea disponibil[ de material 1 este de 20 tone, deci transpunerea sub form[ de ecua\ie a restric\iei 1 este: 2 /5 * A * S 20 Restric\ia 2. Deoarece la fabricarea aditivului nu este necesar materialul 1 se va lua ]n lua ]n calcul doar cantitatea de material 2 utilizat[ la fabricarea solventului. Pentru fiecare ton[ de solvent se folosesc 1/5 tone de material 2, deci cantitatea de material 2 necesar[ pentru a produce S tone de solvent este 1/5 * S. Astfel, cantitatea total[ de material 2 necesar[ este 1/5 * S. Cantitatea disponibil[ de material 2 este de 5 tone, deci transpunerea sub form[ de ecua\ie a restric\iei 2 este: 1 /5 * S 5 Restric\ia 3. Deoarece o ton[ de aditiv este produs[ folosind 3/5 tone de material 3, cantitatea de material 3 necesar[ pentru a produce A tone de aditiv este 3/5 * A. Pentru fiecare ton[ de solvent se folosesc 3/10 tone de material 3, deci cantitatea de material 3 necesar[ pentru a produce S tone de solvent este 3/10 * S. Astfel, cantitatea total[ de material 3 necesar[ este 3/5 * A 3/10 * S. Cantitatea disponibil[ de material 3 este de 21 tone, deci transpunerea sub form[ de ecua\ie a restric\iei 3 este: 3 /5 * A 3/10 * S 21 P`n[ acum am specificat rela\iile matematice referitoare la constr`ngerile asociate celor trei materii prime. Mai trebuie oare alte restric\ii? Poate firma ABC s[ produc[ un num[r negativ de tone de aditiv =i solvent? R[spunsul este evident nu. Deci pentru ca variabilele de decizie s[ nu aib[ valori negative mai sunt necesare dou[ restric\ii: A 0 S 0 Modelul matematic al problemei este acum complet. At`t obiectivul c`t =i restric\iile au fost transformate ]ntr-un set de rela\ii matematice, set de rela\ii definit ca model matematic. Modelul matematic complet al problemei este: Max ( 40A 30S ) 2 /5 * A * S20 1 /5 * S5 3 /5 * A 3/10 * S21 A0 S0 Pentru rezolvarea problemei trebuie g[sit[ combina\ia optim[ (de A =i S) care s[ satisfac[ toate restric\iile =i ]n acela=i timp s[ conduc[ la o valoare a func\iei obiectiv care s[ fie mai mare sau egal[ dec`t orice valoare calculat[ cu o alt[ solu\ie posibil[. Dac[ func\ia obiectiv =i restric\iile sunt func\ii liniare ]n raport cu variabilele de decizie (variabilele de decizie apar numai la puterea I), atunci avem o problem[ de programare liniar[.

Rezolvarea problemelor de programare liniar Pentru rezolvarea problemelor de programare liniar[ exist[ mai multe metode analitice: metoda Simplex, metoda grafic[. }n continuare vom prezenta modul ]n care pot fi rezolvate problemele de programare liniar[ utiliz`nd foile de calcul (Microsoft Excel).

13.5. Utilizarea foilor de calcul pentru rezolvarea problemelor de programare liniar


Foile de calcul sunt instrumente utilizate frecvent pentru prelucrarea datelor ]n multe organiza\ii. Deoarece modelele matematice necesit[ de multe ori date care deja exist[ ]n alte foi de calcul, este important a ]n\elege modul ]n care o problem[ de programare liniar[ poate fi rezolvat[ cu ajutorul foilor de calcul. }n continuare vom ilustra modul ]n care se poate rezolva problema precedent[ folosind foile de calcul. }n acest scop va fi folosit programul de calcul tabelar Microsoft Excel. Un model de programare liniar[ transpus ]ntr-o foaie de calcul va con\ine urm[toarele elemente: 1. Celulele care con\in datele problemei. 2. Celulele pentru variabilele de decizie. 3. O celul[ care con\ine formula pentru calcularea func\iei obiectiv. 4. Celulele care con\in formulele pentru calcularea p[r\ii st`ngi a restric\iilor. 5. Celulele care con\in valorile p[r\ii drepte a restric\iilor. Transpunerea problemei ]ntr-o foaie de calcul presupune parcurgerea urm[toarelor etape: 1. Introducerea datelor problemei ]n foaia de calcul. 2. Definirea celulelor care vor con\ine variabilele de decizie. 3. Definirea celulei care con\ine formula pentru func\ia obiectiv. 4. Definirea celulelor care con\in formulele din partea st`ng[ a restic\iilor. 5. Definirea celulelor care con\in valorile din partea dreapt[ a restric\iilor. }n figura 13.2 este prezentat[ solu\ia pentru problema prezentat[ anterior.
A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 B C D

Firma ABC
Necesar de materiale Aditiv Solvent 0.5 0.2 0.3 30

Materiale Material 1 Material 2 Material 3 Profit pe tona

Cantitate disponibila 20 5 21

0.4 0 0.6 40

Model
Variabile de decizie Aditiv Solvent Tone produse Maximizarea profitului total =B8*B15+C8*C15 Cantitati utilizate =B5*B15+C5*C15 =B6*B15+C6*C15 =B7*B15+C7*C15 Cantitati disponibile =D5 =D6 =D7

Restrictii Material 1 Material 2 21 Material 3 22

<= <= <=

Figura 13.2 Foaia de calcul utilizat[ pentru rezolvarea problemei

Modelarea deciziilor utiliznd foile de calcul Remarca\i c[ foaia de calcul este alc[tuit[ din dou[ p[r\i: o parte con\ine datele problemei =i alta con\ine modelul. Un avantaj al separ[rii datelor de model este c[ se poate studia efectul modific[rii m[rimilor de intrare asupra modelului f[c`nd modific[ri doar ]n zona care con\ine date. Un alt avantaj este c[ analistul poate dezvolta modelul independent de datele disponibile. }n continuare este prezentat fiecare pas al procedurii: Pasul 1: Introducerea datelor problemei. Datele problemei apar ]n partea superioar[ a foii de calcul. Frac\iile care reprezint[ compozi\ia pentru ob\inerea unei tone de solvent =i aditiv au fost convertite ]n valori zecimale =i introduse ]n domeniul B5:C7. Valoarea 0.4 din celula B5 arat[ c[ fiecare ton[ de aditiv produs[ utilizeaz[ 0.4 tone de material 1, valoarea 0.5 din celula C5 arat[ c[ fiecare ton[ de solvent produs[ utilizeaz[ 0.5 tone de material 1, etc. Celulele D5:D7 con\in cantitatea disponibil[ din fiecare material, iar celulele B8 =i C8 con\in profitul ob\inut prin v`nzarea unei tone de aditiv (40$), respectiv solvent (30$). Pasul 2: Definirea celulelor care vor con\ine variabilele de decizie. Celulele B15 =i C15 con\in num[rul de tone de aditiv =i solvent produse. Pasul 3: Definirea celulei care con\ine formula func\iei obiectiv. Celula B17 con\ine formula pentru calcularea func\iei obiectiv: B8*B15 C8*C15 (profiul unitar pe tona de aditiv * produc\ia de aditiv profiul unitar pe tona de solvent * produc\ia de solvent). Pasul 4: Definirea celulelor care con\in formulele din partea st`ng[ a restric\iilor. Celulele B20:B22 con\in formulele care indic[ cum se calculeaz[ partea st`ng[ a restric\iilor. Pentru materialul 1, ]n celula B20 se introduce formula B5*B15C5*C15 (cantitatea de aditiv produs[*cantitatea de material 1 pentru a produce o ton[ de aditv cantitatea de solvent produs[*cantitatea de material 1 pentru a produce o ton[ de solvent). }n mod similar se vor introduce ]n celulele B21 =i B22 formulele pentru materialele 2 =i 3. Pasul 5: Definirea celulelor care con\in valorile din partea dreapt[ a restric\iilor. }n problema analizat[ valorile din partea dreapt[ a restric\iilor reprezint[ cantit[\ile de material disponibile, valori care deja sunt introduse ]n domeniul D5:D7. Pentru materialul 1, ]n celula D20 se introduce formla D5, pentru matrialul 2, ]n celula D21 se introduce formula D6, iar pentru materialul 3 ]n celula D22 se introduce formula D7. Un avantaj al folosirii foilor de calcul este c[ dac[ una din valorile din partea care con\ine datele problemei se modific[, valorile din model se modific[ automat.. Pentru a determina solu\ia optim[ a problemei se va folosi Solver-ul din Excel. Pa=ii urm[tori arat[ modul ]n care poate fi folosit Solver-ul pentru ob\inerea solu\iei optime pentru o problem[ de programare liniar[. 1. Se selecteaz[ meniul Tools. 2. Se aplic[ comanda Solver. 3. Caseta Solver Parameters se completeaz[ ]n modul urm[tor: Set Target Cell: B17 Se selecteaz[ op\iunea Max. By Changing Cells: B15:C15. Se selecteaz[ butonul Add. 4. Caseta Add Constraint se completeaz[ astfel: Cell Reference: B20:B22 Se selecteaz[ operatorul

Rezolvarea problemelor de programare liniar Constraint: D20:D22 Se selecteaz[ butonul OK. 5. C`nd caseta Solver Parameters apare din nou se selecteaz[ butonul Options. 6. }n caseta Solver Options se selecteaz[: Assume Linear Model. Assume Non- Negative. Butonul Ok. 7. C`nd caseta Solver Parameters apare din nou se selecteaz[ butonul Solve. 8. }n caseta Solver Results se selecteaz[ Keep Solver Solution. Se selecteaz[ butonul Ok pentru a genera solu\ia optim[, afi=at[ ]n celulele B15, C15. Solu\ia optim[ este 25 tone de aditiv =i 20 tone de solvent.

13.6. Analiza de senzitivitate i interpretarea rezultatelor


Problemele din lumea real[ au loc ]ntr-un mediu ]n continu[ schimbare. Pre\ul materiilor prime, salariile, cererea, oferta, valoarea ac\iunilor, etc. sunt valori care pot varia de la un moment la altul. Dac[ o problem[ de programare liniar[ este utilizat[ ]ntr-un astfel de mediu, ne putem a=tepta ca anumi\i coeficien\i ai problemei s[ se modifice ]n timp. Deci va trebui s[ determin[m cum afecteaz[ aceste schimb[ri solu\ia optim[ a problemei de programare liniar[ ini\ial[. Cu analiza de senzitivitate se poate observa cum este afectat[ solu\ia optim[ de modific[ri ale coefiecien\ilor dintr-o problem[ de programare liniar[. Utiliz`nd analiza de senzitivitate se poate r[spunde la ]ntreb[ri de tipul: 1. Cum este afectat[ solu\ia optim[ de o modificare a unui coeficient din func\ia obiectiv? 2. Cum este afectat[ solu\ia optim[ de o modificare a valorii din partea dreapt[ a restric\iilor? Deoarece obiectul analizei de senzitivitate este modul ]n care modific[rile specificate afecteaz[ solu\ia optim[, analiza nu poate ]ncepe p`n[ c`nd nu se ob\ine solu\ia problemei de programare liniar[ ini\ial[. Din aceast[ cauz[, analiza de senzitivitate este de multe ori numit[ =i analiz[ postoptimal[. Revenind la problema prezentat[ anterior: Max ( 40A 30S ) 2 /5 * A * S20 1 /5 * S5 3 /5 * A 3/10 * S21 A0 S0 Materialul 1 Materialul 2 Materialul 3

Solu\ia optim[ A25 tone de aditiv =i S20 tone de solvent s-a ob\inut pentru cazul ]n care s-a considerat c[ profitul pe ton[ pentru aditiv este 40$, iar profitul pe ton[ pentru solvent este de 30$. Presupunem c[ datorit[ unor factori exteriori are loc o reducere a pre\urilor, ceea ce determin[ o sc[dere a profitului de la 30$ pe ton[ la 25$ pe ton[ pentru solvent. }n acest caz programul de produc\ie de 25 de tone de aditiv =i 20 de tone de solvent este ]n continuare cel mai bun? }n mod normal ar trebui s[ rezolv[m o nou[ problem[ de programare liniar[ cu func\ia obiectiv modificat[ 40*A25*S. Acest lucru nu este necesar, deoarece cu analiza de senzitivitate putem determina ]n ce limite poate varia profitul pe tona de aditiv f[r[ ca solu\ia

Modelarea deciziilor utiliznd foile de calcul optim[ s[ se modifice. Dac[ analiza de senzitivitate arat[ c[ 25 tone de aditiv =i 20 de tone de solvent r[m`ne solu\ia optim[ at`ta timp profitul pe tona de solvent variaz[ ]ntre 20$ =i 40$, agentul decizional poate considera c[ estimarea de 30$/ton[ este bun[. Dac[ analiza de senzitivitate arat[ c[ 25 de tone de aditiv =i 20 de tone de solvent r[m`ne solu\ia optim[ at`ta timp profitul pe tona de solvent variaz[ ]ntre 29.90$ =i 32$, managementul va trebui s[ reanalizeze acurate\ea estim[rii de 30$/tona de solvent. Domeniul de optimalitate pentru fiecare coeficient al func\iei obiectiv este domeniul de valori ]n care acest coeficient poate varia far[ a modifica solu\ia optim[. Managerul va trebui s[ analizeze cu aten\ie acei coeficien\i din func\ia obiectiv care au un domeniu de optimalitate ]ngust, deoarece o mic[ modificare a acestora poate modifica solu\ia optim[. Un alt aspect al analizei de senzitivitate se refer[ la modific[rile valorilor din partea dreapt[ a restric\iilor. Referindu-ne la aceea=i problem[, pentru solu\ia optim[ sunt utilizate ]n ]ntregime stocurile de material 1 =i 3. Ce se ]nt`mpl[ cu solu\ia optim[ =i profitul total dac[ se m[resc cantit[\ile disponibile de material 1 =i 3? Cu analiza de senzitivitate se poate determina cu c`t va cre=te profitul total dac[ cantitatea disponibil[ de material 1 sau 3 cre=te cu o ton[. Pentru ca programul Excel s[ furnizeze un raport pentru realizarea analizei de senzitivitate, c`nd se rezolv[ problema cu Solver-ul, ]n fereastra de dialog Solver Results, sec\iunea Reports, se selecteaz[ Sensitivity (vezi lec\ia 12).

13.7. Interpretarea raportului Excel pentru analiza de senzitivitate


Raportul generat de Excel are structura prezentat[ ]n figura 13.3.
Microsoft Excel 9.0 Sensitivity Report Worksheet: Firma ABC Report Created: 28/07/2001 12:39:34 PM

Adjustable Cells Cell Name $B$15 Tone produse Aditiv $C$15 Tone produse Solvent Constraints Cell $B$20 $B$21 $B$22 Name Material 1 Cantitati utilizate Material 2 Cantitati utilizate Material 3 Cantitati utilizate Final Shadow Constraint Allowable Allowable Value Price R.H. Side Increase Decrease 20 33.33333333 20 1.5 6 4 0 5 1E+30 1 21 44.44444444 21 9 2.25 Final Value 25 20 Reduced Cost Objective Allowable Allowable Coefficient Increase Decrease 0 40 20 16 0 30 20 10

Figura 13.3 Raportul de analiz[ de senzitivitate Raportul are dou[ sec\iuni Adjustable Cells =i Constraints. }n sec\iunea Adjustable Cells se analizeaz[ coeficien\ii variabilelor de decizie din func\ia obiectiv, iar ]n sec\iunea Constraints sunt analizate valorile din partea dreapt[ a restric\iilor. Sec\iunea Adjustable Cells }n coloana Cell sunt afi=ate celulele care con\in coeficien\ii variabilelor de decizie din func\ia obiectiv, iar ]n coloana Name sunt afi=ate numele acestor celule. Coloana Final Value con\ine valorile optime pentru variabilele de decizie. Pentru problema analizat[ solu\ia este 25 de tone de aditiv =i 20 tone de solvent. Coloana Reduced Cost. Pentru fiecare variabil[ de decizie, valoarea absolut[ din Reduced Cost arat[ c`t de mult trebuie s[ creasc[ (pentru problemele de maximizare) sau s[

Rezolvarea problemelor de programare liniar scad[ (pentru problemele de minimizare) coeficientul variabilei de decizie din func\ia obiectiv astfel ]nc`t variabila de decizie respectiv[ s[ aib[ valoare pozitiv[. Dac[ o variabil[ de decizie este pozitiv[ ]n solu\ia optim[, costul redus este 0. Pentru problema analizat[ ambele variabile de decizie au valori pozitive =i costurile reduse sunt 0. Dac[ de exemplu pentru cantitatea de solvent s-ar fi ob\inut 0 ]n coloana Final Value =i 12.5 ]n coloana Reduced Cost, interpretarea ar fi urm[toarea: profitul pe tona de solvent ar trebui s[ creasc[ la 3012.5042.50 pentru ca ]n solu\ia optim[ variabila de decizie ata=at[ cantit[\ii de solvent s[ aib[ o valoare pozitiv[. Altfel spus, pentru a produce solvent ar trebui ca profitul pe tona de solvent s[ fie 42.50$. Coloana Objective Coefficient con\ine valorile coeficien\ilor variabilelor de decizie din func\ia obiectiv, iar coloanele Allowable Increase =i Allowable Decrease con\in valorile pe baza c[rora se poate calcula domeniu de optimalitate pentru coeficientul respectiv (cre=terea =i mic=orarea permis[). De exemplu, pentru aditiv: 40 16 C Aditiv 40 + 20 24 C Aditiv 60 Deci dac[ profitul pe tona de aditiv variaz[ ]ntre 24 =i 60, solu\ia optim[ de 25 tone de aditiv =i 20 tone de solvent r[m`ne neschimbat[. Pentru solvent: 30 10 CSolvent 30 + 20 20 CSolvent 50 Deci dac[ profitul pe tona de solvent variaz[ ]ntre 20 =i 50, solu\ia optim[ de 25 tone de aditiv =i 20 tone de solvent r[m`ne neschimbat[. Sec\iunea Constraints Coloana Cell indic[ celulele care con\in valorile din partea dreapt[ a restric\iilor, iar coloana Name con\ine numele acestor celule. Valorile din coloana Final Value sunt valorile restric\iilor (partea st`ng[) calculate pentru solu\ia optim[. Pentru problema analizat[ valorile din coloana Final Value indic[ cantit[\ile de material 1, 2 =i 3 necesare pentru a produce combina\ia optim[ de 25 de tone de aditiv =i 20 tone de solvent. Deci pentru solu\ia optim[ sunt necesare 20 tone de material 1, 4 tone de material 2 =i 21 tone de material 3. Valorile din coloana Constraint RH sunt valorile ini\iale ale problemei: 20 tone de material 1, 5 tone de material 2, 21 tone de material 3 (cantit[\ile disponibile). Pentru fiecare restric\ie abaterea reprezint[ diferen\a dintre valoarea din coloana Constraint RH =i valoarea din Final Value. Abaterea asociat[ materialului 1 este 20-200 tone, pentru materialul 2: 5-41 ton[, iar pentru materialul 3: 21-210 tone. Deci materialele 1 =i 3 sunt utilizate ]n totalitate, iar din materialul 2 r[m`ne o ton[. Concluzia este c[ dac[ ar exista cantit[\i mai mari de material 1 sau 3 s-ar putea ob\ine un profit total mai mare. Modul ]n care modificarea acestor cantit[\i influen\eaz[ profitul este indicat ]n coloana Shadow Price (pre\uri umbr[). Pre\urile umbr[ arat[ cu c`t se modific[ (cre=tere/mic=orare) valoarea func\iei obiectiv la cre=terea/mic=orarea cu o unitate a valorii din partea dreapt[ a unei restric\ii. }n cazul nostru, pre\ul umbr[ de 33.33 pentru materialul 1 arat[ c[ o ton[ suplimentar[ de material 1 va cre=te profitul cu 33.33$. Deci, dac[ cantitatea disponibil[ de material 1 ar cre=te de la 20 la 21, ceilal\i coeficien\i r[m`n`nd constan\i, profitul total ar cre=te cu 33.33$, ceea ce ]nseamn[ 160033.331633.33$. Similar, dac[ cantitatea disponibil[ de material 3 ar cre=te de la 21 la 22, ceilal\i coeficien\i r[m`n`nd constan\i, profitul total ar cre=te cu 44.44$, ceea ce ]nseamn[ 160044.441644.44$.

Modelarea deciziilor utiliznd foile de calcul Valoarea 0 a pre\ului umbr[ pentru materialul 2 arat[ c[ dac[ cantitatea disponibil[ de material 2 ar cre=te, valoarea func\iei obiectiv (profitul total) nu s-ar modifica. Ultimele dou[ coloane Allowable Increase =i Allowable Decrease determin[ domeniul ]n care poate varia termenul din dreapta al unei restric\ii f[r[ a se modifica pre\urile umbr[. De exemplu, consider`nd restric\ia pentru materialul 1, termenul din partea dreapt[ are valoarea 20, cre=terea permis[ este 1.5 =i mic=orarea permis[ este de 6. +tim c[ cu un pre\ umbr[ de 33.33$ , o ton[ ]n plus de material 1 va cre=te valoarea func\iei obiectiv (profitul) cu 33.33$, iar reducerea cantit[\ii de material cu o ton[ va mic=ora valoarea func\iei obiectiv cu 33.33$. Valorile din Allowable Increase =i Allowable Decrease arat[ c[ pre\ul umbr[ de 33.33$ este valabil pentru cre=teri de material 1 de p`n[ la 1.5 tone =i reduceri de pan` la 6 tone. Domeniul de valori ]n care pre\ul umbr[ este aplicabil se nume=te domeniu de fezabilitate. Deci pentru materialul 1 domeniul de fezabilitate este ]ntre 20-614 =i 201.521.5 tone. Pentru modific[ri ]n afara domeniului de fezabilitate problema trebuie rezolvat[ din nou pentru a g[si noul pre\ umbr[. Pentru restric\ia materialului 2 cre=terea permis[ este 1E30, deci 1030, un num[r foarte mare. Putem interpreta aceast[ valoare ca o eviden\[ a faptului c[ nu exist[ limit[ superioar[ pentru domeniul de fezabilitate a materialului 2. Cu alte cuvinte, oric`t material 2 ar fi disponibil, valoarea func\iei obiectiv nu s-ar modifica. Descre=terea permis[ (1) arat[ c[ limita minim[ a domeniului de fezabilitate pentru materialul 2 este 5-14 tone. Deci dac[ pentru produc\ie ar fi disponibile 4.5 tone de material 2, valoarea func\iei obiectiv nu s-ar modifica. Dac[ sunt disponibile mai pu\in de 4 tone va trebui s[ rezolv[m problema din nou pentru a afla noua solu\ie =i pre\urile umbr[. Pentru materialul 3, domeniul de fezabilitate este ]ntre 21-2.2518.75 tone =i 21930 tone. Deci pre\ul umbr[ de 44.44 este aplicabil dac[ termenul din partea dreapt[ a restric\iei (cantitatea de material disponibil) ia valori ]ntre 18.75 tone =i 30 tone. Informa\iile din raportul de analiz[ de senzitivitate se bazeaz[ pe presupunerea c[ doar un coeficient se modific[, to\i ceilal\i r[m`n`nd neschimba\i.