Exemplo n.º 1
0
 def test_random_int_between_a_and_b(self):
     true_rando = Random.random_int_between_a_and_b(1, 5)
     self.assertLessEqual(true_rando, 5)
     self.assertLessEqual(1, true_rando)
     Random.begin_test()
     Random.set_test_value_for("random_int_between_a_and_b", 1)
     Random.set_test_value_for("random_int_between_a_and_b", 2)
     Random.set_test_value_for("random_int_between_a_and_b", 3)
     self.assertEqual(Random.random_int_between_a_and_b(1, 5), 3)
     self.assertEqual(Random.random_int_between_a_and_b(1, 5), 2)
     self.assertEqual(Random.random_int_between_a_and_b(1, 5), 1)
     Random.end_test()
Exemplo n.º 2
0
 def emo_phase(self):
     for _ in range(Constants.NSGA2_NUM_GENES_MUTATING):
         random_variable = Random.random_int_between_a_and_b(
             0,
             self.problem.num_variables() - 1)
         new_value = Random.random_choice(
             self.problem.variables[random_variable].domain.values)
         self.problem.set_value(random_variable, new_value)
Exemplo n.º 3
0
 def swap_half_genes(self, other):
     variables = [
         Random.random_int_between_a_and_b(0,
                                           self.problem.num_variables() - 1)
         for _ in range(floor(self.problem.num_variables() / 2))
     ]
     for v in variables:
         if self.problem.get_value(v) != other.problem.get_value(v):
             original = self.problem.get_value(v)
             self.problem.set_value(v, other.problem.get_value(v))
             if not self.problem.consistent():
                 self.problem.set_value(v, original)
             original = other.problem.get_value(v)
             other.problem.set_value(v, self.problem.get_value(v))
             if not other.problem.consistent():
                 other.problem.set_value(v, original)