Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
359 commits
Select commit Hold shift + click to select a range
577aadc
Update simulation_parameters.csv
JoelBrodersen Feb 14, 2025
91aeea0
Update simulation_parameters.csv
JoelBrodersen Feb 14, 2025
118f7e8
Update networks
JoelBrodersen Feb 17, 2025
e2e7e5c
Upload networks
JoelBrodersen Feb 17, 2025
36df99e
upload base network
JoelBrodersen Feb 17, 2025
9bdb45c
Added Base network into Hist with Mod Networks
JoelBrodersen Feb 18, 2025
821ad5b
Update simulation_parameters.csv
JoelBrodersen Feb 19, 2025
52bc5ec
Update Demand
JoelBrodersen Feb 26, 2025
2c494fb
Update Networks
JoelBrodersen Feb 26, 2025
24259d3
Update simulation_parameters.csv
JoelBrodersen Feb 26, 2025
f3bcfe9
Update simulation_parameters.csv
JoelBrodersen Mar 4, 2025
b1111c3
Update networks
JoelBrodersen Mar 7, 2025
cea6dfe
Update simulation_parameters.csv
JoelBrodersen Mar 7, 2025
6b1d06a
Update simulation_parameters.csv
JoelBrodersen Mar 21, 2025
836d960
Update for pen_rate 0.8 and 1.0
JoelBrodersen Mar 24, 2025
a36ad63
Update simulation_parameters.csv
JoelBrodersen Mar 24, 2025
95d2d66
Update SUMOFleetPyServer.py
JoelBrodersen Mar 28, 2025
79fa329
Update SUMOFleetPyServer.py
JoelBrodersen Mar 28, 2025
6a4535a
Update SUMOFleetPyServer.py
JoelBrodersen Mar 28, 2025
b8fba1e
Update SUMOFleetPyServer.py
JoelBrodersen Mar 28, 2025
78707ce
Update SUMOFleetPyServer.py
JoelBrodersen Apr 2, 2025
e297cb2
Minor Changes for better Performance: Set lookup instead of Lisst lookup
JoelBrodersen Apr 2, 2025
12d9814
Update simulation_parameters.csv
JoelBrodersen Apr 2, 2025
6f834f1
Update SUMOFleetPyServer.py
JoelBrodersen Apr 3, 2025
3984a9e
start with MATSim coupling
r0meng Apr 17, 2025
5837dbc
Update RT Correction Term +1s
JoelBrodersen May 7, 2025
e0ee9ca
Correction Term RTT: +0
JoelBrodersen May 21, 2025
a649a93
Update simulation_parameters.csv
JoelBrodersen May 21, 2025
4645735
Update simulation_parameters.csv
JoelBrodersen May 21, 2025
e1c4092
Hybrid Router 1.0
JoelBrodersen May 21, 2025
9eb72be
Updates for Hybrid Router
JoelBrodersen May 21, 2025
2f98e1d
Update Hybrid Router
JoelBrodersen May 26, 2025
fc824d0
Updated RTT-Router for edge_id bug
JoelBrodersen May 26, 2025
3908903
Chnaged Count adjustment
JoelBrodersen May 26, 2025
9c15899
Update simulation_parameters.csv
JoelBrodersen May 26, 2025
203719e
Update simulation_parameters.csv
JoelBrodersen Jun 11, 2025
b1d621b
Hybrid Router Relative Path
JoelBrodersen Jun 11, 2025
95a1517
Update simulation_parameters.csv
JoelBrodersen Jun 11, 2025
bb900d3
Upload time 28800 for s1,2,3 historic
JoelBrodersen Jun 12, 2025
b6b8c6a
Upload dyn tt 32400
JoelBrodersen Jun 12, 2025
6cdb6fd
Update simulation_parameters.csv
JoelBrodersen Jun 15, 2025
a1a2f7a
Update simulation_parameters.csv
JoelBrodersen Jun 16, 2025
b29ba72
some bugfixes for coupling
r0meng Jul 4, 2025
5cd95a1
Update simulation_parameters.csv
JoelBrodersen Jul 8, 2025
c65da53
Update SimulationRunner.py
JoelBrodersen Jul 10, 2025
6af878d
Update simulation_parameters.csv
JoelBrodersen Jul 11, 2025
ffc3459
Update simulation_parameters.csv
JoelBrodersen Jul 11, 2025
d769e55
Update SUMOFleetPyServer.py
JoelBrodersen Jul 14, 2025
a67cd69
running until matsim error
r0meng Jul 24, 2025
e686b7f
updates for MATSim coupling -> now leads to error on matsim side
r0meng Aug 27, 2025
54ae82f
feat: request can start and end at arbitrary positions in the network
r0meng Sep 2, 2025
c2ca3fe
one iteration completed
r0meng Sep 2, 2025
84d6f1f
included travel time updates
r0meng Sep 3, 2025
e838621
Update simulation_parameters.csv
JoelBrodersen Sep 3, 2025
b3a6dd9
Update simulation_parameters.csv
JoelBrodersen Sep 3, 2025
186b85e
small update for smooth termination
r0meng Sep 3, 2025
ec7df58
Update simulation_parameters.csv
JoelBrodersen Sep 8, 2025
254c534
Update simulation_parameters.csv
JoelBrodersen Sep 8, 2025
5461338
Update simulation_parameters.csv
JoelBrodersen Sep 9, 2025
742dabf
Update SUMOFleetPyServer.py
JoelBrodersen Sep 9, 2025
64f8c25
Update simulation_parameters.csv
JoelBrodersen Sep 10, 2025
5df9f76
Update SUMOFleetPyServer.py
JoelBrodersen Sep 11, 2025
ea7a994
Update simulation_parameters.csv
JoelBrodersen Sep 11, 2025
778fe0d
Fixed hybrid_router bug
JoelBrodersen Sep 11, 2025
82a3aed
Update SUMOFleetPyServer.py
JoelBrodersen Sep 29, 2025
c78f6e6
Update SUMOFleetPyServer.py
JoelBrodersen Sep 29, 2025
d2b13bc
Update SUMOFleetPyServer.py
JoelBrodersen Sep 29, 2025
b28f3f3
some bugfixes:
r0meng Sep 29, 2025
d0357fb
Update SUMOFleetPyServer.py
JoelBrodersen Sep 29, 2025
47035c6
Update SUMOFleetPyServer.py
JoelBrodersen Sep 29, 2025
d1cc96c
Update SUMOFleetPyServer.py
JoelBrodersen Sep 29, 2025
fd6fc35
Update SUMOFleetPyServer.py
JoelBrodersen Sep 29, 2025
15e1d89
Update SUMOFleetPyServer.py
JoelBrodersen Sep 29, 2025
1229c75
Update SUMOFleetPyServer.py
JoelBrodersen Sep 29, 2025
7dc7bcf
Update SUMOFleetPyServer.py
JoelBrodersen Sep 29, 2025
95a1129
another small bugfix
r0meng Sep 30, 2025
f99e243
Update SUMOFleetPyServer.py
JoelBrodersen Sep 30, 2025
349f5bc
Update SUMOFleetPyServer.py
JoelBrodersen Oct 1, 2025
076676a
Update SUMOFleetPyServer.py
JoelBrodersen Oct 1, 2025
1b16b91
Update SUMOFleetPyServer.py
JoelBrodersen Oct 1, 2025
ac6e4e8
Update SUMOFleetPyServer.py
JoelBrodersen Oct 1, 2025
4c2165e
Update SUMOFleetPyServer.py
JoelBrodersen Oct 1, 2025
ea0cdb6
Update SUMOFleetPyServer.py
JoelBrodersen Oct 1, 2025
876120a
Update SUMOFleetPyServer.py
JoelBrodersen Oct 1, 2025
d2cde09
another small bugfix
r0meng Oct 2, 2025
862d262
Update SUMOFleetPyServer.py
JoelBrodersen Oct 2, 2025
da233b9
Update SUMOFleetPyServer.py
JoelBrodersen Oct 2, 2025
c72b3e5
Update SUMOFleetPyServer.py
JoelBrodersen Oct 2, 2025
042f766
Update SUMOFleetPyServer.py
JoelBrodersen Oct 2, 2025
11e4861
Update SUMOFleetPyServer.py
JoelBrodersen Oct 2, 2025
9563348
Update SUMOFleetPyServer.py
JoelBrodersen Oct 2, 2025
da152ca
Update SUMOFleetPyServer.py
JoelBrodersen Oct 2, 2025
36357c1
Update SUMOFleetPyServer.py
JoelBrodersen Oct 2, 2025
8c5afed
Update SUMOFleetPyServer.py
JoelBrodersen Oct 2, 2025
39e2888
Update SUMOFleetPyServer.py
JoelBrodersen Oct 2, 2025
16f3144
Update SUMOFleetPyServer.py
JoelBrodersen Oct 2, 2025
35b6fcf
Update SUMOFleetPyServer.py
JoelBrodersen Oct 2, 2025
f794981
Update SUMOFleetPyServer.py
JoelBrodersen Oct 2, 2025
a1db3a4
Deleted Request 1303 because of mx_size Bug
JoelBrodersen Oct 2, 2025
c01f01e
Update SUMOFleetPyServer.py
JoelBrodersen Oct 2, 2025
07b2958
Update SUMOFleetPyServer.py
JoelBrodersen Oct 3, 2025
4738373
Update SUMOFleetPyServer.py
JoelBrodersen Oct 6, 2025
f5432f0
Update sumo_in_s_00_0.1.csv
JoelBrodersen Oct 7, 2025
3c86088
Update SUMOFleetPyServer.py
JoelBrodersen Oct 7, 2025
ac667ed
Update SUMOFleetPyServer.py
JoelBrodersen Oct 8, 2025
3353b3c
Testing Request time
JoelBrodersen Oct 8, 2025
71c5467
Update sumo_in_s_00_0.1.csv
JoelBrodersen Oct 8, 2025
ee32c6d
Update sumo_in_s_00_0.1.csv
JoelBrodersen Oct 8, 2025
1292a48
Update SUMOFleetPyServer.py
JoelBrodersen Oct 8, 2025
41d8dc8
some fixes + speedup
r0meng Oct 10, 2025
dd734d9
Update SUMOFleetPyServer.py
JoelBrodersen Oct 13, 2025
f2bc9aa
Normal Demand, No Removal of vehicles
JoelBrodersen Oct 13, 2025
5cdd867
Create test_delayed_import.py
JoelBrodersen Oct 14, 2025
324225e
Update SUMOFleetPyServer.py
JoelBrodersen Oct 14, 2025
70743f8
Sc 672-677 added
JoelBrodersen Oct 16, 2025
44758b5
fix in sim Parameters
JoelBrodersen Oct 16, 2025
6979dc9
Update simulation_parameters.csv
JoelBrodersen Oct 16, 2025
4cd2ad6
more bugfixes for iterations
r0meng Oct 17, 2025
17d39b5
another minor bugfix
r0meng Oct 20, 2025
61326a9
Update simulation_parameters.csv
JoelBrodersen Oct 21, 2025
a2eb63f
Update simulation_parameters.csv
JoelBrodersen Oct 21, 2025
2083f0a
Update SUMOFleetPyServer.py
JoelBrodersen Oct 21, 2025
035b86e
Update constant_config.csv
JoelBrodersen Oct 21, 2025
1965d10
some minor fixes for coupling with repo
r0meng Oct 21, 2025
b387009
Update SUMOFleetPyServer.py
JoelBrodersen Oct 22, 2025
af4c7c0
Update SimulationRunner.py
JoelBrodersen Oct 22, 2025
2ec1058
Update simulation_parameters.csv
JoelBrodersen Oct 27, 2025
1361e28
Update simulation_parameters.csv
JoelBrodersen Oct 27, 2025
e2bbdf5
feat: fleetctrl
r0meng Nov 17, 2025
4930e14
feat: start matsimsocket with console arguments
r0meng Nov 17, 2025
c2b3e67
feat: network comparison with hash
r0meng Nov 17, 2025
4cbeac4
feat: matsim network conversion: check for available modes per link
r0meng Nov 18, 2025
9b3967b
Move the existing routing code to `routing/road`, and create a new fo…
ChenhaoDing Nov 19, 2025
61eafb0
Deleted Old demand
JoelBrodersen Nov 24, 2025
4eec862
Deleted Old Demand
JoelBrodersen Nov 24, 2025
3d3e2f7
Improvements for Preprocessing Tools
JoelBrodersen Nov 24, 2025
4de3f2b
testing Network
JoelBrodersen Nov 24, 2025
bc8fb39
Update init_modules.py
JoelBrodersen Nov 24, 2025
015ae29
Update _NetworkBasicReliabilityWithStoreCppSumoCoupling.py
JoelBrodersen Nov 24, 2025
61cad80
Update simulation_parameters.csv
JoelBrodersen Nov 24, 2025
8875596
Update NetworkBasicReliabilityWithStoreCppSumoCoupling.py
JoelBrodersen Nov 24, 2025
5b44abb
small changes
JoelBrodersen Nov 24, 2025
aa95d3c
Update NetworkBasicReliabilityWithStoreCppSumoCoupling.py
JoelBrodersen Nov 24, 2025
8408e1b
Update SimulationRunner.py
JoelBrodersen Nov 25, 2025
6a71bfc
Normal CPP Router
JoelBrodersen Nov 25, 2025
abceeb6
Reset Reliability Functionalities for Merge
JoelBrodersen Nov 25, 2025
24ba1c7
Rename ExternallyMovingSimulationVehicle for SUMO Coupling
JoelBrodersen Nov 25, 2025
c967177
Update SUMOFleetPyServer.py
JoelBrodersen Nov 25, 2025
d6f2711
Seperated Reliability Router
JoelBrodersen Nov 25, 2025
684fdfa
Upload Test Demand
JoelBrodersen Nov 25, 2025
ec9145c
Removed Reliability Functionalities
JoelBrodersen Nov 25, 2025
e544eb9
feat: timeout recv
r0meng Nov 25, 2025
52a7e36
bugfix: load tt-file in cpp router
r0meng Nov 25, 2025
2a5b4de
Merge branch 'roman/FleetPy_MATSim_coupling' of https://github.com/TU…
r0meng Nov 25, 2025
30d2a9a
Update for Merge
JoelBrodersen Nov 25, 2025
75ad4c7
Delete Reliability Items
JoelBrodersen Nov 25, 2025
4854641
Delete Relliability Items
JoelBrodersen Nov 25, 2025
a5727e8
feat: new routing module that computes tt-matrices online
r0meng Nov 25, 2025
807bc6f
Update SUMOFleetPyServer.py
JoelBrodersen Nov 25, 2025
1f0fd29
Delete Data
JoelBrodersen Nov 25, 2025
97e466e
Cleanup sumo_in data
JoelBrodersen Nov 26, 2025
c6947d4
Clean up old data
JoelBrodersen Nov 26, 2025
c5c5e24
Cleanup old data
JoelBrodersen Nov 26, 2025
3e299e2
Delete demand_files_loop.py
JoelBrodersen Nov 26, 2025
0c920ad
Update .gitignore
JoelBrodersen Nov 26, 2025
4210d34
Reset new objective functions
JoelBrodersen Nov 26, 2025
534c993
Merge remote-tracking branch 'upstream/main' into fp_coupling_1.0
JoelBrodersen Nov 26, 2025
8aacb4d
Adjusted objectives.py
JoelBrodersen Nov 26, 2025
7c63cd4
Update SUMOFleetPyServer.py
JoelBrodersen Nov 26, 2025
6cb485a
feat: add rejection reason for output
r0meng Nov 27, 2025
a4648ee
bugfix: catch error with ending a not-started leg (i guess a repo tri…
r0meng Nov 27, 2025
18dd02a
Merge branch 'roman/FleetPy_MATSim_coupling' of https://github.com/TU…
r0meng Nov 27, 2025
23088e1
feat: AM Repo also loads a zone system if given (to check OA)
r0meng Nov 28, 2025
8ffde08
Upload sumo_example network
JoelBrodersen Dec 5, 2025
4b3ca5c
smaller coupling bugfix
r0meng Dec 8, 2025
106bce9
Add Raptor CPP Router
ChenhaoDing Dec 11, 2025
799e14e
feat(raptor): introduce RaptorRouterCpp and optimize journey calculation
ChenhaoDing Dec 11, 2025
5a24eaf
Stop tracking .DS_Store file
ChenhaoDing Dec 12, 2025
48ed8b6
Stop tracking src/routing/pt/cpp_raptor_router/PyPTRouter.cpp file
ChenhaoDing Dec 12, 2025
089116b
Update gitignore file
ChenhaoDing Dec 12, 2025
8f57732
Add PT Offer class
ChenhaoDing Dec 12, 2025
a491cbf
Update demand_from_sumo.py
JoelBrodersen Dec 12, 2025
de2bf9e
Add FP Demand for sumo_example
JoelBrodersen Dec 12, 2025
6003832
Add Study Material for sumo_example
JoelBrodersen Dec 12, 2025
516f5f5
Update demand_from_sumo.py
JoelBrodersen Dec 12, 2025
e27f2a5
Add Intermodal Offer class
ChenhaoDing Dec 12, 2025
bc7f4e1
Update sumo_example net and demand
JoelBrodersen Dec 12, 2025
d1f0c56
Upload sumo_example sumo network
JoelBrodersen Dec 12, 2025
832529b
Add BasicIntermodalRequest class
ChenhaoDing Dec 15, 2025
a997fc3
Update sumo_example.view.xml
JoelBrodersen Dec 15, 2025
f204695
Delete SimulationRunner.py
JoelBrodersen Dec 15, 2025
1a8ebac
feat: delete old socket com file after iteration
r0meng Dec 15, 2025
f00d145
Merge branch 'roman/FleetPy_MATSim_coupling' of https://github.com/TU…
r0meng Dec 15, 2025
2c8edbe
feat: add some docu to matsimsocked
r0meng Dec 15, 2025
71bf32c
Merge branch 'roman/FleetPy_MATSim_coupling' of https://github.com/TU…
r0meng Dec 15, 2025
aab0f94
Add PTControl class to simulate PT operator behaviors
ChenhaoDing Dec 15, 2025
54710a2
Preparation for Merge
JoelBrodersen Dec 16, 2025
b89ad97
Mino Changes for Merge
JoelBrodersen Dec 16, 2025
922f0d2
Minor Changes
JoelBrodersen Dec 16, 2025
ed9c9cd
Minor Changes
JoelBrodersen Dec 16, 2025
b0b2cc3
Update objectives.py
JoelBrodersen Dec 16, 2025
48339d5
feat: introduce RAPTOR-based PT router and TPCS PTBroker
ChenhaoDing Dec 17, 2025
daa5ab1
Standardize fixed-line transportation service naming to 'pt' and upda…
ChenhaoDing Dec 18, 2025
71d7c4c
Remove a duplicated global value and add a new self attribute to Basi…
ChenhaoDing Jan 5, 2026
2b3bed0
Bug fix
ChenhaoDing Jan 15, 2026
1d17444
feat: new PTBroker step 1
ChenhaoDing Jan 26, 2026
0052995
feat: New PTBroker step 1
ChenhaoDing Jan 26, 2026
05e40e7
1. update pt preprocessing directory path;
ChenhaoDing Jan 28, 2026
58f88b8
update the readme file, add compile instruction for the PT router
ChenhaoDing Jan 29, 2026
d06909e
Move to win
ChenhaoDing Jan 30, 2026
fc0a9ee
Basic Collaborative Coordination
ChenhaoDing Jan 30, 2026
27b8673
Enable customizable wait time for last mile AMoD pickups
ChenhaoDing Jan 30, 2026
9fc7680
Update initialization mehtod of PTBroker
ChenhaoDing Jan 30, 2026
31b3e52
- Bugfix: PTBroker
ChenhaoDing Feb 2, 2026
546e60a
Estimation-based Integration
ChenhaoDing Feb 3, 2026
2b38409
PTBrokerEI
ChenhaoDing Feb 3, 2026
fe22323
created MATSimEqasim folder for integration of multiple couplings
r0meng Feb 4, 2026
f148d8c
Merge remote-tracking branch 'github-desktop-JoelBrodersen/fp_couplin…
r0meng Feb 4, 2026
44f7253
move sumo stuff to coupling/SUMO
r0meng Feb 4, 2026
0baa1d9
bugfixing to start sumo coupling again
r0meng Feb 4, 2026
f6b6eeb
Add automatic cancellation mechanism when FM AMoD is late for PT conn…
ChenhaoDing Feb 4, 2026
f57012c
removed routing_engines with SUMO (use standard functionality); minor…
r0meng Feb 4, 2026
eacf014
Add PAYG
ChenhaoDing Feb 5, 2026
918b55d
Modify the logic of implementing MaaS estimated detour time factor
ChenhaoDing Feb 5, 2026
9ae9e78
Fix bugs
ChenhaoDing Feb 13, 2026
1069868
min distance for rejection
r0meng Feb 18, 2026
f1ac1e7
fix: src path import + remove com logging
r0meng Feb 20, 2026
de1c55d
add pixi support
ChenhaoDing Feb 23, 2026
f2370ab
Merge branch 'chenhao/ptbroker_to_be_merged' of github.com:TUM-VT/Fle…
ChenhaoDing Feb 23, 2026
395ae28
remove pixi support
ChenhaoDing Feb 23, 2026
ccf2d67
Add strategy doc comments to PTBroker modules and update changelog
ChenhaoDing Mar 9, 2026
006fd25
feat:
r0meng Mar 11, 2026
5e24f68
feat: make automatic evaluation work also for matsim coupling
r0meng Mar 11, 2026
4f5e02f
include option to start from a later iteration
r0meng Mar 11, 2026
b996b29
generall bugfixes
r0meng Mar 23, 2026
4357f52
bugfix: rq.choose_offer -> scenario parameters as input
r0meng May 7, 2026
0c607f5
feat: remove travel time files / log from former iteration
r0meng May 11, 2026
1e5eb53
feat:
r0meng May 21, 2026
24ebd4f
Merge remote-tracking branch 'origin/main' into dev/merge_to_master
r0meng May 27, 2026
cc90e1b
Merge branch 'roman/FleetPy_MATSim_coupling' into dev/merge_to_master
r0meng May 27, 2026
f33bcba
Merge commit 'ccf2d675844109e107050136b9d1e8cd1c9cac63' into dev/merg…
r0meng Jun 18, 2026
b635765
Feat: Big merge of chenhao's broker / intermodal framework. detail ch…
r0meng Jun 18, 2026
1e5329d
fix: switching to positions for requests instead of nodes needed some…
r0meng Jun 18, 2026
3d23cb2
Fix PTBroker module test configurations and benchmarks
ChenhaoDing Jun 18, 2026
c9994fd
Merge remote-tracking branch 'origin/chenhao/ptbroker_to_be_merged' i…
r0meng Jun 18, 2026
df87752
fix: update needed to switch to positions instead of nodes in the cre…
r0meng Jun 19, 2026
f83042e
bugfix: vehicle loading had bug with double unit conversion
r0meng Jun 22, 2026
d4098a2
Merge branch 'roman/find_bug' into dev/merge_to_master
r0meng Jun 22, 2026
7da50ec
BENCHMARK TESTS COMPLETED
r0meng Jun 22, 2026
6fb6a2f
updated changelog
r0meng Jun 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed .DS_Store
Binary file not shown.
31 changes: 24 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ run_private*.py
data/README*
data/demand/*
!data/demand/example_demand
!data/demand/sumo_example
!data/demand/example_parcel_demand
data/fleetctrl/initial_vehicle_distribution/*
data/fleetctrl/elastic_pricing/*
Expand All @@ -20,8 +21,10 @@ data/networks/*
data/networks/example_network/ff/*
data/networks/example_network/ch_graph/*
data/networks/example_network/base/*.graph
data/pubtrans/*
!data/pubtrans/route_193
!data/networks/sumo_example
data/pt/*
!data/pt/route_193
!data/pt/example_network
data/vehicles/*
!data/vehicles/default_vehtype.csv
!data/vehicles/low_range_vehtype.csv
Expand All @@ -35,11 +38,15 @@ data/zones/*
# study directories except for example and example case studies
studies/*
!studies/example_study
!studies/fleetpy_sumo_coupling
studies/fleetpy_sumo_coupling/results/*
studies/example_study/results/*
studies/example_study/git_info.txt
!studies/module_tests
!studies/module_tests/*
studies/module_tests/results/*
studies/module_tests/git_info.txt
studies/module_tests/benchmark_comparison.csv
!studies/module_tests/results/benchmark.csv
!studies/manhattan_case_study
studies/manhattan_case_study/results/*
Expand All @@ -54,15 +61,18 @@ studies/munich_case_study/git_info.txt
*zip

# system dependent C++ Router files
src/routing/cpp_router/*.pyd
src/routing/cpp_router/build/*
src/routing/cpp_router/PyNetwork.cpp
src/routing/extractors/cache/*
src/routing/road/cpp_router/*.pyd
src/routing/road/cpp_router/build/*
src/routing/road/cpp_router/PyNetwork.cpp
src/routing/road/extractors/cache/*

src/routing/pt/cpp_raptor_router/PyPTRouter.cpp
src/routing/pt/cpp_raptor_router/build/*

# IDE-related files
*.idea
.vscode/*
src/routing/cpp_router/.vs/*
src/routing/road/cpp_router/.vs/*

# Byte-compiled / optimized / DLL files
__pycache__/
Expand Down Expand Up @@ -195,3 +205,10 @@ dmypy.json
# Pyre type checker
.pyre/

# other
CLAUDE.md
# MacOS
.DS_Store

# GTFS preprocessing file
!src/preprocessing/pt/PTRouterGTFSPreperation.ipynb
11 changes: 9 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,17 @@ conda activate fleetpy

### 2️⃣ Install C++ Router (Recommended)

For improved routing efficiency, compile the C++ router:
For improved road network routing efficiency, compile the C++ road router:

```bash
cd FleetPy/src/routing/cpp_router
cd FleetPy/src/routing/road/cpp_router
python setup.py build_ext --inplace
```

To enable public transport routing, compile the C++ RAPTOR router:

```bash
cd FleetPy/src/routing/pt/cpp_raptor_router
python setup.py build_ext --inplace
```

Expand Down
136 changes: 136 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,142 @@

All notable changes to this project will be documented in this file.

## [1.1.0] - 2025-12-18

Key update:
1. Refactored routing file structure: road-related routing modules are moved to the `road` subdirectory, and PT-related routing modules are moved to the `pt` subdirectory.
2. Introduced a C++ routing module based on the RAPTOR algorithm for querying the fastest PT travel plans between two stations.
3. Introduced the PTControl module to simulate PT operator behavior, such as recording offer information and dynamically updating GTFS files.
4. Introduced three PTBroker strategy variants to simulate different levels of MaaS–DRT coordination for intermodal requests: Plan-As-You-Go (PTBrokerPAYG), Estimation-based Integration (PTBrokerEI), and Collaborative Coordination (PTBroker).
5. Introduced subrequest ID coding rules for intermodal scenarios, using unique integers to classify legs and `{parent_rid}_{subtrip_id}` to define new subrequest IDs.
6. Socket-based coupling to MATSim/Eqasim where FleetPy models the DRT operator
7. Coupling to SUMO: Vehicles move in a microscopic SUMO simulation
8. Travellers can start and end anywhere on an edge

### Added
- cpp_raptor_router: C++ implementation of the PT router based on the RAPTOR algorithm

- RaptorRouterCpp: Python entry point for the PT router, responsible for activating the cpp_raptor_router instance and regularizing PT requests

- PTControlBase & PTControlBasic: Modules to simulate PT operator behavior, such as recording offer information and dynamically updating GTFS files

- PTOffer: Class for recording PT offer information

- IntermodalOffer: Class for recording offer information for intermodal requests

- BasicIntermodalRequest: Class to simulate travel behavior of travelers with intermodal requests

- example_100_intermodal.csv: Intermodal demand based on example_100.csv, containing 25 monomodal, 25 first-mile, 25 last-mile, and 25 first-last-mile requests

- example_100_intermodal_lmwt30.csv: Variant of the intermodal demand file with a 30-second last-mile wait time constraint

- example_gtfs: Public transport design based on example_network

- PTBrokerBasic: Base class providing shared infrastructure for intermodal request handling across all PTBroker variants (FM, LM, FLM sub-request creation, offer assembly, booking confirmation)

- PTBroker (Collaborative Coordination): Simulates a future scenario with tight MaaS–DRT integration. DRT provides a predicted FM dropoff time; PT feeds back the user's expected station waiting time, which MaaS uses to dynamically adjust the DRT dropoff deadline, giving DRT more pooling flexibility while guaranteeing PT connection. LM DRT wait time can also be constrained to minimize destination wait.

- PTBrokerEI (Estimation-based Integration): Simulates current MaaS platforms with limited real-time DRT communication. FM dropoff time is estimated using `broker_maas_detour_time_factor` rather than obtained from an actual DRT offer. A conservative factor ensures PT is caught but increases travel time; an optimistic factor risks missing PT.

- PTBrokerPAYG (Plan-As-You-Go): Simulates the absence of a MaaS platform. Each leg is planned only after the previous one completes (FM DRT → PT → LM DRT). Trips may be interrupted if a subsequent leg is unavailable.

- intermodal_evaluation: Evaluation methods designed for intermodal scenarios

- example_study & module_tests: Added intermodal scenario example experiments

- globals: Added `RQ_MODAL_STATE`, `RQ_SUB_TRIP_ID`, and `PAYG_TRIP_STATE` enums for intermodal sub-request classification; added global variable names for PT (`G_PT_*`), intermodal offers (`G_IM_*`), and broker configuration (`G_BROKER_*`, including `G_BROKER_MAAS_DETOUR_TIME_FACTOR`, `G_BROKER_TRANSFER_SEARCH_METHOD`, `G_BROKER_ALWAYS_QUERY_PT`, `G_IM_LM_WAIT_TIME`)

- init_modules: Added initialization code for PTControl and PTBroker modules

- FleetSimulationBase: Added code to load PTControl and PTBroker modules

- PlanRequest: Added `set_new_dropoff_time_constraint` method to update the passenger's latest drop-off time constraint

- Demand: Added `create_sub_requests` method to establish sub-requests for corresponding legs of intermodal requests

- RequestBase: Added `modal state` attribute (default: monomodal) and `get_modal_state` method

- PTRouterGTFSPreperation: Jupyter notebook for cleaning and formatting raw GTFS data for RaptorRouterCpp

- globals.py: REJECTION_REASON enum (OUT_OF_OPERATING_AREA, NO_VEHICLE_AVAILABLE, OUT_OF_SERVICE_TIME, INVALID_RQ) and G_OFFER_REJECTION_REASON for structured rejection output

- globals.py: G_OP_MIN_RQ_DISTANCE parameter — operator can set a minimum direct travel distance for a request to be accepted; adds TRAVEL_DISTANCE to REJECTION_REASON

- MATSimIterationForecast: New forecast module that uses requests from the last MATSim/Eqasim iteration to forecast future demand

- create_historical_network_scaling.py: New preprocessing script to calculate dynamic scaling of network edges using historical trip durations

- match_nodes_to_zones.py: New preprocessing script to match network nodes to zone systems

- max_coverage.py: New preprocessing script to solve a max coverage problem (e.g. for zone or stop creation)

- AlonsoMoraRepositioning: Now also loads a zone system when given (to check operating area)

- PTBroker: Automatic cancellation mechanism when FM AMoD arrives too late for the PT connection

- SUMOFleetPyServer: FleetPy server for SUMO traci-based coupling; manages vehicle insertion, demand handling, and travel time updates during a microscopic SUMO simulation

- SUMOcontrolledSim: Simulation class for SUMO-controlled runs

- NetworkBasicWithStoreOnlineMatrixCpp: New routing module that computes travel time matrices online during simulation (required for SUMO coupling with dynamic travel times)

- network_from_sumo.py: Preprocessing script to convert a SUMO network to FleetPy format

- demand_from_sumo.py: Preprocessing script to convert SUMO demand to FleetPy format

- studies/fleetpy_sumo_coupling: Full example study for SUMO coupling including run script, scenario configs, and sumo_example network/demand

- data/networks/sumo_example: Example road network for the SUMO coupling example study

- MATSimSocket: Socket-based communication module for MATSim/Eqasim coupling; can be started with console arguments; performs network conversion (checking available modes per link) and network hash comparison across iterations

- MATSimSimulationClass: Simulation class for MATSim/Eqasim-coupled runs; supports starting from a later iteration and cleans up travel time files/logs from the previous iteration at the start of each new run

- misc.py (MATSimEqasim): Utility functions for the MATSim/Eqasim coupling

- data/vehicles/single_user_vehtype.csv: Vehicle type file for single-user (non-pooled) scenarios

- example_200_pos.csv: Demand file for testing position-based (arbitrary edge position) requests

- module_tests: Added sc_config_rq_pos.csv scenario for position-based request module tests; updated benchmark_comparison.csv and results/benchmark.csv

### Changed
- BrokerBase & BrokerBasic: `collect_offers` method now accepts an input variable `sim_time` (int, default: None)

- ImmediateDecisionsSimulation: Added `sim_time` input variable when calling `self.broker.collect_offers`

- RequestBase: Updated `create_SubTripRequest` method to create intermodal sub-requests

- insertion: `insertion_with_heuristics` and `reservation_insertion_with_heuristics` methods added `excluded_vid` input (list of vehicle IDs that should not be considered for assignment)

- RollingHorizon: `return_immediate_reservation_offer` method added `excluded_vid` input

- PoolingIRSOnly: `user_request` method added optional `max_wait_time` parameter (used for LM leg of intermodal requests); tracks `flm_excluded_vid` to exclude the FM vehicle from LM assignment in FLM requests

- Vehicles: `assign_vehicle_plan` method now uses `rid_struct` to obtain request information

- FleetSimulationBase: Modified public transportation module loading code; modified `evaluate` method to use `G_EVAL_METHOD` to specify standard result evaluation (default: standard_evaluation)

- gitignore: Ignored specific C++ Router files

- data/pubtrans/ renamed to data/pt/ and src/preprocessing/pubtrans/ renamed to src/preprocessing/pt/: standardized fixed-line transport service naming throughout the repository

- MATSimSimulationClass: automatic evaluation of simulation results is now run at the end of each iteration

- evaluation/temporal.py: `run_complete_temporal_evaluation` now saves per-operator evaluation results to a `temporal_eval.json` file in the output directory and returns the evaluation dictionary

### Deprecated
- globals: Traveler modal state global variables are no longer used (G_RQ_STATE_MONOMODAL, G_RQ_STATE_FIRSTMILE, G_RQ_STATE_LASTMILE, G_RQ_STATE_FIRSTLASTMILE)

### Removed
- globals: Traveler modal state global variable names

### Fixed
- RollingHorizon: Correctly retrieve `vid` and `veh_obj` in `user_cancels_request` method

- FleetSimulationBase: In `update_sim_state_fleets`, ensured `rid_struct` is the actual key of the dictionary returned by `veh_obj.update_veh_state`



## [1.0.0] - 2025-04-DD

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
rq_time,start,end,request_id,is_multimodal,modal_state_value,transfer_station_ids,max_transfers
194,2966,2977,0,1,2,s15,1
217,2966,2973,1,0,0,-1,1
301,2976,2966,2,1,1,s15,1
388,2982,2980,3,0,0,-1,1
397,2977,2968,4,1,3,s15;s1,1
679,2966,2985,5,1,2,s15,1
890,2993,2988,6,0,0,-1,1
896,2966,2973,7,1,2,s15,1
933,2977,2986,8,1,3,s15;s1,1
959,2976,2982,9,0,0,-1,1
983,2977,2966,10,1,1,s15,1
1085,2966,2981,11,1,2,s15,1
1092,2992,2980,12,0,0,-1,1
1185,2987,2984,13,0,0,-1,1
1204,2966,2981,14,1,2,s15,1
1320,2993,2980,15,1,1,s1,1
1449,2977,2967,16,1,3,s15;s1,1
1511,2984,2966,17,1,1,s15,1
1514,2989,2977,18,1,3,s1;s15,1
1558,2989,2975,19,1,3,s1;s15,1
1587,2981,2979,20,0,0,-1,1
1659,2978,2966,21,1,1,s15,1
1668,2966,2982,22,1,2,s15,1
1681,2967,2980,23,1,1,s1,1
1725,2966,2977,24,1,2,s15,1
1735,2990,2982,25,1,3,s1;s15,1
2045,2980,2993,26,1,2,s1,1
2045,2969,2993,27,0,0,-1,1
2127,2973,2966,28,1,1,s15,1
2198,2966,2976,29,1,2,s15,1
2309,2986,2966,30,1,1,s15,1
2383,2989,2978,31,1,3,s1;s15,1
2416,2981,2969,32,1,3,s15;s1,1
2494,2992,2980,33,1,1,s1,1
2540,2980,2970,34,1,2,s1,1
2626,2990,2988,35,1,3,s1;s15,1
2727,2972,2985,36,0,0,-1,1
2803,2970,2972,37,0,0,-1,1
2881,2993,2980,38,1,1,s1,1
2912,2992,2982,39,1,3,s1;s15,1
2947,2990,2981,40,0,0,-1,1
3008,2966,2982,41,1,2,s15,1
3064,2986,2970,42,0,0,-1,1
3088,2973,2966,43,1,1,s15,1
3109,2967,2981,44,1,3,s1;s15,1
3303,2980,2971,45,1,2,s1,1
3373,2976,2987,46,0,0,-1,1
3437,2971,2966,47,1,1,s15,1
3616,2966,2982,48,1,2,s15,1
3637,2983,2966,49,1,1,s15,1
3725,2974,2966,50,1,1,s15,1
3846,2966,2988,51,1,2,s15,1
3855,2969,2979,52,1,3,s1;s15,1
3881,2980,2990,53,1,2,s1,1
4260,2980,2992,54,1,2,s1,1
4325,2972,2991,55,0,0,-1,1
4341,2979,2969,56,1,3,s15;s1,1
4394,2983,2967,57,1,3,s15;s1,1
4464,2981,2971,58,0,0,-1,1
4476,2966,2981,59,1,2,s15,1
4564,2980,2969,60,1,2,s1,1
4621,2979,2968,61,1,3,s15;s1,1
4642,2991,2980,62,1,1,s1,1
4722,2989,2967,63,0,0,-1,1
4877,2978,2992,64,1,3,s15;s1,1
4944,2980,2972,65,1,2,s1,1
4960,2979,2966,66,1,1,s15,1
4984,2987,2966,67,1,1,s15,1
4997,2980,2992,68,1,2,s1,1
5118,2968,2980,69,1,1,s1,1
5177,2993,2977,70,1,3,s1;s15,1
5237,2985,2967,71,1,3,s15;s1,1
5401,2967,2981,72,0,0,-1,1
5459,2980,2969,73,1,2,s1,1
5470,2969,2979,74,0,0,-1,1
5486,2984,2993,75,1,3,s15;s1,1
5505,2984,2992,76,1,3,s15;s1,1
5531,2986,2966,77,1,1,s15,1
5541,2970,2981,78,1,3,s1;s15,1
5563,2978,2975,79,0,0,-1,1
5571,2980,2993,80,1,2,s1,1
5580,2984,2969,81,0,0,-1,1
5622,2970,2980,82,1,1,s1,1
5637,2975,2976,83,0,0,-1,1
5701,2966,2987,84,1,2,s15,1
5726,2971,2978,85,0,0,-1,1
5788,2969,2982,86,1,3,s1;s15,1
6062,2978,2993,87,1,3,s15;s1,1
6252,2966,2982,88,1,2,s15,1
6437,2992,2980,89,0,0,-1,1
6580,2982,2966,90,1,1,s15,1
6617,2973,2982,91,0,0,-1,1
6648,2973,2966,92,1,1,s15,1
6685,2967,2974,93,1,3,s1;s15,1
6707,2968,2991,94,0,0,-1,1
6850,2966,2987,95,1,2,s15,1
6886,2991,2980,96,1,1,s1,1
6910,2983,2993,97,1,3,s15;s1,1
6944,2976,2966,98,1,1,s15,1
7152,2988,2980,99,1,1,s1,1
Loading