Solid icon indicating copy to clipboard operation
Solid copied to clipboard

Simulated annealing: bug in run method

Open nelimee opened this issue 5 years ago • 0 comments

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.

nelimee avatar Mar 14 '20 15:03 nelimee