static int Main(string[] args) { try { ArgParser.parse_args(args); InstanceGeneratorConfig instanceGeneratorConfig = ArgParser.getInstanceGeneratorConfig(); InstanceGeneratorMain instanceGenerator = new InstanceGenerator.InstanceGeneratorMain(instanceGeneratorConfig); instanceGenerator.create_instance(); PMedian pMedianProblem = new PMedian(instanceGenerator, ArgParser.getDrawingPath() + "PMEDIAN"); pMedianProblem.setup_problem(); pMedianProblem.solve_instance(ArgParser.getModelRuntime()); pMedianProblem.publish_model(); if (ArgParser.getDrawingPath() != null) { InstanceDrawing instanceDrawing = new InstanceDrawing(instanceGenerator, new DrawingSettings()); instanceDrawing.draw(ArgParser.getDrawingPath() + "instance"); pMedianProblem.draw_solution(instanceDrawing, ArgParser.getDrawingPath() + "solution"); } if (ArgParser.results_filename != null) { pMedianProblem.write_results_to_file(ArgParser.results_filename); } return(0); //else //{ // PMedianController.folder_cleanup(".bmp", ".lp", ".sol"); // InstanceGenerator.InstanceGeneratorMain instanceGenerator = new InstanceGenerator.InstanceGeneratorMain(new InstanceGeneratorConfig()); // instanceGenerator.create_instance(); // InstanceDrawing instanceDrawing = new InstanceDrawing(instanceGenerator, new DrawingSettings()); // instanceDrawing.draw("instance"); // PMedian pMedianProblem = new PMedian(instanceGenerator, "PMedian"); // pMedianProblem.setup_problem(); // pMedianProblem.solve_instance(7200); // pMedianProblem.publish_model(); // pMedianProblem.draw_solution(instanceDrawing, "solution"); // return 0; //} } catch (Exception e) { Console.WriteLine(e.Message); ArgParser.getHelp(); return(1); } }
public static bool parse_args(string[] p_args) { args = p_args; bool is_config_set = ArgParser.parse_instance_config(); ArgParser.parse_optional_flags(is_config_set); ArgParser.parse_help(); if (curr_pos != args.Length) { end(1, $"Error when parsing arguments: incorrect syntax for '{string.Join(" ", args.ToArray())}'. Please refer to the usage instructions (-help)."); } return(true); }