Releases: toruseo/UXsim
Releases · toruseo/UXsim
v1.7.0
Highlights
- Optimized memory usage and others
- In large scale scenarios, memory usage is reduced by about 50%
- More efficient and accurate demand definition functions:
adddemand_nodes2nodes2
andadddemand_area2area2
- This is mostly based on investigation and contribution by @EwoutH. Thanks!
- Add several utility functions for shortest path analysis
What's Changed
- add
get_shortest_path_distance_between_all_nodes
by @toruseo in #132 - Complete
get_shortest_path_distance_between_all_nodes
by @toruseo in #134 - update shortest path cost funcs and add test by @toruseo in #136
- relocate 'get_shortest_path_*()' to
Utilities
submodule by @toruseo in #137 - add shortest path cost on t by @toruseo in #138
- RouteChoice: optimize memory usage by in-place updates to
route_pref
by @EwoutH in #146 - Add
reduce_memory_delele_vehicle_route_pref
to World arg by @toruseo in #149 - fix spell to
reduce_memory_delete_vehicle_route_pref
by @toruseo in #150 - Bump codecov/codecov-action from 4.5.0 to 4.6.0 by @dependabot in #151
- minor update for examples by @toruseo in #152
- add
adddemand_nodes2nodes2
andadddemand_area2area2
by @toruseo in #153
Full Changelog: v1.6.0...v1.7.0
v1.6.0
Highlights
- Important bug fix on iterative execution of simulation by
World.exec_simulation(duration_t)
andWorld.check_simulation_ongoing()
- In the previous versions, there is a bug that they fail to terminate the simulation properly under certain conditions. This bug is now fixed by updating the simulation termination procedure. Please note that this fix may slightly change the simulation result from the previous versions around the final timestep
- This resolves #117
- Added customizable function that is automatically executed during a simulation run:
user_function
toWorld
,Node
,Link
, andVehicle
- If specified, they are automatically called when timestep is incremented. This would be useful for incorporating user-defined traffic data collection or control methods.
- For a use-case, please see https://github.com/toruseo/UXsim/blob/main/demos_and_examples/example_24en_user_defined_functions.py
Other changes
- docstring by @toruseo in #116
- Analyzer: Optimize
area_to_pandas
method by @EwoutH in #119 - Analyzer: Return average_speed and vehicle_density with area_to_pandas by @EwoutH in #121
- Add customizable
user_function
toWorld
,Node
,Link
, andVehicle
by @toruseo in #124 - fix typo by @toruseo in #125
- Fix simulation termination procedure by @toruseo in #126
- minor updates by @toruseo in #127
Full Changelog: v1.5.0...v1.6.0
v1.5.0
Highlights
- Added "hard deterministic mode"
- In this mode, the simulation will not use any random variables. At a merging node, a link with higher merge_priority will be always prioritized, and vehicles always choose the shortest path. This may be useful for analysis that need strict predictability. Be aware that the simulation results will be significantly different from ones with the standard mode.
- This will be enabled by doing
World(..., hard_deterministic_mode=True, ...)
when initializingWorld
object
- Added area-based demand setting and analysis
- Can set travel demand from an area (list of nodes) to another area
- Can compute traffic statistics between areas and ones inside of an area (e.g., vehicle distance traveled in an area)
What's Changed
- Introduce codecov by @toruseo in #96
- add budge by @toruseo in #97
- update enumerate_k_shortest_routes; add tests by @toruseo in #98
- update docs by @toruseo in #100
- Add hard deterministic mode by @toruseo in #103
- Add area and vehicle group settings and analysis by @toruseo in #107
- Add Dependabot configuration for GitHub Actions updates by @EwoutH in #105
- Update measure-coverage.yml by @toruseo in #109
- Bump codecov/codecov-action from 4.0.1 to 4.5.0 by @dependabot in #108
- add node attributes by @toruseo in #110
- update node attributes by @toruseo in #111
- add area stats by @toruseo in #112
- fix comfusing name,
adddemand_areas2areas
is renamed toadddemand_nodes2nodes
by @toruseo in #113 - Add release.yml file for automatic release notes generation by @EwoutH in #114
- ready for release by @toruseo in #115
New Contributors
- @dependabot made their first contribution in #108
Full Changelog: v1.4.0...v1.5.0
v1.4.0 - Speed up
Highlights
- Significant speed up for large-scale scenario
- In combination with the previous v1.3.1 update, we have optimized the shortest path search and related functions. As a result, the calculation speed for large scenarios (e.g., those with 1000+ links) has increased by 10 to 100 times.
- Implement new scenario writing/reading functions
W.save_scenario
andW.load_scenario
. - As a demonstration of these updates, we have added demo in Chicago-Sketch dataset with 1 million vehicles.
What's Changed
- Speed up
homogeneous_DUO_update
by @toruseo in #89 - Add scenario writer/reader by @toruseo in #90
- Add GPS-like log by @toruseo in #91
- Update init.py by @toruseo in #92
- Create demo_notebook_08en_chicago.ipynb by @toruseo in #93
Full Changelog: v1.3.2...v1.4.0
v1.3.2
Highlights
- Fixed a bug that did not guarantee reproducibility with the same random seed. This solves Issue #86
What's Changed
- Create test-pip.yml by @toruseo in #80
- Update test-pip.yml by @toruseo in #81
- Update test-pip.yml by @toruseo in #82
- Update test-pip.yml by @toruseo in #83
- minor update by @toruseo in #85
- fix the reproducibility bug by @toruseo in #87
- Update init.py by @toruseo in #88
Full Changelog: v1.3.1...v1.3.2
v1.3.1
Highlights
- Improve performance of
route_search_all
function. This addresses Issue #53
What's Changed
- Make demo_notebook_01en.ipynb more friendly for new users by @toruseo in #72
- Update docs (including conda instruction) and examples by @toruseo in #74
- correct typo; replace some Japanese comments by @toruseo in #75
- minor update by @toruseo in #76
- Improve
route_search_all
function by @toruseo in #79
Full Changelog: v1.3.0...v1.3.1
v1.3.0
Main Changes
- Add GUI functions
- Vehicle tracking: You can now track a specific vehicle to see their route
- Dataframe viewer: Stats can be confirmed
- Improve vehicle routing functions
- Change documentation's theme for better indexing
resultGUIviewer_vehicle_tracker.mp4
What's Changed
- Update tests and docs; Replace deprecated functions in OSMnx by @toruseo in #67
- Improve routing functions and add examples of routing optimization; Update visualization for multi-lane traffic by @toruseo in #68
- Minor update by @toruseo in #69
- Add vehicle tracker and dataframe viewer in GUI by @toruseo in #70
- Update init.py by @toruseo in #71
Full Changelog: v1.2.0...v1.3.0
v1.2.0 - Taxi (shared mobility) update
Main changes
- Add taxi (aka. shared mobility) functions
- A standard vehicle in UXsim just travel from A to B and disappear. This is like a private owned vehicle.
- From this update, a
Vehicle
withmode="taxi"
behave like a taxi. Specifically, they travel through a network by passing through specific nodes that are dynamically updated, simulating passenger pickup and drop-off. - New sub-module
uxsim.TaxiHandler
handles these matters. - Built-in vehicle-to-passneger matching methods are also available.
- This addresses Issue #41
- From now on, we follow the Semantic Versioning rigorously.
What's Changed
Full Changelog: v1.1.1...v1.2.0
v1.1.1
Main Changes
- Add setting to adjust vehicle logging time interval via
World.vehicle_logging_timestep_interval
- By lowering the interval (e.g.,
World.vehicle_logging_timestep_interval=2
), the simulation time can be reduced (~20% speed up), and we can obtain vehicle trajectory data with slightly less accuracy. - The logging setting does not affect the internal simulation accuracy. Only the outputted trajectories are affected.
- By setting World.vehicle_logging_timestep_interval=-1, the record_log is turned off, and the simulation time can be significantly reduced (~40% speed up).
- This addresses Issue #58
- By lowering the interval (e.g.,
- Correct route choice behavior
Vehicle.links_prefer
andVehicle.links_avoid
work correctly now.
What's Changed
- Update README.md by @toruseo in #57
- Update documents by @toruseo in #59
- Correct font specification for matplotlib by @toruseo in #60
- Add logging interval settings, correct route choice behavior by @toruseo in #63
Full Changelog: v1.1.0...v1.1.1
v1.1.0 - Multilane
Main Changes
- Add support for multilane links. More technically, it is a multilane, single-pipe model where vehicles cannot overtake others. This allows us to set traffic capacity significantly larger while keeping consistency to KW theory.
- Separate
Analyzer
class fromuxsim.py
. This means thatuxsim.py
now contains only the essential codes for the simulation. It makes it easier for users to understand the simulation logic.
What's Changed
- minor updates by @toruseo in #51
- Update README.jp.md by @toruseo in #52
- [Major update] Add multilane link; Separate Analyzer class from uxsim.py by @toruseo in #56
Full Changelog: v1.0.9...v1.1.0