Package solver

Examples of solver.Solver


        } else if (VAR.getLB() >= 0) {
            return VAR;
        } else if (VAR.getUB() <= 0) {
            return minus(VAR);
        } else {
            Solver s = VAR.getSolver();
            int ub = Math.max(-VAR.getLB(), VAR.getUB());
            String name = "|" + VAR.getName() + "|";
            IntVar abs;
            if (VAR.hasEnumeratedDomain()) {
                abs = enumerated(name, 0, ub, s);
            } else {
                abs = bounded(name, 0, ub, s);
            }
            s.post(IntConstraintFactory.absolute(abs, VAR));
            return abs;
        }
    }
View Full Code Here


    IntVar[] vars;
    Constraint[] cstrs;

    @Override
    public void createSolver() {
        solver = new Solver("Ordering " + n);
    }
View Full Code Here

     */
    public static RealVar real(IntVar VAR, double PRECISION) {
        if (Configuration.ENABLE_VIEWS) {
            return new RealView(VAR, PRECISION);
        } else {
            Solver s = VAR.getSolver();
            double lb = VAR.getLB();
            double ub = VAR.getUB();
            RealVar rv = real("(real)" + VAR.getName(), lb, ub, PRECISION, s);
            s.post(new IntEqRealConstraint(VAR, rv, PRECISION));
            return rv;
        }
    }
View Full Code Here

        if (Configuration.ENABLE_VIEWS) {
            for (int i = 0; i < VARS.length; i++) {
                reals[i] = real(VARS[i], PRECISION);
            }
        } else {
            Solver s = VARS[0].getSolver();
            for (int i = 0; i < VARS.length; i++) {
                double lb = VARS[i].getLB();
                double ub = VARS[i].getUB();
                reals[i] = real("(real)" + VARS[i].getName(), lb, ub, PRECISION, s);
            }
            s.post(new IntEqRealConstraint(VARS, reals, PRECISION));
        }
        return reals;
    }
View Full Code Here

    IntVar[] vars;

    @Override
    public void createSolver() {
        solver = new Solver("BigSum");
    }
View Full Code Here

     * If the reified boolean variable already exists, an additional (equality) constraint is automatically posted.
     *
     * @param bool
     */
    public final void reifyWith(BoolVar bool) {
        Solver s = propagators[0].getSolver();
        if (boolReif == null) {
            boolReif = bool;
            s.post(new ReificationConstraint(boolReif, this, getOpposite()));
        } else {
            s.post(ICF.arithm(bool, "=", boolReif));
        }
    }
View Full Code Here

     *
     * @return the boolean reifying the constraint
     */
    public final BoolVar reif() {
        if (boolReif == null) {
            Solver s = propagators[0].getSolver();
            boolReif = VF.bool(StringUtils.randomName(), s);
            s.post(new ReificationConstraint(boolReif, this, getOpposite()));
        }
        return boolReif;
    }
View Full Code Here

    IntVar[] vars;

    @Override
    public void createSolver() {
        solver = new Solver("Eq20");
    }
View Full Code Here

  // METHODS

  @Override
  public void createSolver() {
    solver = new Solver("Mario's Path Finder");
  }
View Full Code Here

//        NSCPModelConstrained.ConstraintOptions patternOptions = NSCPModelConstrained.ConstraintOptions.WITH_REG;
        NSCPModelConstrained.ConstraintOptions patternOptions = NSCPModelConstrained.ConstraintOptions.WITH_MCR;

        BranchingStrategy strategy = BranchingStrategy.FORCE_DOMWDEG;

        Solver solver = new Solver();
        NurseSchedulingProblem m = new NSCPModelConstrained(data, basisOptions, patternOptions, solver);
        SearchMonitorFactory.limitTime(solver, 180000);
        IntVar[] vars = ArrayUtils.flatten(ArrayUtils.transpose(m.getShifts()));
        solver.set(strategy.getGoal(solver, vars));
        if (Boolean.TRUE == solver.findSolution()) {
            m.printSolution(solver);
            NSChecker checker = new NSChecker(data);
            if (checker.checkSolution(m.getSolution(solver)))
                System.out.println("Solution checked.");
        }
        String content =
                solver.getMeasures().getTimeCount() + " ms,\t " + solver.getMeasures().getNodeCount() + " nodes,\t "
                        + solver.getMeasures().getBackTrackCount() + " bks,\t "
                        + strategy.name() + "\t " + patternOptions.name() + "\t "
                        + m.getDescription() + "\n";
        System.out.println(content);
    }
View Full Code Here

TOP

Related Classes of solver.Solver

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.