def main(): if args.filename is None: parser.print_help() sys.exit(1) data_parser = DataParser(args.filename) jobs, machines, tasks = data_parser.get_instance_parameters() instance = Instance('Roxanne', machines, jobs, tasks) instance.print_info() instance.generate_best_cmax() instance.johnsons_algorithm()
-comparecoolingoption - compares cooling forms(temprature and iteration), returns cmaxes for datasets and checks if optimal orders are compatible -comparecooling - compares cooling factors, returns cmaxes for datasets -comparemove - compares classic method with method which always calculates prob from exponent formula, returns cmaxes for datasets and checks if optimal orders are compatible -comparemovewithonlydiff - compares classic method with method which checks only different cmaxes, returns cmaxes for datasets and checks if optimal orders are compatible -comparestart - compares start orders - neh_prio and neh_result, returns cmaxes for datasets and checks if optimal orders are compatible classic parameters: temperature=50, min_value=0.000001, cooling=0.8, method=swap ''' if args.option == 'comparewithneh': with open('compare_ex3/comparewithneh.txt', 'w') as file: print("INFO: Started comparing neh with simulated annealing...") for filename in os.listdir('data'): if filename.startswith('data'): data_parser = DataParser('data/{}'.format(filename)) jobs, machines, tasks, neh_prio = data_parser.get_instance_parameters( ) instance = Instance('Roxanne', machines, jobs, tasks, neh_prio) instance.print_info() neh_queue, neh_cmax = instance.neh() simann_queues = [] simann_cmaxes = [] for i in range(3): simann_queue, simann_cmax = instance.simulated_annealing( 50, instance.neh_prio, 0.000001, 0.8, 'swap') simann_cmaxes.append(simann_cmax) simann_queues.append(simann_queue) simann_cmax_avg = sum(simann_cmaxes) / len(simann_cmaxes) if neh_queue in simann_queues: compatibility = True else: compatibility = False