Ejemplo n.º 1
0
    static void CpModelTest()
    {
        Solver solver = new Solver("TestConstraint");
        IntVar x      = solver.MakeIntVar(0, 10, "x");
        IntVar y      = solver.MakeIntVar(0, 10, "y");

        solver.Add(x + y == 5);
        CpModel model = solver.ExportModel();

        Console.WriteLine(model);

        Solver copy = new Solver("loader");

        copy.LoadModel(model);
        CpModelLoader   loader = copy.ModelLoader();
        IntVar          xc     = loader.IntegerExpression(0).Var();
        IntVar          yc     = loader.IntegerExpression(1).Var();
        DecisionBuilder db     = copy.MakePhase(new IntVar[] { xc, yc },
                                                Solver.CHOOSE_FIRST_UNBOUND,
                                                Solver.ASSIGN_MIN_VALUE);

        copy.NewSearch(db);
        while (copy.NextSolution())
        {
            Console.WriteLine("xc = " + xc.Value() + ", yx = " + yc.Value());
        }
        copy.EndSearch();
    }