def run_repeat_safe(): file_a = "UPDATED BEST RANDOM.txt" file_b = "SOLUTIONS RECORDS - M.txt" i = 0 updated_instances = 0 graphs = {} try: while True: i+= 1 print("Starting iteration {0}...".format(str(i))) print("Getting solved instances...") solved = write_zero_penalty_list(file_a) print(solved) print("{0} instances with penalty 0!".format(str(len(solved)))) for instance in range(1, 493): if str(instance) not in solved: print("\nProcessing input {0} on iteration {1}".format(str(instance), str(i))) min_penalty = 9999 curr_best = None for index in range (0,30): print(".", end="") form_sol, graphs = execute_random2(instance, graphs) penalty = form_sol[2] if penalty < min_penalty: min_penalty = penalty curr_best = form_sol if min_penalty == 0: break add_solutions([curr_best,], file_b) print("Updating {0} with {1}...".format(file_a, file_b)) updated_instances += update_sol_list(file_a, file_b) print("Updating condensed solutions...") write_condensed_solutions(file_a) except KeyboardInterrupt: print("Repetition interrupted on instance {0} of iteration {1}. ".format(instance, i))
def execute_greedy(index): filename = "instances/" + str(index) + ".in" G = create_graph(filename) solution = greedy_algorithm(G) formatted_solution = [index, "Greedy", solution[1], solution[0]] list_solutions = [formatted_solution] add_solutions(list_solutions)
def execute_random4(index, write_file): filename = "instances/" + str(index) + ".in" G = create_graph(filename) solution = random_algorithm_4(G) formatted_solution = [index, "Random4", solution[1], solution[0]] list_solutions = [formatted_solution,] add_solutions(list_solutions, write_file)
def execute_greedy(index): filename = "instances/" + str(index) + ".in" G = create_graph(filename) solution = greedy_algorithm(G) formatted_solution = [index, "Greedy", solution[1], solution[0]] list_solutions = [formatted_solution] outfile = "SOLUTIONS RECORDS - T.txt" add_solutions(list_solutions, outfile)
def execute(index): filename = "instances/" + str(index) + ".in" G = create_graph(filename) solution = algorithm(G) formatted_solution = [index, "Random", solution[1], solution[0]] print(solution[0]) list_solutions = [formatted_solution,] add_solutions(list_solutions)
def execute_random4(index, write_file): filename = "instances/" + str(index) + ".in" G = create_graph(filename) solution = random_algorithm_4(G) formatted_solution = [index, "Random4", solution[1], solution[0]] list_solutions = [ formatted_solution, ] add_solutions(list_solutions, write_file)
def execute(index): filename = "instances/" + str(index) + ".in" G = create_graph(filename) solution = algorithm(G) formatted_solution = [index, "Random", solution[1], solution[0]] print(solution[0]) list_solutions = [ formatted_solution, ] add_solutions(list_solutions)
def run_repeat_fast(name=""): file_a = "UPDATED BEST RANDOM.txt".format(name) file_b = "SOLUTIONS RECORDS - M.txt".format(name) i = 0 updated_instances = 0 sol_list = [] graphs = {} try: while True: i+= 1 print("Starting iteration {0}...".format(str(i))) print("Getting solved instances...") solved = write_zero_penalty_list(file_a) print(solved) print("{0} instances with penalty 0!".format(str(len(solved)))) # for instance in range(1, 493): # if str(instance) not in solved: # print("\nProcessing input {0} on iteration {1}".format(str(instance), str(i))) # min_penalty = 9999 # curr_best = None # for index in range (0,30): # print(".", end="") # form_sol, graphs = execute_random2(instance, graphs) # if instance == 12: # print("doing something") # penalty = form_sol[2] # if penalty < min_penalty: # min_penalty = penalty # curr_best = form_sol # if min_penalty == 0: # print("\n Found a 0!") # break # sol_list.append(curr_best) print("Addng all solutions...") add_solutions(sol_list, file_b) print("Updating {0} with {1}...".format(file_a, file_b)) updated_instances += update_sol_list(file_a, file_b) print("Updating condensed solutions...") write_condensed_solutions(file_a) except KeyboardInterrupt: print("Repetition interrupted on instance {0} of iteration {1}. ".format(instance, i))
def run_on_all_instances(name): file_a = "UPDATED BEST RANDOM {0}.txt".format(name) file_b = "SOLUTIONS RECORDS - {0}.txt".format(name) i = 0 updated_instances = 0 sol_list = [] graphs = {} copyfile("COMBINED SOLUTIONS", file_a) copyfile("COMBINED SOLUTIONS", file_b) try: i+= 1 print("Starting iteration {0}...".format(str(i))) print("Getting solved instances...") solved = do_not_test_set(file_a) print(solved) print("{0} solved instances!".format(str(len(solved)))) for instance in range(1, 493): if instance not in solved: print("\nProcessing input {0} on iteration {1}".format(str(instance), str(i))) min_penalty = 9999 curr_best = None for index in range (0,50): print(".", end="") form_sol, graphs = execute_random2(instance, graphs) penalty = form_sol[2] if penalty < min_penalty: min_penalty = penalty curr_best = form_sol if min_penalty == 0: print("\n Found a 0!") break add_solutions([curr_best,], file_b) print("Updating {0} with {1}...".format(file_a, file_b)) updated_instances += update_sol_list(file_a, file_b) except KeyboardInterrupt: print("Repetition interrupted on instance {0} of iteration {1}. ".format(instance, i))