def test_mountain_from_right(self): arr = range(0,10) + range(10,-1,-1) eval_funct = lambda x: arr[int(round(abs(x)))] pos, score = simulated_annealing(eval_funct, candidate_funct_numerical, 0, bounds = (0, 20)) self.assertEquals(score, 10) self.assertEquals(round(pos), 10)
def test_two_peaks(self): arr = range(0,10) + range(10,-1,-1) + range(1, 6) eval_funct = lambda x: arr[int(round(abs(x)))] pos, score = simulated_annealing(eval_funct, candidate_funct_numerical, 0, bounds = (0, 25)) self.assertEquals(score, 10) self.assertEquals(round(pos), 10)
def test_neg_slope(self): arr = range(9, -1, -1) eval_funct = lambda x: arr[int(round(abs(x)))] pos, score = simulated_annealing(eval_funct, candidate_funct_numerical, 9, iters_per_decay=1, bounds = (0, 9)) self.assertEquals(score, 9) self.assertAlmostEqual(round(pos), 0)