Examples of LogOp


Examples of solver.constraints.nary.cnf.LogOp

        int r = data.getValue("REST");
        for (IntVar[] s : this.shifts) {
            for (int t = 0; t + 2 < data.nbDays(); t++) {
                //solver.post(Options.E_DECOMP, ConstraintFactory.ifThenElse(ConstraintFactory.eq(s[t], n), ConstraintFactory.or(ConstraintFactory.eq(s[t+1], n), ConstraintFactory.and(ConstraintFactory.eq(s[t+1], r), ConstraintFactory.eq(s[t+2], r)))));
                BoolVar[] bvars = VariableFactory.boolArray("b", 4, solver);
                LogOp tree = LogOp.implies(
                        bvars[0],
                        LogOp.or(bvars[1], bvars[2], bvars[3])
                );
                SatFactory.addClauses(tree, solver);
                solver.post(LogicalConstraintFactory.ifThenElse(bvars[0],
                        IntConstraintFactory.arithm(s[t], "=", n), IntConstraintFactory.arithm(s[t], "!=", n)));
                solver.post(LogicalConstraintFactory.ifThenElse(bvars[1],
                        IntConstraintFactory.arithm(s[t + 1], "=", n), IntConstraintFactory.arithm(s[t + 1], "!=", n)));
                solver.post(LogicalConstraintFactory.ifThenElse(bvars[2],
                        IntConstraintFactory.arithm(s[t + 1], "=", r), IntConstraintFactory.arithm(s[t + 1], "!=", r)));
                solver.post(LogicalConstraintFactory.ifThenElse(bvars[3],
                        IntConstraintFactory.arithm(s[t + 2], "=", r), IntConstraintFactory.arithm(s[t + 2], "!=", r)));
            }
            int t = data.nbDays() - 2;
            BoolVar[] bvars = VariableFactory.boolArray("b", 2, solver);
//            solver.post(ConstraintFactory.ifThenElse(ConstraintFactory.eq(s[t], n), ConstraintFactory.eq(s[t + 1], n)));
            LogOp tree = LogOp.implies(bvars[0], bvars[1]);
            SatFactory.addClauses(tree, solver);
            solver.post(LogicalConstraintFactory.ifThenElse(bvars[0],
                    IntConstraintFactory.arithm(s[t], "=", n), IntConstraintFactory.arithm(s[t], "!=", n)));
            solver.post(LogicalConstraintFactory.ifThenElse(bvars[1],
                    IntConstraintFactory.arithm(s[t + 1], "=", n), IntConstraintFactory.arithm(s[t + 1], "!=", n)));
View Full Code Here

Examples of solver.constraints.nary.cnf.LogOp

        description += "patConsWE[reif] ";
        int r = data.getValue("REST");
        for (IntVar[] s : this.shifts) {
            for (int t = 5; t + 15 < data.nbDays(); t += 7) {
                BoolVar[] bvars = VariableFactory.boolArray("b", 6, solver);
                LogOp tree = LogOp.implies(
                        LogOp.and(
                                LogOp.or(bvars[0], bvars[1]),
                                LogOp.or(bvars[2], bvars[3])),
                        LogOp.and(bvars[4], bvars[5])
                );
View Full Code Here

Examples of solver.constraints.nary.cnf.LogOp

        description += "patCompWE[reif] ";
        int r = data.getValue("REST");
        for (IntVar[] s : this.shifts) {
            for (int t = 5; t + 1 < data.nbDays(); t += 7) {
                BoolVar[] bvars = VariableFactory.boolArray("b", 2, solver);
                LogOp tree = LogOp.ifOnlyIf(bvars[0], bvars[1]);
                SatFactory.addClauses(tree, solver);
                solver.post(LogicalConstraintFactory.ifThenElse(bvars[0],
                        IntConstraintFactory.arithm(s[t], "=", r),
                        IntConstraintFactory.arithm(s[t], "!=", r)));
                solver.post(LogicalConstraintFactory.ifThenElse(bvars[1],
View Full Code Here

Examples of solver.constraints.nary.cnf.LogOp

        BoolVar b = VariableFactory.bool("b", solver);
        BoolVar c = VariableFactory.bool("c", solver);
        BoolVar d = VariableFactory.bool("d", solver);


        LogOp root = LogOp.nand(LogOp.nor(a, b), LogOp.or(c, d));

        ILogical l = LogicTreeToolBox.toCNF(root, solver);

        Assert.assertEquals(l.toString(), "((b or a or not(c)) and (b or a or not(d)))");
    }
View Full Code Here

Examples of solver.constraints.nary.cnf.LogOp

          }else{
            bs[j] = bsource[j];
          }
        }

                LogOp or = LogOp.or(bs);
                log.info(or.toString());
                SatFactory.addClauses(or, s);
                s.set(IntStrategyFactory.lexico_LB(bs));

        s.findAllSolutions();
                long sol = s.getMeasures().getSolutionCount();
View Full Code Here

Examples of solver.constraints.nary.cnf.LogOp

        Solver s = new Solver();

        BoolVar[] bs = new BoolVar[1];
        bs[0] = VariableFactory.bool("to be", s);

        LogOp and = LogOp.and(bs[0], bs[0].not());

        SatFactory.addClauses(and, s);
        s.set(IntStrategyFactory.lexico_LB(bs));
        s.findAllSolutions();
        long sol = s.getMeasures().getSolutionCount();
View Full Code Here

Examples of solver.constraints.nary.cnf.LogOp

    public void testBothOr() {
        Solver s = new Solver();

        BoolVar b = VariableFactory.bool("to be", s);

        LogOp or = LogOp.or(b, b.not());

        SatFactory.addClauses(or, s);

        BoolVar[] bs = new BoolVar[]{b};
        s.set(IntStrategyFactory.lexico_LB(bs));
View Full Code Here

Examples of solver.constraints.nary.cnf.LogOp

    @Test(groups = "1s")
    public void test2() {
        Solver solver = new Solver();
        BoolVar[] bvars = VariableFactory.boolArray("b", 2, solver);
        LogOp tree = LogOp.or(bvars[0], bvars[1]);
        SatFactory.addClauses(tree, solver);

        try {
            solver.propagate();
            bvars[1].instantiateTo(0, Cause.Null);
View Full Code Here

Examples of solver.constraints.nary.cnf.LogOp

    @Test(groups = "1s")
    public void test30() {
        Solver solver = new Solver();
        BoolVar[] bvars = VariableFactory.boolArray("b", 2, solver);
        LogOp tree = LogOp.or(bvars[0], bvars[1]);
        SatFactory.addClauses(tree, solver);

        try {
            solver.propagate();
            bvars[1].instantiateTo(1, Cause.Null);
View Full Code Here

Examples of solver.constraints.nary.cnf.LogOp

    @Test(groups = "1s")
    public void test31() {
        Solver solver = new Solver();
        BoolVar[] bvars = VariableFactory.boolArray("b", 2, solver);
        LogOp tree = LogOp.or(bvars[0], bvars[1].not());
        SatFactory.addClauses(tree, solver);

        try {
            solver.propagate();
            bvars[0].instantiateTo(0, Cause.Null);
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.