コード例 #1
0
            internal SolverContext Save(string path)
            {
                CpModel model;

                if (!Monitors.Any())
                {
                    model = Solver.ExportModel();
                }
                else if (DecisionBuilder == null)
                {
                    using (var vector = new SearchMonitorVector())
                    {
                        foreach (var m in Monitors)
                        {
                            vector.Add(m);
                        }
                        model = Solver.ExportModelWithSearchMonitors(vector);
                    }
                }
                else
                {
                    using (var vector = new SearchMonitorVector())
                    {
                        foreach (var m in Monitors)
                        {
                            vector.Add(m);
                        }
                        model = Solver.ExportModelWithSearchMonitorsAndDecisionBuilder(vector, DecisionBuilder);
                    }
                }

                using (var ws = File.Open(path, Create))
                {
                    Assert.NotNull(model);
                    model.WriteTo(ws);
                }

                return(this);
            }