Example #1
0
    def find_next_solution_via_full_search(self, assignments, depth):
        result = assignments
        result_delta = -1
        iterator = OnlyBetterChangesIterator(self.configuration, assignments)

        for assignments, delta in iterator.next_change(assignments, depth=3):
            if delta > result_delta:
                result_delta = delta
                result = copy.deepcopy(assignments)
        return result
Example #2
0
    def find_next_solution(self, assignments, depth):
        iterator = OnlyBetterChangesIterator(self.configuration, assignments)

        for assignments, delta in iterator.next_change(assignments, depth=2):
            if delta > 0:
                return assignments

        for assignments, delta in iterator.next_change(assignments, depth=3):
            if delta > 0:
                return assignments

        for assignments, delta in iterator.next_change(assignments, depth=4):
            if delta > 0:
                return assignments

        return None