Skip to content

Simulated annealing: bug in run method #11

Description

@nelimee

Description of the bug

The run() method of the SimulatedAnnealing class has a bug when the annealing method does not find a better state than the initial one.

When does it happens

The bug happens when the annealing algorithm fails to find a better state than the initial one. This can happen when the maximum number of steps is low or when the initial guess is already very good.

What is the current behaviour

The tuple returned by the run() method is (None, cost_of_initial_state).

How to fix

Add the line

self.best_state = deepcopy(self.current_state)

between L142 and L143.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions