-
Notifications
You must be signed in to change notification settings - Fork 95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add new termination config based on the best solution improvement #1196
Conversation
9d20981
to
7e8466e
Compare
.../java/ai/timefold/solver/core/impl/solver/termination/UnimprovedBestSolutionTermination.java
Outdated
Show resolved
Hide resolved
.../java/ai/timefold/solver/core/impl/solver/termination/UnimprovedBestSolutionTermination.java
Outdated
Show resolved
Hide resolved
.../java/ai/timefold/solver/core/impl/solver/termination/UnimprovedBestSolutionTermination.java
Outdated
Show resolved
Hide resolved
.../java/ai/timefold/solver/core/impl/solver/termination/UnimprovedBestSolutionTermination.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not a typical curve for medium-soft scores.
When a medium score improves, typically the best score becomes worse than it was before.
Also, we should clearly explain that this image applies to situations where the score has multiple levels.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're thinking about score levels while I am considering the solution score. If the medium score improves, the solution score improves wherever the soft levels are. The current implementation of the solver utilizes lexicographic dominance.
docs/src/modules/ROOT/images/optimization-algorithms/overview/terminationGrowthCurve.png
Outdated
Show resolved
Hide resolved
docs/src/modules/ROOT/pages/optimization-algorithms/overview.adoc
Outdated
Show resolved
Hide resolved
docs/src/modules/ROOT/pages/optimization-algorithms/overview.adoc
Outdated
Show resolved
Hide resolved
docs/src/modules/ROOT/pages/optimization-algorithms/overview.adoc
Outdated
Show resolved
Hide resolved
docs/src/modules/ROOT/pages/optimization-algorithms/overview.adoc
Outdated
Show resolved
Hide resolved
docs/src/modules/ROOT/pages/optimization-algorithms/overview.adoc
Outdated
Show resolved
Hide resolved
I left first initial comments. I think we need:
In the current state, I worry people wouldn't understand. (If I didn't already understand, I think the current explanation would leave me confused.) |
7c5ec1c
to
e11de80
Compare
5792183
to
54310a2
Compare
0f1b33c
to
e8fb143
Compare
e8fb143
to
caae946
Compare
11fb134
to
d38fa3d
Compare
Quality Gate passedIssues Measures |
390f71e
to
a104eb4
Compare
This pull request introduces a new termination condition that activates when the solver cannot improve the best solution within a specified time frame. This time frame is determined by the speed of move evaluations, the last time the solver successfully improved the solution, and the duration without any improvements.