Improved simulated annealing

Simulated annealing now goes through invalid solutions, but isn't likely
to with a low temperature as the inertia is high