Package solver.variables

Examples of solver.variables.BoolVar


            boolean ret = true;
            // init internal structures
            for (int i = 0; i < clauses.length; i++) {
                ILogical clause = clauses[i];
                if (clause.isLit()) {
                    BoolVar bv = (BoolVar) clause;
                    ret &= addTrue(bv);
                } else {
                    LogOp n = (LogOp) clause;
                    BoolVar[] bvars = n.flattenBoolVar();
                    TIntList lits = new TIntArrayList(bvars.length);
View Full Code Here


        PropSat sat = solver.getMinisat().getPropSat();
        if (BOOLVARS.length == 1) {
            return addBoolLe(BOOLVARS[0], TARGET);
        }

        BoolVar extra = VF.bool(StringUtils.randomName(), solver);
        int tlit = sat.Literal(TARGET);
        int elit = sat.Literal(extra);
        TIntList lits = new TIntArrayList(BOOLVARS.length + 1);
        for (int i = 0; i < BOOLVARS.length; ++i) {
            lits.add(sat.Literal(BOOLVARS[i]));
View Full Code Here

        if (n.is(LogOp.Operator.OR)) {
            // OR with only LITS
            ILogical[] children = n.getChildren();
            HashMap<BoolVar, ILogical> lits = new HashMap<BoolVar, ILogical>();
            for (int i = 0; i < children.length; i++) {
                BoolVar var = extract(children[i])[0];
                var = var.isNot() ? var.not() : var;
                if (lits.containsKey(var)) {
                    ILogical prev = lits.get(var);
                    if (prev.isNot() != children[i].isNot()) {
                        return solver.ONE;
                    }
                } else {
                    lits.put(var, children[i]);
                }
            }
        } else if (!n.hasOrChild()) {
            // AND with only LITS
            ILogical[] children = n.getChildren();
            HashMap<BoolVar, ILogical> lits = new HashMap<BoolVar, ILogical>();
            for (int i = 0; i < children.length; i++) {
                BoolVar var = extract(children[i])[0];
                var = var.isNot() ? var.not() : var;
                if (lits.containsKey(var)) {
                    ILogical prev = lits.get(var);
                    if (prev.isNot() != children[i].isNot()) {
                        return solver.ZERO;
                    }
View Full Code Here

        return null;
    }

    public static LogOp reified(BoolVar b, ILogical tree) {
        try {
            BoolVar nb = b.not();
            ILogical ntree = negate(tree);
            return or(and(b, tree), and(nb, ntree));
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
View Full Code Here

          super.updateUpperBound(var, one, two, cause);
          bug = false;
        }
        if(etype == PropagatorEventType.FULL_PROPAGATION){
          Propagator prop = (Propagator) cause;
          BoolVar bVar = (BoolVar) var;
          super.activePropagator(bVar, prop);
          bug = false;
        }
        if(bug) {
          throw new UnsupportedOperationException("Unknown type " + etype);
View Full Code Here

    }

    @Test(groups = "1s")
    public void testboolandeqvar() {
        Solver solver = new Solver();
        BoolVar L = VF.bool("L", solver);
        BoolVar R = VF.bool("R", solver);
        BoolVar T = VF.bool("T", solver);
        SatFactory.addBoolAndEqVar(L, R, T);
        SMF.log(solver, true, false);
        solver.findAllSolutions();
    }
View Full Code Here

    }

    @Test(groups = "1s")
    public void testbooleq() {
        Solver solver = new Solver();
        BoolVar L = VF.bool("L", solver);
        BoolVar R = VF.bool("R", solver);
        SatFactory.addBoolEq(L, R);
        SMF.log(solver, true, false);
        solver.findAllSolutions();
    }
View Full Code Here

    }

    @Test(groups = "1s")
    public void testbooliseqvar() {
        Solver solver = new Solver();
        BoolVar L = VF.bool("L", solver);
        BoolVar R = VF.bool("R", solver);
        BoolVar T = VF.bool("T", solver);
        SatFactory.addBoolIsEqVar(L, R, T);
        SMF.log(solver, true, false);
        solver.findAllSolutions();
    }
View Full Code Here

    }

    @Test(groups = "1s")
    public void testboolislevar() {
        Solver solver = new Solver();
        BoolVar L = VF.bool("L", solver);
        BoolVar R = VF.bool("R", solver);
        BoolVar T = VF.bool("T", solver);
        SatFactory.addBoolIsLeVar(L, R, T);
        SMF.log(solver, true, false);
        solver.findAllSolutions();
    }
View Full Code Here

    }

    @Test(groups = "1s")
    public void testboolisltvar() {
        Solver solver = new Solver();
        BoolVar L = VF.bool("L", solver);
        BoolVar R = VF.bool("R", solver);
        BoolVar T = VF.bool("T", solver);
        SatFactory.addBoolIsLtVar(L, R, T);
        SMF.log(solver, true, false);
        solver.findAllSolutions();
    }
View Full Code Here

TOP

Related Classes of solver.variables.BoolVar

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.