Sunteți pe pagina 1din 7

Utilizarea Solver-ului

CAPITOLUL 12 UTILIZAREA SOLVER-ULUI 12.1. Solver - ul


Cu comanda Goal Seek se poate analiza varia\ia rezultatelor ]n func\ie de o singur[ celul[ de pornire. Multe foi de calcul sunt prea complexe pentru comanda Goal Seek. La unele modele pot fi necesare intr[ri multiple sau se pot impune restric\ii asupra unora dintre valorile de intrare sau asupra rezultatului. Analiza unui rezultat prin modificarea valorilor din una sau mai multe celule se poate face utiliz`nd facilitatea Solver din Excel. Pentru a putea fi folosit[ facilitatea Solver, ea trebuie mai ]nt`i instalat[. Pentru a realiza acest lucru se vor executa urm[torii pa=i: 1. Se aplic[ comanda Tools, Add-Ins. Pe ecran apare caseta Add-Ins (figura 12.1).

Figura 12.1 caseta de dialog Add - Ins 2. Se marcheaz[ op\iunea Solver. 3. Se selectez[ butonul OK. Comanda Solver va aparea ]n meniul Tools. Cu Solver-ul se pot rezolva tot felul de probleme de programare liniar[ =i neliniar[: Probleme de maximizare a c`=tigurilor Probleme de transport Probleme de amestec Probleme de minimizare a costurilor Aceste tipuri de probleme vor fi tratate ]n detaliu ]n partea a doua Modelarea deciziilor utiliz`nd foile de calcul. }n principiu problemele care pot fi rezolvate au un singur obiectiv, pentru unele variabile sunt specificate restric\ii, iar variabilele de intrare influen\eaz[, direct sau indirect, at`t restric\iile c`t =i valorile care trebuie optimizate. Pentru utilizarea Solver-ului se vor efectua urm[torii pa=i:

Modelarea deciziilor utiliznd foile de calcul 1. Se configureaz[ foaia de calcul =i se stabile=te care sunt celulele care con\in variabilele de intrare =i rezultatul. 2. Se aplic[ comanda Tools, Solvers. Pe ecran apare caseta de dialog Solver Parameters (figura 12.2).

Figura 12.2 caseta de dialog Solver Parameters }n caseta text Set Target Cell se specific[ celula care con\ine formula cu rezultatul care trebuie analizat (func\ia obiectiv). }n sec\iunea Equal To se specific[ ce se urm[re=te pentru func\ia obiectiv: Dac[ trebuie maximizat[ se selecteaz[ op\iunea Max. Dac[ trebuie minimizat[ se selecteaz[ optiunea Min. Dac[ func\ia obiectiv trebuie s[ ating[ o anumit[ valoare se selecteaz[ op\iunea Value of, iar ]n caseta text al[turat[ se introduce valoarea respectiv[. }n caseta text By Changing Cells se vor indica celulele sau domeniul de celule pe care Solver-ul le va modifica pentru a ob\ine valoarea optim[. Caseta Subject to the Constraints va con\ine restric\iile problemei. Pentru a ad[uga o restric\ie se aplic[ un clic pe butonul Add. Pe ecran apare o nou[ caset[ de dialog, Add Constraint (figura 12.3) ]n care se pot introduce restric\iile problemei:

Figura 12.3 caseta de dialog Add Constraint Pentru a stabili o restric\ie: }n caseta text Cell Reference se va specifica celula care con\ine formula pe care se bazeaz[ restric\ia.

Utilizarea Solver-ului Se aplic[ un clic pe s[geata de derulare pentru a vedea lista cu operatori pentru restric\ii =i se selecteaz[ operatorul corespunz[tor. }n ultima caset[ text se scrie valoarea restric\iei ce trebuie respectat[. Se aplic[ un clic pe butonul Add pentru a introduce =i alte restric\ii. Pentru a reveni ]n caseta de dialog Solver Parameters se aplic[ un clic pe butonul OK. Restric\iile definite vor fi afi=ate ]n caseta Subject to the Constraints. 4. Se aplic[ un clic pe butonul Solver. Solver-ul va ]ncepe efectuarea calculelor pentru solu\iile optime. Dup[ ce g[se=te o solu\ie, pe ecran apare caset[ de dialog Solver Results (figura 12.4).

Figura 12.4 caseta de dialog Solver Results Excel introduce solu\iile ]n foaia de calcul. Dac[ se alege op\iunea Keep Solver Results Excel va p[stra ]n foaia de calcul solu\ia calculat[. Dac[ se selecteaz[ op\iunea Restore Original Values, se va reveni la valorile ini\iale din foaia de calcul. Pentru sintetizarea rezultatelor g[site, Solver-ul permite generarea a trei tipuri de rapoarte: Answer - ]n care sunt prezentate valorile ini\iale =i finale pentru celula rezultat =i celulele care con\in variabilele de intrare. Sensitivity - ]n care este prezentat[ o analiz[ de senzitivitate a variabilelor de intrare (cum variaz[ rezultatul la diferite modific[ri ale variabilelor de intrare). Limits - se specific[ ]ntre ce limite pot varia limitelele impuse ]n restric\ii, astfel ]nct rezultatul final s[ nu se modifice. Mai multe detalii despre aceste rapoarte sunt prezentate ]n partea a-II-a Modelarea deciziilor utiliz`nd foile de calcul. Pentru a crea un raport se selecteaz[ denumirea lui din lista Reports din caseta Solver Results. Pentru a selecta mai multe rapoarte din list[, se alege primul raport, se \ine ap[sat[ tasta <Ctrl> =i se aplic[ un clic pe unul sau ambele rapoarte r[mase. Se aplic[ un clic pe butonul OK. Excel va crea fiecare raport ]ntr-o foaie de calcul separat[.

12.2. Modificarea configuraiei Solver-ului


Utilizatorul poate specifica tehnica utilizat[ de programul Solver pentru g[sirea r[spunsurilor, precizia r[spunsurilor =i perioada de lucru a programului Solver. Pentru a realiza acest lucru din caseta de dialog Solver Parameters se selecteaz[ butonul Options. Pe ecran apare caseta de dialog Solver Options (figura 12.5). Folosind op\iunile din aceast[ caset[ de dialog se poate stabili modulul ]n care va lucra Solver-ul. }n caseta Max Time se specific[ timpul maxim (]n secunde) pe care programul Solver poate s[ ]l foloseasc[ pentru g[sirea unei solu\ii.

Modelarea deciziilor utiliznd foile de calcul }n caseta Iterations se specific[ num[rul maxim de itera\ii pe care le poate face Solver-ul. }n caseta Precision se specific[ c`t de apropiate trebuie s[ fie dou[ ]ncerc[ri de solu\ie, ]nainte de a declara g[sit[ cea mai bun[ solu\ie. }n caseta Tolerance se specific[ (]n procente) c`t de aproape de cea mai bun[ solu\ie trebuie s[ fie r[spunsul, atunci c`nd se lucreaz[ cu probleme cu numere ]ntregi. Stabilirea unei toleran\e mai mari poate m[ri considerabil viteza de calcul atunci c`nd se lucreaz[ cu probleme complexe cu numere ]ntregi Op\iunea Assume Linear Model configureaz[ Solver-ul s[ utilizeze o metod[ de programare liniar[ pentru g[sirea solu\iei. Dac[ foaia de calcul con\ine o problem[ neliniar[, apare un mesaj de avertisment. Op\iunea Show Iterations Results permite afi=area solu\iilor intermediare. Continuarea se face ap[s`nd pe butonul Continue, oprirea pe butonul Stop. Op\iunile Tangent sau Quadratic sunt metode adi\ionale folosite pentru g[sirea solu\iei. Se recomand[ utilizarea op\iunii Quadratic dac[ foaia de calcul con\ine formule complexe care sunt neliniare. Op\iunile din sec\iunea Derivatives permit specificarea metodei de derivare par\ial[ folosite. Op\iunile din sec\iunea Search permit specificarea metodei de c[utare folosit[.

Figura 12.5 caseta de dialog Solver Options

12.3. Aplicaie
O companie are trei fabrici ]n localit[\ile A, B, C. Produsele realizate ]n aceste fabrici sunt distribuite din localit[\ile S =i P. Compania analizeaz[ posibilitatea de amplasare a unui nou depozit ]n localitatea R. Analizele efectuate au stabilit urm[toarele costuri de transport: Costul Transportului ]n depozitele din: Fabrici S P R A 10 14 8 B 12 10 12 C 8 12 10 Capacit[\ile de produc\ie la fabricile din localit[\ile A, B, C sunt de 20, 30 =i 40 unit[\i pe s[pt[m`n[. Se estimeaz[ c[ depozitul din R va absolvi 20 de unit[\i pe s[pt[m`n[, iar cele din S =i P, 40 respectiv 30 de unit[\i pe s[pt[m`n[.

Utilizarea Solver-ului S[ se determine modul de distribu\ie a produselor la depozite astfel ]nc`t costurile de transport s[ fie minime. Modelul va avea 9 variabile: x1 - num[rul de produse transportate de la fabrica A la depozitul S x2 - num[rul de produse transportate de la fabrica A la depozitul P x3 - num[rul de produse transportate de la fabrica A la depozitul R x4 - num[rul de produse transportate de la fabrica B la depozitul S x5 - num[rul de produse transportate de la fabrica B la depozitul P x6 - num[rul de produse transportate de la fabrica B la depozitul R x7 - num[rul de produse transportate de la fabrica C la depozitul S x8 - num[rul de produse transportate de la fabrica C la depozitul P x9 - num[rul de produse transportate de la fabrica C la depozitul R Restric\iile modelului sunt: 1. x1x2x3<=20 (Produc\ia din fabrica A sa nu dep[=easc[ capacitatea de productie) 2. x4x5x6<=30 (Produc\ia din fabrica B sa nu dep[=easc[ capacitatea de productie) 3. x7x8x9<=40 (Produc\ia din fabrica C sa nu dep[=easc[ capacitatea de productie) C) 4. x1x4x7>=20 (numarul de produse transportate n depozitul A s fie mai mare dect cererea la depozitul respectiv) 5. x2x5x8 >=40 (numarul de produse transportate n depozitul B s fie mai mare dect cererea la depozitul respectiv ) 6. x5x6x9 >=30 (numarul de produse transportate n depozitul C s fie mai mare dect cererea la depozitul respectiv ) Functia obiectiv a modelului este minimizarea cheltuielilor de transport. Cheltuielile de transport sunt egale cu 10x114x28x312x410x512x68x712x810x9 Pentru rezolvarea acestei probleme se va configura foaia de calcul n modul urmtor (figura 12.6):

Figura 12.6

Modelarea deciziilor utiliznd foile de calcul Celulele din meniul C3:E5 vor con\ine variabilele modelului. La ]nceput aceste celule se vor completa cu date aleatoare, s[ presupunem c[ toate variabilele sunt egale cu 1. }n urma rezolv[rii problemei ]n aceste celule se va ob\ine rezultatul. }n celulele B3, B4, B5 se va calcula produc\ia total[ realizat[ ]n fiecare fabric[. }n B3 se va introduce formula =SUM(C3:E3) =i se copiaz[ formula ]n B4 =i B5. }n celulele C6, D6, E6, se va calcula produc\ia depozitat[ ]n fiecare depozit. }n celula C6 se va introduce formula =SUM(C3:C5). Aceast[ formul[ se copiaz[ ]n D6 =i E6. Celulele B10, B11, B12 vor con\ine capacit[\ile de produc\ie la fabricile A, B, C. Celulele C13, D13, E13 vor con\ine cererea la cele 3 depozite. }n domeniul C10:E12 se vor introduce cheltuielile de transport pe unitatea de produs de la fiecare fabric[ la fiecare depozit. }n celulele C15, D15, E15 se calculeaz[ cheltuielile de transport la fiecare depozit. }n celula C15 se introduce formula=C3*C10+C4*C11+C5*C12 (Num[rul de produse transportate de la fabrica A la depozitul S * cheltuielile de transport + num[rul de produse transportate de la fabrica B la depozitul S * cu cheltuielile de transport + num[rul de produse transportate de la fabrica C la depozitul S * cheltuielile de transport.). Aceast[ formul[ se copiaz[ ]n celulele d15 =i E15. }n celula B15 se vor calcula cheltuielile cu transportul. }n aceast[ celul[ se va introduce formula = SUM( C15:E15). Restric\iile problemei pentru foaia de calcul proiectat[ vor fi: 1. B3<=B10 Produc\ia din fabrica A s[ nu dep[=easc[ capacitatea de produc\ie. 2. B4<=B11 Produc\ia din fabrica B s[ nu dep[=easc[ capacitatea de produc\ie 3. B5<=B12 Produc\ia din fabrica s[ nu dep[=easc[ capacitatea de produc\ie 4. C6>=C13 s[ nu existe rupere de stoc la depozitul S 5. D6>=D13 s[ nu existe rupere de stoc la depozitul P 6. E6>=E13 s[ nu existe rupere de stoc la depozitul R 7. C3:E5>=0 Toate variabilele s[ fie numere negative Dup[ ce foaia de calcul a fost configurat[, din meniul Tools se aplic[ comanda Solver. Obiectivul problemei este minimizarea cheltuielilor totale de transport. Aceast[ valoare este calculat[ ]n celula B15, deci ]n Set Target Cell se introduce B15. Func\ia trebuie minimizat[, deci se va alege op\iunea Min. Celulele care con\in variabilele de intrare sunt ]n domeniu C3:E5, deci ]n By Changing Cells se introduce C3:E5. }n caseta Subject to the Constrains sevor introduce restric\iile problemei: Se selecteaz[ butonul Add. }n caseta Cell Reference se introduce B3. Din lista cu operatori se selecteaz[ <=. }n caseta Constraint se introduce B10. Se selecteaz[ butonul Add. }n mod similar se introduc =i celelalte restrric\ii. }n final caseta Solver va fi completat[ ca ]n figura 12.7

Utilizarea Solver-ului

Figura 12.7 Se selecteaz[ butonul Options. }n caseta de dialog Solver Options se marcheaz[ op\iunile Assume Linear Model =i Assume Non Negative. Se selecteaz[ butonul OK. }n acest moment se poate selecta ]n caseta de dialog Solver Parameters butonul Solve. }n caseta Solver Results se selecteaz[ op\iunea Keep Solver Solutions =i cele trei rapoarte. Se selecteaz[ butonul OK. Solver-ul rezolv[ problema. Rezultatul ob\inut este:se vor transporta 20 de produse de la fabrica A la depozitul R, 30 de produse de la fabrica B la depozitul P, 20 de produse de la fabrica C la depozitul S, 10 de produse de la fabrica C la depozitul P 10 de produse de la fabrica C la depozitul R.