7 Pachete Software Pentru Aplicatii Economice
Click here to load reader
-
Upload
catalin4ever -
Category
Documents
-
view
71 -
download
0
description
Transcript of 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ă:
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.
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
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
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
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.
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.