Sunteți pe pagina 1din 16

Rezolvarea problemelor de maxim/minim - probleme de Optimizare folosind programul SOLVER 1 .20.2.

Probleme care conduc la programe lunare Exemplul 1: Folosirea eficienta a resurselor Avem la dispozitie mai multe resurse (materie prima, forta de munca, masini unelte, resurse financiare) care sunt date n cantitati limitate. Notam cu:

i = nr.ordine al resursei; bi = cantitatea disponibila din resursa i

Cu aceste resurse se pot desfasura mai multe activitati (procese de productie).

j = nr. ordine al activitatii desfasurate sau al pr 646e414g odusului fabricat

xj = nivelul (necunoscut) la care trebuie sa se desfasoare actvitatea j; de exemplu fabricarea unui anumit produs j, deci xj va fi cantitatea care se va produce.

aij = cantitatea din resursa i necesara pentru a produce o unitate din produsul j (activitatea j), adica consumul

specific pe unitatea de produs; (aici aij depinde doar de tipul produsului si de resursa si nu de cantitatile produse). Vom exprima cteva marimi: aij * xj = cantitatea de resursa i folosita pentru a produce cantitatea xj a produsului j; ai1 * x1 + ai2 * x2 + .....ain * xn = cantitatea totala din resursa i folosita pentru a produce toate produsele n cantitatile x1, x2.......xn; ai1 * x1 + ai2 * x2 + .....ain *xn bi restrictia (consumul din resursa i trebuie sa fie mai mic dect disponibilului), cu i=1,m; bi (i = 1, m) restrictiile disponibila; xj 0 restrictii de nenegativitate (4) j = 1, n cantitatea pe care o producem trebuie sa fie mai mare dect 0 . Observatii: privind limita pentru fiecare (3) resursa

i.

inecuatiile (3) se numesc restrictiile

problemei. ii. inecuatiile (4) se numesc conditii de

nenegativitate. Notam cu: cj = pretul de vnzare al unei unitati din produsul j; dj = pretul de cost al unei unitati din produsul j.

venitul total

chelutieli de productie

beneficiul = Problema care se pune:

max ( bi xj 0 (i = 1, m)

(j=1,n)

min bi (i = 1, m) xj 0 (j=1,n)

max bi (i = 1, m) xj 0 Probleme de programare liniara sau program liniar. Exemplul 2 O ntreprindere produce 3 tipuri de produse, notate cu j (j= 1,3), de exemplu TV, boxe si microfoane, realizate prin asamblarea a 5 tipuri de componente, notate cu j (= 1,5), de exemplu sasiu, tub catodic, con de microfon, fir de alimentare, componta electronica. Variabilele de decizie sunt cantitatile xj care se fabrica din fiecare produs. Se cunosc consumurile specifice aij, adica numarul de componente care intra n fiecare produs, profiturile Pj pe unitatea de produs j, stocurile disponibile Si pentru fiecare componenta i si exponentul de diminuare a venitului s (0.9).

Se cauta optimizarea productiei pentru a avea un profit maxim. 1.20.3. Rezolvarea cu EXCEL Datele problemei se introduc n celulele foii de calcul, iar programul SOLVER foloseste 4 categorii:

cu functia obiectiv f (x1.........xn), m n (pe scurt, celula obiectiv target cell);

cu variabilele independente sau altfel spus, de decizie (pe scurt, celule variabile changing cells) (x1.........xm) (m 200) ce intervin n expresia functiei obiectiv;

cu variabilele dependente (xm .1.........xn) ce se exprima n functie de cele independente;

cu restrictiile (contraints) inferioare (>=) sau de egalitate (=) asupra celulelor de orice fel, sau de tip ntreg (pentru cele cu variabilele).

Observatie:
i.

se pot defini maximum doua restrictii pentru fiecare celula variabila si maximum 100 n rest. Etapele rezolvarii:

1)

Scrierea tabelelor cu datele problemei si cu relatiile lor;

2)

Definirea si rezolvarea modelului problemei (cu ajutorul lui Solver);

3)

Generarea si interpretarea rapoartelor predefinite (cu rezultatele optimizarii);

4)

Reluarea datelor si rezultatelor sau a modelelor problemei.

1) Scrierea tabelelor cu datele problemei si relatiile lor 1.1) Se deschide un registru de lucru (worbook) nou (prin comanda File New) sau unul vechi (prin comanda File Open...). 1.2) Se denumeste foaia de lucru, se introduc si se aranjeaza datele si formulele ntr-un mod ct mai inteligibil (de preferinta, ntr-un singur tabel). 1.3) Se indica formatul elementelor tabelului (individual sau n totalitate), eventual cu ajutorul unor stiluri preformate sau al comenzii Format AutoFormat. 1.4) Se salveaza registrul prin comanda File Save sau File Save...Daca se doreste salvarea valorilor initiale ale problemei, se executa Tools Scenarios si se indica celule cu viitoarele variabile independente.

Fig. 1. Aranjarea datelor n foaia de calcul

2) Definirea si rezolvarea modelului problemei 2.1) Se executa comanda Tools Solver... si se indica n caseta Solver Parameters (figura 2) natura celulelor (cu functia obiectiv, cu variabilele de decizie), tipul optimizarii (minimizare, maximizare sau atingerea unei valori date a functiei obiectiv) si restrictiile.

Figura 2 Ultimele se pot adauga prin butonul Add si prin indicarea, n caseta Add Constraints (figura 3), a celulelor supuse restrictiilor, a naturii restrictiilor (, sau variabilele de tip ntreg) si a valorii lor, se pot modifica prin butonul Change... si se pot nlatura prin butonul Delete. Referintele absolute si mixte se indica prin simbolul $. Valorile implicite ale parametrilor se pot restabili cu ajutorul butonului Reset All. Celulele cu variabilele de decizie se pot determina automat cu ajutorul butonului Guess.

Fig. 3 2.2) Se indica, prin butonul Options... si caseta Solver Options (figura 4), modul de rezol,vare al problemei: durata maxima, numarul maxim de iteratii, precizia de satisfacere a valorii obiectiv si a restrictiilor (ntre 0 si 1), toleranta la rotunjirea variabilelor ntregi, natura explicita a modelului (liniar sau nu),

ntreruperea sau nu a rezolvarii dupa fiecare iteratie (pentru aratarea rezultatelor partiale), scalarea sau nu a valorilor variabilelor (pentru nlaturarea diferentelor prea mari ntre ordinele de marime ale datelor), initiale estimarea a folosirea extrapolarii de sau liniare (prin tangenta) sau patratice (pentru determinarea valorii variabilelor la dreapta derivatelor decizie),folosirea centrate ale (pentru functiilor), diferentelor

partiale

folosirea metodei lui Newton sau a gradientului conjugat (pentru stabilirea directiei de cautare a optimului, la fiecare iteratie).

Fig. 4 2.3) Daca se doreste salvarea modelului si a modului de rezolvare (indicate anterior n casetele Solver Parameters si Solver Options), se apasa butonul Save Model..din caseta Solver Options, indicndu-se apoi numele modelului si zona din foaia de lucru n care va fi salvat automat. Zona este formata din minimum 3 celule aranjate pe verticala, ce contin functia obiectiv, celulele variabile si optiunile de executie pentru Solver, la care se mai adauga cte o celula pentru fiecare restrictie. Daca sunt mai multe modele n aceeasi foaie, se recomanda scrierea unui test de identificare pentru fiecare zona. 2.4) Se trece la rezolvarea problemei, prin apasarea butonului Solve din caseta Solver Parameters. Rezolvarea se face prin iteratii. La fiecare iteratie, Solver foloseste (pentru recalcularea foii) un nou set de valori pentru celulele cu variabile, examinndu-se restrictiile si valoarea functiei obiectiv. Iteratiile se opresc atunci cnd:

s-a gasit o solutie cu o precizie acceptabila sau

nu mai este posibil nici un progres n calcule

sau

s-a efectuat numarul de iteratii indicat ori s-a scurs timpul de calculat alocat.

n primul caz, daca toate restrictiile si conditiile de optimalitate sunt satisfacute cu toleranta si precizia indicate, este afisat mesajul Solver found a solution, iar daca toate restrictiile sunt satisfacute, dar (din diferite motive) nu s-a gasit o solutie optima (ci doar una posibila), este afisat mesajul Solver converged to the current solution. Dupa ce rezolvarea s-a terminat, Excel afiseaza un mesaj cu urmatoarele optiuni de continuare: - se pastreaza solutia gasita de Solver; - se restabilesc valorile originale din model; se salveaza solutia ca un scenariu (apasnd butonul Save Scenario) si indicnd numele scenariuului n caseta de dialog ce apare; se genereaza unul sau mai multe din cele 3 rapoarte predefinite ale lui Solver. 3) Generarea si interpretarea rapoartelor predefinite

3.1) Se selecteaza rapoartele dorite din caseta cu numele lor (Answer, Sensibility, Limits) fig. 5; rapoartele se genereaza automat ca niste foi de lucru ale registrului, la apasarea butonului OK.

Fig. 5 3.2) Se alege foaia de lucru cu numele raportului dorit; drept urmare, continutul acesteia este afisat pe ecran. Raportul de raspuns (figura 6) contine: valoarea finala a celulei obiecitv, pentru fiecare cleula variabila - valoarea initiala si finala, iar pentru fiecare restrictie valoarea ei, formula, starea (de lipire sau de ne-lipire, dupa cum valoarea finala a celulei este egala sau nu cu valoarea initiala a restrictiei) si diferenta dintre valoarea finala si cea initiala a restrictiei.

Fig. 6 Raportul de sensibilitate difera n raport de tipul modelului (liniar sau neliniar). Pentru modelele liniare, raportul (figura 6) cuprinde, pentru fiecare celula variabila: valoarea finala (n solutia gasita), costul redus (cresterea n celula obiectiv, datorita cresterii cu o unitate a celulei variabile), coeficientul obiectivului (raportul dintre valoarea finala a celulei obiectiv si cea a variabilei), cresterea si descresterea permise (schimbarea n coeficientul obiectiv, nainte de cresterea / descresterea n valoarea optima a oricarei variabile de decizie); pentru fiecare restrictie: pretul umbra (cresterea n celula obiectiv datorita cresterii cu o unitate n partea dreapta a restrictiei), partea dreapta (right hand

R.H.) a restrictiei (valoarea atribuita initial), cresterea si descresterea permise (schimbarea n partea dreapta a restrictiei, nainte de cresterea / descresterea n valoarea optima a oricarei variabile de decizie). Pentru modele neliniare, raportul cuprinde, pentru fiecare celula variabila, gradientul redus (corespondentul costului redus de la modelele liniare), iar pentru fiecare restrictie multiplicatorul Lagrange (corespondentul pretului umbra). Raportul despre limita (figura 7) contine valoarea celulei obiectiv si, pentru fiecare variabila de decizie: valoarea finala, limita inferioaa si superioara (cea mai mica, respectiv cea mai mare valoare posibila a ei, cnd toate celelalte variabile de deicizie sunt fixe si mpreuna satisfac totusi restrictiile) si rezulattele din obiectiv (valorile functiei obiectiv) corespunzatoare acestor limite.

Fig. 7

4) Reluarea datelor si rezultatelor sau a modelelor problemei Datele initiale ale problemei, respectiv rezultatele ei (salvate ca scenariu, nainte de, respectiv dupa rezolvarea ei) se pot afisa prin executarea comenzii Tools/Scenarios....Modelele problemei (salvate naintea rezolvarii ei), se pot reexecuta (eventual, redefinite) ajutorul butonului Load Model... din caseta Solver Options, prin indicarea zonei de salvare anterioara.

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