Sunteți pe pagina 1din 78

ACADEMIA DE STUDII ECONOMICE BUCURETI FACULTATEA CIBERNETIC STATISTIC I INFORMATIC ECONOMIC

MODELAREA PIEELOR VIRTUALE CU APLICAII N DEFINIREA STRATEGIILOR DE MARKETING

Coordonator tiinific: Prof. univ. dr. EMIL SCARLAT Absolvent: CORINA-MDLINA HAITA

BUCURETI 2003

Cuprins
INTRODUCERE...3 CAPITOLUL I: PIEE VIRTUALE..5 1.1 1.2 1.3 Ce sunt pieele virtuale?...5 Agenii pieelor virtuale6 Instrumente folosite n modelarea pieelor virtuale 10 1.3.1 1.3.2 1.4 1.5 Algoritmi genetici...10 Reele neuronale.Reele feedforward..13

Utilitatea pieelor virtuale..17 Programe i strategii de pre..21

CAPITOLUL II: Model de pia artificial pentru piaa bunurilor i serviciilor..27 2.1 Agenii i strategiile.27 2.1.1 2.1.2 2.2 Modelarea agenilor artificiali.27 Model al unei strategii de negociere ntr-o pia virtual...30

Modelul pieei .33

CAPITOLUL III: Aplicaie: Construirea pieei virtuale a berii39 3.1 Descrierea modelului..39 3.2 Experimentul46 Anexa 1..56 Anexa 2..58 Bibliografie....77

INTRODUCERE Dei nc nu exist o definiie unanim acceptat a pieei, este totui acceptat faptul c piaa este motorul care pune n micare orice economie denumit, de altfel, economie de pia i aceasta deoarece pe pia se ntlnesc cei ce au nevoie de bunuri i servicii de toate felurile cu cei ce le produc crendu-se n acest fel valoare. Piaa, n sens general, este estura care se formeaz din relaiile cumprtorilor cu vnztorii i produsele care se schimb. Fiecare pia are particularitile ei n funcie de tipul acestor relaii, de produsul schimbat, de numrul agenilor cumprtori i vnztori i de modul n care se formeaz preul. Pieele pot fi clasificate n funcie de multe criterii. Un criteriu l reprezint produsele care se schimb. Astfel, fiecare produs sau serviciu constiutie o pia particular. Exist n acest fel piaa cerealelor, piaa mobilei, piaa autoturismelor etc. Alte criterii de clasificare pot fi: calitatea vnztorului sau cumprtorului (ex. piaa creditelor pentru firmele particulare, piaa inginerilor); localizare geografic (spaiul n care se ntlnesc cumprtorii i vnztorii). O pia este caracterizat, indiferent de modul n care o definim de trei elemente: structura pieei, extinderea pieei i performanele pieei. Structura pieei este un element care se refer la natura i gradul de competiie de pe o pia particular, competiie determinat de numrul agenilor i de mulimea interdependenelor dintre ei. Determinant pentru tipologia structurii de pia este numrul agenilor activi pe pia. Astfel exist urmtoarele structuri de pia: Numar vnztori Mare Numr cumprtori Mare Concuren
Perfect Oligopol Oligopol bilateral Monopson concurenial Monopol Concuren monopolist Monopol bilateral

Mic

Unic

Mic Oligopson Unic Monopson

Extinderea pieei este un element care se refer la limitrile, mai ales de natur georgrafic, ale pieei care cuprind grupuri specifice de vnztori, cumprtori i mrfuri. Performanele pieei (preuri, cantiti, canlitatea produselor) sunt cele care determin

extinderea pieei deoarece cu cu ct acestea sunt mai favorabile, cu att piaa se extinde mai mult i mai repede. n general, o firm care-i vinde produsele la un pre mai mic dect cel al concurenei i va extinde mai repede piaa. Performanele pieei se refer la rezultatele obinute n urma fucionrii pieei respective: preuri, cantiti comercializate, calitatea produselor, profitabilitatea productorilor, gradul de satisfacie al consumatorilor etc. Dintre aceste caracteristici cea mai important este preul pieei. Oricare ar fi piaa pe care o avem n vedere, ea se regleaz prin intermediul preului, fie c acesta se numete pre, n cazul pieei bunurilor i serviciilor, salariu, n cazul pieei muncii, rent sau chirie n cazul pieei inputurilor, rata dobnzii atunci cnd ne referim la piaa financiar sau rat de schimb dac ne referim la piaa valutar. Preul, indiferent de forma pe care o ia, ndeplinete, pe lng funcia de instrument de reglare, i alte trei funcii importante: -preurile sunt purttoare de informaie, adic ele conin informaia necesar pentru fundamentarea deciziilor productorilor cu privire la cantitatea produs i a consumatorilor cu privire la cantitatea consumat. Aceste decizii sunt luate n funcie de evoluia trecut a preului. -preurile protejeaz resursele rare. Exist produse care se realizeaz cu un consum de resurse rare lucru care determin producerea lor n cantiti mici. Dac preul lor ar fi mic cererea din aceste produse ar fi mare. Raritatea resurselor necesare producerii ar face ins imposibil satisfacerea integral a cererii. n acest caz preul joac un rol de instrument de raionalizare. Oricine este dispus s plteasc preul de echilibru l obine. -preurile determin repartizarea veniturilor. Veniturile indivizilor depind de preul factorilor de producie, iar veniturile la rndul lor determin cererea de produse pe pia. Deci preurile determin cererea i oferta de factori, deci i nivelul produciei.

Capitolul I , Piee virtuale

CAPITOLUL I

PIEE VIRTUALE 1.1 CE SUNT PIEELE VIRTUALE?


Pieele virtuale sunt, n esen, piee artificiale construite cu ajutorul modelelor bazate pe ageni. Mare parte din munca modelrii bazate pe ageni are n vedere modul n care ageni simpli sau mecanisme de pia pot rezolva sarcini complexe cu ageni care se comport independent fr un mecanism de control central. n sistemele economice aceste principii ale autoorganizrii au fost descoperite de ceva timp. Un agent este un program software autonom care realizeaz nite activiti pentru un utilizator sau pentru un alt proces.[5] Agenii inteligeni pot varia de la simple reguli predefinite pn la maini de deducie de inteligen artificial cu autonvare. Agenii pot coopera ntre ei, pot executa operaii sincrone sau asincrone i pot migra ctre noduri de la distan cu scopul de a-i ndeplini sarcina (Agenii Mobili). Utilizarea agenilor n economie i n alte tiine sociale difer de cea din aplicaiile mai practice din informatic i inginerie. n sistemele sociale accentul se pune pe construirea a ceva ce reflect realitatea ca opus gsirii soluiei optimale. Un agent are nevoie de un mediu de execuie al agentului(AEE-Agent Execution Environment) pentru a putea exista. Unele dintre cele mai cunoscute AEE-uri sunt Odyssey de la General Magic, Concordia de la Mitsubishi, Agglets de la IBM. Majoritatea acestor medii sunt implementate n Java i aceasta deoarece Java este un limbaj independent de platform, astfel nct uureaz probleme precum execuia de la distan i migraia. De asemenea furnizeaz o interfa de aplicaie (API) foarte bogat cu faciliti de dezvoltare a aplicaiilor bazate pe ageni. ntr-o pia construit pe computer, agenii pieei interacioneaz cu ali ageni n primul rnd prin schimbul de bunuri i servicii. Datorit unui cadru economic bine dezvoltat, putem obine o surs bogat de instrumente analitice i tehnici teoretice pentru proiectarea agenilor individuali i previzionarea comportamentului agregat. Pentru cele mai limitate domenii de probleme statice, proiectarea unei piee construit pe calculator este relativ simpl. Probleme apar n ncercarea de a proiecta economii construite pe

Capitolul I , Piee virtuale

computer pentru domenii largi i medii dinamice. Aceste probleme includ modul n care sunt specificate schimburile de bunuri i servicii, cum ar trebui aceste piee bazate pe ageni s-i stabileasc politicile de schimb, i cum mecanismele de pia construite cu ajutorul computerului adecvate mediilor idealizate pot fi adaptate s lucreze ntr-o clas mai larg de medii neidealizate. n mod clar exist diferene ntre o pia artificial i una real. Se pune ns problema care sunt aceste diferene? n primul rnd, o pia artificial este un sistem nchis, bunurile nu sunt convertibile n ceva din lumea real. Pieele reale sunt sisteme deschisebunurile pot fi schimbate cu lucruri din lumea real (bani sau resurse). Economiile artificiale constau de obicei din ageni care se afl sub controlul proiectantului de sistem. Se poate astfel presupune c toi agenii acioneaz dup regulile stabilite de acesta. n plus cel care proiecteaz piaa artificial are controlul asupra tuturor parametrilor pieei: care sunt bunurile de pe pia, cum sunt ele schimbate, supravegherea tranzaciilor.

1.2 AGENII PIEELOR VIRTUALE


Ideea unui program orientat pe pia este de a rezolva problema alocrii resurselor distribuite formulnd o economie construit pe computer i gsindu-i echilibrul competitiv. Pentru a formula o problem cum este economia construit pe calculator, trebuie s modelm activitile de interes n termeni de productie i consum de bunuri i s definim un set de ageni ce aleg strategii de producie i consum bazate pe propriile capaciti i preferine i pe preurile pieei [12]. AGENI RAIONALI Pentru a aciona n conformitate cu teoria comportamentului competitiv, agenii trebuie s adere la anumite condiii de raionalitate. Agenii consumatori sunt nzestrai cu o cantitate de bunuri iniial i sunt angajai n schimburi astfel nct s-i maximizeze utilitatea. Agenilor productori le este asociat o tehnologie, care specific abilitatea de a transforma nite bunuri n alte bunuri. Singurul obiectiv al productorilor este s aleag o activitate din tehnologia lor astfel nct s maximizeze profitul. Din perspectiva agenilor, starea lumii este complet descris de micarea preurilor; de aceea, preul determin comportamentele maximizante. Aceast aranjare este extrem de modular, deorece agenii nu au nevoie n mod expres s ia n considerare preferinele i capacitile celorlali, iar comunicarea const exclusiv n oferta de a schimba bunuri la diferite preuri.

Capitolul I , Piee virtuale

Calitatea soluiilor de pia depinde de muli factori, inclusiv de comportamentul agenilor. n particular, unele dintre cele mai desirabile proprieti ale mecanismelor de coordonare a pieei depind de presupunerea comportamentului competitiv al agenilor (n special productori). Dar de vreme ce diferii ageni ar putea fi construii de companii sau indivizi diferii, n general este nerealist s presupunem c toi se comport n conformitate cu o astfel de strategie. Ceea ce se poate face este construirea unei structuri de pia care favorizeaz comportamentul competitiv, furniznd stimuleni agenilor pentru a se comporta competitiv. Este inerent din perspectiva economic s considerm c entitile participante sunt concepute ca ageni raionali. ntr-adevr, raionalitatea este una din caracteristicile principale care distinge economia de alte discipline sociale. n acest sens, economia i inteligena artificial sunt aliai naturali, deoarece inteligena artificial este ramura informaticii care ia noiunea de raionalitate n mod serios. De aceea, proiectarea agenilor raionali este problema general de inteligent artificial. ACTIVITILE AGENILOR n fond, un agent de pia nu este diferit de oricare alt agent. El are stri mentale (convingeri, preferine, intenii), i capaciti ( tehnologii i resurse), i poate comunica cu oricare alt agent. Caracteristica sa distinctiv este interfaa sa cu restul lumii. n special, interaciunea sa cu ali ageni se face prin schimbul de bunuri i servicii, iar comunicarea sa este dedicat n primul rnd pentru aranjarea acestor schimburi. Prima activitate a agentului de pia este de a identifica bunurile i serviciile pentru a ti n ce termeni interacioneaz cu ali ageni. De aceea trebuie s existe o nelegere comun a vocabularului pentru descrierea resurselor ce vor fi schimbate i a activitilor pe care fiecare agent le va executa pentru alii. Odat ce un agent cunoate bunurile el va ti care sunt posibilitile lui de interaciune cu ceilali ageni. Pentru orice economie construit pe calculator, primul pas este de a identifica bunurile i serviciile existente. Selectarea ordinii bunurilor i serviciilor disponibile restrnge drastic spaiul proiectat. Cu ct sunt mai standardizate bunurile, cu att sunt mai simple alegerile pentru fiecare agent, dar cu att mai puin diversificat este piaa. Astfel, depinznd de cerinele de proiectare, bunurile pot s fie ori descompuse n funcie de anumite proprieti precum localizarea, calitatea, ori pot fi combinate pentru a ascunde caracteristici relativ neimportante.

Capitolul I , Piee virtuale

Cea dea doua activitate pentru un agent este rezolvarea problemei de optimizare. Aceasta deoarece, odat ce el cunoaste bunurile i condiiile posibile prin care acestea pot fi schimbate, el are nevoie s-i determine propria politic de schimb. Pentru a face aceasta, el optimizeaz anumite criterii -utilitatea i profitul- supuse unor restricii de fezabilitate a resurselor disponibile i a capacitilor pentru generarea lor. Economia se bazeaz pe principiul echilibrului care presupune c agenii individuali sunt capabili s rezolve probleme de optimizare bine definite care pot fi reprezentate prin probleme de optimizare global n anumite cazuri specifice. Dat fiind un mediu economic definind bunurile disponibile i condiiile de pre disponibile, agenii de pia se confrunt cu o problem de optimizare. Pentru consumatori, problema este maximizarea utilitii (sau a utilitii ateptate), supus restriciei de buget pe care el i-l permite pentru consum. Mai exact, restricia de buget dicteaz faptul c valoarea pachetului su de consum la preurile pieei nu depete valoarea nzestrrii sale, sau alocarea iniial a resurselor, la aceste preuri. Problema de optimizare cu care se confrunt productorii este maximizarea profiturilor, supus restriciei de fezabilitate tehnologic. Profiturile sunt veniturile (valoarea outputului la preurile pieei) minus costurile (valoarea inputurilor la aceste preuri). Fezabilitatea tehnologic dicteaz faptul c producerea outputurilor din inputuri este fezabil, potrivit tehnologiei de producie, sau specificaiei capacitilor sale. Aceste dou probleme sunt ambele probleme cu restricii, unde restriciile sunt absolute, date de capacitile agenilor sau de regulile de solvabilitate ale pieei. Tipul de problem este definitoriu pentru tipul de agent: consumatorii au preferine i avuie dar nu au tehnologie, productorii au tehnologie dar nu au preferine. Acest lucru ne d posibilitatea s specializm agenii i agenilor le d posibilitatea s se concentreze pe un singur criteriu (utilitate sau profit). Agentul este competitiv cnd preurile sunt considerate date n problema de optimizare. Aceasta este definiia competiiei n teoria economic. Comportamentul competitiv simplific problema agentului permindu-i s neglijeze efectul propriei aciuni asupra preurilor i elibereaz agentul de grija raionalitii preferinelor i capacitilor altor ageni. Cu sau fr competiia perfect, concentrarea agentului asupra propriei funcii de optimizare (consum sau profit) este o form puternic de modularizare care uureaz foarte mult proiectarea distribuit a sistemelor multiagent.

Capitolul I , Piee virtuale

n final, modul exact n care agentul rezolv aceast problem de optimizare este dincolo de nivelul de abstractizare al agentului. Astfel, agentul poate rezolva ecuaii algebrice, poate demonstra teoreme sau orice altceva n slujba obiectivelor sale. Lucrul cel mai important pentru nelegerea acestui modul este ca soluia problemei de optimizare, abstract definit, s fie o bun aproximare a comportamentului real al agentului. Aceasta este proprietatea de raionalitate discutat mai sus. n ultim instan, agentul de pia trebuie s tind ctre implementarea politicii sale optimale folosind termeni ai negocierii. ntr-o pia competitiv, aceasta aduce dup sine direcionarea activitii sale de ofert, determinnd cum s ordoneze cel mai bine cererile sale i angajamentele cu ali ageni pentru a-i urmri ct mai bine interesele. Dat fiind soluia la problema sa de optimizare, agenii competitivi transmit aceast soluie entitilor care administreaz piaa pentru toate bunurile care prezint interes pentru ei. Chiar i acest lucru simplu este complicat pentru c agenii transmit ofertele lor pentru mai multe bunuri simultan i asincron. Pentru c bunurile sunt strns interconectate prin relaiile de preferin i tehnologie cumulate, preul unui bun afecteaz cererea pentru un alt bun. Astfel, procesul de ofert trebuie s fie iterativ, modificarea preurilor necesitnd recalcularea ofertelor,cauznd mai departe modificri ale preurilor, i aa mai departe. Avnd o cerere continu, pentru calculul politicilor optimale i ofertelor, agentul se confrunt cu problema urmtoare: pentru ce bun s calculeze oferta i cnd. Alegerea ar putea depinde de ct de nvechite sunt ofertele sale, ce importan relativ au diferitele bunuri i ali factori. n ultim instan, aceasta este un fel de problem de planificare deliberat, a crei soluie poate depinde de caracteristicile unui mediu specific al pieei. Probleme speciale apar pe pieele foarte dinamice, unde bunurile pot fi schimbate nainte de atingerea echilibrului global. n asemenea cazuri, agentul ar trebui s aib n vedere ct de aproape este piaa de clearing atunci cnd cntrete prioritile activitilor de ofert alternative.

10

Capitolul I , Piee virtuale

1.3 INSTRUMENTE FOLOSITE N MODELAREA PIEELOR VIRTUALE


n modelarea unei piee artificiale sunt folosite dou instrumente: algoritmi genetici i reelele neuronale. Algoritmii genetici sunt utilizai pentru descrierea interaciunii dintre ageni n procesul de nvare i adaptare.

1.3.1 Algoritmi genetici


Pentru c piaa poate fi considerat un organism viu n sensul c agenii pieei evolueaz n funcie de avuia lor, pentru implementarea unui mecanism de pia este folosit un algoritm genetic care are la baz etapele prin care trec organismele vii n lupta lor pentru supravieuire. Algoritmii genetici, introdui de J. Holland (1975), fac parte dintr-o serie de metode de cutare moderne, care abordeaz cu succes probleme de optimizare complexe. Ei sunt bazai pe paradigma biologic a evoluiei vieii, mai exact pe mecanica seleciei naturale i a geneticii, rezultnd algoritmi n care este implicat i flerul inovator al cutrii umane (Goldberg, 1989). [4] Gndirea evolutiv se extinde astzi n afara tiinelor vieii. Astfel, evoluia este privit ca un proces de optimizare bazat pe populaie, acesta putnd fi simulat pe calculator. Teoriile matematice subsumate acestei direcii pot fi grupate sub eticheta de calcul evolutiv. Exist, n calculul evolutiv, trei direcii de cercetare nrudite: (i) (ii) (iii) Algoritmi genetici Strategii de Evoluie Programarea evolutiv

Algoritmii genetici pun accentul pe operatorii de tip cromozomial, strategiile de evoluie studiaz schimbrile comportamentale la nivel individual, iar programarea evolutiv se ocup, mai ales, de modificrile comportamentale la nivel de specii. Principalele caracteristici i diferene dintre algoritmii genetici i algoritmii de cutare tradiionali sunt urmtoarele: algoritmii genetici nu acioneaz direct asupra spaiului de cutare, ci asupra unei codificri a funciei criteriu (obiectiv);

11

Capitolul I , Piee virtuale

ei ncep cutarea plecnd de la o populaie de puncte; algoritmii genetici utilizeaz informaia dat de o funcie obiectiv n locul unor cunotine derivate sau auxiliare; algoritmii genetici folosesc reguli de tranziie probabiliste n locul celor deterministe.

Parametrii problemei sunt codificai prin algoritmul genetic ntr-un ir de caracteristici (de obicei binare), analoge cu cromozomii biologici n care fiecare bit reprezint o gen. n cazul uzual al mai multor parametri, irul conine mai multe subiruri numite gene, cte unul pentru fiecare parametru. Fiecare cromozom reprezint o posibil soluie a problemei. Un algoritm genetic efectueaz operaii specifice n cadrul unui proces de reproducere generat de ctre operatorii genetici. Noile soluii sunt create prin selecia i recombinarea cromozomilor existeni, n vederea optimizrii unei funcii de evaluare (sau funcie de performan) E, aleas pentru fiecare problem n parte. Plecnd de la o populaie de cromozomi generat aleator, fiecare nou populaie (generat prin reproducere) nlocuiete generaia anterioar. Funcia de evaluare global se ndreapt spre optim i ofer soluii din ce n ce mai bune problemei originale. Procesul este analog teoriei neo-darwiniste a evoluiei n biologie, care afirm c organismele (sistemele) adaptate continuu la schimbrile de mediu au ansele cele mai mari de supravieuire. Operatorii genetici Cei mai folosii operatori genetici sunt: selecia, ncruciarea, inversiunea i mutaia. 1.Selecia Aceast faz selectez agenii ce vor intra n faza de ncruciare (crossover). Cei care nu vor fi selectai vor muri i, de aceea, genele lor nu vor trece la agenii din generaia urmtoare. Procesul de selecie se bazeaz pe probabilitate. Acest operator alege iruri din populaie pentru a le reproduce. Exist trei tehnici de selecie: (i) prima modeleaz mecanismul seleciei naturale, n care cromozomii cu o evaluare mai mare au o ans mai mare de a fi alei. Aceasta este selecia pe principiul ruletei. De exemplu cromozomul xi are probabilitatea f(xi)/f(xi) de a fi ales.

12

Capitolul I , Piee virtuale

(ii)

A doua tehnic este selecia pe baza rangului, n care probabilitatea de a fi ales este o funcie liniar de locul ocupat de individ (cromozom) n cadrul populaiei. Avantajul const n aceea c nu este necesar scalarea permanent a evalurii, lucru obligatoriu n prima metod (pentru prevenirea apariiei indivizilor dominai, care conduc la convergen spre o soluie neoptimal)

(iii)

O metod euristic este selecia elitist, care reine ntotdeauna cel mai bun cromozom al populaiei. Procedura garanteaz convergena asimptotic spre un minim global, ns rata de convergen depinde de problem.

2.ncruciarea Acest operator creeaz noi membri (urmai, succesori) ai populaiei prin combinarea unor pri alternative provenind din dou iruri printe C1 i C2. Exemplu: C1: 00.1111 C2: 11.0011 u2: 11.1111
ncruciare cu un punct de ncruciare

u1: 00.0011

C2: 11.00010.101 C2: 00.00100.010

u1: 11.00100.010 u2: 00.00010.101

ncruciarea cu dou puncte de ncruciare

Punctele de ncruciare sunt alese aleator. Fiecrui cromozom i corespunde o anumit probabilitate de ncruciare, de obicei din domeniul [0.6; 0.95]. 3.Inversiunea Acest operator alege dou puncte din cromozom i inverseaz ordinea genelor situate ntre aceste puncte. Punctele de inversiune se aleg aleator. Noul ir se obine concatennd genele reordonate. Exemplu: 1.234.56 sau 1.10111.1 1.11101.1 1.432.56

13

Capitolul I , Piee virtuale

4.Mutaia Acesta este cel mai simplu operator genetic. El basculeaz aleator bii ai cromozomului. Scopul su este introducerea a noi soluii (iruri) n cadrul populaiei i protejarea algoritmului mpotriva pierderii irevocabile i accidentale a informaiei datorit unor ncruciri nepotrivite. Rata mutaiei este foarte mic, ntre 0.001 i 0.01. Algoritmii genetici sunt folosii pentru o mare varitate de aplicaii inclusiv pentru programarea activitilor, alocarea resurselor, antrenarea reelelor artificiale i reguli de selecie n sistemele fuzzy. n aplicaiile privind pieele artificiale algoritmii genetici sunt utilizai pentru descrierea evoluiei regulilor sau strategiilor folosite de ageni n activitatea pe care o desfoar pe pia. Acest mecanism se mai numete i proces de nvare adaptativ a agenilor. Unul din aspectele cruciale n acest proces este stabilirea funciei de fitness care este folosit pentru a selecta cei mai buni prini din generaia curent. Nu este clar ce anume face o regul a fi potrivit pentru o pia multiagent. De exemplu, ar fi tentant s facem s se dezvolte regulile bazate pe performana trecut, dar asta nu ar ngloba faptul c agenii iau decizii n funcie de orizonturi de timp diferite din trecut.

1.3.2 Reele neuronale. Reele feedforward


Ca i algoritmii genetici, reelele neuronale sunt de inspiraie biologic. Numite i arhitecturi conexioniste, procesri paralele distribuite, o reea neuronal artificial (RNA) este o paradigm a procesrii informaiei inspirat de modul n care structura paralel a creerului mamiferelor, dens conectat, proceseaz informaia. Reelele neuronale sunt colecii de modele matematice ce emuleaz unele din proprietile observate la sistemul nervos biologic i sunt proiectate prin analogie cu nvaarea adaptativ biologic. O reea neuronal artificial este compus dintr-un numr mare de elemente de procesare interconectate ce sunt analoage neuronilor i sunt legate prin conexiuni ponderate care sunt analoage sinapselor i prin care informaia circul ntr-un anumit sens. nvarea n sistemele biologice presupune ajustarea conexiunilor sinaptice ce exist ntre neuroni. Acest lucru rmne valabil i n cazul retelor neuronale artificiale. nvarea se produce de obicei prin exemple i antrenare sau expunerea la un set de date de intrare cu ieiri cunoscute unde algoritmul de nvare ajusteaz iterativ ponderile conexiunilor. Aceste ponderi ale conexiunilor memoreaz cunotinele necesare rezolvrii problemelor specifice.

14

Capitolul I , Piee virtuale

Dei RNA exist nc din anii 1950, abia pe la mijlocul anilor 1980 algoritmii au devenit suficient de sofisticai pentru a rezolva aplicaii generale. Astzii RNA sunt aplicate unui numr din ce n ce mai mare de probleme de complexitate considerabil din lumea real. Ele sunt folosite ca motoare de recunoatere de forme i clasificatori robuti, cu abilitatea de a generaliza n luarea deciziilor cu privire la date de intrare imprecise. Ele ofer soluii ideale pentru o varietate de probleme de clasificare, recunoaterea caracterelor i a semnalelor, precum i n previziunea i modelarea sistemelor acolo unde procesele fizice nu sunt nelese sau sunt de o complexitate ridicat. RNA pot fi aplicate i problemelor de control, unde variabilele de intrare sunt msurtori folosite pentru a conduce la un output folosit ca impuls pentru un alt proces, iar reeaua nva funcia de control. Avantajul RNA const n flexibilitatea lor la distorsiuni n datele de intrare i n abilitatea lor de a nva. Ele sunt de asemenea bune la rezolvarea unor probleme care sunt prea complicate pentru tehnologiile convenionale (ex. probleme ce nu au o soluie algoritmic sau pentru care soluia algoritmic este prea greu de gsit) i sunt adesea potrivite pentru problemele pe care oamenii se pricep s le rezolve, dar pentru care nu exist metode tradiionale pentru rezolvare. Printre aplicaiile reelelor neuronale se numr aproximarea de funcii. O funcie implementat cu ajutorul unei reele neuronale se numete functia reelei, iar funciile de activare ale unitilor cu ajutorul crora se implementeaz funcia reelei se numesc funcii primitive ale reelei. Exist o multitudine de tipuri de reele neuronale artificiale. Unele dintre cele mai cunoscute sunt: perceptronul multinivel, care este antrenat n general cu algoritmul backpropagation, Hopfield, Kohonen, pentru a enumera numai cteva. Unele sunt clasificate drept feedforward, n timp ce altele sunt recurente (feedback) n funcie de modul n care datele sunt procesate prin reea. Un alt mod de a clasifica reelele este dup metoda de nvare (sau antrenare). Unele implic nvare supervizat, n timp ce altele nva nesupervizat sau sunt autoorganizabile. nvarea supervizat este analoag unui elev ghidat de profesor. Algoritmii nesupervizai n general clasterizeaz datele n grupuri similare pe baza atributelor msurate sau a caracteristicilor ce servesc drept inputuri n algoritmi. RNA pot fi implementate n software sau n hardware specializate. Pentru prezenta lucrarea o importan deosebit o au reelele feedforward i de aceea vor fi prezentate mai pe larg n cele ce urmeaz. Reelele feedforward sunt utilizate

15

Capitolul I , Piee virtuale

pentru previzionare pe baza datelor istorice dar i n modelele bazate pe ageni cu nvare adaptativ. Reelele neuronale feedforward sunt compuse din straturi de neuroni n care neuronii stratului de input sunt conectai cu stratul de neuroni de output. Procesul de antrenare al reelei feedforward const n modificarea ponderilor pn cnd este obinut relaia input-output dorit. Aceste reele realizeaz o propagare nainte a intrrilor, ntr-un singur pas. Unitile de prelucrare din cadrul unei reele feedforward uninivel sunt n general neuroni treapt, cu domeniu real al valorilor de intrare i cu domeniu binar (0,1) sau bipolar (-1,1) al valorilor de output. Condiia de activare a unei uniti de output Uj (de fixare a unitii Uj pe valoarea 1) este:

w ji xi T j ,
i

unde i desemneaz o unitate de output, iar Tj este

nivelul biasului

O clas major de algoritmi de nvare-adaptare se bazeaz pe algoritmul backpropagation al lui Widrow i Hoff care minimizeaz funcia de eroare a outputului relativ la input prin ajustarea ponderilor. Parametrii de nvare sunt ajustai folosind metoda gradientului descendent. Algoritmul back-propagation este eficient, dar mare consumator de timp, iar parametrii de nvare ar putea s nu convearg ctre optimul global al funciei eroare. O tendin a procedurii back-propagation este ca, n loc de folosirea metodei gradientului descendent, poate fi folosit o dinamic asimptotic stabil a erorii. Aceasta d posibilitatea unui control i a unei viteze de convergen mai bune prin alegerea corespunztoare a parametrilor dinamicii erorii. Un avantaj al folosiri dinamici erorii este aceea c este garantat convergena ctre optimul global. Algoritmi de instruire Reea feedforward uninivel Considerm urmtorul model de reea feedforward uninivel : y(t)=wT(t)x(t) reprezint vectorul normalizat al intrrilor variabile n timp. Se definete vectorul x(t ) R n +1 ca vector extins al inputurilor, care include un input
~

(1)

n unde y(t), x(t) i w(t) sunt definite dup cum urmeaz. Vectorul x(t ) = [ x1 (t ),...xn (t )] R

w = ( w1 (t ),..., wn (t ), )T

16

Capitolul I , Piee virtuale

constant de valoare X care influeneaz ponderea pragului wi,n+1 din model. Vectorul w(t)=(w1(t),,wn(t))T reprezint mulimea ponderilor variabile n timp. Definim de asemeni vectorul extins al ponderilor care include componenta ponderii pragului. Pentru simplitate considerm un output scalar y(t). Semnalul yd(t) reprezint outputurile dorite variabile n timp ale modelului. Eroarea de nvtare e(t) este definit ca e(t)=y(t)-yd(t). Condiia care garanteaz c outputul y(t) coincide cu outputul dorit yd(t) pentru toate momentele de timp t>th unde th este momentul n care s-a obinut outputul dorit este e=0. Cel mai cunoscut algoritm de nvare a unei reele feedforward uninivel este algoritmul perceptronului. Algoritmul perceptronului presupune parcurgerea urmtoarelor etape : 1. Iniializarea intensitilor conexiunilor din reea (n general, ca numere aleatoare mici) 2. Pentru fiecare exemplu de instruire sau epoc de instruire, pn la scderea sume ptratelor erorilor sub o limit considerat ca acceptabil : 2.1. Calculul activrilor pentru toate unitile din reea. 2.2. Ajustarea intensitilor conexiunilor, conform relaiei: wji(t+1)=wji (t)+wji, unde t semnific pasul de timp Mrimea modificrii intensitii conexiunii se poate calcula dup mai multe reguli i anume: - regula perceptronului: wji =ejxi unde ej, denumit termen eroare se calculeaz dup relaia: ej=yj-ydj, ydj reprezentnd outputul dorit pentru unitatea Uj - regula delta: wji=ejxi, unde reprezint o valoare pozitiv, subunitar numit rat de instruire. Reea feedforward multinivel Reelele feedforward multinivel sunt instruite prin metode supervizate, care presupun utilizarea unor instane de instruire de forma (Xp,tp), unde: Xp=( Xp1 Xp2,, XpN) reprezint vectorul intrrilor pentru instana de instruire p; tp=(tp1,tp2,,tpM) este vectorul outputurilor dorite pentru instana p; N este numrul unitilor de intrare din cadrul reelei; M este numrul unitilor de ieire. Considernd F(X) funcia de prelucrare asociat problemei, funcie de calcul a rezultatelor pe baza datelor de intrare, X, atunci:

17

Capitolul I , Piee virtuale

tp=F(Xp) Outputul obinut prin prelucrarea datelor de intrare cu ajutorul reelei neuronale este notat cu: Op=(Op1, Op2,,OpM) Op poate fi considerat drept rezultatul prelucrrilor datelor de intrare, Xp, cu ajutorul funciei Fw(w;Xp), funcie implementat prin reea, ca o aproximaie a lui F(X). Prin urmare, Op= Fw(w;Xp). Eroarea nregistrat la prelucrara prin reea a vectorului de intrare Xp, eroare msurat la nivelul unei uniti de output Uj i notat cu ejp, se exprim ca diferen ntre outputul dorit i cel efectiv obinut, respectiv: ejp=tjp-Ojp Eroarea Ep, nregistrat la prelucrarea prin reea a vectorului de intrare Xp i stabilit la nivelul ntregii reele neuronale, se obine prin combinarea erorilor ejp, pe baza unei relaii de forma:

E p = f (e jp )
j =1

Pentru calculul erorii Ep pot fi utilizate diferite funcii eroare dintre care se pot aminti: funcia logistic, funcia Huber nesaturat, funcia Huber saturat (funcia Talvar) etc. Instruirea reelelor neuronale feedforward multinivel urmrete minimizarea erorii E, de funcionare a reelei, n raport de parametrii w. Minimizarea erorii se poate realiza prin: - metode deterministe (de ordinul nti, cum ar fi metoda coborrii gradientului funciei eroare sau metode de ordinul doi, precum: metoda gradientului conjugat, metoda Newton, metoda cvasi-Newton, metoda pseudo-Newton); - metode nedeterministe.

1.4 UTILITATEA PIEELOR VIRTUALE


Piaa virtual (artificial), mijloc de cercetare n economie, este un laborator de experimente n care se testeaz ipoteze i diferite comportamente ale agenilor participani. Motivul pentru care aceste teste nu se fac direct pe piaa real este, printre multe altele, faptul c, omul, prin natura sa este reticent la schimbri i are aversiune fa de risc, mai ales n ceea ce privete piaa i atunci cnd sunt n discuie mari cantiti de bani. Un

18

Capitolul I , Piee virtuale

domeniu relativ nou, economia experimental, ne ajut s nelegem ngrijorrile omului, permind economitilor s testeze modele alternative ale mecanismelor de pia ntr-o manier sistematic. Dac rezultatul posibil al unei schimbri poate fi demonstrat, i se arat c schimbarea nu este dezastruoas, atunci se poate crea valoare i oportuniti economice pentru oameni i firme. n ultimii ani economia experimental a ctigat tot mai mult interes din partea oamenilor de stiin, iar aceast preocupare nu a rmas fr ecou. Dovada acestui fapt este c n anul 2002, Vernon Smith, profesor de Economie i Drept la Universitatea George Mason, promotor al acestui domeniu, a ctigat Premiul Nobel pentru Economie datorit muncii sale de pionierat n domeniul economiei experimentale. [8] Economia experimental a domnului Smith folosete ageni economici reali care se confrunt cu opiuni reale i cu posibilitatea de a ctiga bani reali. Dar ce sunt de fapt experimentele economice? ntr-un eseu despre profesorul su V. Smith, Don Coursey, rspunde la acest ntrebare n felul urmtor: Primul lucru care trebuie spus este c experimentele economice nu sunt ceea ce sunt. Experimentele economice nu sunt simulri sau exerciii de jucare a unor roluri. Ele implic oameni adevrai care trebuie s fac alegeri serioase. Deciziile lor din laborator sunt la fel de ptrunztoare i de usturtoare ca i cele din afara laboratorului. Prin efortul lor participanii ctig sau pierd cantiti substaniale de bani. Un concept fundamental n economia experimental este ideea de a testa postulate care adesea sunt considerate ca date, aa cum sunt de exemplu preferinele individuale, i de a afla modul n care i motivul pentru care oamenii transform aceste preferine n schimburi pe pia. Economia experimental ofer de asemeni posibilitatea testrii gradului n care ne comportm n conformitate cu ipotezele teoriei economice neoclasice. Economitii experimentali au generat cunotine noi, importante despre modul n care noi facem alegerile atunci cnd ne confruntm cu informaie incomplet. Iat cum poate decurge un experiment simplu de tranzacie a unui bun ntre dou persoane: un cumprtor i un vnztor. S presupunem c experimentatorul pune valoare pe obiectul tranzacionat. De exemplu, persoanei care joac rolul de vnztor i se nmneaz un cartona pe care se indic faptul c pentru producerea unei uniti din bunul respectiv (costul unitar) este nevoie de 10$. Dac el poate vinde aceast unitate cumprtorului n experiment, atunci el va ctiga diferena dintre preul de vnzare i cei 10$. De asemeni, persoanei care joac rolul cumprtoului i se nmneaz un cartona

19

Capitolul I , Piee virtuale

care-i indic valoarea de revnzare a unitii de bun ca fiind de 22$. Acesta nseamn c dac el este capabil s obin unitatea cu mai puin de 22$, el o poate vinde napoi experimentatorului cu 22$ i pstreaz diferena. Este important de observat c dei nu exist cu adevrat un obiect fizic de schimbat, vnztorul i cumprtorul se vor comporta ca i cum acesta ar exista: vnztorul va dori s obin un pre mai mare de 10$, iar cumprtorul va dori s achiziioneze bunul la un pre mai mic de 22$. Deci ce se va ntmpla? Logica spune c sunt posibile dou rezultate. Fie c vnztorul i cumprtorul gsesc un pre mutual acceptabil ntre 10$ i 22$ sau nu reuesc s ajung la o nelegere i schimbul nu se mai produce. Economia spune c ambele pri sunt stimulate s realizeze schimbul, dar nu spune nimic despre modul n care vor fi mprite beneficiile acestei afaceri. Nici nu nelegem condiiile care ar putea duce la beneficii egale de ambele pri atunci cnd preul se stabilizeaz la 16$. De asemenea nu putem spune prea multe despre frecvena situaiilor n care vnztorul i cumprtorul se despart fr a face tranzacia. Multe versiuni ale acestui experiment simplu au condus la explorarea acestor elemente. Problema care se punea era cum pot vnztorii i cumprtorii s fie forai s ajung la preul de echilibru de 16$ pentru c nici unii, nici alii nu sunt mulumii cu acest rezultat. Fiecare vrea mai mult. Cu alte cuvinte cum facem ca mna invizibil a lui Adam Smith s funcioneze? Explornd aceste ntrebri, V. Smith a ajuns la concluzia c n experimentele sale este nevoie de un cadru instituional, n sensul c vnztorii i cumprtorii nu pot aciona fr nite reguli specifice. n lucrrile sale de nceput a ales s foloseasc regulile unei licitaii duble cu strigare similare celor folosite la New York Stock Exchange. n felul acesta mecanismul minii invizibile a devenit vizibil. Experimentele ulterioare au avut ca rezultate preuri n jurul valorii preului de echilibru. Dei manualele de economie afirm c pentru atingerea echilibrului este nevoie de informaie perfect, experimentele au artat c se poate ajunge la echilibru chiar i fr ca participanii s aibe cunotine unii despre alii i chiar fr prea mult experien dac este folosit regula licitaiei duble cu strigare. Atunci cnd a manipulat numrul vnztorilor i cumprtorilor, Smith a descoperit c, n mod uimitor, un numr mic de vnztori i cumprtori pot produce echilibru competitiv, dei manualele spuneau c este nevoie de o infinitate de ageni pentru aceasta. S-a deschis astfel posibilitatea ca multe piee aparent slabe (cu puini cumprtori i vnztori) din lumea real s produc echilibru.

20

Capitolul I , Piee virtuale

Aceste prime experimente de laborator, unelte de analiz economic empiric erau fcute fr calculator. Pe la sfritul anilor 1970, Smith a gsit un computer la Universitatea Arizona ceea ce era la acel moment un lucru extraordinar. De atunci toate experimentele sale de pia au nceput s devin computerizate, lucru care a dat posibilitatea de a experimenta efectele modificrilor variabilelor de control i reglemetrilor pieei, modul n care acestea produc comportamente i consecine neateptate. n economie, o problem permanent o reprezint datele. Se pune tot mai mult ntrebarea de ce nu poate fi economia ca i fizica, n special n ceea ce privete calitatea datelor. Economia este, spre deosebire de fizic, o tiin social care opereaz cu comportamentul oamenilor care, spre deosebire de particule, fac alegeri pe baza unor gnduri contiente i de aceea sunt uneori imprevizibile. Oamenii de asemeni se pot comporta in conformitate cu numite strategii. Totui, acestea nu sunt luate ca argument pentru care rigoarea laboratorului este imposibil n economie. Dinpotriv, testele de laborator pe oameni, cu stimulente pentru ctig, pot genera date consistente i de bun calitate adunate pentru scopul precis de a testa ipoteze tiinifice- superioare celor adunate din alte surse. Experimentele economice ne furnizeaz nelegerea modului n care cumprtorii i vnztorii interacioneaz pentru a crea piaa. S lum de exemplu cazul unei licitaii cu strigare unde conductorul experimentului d participanilor o identitate (cea de cumprtor sau de vnztor) i i ntreab ct vor s plteasc pentru a cumpra sau ct vor s primeasc pentru a vinde. Fiecare participant are numai informaia proprie, i aceasta relev o caracteristic central a schimbului informaia difuz, personal. Chiar i ntr-o licitaie cu doar patru cumprtori i patru vnztori, interaciunea informaiilor pe care ei le dobndesc prin licitaie conduce la un rezultat competitiv, unde ei creeaz toat valoarea posibil din schimb. ntr-un mediu experimental, ca i n realitate, acest proces de pia apare n contextul unor reguli. Cnd participanii tiu dinainte c au drepturi de proprietate deplin asupra a orice cumpr sau vnd, schimbul este rapid. Cnd drepturile de proprietate nu sunt bine definite, schimbul este lent. Mai mult, regulile stabilite n laborator permit modificarea reglementrilor instituionale, precum impozitele, sau modificri n regulile de licitaie pentru a explora modul n care participanii la pia i modific aciunile ca rspuns la aceste modificri instituionale.

21

Capitolul I , Piee virtuale

Experimentele de laborator au fost folosite pentru a analiza interaciuni simple precum mprirea unui dolar la doi oameni (ns nu att de simplu precum pare) sau att de complexe precum restructurarea reglementrilor privind electricitatea i crearea unor piee noi ale energiei electrice. n experimentele pe care domnul Smith le-a fcut n legtur cu electricitatea, unii clieni cu amnuntul puteau alege dac i cnd s-i modifice cererea ca rspuns la modificrile preului. Acest rspuns al cererii interacionnd cu partea de ofert stimuleaz sau limitez capacitatea furnizorilor de electricitate de a exercita putere pe pia. Aceste experimente au puternice implicaii politice, att pentru ncurajarea celor care fac reglementrile s nu mai fac reglementri cu privire la preul cu amnuntul ct i pentru exploatarea rspunsului cererii consumatorului pentru a furniza funcii de monitorizare a pieei n loc s se bazeze pe reglementri instituionale pentru a face acest lucru. Experimentele economice au limitri n presupunerile i ipotezele lor. O provocare n acest domeniu este proiectarea mediului experimental astfel nct cercettorii s poat fi siguri c rezultatele reprezint ceea ce credem c reprezint.

1.5 PROGRAME I STRATEGII DE PRE


Preul este principalul instrument cu care opereaz orice pia el determinnd mrimea cotei de pia i a profitabilitii firmei. De-a lungul istoriei preul s-a format prin negocierea direct dintre cumprtor i vnztor. Mai recent, spre sfritul sec. al XIX-lea, ca urmare a dezvoltrii comerului cu amnuntul s-a impus ideea fixrii unui pre unic pentru toi cumprtorii. Stabilirea preului este o sarcin ce revine, n funcie de mrimea firmei, diferitelor nivele ale managementului. n firmele mici managerul general este cel care ia decizii n stabilirea preului, n timp ce n firmele mai mari exist servicii specializate pentru acest lucru. De asemnea preul este stabilit n mod diferit n situaia n care produsul este comercializat pentru prima oar sau se face numai o adaptare a acestuia n funcie de noile condiii si ocazii ivite. Dac firma stabilete preul pentru prima dat la un produs trebuie s decid asupra locului pe care l va ocupa pe pia respectivul produs din punct de vedere al calitii i al preului. F. Kotler a identificat nou strategii calitate-pre [9]:

22

Capitolul I , Piee virtuale

Preul Ridicat Ridicat Calitatea produsului Sczut Medie 1. Strategia de excepie 4. Strategia preului exagerat 7. Strategia jefuirii ridicate 5. Strategia valorii medii 8. Strategia falsei economii Fig. 1.1 Tipuri de strategii-calitate pre Mediu 2. Strategia valorii Sczut 3. Stategia valorii superioare 6. Strategia valorii acceptabile 9. Strategia economisirii

Strategiile de pe diagonala principal (1,5 i 9) pot fi adoptate de firme care exist simultan pe pia atta timp ct exist trei categorii de cumprtori: cei care pun pe primul loc calitatea i sunt mai puin interesai de pre (strategia 1), cei care sunt interesai mai mult de pre (strategia 9) i cei care pun n balan cele dou caracteristici ale produsului (strategia 5). Strategiile 2, 3 i 6 vin s contracareze strategiile de pe diagonal, oferind un produs de aceeai calitate la un pre mai mic. Strategiile 4, 7 i 8 reflect un pre prea mare pentru un produs de o calitate de cele mai multe ori nesatisfctoare. n lucrarea sa Managementul marketingului, F. Kotler enumer i explic ase etape pe care o firm trebuie s le parcurg atunci cnd stabilete politica de pre. Acestea sunt: 1) stabilirea obiectivului vizat prin practicarea unui anumit pre; 2) determinarea mrimii cererii; 3) evaluarea costurilor; 4) analiza preurilor i ofertelor concurenei; 5) alegerea metodei de calcul al preului; 6) alegerea preului final. Stabilirea obiectivului politicii de pre n primul rnd firma trebuie s hotrasc ce trebuie s realizeze prin fabricarea unui produs. Dac ea i-a ales bine segmentul de pia i i-a poziionat bine produsul, atunci politica de pre nu va da gre. Strategia de pre este influenat n cea mai mare msur de decizia privind poziionarea pe pia a produsului. n acelai timp firma trebuie s-i stabileasc i nite obiective secundare, adic si stabileasc prioritatea n ceea ce privete maximizarea profitului, a venitului sau a cotei de pia tiut fiind faptul c preul influeneaz n mod diferit cei trei indicatori.

23

Capitolul I , Piee virtuale

Prin stabilirea unui anumit nivel al preului o firm poate s urmreasc realizarea unuia din urmtoarele obiective: supravieuirea - meninerea pe pia de obicei prin reducerea preului pentru a scpa de stocuri i produse nevandabile. Acesta nu poate reprezenta un obiectiv pe termen lung. maximizarea profitului actual alegerea n funcie de costurile i cererea estimat a acelui pre care duce la maximizarea preului sub anumite restricii, de obicei tehnologice. Acest obiectiv ridic probleme n ceea ce privete imposibilitatea cunoaterii funciilor de cerere i de cost, mbuntirea rezultatelor financiare prezente n dauna celor viitoare, precum i anumite restricii impuse de organismele de reglementare n privina nivelului preurilor (Oficiul concurenei). maximizarea venitului actual maximizarea cifrei de afaceri. Acest lucru necesit determinarea funciei de cerere, muli manageri fiind de prere c maximizarea CA contribuie pe termen lung la maximizarea profitului i a cotei de pia. maximizarea volumului vnzrilor maximizarea numrului de produse vndute crezndu-se c astfel vor scdea costurile pe unitatea de produs i vor crete profiturile pe termen lung. Acest lucru se realizeaz prin practicarea unor preuri ct mai mici cu putin n ipoteza c piaa este sensibil la pre. Practicarea lor are ca scop ptrunderea pe anumite piee a firmelor respective (market-penetration pricing). fructificarea la maxim a avantajului de pia firma stabilete preul n aa fel nct s determine cteva segmente de pia s adopte produsul. De fiecare dat cnd volumul vnzrilor scade firma reduce preul astfel nct s devin atrgtor pentru un nou segment de pia, firma profitnd la maximum de pe urma avantajelor aprute pe fiecare segment de pia. promovarea unui produs superior calitativ firma i propune s devin lider pe piaa pe care activeaz n ceea ce privete calitatea produselor sale.

24

Capitolul I , Piee virtuale

Determinarea mrimii cererii Se tie c nivelul cererii este determinat de pre i c relaia dintre ele este invers. Exist ns bunuri de prestigiu pentru care creterea preului, perceput ca o mbuntire a calitii, poate fi nsoit de o cretere a cererii. i n aceste situaii, dac preul crete peste un anumit nivel cererea ncepe s scad. Numeroase firme caut s realizeze graficul cererii produselor lor pe pia. Pentru aceasta cercettorul trebuie s se bazeze pe o serie de premise legate de comportamenul concurenei. O premis ar fi c preurile concurenei rmn neschimbate indiferent de preul practicat de firma n discuie, iar cealalt c preul se modific odat cu cel al firmei analizate. O metod de determinare a curbei cererii ar fi efectuarea unui studiu de caz prin care se cere subiecilor s menioneze cte produse ar cumpra la diferite valori ale preului. Exist situaii n care nu se poate determina cu precizie ct din modificarea cererii este datorat modificrii preului i ct altor factori ca de pild creterea cheltuielilor cu promovarea produsului. Evaluarea costurilor La baza preurilor stau i costurile firmei pe care acesta trebuie s le acopere i s obin un profit corespunztor efortului depus i riscului asumat. Japonezii n special utilizeaz pentru stabilirea preului o metod numit orientare dup costuri. Ei efectueaz un studiu de pia prin care stabilesc preul de vnzare al produsului n funcie de gradul de atractivitate pentru cumprtori i de preul practicat de concuren. Din acest pre scad marja de profit dorit i obin costul pe care trebuie s-l realizeze. Apoi urmeaz procedura de aducere a costului final la nivelul celui determinat prin studiul de pia prin defalcarea acestuia i analizarea fiecrei componente lund n considerare ci de reprelucrarea a diferitelor componente, de eliminare a anumitor funcii i de reducere a costurilor de livrare. Analiza costurilor, a preurilor i a ofertelor concurenei Compararea nivelului costului propriu cu cel al concurenei este o necesitate deoarece numai aa firma i poate da seama dac acel cost pe care ea l obine constituie un avantaj sau un dezavantaj competitiv. De asemeni ea trebuie s cunoasc preul i calitatea ofertei concurenei. Pentru acesta ea poate obine liste de preuri i achiziiona produse pe care s le analizeze. Cunoscnd aceste elemente ea le poate folosi drept criterii pentru stabilirea propriilor preuri.

25

Capitolul I , Piee virtuale

Alegerea metodei de calcul a preului metoda adaosului metod elementar care se bazeaz pe adugarea la preul produsului a unui adaos standard care le permite obinerea unui profit. Formula de calcul pentru aceast metod este:

pret de vanzare =

cos t unitar 1 profit asteptat din vanzari

Se pune problema dac utilizarea unor adaosuri standard pentru a stabili un anumit nivel al preurilor are o raiune logic. Rspunsul este nu deoarece orice metod de calcul care ignor cererea curent, valoarea perceput de consumatori i concurena nu este indicat a fi folosit pentru a stabili preul optim. Metoda funcioneaz numai n cazul n care preul calculat contribuie la obinerea veniturilor ateptate din vnzri. Cu toate acestea metoda este des folosit deoarece comercianii au o mai mare siguran asupra costurilor dect asupra cererii. n acelai timp, n ramurile n care toate firmele folosesc aceast metod de calcul preul tinde s fie acelai. metoda venitului este o alt metod ce are la baz mrimea costului. Firma i stabilete preul astfel nct s ating un nivel prevzut al eficienei investiiilor. Formula de calcul este urmtoarea:

pret de vanzare = cos t unitar +

eficienta investitie i X capital investit volum vanzari

metoda valorii percepute preul este stabilit la un nivel la care s atrag o percepere corespunztoare a valorii produsului. O firm creeaz pentru produsul su o imagine care va fi promovat pe pia, scond n eviden caracteristicile de calitate i preul. Dup aceasta conducerea estimeaz volumul vnzrilor, n condiiile de pre stabilite. Pe aceast baz se deduce capacitatea de producie necesar, nivelul costurilor i mrimea investiiei.

metoda valorii permite practicarea unui pre sczut pentru o ofert de calitate nalt. Aceast metod reprezint filosofia mai mult pentru mai puin, ceea ce impune firmei s practice un pre care s-l stimuleze pe cumprtor s achiziioneze produsul, la valoarea pe care consider

26

Capitolul I , Piee virtuale

acesta c o are. Pe de alt parte aceast metod arat c preul ar trebui s reprezinte pentru consumatori obiectul unei afaceri extraordinare.

27 Capitolul II, Model de pia virtual pentru piaa bunurilor i serviciilor

CAPITOLUL II

MODEL DE PIA ARTIFICIAL PENTRU PIAA BUNURILOR I SERVICIILOR

2.1 AGENII I STRATEGIILE


Modelarea numeroaselor interaciuni ale agenilor pe o pia, a diverselor convingeri ale acestora i a comportamentului lor este o sarcin destul de dificil. Mare parte din teoria economic modern se bazeaz pe presupuneri exacte i teorii bine puse la punct care permit simplificarea modelelor analitice adesea implicnd un singur agent reprezentativ. Aceste modele reprezint o parte a instrumentelor economice care fac dificilele interaciuni sociale mai uor de abordat.

2.1.1 Modelarea agenilor artificiali


Cercetarea economic mijlocit de perspectiva bazat pe ageni a fost cel mai promitor mod prin care au fost revelate modele ce stau la baza dinamicii economice precum i interaciunile dintre agenii economici. n modelarea economic a agenilor, reprezentarea joac un rol important. Ea determin metodele de nvare ale agenilor i ceea ce nva agenii n acest mediu. Agenii artificiali au fost lansai n simularea fenomenelor sociale i economice cu scopul de a gsi politica optimal care s guverneze comportamenul acestora. Odat cu creterea complexitii comportamentului intern al agenilor i a interaciunilor dintre ei, modelarea comportamentului i gsirea politicilor optimale ntr-o form matematic devin tot mai dificile. A fost depus foarte mult munc n simularea fenomenelor sociale i economice folosind ageni artificiali pentru simularea pe calculator [15]. Deoarece piaa poate conine o mulime de ageni eterogeni care sunt capabili s nvee i s se adapteze la noile situaii care apar, impactul unei politici generale nu mai poate fi determinist. Datorit complexitii interaciunii comportamentului intern al agenilor, modelarea ntr-o form matematic este dificil. Consecina este c tehnicile tradiionale de optimizare nu mai pot fi folosite pentru gsirea politicii optimale. De aceea n ultima perioad de timp aceste tehnici au fost nlocuite de tehnicile evolutive furnizate de programarea genetic, ca un

28 Capitolul II, Model de pia virtual pentru piaa bunurilor i serviciilor

instrument major prin care evolueaz strategiile de pia ale agenilor ntr-un model de pia bazat pe ageni. Exist numeroase exemple de modele bazate pe ageni. Biologul Tom Ray a creat nite programe agent i fiecare avea ca scop s fac o copie a lui nui n memorie. Dup ce programele au rulat timp de o noapte, dimineaa Ray a observat c agenii si erau implicai n activiti echivalente digital cu competiia, frauda i sexul. Cnd agenii realizau copii ale lor, schimbau aleator codul aprut. Astfel, ei sufereau mutaii i evoluau.unele din aceste mutaii erau distructive i programele mureau n timp ce altele fceau ca programul s-i ndeplineasc mai bine sarcina, adic s se autocopieze mai rapid i s ruleze mai rapid. Versiunile mai scurte se reproduceau mai rapid i i nlturau pe competitorii lor mai leni. Modelarea bazat pe ageni este distinct de modelarea bazat pe ecuaii. Pentru descrierea interaciunii ntr-o populaie de indivizi poate fi scris un model bazat pe ecuaii difereniale, dar, putem, la fel de bine, s urmrim evoluia individual a fiecrui agent i s rezumm aceast evoluie n anumite caracteristici agregate . Aceste dou metode de abordare a modelrii sunt esenial diferite i este greu de spus care este mai bun. Modelarea bazat pe ageni mai este denumit i metoda a-life (artificial life) [14]. Creaturile a-life constau n cteva linii de program care triesc n medii artificiale formate din pixeli i structuri de date. Pentru a crea creaturi a-life este necesar construirea unui mediu n care vor aciona creaturile artificiale. Se creeaz apoi cteva sute de indivizi care vor popula acest mediu i se definete un set de reguli pe care acetia le vor urma. Se ncearc simplificarea problemei astfel nct s se pstreze numai esenialul. Se scrie un program care simuleaz reguli simple ale interaciunilor i comportamentelor elementelor. Se ruleaz programul de mai multe ori cu diferite numere aleatoare pentru a nelege felul n care reguli simple dau natere la comportamenul observat. Se localizeaz apoi sursa de comportament i efectele diferiilor parametri. Se simplific simularea ct mai mult posibil sau se adaug elemente noi dac este necesar. n Adaptive Behavior and Economic Theory, Lucas [2] d conceptul de agent n economie. n termeni generali, un individ (agent) este vzut sau modelat ca o colecie de reguli de decizie (reguli care dicteaz aciunea ce va fi luat n anumite situaii date) i un set de preferine folosite pentru a evalua rezultatele aprute ntr-o anumit combinaie situaie-aciune. Apoi el descrie adaptarea agentului. Regulile de decizie sunt ntr-o

29 Capitolul II, Model de pia virtual pentru piaa bunurilor i serviciilor

continu revizuire. Apar i sunt testate noi reguli, iar cele care dau rezultatele dorite le nlocuiesc pe cel care nu aduc rezultate corespunztoare. Modelarea comportamentului unui participant la tranzaciile pieei din perspectiva individual este esena modelrii bazate pe ageni. n prezent, aceast abordare bottom-up este gradual acceptat de muli economiti. Motivul este faptul c sistemul economic este n principal un mediu plin de fenomene emergente care nu pot fi nelese analitic. Cu scopul de a modela aceste sisteme adaptative complexe au fost dezvoltate tehnici de calcul evoluionar. Agenii evolueaz n funcie de profitul pe care-l obin i aleg dint-un set de reguli n ncercarea de a-i maximiza propriile obiective. Piaa accentueaz de asemenea multe dintre caracteristicile coevoluionare care sunt o parte interesant a modelelor bazate pe ageni. ntr-o abordare coevoluionar potrivirea strategiilor depinde n mod critic de populaia curent a strategiilor. Regulile i agenii evolueaz i se afl n competiie unii cu alii n activitile lor se schimb. Agenii cei mai sntoi supravieuiesc mpreun cu regulile pe care le-au folosit i care i-au adus la rezultatele bune. Dei, studiile experimentale au furnizat dovezi empirice considerabile cu privire la comportamentul agenilor, ele au euat n ncercarea de a pune n lumin strategiile de pia care sunt esenial neobservabile. Chan i colaboratorii au artat n 1999 c aceste studii sunt puin asemntoare cu mecanismul real pe care agenii l folosesc pentru a procesa informaiile i a nva din experien. Acest gen de generalizare necesit o nelegere mai profund a strategiilor de schimb ale agenilor i specificarea procesului de nvare pe care se bazeaz. Abordarea modelrii cu programare genetic ncearc s furnizeze o analiz a strategiilor de pia dintr-o perspectiv evolutiv. Programarea genetic, n rolul su de inovaie metodologic n economie, poate fi suficient de puternic pentru a permite o mai bun nelegere a efectului minii invizibile n pieele din lumea real. Algoritmul genetic este un algoritm bazat pe populaie care const n cicluri iterative de evaluare, selecie, reproducere i mutaie. Fiecare ciclu se numete generaie. Pentru fiecare generaie va fi aplicat un set de operatori cromozomilor existeni crend o nou populaie care este mai adaptat dect cea precedent. Exist dou diferende n literatura de specialitate cu privire la simularea unei piee artificiale: mecanismul pieei i reprezentarea [16].

30 Capitolul II, Model de pia virtual pentru piaa bunurilor i serviciilor

2.1.2 Model al unei strategii de negociere ntr-o pia virtual (bibl.ageni


inteligeni.pdf) Modelul de negociere a fost elaborat de un colectiv de cercettori canadieni format din Larbi Esmahi, Jean-Charles Bernard de la Ecole Politechnique de Montreal i Petre Dini de la Centre de Recherche Informatique de Montreal pentru relizarea unei piee virtuale denumit MIAMAP (Mobile Intelligent Agents for Managing Information Infrastructure Market Place). Modelul presupune c structura pieei ader la legile cererii i ofertei, iar agenii se presupun a fi individual raionali (un agent este individual raional dac accept numai tranzacii care i aduc o utilitate nenegativ). De aceea, dac nici unul dintre ageni nu prezint partenerului o ofert acceptabil, negocierea poate degenera ntr-un conflict. Situaii conflictuale pot aprea chiar i atunci cnd spaiul nelegerilor posibile include situaii profitabile pentru ambii parteneri. Un mod de a gndi care agent ar putea s fac o concesie la fiecare pas este s lum n considerare pierderea fiecruia dac intr ntr-un conflict la acel moment. Esena acestei strategii poate fi exprimat intuitiv prin: Cu ct ai fcut deja mai multe concesii, cu att este mai puin probabil s mai faci o concesie n perioada urmtoare. De aceea este folosit o funcie de utilitate propus de Zeuthen pentru a determina cine va face o concesie la urmtorul pas. Strategia Zeuthen a fost adaptat pentru a face fa lipsei de informaie pe care fiecare agent o are n legtur cu utilitatea partenerului. n aceast adaptare fiecare agent folosete preul curent al bunului ca fiind oferta minim pe care o accept partenerul sau. De fapt, dac dup pasul t agentul decide s nu fac o concesie, el i asum ricul ca nici partenerul su s nu fac o concesie, i, astfel, s intre ntr-un conflict. Se consider un agent cumprtor Ai i partenerul su vnztor Aj care negociaz bunul I, i urmtoarele variabile: i: costul maxim acceptabil pentru Ai j: preul minim acceptabil pentru Aj m: preul curent al pieei aproximat prin media tuturor preurilor din contractele ce au fost ncheiate pn la momentul curent. Dac m(t) este preul pieei bunului I pn la momentul t, i la momentul t +1 exist tranzacii cu bunul I la preul P atunci m(t+1)=(m(t)+P/2. Pentru fiecare pas t, fie i(t), j(t) ofertele fcute de Ai, respectiv Aj.

31 Capitolul II, Model de pia virtual pentru piaa bunurilor i serviciilor

Din punct de vedere al cumprtorului, utilitatea i riscul sunt definite de: Utilitatea pe care agentul Ai crede c o va avea oferind i(t) este: Uii(i(t))=max(i-i(t),0) Utilitatea pe care agentul Ai crede c o va avea acceptnd oferta j(t) a lui Aj este: Uii(j(t))=max(i-j(t),0) Utilitatea pe care agentul Ai crede c agentul Aj o va avea oferind j(t) este aproximat de: Uij(j(t))=max(j(t)-m,0) Utilitatea pe care agentul Ai crede c agentul Aj o va avea acceptnd oferta i(t) a lui Ai este aproximat de: Uij(i(t))=max(i(t)-m,0) Prin urmare, se poate defini gradul de acceptare a riscului unui conflict astfel: credina agentului Ai cu privire la nclinaia fa de riscul unui conflict este: 1, dac Uii(i(t))=0 Riscii(t)= (UiI(i(t)) - UiI(j(t))) / Uii(i(t)) credina agentului Ai cu privire la nclinaia fa de riscul unui conflict a lui Aj este: 1, dac Uij(j(t))=0 Riscij(t)= (Uij(j(t)) - Uij(i(t))) / Uij(j(t)) Din punctul de vedere al vnztorului utilitatea i riscul sunt definite de: Utilitatea pe care agentul Aj crede c o va avea oferind j(t) este: Ujj(j(t))=max(j(t)-j,0) Utilitatea pe care agentul Aj crede c o va avea acceptnd oferta i(t) a lui Ai este: Ujj(i(t))=max(i(t)-j,0) Utilitatea pe care agentul Aj crede c agentul Ai o va avea oferind i(t) este aproximat de: Uij(j(t))=max(j(t)-m,0) Utilitatea pe care agentul Aj crede c agentul Ai o va avea acceptnd oferta j(t) a lui Aj este aproximat de: Uji(j(t))=max(m j(t),0) Prin urmare, se poate defini gradul de acceptare a riscului unui conflict astfel: credina agentului Aj cu privire la nclinaia fa de riscul unui conflict este:

32 Capitolul II, Model de pia virtual pentru piaa bunurilor i serviciilor

1, dac Ujj(j(t))=0 Riscjj(t)= (Ujj(j(t)) Ujj(i(t))) / Ujj(j(t)) credina agentului Aj cu privire la nclinaia fa de riscul unui conflict a lui Ai este: 1, dac Uji(i(t))=0 Riscjj(t)= (Uji(i(t)) UjI(j(t))) / Uji(i(t)) Dac t nu este ultimul pas n negociere, atunci riscul este totdeauna ntre 0 i 1 pentru ambii ageni. Riscii(t) este un indicator a ct de mult este dispus Ai s rite un conflict fixndu-i ultima sa ofert. Cu ct Riscii(t) crete, agentul Ai are mai puin de pierdut dintr-un conflict, i va dori mai mult s nu fac o concesie i s rite s ajung la un conflict. Intuitiv, agentul cu un risc mai mic va face urmtoarea concesie. Strategia n detaliu este urmtoarea: agentul cumprtor ncepe negocierea oferind vnztorului contractul care este cel mai bun pentru el dintre toate contractele posibile. Apoi, la fiecare pas t, fiecare agent i calculeaz riscul (Riscii(t)) i estimeaz riscul partenerului (Riscij(t)). Dac riscul este mai mic sau egal cu cel al partenerului su, atunci el trebuie s fac o ofert care implic o concesie suficient de mic din punctul su de vedere (o concesie suficient este una care modific echilibrul ntre riscul agentului i acel al partenerului su. De exemplu, dup ce Ai a fcut o concesie suficient, riscul Riscii(t) va fi mai mare dect Riscij(t)). Altfel, el poate oferi acelai contract pe care l-a oferit anterior. Desigur, la fiecare moment de timp agenii fac oferte numai din mulimea acceptabil de oferte. Un conflict pe pia poate aprea din cteva motive: conflicte n ceea ce privete preul, conflicte n legtur cu caracteristicile produsului/ serviciului etc. i el este mediat de manager. Un conflict n legtur cu preul poate fi semnalat fie de consumator, fie este detectat de manager atunci cnd agenii negociatori ajung ntr-o bucl de negociere infinit.

33 Capitolul II, Model de pia virtual pentru piaa bunurilor i serviciilor

Atunci cnd managerul are de negociat un conflict de pre, pot aprea trei cazuri. Primul, managerul are un alt vnztor pe care s i-l recomande cumprtorului. Al doilea, nu exist un alt vnztor pe care managerul s-l recomande, dar managerul a detectat o dependen asupra unor elemente ntre cumprtor i vnztor. Managerul poate astfel s construiasc o soluie grupnd elementele care cauzeaz dependena. n final, dac nu sunt satisfcute condiiile cazurilor unu i doi, atunci managerul folosete raionamentul bazat pe caz pentru a genera o soluie. Pentru aceasta, managerul folosete atributele specificate n mesajul cumprtorului, indicii pieei referitori la bunul sau serviciul solicitat de cumprtor. Mai nti, managerul gsete bunuri similare din baza de bunuri folosind metrice similare, le sorteaz conform caracteristicilor cele mai apropiate de soliciatrea cumprtorului i selecteaz cea mai bun opiune. Soluia iniial este construit prin ajustare la scala cerinelor i este evaluat pentru a evita o potenial respingere. Conform acestei arhitecturi de pia au fost dezvoltate trei tipuri de ageni: Ageni de baz care nu folosesc nici o strategie de negociere, astfel nct ei accept numai ofertele care sunt mai mari dect preul sugerat de ei i resping pe oricare alta. Ageni intermediari care folosesc strategia de negociere pe baza evalurii riscului pentru generaia lor de oferte i contra-oferte, dar nu este luat n considerare nici o relaie de dependen. Ageni avansai care folosesc strategii de negociere pentru generaia lor de oferte i iau n considerare relaiile de dependen pentru a genera diferite tipuri de contrancte care-i pot ajuta s rezolve diferite tipuri de conflicte.

2.2 MODELUL PIEEI


n mod teroretic, pe o pia pe care se ntlnesc cererea cu oferta este determinat un pre de echilibru la care se realizeaz tranzaciile ce au ca rezultat clearing-ul pieei. n literatur exist dou modaliti prin care se poate rezolva problema determinrii preului de echilibru pentru pieele artificiale. O modalitate este mecanismul de clearing al pieei prin tatonarea walrasian a preului, iar cea de-a doua este licitaia dubl (double auction). Ideea mecanismului de clearing prin tatonamentul walrasian se bazeaz pe presupunerea c exist un licitator central care anun preul i apoi l modific progresiv

34 Capitolul II, Model de pia virtual pentru piaa bunurilor i serviciilor

pn se ajunge la echilibru. La nceput anun orice pre strict pozitiv, apoi l crete sau l descrete n funcie de cererea excedentar i de procesul de ajustare: Pt+1 = Pt + Z(Pt) sau Pt+1 = Pt[1+Z(Pt)] (1) unde este viteza de ajustare i Z(Pt) este cererea excedentar. n mod empiric s-a demonstrat c secvena { Pt }converge ctre preul de echilibru. Exist ns nite argumente discutabile n legtur cu acest lucru. Mai nti c n sistemul economic, informaia este ncorporat n dinamica pieei i dinamica pieei va influena comportamentul i convingerile agenilor. Chiar i aa afirmaia n legtur cu convergena este corect. Dinamica preului depinde n mod esenial de viteza de ajustare a crei valoare nu poate fi determinat obiectiv. n al doilea rnd, rolul licitatorului este un compromis al conceptului tradiional de echilibru ce a fost adoptat de mult timp de ctre economiti. Aceast noiune de chilibru este foarte diferit de cea dintr-un mediu dinamic i variat unde convergena nu este garantat. n al treilea rnd, pentru a implementa acest mecanism de pia pe o pia artificial, pe baza procesului de determinare a preului descris mai sus, preul de echilibru din perioada t trebuie determinat n avans. Cu alte cuvinte, cererea excedentar n perioada t determin preul de echilibru din perioada urmtoare. Acest lucru este foarte diferit de felul n care se desfoar lucrurile n lumea real unde preul din perioada t este determinat de cererea i oferta curente ale pieei. Mai exact, nu exist nici un licitator care s ncerce s-i dea seama care ar putea fi preul de echilibru care s curee piaa. De aceea este folosit un alt mecanism de pia: licitaia dubl. Pieele cu licitaia dubl (DA) au fost principalul sistem de tranzacii pentru cele mai multe piee financiare din lume. Bursa de mrfuri de la Chicago i Bursa de la New York sunt exemple tipice de astfel de piee. Fiecare comerciant trebuie s-i dea sema de valorile intrinseci ale semnalelor ofertelor, cererilor i preurilor de tranzacie abservate n trecut. ntr-un context general, agenii din aceste instituii se confrunt cu o secven de probleme decizionale cum ar fi: ct s cear sau s ofere pentru bunurile pe care le tranzacioneaz cnd s lanseze ofertele i cererile n ce condiii s accepte o anumit ofert sau cerere din partea altui agent

Pieele DA au fost simulate prin experimente de laborator cu subieci umani de ctre V. Smith nc din 1962 [16]. Numeroase studii experimentale i-au artat eficiena.

35 Capitolul II, Model de pia virtual pentru piaa bunurilor i serviciilor

Sunt investigate agregarea i propagarea informaiei precum i convergena ctre echilibrul cu ateptri raionale. Modelele cu ateptri raionale sunt interesante deoarece echilibrul necesit o putere de calcul foarte mic din partea agenilor pentru a-l menine n timp ce pentru a ajunge la echilibru sunt necesare reguli foarte complexe. Este posibil ca aceast cale de convergen ctre echilibru s fie una dificil cu multe instabiliti de-a lungul ei. Cu ct regulile devin mai complexe cu att se poate ajunge la un fel de instabilitate sau fragilitate a echilibrului, fcndu-le de neutilizat ntr-un mediu cu ali ageni foarte compleci. Raionalitatea este limitat deoarece calea ctre echilibru este una dificil i nu datorit puterii de calcul limitat a agenilor. Anumite neajunsuri ale acestor experimente de laborator fac dificil dezvoltarea acestui domeniu de cercetare. De pild, sunt necesare costuri mari i timp, iar experimentele trebuie conduse prin controale riguroase pentru a exista sigurana faptului c juctorii respect regulile. Mai mult dect att, anumite fenomene importante sunt neobservabile (de exemplu, preferina la risc a agenilor, comportamenul de nvare i strategiile de tranzactionare). De aceea, fr a nelege strategiile agenilor este imposibil nelegerea modului n care funcioneaz dinamica pieei. Pentru compararea, copierea i extinderea studiilor experimentale au fost propuse platformele computerizate de licitaie dubl. n aceste medii, este permis manipularea strategiilor i mecanismelor pentru a fi examinat impactul lor asupra dinamicii pieei i proceselor de formare a preului. Teoria economic modern a ncercat s explice comportamentul observat al agenilor n pieele DA ca rezultat al echilibrului raional al unui joc n informaie incomplet. Ipoteza nul este: comportamentul observat este o realizare a unui echilibru Bayesian-Nash (BNE) al acestui joc. Datorit complexitii inerente a jocurilor n timp contiuu n informaie incomplet, este extrem de dificil de calculat sau chiar de caracterizat acest echilibru. Aadar, foarte puine se cunosc din punct de vedere teoretic despre natura echilibrului strategiilor de negociere. Lucrarea lui Dawid, H. din 1999, On the Convergence of Genetic Learning in a Double Auction Market, publicat n Journal of Economic Dynamics and Control, nr.23 poate fi considerat ca fiind primul model de pia DA computerizat bazat pe agent. [2] Arhitectura pieei este cea din figura 1. Dawid a considerat dou populaii de ageni: 100 de cumprtori i 100 de vnztori. Fiecare vnztor are posibilitatea de a

36 Capitolul II, Model de pia virtual pentru piaa bunurilor i serviciilor

produce o unitate de bun n fiecare perioad. Costul de producie este dat de c are ia valori n intervalul [0;1] (c=0; 0.1 n experimentul su). Vnztorul produce bunul numai dac poate s-l vnd n aceeai perioad. Cumprtorul ctig utilitatea 1 u c din consumul bunului (u = 1; 0.7 n experimentul lui Dawid). u i c sunt informaii private.
Cumprtor 1 Mecanismul de cuplare aleatorie Vnztor 1

Cumprtor 2

Vnztor 2

Cumprrtor 100

Cump. i

Vnz. j

Vnztor 100

Fig. 2.1 Dawid (1999): Arhitectura pieei cu DA

n fiecare perioad, fiecare productor este mperecheat aleator cu un cumprtor i ambii trimit oferta n plic. Cumprtorul trimite preul pe care este dispus s-l plteasc (pb), i vnztorul d preul minim pentru care este dispus s livreze bunul (ps). Cumprtorii i vnztorii tiu c c i u iau valori n [0;1] i conform cu acest lucru restricioneaz ofertele la acest interval. Dac pb pc , va fi tranzacionat o unitate de bun la preul de tranzacie

pt =

Altfel nu are loc nici o tranzacie. Dawid a aplicat apoi aa-numitul algoritm genetic cu o singur populaie. Dar, restricionat de algoritmul genetic, se poate observa c modelul lui Dawid este numai o evoluie a ofertelor i cererilor mai degrab dect a strategiilor de negociere prin care sunt generate ofertele i cererile

( pb + ps ) 2

37 Capitolul II, Model de pia virtual pentru piaa bunurilor i serviciilor

S u c D 100 Fig. 2.2 Curbele de cerere i ofert pentru o pia DA

Esena cadrului licitaiei duble computerizate implic folosirea instrumentelor computerizate pentru a modela strategiile agenilor. Forme diferite de reprezentare pot constitui spaii ale strategiilor diferite ce pot influena modul n care agenii nva i ce anume nva. n sistemele economice structura i complexitatea strategiilor apar din propria lor supravieuire (sau fitness, profitabilitate) care de asemeni depinde de strategiile altor ageni. De aceea, structura i complexitatea preasignate nu sunt capabile s descrie suficient de bine rezultatele din realitate. Tehnicile larg folosite n simulrile economice, de exemplu, reelele neuronale artificiale (ANN) i algoritmii genetici (GA) sunt asemenea exemple. n cazul reelelor neuronale, arhitectura reelei (numrul straturilor ascunse i numrul de noduri) i metoda de antrenare (back porpagation, feedforward sau recurent) trebuie s fie stabilite dinainte. Implementarea convenional a algoritmilor genetici cu cromozomi de lungime fix de asemeni restricioneaz spaiul strategiilor. Mai mult, reprezentarea reelelor neuronale artificiale i a algoritmilor genetici nu este deloc la fel cu cea a strategiilor. Pe baza acestor argumente programarea genetic pare a fi cea mai bun pentru modelarea comportamentului agenilor economici. n afar de asemnarea dintre structura arborescent a programrii genetice i regulile de decizie (strategiile), programele de calculator precum i strategiile sunt programate automat cu ajutorul seleciei naturale i a evoluiei. Programarea genetic dezvolt programe de calculator ierarhice de mrimi i forme diferite care variaz dinamic. De aceea furnizeaz un cadru mult mai flexibil pentru a reprezenta strategii sofisticate care ar putea s apar din interaciune. Un colectiv de cercettori de la Departamentul de Economie al Universitii Naionale Chengchi din Taipei a dezvoltat un sistem software denumit AIE-DA, care este proiectat pentru implementarea unui model de pia double auction bazat pe ageni. Acest sistem software este scris n limbajul C++ i folosete programarea orientat pe obiecte.

38 Capitolul II, Model de pia virtual pentru piaa bunurilor i serviciilor

Programarea orientat pe obiecte a contribuit foarte mult la dezvoltarea domeniului de cercetare cunoscut sub numele de economia computerizat bazat pe ageni. Bazat pe ideea programrii orientate pe obiecte, software-ul AIE-DA este compus dintr-o serie de obiecte care interefereaz n mod paralel sau ierarhic. Principalele obiecte pot fi clasificate n trei categorii: arhitectura pieei, agenii i mecanismul de adaptare. Programarea orientat pe obiecte permite modificarea oricruia dintre aceste obiecte fr s afecteze prea mult alte obiecte. De exemplu, dac ne intereseaz s observm numai agenii, vom lsa deoparte arhitectura pieei i mecanismul de adaptare.

39 Capitolul III, Aplicaie

CAPITOLUL III

APLICAIE: CONSTRUIREA PIEEI VIRTUALE A BERII

3.1 DESCRIEREA MODELULUI

Piaa berii este o pia cu concuren de oligopol, ceea ce nseamn c exist puini productori (de ordinul zecilor) i muli cumprtori. Produsul este relativ omogen. Fiecare agent productor i stabilete strategia de ofert i pre n funcie de informaiile pe care le deine n legtur cu piaa referitor la cererea i la oferta celorlali productori i n funcie de propriul cost de producie astfel nct s-i maximizeze utilitatea (profitul) i cota de pia (eventual s-i menin sau s-i mbunteasc poziia). Strategiile productorilor evolueaz printr-un proces adaptativ de nvare a celei mai bune strategii. Strategia unui productor va fi reprezentat de perechea (Si,pi), unde Si este cantitatea oferit de productorul i, iar pi este preul la poarta fabricii productorului i, iar strategia unui consumator va fi perechea (Dj,pj), unde Dj este cantitatea cerut de consumatorul j. La nceputul fiecrei perioade (sptmna din viaa real) att productorii ct i supermarket-urile i stabilesc preul de vnzare, respectiv de achiziie precum i cantitile oferite, respectiv cerute la preurile respective conform propriilor metode de predicie i conform sistemului propriu de convingeri. Pe baza acestor sisteme de convingeri vor fi calculate preurile unitare i cantitile la nceputul fiecrei perioade de tranzacionare. Consumatorii sunt reprezentai de supermarket-urile care se aprovizioneaz cu bere de la fabricile din zon. La nivelul pieei nu se vd calculele fcute de agenii productori i consumatori (rezolvarea problemelor lor de optimizare), ci numai rezultatele acestor calcule, respectiv perechile (Si , pis) i (Dj , pjb). n plus, fiecare agent are propriile metode de predicie cu privire la preul de echilibru i la cererea direcionat ctre produsul su i se presupune c aceste metode se modific n timp pentru a se ajunge la metode mai bune de previziune. Cu perechile (Si , pis) i (Dj , pjb) denumite contracte, agenii consumatori i productori ies pe

40 Capitolul III, Aplicaie

pia i ncep procesul de negociere. n acest model va fi folosit modelul dublei licitaii (double auction) deoarece att consumatorii ct i productorii fac oferte de pre. Se vor avea n vedere strategiile de pia longevive, adic acele strategii care se menin ct mai mult din punct de vedere al rezultatelor pe care le dau. Condiia ca o strategie s fie viabil este, n primul rnd, ca ea s aduc profit pozitiv la preul de echilibru format pe pia prin confruntarea cererii cu oferta. Mecanismul pieei Mecanismul pieei este cel cu licitaie dubl (double auction). Agenii, mprii n vnztori i cumprtori sunt: productorii de bere (vnztorii) n numr de 40, i supermarketurile (cumprtorii) n numr de 10.

La nceputul fiecrei sptmni supermarket-urile vor ncerca s fac aprovizionri din toate tipurile de bere. Aceasta nseamn c fiecare supermarket (B) i fiecare productor (S) va trimite oferta lui de preuri i de cantiti (obligatoriu o cantitate va fi nsoit de un pre asociat care mpreun formeaz o strategie de ofert, respectiv cerere). Contractele oferite de S i respectiv B vor fi notate ca mai sus: (Si , pis) i respectiv (Dj,pjb), unde pis are semnificaia de pre minim la care productorul i este dispus s livreze marfa, iar pjb este preul pe care supemarketul j este dispus s-l plteasc pentru achiziionare.
B1 p1s S2 S2 . . . . S40 S40 p2s LICITAIE p 1d B2 . . . . B10

S1

S1

D1

D2

p 2d

p40s

p10d

D10

Fig. 3.1 Arhitectura pieei

Dac

pjb

pi , atunci se face tranzacia ntre cumprtorul j i productorul i la

preul de tranzacie pijt=( pis + pjb)/2 i la cantitatea Qijt=(Si+Dj)/2. Se va ncheia contractul

41 Capitolul III, Aplicaie

(pijt , Qijt). Qijt va fi comanda de producie a supermarket-ului j ctre productorul i. Astfel, cantitatea cerut va fi totdeauna egal cu cea oferit. Dac pjb < pis, atunci nu se realizeaz nici o tranzacie ntre agenii i i j. ntre parteneri nu vor aprea conflicte. Dup fiecare sptmn (generaie de contracte) se aplic algoritmul genetic cu o singur populaie simultan pentru cumprtori i vnztori. O generaie are o perioad de via de o sptmn, care reprezint perioada de reaprovizionare a supermarket-urilor. Se vor calcula funciile de utilitate dup fiecare generaie: pentru productor: i=(pijt-ci)*Qijt, unde suma se face dup j de la 1 la m, m fiind numrul de supermarketuri cu care productorul i ncheie contract de aprovizionare. ci reprezint costul unitar al productorului i. Dac productorul i nu ncheie nici un contract utilitatea sa va fi 0. pentru supermarket: uj= (pib-pijt)*Qijt, unde suma se face dup i de la 1 la n, n fiind numrul de productori cu care supermarketul j ncheie contract de aprovizionare n sptmna respectiv. Dac supemarketul j nu va gsi nici un productor cu care s ncheie un contract utilitatea sa va fi 0. Algoritmul genetic este folosit pentru a descrie procesul de adaptare i interaciunea dintre ageni n timpul procesului de nvare. Modificarea strategiilor este rezultatul adaptrii fiecrui agent. Acest algoritm va fi aplicat asupra sistemelor de convingeri ale productorilor i supermarket-urilor. Un sistem de convingeri va fi reprezentat n algoritm printr-un cromozom. Cromozomii reprezint datele considerate importante pentru sistemul de convingeri al productorului. Cei trei operatori importani aplicai asupra coromozomilor n algoritmul genetic (selecia, mutaia i ncruciarea) reprezint schimbul de convingeri ntre ageni i au urmtoarele interpretri economice [7]: Selecia reprezint imitarea sistemului de convingeri al altor ageni care obin ctiguri mai mari (care previzioneaz mai bine preul de echilibru astfel nct i stabilesc producia la un nivel la care s obin un profit ct mai mare). De aceea sistemele de convingeri care dau o previziune mai puin precis asupra preului de echilibru dispar de pe pia. Cu alte cuvinte acest proces nseamn propagarea metodelor de predicie de succes. Ceilali doi operatori, mutaia i ncruciarea, sunt privii ca fiind producerea de noi sisteme de convingeri: operatorul de ncruciare reprezint comunicarea

42 Capitolul III, Aplicaie

ntre ageni (respectiv accesul la informaia comun), iar operatorul de mutaie lucreaz ca modificarea independent a metodei de previziune a agentului. Algoritmul Ipoteze: 1. Piaa ajunge la echilibru n fiecare perioad considerat (piaa se golete, cererea va fi egal cu oferta i nu vor exista stocuri), deci toi productorii i vor vinde cantitatea produs, dar la un pre stabilit prin mecanismul de licitaie dubl. Aceasta se ntmpl deoarece cantitatea tranzacionat, determinat prin double action, reprezint comenzile supermarke-urilor ctre productori, iar productorii vor produce numai aceste cantiti. 2. Se consider ca date (informaii) pentru fundamentarea deciziei productorilor i consumatorilor urmtoarele variabile exogene: - preul buturilor rcoritoare, - preul buturilor alcoolice, - sezonul (cald sau rece), - rata inflaiei. Informaiile referitoare la aceste variabile se modific sptmnal. Agenii interpreteaz aceste date n acelai mod. Aceste date de modific discret lund valori ntre 3 i +3. Valori pozitive reprezint creteri ale indicatorilor respectivi mprite pe intervale de cretere, iar valori negative reprezint scderi ale indicatorilor. Aceste modificri sunt scalate la valorile discrete ntregi din intervalul [-3, +3]. Fiecreia dintre aceste variabile agenii pieei le vor da ponderi diferite n importan pentru calcularea preului pentru perioada urmtoare. Voi numi aceste ponderi sistem de convingeri i le voi nota cu wklB, respectiv wklS unde k este agentul, iar l este variabila exogen la care se refer. 3. Ponderile vor lua valori n mulimea {-3, -1, -0.5, -0.1, 0, 0.1, 0.5, -1, -3}. Un cromozom va fi format dintr-un ir de 4 gene, fiecare gen reprezentnd ponderea unui factor din cei patru n sistemul de convingeri ale agentului k. Reprezentrile ponderilor vor fi dup cum urmeaz: +3 A +1 B +0.5 C +0.1 D 0 E -0.1 F -0.5 G -1 H -3 I

43 Capitolul III, Aplicaie

4. Durata de via a unei populaii de strategii: 1 sptmn Paii algoritmului Pas1: Fiecare agent percepe modificrile factorilor care influeneaz preul. Pas2: n funcie de ponderea pe care o acord celor patru variabile de decizie, fiecare agent, att productor ct i supermarket, i calculeaz preul i cantitatea dup formulele. [7]

Ek

S ,B

[p ] = wk ,l xl ,
l =1

pkt +1 = pkt + Ek [p ]
2

Vark [p ] =

1 ( wx+ ) ( wx )
2

unde wx+ sunt wk ,l xl > 0, iar

wx sunt wk ,l xl < 0
xl reprezint informaii cu privire la modificrile celor 4 variabile care influeneaz modificarea preului berii. Cantitile oferite, respectiv cerute se calculeaz dup formulele: Si= |Ei[p]| / (Vari[p]), oferta productorului i Dj= |Ej[p]| / (Varj[p]), cererea supermarket-ului j Ex.Un sistem de convingeri pentru un agent i poate avea, de exemplu, urmtoarea form: ADFI.
preul buturilor rcoritoare Preul buturilor alcoolice sezonul (cald sau rece) 1/0 rata inflaiei

+2 A (3)

-1 D (0.1)

1 F (-0.1)

+1 I (-3)

Ei[p]=2*3+(-1)*0.1+1*(-0.1)+1*(-3)=2.8, adic preul pentru perioada t+1 va crete cu 2.8 deci pt+1=pt+2.8

44 Capitolul III, Aplicaie

Vark [p ] =

1 ( wx+ ) ( wx )
2 2

1 6 (0.1 0.1 3)
2 2

1 1 = = 0.1970 36 10.24 5.0754


Presupunnd c agentul i este productor, aferta sa pentru sptmna t+1 va fi Si=2.8/0.1970=14.21 Pas3: Se confrunt preul pis cu pjb pentru fiecare i i j Pas4: Dac pjb >=pis se determin preul i cantitile de tranzacie Pas5: Se calculeaz utilitile att pentru productori, ct i pentru supermarket-uri pentru fiecare perioad de o sptmn numit i generaie: i=(pijt-ci)*Qijt, unde i este indicele pentru productor, respectiv uj= (pjb-pijt)*Qijt, unde j este indicele pentru supermarket. Pas6: Dac pentru un i nu exist nici un j astfel inct pjb >=pis atunci i=0. Analog, dac pentru un j nu exist nici un i astfel nct pjb >=pis, atunci uj=0. Adaptarea Pas7: Pentru ponderile wklB i wklS se aplic algoritmul genetic simultan pe populaia de strategii ale productorilor i supermarket-urilor: Operaia 1: Se calculeaz funciile de fitness:

t i

= ni , t i i =1

n numarul

de producatori

ut j g = m , j t u j =1 j t

m numarul

de sup ermarketuri

Se pstreaz dou zecimale. Operaia 2: Se calculeaz frecvenele cumulate ale fit, gjt i se determin mulimile asociate. Operaia 3: Se realizeaz selecia cromozomilor folosind metoda ruletei (metoda Monte Carlo). Din populaia iniial este selectat acelai numr de cromozomi care a fost n populaia iniial. Se genereaz numere aleatoare uniform distribuite n [0;1]: z.

45 Capitolul III, Aplicaie

Dac z aparine mulimii asociate corespunztoare strategiei i, atunci strategia i va fi folosit pentru ncruciare i mutaie (se spune c s-a facut selecia). Se vor genera attea numere aleatoare cte sunt necesare pentru a selecta un numr de strategii care s refac populaia iniial ca numr. O strategie va fi selectat de mai multe ori. n urma seleciei rezult o populaie intermediar P1 de aceeai dimensiune cu populaia iniial P0. Operaia 4: Pe populaia selectat se aplic operatorii de ncruciare i mutaie. ncruciarea P1. Pentru fiecare cromozom se execut paii P1.1 i P1.2 P1.1. Se genereaz numrul aleator q uniform distribuit ntre 0 i 1 P1.2. Dac q<pc, unde pc este probabilitatea de ncruciare, cromozomul respectiv este reinut pentru ncruciare P2. Fie m numrul de cromozomi reinui la pasul P1. Dac m este par, cu cromozomii rezultai se formeaz m/2 perechi. Perechile se formeaz n mod aleator. Dac m este impar, fie se terge un cromozom, fie se adaug unul nou din populaia intermediar. Se opteaz pentru adugare sau tergere n mod aleator prin generarea unui nou numr aleator. P3. Cu perechile de la pasul P2 se aplic ncruciarea. Se genereaz un numr aleator ntre 1 i numrul total de gene ale cromozomului minus 1. Acest numr reprezin poziia de splitare a biilor care vor fi motenii. Primele de la 1 la numrul generat de gene de la un printe (tatl) se vor concatena cu urmtoarele de la numrul generat plus 1 la numrul maxim de gene de la cellalt printe (mama). Din fiecare doi prini vor rezulta 2 copii care i vor nlocui n noua populaie. Dac m a fost numrul cromozomilor selectai pentru ncruciare, n urma ncrucirii rezult tot m cromozomi. Pentru completarea populaiei generaiei t+1 se adaug restul de cromozomi neselectai pentru ncruciare din populaia P1. Mutaia Pe populaia de cromozomi rezultat din ncruciare se aplic operatorul de mutaie cu probabilitatea de mutaie, pm. Probabilitatea de mutaie este probabilitatea ca un bit s fie schimbat. Fiecare bit are aceeai probabilitate de mutaie pm. Cromozomii rezultai sunt inserai n populaie. Mutaia modific aleator copiii.

46 Capitolul III, Aplicaie

Cu populaia nou creat se reia algoritmul de la pasul Pas1. Paii 1-7 reprezint o generaie. Generaia corespunde unei saptmni din piaa real.

3.2 EXPERIMENTUL
Modelul descris mai sus a fost implementat cu ajutorul programului MATLAB. Datele de intrare referitoare la costurile unitare de producie, la preurile unitare oferite n contractele att ale productorilor ct i ale supermarketurilor i ponderile n perioada 0 (la nceputul simulrii) sunt redate n anexa 1. Fiierele cu codul programului se gsesc n anexa 2. Programul funcioneaz n dou moduri: Cu datele referitoare la modificrile preurilor buturilor alcoolice i rcoritoare, sezon i rata inflaiei ncrcate din fiierul text informaii.txt care se gsete n anexa 1. Aceste informaii se modific de la o perioad la alta. Cu datele referitoare la modificrile preurilor buturilor alcoolice i rcoritoare, sezon i rata inflaiei ncrcate de la utilizator. Aceste informaii rmn constante de la o perioad la alta, adic trendul informaiilor se menine. Parametrii algoritmului genetic pot fi de asemenea modificai de ctre utilizator.

47 Capitolul III, Aplicaie

Experimentul 1(cu informaii despre pia ncrcate de la utilizator):

-rata de ncruciare: 0.9 -rata de mutaie: 0.05 Informaiile introduse de utilizator reflect situaia n care, n contextul unui sezon cald preul la buturile rcoritoare crete i cel la buturile alcoolice scade, iar rata inflaiei a crescut. Aceste informaii se menin constante pe toat perioada analizat, iar sistemele de convingeri iniiale ale agenilor sunt cele din fiierele text pondprod.txt i pondsm.txt

Rezultatele obinute dup 52 de generaii (o generaie=o sptmn) sunt urmtoarele: -profiturile productorilor au un trend cresctor de-a lungul celor 52 de perioade, lucru observabil din primul grafic (Evoluia profiturilor). De asemenea se observ o difereniere cresctoare ntre profiturile productorilor (Abaterea standard a profiturilor), ceea ce nseamn, n termeni reali, c se desprind lideri de pia. Privind graficul al doilea

48 Capitolul III, Aplicaie

din cele de mai jos se observ c productorii 2 i 10 au cele mai mari profituri n ultima sptmn

49 Capitolul III, Aplicaie

-profiturile supermarket-urilor nregistreaz o difereniere cresctoare. Toate profiturile au un trend cresctor, deci procesul de adaptare a funcionat.

n ultima sptmn profiturile cele mai mari le au supermarket-urile 7 i 9.

50

Capitolul III, Aplicaie

-preurile productorilor

-preurile supermarket-urilor

51

Capitolul III, Aplicaie

-profiturile relative ale productorilor

-profiturile relative ale supermarket-urilor

52

Capitolul III, Aplicaie

Experimentul 2 (cu informaii despre pia ncrcate din fiierul text informaii.txt) -rata de ncruciare: 0.9 -rata de mutaie: 0.05 Informaiile ncrcate din fiier reflect situaia n care acestea se modific de la o

perioad la alta. Rezultatele obinute dup 52 de generaii sunt urmtoarele: -profiturile productorilor

-profiturile supermarket-urilor

53

Capitolul III, Aplicaie

-preurile productorilor

-preurile supermarket-urilor

54

Capitolul III, Aplicaie

Se observ o tendin de omogenizare a preurilor la care sunt dispuse supermarketurile s se aprovizioneze. Acest lucru este vizibil n ultimul grafic al figurii anterioare. n timp ce productorul 1 nregistreaz o evoluie cresctoare a preului, supemarket-ul 1 nregistreaz o tendin descendent, lucru vizibil dup sptmna a douzecea. Pe ansamblul productorilor i al supemarketurilor se ntmpl acelai lucru deoarece agenii i adapteaz preul i de o parte i de cealalt astfel nct fiecare s obin un numr ct mai mare de tranzacii. -profiturile relative ale productorilor

Ca i n experimentul anterior, productorul 5 are ponderea de profit cea mai mare n totalul profiturilor celorlali productori.

55

Capitolul III, Aplicaie

-profiturile relative ale supermarket-urilor

Ca i n experimentul anterior, supermarket-ul 9 are ponderea de profit cea mai mare. Concluzie: algoritmul genetic este capabil s gseasc, pentru fiecare agent, sistemul de convingeri care s-l menin pe pia prin obinerea de profit chiar dac acesta nu are o evoluie constant cresctoare.

56

ANEXA 1 (fiierele text utilizate n program)


COSTURIPROD.TXT cost pret 8000 12000 6000 10600 12000 13000 5690 8900 8254 14000 7565 9600 11000 15600 12300 14200 6500 8900 12300 13000 14000 18000 12000 19000 13000 14560 14000 15000 12400 17000 7600 9630 12000 14000 14200 15000 16000 18000 8500 14000 9000 15000 6900 8000 7560 14200 6899 15000 8900 14000 12500 13000 9700 14500 10000 12300 12000 15000 9500 14000 11000 15000 8520 14000 9200 16300 6500 15220 12000 18000 7800 17000 9800 12000 10200 16000 10000 14000 9800 12900 INFORMATII.TXT -2 -1 0 -1 2 0 -2 2 0 1 1 0 1 -2 0 -3 1 0 -3 1 0 1 1 0 -2 3 0 -1 2 0 1 1 0 -1 -1 0 1 3 0 1 1 0 -1 1 0 1 1 1 3 3 1 -2 2 1 2 2 1 2 -1 1 3 -3 1 2 2 1 2 1 1 0 0 1 1 -2 1 1 1 1 2 2 1 -1 -3 1 2 2 1 -1 -1 1 1 1 1 -3 -2 1 -2 0 1 2 -1 1 2 3 1 2 3 1 -2 -1 1 1 1 1 -1 -1 1 2 0 1 2 2 1 -1 -1 1 1 2 1 1 -1 0 2 2 0 1 1 0 2 1 0 1 3 0 1 1 0 1 -1 0 1 1 0 1 -2 0 1 1 2 1 3 2 2 1 2 0 1 -1 2 -2 1 2 2 1 1 1 2 2 1 1 0 1 2 -2 2 0 2 -2 1 1 3 2 -1 2 -1 1 3 -2 1 1 -2 2 1 3 2 3 2 2 PONDPROD.TXT +0.5 +0.1 +1 +3 +1 +0.5 +0.5 -0.1 1 +0.5 -0.5 1 +0.1 0 -0.5 -0.1 -0.5 -1 0.5 0.1 -1 0.1 1 3 1 0.5 -3 3 1 -3 0 1 0.1 0.1 0 -0.1 3 1 0.5 1 -0.1 0.1 1 0.5 -1 1 -0.1 -0.5 3 -0.5 -1 1 -0.1 -1 0.5 0.5 0 -1 -3 0.5 3 0 -0.1 1 0 -0.1 -3 -3 3 3 0.1 0 +1 +0.1 +0.1 -0.1 -0.5 -3 -1 -3 -0.5 1 0.5 0.1 3 1 -3 0.5 0.5 -0.5 1 0.5 0 3 0.5 -0.5 0 0 -3 1 0.5 -0.1 -0.1 -0.5 0.5 0.5 -3 -1 -3 3 0.5 0.1 0.5 -1 1 0.5 -1 1 3 0 +3 -1 -3 -3 -1 -3 -3 -3 -0.5 -1 -1 -1 -3 -3 -0.5 3 0.1 -3 0.5 -1 -0.5 -3 0.1 -3 -0.1 -1 0.5 -0.5 -1 -0.1 -0.5 -1 0 -0.5 0.1 -1 0.1 1 -0.5 -1

57

PONDSM.TXT 0.1 -0.1 -1 -3 -0.1 0.5 0.1 -0.1 3 0.1 0.5 0.1 0.5 1 0.1 -3 1 3 1 0.5

1 -0.5 0.1 -1 -3 -0.1 -0.1 -1 -3 0.1

0.5 1 3 0 -0.1 -3 -3 0 -0.5 -1

PRETSM.TXT 8600 12000 13200 11500 13800 12200 18500 9650 19000 17900

58

ANEXA 2 (codul surs)


%ALGORITMUL.M %pas 1 mesaj=uicontrol('style','edit','position',[.14 .1 .6 .07],'units','normalized',... 'foregroundcolor','red','string','ASTEPTATI VA ROG...','clipping','on',... 'horizontalalignment','center','backgroundcolor',[.8,.8,.8],'fontweight', 'bold') load pondprod.txt -ascii; load pondsm.txt -ascii; load costuriprod.txt -ascii; load pretsm.txt -ascii; wp=pondprod; wps=pondsm; cost=costuriprod; p=cost(:,2); c=cost(:,1); t=1; PS(1:40,t)=p; P=pretsm; PB(1:10,t)=P; % pas 2 while t<=52 val1=get(br1,'value'); if val1==1 br=-3; elseif val1==2 br=-2; elseif val1==3 br=-1; elseif val1==4 br=0; elseif val1==5 br=1; elseif val1==6 br=2; elseif val1==7 br=3; end val2=get(ba1,'value'); if val2==1 ba=-3; elseif val2==2 ba=-2; elseif val2==3 ba=-1; elseif val2==4 ba=0; elseif val2==5 ba=1; elseif val2==6 ba=2; elseif val2==7 ba=3; end val3=get(sez1,'value'); if val3==1

59

sez=1; elseif val3==2 sez=0; end val4=get(ri1,'value'); if val4==1 ri=-3; elseif val4==2 ri=-2; elseif val4==3 ri=-1; elseif val4==4 ri=0; elseif val4==5 ri=1; elseif val4==6 ri=2; elseif val4==7 ri=3; end for i=1:40 EP(i,t)=wp(i,1)*br+wp(i,2)*ba+wp(i,3)*sez+wp(i,4)*ri; PS(i,t+1)=PS(i,t)+EP(i,t); s1(i,t)=0; s2(i,t)=0; if wp(i,1)*br>0 s1(i,t)=s1(i,t)+wp(i,1)*br; else s2(i,t)=s2(i,t)+wp(i,1)*br; end if wp(i,2)*ba>0 s1(i,t)=s1(i,t)+wp(i,2)*ba; else s2(i,t)=s2(i,t)+wp(i,2)*ba; end if wp(i,3)*sez>0 s1(i,t)=s1(i,t)+wp(i,3)*sez; else s2(i,t)=s2(i,t)+wp(i,3)*sez; end if wp(i,4)*ri>0 s1(i,t)=s1(i,t)+wp(i,4)*ri; else s2(i,t)=s2(i,t)+wp(i,4)*ri; end var(i,t)=1/sqrt(abs(s1(i,t)^2-s2(i,t)^2)); s(i,t+1)=abs(EP(i,t)/var(i,t)); end for j=1:10 ESM(j,t)=wps(j,1)*br+wps(j,2)*ba+wps(j,3)*sez+wps(j,4)*ri; PB(j,t+1)=PB(j,t)+ESM(j,t); ss1(j,t)=0; ss2(j,t)=0; if wps(j,1)*br>0 ss1(j,t)=ss1(j,t)+wps(j,1)*br; else ss2(j,t)=ss2(j,t)+wps(j,1)*br; end if wps(j,2)*ba>0 ss1(j,t)=ss1(j,t)+wps(j,2)*ba;

60

else ss2(j,t)=ss2(j,t)+wps(j,2)*ba; end if wps(j,3)*sez>0 ss1(j,t)=ss1(j,t)+wps(j,3)*sez; else ss2(j,t)=ss2(j,t)+wps(j,3)*sez; end if wps(j,4)*ri>0 ss1(j,t)=ss1(j,t)+wps(j,4)*ri; else ss2(j,t)=ss2(j,t)+wps(j,4)*ri; end vars(j,t)=1/sqrt(abs(ss1(j,t)^2-ss2(j,t)^2)); d(j,t+1)=abs(ESM(j,t)/vars(j,t)); end disp(var); disp(vars); %pas 3&4 for i=1:40 for j=1:10 if PB(j,t+1)>=PS(i,t+1) tranz(i,j)=1; Ptranz(i,j)=(PS(i,t+1)+PB(j,t+1))/2; qtranz(i,j)=(s(i,t+1)+d(j,t+1))/2; else tranz(i,j)=0; end end end % disp(tranz); %pas 5&6 for i=1:40 pi(i,t+1)=0; for j=1:10 if tranz(i,j)==1 pi(i,t+1)=pi(i,t+1)+(Ptranz(i,j)-c(i))*qtranz(i,j); end end end for j=1:10 u(j,t+1)=0; for i=1:40 if tranz(i,j)==1 u(j,t+1)=u(j,t+1)+(PB(j,t+1)-Ptranz(i,j))*qtranz(i,j); end end end % disp(pi); % disp(u); %pas 7 %operatia 1 sumaf=0; sumag=0; for i=1:40 sumaf=sumaf+pi(i,t+1); end for j=1:10 sumag=sumag+u(j,t+1); end for i=1:40

61

f(i,t+1)=pi(i,t+1)/sumaf; end for j=1:10 g(j,t+1)=u(j,t+1)/sumag; end %operatia 2 fc(1)=f(1,t+1); for i=1:39 fc(i+1)=fc(i)+f(i+1,t+1); end gc(1)=g(1,t+1); for j=1:9 gc(j+1)=gc(j)+g(j+1,t+1); end %operatia 3 %selectia dupa fitness pentru producatori rand('state',sum(100*clock)) k=1; while k<=40 z=rand; if z<fc(1) wp(k,1:4)=wp(1,1:4); k=k+1; else for i=1:39 if (z>fc(i))&(z<fc(i+1)) wp(k,1:4)=wp(i+1,1:4); k=k+1; end end end end for i=1:40 for k=1:4 genaprod(i,k)=feval('gene',wp(i,k)); end end disp(['Populatia selectata conform fitness pentru producatori']) disp(genaprod) %pause %selectia dupa fitness pentru supermarket r=1; while r<=10 y=rand; if y<gc(1) wps(r,1:4)=wps(1,1:4); r=r+1; else for j=1:2 if (y>gc(j))&(y<gc(j+1)) wps(r,1:4)=wps(j+1,1:4); r=r+1; end end end end for j=1:10 for k=1:4 genasuper(j,k)=feval('gene',wps(j,k)); end

62

end disp(['Populatia selectata conform fitness pentru supermarketuri']) disp(genasuper) %pause %operatia 4 (incrucisarea si mutatia) %pc=str2num(get(aa,'string')) %pm=str2num(get(bb,'string')) %pc=0.7; %pm=0.03; %incrucisarea pentru producatori %selectia pentru incrucisare nr=0; for i=1:40 q=rand; if q<pc nr=nr+1; wp1(nr,1:4)=wp(i,1:4); sel(nr)=i; end end m=nr; for j=1:m for k=1:4 cromocrossp(j,k)=feval('gene',wp1(j,k)); end end disp(['Potrivit ratei de incrucisare au fost selectati ',num2str(m),' cromozomi pentru producatori']); %pause if mod(m,2)==1 m=m+1; n=floor(1+39*rand); wp1(m,1:4)=wp(n,1:4); sel(m)=n; end for j=1:m for k=1:4 cromocrossp(j,k)=feval('gene',wp1(j,k)); end end disp(['Populatia PRODUCATORI pentru incrucisare']) for j=1:m disp(cromocrossp(j,:)) end disp(['Populatia producatori ce va fi incrucisata are ',num2str(m),' cromozomi']) %incrucisarea propriu-zisa pentru producatori x=1; while x<=m ii=floor(1+(m-1)*rand); jj=floor(1+(m-1)*rand); r1=floor(1+3*rand); r2=floor(1+3*rand); off(x,1:r1)=wp1(ii,1:r1); off(x+1,1:r1)=wp1(jj,1:r1); off(x,r1+1:4)=wp1(jj,r1+1:4); off(x+1,r1+1:4)=wp1(ii,r1+1:4); x=x+2; end disp(sel);

63

%pause i=1:40; difp=setdiff(i,sel) for j=1:40-m off(m+j,:)=wp(difp(j),:); end wp=off; clear sel; clear difp; for i=1:40 for k=1:4 wpcromozom(i,k)=feval('gene',wp(i,k)); end end disp(['Producatori incrucisati']) disp(wpcromozom); %pause %mutatia producatori for i=1:160 mut=rand; if mut<pm chr=setstr(floor(65+8*rand)) rest=mod(i,4) cat=(i-rest)/4+1; if rest==0 rest=4; cat=cat-1; end wpcromozom(cat,rest)=chr; end end for i=1:40 for k=1:4 wp(i,k)=feval('geneinvers',wpcromozom(i,k)); end end %sfarsit mutatia producatori %incrucisarea pentru supermarketuri %selectia pentru incrucisare nrs=0; for i=1:10 qs=rand; if qs<pc nrs=nrs+1; wps1(nrs,1:4)=wps(i,1:4); isel(nrs)=i; end end ms=nrs; for j=1:ms for k=1:4 cromocrosss(j,k)=feval('gene',wps1(j,k)); end end disp(['Potrivit ratei de incrucisare au fost selectati ',num2str(ms),' cromozomi pentru supermarket']); %pause if mod(ms,2)==1 ms=ms+1; ns=floor(1+9*rand);

64

wps1(ms,1:4)=wps(ns,1:4); isel(ms)=ns; end for j=1:ms for k=1:4 cromocrosss(j,k)=feval('gene',wps1(j,k)); end end disp(['Populatia SUPERMARKETURI pentru incrucisare']) for j=1:ms disp(cromocrosss(j,:)) end disp(['Populatia supermarket ce va fi incrucisata are ',num2str(ms),' cromozomi']) %incrucisarea propriu-zisa pentru supermarketuri d=1 while d<=ms iii=floor(1+(ms-1)*rand); jjj=floor(1+(ms-1)*rand); rs1=floor(1+3*rand); rs2=floor(1+3*rand); offS(d,1:rs2)=wps1(iii,1:rs2); offS(d+1,1:rs2)=wps1(jjj,1:rs2); offS(d,rs2+1:4)=wps1(jjj,rs2+1:4); offS(d+1,rs2+1:4)=wps1(iii,rs2+1:4); d=d+2; end disp(['isel']); disp(isel); %pause j=1:10; difs=setdiff(j,isel) for i=1:10-ms offS(ms+i,:)=wps(difs(i),:); end wps=offS; clear isel; clear difs; for i=1:10 for k=1:4 wpscromozom(i,k)=feval('gene',wps(i,k)); end end disp(['Supermarketuri incrucisate']) disp(wpscromozom); %pause; %mutatia supermarket for i=1:40 muts=rand; if muts<pm chrs=setstr(floor(65+8*rand)) rests=mod(i,4) cats=(i-rests)/4+1; if rests==0 rests=4; cats=cats-1; end wpscromozom(cats,rests)=chrs; end end for i=1:10

65

end %sfarsit mutatie supermarket for i=1:40 for k=1:4 wpcromozom(i,k)=feval('gene',wp(i,k)); end end for i=1:10 for k=1:4 wpscromozom(i,k)=feval('gene',wps(i,k)); end end disp(['Noile populatii de convingeri sunt']) disp(['PRODUCATORII']);disp(wpcromozom); %pause disp(['SUPERMARKETURI']);disp(wpscromozom); t=t+1; end set(mesaj,'visible','off')

for k=1:4 wps(i,k)=feval('geneinvers',wpscromozom(i,k)); end

%ALGORITMUL2.M %pas 1 mesaj=uicontrol('style','edit','position',[.14 .5 .6 .07],'units','normalized',... 'foregroundcolor','red','string','ASTEPTATI VA ROG...','clipping','on',... 'horizontalalignment','center','backgroundcolor',[.8,.8,.8],'fontweight', 'bold') load pondprod.txt -ascii; load pondsm.txt -ascii; load costuriprod.txt -ascii; load pretsm.txt -ascii; load informatii.txt -ascii; wp=pondprod; wps=pondsm; cost=costuriprod; p=cost(:,2); c=cost(:,1); t=1; PS(1:40,t)=p; P=pretsm; PB(1:10,t)=P; info=informatii; br=info(:,1); ba=info(:,2); sez=info(:,3); ri=info(:,4); % pas 2 while t<=52 for i=1:40 EP(i,t)=wp(i,1)*br(t)+wp(i,2)*ba(t)+wp(i,3)*sez(t)+wp(i,4)*ri(t); PS(i,t+1)=PS(i,t)+EP(i,t); s1(i,t)=0; s2(i,t)=0; if wp(i,1)*br(t)>0 s1(i,t)=s1(i,t)+wp(i,1)*br(t); else

66

s2(i,t)=s2(i,t)+wp(i,1)*br(t); end if wp(i,2)*ba(t)>0 s1(i,t)=s1(i,t)+wp(i,2)*ba(t); else s2(i,t)=s2(i,t)+wp(i,2)*ba(t); end if wp(i,3)*sez(t)>0 s1(i,t)=s1(i,t)+wp(i,3)*sez(t); else s2(i,t)=s2(i,t)+wp(i,3)*sez(t); end if wp(i,4)*ri(t)>0 s1(i,t)=s1(i,t)+wp(i,4)*ri(t); else s2(i,t)=s2(i,t)+wp(i,4)*ri(t); end var(i,t)=1/sqrt(abs(s1(i,t)^2-s2(i,t)^2)); s(i,t+1)=abs(EP(i,t)/var(i,t)); end for j=1:10 ESM(j,t)=wps(j,1)*br(t)+wps(j,2)*ba(t)+wps(j,3)*sez(t)+wps(j,4)*ri(t); PB(j,t+1)=PB(j,t)+ESM(j,t); ss1(j,t)=0; ss2(j,t)=0; if wps(j,1)*br(t)>0 ss1(j,t)=ss1(j,t)+wps(j,1)*br(t); else ss2(j,t)=ss2(j,t)+wps(j,1)*br(t); end if wps(j,2)*ba(t)>0 ss1(j,t)=ss1(j,t)+wps(j,2)*ba(t); else ss2(j,t)=ss2(j,t)+wps(j,2)*ba(t); end if wps(j,3)*sez(t)>0 ss1(j,t)=ss1(j,t)+wps(j,3)*sez(t); else ss2(j,t)=ss2(j,t)+wps(j,3)*sez(t); end if wps(j,4)*ri(t)>0 ss1(j,t)=ss1(j,t)+wps(j,4)*ri(t); else ss2(j,t)=ss2(j,t)+wps(j,4)*ri(t); end vars(j,t)=1/sqrt(abs(ss1(j,t)^2-ss2(j,t)^2)); d(j,t+1)=abs(ESM(j,t)/vars(j,t)); end disp(var); disp(vars); %pas 3&4 for i=1:40 for j=1:10 if PB(j,t+1)>=PS(i,t+1) tranz(i,j)=1; Ptranz(i,j)=(PS(i,t+1)+PB(j,t+1))/2; qtranz(i,j)=(s(i,t+1)+d(j,t+1))/2; else tranz(i,j)=0; end end

67

end disp(tranz); %pas 5&6 for i=1:40 pi(i,t+1)=0; for j=1:10 if tranz(i,j)==1 pi(i,t+1)=pi(i,t+1)+(Ptranz(i,j)-c(i))*qtranz(i,j); end end end for j=1:10 u(j,t+1)=0; for i=1:40 if tranz(i,j)==1 u(j,t+1)=u(j,t+1)+(PB(j,t+1)-Ptranz(i,j))*qtranz(i,j); end end end % disp(pi); % disp(u); %pas 7 %operatia 1 sumaf=0; sumag=0; for i=1:40 sumaf=sumaf+pi(i,t+1); end for j=1:10 sumag=sumag+u(j,t+1); end for i=1:40 f(i,t+1)=pi(i,t+1)/sumaf; end for j=1:10 g(j,t+1)=u(j,t+1)/sumag; end %operatia 2 fc(1)=f(1,t+1); for i=1:39 fc(i+1)=fc(i)+f(i+1,t+1); end gc(1)=g(1,t+1); for j=1:9 gc(j+1)=gc(j)+g(j+1,t+1); end %operatia 3 %selectia dupa fitness pentru producatori rand('state',sum(100*clock)) k=1; while k<=40 z=rand; if z<fc(1) wp(k,1:4)=wp(1,1:4); k=k+1; else for i=1:39 if (z>fc(i))&(z<fc(i+1)) wp(k,1:4)=wp(i+1,1:4); k=k+1; %

68

end end end end for i=1:40 for k=1:4 genaprod(i,k)=feval('gene',wp(i,k)); end end disp(['Populatia selectata conform fitness pentru producatori']) disp(genaprod) %pause %selectia dupa fitness pentru supermarket r=1; while r<=10 y=rand; if y<gc(1) wps(r,1:4)=wps(1,1:4); r=r+1; else for j=1:2 if (y>gc(j))&(y<gc(j+1)) wps(r,1:4)=wps(j+1,1:4); r=r+1; end end end end for j=1:10 for k=1:4 genasuper(j,k)=feval('gene',wps(j,k)); end end disp(['Populatia selectata conform fitness pentru supermarketuri']) disp(genasuper) %pause %operatia 4 (incrucisarea si mutatia) %pc=str2num(get(aa,'string')) %pm=str2num(get(bb,'string')) %pc=0.7; %pm=0.03; %incrucisarea pentru producatori %selectia pentru incrucisare nr=0; for i=1:40 q=rand; if q<pc nr=nr+1; wp1(nr,1:4)=wp(i,1:4); sel(nr)=i; end end m=nr; for j=1:m for k=1:4 cromocrossp(j,k)=feval('gene',wp1(j,k)); end end disp(['Potrivit ratei de incrucisare au fost selectati ',num2str(m),' cromozomi pentru producatori']);

69

%pause if mod(m,2)==1 m=m+1; n=floor(1+39*rand); wp1(m,1:4)=wp(n,1:4); sel(m)=n; end for j=1:m for k=1:4 cromocrossp(j,k)=feval('gene',wp1(j,k)); end end disp(['Populatia PRODUCATORI pentru incrucisare']) for j=1:m disp(cromocrossp(j,:)) end disp(['Populatia producatori ce va fi incrucisata are ',num2str(m),' cromozomi']) %incrucisarea propriu-zisa pentru producatori x=1; while x<=m ii=floor(1+(m-1)*rand); jj=floor(1+(m-1)*rand); r1=floor(1+3*rand); r2=floor(1+3*rand); off(x,1:r1)=wp1(ii,1:r1); off(x+1,1:r1)=wp1(jj,1:r1); off(x,r1+1:4)=wp1(jj,r1+1:4); off(x+1,r1+1:4)=wp1(ii,r1+1:4); x=x+2; end disp(sel); %pause i=1:40; difp=setdiff(i,sel) for j=1:40-m off(m+j,:)=wp(difp(j),:); end wp=off; clear sel; clear difp; for i=1:40 for k=1:4 wpcromozom(i,k)=feval('gene',wp(i,k)); end end disp(['Producatori incrucisati']) disp(wpcromozom); %pause %mutatia producatori for i=1:160 mut=rand; if mut<pm chr=setstr(floor(65+8*rand)) rest=mod(i,4) cat=(i-rest)/4+1; if rest==0 rest=4; cat=cat-1; end

70

wpcromozom(cat,rest)=chr; end end for i=1:40 for k=1:4 wp(i,k)=feval('geneinvers',wpcromozom(i,k)); end end %sfarsit mutatia producatori %incrucisarea pentru supermarketuri %selectia pentru incrucisare nrs=0; for i=1:10 qs=rand; if qs<pc nrs=nrs+1; wps1(nrs,1:4)=wps(i,1:4); isel(nrs)=i; end end ms=nrs; for j=1:ms for k=1:4 cromocrosss(j,k)=feval('gene',wps1(j,k)); end end disp(['Potrivit ratei de incrucisare au fost selectati ',num2str(ms),' cromozomi pentru supermarket']); %pause if mod(ms,2)==1 ms=ms+1; ns=floor(1+9*rand); wps1(ms,1:4)=wps(ns,1:4); isel(ms)=ns; end for j=1:ms for k=1:4 cromocrosss(j,k)=feval('gene',wps1(j,k)); end end disp(['Populatia SUPERMARKETURI pentru incrucisare']) for j=1:ms disp(cromocrosss(j,:)) end disp(['Populatia supermarket ce va fi incrucisata are ',num2str(ms),' cromozomi']) %incrucisarea propriu-zisa pentru supermarketuri d=1 while d<=ms iii=floor(1+(ms-1)*rand); jjj=floor(1+(ms-1)*rand); rs1=floor(1+3*rand); rs2=floor(1+3*rand); offS(d,1:rs2)=wps1(iii,1:rs2); offS(d+1,1:rs2)=wps1(jjj,1:rs2); offS(d,rs2+1:4)=wps1(jjj,rs2+1:4); offS(d+1,rs2+1:4)=wps1(iii,rs2+1:4); d=d+2; end disp(['isel']); disp(isel);

71

%pause j=1:10; difs=setdiff(j,isel) for i=1:10-ms offS(ms+i,:)=wps(difs(i),:); end wps=offS; clear isel; clear difs; for i=1:10 for k=1:4 wpscromozom(i,k)=feval('gene',wps(i,k)); end end disp(['Supermarketuri incrucisate']) disp(wpscromozom); %pause; %mutatia supermarket for i=1:40 muts=rand; if muts<pm chrs=setstr(floor(65+8*rand)) rests=mod(i,4) cats=(i-rests)/4+1; if rests==0 rests=4; cats=cats-1; end wpscromozom(cats,rests)=chrs; end end for i=1:10 for k=1:4 wps(i,k)=feval('geneinvers',wpscromozom(i,k)); end end %sfarsit mutatie supermarket for i=1:40 for k=1:4 wpcromozom(i,k)=feval('gene',wp(i,k)); end end for i=1:10 for k=1:4 wpscromozom(i,k)=feval('gene',wps(i,k)); end end disp(['Noile populatii de convingeri sunt']) disp(['PRODUCATORII']);disp(wpcromozom); %pause disp(['SUPERMARKETURI']);disp(wpscromozom); t=t+1; end set(mesaj,'visible','off') %CITIREINF.M f=figure('color',[.8,.8,.8],'units','normalized',... 'name','Informatii de care depinde estimarea pretului',... 'numbertitle','off','resize', 'on','menubar','none',... 'position',[.1 .1 .7 .8]);

72

l1=uicontrol('style','text','string',... 'Pretul bauturilor racoritoare','units','normalized',... 'position',[.3 .9 .3 .05],'fontweight','bold'); br1=uicontrol('style','popup','string',' -3| -2| -1| 0| 1| 2| 3',... 'units','normalized',... 'position',[.62 .9 .087 .05],'fontweight','bold'); l2=uicontrol('style','text','string',... 'Pretul bauturilor alcoolice','units','normalized',... 'position',[.3 .7 .3 .05],'fontweight','bold'); ba1=uicontrol('style','popup','string',' -3| -2| -1| 0| 1| 2| 3',... 'units','normalized',... 'position',[.62 .7 .087 .05],'fontweight','bold'); l3=uicontrol('style','text','string',... 'Sezonul','units','normalized',... 'position',[.3 .5 .3 .05],'fontweight','bold'); sez1=uicontrol('style','popup','string','cald|rece',... 'units','normalized',... 'position',[.62 .5 .087 .05],'fontweight','bold'); l4=uicontrol('style','text','string',... 'Rata inflatiei','units','normalized',... 'position',[.3 .3 .3 .05],'fontweight','bold'); ri1=uicontrol('style','popup','string',' -3| -2| -1| 0| 1| 2| 3',... 'units','normalized',... 'position',[.62 .3 .087 .05],'fontweight','bold'); ok=uicontrol('style','pushbutton','units','normalized','string','OK',... 'position',[.8 .13 .09 .06],'callback','algoritmul','fontweight','bold'); %CITIRESAPT.M f31=figure('color',[.8,.8,.8],'units','normalized',... 'name','Introducere saptamana producatori',... 'numbertitle','off','resize', 'off','menubar','none',... 'position',[0.6 0.6 0.38 0.3]); ff31=uicontrol('style','text','string',... 'Saptamana pentru care doriti reprezentarea:1>52','units','normalized',... 'position',[.09 .7 .76 .2],'fontweight','bold'); sp=uicontrol('backgroundcolor','white','style','edit','units','normalized ',... 'position',[.25 .55 .2 .14],'fontweight','bold') ok2=uicontrol('style','pushbutton','units','normalized','string','OK',... 'position',[.01 .03 .15 .09],'fontweight','bold','callback','grfrelp') %CITIRESAPT2.M f41=figure('color',[.8,.8,.8],'units','normalized',... 'name','Introducere saptamana supermarketuri',... 'numbertitle','off','resize', 'off','menubar','none',... 'position',[0.6 0.6 0.38 0.3]); ff41=uicontrol('style','text','string',... 'Saptamana pentru care doriti reprezentarea:1>52','units','normalized',... 'position',[.09 .7 .76 .2],'fontweight','bold'); sp1=uicontrol('backgroundcolor','white','style','edit','units','normalize d',... 'position',[.25 .55 .2 .14],'fontweight','bold') ok2=uicontrol('style','pushbutton','units','normalized','string','OK',... 'position',[.01 .03 .15 .09],'fontweight','bold','callback','grfrels')

73

%CLA.M clear pc1 clear pm1 close %GENE.M function[ac]=gene(a) if a==3 ac='A'; elseif a==1 ac='B'; elseif a==0.5 ac='C'; elseif a==0.1 ac='D'; elseif a==0 ac='E'; elseif a==-0.1 ac='F'; elseif a==-0.5 ac='G'; elseif a==-1 ac='H'; elseif a==-3 ac='I'; end %GENEINVERS.M function[n]=geneinvers(c) if c=='A' n=3; elseif c=='B' n=1; elseif c=='C' n=0.5; elseif c=='D' n=0.1; elseif c=='E' n=0; elseif c=='F' n=-0.1; elseif c=='G' n=-0.5; elseif c=='H' n=-1; elseif c=='I' n=-3; end %GRAFICPROFP.M [x,y]=meshgrid(1:40,2:53); subplot(221); mesh(pi); title('Evolutia profiturilor') xlabel('Saptamana'); ylabel('Producatorii'); zlabel('Profitul'); view(45,65); a=1:1:40;

74

subplot(222); bar(pi(:,53)); title('Profiturile in ultima saptamana') xlabel('Producatorii'); ylabel('Profitul') subplot(223); t=2:53; plot(t,pi(1,t)); title('Evolutia profit producator 1') xlabel('Saptamana'); ylabel('Profitul') subplot(224); plot(t,std(pi(:,t))); title('Abaterea standard a profiturilor') xlabel('Saptamana'); ylabel('Abaterea standard') %GRAFICPROFS.M [x,y]=meshgrid(1:10,2:53); subplot(221); mesh(u); title('Evolutia profiturilor') xlabel('Saptamana'); ylabel('Supermarket'); zlabel('Profitul'); view(45,65); a=1:1:10; subplot(222); bar(u(:,53)); title('Profiturile in ultima saptamana') xlabel('Supermarket'); ylabel('Profitul') subplot(223); t=2:53; plot(t,u(1,t)); title('Evolutia profit supermarket 1') xlabel('Saptamana'); ylabel('Profitul') subplot(224); plot(t,std(u(:,t))); title('Abaterea standard a profiturilor') xlabel('Saptamana'); ylabel('Abaterea standard') %GRAFPRETP.M [x,y]=meshgrid(1:40,2:53); subplot(221); mesh(PS); title('Evolutia preturilor') xlabel('Saptamana'); ylabel('Producatori'); zlabel('Pretul'); view(65,65); a=1:1:40; subplot(222); bar(PS(:,53)); title('Preturile in ultima saptamana') xlabel('Producatori');

75

ylabel('Pretul') subplot(223); t=2:53; plot(t,PS(1,t)); title('Evolutia pret producator 1') xlabel('Saptamana'); ylabel('Pretul') subplot(224); plot(t,std(PS(:,t))); title('Abaterea standard a preturilor') xlabel('Saptamana'); ylabel('Abaterea satndard') %GRAFPRETS.M [x,y]=meshgrid(1:10,2:53); subplot(221); mesh(PB); title('Evolutia preturilor') xlabel('Saptamana'); ylabel('Supermarketuri'); zlabel('Pretul'); view(45,65); a=1:1:10; subplot(222); bar(PB(:,53)); title('Preturile in ultima saptamana') xlabel('Supermarketuri'); ylabel('Pretul') subplot(223); t=2:53; plot(t,PB(1,t)); title('Evolutia pret supermarket 1') xlabel('Saptamana'); ylabel('Pretul') subplot(224); plot(t,std(PB(:,t))); title('Abaterea standard a preturilor') xlabel('Saptamana'); ylabel('Abaterea satndard') %GRFRELP.M sapt=str2num(get(sp,'string')); figure('numbertitle','off','menubar','none'); i=1:40; bar(f(i,sapt+1)); title(['Profiturile relative ale producatorilor in saptamana ',num2str(sapt)]) xlabel('Producatorul'); ylabel('Profitul relativ'); %GRFRELS.M sapt1=str2num(get(sp1,'string')); figure('numbertitle','off','menubar','none'); i=1:10; bar(g(i,sapt+1)); title(['Profiturile relative ale supermarketurilor in saptamana ',num2str(sapt1)]) xlabel('Supermarketul'); ylabel('Profitul relativ');

76

%PALGG.M pc=str2num(get(aa,'string')) pm=str2num(get(bb,'string')) close; %PARAMAG.M param=figure('color',[.8,.8,.8],'units','normalized',... 'name','Parametrii algoritmului genetic',... 'numbertitle','off','resize', 'on','menubar','none',... 'position',[.2 .2 .7 .7]); cross=uicontrol('style','text','string',... 'Probabilitatea de incrucisare','units','normalized',... 'position',[.25 .7 .3 .05],'fontweight','bold'); aa=uicontrol('backgroundcolor','white','style','edit','units','normalized ',... 'position',[.62 .7 .08 .05],'fontweight','bold','string','0.7') mutatie=uicontrol('style','text','string',... 'Probabilitatea de mutatie','units','normalized',... 'position',[.25 .5 .3 .05],'fontweight','bold'); bb=uicontrol('backgroundcolor','white','style','edit','units','normalized ',... 'position',[.62 .5 .08 .05],'fontweight','bold','string','0.03') ok1=uicontrol('style','pushbutton','units','normalized','string','OK',... 'position',[.8 .13 .15 .09],'callback','close','fontweight','bold','callback','palgg') cl=uicontrol('style','pushbutton','units','normalized','string','Anuleaza ',... 'position',[.5 .13 .15 .09],'callback','cla','fontweight','bold') %PIATA.M clear all; clc; f=figure('color',[.8,.8,.8],'units','normalized',... 'name','Piata virtuala cu convingeri adaptative',... 'numbertitle','off','resize', 'on','menubar','none',... 'position',[0 0 1 0.929]); f=uimenu('label','Start algoritm ','position',2,'accelerator','n'); f1=uimenu(f,'label','Cu informatii incarcate din arhiva','callback','algoritmul2'); f2=uimenu(f,'label','Cu informatii incarcate de la utilizator','callback','citireinf'); pag=uimenu('label','Parametrii algoritmului genetic ','position',1,'callback','paramag'); gr=uimenu('label','Grafice ','position',3); gr1=uimenu(gr,'label','Profituri'); gr11=uimenu(gr1,'label','Producatori','callback','graficprofp'); gr12=uimenu(gr1,'label','Supermarketuri','callback','graficprofs'); gr2=uimenu(gr,'label','Preturi'); gr21=uimenu(gr2,'label','Producatori','callback','grafpretp'); gr22=uimenu(gr2,'label','Supermarketuri','callback','grafprets'); gr3=uimenu(gr,'label','Profituri relative'); gr31=uimenu(gr3,'label','Producatori','callback','citiresapt'); gr32=uimenu(gr3,'label','Supermarketuri','callback','citiresapt2');

BIBLIOGRAFIE

[1] Chen, Shu-Heng, Evolving Bargaining Strategies with Genetic Programming: An Overview of AIE-DA, Version 1;
ht tp:/ /econo.n c cu .edu .t w/ ai /st aff/ sh c/vita/ apga001 .pdf

[2] Chen, Shu-Heng, Toward an Agent-Based Computational Modeling of Bargaining Strategies in Double Auction Markets with Genetic Programming; htt p:// econo .n ccu.e du .t w/ ai/st aff/sh c/v it a/id eal2000 .pdf [3] Dumitrescu, Dumitru, Algoritmi genetici i strategii evolutive-aplicaii n Inteligena Artificial i domenii conexe, Ed. Albastr, 2000 [4] Dumitrescu, Dumitru; Hariton, Constantin, Reele neuronale: teorie i aplicaii, Ed. Teora, 1996 [5] Eleftheriou George, The role of agents in Configuration Management;
ht tp:/ / www.e l .u cl . ac.uk/l cs/ p ap ers99/ g eleft .pdf

[6] Esmahi, Larbi; Bernard Jean-Charles; Dini Petre, MIAMAP: A Vitrual Market-place for Intelligent Agents, 33 r d Hawaii International Conference on System Sciences, 2000;
ht tp:/ / www.c o mput er.o rg/ p ro ce eding s/h icss/0493/ 04938/04 938018 .pdf

[7] Izumi, Kiyoshi, An Artificial Market Model of a Foreign Exchange Market; ht tp:/ / www.carc.ai st .go .jp ./ ~kiyo shi/p apers/d ron.pd f [8] Kiesling, Lynne, The Market Laboratory, The Wall Street Journal;
ht tp:/ / www.rppi .o r g/ve rn on s mit h mar k et lab o ratory .ht ml

[9] Kotler, Philip, Managementul marketingului, Ed. Teora, 2000, p.615633 [10] LeBaron, Blake, Building Financial Markets With Artificial Agents: Desired goals, and present techniques, February, 1999;
ht tp:/ / www.q wafa few.o rg/bost on/ mee tings/jun e2000/ l eb aron1999 .pdf

[11] LeBaron, Blake, Empirical Regularities from Interacting Long and Short Memory Investors in an Agent Based Stock Market, September, 2000 [12] Mullen, Tracy; Wellman, Michael P.; Some Issue in the Design of Market-Oriented Agents; ht tp:// i citie s.cs d.uo c .g r/ rel ate d/pap e rs/ ma rkeo ri ented_ age nts.pd f

[13] Scarlat, Emil; Chiri, Nora, Sisteme cibernetice ale economiei de pia, Ed. Economic, 1997 [14] Scarlat, Emil; Mrcine Virginia, Dinamica economic I. Dinamica sistemelor haotice, Ed. Matrix Rom, 2002

[15] Winoto, Pinata, Genetic Algorithm and Social Simulation, M. Ishizuka and A. Sattar (Eds.) PRICAI 2002 , Springer-Verlag;
ht tp:/ / www.c s.u s as k .c a/ g rads/ pi w410/p ape rs/ PRICAI02 -Pwin oto .pdf

[16] Yeh, Chia-Hsuan, The Influence of Representation in the GP-Based Artificial Double Auction Market: The Cases of GP with and without Automatically Defined Function;
ht tp:/ / resea rc he r.ai econ .o rg/ spocky eh/p ape rs/2002/ cef2 002 .pdf

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