• Non ci sono risultati.

CAPITOLO 1 IL SOFTWARE SUMO

1.6 Assegnazione della domanda di trasporto alla rete: definizione degli itinerari (routes)

1.6.5 DuaIterate

DuaIterate è un pacchetto che viene usato per il calcolo (approssimato) dell’equilibrio dinamico della rete: esegue una assegnazione dinamica intraperiodale (indicata, nella guida di Sumo, come “Dynamic User Equilibrium”).

Con questo sistema, ciascun veicolo viene assegnato all’itinerario di minimo costo (simulazione Duarouter), che però viene aggiornato passo passo sulle condizioni di traffico (usando l’algoritmo di Gawron, oppure il modello Logit, con costi aggiornati passo passo): ad ogni variazione delle condizioni della rete, il veicolo cambia punto di origine e percorso.

Tra le iterazioni successive di Duarouter, il formato “.rou.alt.xml” viene utilizzato per registrare non solo la migliore route corrente, ma anche routes alternative precedentemente calcolate.

Questi itinerari vengono raccolti all'interno di una distribuzione del percorso e utilizzati quando si decide il percorso effettivo da scegliere nell'iterazione successiva; questo non è sempre quello con il costo attualmente più basso, ma è piuttosto campionato dalla distribuzione di percorsi alternativi da un algoritmo configurabile (algoritmo di Gawron o modello Logit): quando le variazioni dei costi degli itinerari (derivanti dai costi degli archi) diventano molto basse, il ciclo termina e si è raggiunto l’equilibrio.

L'algoritmo di Gawron calcola le probabilità di scelta da una serie di itinerari alternativi per ciascun utente. Per l'utilità di ogni itinerario considera:

 il tempo di viaggio lungo il percorso, stimato all'iterazione precedente

 la somma dei tempi di percorrenza degli archi per una serie di percorsi alternativi

 la probabilità di scelta dell'itinerario all'iterazione precedente

Il modello Logit calcola la probabilità di scelta di ogni itinerario con la formula 𝑃𝑗=

𝑒𝛼𝑉𝑗 ∑ 𝑒𝛼𝑉𝑖

Dove con “j” si indica l’itinerario considerato e con “i” l’insieme di tutti gli itinerari alternativi

(considerando, per ogni itinerario, la somma della probabilità di scelta di ogni arco appartenente ad esso; in questa accezione, “j” diventa l’insieme degli archi appartenenti all’itinerario e “i” l’insieme di tutti quelli che non vi appartengono); α è il parametro moltiplicativo della distribuzione caratteristica della variabile di Weibull, V la parte sistematica dell’utilità.

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 54

Operativamente, per l’uso di DuaIterate, dal prompt dei comandi del DOS si scrive:

duaiterate.py -n <nome file>.net.xml -t <nome file>.trips.xml -l <n iterazioni>

Dove

Comando Descrizione

-n Indica il network, il file della rete

-t Indica il file delle trips, precedentemente generato -l Indica il numero di iterazioni da eseguire

Tab 1. 24: Comandi indispensabili per una simulazione con DuaIterate

Accanto questi 3 comandi fondamentali esistono una serie di comandi opzionali che è possibile impartire alla simulazione; contrariamente ai pacchetti precedentemente descritti, DuaIterate è un file Python, quindi in caso si desideri aggiungere comandi, questi devono essere necessariamente forniti in un ordine preciso. I principali comandi opzionali, nel loro ordine (e assieme ai sopracitati comandi fondamentali) sono:

Comando Descrizione

-w

--disable-warning

Comando che fa sì che i messaggi di warning, frutto dell’elaborazione, non vengano scritti nel file log

-n --net-file

È il comando per fornire il file di rete, precedentemente descritto -+

--additional

Comando che serve per fornire files addizionali -b

--begin

Comando che serve a indicare l’istante di inizio della simulazione

-e --end

Comando che serve a indicare l’istante di termine della simulazione

--time-to-teleport Comando che serve a definire il tempo di attesa (solitamente al semaforo, in generale ad un’intersezione) oltre il quale il veicolo si “teletrasporta” oltre l’intersezione. Di default è “300”; fornendo un valore negativo, la funzione di teleporting viene disabilitata

-t --trips

È il comando per fornire il file delle trips, precedentemente descritto -r

--routes

Comando che permette di fornire un file di routes di cui tener conto nella simulazione

-F --flows

Comando che permette di fornire un file di flussi di cui tener conto nella simulazione

-l Comando per indicare il numero di iterazioni da eseguire, già descritto in precedenza

-D --districts

Comando che permette di fornire un file con le TAZ

--routing-algorithm Comando che permette di scegliere l’algoritmo di minimo percorso da utilizzare con Duarouter, nella fase iniziale del procedimento (vedi cap 1.6.2)

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 55

-J

--addweights

Comando che permette di fornire un file addizionale contenente costi personalizzati di una parte (o di tutti) degli archi della rete, che vengono utilizzati da Duarouter nel calcolo del minimo percorso

--router-verbose Comando per generare un file contenente una serie di dati e statistiche, al termine della simulazione di Duarouter

Tab 1. 25: Lista completa dei comandi per una simulazione con DuaIterate

Duaiterate fornisce in output il file delle routes (estensione “.rou.xml”). Aprendo tale file con blocco note, si osservano script di questo tipo:

<vehicle id="63" depart="0.79" departLane="free" departSpeed="max" fromTaz="1" toTaz="2"> <route edges="-135430562#1 -135430562#0 205280603#0 205280603#1 -135430558#7 - 135430558#6 -135430558#5 -135430558#4 -135430558#3 -135430558#2 -135430558#1 - 135430558#0 -319382053 319382055#0 319382055#1 319382055#2 597620487 597620486 - 587751341 -140217495#6 -140217495#5 -140217495#4 -140217495#3 -140217495#2 - 140217495#1 -140217495#0 597795322 597795324 140217498 140217496#0 140217496#1 166126986 597796761#0 -35439253#1 -35439253#0 35054539#1 505951777 235483368"/> </vehicle>

Per l’interpretazione della prima riga dello script, si rimanda al cap 1.3.3; a seguire, alla voce “route edges” vengono riportati, in successione, gli id degli archi appartenenti all’itinerario percorso dal veicolo

considerato (il cui id è riportato alla prima riga).

1.6.6 One-Shot Router

One-shot.py fornisce una variante della dynamic user assignment: il metodo di assegnazione è lo stesso utilizzato da duaIterate.

Le trips determinate vengono assegnate ai rispettivi itinerari più veloci in base agli orari di partenza e a un determinato intervallo di aggiornamento del tempo di viaggio.

Gli utenti possono definire diversi intervalli di aggiornamento del tempo di viaggio (ad esempio, fornendo "900", i tempi di percorrenza del collegamento verranno aggiornati ogni 900 secondi).

Se l'intervallo di aggiornamento del tempo di viaggio è impostato su -1, i tempi di viaggio non verranno aggiornati e verrà considerata la velocità di flusso libero per tutti i veicoli.

Con questo pacchetto non si raggiunge lo stato di equilibrio stocastico della rete. Operativamente, per l’uso dell’algoritmo One-Shot si usa il comando:

one-shot.py -f <travel-time updating interval> -n <network file> -t <trip file>

Dove

Comando Descrizione

-f Indica l’intervallo di aggiornamento dei tempi di viaggio -n Indica il network, il file della rete

-t Indica il file delle trips, precedentemente generato Tab 1. 26: Comandi indispensabili per una simulazione con One-Shot Router

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 56

Sono disponibili altri comandi impartibili dopo l’assegnazione del file delle trips, fra cui:

Comando Descrizione

-b --begin

Indica l’istante di inizio della simulazione

-e --end

Indica l’istante di termine della simulazione

-L

--lastRoutes

Come output della simulazione viene fornito un file che tiene conto solo dell’ultimo passo del ciclo iterativo (le routes generate nei cicli intermedi non vengono scritte) -+

--additional

Comando che permette di fornire file XML addizionali, di cui tener conto nella simulazione (ad esempio un rerouter)

-A --routing- algorithm

Permette di scegliere se calcolare il percorso più breve con l’algoritmo Dijkstra (“dijkstra”) o A-Star (“astar”)

-r

--rerouting-explicit

Permette di indicare gli id di determinati veicoli per i quali effettuare un rerouting Tab 1. 27: Comandi opzionali per una simulazione con One-Shot Router

Il file di output della simulazione è un file xml contenente le routes dei veicoli.

1.6.7 Assignment Router

A differenza di DuaIterate e One-Shot, il pacchetto Assignment viene utilizzato per eseguire un'assegnazione macroscopica.

L’algoritmo di ricerca del percorso più breve implementato è il Dijkstra, di cui si possono utilizzare 3 varianti:

 Dijkstra plain: vengono ignorati i perditempo dovuti alle manovre di svolta nella valutazione dell’impedenza spaziale;

 Dijkstra extend: tiene conto dei perditempo dovuti alle manovre di svolta nella valutazione dell’impedenza spaziale;

 Dijkstra boost: viene utilizzato per accelerare la ricerca del minimo percorso, e tiene conto dei perditempo dovuti alle manovre di svolta nella valutazione dell’impedenza spaziale.

Sono disponibili tre tipi di assegnazioni di traffico macroscopico: un'assegnazione incrementale, una

stochastic user equilibrium assignment (SUE) basata sul modello C-Logit e un modello SUE basato sul Logit e sulle funzioni di utilità di Lohse.

Il modello C-Logit è impostato come predefinito.

Per utilizzare questo pacchetto sono richiesti altri files, ovvero elements.py, network.py, dijkstra.py, inputs.py, outputs.py, assign.py e tables.py.

Questi files si trovano nella stessa directory di Assignment.py. Operativamente, dal prompt del DOS si esegue il comando:

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 57

Assignment.py -e <assignment method> -i <iterations> -d <districts file> -m <matrix file> -n <network file> -s <traffic signal files> -+ <Dijkstra type>

Dove:

Comando Descrizione

-e Indica il metodo di assegnazione desiderato (“incremental” per assegnazione incrementale, “lohse” per il SUE basato su Logit e funzioni di utilità di Lohse, “clogit” per il C-Logit); di default viene utilizzato il C-Logit

-i Indica il numero massimo di iterazioni per l’assegnazione; di default sono 20 -d Indica il file delle TAZ

-m Indica la matrice OD -n Indica il file di rete

-s Serve a fornire file con cicli semaforici preimpostati (opzionale)

-+ Serve ad indicare la variante dell’algoritmo di Dijkstra da utilizzare (“plain”, “extend” o “boost”); di default è boost

Tab 1. 28: Comandi utilizzabili per una simulazione con Assignment.py

1.6.8 MARouter

MARouter (abbreviazione di macroscopic assignment router) è uno strumento introdotto nella suite SUMO a partire dal rilascio della versione 0.22.0; implementa algoritmi standard per l'assegnazione macroscopica del traffico, come l'algoritmo di assegnazione iterativa e l'assegnazione stocastica basata sul modello Logit- Lohse.

L'input per un'esecuzione di assegnazione macroscopica è una matrice origine-destinazione (matrice O-D) contenente informazioni aggregate sul conteggio delle trips tra le zone di traffico (TAZ), o un elenco di trips, che viene quindi aggregato internamente ma disaggregato prima dell'output.

MARouter è (per grandi scenari) molto più veloce dell'assegnazione microscopica iterativa, poiché

sostituisce l’iterazione di simulazione microscopica con un semplice calcolo del tempo di viaggio previsto, basato sulla domanda misurata.

Ciò consente una iterazione rapida, ma perde tutti i vantaggi della simulazione microscopica, come la modellazione dettagliata delle intersezioni e l'interazione dei flussi di traffico.

Per mantenere i vantaggi del metodo microscopico nei risultati, i due metodi sono stati accoppiati: si comincia con l'assegnazione macroscopica, quindi si inseriscono i risultati nel processo iterativo della microsimulazione.

MARouter implementa un approccio statico tradizionale all'assegnazione del traffico.

L'input è, come già visto, costituito da una rete SUMO suddivisa in zone di analisi del traffico (TAZ), una matrice origine-destinazione (matrice OD) che viene fornita per un intervallo di tempo fisso (di solito un giorno) e una modalità di trasporto (ad esempio autovetture).

Un secondo input nel modello è un insieme di limiti di capacità (CR), funzioni che modellano il modo in cui il tempo di percorrenza su un arco aumenta con il volume del traffico attivo su quell'arco.

MARouter attualmente utilizza le funzioni del seguente modulo: 𝑡(𝑥) = 𝑡0∙ (1 + 𝑐 ∙

𝑥 𝑙)

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 58

Dove

x è il numero di veicoli che percorrono l’arco t0 è il tempo di viaggio nella rete vuota

l è il numero di corsie dell’arco

c è una costante che varia a seconda delle caratteristiche della classe stradale (autostrada o strada urbana) e della massima velocità consentita

Al momento queste funzioni sono codificate nel codice SUMO e non possono essere modificato dall'utente (a meno di modificare il codice sorgente); si possono trovare nel file src/marouter/Assignments.cpp. MARouter calcola dalle matrici OD e da queste funzioni un'assegnazione che consiste in un insieme di routes per ciascuna coppia OD, insieme ad un numero di veicoli che percorrono tali routes.

Per fare ciò possono essere impiegati diversi algoritmi di base.

L'approccio più elementare è chiamato assegnazione iterativa, e assegna una percentuale fissa della domanda alla rete, ricalcola i tempi di percorrenza previsti date le funzioni CR (viste sopra) e assegna sulla base dei risultati, nell'iterazione successiva.

MARouter può essere utilizzato in alternativa a DuaIterate per effettuare l’assegnazione di equilibrio dinamico, e consente di aggiornare la matrice O/D a partire dai conteggi di traffico.

Il pacchetto riceve in input la matrice O/D da aggiornare e i conteggi di traffico sulle sezioni di rilievo da DFRouter.

Operativamente, dal prompt dei comandi del DOS, dalla cartella di lavoro, si scrive:

marouter <FILES DI INPUT> <FILES DI OUTPUT> <COMANDI DI PROCESSING (opzionali)>

I files di input indispensabili per la simulazione sono:

Comando Descrizione

-n --net-file

Comando per fornire il file di rete (network) -d

--additional-files

Comando per fornire files addizionali, solitamente il file delle TAZ -m

--od-matrix-files

Comando per fornire la matrice O/D, in formato txt (come descritto al cap 1.3.2) Tab 1. 29: Comandi di input indispensabili per una simulazione con MARouter

Accanto a questi, opzionalmente, è possibile fornire altri files di input, come:

Comando Descrizione

-r

--route-files

Comando che permette di fornire un file xml di routes, di cui tener conto nell’elaborazione

-w

--weight-files

Comando che permette di fornire un file con costi personalizzati degli archi --lane-weight-files Comando che permette di fornire un file con costi personalizzati delle corsie degli

archi

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 59

L’elaborazione produce 2 files di output: il file delle routes e il file che riporta i flussi sugli archi; questi file vengono generati con i comandi:

Comando Descrizione

-o

--output-file

Comando con cui si indica il nome del file delle routes da generare (contenente anche i flussi sulle routes)

--netload-output Comando con cui si indica il nome del file contenente i flussi sugli archi e il loro costo finale calcolato

Tab 1. 31: Comandi di output per una simulazione con MARouter

I comandi di processing sono opzionali, e i principali sono:

Comando Descrizione

--weights.priority-factor Con questo comando si impone alla simulazione di calcolare il costo degli archi come una media pesata fra il tempo di percorrenza (traveltime) e la priority; il valore fornito con questo comando (variabile fra [0,1]) rappresenta il peso della priority. Di default è “0”

--routing-algorithm Comando che permette di scegliere l’algoritmo da utilizzare nel calcolo del minimo percorso; le opzioni sono “dijkstra” (algoritmo di Dijkstra, opzione di default), “astar” (algoritmo A-Star), “CH” (algoritmo Contraction Hierarchies) e “CHWrapper” (variante dell’algoritmo Contraction Hierarchies)

-s --scale

Comando che permette di fornire un fattore di scala (numero decimale) ai flussi nella rete

--assignment-method Comando che permette di scegliere l’algoritmo di assegnazione; le opzioni sono “incremental” (assegnazione incrementale, descritta al cap 1.5.4; è l’opzione di default), “UE” (User Equilibrium, assegnazione di equilibrio) e “SUE”

(Stochastic user equilibrium, assegnazione stocastica di equilibrio, descritta al cap 1.5.5)

-i

--max-iterations

Comando che impone il numero massimo di iterazioni da eseguire nel calcolo degli itinerari con l’assegnazione incrementale e lo Stochastic user assignment; di default è 20

--max-inner-iterations Comando che impone il numero massimo di iterazioni per raggiungere l’equilibrio con lo Stochastic user assignment; di default è 1000

--route-choice-method Comando che permette di scegliere il metodo per il calcolo degli itinerari; le opzioni sono “gawron” (algoritmo di Gawron), “logit” (algoritmo Logit, è l’opzione di default) e “lohse” (algoritmo Logit-Lohse)

Tab 1. 32: Comandi di processing per una simulazione con MARouter

È disponibile inoltre un’altra famiglia di comandi, che permette principalmente la generazione di report; i principali sono:

Comando Descrizione

-v --verbose

Con questo comando, ogni messaggio di warning o di output appare sulla schermata del prompt del DOS durante la simulazione

-W

--no-warnings

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 60

-l --log

Con questo comando viene generato un file di log (formato txt) contenente tutti i messaggi visualizzati con il comando --verbose

--error-log Con questo comando, tutti i messaggi di errore e di warning vengono scritti in un file log --ignore-errors Comando che permette di proseguire la simulazione anche quando per uno o più veicoli

non è possibile calcolare una route

Tab 1. 33: Comandi di report per una simulazione con MARouter

1.6.9 Cadyts Iterate

La simulazione microscopica del traffico è stata applicata con successo ed estensivamente sia per studiare le varie manovre di traffico, sia per valutare quantitativamente varie alternative progettuali e strategie di gestione; questo tipo di simulazione del traffico è diventato anche uno strumento essenziale per supportare il processo decisionale nella gestione del traffico.

Per ottenere risultati accurati, la rete di traffico deve essere previamente calibrata: sempre più dati relativi al traffico sono diventati disponibili con l'uso di tecnologie innovative, come Bluetooth e GPS, e possono essere utilizzati per scopi di calibrazione.

Tuttavia, i flussi di traffico sono ancora i dati più utilizzati per la calibrazione della rete non solo per la loro facile disponibilità e accessibilità, ma anche per il fatto che molti modelli di calibrazione ben sviluppati utilizzano i flussi di traffico come dati di riferimento; Cadyts è uno di questi modelli di calibrazione, ed è stato abbinato a diversi software di simulazione, come SUMO (l'accoppiamento fra SUMO e Cadyts è stato stabilito e testato su alcune reti di prova).

In termini matematici, Cadyts prende in considerazione il problema di stimare i flussi sugli itinerari (ovvero le trips) tra un insieme di coppie N origine/destinazione (O/D) a partire dai conteggi del traffico.

Detti

dn il maggior numero possibile di spostamenti fra la n-esima coppia O/D

Cn l'insieme dei percorsi disponibili che collegano la n-esima coppia O/D

dni il numero di trip sulla route 𝑖 𝜖 𝐶𝑛, con 𝑑𝑛= ∑𝑖 𝜖 𝐶 𝑑𝑛𝑖

𝑛

La probabilità che un viaggiatore nella n-esima coppia O/D scelga il percorso i è indicata da 𝑃𝑛(𝑖, 𝑑𝑛𝑖)

Questa probabilità è una funzione di tutti i livelli di domanda d, perché in condizioni di equilibrio la scelta dell'itinerario di un viaggiatore dipende dalle condizioni della rete, che a sua volta dipendono dalle scelte delle routes di tutti i viaggiatori nel sistema.

Matematicamente, il problema di trovare livelli di domanda di percorso che siano coerenti in questo senso può essere espresso come il problema di massimizzare la funzione:

𝑊(𝑑) = ∏ 𝑑𝑛! ∏ (𝑃𝑛(𝑖, 𝑑𝑛𝑖)) 𝑑𝑛𝑖 𝑖 𝜖 𝐶𝑛 ∏𝑖 𝜖 𝐶𝑛𝑑𝑛! 𝑁 𝑛=1

che rappresenta la probabilità che, per un dato modello di scelta del percorso 𝑃𝑛(𝑖, 𝑑𝑛𝑖), si verifichi un

particolare modello di domanda d nel sistema.

I livelli di domanda che massimizzano W(d) risolvono il problema di assegnazione del percorso dni per ogni

coppia n e per ogni 𝑖 𝜖 𝐶𝑛.

Dato un insieme y di conteggi di traffico osservati su alcuni o su tutti i collegamenti della rete, la calibrazione regola tutti i flussi di percorso in modo tale che i conteggi vengano riprodotti in misura ragionevole.

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 61

𝑊(𝑑|𝑦) ∝ 𝑝(𝑑|𝑦)𝑊(𝑑)

viene massimizzata, dove la probabilità p(y|d) è la probabilità di osservare le misurazioni y per determinati livelli di domanda d.

La funzione W modella la distribuzione di probabilità di un certo modello di domanda d dato sia il modello di scelta del percorso Pn(i|d) sia le misure y.

W(d|y) è massimizzato dalle probabilità di scelta del percorso: 𝑃𝑛(𝑖|𝑑, 𝑦) = 𝑒(𝛬𝑛𝑖+𝛤𝑛𝑖)𝑃𝑛(𝑖|𝑑) ∑ 𝑒(𝛬𝑛𝑗+𝛤𝑛𝑗)𝑃𝑛(𝑗|𝑑) 𝑗 𝜖 𝐶𝑛 Dove 𝛬𝑛𝑖 = 𝜕 ln 𝑝(𝑦|𝑑) 𝜕 𝑑𝑛𝑖 𝛤𝑛𝑖 = ∑ ∑ 𝑑𝑚𝑗 𝑃𝑚(𝑗|𝑑) ∙𝜕 𝑃𝑚(𝑗|𝑑) 𝜕 𝑑𝑛𝑖 𝑗 𝜖 𝐶𝑛 𝑁 𝑚=1

Cioè, una calibrazione della domanda massimizzando W richiede di scalare la probabilità di scelta di ogni route i di ogni n-esima coppia O/D di un valore 𝑒(𝛬𝑛𝑖+𝛤𝑛𝑖) (e poi di ri-normalizzare).

Λni riproduce l'effetto della domanda dni su scala logaritmica, cioè sulla riproduzione della misurazione.

Γni In sostanza descrive in che modo un cambiamento in dni influisce su tutti i livelli di domanda d (attraverso

le condizioni della rete).

Il concetto di base della calibrazione di Cadyts è che il pacchetto Duarouter di SUMO genera itinerari da una precedente distribuzione delle scelte in modo da raggiungere l'equilibrio delle alternative; il modello di calibrazione Cadyts effettua regolazioni in modo tale che una distribuzione precedente delle scelte di percorso si trasformi nella distribuzione finale basandosi su tutte le misurazioni del flusso di traffico disponibili.

In genere, Cadyts regola le scelte del percorso (insieme ai rispettivi orari di partenza) dopo ciascuna iterazione, fino al raggiungimento della convergenza o del numero predefinito di iterazioni; la calibrazione della scelta del percorso e la simulazione del traffico (insieme al proprio modello di scelta del percorso) interagiscono tra loro durante le iterazioni.

Tuttavia, tale procedura non funziona con SUMO.

Il modello di scelta del percorso di SUMO, ovvero il modello Gawron, non tiene conto della percezione dei viaggiatori sul tempo di viaggio, ovvero: i conducenti utilizzano solo il rispettivo percorso più veloce; al