Documente Academic
Documente Profesional
Documente Cultură
Faza3
Faza3
Cuprins:
Cuprins:..................................................................................................................................................1
Obiectivele generale ale proiectului.......................................................................................................2
Obiectivele etapei de executie: ..............................................................................................................2
Rezumatul etapei....................................................................................................................................3
Descrierea stiintifica si tehnica ..............................................................................................................5
Capitolul I: Modelarea si conducerea traficului urban prin controlul fazelor de semaforizare .....5
Controlul congestiei folosind retelele conservative ...............................................................5
Sisteme cu retele conservative ...................................................................................5
Controlul retelelor conservative.................................................................................8
Exemplu: ..................................................................................................................11
Analogia intre traficul urban si retelele conservativea ........................................................15
Tipuri de faze de intersectie si retelele compartimentale/conservative corespunzatoare ....18
Studii de caz.........................................................................................................................25
Studiu de caz I:.........................................................................................................25
Simularea fazei de tip 1 si a regulatorului corespunzator – SIMULINK ................27
Rezultatele simularii ................................................................................................29
Studiu de caz II: .......................................................................................................33
Simularea fazei de tip 3 si a regulatorului corespunzator – SIMULINK ................36
Concluzii ..............................................................................................................................43
Modarea cu retele Petri Hibride a intersectiilor...................................................................44
IntersecŃie în T cu două faze de semaforizare..........................................................44
IntersecŃie în cruce cu două faze de semaforizare ...................................................46
IntersecŃie în T cu două faze de semaforizare (2) ....................................................48
IntersecŃie în cruce cu trei faze de semaforizare ......................................................50
ParticularităŃi ale modului de conectare a modelelor obŃinute.................................50
Capitolul II: Arhitectura multiagent pentru simularea retelelor de trafic urban ..........................52
Elemente de configurare ale unei arhitecturi multi-agent....................................................52
Notiunea de agent ....................................................................................................52
Arhitecturi abstracte de agenti inteligenti ............................................................................55
Arhitectura bazata pe logica.....................................................................................57
Arhitectura reactiva..................................................................................................58
Arhitectura BDI (Belief-Desire-Intention) ..............................................................60
Arhitecturile stratificate ...........................................................................................63
Masina Turing..........................................................................................................64
Arhitectura InteRRaP...............................................................................................65
Problematica sistemelor multi-agent....................................................................................66
Concluzii referitoare la caracteristicile arhitecturii propuse pentru proiect.........................67
Platforma software de dezvoltare pentru comunitati multi-agent - JADE...........................68
Concluzii privind utilitatea platformei JADE ......................................................................71
Simulatorul de trafic ............................................................................................................73
Proiectare .................................................................................................................73
Implementare ...........................................................................................................77
Crearea intersectiilor in spatiul de lucru: .................................................................79
Crearea retelei de trafic prin conectarea intersectiilor: ............................................81
Concluzii generale ...............................................................................................................................84
Bibliografie ..........................................................................................................................................85
Anexe ...................................................................................................................................................86
1
Obiectivele generale ale proiectului
2
Rezumatul etapei
In cadrul fazei I de pe 2009 au fost desfasurate o serie de activitati care au avut ca obiective:
- Finalizarea majoritatii activitatilor legate de Etapa a II-a a proiectului –
„Elaborarea bibliotecii de modele si evaluarea de performante”pentru traficul urban si anume:
- Elaborarea unui suport formal pentru evaluarea de performante a sistemelor complexe –
sinteza (AII.3.b) – avand in vedere ca formalismul retelelor Petri hibride, care a fost deja
ales pentru modelarea comportamentului macroscopic al retelelor de trafic urban in faza
anterioara (AII.3.a) a fost descris in raportul respectiv, in cadrul acestui raport vor fi
descrise retelele conservative care au fost alese pentru modelarea si controlul traficului la
nivel mesoscopic. Au fost alese doua formalisme atat pentru a modela aspecte
complementare ale retelelor de trafic (mesoscopic – la nivel de vehicol, dar fara a intra in
detaliu pentru fiecare in parte si macroscopic – la nivel de flux de vehicole in retea), cat si
pentru a se putea efectua o verificare formala a rezultatelor simularii obtinute pe baza a
doua abordari diferite, pentru aspectele comune. Aspecte ale suportului formal hibrid au
fost prezentate intr-o lucrare publicata in revista Control Engineering and Applied
Informatics (in primul numar indexat ISI al acesteia) la inceputul anului 2009 – anexata
raportului. Lucrarea a trezit interesul unor cercetatori francezi din Grenoble si Marseille si
a generat doua subiecte de proiect de licenta care au fost elaborate in co-tutela in perioada
martie-iulie. Proiectele respective sunt anexate raportului in format electronic.
- Verificarea si actualizarea bibliotecii de modele formale – implementare (AII.4.b) –
raportul include o serie de modele formale de intersectii; modelele hibride reprezinta
actualizarea si rafinarea modelelor de baza prezentate in raportul fazei anterioare;
verificarea s-a facut prin simulari corelate ale acelorasi configuratii, modelate cu ambele
formalisme. Rezultatele obtinute au fost prezentate la conferinta IFAC INCOM de la
Moscova, iar lucrarea respectiva este anexata raportului.
- Elaborarea bibliotecii de modele de tip agent – faza de initiere (AII.5.) – a fost facuta o
analiza a tipurilor de agenti in vederea selectarii unei configuratii optime pentru scopul
urmarit. A fost elaborata o aplicatie orientata agent care implementeaza modelele formale,
astfel incat sa permita studiul interactiunii acestora si sa reprezinte o baza experimentala
pentru realizarea etapei a III-a a proiectului. Structura de baza a aplicatiei multiagent a
fost prezentata in cadrul conferintei ECC 2009; lucrarea fiind anexata raportului.
- Initierea Etapei a IIIa a proiectului – „Elaborarea diverselor variante de politici de
conducere pentru fluidizarea traficului”:
o Elaborarea modelului conceptual de arhitectura bazata pe agenti cu nivel de
supervizare (AIII.1) – modelul conceptual al aplicatiei si principiile sale de functionare au constituit
subiectul unei lucrari deja acceptate la conferinta IFAC DECOM 2009, care va avea loc la sfarsitul
lunii septembrie; lucrarea este atasata in anexa.
o Evaluarea impactului unui set de factori asupra performantelor arhitecturii – studiu
preliminar (AIII.2.a) – au fost definite trei regimuri de functionare pentru arhitectura, pe baza unor
indicatori de performata; fiecare regim de functionare asigura un anumit set de performante, de la
functionarea in regim optimal – sistem complet necongestionat – pana la cea care asigura fluidizarea
doar pe un tronson pre-definit al retelei (cu congestii primare si secundare in rest), trecand prin
diferite stadii de functionare degradata. Lucrarea de la DECOM face referire si la aceste performante.
o Definirea arhitecturii – raportul contine schema functionala a arhitecturii; aplicatia
anexata reprezinta o implementare preliminara – in vederea testarii – a acesteia.
3
o Elaborarea de modele conceptuale pentru simularea, conducerea si optimizarea
traficului – analiza si sinteza (AIII.4.a) – este o activitate care continua practic AII.3 si foloseste
rezultatele AII.4.b si AII.5 de la modelare la conducere. Structura si modul de functionare ale
blocurilor de Value Judgement si respectiv ale nivelului supervizor definesc modelele elaborate.
o Studiul adecvantei tehnicilor de conducere la diverse niveluri de trafic (AIII.6.a si b)–
este facut la nivel formal pentru modelul bazat pe retele conservative si pe baza de simulare pentru
modelele hibride implementate ca agenti.
o Diseminare: a fost facuta pentru elemente punctuale printr-o lucrare publicata intr-o
revista ISI si conferintele mentionate anterior (doua conferinte IFAC ce asigura difuzarea lucrarilor
prin sistemul ifac.paperson-line, echivalent proceedings indexate ISI si European Control
Conference, una dintre cele mai prestigioase conferinte IEEE, cu volume inedxate ISI). La un nivel
global, proiectul ca intreg a fost prezentat la doua reuniuni europene (la Bigorre - Franta si Londra);
conform raportului de deplasare anexat, proiectul a fost prezentat ca studiu de caz in cadrul lucrarii
„Emerging sciences to support interoperability-based Complex Adaptive Systems in Intelligent
Manufacturing” , la Bigorre. Tot ca studiu de caz si ca domeniu de aplicatie pentru partenerul roman,
proiectul a fost diseminat si referit in activitatile de pregatire ale proiectului FP7/ STREP „Apollo”,
cu titlul „Living Laboratories Thematic Network”. Pe data de 10 septembrie coordonatorii
proiectului au fost invitati pentru negocieri la Bruxelles – deoarece a fost acceptat pentru finantare.
Structura raportului este urmatoarea:
- Un capitol formal care raspunde in mod special cerintelor etapei a II-a, dar si unor
elemente din etapa a IIIa (AIII.4.a si AIII.6) si care contine in mod unitar formalismul de modelare,
simulare si conducere bazat pe retele conservative, precum si modele formale bazate pe retele Petri
hibride, impreuna cu modalitatile de evaluare a performantelor acestora;
- Un capitol dedicat arhitecturii bazate pe agenti autonomi – care raspunde in special
necesitatilor etapei a IIIa – motivarea alegerii structurii, arhitectura, functionare, mediu de
implementare, raspunsul la diverse niveluri de trafic si la factori ca prioritizare de vehicule utilitare;
- Anexa I – articolul CEAI
- Anexa II – lucrarea INCOM
- Anexa III – lucrarea ECC
- Anexa IV – lucrarea DECOM
- Anexa V – format electronic – fisierele de simulare referite in primul capitol al
raportului in extenso
- Anexa VI – format electronic – cele doua proiecte de diploma
- Anexa VII – format electronic –simulator bazat pe agenti
- Concluzii si contributii
4
Descrierea stiintifica si tehnica
Capitolul I: Modelarea si conducerea traficului urban prin controlul fazelor de
semaforizare
Conducerea traficului urban in orase mari este inca o problema de studiu deschisa. In acest
raport este tratata problema evitarii congestiilor, astfel incat blocarea intersectiilor sa nu duca la
alterarea performantelor de trafic. Abordarea este una descentralizata, deoarece o problema de
optimizare cu constrangeri, de exemplu, care trateaza integral toata reteaua de intersectii, poate, mai
ales in conditii de mare incarcare a traficului sa nu aiba solutii. Vor fi prezentate, mai intai, cateva
notiuni teoretice despre controlul retelelor conservative, se va face apoi analogia intre fazele
intersectiilor si retelele conservative si apoi se vor prezenta o serie de simulari pe diverse tipuri de
faze din care se poate observa modalitatea de implementare a solutiei propuse. Modulele Simulink
care implementeaza modelele propuse si pe care s-au facut simularile referite in raport si in lucrarile
aferente sunt prezentate in format electronic in anexa VII.
Ca o completare a raportului precedent si ca o abordare complementara, la nivel macroscopic,
a problematicii capitolului, vor fi prezentate modele noi de tip retele Petri hibride, care completeaza
biblioteca de gen deja inceputa.
Din acelasi capitol fac parte si anexele I si II, in care este rezumata abordarea de modelare cu
retele Petri hibride, prezentata in detaliu in raportul fazei precedente si care prezinta in mod special
rezultatele simularilor complementare pentru cele doua tipuri de modele, demonstrand astfel pe de o
parte validitatea celor doua tipuri de abordari (prin similitudinea rezultatelor) si pe de alta parte
complementaritatea lor (prin posibilitati de interpretare extinse ale rezultatelor) si implicit necesitatea
pastrarii unei abordari duale.
Capitolul se incheie cu concluzii partiale si cu bibliografia referita (care va fi reluata in
capitolul final de bibliografie).
5
Vectorul x(t)=[x1(t) x2(t) ... xn(t)]T este vectorul de stari al sistemului.
Fiecare arc i−>j reprezinta un transfer de masa care poate sa reprezinte un transport, o
transformare sau o interactiune intre speciile de materie din sistem. Rata de transfer numita debit sau
flux, de la un compartiment i la un alt compartiment j este o functie depinzand de starea sistemului
notata fij(x(t)). Arcele aditionale de intrare si iesire reprezinta interactiunea sistemului cu mediul
exterior : fluxurile de intrare bi(t) injectate din exterior in unele compartimentele ale retelei sau
fluxurile de iesire ei(t) din unele compartimente spre exterior.
Balanta fluxurilor dintre compartimete este definita de urmatorul set de ecuatii:
(1)
In aceste ecuatii, apar doar termenii care corespund legaturilor existente intre nodurile retelei.
Astfel toate fluxurile bi(t), ei(t) si fij(x(t)) pentru legaturile inexistente nu apar in ecuatii.
Modelul (1) are sens doar daca variabilele de stare xi(t) raman nenegative pe intreaga
dinamica a sistemului: . Functiile de flux fij si ei sunt definite pe valori nenegative si
luand valori nenegative:
.
Similar fluxurile de intrare bi sunt pozitive: . Mai mult, este evident ca dintr-un
compartiment vid nu poate exista un flux pozitiv (diferit de zero):
(2)
Din conditia (2), daca fij(x) si ei(x) sunt diferentiabile, atunci pot fi scrise sub forma:
Cu functiile rij(x) si qi(x) definite in R, nenegative si cel putin continue. Aceste functii se
numesc fluxuri specifice.
Presupunem ca fluxurile specifice rij(x) si qi(x) sunt continue, diferentiabile si strict pozitive,
cu argumentul functiei pozitiv.
Cu alte cuvinte, presupunem ca fluxurile fij si ei dispar numai daca xi=0. Aceasta presupunere
este valabila pentru majoritatea modelelor fizice si ingineresti descrise cu ajutorul retelelor
compartimetale.
Cu aceste notatii si definitii, sistemul compartimental (1) devine:
(3)
Reprezentarea pe stare sub aceasta forma este folosita pentru modelarea proceselor industriale
cum ar fi – coloane de distilare, reactoare chimice, schimbatoare de caldura, circuite de macinare,
sisteme de cozi si retele de comunicatie, procese biologice si ecologice – pentru ca apare conservarea
masei si de asemenea pot fi compartimentale.
Sistemele compartimentale au o serie de proprietati structurale foarte importante.
Definitie 1:
Sistem pozitiv. Un sistem dinamic este pozitiv daca
.
Proprietate 1: Un sistem compartimental este un sistem pozitiv.
6
Sistemul (3) este un sistem pozitiv. Intradevar, daca si xi=0, atunci
. Aceasta conditie este suficenta pentru a garanta invarianta in timp a
sistemului in cadranul pozitiv daca functiile rij(x) si qi(x) sunt diferentiabile.
Masa totala continuta de sistem este .
Un sistem compartimental conserva masa, in sensul ca bilantul de masa este pastrat constant
in interiorul sistemului. Acest lucru se poate urmari usor intr-un caz special: sistem inchis adica fara
fluxuri de intrare si de iesire.
Proprietate 2: Conservarea masei.
Un sistem compartimental (3) este disipativ din pct de vedere al ratei de alimentare
care are functia de stocare pt masa totala M(x). In cazul particular, in care sistemul
inchis nu are fluxuri nici de iesire si nici de intrare este usor de verificat faptul ca , care
demonstreaza ca masa totala a sistemul este conservata.
Sistemul (3) are urmatoarea forma in scrierea matriciala:
(4)
unde A(x) este numita matrice compartimentala care are urmatoarele proprietati:
1. A(x) este o matrice Metzler – matrice cu toate elementele nenegative in afara diagonalei
principale:
(inversiunea indicilor) ;i<>j
2. Diagonala principala a matricei A(x) contine numai elemente negative:
;
3. Matricea A(x) este diagonal dominanta:
.
Inversabilitatea si stabilitatea matricii compartimentale sunt strans legate de notiunea de
conectare la fluxul de iesire.
Definitie 2: Retele conectate la fluxul de iesire si de intrare
Un compartiment i se numeste „conectat la flux de iesire”, daca exista calea i->j->k->...->l
de la compartimentul i la l, din care se evacueaza un flux de iesire ql(x). Reteaua se numeste total
conectata la flux de iesire – TCFE – daca toate compartimentele sunt conectate la flux de iesire.
Un compartiment l se numeste „conectat la flux de intrare”, daca exista calea i->j->k->...->l
de la compartimentul i la l, iar compartimentul i este alimentat de un flux de intrare bi(x). Reteaua se
numeste total conectata la flux de intrare – TCFI – daca toate compartimentele sunt conectate la flux
de intrare.
Proprietate 3: Inversabilitatea si stabilitatea matricei compartimentale.
Matricea compartimentala A(x) este nesingulara si stabila daca si numai daca
reteaua compartimentala este total conectata la flux de iesire. Astfel nesingulariatatea
(inversabilitatea) si stabilitatea matricei compartimentale pot fi direct verificate prin analizarea retelei
compartimentale asociate.
Jacobianul asociat sistemului (4) este definit astfel:
Cand matricea Jacobian are o structura compartimentala, elementele din afara diagonalei
principale sunt nenegative. In aceasta situatie se manifesta urmatoarea proprietate.
7
Proprietate 4: Stabilitatea punctului de echilibru intr-o matrice Jacobian
compartimentala.
Fie sistemul (4) cu fluxurile de intrare constante bi= ct, pentru orice i.
a) Daca J(x) este o matrice compartimentala , atunci toate traiectoriile sunt marginite si
converg catre un punct de echilibru din .
b) Daca exista o multime compacta (inchisa – contine marginea si limita unui sir de elemente
din ea – si este marginita) si convexa (calea intre orice doua puncte este continuta in multime)
, care este invarianta sub orice transformare in t pozitiv si daca J(x) este o matrice
compartimentala nesingulara , atunci exista un unic punct de echilibru pentru
care matricea J(x) este global asimtotic stabila (GAS) in D.
Proprietatea 4 necesita ca matricea Jacobian compartimentala sa fi inversabila pentru a exista
un unic punct de echilibru GAS. Aceasta conditie nu este satisfacuta pentru un sistem inchis fara
fluxuri de intrare si de iesire, matricea J(x) fiind singurala. Totusi aceasta proprietate de unicitate a
punctului de echilibru GAS este conservata pentru toate sistemele inchise care sunt puternic
conectate.
Proprietate 5: Unicitatea punctului de echilibru pentru un sistem inchis puternic
conectat.
Daca un sistem inchis cu o matrice Jacobian compartimentala este puternic conectat (pentru
orice compartiment i exista o cale la oricare alt compartiment j al sistemului), atunci, pentru orice
M0>0 constant, hiperplanul este invariant si exista un unic punct
de echilibru GAS in H.
8
, unde ui(t) este o fractiune din fluxul cerut di(t). Se
presupune ca fluxurile de iesire sunt marimi de iesire masurabile ale sistemului.
Sistemul reprezentat in spatiul starilor devine:
(5)
(6)
unde:
9
Figura 2: Structura in bucla inchisa a sistemului compartimental
Combinand ecuatiile retelei (5) si (6) cu ecuatiile regulatorului se obtine setul de ecuatii ce
descrie sistemul in bucla inchisa:
(9)
Principalele proprietati ale legii de control (7) - (8) si ale sistemului in bucla inchisa (9):
1. Matricea L(x,z) (9) este o matrice compartimentala parametrizata in d. Sistemul inchis (9)
este un sistem pozitiv (Proprietatea 1). In plus fiind un sistem inchis functia de stocare
este invarianta (Proprietatea 2), iar traiectoriile starilor, avand
initializari nenegative, apartin multimii:
.
2. Variabilele de stare sunt marginite:
.
Primul obiectiv al controlului congestiei este obtinut prin forma regulatorului propus: este
mai mic decat capaciatea maxima a compartimentelor ximax, astfel se garanteaza evitarea saturarii
10
sistemului. Mai mult se poate observa ca depinde de conditiile initiale (x(0),z(0)). In multe aplicatii
practice este nevoie ca sistemul sa plece cu conditii initiale nule (x(0)=0). Astfel valoarea lui este
aleasa exclusiv de conditiile initiale ale regulatorului zj(0) si este egala cu: .
3. Cum era de asteptat, marimile de comanda uj(z) (fractiuni din fluxul de intrare cerut, calculate
de regulator) apartin intervalului [0,1]. Astfel din conditia (g) si conditia (f)
rezulta:
4. Deoarece reteaua controlata este TCFI si TCFI, si datorita structurii regulatorului, sistemul in
bucla inchisa (9) este un sistem compartimetal inchis puternic conectat (sau este o parte dintr-
un sistem compartimetal inchis puternic conectat). Cu alte cuvinte, daca sistemul controlat
are o matrice Jacobian compartimentala, atunci si sistemul in bucla inchisa are o matrice
Jacobian compartimentala. Astfel pentru un flux cerut d constant, sistemul in bucla inchisa
are un singur punct de echilibru GAS in cadranul pozitiv ( ) (Proprietatea 5).
5. Alegerea functiei este arbitrara, ea trebuie sa indeplineasca doar conditia (g). O alegerea
protrivita pentru aceasta functie este urmatoarea: , unde este o constanta
pozitiva foarte mica. Aceasta functie se comporta ca o functie de transfer de ordinul 1 (se
aproprie de forma unei trpte unitare filtrate) pentru un foarte mic.
6. Regulatorul propus in aceasta forma este robust. Pentru a contrui legea de comanda (7)-(8)
este nevoie doar de structura retelei controlate. Legea de comanda este independenta de
fluxurile . Acest lucru este foarte importanat deoarece in multe aplicatii
practice, cunoasterea precisa a acestor fluxuri este imposibila.
Exemplu:
Se da reteaua compartimentala/conservativa din figura de mai jos. Se cere construirea
modelului matematic al retelei si al controllerului neliniar, care previne congestia.
Calculul comenziilor u1 si u2
12
Figura 5: Structura procesului – reteaua compartimentala
13
Figura 8: Debitele (de masini) de intrare d1 si d2
14
Figura 11: Evolutia comenzilor u1 si u2
15
Alegerea acestei abordari este sustinuta de faptul ca in momentul de fata traficul rutier –
fluxul (debitul) de masini - (poate fi) este controlat doar prin intermediul intersectiilor semaforizate –
mai precis raportul intre timpul de verde si cel de rosu dicteaza volumul de masini ce tranziteaza
intersectia intr-un interval de timp oarecare. Restul de semne de circulatie, precum si intersectiile
nesemaforizate controleaza ordinea tranzitarii dar nu si volumul de masini.
Intersectiile sunt punctele critice din cadrul retelei rutiere; rolul intersectiilor este de a dirija
traficul si acest lucru este realizat cu ajutorul semafoarelor, mai precis prin raportul dintre timpul de
verde si timpul de rosu din cadrul unui ciclu de semafor. Daca acest raport este fix, nu se modifica in
concordanta cu cerintele de trafic de la un moment dat, traficul din intersectie este ingreunat,
determinand aparitia fenomenului de congestie.
Plecand de la aceasta constatare, directia de cercetare din acest raport s-a indreptat spre
controlul intersectiei.
Astfel intersectia nu mai este privita ca un nod – rezervor, compartiment – ci directiile de
parcurgere a acesteia reprezinta arcele care conecteaza diferite tronsoane. Tronsoanele devin nodurile
retelei – rezervoare in care se acumuleaza masini –, iar directiile de deplasare din intersectie sunt
arcele care faciliteaza transferul de masini din cadrul retelei.
Proprietatea cea mai semnificativa a retelelor compartimentale este conservativitatea. O retea
compatimentala este conservativa din punctul de vedere al numarul de masini (volumul) pe care il
vehiculeaza in interiorul acesteia – aceasta prorietate este mai evidenta in cazul retelei
compartimentale inchise fara debite de intrare si iesire, unde volumul de masini ramane mereu
acealasi.
In cazul retelelor rutiere, aceasta proprietate se poate masura in orice moment de timp prin
estimarea dinamicii masinilor aflate pe un anumit tronson – nod.
Pentru a putea elabora in orice moment o comanda corecta, care sa reflecte realitatea din
trafic, este nevoie de masuratori si estimari cat mai precise a numarului (volumului) de masini aflate
pe fiecare tronson cat si in intersectie.
Lungimea unui tronson influenteaza intr-un mod negativ estimarea dinamicii acestuia. De
obicei, masuratorile se fac la capetele tronsonului, iar din datele obtinute se estimeaza numarul
(volumul) si debitul de masini de pe intrega lungime a tronsonului.
Pentru tronsoane scurte aceste estimari aproximeaza bine dinamica fluxului rutier ce-l
strabate.
Fluxul rutier – de masini – nu are in realitate o „curgere” continua – uniforma – ca in cazul
fluidelor; aceasta este presupunerea facuta in cazul modelelor de tip retele Petri hibride, ceea ce le
incadreaza in categoria modelelor macroscopice.
De fapt, daca in cazul fluidelor care circula prin conducte este suficient sa se faca masuratori
la un capat al conductei pentru a se putea determina debitul de cugere si presiunea fluidului din
conducta, acest lucru se datoreaza proprietatii fluidului de a ocupa, omogen, in intregime volumul
conductei prin care curge. In cazul fluxului rutier, nu este valabila decat pentru sectiuni de drum
foarte scurte, de 200-300 de metri. Astfel ca masuratorile de flux de la capetele tronsonului, pentru
tronsoane lungi si foarte lungi, nu reflecta corect comportamentul fluxului rutier din interiorul
acestuia. La capetele tronsonului masuratorile sunt corecte, dar nu pot fi extinse la intreg tronsonul
deoarece fluxul rutier nu este omogen si de aceea pot exista, in cadrul tronsonului, zone in care sa nu
fie masini sau, din contra in care sa existe un blocaj ale carui efecte nu s-au manifestat inca pe
lungimea totala a tronsonului. Din acest motiv s-a optat pentru un model mesoscopic, care sa
evidentieze si acest tip de comportament, evaluat ca util in predictia eventualelor situatii de congestie
si, in perspectiva, in rezolvarea conflictelor ridicate de prioritizarea vehicolelor utilitare.
Pe langa lungimea tronsonului, un alt factor, care influenteaza masuratorile si implicit
afecteaza conservativitatea retelei rutiere, este reprezentat de intersectiile nesemaforizate si strazile
16
laterale. Acestea „injecteaza” si „evacueaza” din tronson – nodul in cadrul retelei compartimentale –
un debit de masini nemasurabil, care afecteaza masuratorile efectuate la capetele tronsonului.
Din aceste motive corespondenta intre reteaua compartimentala si cea rutiera la nivel de
noduri, nu se va mai face intre nod si tronson, ci intre nod si o sectiune din tronson, denumita coada
de asteptare sau buffer.
Se numeste buffer sau coada de asteptare o portiune de tronson – format din una sau mai
multe benzi – delimitata de doua sisteme de masurare a traficului si/sau doua semafoare succesive,
de regula avand lungimea ordinul sutelor de metri. Acest buffer se comporta ca un rezervor, in care
dinamica masinilor poate fi masurata si/sau estimata. In buffer nu exista acumulari sau evacuari
nemasurabile – masinile intra doar prin zone in care pot fi masurate si deasemnea parasesc bufferul
prin zone bine stabilite. Astfel se poate preciza in orice moment situatia bufferul, dinamica – evolutia
sa in timp – este predictibila.
Buffer-ul corespunde nodului – rezervorului, compartimentului – din cadrul retelelor
compartimentale. Acesta este definit de capacitatea sa, adica numarul de masini care pot circula prin
zona delimitata a bufferului. Astfel sectiunea delimitata de tronson, in care pot rula un numar limitat
de masini la un moment dat, este „modelata” de un buffer sau rezervor caracterizat de aceeasi
capacitate.
In functie de structura intersectiei modelate, pot exista unul sau mai multe buffere de intrare
in intersectie sau buffere sursa si mai multe buffere de iesire din intersectie sau buffere destinatie –
cel putin un buffer sursa si cel putin un buffer destinatie.
Daca analizam cazul particular al unei intersectii de tip cruce (regasita in literatura de
specialitate si sub numele de „intersectie X”), putem identifica patru buffere sursa (reprezentate in
figura de mai jos cu rosu) si patru buffere destinatie (reprezentate cu albastru). In plus, se poate
observa ca cele patru buffere sursa sunt controlate, in prezent, prin intermediul a patru semafoare, cu
un ciclu de semaforizare fixat. Acesta configuratie a semafoarelor se va pastra si in viitor, singura
diferenta fiind faptul ca pentru fiecare semafor in parte se va calcula separat durata ciclului de
semaforizare (raportul intre timpul de verde si cel de rosu va putea fi variat) in functie de conditiile
de trafic. Fiecare semafor controleaza cate o faza a intersectiei, prin faza a intersectiei intelegandu-se
modul in care unul sau mai multe buffere sursa alimenteaza bufferele destinatie.
Figura 13: Intersectie de tip cruce – patru buffere sursa (rosu) si patru buffere
destinatie (albastru)
In aceste conditii, controlul intersectiei se reduce la controlul duratei fiecarei faze in parte.
Indiferent de structura si complexitate, orice ciclu de semaforizare de intersectie se poate
descompune in mai multe faze principale. Construirea corecta si inteligenta – „inteligent” se refera la
17
modul de distribuire al sensurilor de parcurgere a intersectiei pe fiecare faza – a fazelor usureaza
foarte mult controlul lor si mai departe al intersectiei.
Analizand, cu atentie, toate tipurile de intersectie si modurile de parcurgere ale acestora –s-au
identificat cinci tipuri de faze de intersectie fundamentale.
Pe timpul de verde un singur buffer alimenteaza bufferele destinatie. Modelul de mai sus este
modelul unei faze caracteristice intersectiei de tip cruce, unde orice buffer sursa poate alimenta toate
cele trei buffere destinatie din intersectie corespunzatoare celor 3 directii stanga, inainte si dreapta
sau S-E,S-N si S-V.
Acest tip de faza este intalnita in intersectiile de tip cruce, in care exista si un verde
intermitent pentru virajul de dreapta. In acest caz, se poate observa existenta a doua sisteme
independente (nu exista fluxlui de transfer intre cele doua sisteme); sistemul 1 format din nodul sursa
18
1 si trei noduri destintie 2,3,4 si sistemul 2 format din nodul sursa 5 si cel destinatie 6. Cele doua
sisteme nu se conditioneaza reciproc, deoarece existenta virajului de stanga, modelat in primul
sistem, faciliteaza exacutarea virajului de dreapta din cel de-al doilea sistem.
Acest model se poate simplifica renuntandu-se la cel de-al doilea sistem deoarece masinile
care efectueaza virajul de dreapta (sistemul 2) nu intra in intesectie si nu se intersecteaza cu traseele
masinilor din primul sistem, astfel primelor li se poate da verde intermitent.
Acesta faza este compusa din doua faze de tip 1, care sunt active pe acelasi verde –
semafoarele aflate pe aceeasi directie N-S sau E-V au verde/rosu simultan (sunt comandate doua cate
doua). O astfel de configuratie ridica mari probleme din punctul de vedere al estimarii si al
controlului dinamicii fazei – evolutia numarului de masini din buffere. Aceste probleme sunt
provocate de virajul de stanga. Traseul masinilor care efectueaza virajul de stanga se intersecteaza cu
traseul masinilor care vin din fata. In realitate – in trafic – aceasta problema este rezolvata prin
obligativitatea acordarii de priotate masinilor care vin din fata in momentul efectuarii virajului de
stanga.
Numarul (volumul sau debitul) de masini care vin din fata vor influenta numarul de masini
care vor putea efectua corect virajul de stanga. Teoria retelelor compartimetale nu ofera nici o
modalitate de modelare directa – printr-un element specific (nod sau arc) – a acestei influente
(interdependente) intre doua fluxuri.
Aceasta problema poate fi rezolvata in doua moduri: prima ar fi limitarea fluxului de masini
care pleaca din nodul sursa spre nodul destinatie din stanga, surplusul de flux, pentru a pastra
proprietate de conservativitate a retelei, este intors in nodul sursa, iar cea dea doua fiind introducerea
unui buffer (nod) intermediar.
Aceasta ultima solutie presupune trecerea fluxului de masini ce efectueaza virajul de stanga
printr-un buffer intermediar , intre cel sursa si cel destinatie, bufferul de intersectie, delimitat in
cadrul intersectiei.
Bufferul de intesectie este singurul care se afla delimitat – virtual – in interiorul intersectiei
restul fiind delimitate in afara intersectie. Motivul, pentru care acesta se afla in intersectie, rezulta din
modul in care se efectueaza virajul de stanga. Intr-o intersectie semaforizata/nesemaforizata virajul
de stanga se efectueaza ocolind centrul imaginar al intersectiei prin partea dreapta si acordand
prioritate masinilor ce vin din fata. Acest mod de efectuare a virajului de stanga determina formarea
unei cozi de asteptare in intersectie. Aceasta coada de asteptare are o capacitate de masini, limitata de
spatiul pe care acestea il pot ocupa in intersectie, pe banda de stanga, fara a perturba restul masinilor
ce tranziteaza intersectia. Acest tip de buffer se poate folosi in toate fazele in care se intersecteaza
19
doua sau mai multe trasee cu prioritati diferite.
Figura 17: Faza de tip 3 modelata folosind bufferele de intersectie – x2` si x4` buffere de
intersectie – pentru modelarea corecta a virajului de stanga – dinamica masinilor ce efectueaza
acest viraj.
20
Figura 19: Faza de tip 5
Acest tip de faza se poate folosi in tandem cu faza de tip 4. Pentru a prevenii blocajele
datorate virajelor de stanga, din faza de tip 3 se elimina fluxurile care modeleaza virajul de stanga
si se obtine faza de tip 4, urmand ca intr-o faza ulterioara (faza de tip 5) sa se execute doar virajele
de stanga. Se alege eliminarea virajului de stanga din faza de tip 3, in intersectiile in care numarul
de masini care efectueaza virajul de stanga este mare (mult mai mare decat in majoritatea
intersectiilor cu viraj de stanga), comparabil cu numarul de masini care merg in fata sau in dreapta.
Astfel dintr-o faza de tip 3 se obtin doua faze, una de tip 4 si una de tip 5. Efectul fiind numarul
mai mare de masini care parcurg intersectia in cele doua faze succesive decat intr-o singura faza
de tip 3.
Fiecare buffer are o capacitate maxima, adica un numar maxim de masini pe care il poate
stoca. Aceast capacitate limita este utila in prevenirea congestiei. Controllerul de faza vehiculeaza un
numar limitat de masini in cadrul retelei compartimentale. Acest numar depinde de capacitatea totala
de stocare a intersectiei si a nodurilor (bufferelor) aferente. Exista posibilitatea, ca la un moment dat,
capacitatea anumitor noduri sa fie depasita chiar daca numarul total de masini suportat de intersectie
nu este depasit.
In acest moment capacitatea limita joaca un rol foarte important in prevenirea congestiei. S-
au identificat trei situatii de depasire in functie de tipul bufferului (de intrare, de iesire si de
intersectie).
Daca este depasita capacitatea de stocare a unui nod destinatie, surplusul de masini se va
acumula in intersectie determinand blocarea acestia. Pentru a preveni acest lucru, in momentul
depasirii capacitatii limita a unui nod destinatie culoarea verde a semaforului se schimba in rosu – se
poate opta alege rosu pe intreaga faza fie doar pe directiile si sensurile care alimenteaza bufferele
saturate (buffere care au atins capacitatea maxima de stocare) – stopand acumularea necontrolata de
masini in cadrul intersectiei.
Pentru cazul nodurilor de intersectie, depasirea capacitatii limita produce efecte nedorite doar
in cazul in care capacitatea nodului destinatie, de care este legat, este depasita sau spatiul ramas nu
poate primii intreaga cantitate de masini stocata in nodul de intersectie. Solutia fiind ca si in cazul
anterior, schimbarea culorii semaforului din verde in rosu pe directia respectiva, pentru a prevenii
blocarea intersectiei cu masinile ramase in bufferul de intersectie, acestea ne putanad fi preluate de
bufferul destinatie urmator. Daca bufferul (nodul) destinatie urmator nu este plin si poate asimila
cantitatea de masini din intersectie (bufferul de intesectie), atunci chiar daca numarul maxim de
masini suportat de nodulul de intersectie este depasit, surplusul se va acumula inaintea intersectie, pe
tronson, fara a incurca circulatia din interiorul intersectiei. In timpul fazei, acumularea de masini, in
bufferul de intersectie, nu este deranjanta, singurul lucru care trebuie urmarit este ca in momentul
21
schimbarii fazei sa se verifice daca intersectia, in special bufferul de intersectie, este libera. Daca este
libera se poate schimba faza, daca nu este libera se recomanda schimbarea fazei doar dupa golirea
intersectie.
In cazul nodurilor sursa depasirea capacitatii limita de stocare nu produce efecte negative
asupra traficului din intersectie, deoarece surplusul de masini se va acumula inainte de intersectie, pe
tronsonul din care face parte nodul sursa saturat.
In exemplul din figura de mai jos este reprezentata o faza de tip 1 dintr-o intersectie „cruce”
evidentiindu-se cele trei buffere destinatie (2, 3 si 4) si bufferul sursa (1). Sunt figurate deasemenea
capacitatile ocupate din fiecare buffer precum si fluxuri de transfer dintre noduri.
Fluxurile de masini dintre aceste buffere sunt similare cu ratiile de transfer (fluxuri) dintre
nodurile unei retele compartimetale. Prin flux de masini se intelege debitul de masini, adica numarul
de masini pe unitatea de timp – unitatea de timp poate fi secunde, minute, ore sau un ciclu de
semafor.
La fel ca in cazul retelelor compartimentale, fluxurile de masini se pot imparti in mai multe
categorii: fluxuri de intrare in noduri sursa, fluxuri de iesire din noduri sursa – similare (identice) cu
fluxurile de intrare in nodurile destinatie si fluxuri de iesire din noduri destinatie. Aceste categorii de
fluxuri sunt evidentiate in figura de mai sus: d(t) este flux de intrare in nod sursa, v2, v3 si v4 fluxuri
de iesire din noduri sursa si f12, f13 si f14 fluxuri de iesire din nodul sursa (fluxuri de transfer intre
nodul sursa si nodurile destinatie).
Fluxul de intrare in nodul sursa, d(t), este un debit de masini variabil in timp ce depinde si de
caracteristicile tronsonul din care face parte nodul (bufferul). Acest debit are un caracter sezonier
depinzand de momentul zilei (traficul de dimineata, de pranz si seara), de ziua din saptamana
(traficul zilelor lucratoare si traficul de week-end) precum si de lunile anului (lunile de vacanta de
vara si de iarna).
22
Figura 20 a: Debit de intrare masurat din trafic (masini pe minut) - zi de luni
Datele provin din masuratori efectuate in Piata Romana. Sunt debite de masini
masurate la 15 minute, incepand cu ora 00:00. Din analiza acestor grafice se poate observa
caracterul sezonier al fluxului rutier.
Din primele doua grafice se observa ca debitele mari de masini sunt mereu intre
23
acealeasi ore (asa zise ore de varf, cand oamenii se duc sau vin de la serviciu).
Comparand primele doua grafice cu ultimul se poate observa diferenta intre traficul de
mijloc de saptamana si cel weekend. Traficul de weekend este mai intens spre seara, cand
oamenii ies in oras, chiar daca valorile traficului de weekend nu le depasesc pe cele din cursul
saptamanii
Fluxul de iesire din nodurile destinatie, v2, v3 si v4, depinde atat de starea nodului – gradul
ocupare al nodului cu masini – cat si de starea trosonului pe care se afla nodul (buffer destinatie
respectiv). Acest lucru se poate observa foarte usor din modul in care sunt definite aceste fluxuri:
, unde reprezinta debitul de masini de pe tronsonul „i”, iar functia
modeleaza comportamentul masinilor care parasesc nodul respectiv. Aceasta functie g
este foarte utila deoarece debitul de masini care paraseste nodul destinatie nu va ajunge instantaneu
la valoarea debitului de pe acel tronson, deoarece este necesar un timp pana cand viteza masinilor din
nodul destinatie va atinge viteza masinilor ce se deplaseaza pe tronson. Debitul de evacuare va creste
monoton spre valoarea dictata de tronson.
Fluxul de masini dintre doua sau mai multe buffere – intre bufferele sursa si bufferele
destinatie –, adica fluxul de iesire din nodul sursa, poate fi descompus in trei componente la fel ca in
cazul fluxului de transfer din cadrul retelei compartimentale: si
, unde reprezinta procente din debitul total care iese din nodul sursa
1 si se distribuie nodurilor destinatie 2, 3 si 4, iar functia este definita mai sus.
Suma ponderilor, , este egala cu 1, rezultand faptul ca intreg debitul de masini
este distribiut nodurilor destinatie. Daca suma nu ar fi egala cu 1, ci mai mica, ar rezulta ca o
parte din debit se pierde lucru ce ar determina pierderea caracterului conservativ al retelei. Acelasi
lucru este valabil si in cazul in care suma ar fi mai mare ca 1, reteaua ar genera un debit inexistent.
Aceasta descompunere, prezenta mai sus, este naturala si evidenta.
De exemplu, dintr-un volum de masini care asteapta la semafor (in bufferul 1 delimitat de
liniile rosii), o parte vor face la dreapta (in bufferul din dreapta, 2, delimitat de liniile maro), alta
parte la stanga (in bufferul din stanga, 4, delimitat de linia rosie si cea verde) si restul vor merge
inainte (in bufferul din fata, 3, delimitat de liniile albastre). Daca raportam acest volum de masini,
care asteapta la semafor, la unitatea de timp – in acesta lucrare unitatea de timp reprezinta ciclul de
semafor (timpul total de semafor – timpul de verde si timpul de rosu) –, vom obtine debitul total de
masini furnizat de bufferul 1. Analog vom obtine debitul de masini spre stanga, spre fata si spre
dreapta. Raportand fiecare debit calculat anterior la debitul total de masini ce a „parasit” nodul sursa
1 vom obtine ponderile descrise mai sus .
In cazul intersectiilor cu faze de tip 3, faze in care apar bufferele de intersectie, se mai
diferentieaza o categorie de fluxuri: fluxuri de iesire din buffere de intersectie. Aceste au o structura
asemanatoare cu fluxurile de iesire din noduri destinatie, cu diferenta ca au valori mici. In figura de
mai jos sunt reprezentate toate categoriile de fluxuri, inclusiv fluxurile de iesire din noduri de
intersectie (f4`4 si f2`2).
24
Figura 21: Intersectie „cruce” – faza de tip 3
Studii de caz
Studiu de caz I:
Se da o intersectie „cruce”, care contine patru faze de tip 1. Se cere modelul fazei
precum si algoritmul de reglare care asigura evitarea congestiei in intersectie. Intersectia
„cruce” si o faza de tip 1 sunt ilustrate in figura de mai jos. Un astfel de algoritm de reglare
trebuie sa evite congestia in conditiile urmatoare: debite de alimentare mari, debite de
iesire din intersectie mici – traficul de pe tronsoanele adiacente este aglomerat – si buffere
destinatie aproape pline.
25
Figura 23: Reprezentarea fazei de tip 1 folosind retelele compartimentale
26
µi reprezinta debitul maxim care poate iesi din compartimentul i;
;
Debitele maxime de evacuare din noduri µi sunt alese astfel incat sa reflecte situatia
reala din trafic si sunt masurate in masini/sec.
27
Figura 26: Modelul pe stare al regulatorului compartimental
28
z20, z30, z40 – conditiile initiale ale
regulatorului; conditiile initiale (atat cele ale
procesului cat si cele ale regulatorului)
dicteaza numarul maxim de masini ce poate
fi stocat la orice moment de timp in
intersectie. Pentru acest exemplu s-a optat
pentru conditii initale nule pe regulator.
Indiferent de modul in care se face
initializarea (pe proces sau pe regulator),
pentru aceeasi „masa” de masini se obtine
aceeasi comanda.
Initializarea parametrilor
regulatorului
Rezultatele simularii
Cazul I: Functionarea in bucla deschisa vs. functionarea in bucla inchisa
- debit de intrare constant -
29
Figura 28: Evolutia (starilor sistemului) capacitatilor fazei – bucla deschisa (numarul de
masini din fiecare buffer). Apare congestia – masinile se acumuleaza in intersectie (depasesc
numarul maxim adimis in intersectie).
Figura 29: Evolutia capacitatilor fazei – bucla inchisa. Congestia este evitata – masinile
nu se mai acumuleaza in intersectie – limita este evidentiata pe grafic cu roz).
30
Figura 30: Fluxul de intrare d (debit – masini/sec)
31
Figura 33: Evolutia (starilor sistemului) capacitatilor fazei – bucla deschisa (numarul de
masini din fiecare buffer). Apare congestia – masinile se acumuleaza in intersectie (depasesc
numarul maxim adimis in intersectie).
Figura 34: Evolutia capacitatilor fazei – bucla inchisa (numarul de masini din fiecare
buffer). Congestia este evitata –limita este evidentiata pe grafic cu roz).
32
Figura 36: Fluxul de intrare d limitat de comanda u (debit – masini/sec). Debitul de
intrare d este limitat la o valoare pe care intersectia o poate asimila fara a se forma blocaje.
33
Figura 38: Intersectie „cruce” – faza de tip 3
34
Figura 40: Reprezentarea fazei de tip 3 folosind retele compartimetale – modelul
simplificat
Modelul pe stare al fazei de tip 3 este urmatorul:
x1 – starea nodului sursa 1 S;
x2–starea nodului destinatie 2
E;
x3–starea nodului destinatie 3
N;
x4–starea nodului destinatie 4
V;
x5–starea nodului destinatie 5
N;
x6–starea nodului destinatie 6
S;
Structura regulatorului neliniar corespunzator modelului de retea compartimentala
descris mai sus este urmatoarea:
35
µi reprezinta debitul maxim care poate iesi din compartimentul i;
;
In plus fata de modelul matematic, in simulare se adauga doua module de limitare a
fluxului. Pentru a simula virajul de stanga, faptul ca masinile care-l efectueaza trebuie sa
acorde prioritate celor care vin din fata, se introduce un modul de saturare a debitului de
intrare in nodul destinatie de stanga. Surplusul de flux rezultat este intors in nodul sursa.
La fel ca si in cazul anterior atat procesul cat si regulatorul trebuie initializate, trebuie alese
conditiile initiale. Conditiile initiale dicteaza numarul maxim de masini ce poate fi stocat la orice
moment de timp in intersectie. Alegerea lor se face in felul urmator: se calculeaza capacitatile libere
din fiecare buffer destinatie, daca bufferele sunt pline se renunta la calculul timpului de verde pentru
aceasta faza, pastrandu-se rosu in continuare pana cand se mai golesc din buffere. Capacitatile libere
sunt insumate, iar numarul obtinut este comparat cu numarul de masini ce se afla in bufferul sursa.
Dintre cele doua numere se alege cel mai mic initializandu-se nodul sursa cu aceasta valoare, iar
nodurile destinatie sunt initializate cu zero (se considera a fi goale). Astfel se asigura existenta in
permanenta locuri libere in bufferele destinatie. Initializarea in acest fel se realizeaza pe proces cu
regulatorul avand conditii initiale nule. Cu valorile capacitatilor libere ale bufferelor destinatie se
poate initializa direct regulatorul. Fiecare nod virtual din regulator ce corespunde unui buffer
destinatie din proces este initializat cu valoarea libera a bufferului respectiv.
Indiferent de modul de initializare, daca suma conditiilor initiale este aceeasi, comanda va fi
identica in ambele cazuri. Diferentele fiind doar la modul de evolutie al comenzii si ale starilor
procesului. Pentru conditii initiale nule pe proces si nenule pe regulator comanda pleaca de undeva
dintr-o vecinatate a lui 1 si scade pana la valoarea de regim stationar, iar starile procesului cresc din 0
spre valorile de regim stationar. In celalalt caz comanada creste de la 0 spre aceeasi valoare de regim
stationar, iar starile procesului scad spre valorile de regim stationar.
Debitele maxime de evacuare din noduri µi sunt alese astfel incat sa reflecte situatia reala din
trafic si sunt masurate in masini/sec.
36
Figura 41: Sistemul compartimental inchis – retea faza si regulator neliniar
37
Figura 43: Modelul pe stare al regulatorului compartimental
Rezultatele simularii
Cazul I: Functionarea in bucla deschisa vs. functionarea in bucla inchisa
- debit de intrare constant -
38
Figura 45: Evolutia (starilor sistemului) capacitatilor fazei – bucla deschisa (numarul
de masini din fiecare buffer). Apare congestia – masinile se acumuleaza in intersectie
(depasesc numarul maxim adimis in intersectie).
Figura 46: Evolutia (starilor sistemului) capacitatilor fazei – bucla inchisa (numarul
de masini din fiecare buffer). Congestia este evitata – masinile nu se mai acumuleaza in
intersectie (numarul lor nu depaseste maximul adimis in intersectie, in cazul de fata 10 –
aceasta limita este evidentiata pe grafic cu albastru).
39
Figura 47: Fluxurile de intrare d1 si d2 (debit – masini/sec)
40
Figura 50: Evolutia (starilor sistemului) capacitatilor fazei – bucla deschisa (numarul
de masini din fiecare buffer). Apare congestia – masinile se acumuleaza in intersectie
(depasesc numarul maxim adimis in intersectie).
Figura 51: Evolutia (starilor sistemului) capacitatilor fazei – bucla inchisa (numarul
de masini din fiecare buffer). Congestia este evitata – masinile nu se mai acumuleaza in
intersectie (numarul lor nu depaseste maximul adimis in intersectie, in cazul de fata 10 –
aceasta limita este evidentiata pe grafic cu albastru).
41
Figura 53: Fluxurile de intrare d1 si d2 limitate de comanzile u1 si u2 (debit –
masini/sec). Debitule de intrare sunt limitate la o valoare pe care intersectia o poate asimila
fara a se forma blocaje.
unde:
d – reprezinta debitul de intrare in nodul sursa;
dc – reprezinta debitul de intrare in nodul sursa calculat de regulator:
um – reprezinta comanda medie data de regulator (se face media pe valorile comenzii obtinute
dupa ce sistemul intra in regim stationar);
– reprezinta timpul maxim de verde admis pentru o faza;
– reprezinta timpul de verde rezultat in urma comenzii regulatorului.
Timpul de verde va fi un procent (um ) din timpul maxim de verde posibil. Daca um este foarte
mic atunci nu se va acorda verde. Chiar daca um ia orice valori intre 0 si 1, (timpul de verde) nu va
avea orice valori, ci doar un set de valori intregi calculat pe anumite intervale.
42
Concluzii
Modelarea traficului urban folosind retelele compartimentale (conservative) ofera doua
avantaje importante. Primul avantaj este faptul ca leaga in acelasi model (reprezentare) fluxul
(debitul) de masini de pe tronsoanele ce se intalnesc in intersectie, de capacitatile libere din
intersectie – capacitatile libere ale bufferelor destinatie din afara intersectiei. Astfel, se obtine prin
intermediul regulatorului neliniar calculat, o comanda ce indica fluxul optim de alimentare a
intersectiei astfel incat sa nu se creeze blocaje.
Comanda obtinuta permite modificarea timpul de verde al unei faze in conformitate cu
cerintele de trafic din acel moment. De asemenea, poate fi luata decizia de a da sau nu verde pentru
o faza, in cazul in care intersectia (capacitatile bufferelor destinatie sunt pline) este plina. Sunt
momente in care se prefera ca masinile sa se acumuleze in bufferele sursa decat sa li se dea acces in
intersectie, pe care o vor bloca din cauza lipsei de spatiu in bufferele destinatie. In plus, se poate
decide cat de mare sa fie timpul de rosu dintre faze – daca este cazul. Este de preferat ca schimabarea
fazelor sa nu se faca instantaneu (rosu pentru faza curenta si in acelasi timp verde pentru faza
urmatoare), ci sa se astepte un timp pentru a se elibera intersectia. Acest timp poate fi variat, in
functie de starea intersectiei (prin monitorizarea in permanenta a intersectiei). Aceasta fiind o
completare a algoritmului de reglare.
Al doilea avantaj este reprezentat de faptul ca acest tip de modelare ofera posibilitatea de a
descompune problema de control al traficului rutier, in problem mai mici – problema de control al
traficului din reteaua rutiera este descompusa in probleme de control al traficului prin intersectie.
Rezolvarea globala a problemei de control al traficului rutier presupune gasirea unei solutii pentru o
problema de optimizare cu constrangeri care, din cauza formei, nu are intotdeauna solutie.
In aceasta parte a raportului s-a propus o solutie de rezolvare a problemei congestiei traficului
urban. Deoarece aceasta problema nu se poate rezolva direct, s-a decis descompunerea in sub-
probleme care se pot rezolva mai usor, ulterior efectele pozitive locale (datorate rezolvarii congestiei
local) sa se extinda la intreaga retea rutiera solutionand astfel si problema globala de congestie. Sub-
problemele sunt reprezentate de controlul congestiei in intersectii, deoarece intersectiile sunt zonele
ce favorizeaza formarea congestiei. Controlul intersectiei s-a realizat prin controlul duratei fiecarei
faze in parte. Pentru fiecare faza exista cate un regulator care calculeaza timpul de verde
corespunzator, iar la nivelul de intersectie exista un supervizor care in functie de rezultatele primite
de la fiecare regulator de faza ia decizii care sa asigure o functionare fara congestii a intersectiei.
Din simulare (fara regulator – in bucla deschisa) pot obtine informatii despre : debite de
alimentare care produc congestii, faze de intersectie care sunt predispuse la aparitia congestiei,
intersectii care trebuiesc reconfigurate.
Solutia de modelare propusa ofera atat posibilitatea simularii traficului urban dintr-o retea
rutiera, punand in evidentia intersectii cu risc de congestie, faze de intersectie greu de controlat, cat si
posibilitatea calcularii unei legi de comanda a duratelor fazelor astfel incat sa se evite situatiile de
congestie.
Bibliografie capitol
[1] G.Bastin, V.Guffens, „Congestion Control in Compartmental Network Systems”;
[2] V. Guffens, H. Mounier and G. Bastin, “ Compartmental analysis of hop-by-hop congestion
control in communication networks”;
[3] G. Bastin and L. Praly, “Feedback stabilisation with positive control of a class of mass
balance systems”;
[4] G. Bastin and A. Provost, “Feedback stabilisation with positive control of dissipative
compartmental systems”;
43
Modarea cu retele Petri Hibride a intersectiilor
Sectiunea urmatoare reprezinta o completare a raportului fazei anterioare, prezentand o serie
de modele noi de tip hibrid (ca rezultat al activitatii AII.4.b - Verificarea si actualizarea bibliotecii
de modele formale – implementare); totodata aceste modele vor fi inglobate in modelul lumii pentru
agentii ce vor constitui arhitectura prezentata in capitolul urmator. Avand in vedere ca reprezinta
modele conceptuale – care necesita introducerea unei serii de parametri pentru a deveni modele de
intersectii concrete; se poate considera ca sectiunea face legatura cu activitatea AIII.4.a. - Elaborarea
de modele conceptuale pentru simularea, conducerea si optimizarea traficului – analiza si sinteza ,
facand practic legatura intre cele doua capitole de baza ale raportului.
6 2
3 5
4 1
Fluxurile de maşini pe cele trei tronsoane de intrare sunt reprezentate prin tranziŃiile I1, I2 şi
I3. Ieşirile pe cele trei tronsoane de ieşire sunt modelate prin tranziŃiile 4, 5 şi 6 (Fig.56).
Maşinile care intră pe tronsonul 2 au două posibilităŃi de deplasare:
a) către tronsonul 4 sau
b) către tronsonul 6
La fel maşinile care intră în intersecŃie pe tronsonul 1 au posibilităŃi de deplasare către
tronsoanele 5 şi respective 6, iar cele de pe tronsonul 3 către 4 sau 5. Fiecare dintre direcŃiile de
deplasare este reprezentată în model prin două informaŃii: tronson de intrare-tronson de ieşire (ex.
legătura între tonsoanele 2 şi 6 este reprezentată pe reŃea prin tranziŃia 2-6).
PoziŃiile P19, P20 şi P21 reprezintă poziŃiile complementare ce modelează capacitatea
tronsoanelor (1, 3 respectiv 2) de intrare (împreună cu poziŃiile P13, P17 şi respectiv P15).
În poziŃiile P14, P16 şi P18 se acumulează fluxurile de maşini pentru tronsoanele de ieşire (5,
4 şi respectiv 6).
PoziŃiile discrete sunt utilizate pentru a modela (împreună cu tranziŃiile continue în care intră
şi din care ies) vitezele de transfer ale maşinilor.
44
P19
0
P10 P8
5 u6=1
I2 u3=1
P13 P14
0 0
P1 P2
2-6 u4=1
P7 2-4 u5=1
P18
0
6 u14=1
P5 Faza 2 d1=1
Faza 1 d2=1
P11
3-5 u12=1
P20 P17
I3 u11=1
0 0
P16
P6 P3 P4
0 1-6 u8=1 1-5 u9=1
P9
P15
0
3-4 u13=1 4 u10=1
P12
I1 u7=1
P21
0
Figura 56: Model Petri hibrid pentru o intersectie in T cu doua faze de semaforizare
45
IntersecŃie în cruce cu două faze de semaforizare
IntersecŃia în cruce este prezentată în figura 57. Caracteristica unei intersecŃii în cruce cu două
faze de semaforizare constă în faptul că verdele pe o fază permite deplasarea în toate direcŃiile pentru
vehiculele ce vin din direcŃii opuse (ex. 1 şi 3 sau 2 şi 4).
Faze de semaforizare:
1) 1-6, 1-7, 1-8, 3-8, 3-5, 3-6;
2) 2-7, 2-8, 2-5, 4-5, 4-6, 4-7.
3 7
8 2
4 6
5 1
Fluxul de maşini pe fiecare tronson de intrare este modelat prin intermediul unei tranziŃii al cătrei
nume începe cu I (I1, I2, I3, I4), indicele reprezentând numărul trosonului pe care respectiva tranziŃie îl
modelează (Fig.58).
Fluxul de maşini pe tronsoanele de ieşire este modelat prin intermediul tranziŃiilor al căror nume
începe cu O (O5, O6, O7 şi O8), indicele reprezentând numărul tronsonului de ieşire modelat.
Fluxul de maşini pe diversele direcŃii de deplasare este modelat prin intermediul tranziŃiilor de tip
„i-o” (în care i reprezintă numărul tronsonului de ieşire şi o numărul tronsonului de intrare).
PoziŃiile P13, P14, P15 şi P16 sunt poziŃii complementare utilizate pentru a modela capacitatea
tronsoanelor de intrare.
Cele două faze de semaforizare sunt modelate prin tranziŃiile discrete Faza 1 şi Faza 2. Aceste
tranziŃii au ca poziŃii de intrare poziŃii discrete ce restricŃionează execuŃia tranziŃiilor continue
corespunzătoare direcŃiilor de deplasare din cadrul celeilalte faze şi ca poziŃii de ieşire poziŃiile discrete
ce restricŃionează execuŃia tranziŃiilor continue corespunzătoare deplasării pe direcŃiile din cadrul fazei.
Modelul prezentat este unul general. El poate fi particularizat pentru diverse tipuri de intersecŃii
in cruce cu două faze de semaforizare. Particularizarea constă în stabilirea diverşilor parametrii:
- durate de timp,
- viteze asociate tranziŃiilor continue,
- capacităŃile tronsoanelor de intrare în intersecŃie,
- numărul de maşini existent pe fiecare tronson la momentul iniŃial
- absenŃa anumitor direcŃii de deplasare prin suprimarea tranziŃiilor continue corespunzătoare (şi a
poziŃiilor discrete asociate acestora).
46
P13
0
I3 u1=1 O7 u5=1
P9
P1 P2
0 0
2-7 u17=1
P6 P7 P16
0 0 0
O8 u15=1 2-8 u18=1 I2 u16=1
Faza 2 d21=1
Faza 1 d22=1
P10 2-5 u19=1
P24
4-7 u12=1
P8
O6 u20=1
0
P14 P5
I4 u11=1
0 0
4-6 u13=1
P4
P12 P19 P20
0 1-8 u7=1 1-7 u8=1 1-6 u9=1
P21
P3
O5 u10=1 0
4-5 u14=1
I1 u6=1
P22
P15
0
Figura 58. Model retele Petri hibride pentru intersectie in cruce cu doua faze de semaforizare
47
IntersecŃie în T cu două faze de semaforizare (2)
Faze de semaforizare (Fig.59):
3) 2-6, 2-4, 3-4, 3-5
4) 1-5, 1-6, 3-4
6 2
3 5
4 1
Deplasarea maşinilor pe direcŃia 3-4 se poate face atât pe faza 1 de semaforizare cât şi pe faza 2,
această direcŃie nerestricŃionând deplasarea maşinilor ce vin de pe tronsonul 1.
Pentru ca acest lucru să fie posibil este nevoie ca tronsonul 3 să fie caracterizat de cel puŃin două
benzi, cel puŃin una dintre ele fiind afectată deplasării pe direcŃia 3-4. Acesată particularitate va fi
evidenŃiată şi în model prin diferenŃierea pentru tronsonul 3 a numărului de maşini funcŃie de direcŃia de
deplasare a acestora.
Fluxurile de maşini pe cele trei tronsoane de intrare sunt reprezentate prin tranziŃiile I1, I2 şi I3.
Ieşirile pe cele trei tronsoane de ieşire sunt modelate prin tranziŃiile O4, O5 şi O6 (Fig. 60).
Maşinile care intră pe tronsonul 2 au două posibilităŃi de deplasare:
c) către tronsonul 4 sau
d) către tronsonul 6
La fel maşinile care intră în intersecŃie pe tronsonul 1 au posibilităŃi de deplasare către
tronsoanele 5 şi respective 6, iar cele de pe tronsonul 3 către 4 sau 5. Fiecare dintre direcŃiile de
deplasare este reprezentată în model prin două informaŃii: tronson de intrare-tronson de ieşire (ex.
legătura intre tonsoanele 2 şi 6 este reprezentată pe reŃea prin tranziŃia 2-6). Pentru deplasarea maşinilor
de pe tronsonul 3 pe tronsonul 4 avem (conform modelului) două posibilităŃi: pe faza 1 de semaforizare -
tranziŃia 3-4(1) sau pe faza 2 de semaforizare – tranziŃia 3-4(2). În acest model, capacitatea tronsonului 3
a fost divizată în două părŃi: capacitatea trosonului 3 pentru maşinile care se deplasează către trosonul 5
(modelată prin poziŃiile P10 şi P14) şi capacitatea tronsonului 3 pentru maşinile care se deplasează către
trosonul 4 (modelată prin poziŃiile P17 şi P18)
Pentru modelarea capacităŃilor tronsonelor de intrare 1 şi 2 sunt folosite poziŃiile complementare
P8 şi P15 (pentru tronsonul 1) şi respectiv P12 şi P16 (pentru tronsonul 2).
În poziŃiile P9, P11 şi P13 se acumulează fluxurile de maşini pentru tronsoanele de ieşire (4, 6 şi
respectiv 5).
PoziŃiile discrete sunt utilizate pentru a modela (împreună cu tranziŃiile continue în care intră şi
din care ies) vitezele de transfer ale maşinilor. PoziŃiile discrete corespunzătoare tranziŃiilor continue ce
modelează deplasarea pe direcŃiile fazei 1 de semaforizare sunt poziŃii de ieşire din tranziŃia discretă
„Faza 1” şi de intrare pentru tranziŃia discretă „Faza 2”. Similar pentru poziŃiile discrete corespunzătoare
tranziŃiilor continue ce modelează deplasarea pe direcŃiile fazei 2 de semaforizare.
48
Faza 2 d2=1
Faza 1 d1=1 P6
P3 2-4 u14=1
P7
P14
3-5 u8=1
0 P10 P13
I3 u7=1 O5 u15=1
0 0
3-4(!) u9=1
P9
P1 P2
0 1-6 u4=1
1-5 u5=1
P4
P18 P17
I3 u16=1
0 0 P8
O4 u6=1 0
3-4(2) u10=1
I1 u3=1
P5
P15
0
Figura 60: Model retea Petri hibride pentru intersectia in T din figura 59
49
IntersecŃie în cruce cu trei faze de semaforizare
Faze de semaforizare (Fig.61):
1) 1-6, 1-7, 1-8, 3-8, 3-5, 3-6
2) 4-5, 4-6, 4-7
3) 2-7, 2-8, 2-5
3 7
8 2
4 6
5 1
La fel ca şi în cazul celorlalte modele prezentate, fluxul de maşini pe tronsoanele de intrare este
modelat prin tranziŃii al căror nume începe cu „I”, cel de pe tronsoanele de ieşire cu tranziŃii al căror
nume începe cu „O”. De asemenea, legăturile între două tronsoane sunt marcate printr-o numerotare de
forma i-j, unde i reprezintă indicele tronsonului de intrare iar j pe cel al tronsonului de ieşire.
Pentru o mai uşoară înŃelegere a legăturilor ce se realizează în model între diversele elemente ale
acestuia, arcele ce leagă poziŃiile discrete ce corespund deplasării în cadrul unei faze de semaforizare de
tranziŃiile discrete au fost colorate identic (Fig. 62).
50
P21
0
P1
I3 u1=1 O7 u5=1
P13 P14
0 0
2-7 u17=1
P2 P3 P4
3-8 u2=1 3-5 u3=1 3-6 u4=1
P11
P8 2-5 u19=1
Faza 2 d23=1
P12
4-7 u12=1
P20
O6 u20=1
0
P22 P17
I4 u11=1
0 0
4-6 u13=1
P16
P5 P6 P7
0 1-8 u7=1 1-7 u8=1
P9 1-6 u9=1
P15
O5 u10=1 0
4-5 u14=1
I1 u6=1
51
Capitolul II: Arhitectura multiagent pentru simularea retelelor de trafic
urban
Agent
Mediu
52
De regula, un agent are asociat un set de actiuni disponibile, reprezentand capacitatatea
lui de a-si modifica propriul mediu. Trebuie precizat ca aceste actiuni nu pot fi executate in orice
situatie, ci doar cand pre-conditiile aferente sunt indeplinite.
Problema cheie cu care se confrunta un agent este de a decide care dintre actiuni sa fie
executate in scopul indeplinirii optime a obiectivului sau. La baza proiectarii sistemelor
decizionale se afla arhitecturile software de agenti, care sunt incorporate in mediul de lucru. Din
acest motiv, complexitatea proceselor decizionale poate fi afectata de proprietatile mediului. O
clasificare a acestor proprietati este prezentata in continuare:
- Medii accesibile/medii inaccesibile
Un mediu este accesibil unui agent, daca aparatul senzorial al respectivului agent ii
permite acestuia accesul la informatii complete, precise, actuale despre starea mediului. Detectia
aspectelor relevante din mediu conduce la alegerea unei anumite actiuni de executat. Un agent
care actioneaza intr-un mediu accesibil nu are nevoie de o stare interna care sa conserve
informatii despre starile anterioare. Cu cat mediul este mai accesibil, cu atat este mai usor de
construit agenti care sa opereze in el. In general, cele mai complexe medii (mediul fizic,
Internetul) sunt inaccesibile.
- Medii deterministe/medii nedeterministe
Dupa cum s-a mentionat anterior, un mediu este determinist (din punctul de vedere al
unui agent), daca orice actiune a agentului are o singura consecinta garantata. Cu alte cuvinte,
starea urmatoare a mediului este determinata complet de catre starea curenta si de actiunile
selectate de catre respectivul agent. Mediul fizic inconjurator poate fi vazut ca mediu
nedeterminist, si ridica probleme de proiectare a agentilor.
- Mediu static/mediu dinamic
Un mediu static este cel care ramane neschimbat sub actiunea agentului. Un mediu este
dinamic pentru agent in cazul in care acesta se schimba in timp ce agentul delibereaza. In cadrul
unui mediu dinamic, agentul trebuie sa tina seama de schimbarile intervenite in timp ce el alege
o actiune.
- Mediu discret/mediu continuu
Un mediu este discret in cazul in care exista un numar finit de actiuni si perceptii.
- Mediu episodic/mediu neepisodic
In cadrul unui mediu episodic, experienta agentului este divizata in episoade. Un episod
nu depinde de actiunile ce au aparut in vreunul din episoadele anterioare.
Mediile care sunt inaccesibile, dinamice, continue si neepisodice reprezinta cazurile cele
mai dificile pentru proiectarea unui agent. Un controler pentu un sistem complex sau un
instructor interactiv pentru invatarea unei limbi straine sunt agenti inteligenti care actioneaza in
cadrul unui astfel de mediu.
Avand in vedere multitudinea de roluri pe care le poate avea un agent, pe langa autonomie,
comportamentul acestuia este evidentiat de o serie de proprietati generale:
• comunicare – abilitatea de a interactiona cu alti agenti sau persoane prin intermediul
unui limbaj de comunicare specific agentilor KQML
53
• reactie – capacitatea de a reactiona in mod selectiv la schimbarile de mediu
• initiativa – abilitatea de a nu reactiona doar ca raspuns la mediu ci si din proprie
initiativa
• continuitati in timp – spre deosebire de programele obisnuite care se termina cand
procesarea se termina, agentul continua sa ruleze monotorizand continuu evenimentele
care-i vor declansa actiunea
• orientarea spre un anumit scop – agentul actioneaza astfel incat sa-si indeplineasca
scopul in interesul utilizatorului
Alte caracteristici, suplimentare, ale agentilor pot fi:
• mobilitate
• bunavointa – ca agentul nu are scopuri conflicte,agentul incearca sa execute ceea ce i se
impune
• inteligenta – capacitatea de a invata ,de a-si perfectiona performantele in timp
• adaptabilitate
Agentii care indeplinesc doar caracteristici generale sunt numiti agenti slabi (reactivi), iar
cei care indeplinesc si caracteristici suplimentare sunt numiti agenti complecsi (cognitivi).
Un agent poate fi definit izolat sau in comunitate cu alti agenti (Sistemele Multi-Agent).
Un sistem multiagent este un sistem distribuit format dintr-o colectie de agenti autonomi care
actioneaza intr-un mediu comun, fiecare agent acumuleaza cunostinte, capacitati si scopuri
proprii. In functie de tipurile de agenti, rezulta doua categorii de sisteme multiagent:
• cu agenti cognitivi SMAC - urmaresc sa simuleze aspecte cu comportament uman prin
tratarea notiunilor de scop cooperare, competitie, organizare, structuri sociale
• cu agenti reactivi SMAR- sistem in care agentii sunt unitati care prelucreaza informatie,
reactioneaza la schimbarile de mediu si executa actiuni simple corespunzatoare acelor
schimbari.Un astfel de sistem este inspirat din organizatii si activitati a comunitatilor
biologice de insecte.
Agenti inteligenti
Agentii care trebuie sa opereze robust in mediu dinamic, impredictibil sau deschis, si sunt
capabili de actiuni autonome flexibile in acest mediu, care conduc la executarea obiectivelor de
proiectare, se numesc agenti inteligenti. Flexibilitatea presupune urmatoarele
caracteristici necesare simultan:
- reactivitate – agentul este capabil sa perceapa mediul si sa raspunda intr-un
anumit timp la evenimentele(schimbarile) ce au loc in mediu pentru a satisface
obiectivele de proiectare ; modificarile mediului afecteaza atat obiectivele
agentului cat si pre-conditiile procedurilor executate de agent.
- pro-activitate - agentii inteligenti sunt capabili de un comportament orientat pe
scop, prin luarea initiativei in scopul indeplinirii obiectivelor ; aceasta proprietate
este o cerinta naturala , intalnita ori de cate ori este scrisa o procedura - bazata pe
definirea pre-conditiilor si obtinerea post-conditiilor in cazul validarii primelor.
54
Cu alte cuvinte, comportamentul orientat pe scop presupune stabilirea unui plan
de actiune.
Problema care se pune este asigurarea unei balante intre reactivitate si pro-activitate. Este de
dorit ca, pe de o parte, agentii sa urmaresca sistematic atingerea obiectivelor (dar numai in
conditii de validitate a actiunilor care trebuie efectuate sau a scopului) iar pe de alta parte, sa fie
capabili sa reactioneze in timp la noi situatii.
- abilitate sociala - agentii inteligenti sunt capabili sa interactioneze cu alti agenti
in scopul satisfacerii obiectivelor de proiectare. Aceasta cerinta este mai cu seama
valabila pentru comunitatile de agenti, in care cooperarea, partajarea obiectivelor,
negocierea intre entitati sunt dorite in scopul indeplinirii obiectivelor. Notiunea de
autonomie se reflecta in puterea agentului de a decide daca executa sau nu o
actiune la cererea unui alt agent.
Modul de lucru al agentilor inteligenti
Agentii inteligenti opereaza in cadrul unui mediu software cum ar fi sistemele de operare, bazele
de date sau retelele de calculatoare.Tehnologia aflata in spatele agentilor inteligenti este o
combinatie de tehnici din domeniul inteligentei artificiale si de metodologii de dezvoltare a
sistemelor, cum ar fi programarea orientata pe obiecte, care permite programelor atat sa invete
cat si sa reactioneze la mediul inconjurator. Agentii inteligenti interactioneaza cu mediul din care
fac parte prin criterii de selectie a datelor bazate pe reguli.
Un agent inteligent isi dezvolta regulile corespunzatoare prin intermediul instructiunilor
explicite furnizate de utilizator, prin imitarea utilizatorului, prin feedback (raspuns) pozitiv sau
negativ primit de la utilizator si prin indicatii obtinute in urma interactionarii cu agenti
inteligenti.
55
Comportamentul unui mediu poate fi modelat ca o functie env : S × A → p( S ) care descrie
executarea unei actiuni a dintr-o anumita stare s. Daca starea rezultata este multipla, atunci
comportamentul mediului este nedeterminist. Istoria interactiunii agent-mediu poate fi
a0 a1 a2 au −1 au
h : s0 → s1 → s2 → s3 ... → su → ...
reprezentata ca secventa , unde s0 este starea initiala a mediului (din
care agentul incepe se execute procedura asociata) au este actiunea cu indexul u, pe care agentul o
alege de executat, iar su este starea cu indexul u a mediului. Secventa de mai sus va reprezenta o
posibila istorie a agentului daca si numai daca se pastreaza urmatoarele conditii:
∀u ∈ N , au = action ( ( s0 , s1 ,..su ) )
si ∀u ∈ N astfel incat u > 0, su ∈ env( su −1 , au −1 ) .
Comportamentul caracteristic al agentului actiune intr-un mediu env este multimea
tuturor secventelor care satisfac aceste proprietati. In general, ceea ce intereseaza este un
comportament nelimitat, cu secvente infinite.
Anumiti agenti decid asupra actiunilor fara sa tina cont de comportamentul anterior
(istoria actiunilor lor). Ei isi bazeaza procesul de decizie doar pe prezent, fara nicio referire la
trecut. Acestia sunt agentii pur reactivi, care pur si simplu raspund la mediul lor. Formal, se
definesc ca o functie actiune : S → A , cu semnificatia ca fiecare agent reactiv poate avea un
echivalent de agent standard.
Modelul abstractizat al agentului poate fi rafinat prin descompunerea in doua
susbsisteme: subsistemul de perceptie si subsistemul de actiune (fig.64).
Perceptie Actiune
Agent
Functia perceptie captureaza abilitatea agentului de a observa mediul sau, in timp ce functia
actiune reprezinta procesul de decizie al agentului. In general functia de perceptie este
implementata hardware in cazul in care agentul este plasat in mediul fizic, si este definita formal
astfel
perceptie : S → P
, unde P este o multime iesirilor blocului de perceptie (sau a semnalelor de
intrare perceptual). Functia perceptie transforma starile mediului in semnale de perceptie.
Functia actiune este redefinita astfel :
actiune : P* → A
care transforma secvente de perceptie in actiuni.
O interpretare mai naturala a procesului de decizie (in locul celui bazat pe istoricul
actiunilor) este de a considera ca agentii isi mentin starea (fig. 3). Acestia au o anumita structura
de date interna, utilizata pentru inregistrarea informatiilor despre starea mediului si istorie. Daca
I este multimea tuturor starilor interne ale agentului, atunci procesul de decizie este bazat, in
56
parte, pe aceasta informatie. Functia de perceptie este similara cu cazul anterior, insa functia de
selectare a actiunilor este definita acum ca fiind actiune : I → A , de la stari interne la actiuni.
De asemenea este introdusa o functie de succesiune
succesiune : I × P → I ,
care face o corespondenta intre perechea stare (interna, perceptie) si starea interna. (fig. 65)
Perceptie Actiune
succesor stare
Agent
57
Starea interna a agentului consta intr-o baza de date de formule descrise prin logica
predicativa de ordinul I. Baza de date reprezinta informatia pe care agentul o poseda despre
mediul in care actioneaza si este intr-o oarecare masura asemanatoare cu convingerile unei fiinte
umane. Considerand L un set de propozitii bazate pe logica de ordinul I si D=p(L) multimea de
baze de date cu L elemente, atunci starea interna a agentului este un element al lui D, notat prin
∆, ∆1
…Procesul de decizie al agentului este modelat printr-un set de reguli deductive ρ , care
sunt reguli simple de inferenta. Functia de pereceptie a agentului ramane neschimbata (fig.2), in
timp ce functia de succesiune devine succesiune : D × P → D . Ea realizeaza corespondenta intre o
pereche de tip (baza de date, perceptie) si o noua baza de date. Functia de selectare a actiunii
devine actiune : D → A si este definita in termenii regulilor deductive.
Un neajuns major al acestei arhitecturi este ca procesul decizional devine dificil in cazul
in care mediul este dinamic, cu schimbari rapide : daca la un moment de timp t1 agentul
genereaza o baza de date ∆1 si incepe sa aplice regulile ρ , la un alt moment ulterior t2 decide ca
trebuie sa execute o anumita actiune a ; insa daca mediul a suferit modificari in intervalul t1-t2,
optimalitatea actiunii a nu mai este garantata.
Desi in aparenta simpla, proiectarea arhitecturii bazate pe logica se confrunta cu o serie
de probleme, ca de exemplu : transformarea informatiilor despre mediu in descriere simbolica
(declaratii) , reprezentarea (si rationarea) informatiilor temporale.
Arhitectura reactiva
Este caracterizata de doua trasaturi definitorii :
• procesul decizional se bazeaza pe o multime de comportamente oientate pe
indeplinirea obiectivelor ; fiecare comportament poate fi interpretat ca o
functie actiune individuala, care, in mod continuu, percepe semnalul de
intrare si il transforma intr-o actiune de executat. Fiecare din modulele
comportamentale este destinat indeplinirii unei anumite sarcini si poate fi
implementat , de exemplu (), prin automate cu numar finit de stari. In
multe cazuri, comportamentele sunt implementate prin reguli de forma :
situatie → actiune care asociaza intrarii perceptuale o actiune.
• pot fi executate simultan mai multe comportamente, alegerea unei anumite
actiuni la un moment dat facandu-se printr-un mecanism de selectie.
Modulele comportamentale pot fi asezate ierarhic , pe niveluri, unde
nivelurile de la baza sunt capabile sa inhibe nivelurile superioare, avand
prioritati mai mari.
Functia de decizie « actiune » este realizata printr-o multime de comportamente,
impreuna cu o relatie de inhibare care se mentine intre aceste comportamente. UN comportament
este o pereche (c,a) unde c ⊆ P este un set de perceptii numite conditii, si a ∈ A este o actiune. Un
comportament (c,a) se va executa cand mediul este in starea s ∈ S daca si numai daca
perceptie( s ) ∈ c . Asociate cu o multime de reguli comportamentale ale unui agent,
R ⊆ Beh este o relatie de inhibare pe multimea comportamentelor : p ⊆ R × R . Aceasta relatie
58
Selectia actiunii incepe prin calcularea multimea tuturor comportamentelor care pot fi
executate. Dupa aceea, fiecare comportament (c,a) care se executa, este verificat in scopul
sesizarii unui alt comportament de prioritate mai ridicata care s-ar putea executa. In caz contrar,
atunci actiune a a comportamentului, este selectata. Daca niciun comportament nu se executa,
atunci nicio actiune nu va fi selectata.
Cateva avantaje evidente ale arhitecturii reactive sunt : simplitate, economie, portabilitate
computationala, robustete la defecte, eleganta. Exista insa si cateva probleme fundamentale
nerezolvate, valabile in general pentru arhitecturi reactive :
- daca agentii nu utilizeaza modele ale mediului lor, atunci ar trebui sa aiba
suficienta informatie disponibila in mediul lor local, pentru a decide o actiune
acceptabila ;
- deoarece agentii pur reactivi iau decizii bazate pe informatii locale (de exemplu
despre starea curenta a agentului ) este dificil de observat cum procesul de decizie
ia in considerare informatia ne-locala (va trebui sa tina seama de o informatie :pe
termen scurt »)
- este dificil de inteles cum agentii reactivi pot fi proiectati astfel incat sa invete din
experienta, si sa isi imbunatateasca performantele in timp.
- Un aspect important al sistemelor pur reactive este ca intregul comportament
provine din interactiunea comportamentelor componente, cand agentul este plasat
in mediul sau. Relatia dintre comportamentele individuale, mediu si
comportamentul global este slab inteleasa, ceea ce face dificila indeplinirea
obiectivelor de catre agenti. De aceea, proiectarea agentilor nu se face pe baza
unei metodologii principiale, ci printr-un proces laborios de experimentari,
incercari, esecuri.
- In timp ce agentii efectivi pot fi generati cu un numar mic de comportamente
(tipic, mai putin de 10 niveluri) este mult mai dificila proiectarea agentilor care sa
contina mai multe niveluri. Dinamica interactiunilor intre diferite comportamente
devine prea complexa.
Pentru rezolvarea acestor neajunsuri au fost propuse variate solutii, una dintre cele mai
populare fiind ideea de agenti evolutivi care indeplinesc anumite sarcini.
Un exemplu de arhitectura reactiva este arhitectura Subsumption a lui Brooks (fig. 66).
59
P . A
E C
R . T
C I
E U
P N
T Explorare E
I
E Analiza
Evitare obstacole
60
Procesul de decizie incepe prin a analiza toate optiunile disponibile. Dupa generarea
setului de alternative, se decide care dintre acestea va fi aleasa. Optiunile alese se concretizeaza
in intentii care vor determina actiunile agentului. Astfel, intentiile influenteaza rationamentul
practic viitor al agentului. In plus, odata ce s-a adoptat o intentie, aceasta impune constrangeri
asupra rationamentului practic viitor. Prin analiza mijloace-scopuri se aplica constrangeri asupra
deliberarii viitoare (anumite optiuni inconsistente nu sunt mentinute) , dar se are in vedere si
nevoia de persistenta asupra acesteia (intentiile persista pana cand au fost atinse sau au fost
gasite imposibil de indeplinit).
Pe scurt, intentiile joca un rol multiplu in rationarea practica :
- intentiile conduc catre rationament mijloace-scopuri
- intentiile limiteaza deliberarea viitoare;
- intentiile persista;
- intentiile influenteaza convingerile pe se bazeaza rationamentul practic viitor.
O problema cheie in proiectarea agentilor cu rationament practic este de a realiza un bun
echilibru intre aceste cerinte. De exemplu, este posibil ca un agent sa fie nevoit sa renunte la
anumite intentii (fie pentru ca incepe sa creada ca acestea nu vor fi niciodata indeplinite, fie ca au
fost indeplinite , fie ca motivul intentiilor nu mai este valabil). Prin urmare, este necesar ca, din
cand in cand, agentul sa isi reevalueze intentiile, ceea ce devine costisitor atat din punct de
vedere al timpului consumat cat si al resurselor de calcul. Reconsiderarea intentiilor, fie nu
suficient de des, fie dimpotriva, constant, poate conduce la neindeplinirea acestora, din diferite
motive. Aceasta dilema este in mod esential problema de gasire a unui echilibru intre un
comportament pro-activ (orientat pe scop) si unul reactiv (condus de evenimente).
Asadar, arhitecturile BDI se bazeaza pe structuri de date reprezentand:
• convingeri (Beliefs) = informatii pe care agentul le are despre mediu
• dorinte (Desires) = stari pe care agentul doreste sa le realizeze
• intentii (Intentions) = dorinte (sau actiuni) pe care agentul s-a angajat sa le indeplineasca
si pe functii care ilusteaza rationarea practica.
Procesul de rationare practica intr-o arhitectura BDI este sumarizat in figura 67.
61
perceptii
Recapitularea
Convingeri convingerilor
B = brf(B, p)
Analizor de
oportunitati Proces de deliberare Dorinte
D = optiuni(B, D, I)
Intentii
Filtru
Rationarea
Mijloace-scopuri I = filtru(B, D, I)
Intentii structurate in
planuri partiale
Biblioteca de
planuri Actiune
Executor
actiuni
Aceasta functie joaca mai multe roluri, cel principal fiind coordonarea procesului de
rationament mijloace-scopuri. Procesul de generare a optiunilor poate fi vazut ca unul de
elaborare recursiva a structurii de planificare ierarhica, de considerare si angajare progresiva a
intentiilor pana cand in final sunt indeplinite intentiile care corespund actiunilor executabile
imediat. Functia de generare a optiunilor trebuie totodata sa satisfaca unele constrangeri:
consistenta in raport cu convingerile si intentiile curente; oportunitatea fata de modificarile de
mediu - agentului i se pot oferi noi modalitati de atingere a intentiilor.
62
- o multime de optiuni curente, reprezentand moduri posibile de actiuni disponibile
agentului;
- o functie filtru (filtru) care reprezinta procesul de deliberare a agentului si care
determina intentiile agentului pe baza convingerilor, dorintelor si intentiilor sale
curente; expresia formala a functiei filtru este
filtru :℘( Bel ) ×℘( Des ) ×℘( Int ) →℘( Int )
Aceasta functie trebuie sa indeplineasca doua roluri : in primul rand trebuie sa renunte la
intentiile care nu mai pot fi indeplinite, sau pentru a caror indeplinire costul este prea mare. In al
doilea rand at trebui sa retina intentiile care nu au fost inca indeplinite dar care ofera un beneficiu
global pozitiv. In final, trebuie adoptate intentii noi, fie prin indeplinirea intentiilor existente, fie
prin exploatarea unor noi oportunitati.
Functia filtru trebuie sa satisfaca constrangerea :
∀B ∈℘( Bel ), ∀D ∈℘( Des), ∀I ∈ ×℘( Int ) →℘( Int ) , filtru( B, D, I ) ⊆ I ∪ D ,
cu semnificatia ca intentiile
curente sunt atat intentii pastrate anterior cat si intentii nou adoptate.
- o multime de intentii curente, reprezentand scopul curent al agentului, acele stari
care au fost implicate in sustinerea intentiilor;
- o functie de selectare a actiunii (executa) care determina o actiune de executat pe
baza intentiilor curente. Aceasta functie returneaza orice intentie executabila –
corespunzatoare unei actiuni direct executabile. Formal , ea este definita ca
executa :℘( Int ) → A
Modelul BDI este atractiv deorece este intuitiv si datorita unei decompozitii functionale
clare care indica ce fel de subsisteme sunt necesare pentru a construi un agent. Ca o cerinta
general valabila, si in acest caz se pune problema unei implementari eficiente a acestor functii.
Arhitecturile stratificate
Arhitecturile stratificate incadreaza comportamente atat reactive cat si pro-active din
partea agentilor, reprezentate prin subsisteme separate. Subsistemele sunt organizate intr-o
ierarhie de niveluri care interactioneaza.
Arhitecturile stratificate presupun existenta a cel putin doua straturi, corespunzatoare
comportamentelor reactive respectiv pro-active. In general, se identifica doua tipuri de flux al
controlului intre nivelurile stratificate, astfel:
- in cazul stratificarii orizontale, nivelurile software sunt conectate fiecare, direct la
intrarea de perceptie si la iesirea cu actiune. In fapt, fiecare nivel actioneaza ca un
agent producand sugestii asupra actiunilor de indeplinit (fig. 6°a).
- in cazul stratificarii verticale intrarea de perceptie si iesirea de actiune sunt
conectate fiecare la cel mult un strat (fig. 68b).
63
Iesire cu actiune Iesire cu actiune
Masina Turing
Un exemplu de arhitectura stratificata orizontal este masina Turing (fig. 69). Are o
dispunere orizontala a straturilor, cu trei niveluri de realizare a actiunilor. Nivelul reactiv
produce un raspuns mai mult sau mai putin imediat la schimbarile de mediu si este implementat
printr-un set de reguli situatie-actiune care asociaza intrarea de perceptie direct cu iesirea de
actiune. Nivelul de planificare implementeaza o comportare pro-activa, fiind responsabil cu
deciderea actiunilor pe care trebuie se le execute agentul. Acest nivel utilizeaza o biblioteca de
planuri. Nivelul de modelare contine mediul, agentul si ceilalti agenti. El predicteaza conflicte
64
intre agenti si genereaza scopuri noi de realizat in scopul rezolvarii acestor conflicte. Noile
scopuri sunt trimise nivelului inferior (de planificare) care utilizeaza biblioteca de planuri pentru
a rezolva situatiile de conflict.
Nivel modelare
perceptii
Subsistem
Nivel planificare Subsistem
perceptie
actiune
Nivel reactiv
actiuni
Subsistem control
Arhitectura InteRRaP
Aceasta arhitectura este un exemplu de arhitectura stratificata vertical cu doua treceri (fig. 70).
Ea contine trei niveluri de control : nivelul de baza (bazat pe comportament) este asociat uunui
comportament reactiv; nivelul intermediar se ocupa cu planificarea uzuala, pentru realizarea
obiectivelor agentului; nivelul superior se ocupa cu interactiunile sociale. Fiecare nivel are
asociata o baza de date , adica reprezentarea mediului (lumii) vazuta corespunzatoare acelui
nivel. Astfel, la nivelul superior sunt reprezentate planuri si actiuni ale altor agenti din mediu, la
nivelul intermediar, baza de date stocheaza planuri si actiuni ale agentului insusi; la nivelul
inferior este reprezentata informatia primara despre mediu.
Interactiunea dintre niveluri, in scopul indeplinirii aceluiasi obiectiv, este de tip activare
de jos in sus (daca nivelul curent nu este capabil sa rezolve situatia curenta) si executie de sus in
jos (cand un nivel superior utilizeaza facilitatile oferite de un nivel superior pentru a indeplini un
scop). Fiecare nivel implementeaza 2 functii generale:
- recunoastere de situatii si activarea scopului (asociaza o baza de date si un scop
curent unui nou set de obiective)
65
- planificare si ordonantare – selecteaza unui plan de executat, pe baza planurilor
curente, obiectivelor si bazei de cunostinte a nivelului.
Desi arhitecrurile stratificate sunt o solutie pragmatica duc lipsa de claritatea semantica si
conceptuala a abordarilor nestratificate.
66
acelasi mediu. Cu alte cuvinte, functionalitatea unui agent este definita in concordanta cu rolul
sau in cadrul sistemului. Apar interactiunile intre agenti care pot fi pentru:
• coordonare (agentii sunt motivati colectiv sau individual);agentii pot avea scopuri
proprii ,por forma coalitii,intra in competitie pentru resurse sau pot fi indiferenti
• comunicare prin protocol sau limbaj (negociere sau ontologii)
• organizare: centralizata sau decentralizate,bazata pe ierarhie sau abordarea pietei asupra
“agentului cognitiv”
Fiecare agent are un set de cunostinte despre sistemul in care actioneaza. Aceste cunostinte sunt
memorate intern in structura fiecarui agent. Controlul agentului este realizat in corelatie cu
specificatia task-urilor pe care trebuie sa le duca la bun sfarsit si a strategiilor pe care le
foloseste. In functie de rolul fiecarui agent modul de definire a scopurilor, planurilor, strategiilor
este diferit. Modul de convietuire al agentilor in acelasi sistem se realizeaza printr-un mecanism
de comunicare care este bazat pe transmiterea unor mesaje intr-o maniera sincrona sau asincrona.
Pe langa acest schimb de mesaje, trebuie realizat un compromis intre pozitiile agentilor.
Cu alte cuvinte, trebuie realizata o intelegere intre agenti pentru satisfacerea constrangerilor la
care sunt supusi datorita coexistentei in cadrul aceluiasi sistem . Acest lucru se realizeaza printr-
un proces de negociere format din coordonare si cooperare. Cooperarea se refera la faptul ca
solutia unei probleme este rezultatul unei interactiuni cooperative la care participa toti agentii.
Coordonarea dintre grupele de agenti permite analiza task-urilor ce trebuie realizate si asignarea
proceselor grupelor de agenti fara a duplica volumul de munca.
Modelul sistemului multi-agent poate fi folosit pentru a simula orice mediu cooperativ, indiferent
de complexitate. In acest sens, sistemele multi-agent profita de participarea dinamica a fiecarei
parti componente in beneficiul tuturor.
• agentii individuali nu trebuie sa tina o istorie a informatiilor obtinute de la alti agenti;
• datorita procesului continuu de emitere sau de consumare de informatii, nformatiile
vehiculate in sistem nu sunt invechite;
• replicarea informatiei este evitata, mentinandu-se in acest mod consistenta in cadrul
sistemului;
• modelul bazat pe multi-agenti este scalabil deoarece numarul agentilor este sau poate fi
intr-o continua schimbare.
67
- fiecare agent trebuie sa fie capabil sa primeasca date de intrare de la alti agenti/ de
la senzori externi/ de la alte aplicatii – reprezentand valoarea fluxurilor de intrare/
numarul de vehicule din fiecare flux de iesire
- agentii controleaza structura ciclului de semaforizare al intersectiei pe care o
reprezinta, respectiv duratele fiecarei faze de semaforizare, respectand o serie de
specificatii externe
- fluxul de vehicule de pe fiecare intrare/ iesire a unei intersectii trebuie sa poata fi
simulat in raport cu starea curenta a retelei
- fiecare agent trebuie sa fie capabil sa isi adapteze ciclul de semaforizare in functie
de starea sa proprie si de cele ale agentilor adiacenti
In stabilirea arhitecturii aplicatiei s-a pornit de la caracteristicile mediului in care se doreste ca
aceasta sa ruleze:
- determinist – actiuni identice in contexte similare vor duce la rezultate similare
- dinamic – configuratia fluxului de vehicule, ca si duratele fazelor de semaforizare se modifica
permament
- inaccesibil (de fapt, partial accesibil) – agentul are acces indirect la fluxurile de intrare, prin
intermediul iformatiilor trimise de agentii vecini si acces direct la structura propriului ciclu de
semaforizare, precum si la senzorii instalati pe iesiri (cf. structurii prezentate in rapoartele
anterioare, si care reprezinta modul de implementare al sistemului de semaforizare in Bucuresti
exista senzori numai pe iesirile intersectiilor)
- hibrid – dupa cum s-a mentionat in capitolul de modelare formala si in raportul fazei
precedente, exista o parte continua a mediului – reprezentata de fluxul de vehicule – si o parte
discreta – structura ciclului de semaforizare
- ne-episodic.
Avand in vedere structura mediului, care contureaza un set de conditii de operare de dificultate
extrema, agentii vor trebui sa aiba proprietatile de baza de comunicare, reactivitate, pro-activitate
(dupa cum se va vedea in continuare, chiar inainte de declansarea fenomenului de congestie, pe
masura ce se constata aglomerarea unui tronson de intrare, agentul de intersectie lanseaza un
program de modificare a ciclului de semaforizare pentru a reduce aglomerarea si a evita
congestia), orientare pe scop si continuitate, dar si proprietatea suplimentara de adaptivitate,
rezultand un comportament inteligent al sistemului.
Pentru implementarea aplicatie a fost aleasa o platforma de dezvoltare pentru software
multiagent numita JADE.
68
Limbaje de
Programare
Declarative:CLAIM ,
FLUX , Imperative:Jack Agent
Language Hibride :
MINERVA,DALI, 3APL,Jason,IMPACT,
ReSpecT Go!,AF-API
69
• Pro-activitate .Agentii JADE controleaza propria derulare a firului de executie si sunt
usor de programat pentru a initia actiuni fara interventii umane bazandu-ne doar pe scop
si schimbarea starilor Acest lucru face ca JADE sa fie util in realizarea de aplicatii
masina-masina (m2m) cum ar fi controlul automatizat al unei fabrici,controlul traficului
etc .
• Aplicatii ce implica mai multe parti . Arhitecturile peer-to-peer sunt mai eficiente decat
cele client-server pentru dezvolarea aplicatiilor ce implica mai multe parti . Pentru ca
agentii JADE ofera si consuma servicii, ei exclud orice nevoie de a distinge intre clienti si
servere .Agentii din JADE comunica unii cu ceilalti fara a avea nevoie de interventia unui
server central .
• Interoperabilitate .JADE este in acord cu specificatiile FIPA care permit
interoperabilitatea punct la punct intre agentii de pe platforme diferite.Toate aplicatiile
unde comunicarea intre organizatii este necesara pot beneficia de interoperabilitate .
• JADE este un proiect open-source care implica contributia si colaborarea a mai multor
comunitati . Aceasta abordare permite atat utilizatorilor cat si dezvoltatorilor sa
contribuie cu sugestii si cod nou ,ceea ce garanteaza utilitatea API-urilor . Anarhia este
evitata prin Consiliul de Guvernare JADE care controloeaza evolutia platformei .
• Versatilitatea. JADE ofera un set omogen de API-uri care sunt independente de retea si
versiunea de Java.
• Usor de folosit si aplicatii mobile .API-ul JADE este usor de invatat si folosit .JADE a
fost construit pentru a simplifica managamentul comunicatiei si transportul mesajelor
facand trasparenta dezvoltatorului managementul diferitelor nivele de comunicatie
folosite pentru a trimite un mesaj intre agenti . JADE reduce timpul de dezvoltare al
aplicatiilor ,dar si costul acestora
JADE este o platforma software ce ofera functionalitati de nivel mediu care sunt
independente de aplicatia specifica si care simplifica realizarea aplicatiilor distribuite care
exploateaza agentii software abstracti. Atat inteligenta ,initiativa ,informatia ,resursele si
controlul pot fi distribuite total pe terminale mobile,dar si pe computere intr-o retea fixa. Mediul
poate evolua dinamic cu ajutorul agentilor ,care apar sau dispar in sistem conform necesitatii si
cerereii din aplicatie . Comunicatia intre agenti,fara a lua in considerare daca ruleaza wirelles sau
legati la o retea prin cabluri este complet simetrica (intiatorul comunicatiei si respondentul isi pot
inversa rolurile ) .
JADE presupune:
•Un mediu in timp real unde traiesc agentii
• O biblioteca de clase ce poate fi folosita pentru a dezvolta agenti
•Un set de utilitare grafice pentru administrarea si monitorizarea agentilor
JADE a fost dezvoltat integral in Java si este bazat pe urmatoarele principii :
• Interoperabilitate – JADE respecta specificatiile FIPA (Foundation for Intelligent, Physical
Agent) . Drept consecinta agentii pot interopera cu alti agenti deoarece apartin aceluiasi standard
.
70
• Uniformitate and portabilitate – JADE ofera un set de API-uri omogene care sunt independente
de retea si versiunea Java .Mediul de rulare al JADE ofera aceleasi API-uri pentru J2EE, J2SE si
J2ME.
• Usor de folosit – Complexitatea acestui middleware este ascunsa de un set de API-uri simple
si intuitive .
• Filosofia pay-as-you-go –Programatorii nu au nevoie de toate utilitarele suplimentare oferite de
middleware si nu trebuie stiute daca nu sunt folosite .
Functionalitati ale JADE :
• API independent de locatie
• respecta specificatiile FIPA
• transport eficient de mesaje asincrone
• un mod simplu de management asupra ciclului de viata al unui agent
• suport pentru mobilitatea agentilor
• un mecanism de subscriere pentru agenti
• un set de utilitare grafice pentru monitorizare si eliminare erori
• suport pentru ontologii si limbaje de continut
• o biblioteca cu protoacoale de interactiune(IP)
• includerea tehnologiilor web ca JSP, servlet, applet si alte servicii web
• suporta platforma J2ME si medii wireless
• interfata poate fi lansata din programe externe
•nucleul se poate extinde pentru a mari platforma
71
JADE pot fi reciclate in loc de a fi distruse si recreate la loc ,reducand din alocarea dinamica a
memoriei.
Dezvoltarea JADE continua. Imbunatatiri viitoare si implementari sunt gata de a fi
planificate,inclusiv suport pentru mobilitatea agentilor specificata in FIPA98 .Pentru viitor se
doreste promovarea cu succes a testarii interoperabilitatii intre platforme software, inregistrarea
agentilor intr-o platforma software diferita de cea pe care au fost creati, schimbul de mesaje intre
agenti aflati pe platforme software diferite si cooperativitate intre aplicatii ce au la baza agentii .
72
Simulatorul de trafic
Proiectare
Simulatorul a fost proiectat ca un sistem multi-agent, folosind o arhitectura ierarhizata, cu
supervizori zonali la nivelul superior si agenti specializati pentru managementul si controlul
intersectiilor la nivelul inferior (nivelul executiv), conectati printr-un sistem de senzori si
actuatoare la mediul real de trafic.
Structura interna a unui agent de intersectie este descrisa in diagrama din Figura 71, pe baza unei
arhitecturi a agentilor inteligenti derivata din lucrarile lui Albus [ref].
Vom introduce urmatoarea formalizare matematica pentru a descrie modelul unei intersectii,
transpus prin interpretarea matematica a modelelor cu retele Petri dezvoltate anterior:
- un set de segmente de drum de intrare in intersectie, care vor fi denumite in continuare
intrari:
I = {i k | k = 1, n}, n = Card ( I )
- un set de segmente de drum de iesire din intersectie, care vor fi denumite in continuare
iesiri:
O = {o j | j = 1, m}, m = Card (O )
unde valoarea 0 indica faptul ca faza de semaforizare phl nu este activa la momentul de timp t,
iar valoarea 1 indica faptul ca faza phl este activa la momentul de timp t. p reprezinta numarul
total de faze de semaforizare pentru intersectia analizata (a se consulta Fig. x si discutia
asociata).
n , m ,l
- o matrice de incidenta M ∈ ℜ , ce reprezinta profilul de conexiuni intrare-iesire
permise in fiecare faza, unde conexiunea ik → oj este reprezentata de elementul mk,j a
matricei corespunzatoare fazei phl:
if direction i k → o j is not allowed
0,
during phase phl
m kl , j =
if direction i k → o j is allowed
w j ,
k
during phase phl
j
si wk este debitul de masini, exprimat in [veh./min.], asociat conexiunii ik → oj
73
- capacitatea totala a cozii de asteptare, ck , ce reprezinta in fapt capacitatea tronsonului de
legatura dintre intersectia careia ii apartine intrarea in discutie si prima intersectie din
amonte;
- un indicator de limitare utilizat pentru semnalarea unei “zone de siguranta” din punct de
safe
vedere al incarcarii cozii, c k (exprimat ca procent din capacitatea totala a cozii de
asteptare);
- un indicator de limitare utilizat pentru semnalarea unei “zone de alarma” ce semnifica un
c kwarning
grad ridicat de incarcare, premergator congestiei, (exprimat tot procentual din
capacitatea totala a cozii de asteptare).
c ksafe
Activarea indicatorului semnalizeaza ca lungimea cozii de asteptare a depasit zona de
warning
siguranta, intrand in zona de alarma, iar activarea indicatorului c k semnalizeaza depasirea
limitei impuse pentru zona de alarma, atunci cand lungimea cozii intra in zona critica
producandu-se congestii. O reprezentare grafica a unui tronson de intrare intr-o intersectie este
data in Figura x. Cei doi indicatori de limitare sunt folositi de agentul de intersectie drept criterii
calitative de evaluare a starii mediului (intersectiei) si ajustare a comportamentului in scopul
evitarii situatiilor congestive.
total capacity
ck
safe warning
ck ck
safe warning critical
Junction zone zone zone
agent
a z0 z1 z2 input link
ik
Fig. 71. Delimitarea intrarii ik in trei zone de incarcare, in functie de dimensiunea cozii de
asteptare
o ∈ O, j = 1, m
Fiecare iesire j este caracterizata prin indicatorul unic aj asociat agentului de
intersectie care coordoneaza prima intersectie din aval, a carei intrare este corespondenta iesirii
oj .
Un aspect care a fost luat in calcul este faptul ca unele faze din semaforizarea unei intersectii se
pot suprapune, iar durata lor nu este neaparat egala. Acest lucru este valabil in special in cazul
intersectiilor unde exista faze diferite de semaforizare pentru directia inainte si viraj stanga. Cei
doi parametri care vor fi initializati de catre utilizator la constructia retelei - timpul de inceput si
durata - pentru fiecare faza, vor fi folositi pentru a construi profilul de activare al tuturor fazelor
pe durata intregului ciclu de semaforizare. Un exemplu de astfel de profil de activare al fazelor
este prezentat in Figura 72.
74
phase 1
1
0.5
0
0 20 40 60 80 100 120
phase 2
1
0.5
0
0 20 40 60 80 100 120
phase 3
1
0.5
0
0 20 40 60 80 100 120
phase 4
1
0.5
0
0 20 40 60 80 100 120
phase 5
1
0.5
0
0 20 40 60 80 100 120
Figura 72. Profilul de activare corespunzator unei intersectii cu 5 faze, si o durata totala a ciclului
de semaforizare de 130 secunde. Faza verde corespunde valorii 1, iar faza rosu corespunde
valorii 0 (culoarea galben a semaforului este considerata inclusa in durata de faza verde)
Folosind profilul de activare al fazelor de semaforizare, agentul de intersectie poate monitoriza
evenimentele primite de la controllere-le de trafic (semnalele start_faza si final_faza) si poate
compara starea reala a mediului cu modelul sau intern.
Valorile atributelor introduse mai sus reprezinta informatii despre starea intersectiei controlate,
iar identificatorii agentilor conectati la iesirile intersectiei controlate faciliteaza interoperarea
agentului de intersectie cu agentii de pe acelasi nivel.
Functionarea unui agent de intersectie este asincrona, bazata pe evenimente. In implementarea
orientata agent, activitatea agentului de intersectie este modelata prin intermediul a doua
comportamente care se desfasoara in paralel. Primul este comportamentul de baza care permite
agentului sa-si desfasoare activitatea de management al intersectiei prin interactiunea cu mediul
de trafic (prin intermediul senzorilor si controller-elor de semafoare). Al doilea comportament
este cel ce ii permite agentului de intersectie comunicarea cu mediul de agenti (de pe acelasi
nivel, sau de pe nivelul superior) prin schimb de mesaje. In urma evenimentelor percepute din
mediu (fizic, sau comunitatea de agenti), agentul de intersectie actualizeaza cunostintele din
modelul lumii, evalueaza, decide si aplica actiuni corespunzatoare scopului sau (evitarea
congestiei).
Evenimentele percepute din mediu de un agent de intersectie aj pot fi:
- evenimente primite de la senzorii locali:
phl
o e start - inceputul fazei phl
phl
o e end - sfarsitul fazei phl care genereaza mesaje de informare catre agentii
intersectiilor conectate la iesirile corespunzatoare directiilor active in faza phl
k
o e 01 - semnalare depasire limita zona sigura pe tronsonul de la intrarea ik
75
k
o e12 - semnalare depasire limita zona de alarma pe tronsonul de la intrarea ik
- evenimente primite de la agenti omologi (de pe acelasi nivel):
k
o ein - mesaj primit de agentul aj de la agentul vecin ak cu informatii despre numarul
de vehicule ce au plecat pe tronsonul de legatura si vor intra in coada de asteptare
a intrarii ik (a intersectiei agentului aj);
e kph
o - mesaj primit de la agentul vecin aj de informare privind modificarea timpilor
de semaforizare
- evenimente primite de la agentul supervizor:
e tsup
_ cycle
o - mesaj primit de la supervizorul local asup privind modificarea timpului
total de semaforizare;
sup
e mod_safety _limits
o - mesaj primit de la supervizorul local asup privind modificarea
indicatorilor de limitare pe tronsonul intrarii ik;
sup
e mod_k
o - mesaj primit de la supervizorul local asup semnaland modificarea
infrastructurii pe tronsonul intrarii ik.
Un algoritm schematic ce descrie actiunile agentului corespunzatoare comportamentului de
management al intersectiei este:
0. creaza lista de evenimente corespunzatoare unui ciclu de semaforizare;
1. sorteaza lista de evenimente in functie de momentul de timp al aparitiei evenimentelor
2. selecteaza primul eveniment din lista
3. pana cand (nu ai ajuns la capatul listei):
e phl t phl
3.1. selecteaza urmatorul eveniment din lista, caruia ii corespunde timpul de inceput
e phl
3.2. calculeaza intervalul de timp de simulare ∆t , de la evenimentul pana la inceputul
e phl +1
urmatorului eveniment din lista
3.3. actualizeaza numarul de vehicule ce vor parasi intersectia prin fiecare dintre iesirile oj:
p n
Noj = Noj + ∑∑ ph (t
l =1 i =1
l phl ) ⋅ wi
j
⋅ ∆t , j = 1, m
3.4. actualizeaza numarul de vehicule ce vor iesi din coada de asteptare a fiecareia dintre
intrarile ik:
p m
N ik = N ik + ∑∑ ph (t
l =1 j =1
l phl ) ⋅ wi
j
⋅ ∆t , k = 1, n
e phl
3.5. daca este un eveniment de sfarsit de faza
76
Noj
3.5.1. trimite ca mesaj de informare catre fiecare dintre agentii invecinati aj
Noj
3.5.2. reseteaza =0
3.5.3. decrementeaza coada de asteptare a fiecarei intrari ik:
q k = q k − N ik
N ik
3.5.4. reseteaza =0
e phl
3.5.5. daca este ultimul eveniment din lista, revino la inceputul listei si reia de la
pasul 2.
Implementare
Implementarea simulatorului de trafic a fost realizata in mediul de programare Java, utilizand
concepte de programare agent in conjunctie cu programarea obiectuala clasica. Sistemul multi-
agent a fost creat folosind librariile JADE care asigura mediul si facilitati specifice pentru crearea
agentilor si a platformei agent. Conceptele de intersectie, intrare, iesire si faza de semaforizare
au fost modelate sub forma unor clase care, impreuna, sunt integrate in modelul lumii agentului
de intersectie. In Figura x este prezentat un fragment din diagrama de clase a simulatorului de
trafic.
Activitatea de management al intersectiei a fost implementat sub forma unui comportament FSM
(Finite State Machine) unde tranzitiile de stare sunt generate de evenimente externe sau interne.
Functia de monitorizare a mediului (comunicare) a fost implementata sub forma unui
comportament ciclic in timpul caruia agentul “asculta” mediul - verifica mesajele din coada de
mesaje si le proceseaza, sau trimite mesaje.
k
Un mesaj ce semnaleaza un eveniment de tip ein genereaza actualizarea (crescatoare a) cozii de
asteptare qk a intrarii ik. Dupa actualizare, agentul verifica daca limitele de siguranta nu au fost
k
depasite. In cazul producerii unui eveniment de tip e 01 agentul ruleaza o procedura locala de
actualizare a duratei fazelor de semaforizare si reseteaza controllerele de intersectie. Pe de alta
k
parte, un eveniment de tip e12 nu poate fi tratat local si in aceasta situatie, agentul de intersectie
solicita interventia supervizorului zonal.
ek
Evenimentul ph genereaza un proces de negociere intre agentul local aj si agentul care a trimis
mesajul, ak. Agentul aj ruleaza o simulare folosind modelul intersectiei proprii din modelul
lumii, pentru a verifica daca noile durate ale fazelor de semaforizare dorite de agentul ak nu vor
k
conduce la generarea unui eveniment e12 de depasire a limitei de alarma pe intrarea ik. Daca
rezultatul simularii certifica faptul ca dimensiunea cozii de asteptare pe tronsonul de la intrarea
warning
ik ramane sub limita de alarma c k , agentul aj accepta propunerea agentului invecinat ak si
negocierea se incheie. Altfel, in cazul aparitiei unei situatii conflictuale in care agentii aj si ak nu
pot ajunge la un acord (mutual agreement), supervizorul zonal va fi solicitat sa rezolve conflictul.
Mesajele primite de la supervizorul zonal sunt tratate prin actualizarea atributelor
corespunzatoare din modelul lumii al agentului de intersectie.
77
78
Reteaua zonala de intersectii este transpusa la nivel sistemic intr-o comunitate de agenti de
intersectie, fiecare agent fiind asociat uneia dintre intersectiile din reteaua de trafic. Valorile initiale
ale atributelor ce caracterizeaza starea intersectiei in modelul lumii agentului asociat sunt obtinute
direct, sau derivate prin calcule simple folosind parametrii de modelare introdusi de utilizator.
Interactiunea cu utilizatorul este facilitata prin intermediul unei interfete grafice care pune la
dispozitie o librarie de modele de intersectii si ghideaza utilizatorul de-a lungul fluxului aplicatiei,
de la achizitia initiala de date, pana la rularea simularii si vizualizarea rezultatelor.
Interconectarea interesectiilor de la nivelul fizic este replicata in mod automat la nivelul sistemului
multi-agent prin interconectarea agentilor asociati intersectiilor, in momentul in care utilizatorul
conecteaza iesirile si intrarile intersectiilor create in spatiul de lucru.
In linii mari, crearea si monitorizarea unei retele zonale a traficului folosind acest soft de simulare
include urmatoarele etape:
ii. parametrii specifici si unic determinati pentru noua instanta de intersectie (de ex.
numarul de faze de semaforizare si temporizarea acestora) sunt introdusi de
utilizator folosind meniul contextual si ferestrele dedicate generate:
79
iii. dupa selectarea numarului de faze, utilizatorul poate intializa matricile de
incidenta reprezentand debitul de vehicule pentru directiile permise, pentru
fiecare faza:
80
v. modelul intersectiei permite si definirea cazurilor particulare de sensuri unice,
specificand ca una sau mai multe iesiri sunt interzise - orice schimbare de acest
fel a structurii intersectiei genereaza automat restrangerea corespunzatoare a
matricilor de incidenta:
3.4. din meniul contextual al iesirilor intersectiei se poate selecta “Conecteaza la o alta
intersectie” (daca iesirea nu este interzisa):
81
3.5. este posibila si redefinirea conexiunilor prin selectarea optiunii “Schimba
conexiunea” din meniul contextual al unei iesiri conectate.
2. rularea simularii:
3.1. simularea poate fi pornita prin apasarea butonului “Start simulare”, iar utilizatorul
poate urmari evolutia schimbului de mesaje dintre agentii de intersectie din reteaua
zonala in panelul “Status curent:”
82
Figura 73: Graficul evolutiei in timp a dimensiunii cozilor de asteptare pentru intersectia cruce
Vasile Milea
3.3. simularea poate fi oprita de la butonul “Stop simulare” (care determina revenirea in
modul editare) si repornita in orice moment.
Din rezultatele preliminare ale modelarii sistemului de trafic urban cu ajutorul software-ului de
simulare pe baza de agenti, se observa relevanta si eficacitatea acestei abordari in cazul problemei
modelarii si simularii sistemelor complexe de largi dimensiuni. Modularizarea implicita obtinuta
prin implementarea multi-agent permite descompunerea functionala si reducerea complexitatii
implementarii, fara a pierde din generalitatea solutiei. Prin functionarea autonoma a fiecari unitati
componente si comunicare se obtine la nivelul intregului sistem un comportamentul emergent
complex ce asigura o concordanta ridicata a modelului simulat cu realitatea.
In cele ce urmeaza se va urmari utilizarea unui volum cat mai mare de date de intrare pentru analiza
comportamentului sistemului de trafic in diferite conditii cu ajutorul software-ului de simulare,
comparand in fiecare caz rezultatul simularii cu situatiile reale inregistate pentru validarea completa
a solutiei. De asemenea, se va urmari imbunatatirea interfetei grafice si implementarea unor
facilitati care sa permita utilizarea cat mai intuitiva a softului de simulare, atat din punctul de vedere
al constructiei retelei de trafic, cat si din perspectiva interpretarii rezultatelor si salvarii/reutilizarii
datelor introduse si rezultate.
Bibliografie capitol
1. Albus, J.S. & Meystel, A.M. (2001) Intelligent Systems: Architecture, Design, Control,
Wiley-Interscience, ISBN-10: 0471193747 ISBN-13: 978-0471193746
2. Bellifemine F., Caire G., Greenwood D - Developing multi-agent systems in JADE, Jon
Wiley&Sons Ltd, Anglia, 2007.
3. Brooks R. – A robust layer control system for a mobile robot , IEEE Journal of robotics and
Automation , 2(1), 14-23, 1986.
4. Russel S., Norvig P – Artificial Intelligence : A Modern Approach. Prentice-Hall, 1995.
5. Wooldridge M. (2000). Intelligent Agents. Multiagent Systems: A Modern Approach to
Distributed Artificial Intelligence The MIT Press ISBN-10: 0262731312 ISBN-13: 978-
0262731317
83
Concluzii generale
Prezentul raport poate fi impartit, din punct de vedere conceptual, in doua sectiuni – evidentiate prin
intermediul celor doua mari capitole: una fomala si una aplicativa.
Sectiunea formala contine o serie de rezultate care finalizeaza aproape complet etapa a II-a a
proiectului – Elaborarea bibliotecii de modele si evaluarea de performante (raman pantru raportul
urmator activitatea AII.5 – care presupune validarea prin simulare a rezultatelor deja prezentate si
activitatile AII.6. si AII.7, care prespun diseminerea mai larga a rezultatelor).
Din punct de vedere stiintific, contributiile originale aduse constau pe de o parte in insasi abordarea
duala de modelare si pe de alta parte in modelele realizate. Valoarea contributiilor a fost verificata
si prin intermediul diseminarii, atat intr-o revista indexata ISI (cu durata de feedback mai ridicata)
cat si, mai ales, prin intermediul unei conferinte de prestigiu, ale caror lucrari se bucura de o larga
audienta. Solutia conferintei a fost aleasa deoarece reactia unui public avizat se poate obtine practic
pe loc. Dupa cum a fost deja mentionat, in urma discutiilor cu participantii la conferinta au fost
generate doua proiecte de diploma in cotutela (finantate prin intermediul unor programe
ERASMUS) cu Laboratoire GIPSA, Grenoble (pentru abordarea de tip retele Petri hibride) si
respectiv cu Laboratoire des Sciences de L’Information et des Systemes, Marseille. Cele doua
proiecte sunt prezentate in format electronic in anexa VI si vor sta la baza unui proiect EGIDE ce
urmeaza sa fie depus la 5 octombrie si a unui proiect de mai larga intindere europeana.
Toate activitatile aferente acestei etape au fost complet finalizate; modul in care pot fi regasite in
cadrul raportului este descris in rezumat. Fisierele cu modelele Matlab-Simulink, care stau la baza
simularilor descrise in raport si respectiv in lucrari, sunt prezentate in format electronic in anexa V.
Sectiunea aplicativa a avut ca obiective o serie de activitati aferente etapei a III-a – Elaborarea
diverselor variante de politici de conducere pentru fluidizarea traficului. Ca si anterior, modul in
care activitatile aferente sunt inglobate in raport este descris in rezumatul acestuia.
Ca rezultat global este prezentat simulatorul din anexa VII (format electronic) – respectiv un mediu
de simulare multi-agent, cu comportament inteligent si nivel de supervizare. Agentii au la baza
modelele formale elaborate in etapa precedenta si se adapteaza la diversele scenarii de trafic prin
intermediul unui modul special de Value Judgement, care selecteaza politica de conducere cea mai
adecvata situatiei. Produsul informatic este in totalitate original si a fost deja prezentat la nivel
conceptual intr-o conferinta internationala de prestigiu, urmand ca o a doua lucrare, in care sunt
deja implementate o serie de comportamente de baza ale agentilor sa fie prezentata la sfarsitul lunii
septembrie (este deja acceptata).
O serie de alte activitati de diseminare au fost facute la reuniuni si conferinte pentru elaborarea de
proiecte europene - CIGI -2009 cu tematica “La genie industrielle” (350 participanti / 14 tari
francofone) desfasurata in perioada (09.06.2009 – 15.06.2009) in localitatea Bagnes in Bigorre,
Franta (lucrarea “Emerging Sciences to support Interoperability-based Complex Adaptive Systems
in Intelligent Manufacturing”; Autori: Aurelian Mihai Stanescu, Ioan Dumitrache, Simona Iuliana
Caramihai, Mihnea Alexandru Moisescu, Ioan Stefan Sacala) si DIGIBIZ -2009 desfasurata in
perioada (17.06.2009 – 19.06.2009) in Londra (Anglia).
In cadrul aceleiasi actiuni de diseminare, reprezentantul ehipei de proiect (prof. Stanescu) a
participat la pregatirea unui proiect FP7 STREP “APOLLO “ cu titlul “Living Lab” Thematic
Network. (nodul din Romania promoveaza primul “Living Lab” “ARCHES” cu aplicatii pe
conducerea traficului urban) si FP7 Support Action “UNITE “UpgradiNg ICT excellence by
strengthening cooperation between research Teams in an enlarged Europe”, aprobata in luna iulie
2009, cu incepere in 01.02.2010 in care UPB este partener.
84
Bibliografie
[1] Albus, J.S. (1997) The NIST Real-time Control System (RCS): An approach to Intelligent
Systems Research. Journal of Experimental and Theoretical Artificial Intelligence 9 pp.
157-174
[2] Albus, J.S. & Meystel, A.M. (2001) Intelligent Systems: Architecture, Design, Control,
Wiley-Interscience, ISBN-10: 0471193747 ISBN-13: 978-0471193746
[3] Bastin G., Guffens V., „Congestion Control in Compartmental Network Systems”;
[4] Bastin G. and Praly L., “Feedback stabilisation with positive control of a class of mass
balance systems”;
[5] Bastin G. and Provost A., “Feedback stabilisation with positive control of dissipative
compartmental systems”;
[6] Bellifemine F., Caire G., Greenwood D - Developing multi-agent systems in JADE, Jon
Wiley&Sons Ltd, Anglia, 2007.
[7] Brooks R. – A robust layer control system for a mobile robot , IEEE Journal of robotics and
Automation , 2(1), 14-23, 1986.
[8] Guffens V., Mounier H. and Bastin G., “ Compartmental analysis of hop-by-hop congestion
control in communication networks”;
[9] Russel S., Norvig P – Artificial Intelligence : A Modern Approach. Prentice-Hall, 1995.
[10] Wooldridge M. (2000). Intelligent Agents. Multiagent Systems: A Modern Approach to
Distributed Artificial Intelligence The MIT Press ISBN-10: 0262731312 ISBN-13: 978-
0262731317
85
Anexe
86