• Non ci sono risultati.

1.5.1 Dynamic User Assignment – algoritmo di Gawron

L'algoritmo Dynamic User Assignment sviluppato da C. Gawron (DUA-Gawron), utilizzato dal pacchetto “DuaIterate”, è un approccio microscopico, il che significa che gli itinerari attraverso la rete vengono calcolati per ogni veicolo individualmente.

La procedura di base è la seguente:

1) si inizializza il processo calcolando il percorso più veloce a rete vuota per ciascun veicolo simulato; quindi si imposta la probabilità di utilizzo per questo percorso su "1".

2) si esegue la simulazione utilizzando gli itinerari attuali per ottenere i tempi di percorrenza degli archi nel tempo di simulazione.

3) si confrontano i tempi medi di percorrenza con l'ultima iterazione (se presente) e si esce dal

procedimento se il risultato converge, ovvero se la riduzione del tempo di viaggio medio scende al di sotto di una determinata soglia.

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 33

4) si calcolano le nuove routes per i veicoli utilizzando i tempi di percorrenza calcolati all'interno della rete; quindi, si torna al passaggio 2.

Il punto cruciale è il calcolo delle nuove routes dei veicoli al punto 4.

Per evitare oscillazioni, ogni conducente conosce un set di itinerari e ne sceglie uno in modo casuale, in base alla durata del viaggio, utilizzando i tempi di percorrenza sugli archi calcolati nell'iterazione precedente. Inizialmente, le stime del conducente sui tempi di percorrenza per i percorsi che conosce sono adattati ai tempi di viaggio ottenuti dalla simulazione:

𝜏′

𝑑(𝑥) = {𝜏𝑠

(𝑥) 𝑠𝑒 𝑙′𝑖𝑡𝑖𝑛𝑒𝑟𝑎𝑟𝑖𝑜 𝑥 𝑣𝑖𝑒𝑛𝑒 𝑠𝑖𝑚𝑢𝑙𝑎𝑡𝑜

𝛽𝜏𝑟(𝑥) + (1 − 𝛽)𝜏𝑑(𝑥) 𝑠𝑒 𝑙′𝑖𝑡𝑖𝑛𝑒𝑟𝑎𝑟𝑖𝑜 𝑥 𝑛𝑜𝑛 𝑣𝑖𝑒𝑛𝑒 𝑠𝑖𝑚𝑢𝑙𝑎𝑡𝑜

Dove

τd(x) Tempo di percorrenza dell’itinerario x, percepito dal conducente d

τs(x) Tempo di percorrenza dell’itinerario x, ottenuto dalla simulazione

τr(x) Tempo di percorrenza dell’itinerario x, calcolato sulla base del tempo di percorrenza degli archi che

lo compongono (calcolati durante la simulazione) β Fattore di peso

Quindi, viene aggiornata la probabilità di scelta di ogni percorso.

La probabilità per ogni percorso non utilizzato noto al conducente viene ricalcolata da una funzione che confronta il suo tempo di viaggio con il tempo di viaggio del percorso utilizzato nell'ultima fase di simulazione.

Anche qui, la probabilità di scelta del percorso utilizzato viene adattata: 𝑝′𝑑(𝑟) =𝑝𝑑(𝑟) ∙ (𝑝𝑑(𝑟) + 𝑝𝑑(𝑠)) ∙ 𝑒 𝛼𝛿𝑟𝑠 (1−𝛿𝑟𝑠)2 𝑝𝑑(𝑟) ∙ 𝑒 𝛼𝛿𝑟𝑠 (1−𝛿𝑟𝑠)2+ 𝑝𝑑(𝑠) 𝑝′ 𝑑(𝑠) = 𝑝𝑑(𝑟) + 𝑝𝑑(𝑠) − 𝑝′𝑑(𝑟) Dove

pd(x) Probabilità di scelta dell’itinerario x (calcolata all’iterazione precedente)

p’d(x) Probabilità di scelta dell’itinerario x (calcolata nell’iterazione corrente)

r Itinerario considerato nella simulazione attuale s Altro itinerario appartenente al set di scelta

δrs Differenza di costo fra l’itinerario r e l’itinerario s, calcolato con la formula:

𝛿𝑟𝑠 =

𝜏𝑑(𝑠) − 𝜏𝑑(𝑟)

𝜏𝑑(𝑠) + 𝜏𝑑(𝑟)

τd(x) Tempo di viaggio impiegato dall’utente d per percorrere l’itinerario x

In effetti, l'algoritmo non calcola inizialmente l'insieme degli itinerari conosciuti dall'utente, ma solo il migliore in ciascuna delle iterazioni; se il percorso migliore non è ancora compreso nel set degli itinerari noti al conducente, viene aggiunto a questo elenco e valutato insieme agli altri.

Per il calcolo del tempo di viaggio su un itinerario, ogni arco viene "pesato" considerando il tempo di percorrenza calcolato a partire dall'ingresso del veicolo sullo stesso; per β viene solitamente considerato 0,9.

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 34

1.5.2 Assegnazione con l’algoritmo di Dijkstra

La semplice implementazione di Dijkstra, utilizzata dal pacchetto “Duarouter”, ricerca per ogni veicolo il percorso più veloce attraverso la rete vuota.

Si calcolano i tempi di percorrenza degli archi sulla base di:

 velocità massime consentite

 lunghezze dei vari archi.

Non vengono prese in considerazione le variazioni dei tempi di viaggio dovute alla presenza di veicoli sugli stessi itinerari (ogni veicolo è considerato come isolato).

1.5.3 One-shot routing

Gli algoritmi one-shot sono stati proposti come i metodi più appropriati per calcolare i percorsi per ciascuno dei veicoli simulati.

Il metodo one-shot implementato per le indagini qui descritte calcola un nuovo percorso per ciascun veicolo non appena il veicolo viene inserito nella rete.

Il percorso viene calcolato utilizzando l'algoritmo Dijkstra, in cui il peso di ciascun arco viene continuamente adattato al tempo di viaggio di questo all'interno della simulazione.

Il peso utilizzato è: 𝑤(𝑡, 𝑒) = { 𝑙(𝑒) 𝑣𝑚𝑎𝑥(𝑒) 𝑝𝑒𝑟 𝑡 = 0 𝑤(𝑡 − 1, 𝑒) ∙ 𝑟 + 𝑙(𝑒) 𝑣𝑐𝑢𝑟𝑟(𝑡, 𝑒) ∙ (1 − 𝑟) 𝑝𝑒𝑟 𝑡 ≠ 0 Dove

w(t,e) Peso dell’arco e all’iterazione t l(e) Lunghezza dell’arco e

vmax(e) Velocità massima consentita sull’arco e

vcurr(t,e) Velocità media dei veicoli sull’arco e all’iterazione t

r Fattore di peso

Come si può vedere, l'algoritmo deve solo conoscere i nodi di inizio e fine del percorso e l'ora di partenza del veicolo per calcolare un itinerario.

Di solito, r è posto pari a 0,5.

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 35

1.5.4 Assegnazione incrementale

L'assegnazione incrementale (Incremental assignment) è un noto metodo di assegnazione macroscopica ed è stata ampiamente applicata per decenni grazie alla sua semplicità.

Il concetto principale è quello di assegnare la matrice O-D data in modo proporzionale e iterativo. Ad ogni iterazione i tempi di viaggio vengono aggiornati in base agli ultimi flussi sugli archi e alle corrispondenti funzioni di costo.

La proporzione della matrice O-D assegnata ad ogni iterazione e il numero delle iterazioni sono decise dall'utilizzatore.

Il modello di traffico risultante da questa assegnazione non corrisponderà allo stato di equilibrio dell'utente, poiché una volta assegnata la domanda di traffico non può essere modificata; tuttavia, questo metodo è stato adottato a causa del contenuto tempo di calcolo richiesto (molto inferiore rispetto ad altre tecniche di assegnazione del traffico).

Uno stato di traffico congestionato può essere rappresentato da questo metodo di assegnazione aumentando il numero di iterazioni.

Per applicare il risultato dell'assegnazione macroscopica nella simulazione microscopica di SUMO, è necessario generare il set di itinerari e i corrispondenti tempi viaggio.

Le routes utilizzate delle coppie O-D ad ogni iterazione vengono registrate e adottate come itinerari dei veicoli, e assegnati nella rispettiva iterazione.

In base al numero delle iterazioni definite, il periodo analizzato verrà suddiviso nei rispettivi intervalli di tempo: ad esempio, ci sono 10 intervalli di 6 minuti se il numero delle iterazioni e il periodo analizzato sono rispettivamente 10 e 1 ora.

I tempi di partenza dei veicoli, assegnati in ciascun intervallo di tempo, sono quindi generati casualmente. Inoltre, le capacità degli archi nelle aree urbane sono determinate principalmente dalle capacità delle intersezioni, regolate dai corrispondenti cicli semaforici.

L’assegnazione incrementale è applicabile con il pacchetto Assignment, e in parte con il pacchetto MARouter; è infatti possibile scegliere questo metodo di assegnazione con il comando di processing

--assignment-method incremental

Per maggiori approfondimenti sui comandi di processing di MARouter si rimanda al capitolo 1.6.8.

1.5.5 Assegnazione stocastica di equilibrio (Stochastic user equilibrium assignment)

L'assegnazione stocastica di equilibrio (Stochastic user equilibrium, SUE) viene adottata al fine di prendere in considerazione:

 lo stato del traffico di equilibrio;

 le varie percezioni del tempo di viaggio tra gli automobilisti.

Viene quindi applicato il metodo delle medie successive (MSA); inoltre, viene utilizzato l'algoritmo k- shortest routes per ottenere itinerari ragionevoli.

In condizioni di equilibrio, nessun conducente può migliorare/ridurre i tempi di viaggio ottenuti.

Per questo metodo vengono applicati due modelli: il modello c-Logit (utilizzato da DuaIterate) e il modello Logit modificato proposto da Lohse (utilizzato da MARouter).

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 36

1.5.5.1 Modello c-Logit

Questo modello è basato sul Logit, con l'ipotesi che tutti gli itinerari alternativi e i residui aleatori ε dei tempi di viaggio ricevuti dai conducenti, ovvero 𝐶 = 𝑐 + 𝜀 , siano variabili di Gumbel indipendenti e

identicamente distribuite.

Rispetto al modello Logit, nel c-Logit la somiglianza fra le alternative viene ulteriormente considerata con l'uso del commonality factor (CF); le probabilità di scelta del percorso calcolate sono quindi più ragionevoli di quelle del modello Logit.

𝑝(𝑘) = 𝑒 [𝜃∙(𝐶𝑘−𝐶𝐹𝑘)] ∑ℎ𝜖𝑅 𝑒[𝜃∙(𝐶ℎ−𝐶𝐹ℎ)] 𝑖𝑗 ∀ 𝑘 ∈ 𝑅𝑖𝑗, ∀ 𝑖 ∈ 𝐼, ∀ 𝑗 ∈ 𝐽 Dove

p(k) Probabilità di scelta dell’itinerario k

θ Parametro di dispersione del tempo di viaggio percepito dagli utenti Ck Costo del viaggio sull’itinerario k

Rij Insieme degli itinerari che collegano i nodi i e j

CFk Commonality factor dell’itinerario k, calcolato con l’equazione

𝐶𝐹𝑘 = 𝛽0∙ 𝑙𝑛 ∑ [ 𝐿ℎ𝑘 𝐿ℎ0.5∙ 𝐿𝑘0.5 ] 𝛾 ℎ ∈ 𝑅𝑖𝑗

Lhk Parte comune dell’utilità fra gli itinerari h e k (di solito si considera in base al tempo di viaggio)

Lh Utilità dell’itinerario h

Lk Utilità dell’itinerario k

β0 Parametro di calibrazione

γ Parametro di calibrazione

Il modello c-Logit è utilizzabile nel pacchetto DuaIterate con il comando

--routing-algorithm clogit

1.5.5.2 Modello Lohse-Logit

Il modello Lohse-Logit si basa sul modello Logit e su numerosi studi empirici.

Il tempo di percorrenza del percorso più breve di ciascuna coppia O-D viene preso in considerazione, in modo che le probabilità di scelta dell'itinerario calcolate siano più ragionevoli rispetto al modello standard. La formula modificata è: 𝑝(𝑘) = 𝑒 −(𝛽∙𝑋𝑘)2 ∑ℎ 𝜖 𝑅 𝑒−(𝛽∙𝑋ℎ)2 𝑖𝑗 ∀ 𝑘 ∈ 𝑅𝑖𝑗, ∀ 𝑖 ∈ 𝐼, ∀ 𝑗 ∈ 𝐽 Con 𝑋𝑘 = 𝐶𝑘 𝐶𝑚𝑖𝑛,𝑖𝑗 − 1

Dove Cmin,ij è il costo del percorso più breve fra i e j.

β è il parametro di dispersione della percezione del tempo di viaggio da parte degli utenti; Lohse suggerisce, per il calcolo di β, la formula empirica

𝛽 = 12

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 37

Il Commonality Factor (CF) viene adottato in questo modello per prevenire le probabilità di scelta di itinerari irragionevoli.

Come per l'assegnazione incrementale, il risultato dell'assegnazione dai modelli SUE viene disaggregato e i rispettivi itinerari e tempi di partenza dei veicoli devono essere generati per poter eseguire la simulazione microscopica.

Inoltre, viene considerata anche l'influenza dei cicli semaforici per il calcolo delle capacità degli archi. Per utilizzare il modello Lohse-Logit con MARouter si utilizza il comando di processing

--route-choice-method lohse

1.5.6 Confronto fra i modelli

Un gruppo di studiosi dell’Institute of Transportation Systems del German Aerospace Center, hanno

applicato i modelli descritti in precedenza, eseguendo una simulazione di traffico su una stessa rete, al fine di confrontare fra loro i risultati:

Tab 1. 9: Confronto fra i risultati dei diversi algoritmi, su reti “one-way” (composte unicamente da archi