示例#1
0
 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)
示例#2
0
 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)
示例#3
0
 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)