def save_file(self): options = dict(defaultextension=".csv", filetypes=[("CSV files", "*.csv"), ("Text files", "*.txt")]) filename = tkFileDialog.asksaveasfilename(**options) self.save_var.set(filename) self.update_idletasks() write_to_csv(self.input_frame.solution.solution, self.input_frame.solution.days, self.save_var.get())
group.add_argument("-s", "--size-of-groups", type=check_negative, action="store") group.add_argument("-n", "--num-groups", type=check_negative, action="store") return parser def main(input_data): best_solution = None for i in range(0, config.num_tries): solution = build_guess(input_data.people, input_data.groups, input_data.days) print_init_cost(solution.cost) if config.anneal: for (solution, T) in anneal(solution): print_progress(solution, T) if best_solution == None or solution.cost < best_solution.cost: best_solution = deepcopy(solution) yield best_solution, T if __name__ == "__main__": parser = create_parser() args = parser.parse_args() input_data = InputData(args.people_file, args.num_days, args.num_groups, args.size_of_groups, args.output_filename) for (solution, T) in main(input_data): print_progress(solution, T) print_final_metrics(solution) write_to_csv(solution.solution, input_data.days, input_data.output_filename)