Exemplo n.º 1
0
    def test_should_execute_return_the_solution_in_a_list_with_one_solution(
            self):
        solution = Solution(3, 2)
        solution_list = [solution]
        selection = BinaryTournament2Selection[Solution]([Comparator()])

        self.assertEqual(solution, selection.execute(solution_list))
Exemplo n.º 2
0
    def __winner(self, solution_list: List[S], comparator: Comparator):
        i, j = random.sample(range(0, len(solution_list)),
                             2)  # sampling without replacement
        solution1 = solution_list[i]
        solution2 = solution_list[j]

        flag = comparator.compare(solution1, solution2)

        if flag == -1:
            result = solution1
        elif flag == 1:
            result = solution2
        else:
            result = None

        return result