def local_solve(prob: Problem): # TODO - Change name of trivial init prob = find_local_solution(prob) cost = prob.calculate_cost() vars_solution = list(prob.variables.values()) algorithm_choices = list(prob.edges.values()) total_solution = vars_solution + algorithm_choices solution_map = {point.name: point.get_option() for point in total_solution} return cost - len(prob.input_vars), solution_map