Package solver

Examples of solver.Solver.propagate()


    @Test(groups = "1s")
    public void testBug1() throws ContradictionException {
//        "a corriger!!!, ca doit etre du a prop cond des propagators";
        Solver solver = modeler(new NQueenBinaryGlobal(), 16);
        solver.propagate();
    int offset = 2;
        Variable[] vars = solver.getVars();
        ((IntVar) vars[0+offset]).instantiateTo(1, Cause.Null);
        ((IntVar) vars[1+offset]).instantiateTo(3, Cause.Null);
        ((IntVar) vars[2+offset]).instantiateTo(5, Cause.Null);
View Full Code Here


        ((IntVar) vars[2+offset]).instantiateTo(5, Cause.Null);
        ((IntVar) vars[3+offset]).instantiateTo(2, Cause.Null);
        ((IntVar) vars[4+offset]).instantiateTo(12, Cause.Null);
        ((IntVar) vars[5+offset]).instantiateTo(16, Cause.Null);
        ((IntVar) vars[6+offset]).instantiateTo(4, Cause.Null);
        solver.propagate();
        LoggerFactory.getLogger("test").error("*******************************************");
//        System.out.printf("%s\n", solver.toString());
        ((IntVar) vars[7+offset]).instantiateTo(7, Cause.Null);
        try {
            solver.propagate();
View Full Code Here

        solver.propagate();
        LoggerFactory.getLogger("test").error("*******************************************");
//        System.out.printf("%s\n", solver.toString());
        ((IntVar) vars[7+offset]).instantiateTo(7, Cause.Null);
        try {
            solver.propagate();
            Assert.fail();
        } catch (ContradictionException ex) {
//            System.out.printf("%s\n", ex.getMessage());
        }
    }
View Full Code Here

        IntVar Y = VariableFactory.enumerated("Y", 3, 8, solver);
        IntVar Z = VariableFactory.enumerated("Z",0,200,solver);
    solver.post(IntConstraintFactory.sum(new IntVar[]{X,Y},Z));

        try {
            solver.propagate();
            Assert.assertFalse(Z.isInstantiated());
            Assert.assertEquals(Z.getLB(), 4);
            Assert.assertEquals(Z.getUB(), 18);
            Assert.assertTrue(Z.contains(10));
            Assert.assertEquals(Z.nextValue(3), 4);
View Full Code Here

            Assert.assertEquals(Z.previousValue(19), 18);
            Assert.assertEquals(Z.previousValue(10), 9);
            Assert.assertEquals(Z.previousValue(4), Integer.MIN_VALUE);

            Z.updateLowerBound(12, Cause.Null);
            solver.propagate();
            Assert.assertEquals(X.getLB(), 4);
            Assert.assertEquals(X.getUB(), 10);
            Assert.assertEquals(Y.getLB(), 3);
            Assert.assertEquals(Y.getUB(), 8);
View Full Code Here

            Assert.assertEquals(X.getUB(), 10);
            Assert.assertEquals(Y.getLB(), 3);
            Assert.assertEquals(Y.getUB(), 8);

            Y.updateUpperBound(-2, Cause.Null);
            solver.propagate();
            Assert.assertEquals(Y.getUB(), -2);
            Assert.assertEquals(X.getLB(), 2);

            Y.removeValue(-4, Cause.Null);
            solver.propagate();
View Full Code Here

            solver.propagate();
            Assert.assertEquals(Y.getUB(), -2);
            Assert.assertEquals(X.getLB(), 2);

            Y.removeValue(-4, Cause.Null);
            solver.propagate();
            Assert.assertFalse(Y.contains(-4));
            Assert.assertFalse(X.contains(4));

            Y.removeInterval(-8, -6, Cause.Null);
            solver.propagate();
View Full Code Here

            solver.propagate();
            Assert.assertFalse(Y.contains(-4));
            Assert.assertFalse(X.contains(4));

            Y.removeInterval(-8, -6, Cause.Null);
            solver.propagate();
            Assert.assertFalse(Y.contains(-8));
            Assert.assertFalse(Y.contains(-7));
            Assert.assertFalse(Y.contains(-6));
            Assert.assertFalse(X.contains(6));
            Assert.assertFalse(X.contains(7));
View Full Code Here

            Assert.assertEquals(X.getDomainSize(), 4);
            Assert.assertEquals(Y.getDomainSize(), 4);

            Y.instantiateTo(-5, Cause.Null);
            solver.propagate();
            Assert.assertTrue(X.isInstantiated());
            Assert.assertTrue(Y.isInstantiated());
            Assert.assertEquals(X.getValue(), 5);
            Assert.assertEquals(Y.getValue(), -5);
View Full Code Here

        IntVar v1 = VF.enumerated("v1", -2, 2, s);
        IntVar v2 = VF.minus(VF.minus(VF.enumerated("v2", -2, 2, s)));
        s.post(ICF.arithm(v1, "=", v2));
        s.post(ICF.arithm(v2, "!=", 1));

        s.propagate();

        Assert.assertFalse(v1.contains(1));
    }

    @Test(groups = "1s")
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. 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.