Integration of private repo changes into train planner improvements #95
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
generate_return_demand
implemented as separate functions for each train type. Functions are "registered" in a dict and looked up by train type.target_cars_per_train
andmin_cars_per_train
are dicts where eachTrain_Type
can have a different value specified.TrainPlannerConfig
is a@dataclass
to make code cleanergenerate_demand_trains
generate_dispatch_times
renamedgenerate_dispatch_details
. It now evenly spaces out all dispatches for each OD pair, rather than doing so separately for each train type, so that simultaneous departures are avoided.alt.TrainConfig
object is updated based on the actual dispatched rail vehicles (loaded and/or empty) including therail_vehicles
vector and then_cars_by_type
dict.