7 Pachete Software Pentru Aplicatii Economice

7

Click here to load reader

description

SAS

Transcript of 7 Pachete Software Pentru Aplicatii Economice

Page 1: 7 Pachete Software Pentru Aplicatii Economice

Pachete software pentru aplicaţii economice

Pachete software pentru prelucrări statistice

Principii generale de utilizare a software-ului statistic

Câteva dintre etapele care sunt parcurse în utilizarea produselor software statistice pentru

rezolvarea diverselor analize statistice sunt:

Definirea variabilelor - înainte de a începe introducerea datelor este necesară definirea

variabilelor. Unele pachete software statistice realizează acest lucru în mod automat, dar

indiferent dacă o fac sau nu este preferabil ca acest lucru să fie efectuat de către

utilizatorul familiarizat cu aceste date. Numele variabilelor este deseori limitat la opt

caractere şi nu este permisă introducerea spaţiilor între acestea. Este bine ca numele

variabilelor să fie alese astfel încât să fie uşor de înţeles astfel încât seturile de date să poată

fi divizate sau concatenate fără a provoca confuzii. Multe produse program permit de

asemenea să se ataşeze variabilei descrieri textuale sub formă de etichete.

Introducerea datelor - majoritatea produselor software statistice dispun, pentru

introducerea datelor, de un ecran de tip spreadsheet. Altele pot de asemenea să importe date

din surse de date alternative, de exemplu Excel, din formate delimitate de tab-uri şi alte

formate statistice uzuale. Înainte de efectuarea analizelor statistice, utilizatorul trebuie să se

asigure de corectitudinea datelor, să verifice inexistenţa erorilor de introducere şi a

inconsistenţei datelor. Verificarea poate fi făcută direct de către utilizator dau pot fi folosite

diverse facilităţi oferite de produsele program.

Selectarea metodei statistice care va fi utilizată - înainte de începerea analizei,

utilizatorul trebuie să îşi definească clar scopul acesteia, întrebările la care trebuie să

răspundă şi care metodă sau metode statistice vor fi utilizate pentru a răspunde la aceste

întrebări. După stabilirea cerinţelor şi a metodei de rezolvare se poate trece la utilizarea

funcţiei corespunzătoare din cadrul pachetului de programe.

Execuţia funcţiei statistice adecvate din cadrul produsului program Citirea şi interpretarea rezultatelor – multe pachete de programe statistice dispun de formate de

ieşire specializate, oferă diagrame şi informaţii standard pentru fiecare test statistic, precum şi

informaţii suplimentare, afişabile în funcţie de dorinţa utilizatorului.

Programarea – dacă produsul software oferă utilizatorului funcţiile statistice şi

facilităţile necesare efectuării analizei dorite, acesta va utiliza opţiunile interfeţei standard

bazate pe meniuri şi icoane. În caz contrar, dacă produsul software oferă această

posibilitate, se poate utiliza limbajul de programare propriu acestuia. Alegerea unui mod

de lucru sau al altuia prezintă atât avantaje cât şi dezavantaje.

Utilizarea modului de lucru bazat pe meniuri şi icoane poate fi util dacă:

o Utilizatorul nu are experienţă în lucrul cu produse software statistice.

o Dacă se rezolvă analize clasice sau seturi de date predefinite.

o Dacă se rezolvă un număr limitat de teste statistice.

o Dacă testele se repetă de un număr limitat de ori.

Programarea utilizând limbajul de programare propriu al produsului software este

recomandatǎ dacă:

Page 2: 7 Pachete Software Pentru Aplicatii Economice

o datele au nevoie de prelucrări anterioare efectuării testelor

o se doreşte utilizarea repetată a anumitor comenzi sau a unor structuri ripetitive

o se doreşte utilizarea unor analize statistice speciale pentru care meniul produsului

program nu oferă funcţii predefinite

o se doreşte efectuarea aceluiaşi test de un număr foarte mare de ori sau a aceluiaşi test pe un

număr mare de variabile

o se planifică utilizarea programului de mai multe ori.

Sintaxa limbajului de programare este diferită în funcţie de pachetul de programe statistice.

În continuare sunt prezentate câteva aspecte utile folosirii acestiu mod de lucru.

Limbajele de programare se bazează pe logică. Dacă se cunoaşte un limbaj de

programare specific unui anumit produs software statistic sau un limbaj de programare

de uz general, nu este dificil de a învăţa şi utiliza limbajele specifice altor pachete de

programe.

Înainte de activitatea de programare utilizatorul trebuie dă cunoască foarte bine

metoda statistică care va fi programată

Multe produse software, care dispun de limbaje de programare, dispun şi de

şabloane standard pentru anumite teste statistice sau formate de afişarea a

rezultatelor.

Anumite pachete de programe afişează echivalentul, în comenzi ale limbajului de

programare, a lanţului de opţiuni selectate de utilizator în cadrul interfeţei pe bază de

meniu şi icoane iar alte pachete software permit salvarea lanţului de comenzi în fişier de

tip text.

Afişarea datelor – de multe ori este util ca înainte de prelucrarea lor statistică,

datele să fie vizualizate într-o formă grafică. În acest scop orice produs software

statistic oferă funcţii specifice.

Criterii de alegere a pachetelor software statistice

Când se pune problema achiziţiei unui pachet de programe principala întrebare care se

pune este “care pachet este mai bun?”. Răspunsul depinde de o serie de aspecte, cum

sunt: nivelul analizei care se va realiza, fondurile disponibile pentru achiziţionarea

produsului software, timpul disponibil pentru învăţarea modului de utilizare, nivelul de

cunoştinţe statistice al utilizatorului, ce alte produse software sunt utilizate în cercul de

cunoştinţe (deoarece poate fi necesar schimbul de experienţă sau de date).

Se poate spune că cele mai importante aspecte care trebuiesc avute în vedere la alegerea

unui pachet de programe statistice sunt: caracteristicile bazei de date utilizate, analizele

pe care le efectuează, restricţiile tehnice şi financiare, uşurinţa în utilizare, algoritmii

implementaţi precum şi flexibilitatea în adaptare şi realizarea de noi funcţiuni.

Înainte de a achiziţiona un produs software este necesar să se evalueze sistemul de baze

de date utilizat. Multe pachete de programe nu sunt capabile să manipuleze baze de date

de mari dimensiuni sau diverse tipuri de structuri de date. Elementele de care trebuie să se

ţină seama în evaluarea bazei de date sunt:

Modul în care este întreţinută baza de date - dacǎ se utilizează un software de gestiune a bazelor

de date sau pachetul software realizează singur facilităţile aferente acestuia.

Page 3: 7 Pachete Software Pentru Aplicatii Economice

Modul în care produsul accesează baza de date –dacǎ este posibil să se seteze o

conexiune ODBC („Open DataBase Connectivity”, este o metodă standard de

acces la bazele de date care face posibila accesarea oricărei date provenind din

orice aplicaţie), deci elimină necesitatea importului datelor.

Dacǎ pachetul respectiv este capabil să creeze noi variabile, grupări şi filtrări de date.

Dacǎ pachetul software este capabil să citească diverse formate ale diverselor

tipuri de date, de exemplu data calendaristică?

Cât de mare este baza de date care va fi analizată prin intermediul pachetului

software - va fi capabil acesta să manipuleze aceste date?

Deşi toate produsele software sunt capabile să genereze informaţii statistice descriptive şi testele de

bază, capacitatea de a efectua analize statistice complexe variază de la un produs la altul. Diversele

produse program, utilizate pentru a realiza efectuarea acestor analize, necesită achiziţionarea de

module sau programe adiţionale. Aceste pachete pot fi mai costisitoare, dar permit utilizatorului să

achiziţioneze numai programele de care are nevoie şi să-şi expandeze pachetul în momentul în care

apare necesitatea unor analize suplimentare.

Un alt aspect de care trebuie să se ţină seama la achiziţionarea unui produs statistic este

capacitatea acestuia de a afişa rezultatele şi facilităţile grafice pe care le oferă. Dacă

produsul realizează rapoarte şi graficele de calitate, este posibil să nu mai fie necesară

utilizarea unui alt pachet de programe.

Alegerea unui produs software poate fi influenţată de resursele hardware şi de sistemul de

operare de care dispune sistemul de calcul pe care va fi utilizat acesta, de resursele umane şi

financiare existente. Aspectele de care este bine să se ţină cont sunt:

sistemul de operare utilizat în mod curent (Unix, Windows, Linux etc.);

cerinţele hardware ale produsului software statistic;

măsura în care sunt satisfăcute cerinţele referitoare la procesor şi spaţiu pe harddisk.

Alt aspect important îl reprezintă experienţa personalului – dacă personalul care va

utiliza produsul program deţine cunoştinţele necesare utilizării acestuia sau va apărea

necesitatea şcolarizării, eventual angajării unui personal specializat.

Din punct de vedere financiar, se va ţine seama de costul maxim de achiziţie a produsului

software şi eventual al licenţelor anuale, precum şi dacă vor fi necesare îmbunătăţirea

echipamentului de calcul, instruirea personalului sau angajări suplimentare.

Un produs software a cărui interfaţă a fost proiectată să fie în mod exclusiv prietenoasă

poate fi în fapt extrem de inflexibil, atunci când utilizatorii sunt obligaţi să folosească un set

de rapoarte şi grafice predefinite. Cea mai bună soluţie o reprezintă un produs care să ofere

atât un acces rapid şi uşor la cele mai utilizate funcţii (citirea datelor şi crearea graficelor

standard) cât şi flexibilitatea de a adapta task-urile existente şi de a realiza altele noi care să

corespundă cerinţelor utilizatorilor.

Datorită cerinţelor în continuă schimbare în domeniul cercetărilor statistice precum şi a naturii

dinamice a dezvoltării statisticii, multe produse software nu sunt suficient de cuprinzătoare pentru

a satisface necesităţile utilizatorilor. O întrebare importantă este dacă produsul program evaluat

Page 4: 7 Pachete Software Pentru Aplicatii Economice

este capabil să incorporeze noi metode statistice, pe măsura apariţiei acestora, prin utilizarea

unui limbaj de programare propriu pachetului. Din acest punct de vedere cea mai bună soluţie

este un sistem bazat pe meniuri, pentru funcţiile standard, combinat cu un limbaj de programare

puternic pentru a realiza funcţiile speciale de analiză a datelor.

Produsul software trebuie să fie util şi să poată fi folosit de diverse tipuri de utilizatori,

diferite din punct de vedere al gradului de pregătire statistică şi din punct de vedere al

domeniului statistic abordat. Anumite produse software oferă utilizatorului posibilitatea

de a dezvolta propria lui aplicaţie folosind componentele predefinite ale produsului

software.

O mare importanţă o are, de asemenea, implicaţiile algoritmilor şi a modului de

organizare şi de structurarea a datelor asupra funcţiilor statistice conţinute de pachetul

software, precum şi posibilitatea de integrare cu mediul utilizatorului şi cu alte

produse software. De multe ori utilizatorul doreşte să analizeze din punct de vedere

statistic seturi de date produse de diverse alte pachete de programe pe care le deţine. Este

de dorit ca produsul software să poată fi integrat cu uşurinţă, fără a necesita cunoştinţe

deosebite de informatică.

Pachete software pentru optimizări şi asistarea

deciziei

Piaţa aplicaţiilor software pentru optimizări sau pentru asistarea deciziei, cuprinde o

ofertă vastă şi foarte variată, numărul de producători fiind de asemenea mare. Asociaţia

INFORMS (Institute for Operations Research and the Management Sciences) din SUA

menţine un catalog de astfel de produse, care cuprinde peste 150 de aplicaţii oferite de

către mai mult de 80 de producători.

Pachetele pentru optimizări sunt specializate pentru anumite tipuri de probleme, din

categorii ca: programare liniară şi în numere întregi, programare neliniară, planificarea

producţiei, transport, rute şi logistică. O categorie diferită se axează pe limbaje de

modelare, care permit formularea modelelor de lucru.

Pachetele de optimizări se mai pot diferenţia după:

tipul de licenţă: pachete comerciale sau gratuite (mai rar întâlnite);

adresabilitate: pentru scopuri educaţionale sau pentru utilizare în context real;

grad generalitate/particularitate: pachete care rezolvă probleme cu formulare generală sau

pachete dezvoltate pentru necesităţile specifice ale unui utilizator;

Principalele activităţi în rezolvarea unei probleme de optimizare sunt:

definirea componentelor modelului – variabile, funcţii obiectiv, restricţii

colectarea datelor necesare modelului

rezolvarea instanţei/ instanţelor modelului

rapoarte şi analiza rezultatelor

gestiunea versiunilor modelului şi a scenariilor de date

Page 5: 7 Pachete Software Pentru Aplicatii Economice

Pachetele existente pot informatiza numai unele dintre aceste activităţi, iar gradul de

suport informatic este diferit. Adesea sunt necesare programe suplimentare pentru

pregătirea datelor de intrare în formatul specificat de aplicaţie (solver).

Modul de exprimare a problemelor

Problemele de optimizare sunt exprimate, în vederea procesării 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ă, utilizând 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 optimizări, fie de tip general, cu utilizarea

unei biblioteci de clase sau funcţii de optimizare.

Privind datele de lucru, aplicaţiile au de regulă un format propriu de memorare în fişiere,

dar pot importa date şi din alte surse (baze de date sau tabele de tip Excel).

Modul de rezolvare a problemelor

Majoritatea pachetelor de optimizare oferă posibilitatea de selecţie a modului de

rezolvare printr-un solver (rezolvator). Selectarea solver-ului corespunzător se face pe

baza algoritmului utilizat la rezolvare. Informaţii privind algoritmii disponibili sunt puse

la dispoziţie de către producător, dar este utilă şi consultarea unor surse independente

(experţi în algoritmi).

Câteva reguli orientative pot fi utile în acest proces de selecţie. De exemplu, dimensiunea

problemei şi caracterul liniar sau neliniar al acesteia pot constitui criterii grosiere. Ideal

este ca decizia să se ia pe baza experienţei de utilizare a algoritmilor cu probleme reale.

Astfel, nu doar viteza de execuţie este importantă, ci fiabilitatea şi calitatea soluţiilor.

Anterior, conceptele de solver şi algoritm au fost considerate sinonime; de fapt, un solver conţine

de regulă mai mulţi algoritmi, într-o anumită configuraţie, care influenţează şi preţul de vânzare.

De asemenea, algoritmii au o serie de parametri care pot influenţa radical performanţele şi

calitatea soluţiei. Aceşti parametri sunt setaţi iniţial pe valori stabilite prin teste, dar pot fi

neadecvaţi pentru alte categorii de probleme, în special pentru cele neliniare şi în numere întregi,

cu număr mare de iteraţii.

Procesul de selecţie a unui solver cuprinde în mare următorii paşi:

- formularea modelului problemei de rezolvat

- colectarea datelor de intrare

- selectarea unui algoritm adecvat

Este important de menţionat că formularea modelului problemei joacă un rol cel puţin la

fel de important ca şi selecţia algoritmului în alegerea unui solver. Dacă modelul

problemei corespunde unei clase standardizate de probleme, se poate găsi un solver deja

disponibil. În schimb, dacă problema nu se înscrie în categoriile acoperite de pachetele

Page 6: 7 Pachete Software Pentru Aplicatii Economice

software, este necesar să se descompună problema în subprobleme mai simple, sau să se

simplifice problema existentă, pentru a putea găsi un solver potrivit. Cel mai adesea acest

lucru este necesar pentru probleme complexe de natură discretă sau combinatorială. Deşi

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 soluţii

cu costuri rezonabile. Dată fiind apariţia continuă de noi abordări, se recomandă

selectarea unui solver pe baza unui benchmarking al soluţiilor existente.

Modul de vizualizare şi analizare a rezultatelor

Pachetele pentru optimizări diferă considerabil din punct de vedere al facilităţilor de prezentare

a rezultatelor, ca funcţii şi format de prezentare; facilităţile de export al datelor şi rezultatelor în

formate specifice altor aplicaţii diferă de asemenea.

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 funcţiei obiectiv pot necesita examinarea unor seturi de variabile şi a relaţiilor sau

restricţiilor dintre acestea. Este deci necesar un mecanism flexibil de afişare rapidă,

interactivă a acestor elemente, fie prin intermendiul unei interfeţe grafice, fie prin

comenzi. Pentru utilizarea curentă (frecventă) a modelelor sunt necesare facilităţi de

machetare/formatare a rezultatelor, care să poată fi reutilizate pentru un număr mare de

rulări ale modelului. În acest caz, interfaţa 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 rândurile, pentru o înţelegere uşoară a datelor; deasemenea, trebuie să se

poată preciza alinierea datelor, precizia afişării (ca număr 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 uşor de

înţeles şi de modificat decât în cazul comenzilor de procesare a datelor.

Pachetele de optimizări trebuie să facă mai mult decât simpla afişare 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

uşor de înţeles. De regulă, datele care prezintă interes rezultă din calcule bazate pe

combinaţii de variabile şi date. De exemplu, pentru a evalua efectul restricţiilor de

capacitate trebuie vizualizat procentul de utilizare a capacităţilor, ca funcţie dependentă

de constante de capacitate şi expresii liniare care descriu utilizarea capacităţilor. Cel mai

atractiv mod de asigurare a acestei flexibilităţi este afişarea expresiilor formate din date şi

variabile. Sistemele bazate pe limbaje de modelare algebrică pot oferi avantaje, deoarece

conţin o mare varietate de expresii pentru specificarea modelelor. Pe lângă numărul mare,

rezultatele unei rulări de optimizare sunt adesea exprimate în mod indexat. Aplicaţiile

existente prezintă diferenţe î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ă opţiuni de ieşire sub formă de text, iar unele au şi facilităţi grafice.

Aceste date de ieşire pot fi eventual exportate în alte formate, mai ales pentru programe

de calcul tabelar şi baze de date. Alte pachete conţin instrumente sofisticate de

manipulare a datelor şi raportare cunoscute celor mai mulţi utilizatori de modele de

optimizare.

Page 7: 7 Pachete Software Pentru Aplicatii Economice

Asistenţa în diagnosticarea erorilor

Erorile din modelele de optimizare pot fi foarte greu de identificat, deoarece prezenţa lor

se manifestă de obicei indirect, prin deficienţe ale soluţiei obţinute. Printr-un limbaj de

modelare sau printr-o interfaţă grafică adecvată se poate facilita evitarea erorilor; atunci

când se generează un model pentru solver se urmăreşte o construire a modelului clară şi

corectă şi verificarea unor erori frecvente. Erorile care totuşi apar pot fi mai uşor

identificate dacă limbajul sau interfaţa reprezintă un mod natural de elaborare a

modelelor. În procesul dce căutare a erorilor este util un mediu interactiv care să permită

manipularea şi afişarea facilă a datelor şi rezultatelor. Este utilă şi facilitatea de afişare a

restricţiilor 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.

Deşi aplicaţiile actuale nu sunt la fel de sofisticate, unele oferă posibilitatea de execuţie

pas cu pas a instrucţiunilor programului. Facilităţile de depanare din cadrul solver-elor

constau în principal din mesaje de avertizare cu privire la situaţii de excepţie, de ex.

nemărginire sau nefezabilitate. Unele oferă legături la rutine algoritmice suplimentare,

care pot localiza restricţiile nefezabile, triviale sau redundante.

Asistarea managementului modelelor

Versiunile unui model şi colecţiile de date sunt memorate în fişiere de date. Cele mai

multe pachete de optimizări au funcţii de gestiune a acestor fişiere, prin convenţii de

nume şi indexare. În unele cazuri există facilităţi avansate de management al modelelor,

care uşurează gestiunea acestor date. În cursul dezvoltării unui model se vor elabora o

serie de versiuni ale acestuia; la fel în cazul aplicării modelelor strategice, care presupun

multe modificări. În mod similar pot fi considerate versiuni multiple ale datelor de lucru,

denumite şi cazuri sau scenarii. Câteva pachete de optimizare permit gestiunea acestora

sub formă de listă sau arbore, împreună cu comentarii, soluţii şi alte informaţii. În plus,

aceste pachete pot afişa aceste structuri în mod comparativ, pentru evidenţierea

diferenţelor dintre modele şi pentru crearea de noi versiuni pornind de la un anumit nod

din structura arborescentă. Spaţiul de stocare utilizat poate fi optimizat prin memorarea

diferenţelor dintre versiuni înrudite. Pe baza acestei facilităţi, un pachet de optimizări

poate selecta un optim pe baza mai multor scenarii cu probabilităţi ataşate; rezultatele

acestei programări stohastice sau optimizări robuste pot genera rezultate mai realiste

pentru aplicaţiile de planificare.

Un alt gen de facilităţi pentru managementul modelelor este necesar pentru

implementarea schemelor iterative de ansamblu, bazate pe descompunere, generarea de

coloane, relaxare şi alte principii similare. În aplicaţiile care conţin un limbaj de modelare

cu posibilităţi de programare, schemele iterative pot fi implementate prin definirea mai

multor modele care sunt rezolvate prin alternare: după rezolvarea unei instanţe a

modelului, datele rezultate sunt utilizate pentru ajustarea sau completarea datelor

celorlalte instanţe. Pentru a sprijini această activitate, unele sisteme au facilităţi de

denumire a modelelor şi de comutare între ele prin nume, astfel că variabilele unui model

sunt menţinute în timp ce alt model este rulat pentru optimizare.