• Keine Ergebnisse gefunden

DEDALO: DEtector of stationary Distributions for AB Large scenariO

N/A
N/A
Protected

Academic year: 2021

Aktie "DEDALO: DEtector of stationary Distributions for AB Large scenariO"

Copied!
30
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Research Collection

Presentation

DEDALO

DEtector of stationary Distributions for AB Large scenariO

Author(s):

Penazzi, Stefano Publication Date:

2020-03-16 Permanent Link:

https://doi.org/10.3929/ethz-b-000407088

Rights / License:

In Copyright - Non-Commercial Use Permitted

This page was generated automatically upon download from the ETH Zurich Research Collection. For more information please consult the Terms of use.

ETH Library

(2)

DEDALO

DEtector of stationary Distributions for AB Large

scenariO

(3)

Brown Bag, 16 March 2020

What is an equilibrium? How to describe it? How to find equilibrium points?

Vector field

(4)

What is an equilibrium? How to describe it? How to find equilibrium points?

Vector field

(5)

Brown Bag, 16 March 2020

Traffic equilibrium

User equilibrium (UE). Wardrop's first principle of route choice states that the journey times in all

routes actually used are equal and less than those that would be experienced by a single vehicle on any unused route. The traffic flows that satisfy this principle are usually referred to as "user equilibrium" (UE) flows, since each user chooses the route that is the best.

Stochastic user equilibrium (SUE) no driver can unilaterally change routes to improve his/her

perceived, rather than actual, travel times.

(6)

Traffic equilibrium models

Variational Inequality models

Nonlinear Complementarity models

Fixed Points models

How to study the user equilibrium using mathematical models. Properties of equilibrium solution can

be studied by using these models e.g. Existence and uniqueness of equilibrium solution

(7)

Brown Bag, 16 March 2020

User equilibrium through the steady state traffic assignment model

Fixed point model

Suppose that a set K of OD pairs is given and that there is a fixed (positive) demand for travel between each of these OD pairs. A route is defined to be any acyclic path connecting an OD pair. Denote the flow on route r by Xr and the route flow vector by X = (X1, X2, . . . , XN ) where N is the number of routes in the network. Then the set of feasible route flow vectors, denoted D, is given by

R

k

is the set of all routes joining origin-destination pair k

Route-link incidence matrix

(8)

The link flow vector, denoted x, can be specified in terms of the route flow vector by x = AX.

The link cost vector c(x) = (c1(x), c2(x), . . . , cn(x)) where n is the number of links in the network

Route cost vector

Given a route flow vector X, it is natural to define the route swap vector ⲫ(X) by

δ

rs

is the swap vector from route r to route s, i.e. has −1 in the rth place and 1 in the sth place and zeros elsewhere

User equilibrium through the steady state traffic assignment model

Fixed point model

(9)

Brown Bag, 16 March 2020

Let τ represent day-to-day time, and view this as a continuous non-negative variable.

Then, for X

0

∈ D, consider the dynamical system

By Picard’s existence theorem the dynamical system has a unique solution trajectory provided that the route swap vector ⲫ(X) is a Lipschitz continuous function of the route flow vector X.

Theorem. (Schauder, 1930) Let E be a normed space. Let K be a convex subset of E. Let C be a compact, non-empty subset of K. Then every continuous map A : K → C has at least one fixed point.

T(X) = X + αⲫ(X)

T has at least one fixed point X* by Schauder. By definition T(X* ) = X* , or equivalently ⲫ(X* ) = 0, and therefore X* is an equilibrium of the dynamic system.

User equilibrium through the steady state traffic assignment model

Fixed point model

(10)

Theorem. Let ⲫ(X) be a continuously differentiable function of X. Then the dynamical system is globally convergent to equilibrium if there is a continuously differentiable scalar function V , defined throughout D, such that:

V (X) ≥ 0 for all X ∈ D,

V (X) = 0 if and only if X is an equilibrium route flow vector

grad V (X) ⲫ(X) < 0 if X is not an equilibrium route flow vector

Discrete route swap processes

User equilibrium through the steady state traffic assignment model

Fixed point model

(11)

Brown Bag, 16 March 2020

User equilibrium

Vector field

Agents current states (plans) Swap vector

It represents the agents' desire to change the plan in order to improve their utility functions.

● Departure time

● Transport mode

● Path

● Activity duration

● Activity initial time

● ...

Step size

(12)

Stochastic dynamic user equilibrium (SDUE) conditions

SDU equilibrium conditions

Demand feasibility conditions

r

s

At each instant no traveller believes that he or she can improve his or her Perceived travel cost

Unique equilibrium solution

Continuous quantity

(13)

Brown Bag, 16 March 2020

Stochastic dynamic user equilibrium discrete quantities

r

s

Discrete quantity

Stationary distribution

(14)

Stochastic dynamic user equilibrium in MATSIm

Choice model

Learning process plans set

N. of paths in a

complete graph

(15)

Brown Bag, 16 March 2020

Paths enumeration

Home

1

2

3

Total number paths between two nodes in a complete graph

Example: how many paths are in a complete graph with 60 nodes?

Number of protons in the observable universe (Eddington number)

15 747 724 136 275 002 577 605 653 961 181 555 468 044 717 914 527 116 709 366 231 425 076 185 631 031 296

(16)

Stochastic dynamic user equilibrium in MATSIm

Choice model

Iteration k-1 Iteration ...

Iteration i

Iteration k Learning

process

Learning rate

(17)

Brown Bag, 16 March 2020

Stochastic dynamic user equilibrium in MATSIm

Choice model

When C

n

alternatives are very different from those considered in the real world, it is unlikely that the simulation will display correct aggregated quantities.

Mutation and innovation constitute sampling techniques serving the computational purpose of reducing the universal choice set to a small, representative subset.

METROPOLIS-HASTINGS:

● f(x) α P(x) particularly useful, because calculating the necessary normalization factor is often extremely difficult in practice.

● generating a sequence of sample values in such a way that, as more and more sample

values are produced, the distribution of values more closely approximates the desired

distribution P(x). These sample values are produced iteratively, with the distribution of the

next sample being dependent only on the current sample value (MARKOV CHAIN)

(18)

Stochastic dynamic user equilibrium in MATSIm

Choice model

α α

Best response considering the last iteration Proposal distribution:

Transition probability:

Acceptance rate:

(19)

Brown Bag, 16 March 2020

DEDALO

18

Uncoupling Stochastic Dynamic User Plans Stationary Distribution research:

Warm up (deterministic equilibrium research)

The first phase uses the SUPERNETWORK to find the optimal plan changes at each iteration for each agent and an optimal model for the step size (GREEDO) until an acceptable approximation of the deterministic equilibrium is reached.

Stationary distributions research

The second phase starts from the deterministic equilibrium, it uses a nested logit model to obtain iteration after iteration the probability of a set of plans for each agent.

The nested logit model doesn’t rely on paths enumeration and use the super network

to generate the most likely plan accordingly with

(20)

DEDALO

Agent plan

New Agent plan

Mobility simulation Supernetwork

Clusterization Sub-network, Middle-network,

Super-node generation

New travel time, service costs, congestion

Agents best plan computation based on super-networks

NLM-WPE

Generate pre-selected plans

First phase (deterministic eq.)

Second phase (stochastic eq.)

Agents super-networks generation

GREEDO Select candidate

Stability evaluation

Super-network data container update Estimate NLM for pre-selected plans

(21)

Brown Bag, 16 March 2020

DEDALO

Super-network

Agent plan

New Agent plan

Mobility simulation Supernetwork

Clusterization

Sub-network, Middle-network, Super-node generation

New travel time, service costs, congestion

Agents best plan computation based on super-networks NLM-WPE

Generate pre-selected plans

First phase (deterministic eq.)

Second phase (stochastic eq.)

Agents super-networks generation

GREEDO Select candidate

Stability evaluation

Super-network data container update

Estimate NLM for pre-selected plans

(22)

Activities clustering

The activities clusterization follow these steps: Road network regions clustering and Agglomerative hierarchical clustering

Road network regions clustering.

This first clusterization groups the activities inside a road network region.

A region is a closed polygon

whose sides are roads of the

road network.The agents

moving inside a region are

teleported while if they move

outside they can use car, bus

(23)

Brown Bag, 16 March 2020

Activities clustering

Road network regions clustering

1. Given a road network transform it in a PLAN GRAPH 2. Finding all the wedges

a. Duplicate each undirected edge to form a two directed edges

b. Complement each directed edge (vi,vj) with the angle Ɛ of (vi,vj) with respect to the horizontal line passing through vi . This returns the list ((vi,vj),Ɛ).

c. Sort the list into ascending order using vi,Ɛ as primary and secondary key.

d. Scan the group in the sorted list. A group consists of entries ((vi,vj),Ɛ) of equal vi. Within each group, combine each pair of consecutive entries ((vi,vj),Ɛ1) and ((vi,vk),Ɛ2) to build a wedge (vk,vi,vj). Within each group combine also the last and the first.

3. Grouping the wedges into regions

a. Sort the wedges using vi,vj as primary and secondary key.

b. Mark all wedges as unused.

c. Find the next unused wedge W1 = (v1,v2,v3). Record the initial region list W1 and initialize i to 1. Mark W1 as used. If W1 cannot be found the algorithm terminate and all the regions have been extracted.

d. Search for the wedge Wi+1 = (vi+1,vi+2,vi+3) following Wi = (vi,vi+1,vi+2) by means of a binary search in the sorted wedge list using vi+1 and vi+2 as primary and secondary key. Append Wi+1 to the region list.

e. If Wi+1 and W1 are contiguous, that is vi+2 = v1 and vi+3 = v2 then the region has been extracted. Go to step c. Otherwise increment i by 1. go to step d

4. Insert the activities in the regions

a. Using a Kd-tree generated by the centroid of the regions, assign each activity, using its coordinates, to a single region.

(24)

Activities clustering

Agglomerative hierarchical clustering

Agglomerative hierarchical clustering

Regions generated in a non-dense road network are too large and

don’t guarantee accuracy. A second clustering algorithm allows

generating clusters based on the distances of the activities in the

cluster.

(25)

Brown Bag, 16 March 2020

Super-node Middle-link

Sub-network

SUPERNETWORK

Super-node, Middle-link, Sub-network

(26)

SUPER-NETWORK

New agents plans algorithm

super_network_data_container

for super_node in super_network.nodes do for time_slot in super_node.time_slots do for subpop in subpopulations do

res = compute_shortest_tree(super_node,super_node.sub_network,time_slot,subpop) super_networ_data_container.insert(res)

super_network_data_container.update() for person in population do

compute_new_plan(person,super_networ_data_container)

Proc compute_new_plan(person,super_networ_data_container)

psn = generate_person_super_network(person.plan,super_networ_data_container) res = compute_shortest_path(psn)

new_plan_update(person,res)

(27)

Brown Bag, 16 March 2020

SUPERNETWORK

super_network_data_container.update()

super_node_id time_slot subpopulation shortest tree per mode

1 8:00 - 8:30 A --

1 8:31 - 8:45 A --

1 8:46 - 8:50 A --

1 8:51 - 8:53 A --

1 8:54 - 9:15 A --

... ... ... --

2 8:00 - 8:30 B --

2 8:31 - 9:00 B --

2 9:01 - 9:30 B --

... ... --

3 8:54 - 9:15 C --

... ... ... --

super_node_id time_slot subpopulation shortest tree per mode

1 8:31 - 8:38 A --

1 8:39 - 8:45 A --

2 8:31 - 8:40 A --

2 8:41 - 9:00 A --

... ... ... ...

for super_node in super_network_data_container do for time_slot in super_node.time_slots do

if super_node.sub_network[time_slot].change compute_shortest_tree()

for super_node in super_network_data_container do for time_slot in super_node.time_slots do

if time_slot != time_slot + 1 insert_new_time_slot()

Mobility simulation New travel time, service costs, congestion

super_network_data_container

(28)

SUPERNETWORK

generate_person_super_network(person.plan,super_networ_data_container)

super_node_id time_slot subpopulation shortest tree per mode

1 8:00 - 8:30 A --

1 8:31 - 8:45 A --

1 8:46 - 8:50 A --

1 8:51 - 8:53 A --

1 8:54 - 9:15 A --

... ... ... --

2 8:00 - 8:30 B --

2 8:31 - 9:00 B --

2 9:01 - 9:30 B --

... ... --

3 8:54 - 9:15 C --

... ... ... --

The weight of the arc depend on the duration of the activity,start/end time of the activity and the agent’s parameters.

t t

Activity arc weight

start time

end time duration

Super-link activity

Super-link travel

super_network_data_container for person in population do

super_network sn = new super_network() for activity in person.plan do

super_node = find_super_node(activity)

List<super_link_travel> slt = generate_super_links_travel(super_node,person.plan) super_network.add_links(slt)

List<super_link_activity> sla = generate_super_links_activity(super_node,person.plan) super_network.add_links(sla)

person.set_super_network(sn)

for person in population do

plan p = person.get_super_network().get_best_plan() person.set_plan(p)

(29)

Brown Bag, 16 March 2020

First results

N. of activities: 7884106 N. of clusters: 136846 Cut: 1000

116990 supernode can manage 7506733 activities (95% managed by 1.7% with an approximation between 100 and 200 meters )

(30)

Referenzen

ÄHNLICHE DOKUMENTE

The area in the s 1 -s 2 space for which (13) and (14) are the schools’ relevant objective functions in the first stage is thus bounded by the following conditions: First, if

and one combined objective in which all these objectives were included in t h e objective function together. Each of these was run with payments only, and also with

Development of a mathematical model of a water resources system and simulation of its operation over a long trace of synthetic inflows (simulation coupled with a

Figure B.10: This figure shows the time paths for the lockdown intensity γ· and number of infected I· of the extremal solution that has been found by the time and initial

Quite a few people still become infected with the double lockdown strategy, as can be seen by the decline in the number of susceptibles (Panel (c)) and increase in the number

T he MAD model does not require any specific type of return distributions, which enabled its application to portfolio optimization for mortgage-backed securities

Methods f o r solution of variational problems based on suffi- cient conditions of absolute minimum.. The mathematical theory of optimal processes, Wiley-Interscience,

In the aftermath of any agreement, the United States (and the international community) must also maintain the will and capability to take effec- tive action, including the use