Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ANALISI DI TRAFFICO
VEICOLARE
Ringraziamenti
Il primo grande grazie va senza dubbio al prof. Franco Tomarelli, per avermi
seguito in questo tempo da un lato non abbandonandomi a me stesso ma
dallaltro lasciandomi la libert di cui avevo bisogno. Questa tesi partita
con lui su un lavoro di modellazione di stormi di uccelli. Ecco dove arrivata.
Il secondo grazie va ai miei genitori, per avermi sempre sostenuto in questi
cinque anni di cammino universitario, un cammino che ha saputo veramente
arricchirmi e cambiarmi.
Un ulteriore grazie va a tutte quelle persone professori, ricercatori, dottorandi e compagni di corso che hanno contribuito pi o meno direttamente
alla stesura di questa tesi. Tra questi in particolare voglio ringraziare Carlo
DAngelo per la sua competenza e solerzia, Andrea Manzoni per la pazienza e
soprattutto lamicizia dimostrata, Caterina Bruschi, Franco Fagnola, Marco
Fuhrman, Luca Bertagna, Valeria Vitelli, Gabriele Martinelli, Bernardo Secchi, Paola Vigan, Lorenzo Fabian, Alessia Cal, Piercesare Secchi e Anna
Maria Paganoni. Un grazie particolare a questultima, poich soprattutto
grazie a lei se mi sono laureato nella sessione in cui dovevo laurearmi.
Concludo ringraziando tutte le persone che ho conosciuto allinterno del Politecnico di Milano colleghi di studio e professori e che hanno saputo
lasciare un segno allinterno del mio cammino di crescita personale.
Lultimo grazie va al prof. Sandro Salsa, al prof. Alfio Quarteroni e agli altri
docenti del Dipartimento di Matematica per aver creato il corso di studi in
Ingegneria Matematica, e per essere stati tanto bravi da farlo cos bene.
Fabio
Indice
Introduzione
15
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
22
28
29
29
31
32
32
35
38
39
. 39
.
.
.
.
.
.
.
.
.
42
44
45
46
49
49
53
55
56
Indice
. 64
. 65
. 66
.
.
.
.
.
.
.
.
.
.
.
.
.
67
67
68
71
72
74
75
77
77
79
79
80
84
.
.
.
.
.
.
.
.
.
.
89
90
91
92
93
93
94
95
95
96
97
5 Simulazioni
5.1 Porosit e permeabilit nellIle-de-France . . . . . . . . . . . .
5.2 Il tensore di permeabilit . . . . . . . . . . . . . . . . . . . . .
5.3 Traffico nella spugna . . . . . . . . . . . . . . . . . . . . . . .
99
100
102
103
Conclusioni
111
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A Codice
115
A.1 Lettura della mappa . . . . . . . . . . . . . . . . . . . . . . . 115
A.1.1 Approccio euleriano . . . . . . . . . . . . . . . . . . . . 115
Indice
. 118
. 122
. 122
.
.
.
.
.
.
.
.
.
.
122
122
122
123
123
124
124
126
128
129
10
Indice
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15
2.1
2.2
2.3
2.4
20
25
26
26
27
30
30
32
33
33
34
34
35
36
37
. 41
. 44
. 47
. 48
12
3.4
3.5
3.6
3.7
3.8
3.9
3.10
4.1
4.2
4.3
4.4
4.5
5.1
5.2
5.3
5.4
5.5
50
53
58
59
63
64
69
70
72
75
77
81
85
87
. 91
. 92
. 93
. 94
. 97
. 100
. 101
. 101
. 103
. 104
5.6
5.7
13
14
Introduzione
Il problema del traffico nasce agli inizi del XX secolo a causa della diffusione di
una nuova invenzione che prende piede in quegli anni: lautomobile. Le prime
pubblicazioni di carattere modellistico-matematico in questambito risalgono
alla prima met del secolo [G35] [G59] e danno il via a quella che oggigiorno
diventato un ramo importante della matematica applicata, lanalisi dei
fenomeni legati al traffico veicolare.
Negli ultimi decenni le ricerche svolte in questo ambito hanno condotto ad un
ragguardevole numero di risultati, utilizzando svariati metodi matematici per
lanalisi dei vari problemi legati alle dinamiche del traffico veicolare. Questi
metodi si differenziano essenzialmente in base al tipo di approccio utilizzato;
tra i pi usati troviamo:
metodi classici [G59] [H63], basati su una funzione ingresso/uscita,
detta diagramma fondamentale del traffico, che esplicita la dipendenza
del flusso di veicoli allinterno di un tratto stradale dalla densit di
veicoli ivi presente. I metodi per la creazione di questa funzione si
basano normalmente sullinterpolazione di dati empirici per i vari tratti
di strada;
metodi di tipo differenziale [LW55] [GP06], basati sullanalogia che
possibile stabilire tra il flusso del traffico in un tratto stradale e
quello di un fluido in una tubazione; in questo caso vengono ricavate
equazioni differenziali alle derivate parziali per descrivere la variazione
spaziale e temporale di questo flusso. Metodi di tipo differenziale
possono risultare utili per la creazione di grafici come il diagramma
fondamentale a partire da regole a priori piuttosto che da dati empirici;
metodi particellari [W86] [MP97] [MK99] che seguono ragionamenti
analoghi a quelli della meccanica statistica: si cerca cio unequazione
di evoluzione della probabilit di occupazione delle diverse parti di un
tratto stradale. Passando poi a quantit macroscopiche medie si ottengono informazioni per il tratto stradale, come il tasso di occupazione
15
16
Introduzione
17
18
Capitolo 1
Presentazione del problema
In questo capitolo vengono presentate le motivazioni alla base del lavoro di
tesi: verr inizialmente proposta unanalisi del problema del traffico, in cui
sono evidenziati i quesiti a cui questa tesi vuole rispondere. Si considerer
lesempio concreto [B08] della citt di Parigi e la nascita del concorso Grand
Paris, motivazione principale del lavoro svolto. Verr inoltre presentato il
modello urbanistico alla base degli sviluppi matematici presenti nel capitolo
successivo ed infine si caratterizzer in maniera completa lo scopo del lavoro
proposto, descritto nellintroduzione.
1.1
20
Figura 1.1: Quantit di pm10 registrata a Milano in via Vico nei mesi di Gennaio,
Febbraio, Luglio e Ottobre 2008. Le colonne sono in rosso indicano se la quantit registrata
supera il limite stabilito dalla legge.
Anno
Prezzo
1909
1911
1913
1915
1921
1923
950
690
550
440
355
295
Ford T
vendute
12.292
40.402
182.809
355.276
933.720
1.917.353
21
Macchine
vendute
130.986
210.000
485.000
970.000
1.683.916
4.034.012
Tabella 1.1: Prezzi e quantit di automobili Ford T vendute negli USA nei primi anni
del secolo scorso.
22
Limportanza dello studio delle dinamiche del traffico veicolare ha catturato, fin dagli inizi del secolo scorso, lattenzione di molti studiosi. Gi
nel 1935 Greenshields [G35] propose i primi studi sul traffico veicolare; nel
1950 si trovavano numerose pubblicazioni al riguardo su riviste scientifiche
e di ingegneria. Nel 1959 Greenberg [G59] scriveva: The volume of vehicular traffic in the past several years has rapidly outstripped the capacities of
the nations highways. It has become increasingly necessary to understand
the dynamics of traffic flow and obtain a mathematical description of the
process.
Per questo e per le molte particolarit che in esso si presentano, lo studio delle dinamiche di traffico ha acceso linteresse della comunit scientifica
che, attraverso lutilizzo di diversi modelli, riuscita a spiegare alcune delle
peculiarit pi sorprendenti. Perch, ad esempio, nonostante tutti vogliano
mantenere un andatura veloce, a volte si formano rallentamenti senza alcuna
causa apparente (phantom traffic jams)? Come si relazionano tra loro i
vari tipi di congestionamento del traffico stradale? Quali sono i meccanismi
che creano le tipiche andature a fisarmonica che spesso incontriamo sulle
nostre strade? O ancora, quali limiti di velocit bisogna imporre su determinati tratti stradali, e sotto quali condizioni? Perch molti degli ingorghi
avvengono prima del raggiungimento della capacit portante effettiva della
strada? Lutilizzo di diversi tipi di modello di traffico particellari, macroscopici (differenziali) e statistici sono stati in grado di dare risposta a tutte
queste domande.
Nonostante tutto questo la comunit scientifica non ha ancora trovato un
unico modello in grado di spiegare con sufficiente precisione i dati sperimentali, perci la modellazione matematica delle dinamiche di traffico risulta
tuttora un problema interessante ed in gran parte aperto, in cui si ricorre a
modelli costruiti ad-hoc per il singolo problema che si intende affrontare.
1.2
23
24
25
(a)
(b)
Figura 1.2: La figura (a) rappresenta linsediamento parigino nellera gallica. La figura
(b) mostra levoluzione della cinta muraria della citt di Parigi nel corso dei secoli.
Lovvia causa dellespansione geografica di Parigi la sua crescita demografica2 . In Figura 1.3 mostrato il suo andamento demografico tra il
1150 e il 1999. Dallistogramma possiamo notare come la crescita esplosiva che ha caratterizzato la formazione della metropoli abbia subito un forte
rallentamento a causa delle due guerre mondiali e come, nonostante la fine
delle guerre, essa si sia arrestata nella seconda met del novecento dando
addirittura vita ad una fase di calo della popolazione.
Questo fenomeno dovuto ad un comportamento riscontrato in numerose altre citt negli ultimi decenni: le persone preferiscono risiedere non pi nella
grande metropoli ma in comuni limitrofi, dove risulta possibile godere di condizioni di vita migliori senza dover rinunciare a quelle comodit e quei servizi
2
http://it.wikipedia.org/wiki/Parigi
26
Figura 1.3: Andamento demografico del comune (municipalit) di Parigi dal 1150 al
1999.
Figura 1.4: Evoluzione della regione dellhinterland parigino dal 1850 al 2000.
27
Figura 1.5: Confronto tra landamento demografico della regione metropolitana di Parigi
(in rosa) e quello della sola citt di Parigi (in azzurro) dal 1885 al 1999. In ogni colonna
evidenziata la percentuale della popolazione dellarea metropolitana che vive allinterno
del comune di Parigi.
28
1.3
Allinterno di questa panoramica di problemi si inserisce questa tesi. Sulla base dellanalisi sociologica [P08] di cui abbiamo sintetizzato i risultati,
il governo Francese ha lanciato la sfida Grand Paris [S08][B08][D08]. Il 6
Giugno 2008, in occasione dellinaugurazione della Cit de larchitecture et
du patrimoine 3 , il presidente della repubblica Francese ha radunato dieci tra
i pi importanti nomi nel campo architettonico-urbanistico scelti nel panorama internazionale (i francesi Roland Castro, Djamel Klouche, Yves Lion,
Jean Nouvel, Christian De Portzamparc et Antoine Grumbach, il tedesco
Fin Geipel, il gruppo norvegese MVRDV, litaliano Bernardo Secchi e linglese Richard Rogers) e li ha invitati a condurre uno studio sulla capitale
parigina, analizzando le esigenze a lungo termine della popolazione allinterno di una strategia di sviluppo sostenibile. Nasce cos il progetto Grand
Paris, un progetto volto alla riurbanizzazione da parte dello stato non della
singola citt di Parigi cosa gi di sua competenza viste le vigenti norme
francesi ma dellintera area metropolitana. Il progetto vuole tracciare le
linee di come devessere una metropoli del XXI secolo, ovvero non una citt
chiusa nei suoi confini ma una citt che si interfaccia e si prende carico delle
problematiche dei comuni limitrofi che offrono residenza alla gran parte della
popolazione che vive quotidianamente la citt.
Tra i gruppi che stanno lavorando a questo progetto, lItalia presente grazie al professor Bernardo Secchi, responsabile del gruppo STUDIO 08. In
particolare il gruppo si compone di:
- Bernardo Secchi, Paola Vigan, Alessia Cal, Dao Ming Chang, Teresa Cos, Nicolas Fonty e Alvise Pagnacco gruppo di architettura
STUDIO 08
- Lorenzo Fabian, Emanuel Giannotti e Paola Pellegrini collaboratori
delluniversit di architettura di Venezia (IUAV)
- Frdric Reutenauer, Florence Prybyla e Matthias Lenz impiegati
dellazienda privata per la gestione del traffico PTV France
- Gerhard Hausladen, Josef Bauer, Jacobsen Cornelia, Ccile Bonnet e
Robert Frhler dello studio ingegneristico tedesco HAUSLADEN
- Alan Berger, Case Brown professore associato del Dipartimento di
Studi Urbani dellistituto tecnologico del Massachusetts (MIT)
3
Si veda
http://www.citechaillot.fr/
29
1.4
1.4.1
I tubi
30
Figura 1.6: Possibili infrastrutture stradali atte alla creazione di un tubo. Si noti come
non sia possibile viaggiare allinterno del tubo in una direzione a piacere e come esso sia
diviso dal territorio che lo circonda tramite barriere fisiche artificiali (viadotti o barriere)
o naturali (fossi o rialzi).
Figura 1.7: possibile uscire dal tubo e cambiare direzione di marcia solo in determinati
punti, in corrispondenza di strutture adeguate allo scopo (svincoli).
31
1.4.2
La spugna
Strade che non si interfacciano ad altre strade. Ad esempio sono foglie i viali di
ingresso alle case o le strade che portano ad un parcheggio
32
Figura 1.8: Grafo dei tubi (dx) della regione centrale del Veneto (sx). Si noti come ci
siano pochi nodi, e la distanza tra questi sia dellordine del chilometro.
capillare, ricco di foglie (si veda ad esempio la Figura 1.11). La scala del
grafo ridotta, dellordine della decina di metri.
1.4.3
33
Figura 1.9: Esempi di strade facenti parte di una spugna. I veicoli possono cambiare
direzione o fermarsi ogni volta che lo desiderano.
Figura 1.10: Grafo della spugna della Centuria Patavina. I nodi sono numerosi e la loro
distanza ridotta, dellordine di metri.
34
Figura 1.11: Sulla sinistra rappresentato un piccolo albero di tubi. Al centro, allo
stesso albero sovrapposto lalbero della spugna (in rosso), completato da uno zoom in
cui si mostrano le foglie (rami in nero, foglie in rosso).
altre entit (case, giardini, monumenti, fabbriche, ...) che invece compongono
il materiale della spugna impermeabile, in cui non possibile il movimento.
Resta da chiarire un concetto importante: quando parliamo di porosit per
una spugna intendiamo la sua capacit di accogliere fluido, le cui particelle
hanni dimensioni caratteristiche infinitesime rispetto alla dimensione dei pori.
La definizione sarebbe senza dubbio diversa se avessimo voluto valutare la
porosit della spugna per delle biglie, poich si sarebbero potuti considerare come pori solamente degli spazi vuoti di una determinata dimensione
(maggiore della biglia). Allo stesso modo, parlando di porosit del tessuto
stradale, dobbiamo definire qual la particella elementare per cui viene considerato un determinato spazio poro: una stessa carta stradale avr infatti
differenti porosit per i pedoni, le biciclette, le automobili e i mezzi pesanti,
poich solo alcune delle strade presenti sulla carta sono percorribili (ovvero
sono pori) per ciascuna di queste classi.
35
La porosit dipende solo dalla geometria della mappa e dalla dimensione del
corpo che la deve attraversare e non dal modo di muoversi delle particelle
nella mappa. Come tale non in grado di fornire indicazioni dinamiche,
come la mobilit o la capacit di trasporto di veicoli, fatto vero anche per la
definizione dalla quale siamo partiti. Se pensiamo ad esempio ad una scatola
impermeabile, essa, secondo la definizione, avr un altissima porosit, poich
composta prevalentemente da spazi vuoti, ma avr capacit di trasporto di
fluidi nulla.
In seguito, visto lambito a cui questa tesi si dedica, ci riferiremo al termine
di porosit di una mappa intendendola come porosit di una mappa per
autoveicoli.
Permeabilit
Il concetto di permeabilit un concetto ben noto in urbanistica, e prende il
nome di connettivit. Ad esempio, allinterno del Manual of Street [DFT07],
vengono spiegate alcune attenzioni da mantenere nel caso in cui si voglia
costruire un complesso immobiliare in una zona allinterno di una citt (si
veda ad esempio la Figura 1.13).
36
Anche per il caso stradale la stima della permeabilit dovr essere legata
alla dinamica del movimento dei veicoli allinterno di una parte di mappa;
questa grandezza sar tanto pi grande in una direzione quanto il flusso (veicolare o della particella di cui si sta studiando il moto) in quella direzione
sar grande. Applicando lo stesso modello lineare si andr quindi a creare
una matrice (di dimensione due essendo la mappa bidimensionale) i cui autovettori rappresentano le direzioni principali di permeabilit. Al fine di rappresentare graficamente la permeabilit si deciso di utilizzare degli ellissi
in cui lasse maggiore e minore corrispondono alle due direzioni principali di
permeabilit con lunghezze proporzionali alla grandezza del flusso (espressa
dagli autovalori associati), come quelli di Figura 1.14.
37
Figura 1.15: Esempio di diverse mappe stradali con differenti valori di porosit e permeabilit. I pattern stradali mostrati sono rispettivamente la zona 9 e la zona 13 evidenziate
in Figura 5.1.
38
1.5
1.5. Proposal
Proposal
Capitolo 2
Modelli di traffico
monodimensionali
In questo capitolo viene presentato il vocabolario che ormai da parecchi
decenni si consolidato attorno alle problematiche legate alla gestione del
traffico veicolare su strada, introducendo sia da un punto di vista teorico
che applicativo alcuni strumenti classici impiegati per studi di questo tipo.
Vengono inoltre discussi i principali approcci proposti in letteratura per la
modellizzazione di problemi di traffico su una sola strada: modelli agli automi cellulari, metodi di carattere statistico e modelli di natura differenziale.
Di tutti questi metodi verranno illustrati sia gli aspetti analitici che quelli
numerici, sottolineando le potenzialit e le criticit dei differenti approcci.
Oltre che alla caratterizzazione dei modelli monodimensionali, questi strumenti risulteranno utili anche per lo studio di modelli bidimensionali per le
reti stradali, descritti nel capitolo successivo.
2.1
40
valida per un generico corpo in movimento, al caso di problemi che coinvolgono pi corpi, costituiti nel caso in esame dai veicoli presenti su un tratto
stradale. Supposto che i veicoli allinterno di una strada siano equispaziati
(densit di veicoli costante sullarco), introducendo le seguenti grandezze
: densit di flusso = numero di veicoli che transitano nella sezione
per unIT di tempo
rho : concentrazione = veicoli per unit di distanza
vi : velocit delli-esimo veicolo
m : velocit media dei veicoli
t : tempo
S : spazio
ed esprimendo la legge oraria per un generico insieme di N veicoli, si ottiene:
!
N
X
N
1
N
=
=
= m.
vi
t
N i=1
S
Questequazione lineare diviene in realt pi complicata se si considera che
il flusso di veicoli e la velocit media non sono costanti, ma dipendono dalla
concentrazione di veicoli stessa. Si ha dunque, in definitiva:
() = m().
Occorre a questo punto caratterizzare lespressione del flusso () e della velocit media m() sulla base dellevidenza empirica. Delle tre grandezze appena introdotte, la concentrazione presenta un limite superiore facilmente
determinabile, che verr indicato con e, che rappresenta una situazione di
ingorgo lungo il tratto stradale; in un modello monodimensionale, questo
valore risulta equivalente, da un punto di vista intuitivo, al rapporto tra la
lunghezza della strada e la lunghezza media dei veicoli (o un suo piccolo multiplo). In base allesperienza diretta, occorre sottolineare come anche le altre
due grandezze presentino necessariamente un limite superiore; tuttavia non
risulta utile assegnare questi limiti a priori, ma preferibile ricavarli a posteriori. Assumiamo a questo scopo che la distribuzione delle velocit dei veicoli
sia una variabile aleatoria con supporto [0, vmax ()]: la media di questa distribuzione sar anchessa funzione della concentrazione e risulter crescente
al diminuire di (intuitivamente, una diminuzione del numero di veicoli sulle
strade generalmente accompagnata da un aumento della velocit media di
41
Da tale grafico possibile identificare i differenti comportamenti del traffico, corrispondenti a diverse pendenze della curva = (). La regione
verde detta di traffico a strada libera e risulta caratterizzata da automobili
che procedono tutte alla massima velocit possibile. La regione gialla corrisponde alla cosiddetta fase di traffico oscillante, in cui i veicoli sono costretti
a rallentare a causa della presenza di altri veicoli. Nella regione colorata in
blu si assiste alla formazione di locali rallentamenti (traffico a fisarmonica o
phantom traffic jam) che divengono sempre pi importanti, il cui fronte si
muove con velocit di segno opposto a quella del moto dei veicoli. Infine nella
regione rossa il traffico risulta congestionato e contraddistinto dalla presenza
di veicoli per la maggior parte fermi o che procedono occupando gli spazi
liberi, i quali si propagano lentamente nel verso opposto a quello del moto.
Dal diagramma fondamentale inoltre possibile estrarre due importanti grandezze per lo studio del fenomeno: si tratta del valore massimo max della funzione = (), detto capacit della strada, e della pendenza della curva nel
primo tratto (in prima approssimazione lineare) denominata velocit media
a strada libera, il cui valore solitamente correlato con il limite di velocit
presente sulla strada.
Dalla conoscenza del diagramma fondamentale possibile ricavare la maggior parte delle propriet di un tratto stradale, caratterizzando sia il traffico
42
presente su di esso che i modi con cui si interfaccia con altre strade. Tuttavia,
limportanza di questo strumento risulta confinata al solo campo teorico, dal
momento che non possibile applicare un particolare diagramma a ogni caso
di studio. Da un punto di vista pratico, un diagramma di questo tipo risulta
influenzato da numerosi fattori esogeni, spesso difficilmente modellizzabili,
come ad esempio le condizioni metereologiche che influenzano la visibilit
(presenza di nebbia o foschia lungo la strada) o limiti di velocit imposti
lungo il tratto stradale.
Il diagramma fondamentale risulta comunque decisamente utile nel condurre una prima analisi di un problema di traffico poich permette di spiegare
il funzionamento a regime di un tratto stradale.
2.1.1
Mostriamo ora uno dei metodi classicamente impiegati per la costruzione del
diagramma fondamentale, basato su un modello particellare che prende in
considerazione due veicoli che procedono nella stessa direzione senza altri
veicoli tra loro, per i quali non sia ammessa alcuna possibilit di sorpasso; le
soluzioni trovate con questo modello risultano adatte a casi in cui la concentrazione assuma valori prossimi a e o ci si trovi in corrispondenza di tratti
stradali in cui tipicamente vietato il sorpasso, come nei tunnel o sui ponti.
Questo metodo, che prende il nome di car following, basato su una congettura psicologica [H63] supportata da verifiche empiriche; a partire dallassunzione per cui ogni veicolo segue quello antistante in maniera puramente deterministica, possibile tradurre il suo comportamento con unopportuna legge
differenziale. Nel seguito verranno presentati alcuni tra i pi significativi
modelli proposti.
Una delle regole basilari contenute nel Codice della Strada riguarda il
mantenimento di unopportuna distanza di sicurezza dal veicolo immediatamente precedente, che risulta proporzionale alla propria velocit di crociera.
Al fine di mantenere questa distanza costante quindi necessario regolare
la velocit del veicolo in funzione della velocit del veicolo precedente. Detta xn la posizione del veicolo n e x0 n la sua velocit, al fine di mantenere
costante la distanza tra i due veicoli consecutivi n ed n 1, sar necessario
che le velocit dei due veicoli siano uguali. Tuttavia questo nella realt non
si verifica mai, le due velocit sono sempre lievemente diverse. Supponiamo
allora che la correzione (accelerazione) sia proporzionale alla differenza tra
43
d2 xn
= C(x0n1 x0n )
dt2
(2.1)
m(e
) = 0
possibile ricavare due ulteriori modelli a partire da opportune variazioni della relazione appena introdotta. Come gi osservato in precedenza,
nellEquazione (2.1) la costante C ha ruolo di coefficiente di decelerazione o
accelerazione a seconda della differenza di velocit rispetto al veicolo antistante.
Una prima variazione del modello consiste nel considerare questa quantit
dipendente dalla distanza che separa un veicolo da quello che lo precede, dal
momento che la risposta di un conducente a eventuali accelerazioni o frenate
del veicolo antistante dipende anche da questo fattore. Si pu quindi pensare
che il coefficiente C sia inversamente proporzionale alla distanza (xn1 xn );
introducendo un nuovo coefficiente C 0 , dato dal rapporto C 0 = xn1Cxn , si
ottiene il modello seguente:
x00n
=C
(x0n1
x0n )
x0n1 x0n
=C
;
xn1 xn
(2.2)
44
x0n
C
xn1 xn xn1 xn
x00n = Cx0n
x0n1 x0n
(xn1 xn )2
(2.3)
Risolvendo le equazioni (2.2) e (2.3) in modo analogo a quanto fatto in precedenza si ricavano i corrispondenti diagrammi fondamentali, dati rispettivamente per il modello (2.2) da
= C log e/
e per il modello (2.3) (sfruttando anche il fatto che m(0) = 0) da
= m0 eC .
2.2
Una prima classe di modelli per lanalisi di problemi di traffico basata sullimpiego di metodi agli automi cellulari; la grande diffusione di questi metodi
in numerose applicazioni consiste nella loro capacit di utilizzare leggi semplici a livelli microscopici con lo scopo di ricostruire dinamiche macroscopiche
complesse. Metodi agli automi cellulari risultano particolarmente adatti alla modellizzazione di problemi di traffico per la loro capacit di sintetizzare
45
2.2.1
Introduzione
46
In generale vi sono due approcci per modellizzare il flusso di particelle allinterno di un campo spaziale: si pu fissare lattenzione sulle singole particelle, ottenendo il cosiddetto approccio lagrangiano, oppure sulla regione di
spazio di interesse e utilizzare leggi mediate sulle particelle che lo attraversano, ottenendo il cosiddetto approccio euleriano. Nel caso dei problemi di
traffico trattati con automi cellulari, questi due approcci si traducono rispettivamente nellutilizzo di un singolo veicolo come cella dautoma (approccio
lagrangiano), oppure analizzando come variano le caratteristiche di andatura
(che diventano lo spazio di stato Q della cella) di un singolo tratto di strada,
ovvero di un lato del grafo dei tubi, studiando il numero di veicoli presenti
su di esso istante per istante (approccio euleriano).
2.2.2
47
Q = {0, 1}
ct+1
= cti1 .
i
(2.4)
Figura 2.3: Simulazioni del modello di Wolfram. Si noti come ogni situazione iniziale
sia, per questo modello, una configurazione di macchine, per questo modello, si mantenga
invariata nel tempo.
Questo modello, descritto ora nella sua versione basilare, pu essere modificato e ulteriormente arricchito con lo scopo di risultare pi aderente alla
realt. A questo livello di semplicit, infatti, esso non riesce a cogliere alcuna
delle questioni interessanti di dinamica del traffico, dal momento che tutte
le automobili percorrono la strada alla medesima velocit. Una prima modifica che possibile operare conduce al cosiddetto modello di Wolfram con
blocking: la legge di transizione viene cambiata in modo da farla dipendere
non solo dallo stato della cella precedente ma anche dagli stati della cella
corrente e di quella successiva. Alla base di questa regola vige lidea per cui
un veicolo occupa la cella successiva solo nel caso in cui questa sia libera.
Li-esima cella riulter quindi occupata al tempo t + 1 se libera al tempo t e la cella precedente occupata, oppure se occupata al tempo t e la
cella successiva occupata (dunque il veicolo che conteneva non ha potuto
spostarsi). In formule:
= cti1 (1 cti ) + cti+1 cti .
ct+1
i
Linserimento di questa modifica comporta tuttavia un pesante allontanamento dal modello originario: se il modello di Wolfram prevede lavanzamento anche di fronti donda compatti (nel caso in cui tutte le celle fossero state
48
Figura 2.4: Phantom traffic jam simulata con il modello di Wolfram con blocking. Nonostante tutte le vetture vorrebbero muoversi, si creano delle code che si spostano nello
spazio con velocit opposta rispetto al moto libero. Essendo per la densit inferiore a
max = 0.5, si arriva in uno stato di equilibrio per le velocit dei veicoli con tutte le
automobili che viaggiano a distanza una cella luna dallaltra.
Per migliorare ulteriormente il modello Wolfram 184 occorre tuttavia abbandonare un approccio puramente euleriano: invece che concentrarsi solo
sullo stato di una singola cella (libera/occupata) occorre distinguere i differenti veicoli allinterno del modello in base alle loro propriet, arricchendo lo
spazio degli stati (ad esempio con la velocit del veicolo che sta percorrendo
la cella o definendo modalit di accelerazione e frenata). Ci spiega perch
in letteratura i modelli pi usati di dinamica monodimensionale non seguono
lapproccio euleriano ma piuttosto il lagrangiano, presentato nel seguito; abbiamo per descritto questa classe di modelli perch costituiscono la base per
la costruzione di modelli di traffico bidimensionali.
2.2.3
49
A differenza dei modelli precedenti, in cui si focalizza linteresse su interi tratti stradali, nel caso dei modelli basati su un approccio lagrangiano lanalisi
si concentra sui singoli veicoli che percorrono una strada. Ci implica alcune
sostanziali modifiche alla struttura del corrispondente automa cellulare: lo
spazio cellulare diventa linsieme dei veicoli, lo stato di ogni cella risulta
caratterizzato dalle propriet di ciascun veicolo (come la posizione lungo la
strada, la velocit, laccelerazione, ...) e lintorno della cella non pu pi essere identificato in maniera puramente geometrica come nel caso euleriano,
in cui univocamente determinato nota la lunghezza della cella ma viene
caratterizzato dagli autoveicoli che precedono o seguono una singola cella.
Lapproccio lagrangiano senza dubbio quello pi sviluppato in letteratura
[H01],[DML06], soprattutto perch permette di costruire modelli pi aderenti alla realt e ricavare alcuni dei risultati presentati nel Capitolo 2.1,
traducendo direttamente le comuni regole della guida di un veicolo.
Il modello di Nagel
Il pi importante modello di traffico basato su un approccio lagrangiano
quello proposto da Nagel in [N96]. In base a questo modello, un tratto di
strada viene suddiviso in L parti di uguale lunghezza l, allinterno delle quali
si pu trovare al pi un veicolo; sottolineiamo che lo spazio cellulare non
si identifica con il vettore composto dalle L celle appena definito, ma esso
servir a definire la posizione dei veicoli, una delle variabili di stato delle celle
dautoma.
Lo spazio cellulare sar invece definito dagli N veicoli presenti lungo la strada; il loro numero viene stabilito a priori e risulta costante fissando una
condizione al contorno di tipo ciclico, ovvero per cui i veicoli che raggiungono la fine del vettore rientrano dallinizio.
Il valore di tale densit risulta pari a = N/L; ogni veicolo pu spostarsi con
una velocit variabile compresa nellintervallo [0, vmax ]. A ciascun valore di
velocit corrisponde un determinato numero di celle che il veicolo percorre a
ogni iterazione: la velocit di un singolo veicolo (distribuita a priori in modo
continuo) viene dunque convertita in un valore discreto (da 0 celle/iterazione
a bvmax /lc celle/iterazione) e assume perci come richiedono le ipotesi del
modello un numero finito di valori. Le variabili di ogni cella dautoma i
saranno quindi date da:
xi : posizione del veicolo i,
vi : velocit del veicolo i,
50
Figura 2.5: Simulazioni del modello di Nagel. I valori delle costanti di tempo sono
spiegati nella sezione 2.2.3. Sopra ogni autoveicolo indicata la velocit dellautoveicolo
in quellistante.
51
52
53
2.3
Metodi statistici
54
si ottiene in questo modo una catena di Markov a tempo discreto, dalla quale,
passando al limite per t 0, si ricava la seguente equazione differenziale
per il nucleo di transizione della catena:
X
X
dP (n, t)
W (n|n0 , t)P (n, t),
W (n|n0 , t)P (n0 , t)
=
dt
n0 6=n
n0 6=n
dove la funzione W (n|n0 , t) detta tasso di transizione e risulta definita come
P (n, t + t|n0 , t)
(con n 6= n0 ).
t0
t
Essendo unequazione di tipo lineare, in maniera del tutto analoga allo studio delle propriet dellequazione di Boltzmann, possibile caratterizzare gli
stati stazionari mediante lapplicazione di uno dei numerosi metodi analitici
sviluppati a questo scopo. A partire da queste configurazioni di equilibrio,
risulta inoltre utile calcolare alcune quantit medie significative, come:
W (n|n0 , t) = lim
55
n0
2.4
Metodi differenziali
56
2.4.1
Il modello Lighthill-Whitham
v() = vmax 1
.
(2.6)
max
57
+ vmax 1
= 0.
t
max x
La principale potenzialit di questo modello il fatto che, oltre ad essere
facilmente implementabile con metodi alle differenze finite [Q08], possibile studiare il problema da un punto di vista analitico in maniera molto
dettagliata, sfruttando il cosiddetto metodo delle caratteristiche [S04]. Le
caratteristiche sono le linee (nel piano spazio-tempo) lungo cui il valore della densit resta costante, ovvero il fronte donda con cui un determinato
valore di densit, definito dalle condizioni iniziali del problema, si propaga.
Sviluppando la derivata parziale di q() dellequazione (2.5) si ottiene:
q()
q()
=
x
x
+ q 0 ()
=0
t
x
Se si correda questa equazione differenziale con la condizione iniziale:
(x, 0) = g(x)
e si indica g(x0 ) con g0 , si ricava che le caratteristiche sono rette con pendenza
q 0 (g0 ). Naturalmente valori diversi di x0 danno, in generale, valori diversi
di g0 . Noto questultimo valore, la densit lungo la caratteristica uscente
da x0 risulta conosciuta. Per calcolare (x, t), con t > 0, si considera la
caratteristica che passa per il punto (x, t) e si procede indietro nel tempo
lungo essa, fino a determinare il punto (x0 , 0) nel quale questa interseca
lasse x. Si ha allora (x, t) = g(x0 ), da cui si ricava la formula:
(x, t) = g(x q 0 (g0 )t)
che rappresenta unonda progressiva che si muove con velocit q 0 (g0 ) nella
direzione positiva dellasse x. In generale, la formula precedente determina
in forma implicita:
= g(x q 0 ()t)
In particolare, si pu notare come q 0 (g0 ) sia la velocit locale dellonda.
Occorre sottolineare che anche in presenza di un dato iniziale g regolare la
soluzione pu dare origine a singolarit che rendono inefficace il metodo delle
caratteristiche e inutilizzabile la formula precedente.
58
Nel caso in cui ad esempio si formi una coda a un semaforo che supponiamo
essere nel punto x = 0, e al tempo t = 0 questo diventi verde, il dato iniziale
discontinuo, e sar quindi una funzione g cos definita:
(
max se x < 0
g(x, 0) =
0
se x 0
Appena il traffico inizia a muoversi solo i veicoli pi vicini al semaforo lo
superano, mentre la maggior parte di essi rimane ferma. Si noti che la velocit
locale dellonda progressiva in g0 = g(x0 ) data da q 0 (max ), ma in generale
dipende dalla differenza di densit che la soluzione iniziale ha nel punto di
discontinuit.
59
(downstream), q quello prima della linea durto (upstream), + e le densit nelle due diverse regioni, per la conservazione del numero di automobili
avremo che:
q+ q = (+ )s
s(+ , ) =
q+ q
+
Ci si
+ q 0 ()
=0
t
x
Indicando con C() la velocit con cui si propaga linformazione (ovvero con
cui le macchine da ferme iniziano a partire) a seconda della densit, ovvero:
C() =
dq()
d(v())
v()
=
= v() +
d
d
d
si ha la seguente equazione:
+ C()
t
x
(2.7)
60
Il risultato cos ottenuto noto come modello di Lighthill-Whitham (presentato nel 1955 nel loro lavoro [LW55]), uno dei modelli differenziali pi usati in
letteratura [H01] [D08] per la trattazione macroscopica di problemi di traffico
monodimensionali.
Capitolo 3
Modelli di traffico
bidimensionali
Nonostante la ricerca focalizzata sui problemi legati alla gestione del traffico
abbia portato in questi ultimi decenni numerosi risultati, le analisi sviluppate
in questambito sono per lo pi incentrate su modelli di tipo monodimensionale per strade a una o pi corsie utili ai nostri scopi esclusivamente
alla caratterizzazione dei tubi e non della parte di spugna. Per dare una
risposta alle questioni presentate nel Capitolo 1, risulta quindi essenziale stabilire come caratterizzare questultima componente; in particolare, verranno
presentati e sviluppati tre differenti modelli ad-hoc:
un primo modello basato su algoritmi cellulari con approccio euleriano,
che verr utilizzato per uneffettiva valutazione dellandamento del traffico sulle strade. In particolare, ne verranno valutate le buone propriet
e la robustezza, in modo da poter essere impiegato per la validazione
dei modelli successivi;
un secondo modello, di natura differenziale, che permetter una caratterizzazione matematica del modello urbanistico a tubi e spugne. A tale
scopo, verr introdotto per la spugna un modello di diffusione (di tipo
Darcy), analogo a quelli usati in fluidodinamica per la descrizione di
fenomeni di percolazione. Verranno successivamente caratterizzate in
maniera rigorosa la porosit e la permeabilit;
un terzo e ultimo modello, basato anchesso su automi cellulari, che
sfrutter invece un approccio di tipo lagrangiano. Esso sar utilizzato per la stima di parametri e grandezze che figurano nel modello
differenziale.
61
62
3.1
Come emerge dallanalisi svolta nel capitolo precedente, gli algoritmi agli automi cellulari proposti sono facilmente estendibili a configurazioni pi complesse, come il caso in cui vi sia una strada a doppia corsia; questa estensione
risulta possibile dal momento che sono ben definite le regole per il sorpasso,
ovvero:
si passa da una allaltra corsia quando si giunge in prossimit dellautomobile da sorpassare;
passando nella corsia di sorpasso si aumenta la propria velocit e si
prosegue su questa corsia con un moto analogo al precedente;
alla fine del sorpasso si conclude la manovra rientrando nella corsia di
marcia appena possibile.
Se lestensione al caso di pi corsie risulta immediata ed stata estesamente
studiata [RN+95] [HS99], quella al caso bidimensionale richiede maggiori
sforzi, in quanto le regole di comportamento di un veicolo ad un incrocio non
sono ben definite, sia per quanto riguarda lingresso a seconda della presenza
di semafori, rotatorie o precedenze che luscita, in funzione della direzione
e del modo di guidare del conducente. Volendo creare modelli bidimensionali
unendo pi modelli monodimensionali, occorre specificare queste regole in
modo da stabilire come fare interfacciare i vari modelli tra loro.
3.1.1
63
Figura 3.1: Proposta di regola per trattare le intersezioni tra due diverse strade.
ma occorre fornire una regola di aggiornamento per queste quattro celle che
permetta il moto in tutte le direzioni. In particolare vi sar una variabile
di stato (deterministica o aleatoria) che indicher se allistante successivo la
cella occupata la successiva dellincrocio in senso antiorario o una delle celle
delle strade adiacenti (in questo caso lautomobile esce dalla rotatoria). Lo
schema di questo algoritmo risulta il seguente:
per gli archi di strada si applica la regola Wolfram 184 con blocking;
gli incroci verranno modellati come strade di lunghezza 4 che seguono
la regola Wolfram 184 sfruttando lulteriore variabile che indica luscita
dallincrocio;
per lingresso e luscita dagli incroci viene applicata sempre la stessa
regola e si opera un controllo delle celle allinterno dellincrocio e della
strada di destinazione.
In Figura 3.2 mostrata una simulazione dellandamento del traffico basata
su questo algoritmo; si possono notare, al variare della densit di traffico,
alcune peculiarit catturate dal modello, come la formazione di code agli incroci. A fronte della sua semplicit, questo approccio presenta tuttavia alcuni
importanti limiti: ad esempio, gli oneri computazionali risultano esplodere
al crescere della mappa, a causa del grande numero di variabili che bisogna
introdurre anche nel caso di poche strade molto lunghe . Unaltra criticit,
tipica degli approcci alla Wolfram, consiste nel fatto che non vengono differenziate le andature dei vari veicoli, i quali risultano dunque costretti a
procedere alla velocit massima o a stare fermi. Infine il modello non tiene
conto della morfologia del territorio e non permette di trattare in maniera
differente le strade interne ai centri abitati o le grandi arterie a scorrimento
veloce. Sulla base di queste considerazioni e dei limiti presentati dal modello
64
3.1.2
Un approccio alternativo
Per superare i limiti dellapproccio alla Wolfram 184 sottolineati nella sezione
precedente, in vista della simulazione di un caso complesso come quello della
realt parigina, si dunque resa necessaria la creazione di un nuovo modello
in grado di cogliere le caratteristiche migliori degli approcci proposti e al
tempo stesso di mantenere contenuto lo sforzo computazionale. Di seguito
vengono presentati gli elementi necessari per lo sviluppo di questo modello.
Visione su scala macroscopica
Per diminuire lonere computazionale, si deciso di adottare una visione
macroscopica: invece di analizzare i vari fenomeni da un punto di vista locale (celle di ampiezza confrontabile con la lunghezza di un singolo veicolo)
si preferito seguire un approccio alternativo, basato su unoperazione di
media del numero di macchine presenti lungo un arco stradale. Ci permette
di diminuire notevolmente lo spazio cellulare dal momento che risulta possibile rappresentare una strada, di lunghezza qualsiasi, mediante due sole celle
dautoma (una per ogni verso di percorrenza). In base a questa scelta si passa
da un modello microscopico in grado di cogliere e analizzare anche il moto
di pochissime particelle a un modello di tipo macroscopico significativo
65
solo per flussi pi elevati basato sui moti medi di molte particelle.
Procedendo in questa direzione occorre costruire un modello dinamico a tempo discreto per levoluzione del numero di veicoli in ogni tratto stradale: si
definisce la matrice di transizione P(t) (il cui generico elemento Pij (t) rappresenta la probabilit di passare dalla strada i alla strada j tra listante t
e listante t + 1) e, indicando con xt lo stato della catena allistante t (xti
indica il numero di veicoli presenti sulla strada i allistante t), la dinamica
di traffico rappresentata dal seguente sistema dinamico discreto vettoriale
lineare affine a coefficienti non costanti:
t+1
P11 (t) P12 (t) . . . P1n (t)
x1
xt1
t+1
x2 P21 (t) P22 (t) . . . P2n (t) xt2
= P(t)xt .
xt+1 =
.
..
..
..
... =
.
.
.
..
.
.
.
t+1
t
xn
xn
Pn1 (t) Pn2 (t) . . . Pnn (t)
Per studiare il comportamento di questo modello occorre specificare lespressione degli elementi della matrice P(t) e quella del termine sorgente, che terr
conto dei veicoli in ingresso e in uscita dalla sede stradale.
Approccio euleriano agli automi cellulari
Occorre ora specificare lespressione delle probabilit Pij (t) della matrice di
transizione, seguendo un approccio basato sugli automi cellulari. Bench
la visione macroscopica permetta di ridurre sensibilmente la dimensione del
problema, mediante lassociazione di una cella a ogni singola strada, lo studio del traffico allinterno della spugna tipicamente caratterizzata da molti
tratti stradali conduce a modelli di dimensione ancora molto elevata.
Il calcolo delle probabilit di transizione per il modello pu essere condotto sfruttando numerosi approcci [GP06], basati tipicamente su procedure di
ottimizzazione; la scelta di ricorrere agli automi cellulari permette di semplificare lespressione della matrice di transizione e di conseguenza laggiornamento dello stato del sistema a ogni passo temporale.
Limpiego di un approccio basato su automi cellulari giustificato infatti
da alcune considerazioni empiriche: ad esempio, la scelta di passare da una
strada allaltra dipende quasi esclusivamente da regole locali, come lo stato
delle celle adiacenti (la strada in cui si desidera svoltare potrebbe risultare
intasata oppure libera), e non da regole che coinvolgono tratti pi lontani.
Si noti per che il modello, procedendo in questa maniera, passa da lineare a
non lineare, poich si introduce una dipendenza della matrice di transizione
P dallo stato del sistema x.
Per quanto riguarda gli elementi extradiagonali della matrice P(xt , t), risultano non nulli solo gli elementi Pij (xt , t) tali per cui la strada i e la strada j
66
condividono un incrocio; cos facendo lespressione della probabilit di transizione dipende esclusivamente dallo stato di ciascuno degli archi stradali
che confluiscono nello stesso incrocio. Indicando con Ni linsieme dei tratti
stradali che incrociano il tratto stradale i alla sua estremit finale, risulta:
(
f (t, xtj ) se j Ni
Pij (xt , t) =
0
altrimenti
Lespressione di f (t, xtj ) tiene conto del fatto che un conducente, giunto a un
incrocio, privilegi strade in cui il traffico risulta scorrevole. Indicando con j
la densit di traffico sulla strada j, definita come:
j (t) =
xtj
Lj /Lc
1
Tiabs (t)
mi (t)
Li
67
se i = j
Tiabs (t)
1j
Pij (txt , ) =
se j Ni
1 T abs1 (t) P (1
j)
jNi
0
altrimenti
Da questa relazione rimangono ancora escluse le celle corrispondenti ai tratti
stradali che intersecano il contorno della mappa con verso di percorrenza
uscente da essa; in questo caso risulta Ni = e occorre decidere come trattare
i veicoli uscenti dalla mappa. Torneremo su questo punto in seguito.
Caratterizzazione della natura morfologica di diversi tipi di strade
Restano ancora da caratterizzare le espressioni di vimin e vimax ; esse devono
necessariamente dipendere dalla lunghezza della strada se una strada ha
meno incroci la velocit massima raggiungibile risulta pi elevata e dalla
densit di edifici che vi si affacciano, essendo necessario moderare la velocit
in un centro abitato. In particolare, per le nostre applicazioni, considerando
la velocit minima indipendente da questi due fattori, si posto:
vimin = 3 km/h
vimax =
v0max
(1 exp(Li /Lv0max ));
1 + Hi /Hv0max
dove v0max una velocit massima di riferimento per tutte le strade del modello (nella spugna possiamo assumere la velocit massima a strada libera
pari a 70 km/h), Hi la densit di edifici che si affacciano sull i-esimo arco
stradale e Hv0max e Lv0max rappresentano la densit di edifici e la lunghezza
dellarco stradale di riferimento in cui viene raggiunta la velocit v0max . In
generale espressioni per vimin e vimax vanno scelte in base al caso specifico.
Ingressi nel sistema e condizioni al contorno
Le ultime due questioni rimaste in sospeso per la buona definizione del problema sono gli ingressi e le uscite del sistema e le condizioni al bordo. Per quanto
68
T abs (t)
i
Pij (xt , t) = (1 T abs1 (t) ) se j larco opposto a i
i
0
altrimenti.
Lultimo problema da affrontare riguarda le modalit di ingresso e uscita dalla
sede stradale in esame; disponendo anche delle informazioni riguardanti la
densit di edifici intorno alle strade, per rappresentare lingresso e luscita
delle persone dagli edifici e il conseguente ingresso di veicoli nella sede
stradale imponiamo un ingresso di natura periodica in ogni tratto di strada
che risulti proporzionale alla densit di abitazioni.
In conclusione il modello sar del tipo:
t+1
P11 (xt , t) . . . P1n (xt , t)
H1
x1
xt1
t
t
t+1
t
P
(x
,
t)
.
.
.
P
(x
,
t)
2n
x2 21
x 2 H2
u(t) =
xt+1 =
=
+
.
.
.
...
..
..
..
. . .
...
xtn
Hn
xt+1
Pn1 (xt , t) . . . Pnn (xt , t)
n
= P(xt , t)xt + Hu(t)
dove Hi rappresenta la densit di edifici lungo la strada i-esima e u(t) la
forzante periodica: valori positivi di questa funzione rappresentano veicoli in
ingresso nella mappa, valori negativi la loro uscita. Il modello cos come
stato descritto finora stato implementato in Matlab e il codice presentato
in A.3.1. Per semplicit si assunta una funzione forzante di tipo scalare;
tuttavia, sarebbe pi rigoroso considerare una funzione u : M R definita
su tutta la mappa M che tenga conto di alcuni importanti elementi, come
i flussi pendolari, la distanza dal centro-citt e la natura degli edifici che si
affacciano sulle strade.
Il modello nel caso di Manhattan
Presentiamo ora alcune simulazioni del modello agli automi cellulari discusso
in questa sezione eseguite su un pattern stradale simile a quello di Manhattan, caratterizzato da strade equispaziate con intersezioni ortogonali. Queste
simulazioni, oltre a consentire una validazione del modello, contribuiscono a
evidenziare alcuni comportamenti notevoli.
69
Figura 3.3: Iterazioni del modello presentato nella Sezione 3.1.2 (xt+1 = P(t)xt ) con
traffico intenso in una zona della mappa. Si noti come il processo di smaltimento del
traffico segua un andamento tipicamente diffusivo. La scala dei colori va dal blu al rosso
e indica il traffico, rispettivamente fluido o intenso, presente sullarco stradale.
70
Figura 3.4: Iterazioni del modello presentato nella sezione 3.1.2 (xt+1 = P(t)xt +
Hu(t))con stato iniziale di strade praticamente libere e immissione/assorbimento stradale
dalle abitazioni. La scala dei colori va dal blu al rosso, e indica il traffico, rispettivamente
fluido o intenso, presente sullarco stradale.
71
3.2
Alla base del modello che presenteremo in questa sezione si pone la volont
di adattarsi completamente alla visione proposta nel Capitolo 1 e di creare
un modello di traffico per la spugna bidimensionale rifacendosi al fenomeno
della percolazione di un fluido allinterno di un materiale poroso. Per costruire un modello di questo tipo sar necessario estendere le definizioni di alcune
grandezze tipiche di un mezzo poroso, quali la porosit e la permeabilit, al
caso di una rete stradale.
Lipotesi di partenza per lo sviluppo di questo modello [D08] la stessa formulata per i modelli monodimensionali di tipo differenziale: visto da lontano,
il flusso discreto di automobili risulta assimilabile ad un flusso continuo ed
quindi possibile definire funzioni di flusso sufficientemente regolari.
72
3.2.1
La costruzione di un modello bidimensionale a partire dalla scrittura di opportune leggi di conservazione procedura seguita nel caso del modello LWR
risulterebbe piuttosto complicata; un approccio pi semplice ed immediato
per ricavare le equazioni del modello si ottiene con alcune considerazioni di
carattere microscopico valide per una generica particella, estendendo al caso
bidimensionale il procedimento presentato in [BB92].
Consideriamo dunque una griglia bidimensionale equispaziata (come quella
raffigurata in Figura 3.5) e definiamo le probabilit + e che la particella si sposti verticalmente, rispettivamente verso lalto o verso il basso, e le
probabilit + e di transizione orizzontale (rispettivamente verso destra o
verso sinistra). Indicando con pti,j la probabilit che nellintervallo [t, t + t]
73
(3.1)
1=
(i,j)E
1
h2
ovvero:
N t (E) =
X h2
1 X 2 t
t
p
=
h pij .
h2 ij h2
(i,j)E
(i,j)E
74
(i,j)E
si ha
t
N (E) =
(x, t)dx,
E
v = 0.
(3.2)
t + D + 1
max
Si noti come nel caso unidimensionale, ovvero ponendo
1
= = +
2
= = 0,
3.2.2
75
Figura 3.6: Allinterno di una cartina stradale possiamo identificare le parti che vogliamo
modellizzare come spugna. Al fine di evidenziare per le differenze allinterno delle varie
parti della spugna (A) dobbiamo introdurre un elemento di scala piccola rispetto a quella
bella spugna, il REV (B), ma di scala pi grande rispetto a quella della singola strada, in
cui calcolare le quantit medie di interesse.
76
Z
u d.
P
I due tipi di medie sono legate dalla seguente relazione (detta relazione di
Dupuit-Forcheimer):
u = uP
nella quale la porosita, data dal rapporto tra il volume occupato dal
flusso ed il volume totale:
P
.
=
"
P
DP + 1
max
P vP
= 0.
(3.3)
77
Figura 3.7: Nella microscala dei pixel il modello di reticolo uniforme equispaziato
rispettato. Allinterno della mappa avremo quindi dei pixel con permeabilit massima
(dove c la strada) e dei pixel con permeabilit nulla.
78
3.3
79
Le ricerche concentrate sulla modellazione dei fenomeni di traffico bidimensionali hanno seguito, negli ultimi decenni, il medesimo percorso compiuto in
precedenza dalla modellistica nel caso monodimensionale. In questambito,
se i primi modelli introdotti seguivano un approccio euleriano [G59], [W86],
sviluppi pi recenti hanno condotto ai primi modelli basati su un approccio
lagrangiano [NS92], [N96], che nel corso degli anni hanno preso il sopravvento
sui precedenti in virt della maggior accuratezza e della ricchezza di informazioni che riescono a fornire.
Le maggiori complessit presenti nei problemi di traffico bidimensionali non
hanno tuttavia ancora permesso questo passaggio e ad oggi non semplice
trovare in letteratura modelli ad automi cellulari basati su un approccio lagrangiano. Per rispondere ad alcune delle questioni presentate nel Capitolo 1
stato dunque necessario creare un algoritmo ad hoc che contemplasse questo
tipo di approccio; scopo di questa sezione delinearne le pi importanti caratteristiche, adattando opportunamente il modello di Nagel monodimensionale
al caso bidimensionale.
3.3.1
Analogamente a quanto fatto nel caso euleriano, dal momento che le regole alla base del modello di traffico sono ben definite su un generico tratto
stradale, per passare al modello bidimensionale necessario definire delle regole comportamentali utili a descrivere la guida in prossimit degli incroci e
al loro interno. importante notare che queste regole non sono, come nel
caso euleriano, definite su un tratto stradale ma riguardano le caratteristiche
di guida di ciascun veicolo in prossimit dellincrocio; presentiamo ora queste
regole, che verranno impiegate nella costruzione dellalgoritmo:
allinterno di un tratto stradale, lontano dagli incroci, si applica il
modello di Nagel monodimensionale proposto nella Sezione 2.2.3;
gli incroci vengono modellati come una singola cella comunicante con
tutti gli archi stradali entranti e uscenti da essi;
per quanto riguarda lingresso e luscita dallincrocio si considera il comportamento di ogni conducente in prossimit della conclusione dellarco
stradale. In particolare:
80
3.3.2
Nella Sezione 3.2 stato ricavato un modello bidimensionale di tipo differenziale, espresso dallequazione (3.2), che contiene due parametri dati rispettivamente dalla permeabilit D e dalla velocit di deriva v; nel caso del traffico
81
(a)
(b)
(c)
(d)
(e)
(f)
82
veicolare essi dipendono dalla geometria delle strade, da come i veicoli possono muoversi in esse, e dalle direzioni privilegiate di flusso, differenti nei vari
momenti della giornata. Allinizio di questa sezione stato invece proposto
un modello bidimensionale di tipo microscopico in grado di catturare, a livello di microscala, i comportamenti tipici di un insieme veicoli su un generico
pattern stradale.
Intendiamo ora sfruttare questo secondo modello al fine di stimare i parametri
che compaiono nellequazione (3.2); in base a quanto esposto nel Capitolo 1,
ci concentreremo in particolare sullo studio della permeabilit, supponendo nulla la velocit di deriva v. Con questa assunzione, la (3.2) si riduce
allequazione di diffusione
t (D) = 0,
che d luogo al seguente problema di Cauchy
(
t = (D) x , t (0, T )
(x, 0) = f (x) x ,
(3.4)
83
2. poich la traiettoria considerata essere un moto Browniano, lincremento tra due istanti successivi t e t + 1 una variabile aleatoria di
legge N (0, D). La stima della volatilit D si ottiene quindi utilizzando la traiettoria come serie storica di punti di un moto Browniano e
calcolando la covarianza campionaria degli incrementi tra due punti
successivi, in base alla relazione:
Rti = xt+1
xti
i
T 1
i =
R
1 X t
R
T 1 t=1 i
t = 1, . . . , T 1
T 1
1 X t 0 t
Si =
(R Ri ) (Ri Ri );
T 1 t=1 i
84
sul calcolo della matrice di covarianza del problema, ma influenza solo il calcolo della media. Viste le criticit della strategia che si vuole utilizzare, si
ritenuto opportuno ridurre linfluenza delle geometrie del sistema data dalla non uniformit delle probabilit di transizione facendo variare il punto
iniziale della traiettoria tra tutti i punti possibili.
Lultimo e pi importante problema riguarda le condizioni al contorno da
imporre alle traiettorie del moto browniano, dal momento che siamo interessati alla stima della permeabilit in una regione di riferimento limitata. Per
ovviare a questa questione sar utilizzata una nota propriet del moto Browniano, data dal principio di riflessione [HS80]. Esso afferma che il numero
delle traiettorie che raggiungono un determinato valore (ad esempio toccano
il bordo della regione di riferimento) e concludono la loro traiettoria rimanendo al di sopra di quel valore (cio allesterno della regione di riferimento)
sono tante quante quelle che raggiungono quel valore e concludono la loro
traiettoria al di sotto di quel valore: in base a questo fatto, le condizioni al
bordo che verranno utilizzate per le traiettorie del moto browniano saranno
di tipo riflessione. In altri termini, se un veicolo lascia la regione di riferimento da una determinata strada, esso sar reinserito allinterno della stessa
strada con la medesima velocit, ma in direzione opposta. Lalgoritmo cos
presentato stato implementato in Matlab; possibile consultare il codice
in A.4.
3.3.3
85
Figura 3.9: Direzioni principali della permeabilit sul pattern di tipo Manhattan. La
grandezza dellellisse stata riscalata per renderla comparabile alla grandezza della mappa.
Una volta stimata la matrice di permeabilit, possibile simulare il comportamento del traffico sfruttando il modello differenziale di Darcy (3.2) sul
pattern associato. Volendo confrontare questo risultato e quello ottenuto con
il modello euleriano ad automi cellulari necessario assumere le medesime
condizioni al contorno; volendo dunque imporre una condizione di conservazione ovvero di flusso uscente dalla mappa nullo imponiamo la seguente
86
condizione di Neumann:
D n = 0 x , t [0, T ].
Indichiamo con = [0, 1] [0, 1] e assumiamo una condizione iniziale data
da
f (x) = I[0,1/9][0,1] (x),
che rappresenta una condizione di traffico saturo nella parte sinistra della mappa e libera altrove, analogamente a quanto fatto nella prima simulazione ottenuta con lalgoritmo agli automi cellulari. Con queste assunzioni,
si ottiene il seguente problema:
t (D) = 0 x , t (0, T ]
(x, 0) = f (x)
x ,
D n = 0
x , t [0, T ].
Risulta a questo punto possibile calcolare numericamente la soluzione di
questo problema, sfruttando le usuali tecniche di Galerkin impiegate per
lo studio dei problemi di diffusione e trasporto e gli strumenti messi a disposizione dalla libreria FreeFem++ (il corrispondente codice si trova in A.3.3).
In particolare, si sfrutta unapprossimazione a elementi finiti in spazio e una
discretizzazione in tempo con il metodo di Eulero implicito; se da un lato
questa scelta comporta un aumento degli oneri computazionali, dallaltro assicura lincondizionata stabilit del metodo. Si veda [Q08] per i risultati di
buona posizione, lanalisi di stabilit e convergenza del metodo in questione.
In Figura 3.10 sono rappresentate otto iterazioni successive ottenute con il
codice implementato; le analogie che si possono evincere dal confronto tra
questa soluzione e quella riportata in Figura 3.3, ottenuta con il metodo agli
automi cellulari, indicano che da un punto di vista qualitativo i due metodi si
comportano in modo piuttosto simile; in particolare, il processo di diffusione
presenta nei due casi le stesse caratteristiche.
Lapplicazione del modello bidimensionale di Darcy al caso della regione parigina verr ampiamente discusso nel Capitolo 5, dopo aver chiarito come
estrarre dalla mappa le informazioni necessarie per il calcolo del campo di
permeabilit. Notiamo fin da ora come il metodo differenziale sia computazionalmente pi efficiente, a patto di stimare correttamente le propriet del modello e di rinunciare a un dettaglio locale del comportamento del
traffico nei singoli tratti stradali.
87
Figura 3.10: Iterazioni del modello presentato nella sezione 3.2 con traffico intenso in
una zona della mappa. Si noti come il processo di smaltimento del traffico segua un
andamento tipicamente diffusivo. La scala dei colori va dal blu al rosso, e indica il traffico,
rispettivamente fluido o intenso, presente nellarea di mappa.
88
Capitolo 4
Lettura delle informazioni da
una mappa
In questo capitolo viene descritto lanello di congiunzione tra i modelli di
traffico presentati e la loro applicazione ai casi reali, ovvero gli algoritmi
necessari per la lettura dei dati forniti e la loro importazione nel formato
necessario per lutilizzo. Nel caso in esame, occorre implementare alcuni
metodi atti alla lettura di una mappa stradale e alla conseguente creazione
di un grafo, o meglio di un bigrafo orientato. Lo scopo principale consiste
quindi nellestrazione di opportune strutture dati a partire dallimmagine
della carta stradale che si vuole rappresentare con un grafo; le strutture di
interesse sono:
linsieme dei nodi, corrispondente allinsieme degli incroci presenti nella
mappa; per ogni elemento di questo insieme occorre specificare la collocazione allinterno della mappa tramite le sue coordinate spaziali
quali siano gli archi entranti e uscente nel/dal nodo e con quali altri
nodi esso sia direttamente collegato.
linsieme degli archi (o lati), costituito dallinsieme dei tratti stradali
che connettono i vari nodi; per ogni elemento di questo insieme occorre
esplicitare il peso espresso dalla sua lunghezza il nodo di origine
e quello di destinazione, a quali altri archi sia collegato tramite i vari
nodi, le sue coordinate spaziali ed altre propriet di interesse i metodi
presentati nel Capitolo precedente, come la densit di abitazioni che vi
si affacciano.
Prima di riuscire ad implementare in maniera efficace la simulazione di un
caso reale occorre chiarire numerosi aspetti. Una prima questione riguarda
la classificazione degli archi stradali: occorre stabilire in quali casi sia conveniente sfruttare un modello monodimensionale e in quali invece un modello
89
90
4.1
Segmentazione dellimmagine
Il problema della segmentazione delle immagini riguarda numerose applicazioni appartenenti a campi molto differenti tra loro dalla bioingegneria
alla progettazione assistita al calcolatore e ha richiesto, soprattutto negli
ultimi decenni, notevoli sforzi di matematici e informatici. Nel caso in esame
tuttavia la situazione non risulta troppo complicata dal momento che le immagini da trattare sono di due colori (vuoto/pieno): la trasformazione dellimmagine binaria in una tabella booleana (a cui ci riferiremo nel seguito
con lespressione di mappa segmentata) risulta quindi una semplice identificazione del colore presente in ogni pixel; non si quindi rivelata necessaria
la creazione di metodi appositi per affrontare questa fase.
91
Figura 4.1: Segmentazione di una parte di mappa. In questo caso la presenza di strada
stata classificata con 0 e lassenza di strada, di conseguenza, con 1.
4.2
Per eseguire operazioni sulla matrice della mappa segmentata, risulta necessario introdurre il concetto di Look-Up Table (LUT ), in modo da semplificare le numerose operazioni di confronto con i vicini e ridurre gli oneri
computazionali.
Nelle applicazioni informatiche, con Look-Up Table si intende una struttura
dati generalmente un array usata per sostituire operazioni di calcolo a
runtime con una pi semplice operazione di consultazione di una tabella di
associazione. Una tabella di questo tipo quindi una struttura che permette di associare ad ogni combinazione ammissibile di dati in ingresso una
corrispondente configurazione di dati in uscita. Il termine inglese utilizzato per descriverla, Look-Up Table, sottointende loperazione di consultazione
(dallinglese look up, consultare) utilizzata per mappare le combinazioni di
ingresso in determinati valori di uscita.
Analizziamo ora limpiego delle LUT nel caso della lettura di informazioni
da una mappa stradale: definendo lintorno di una cella della matrice della mappa segmentata come linsieme delle otto celle ad essa adiacenti,
possibile definire per ogni cella della matrice (fatta eccezione per quelle di
bordo che vengono trattate diversamente) un array che ne denota lintorno,
come mostrato in Figura 4.2. Dal momento che ogni cella contiene un valore
booleano (1 se libera o 0 se presente una strada), le possibili combinazioni
di intorni esistenti risultano in tutto 28 = 256. Occorre quindi costruire delle
LUT di 256 elementi, in grado di fornire luscita (0 oppure 1) a seconda della
situazione di vicinato presente. Anzich operare una serie di confronti logici
concatenati, oneroso dal punto di vista computazionale, si procede dunque
ad identificare la situazione di interesse tra tutte quelle possibili, applicando
la LUT a tutte le celle della matrice della mappa segmentata.
92
Figura 4.2: Creazione dellarray di un intorno di una cella. Larray costruito a destra
lintorno della cella denotata con 5.
4.3
93
pa reale possibile ottenere il risultato rappresentato in Figura 4.4. Risulta ora possibile operare il riconoscimento degli incroci presenti sulla mappa sfruttando le analisi presentate nella sezione precedente e le funzionalit
offerte dalle LUT.
4.4
4.4.1
94
Figura 4.4: Esempio di mappa sottoposta allalgoritmo di scheletrizzazione e di identificazione degli incroci. In blu possibile vedere la mappa originale, in rosso lo scheletro
della mappa e in verde gli incroci che sono stati identificati.
Termine correttivo. Se un tratto stradale unisce due pixel, la sua lunghezze vale 1,
non 2, se ne unisce tre vale 2, etc.
95
96
lato del grafo. Per stabilire quali e quante siano le strade entranti o uscenti in
ogni incrocio sufficiente contrassegnare quelle che hanno inizio (e risultano
uscenti) o fine (entranti) in punti aventi coordinate prossime allincrocio in
questione. Bench risulti piuttosto immediato da comprendere, limplementazione numerica di questo approccio comporta notevoli oneri computazionali dal momento che necessita dellidentificazione delle coordinate dei pixel di
ogni strada e del loro riordinamento. Per compiere questa operazione stato
usato un algoritmo basato su un albero di supporto a costo minimo, avente
complessit computazionale dellordine di O(L2 ), dove L indica il numero dei
pixel del tratto stradale. Il codice Matlab che implementa questo algoritmo
presentato in A.1.2.
Per quanto riguarda invece gli schemi basati su un approccio euleriano, non
necessario conoscere le coordinate del tratto stradale, dal momento che
lunica informazione di interesse risulta la sua interazione con gli archi ad
esso vicini. Lalgoritmo alla base di questo metodo attribuisce a priori ad
ogni strada un nodo di origine ed un nodo di destinazione e analizza in un
secondo momento quali siano le strade entranti ed uscenti in ciascun nodo.
Brevemente, ad ogni passo dellalgoritmo viene assegnata una convenzione a
priori a seconda della posizione rispetto al nodo che si analizza (in particolare
la strada risulta entrante nellincrocio se arriva dalle posizioni di nord ovest,
comprese tra le celle 1 e 4 della matrice di adiacenza riportata in Figura 4.2,
altrimenti si dice uscente) e si procede controllando che questa convenzione
non sia gi stata assegnata a quella strada; in tal caso, si assegna alla strada
laltra convenzione. Il codice Matlab che implementa questo algoritmo
presentato in A.1.1.
Altre variabili di stato
Occorre sottolineare come nei metodi agli automi cellulari basati su un approccio lagrangiano gli archi stradali costituiscono le variabili di stato: risulta quindi necessario associare ad ogni strada anche le altre propriet tipiche
del modello utilizzato, quali il numero di veicoli presenti in un determinato
istante, la velocit massima raggiungibile in base alle caratteristiche della
strada o la velocit massima raggiungibile in un certo istante a causa del
traffico presente sulla strada.
4.4.2
97
Presentiamo infine lultima struttura necessaria per implementare gli algoritmi presentati, riguardante la trattazione degli incroci, ovvero i nodi del
grafo. Per definire un nodo occorre specificarne le coordinate, gi individuate mediante gli algoritmi di identificazione descritti in precedenza, e le strade
entranti e quelle uscenti, ricavate tramite lalgoritmo di assegnazione delle
convenzioni di verso delle strade.
Sorge tuttavia unultima questione a proposito della ricerca degli incroci: il
trattamento delle rotonde e degli incroci lunghi. Lalgoritmo di scheletrizzazione tende infatti a separare in pi incroci le intersezioni lunghe o le
rotonde, come mostrato ad esempio in Figura 4.5.
Figura 4.5: Zoom della mappa presentata in Figura 4.4. Si noti come un unico incrocio venga rappresentato come due intersezioni collegate da una strada di pochi pixel di
dimensione.
98
Capitolo 5
Simulazioni
In questo capitolo verranno riportati alcuni risultati riguardanti buona parte
delle simulazioni1 effettuate per il Progetto Grand Paris, presentato nel Capitolo 1. Per rispondere alle richieste del concorso, il gruppo STUDIO 08 ha
deciso di suddividere larea metropolitana dellhinterland parigino in diverse
regioni e verificare come alcune caratteristiche porosit e permeabilit del
tessuto stradale, consumo di energia, frequenza e capillarit dei mezzi pubblici, densit di abitato o di fabbriche, ecc. cambiano a seconda della zona
dellhinterland considerata.
Le simulazioni presentate seguiranno la strategia di analisi proposta dal gruppo STUDIO 08: in particolare, i risultati si riferiranno a una particolare regione, sebbene i metodi implementati siano del tutto generali e possano essere
applicati a qualsiasi caso.
La Figura 5.1 mostra il piano di studio del gruppo per il progetto Grand
Paris: dal momento che lo scopo dellanalisi la caratterizzazione delle diverse zone dellarea parigina, stato deciso, a seguito di unanalisi globale,
di sezionare questarea verticalmente e analizzare le diverse propriet in aree
quadrate di lato pari a 3 chilometri. Per ciascuna di queste aree stata
condotta unanalisi accurata delle propriet di interesse sopra citate.
Dal momento che unanalisi completa esula dallo scopo di questo lavoro di
tesi, verranno riportati in questo capitolo solo alcuni dei casi affrontati, utili
comunque alla comprensione completa di quanto presentato nel resto del lavoro; sar possibile reperire questanalisi nei documenti ufficiali del progetto,
di prossima pubblicazione.
1
Tutte le simulazioni sono state effettuate con un Personal Computer con processore
da 2.2 GHz e 2 GB di RAM.
99
100
5.1
Capitolo 5. Simulazioni
101
102
5.2
Il tensore di permeabilit
Per le zone proposte in Figura 5.1 stato effettuato uno studio di permeabilit pi dettagliato, utilizzando il modello basato sugli automi cellulari con
approccio lagrangiano presentato nella Sezione 3.3.2. Il risultato dellanalisi
presentato in Figura 5.4; per creare questa immagine le 21 zone sono state
caricate manualmente e analizzate una ad una utilizzando il codice presentato in A.4. Per ognuna di queste zone la simulazione ha impiegato circa
5 minuti, con differenze anche sensibili a seconda del pattern stradale della
mappa scelto. Lalgoritmo di lettura della mappa non ha creato problemi
per 18 delle 21 zone proposte.
Capitolo 5. Simulazioni
103
Figura 5.4: Analisi di permeabilit effettuate nelle diverse zone del piano di analisi
dellIle De France
5.3
104
Capitolo 5. Simulazioni
105
106
(a)
(b)
(c)
(d)
107
Capitolo 5. Simulazioni
(e)
(f)
(g)
(h)
Figura 5.6: Simulazioni di traffico nella zona 5 della Figura 5.1 ottenute utilizzando
lalgoritmo basato sugli automi cellulari con approccio euleriano.
108
109
Capitolo 5. Simulazioni
(a)
(b)
(c)
(d)
Figura 5.7: Simulazioni di traffico nella zona 5 della Figura 5.1 ottenute utilizzando
lapproccio alla Darcy con matrice di permeabilit mostrato in Figura 5.5.
110
Conclusioni
Il punto di partenza di questo lavoro di tesi un modello urbanistico presentato in [F08] che propone la divisione dellintera rete stradale in tubi e
spugna. Fanno parte della prima classe linsieme di quelle strade a percorrenza veloce caratterizzate da barriere che dividono linfrastruttura stradale
dal resto del territorio, permettendo scambi solo in determinati punti, detti
svincoli; in contrapposizione a questa prima parte linsieme delle strade a
scorrimento lento, in cui possibile cambiare pi spesso la propria direzione
di marcia classificata come spugna.
Lapproccio presentato stato proposto allinterno di un concorso internazionale volto allanalisi, da un punto di vista architettonico, urbanistico
e sociologico, della zona dellhinterland parigino. Per dare solidit al modello urbanistico si quindi deciso di fornirne una caratterizzazione rigorosa
sulla base di opportuni modelli matematici.
Per far fronte a questa richiesta, nel lavoro di tesi sono stati analizzati e
sviluppati diversi modelli matematici; alcuni di questi sono stati tratti dalla
letteratura legata ai problemi di traffico e sono stati implementati utilizzando
opportune strategie in vista delle applicazioni, mentre altri sono stati appositamente creati, allo scopo di caratterizzare il flusso di traffico veicolare nelle
due diverse parti. In particolare, sono stati creati tre differenti modelli per
la caratterizzazione del traffico nella parte stradale catalogata come spugna.
Il primo modello sfrutta un approccio agli automi cellulari con un punto di
vista euleriano; esso contiene al suo interno molti strumenti classici dellanalisi del traffico veicolare, ma assume un punto di vista completamente nuovo
rispetto ai risultati esistenti, poich utilizza come spazio cellulare i singoli
tratti stradali presenti nella spugna e non loro parti. Questo modello si dimostrato capace di cogliere molti degli aspetti peculiari legati alle dinamiche
di traffico; esso si tuttavia rilevato molto impegnativo dal punto di vista
computazionale, nonostante la semplicit che lo caratterizza e che lo rende
preferibile ad altri modelli usati per la trattazione dello stesso problema.
111
112
Conclusioni
113
stocastica presi dal campo della finanza. Questo fatto dovuto sostanzialmente a due motivi: il primo leterogeneit del gruppo di lavoro con cui
si collaborato per il concorso, che comprende personalit provenienti dai
campi dellarchitettura, dellurbanistica, della modellistica fluidodinamica,
della sociologia, dellingegneria dei trasporti e di quella ambientale. Il secondo risiede nel fatto che la ricerca nel campo della modellistica per problemi
di traffico veicolare nel caso bidimensionale ha compiuto i primi passi solo in
tempi recentissimi: sono infatti scarsi i metodi proposti e i risultati ottenuti
in questo campo.
Soprattutto per questultimo motivo, oltre che per aver avuto lesigenza di
ottenere risultati in tempi utili per la partecipazione al concorso, sono numerose le tematiche ancora aperte da cui prendere spunto per proseguire il
lavoro svolto.
Oltre a un approfondimento dellanalisi dei modelli matematici proposti in
questa tesi, una naturale estensione di questo lavoro prevede la sintesi tra i
modelli bidimensionali per la dinamica del traffico nella spugna e i metodi
usati per lanaloga descrizione nei tubi. A partire dai risultati presentati in
questa tesi, sarebbe interessante effettuare alcune simulazioni del traffico in
reti stradali complesse, accoppiando un modello bidimensionale per la spugna
differenziale o ad automi cellulari con approccio euleriano e un modello
monodimensionale per i tubi.
Ulteriori approfondimenti riguardano ad esempio il calcolo di due grandezze
caratteristiche dei modelli presentati, quali la velocit di drift nel modello
alla Darcy e la densit abitativa nel caso di automi cellulari con approccio
euleriano. Per quanto riguarda il calcolo della velocit di drift sarebbe necessario conoscere le traiettorie di diversi veicoli allinterno della mappa in
vari istanti della giornata; se fino a pochi anni fa era impossibile raccogliere
dati di questo tipo, grazie alle moderne tecnologie di navigazione satellitare
possibile ottenerne in grandi quantit. Quanto alla densit abitativa, nello
sviluppo del modello agli automi cellulari con approccio euleriano viene ipotizzato che lingresso/uscita dei veicoli dalla sede stradale avvenga in ogni
istante in maniera proporzionale alla superficie occupata dagli edifici presenti nelle varie parti della mappa. Non si tratta tuttavia di unassunzione
rigorosa, dal momento che non si tiene conto delleffettiva cubatura delle
abitazioni, ma solo della superficie che essi occupano. Per ovviare a questo
problema sarebbe necessario ricorrere a dati catastali o a un metodo di stima
basato sulla distribuzione spaziale del consumo energetico. In entrambi i casi
non stato possibile entrare in possesso dei dati necessari per inserire queste
modifiche nei modelli implementati.
114
Appendice A
Codice
A.1
A.1.1
Approccio euleriano
file: LetturamappaNode.m
Lo script crea le variabili Street e Intersection, ovvero le variabili contententi tutte le
informazioni sulle strade e sugli incroci presenti nella mappa. Essendo per lapproccio
euleriano non si preoccupa di dare un verso di lettura alle strade a priori, ma lo assegna
a posteriori, unendo i vari nodi. Le coordinate delle strade non sono quindi ordinate.
Riceve in ingresso:
la mappa scheletrizzata thin
la mappa degli incroci junc
la mappa delle case houses
bigjunc=applylut(junc,makelut(sum(x(:))>0,3));
[map,num_node]=bwlabel(thin .* ~bigjunc,8);
Street=struct(length,num2cell(zeros(2*num_node,1)),houses,0,
neighbor,[],ascissa,[],ordinata,[]);
115
116
[X,Y]=find(junc);
% trovo le coordinate delle intersezioni delle strade
[MX,MY]=size(map);
coordinate=logical((X<MX-2) .* (X>3));
% elimino gli incroci a meno di 2 pixel dal bordo
X=X(coordinate); Y=Y(coordinate); coordinate=logical((Y<MY-2) .*
(Y>3)); X=X(coordinate); Y=Y(coordinate); num_junc=length(X);
Intersection=struct(Supernode,num2cell((1:num_junc)),X,num2cell(X),
Y,num2cell(Y),ingoing,[],outgoing,[]);
% A questo punto bisogna unire i nodi che sono vicini meno di tot pixel,
% poich vengono riconosciuti come nodi differenti, ma in realt sono lo
% stesso nodo.
% Supernode=[];
for i=2:num_junc
Distance_i=X(i-1)*ones(num_junc-i+1,1)-X(i:end);
which_i=find(abs(Distance_i)<tot);
% i nodi i-1 e wich_i+i-1 hanno ordinata vicina.
for j=which_i
if abs(Y(i-1)-Y(j+i-1))<tot
Intersection(j+i-1).Supernode=[Intersection(i-1).Supernode,
Intersection(j+i-1).Supernode];
Intersection(i-1).Supernode=[];
end
end
end
clear X Y coordinate
for i=1:num_junc
% guardo i valori vicino ad ogni nodo e inserisco i dati
Appendice A. Codice
117
if ~isempty(Intersection(i).Supernode)
% se il nodo allinterno di un supernodo non considerarlo
[A,R]=makeneighbor(Intersection(i).X,Intersection(i).Y,map);
for k=Intersection(i).Supernode(1:end-1)
[a,r]=makeneighbor(Intersection(k).X,Intersection(k).Y,map);
if ~isempty(a) && ~isempty(R)
% se c un elemnto di a o di r in A o in R, cancellalo
confRa=(ones(length(a),1)*R);
confaR=(ones(length(R),1)*a);
[elx,ely]=find(confRa==confaR);
a(ely)=[];
end
if ~isempty(r) && ~isempty(A)
confAr=(ones(length(r),1)*A);
confrA=(ones(length(A),1)*r);
[elx,ely]=find(confAr==confrA);
r(ely)=[];
end
% altrimenti mettilo in A o in R a seconda se di A o di R
A=unique([A,a]);
R=unique([R,r]);
end
clear a r
if isempty(A)||isempty(R)
continue
end
% controllo che i nodi in convenzione andata e ritorno non siano gi
% stati assegnati in un qualche altro incrocio, ovvero che non vi sia
% gi una convenzione presente sulla strada
contatore=0;
for conventioned=A
contatore=contatore+1;
if ~isempty(Street(2*conventioned-1).neighbor)
R=[R,conventioned];
A(contatore)=[];
contatore=contatore-1;
end
end
contatore=0;
for conventioned=R
contatore=contatore+1;
if ~isempty(Street(2*conventioned).neighbor)
A=[A,conventioned];
R(contatore)=[];
contatore=contatore-1;
end
end
118
clear contatore
% A questo punto assegno i collegamenti
Intersection(i).ingoing=[2*A-1;2*R];
Intersection(i).outgoing=[2*R-1;2*A];
for node=A
for wired=A
if wired~=node
Street(2*node-1).neighbor=[Street(2*node-1).neighbor; 2*wired];
end
end
for wired=R
Street(2*node-1).neighbor=[Street(2*node-1).neighbor;2*wired-1];
end
end
for node=R
for wired=A
Street(2*node).neighbor=[Street(2*node).neighbor;2*wired];
end
for wired=R
if wired~=node
Street(2*node).neighbor=[Street(2*node).neighbor;2*wired-1];
end
end
end
end
end
A.1.2
Approccio lagrangiano
file: Letturamappa.m
Lo script crea le variabili Street e Intersection, ovvero le variabili contententi tutte le
informazioni sulle strade e sugli incroci presenti nella mappa. Essendo per lapproccio lagrangiano le coordinate delle strade saranno ordinate, e ci si baser su questo ordinamento
per creare i collegamenti tra le diverse strade.
Riceve in ingresso:
la mappa scheletrizzata thin
la mappa degli incroci junc
la mappa delle case houses
% Estrazione dei nodi e creazione del grafo
bigjunc=applylut(junc,makelut(sum(x(:))>0,3));
[map,num_node]=bwlabel(thin .* ~bigjunc,8);
% La variabile map una matrice di label diverso per ogni nodo
% La variabile num_node ci dice appunto quanti nodi sono
Appendice A. Codice
119
% elimino le strade troppo corte, che in realt connettono due nodi che
% rappresentano uno stesso incrocio
tot=6; for i=1:num_node
if lunghezza(map==i)<tot
map(map==i)=0;
else
map(map==i)=1;
end
end
% Lalgoritmo si basa su due strutture, la struttura delle strade S e
% quella dei nodi N.
[map,num_node]=bwlabel(map .* ~bigjunc,8);
% Creo il vettore dei miei nodi
Street=struct(length,num2cell(zeros(2*num_node,1)),houses,0,
neighbor,[],ascissa,[],ordinata,[]);
contatore=1; for i=1:num_node
% sistemiamo le caratteristiche del primo senso di marcia
Street(contatore).length=lunghezza(map==i);
Street(contatore).houses=howmanyhouses(map==i,houses);
Street(contatore).neighbor=[];
% Lo inizializzo a vuoto e vado poi a modificarlo
[X,Y]=find(map==i);
LX=length(X);
ordine=(1:LX);
% Ma lordine sar proprio questo? dobbiamo controllare...
[Y2,X2]=find(map==i);
if sum(Y~=Y2(end:-1:1))+sum(Y~=Y2)>LX+1
% Se cambiando il verso in cui si legge la mappa cambia
% lordinamento, allora lordinamento sbagliato: dobbiamo
% ordinarle!
confrX=X*ones(1,LX)-ones(LX,1)*X+10*eye(LX);
confrY=Y*ones(1,LX)-ones(LX,1)*Y+10*eye(LX);
confr1X=(abs(confrX)==1); confr0X=(confrX==0);
confr1Y=(abs(confrY)==1); confr0Y=(confrY==0);
confr=confr1X.*confr0Y+confr1Y.*confr0X+confr1X.*confr1Y;
% A questo punto ho la matrice di tutte le celle adiacenti. In
% particolare confr(i,j)>1 significa che le celle i e j sono
% adiacenti (distanza <sqrt(2))
% In confr saranno presenti un elemento con una riga con tutti zeri
% o una colonna con tutti zeri. Questi saranno il primo e lultimo
% elemento della mia strada
emho=find(sum(confr)==1);
try
ordine(1)=emho(1);
catch % Elimino le strade cicliche!
120
if isempty(emho)
warning(Strada ciclica eliminata)
map(map==i)=0;
contatore=contatore+2;
continue
else
error(Intersezione di strade non presente in junc)
end
end
for ordinatore=2:LX
dovesono=ordine(ordinatore-1);
emho=find(confr(dovesono,:));
confr(dovesono,emho)=0; confr(emho,dovesono)=0;
ordine(ordinatore)=emho(1);
end
end
Street(contatore).ascissa=X(ordine);
Street(contatore).ordinata=Y(ordine);
contatore=contatore+1;
% sistemiamo le caratteristiche dellaltro senso di marcia
Street(contatore).length=Street(contatore-1).length;
Street(contatore).houses=Street(contatore-1).houses;
Street(contatore).ascissa=Street(contatore-1).ascissa(end:-1:1);
Street(contatore).ordinata=Street(contatore-1).ordinata(end:-1:1);
Street(contatore).neighbor=[];
contatore=contatore+1;
end
clear contatore clear X Y X2 Y2 ordine confrX confrY confr LX
[X,Y]=find(junc);
% trovo le coordinate delle intersezioni delle strade
[MX,MY]=size(map);
coordinate=logical((X<MX-2) .* (X>3));
% elimino gli incroci a meno di 2 pixel dal bordo
X=X(coordinate); Y=Y(coordinate); coordinate=logical((Y<MY-2) .*
(Y>3)); X=X(coordinate); Y=Y(coordinate); num_junc=length(X);
Intersection=struct(Supernode,num2cell((1:num_junc)),X,num2cell(X),
Y,num2cell(Y),ingoing,[],outgoing,[]);
% A questo punto bisogna unire i nodi che sono vicini meno di tot pixel,
% poich vengono riconosciuti come nodi differenti, ma in realt sono lo
% stesso nodo.
% Supernode=[];
for i=2:num_junc
Distance_i=X(i-1)*ones(num_junc-i+1,1)-X(i:end);
which_i=find(abs(Distance_i)<(tot+4));
% i nodi i-1 e wich_i+i-1 hanno ordinata vicina.
% erano collegati da una strada di lunghezza minore di tot
Appendice A. Codice
121
for j=which_i
if abs(Y(i-1)-Y(j+i-1))<(tot+4)
Intersection(j+i-1).Supernode=[Intersection(i-1).Supernode,
Intersection(j+i-1).Supernode];
Intersection(i-1).Supernode=[];
end
end
end
clear X Y coordinate
for i=1:num_junc
NEIGHBOR=[];
% guardo i valori vicino ad ogni nodo e inserisco i dati
for k=Intersection(i).Supernode % Guardo solo i supernodi
neighbor=makeneighbor(Intersection(k).X,Intersection(k).Y,map);
NEIGHBOR=[neighbor,NEIGHBOR];
clear neighbor
end
NEIGHBOR=unique(NEIGHBOR);
if isempty(NEIGHBOR) % In questo caso era un supernodo
continue
end
% Controllo delle strade quali sono convenzionate entranti
% e quali uscenti dallincrocio
for node=NEIGHBOR
if sum(abs([Street(2*node-1).ascissa(1),Street(2*node-1).ordinata(1)]
-[Intersection(k).X,Intersection(k).Y]))<2*tot
Intersection(i).outgoing=[Intersection(i).outgoing,2*node-1];
Intersection(i).ingoing=[Intersection(i).ingoing,2*node];
else
Intersection(i).outgoing=[Intersection(i).outgoing,2*node];
Intersection(i).ingoing=[Intersection(i).ingoing,2*node-1];
end
end
% A questo punto assegno i collegamenti
for node=Intersection(i).ingoing
% Tolgo la possibilit di tornare sulla strada da cui provengo
outgoing=Intersection(i).outgoing;
if mod(node,2)
outgoing=outgoing(outgoing~=(node+1));
else
outgoing=outgoing(outgoing~=(node-1));
end
% e metto tutte le altre come strade possibili
Street(node).neighbor=outgoing;
end
end
122
A.1.3
A.2
A.2.1
file: wolfram184.m
Lo script crea le prime nit iterazioni del modello Wolfram184 su una strada ciclica di
lunghezza L occupata da N veicoli.
Appendice A. Codice
123
function X=wolfram184(L,N,nit)
% Inizializzazione delle variabili
X=zeros(nit,L); % spazio di stato in cui memorizziamo tutte le iterazioni
x=zeros(1,L);
% vettore per ogni interazione
init=randperm(L);
x(init(1:N))=1;
% e sua inizializzazione
% Modello di Wolfram
for i=1:nit
X(i,:)=x;
x=[x(L),x(1:L-1)];
end
end
A.2.2
file: wolframB.m
Lo script crea le prime nit iterazioni del modello di Wolfram con blocking su una strada
ciclica di lunghezza L occupata da N veicoli.
function X=wolfram184(L,N,nit)
% Inizializzazione delle variabili
X=zeros(nit,L); % spazio di stato in cui memorizziamo tutte le iterazioni
x=zeros(1,L);
% vettore per ogni interazione
init=randperm(L);
x(init(1:N))=1;
% e sua inizializzazione
% Modello di Wolfram con blocking
for i=1:nit
X(i,:)=x;
x=[x(L),x(1:L-1)].*(1-x)+[x(2:L),x(1)].*x;
end
end
A.2.3
Modello di Nagel
file: fnagel.m
La funzione crea le prime nit iterazioni del modello di Nagel su una strada ciclica di
lunghezza L occupata da N veicoli che possono raggiungere la velocit massima vmax pixel
a iterazione.
function [X,V,G]=fnagel(L,N,vmax,nit)
X=zeros(N,nit);
V=zeros(N,nit);
G=zeros(N,nit);
124
A.3
A.3.1
file: automata.m
Lo script esegue alcune iterazioni del modello presentato nella Sezione 3.1.2. In uscita crea
un filmato.
%
%
%
%
Appendice A. Codice
125
% con quelle che entrano nel sistema, facciamo che tutte le macchine che
% arrivano ad uno di questi nodi fanno inversione a U.
for ii=InputOutput
if ~mod(ii,2)
MATRICE(ii,ii-1)=1;
else
MATRICE(ii,ii+1)=1;
end
end
% A questo punto dobbiamo decidere quanto una macchina, entrata nello stato
% i, vi rimane. Le righe quindi della mia matrice M verranno divise per il
% tempo di assorbimento dello stato i. Il tempo di assorbimento dipende
% dalla lunghezza della strada, e dal numero di macchine contenuto in ogni
% arco. Dobbiamo quindi disegnare i capacity-flow di ogni arco.
Lunghezzearchi=zeros(2*num_node,1); for i=1:2*num_node
Lunghezzearchi(i)=Street(i).length;
end Absorbiment=zeros(2*num_node,1); for i=1:2*num_node
Absorbiment(i)=Street(i).houses;
end
%
% Anzitutto dobbiamo decidere quanto vale un passo temporale del nostro
% algoritmo
passotemporale=20; %secondi
mappacolori=colormap(jet);
% Velocit massima raggiungibile su un arco stradale
vmax0=70/3.6*passotemporale/scale;
% velocit in metri al secondo adimensionalizzata
l_vmax0=200/scale;
% lunghezza di riferimento adimensionalizzata
d_vmax0=(100/scale)/l_vmax0;
% dinsit di riferimento adimensionalizzata
vmax=vmax0./(1+(Absorbiment./Lunghezzearchi)/d_vmax0).*
(1-exp(-.3*Lunghezzearchi/l_vmax0));
% velocit istantanea funzione di vmax e della densit di macchine
% ipotizzo la velocit minima (quella di ingorgo) pari a 5km/h
velocitaistantanea=inline(vmax.*(1-numauto./(Lunghezzearchi/
(6/scale)))+5/3.6*passotemporale/scale,numauto,vmax,
Lunghezzearchi,scale,passotemporale);
%
%
%
%
%
%
126
for ii=1:T
tassorbimento=Lunghezzearchi./velocitaistantanea(x(:,ii),vmax,
Lunghezzearchi,scale,passotemporale);
MaTransizione=MATRICE./(tassorbimento*ones(1,2*num_node));
MaTransizione=MaTransizione+diag(1-1./tassorbimento);
x(:,ii+1)=MaTransizione*x(:,ii)+ingresso*u(ii);
spy(thin,5)
hold on
spy(houses,r)
for iii=1:num_node
if x(2*iii)>x(2*iii-1)
spione=2*iii;
else
spione=2*iii-1;
end
colore=mappacolori(min(ceil(1+x(spione,ii)/
Lunghezzearchi(spione)*64),64),:);
line(Street(spione).ordinata,Street(spione).ascissa,
marker,.,Color,colore);
end
M(ii)=getframe;
hold off
end
A.3.2
file: nagel2D.m
Appendice A. Codice
127
Lo script esegue alcune iterazioni del modello di Nagel bidimensionale. Nel workspace
devono essere gi presenti le variabili Intersection e Street create con gli algoritmi di
lettura della mappa.
% Creazione e inizializzazione dello spazio di stato di una singola cella.
WHERE=zeros(ncar,nit); % In che strada o incrocio ogni veicolo
TOEND=zeros(ncar,nit); % Lascissa curvilinea su ogni strada dei veicoli
%
rispetto alla fine della strada
V=zeros(ncar,nit);
% La velocit di ogni veicolo
GAP=zeros(ncar,nit);
% La distanza di ogni veicolo dal precedente
DIRECTIONS=rand(ncar,nit);
% La direzione che, giunto allincrocio, il veicolo prende
% e lo inizializziamo
where=ceil((2*num_node)*rand(ncar,1));
% Inizializzo lo spazio con nessuno negli incroci
toend=ceil(cell2mat({Street(where).length}).*(rand(ncar,1)));
% Le macchine sono messe a caso
% Qui bisogna mettere un controllo che non ci siano due macchine nella
% stessa cella, se no lalgoritmo fa la cacca!!
v=floor((vmax+1)*rand(ncar,1)); gap=zeros(ncar,1);
% passiamo ora allalgoritmo
iterazioni=1;
while iterazioni<nit+1
% Per il calcolo del gap dobbiamo vedere le distanze in ogni strada. nel
% caso della prima macchina mettiamo come gap 999 perch lei, fino
% allincrocio, ha la strada libera.
for jj=1:2*num_node
ind=find(where==jj);
val=toend(ind);
[sortval,indval]=sort(val);
gapval=sortval(2:end)-sortval(1:end-1)-1;
gap(ind(indval))=[999;gapval];
end
% Mettiamo in memoria literazione
WHERE(:,iterazioni)=where;
TOEND(:,iterazioni)=toend;
V(:,iterazioni)=v;
GAP(:,iterazioni)=gap;
v=v+((v<vmax).*(gap>v)); % Se la strada libera accellero di uno
v=v+((gap-v).*(v>=gap)); % Altrimenti rallento
v=v+((toend-v).*(toend<v));
% Allincrocio rallento
% Sposto quelli che non sono arrivati alla fine della strada
toend=toend-v;
% A questo punto processo quelli che sono arrivati allincrocio
CHIGIRA=find(toend==0);
v(CHIGIRA)=1; % La velocit dopo un incrocio la minima
for chigira=CHIGIRA
doveva=Street(where(chigira)).neighbor;
128
where(chigira)=doveva(ceil(length(doveva)*DIRECTIONS(chigira,iterazioni)));
toend(chigira)=length(Street(where(chigira)).ascissa)-1;
end
iterazioni=iterazioni+1;
end
A.3.3
file: Darcy.edp
Lo script FreeFem++ permette di risolvere il problema di diffusione (3.4) presentato nella
Sezione 3.2 con un approccio basato su un usuale schema di Galerkin a elementi finiti,
sfruttando le differenze finite per lavanzamento in tempo. Allinterno dello script occorre
definire la matrice di permeabilit D e il vettore corrispondente alla soluzione iniziale
uhold.
mesh Th=square(40,40, [3*x, 3*y]); \\ Definizione della mesh
fespace Vh(Th,P1); \\ Spazio FEM per le incognite
fespace Xh(Th,P0); \\ Spazio FEM per i dati:
\\ i dati sono costanti a tratti
\\ Dichiarazione di variabili e dati
Vh uh, uhold, vh;
Xh Dxx, Dxy, Dyx, Dyy;
\\ Inizializzazione dei dati
Dxx = 0.0 * (x>0)*(x<5)*(y>0)*(y<5) + 1.0;
Dxy = 0;
Dyx = 0;
Dyy = Dxx;
uhold = 2.0 * (x>0)*(x<0.3); \\ Soluzione iniziale
real dt = 0.3;
\\ Passo discretizzazione temporale
real[int] colorhsv=[ // tabella dei colori per la stampa
4/6, 1 , 0.5,
4/6, 1 , 1.0,
3/6, 1 , 1.0,
2/6, 1 , 1.0,
1/6, 1 , 1.0,
0/6, 1 , 1.0,
0/6, 1 , 0.5,
0/6, 1 , 0.2];
\\ Definizione del problema differenziale in forma debole
\\ Solutore di tipo GMRES con tolleranza inferiore a 10^-5
problem laplace(uh,vh,solver=GMRES,tgv=1e5) =
int2d(Th)( uh*vh + dt*Dxx*dx(uh)*dx(vh) + dt*Dxy*dy(uh)*dx(vh)
+ dt*Dyx*dx(uh)*dy(vh) + dt*Dyy*dy(uh)*dy(vh) )
- int2d(Th)( uhold*vh );
Appendice A. Codice
129
real[int] visualizzatore=[0.,1.,2.,3.,4.,5.,6.,7.,8.,9.,10.,12.,14.,16.,
18.,20.,22.,24.,26.,35.];
visualizzatore=0.06*visualizzatore;
\\ Stampa della soluzione iniziale
plot(uhold,value=false,fill=true,wait=false,aspectratio=true,
viso=visualizzatore,hsv=colorhsv,ps="manhattanDarcyInit.eps");
\\ Calcolo del transitorio e stampa delle soluzioni
for (int i=0; i<100; ++i) {
laplace; // solve the problem plot(uh); // to see the result
if(i%5==0){
plot(uh,value=false,fill=true,wait=false,aspectratio=true,
viso=visualizzatore,hsv=colorhsv,ps="manhattanDarcy"+i+".eps");}
uhold = uh;
}
A.4
file: brownian1.edp
Lo script Matlab effettua una stima della porosit D su una mappa utilizzando il metodo
presentato nella Sezione 3.3.2 Riceve in ingresso la struttura delle strade Street ricavata
con lalgoritmo Letturamappa.m presentato nella Sezione A.1.
% Principio di riflessione
for i=1:num_node
if isempty(Street(2*i-1).neighbor)
Street(2*i-1).neighbor=2*i;
elseif isempty(Street(2*i).neighbor)
Street(2*i).neighbor=2*i-1;
end
end
% Lo script simula il moto casuale di NCAR particelle su un determinato
% pattern
% Consideriamo di avere gi la mappa, ovvero che siano state create le
% variabili map, Intersection e Street
NCAR=200; % numero di moti browniani da simulare
nit=400; % tempo finale a cui interrompere la simulazione
vmax=5;
% velocit massima del modello di Nagel
WHERE=zeros(NCAR,nit); % In che strada o incrocio il veicolo
TOEND=zeros(NCAR,nit); % Lascissa curvilinea su ogni strada dei
%
veicoli rispetto alla fine della strada
V=zeros(NCAR,nit);
% La velocit di ogni veicolo
DIRECTIONS=rand(NCAR,nit);
130
Bibliografia
[BML94] P. J. Basser, J. Mattiello, D. LeBihan: MR Diffusion Tensor
Spectroscopy and Imaging
Biophysical Journal, 66(1994)
[BM+05] P. G. Batchelor, M. Moakher, D. Atkinson, F. Calamante, and A.
Connelly: A Rigorous Framework for Diffusion Tensor Calculus
Magnetic Resonance in Medicine 53 (2005)
[B06] G. Beni: From Swarm Intelligence to Swarm Robotics
Dept. of Electrical Engineering, University of California, USA (2006)
[BDS00] S. Benjaafar, K. Dooley, W. Setyawan: Cellular Automata for
Traffic Flow Modeling
Dept. of Mechanical Engineering, University of Mennesota, Minneapolis
(2000)
[B08] C. Blanc: Lancio del progetto Grand Paris
Discorso pubblico (13-05-2008)
[BBE96] V. Blue, F. Bonetto, M. Embrechts: A Cellular Automata of
Vehicular Self Organization and Nonlinear Speed Transitions
Transportation Research Board Annual Meeting, Washington DC (1996)
[BS96] A.N. Borodin, P. Salminen: Handbook of Brownian Motion Facts and Formulae
Birkhnauser Verlag (1996)
[BB92] L. Brieger and E. Bonomi: A Stochastic Lattice Gas for Burgers Equation: A Practical Study
Journal of Statistical Physics, Vol. 69 (1992)
[CS+07] Centro Studi sui Sistemi di Trasporto
Sistemi di trasporto, N. 97 (2007)
131
132
Bibliografia
Bibliografia
133
[GITA] Ministero dellambiente e tutela del territorio: Decreto ministeriale 2 aprile 2002, n. 60
Gazzetta Ufficiale N. 87 del 13 Aprile 2002
[H63] F. A. Haight: Mathematical theories of traffic flow
New York; London: Academic press (1963)
[H00] G.E. Haussmann: Mmoires du Baron Haussmann
Seuil, Paris (2000)
[H01] D. Helbing: Traffic and related self-driven many-particle systems
Reviews of modern physics, Vol. 73 (2001)
[HS99] D. Helbing, M. Schreckenberg: Cellular Automata Simulating
Experimental Properties of Traffic FlowPhysic Journal, pp. 793
ss.(1999)
[HS80] T. Hida, T. P. Speed: Brownian motion
New York, Springer (1980)
[JS+06] A. John, A. Schadschneider, D. Chowdhury, K. Nishinari: Traffic
Pattern and Flow Characteristics in an Ant Trail Model
Institut fr Theoretische Physik, Kln, Germany (2006)
[LLW92] L. Lam, S. Lee, C.Y. Wuen: Thinning Methodologies - A
Comprehensive Survey
IRRR TPAMI, vol. 14, no. 9, pp. 869-885 (1992)
[LW55] M.J. Lighthill, G.B. Whitham: On kinematic waves. II. A theory of traffic flow on long crowded roads
Proceedings of the Royal Society of London, A229(1178), 317-345 (1955)
[M07] P. Miller: Swarm Theory
National Geographic Magazine, July 2007
[MD03] N. Moussa, A.K. Daoudia: Numerical study of two classes of
cellular automaton models for traffic flow on two-lane roadway
Eur. Phys. J. B 31, 413-420 (2003)
[MK99] R. Mahnke, J. Kaupus: Stochastic theory of freeway traffic
Physic Review E 59, 117-125 (1999)
134
Bibliografia
Bibliografia
135