예제 #1
0
 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())
예제 #2
0
파일: main.py 프로젝트: KatrinaE/reGrouper
    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)