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

AcceptanceTracker class assumes no runs ended early by finding known optimal #278

Closed
cicirello opened this issue Jul 30, 2021 · 0 comments · Fixed by #279
Closed

AcceptanceTracker class assumes no runs ended early by finding known optimal #278

cicirello opened this issue Jul 30, 2021 · 0 comments · Fixed by #279
Assignees
Labels
bug Something isn't working

Comments

@cicirello
Copy link
Owner

Describe the bug
The AcceptanceTracker class, which can be used to track and log the neighbor acceptance rate during runs of simulated annealing assumes that all runs went to end of run. But the SA implementation will terminate early if it finds a solution with cost equal to the theoretical min for the problem. This leads to the potential for acceptance rates to be underreported, especially near end of long runs if some runs terminated early. For example, if there are 100 runs, it will divide by 100 when computing the acceptance rate at iteration i, regardless of whether there were 100 runs that reached iteration i.

Expected behavior
Correct acceptance rate calculation (i.e., divide by number of runs that reached iteration i).

@cicirello cicirello added the bug Something isn't working label Jul 30, 2021
@cicirello cicirello self-assigned this Jul 30, 2021
cicirello added a commit that referenced this issue Jul 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant