Package solver

Examples of solver.Solver.findSolution()


        IntVar[] ar2 = VariableFactory.boundedArray("v2", 3, -1, 9, s);

        Constraint c = ICF.lex_chain_less_eq(ar1, ar2);
        s.post(c);
        //SearchMonitorFactory.log(s, true, true);
        if (s.findSolution()) {
            do {
                Assert.assertEquals(ESat.TRUE, c.isSatisfied());
            } while (s.nextSolution());
        }
View Full Code Here


    solver.post(c);
    solver.set(ISF.random_bound(solver.retrieveIntVars(), seed));
    solver.set(ISF.lastConflict(solver,solver.getStrategy()));
    SMF.limitTime(solver,5000);
    switch (mode){
      case 0:  solver.findSolution();
//        print(solver,last,graph,f);
        if(solver.hasReachedLimit())return -1;
        return solver.getMeasures().getSolutionCount();
      case 1:  solver.findOptimalSolution(ResolutionPolicy.MINIMIZE,last);
//        print(solver,last,graph,f);
View Full Code Here

        IntVar[] v = {x};
        VariableSelector varsel = new InputOrder<>();
        IntValueSelector valsel = new IntDomainMin();
        DecisionOperator assgnt = DecisionOperator.int_eq;
        solver.set(new Once(v, varsel, valsel, assgnt));
        solver.findSolution();
        Assert.assertTrue(x.getValue() == 1);
    }

    @Test(groups = "1s")
    public void testNoScope() {
View Full Code Here

        Solver solver = new Solver("OnceTest");
        IntVar[] x = VariableFactory.enumeratedArray("x", 5, 1, 6, solver);
        SetVar y = VariableFactory.set("y", 1, 10, solver);
        solver.post(ICF.alldifferent(x));
        solver.post(SetConstraintsFactory.member(x[0], y));
        solver.findSolution();
        AbstractStrategy strat = solver.getStrategy();
        Assert.assertTrue(strat instanceof StrategiesSequencer);
    }

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

        BoolVar view = VF.eq(bool);
        SetVar set = VF.set("set", 0, 1, s);
        s.post(SCF.bool_channel(new BoolVar[]{view, bool}, set, 0));
        s.post(SCF.member(VF.one(s), set));
        s.set(ISF.minDom_UB(bool));
        if (s.findSolution()) {
            do {
//              System.out.println(bool + " : " + set + " : " + s.isSatisfied());
            } while (s.nextSolution());
        }
        Assert.assertEquals(s.getMeasures().getSolutionCount(), 1);
View Full Code Here

                solver.post(ICF.arithm(vars[n - 2], "=", vars[n - 1]));
                solver.post(ICF.arithm(vars[n - 2], "!=", vars[n - 1]));
                solver.set(ISF.lexico_LB(vars));
                engines[e].plugin(solver, false);
//                SMF.shortlog(solver);
                Assert.assertFalse(solver.findSolution());
                // get the last contradiction, which is
                if (e == 0) {
                    pn = solver.getMeasures().getNodeCount();
                } else {
                    Assert.assertTrue(solver.getMeasures().getNodeCount() <= pn);
View Full Code Here

            solver.set(new RecorderExplanationEngine(solver));
            ConflictBasedBackjumping cbj = new ConflictBasedBackjumping(solver.getExplainer());
            cbj.activeUserExplanation(true);
//            SMF.shortlog(solver);
            Assert.assertFalse(solver.findSolution());
            Explanation exp = cbj.getUserExplanation();
            Assert.assertEquals(2, exp.nbPropagators());
        }
    }
View Full Code Here

                    IntVar[] pigeons = VF.enumeratedArray("p", n, 0, n - 2, solver);
                    solver.post(ICF.alldifferent(pigeons, "NEQS"));
                    solver.set(ISF.random_value(pigeons, seed));
                    engines[e].plugin(solver, false);
//                    SMF.shortlog(solver);
                    Assert.assertFalse(solver.findSolution());
                }
            }
        }
    }
View Full Code Here

                    solver.post(IntConstraintFactory.arithm(matrix[0][0], "<", matrix[n - 1][0]));
                    solver.set(ISF.random_value(vars, seed));

                    engines[e].plugin(solver, false);
//                    SMF.shortlog(solver);
                    Assert.assertEquals(n > 2, solver.findSolution());
                }
            }
        }
    }
View Full Code Here

                solver.post(ICF.sum(Arrays.copyOfRange(p, 0, 8), VF.fixed(5, solver)));
                solver.post(ICF.arithm(p[9], "+", p[8], ">", 4));
                solver.set(ISF.random_value(p, seed));
                engines[e].plugin(solver, false);
                SMF.shortlog(solver);
                Assert.assertFalse(solver.findSolution());
            }
        }
    }

    @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.