-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Planning unspecific events in the Scheduler's replan() method could create impractical / impossible routes. When planning unspecific events between two specific events, the scheduler starts on the first one and adds new events greedy (shortes travel time) until the first collision (with the second event) happens. It the stops and moves on to the next specific events and repeats the process. Since travel time between the last planned event and the second specific event is not taken into account, the scheduler could create bad time schedules.
Possible fix: rewriting the replan() method in a recursive way, calling itself after every successful planned event, continuing with all yet unplanned events. After a collision, backtrack and compute travel times between the second event and all unplanned events and choose the one, having the longest duration but still fitting among planned events. Backtrack if necessary.