timefold-solver
timefold-solver copied to clipboard
Phase events, init events and init progress events
Currently the Solver(Manager) only support Best Solution events.
Motivation:
- Show how much our advanced algorithms improved the score (or score analysis). For example: 20% less driving time.
- When the CH is still running, show how much progress it has made so far in a progress bar.
But some cases have multiple CH (or a custom + CH combo). Some cases have multiple LS (or a custom + LS combo). Yet, there is a clear way to distinguish those two types of phases: is the init score zero?
Concept proposals: A) Phase event: get an event if a phase ends. Includes the score and a best solution clone. Does this already happen as a Best Solution Event? B) Init event: get an event when the first best score with init score zero happens. Include the score the best solution clone. Typically this is at the end of the CH. C) Init progress event: get an event every step the CH initializes another entity. Excludes the best solution clone (solution cloning is too expensive).
Let's go through some of these ideas in a design meeting.