Skip to content
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 reconfiguration process #1352

Open
wants to merge 52 commits into
base: main
Choose a base branch
from

Conversation

zepfred
Copy link
Contributor

@zepfred zepfred commented Jan 24, 2025

This pull request introduces a stuck monitor mechanism for the LS phase and a restart process.

  1. There is one stuck mechanism based on the unimproved move count of the best solution.
  2. The stuck monitor logic employs a technique known as geometric restart, which increases the related metric exponentially.
  3. The restart process is executed by the LS every time the solver is stuck. Currently, the process simply restores the last best solution and "restarts" the search.

@zepfred zepfred changed the title feat: add Local Search reconfiguration process feat: add new reconfiguration process Jan 24, 2025
@zepfred zepfred requested a review from triceo January 24, 2025 17:54
@zepfred zepfred marked this pull request as ready for review January 24, 2025 17:54
Copy link
Contributor

@triceo triceo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First round of review is in.

My most general comment is: we need a different name for "reconfiguration". I know that the papers use this word, but we cannot. We already have "configuration", and using "reconfiguration" would be confusing - the "configuration" in "reconfiguration" has nothing to do with solver configuration.

Reheating? Restart? Refresh? Reboot? Let's discuss.

@triceo
Copy link
Contributor

triceo commented Jan 27, 2025

Another concern: we only support LA (and DLAS). But shouldn't we support simulated annealing too? In SA, the process is actually called reheating, and is well researched as far as I know.

For the record: I don't much care for SA, because it is hard to configure and therefore not much useful. But if we don't support reheating the SA, it should be a conscious decision, and not just something we forgot to do.

Copy link
Contributor

@triceo triceo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Next round of comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants