Ejemplo n.º 1
0
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))
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
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)
Ejemplo n.º 8
0
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)
Ejemplo n.º 9
0
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))
Ejemplo n.º 10
0
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))