コード例 #1
0
        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);
            }
        }
コード例 #2
0
        public SolutionDrawing(InstanceDrawing pinstanceDrawing, PMedian pPMedian)
        {
            instanceDrawing = pinstanceDrawing;
            pMedian         = pPMedian;

            pen           = new Pen(ColorProgression.getColor(OBJECT_COLOR.ARROW_LINK));
            this.graphics = new Graphics[this.pMedian.getInstanceGenerator().getInstanceConfig().time_periods];
            this.image    = new Image[this.pMedian.getInstanceGenerator().getInstanceConfig().time_periods];

            for (int t = 0; t < pMedian.getInstanceGenerator().getInstanceConfig().time_periods; t++)
            {
                //this.image[t] = new Bitmap((int)(pMedian.getInstanceGenerator().getInstanceConfig().x_dim * instanceDrawing.getDrawingSettings().board_radius_factor), (int)(pMedian.getInstanceGenerator().getInstanceConfig().y_dim * instanceDrawing.getDrawingSettings().board_radius_factor));
                this.image[t]    = (Image)this.instanceDrawing.getImage().Clone();
                this.graphics[t] = Graphics.FromImage(this.image[t]);
            }
        }