flowtwin / benchmarks /benchmark_results.json
FlowTwin
FlowTwin — AI crowd digital twin for Formula 1 venues
3e2e16c
Raw
History Blame Contribute Delete
64.5 kB
Invalid JSON:Unexpected token 'N', ..."_time_s": NaN, "... is not valid JSON
{
"scenarios": {
"circuit_alpha_post_race": {
"scenario_id": "circuit_alpha_post_race",
"scenario_name": "Simulation 1 \u00b7 F1 Circuit Stress Test",
"venue_id": "circuit_alpha",
"crowd_size": 40000,
"duration_s": 3600.0,
"seeds": [
42193,
1177,
90210,
31337,
8080,
5150
],
"review_interval_s": 180.0,
"counterfactual_horizon_s": 240.0,
"arms": [
{
"id": "shortest_path",
"label": "Shortest path",
"description": "Baseline A \u2014 every spectator walks the shortest route; no operator action."
},
{
"id": "static_assignment",
"label": "Static routing",
"description": "Baseline B \u2014 a capacity-aware plan computed before the event and never revised."
},
{
"id": "flowtwin",
"label": "FlowTwin",
"description": "Prediction, counterfactual strategy selection and adaptive rerouting, re-evaluated on a review cycle."
}
],
"metrics": [
{
"key": "peak_density",
"label": "Peak density",
"unit": "p/m\u00b2",
"lower_is_better": true
},
{
"key": "critical_edge_seconds",
"label": "Critical exposure",
"unit": "corridor\u00b7s",
"lower_is_better": true
},
{
"key": "avg_travel_time_s",
"label": "Average travel time",
"unit": "s",
"lower_is_better": true
},
{
"key": "p95_travel_time_s",
"label": "95th percentile travel time",
"unit": "s",
"lower_is_better": true
},
{
"key": "max_queue",
"label": "Maximum queue",
"unit": "people",
"lower_is_better": true
},
{
"key": "throughput",
"label": "Throughput",
"unit": "people",
"lower_is_better": false
},
{
"key": "dispersal_time_s",
"label": "Dispersal time (95%)",
"unit": "s",
"lower_is_better": true
},
{
"key": "rerouted_agents",
"label": "Rerouted spectators",
"unit": "people",
"lower_is_better": null
}
],
"runs": [
{
"arm": "shortest_path",
"seed": 42193,
"wall_s": 11.71,
"metrics": {
"peak_density": 3.632,
"critical_edge_seconds": 2342.0,
"avg_travel_time_s": 837.1,
"p95_travel_time_s": 1891.0,
"max_queue": 4505.0,
"throughput": 40000.0,
"dispersal_time_s": 2399.0,
"rerouted_agents": 0.0,
"aggregate_risk": 9470.07
},
"interventions": []
},
{
"arm": "static_assignment",
"seed": 42193,
"wall_s": 9.78,
"metrics": {
"peak_density": 3.543,
"critical_edge_seconds": 1596.0,
"avg_travel_time_s": 774.72,
"p95_travel_time_s": 1634.0,
"max_queue": 4294.0,
"throughput": 40000.0,
"dispersal_time_s": 2125.0,
"rerouted_agents": 2033.0,
"aggregate_risk": 8882.557
},
"interventions": []
},
{
"arm": "flowtwin",
"seed": 42193,
"wall_s": 88.14,
"metrics": {
"peak_density": 1.585,
"critical_edge_seconds": 0.0,
"avg_travel_time_s": 773.67,
"p95_travel_time_s": 1619.0,
"max_queue": 1498.0,
"throughput": 39990.0,
"dispersal_time_s": 2018.0,
"rerouted_agents": 5509.0,
"aggregate_risk": 9212.232
},
"interventions": [
{
"t_s": 420.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 3567,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 600.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 2103,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 780.0,
"strategy_id": "combined",
"label": "Redirect 25% + stagger",
"agents_affected": 743,
"bottleneck": "NE CONCOURSE \u2192 E CONCOURSE"
},
{
"t_s": 960.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "NE CONCOURSE \u2192 CONC E"
},
{
"t_s": 1140.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 1320.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 31,
"bottleneck": "E CONCOURSE \u2192 SE CONCOURSE"
},
{
"t_s": 1500.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 1680.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 1860.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2040.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2220.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2400.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2580.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2760.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2940.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3120.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3300.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3480.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
}
]
},
{
"arm": "shortest_path",
"seed": 1177,
"wall_s": 11.82,
"metrics": {
"peak_density": 3.632,
"critical_edge_seconds": 2284.0,
"avg_travel_time_s": 832.92,
"p95_travel_time_s": 1871.0,
"max_queue": 4483.0,
"throughput": 40000.0,
"dispersal_time_s": 2402.0,
"rerouted_agents": 0.0,
"aggregate_risk": 9351.924
},
"interventions": []
},
{
"arm": "static_assignment",
"seed": 1177,
"wall_s": 10.07,
"metrics": {
"peak_density": 3.453,
"critical_edge_seconds": 1334.0,
"avg_travel_time_s": 772.01,
"p95_travel_time_s": 1624.0,
"max_queue": 4133.0,
"throughput": 40000.0,
"dispersal_time_s": 2128.0,
"rerouted_agents": 2020.0,
"aggregate_risk": 8791.614
},
"interventions": []
},
{
"arm": "flowtwin",
"seed": 1177,
"wall_s": 93.49,
"metrics": {
"peak_density": 1.895,
"critical_edge_seconds": 0.0,
"avg_travel_time_s": 779.77,
"p95_travel_time_s": 1694.0,
"max_queue": 1693.0,
"throughput": 39867.0,
"dispersal_time_s": 2135.0,
"rerouted_agents": 5746.0,
"aggregate_risk": 9764.541
},
"interventions": [
{
"t_s": 420.0,
"strategy_id": "destination_split",
"label": "Split to RAIL",
"agents_affected": 3055,
"bottleneck": "MAIN PLAZA \u2192 NE CONCOURSE"
},
{
"t_s": 600.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 2298,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 780.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 1274,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 960.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 1140.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 1320.0,
"strategy_id": "combined",
"label": "Redirect 25% + stagger",
"agents_affected": 118,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 1500.0,
"strategy_id": "reroute_30",
"label": "Redirect 30%",
"agents_affected": 36,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 1680.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 1860.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "E CONCOURSE \u2192 NE CONCOURSE"
},
{
"t_s": 2040.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 30,
"bottleneck": "EXIT B \u2192 COACH"
},
{
"t_s": 2220.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "MAIN PLAZA \u2192 N CONCOURSE"
},
{
"t_s": 2400.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2580.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "NE CONCOURSE \u2192 CONC E"
},
{
"t_s": 2760.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "EXIT A \u2192 RAIL"
},
{
"t_s": 2940.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3120.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3300.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "SE CONCOURSE \u2192 S CONCOURSE"
},
{
"t_s": 3480.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
}
]
},
{
"arm": "shortest_path",
"seed": 90210,
"wall_s": 10.6,
"metrics": {
"peak_density": 3.632,
"critical_edge_seconds": 2386.0,
"avg_travel_time_s": 837.81,
"p95_travel_time_s": 1900.0,
"max_queue": 4508.0,
"throughput": 40000.0,
"dispersal_time_s": 2418.05,
"rerouted_agents": 0.0,
"aggregate_risk": 9439.372
},
"interventions": []
},
{
"arm": "static_assignment",
"seed": 90210,
"wall_s": 9.71,
"metrics": {
"peak_density": 3.5,
"critical_edge_seconds": 1592.0,
"avg_travel_time_s": 775.72,
"p95_travel_time_s": 1649.0,
"max_queue": 4260.0,
"throughput": 40000.0,
"dispersal_time_s": 2155.0,
"rerouted_agents": 2005.0,
"aggregate_risk": 8857.792
},
"interventions": []
},
{
"arm": "flowtwin",
"seed": 90210,
"wall_s": 91.45,
"metrics": {
"peak_density": 2.304,
"critical_edge_seconds": 0.0,
"avg_travel_time_s": 774.66,
"p95_travel_time_s": 1617.0,
"max_queue": 2432.0,
"throughput": 39665.0,
"dispersal_time_s": 1979.0,
"rerouted_agents": 5699.0,
"aggregate_risk": 10182.851
},
"interventions": [
{
"t_s": 420.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 3593,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 600.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 2082,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 780.0,
"strategy_id": "combined",
"label": "Redirect 25% + stagger",
"agents_affected": 734,
"bottleneck": "NE CONCOURSE \u2192 E CONCOURSE"
},
{
"t_s": 960.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "NE CONCOURSE \u2192 CONC E"
},
{
"t_s": 1140.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 123,
"bottleneck": "E CONCOURSE \u2192 SE CONCOURSE"
},
{
"t_s": 1320.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 148,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 1500.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 1680.0,
"strategy_id": "open_alternate",
"label": "Open EXIT A",
"agents_affected": 10,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 1860.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "MAIN PLAZA \u2192 N CONCOURSE"
},
{
"t_s": 2040.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2220.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "NE CONCOURSE \u2192 CONC E"
},
{
"t_s": 2400.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2580.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "EXIT B \u2192 COACH"
},
{
"t_s": 2760.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2940.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "EXIT C \u2192 P SOUTH"
},
{
"t_s": 3120.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3300.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3480.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
}
]
},
{
"arm": "shortest_path",
"seed": 31337,
"wall_s": 10.52,
"metrics": {
"peak_density": 3.632,
"critical_edge_seconds": 2318.0,
"avg_travel_time_s": 833.29,
"p95_travel_time_s": 1877.0,
"max_queue": 4507.0,
"throughput": 40000.0,
"dispersal_time_s": 2399.0,
"rerouted_agents": 0.0,
"aggregate_risk": 9334.988
},
"interventions": []
},
{
"arm": "static_assignment",
"seed": 31337,
"wall_s": 9.0,
"metrics": {
"peak_density": 3.528,
"critical_edge_seconds": 1540.0,
"avg_travel_time_s": 770.26,
"p95_travel_time_s": 1620.0,
"max_queue": 4282.0,
"throughput": 40000.0,
"dispersal_time_s": 2121.0,
"rerouted_agents": 2078.0,
"aggregate_risk": 8807.925
},
"interventions": []
},
{
"arm": "flowtwin",
"seed": 31337,
"wall_s": 84.56,
"metrics": {
"peak_density": 1.995,
"critical_edge_seconds": 0.0,
"avg_travel_time_s": 788.57,
"p95_travel_time_s": 1714.0,
"max_queue": 2146.0,
"throughput": 39998.0,
"dispersal_time_s": 2162.0,
"rerouted_agents": 6095.0,
"aggregate_risk": 9283.719
},
"interventions": [
{
"t_s": 420.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 3566,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 600.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 1412,
"bottleneck": "NE CONCOURSE \u2192 E CONCOURSE"
},
{
"t_s": 780.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 1344,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 960.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 1140.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 1320.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 1500.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 44,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 1680.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 6,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 1860.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2040.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2220.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2400.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 2580.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2760.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2940.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "EXIT C \u2192 COACH"
},
{
"t_s": 3120.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3300.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3480.0,
"strategy_id": "destination_split",
"label": "Split to RAIL",
"agents_affected": 1,
"bottleneck": "EXIT C \u2192 COACH"
}
]
},
{
"arm": "shortest_path",
"seed": 8080,
"wall_s": 11.9,
"metrics": {
"peak_density": 3.632,
"critical_edge_seconds": 2270.0,
"avg_travel_time_s": 830.67,
"p95_travel_time_s": 1860.0,
"max_queue": 4489.0,
"throughput": 40000.0,
"dispersal_time_s": 2381.0,
"rerouted_agents": 0.0,
"aggregate_risk": 9416.78
},
"interventions": []
},
{
"arm": "static_assignment",
"seed": 8080,
"wall_s": 10.48,
"metrics": {
"peak_density": 3.512,
"critical_edge_seconds": 1480.0,
"avg_travel_time_s": 768.9,
"p95_travel_time_s": 1609.0,
"max_queue": 4217.0,
"throughput": 40000.0,
"dispersal_time_s": 2106.0,
"rerouted_agents": 2056.0,
"aggregate_risk": 8878.157
},
"interventions": []
},
{
"arm": "flowtwin",
"seed": 8080,
"wall_s": 131.26,
"metrics": {
"peak_density": 1.832,
"critical_edge_seconds": 0.0,
"avg_travel_time_s": 793.49,
"p95_travel_time_s": 1766.0,
"max_queue": 1618.0,
"throughput": 39998.0,
"dispersal_time_s": 2252.0,
"rerouted_agents": 3523.0,
"aggregate_risk": 9688.465
},
"interventions": [
{
"t_s": 420.0,
"strategy_id": "destination_split",
"label": "Split to RAIL",
"agents_affected": 3010,
"bottleneck": "MAIN PLAZA \u2192 NE CONCOURSE"
},
{
"t_s": 600.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 2271,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 780.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 1252,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 960.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 51,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 1140.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 11,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 1320.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 176,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 1500.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 1680.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 20,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 1860.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2040.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "E CONCOURSE \u2192 NE CONCOURSE"
},
{
"t_s": 2220.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2400.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2580.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2760.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2940.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3120.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3300.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3480.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
}
]
},
{
"arm": "shortest_path",
"seed": 5150,
"wall_s": 10.81,
"metrics": {
"peak_density": 3.632,
"critical_edge_seconds": 2350.0,
"avg_travel_time_s": 838.77,
"p95_travel_time_s": 1902.0,
"max_queue": 4450.0,
"throughput": 40000.0,
"dispersal_time_s": 2412.05,
"rerouted_agents": 0.0,
"aggregate_risk": 9386.788
},
"interventions": []
},
{
"arm": "static_assignment",
"seed": 5150,
"wall_s": 9.3,
"metrics": {
"peak_density": 3.543,
"critical_edge_seconds": 1596.0,
"avg_travel_time_s": 777.2,
"p95_travel_time_s": 1646.0,
"max_queue": 4289.0,
"throughput": 40000.0,
"dispersal_time_s": 2139.0,
"rerouted_agents": 2004.0,
"aggregate_risk": 8859.23
},
"interventions": []
},
{
"arm": "flowtwin",
"seed": 5150,
"wall_s": 97.74,
"metrics": {
"peak_density": 1.836,
"critical_edge_seconds": 0.0,
"avg_travel_time_s": 741.62,
"p95_travel_time_s": 1576.0,
"max_queue": 1627.0,
"throughput": 37940.0,
"dispersal_time_s": NaN,
"rerouted_agents": 3688.0,
"aggregate_risk": 10741.892
},
"interventions": [
{
"t_s": 420.0,
"strategy_id": "destination_split",
"label": "Split to RAIL",
"agents_affected": 3076,
"bottleneck": "MAIN PLAZA \u2192 NE CONCOURSE"
},
{
"t_s": 600.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 2389,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 780.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 1279,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 960.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 41,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 1140.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 140,
"bottleneck": "E CONCOURSE \u2192 SE CONCOURSE"
},
{
"t_s": 1320.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 1500.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 1680.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 84,
"bottleneck": "E CONCOURSE \u2192 EXIT B"
},
{
"t_s": 1860.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2040.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "NE CONCOURSE \u2192 FAN ZONE N"
},
{
"t_s": 2220.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2400.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2580.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2760.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2940.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3120.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3300.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3480.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
}
]
}
],
"generated_utc": "2026-08-12T15:56:22+00:00",
"stats": {
"shortest_path": {
"peak_density": {
"mean": 3.632390336935791,
"sd": 0.0,
"n": 6,
"min": 3.6323903369357913,
"max": 3.6323903369357913
},
"critical_edge_seconds": {
"mean": 2325.0,
"sd": 39.56008088970496,
"n": 6,
"min": 2270.0,
"max": 2386.0
},
"avg_travel_time_s": {
"mean": 835.0933333333332,
"sd": 2.957085652387433,
"n": 6,
"min": 830.67,
"max": 838.77
},
"p95_travel_time_s": {
"mean": 1883.5,
"sd": 15.392097539538485,
"n": 6,
"min": 1860.0,
"max": 1902.0
},
"max_queue": {
"mean": 4490.333333333333,
"sd": 20.360637405433938,
"n": 6,
"min": 4450.0,
"max": 4508.0
},
"throughput": {
"mean": 40000.0,
"sd": 0.0,
"n": 6,
"min": 40000.0,
"max": 40000.0
},
"dispersal_time_s": {
"mean": 2401.8500162760415,
"sd": 11.672421757631525,
"n": 6,
"min": 2381.0,
"max": 2418.050048828125
},
"rerouted_agents": {
"mean": 0.0,
"sd": 0.0,
"n": 6,
"min": 0.0,
"max": 0.0
}
},
"static_assignment": {
"peak_density": {
"mean": 3.5131913541004445,
"sd": 0.031001921810443707,
"n": 6,
"min": 3.4527972027972025,
"max": 3.542593769866497
},
"critical_edge_seconds": {
"mean": 1523.0,
"sd": 94.23198324702004,
"n": 6,
"min": 1334.0,
"max": 1596.0
},
"avg_travel_time_s": {
"mean": 773.1350000000001,
"sd": 2.977279238947333,
"n": 6,
"min": 768.9,
"max": 777.2
},
"p95_travel_time_s": {
"mean": 1630.3333333333333,
"sd": 14.197026292697903,
"n": 6,
"min": 1609.0,
"max": 1649.0
},
"max_queue": {
"mean": 4245.833333333333,
"sd": 56.649262033047606,
"n": 6,
"min": 4133.0,
"max": 4294.0
},
"throughput": {
"mean": 40000.0,
"sd": 0.0,
"n": 6,
"min": 40000.0,
"max": 40000.0
},
"dispersal_time_s": {
"mean": 2129.0,
"sd": 15.198684153570664,
"n": 6,
"min": 2106.0,
"max": 2155.0
},
"rerouted_agents": {
"mean": 2032.6666666666667,
"sd": 26.91756964429656,
"n": 6,
"min": 2004.0,
"max": 2078.0
}
},
"flowtwin": {
"peak_density": {
"mean": 1.907845941936851,
"sd": 0.21600400156834812,
"n": 6,
"min": 1.584551811824539,
"max": 2.3037190082644625
},
"critical_edge_seconds": {
"mean": 0.0,
"sd": 0.0,
"n": 6,
"min": 0.0,
"max": 0.0
},
"avg_travel_time_s": {
"mean": 775.2966666666666,
"sd": 16.655123002314408,
"n": 6,
"min": 741.62,
"max": 793.49
},
"p95_travel_time_s": {
"mean": 1664.3333333333333,
"sd": 65.55065895083656,
"n": 6,
"min": 1576.0,
"max": 1766.0
},
"max_queue": {
"mean": 1835.6666666666667,
"sd": 335.9596536622945,
"n": 6,
"min": 1498.0,
"max": 2432.0
},
"throughput": {
"mean": 39576.333333333336,
"sd": 741.2445990059931,
"n": 6,
"min": 37940.0,
"max": 39998.0
},
"dispersal_time_s": {
"mean": 2109.2,
"sd": 99.11084703502438,
"n": 5,
"min": 1979.0,
"max": 2252.0
},
"rerouted_agents": {
"mean": 5043.333333333333,
"sd": 1032.3782683149084,
"n": 6,
"min": 3523.0,
"max": 6095.0
}
}
},
"deltas_vs_shortest_path_pct": {
"static_assignment": {
"peak_density": -3.2815576460293125,
"critical_edge_seconds": -34.494623655913976,
"avg_travel_time_s": -7.419330374249562,
"p95_travel_time_s": -13.441288381559158,
"max_queue": -5.445030064583179,
"throughput": 0.0,
"dispersal_time_s": -11.359993939133759
},
"flowtwin": {
"peak_density": -47.47684678771968,
"critical_edge_seconds": -100.0,
"avg_travel_time_s": -7.160477072423038,
"p95_travel_time_s": -11.63613839483232,
"max_queue": -59.1195902308663,
"throughput": -1.0591666666666606,
"dispersal_time_s": -12.184358485871744
}
}
},
"barcelona_2022_egress": {
"scenario_id": "barcelona_2022_egress",
"scenario_name": "Simulation 2 \u00b7 Barcelona 2022 Counterfactual",
"venue_id": "barcelona_2022",
"crowd_size": 78000,
"duration_s": 6000.0,
"seeds": [
42193,
1177,
90210,
31337
],
"review_interval_s": 300.0,
"counterfactual_horizon_s": 180.0,
"arms": [
{
"id": "shortest_path",
"label": "Shortest path",
"description": "Baseline A \u2014 every spectator walks the shortest route; no operator action."
},
{
"id": "static_assignment",
"label": "Static routing",
"description": "Baseline B \u2014 a capacity-aware plan computed before the event and never revised."
},
{
"id": "flowtwin",
"label": "FlowTwin",
"description": "Prediction, counterfactual strategy selection and adaptive rerouting, re-evaluated on a review cycle."
}
],
"metrics": [
{
"key": "peak_density",
"label": "Peak density",
"unit": "p/m\u00b2",
"lower_is_better": true
},
{
"key": "critical_edge_seconds",
"label": "Critical exposure",
"unit": "corridor\u00b7s",
"lower_is_better": true
},
{
"key": "avg_travel_time_s",
"label": "Average travel time",
"unit": "s",
"lower_is_better": true
},
{
"key": "p95_travel_time_s",
"label": "95th percentile travel time",
"unit": "s",
"lower_is_better": true
},
{
"key": "max_queue",
"label": "Maximum queue",
"unit": "people",
"lower_is_better": true
},
{
"key": "throughput",
"label": "Throughput",
"unit": "people",
"lower_is_better": false
},
{
"key": "dispersal_time_s",
"label": "Dispersal time (95%)",
"unit": "s",
"lower_is_better": true
},
{
"key": "rerouted_agents",
"label": "Rerouted spectators",
"unit": "people",
"lower_is_better": null
}
],
"runs": [
{
"arm": "shortest_path",
"seed": 42193,
"wall_s": 17.3,
"metrics": {
"peak_density": 3.293,
"critical_edge_seconds": 1434.0,
"avg_travel_time_s": 725.31,
"p95_travel_time_s": 1328.0,
"max_queue": 3821.0,
"throughput": 78000.0,
"dispersal_time_s": 2520.0,
"rerouted_agents": 0.0,
"aggregate_risk": 14728.712
},
"interventions": []
},
{
"arm": "static_assignment",
"seed": 42193,
"wall_s": 17.34,
"metrics": {
"peak_density": 3.293,
"critical_edge_seconds": 1434.0,
"avg_travel_time_s": 725.31,
"p95_travel_time_s": 1328.0,
"max_queue": 3821.0,
"throughput": 78000.0,
"dispersal_time_s": 2520.0,
"rerouted_agents": 0.0,
"aggregate_risk": 14728.712
},
"interventions": []
},
{
"arm": "flowtwin",
"seed": 42193,
"wall_s": 98.92,
"metrics": {
"peak_density": 1.791,
"critical_edge_seconds": 0.0,
"avg_travel_time_s": 737.19,
"p95_travel_time_s": 1413.0,
"max_queue": 1564.0,
"throughput": 78000.0,
"dispersal_time_s": 2620.0,
"rerouted_agents": 3955.0,
"aggregate_risk": 15419.141
},
"interventions": [
{
"t_s": 420.0,
"strategy_id": "combined",
"label": "Redirect 25% + stagger",
"agents_affected": 11336,
"bottleneck": "MAIN CONCOURSE \u2192 FAN ZONE"
},
{
"t_s": 720.0,
"strategy_id": "combined",
"label": "Redirect 25% + stagger",
"agents_affected": 8683,
"bottleneck": "EXIT W \u2192 P WEST / C-17"
},
{
"t_s": 1020.0,
"strategy_id": "destination_split",
"label": "Split to COACH",
"agents_affected": 2573,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 1320.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 1544,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 1620.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 1456,
"bottleneck": "EXIT W \u2192 P WEST / C-17"
},
{
"t_s": 1920.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 342,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 2220.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 94,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 2520.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 37,
"bottleneck": "E CONCOURSE \u2192 SE CONCOURSE"
},
{
"t_s": 2820.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 1,
"bottleneck": "COACH \u2192 EXIT S"
},
{
"t_s": 3120.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3420.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3720.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 4020.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 4320.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 4620.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 4920.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
}
]
},
{
"arm": "shortest_path",
"seed": 1177,
"wall_s": 16.05,
"metrics": {
"peak_density": 3.379,
"critical_edge_seconds": 1506.0,
"avg_travel_time_s": 726.08,
"p95_travel_time_s": 1332.0,
"max_queue": 3947.0,
"throughput": 78000.0,
"dispersal_time_s": 2529.0,
"rerouted_agents": 0.0,
"aggregate_risk": 14673.831
},
"interventions": []
},
{
"arm": "static_assignment",
"seed": 1177,
"wall_s": 17.11,
"metrics": {
"peak_density": 3.379,
"critical_edge_seconds": 1506.0,
"avg_travel_time_s": 726.08,
"p95_travel_time_s": 1332.0,
"max_queue": 3947.0,
"throughput": 78000.0,
"dispersal_time_s": 2529.0,
"rerouted_agents": 0.0,
"aggregate_risk": 14673.831
},
"interventions": []
},
{
"arm": "flowtwin",
"seed": 1177,
"wall_s": 95.99,
"metrics": {
"peak_density": 1.986,
"critical_edge_seconds": 0.0,
"avg_travel_time_s": 751.67,
"p95_travel_time_s": 1474.0,
"max_queue": 1989.0,
"throughput": 78000.0,
"dispersal_time_s": 2674.0,
"rerouted_agents": 5507.0,
"aggregate_risk": 15919.515
},
"interventions": [
{
"t_s": 420.0,
"strategy_id": "combined",
"label": "Redirect 25% + stagger",
"agents_affected": 11358,
"bottleneck": "FAN ZONE \u2192 E CONCOURSE"
},
{
"t_s": 720.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 2328,
"bottleneck": "SE CONCOURSE \u2192 E CONCOURSE"
},
{
"t_s": 1020.0,
"strategy_id": "destination_split",
"label": "Split to COACH",
"agents_affected": 2607,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 1320.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 1540,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 1620.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 1079,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 1920.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 360,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 2220.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 112,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 2520.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 20,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 2820.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3120.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 3,
"bottleneck": "EXIT E \u2192 COACH"
},
{
"t_s": 3420.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3720.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 0,
"bottleneck": "SE CONCOURSE \u2192 E CONCOURSE"
},
{
"t_s": 4020.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 4320.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 4620.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 4920.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
}
]
},
{
"arm": "shortest_path",
"seed": 90210,
"wall_s": 15.17,
"metrics": {
"peak_density": 3.169,
"critical_edge_seconds": 1206.0,
"avg_travel_time_s": 717.66,
"p95_travel_time_s": 1316.0,
"max_queue": 3606.0,
"throughput": 78000.0,
"dispersal_time_s": 2507.0,
"rerouted_agents": 0.0,
"aggregate_risk": 14689.821
},
"interventions": []
},
{
"arm": "static_assignment",
"seed": 90210,
"wall_s": 15.28,
"metrics": {
"peak_density": 3.169,
"critical_edge_seconds": 1206.0,
"avg_travel_time_s": 717.66,
"p95_travel_time_s": 1316.0,
"max_queue": 3606.0,
"throughput": 78000.0,
"dispersal_time_s": 2507.0,
"rerouted_agents": 0.0,
"aggregate_risk": 14689.821
},
"interventions": []
},
{
"arm": "flowtwin",
"seed": 90210,
"wall_s": 84.28,
"metrics": {
"peak_density": 1.962,
"critical_edge_seconds": 0.0,
"avg_travel_time_s": 752.4,
"p95_travel_time_s": 1481.0,
"max_queue": 1996.0,
"throughput": 78000.0,
"dispersal_time_s": 2662.0,
"rerouted_agents": 7591.0,
"aggregate_risk": 15894.032
},
"interventions": [
{
"t_s": 420.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 4013,
"bottleneck": "MAIN CONCOURSE \u2192 FAN ZONE"
},
{
"t_s": 720.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 2327,
"bottleneck": "SE CONCOURSE \u2192 E CONCOURSE"
},
{
"t_s": 1020.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 2636,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 1320.0,
"strategy_id": "combined",
"label": "Redirect 25% + stagger",
"agents_affected": 2515,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 1620.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 1203,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 1920.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 418,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 2220.0,
"strategy_id": "combined",
"label": "Redirect 25% + stagger",
"agents_affected": 183,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 2520.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 2820.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3120.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3420.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3720.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 4020.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
}
]
},
{
"arm": "shortest_path",
"seed": 31337,
"wall_s": 14.68,
"metrics": {
"peak_density": 3.162,
"critical_edge_seconds": 1230.0,
"avg_travel_time_s": 721.15,
"p95_travel_time_s": 1322.0,
"max_queue": 3580.0,
"throughput": 78000.0,
"dispersal_time_s": 2511.0,
"rerouted_agents": 0.0,
"aggregate_risk": 14579.01
},
"interventions": []
},
{
"arm": "static_assignment",
"seed": 31337,
"wall_s": 38.65,
"metrics": {
"peak_density": 3.162,
"critical_edge_seconds": 1230.0,
"avg_travel_time_s": 721.15,
"p95_travel_time_s": 1322.0,
"max_queue": 3580.0,
"throughput": 78000.0,
"dispersal_time_s": 2511.0,
"rerouted_agents": 0.0,
"aggregate_risk": 14579.01
},
"interventions": []
},
{
"arm": "flowtwin",
"seed": 31337,
"wall_s": 97.03,
"metrics": {
"peak_density": 1.721,
"critical_edge_seconds": 0.0,
"avg_travel_time_s": 758.64,
"p95_travel_time_s": 1608.0,
"max_queue": 1689.0,
"throughput": 78000.0,
"dispersal_time_s": 2752.0,
"rerouted_agents": 5559.0,
"aggregate_risk": 15696.5
},
"interventions": [
{
"t_s": 420.0,
"strategy_id": "reroute_40",
"label": "Redirect 40%",
"agents_affected": 3974,
"bottleneck": "MAIN CONCOURSE \u2192 FAN ZONE"
},
{
"t_s": 720.0,
"strategy_id": "combined",
"label": "Redirect 25% + stagger",
"agents_affected": 7271,
"bottleneck": "FAN ZONE \u2192 E CONCOURSE"
},
{
"t_s": 1020.0,
"strategy_id": "destination_split",
"label": "Split to COACH",
"agents_affected": 2474,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 1320.0,
"strategy_id": "combined",
"label": "Redirect 25% + stagger",
"agents_affected": 3021,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 1620.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 1201,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 1920.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 394,
"bottleneck": "EXIT N \u2192 RAIL MONTMEL\u00d3"
},
{
"t_s": 2220.0,
"strategy_id": "combined",
"label": "Redirect 25% + stagger",
"agents_affected": 49,
"bottleneck": "EXIT S \u2192 COACH"
},
{
"t_s": 2520.0,
"strategy_id": "gate_stagger",
"label": "Stagger release",
"agents_affected": 9,
"bottleneck": "COACH \u2192 EXIT E"
},
{
"t_s": 2820.0,
"strategy_id": "reroute_20",
"label": "Redirect 20%",
"agents_affected": 18,
"bottleneck": "E CONCOURSE \u2192 EXIT E"
},
{
"t_s": 3120.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3420.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 3720.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 4020.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
},
{
"t_s": 4320.0,
"strategy_id": "no_action",
"note": "no intervention beat doing nothing"
}
]
}
],
"generated_utc": "2026-08-12T16:05:13+00:00",
"stats": {
"shortest_path": {
"peak_density": {
"mean": 3.2507861635220126,
"sd": 0.09034866051224848,
"n": 4,
"min": 3.16203243958954,
"max": 3.378848063555114
},
"critical_edge_seconds": {
"mean": 1344.0,
"sd": 128.82546332150332,
"n": 4,
"min": 1206.0,
"max": 1506.0
},
"avg_travel_time_s": {
"mean": 722.55,
"sd": 3.3893435942671983,
"n": 4,
"min": 717.66,
"max": 726.08
},
"p95_travel_time_s": {
"mean": 1324.5,
"sd": 6.06217782649107,
"n": 4,
"min": 1316.0,
"max": 1332.0
},
"max_queue": {
"mean": 3738.5,
"sd": 152.4442521054828,
"n": 4,
"min": 3580.0,
"max": 3947.0
},
"throughput": {
"mean": 78000.0,
"sd": 0.0,
"n": 4,
"min": 78000.0,
"max": 78000.0
},
"dispersal_time_s": {
"mean": 2516.75,
"sd": 8.496322733983215,
"n": 4,
"min": 2507.0,
"max": 2529.0
},
"rerouted_agents": {
"mean": 0.0,
"sd": 0.0,
"n": 4,
"min": 0.0,
"max": 0.0
}
},
"static_assignment": {
"peak_density": {
"mean": 3.2507861635220126,
"sd": 0.09034866051224848,
"n": 4,
"min": 3.16203243958954,
"max": 3.378848063555114
},
"critical_edge_seconds": {
"mean": 1344.0,
"sd": 128.82546332150332,
"n": 4,
"min": 1206.0,
"max": 1506.0
},
"avg_travel_time_s": {
"mean": 722.55,
"sd": 3.3893435942671983,
"n": 4,
"min": 717.66,
"max": 726.08
},
"p95_travel_time_s": {
"mean": 1324.5,
"sd": 6.06217782649107,
"n": 4,
"min": 1316.0,
"max": 1332.0
},
"max_queue": {
"mean": 3738.5,
"sd": 152.4442521054828,
"n": 4,
"min": 3580.0,
"max": 3947.0
},
"throughput": {
"mean": 78000.0,
"sd": 0.0,
"n": 4,
"min": 78000.0,
"max": 78000.0
},
"dispersal_time_s": {
"mean": 2516.75,
"sd": 8.496322733983215,
"n": 4,
"min": 2507.0,
"max": 2529.0
},
"rerouted_agents": {
"mean": 0.0,
"sd": 0.0,
"n": 4,
"min": 0.0,
"max": 0.0
}
},
"flowtwin": {
"peak_density": {
"mean": 1.8650695134061568,
"sd": 0.11208573933713847,
"n": 4,
"min": 1.7212843429328035,
"max": 1.9860973187686195
},
"critical_edge_seconds": {
"mean": 0.0,
"sd": 0.0,
"n": 4,
"min": 0.0,
"max": 0.0
},
"avg_travel_time_s": {
"mean": 749.975,
"sd": 7.862761919325774,
"n": 4,
"min": 737.19,
"max": 758.64
},
"p95_travel_time_s": {
"mean": 1494.0,
"sd": 70.93306704210667,
"n": 4,
"min": 1413.0,
"max": 1608.0
},
"max_queue": {
"mean": 1809.5,
"sd": 188.2770564885695,
"n": 4,
"min": 1564.0,
"max": 1996.0
},
"throughput": {
"mean": 78000.0,
"sd": 0.0,
"n": 4,
"min": 78000.0,
"max": 78000.0
},
"dispersal_time_s": {
"mean": 2677.0,
"sd": 47.7179211617606,
"n": 4,
"min": 2620.0,
"max": 2752.0
},
"rerouted_agents": {
"mean": 5653.0,
"sd": 1291.2397143830422,
"n": 4,
"min": 3955.0,
"max": 7591.0
}
}
},
"deltas_vs_shortest_path_pct": {
"static_assignment": {
"peak_density": 0.0,
"critical_edge_seconds": 0.0,
"avg_travel_time_s": 0.0,
"p95_travel_time_s": 0.0,
"max_queue": 0.0,
"throughput": 0.0,
"dispersal_time_s": 0.0
},
"flowtwin": {
"peak_density": -42.62712403742125,
"critical_edge_seconds": -100.0,
"avg_travel_time_s": 3.795585080617268,
"p95_travel_time_s": 12.797281993204983,
"max_queue": -51.59823458606393,
"throughput": 0.0,
"dispersal_time_s": 6.3673388298400715
}
}
}
},
"default_scenario": "barcelona_2022_egress",
"seed_count": 4
}