Package solver.constraints

Examples of solver.constraints.Constraint


                for (int q = p; q <= u; q++) {
                    BoolVar a = VariableFactory.bool("A" + j + "_" + p + "_" + q, s2);
                    mA[j][p - l][q - p] = a;
                    listA.add(a);

                    Constraint cA = member(X[j], p, q);
                    Constraint ocA = not_member(X[j], p, q);

                    s2.post(LogicalConstraintFactory.ifThenElse(a, cA, ocA));
                }
            }
        }
View Full Code Here


            Propagator p1, p2;
            {
                IntVar X = VariableFactory.enumerated("X", 1, k, s1);
                IntVar Y = VariableFactory.enumerated("Y", 1, k, s1);
                vs1 = new IntVar[]{X, Y};
                Constraint c = IntConstraintFactory.distance(X, Y, "=", k / 2);
                s1.post(c);
                p1 = c.getPropagator(0);
            }
            {
                IntVar X = VariableFactory.enumerated("X", 1, k, s2);
                IntVar Y = VariableFactory.enumerated("Y", 1, k, s2);
                vs2 = new IntVar[]{X, Y};
                Constraint c = IntConstraintFactory.distance(X, Y, "=", k / 2);
                s2.post(c);
                p2 = c.getPropagator(0);
            }

            try {
                s1.propagate();
                s2.propagate();
View Full Code Here

    public void test3() {
        final Solver solver = new Solver();
        final IntVar iv = VF.enumerated("iv", 0, 10, solver);
        solver.post(ICF.arithm(iv, ">=", 2));

        solver.post(new Constraint("Conditionnal",
                new PropConditionnal(new IntVar[]{iv},
                        new Constraint[]{ICF.arithm(iv, ">=", 4)},
                        new Constraint[]{solver.TRUE}) {
                    @Override
                    public ESat checkCondition() {
View Full Code Here

    public void testLexiSatisfied() {
        Solver solver = new Solver();
        IntVar v1 = VariableFactory.bounded("v1", 1, 1, solver);
        IntVar v2 = VariableFactory.bounded("v2", 2, 2, solver);
        IntVar v3 = VariableFactory.bounded("v3", 3, 3, solver);
        Constraint c1 = IntConstraintFactory.lex_less(new IntVar[]{v1, v2}, new IntVar[]{v1, v3});
        Constraint c2 = IntConstraintFactory.lex_less(new IntVar[]{v1, v2}, new IntVar[]{v1, v2});
        Constraint c3 = IntConstraintFactory.lex_less(new IntVar[]{v1, v2}, new IntVar[]{v1, v1});
        Constraint c4 = IntConstraintFactory.lex_less_eq(new IntVar[]{v1, v2}, new IntVar[]{v1, v3});
        Constraint c5 = IntConstraintFactory.lex_less_eq(new IntVar[]{v1, v2}, new IntVar[]{v1, v2});
        Constraint c6 = IntConstraintFactory.lex_less_eq(new IntVar[]{v1, v2}, new IntVar[]{v1, v1});
        solver.post(c1, c2, c3, c4, c5, c6);
        Assert.assertEquals(ESat.TRUE, c1.isSatisfied());
        Assert.assertEquals(ESat.FALSE, c2.isSatisfied());
        Assert.assertEquals(ESat.FALSE, c3.isSatisfied());
        Assert.assertEquals(ESat.TRUE, c4.isSatisfied());
        Assert.assertEquals(ESat.TRUE, c5.isSatisfied());
        Assert.assertEquals(ESat.FALSE, c6.isSatisfied());
    }
View Full Code Here

    Task[] t = new Task[n];
    for(int i=0;i<n;i++){
      t[i] = new Task(s[i],d[i],e[i]);
      solver.post(ICF.arithm(e[i],"<=",last));
    }
    Constraint c = ICF.cumulative(t,h,capa,graph);
    solver.post(c);
    solver.set(ISF.random_bound(solver.retrieveIntVars(), seed));
    solver.set(ISF.lastConflict(solver,solver.getStrategy()));
    SMF.limitTime(solver,5000);
    switch (mode){
View Full Code Here

            Solver solver = new Solver();
            {
                IntVar x = VariableFactory.enumerated("x", 0, 2, ref);
                IntVar y = VariableFactory.enumerated("y", 0, 2, ref);
                IntVar z = VariableFactory.enumerated("z", -2, 2, ref);
                Constraint cstr = new Scalar(new IntVar[]{x, y}, new int[]{1, -1}, z, 1);
//        System.out.println(cstr);
                ref.post(cstr);
                ref.set(IntStrategyFactory.random_value(new IntVar[]{x, y, z}, seed));

            }
            {
                IntVar x = VariableFactory.enumerated("x", 0, 2, solver);
                IntVar y = VariableFactory.enumerated("y", 0, 2, solver);
                IntVar z = VariableFactory.enumerated("Z", -200, 200, solver);
                Constraint cstr = IntConstraintFactory.sum(new IntVar[]{z, y}, x);
                solver.post(cstr);
//        System.out.println(cstr);
                solver.set(IntStrategyFactory.random_value(new IntVar[]{x, y, z}, seed));

            }
View Full Code Here

            tuples.add(1, 1, 1);
            tuples.add(2, 2, 2);

            Solver solver = new Solver();
            IntVar[] vars = VF.enumeratedArray("X", 3, 0, 1, solver);
            Constraint tableConstraint = ICF.table(vars, tuples, a);
            solver.post(tableConstraint);

            solver.findSolution();
        }
    }
View Full Code Here

        tuples.add(10, 1);
        tuples.add(45, 1);
        tuples.add(57, 1);

        for (int i = 0; i < vars.length; i++) {
            Constraint c = IntConstraintFactory.table(vars[i], reified[i], tuples, type);
            solver.post(c);
        }
        solver.post(IntConstraintFactory.sum(reified, sum));
        solver.findOptimalSolution(ResolutionPolicy.MINIMIZE, sum);
        if (solver.getMeasures().getSolutionCount() > 0) {
View Full Code Here

      IntVar a = VF.enumerated("a", 0, 3, s);
      IntVar b = VF.enumerated("b", -3, 3, s);

      IntVar z = VF.enumerated("z", 3, 4, s);
      s.post(ICF.arithm(z, "=", 3));
      Constraint c = ICF.times(a, b, z);
      s.post(c);
    try {
      s.propagate();
      Assert.assertFalse(a.contains(0));
      for (Propagator p : c.getPropagators()) {
        p.propagate(PropagatorEventType.FULL_PROPAGATION.getMask());
      }
      Assert.assertFalse(a.contains(0));
    }catch (ContradictionException e){
      Assert.assertFalse(true);
View Full Code Here

    public void test21() {
        Solver solver = new Solver("Choco");
        IntVar v = VF.enumerated("v", 1, 4, solver);
        IntVar w = VF.enumerated("v", 1, 2, solver);
        IntVar x = VF.enumerated("v", 0, 3, solver);
        solver.post(new Constraint("times", new PropTimesNaive(v, w, x)));

        Solver copy = solver.duplicateModel();

        solver.findAllSolutions();
        copy.findAllSolutions();
View Full Code Here

TOP

Related Classes of solver.constraints.Constraint

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.