Java Reference
Java Reference
Solver.java
Go to the documentation of this file.
201 this(mainJNI.new_Solver_IntegerCastInfo__SWIG_1(IntVar.getCPtr(v), v, IntExpr.getCPtr(e), e, Constraint.getCPtr(c), c), true);
223 mainJNI.Solver_IntegerCastInfo_maintainer_set(swigCPtr, this, Constraint.getCPtr(value), value);
240 public Solver(String name, com.google.ortools.constraintsolver.ConstraintSolverParameters parameters) {
256 "Unable to parse com.google.ortools.constraintsolver.ConstraintSolverParameters protocol message.");
263 public static com.google.ortools.constraintsolver.ConstraintSolverParameters defaultSolverParameters() {
272 "Unable to parse com.google.ortools.constraintsolver.ConstraintSolverParameters protocol message.");
287 mainJNI.Solver_addCastConstraint(swigCPtr, this, CastConstraint.getCPtr(constraint), constraint, IntVar.getCPtr(target_var), target_var, IntExpr.getCPtr(expr), expr);
302 return mainJNI.Solver_solve__SWIG_2(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(m1), m1);
306 return mainJNI.Solver_solve__SWIG_3(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(m1), m1, SearchMonitor.getCPtr(m2), m2);
309 public boolean solve(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3) {
310 return mainJNI.Solver_solve__SWIG_4(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(m1), m1, SearchMonitor.getCPtr(m2), m2, SearchMonitor.getCPtr(m3), m3);
313 public boolean solve(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3, SearchMonitor m4) {
314 return mainJNI.Solver_solve__SWIG_5(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(m1), m1, SearchMonitor.getCPtr(m2), m2, SearchMonitor.getCPtr(m3), m3, SearchMonitor.getCPtr(m4), m4);
329 mainJNI.Solver_newSearch__SWIG_2(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(m1), m1);
333 mainJNI.Solver_newSearch__SWIG_3(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(m1), m1, SearchMonitor.getCPtr(m2), m2);
336 public void newSearch(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3) {
337 mainJNI.Solver_newSearch__SWIG_4(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(m1), m1, SearchMonitor.getCPtr(m2), m2, SearchMonitor.getCPtr(m3), m3);
340 public void newSearch(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3, SearchMonitor m4) {
341 mainJNI.Solver_newSearch__SWIG_5(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(m1), m1, SearchMonitor.getCPtr(m2), m2, SearchMonitor.getCPtr(m3), m3, SearchMonitor.getCPtr(m4), m4);
360 return mainJNI.Solver_solveAndCommit__SWIG_0(swigCPtr, this, DecisionBuilder.getCPtr(db), db, monitors);
368 return mainJNI.Solver_solveAndCommit__SWIG_2(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(m1), m1);
372 return mainJNI.Solver_solveAndCommit__SWIG_3(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(m1), m1, SearchMonitor.getCPtr(m2), m2);
375 public boolean solveAndCommit(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3) {
376 return mainJNI.Solver_solveAndCommit__SWIG_4(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(m1), m1, SearchMonitor.getCPtr(m2), m2, SearchMonitor.getCPtr(m3), m3);
600 long cPtr = mainJNI.Solver_makeSum__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
640 long cPtr = mainJNI.Solver_makeDifference__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
648 long cPtr = mainJNI.Solver_makeDifference__SWIG_1(swigCPtr, this, value, IntExpr.getCPtr(expr), expr);
664 long cPtr = mainJNI.Solver_makeProd__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
672 long cPtr = mainJNI.Solver_makeProd__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
688 long cPtr = mainJNI.Solver_makeDiv__SWIG_1(swigCPtr, this, IntExpr.getCPtr(numerator), numerator, IntExpr.getCPtr(denominator), denominator);
720 long cPtr = mainJNI.Solver_makeElement__SWIG_0(swigCPtr, this, values, IntVar.getCPtr(index), index);
728 long cPtr = mainJNI.Solver_makeElement__SWIG_1(swigCPtr, this, values, IntVar.getCPtr(index), index);
736 long cPtr = mainJNI.Solver_makeElement__SWIG_2(swigCPtr, this, values, IntVar.getCPtr(index), index);
743 public IntExpr makeMonotonicElement(LongUnaryOperator values, boolean increasing, IntVar index) {
744 long cPtr = mainJNI.Solver_makeMonotonicElement(swigCPtr, this, values, increasing, IntVar.getCPtr(index), index);
752 long cPtr = mainJNI.Solver_makeElement__SWIG_3(swigCPtr, this, values, IntVar.getCPtr(index1), index1, IntVar.getCPtr(index2), index2);
760 long cPtr = mainJNI.Solver_makeElement__SWIG_4(swigCPtr, this, vars, IntVar.getCPtr(index), index);
775 public Constraint makeIfThenElseCt(IntVar condition, IntExpr then_expr, IntExpr else_expr, IntVar target_var) {
776 long cPtr = mainJNI.Solver_makeIfThenElseCt(swigCPtr, this, IntVar.getCPtr(condition), condition, IntExpr.getCPtr(then_expr), then_expr, IntExpr.getCPtr(else_expr), else_expr, IntVar.getCPtr(target_var), target_var);
792 long cPtr = mainJNI.Solver_makeMin__SWIG_1(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
824 long cPtr = mainJNI.Solver_makeMax__SWIG_1(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
847 public IntExpr makeConvexPiecewiseExpr(IntExpr expr, long early_cost, long early_date, long late_date, long late_cost) {
848 long cPtr = mainJNI.Solver_makeConvexPiecewiseExpr(swigCPtr, this, IntExpr.getCPtr(expr), expr, early_cost, early_date, late_date, late_cost);
856 long cPtr = mainJNI.Solver_makeSemiContinuousExpr(swigCPtr, this, IntExpr.getCPtr(expr), expr, fixed_charge, step);
872 long cPtr = mainJNI.Solver_makeModulo__SWIG_1(swigCPtr, this, IntExpr.getCPtr(x), x, IntExpr.getCPtr(mod), mod);
879 public IntExpr makeConditionalExpression(IntVar condition, IntExpr expr, long unperformed_value) {
880 long cPtr = mainJNI.Solver_makeConditionalExpression(swigCPtr, this, IntVar.getCPtr(condition), condition, IntExpr.getCPtr(expr), expr, unperformed_value);
909 long cPtr = mainJNI.Solver_makeIsEqualCstCt(swigCPtr, this, IntExpr.getCPtr(var), var, value, IntVar.getCPtr(boolvar), boolvar);
925 long cPtr = mainJNI.Solver_makeIsEqualVar__SWIG_0(swigCPtr, this, IntExpr.getCPtr(v1), v1, IntExpr.getCPtr(v2), v2, IntVar.getCPtr(b), b);
933 long cPtr = mainJNI.Solver_makeIsEqualVar__SWIG_1(swigCPtr, this, IntExpr.getCPtr(v1), v1, IntExpr.getCPtr(v2), v2);
941 long cPtr = mainJNI.Solver_makeEquality__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
949 long cPtr = mainJNI.Solver_makeEquality__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
957 long cPtr = mainJNI.Solver_makeEquality__SWIG_2(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
965 long cPtr = mainJNI.Solver_makeIsDifferentCstCt__SWIG_0(swigCPtr, this, IntExpr.getCPtr(var), var, value, IntVar.getCPtr(boolvar), boolvar);
973 long cPtr = mainJNI.Solver_makeIsDifferentCstVar__SWIG_0(swigCPtr, this, IntExpr.getCPtr(var), var, value);
981 long cPtr = mainJNI.Solver_makeIsDifferentCstVar__SWIG_1(swigCPtr, this, IntExpr.getCPtr(v1), v1, IntExpr.getCPtr(v2), v2);
989 long cPtr = mainJNI.Solver_makeIsDifferentCstCt__SWIG_1(swigCPtr, this, IntExpr.getCPtr(v1), v1, IntExpr.getCPtr(v2), v2, IntVar.getCPtr(b), b);
997 long cPtr = mainJNI.Solver_makeNonEquality__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1005 long cPtr = mainJNI.Solver_makeNonEquality__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1013 long cPtr = mainJNI.Solver_makeNonEquality__SWIG_2(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1021 long cPtr = mainJNI.Solver_makeIsLessOrEqualCstCt(swigCPtr, this, IntExpr.getCPtr(var), var, value, IntVar.getCPtr(boolvar), boolvar);
1029 long cPtr = mainJNI.Solver_makeIsLessOrEqualCstVar(swigCPtr, this, IntExpr.getCPtr(var), var, value);
1037 long cPtr = mainJNI.Solver_makeIsLessOrEqualVar(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1045 long cPtr = mainJNI.Solver_makeIsLessOrEqualCt(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right, IntVar.getCPtr(b), b);
1053 long cPtr = mainJNI.Solver_makeLessOrEqual__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1061 long cPtr = mainJNI.Solver_makeLessOrEqual__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1069 long cPtr = mainJNI.Solver_makeLessOrEqual__SWIG_2(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1077 long cPtr = mainJNI.Solver_makeIsGreaterOrEqualCstCt(swigCPtr, this, IntExpr.getCPtr(var), var, value, IntVar.getCPtr(boolvar), boolvar);
1085 long cPtr = mainJNI.Solver_makeIsGreaterOrEqualCstVar(swigCPtr, this, IntExpr.getCPtr(var), var, value);
1093 long cPtr = mainJNI.Solver_makeIsGreaterOrEqualVar(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1101 long cPtr = mainJNI.Solver_makeIsGreaterOrEqualCt(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right, IntVar.getCPtr(b), b);
1109 long cPtr = mainJNI.Solver_makeGreaterOrEqual__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1117 long cPtr = mainJNI.Solver_makeGreaterOrEqual__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1125 long cPtr = mainJNI.Solver_makeGreaterOrEqual__SWIG_2(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1133 long cPtr = mainJNI.Solver_makeIsGreaterCstCt(swigCPtr, this, IntExpr.getCPtr(v), v, c, IntVar.getCPtr(b), b);
1141 long cPtr = mainJNI.Solver_makeIsGreaterCstVar(swigCPtr, this, IntExpr.getCPtr(var), var, value);
1149 long cPtr = mainJNI.Solver_makeIsGreaterVar(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1157 long cPtr = mainJNI.Solver_makeIsGreaterCt(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right, IntVar.getCPtr(b), b);
1165 long cPtr = mainJNI.Solver_makeGreater__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1173 long cPtr = mainJNI.Solver_makeGreater__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1181 long cPtr = mainJNI.Solver_makeGreater__SWIG_2(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1189 long cPtr = mainJNI.Solver_makeIsLessCstCt(swigCPtr, this, IntExpr.getCPtr(v), v, c, IntVar.getCPtr(b), b);
1205 long cPtr = mainJNI.Solver_makeIsLessVar(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1213 long cPtr = mainJNI.Solver_makeIsLessCt(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right, IntVar.getCPtr(b), b);
1221 long cPtr = mainJNI.Solver_makeLess__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1229 long cPtr = mainJNI.Solver_makeLess__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1237 long cPtr = mainJNI.Solver_makeLess__SWIG_2(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1260 long cPtr = mainJNI.Solver_makeSumEquality__SWIG_1(swigCPtr, this, vars, IntVar.getCPtr(var), var);
1265 long cPtr = mainJNI.Solver_makeScalProdEquality__SWIG_0(swigCPtr, this, vars, coefficients, cst);
1270 long cPtr = mainJNI.Solver_makeScalProdEquality__SWIG_1(swigCPtr, this, vars, coefficients, cst);
1275 long cPtr = mainJNI.Solver_makeScalProdEquality__SWIG_2(swigCPtr, this, vars, coefficients, IntVar.getCPtr(target), target);
1280 long cPtr = mainJNI.Solver_makeScalProdEquality__SWIG_3(swigCPtr, this, vars, coefficients, IntVar.getCPtr(target), target);
1285 long cPtr = mainJNI.Solver_makeScalProdGreaterOrEqual__SWIG_0(swigCPtr, this, vars, coeffs, cst);
1290 long cPtr = mainJNI.Solver_makeScalProdGreaterOrEqual__SWIG_1(swigCPtr, this, vars, coeffs, cst);
1295 long cPtr = mainJNI.Solver_makeScalProdLessOrEqual__SWIG_0(swigCPtr, this, vars, coefficients, cst);
1300 long cPtr = mainJNI.Solver_makeScalProdLessOrEqual__SWIG_1(swigCPtr, this, vars, coefficients, cst);
1305 long cPtr = mainJNI.Solver_makeMinEquality(swigCPtr, this, vars, IntVar.getCPtr(min_var), min_var);
1310 long cPtr = mainJNI.Solver_makeMaxEquality(swigCPtr, this, vars, IntVar.getCPtr(max_var), max_var);
1315 long cPtr = mainJNI.Solver_makeElementEquality__SWIG_0(swigCPtr, this, vals, IntVar.getCPtr(index), index, IntVar.getCPtr(target), target);
1320 long cPtr = mainJNI.Solver_makeElementEquality__SWIG_1(swigCPtr, this, vals, IntVar.getCPtr(index), index, IntVar.getCPtr(target), target);
1325 long cPtr = mainJNI.Solver_makeElementEquality__SWIG_2(swigCPtr, this, vars, IntVar.getCPtr(index), index, IntVar.getCPtr(target), target);
1330 long cPtr = mainJNI.Solver_makeElementEquality__SWIG_3(swigCPtr, this, vars, IntVar.getCPtr(index), index, target);
1338 long cPtr = mainJNI.Solver_makeAbsEquality(swigCPtr, this, IntVar.getCPtr(var), var, IntVar.getCPtr(abs_var), abs_var);
1346 long cPtr = mainJNI.Solver_makeIndexOfConstraint(swigCPtr, this, vars, IntVar.getCPtr(index), index, target);
1354 long cPtr = mainJNI.Solver_makeConstraintInitialPropagateCallback(swigCPtr, this, Constraint.getCPtr(ct), ct);
1362 long cPtr = mainJNI.Solver_makeDelayedConstraintInitialPropagateCallback(swigCPtr, this, Constraint.getCPtr(ct), ct);
1386 long cPtr = mainJNI.Solver_makeNotBetweenCt(swigCPtr, this, IntExpr.getCPtr(expr), expr, l, u);
1394 long cPtr = mainJNI.Solver_makeIsBetweenCt(swigCPtr, this, IntExpr.getCPtr(expr), expr, l, u, IntVar.getCPtr(b), b);
1407 long cPtr = mainJNI.Solver_makeMemberCt__SWIG_0(swigCPtr, this, IntExpr.getCPtr(expr), expr, values);
1412 long cPtr = mainJNI.Solver_makeMemberCt__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, values);
1420 long cPtr = mainJNI.Solver_makeNotMemberCt__SWIG_0(swigCPtr, this, IntExpr.getCPtr(expr), expr, values);
1425 long cPtr = mainJNI.Solver_makeNotMemberCt__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, values);
1433 long cPtr = mainJNI.Solver_makeNotMemberCt__SWIG_2(swigCPtr, this, IntExpr.getCPtr(expr), expr, starts, ends);
1441 long cPtr = mainJNI.Solver_makeNotMemberCt__SWIG_3(swigCPtr, this, IntExpr.getCPtr(expr), expr, starts, ends);
1449 long cPtr = mainJNI.Solver_makeIsMemberCt__SWIG_0(swigCPtr, this, IntExpr.getCPtr(expr), expr, values, IntVar.getCPtr(boolvar), boolvar);
1454 long cPtr = mainJNI.Solver_makeIsMemberCt__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, values, IntVar.getCPtr(boolvar), boolvar);
1459 long cPtr = mainJNI.Solver_makeIsMemberVar__SWIG_0(swigCPtr, this, IntExpr.getCPtr(expr), expr, values);
1464 long cPtr = mainJNI.Solver_makeIsMemberVar__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, values);
1480 long cPtr = mainJNI.Solver_makeCount__SWIG_1(swigCPtr, this, vars, value, IntVar.getCPtr(max_count), max_count);
1511 public Constraint makeDistribute(IntVar[] vars, long card_min, long card_max, long card_size) {
1512 long cPtr = mainJNI.Solver_makeDistribute__SWIG_3(swigCPtr, this, vars, card_min, card_max, card_size);
1535 public Constraint makeDistribute(IntVar[] vars, long[] values, long[] card_min, long[] card_max) {
1536 long cPtr = mainJNI.Solver_makeDistribute__SWIG_6(swigCPtr, this, vars, values, card_min, card_max);
1543 public Constraint makeDistribute(IntVar[] vars, int[] values, int[] card_min, int[] card_max) {
1544 long cPtr = mainJNI.Solver_makeDistribute__SWIG_7(swigCPtr, this, vars, values, card_min, card_max);
1552 long cPtr = mainJNI.Solver_makeDeviation(swigCPtr, this, vars, IntVar.getCPtr(deviation_var), deviation_var, total_sum);
1568 long cPtr = mainJNI.Solver_makeAllDifferent__SWIG_1(swigCPtr, this, vars, stronger_propagation);
1616 long cPtr = mainJNI.Solver_makeIndexOfFirstMaxValueConstraint(swigCPtr, this, IntVar.getCPtr(index), index, vars);
1624 long cPtr = mainJNI.Solver_makeIndexOfFirstMinValueConstraint(swigCPtr, this, IntVar.getCPtr(index), index, vars);
1639 public Constraint makeNullIntersectExcept(IntVar[] first_vars, IntVar[] second_vars, long escape_value) {
1640 long cPtr = mainJNI.Solver_makeNullIntersectExcept(swigCPtr, this, first_vars, second_vars, escape_value);
1660 public Constraint makeNoCycle(IntVar[] nexts, IntVar[] active, LongPredicate sink_handler, boolean assume_paths) {
1661 long cPtr = mainJNI.Solver_makeNoCycle__SWIG_2(swigCPtr, this, nexts, active, sink_handler, assume_paths);
1684 public Constraint makePathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, IntVar[] transits) {
1685 long cPtr = mainJNI.Solver_makePathCumul__SWIG_0(swigCPtr, this, nexts, active, cumuls, transits);
1692 public Constraint makeDelayedPathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, IntVar[] transits) {
1693 long cPtr = mainJNI.Solver_makeDelayedPathCumul(swigCPtr, this, nexts, active, cumuls, transits);
1700 public Constraint makePathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, LongBinaryOperator transit_evaluator) {
1701 long cPtr = mainJNI.Solver_makePathCumul__SWIG_1(swigCPtr, this, nexts, active, cumuls, transit_evaluator);
1708 public Constraint makePathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, IntVar[] slacks, LongBinaryOperator transit_evaluator) {
1709 long cPtr = mainJNI.Solver_makePathCumul__SWIG_2(swigCPtr, this, nexts, active, cumuls, slacks, transit_evaluator);
1716 public Constraint makePathConnected(IntVar[] nexts, long[] sources, long[] sinks, IntVar[] status) {
1733 long cPtr = mainJNI.Solver_makeAllowedAssignment(swigCPtr, this, vars, IntTupleSet.getCPtr(tuples), tuples);
1740 public Constraint makeTransitionConstraint(IntVar[] vars, IntTupleSet transition_table, long initial_state, long[] final_states) {
1741 long cPtr = mainJNI.Solver_makeTransitionConstraint__SWIG_0(swigCPtr, this, vars, IntTupleSet.getCPtr(transition_table), transition_table, initial_state, final_states);
1748 public Constraint makeTransitionConstraint(IntVar[] vars, IntTupleSet transition_table, long initial_state, int[] final_states) {
1749 long cPtr = mainJNI.Solver_makeTransitionConstraint__SWIG_1(swigCPtr, this, vars, IntTupleSet.getCPtr(transition_table), transition_table, initial_state, final_states);
1756 public Constraint makeNonOverlappingBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, IntVar[] x_size, IntVar[] y_size) {
1757 long cPtr = mainJNI.Solver_makeNonOverlappingBoxesConstraint__SWIG_0(swigCPtr, this, x_vars, y_vars, x_size, y_size);
1761 public Constraint makeNonOverlappingBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, long[] x_size, long[] y_size) {
1762 long cPtr = mainJNI.Solver_makeNonOverlappingBoxesConstraint__SWIG_1(swigCPtr, this, x_vars, y_vars, x_size, y_size);
1766 public Constraint makeNonOverlappingBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, int[] x_size, int[] y_size) {
1767 long cPtr = mainJNI.Solver_makeNonOverlappingBoxesConstraint__SWIG_2(swigCPtr, this, x_vars, y_vars, x_size, y_size);
1774 public Constraint makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, IntVar[] x_size, IntVar[] y_size) {
1775 long cPtr = mainJNI.Solver_makeNonOverlappingNonStrictBoxesConstraint__SWIG_0(swigCPtr, this, x_vars, y_vars, x_size, y_size);
1779 public Constraint makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, long[] x_size, long[] y_size) {
1780 long cPtr = mainJNI.Solver_makeNonOverlappingNonStrictBoxesConstraint__SWIG_1(swigCPtr, this, x_vars, y_vars, x_size, y_size);
1784 public Constraint makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, int[] x_size, int[] y_size) {
1785 long cPtr = mainJNI.Solver_makeNonOverlappingNonStrictBoxesConstraint__SWIG_2(swigCPtr, this, x_vars, y_vars, x_size, y_size);
1800 public IntervalVar makeFixedDurationIntervalVar(long start_min, long start_max, long duration, boolean optional, String name) {
1801 long cPtr = mainJNI.Solver_makeFixedDurationIntervalVar__SWIG_0(swigCPtr, this, start_min, start_max, duration, optional, name);
1808 public IntervalVar makeFixedDurationIntervalVar(IntVar start_variable, long duration, String name) {
1809 long cPtr = mainJNI.Solver_makeFixedDurationIntervalVar__SWIG_1(swigCPtr, this, IntVar.getCPtr(start_variable), start_variable, duration, name);
1816 public IntervalVar makeFixedDurationIntervalVar(IntVar start_variable, long duration, IntVar performed_variable, String name) {
1817 long cPtr = mainJNI.Solver_makeFixedDurationIntervalVar__SWIG_2(swigCPtr, this, IntVar.getCPtr(start_variable), start_variable, duration, IntVar.getCPtr(performed_variable), performed_variable, name);
1832 public IntervalVar makeIntervalVar(long start_min, long start_max, long duration_min, long duration_max, long end_min, long end_max, boolean optional, String name) {
1833 long cPtr = mainJNI.Solver_makeIntervalVar(swigCPtr, this, start_min, start_max, duration_min, duration_max, end_min, end_max, optional, name);
1841 long cPtr = mainJNI.Solver_makeMirrorInterval(swigCPtr, this, IntervalVar.getCPtr(interval_var), interval_var);
1848 public IntervalVar makeFixedDurationStartSyncedOnStartIntervalVar(IntervalVar interval_var, long duration, long offset) {
1849 long cPtr = mainJNI.Solver_makeFixedDurationStartSyncedOnStartIntervalVar(swigCPtr, this, IntervalVar.getCPtr(interval_var), interval_var, duration, offset);
1856 public IntervalVar makeFixedDurationStartSyncedOnEndIntervalVar(IntervalVar interval_var, long duration, long offset) {
1857 long cPtr = mainJNI.Solver_makeFixedDurationStartSyncedOnEndIntervalVar(swigCPtr, this, IntervalVar.getCPtr(interval_var), interval_var, duration, offset);
1864 public IntervalVar makeFixedDurationEndSyncedOnStartIntervalVar(IntervalVar interval_var, long duration, long offset) {
1865 long cPtr = mainJNI.Solver_makeFixedDurationEndSyncedOnStartIntervalVar(swigCPtr, this, IntervalVar.getCPtr(interval_var), interval_var, duration, offset);
1872 public IntervalVar makeFixedDurationEndSyncedOnEndIntervalVar(IntervalVar interval_var, long duration, long offset) {
1873 long cPtr = mainJNI.Solver_makeFixedDurationEndSyncedOnEndIntervalVar(swigCPtr, this, IntervalVar.getCPtr(interval_var), interval_var, duration, offset);
1881 long cPtr = mainJNI.Solver_makeIntervalRelaxedMin(swigCPtr, this, IntervalVar.getCPtr(interval_var), interval_var);
1889 long cPtr = mainJNI.Solver_makeIntervalRelaxedMax(swigCPtr, this, IntervalVar.getCPtr(interval_var), interval_var);
1897 long cPtr = mainJNI.Solver_makeIntervalVarRelation__SWIG_0(swigCPtr, this, IntervalVar.getCPtr(t), t, r, d);
1905 long cPtr = mainJNI.Solver_makeIntervalVarRelation__SWIG_1(swigCPtr, this, IntervalVar.getCPtr(t1), t1, r, IntervalVar.getCPtr(t2), t2);
1912 public Constraint makeIntervalVarRelationWithDelay(IntervalVar t1, int r, IntervalVar t2, long delay) {
1913 long cPtr = mainJNI.Solver_makeIntervalVarRelationWithDelay(swigCPtr, this, IntervalVar.getCPtr(t1), t1, r, IntervalVar.getCPtr(t2), t2, delay);
1921 long cPtr = mainJNI.Solver_makeTemporalDisjunction__SWIG_0(swigCPtr, this, IntervalVar.getCPtr(t1), t1, IntervalVar.getCPtr(t2), t2, IntVar.getCPtr(alt), alt);
1929 long cPtr = mainJNI.Solver_makeTemporalDisjunction__SWIG_1(swigCPtr, this, IntervalVar.getCPtr(t1), t1, IntervalVar.getCPtr(t2), t2);
1944 public DisjunctiveConstraint makeStrictDisjunctiveConstraint(IntervalVar[] intervals, String name) {
1952 public Constraint makeCumulative(IntervalVar[] intervals, long[] demands, long capacity, String name) {
1953 long cPtr = mainJNI.Solver_makeCumulative__SWIG_0(swigCPtr, this, intervals, demands, capacity, name);
1960 public Constraint makeCumulative(IntervalVar[] intervals, int[] demands, long capacity, String name) {
1961 long cPtr = mainJNI.Solver_makeCumulative__SWIG_1(swigCPtr, this, intervals, demands, capacity, name);
1968 public Constraint makeCumulative(IntervalVar[] intervals, long[] demands, IntVar capacity, String name) {
1969 long cPtr = mainJNI.Solver_makeCumulative__SWIG_2(swigCPtr, this, intervals, demands, IntVar.getCPtr(capacity), capacity, name);
1976 public Constraint makeCumulative(IntervalVar[] intervals, int[] demands, IntVar capacity, String name) {
1977 long cPtr = mainJNI.Solver_makeCumulative__SWIG_3(swigCPtr, this, intervals, demands, IntVar.getCPtr(capacity), capacity, name);
1984 public Constraint makeCumulative(IntervalVar[] intervals, IntVar[] demands, long capacity, String name) {
1985 long cPtr = mainJNI.Solver_makeCumulative__SWIG_4(swigCPtr, this, intervals, demands, capacity, name);
1992 public Constraint makeCumulative(IntervalVar[] intervals, IntVar[] demands, IntVar capacity, String name) {
1993 long cPtr = mainJNI.Solver_makeCumulative__SWIG_5(swigCPtr, this, intervals, demands, IntVar.getCPtr(capacity), capacity, name);
2001 long cPtr = mainJNI.Solver_makeCover(swigCPtr, this, vars, IntervalVar.getCPtr(target_var), target_var);
2009 long cPtr = mainJNI.Solver_makeEquality__SWIG_3(swigCPtr, this, IntervalVar.getCPtr(var1), var1, IntervalVar.getCPtr(var2), var2);
2033 long cPtr = mainJNI.Solver_makeFirstSolutionCollector__SWIG_0(swigCPtr, this, Assignment.getCPtr(assignment), assignment);
2049 long cPtr = mainJNI.Solver_makeLastSolutionCollector__SWIG_0(swigCPtr, this, Assignment.getCPtr(assignment), assignment);
2064 public SolutionCollector makeBestValueSolutionCollector(Assignment assignment, boolean maximize) {
2065 long cPtr = mainJNI.Solver_makeBestValueSolutionCollector__SWIG_0(swigCPtr, this, Assignment.getCPtr(assignment), assignment, maximize);
2080 public SolutionCollector makeNBestValueSolutionCollector(Assignment assignment, int solution_count, boolean maximize) {
2081 long cPtr = mainJNI.Solver_makeNBestValueSolutionCollector__SWIG_0(swigCPtr, this, Assignment.getCPtr(assignment), assignment, solution_count, maximize);
2085 public SolutionCollector makeNBestValueSolutionCollector(int solution_count, boolean maximize) {
2086 long cPtr = mainJNI.Solver_makeNBestValueSolutionCollector__SWIG_1(swigCPtr, this, solution_count, maximize);
2094 long cPtr = mainJNI.Solver_makeAllSolutionCollector__SWIG_0(swigCPtr, this, Assignment.getCPtr(assignment), assignment);
2134 long cPtr = mainJNI.Solver_makeWeightedMinimize__SWIG_0(swigCPtr, this, sub_objectives, weights, step);
2142 long cPtr = mainJNI.Solver_makeWeightedMinimize__SWIG_1(swigCPtr, this, sub_objectives, weights, step);
2150 long cPtr = mainJNI.Solver_makeWeightedMaximize__SWIG_0(swigCPtr, this, sub_objectives, weights, step);
2158 long cPtr = mainJNI.Solver_makeWeightedMaximize__SWIG_1(swigCPtr, this, sub_objectives, weights, step);
2165 public OptimizeVar makeWeightedOptimize(boolean maximize, IntVar[] sub_objectives, long[] weights, long step) {
2166 long cPtr = mainJNI.Solver_makeWeightedOptimize__SWIG_0(swigCPtr, this, maximize, sub_objectives, weights, step);
2173 public OptimizeVar makeWeightedOptimize(boolean maximize, IntVar[] sub_objectives, int[] weights, long step) {
2174 long cPtr = mainJNI.Solver_makeWeightedOptimize__SWIG_1(swigCPtr, this, maximize, sub_objectives, weights, step);
2181 public SearchMonitor makeTabuSearch(boolean maximize, IntVar v, long step, IntVar[] vars, long keep_tenure, long forbid_tenure, double tabu_factor) {
2182 long cPtr = mainJNI.Solver_makeTabuSearch(swigCPtr, this, maximize, IntVar.getCPtr(v), v, step, vars, keep_tenure, forbid_tenure, tabu_factor);
2189 public SearchMonitor makeGenericTabuSearch(boolean maximize, IntVar v, long step, IntVar[] tabu_vars, long forbid_tenure) {
2190 long cPtr = mainJNI.Solver_makeGenericTabuSearch(swigCPtr, this, maximize, IntVar.getCPtr(v), v, step, tabu_vars, forbid_tenure);
2197 public SearchMonitor makeSimulatedAnnealing(boolean maximize, IntVar v, long step, long initial_temperature) {
2198 long cPtr = mainJNI.Solver_makeSimulatedAnnealing(swigCPtr, this, maximize, IntVar.getCPtr(v), v, step, initial_temperature);
2205 public SearchMonitor makeGuidedLocalSearch(boolean maximize, IntVar objective, LongBinaryOperator objective_function, long step, IntVar[] vars, double penalty_factor) {
2206 long cPtr = mainJNI.Solver_makeGuidedLocalSearch__SWIG_0(swigCPtr, this, maximize, IntVar.getCPtr(objective), objective, objective_function, step, vars, penalty_factor);
2210 public SearchMonitor makeGuidedLocalSearch(boolean maximize, IntVar objective, LongTernaryOperator objective_function, long step, IntVar[] vars, IntVar[] secondary_vars, double penalty_factor) {
2211 long cPtr = mainJNI.Solver_makeGuidedLocalSearch__SWIG_1(swigCPtr, this, maximize, IntVar.getCPtr(objective), objective, objective_function, step, vars, secondary_vars, penalty_factor);
2267 long cPtr = mainJNI.Solver_makeLimit__SWIG_0(swigCPtr, this, time, branches, failures, solutions);
2274 public RegularLimit makeLimit(long time, long branches, long failures, long solutions, boolean smart_time_check) {
2275 long cPtr = mainJNI.Solver_makeLimit__SWIG_1(swigCPtr, this, time, branches, failures, solutions, smart_time_check);
2282 public RegularLimit makeLimit(long time, long branches, long failures, long solutions, boolean smart_time_check, boolean cumulative) {
2283 long cPtr = mainJNI.Solver_makeLimit__SWIG_2(swigCPtr, this, time, branches, failures, solutions, smart_time_check, cumulative);
2290 public RegularLimit makeLimit(com.google.ortools.constraintsolver.RegularLimitParameters proto) {
2298 public com.google.ortools.constraintsolver.RegularLimitParameters makeDefaultRegularLimitParameters() {
2307 "Unable to parse com.google.ortools.constraintsolver.RegularLimitParameters protocol message.");
2315 long cPtr = mainJNI.Solver_makeLimit__SWIG_4(swigCPtr, this, SearchLimit.getCPtr(limit_1), limit_1, SearchLimit.getCPtr(limit_2), limit_2);
2339 long cPtr = mainJNI.Solver_makeSearchLog__SWIG_1(swigCPtr, this, branch_period, IntVar.getCPtr(var), var);
2347 long cPtr = mainJNI.Solver_makeSearchLog__SWIG_2(swigCPtr, this, branch_period, display_callback);
2354 public SearchMonitor makeSearchLog(int branch_period, IntVar var, Supplier<String> display_callback) {
2355 long cPtr = mainJNI.Solver_makeSearchLog__SWIG_3(swigCPtr, this, branch_period, IntVar.getCPtr(var), var, display_callback);
2363 long cPtr = mainJNI.Solver_makeSearchLog__SWIG_4(swigCPtr, this, branch_period, OptimizeVar.getCPtr(opt_var), opt_var);
2370 public SearchMonitor makeSearchLog(int branch_period, OptimizeVar opt_var, Supplier<String> display_callback) {
2371 long cPtr = mainJNI.Solver_makeSearchLog__SWIG_5(swigCPtr, this, branch_period, OptimizeVar.getCPtr(opt_var), opt_var, display_callback);
2426 long cPtr = mainJNI.Solver_makeSymmetryManager__SWIG_1(swigCPtr, this, SymmetryBreaker.getCPtr(v1), v1);
2431 long cPtr = mainJNI.Solver_makeSymmetryManager__SWIG_2(swigCPtr, this, SymmetryBreaker.getCPtr(v1), v1, SymmetryBreaker.getCPtr(v2), v2);
2435 public SearchMonitor makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2, SymmetryBreaker v3) {
2436 long cPtr = mainJNI.Solver_makeSymmetryManager__SWIG_3(swigCPtr, this, SymmetryBreaker.getCPtr(v1), v1, SymmetryBreaker.getCPtr(v2), v2, SymmetryBreaker.getCPtr(v3), v3);
2440 public SearchMonitor makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2, SymmetryBreaker v3, SymmetryBreaker v4) {
2441 long cPtr = mainJNI.Solver_makeSymmetryManager__SWIG_4(swigCPtr, this, SymmetryBreaker.getCPtr(v1), v1, SymmetryBreaker.getCPtr(v2), v2, SymmetryBreaker.getCPtr(v3), v3, SymmetryBreaker.getCPtr(v4), v4);
2449 long cPtr = mainJNI.Solver_makeAssignVariableValue(swigCPtr, this, IntVar.getCPtr(var), var, val);
2454 long cPtr = mainJNI.Solver_makeVariableLessOrEqualValue(swigCPtr, this, IntVar.getCPtr(var), var, value);
2459 long cPtr = mainJNI.Solver_makeVariableGreaterOrEqualValue(swigCPtr, this, IntVar.getCPtr(var), var, value);
2464 long cPtr = mainJNI.Solver_makeSplitVariableDomain(swigCPtr, this, IntVar.getCPtr(var), var, val, start_with_lower_half);
2469 long cPtr = mainJNI.Solver_makeAssignVariableValueOrFail(swigCPtr, this, IntVar.getCPtr(var), var, value);
2474 long cPtr = mainJNI.Solver_MakeAssignVariableValueOrDoNothing(swigCPtr, this, IntVar.getCPtr(var), var, value);
2497 long cPtr = mainJNI.Solver_compose__SWIG_0(swigCPtr, this, DecisionBuilder.getCPtr(db1), db1, DecisionBuilder.getCPtr(db2), db2);
2501 public DecisionBuilder compose(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3) {
2502 long cPtr = mainJNI.Solver_compose__SWIG_1(swigCPtr, this, DecisionBuilder.getCPtr(db1), db1, DecisionBuilder.getCPtr(db2), db2, DecisionBuilder.getCPtr(db3), db3);
2506 public DecisionBuilder compose(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3, DecisionBuilder db4) {
2507 long cPtr = mainJNI.Solver_compose__SWIG_2(swigCPtr, this, DecisionBuilder.getCPtr(db1), db1, DecisionBuilder.getCPtr(db2), db2, DecisionBuilder.getCPtr(db3), db3, DecisionBuilder.getCPtr(db4), db4);
2520 long cPtr = mainJNI.Solver_tryDecisions__SWIG_0(swigCPtr, this, DecisionBuilder.getCPtr(db1), db1, DecisionBuilder.getCPtr(db2), db2);
2524 public DecisionBuilder tryDecisions(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3) {
2525 long cPtr = mainJNI.Solver_tryDecisions__SWIG_1(swigCPtr, this, DecisionBuilder.getCPtr(db1), db1, DecisionBuilder.getCPtr(db2), db2, DecisionBuilder.getCPtr(db3), db3);
2529 public DecisionBuilder tryDecisions(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3, DecisionBuilder db4) {
2530 long cPtr = mainJNI.Solver_tryDecisions__SWIG_2(swigCPtr, this, DecisionBuilder.getCPtr(db1), db1, DecisionBuilder.getCPtr(db2), db2, DecisionBuilder.getCPtr(db3), db3, DecisionBuilder.getCPtr(db4), db4);
2547 public DecisionBuilder makePhase(IntVar[] vars, LongUnaryOperator var_evaluator, int val_str) {
2552 public DecisionBuilder makePhase(IntVar[] vars, int var_str, LongBinaryOperator value_evaluator) {
2560 public DecisionBuilder makePhase(IntVar[] vars, int var_str, LongTernaryPredicate var_val1_val2_comparator) {
2561 long cPtr = mainJNI.Solver_makePhase__SWIG_3(swigCPtr, this, vars, var_str, var_val1_val2_comparator);
2565 public DecisionBuilder makePhase(IntVar[] vars, LongUnaryOperator var_evaluator, LongBinaryOperator value_evaluator) {
2566 long cPtr = mainJNI.Solver_makePhase__SWIG_4(swigCPtr, this, vars, var_evaluator, value_evaluator);
2570 public DecisionBuilder makePhase(IntVar[] vars, int var_str, LongBinaryOperator value_evaluator, LongUnaryOperator tie_breaker) {
2571 long cPtr = mainJNI.Solver_makePhase__SWIG_5(swigCPtr, this, vars, var_str, value_evaluator, tie_breaker);
2575 public DecisionBuilder makePhase(IntVar[] vars, LongUnaryOperator var_evaluator, LongBinaryOperator value_evaluator, LongUnaryOperator tie_breaker) {
2576 long cPtr = mainJNI.Solver_makePhase__SWIG_6(swigCPtr, this, vars, var_evaluator, value_evaluator, tie_breaker);
2586 long cPtr = mainJNI.Solver_makeDefaultPhase__SWIG_1(swigCPtr, this, vars, DefaultPhaseParameters.getCPtr(parameters), parameters);
2594 long cPtr = mainJNI.Solver_makePhase__SWIG_7(swigCPtr, this, IntVar.getCPtr(v0), v0, var_str, val_str);
2599 long cPtr = mainJNI.Solver_makePhase__SWIG_8(swigCPtr, this, IntVar.getCPtr(v0), v0, IntVar.getCPtr(v1), v1, var_str, val_str);
2604 long cPtr = mainJNI.Solver_makePhase__SWIG_9(swigCPtr, this, IntVar.getCPtr(v0), v0, IntVar.getCPtr(v1), v1, IntVar.getCPtr(v2), v2, var_str, val_str);
2608 public DecisionBuilder makePhase(IntVar v0, IntVar v1, IntVar v2, IntVar v3, int var_str, int val_str) {
2609 long cPtr = mainJNI.Solver_makePhase__SWIG_10(swigCPtr, this, IntVar.getCPtr(v0), v0, IntVar.getCPtr(v1), v1, IntVar.getCPtr(v2), v2, IntVar.getCPtr(v3), v3, var_str, val_str);
2617 long cPtr = mainJNI.Solver_makeScheduleOrPostpone(swigCPtr, this, IntervalVar.getCPtr(var), var, est, marker);
2625 long cPtr = mainJNI.Solver_makeScheduleOrExpedite(swigCPtr, this, IntervalVar.getCPtr(var), var, est, marker);
2633 long cPtr = mainJNI.Solver_makeRankFirstInterval(swigCPtr, this, SequenceVar.getCPtr(sequence), sequence, index);
2641 long cPtr = mainJNI.Solver_makeRankLastInterval(swigCPtr, this, SequenceVar.getCPtr(sequence), sequence, index);
2656 public DecisionBuilder makePhase(IntVar[] vars, LongBinaryOperator eval, LongUnaryOperator tie_breaker, int str) {
2677 public DecisionBuilder makeDecisionBuilderFromAssignment(Assignment assignment, DecisionBuilder db, IntVar[] vars) {
2678 long cPtr = mainJNI.Solver_makeDecisionBuilderFromAssignment(swigCPtr, this, Assignment.getCPtr(assignment), assignment, DecisionBuilder.getCPtr(db), db, vars);
2694 long cPtr = mainJNI.Solver_makeSolveOnce__SWIG_0(swigCPtr, this, DecisionBuilder.getCPtr(db), db);
2699 long cPtr = mainJNI.Solver_makeSolveOnce__SWIG_1(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(monitor1), monitor1);
2703 public DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2) {
2704 long cPtr = mainJNI.Solver_makeSolveOnce__SWIG_2(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(monitor1), monitor1, SearchMonitor.getCPtr(monitor2), monitor2);
2708 public DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3) {
2709 long cPtr = mainJNI.Solver_makeSolveOnce__SWIG_3(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(monitor1), monitor1, SearchMonitor.getCPtr(monitor2), monitor2, SearchMonitor.getCPtr(monitor3), monitor3);
2713 public DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3, SearchMonitor monitor4) {
2714 long cPtr = mainJNI.Solver_makeSolveOnce__SWIG_4(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(monitor1), monitor1, SearchMonitor.getCPtr(monitor2), monitor2, SearchMonitor.getCPtr(monitor3), monitor3, SearchMonitor.getCPtr(monitor4), monitor4);
2719 long cPtr = mainJNI.Solver_makeSolveOnce__SWIG_5(swigCPtr, this, DecisionBuilder.getCPtr(db), db, monitors);
2726 public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step) {
2727 long cPtr = mainJNI.Solver_makeNestedOptimize__SWIG_0(swigCPtr, this, DecisionBuilder.getCPtr(db), db, Assignment.getCPtr(solution), solution, maximize, step);
2731 public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1) {
2732 long cPtr = mainJNI.Solver_makeNestedOptimize__SWIG_1(swigCPtr, this, DecisionBuilder.getCPtr(db), db, Assignment.getCPtr(solution), solution, maximize, step, SearchMonitor.getCPtr(monitor1), monitor1);
2736 public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2) {
2737 long cPtr = mainJNI.Solver_makeNestedOptimize__SWIG_2(swigCPtr, this, DecisionBuilder.getCPtr(db), db, Assignment.getCPtr(solution), solution, maximize, step, SearchMonitor.getCPtr(monitor1), monitor1, SearchMonitor.getCPtr(monitor2), monitor2);
2741 public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3) {
2742 long cPtr = mainJNI.Solver_makeNestedOptimize__SWIG_3(swigCPtr, this, DecisionBuilder.getCPtr(db), db, Assignment.getCPtr(solution), solution, maximize, step, SearchMonitor.getCPtr(monitor1), monitor1, SearchMonitor.getCPtr(monitor2), monitor2, SearchMonitor.getCPtr(monitor3), monitor3);
2746 public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3, SearchMonitor monitor4) {
2747 long cPtr = mainJNI.Solver_makeNestedOptimize__SWIG_4(swigCPtr, this, DecisionBuilder.getCPtr(db), db, Assignment.getCPtr(solution), solution, maximize, step, SearchMonitor.getCPtr(monitor1), monitor1, SearchMonitor.getCPtr(monitor2), monitor2, SearchMonitor.getCPtr(monitor3), monitor3, SearchMonitor.getCPtr(monitor4), monitor4);
2751 public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor[] monitors) {
2752 long cPtr = mainJNI.Solver_makeNestedOptimize__SWIG_5(swigCPtr, this, DecisionBuilder.getCPtr(db), db, Assignment.getCPtr(solution), solution, maximize, step, monitors);
2760 long cPtr = mainJNI.Solver_makeRestoreAssignment(swigCPtr, this, Assignment.getCPtr(assignment), assignment);
2768 long cPtr = mainJNI.Solver_makeStoreAssignment(swigCPtr, this, Assignment.getCPtr(assignment), assignment);
2785 public LocalSearchOperator makeOperator(IntVar[] vars, LongTernaryOperator evaluator, int op) {
2790 public LocalSearchOperator makeOperator(IntVar[] vars, IntVar[] secondary_vars, LongTernaryOperator evaluator, int op) {
2791 long cPtr = mainJNI.Solver_makeOperator__SWIG_3(swigCPtr, this, vars, secondary_vars, evaluator, op);
2799 long cPtr = mainJNI.Solver_makeRandomLnsOperator__SWIG_0(swigCPtr, this, vars, number_of_variables);
2803 public LocalSearchOperator makeRandomLnsOperator(IntVar[] vars, int number_of_variables, int seed) {
2804 long cPtr = mainJNI.Solver_makeRandomLnsOperator__SWIG_1(swigCPtr, this, vars, number_of_variables, seed);
2812 long cPtr = mainJNI.Solver_makeMoveTowardTargetOperator__SWIG_0(swigCPtr, this, Assignment.getCPtr(target), target);
2819 public LocalSearchOperator makeMoveTowardTargetOperator(IntVar[] variables, long[] target_values) {
2820 long cPtr = mainJNI.Solver_makeMoveTowardTargetOperator__SWIG_1(swigCPtr, this, variables, target_values);
2837 public LocalSearchOperator concatenateOperators(LocalSearchOperator[] ops, IntIntToLongFunction evaluator) {
2862 long cPtr = mainJNI.Solver_makeNeighborhoodLimit(swigCPtr, this, LocalSearchOperator.getCPtr(op), op, limit);
2869 public DecisionBuilder makeLocalSearchPhase(Assignment assignment, LocalSearchPhaseParameters parameters) {
2870 long cPtr = mainJNI.Solver_makeLocalSearchPhase__SWIG_0(swigCPtr, this, Assignment.getCPtr(assignment), assignment, LocalSearchPhaseParameters.getCPtr(parameters), parameters);
2874 public DecisionBuilder makeLocalSearchPhase(IntVar[] vars, DecisionBuilder first_solution, LocalSearchPhaseParameters parameters) {
2875 long cPtr = mainJNI.Solver_makeLocalSearchPhase__SWIG_1(swigCPtr, this, vars, DecisionBuilder.getCPtr(first_solution), first_solution, LocalSearchPhaseParameters.getCPtr(parameters), parameters);
2882 public DecisionBuilder makeLocalSearchPhase(IntVar[] vars, DecisionBuilder first_solution, DecisionBuilder first_solution_sub_decision_builder, LocalSearchPhaseParameters parameters) {
2883 long cPtr = mainJNI.Solver_makeLocalSearchPhase__SWIG_2(swigCPtr, this, vars, DecisionBuilder.getCPtr(first_solution), first_solution, DecisionBuilder.getCPtr(first_solution_sub_decision_builder), first_solution_sub_decision_builder, LocalSearchPhaseParameters.getCPtr(parameters), parameters);
2887 public DecisionBuilder makeLocalSearchPhase(SequenceVar[] vars, DecisionBuilder first_solution, LocalSearchPhaseParameters parameters) {
2888 long cPtr = mainJNI.Solver_makeLocalSearchPhase__SWIG_3(swigCPtr, this, vars, DecisionBuilder.getCPtr(first_solution), first_solution, LocalSearchPhaseParameters.getCPtr(parameters), parameters);
2903 public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder) {
2904 long cPtr = mainJNI.Solver_makeLocalSearchPhaseParameters__SWIG_0(swigCPtr, this, IntVar.getCPtr(objective), objective, LocalSearchOperator.getCPtr(ls_operator), ls_operator, DecisionBuilder.getCPtr(sub_decision_builder), sub_decision_builder);
2908 public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit) {
2909 long cPtr = mainJNI.Solver_makeLocalSearchPhaseParameters__SWIG_1(swigCPtr, this, IntVar.getCPtr(objective), objective, LocalSearchOperator.getCPtr(ls_operator), ls_operator, DecisionBuilder.getCPtr(sub_decision_builder), sub_decision_builder, RegularLimit.getCPtr(limit), limit);
2913 public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit, LocalSearchFilter[] filters) {
2914 long cPtr = mainJNI.Solver_makeLocalSearchPhaseParameters__SWIG_2(swigCPtr, this, IntVar.getCPtr(objective), objective, LocalSearchOperator.getCPtr(ls_operator), ls_operator, DecisionBuilder.getCPtr(sub_decision_builder), sub_decision_builder, RegularLimit.getCPtr(limit), limit, filters);
2918 public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder) {
2919 long cPtr = mainJNI.Solver_makeLocalSearchPhaseParameters__SWIG_3(swigCPtr, this, IntVar.getCPtr(objective), objective, SolutionPool.getCPtr(pool), pool, LocalSearchOperator.getCPtr(ls_operator), ls_operator, DecisionBuilder.getCPtr(sub_decision_builder), sub_decision_builder);
2923 public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit) {
2924 long cPtr = mainJNI.Solver_makeLocalSearchPhaseParameters__SWIG_4(swigCPtr, this, IntVar.getCPtr(objective), objective, SolutionPool.getCPtr(pool), pool, LocalSearchOperator.getCPtr(ls_operator), ls_operator, DecisionBuilder.getCPtr(sub_decision_builder), sub_decision_builder, RegularLimit.getCPtr(limit), limit);
2928 public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit, LocalSearchFilter[] filters) {
2929 long cPtr = mainJNI.Solver_makeLocalSearchPhaseParameters__SWIG_5(swigCPtr, this, IntVar.getCPtr(objective), objective, SolutionPool.getCPtr(pool), pool, LocalSearchOperator.getCPtr(ls_operator), ls_operator, DecisionBuilder.getCPtr(sub_decision_builder), sub_decision_builder, RegularLimit.getCPtr(limit), limit, filters);
2951 public IntVarLocalSearchFilter makeSumObjectiveFilter(IntVar[] vars, LongBinaryOperator values, int filter_enum) {
2952 long cPtr = mainJNI.Solver_makeSumObjectiveFilter__SWIG_0(swigCPtr, this, vars, values, filter_enum);
2956 public IntVarLocalSearchFilter makeSumObjectiveFilter(IntVar[] vars, IntVar[] secondary_vars, LongTernaryOperator values, int filter_enum) {
2957 long cPtr = mainJNI.Solver_makeSumObjectiveFilter__SWIG_1(swigCPtr, this, vars, secondary_vars, values, filter_enum);
3190 mainJNI.Solver_addPropagationMonitor(swigCPtr, this, PropagationMonitor.getCPtr(monitor), monitor);
3205 mainJNI.Solver_addLocalSearchMonitor(swigCPtr, this, LocalSearchMonitor.getCPtr(monitor), monitor);
3295 public final static int CHOOSE_MIN_SIZE_LOWEST_MIN = mainJNI.Solver_CHOOSE_MIN_SIZE_LOWEST_MIN_get();
3299 public final static int CHOOSE_MIN_SIZE_HIGHEST_MIN = mainJNI.Solver_CHOOSE_MIN_SIZE_HIGHEST_MIN_get();
3303 public final static int CHOOSE_MIN_SIZE_LOWEST_MAX = mainJNI.Solver_CHOOSE_MIN_SIZE_LOWEST_MAX_get();
3307 public final static int CHOOSE_MIN_SIZE_HIGHEST_MAX = mainJNI.Solver_CHOOSE_MIN_SIZE_HIGHEST_MAX_get();
3327 public final static int CHOOSE_MAX_REGRET_ON_MIN = mainJNI.Solver_CHOOSE_MAX_REGRET_ON_MIN_get();
3379 public final static int CHOOSE_STATIC_GLOBAL_BEST = mainJNI.Solver_CHOOSE_STATIC_GLOBAL_BEST_get();
3383 public final static int CHOOSE_DYNAMIC_GLOBAL_BEST = mainJNI.Solver_CHOOSE_DYNAMIC_GLOBAL_BEST_get();
3392 public final static int CHOOSE_MIN_SLACK_RANK_FORWARD = mainJNI.Solver_CHOOSE_MIN_SLACK_RANK_FORWARD_get();
3393 public final static int CHOOSE_RANDOM_RANK_FORWARD = mainJNI.Solver_CHOOSE_RANDOM_RANK_FORWARD_get();
3411 public final static int INTERVAL_SET_TIMES_FORWARD = mainJNI.Solver_INTERVAL_SET_TIMES_FORWARD_get();
3415 public final static int INTERVAL_SET_TIMES_BACKWARD = mainJNI.Solver_INTERVAL_SET_TIMES_BACKWARD_get();
SolutionCollector makeLastSolutionCollector()
Collect the last solution of the search.
Definition: Solver.java:2056
void newSearch(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3, SearchMonitor m4)
Definition: Solver.java:340
RegularLimit makeBranchesLimit(long branches)
Creates a search limit that constrains the number of branches explored in the search tree.
Definition: Solver.java:2242
Constraint makeAllDifferent(IntVar[] vars)
All variables are pairwise different.
Definition: Solver.java:1559
Decision makeAssignVariablesValues(IntVar[] vars, long[] values)
Definition: Solver.java:2478
IntegerCastInfo(IntVar v, IntExpr e, Constraint c)
Definition: Solver.java:200
DecisionBuilder makeDecisionBuilderFromAssignment(Assignment assignment, DecisionBuilder db, IntVar[] vars)
Returns a decision builder for which the left-most leaf corresponds to assignment,...
Definition: Solver.java:2677
Constraint makePathConnected(IntVar[] nexts, long[] sources, long[] sinks, IntVar[] status)
Constraint enforcing that status[i] is true iff there's a path defined on next variables from sources...
Definition: Solver.java:1716
Decision makeSplitVariableDomain(IntVar var, long val, boolean start_with_lower_half)
Definition: Solver.java:2463
String localSearchProfile()
Returns local search profiling information in a human readable format.
Definition: Solver.java:3038
Constraint makeIndexOfFirstMinValueConstraint(IntVar index, IntVar[] vars)
Creates a constraint that binds the index variable to the index of the first variable with the minimu...
Definition: Solver.java:1623
A constraint is the main modeling object.
Constraint makeDelayedPathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, IntVar[] transits)
Delayed version of the same constraint: propagation on the nexts variables is delayed until all const...
Definition: Solver.java:1692
static final int CHOOSE_MIN_SLACK_RANK_FORWARD
Definition: Solver.java:3392
SearchMonitor makeGenericTabuSearch(boolean maximize, IntVar v, long step, IntVar[] tabu_vars, long forbid_tenure)
Creates a Tabu Search based on the vars |vars|.
Definition: Solver.java:2189
IntVar[] makeIntVarArray(int count, long min, long max, String name)
Definition: Solver.java:106
boolean solveAndCommit(DecisionBuilder db)
Definition: Solver.java:363
Constraint makeScalProdGreaterOrEqual(IntVar[] vars, long[] coeffs, long cst)
Definition: Solver.java:1284
boolean solve(DecisionBuilder db)
Definition: Solver.java:297
Constraint makeScalProdEquality(IntVar[] vars, int[] coefficients, IntVar target)
Definition: Solver.java:1279
boolean solveAndCommit(DecisionBuilder db, SearchMonitor m1)
Definition: Solver.java:367
static com.google.ortools.constraintsolver.ConstraintSolverParameters parseFrom(java.nio.ByteBuffer data)
Definition: ConstraintSolverParameters.java:1111
DecisionBuilder tryDecisions(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3, DecisionBuilder db4)
Definition: Solver.java:2529
IntVar makeIsGreaterVar(IntExpr left, IntExpr right)
status var of (left > right)
Definition: Solver.java:1148
boolean nameAllVariables()
Returns whether all variables should be named.
Definition: Solver.java:3167
DecisionBuilder makePhase(IntVar[] vars, LongBinaryOperator eval, int str)
Returns a decision builder which assigns values to variables which minimize the values returned by th...
Definition: Solver.java:2648
DecisionBuilder makeDefaultPhase(IntVar[] vars, DefaultPhaseParameters parameters)
Definition: Solver.java:2585
This class encapsulates an objective.
Definition: OptimizeVar.java:14
DecisionBuilder makePhase(IntVar[] vars, LongBinaryOperator eval, LongUnaryOperator tie_breaker, int str)
Returns a decision builder which assigns values to variables which minimize the values returned by th...
Definition: Solver.java:2656
IntExpr registerIntExpr(IntExpr expr)
Registers a new IntExpr and wraps it inside a TraceIntExpr if necessary.
Definition: Solver.java:3107
Constraint makeSumEquality(IntVar[] vars, long cst)
Definition: Solver.java:1254
DecisionBuilder makeStoreAssignment(Assignment assignment)
Returns a DecisionBuilder which stores an Assignment (calls void Assignment::Store())
Definition: Solver.java:2767
Definition: IntVarLocalSearchFilter.java:15
static final int INTERVAL_SET_TIMES_BACKWARD
Selects the variable with the highest ending time of all variables, and fixes the ending time to this...
Definition: Solver.java:3415
LocalSearchOperator makeOperator(IntVar[] vars, LongTernaryOperator evaluator, int op)
Definition: Solver.java:2785
Constraint makeAllDifferent(IntVar[] vars, boolean stronger_propagation)
All variables are pairwise different.
Definition: Solver.java:1567
Constraint makeNonOverlappingBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, long[] x_size, long[] y_size)
Definition: Solver.java:1761
Constraint makeIsLessOrEqualCstCt(IntExpr var, long value, IntVar boolvar)
boolvar == (var <= value)
Definition: Solver.java:1020
OptimizeVar makeWeightedMaximize(IntVar[] sub_objectives, long[] weights, long step)
Creates a maximization weigthed objective.
Definition: Solver.java:2149
IntervalVar makeFixedDurationIntervalVar(IntVar start_variable, long duration, String name)
Creates a performed interval var with a fixed duration.
Definition: Solver.java:1808
Constraint makeSortingConstraint(IntVar[] vars, IntVar[] sorted)
Creates a constraint binding the arrays of variables "vars" and "sorted_vars": sorted_vars[0] must be...
Definition: Solver.java:1583
Constraint makeIsDifferentCstCt(IntExpr v1, IntExpr v2, IntVar b)
b == (v1 != v2)
Definition: Solver.java:988
Constraint makeNullIntersect(IntVar[] first_vars, IntVar[] second_vars)
Creates a constraint that states that all variables in the first vector are different from all variab...
Definition: Solver.java:1631
IntVar makeIntVar(long[] values)
MakeIntVar will create a variable with the given sparse domain.
Definition: Solver.java:551
void newSearch(DecisionBuilder db, SearchMonitor m1)
Definition: Solver.java:328
DecisionBuilder compose(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3, DecisionBuilder db4)
Definition: Solver.java:2506
static final int REVERSIBLE_ACTION
Definition: Solver.java:3655
Solver(String name, com.google.ortools.constraintsolver.ConstraintSolverParameters parameters)
Definition: Solver.java:240
Constraint makeCumulative(IntervalVar[] intervals, int[] demands, long capacity, String name)
This constraint forces that, for any integer t, the sum of the demands corresponding to an interval c...
Definition: Solver.java:1960
IntExpr makeConditionalExpression(IntVar condition, IntExpr expr, long unperformed_value)
Conditional Expr condition ? expr : unperformed_value.
Definition: Solver.java:879
SearchMonitor makeLubyRestart(int scale_factor)
This search monitor will restart the search periodically.
Definition: Solver.java:2218
void topPeriodicCheck()
Performs PeriodicCheck on the top-level search; for instance, can be called from a nested solve to ch...
Definition: Solver.java:2964
LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit, LocalSearchFilter[] filters)
Definition: Solver.java:2913
DecisionBuilder tryDecisions(DecisionBuilder db1, DecisionBuilder db2)
Creates a decision builder which will create a search tree where each decision builder is called from...
Definition: Solver.java:2519
boolean solve(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2)
Definition: Solver.java:305
Constraint makeDeviation(IntVar[] vars, IntVar deviation_var, long total_sum)
Deviation constraint: sum_i |n * vars[i] - total_sum| <= deviation_var and sum_i vars[i] == total_sum...
Definition: Solver.java:1551
Represents a function that accepts two int-valued arguments and produces a long-valued result.
Definition: IntIntToLongFunction.java:27
static final int UNACTIVELNS
Operator which relaxes all inactive nodes and one sub-chain of six consecutive arcs.
Definition: Solver.java:3473
IntExpr makeModulo(IntExpr x, long mod)
General piecewise-linear function expression, built from f(x) where f is piecewise-linear.
Definition: Solver.java:863
Definition: ConstraintSolverParameters.java:13
int constraints()
Counts the number of constraints that have been added to the solver before the search.
Definition: Solver.java:3052
SearchMonitor makeAtSolutionCallback(Runnable callback)
Definition: Solver.java:2396
Constraint makeTemporalDisjunction(IntervalVar t1, IntervalVar t2, IntVar alt)
This constraint implements a temporal disjunction between two interval vars t1 and t2.
Definition: Solver.java:1920
SearchMonitor makeSearchLog(int branch_period, OptimizeVar opt_var, Supplier< String > display_callback)
Creates a search monitor that will also print the result of the display callback.
Definition: Solver.java:2370
void setMaintainer(Constraint value)
Definition: Solver.java:222
LocalSearchOperator randomConcatenateOperators(LocalSearchOperator[] ops)
Randomized version of local search concatenator; calls a random operator at each call to MakeNextNeig...
Definition: Solver.java:2845
Constraint makeCover(IntervalVar[] vars, IntervalVar target_var)
This constraint states that the target_var is the convex hull of the intervals.
Definition: Solver.java:2000
Constraint makeNotMemberCt(IntExpr expr, long[] starts, long[] ends)
expr should not be in the list of forbidden intervals [start[i]..end[i]].
Definition: Solver.java:1432
Implements a complete cache for model elements: expressions and constraints.
Definition: ModelCache.java:14
void setExpression(IntExpr value)
Definition: Solver.java:213
IntExpr makeModulo(IntExpr x, IntExpr mod)
Modulo expression x % mod (with the python convention for modulo).
Definition: Solver.java:871
static final int CROSS_DATE
STARTS_BEFORE and ENDS_AFTER at the same time, i.e.
Definition: Solver.java:3615
Constraint makeScalProdLessOrEqual(IntVar[] vars, long[] coefficients, long cst)
Definition: Solver.java:1294
IntExpr makeIndexExpression(IntVar[] vars, long value)
Returns the expression expr such that vars[expr] == value.
Definition: Solver.java:767
SolutionCollector makeAllSolutionCollector()
Collect all solutions of the search.
Definition: Solver.java:2101
com.google.ortools.constraintsolver.RegularLimitParameters makeDefaultRegularLimitParameters()
Creates a regular limit proto containing default values.
Definition: Solver.java:2298
static final int CHOOSE_STATIC_GLOBAL_BEST
This enum is used by Solver::MakePhase to specify how to select variables and values during the searc...
Definition: Solver.java:3379
The class IntExpr is the base of all integer expressions in constraint programming.
Definition: IntExpr.java:14
static final int CHOOSE_RANDOM_RANK_FORWARD
Definition: Solver.java:3393
RegularLimit makeLimit(long time, long branches, long failures, long solutions, boolean smart_time_check, boolean cumulative)
Creates a search limit which can either apply cumulatively or search-by-search.
Definition: Solver.java:2282
static final int INTERVAL_SIMPLE
The simple is INTERVAL_SET_TIMES_FORWARD.
Definition: Solver.java:3407
boolean hasName(PropagationBaseObject object)
Returns whether the object has been named or not.
Definition: Solver.java:3092
void restartSearch()
Definition: Solver.java:348
DecisionBuilder makePhase(IntVar[] vars, LongUnaryOperator var_evaluator, LongBinaryOperator value_evaluator, LongUnaryOperator tie_breaker)
Definition: Solver.java:2575
Constraint makeElementEquality(IntVar[] vars, IntVar index, IntVar target)
Definition: Solver.java:1324
Constraint makeIsMemberCt(IntExpr expr, long[] values, IntVar boolvar)
boolvar == (expr in set)
Definition: Solver.java:1448
SolutionCollector makeBestValueSolutionCollector(boolean maximize)
Collect the solution corresponding to the optimal value of the objective of 'assignment'; if 'assignm...
Definition: Solver.java:2072
Constraint makeSubCircuit(IntVar[] nexts)
Force the "nexts" variable to create a complete Hamiltonian path for those that do not loop upon them...
Definition: Solver.java:1676
void addCastConstraint(CastConstraint constraint, IntVar target_var, IntExpr expr)
Adds 'constraint' to the solver and marks it as a cast constraint, that is, a constraint created call...
Definition: Solver.java:286
Constraint makeNotBetweenCt(IntExpr expr, long l, long u)
(expr < l || expr > u) This constraint is lazy as it will not make holes in the domain of variables.
Definition: Solver.java:1385
static final int ASSIGN_CENTER_VALUE
Selects the first possible value which is the closest to the center of the domain of the selected var...
Definition: Solver.java:3361
IntervalVar makeFixedDurationIntervalVar(IntVar start_variable, long duration, IntVar performed_variable, String name)
Creates an interval var with a fixed duration, and performed_variable.
Definition: Solver.java:1816
SearchMonitor makeSearchLog(int branch_period, OptimizeVar opt_var)
OptimizeVar Search Logs At each solution, this monitor will also display the 'opt_var' value.
Definition: Solver.java:2362
Constraint makeScalProdGreaterOrEqual(IntVar[] vars, int[] coeffs, long cst)
Definition: Solver.java:1289
static final int ASSIGN_MIN_VALUE
Selects the min value of the selected variable.
Definition: Solver.java:3349
OptimizeVar makeWeightedMinimize(IntVar[] sub_objectives, int[] weights, long step)
Creates a minimization weighted objective.
Definition: Solver.java:2141
RegularLimit makeLimit(long time, long branches, long failures, long solutions, boolean smart_time_check)
Version reducing calls to wall timer by estimating number of remaining calls.
Definition: Solver.java:2274
static final int FULLPATHLNS
Operator which relaxes one entire path and all inactive nodes, thus defining num_paths neighbors.
Definition: Solver.java:3469
IntervalVar makeFixedDurationEndSyncedOnEndIntervalVar(IntervalVar interval_var, long duration, long offset)
Creates an interval var with a fixed duration whose end is synchronized with the end of another inter...
Definition: Solver.java:1872
Constraint makeIntervalVarRelation(IntervalVar t1, int r, IntervalVar t2)
This method creates a relation between two interval vars.
Definition: Solver.java:1904
static final int INT_VAR_SIMPLE
The simple selection is CHOOSE_FIRST_UNBOUND.
Definition: Solver.java:3283
IntExpr makeMonotonicElement(LongUnaryOperator values, boolean increasing, IntVar index)
Function based element.
Definition: Solver.java:743
static final int OUTSIDE_SEARCH
This enum represents the state of the solver w.r.t.
Definition: Solver.java:3665
LocalSearchOperator concatenateOperators(LocalSearchOperator[] ops, IntIntToLongFunction evaluator)
Definition: Solver.java:2837
DecisionBuilder makePhase(IntVar[] vars, LongUnaryOperator var_evaluator, LongBinaryOperator value_evaluator)
Definition: Solver.java:2565
static final int SPLIT_UPPER_HALF
Split the domain in two around the center, and choose the lower part first.
Definition: Solver.java:3369
Constraint makeTransitionConstraint(IntVar[] vars, IntTupleSet transition_table, long initial_state, long[] final_states)
This constraint create a finite automaton that will check the sequence of variables vars.
Definition: Solver.java:1740
Constraint makeIsLessOrEqualCt(IntExpr left, IntExpr right, IntVar b)
b == (left <= right)
Definition: Solver.java:1044
Constraint makeIsGreaterCt(IntExpr left, IntExpr right, IntVar b)
b == (left > right)
Definition: Solver.java:1156
DecisionBuilder makeConstraintAdder(Constraint ct)
Returns a decision builder that will add the given constraint to the model.
Definition: Solver.java:2685
Constraint makeScalProdLessOrEqual(IntVar[] vars, int[] coefficients, long cst)
Definition: Solver.java:1299
Constraint makeDistribute(IntVar[] vars, IntVar[] cards)
Aggregated version of count: |{i | v[i] == j}| == cards[j].
Definition: Solver.java:1503
SearchMonitor makeSymmetryManager(SymmetryBreaker[] visitors)
Symmetry Breaking.
Definition: Solver.java:2420
Constraint makeNoCycle(IntVar[] nexts, IntVar[] active, LongPredicate sink_handler, boolean assume_paths)
Definition: Solver.java:1660
java.math.BigInteger stamp()
The stamp indicates how many moves in the search tree we have performed.
Definition: Solver.java:494
Constraint makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, IntVar[] x_size, IntVar[] y_size)
This constraint states that all the boxes must not overlap.
Definition: Solver.java:1774
void finishCurrentSearch()
Tells the solver to kill or restart the current search.
Definition: Solver.java:3248
DecisionBuilder makePhase(IntVar v0, IntVar v1, int var_str, int val_str)
Definition: Solver.java:2598
SearchMonitor makeSearchTrace(String prefix)
Creates a search monitor that will trace precisely the behavior of the search.
Definition: Solver.java:2378
DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step)
NestedOptimize will collapse a search tree described by a decision builder 'db' and a set of monitors...
Definition: Solver.java:2726
static final int MAKEACTIVE
Operator which inserts an inactive node into a path.
Definition: Solver.java:3445
Solver(long cPtr, boolean cMemoryOwn)
Definition: Solver.java:61
static final int CROSS
Operator which cross exchanges the starting chains of 2 paths, including exchanging the whole paths.
Definition: Solver.java:3441
IntegerCastInfo()
Definition: Solver.java:196
Decision makeVariableLessOrEqualValue(IntVar var, long value)
Definition: Solver.java:2453
Constraint makeElementEquality(long[] vals, IntVar index, IntVar target)
Definition: Solver.java:1314
DecisionBuilder makePhase(IntVar[] vars, LongUnaryOperator var_evaluator, int val_str)
Definition: Solver.java:2547
SearchMonitor makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2, SymmetryBreaker v3, SymmetryBreaker v4)
Definition: Solver.java:2440
static final int ASSIGN_MAX_VALUE
Selects the max value of the selected variable.
Definition: Solver.java:3353
FailException(String message)
Definition: Solver.java:93
IntVar makeBoolVar(String name)
MakeBoolVar will create a variable with a {0, 1} domain.
Definition: Solver.java:567
DecisionBuilder makeLocalSearchPhase(IntVar[] vars, DecisionBuilder first_solution, DecisionBuilder first_solution_sub_decision_builder, LocalSearchPhaseParameters parameters)
Variant with a sub_decison_builder specific to the first solution.
Definition: Solver.java:2882
Constraint makeScalProdEquality(IntVar[] vars, long[] coefficients, IntVar target)
Definition: Solver.java:1274
Constraint makeDistribute(IntVar[] vars, long[] values, long[] card_min, long[] card_max)
Aggregated version of count with bounded cardinalities: forall j in 0 .
Definition: Solver.java:1535
SearchMonitor makeSearchLog(int branch_period)
The SearchMonitors below will display a periodic search log on LOG(INFO) every branch_period branches...
Definition: Solver.java:2330
IntervalVar makeFixedInterval(long start, long duration, String name)
Creates a fixed and performed interval.
Definition: Solver.java:1824
The class IntVar is a subset of IntExpr.
IntVar[] makeBoolVarArray(int count)
Definition: Solver.java:115
static final int DECREMENT
Operator which defines a neighborhood to decrement values.
Definition: Solver.java:3481
Constraint makeCumulative(IntervalVar[] intervals, IntVar[] demands, IntVar capacity, String name)
This constraint enforces that, for any integer t, the sum of demands corresponding to an interval con...
Definition: Solver.java:1992
IntExpr makeConvexPiecewiseExpr(IntExpr expr, long early_cost, long early_date, long late_date, long late_cost)
Convex piecewise function.
Definition: Solver.java:847
LocalSearchOperator concatenateOperators(LocalSearchOperator[] ops, boolean restart)
Definition: Solver.java:2832
IntervalVar makeFixedDurationStartSyncedOnEndIntervalVar(IntervalVar interval_var, long duration, long offset)
Creates an interval var with a fixed duration whose start is synchronized with the end of another int...
Definition: Solver.java:1856
void exportProfilingOverview(String filename)
Exports the profiling information in a human readable overview.
Definition: Solver.java:3031
IntVar makeIsLessOrEqualVar(IntExpr left, IntExpr right)
status var of (left <= right)
Definition: Solver.java:1036
Constraint makeScalProdEquality(IntVar[] vars, long[] coefficients, long cst)
Definition: Solver.java:1264
Decision MakeAssignVariableValueOrDoNothing(IntVar var, long value)
Definition: Solver.java:2473
Constraint makePathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, IntVar[] slacks, LongBinaryOperator transit_evaluator)
Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + t...
Definition: Solver.java:1708
IntegerCastInfo(long cPtr, boolean cMemoryOwn)
Definition: Solver.java:172
Decision balancing_decision()
Definition: Solver.java:3063
boolean isLocalSearchProfilingEnabled()
Returns whether we are profiling local search.
Definition: Solver.java:3153
Represents a predicate (boolean-valued function) uppon three.
Definition: LongTernaryPredicate.java:26
DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor[] monitors)
Definition: Solver.java:2718
DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1)
Definition: Solver.java:2731
static final int INCREMENT
Operator which defines one neighbor per variable.
Definition: Solver.java:3477
Constraint makeIntervalVarRelationWithDelay(IntervalVar t1, int r, IntervalVar t2, long delay)
This method creates a relation between two interval vars.
Definition: Solver.java:1912
Constraint makeIsMemberCt(IntExpr expr, int[] values, IntVar boolvar)
Definition: Solver.java:1453
A sequence variable is a variable whose domain is a set of possible orderings of the interval variabl...
Definition: SequenceVar.java:14
int optimization_direction()
The direction of optimization, getter and setter.
Definition: Solver.java:508
Constraint makePathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, LongBinaryOperator transit_evaluator)
Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + t...
Definition: Solver.java:1700
static final int NO_MORE_SOLUTIONS
After failed NextSolution and before EndSearch.
Definition: Solver.java:3681
SearchMonitor makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2)
Definition: Solver.java:2430
IntervalVar[] makeFixedDurationIntervalVarArray(int count, long start_min, long start_max, long duration, boolean optional)
Definition: Solver.java:132
DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3, SearchMonitor monitor4)
Definition: Solver.java:2746
PropagationMonitor getPropagationMonitor()
Returns the propagation monitor.
Definition: Solver.java:3181
IntVarLocalSearchFilter makeSumObjectiveFilter(IntVar[] vars, LongBinaryOperator values, int filter_enum)
Definition: Solver.java:2951
Constraint makeIndexOfFirstMaxValueConstraint(IntVar index, IntVar[] vars)
Creates a constraint that binds the index variable to the index of the first variable with the maximu...
Definition: Solver.java:1615
Decision makeFailDecision()
Definition: Solver.java:2483
A DecisionBuilder is responsible for creating the search tree.
Definition: DecisionBuilder.java:14
IntVarLocalSearchFilter makeSumObjectiveFilter(IntVar[] vars, IntVar[] secondary_vars, LongTernaryOperator values, int filter_enum)
Definition: Solver.java:2956
DisjunctiveConstraint makeStrictDisjunctiveConstraint(IntervalVar[] intervals, String name)
This constraint forces all interval vars into an non-overlapping sequence.
Definition: Solver.java:1944
void newSearch(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2)
Definition: Solver.java:332
static final int INT_VAR_DEFAULT
This enum describes the strategy used to select the next branching variable at each node during the s...
Definition: Solver.java:3279
static final int INTERVAL_DEFAULT
This enum describes the straregy used to select the next interval variable and its value to be fixed.
Definition: Solver.java:3403
boolean solveAndCommit(DecisionBuilder db, SearchMonitor[] monitors)
SolveAndCommit using a decision builder and up to three search monitors, usually one for the objectiv...
Definition: Solver.java:359
This class is used to manage a pool of solutions.
Definition: SolutionPool.java:14
This exceptions signal that a failure has been raised in the C++ world.
Definition: Solver.java:88
DecisionBuilder makePhase(SequenceVar[] sequences, int str)
Definition: Solver.java:2669
IntervalVar makeIntervalRelaxedMax(IntervalVar interval_var)
Creates and returns an interval variable that wraps around the given one, relaxing the max start and ...
Definition: Solver.java:1888
Constraint makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, long[] x_size, long[] y_size)
Definition: Solver.java:1779
long filteredNeighbors()
The number of filtered neighbors (neighbors accepted by filters).
Definition: Solver.java:480
Constraint makeMinEquality(IntVar[] vars, IntVar min_var)
Definition: Solver.java:1304
Constraint makeNotMemberCt(IntExpr expr, int[] starts, int[] ends)
expr should not be in the list of forbidden intervals [start[i]..end[i]].
Definition: Solver.java:1440
IntervalVar[] makeFixedDurationIntervalVarArray(int count, long start_min, long start_max, long duration, boolean optional, String name)
Definition: Solver.java:148
RegularLimit makeFailuresLimit(long failures)
Creates a search limit that constrains the number of failures that can happen when exploring the sear...
Definition: Solver.java:2250
DecisionBuilder makePhase(IntVar v0, IntVar v1, IntVar v2, IntVar v3, int var_str, int val_str)
Definition: Solver.java:2608
Constraint makeIfThenElseCt(IntVar condition, IntExpr then_expr, IntExpr else_expr, IntVar target_var)
Special cases with arrays of size two.
Definition: Solver.java:775
OptimizeVar makeWeightedOptimize(boolean maximize, IntVar[] sub_objectives, int[] weights, long step)
Creates a weighted objective with a given sense (true = maximization).
Definition: Solver.java:2173
static final int CHOOSE_MIN_SIZE_LOWEST_MIN
Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...
Definition: Solver.java:3295
void newSearch(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3)
Definition: Solver.java:336
static final int SEQUENCE_SIMPLE
Definition: Solver.java:3391
Constraint makeCumulative(IntervalVar[] intervals, IntVar[] demands, long capacity, String name)
This constraint enforces that, for any integer t, the sum of demands corresponding to an interval con...
Definition: Solver.java:1984
Constraint makeIntervalVarRelation(IntervalVar t, int r, long d)
This method creates a relation between an interval var and a date.
Definition: Solver.java:1896
A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in r...
Definition: SymmetryBreaker.java:14
LocalSearchOperator makeMoveTowardTargetOperator(IntVar[] variables, long[] target_values)
Creates a local search operator that tries to move the assignment of some variables toward a target.
Definition: Solver.java:2819
IntVar[] makeIntVarArray(int count, long min, long max)
Definition: Solver.java:98
IntVar makeIntVar(int[] values, String name)
MakeIntVar will create a variable with the given sparse domain.
Definition: Solver.java:535
static final int INTERVAL_SET_TIMES_FORWARD
Selects the variable with the lowest starting time of all variables, and fixes its starting time to t...
Definition: Solver.java:3411
LocalSearchFilter MakeRejectFilter()
Definition: Solver.java:2941
SearchMonitor makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2, SymmetryBreaker v3)
Definition: Solver.java:2435
OptimizeVar makeWeightedOptimize(boolean maximize, IntVar[] sub_objectives, long[] weights, long step)
Creates a weighted objective with a given sense (true = maximization).
Definition: Solver.java:2165
Decision makeRankFirstInterval(SequenceVar sequence, int index)
Returns a decision that tries to rank first the ith interval var in the sequence variable.
Definition: Solver.java:2632
IntervalVar registerIntervalVar(IntervalVar var)
Registers a new IntervalVar and wraps it inside a TraceIntervalVar if necessary.
Definition: Solver.java:3123
Constraint getMaintainer()
Definition: Solver.java:226
static final int CHOOSE_MIN_SIZE_HIGHEST_MAX
Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...
Definition: Solver.java:3307
DecisionBuilder makePhase(IntVar[] vars, int var_str, LongBinaryOperator value_evaluator)
Definition: Solver.java:2552
RegularLimit makeLimit(com.google.ortools.constraintsolver.RegularLimitParameters proto)
Creates a search limit from its protobuf description.
Definition: Solver.java:2290
IntVar makeIsDifferentCstVar(IntExpr var, long value)
status var of (var != value)
Definition: Solver.java:972
IntVar makeIsGreaterCstVar(IntExpr var, long value)
status var of (var > value)
Definition: Solver.java:1140
LocalSearchFilter makeVariableDomainFilter()
Definition: Solver.java:2946
Constraint makeSumEquality(IntVar[] vars, IntVar var)
Definition: Solver.java:1259
LocalSearchOperator makeMoveTowardTargetOperator(Assignment target)
Creates a local search operator that tries to move the assignment of some variables toward a target.
Definition: Solver.java:2811
DecisionBuilder makeDefaultPhase(IntVar[] vars)
Definition: Solver.java:2580
DecisionBuilder makePhase(IntVar v0, int var_str, int val_str)
Shortcuts for small arrays.
Definition: Solver.java:2593
Constraint makeIsEqualCstCt(IntExpr var, long value, IntVar boolvar)
boolvar == (var == value)
Definition: Solver.java:908
static final int CHOOSE_RANDOM
Randomly select one of the remaining unbound variables.
Definition: Solver.java:3291
Constraint makeIsLessCt(IntExpr left, IntExpr right, IntVar b)
b == (left < right)
Definition: Solver.java:1212
long branches()
The number of branches explored since the creation of the solver.
Definition: Solver.java:438
SearchMonitor makeGuidedLocalSearch(boolean maximize, IntVar objective, LongBinaryOperator objective_function, long step, IntVar[] vars, double penalty_factor)
Creates a Guided Local Search monitor.
Definition: Solver.java:2205
IntVar makeIntConst(long val, String name)
IntConst will create a constant expression.
Definition: Solver.java:583
static final int AT_SOLUTION
After successful NextSolution and before EndSearch.
Definition: Solver.java:3677
OptimizeVar makeMaximize(IntVar v, long step)
Creates a maximization objective.
Definition: Solver.java:2117
OptimizeVar makeWeightedMinimize(IntVar[] sub_objectives, long[] weights, long step)
Creates a minimization weighted objective.
Definition: Solver.java:2133
IntervalVar makeFixedDurationIntervalVar(long start_min, long start_max, long duration, boolean optional, String name)
Creates an interval var with a fixed duration.
Definition: Solver.java:1800
A Demon is the base element of a propagation queue.
Definition: Demon.java:14
Constraint makeTransitionConstraint(IntVar[] vars, IntTupleSet transition_table, long initial_state, int[] final_states)
This constraint create a finite automaton that will check the sequence of variables vars.
Definition: Solver.java:1748
static final int ENDS_AFTER_END
This enum is used in Solver::MakeIntervalVarRelation to specify the temporal relation between the two...
Definition: Solver.java:3549
boolean checkAssignment(Assignment solution)
Checks whether the given assignment satisfies all relevant constraints.
Definition: Solver.java:382
Constraint makeIsGreaterOrEqualCt(IntExpr left, IntExpr right, IntVar b)
b == (left >= right)
Definition: Solver.java:1100
static final int EQ
Move is accepted when the current objective value is in the interval objective.Min .
Definition: Solver.java:3521
This struct holds all parameters for the default search.
Definition: DefaultPhaseParameters.java:14
Usual limit based on wall_time, number of explored branches and number of failures in the search tree...
Definition: RegularLimit.java:14
Decision makeAssignVariableValueOrFail(IntVar var, long value)
Definition: Solver.java:2468
static final int CHOOSE_MIN_SIZE_HIGHEST_MIN
Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...
Definition: Solver.java:3299
void set_optimization_direction(int direction)
Definition: Solver.java:512
DecisionBuilder makeLocalSearchPhase(Assignment assignment, LocalSearchPhaseParameters parameters)
Local Search decision builders factories.
Definition: Solver.java:2869
SearchMonitor makeEnterSearchCallback(Runnable callback)
--— Callback-based search monitors --—
Definition: Solver.java:2386
static final int VAR_PRIORITY
VAR_PRIORITY is between DELAYED_PRIORITY and NORMAL_PRIORITY.
Definition: Solver.java:3535
static final int MAKECHAININACTIVE
Operator which makes a "chain" of path nodes inactive.
Definition: Solver.java:3453
static final int CHOOSE_LOWEST_MIN
Among unbound variables, select the variable with the smallest minimal value.
Definition: Solver.java:3311
DecisionBuilder makeRestoreAssignment(Assignment assignment)
Returns a DecisionBuilder which restores an Assignment (calls void Assignment::Restore())
Definition: Solver.java:2759
IntervalVar makeMirrorInterval(IntervalVar interval_var)
Creates an interval var that is the mirror image of the given one, that is, the interval var obtained...
Definition: Solver.java:1840
IntervalVar makeIntervalVar(long start_min, long start_max, long duration_min, long duration_max, long end_min, long end_max, boolean optional, String name)
Creates an interval var by specifying the bounds on start, duration, and end.
Definition: Solver.java:1832
DecisionBuilder makePhase(IntervalVar[] intervals, int str)
Scheduling phases.
Definition: Solver.java:2664
SearchLimit makeCustomLimit(BooleanSupplier limiter)
Callback-based search limit.
Definition: Solver.java:2322
DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3)
Definition: Solver.java:2741
This class represent a reversible FIFO structure.
Definition: LocalSearchOperator.java:14
Constraint makeIsEqualVar(IntExpr v1, IntExpr v2, IntVar b)
b == (v1 == v2)
Definition: Solver.java:924
boolean nextSolution()
Definition: Solver.java:344
DecisionBuilder compose(DecisionBuilder db1, DecisionBuilder db2)
Creates a decision builder which sequentially composes decision builders.
Definition: Solver.java:2496
Constraint makeIsGreaterOrEqualCstCt(IntExpr var, long value, IntVar boolvar)
boolvar == (var >= value)
Definition: Solver.java:1076
SolutionCollector makeBestValueSolutionCollector(Assignment assignment, boolean maximize)
Collect the solution corresponding to the optimal value of the objective of 'assignment'; if 'assignm...
Definition: Solver.java:2064
static com.google.ortools.constraintsolver.ConstraintSolverParameters defaultSolverParameters()
Create a ConstraintSolverParameters proto with all the default values.
Definition: Solver.java:263
DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1)
Definition: Solver.java:2698
SearchMonitor makeSearchLog(int branch_period, Supplier< String > display_callback)
At each solution, this monitor will also display result of display_callback.
Definition: Solver.java:2346
An Assignment is a variable -> domains mapping, used to report solutions to the user.
Definition: Assignment.java:14
Decision makeDecision(Consumer< Solver > apply, Consumer< Solver > refute)
Definition: Solver.java:2488
java.math.BigInteger fail_stamp()
The fail_stamp() is incremented after each backtrack.
Definition: Solver.java:501
static final int TWOOPT
This enum is used in Solver::MakeOperator to specify the neighborhood to create.
Definition: Solver.java:3425
Constraint makeCumulative(IntervalVar[] intervals, int[] demands, IntVar capacity, String name)
This constraint enforces that, for any integer t, the sum of the demands corresponding to an interval...
Definition: Solver.java:1976
static final int PATHLNS
Operator which relaxes two sub-chains of three consecutive arcs each.
Definition: Solver.java:3465
static final int CHOOSE_PATH
Selects the next unbound variable on a path, the path being defined by the variables: var[i] correspo...
Definition: Solver.java:3331
SearchMonitor makeSimulatedAnnealing(boolean maximize, IntVar v, long step, long initial_temperature)
Creates a Simulated Annealing monitor.
Definition: Solver.java:2197
LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder)
Local Search Phase Parameters.
Definition: Solver.java:2903
long solutions()
The number of solutions found since the start of the search.
Definition: Solver.java:445
Constraint makeIsBetweenCt(IntExpr expr, long l, long u, IntVar b)
b == (l <= expr <= u)
Definition: Solver.java:1393
static final int CHOOSE_MIN_SIZE
Among unbound variables, select the variable with the smallest size.
Definition: Solver.java:3319
void shouldFail()
These methods are only useful for the SWIG wrappers, which need a way to externally cause the Solver ...
Definition: Solver.java:3259
static final int LE
Move is accepted when the current objective value <= objective.Max.
Definition: Solver.java:3517
IntVar makeIntVar(long[] values, String name)
MakeIntVar will create a variable with the given sparse domain.
Definition: Solver.java:527
DecisionBuilder makePhase(IntVar[] vars, int var_str, LongBinaryOperator value_evaluator, LongUnaryOperator tie_breaker)
Definition: Solver.java:2570
Definition: LocalSearchPhaseParameters.java:11
LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit)
Definition: Solver.java:2908
LocalSearchOperator randomConcatenateOperators(LocalSearchOperator[] ops, int seed)
Randomized version of local search concatenator; calls a random operator at each call to MakeNextNeig...
Definition: Solver.java:2853
LocalSearchOperator makeOperator(IntVar[] vars, IntVar[] secondary_vars, LongTernaryOperator evaluator, int op)
Definition: Solver.java:2790
Definition: RegularLimitParameters.java:14
LocalSearchMonitor getLocalSearchMonitor()
Returns the local search monitor.
Definition: Solver.java:3196
IntervalVar makeFixedDurationStartSyncedOnStartIntervalVar(IntervalVar interval_var, long duration, long offset)
Creates an interval var with a fixed duration whose start is synchronized with the start of another i...
Definition: Solver.java:1848
Constraint makeAllDifferentExcept(IntVar[] vars, long escape_value)
All variables are pairwise different, unless they are assigned to the escape value.
Definition: Solver.java:1575
SearchMonitor makeSearchLog(int branch_period, IntVar var, Supplier< String > display_callback)
At each solution, this monitor will display the 'var' value and the result of display_callback.
Definition: Solver.java:2354
NOLINT The PropagationBaseObject is a subclass of BaseObject that is also friend to the Solver class.
Definition: PropagationBaseObject.java:14
Constraint makeDistribute(IntVar[] vars, int[] values, IntVar[] cards)
Aggregated version of count: |{i | v[i] == values[j]}| == cards[j].
Definition: Solver.java:1495
static final int SIMPLE_MARKER
Definition: Solver.java:3653
void newSearch(DecisionBuilder db, SearchMonitor[] monitors)
Decomposed search.
Definition: Solver.java:320
OptimizeVar makeWeightedMaximize(IntVar[] sub_objectives, int[] weights, long step)
Creates a maximization weigthed objective.
Definition: Solver.java:2157
int searchLeftDepth()
Gets the search left depth of the current active search.
Definition: Solver.java:2996
Constraint makeSumLessOrEqual(IntVar[] vars, long cst)
Variation on arrays.
Definition: Solver.java:1244
DecisionBuilder makeLocalSearchPhase(SequenceVar[] vars, DecisionBuilder first_solution, LocalSearchPhaseParameters parameters)
Definition: Solver.java:2887
Constraint makeDistribute(IntVar[] vars, int[] card_min, int[] card_max)
Aggregated version of count with bounded cardinalities: forall j in 0 .
Definition: Solver.java:1527
IntExpr getExpression()
Definition: Solver.java:217
void addLocalSearchMonitor(LocalSearchMonitor monitor)
Adds the local search monitor to the solver.
Definition: Solver.java:3204
static final int SPLIT_LOWER_HALF
Split the domain in two around the center, and choose the lower part first.
Definition: Solver.java:3365
DisjunctiveConstraint makeDisjunctiveConstraint(IntervalVar[] intervals, String name)
This constraint forces all interval vars into an non-overlapping sequence.
Definition: Solver.java:1936
long failures()
The number of failures encountered since the creation of the solver.
Definition: Solver.java:466
LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit)
Definition: Solver.java:2923
SolutionCollector makeAllSolutionCollector(Assignment assignment)
Collect all solutions of the search.
Definition: Solver.java:2093
SearchLimit makeLimit(SearchLimit limit_1, SearchLimit limit_2)
Creates a search limit that is reached when either of the underlying limit is reached.
Definition: Solver.java:2314
DecisionBuilder makePhase(IntVar[] vars, int var_str, LongTernaryPredicate var_val1_val2_comparator)
var_val1_val2_comparator(var, val1, val2) is true iff assigning value "val1" to variable "var" is bet...
Definition: Solver.java:2560
IntVar makeIsMemberVar(IntExpr expr, int[] values)
Definition: Solver.java:1463
RegularLimit makeLimit(long time, long branches, long failures, long solutions)
Limits the search with the 'time', 'branches', 'failures' and 'solutions' limits.
Definition: Solver.java:2266
DecisionBuilder tryDecisions(DecisionBuilder[] dbs)
Definition: Solver.java:2534
A Decision represents a choice point in the search tree.
Definition: Decision.java:14
static final int SWAPACTIVE
Operator which replaces an active node by an inactive one.
Definition: Solver.java:3457
Assignment GetOrCreateLocalSearchState()
Returns (or creates) an assignment representing the state of local search.
Definition: Solver.java:3211
Constraint makeNotMemberCt(IntExpr expr, int[] values)
Definition: Solver.java:1424
Constraint makeIsDifferentCstCt(IntExpr var, long value, IntVar boolvar)
boolvar == (var != value)
Definition: Solver.java:964
boolean solveAndCommit(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2)
Definition: Solver.java:371
DecisionBuilder makeLocalSearchPhase(IntVar[] vars, DecisionBuilder first_solution, LocalSearchPhaseParameters parameters)
Definition: Solver.java:2874
IntVar makeIsLessVar(IntExpr left, IntExpr right)
status var of (left < right)
Definition: Solver.java:1204
Constraint makePathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, IntVar[] transits)
Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + t...
Definition: Solver.java:1684
Constraint makeDistribute(IntVar[] vars, long[] card_min, long[] card_max)
Aggregated version of count with bounded cardinalities: forall j in 0 .
Definition: Solver.java:1519
SearchMonitor makeConstantRestart(int frequency)
This search monitor will restart the search periodically after 'frequency' failures.
Definition: Solver.java:2226
Constraint makeIndexOfConstraint(IntVar[] vars, IntVar index, long target)
This constraint is a special case of the element constraint with an array of integer variables,...
Definition: Solver.java:1345
Demon makeConstraintInitialPropagateCallback(Constraint ct)
This method is a specialized case of the MakeConstraintDemon method to call the InitiatePropagate of ...
Definition: Solver.java:1353
SearchMonitor makeSymmetryManager(SymmetryBreaker v1)
Definition: Solver.java:2425
This class is the root class of all solution collectors.
Definition: SolutionCollector.java:14
LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder)
Definition: Solver.java:2918
IntVar getVariable()
Definition: Solver.java:208
IntVar[] makeBoolVarArray(int count, String name)
Definition: Solver.java:123
IntVar makeIsDifferentCstVar(IntExpr v1, IntExpr v2)
status var of (v1 != v2)
Definition: Solver.java:980
Constraint makeDistribute(IntVar[] vars, int[] values, int[] card_min, int[] card_max)
Aggregated version of count with bounded cardinalities: forall j in 0 .
Definition: Solver.java:1543
Constraint makeMemberCt(IntExpr expr, int[] values)
Definition: Solver.java:1411
A search monitor is a simple set of callbacks to monitor all search events.
Definition: SearchMonitor.java:14
Constraint makeNoCycle(IntVar[] nexts, IntVar[] active, LongPredicate sink_handler)
Prevent cycles.
Definition: Solver.java:1647
Constraint makeAllowedAssignment(IntVar[] vars, IntTupleSet tuples)
This method creates a constraint where the graph of the relation between the variables is given in ex...
Definition: Solver.java:1732
static com.google.ortools.constraintsolver.RegularLimitParameters parseFrom(java.nio.ByteBuffer data)
Definition: RegularLimitParameters.java:304
IntervalVar makeFixedDurationEndSyncedOnStartIntervalVar(IntervalVar interval_var, long duration, long offset)
Creates an interval var with a fixed duration whose end is synchronized with the start of another int...
Definition: Solver.java:1864
static final int RELOCATE
Relocate neighborhood with length of 1 (see OROPT comment).
Definition: Solver.java:3433
Constraint makeNullIntersectExcept(IntVar[] first_vars, IntVar[] second_vars, long escape_value)
Creates a constraint that states that all variables in the first vector are different from all variab...
Definition: Solver.java:1639
ModelVisitor makeStatisticsModelVisitor()
Displays some nice statistics on the model.
Definition: Solver.java:2412
Decision makeVariableGreaterOrEqualValue(IntVar var, long value)
Definition: Solver.java:2458
Constraint makeCount(IntVar[] vars, long value, IntVar max_count)
|{i | vars[i] == value}| == max_count
Definition: Solver.java:1479
boolean currentlyInSolve()
Returns true whether the current search has been created using a Solve() call instead of a NewSearch ...
Definition: Solver.java:3045
DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor[] monitors)
Definition: Solver.java:2751
DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3, SearchMonitor monitor4)
Definition: Solver.java:2713
LocalSearchOperator makeRandomLnsOperator(IntVar[] vars, int number_of_variables)
Creates a large neighborhood search operator which creates fragments (set of relaxed variables) with ...
Definition: Solver.java:2798
Constraint makeDistribute(IntVar[] vars, long card_min, long card_max, long card_size)
Aggregated version of count with bounded cardinalities: forall j in 0 .
Definition: Solver.java:1511
DecisionBuilder compose(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3)
Definition: Solver.java:2501
LocalSearchOperator makeOperator(IntVar[] vars, int op)
Local Search Operators.
Definition: Solver.java:2775
void SetUseFastLocalSearch(boolean use_fast_local_search)
enabled for metaheuristics.
Definition: Solver.java:3078
IntExpr makeDiv(IntExpr numerator, IntExpr denominator)
numerator / denominator (integer division).
Definition: Solver.java:687
SolutionCollector makeNBestValueSolutionCollector(int solution_count, boolean maximize)
Definition: Solver.java:2085
static final int SIMPLELNS
Operator which defines one neighbor per variable.
Definition: Solver.java:3485
Decision makeScheduleOrExpedite(IntervalVar var, long est, long[] marker)
Returns a decision that tries to schedule a task at a given time.
Definition: Solver.java:2624
Constraint makeElementEquality(int[] vals, IntVar index, IntVar target)
Definition: Solver.java:1319
LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit, LocalSearchFilter[] filters)
Definition: Solver.java:2928
Constraint makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, int[] x_size, int[] y_size)
Definition: Solver.java:1784
static final int NO_CHANGE
The Solver is responsible for creating the search tree.
Definition: Solver.java:3629
boolean UseFastLocalSearch()
Returns true if fast local search is enabled.
Definition: Solver.java:3085
Represents an operation upon three.
Definition: LongTernaryOperator.java:27
Demon makeDelayedConstraintInitialPropagateCallback(Constraint ct)
This method is a specialized case of the MakeConstraintDemon method to call the InitiatePropagate of ...
Definition: Solver.java:1361
boolean solveAndCommit(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3)
Definition: Solver.java:375
Constraint makeCumulative(IntervalVar[] intervals, long[] demands, IntVar capacity, String name)
This constraint forces that, for any integer t, the sum of the demands corresponding to an interval c...
Definition: Solver.java:1968
Constraint makeEquality(IntervalVar var1, IntervalVar var2)
This constraints states that the two interval variables are equal.
Definition: Solver.java:2008
IntVar makeIsGreaterOrEqualCstVar(IntExpr var, long value)
status var of (var >= value)
Definition: Solver.java:1084
static final int GE
This enum is used in Solver::MakeLocalSearchObjectiveFilter.
Definition: Solver.java:3513
Constraint makeCumulative(IntervalVar[] intervals, long[] demands, long capacity, String name)
This constraint forces that, for any integer t, the sum of the demands corresponding to an interval c...
Definition: Solver.java:1952
static final int INT_VALUE_DEFAULT
This enum describes the strategy used to select the next variable value to set.
Definition: Solver.java:3341
IntExpr makeElement(LongUnaryOperator values, IntVar index)
Function-based element.
Definition: Solver.java:735
FailException()
Definition: Solver.java:89
boolean solve(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3)
Definition: Solver.java:309
com.google.ortools.constraintsolver.ConstraintSolverParameters parameters()
Stored Parameters.
Definition: Solver.java:247
Constraint makeScalProdEquality(IntVar[] vars, int[] coefficients, long cst)
Definition: Solver.java:1269
RegularLimit makeSolutionsLimit(long solutions)
Creates a search limit that constrains the number of solutions found during the search.
Definition: Solver.java:2258
IntervalVar makeIntervalRelaxedMin(IntervalVar interval_var)
Creates and returns an interval variable that wraps around the given one, relaxing the min start and ...
Definition: Solver.java:1880
DecisionBuilder makePhase(IntVar v0, IntVar v1, IntVar v2, int var_str, int val_str)
Definition: Solver.java:2603
static final int INT_VALUE_SIMPLE
The simple selection is ASSIGN_MIN_VALUE.
Definition: Solver.java:3345
Cast constraints are special channeling constraints designed to keep a variable in sync with an expre...
Definition: CastConstraint.java:14
OptimizeVar makeMinimize(IntVar v, long step)
Creates a minimization objective.
Definition: Solver.java:2109
Constraint makeMaxEquality(IntVar[] vars, IntVar max_var)
Definition: Solver.java:1309
static final int CHOICE_POINT
Definition: Solver.java:3654
OptimizeVar makeOptimize(boolean maximize, IntVar v, long step)
Creates a objective with a given sense (true = maximization).
Definition: Solver.java:2125
LocalSearchOperator makeRandomLnsOperator(IntVar[] vars, int number_of_variables, int seed)
Definition: Solver.java:2803
DecisionBuilder tryDecisions(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3)
Definition: Solver.java:2524
static final int CHOOSE_MAX_REGRET_ON_MIN
Among unbound variables, select the variable with the largest gap between the first and the second va...
Definition: Solver.java:3327
Local Search Filters are used for fast neighbor pruning.
Definition: LocalSearchFilter.java:14
RegularLimit makeTimeLimit(long time_in_ms)
Creates a search limit that constrains the running time given in milliseconds.
Definition: Solver.java:2234
DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3)
Definition: Solver.java:2708
LocalSearchOperator concatenateOperators(LocalSearchOperator[] ops)
Creates a local search operator which concatenates a vector of operators.
Definition: Solver.java:2827
Constraint makeInversePermutationConstraint(IntVar[] left, IntVar[] right)
Creates a constraint that enforces that 'left' and 'right' both represent permutations of [0....
Definition: Solver.java:1607
Constraint makeCircuit(IntVar[] nexts)
Force the "nexts" variable to create a complete Hamiltonian path.
Definition: Solver.java:1668
static final int STAYS_IN_SYNC
STARTS_AT_START and ENDS_AT_END at the same time.
Definition: Solver.java:3581
static final int LK
This enum is used in Solver::MakeOperator associated with an evaluator to specify the neighborhood to...
Definition: Solver.java:3495
LocalSearchOperator makeNeighborhoodLimit(LocalSearchOperator op, long limit)
Creates a local search operator that wraps another local search operator and limits the number of nei...
Definition: Solver.java:2861
SearchMonitor makeTabuSearch(boolean maximize, IntVar v, long step, IntVar[] vars, long keep_tenure, long forbid_tenure, double tabu_factor)
MetaHeuristics which try to get the search out of local optima.
Definition: Solver.java:2181
DecisionBuilder compose(DecisionBuilder[] dbs)
Definition: Solver.java:2511
IntVar makeIsMemberVar(IntExpr expr, long[] values)
Definition: Solver.java:1458
SolutionCollector makeFirstSolutionCollector()
Collect the first solution of the search.
Definition: Solver.java:2040
DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2)
Definition: Solver.java:2736
IntVar makeIntVar(long min, long max)
MakeIntVar will create the best range based int var for the bounds given.
Definition: Solver.java:543
IntVar makeIsGreaterOrEqualVar(IntExpr left, IntExpr right)
status var of (left >= right)
Definition: Solver.java:1092
void restartCurrentSearch()
Definition: Solver.java:3252
Constraint makeSumGreaterOrEqual(IntVar[] vars, long cst)
Definition: Solver.java:1249
Decision makeScheduleOrPostpone(IntervalVar var, long est, long[] marker)
Returns a decision that tries to schedule a task at a given time.
Definition: Solver.java:2616
static final int PROBLEM_INFEASIBLE
After search, the model is infeasible.
Definition: Solver.java:3685
Constraint makeTemporalDisjunction(IntervalVar t1, IntervalVar t2)
This constraint implements a temporal disjunction between two interval vars.
Definition: Solver.java:1928
Constraint makeNonOverlappingBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, int[] x_size, int[] y_size)
Definition: Solver.java:1766
Constraint makeFalseConstraint(String explanation)
Definition: Solver.java:900
static final int SENTINEL
This enum is used internally in private methods Solver::PushState and Solver::PopState to tag states ...
Definition: Solver.java:3652
static final int NORMAL_PRIORITY
NORMAL_PRIORITY is the highest priority: Demons will be processed first.
Definition: Solver.java:3539
boolean solve(DecisionBuilder db, SearchMonitor m1)
Definition: Solver.java:301
DecisionBuilder makePhase(IntVar[] vars, int var_str, int val_str)
Phases on IntVar arrays.
Definition: Solver.java:2542
long unchecked_solutions()
The number of unchecked solutions found by local search.
Definition: Solver.java:452
Demon registerDemon(Demon demon)
Adds a new demon and wraps it inside a DemonProfiler if necessary.
Definition: Solver.java:3099
static final int MINIMIZATION
Definition: Solver.java:3694
static final int CHOOSE_HIGHEST_MAX
Among unbound variables, select the variable with the highest maximal value.
Definition: Solver.java:3315
Constraint makeElementEquality(IntVar[] vars, IntVar index, long target)
Definition: Solver.java:1329
IntVar makeIsLessCstVar(IntExpr var, long value)
status var of (var < value)
Definition: Solver.java:1196
SearchMonitor makeExitSearchCallback(Runnable callback)
Definition: Solver.java:2391
Constraint makeCount(IntVar[] vars, long value, long max_count)
|{i | vars[i] == value}| == max_count
Definition: Solver.java:1471
DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2)
Definition: Solver.java:2703
IntVar registerIntVar(IntVar var)
Registers a new IntVar and wraps it inside a TraceIntVar if necessary.
Definition: Solver.java:3115
boolean solve(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3, SearchMonitor m4)
Definition: Solver.java:313
static final int DELAYED_PRIORITY
This enum represents the three possible priorities for a demon in the Solver queue.
Definition: Solver.java:3531
SolutionCollector makeNBestValueSolutionCollector(Assignment assignment, int solution_count, boolean maximize)
Same as MakeBestValueSolutionCollector but collects the best solution_count solutions.
Definition: Solver.java:2080
Pack makePack(IntVar[] vars, int number_of_bins)
This constraint packs all variables onto 'number_of_bins' variables.
Definition: Solver.java:1792
Constraint makeDistribute(IntVar[] vars, long[] values, IntVar[] cards)
Aggregated version of count: |{i | v[i] == values[j]}| == cards[j].
Definition: Solver.java:1487
boolean checkConstraint(Constraint ct)
Checks whether adding this constraint will lead to an immediate failure.
Definition: Solver.java:389
Interval variables are often used in scheduling.
Constraint makeMapDomain(IntVar var, IntVar[] actives)
This constraint maps the domain of 'var' onto the array of variables 'actives'.
Definition: Solver.java:1724
Holds semantic information stating that the 'expression' has been cast into 'variable' using the Var(...
Definition: Solver.java:168
void pushState()
The PushState and PopState methods manipulates the states of the reversible objects.
Definition: Solver.java:2978
IntExpr makeSemiContinuousExpr(IntExpr expr, long fixed_charge, long step)
Semi continuous Expression (x <= 0 -> f(x) = 0; x > 0 -> f(x) = ax + b) a >= 0 and b >= 0.
Definition: Solver.java:855
void setVariable(IntVar value)
Definition: Solver.java:204
DecisionBuilder makeSolveOnce(DecisionBuilder db)
SolveOnce will collapse a search tree described by a decision builder 'db' and a set of monitors and ...
Definition: Solver.java:2693
IntVar makeIsEqualCstVar(IntExpr var, long value)
status var of (var == value)
Definition: Solver.java:916
void newSearch(DecisionBuilder db)
Definition: Solver.java:324
static final int EXTENDEDSWAPACTIVE
Operator which makes an inactive node active and an active one inactive.
Definition: Solver.java:3461
static final int ASSIGN_RANDOM_VALUE
Selects randomly one of the possible values of the selected variable.
Definition: Solver.java:3357
static final int ENDS_AFTER
This enum is used in Solver::MakeIntervalVarRelation to specify the temporal relation between an inte...
Definition: Solver.java:3591
Constraint makeAbsEquality(IntVar var, IntVar abs_var)
Creates the constraint abs(var) == abs_var.
Definition: Solver.java:1337
Decision makeRankLastInterval(SequenceVar sequence, int index)
Returns a decision that tries to rank last the ith interval var in the sequence variable.
Definition: Solver.java:2640
IntVar makeIsBetweenVar(IntExpr v, long l, long u)
Definition: Solver.java:1398
static final int CHOOSE_DYNAMIC_GLOBAL_BEST
Pairs are compared each time a variable is selected.
Definition: Solver.java:3383
static final int EXCHANGE
Operator which exchanges the positions of two nodes.
Definition: Solver.java:3437
static final int CHOOSE_MIN_SIZE_LOWEST_MAX
Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...
Definition: Solver.java:3303
static final int CHOOSE_MAX_SIZE
Among unbound variables, select the variable with the highest size.
Definition: Solver.java:3323
Assignment makeAssignment(Assignment a)
This method creates an assignment which is a copy of 'a'.
Definition: Solver.java:2024
Constraint makeLexicalLess(IntVar[] left, IntVar[] right)
std::vector<IntVar*>* const sorted); Creates a constraint that enforces that left is lexicographicall...
Definition: Solver.java:1591
Constraint makeLexicalLessOrEqual(IntVar[] left, IntVar[] right)
Creates a constraint that enforces that left is lexicographically less than or equal to right.
Definition: Solver.java:1599
void addPropagationMonitor(PropagationMonitor monitor)
Adds the propagation monitor to the solver.
Definition: Solver.java:3189
SolutionCollector makeFirstSolutionCollector(Assignment assignment)
Collect the first solution of the search.
Definition: Solver.java:2032
IntVar makeIsLessOrEqualCstVar(IntExpr var, long value)
status var of (var <= value)
Definition: Solver.java:1028
IntExpr makeElement(LongBinaryOperator values, IntVar index1, IntVar index2)
2D version of function-based element expression, values(expr1, expr2).
Definition: Solver.java:751
LocalSearchOperator makeOperator(IntVar[] vars, IntVar[] secondary_vars, int op)
Definition: Solver.java:2780
SolutionCollector makeLastSolutionCollector(Assignment assignment)
Collect the last solution of the search.
Definition: Solver.java:2048
Solver Class A solver represents the main computation engine.
Definition: Solver.java:57
IntVar makeIntVar(long min, long max, String name)
MakeIntVar will create the best range based int var for the bounds given.
Definition: Solver.java:519
SearchMonitor makeGuidedLocalSearch(boolean maximize, IntVar objective, LongTernaryOperator objective_function, long step, IntVar[] vars, IntVar[] secondary_vars, double penalty_factor)
Definition: Solver.java:2210
Base class of all search limits.
Definition: SearchLimit.java:14
SearchMonitor makeSearchLog(int branch_period, IntVar var)
At each solution, this monitor also display the var value.
Definition: Solver.java:2338
IntVar makeBoolVar()
MakeBoolVar will create a variable with a {0, 1} domain.
Definition: Solver.java:575
int topProgressPercent()
Returns a percentage representing the propress of the search before reaching the limits of the top-le...
Definition: Solver.java:2971
boolean solve(DecisionBuilder db, SearchMonitor[] monitors)
Solves the problem using the given DecisionBuilder and returns true if a solution was found and accep...
Definition: Solver.java:293
boolean isProfilingEnabled()
Returns whether we are profiling the solver.
Definition: Solver.java:3146
IntVar makeIntVar(int[] values)
MakeIntVar will create a variable with the given sparse domain.
Definition: Solver.java:559
long demon_runs(int p)
The number of demons executed during search for a given priority.
Definition: Solver.java:459
static final int MAXIMIZATION
Definition: Solver.java:3693
Constraint makeNonOverlappingBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, IntVar[] x_size, IntVar[] y_size)
This constraint states that all the boxes must not overlap.
Definition: Solver.java:1756