log.txt
: METROPOLIS2 log messages during the simulationrunning_times.json
: simulation running time, by categoryreport.html
: webpage summarizing the resultsiteration_results.{parquet,csv}
: aggregate results for each iterationFile running_times.json
{
"total": "49181.060006808",
"total_skims_computation": "37804.951886765",
"total_demand_model": "2943.497363545",
"total_supply_model": "8150.961492634",
"total_learning_model": "9.425217904",
"total_aggregate_results_computation": "148.839589353",
"total_stopping_rules_check": "0.000029886",
"per_iteration": "245.905300034",
"per_iteration_skims_computation": "189.024759433",
"per_iteration_demand_model": "14.717486817",
"per_iteration_supply_model": "40.754807463",
"per_iteration_learning_model": "0.047126089",
"per_iteration_aggregate_results_computation": "0.744197946",
"per_iteration_stopping_rules_check": "0.000000149"
}
skims_computation: computation of OD-level travel-time functions given the expected road-network conditions
Skims comp. | Demand model | Supply model | |
---|---|---|---|
# agents | · | Large¹ | Large¹ |
# nodes / edges | Large | · | Medium |
# unique origin / dest. | Very large | · | · |
# unique OD pairs | Large | · | · |
# breakpoints | Small | Very small | Very small |
Old scenario | New scenario | Variation | |
---|---|---|---|
# agents | 477 192 | 629 314 | ×1.32 |
# road trips | 477 192 | 548 480 | ×1.15 |
# virtual trips | 0 | 1 442 883 | ×∞ |
# nodes | 20 648 | 116 971 | ×5.67 |
# edges | 43 857 | 196 980 | ×4.49 |
# unique origins | 1326 | 50 774 | ×38.29 |
# unique destinations | 1326 | 49 607 | ×37.41 |
# unique OD pairs | 161 871 | 466 079 | ×2.88 |
# breakpoints | 27 | 93 | ×3.44 |
Old scenario | New scenario | Variation | |
---|---|---|---|
Total | 01:49:42 | 09:00:28 | ×4.93 |
Skims computation | 00:20:04 | 06:57:25 | ×20.80 |
Demand model | 00:44:43 | 00:39:28 | ×0.88 |
Supply model | 00:42:35 | 01:19:11 | ×1.86 |
All the results are specific to the last iteration
agent_results.{parquet,csv}
: results at the agent-leveltrip_results.{parquet,csv}
: results at the trip-levelroute_results.{parquet,csv}
: detailed itineraries for the road tripsutility
: Simulated utility, based on the selected alternative $j$ and departure time $\tau$: $V^{\text{sim}}_{j}(\tau)$
alt_expected_utility
: Expected utility of the departure-time choice of the selected alternative $j$: $\mathbb{E}_{\varepsilon}[\max_{\tau} U_j(\tau)]$
expected_utility
: Expected utility of the alternative choice: $\mathbb{E}_{\varepsilon}[\max_{j} U_j]$
Example with a deterministic alternative-choice model and a constant departure time
utility
: Simulated utility, based on the selected alternative $j$, departure time $\tau$ and simulated travel times: $V^{\text{sim}}_{j}(\tau)$
alt_expected_utility
: Expected utility, based on the selected alternative $j$, departure time $\tau$ and expected travel times: $V^{\text{exp}}_{j}(\tau)$
expected_utility
: Expected utility, based on the selected alternative $j$, departure time $\tau$ and expected travel times: $V^{\text{exp}}_{j}(\tau)$
When the simulation has converged: $V^{\text{sim}}_j(\tau) \approx V^{\text{exp}}_j(\tau)$
Example with a Logit alternative-choice model and a Continuous Logit departure-time choice model
utility
: Simulated utility, based on the selected alternative $j$, departure time $\tau$ and simulated travel times: $V^{\text{sim}}_{j}(\tau)$
alt_expected_utility
: Logsum of departure-time choice for the selected alternative $j$
\[ \bar{U}_j \equiv \mathbb{E}_{\varepsilon}[\max_\tau U_j(\tau)] = \mu \ln \int_{t^0}^{t^1} e^{V_j^{\text{exp}}(\tau) / \mu} \text{d} \tau + \mu \cdot 0.577 \]
expected_utility
: Logsum of alternative choice ("logsum of logsum")
\[ \mathbb{E}_{\varepsilon}[\max_j U_j] = \mu \ln \sum_j e^{\bar{U}_j / \mu} + \mu \cdot 0.577 \]
Which one to use (e.g., for cost-benefit analysis)?
utility
: not really adapted when using random-utility models (the random perturbations $\varepsilon$ are omitted); recommended when using deterministic models (including models with drawn epsilons)
alt_expected_utility
: intermediate indicator, useful in some special cases only
expected_utility
: recommended when using random-utility models (it depends on the range of alternatives available, not just the realized choice: two identical agents always have the same expected_utility
but they can have different utility
if their uniform draws differ)route_results.{csv,parquet}
output file allows to show the detailed itinerary of an agent.
route_results.{csv,parquet}
output file allows to show a video of the vehicle movements.
Three files for the road-network conditions (edge-level travel-time functions):
net_cond_sim_edge_ttfs.{parquet,csv}
: last iteration, simulatednet_cond_exp_edge_ttfs.{parquet,csv}
: last iteration, expectednet_cond_next_exp_edge_ttfs.{parquet,csv}
: next iteration, expectedOne extra file:
skim_results.json.zst
: OD-level (expected) travel-time functions
{
"input_files": {
"agents": "agents.csv",
"alternatives": "alts.csv",
"trips": "trips.csv",
"edges": "edges.csv",
"vehicle_types": "vehicles.csv",
"road_network_conditions": "net_cond_next_exp_edge_ttfs.csv"
},
"output_directory": "output",
"period": [
25200.0,
28800.0
],
"road_network": {
"recording_interval": 60.0,
"spillback": false,
"max_pending_duration": 0.0
},
"max_iterations": 100,
"init_iteration_counter": 100,
"saving_format": "CSV",
"learning_model": {
"type": "Exponential",
"value": 0.4
}
}
parameters.json