update simulate annealing

use candidates to get the next state
next state length is randomly genereated