Sunteți pe pagina 1din 4

Pachete Software CSIE, ID, anul III

Pachete software pentru optimizri


Piaa aplicaiilor software pentru optimizri cuprinde o ofert vast i foarte variat, numrul de productori fiind deasmenea mare. Asociaia INFORMS (Institute for Operations Research and the Management Sciences) din SUA menine un catalog de astfel de produse, care cuprinde peste 150 de aplicaii oferite de ctre mai mult de 80 de productori. Pachetele pentru optimizri sunt specializate pentru anumite tipuri de probleme, din categorii ca: programare liniar i n numere ntregi, programare neliniar, planificarea produciei, tranport, rute i logistic. O categorie diferit se axeaz pe limbaje de modelare, care permit formularea modelelor de lucru. Pachetele de optimizri se mai pot diferenia dup: tipul de licen: pachete comerciale sau gratuite (mai rar ntlnite); adresabilitate: pentru scopuri educaionale sau pentru utilizare n context real; grad generalitate/particularitate: pachete care rezolv probleme cu formulare general sau pachete dezvoltate pentru necesitile specifice ale unui utilizator; Principalele activiti n rezolvarea unei probleme de optimizare sunt: definirea componentelor modelului variabile, funcii obiectiv, restricii colectarea datelor necesare modelului rezolvarea instanei/ instanelor modelului rapoarte i analiza rezultatelor gestiunea versiunilor modelului i a scenariilor de date Pachetele existente pot informatiza numai unele dintre aceste activiti, iar gradul de suport informatic este diferit. Adesea sunt necesare programe suplimentare pentru pregtirea datelor de intrare n formatul specificat de aplicaie (solver). Modul de exprimare a problemelor Problemele de optimizare sunt exprimate, n vederea procesrii cu calculatorul, n dou componente: modelul simbolic i datele de lucru. Exprimarea modelelor se poate face n mai multe moduri: reprezentare declarativ descrierea componentelor modelului, care poate fi o textual, utiliznd un limbaj specializat o grafic, ce permite utilizarea de simboluri prin editoare specializate; de ex. sunt editoare pentru grafuri; reprezentare procedural descrierea procesului de rezolvare a problemei sub forma unui program, fie dedicat pentru optimizri, fie de tip general, cu utilizarea unei biblioteci de clase sau funcii de optimizare. Privind datele de lucru, aplicaiile au de regul un format propriu de memorare n fiiere, dar pot importa date i din alte surse (baze de date sau tabele de tip Excel).

Pachete Software CSIE, ID, anul III Modul de rezolvare a problemelor Majoritatea pachetelor de optimizare ofer posibilitatea de selecie a modului de rezolvare printr-un solver (rezolvitor). Selectarea solver-ului corespunztor se face pe baza algoritmului utilizat la rezolvare. Informaii privind algoritmii disponibili sunt puse la dispoziie de ctre productor, dar este util i consultarea unor surse independente (experi n algoritmi). Cteva reguli orientative pot fi utile n acest proces de selecie. De exemplu, dimensiunea problemei i caracterul liniar sau neliniar al acesteia pot constitui criterii grosiere. Ideal este ca decizia s se ia pe baza experienei de utilizare a algoritmilor cu probleme reale. Astfel, nu doar viteza de execuie este important, ci fiabilitatea i calitatea soluiilor. Anterior, conceptele de solver i algoritm au fost considerate sinonime; de fapt, un solver conine de regul mai muli algoritmi, ntr-o anumit configuraie, care influeneaz i preul de vnzare. De asemenea, algoritmii au o serie de parametri care pot influena radical performanele i calitatea soluiei. Aceti parametri sunt setai iniial pe valori stabilite prin teste, dar pot fi neadecvai pentru alte categorii de probleme, n special pentru cele neliniare i n numere ntregi, cu numr mare de iteraii. Procesul de selecie a unui solver cuprinde n mare urmtorii pai: - formularea modelului problemei de rezolvat - colectarea datelor de intrare - selectarea unui algoritm adecvat Este important de menionat c formularea modelului problemei joac un rol cel puin la fel de important ca i selecia algoritmului n alegerea unui solver. Dac modelul problemei corespunde unei clase standardizate de probleme, se poate gsi un solver deja disponibil. n schimb, dac problema nu se nscrie n categoriile acoperite de pachetele software, este necesar s se descompun problema n subprobleme mai simple, sau s se simplifice problema existent, pentru a putea gsi un solver potrivit. Cel mai adesea acest lucru este necesar pentru probleme complexe de natur discret sau combinatorial. Dei o mare parte din problemele de optimizare sunt n continuare prea complexe sau greu de rezolvat, pe baza progreselor din domeniul matematicii i informaticii exist multe soluii cu costuri rezonabile. Dat fiind apariia continu de noi abordri, se recomand selectarea unui solver pe baza unui benchmarking al soluiilor existente. Modul de vizualizare i analizare a rezultatelor Pachetele pentru optimizri difer considerabil din punct de vedere al facilitilor de prezentare a rezultatelor, ca funcii i format de prezentare; facilitile de export al datelor i rezultatelor n formate specifice altor aplicaii difer deasemenea.

Pachete Software CSIE, ID, anul III Procesul de contruire i testare a modelelor presupune posibilitatea de a selecta i examina rezultatele n diferite moduri, care uneori nu pot fi anticipate. Valori neadecvate ale funciei obiectiv pot necesita examinarea unor seturi de variabile i a relaiilor sau restriciilor dintre acestea. Este deci necesar un mecanism flexibil de afiare rapid, interactiv a acestor elemente, fie prin intermendiul unei interfee grafice, fie prin comenzi. Pentru utilizarea curent (frecvent) a modelelor sunt necesare faciliti de machetare/formatare a rezultatelor, care s poat fi reutilizate pentru un numr mare de rulri ale modelului. n acest caz, interfaa cu utilizatorul poate fi mai complex, dar acest aspect este acceptabil. De exemplu, n tabele bidimensionale trebuie s se poat edita capul de tabel i rndurile, pentru o nelegere uoar a datelor; deasemenea, trebuie s se poat preciza alinierea datelor, precizia afirii (ca numr de zecimale) etc. Utilizatorii pot specifica aceste aspecte fie prin iruri de caractere cu rol de formatare, fie prin limbajul de comand pentru generarea rezultatelor; sintaxa acestora poate fi mai uor de neles i de modificat dect n cazul comenzilor de procesare a datelor. Pachetele de optimizri trebuie s fac mai mult dect simpla afiare a rezultatelor elaborate de solver. Problemele de optimizare sunt adesea de mari dimensiuni, cu sute sau mii de variabile, astfel c rezultatele trebuiesc sintetizate n forme mai sumare i mai uor de neles. De regul, datele care prezint interes rezult din calcule bazate pe combinaii de variabile i date. De exemplu, pentru a evalua efectul restriciilor de capacitate trebuie vizualizat procentul de utilizare a capacitilor, ca funcie dependent de constante de capacitate i expresii liniare care descriu utilizarea capacitilor. Cel mai atractiv mod de asigurare a acestei flexibiliti este afiarea expresiilor formate din date i variabile. Sistemele bazate pe limbaje de modelare algebric pot oferi avantaje, deoarece conin o mare varietate de expresii pentru specificarea modelelor. Pe lng numrul mare, rezultatele unei rulri de optimizare sunt adesea exprimate n mod indexat. Aplicaiile existente prezint diferene n modul de specificare a indicilor pe linii i coloane, sau a celor care segmenteaz datele pe mai mult de dou dimensiuni. Toate pachetele ofer opiuni de ieire sub form de text, iar unele au i faciliti grafice. Aceste date de ieire pot fi eventual exportate n alte formate, mai ales pentru programe de calcul tabelar i baze de date. Alte pachete conin instrumente sofisticate de manipulare a datelor i raportare cunoscute celor mai muli utilizatori de modele de optimizare. Asistena n diagnosticarea erorilor Erorile din modelele de optimizare pot fi foarte greu de identificat, deoarece prezena lor se manifest de obicei indirect, prin deficiene ale soluiei obinute. Printr-un limbaj de modelare sau printr-o interfa grafic adecvat se poate facilita evitarea erorilor; atunci cnd se genereaz un model pentru solver se urmrete o construire a modelului clar i corect i verificarea unor erori frecvente. Erorile care totui apar pot fi mai uor identificate dac limbajul sau interfaa reprezint un mod natural de elaborare a modelelor. n procesul dce cutare a erorilor este util un mediu interactiv care s permit

Pachete Software CSIE, ID, anul III manipularea i afiarea facil a datelor i rezultatelor. Este util i facilitatea de afiare a restriciilor explicite generate pe baza unui model i a datelor de lucru. n cazul sistemelor care ofer un limbaj procedural specializat ar fi de dorit s existe un instrument de depanare (debugger) similar celor din mediile de programare de uz general. Dei aplicaiile actuale nu sunt la fel de sofisticate, unele ofer posibilitatea de execuie pas cu pas a instruciunilor programului. Facilitile de depanare din cadrul solver-elor constau n principal din mesaje de avertizare cu privire la situaii de excepie, de ex. nemrginire sau nefezabilitate. Unele ofer legturi la rutine algoritmice suplimentare, care pot localiza restriciile nefezabile, triviale sau redundante. Asistarea managementului modelelor Versiunile unui model i coleciile de date sunt memorate n fiiere de date. Cele mai multe pachete de optimizri au funcii de gestiune a acestor fiiere, prin convenii de nume i indexare. n unele cazuri exist faciliti avansate de management al modelelor, care uureaz gestiunea acestor date. n cursul dezvoltrii unui model se vor elabora o serie de versiuni ale acestuia; la fel n cazul aplicrii modelelor strategice, care presupun multe modificri. n mod similar pot fi considerate versiuni multiple ale datelor de lucru, denumite i cazuri sau scenarii. Cteva pachete de optimizare permit gestiunea acestora sub form de list sau arbore, mpreun cu comentarii, soluii i alte informaii. n plus, aceste pachete pot afia aceste structuri n mod comparativ, pentru evidenierea diferenelor dintre modele i pentru crearea de noi versiuni pornind de la un anumit nod din structura arborescent. Spaiul de stocare utilizat poate fi optimizat prin memorarea diferenelor dintre versiuni nrudite. Pe baza acestei faciliti, un pachet de optimizri poate selecta un optim pe baza mai multor scenarii cu probabiliti ataate; rezultatele acestei programri stohastice sau optimizri robuste pot genera rezultate mai realiste pentru aplicaiile de planificare. Un alt gen de faciliti pentru managementul modelelor este necesar pentru implementarea schemelor iterative de ansamblu, bazate pe descompunere, generarea de coloane, relaxare i alte principii similare. n aplicaiile care conin un limbaj de modelare cu posibiliti de programare, schemele iterative pot fi implementate prin definirea mai multor modele care sunt rezolvate prin alternare: dup rezolvarea unei instane a modelului, datele rezultate sunt utilizate pentru ajustarea sau completarea datelor celorlalte instane. Pentru a sprijini aceast activitate, unele sisteme au faciliti de denumire a modelelor i de comutare ntre ele prin nume, astfel c variabilele unui model sunt meninute n timp ce alt model este rulat pentru optimizare.

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