Photo by Yi Zhong on Unsplash

Presentación de clase

Videos Tutoriales

Generación de sistemas de transporte

Debemos generar los sistemas de transporte y sus modos, también será posible generar la demanda del segmento.
Menú de accesos
Demand
Transport systems / Modes / Demand segments
Se crea el sistema de transporte con un nombre elegido por el usuario. En este caso un PrT-HGV
Create transport system
PCU: Número de vehículos físicos que representa ese tipo de transporte.
Recordar que al crear un sistema de transporte, se necesita asignar un modo, el cuál puedes elegir que se cree automáticamente.
Para la creación del sistema de transporte PuT-Train. En este caso no se preguntará sobre el PCU, solo vasta con indicar la velocidad y si se desea crear el modo de transporte.

Aquí las instrucciones para comenzar a trabajar en el mapa.

Agregar fondo con mapa sobre el que se va a trabajar. Se recomienda un .shp o .svg porque se puede incluir datos geográficos.

Nodos

Son puntos que representan intersecciones, uniones de vías o puntos clave en la red vial o ferroviaria. Son el inicio y fin de los enlaces. También pueden tener atributos adicionales como tipo de cruce (semáforo, glorieta, prioridad) o retardos asociado.
Agregamos los nodos en cada intersección, en las entradas y salidas de la ciudad, y si se gusta, en el centro de la ciudad.

Propiedades de los nodos.

List
Network
Nodes
Permite ver las propiedades de los nodos creados en forma de lista.
Number
Code
Name
Type numbre
Control Type
Número del nodo generado automáticamente.
Una forma rápida para el procesamiento interno.
Nombre del Nodo que el usuario defina.
Categoría por un número arbitrario. Permite filtrar.
La forma en la que se representará la intersección.

Enlaces

Son los tramos de vía que conectan un nodo con otro. Cada dirección se modela como un enlace independiente, con atributos como número de carriles, capacidad, velocidad, tipo de vía, etc. Representan la estructura básica de la red.
Vamos a unir un nodo con otro siguiendo la ruta del mapa.
En color morado se tomará como autopista (21)
Los morados que están fuera de la zona urbana (20)
El verde como ruta dentro de la ciudad (31)
El verde como ruta fuera de la ciudad (30)
La amarilla una ruta local dentro de la ciudad (41)
La amarilla una ruta local fuera de la ciudad (40)
La blanca la ruta del tren (90)
Dependiendo de la ruta tendremos diferentes características, y puede ser muy laborioso, por ello crearemos tipos de enlaces.

Tipos de enlaces

Aquí se muestran como podrían ser generados los tipos de enlaces, con todas sus características.
LinkTypes18.5KB
No
GTYPE
NAME
STRICT
RANK
TSYSSET
NUMLANES
CAPPRT
VOPRT
VMINPRT
VMAX_PRTSYS (CAR)
VMAX_PRTSYS (HGV)
VDEF_PUTSYS (BUS)
VDEF_PUTSYS (TRAIN)
VDEF_PUTSYS (WALK)
Número establecido para cada tipo
Forma de caracterización.
0= Interurbano
1= Urbano
Nombre del link
En booleano. Al estar activado cada cambio se hace en todos los links. Sino, sólo cambiarán los nuevos.
Rango asociado al número. Si el rango es más bajo, tiene prioridad de paso en la intersección
Tipos de sistemas de transporte permitidos en la vía
Número de líneas de cada transporte
Capacidad en veh/hr
Velocidad de flujo libre al comenzar la simulación
Velocidad mínima
Velocidad máxima para PrT
Velocidad máxima para Heavy Goods Vehicles
Velocidad máxima para Buses
Velocidad máxima para Trenes
Velocidad máxima para Caminata

Propiedades de los enlaces

List
Network
Link types
1.
Generar la lista en base a la lista de Excel.
2.
Generar los links y seleccionar el tipo.
En Visum siempre se genera de manera automática el doble sentido de los links, y se podrá elegir que tipo hay en cada dirección.
Por defecto copia el mismo que tienes arriba, y si lo requieres puedes hacerlo de un sólo sentido (Close opposite direction)
En los detalles de cada link creado se encontrará esto:
Basis
PrT TSys
PuT TSys
Evironment
Congestion
DUE
ICA
Lenght:
Esto no cambia la longitud real, sólo establece una longitud por si se está dibujando a escala.
Datos que se establecieron anteriormente.
Time Current: Tiempo de viaje calculado
Datos que se establecieron anteriormente.
Time PuT: Tiempo de viaje calculado
Cálculo de ruido, efecto invernadero
Análisis de congestión
Cálculos con asignación dinámica
Análisis de intersecciones
En el apartado Transport systems se pueden ver los sistemas de transporte que viajarán por ese link, se se desmarcan todos, significa que el link quedará cerrado.
Una vez establecidos los tipos de links, es posible ver en forma de tabla:
List
Network
Links
Como los links siempre se generan en doble sentido, es posible desde la lista deseleccionar todos los elementos en TSys set.
Open Street Map ya trabaja con hasta 99 tipos de links, por lo que si se trae desde ahí un mapa, ya vendrán definidos los tipos de links.

Giros

Representan los movimientos permitidos en un nodo, es decir, si se puede girar a la derecha, izquierda, seguir recto o hacer vuelta en U. Tienen asociados tiempos de penalización y capacidades que reflejan el efecto de la intersección en el rendimiento de la red.
Se pueden generar hasta 10 tipos de giros, del 0 al 9, pero Visum utiliza de manera predeterminada del 0 al 4, por lo que nosotros sólo definir de manera personalizada del 5 al 9.
Posteriormente se determinan los rangos (jerarquía de flujo), que serán las prioridades de cruce, más cera al 1, tiene mayor prioridad.
Esto es lo que se ve cuando entramos al editor de la intersección.

Node

Aquí se ve todo lo relacionado con el nodo, su ubicación y que links tiene conectados. Es importante aclarar que se puede definir la capacidad del nodo Capacity PrT y el tiempo que se tarda en cruzar el nodo t0 PrT

Links

Aquí se podrá ver y modificar si el link que se conecta con un nodo está abierto o cerrado, así como tiempo de viaje, distancia etc.

Turns

Esta es la parte más importante, todo lo anterior se puede modificar desde los apartados clásicos, pero sólo aquí se podrá ver todo lo relacionado con los movimientos y debemos especificar las maniobras que son posibles en esa zona.
Se deben configurar muy bien las maniobras que se van a permitir en cada movimiento, indispensable para que el modelo de resultados verdaderos.

Geometry

Aquí es posible configurar transparencias para ver la intersección sobre el mapa original para poder configurarlo.
Legs
Aproximaciones y giros exclusivos. Sirve para modificar la intersección a detalle.
Lanes
Me permite modificar por carril (movimiento) los giros (maniobras) y que tipo de vehículos circulan. también puedo modificar el ancho de carril.
Lane turns
Aquí también puedo permitir los giros (maniobras), pero puedo especificar si en ese giro no se permite algún tipo de transporte.
Si de forma rápida deseas eliminar una maniobra (línea punteada) sólo da botón derecho y elige eliminar.
Links
Lo mismo que podemos hacer desde el menú tradicional
Crosswalks
Aquí puedo definir los pasos peatonales y el número de peatones por hora.

Signal timing

Aquí puedo definir los semáforos de la misma forma que Vissim y Optimizar como en Vistro. Esto hay que tomarlo en cuenta para nivel de servicio y longitud de colas.
¿Que sucede si estás modelando un país cómo Inglaterra o Japón que circulan por el lado derecho?
Podemos cambiar la configuración así:
Network
Network setings
Ahí modificas lo necesario para tu modelo.

Estándares de giro

Network
Turn standards
Esto sirve para definir todos los giros de una sola vez, ya que imagina que tienes miles de intersecciones. Lo ideal es establecer desde antes en una tabla todos los giros de manera predeterminada que usarás.
Si tienes ya la tabla, lo ideal es tenerla en una tabla específica de VISUM, el cual puedes abrir así:
Open
Open file
Network
Con esto abres sólo un archivo específico de Red.
Cada Turn Standard combina varios parámetros:
Turn type → tipo de giro (recto, izquierda, derecha, U, etc.)
Flow hierarchy → relación jerárquica entre vías (por ejemplo, de una avenida principal a una calle local).
Node type → tipo de intersección en la que ocurre ese giro.
Time penalty → penalización en segundos por el giro (por ejemplo, 25 s si hay semáforo).
Capacity PrT → capacidad vehicular (veh/h).
Entonces, el campo “Node type” indica en qué tipo de nodo aplica esa regla de giro.
Por ejemplo:
Node Type
Descripción
Ejemplo
10
Cruce sin control
Calles locales
20
Cruce con semáforo
Avenidas principales
40
Glorieta o nodo especial
Distribuidor vial
Entonces puedes definir Turn Standards distintos:
Para Node Type = 10 (sin control): penalización 3 s, alta capacidad.
Para Node Type = 20 (semaforizado): penalización 25 s, capacidad reducida.
Para Node Type = 40 (glorieta): penalización 15 s, capacidad intermedia.
Recuerda que tú defines los número que quieras para el tipo de nodo

Zonas

Las zonas se pueden dibujar a mano, o se pueden importar de un shape (.shp)
File
Import
Ahí puedo ver lo que contiene el .shp
Por ejemplo, me dice que tiene 4 objetos (zonas) y el Ready additively si lo desmarco, me crea un archivo nuevo, si quiero que lo agregue donde estoy trabajando debe estar seleccionado.
Read as: Encuentra su tipología (polígono) eso lo detecta de manera automática.
Offset: Puedo elegir el nivel, es para filtrar colocando un número aleatorio.
Normalize…. Si el polígono contiene algún elemento que no sea necesario para VISUM o que contenga algún ruido que probenga del shp lo repara.
Merge…. Procesa las topologías, si encuentra una zona donde las IDE coinciden en x décimas, los traiga como un solo elemento. Eligo el grado de apresiación.
Fuzzy… Cuando un elemento esté demasiado cerca de otro, los corrige.
Antes de importar, nos dará un lista de los campos que encontró y donde los asignará. Los asigna en campos predeterminados, pero podemos genera nuevos de manera automática o manualmente.

Conectores

El conector no tiene límite de distancia y genera de manera automática las dos direcciones.
Primero hay que definir las velocidades a las que viajan por los conectores los Prt u PuT (para este caso sólo es caminando)
Edit
User preference
Network
Connectors
Ahora cada que generemos un conector, en las opciones veremos el tiempo de recorrido.
Establecer Paradas de Transporte Público
Aquí podremos establecer las paradas de los transportes públicos, y tenemos dos modos, el modo detallado, que nos permite establecer a distancias específicas cada parada, zonas y áreas de espera, y el modo simplificado, donde agrupa todo e un mismo punto.
Al elegir Stop Points al dar clic en la zona que necesitemos, se agregarán los Puntos (paradas), las áreas y la estación (Stops). Si quiero agregar de modo detallado, se presiona ctrl + clic y sólo agregará el punto.
Basis
Transport sistem
Cost
Time profiles
Depot
Puedo definir un tiempo de espera antes de subir al transporte.
Qué modo se permite
Costo del sistema de transporte
Se define a que hora llega y a que hora sale
Definir una parada como depósito y definir capacidad y tiempo que pasa ahí antes de salir
En dado caso de que se realice una parada a detalle, nos encontraremos con esto:
Baisis
Stop areas
Stop point
Walk times
Specific walk times
Wait times
Coordenadas de posición
Cuantos stop poins se tienen en esa área
Detales de cada parada
Tiempos de caminata las paradas
Tiempos de caminata por línea, por sistema o según la hora del día.
Tiempos de espera entre servicios, compra de boleto etc.

Definir rutas de transporte público

Para este paso necesitamos definir el trazo de la ruta, el perfil temporal y el viaje del vehículo. Podemos tener una gran cantidad de detalles para cada sistema de transporte.

Lines

Aquí hay que definir que una cosa es la línea y otra el recorrido.
Primero defino la línea que puede ir de A a B y se llame Línea insurgentes y después la ruta que se puede llamar Ruta 88, que puede realizar viajes de A a B o de B a A.

Standard vehicule combination

Es posible establecer un vehículo definido previamente
Network
Put Vehicles
Creo los tipos de vehículos que necesite y establezco sus indicadores, como la capacidad total, capacidad de sólo usuarios sentados.
En los costos veremos algo como esto:
Vehicle journey
Empty trip
Layover
In depot
Costo de circulación
Costo en kilometro vacío
Costo en punta de línea. (costo en lo que sale de nuevo el vehículo)
Costo por estar detenido en el depósito
Creamos los vehículos necesarios y en caso de ser necesario, creamos la combinación de vehículos.

Standard Operator

También podemos crear las empresas que operan cada transporte y definirles sus costos.
Network
PuT Operators

Fare System

Es posible definir el sistema tarifario
Network
PuT fares
Fare structure
Basada en distancia
Basada en zonas
Zona Zona
Tarifa plana
Basada en tiempo
Se puede establecer tarifa por cambio de sistema de transporte, cada que se suba y se baje.
Creamos primero cada Line y sus características para posteriormente crear la Line Route.
Definimos a línea pertenece el nombre de la ruta y la dirección. Hay que cuidar los parámetros establecidos para que sea mas sencillo dibujar. Y no olvidar que debemos crear ambas direcciones. Desde la ventana de Line Routes con botón derecho creamos la dirección opuesta.
Creación de atributos
Nuestra zonas no tienen ningún parámetro definido, están vacíos. Necesitamos llenarlo de datos o información para que podamos calcular.
Network
User-defined atributtes
Vamos a crear un atributo llamado population el cuál será la cantidad de habitantes, definiremos el tipo de dato que usaremos y cuánto será el mínimo o el máximo valor del dato.
Cuando estemos en la lista de zonas, en seleccionar atributos agregamos el atributo nuevo. Así como si fuera una tabla de excel.

Creación de un atributo por medio de fórmula

Como si fuera en excel, puedo crear formulas con los atributos que ya existen previamente o los que yo cree.
Aquí vamos a crear una fórmula para que calcule la densidad de la población.
Así quedaría nuestra tabla
Agregar y crear matrices
En la sección de matrices, creamos tres nuevas matrices, y las nombramos dependiendo de la información que tengamos. Una vez creadas podremos listarlas y concatenar para ver cada matriz como vectores y copiar y pegar la información o podremos cargar una matriz en el formato específico.
List
OD demand
Matrices

Asignar matrices a los datos de demanda

Demand
Demand data
Asignamos de manera adecuada cada matriz a su atributo, en dado caso que queramos, podemos realizar una fórmula para asignar las matrices. Pero siempre es mas sencillo solo definir la matriz a su modo de transporte.
Verificación de errores en el modelo
Podemos revisar errores de forma automática en el modelo, tanto de manera general como puntual. Esto nos sirve de mucho para antes de correr el modelos ver que todo esté bien definido.
Calculate
Network check
Análisis de grafos
Tenemos varias herramientas con las que podemos hacer análisis básicos de grafos.

Ruta más corta

Graphics
Shortest path search
Puedo listar la información calculada para conocer de que punto a que punto se hizo el análisis y también cuál es la longitud.
List
Paths
PrT shortest path search
Modelos de demanda
Si estás un poco perdido en lo que son los modelos de demanda, te recomiendo primero leas este artículo y después continúes aquí.
Abrimos los parámetros para modelos de demanda
Demand
Demand models
Aquí definiremos el modelo de demanda con el cual haremos nuestros análisis. Existen diferentes tipos de modelos, como el clásico de 4 etapas o el basado en agentes. Dependiendo de lo que elijamos, las pestañas irán cambiando. Aquí trabajaremos con el modelo clásico.
Basis
Person groups
Activity pairs
Demand strata
Elegimos el modelos
Aquí se puede separar por franja de edad
Motivo de viaje
Combina cada uno de los elementos anteriores
Podemos elegir diferentes modelos para cada sistema
Es posible generalizar una sola franja
Basado en el Hogar-Trabajo.
Hogar-Estudio, etc.
Podemos generar una combinación específica.

Basis

Number
Code
Name
Type
Modes
1
M01
DemandModel1
Standard 4-step
Car
Código de identificación
Nombre de identificación
Tipo de modelo
A que modo se le aplicará el modelo.

Person groups

Number
Code
Name
1
POP
Population

Activity pairs

Number
Code
Name
1
ALL
All trips

Demand strata

Code
Name
Demand segment set
Person groups
Activity pair
ALL_POP
All_Population
Car
POP
ALL
Ahora así podemos calcular todos los viajes que hacen las personas en la ciudad. Así que debemos realizar la asignación.
Definición de viajes
Definiremos la secuencia de procedimientos de las 4 etapas.
Calculate
Procedure sequence

Trip generation

De acuerdo a la cantidad de personas vamos a definir cuantos viajes generan esas personas.
Referenciamos de acuerdo a que vamos a calcular la generación de viajes.
Para esta parte vamos a manejar como supuesto, que sabemos que las personas hacen 3.1 viajes por día, por lo que para sólo los que salen (que es lo que nos interesa por ahora) tendremos que cada persona hará $\frac{3.1}{2}$ viajes.
Según la teoría de modelación de transporte: Se hacen los cálculos a nivel de producción que a nivel de atracción. Debido a que los datos de atracción son muy difíciles de conseguir, y los de producción, es decir, los de población se obtienen fácilmente con los censos.
En la formula podemos ver que tomaremos la población y multiplicaremos sólo los viajes que salen por el 43% que refiere a la cantidad que representa sólo los viajes en carro.
Después de esto, ya es posible correr el modelo y como fue agregado en zonas, podemos listar y ver los resultados, si no se encuentran los agregamos.

Matrices de indicadores (Matrix Skims)

En la ``Production´´ tenemos la cantidad de gente que sale, pero ¿Hacia donde van? De esa cantidad de viajes ¿Para donde va cada uno? Así que para conocer eso debemos hacer una matriz de resultados.
Generalmente se utiliza una teoría llamada atracción gravitatoria. La cuál habla de que siempre será más probable que las actividades, ya sea trabajo o educación sea lo mas cercana posible de tu origen. Ya que el desplazamiento se considera una desutilidad.

Definición de criterios

Calculate
General procedure settings
Prt settings
Skims
Yo puedo calcular el tiempo cuando la vía está vacia (t0) o cuando está llena (tCur), velocidad de flujo libre (v0), flujo saturado (vCur), impedancia, distancia de viaje, distancia directa o personalizar lo que yo necesite.

Diagonal

Calcularemos la probabilidad de movimiento de las personas. Aquí coocaremos el tiempo promedio que hacen las personas dentro del área.
Calcularemos el tiempo que tardo en viajar cuando estamos en hora pico. Y no olvidar que nosotros queremos el tiempo en minutos, por lo que deberemos multiplicar por un factor de $0.02$ para convertirlo porque está en segundos.
With constant value
From attribute
Row/Column minum
Mean value of n row/column minima
Valor constante
Atributo elegible
Calcula matrices y elige el mínimo
Toma la media dependiendo de como esté armada la zonificación
Tomaremos el tiempo medio de viaje de los conectores
Ignored OD pair valuue
No paths found value
Minimum value
Maximum
Colocara este valor si no encuentra un valor O-D
Colocara ese valor si no existe ruta para una zona
Cantidad mínima de personas que harán un viaje que esté demasiado lejos. Yo normalmente coloco .01. Una persona de entre todas, si hace el viaje.
Cuando el tiempo de viaje supera esta cantidad, coloque el máximo. No sirve de nada seguir calculando.
9999999.0
9999999.0
0.01
999999.0
Agrego el procedimiento para hacer el cálculo
Elijo la referencia y la variante
Aquí elijo lo que configuré, en este caso tCur y puedo definir que quiero analizar específicamente, links, turns connectors etc. Y corro el modelo.
Aparecerá una nueva matriz Travel Time Current Car (TTC car)
Y veré cuánto se tarda en minutos de un lugar a otro.
Para este ejemplo, podemos ver que hay unos viajes muy cortos, de un minuto. Esto es porque nuestro conector es de un viaje demasiado cercano y no tan (real). El problema que esto generará es que cuándo calculemos la cantidad de viajes, muchas personas no viajarán porque preferirán quedarse en ese mismo punto que les genera menor tiempo. Por lo que hay que tener mucho cuidado cuando determinemos los conectores. O bien, después podemos configurar el tiempo de viaje con más tiempo.
Voy a hacer lo siguiente. Listaré los conectores y cambiaré los tiempos de viaje (5 y 8 minutos) posteriormente vuelvo a correr el cálculo y mira como cambió la matriz.
Así los viajes dentro de la zona son un poco más realistas.

Agregar distribución de viajes (trip distribution)

Que tan probable es que viajen de un punto a otro o se queden ahí.
Vamos a definir la probabilidad de que se viaje más cerca o más lejos en la función de utilidad.
Para este ejemplo de manera sencillo quiero que se fijen solamente en los tiempo de viaje. Cuando haya menos tiempo es más probable que viaje y viceversa. Elegimos la matriz que acabamos de crear.
¿Qué función aplicaremos a esta matriz?
Aquí encontraremos el tipo de función a aplicar, dependiendo de nuestra experiencia y análisis podemos usar el que más convenga. Para este caso será Logic -0.03 en Production total
Debemos calibrar la función. Esos valores deberán estar basados en la distribución de viajes de mi encuesta. Parametrizo los datos y uso la función que más se acerque (puedo usar algún software estadístico externo) para meter la función que necesitemos con los coeficientes de acuerdo a ello.
Por ejemplo, coloco un tiempo máximo de viaje de una hora y me dice que cuando yo tengo entre 0 y 12 minutos de viaje el 30% lo van a hacer dentro de ese rango de tiempo. Y así irá bajando la probabilidad de que lo hagan cuando el tiempo de viaje es más largo.
Al mandar resolver genera una nueva matriz que me entrega la cantidad de viajes de ida entre zonas de los que van en auto.
Recuerda que para este ejercicio nosotros ya teníamos la partición modal. Aquí te la recuerdo.
Peatones 22%
Bicicletas 11%
PrT Vehículos 43%
Vehículos con acompañantes 14%
PrT HGV 5%
Transporte público 10%

Fórmulas a nivel de matrices

Si recuerdan, cuando calculamos la cantidad de viajes, lo hicimos dividiendo entre dos, porque sólo queríamos calcular la cantidad de viajes de ida.
Ahora vamos a suponer que todas esas personas que hicieron ese viaje de ida, lo harán de regreso (matriz simétrica). Por lo que para obtener la cantidad de viajes totales en un día tomaremos la matriz y sumaremos su traspuesta.
Creamos una matriz nueva que representará los viajes de 24 horas.
Se creará la matriz nueva y está de color gris (estática) porque depende de la matriz de distribución de viajes.

Matriz de viajes PuT

Creamos una matriz nueva, pero ahora nuestros cálculos serán en base a la nueva matriz obtenida "Car24". Vamos a dividir entre 43 para sí obtener el 100% de viajes y luego multiplicamos por 10, para obtener sólo el 10% que le corresponde al transporte público.
Si te das cuenta, hicimos referencias a matrices para calcular. La matriz "Car24" está basada en la matriz "Distribution ALL_POP", y la matriz "PuT24" está basada en la matriz "Car24"

Matriz de viajes HGV

Para esta matriz tomaremos el 100% de los viajes que ya nos entrega la matriz "Car24", así que la multiplicamos por el 95% y luego por el 5% de HGV totales.
Nota como todo está relacionado, es decir, que si yo cambio algo en la matriz "Distribution ALL_POP" todas las demás matrices se cambiarán automáticamente.

Distribución por periodos de tiempo

Visum también me permite que en lugar de yo usar una matriz estática de 24 horas como las que usamos, pueda particionar mi matriz por periodos de tiempo, así como cuando aforamos.
Demand
Demand data
Standar time series
Aquí puedo ver armar las series de tiempo de mis matrices, por ejemplo, si hiciéramos un aforo de 24h y tenemos la partición por hora.
Editamos la Time series by percentage y luego creamos una nueva que irá del día 1, al día 2, de las 00:00hrs a las 00:00 hrs, en intervalos de 1h.
Mira como tendremos 24 particiones de 1 hora cada uno, entonces para cada hora, podemos modificar los pesos (weight) y automáticamente calculará el porcentaje.
Asignación de viajes
Demand
Demand data
Aquí lo que haré es cambiar las matrices de referencia por las nuevas matrices.
Una ves hecho esto, ya estamos listos para calcular la asignación, así que nos vamos a Procedure Sequence
Funciones volumen demora
Visum trabaja con múltiples fórmulas para todos los cálculos que puede realizar, en el caso del cálculo de las demoras por ejemplo, no sólo se vale de la función BPR, sino que tiene muchas otras mas que podemos consultar en:
Calculate
General procedure settings
PrT settings
Links VD functions
Aquí podemos ver todas las funciones que podemos aplicar; lo interesante es que podemos aplicar una función diferente por link, y eso es muy bueno porque así podemos acercarnos lo mas posible a que función volumen-demora van a experimentar los vehículos en cada intersección.
S esa si recuerdas, en los tipos de links, teníamos una columna que no es posible cambiar directamente desde ahí "VdfNo" es el Volume delay function, y tiene un 1, porque significa que o tiene asignado nada.
Vamos a generar tres para cada uno de nuestros caminos:
Una vez configurado esto, asignamos a cada uno de nuestros caminos la función correspondiente.

Función de impedancia

La base para la búsqueda de la corta distancia, es siempre la resistencia que puede resultar de moverse en una red (una analogía de la electricidad), en función del costo, velocidad, peaje etc.
Calculate
General proceduea settings
Impedance
Puede haber de dos tipos, general y en detalle:
General: Yo defino la función que se usa, y Visum sugiere la función clásica, el tiempo de viaje en la situación actual.
Por ejemplo aquí estaríamos diciendo que lo multiplique por 0.2 veces la longitud.
In detail: Este es muy avanzado, porque puedo crear una función para cada detalle, por ejemplo, para cada link, conector, giros etc. y puedo calcular por cualquier atributo existente o si quiero, puedo crear una variable nueva.

Generar variable nueva

Generaremos la variable para links:
El tiempo por el 100% de un atributo:
En ese "1.0" crearé el nuevo atributo dando clic en el ícono del "usuario"
El valor por defecto para este caso será 1 para que al generar la variable en la formula quedará neutro.
¿Esto que significa? Pues que al link al que yo le asigne esta impedancia, multiplicará por $x$ el tiempo actual y eso hará que tarde más, lo que causará que sea menos atractivo y los vehículos se muevan por una zona más atractiva.
Así como tengo impedancia para los links, puedo tener impedancia para los giros y los nodos.
Métodos de asignación
Hay varios tipos de métodos, pero según el proyecto, hay métodos de asignación mejores,, de hecho, hay casos en los que no se sabe cuál es el mejor método a usar.

Asignación incremental

Lo que se hace con este método es partir la matriz y vamos añadiendo partes hasta que añadimos todos los valores de la matriz. El chiste es que vas “metiendo” demanda por partes y recalculando tiempos después de cada porción, para simular cómo la red se va congestionando de manera progresiva. Es un método burdo, sí, pero barato computacionalmente.
Vamos a crear 3 asignaciones y guardarlas como 3 archivos diferentes. Para cada una asignaremos diferentes parámetros en la participación de la matriz, nombraremos el archivo creado con esa asignación.
1.
All or Nothing: 100
2.
Asignación en tercios: 33, 33, 34
3.
Asignación distribuida: 1, 3, 7, 16, 32, 16, 9, 5, 4, 3, 2, 2
Se deberá de ver algo así:

Asignación All or Nothing

Para la asignación del 100% no toma en cuenta la capacidad ni saturación, es básicamente la lineal de deseo ideal pero sobre la red, asigna todo. Esta es la más sencilla pero la menos realista de todas.

Asignación en tercios

Esta es calculada por iteraciones, primero se calculan las impedancias y después asigna el 33%, se itera nuevamente calculando impedancias sobre el resultado anterior y se asigna el otro 33%, y así sucesivamente.
Para ver los caminos generados.
List
Paths
PrT paths

Asignación equilibrio basado en rutas (clásico)

Aplica los dos principios de Wardrop. Cada persona hará su viaje pero cada uno irá por la mejor ruta, aunque llegará un momento en que esa ruta quedará saturada y ya no será la mejor. La lógica es simple: no buscas flujo óptimo arco por arco, sino que decides explícitamente cuáles rutas existen y cómo se reparte la demanda entre ellas. Pero sí, tiene la desventaja obvia: si no “inventaste” una ruta, el modelo jamás la descubrirá.
No es tan realista porque se asume que todas las personas conocen toda la red y todas las rutas posibles.
En estos métodos de equilibrio se harán iteraciones hasta que la impedancia que existe entre uno y otro es menor a un umbral que nosotros definamos.

Para metros de equilibrio

Use current assignament result as initial soluction: Si no hemos calculado nada, podemos decirle que el primer cálculo realizado lo considere como la primera iteración, para qwueno arranque la red en vacio
Use classical convergence criteria: Configurar criterio de cnvergencia.
Terminaconditions:
Maximum number of iterations: Definimos el número máximo de iteraciones a calcular y que se detenga.
Maximum gap: Definimos que al llegar a esta diferencia de gap se detenga
Convergence statistics:
Relative difference between previous and current iteration (%):
Si entre una iteración y otra el volumen varía menos de un vehículo, termina el proceso. Y se puede configurar a nivel de volumen e impedancia en los links y los giros.
Ignore links and turns with a volume: Si hay links con volumen muy pequeño se ignoren. En general, si se deja el 1, significa que todos los volúmenes serán considerados.
Use extended convergence criteria:
Relative difference between previous and current iteration (%): Lo mismo que en la anterior con la diferencia de poder controlar el porcentaje que se deben de cumplir, antes de detenerse.
Numer of iterations take into account for convergence: Como en ocasiones las iteraciones oscilan y jamás llegan al resultado especificado, aquí se le determina el numero de veces que se le permite oscilar hasta detenerse.
Al mandar a resolver encontramos en la lista de rutas de PrT lo mismo que con el proceso anterior, pero en este, podemos ver cada iteración calculada.
List
Statistics
PrT assignment quality data
Y podemos encontrar el número de iteraciones realizadas, la diferencia de volúmenes en cada iteración, el numero de rutas encontradas, la impedancia y el gap para cada iteración.

Asignación basada en origen LUCE (Linear User Cost Equilibrium)

Aquí lo que se busca es la asignación de equilibrio de todo el sistema pero a partir de cada uno de los nodos, y va verificando cada nodo para determinar si es la mejor ruta. Verifica que los viajes se repartan de manera proporcional. Es un procedimiento origen por origen, que alterna caminos mínimos y actualización progresiva de flujos usando una mezcla lineal para estabilizar la convergencia. No busca rutas explícitas como el método basado en rutas; se concentra en arcos y caminos mínimos sucesivos.
Noten como en la convergencia, las opciones son las mismas que en el modelo anterior. Así que nos concentraremos en la opción basis.
Aquí analizará por cada sistema de transporte o que tome en cuenta todos los sistemas de transporte. Lo que hay que considerar es que en un trabajo mas robusto, puede tardar un poco más de tiempo.
De igual manera podremos ver el número de iteraciones en PrT assignment quality data y cada ruta generada con el tiempo de flujo libre y flujo saturado.

Asignación de Bi-Conjugada de Frank Wolfe

Modelo bi-conjugado, trata de buscar el mínimo de dos formas a la vez. Este método también es conocido como método de gradiente reducido o algoritmo de asignación incremental y es un algoritmo iterativo de optimización convexa utilizado para resolver el problema de equilibrio de tráfico de Wardrop, que surge en la asignación de viajes dentro de la macrosimulación de transporte.
En este modelo se configura todo de la misma forma que el modelo de equilibrio de Wardrop.

Asignación con análisis de la capacidad de la intersección

En este método tiene en cuenta lo que sucede en la intersección, si es rotonda o tiene semáforos, también puede calcular la cola de vehículos. Es un método muy exacto pero necesito tener muchos datos.

Asignación estocástica vehicular

Este es un método bastante similar a lo real. Asigna la mejor ruta pero no en 100%, el resto va por otra ruta, es decir, que de manera automática asigna otras rutas de manera aleatoria, simulando que algunos usuarios por cualquier razón deciden no ir siempre por la ruta mas rápida, a veces, sólo porque así les gusta, los usuarios toman una ruta diferente al resto, sólo porque es más cómoda para ellos etc.

Asignación estocástica de bicicletas

Es básicamente la misma de vehículos, pero en este caso ya viene configurada para bicicletas de manera exclusiva y ahora mucho trabajo.

TRIBUT - Asignación de equilibrio

Es la misma asignación de equilibrio para Wardrop, pero el tiempo es variable. Se hace una asignación y se define cuanto vale el tiempo en costo (dinero).

TRIBUT - Asignación de equilibrio de Lohse

Lo mismo que el anterior pero considera las iteraciones anteriores para crear una convergencia.

Comparación de diferentes métodos de asignación

Método
Ventajas
Desventajas
Incremental
Rápido
Fácil de aplicar
No garantiza equilibrio, puede generar errores en la distribución de tráfico.
Puede asignar volúmenes poco realistas en redes altamente congestionadas.
Equilibrio
Proporciona una distribución estable del tráfico
Es ampliamente aceptado y utilizado en estudios de transporte.
Fuertes suposiciones teóricas criticadas como poco realistas.
Alto costo computacional en redes grandes.
Equilibrio de costo del usuario lineal
Convergencia más rápida que otros métodos de equilibrio.
Reduce errores numéricos en redes con alta variabilidad de costos.
No siempre es adecuado para redes con tráfico altamente dinámico.
Su implementación puede ser más compleja e redes con múltiples modos de transporte.
Análisis de la capacidad de la intersección
Modela mejor la congestión en intersecciones.
Representa los efectos de los cuellos de botella de manera realista.
Mayor tiempo de cálculo.
Requiere datos detallados de capacidad vial y tiempos de semáforo.
Frank-Wlfe biconjugado
Acelera los tiempo de convergencia.
Es adecuado para redes grandes.
Algoritmo matemáticamente complejo.
Requiere hardware potente para implementarse.
Estocástico vehicular
Refleja mejor la realidad del comportamiento de los usuarios.
Útil para modelar redes con alta variabilidad.
Mayor tiempo de cálculo.
Puede generar rutas inesperadas si no se calibra bien.
Estocástico bicicletas
Considera factores clave para la movilidad en bicicleta.
Útil para diseñar políticas de movilidad sostenible.
Requiere datos detallados difíciles de obtener.
TRIBUT
Valor de tiempo estocástico no mezclado con término de error.
Similar al estocástico.
Dinámico
Teoría de flujo congestionado (colas).
Mucho más lento que el estocástico, todavía no considera todos los fenómenos dinámicos del tráfico.
Asignación de Transporte Público

Asignación basada en intervalos

Se recomienda para modelar autobuses o sistemas de transporte en superficie, porque uno no puede definir de manera exacta un horario, tratan de seguir un esquema de viaje pero es muy difícil lograrlo por las interrupciones del tránsito.

Asignación basada en horarios

La diferencia es que en lugar de especificar cada cuanto pasan en intervalos, podemos definir la hora y el minuto exactos.
Es recomendado para sistemas de transporte separado como metros o trenes, ya que se puede definir muy bien sus horas de llegada de manera muy precisa.

Asignación directa

Imagina que estamos configurando un metro, y como es un sistema cerrado al saber donde entran y donde salen, yo tengo la matriz exacta, así que aquí yo puedo usar datos de boletos o de encuestas directamente.

Asignación multimodal

Imagina que yo tengo un viaje que es en bicicleta y luego en metro, y después en vehículo privado etc. Es decir, tengo la parte multimodal.

Asignación basada en el sistema de transporte

Es sólo informativo, son las líneas de deseo en el sistema de transporte. Es el estado actual de lo que quiere hacer la gente.
Una vez cargado el tipo de modelo, en configuración podemos ver que es posible calcular las matrices de resultados, donde podemos obtener, La suma de conectores, tiempo de viaje entre parada y parada, tiempo dentro de vehículo, tiempo de transferencias, etc. Y también podemos hacer que nos guarde los archivos .mtx por separado.
Si tenemos un archivo muy grande, en "Calculate skim matrices" podemos definir de que zona a que zona queremos que nos calcule, por ejemplo de la zona 1 a la 500 etc.

Criterio de búsqueda

Search
Transfer events
Max. number: Limita el número de transferencias.
Penalty per transfer Cada que transfieras, asume que se debe esperar este tiempo.
Permissibility at node: Puedo hacer que la espera sea general o no.
From node type table: Que sea por tipo de nodo. Puedo prohibir transferencias o determiar cuanto se espera para cada nodo de manera independiente.
From allocated stop point: Aquí es para que se enfoque solamente en las paradas, no en los nodos.
Consider prohibited turns: Considerar giros prohibidos.
Networks for path search: Cuando se haga la búsqueda de la ruta mas corta.
All links: Que use todos los links.
Links used by line routes: Que sólo use los links dond epase por lo menos una linea de transporte público.
Links used by active line routes: Puedo hacer que busque sólo una determinada línea.
Después de ejecutar el modelo puedo ver por cada link la cantidad de personas que usan esa línea. Lo ideal aquí es listar los links.
Uso de escenarios
Para trabajar con escenarios entramos en:
File
Scenario management
Esto sirve para evaluar distintas escenarios pero sin necesidad de estar abriendo cada uno de los resultado obtenidos en archivos diferentes.
También aquí podemos hacer cambios en el modelo y evaluar las diferencias. Se crearan carpetas independientes con todas las modificaciones. Ojo, debemos elegir bien cuál será el archivo base.
Al crear el escenario lo primero es nombrarlo y elegir donde se va a guardar, creará una carpeta nueva.
Posteriormente elegimos si queremos usar el archivo abierto como base u otro archivo que podemos elegir sin necesidad de que esté abierto.
Podemos elegir como gestionar la base de datos, con la base de Visum o con un SQL.
Se nos abrirá una ventana donde estableceremos todos los parámetros para trabajar.

Basic settings

Basic settings:
Base version: Como la base es común a todos los escenarios puedo preparar la base editando, agregando lo necesario.
Project directories: Puedo configurar donde ver el projecto, en que carpeta.
Project settings: Aquí se puede cambiar el nombre del proyecto.
Project protection: Puedo colocar contraseña y protecciones extra para el modelo.
Log: Muestra los cambios que se han hecho al modelo.
Scenario indicator: Yo puedo agregar un indicador que me mostrará los resultados de todos los escenarios que yo genere. Por ejemplo.
Links
AVG
Volumen Dseg [Pers]
Car

Modifications

Al dar clic en + para crear uno nuevo, colocamos un código y su descripción junto con el grupo. Se abrirá un cuadro de dialogo y sólo debemos elegir la base del escenario.
Base scenario: Base version
Una vez hecho esto, se va a abrir un nuevo archivo llamado Norte 1. Este archivo es nuestra base, y podemos hacer las modificaciones necesarias en el, haremos lo siguiente.
Vamos a hacer un proyecto en el cual veamos como se comportaría si tuvieramos otra ruta, la horizontal será un tipo 20 (extra urban) y la vertical será 21 (urban)
La segunda modificación será la siguiente. Si me abre un cuadro de diálogo, no le diré que sea "base scenario" porque esta dependerá de la anterior.
La tercera quedará así. Esta será independiente y se tendrá la base.
Ahora crearemos las dependencias y exclusiones para la evaluación. Podemos hacer que uno depende de otro o que no dependa de ninguno.

Escenarios

Creamos un escenario nuevo y le colocamos un nombre y definimos en "modificactions" en cual va a trabajar como en este no elegimos nada, si damos clic en el icono de la red en gris, vermos que nos abre el archivo que no tiuene modificaciones.
Creamos todos los escenarios de la siguiente manera.

Cálculo

Al dar clic en calcular va a abrir muchos archivos nuevos porque generará cada uno de los escenarios.
Para ver cada resultado, basta seleccionar el escenario que se quiera ver y dar clic en el icono de la red de color azul. Una vez ahí podemos entrar a cada link o listarlo y ver los resultados.

Comparación

La mejor manera de visualizar los resultados es haciendo una comparación entre cada escenario.
En "comparation patterns" decidimos lo que queremos ver y los dos escenarios que deseamos comparar. y damos ok en la siguiente ventana.
Después aparecerá una ventana en la que podemos elegir las tablas que generará.
Debemos crear un patrón de comparación en las opciones de visualización, lo recomendable es de al siguiente manera.
Puedo crear pares de patrones de diferentes colores o todos iguales. Y una vez creado el patrón de mi agrado, regreso a escenarios y elijo los dos a comparar dando clic a cada escenario usando "ctrl" y dando clic en el icono de la balanza.

Generar parámetros nuevos

Si es necesario, puedo crear nuevos parámetros para hacer cálculos con otro tipo de modelo usando la misma base de mi dibujo.
Duplico uno de los escenarios (con el icono de duplicar) que quiera calcular y después en "Procedure parameter sets" creo un nuevo parámetro.
Una vez creado, doy clic en el ícono del lápiz, que me permitirá editar los procedimientos y elegir el modelo con el que quiera calcular. Puedo hacer eso con todos los parámetros nuevos que desee, y una vez hecho eso, en los escenarios, puedo elegir el procedimiento que deseo calcular.
Esto nos permite correr el modelo con procedimientos diferentes y tener los resultados en la misma sesión, sin necesidad de tener que abrir y cerrar el modelo para cada procedimiento.
Para guardar el modelo con los resultados sólo basta con elegir el ícono del casette en la ventana de los escenarios, o bien, cuando abrimos el modelo, ahí mismo podemos guardarlo de la manera tradicional.
Impresión del modelo