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);
593 long cPtr = mainJNI.Solver_makeSum__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
633 long cPtr = mainJNI.Solver_makeDifference__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
641 long cPtr = mainJNI.Solver_makeDifference__SWIG_1(swigCPtr, this, value, IntExpr.getCPtr(expr), expr);
657 long cPtr = mainJNI.Solver_makeProd__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
665 long cPtr = mainJNI.Solver_makeProd__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
681 long cPtr = mainJNI.Solver_makeDiv__SWIG_1(swigCPtr, this, IntExpr.getCPtr(numerator), numerator, IntExpr.getCPtr(denominator), denominator);
713 long cPtr = mainJNI.Solver_makeElement__SWIG_0(swigCPtr, this, values, IntVar.getCPtr(index), index);
721 long cPtr = mainJNI.Solver_makeElement__SWIG_1(swigCPtr, this, values, IntVar.getCPtr(index), index);
729 long cPtr = mainJNI.Solver_makeElement__SWIG_2(swigCPtr, this, values, IntVar.getCPtr(index), index);
736 public IntExpr makeMonotonicElement(LongUnaryOperator values, boolean increasing, IntVar index) {
737 long cPtr = mainJNI.Solver_makeMonotonicElement(swigCPtr, this, values, increasing, IntVar.getCPtr(index), index);
745 long cPtr = mainJNI.Solver_makeElement__SWIG_3(swigCPtr, this, values, IntVar.getCPtr(index1), index1, IntVar.getCPtr(index2), index2);
753 long cPtr = mainJNI.Solver_makeElement__SWIG_4(swigCPtr, this, vars, IntVar.getCPtr(index), index);
768 public Constraint makeIfThenElseCt(IntVar condition, IntExpr then_expr, IntExpr else_expr, IntVar target_var) {
769 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);
785 long cPtr = mainJNI.Solver_makeMin__SWIG_1(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
817 long cPtr = mainJNI.Solver_makeMax__SWIG_1(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
840 public IntExpr makeConvexPiecewiseExpr(IntExpr expr, long early_cost, long early_date, long late_date, long late_cost) {
841 long cPtr = mainJNI.Solver_makeConvexPiecewiseExpr(swigCPtr, this, IntExpr.getCPtr(expr), expr, early_cost, early_date, late_date, late_cost);
849 long cPtr = mainJNI.Solver_makeSemiContinuousExpr(swigCPtr, this, IntExpr.getCPtr(expr), expr, fixed_charge, step);
865 long cPtr = mainJNI.Solver_makeModulo__SWIG_1(swigCPtr, this, IntExpr.getCPtr(x), x, IntExpr.getCPtr(mod), mod);
872 public IntExpr makeConditionalExpression(IntVar condition, IntExpr expr, long unperformed_value) {
873 long cPtr = mainJNI.Solver_makeConditionalExpression(swigCPtr, this, IntVar.getCPtr(condition), condition, IntExpr.getCPtr(expr), expr, unperformed_value);
902 long cPtr = mainJNI.Solver_makeIsEqualCstCt(swigCPtr, this, IntExpr.getCPtr(var), var, value, IntVar.getCPtr(boolvar), boolvar);
918 long cPtr = mainJNI.Solver_makeIsEqualVar__SWIG_0(swigCPtr, this, IntExpr.getCPtr(v1), v1, IntExpr.getCPtr(v2), v2, IntVar.getCPtr(b), b);
926 long cPtr = mainJNI.Solver_makeIsEqualVar__SWIG_1(swigCPtr, this, IntExpr.getCPtr(v1), v1, IntExpr.getCPtr(v2), v2);
934 long cPtr = mainJNI.Solver_makeEquality__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
942 long cPtr = mainJNI.Solver_makeEquality__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
950 long cPtr = mainJNI.Solver_makeEquality__SWIG_2(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
958 long cPtr = mainJNI.Solver_makeIsDifferentCstCt__SWIG_0(swigCPtr, this, IntExpr.getCPtr(var), var, value, IntVar.getCPtr(boolvar), boolvar);
966 long cPtr = mainJNI.Solver_makeIsDifferentCstVar__SWIG_0(swigCPtr, this, IntExpr.getCPtr(var), var, value);
974 long cPtr = mainJNI.Solver_makeIsDifferentCstVar__SWIG_1(swigCPtr, this, IntExpr.getCPtr(v1), v1, IntExpr.getCPtr(v2), v2);
982 long cPtr = mainJNI.Solver_makeIsDifferentCstCt__SWIG_1(swigCPtr, this, IntExpr.getCPtr(v1), v1, IntExpr.getCPtr(v2), v2, IntVar.getCPtr(b), b);
990 long cPtr = mainJNI.Solver_makeNonEquality__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
998 long cPtr = mainJNI.Solver_makeNonEquality__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1006 long cPtr = mainJNI.Solver_makeNonEquality__SWIG_2(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1014 long cPtr = mainJNI.Solver_makeIsLessOrEqualCstCt(swigCPtr, this, IntExpr.getCPtr(var), var, value, IntVar.getCPtr(boolvar), boolvar);
1022 long cPtr = mainJNI.Solver_makeIsLessOrEqualCstVar(swigCPtr, this, IntExpr.getCPtr(var), var, value);
1030 long cPtr = mainJNI.Solver_makeIsLessOrEqualVar(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1038 long cPtr = mainJNI.Solver_makeIsLessOrEqualCt(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right, IntVar.getCPtr(b), b);
1046 long cPtr = mainJNI.Solver_makeLessOrEqual__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1054 long cPtr = mainJNI.Solver_makeLessOrEqual__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1062 long cPtr = mainJNI.Solver_makeLessOrEqual__SWIG_2(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1070 long cPtr = mainJNI.Solver_makeIsGreaterOrEqualCstCt(swigCPtr, this, IntExpr.getCPtr(var), var, value, IntVar.getCPtr(boolvar), boolvar);
1078 long cPtr = mainJNI.Solver_makeIsGreaterOrEqualCstVar(swigCPtr, this, IntExpr.getCPtr(var), var, value);
1086 long cPtr = mainJNI.Solver_makeIsGreaterOrEqualVar(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1094 long cPtr = mainJNI.Solver_makeIsGreaterOrEqualCt(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right, IntVar.getCPtr(b), b);
1102 long cPtr = mainJNI.Solver_makeGreaterOrEqual__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1110 long cPtr = mainJNI.Solver_makeGreaterOrEqual__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1118 long cPtr = mainJNI.Solver_makeGreaterOrEqual__SWIG_2(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1126 long cPtr = mainJNI.Solver_makeIsGreaterCstCt(swigCPtr, this, IntExpr.getCPtr(v), v, c, IntVar.getCPtr(b), b);
1134 long cPtr = mainJNI.Solver_makeIsGreaterCstVar(swigCPtr, this, IntExpr.getCPtr(var), var, value);
1142 long cPtr = mainJNI.Solver_makeIsGreaterVar(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1150 long cPtr = mainJNI.Solver_makeIsGreaterCt(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right, IntVar.getCPtr(b), b);
1158 long cPtr = mainJNI.Solver_makeGreater__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1166 long cPtr = mainJNI.Solver_makeGreater__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1174 long cPtr = mainJNI.Solver_makeGreater__SWIG_2(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1182 long cPtr = mainJNI.Solver_makeIsLessCstCt(swigCPtr, this, IntExpr.getCPtr(v), v, c, IntVar.getCPtr(b), b);
1198 long cPtr = mainJNI.Solver_makeIsLessVar(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1206 long cPtr = mainJNI.Solver_makeIsLessCt(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right, IntVar.getCPtr(b), b);
1214 long cPtr = mainJNI.Solver_makeLess__SWIG_0(swigCPtr, this, IntExpr.getCPtr(left), left, IntExpr.getCPtr(right), right);
1222 long cPtr = mainJNI.Solver_makeLess__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1230 long cPtr = mainJNI.Solver_makeLess__SWIG_2(swigCPtr, this, IntExpr.getCPtr(expr), expr, value);
1253 long cPtr = mainJNI.Solver_makeSumEquality__SWIG_1(swigCPtr, this, vars, IntVar.getCPtr(var), var);
1258 long cPtr = mainJNI.Solver_makeScalProdEquality__SWIG_0(swigCPtr, this, vars, coefficients, cst);
1263 long cPtr = mainJNI.Solver_makeScalProdEquality__SWIG_1(swigCPtr, this, vars, coefficients, cst);
1268 long cPtr = mainJNI.Solver_makeScalProdEquality__SWIG_2(swigCPtr, this, vars, coefficients, IntVar.getCPtr(target), target);
1273 long cPtr = mainJNI.Solver_makeScalProdEquality__SWIG_3(swigCPtr, this, vars, coefficients, IntVar.getCPtr(target), target);
1278 long cPtr = mainJNI.Solver_makeScalProdGreaterOrEqual__SWIG_0(swigCPtr, this, vars, coeffs, cst);
1283 long cPtr = mainJNI.Solver_makeScalProdGreaterOrEqual__SWIG_1(swigCPtr, this, vars, coeffs, cst);
1288 long cPtr = mainJNI.Solver_makeScalProdLessOrEqual__SWIG_0(swigCPtr, this, vars, coefficients, cst);
1293 long cPtr = mainJNI.Solver_makeScalProdLessOrEqual__SWIG_1(swigCPtr, this, vars, coefficients, cst);
1298 long cPtr = mainJNI.Solver_makeMinEquality(swigCPtr, this, vars, IntVar.getCPtr(min_var), min_var);
1303 long cPtr = mainJNI.Solver_makeMaxEquality(swigCPtr, this, vars, IntVar.getCPtr(max_var), max_var);
1308 long cPtr = mainJNI.Solver_makeElementEquality__SWIG_0(swigCPtr, this, vals, IntVar.getCPtr(index), index, IntVar.getCPtr(target), target);
1313 long cPtr = mainJNI.Solver_makeElementEquality__SWIG_1(swigCPtr, this, vals, IntVar.getCPtr(index), index, IntVar.getCPtr(target), target);
1318 long cPtr = mainJNI.Solver_makeElementEquality__SWIG_2(swigCPtr, this, vars, IntVar.getCPtr(index), index, IntVar.getCPtr(target), target);
1323 long cPtr = mainJNI.Solver_makeElementEquality__SWIG_3(swigCPtr, this, vars, IntVar.getCPtr(index), index, target);
1331 long cPtr = mainJNI.Solver_makeAbsEquality(swigCPtr, this, IntVar.getCPtr(var), var, IntVar.getCPtr(abs_var), abs_var);
1339 long cPtr = mainJNI.Solver_makeIndexOfConstraint(swigCPtr, this, vars, IntVar.getCPtr(index), index, target);
1347 long cPtr = mainJNI.Solver_makeConstraintInitialPropagateCallback(swigCPtr, this, Constraint.getCPtr(ct), ct);
1355 long cPtr = mainJNI.Solver_makeDelayedConstraintInitialPropagateCallback(swigCPtr, this, Constraint.getCPtr(ct), ct);
1379 long cPtr = mainJNI.Solver_makeNotBetweenCt(swigCPtr, this, IntExpr.getCPtr(expr), expr, l, u);
1387 long cPtr = mainJNI.Solver_makeIsBetweenCt(swigCPtr, this, IntExpr.getCPtr(expr), expr, l, u, IntVar.getCPtr(b), b);
1400 long cPtr = mainJNI.Solver_makeMemberCt__SWIG_0(swigCPtr, this, IntExpr.getCPtr(expr), expr, values);
1405 long cPtr = mainJNI.Solver_makeMemberCt__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, values);
1413 long cPtr = mainJNI.Solver_makeNotMemberCt__SWIG_0(swigCPtr, this, IntExpr.getCPtr(expr), expr, values);
1418 long cPtr = mainJNI.Solver_makeNotMemberCt__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, values);
1426 long cPtr = mainJNI.Solver_makeNotMemberCt__SWIG_2(swigCPtr, this, IntExpr.getCPtr(expr), expr, starts, ends);
1434 long cPtr = mainJNI.Solver_makeNotMemberCt__SWIG_3(swigCPtr, this, IntExpr.getCPtr(expr), expr, starts, ends);
1442 long cPtr = mainJNI.Solver_makeIsMemberCt__SWIG_0(swigCPtr, this, IntExpr.getCPtr(expr), expr, values, IntVar.getCPtr(boolvar), boolvar);
1447 long cPtr = mainJNI.Solver_makeIsMemberCt__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, values, IntVar.getCPtr(boolvar), boolvar);
1452 long cPtr = mainJNI.Solver_makeIsMemberVar__SWIG_0(swigCPtr, this, IntExpr.getCPtr(expr), expr, values);
1457 long cPtr = mainJNI.Solver_makeIsMemberVar__SWIG_1(swigCPtr, this, IntExpr.getCPtr(expr), expr, values);
1473 long cPtr = mainJNI.Solver_makeCount__SWIG_1(swigCPtr, this, vars, value, IntVar.getCPtr(max_count), max_count);
1504 public Constraint makeDistribute(IntVar[] vars, long card_min, long card_max, long card_size) {
1505 long cPtr = mainJNI.Solver_makeDistribute__SWIG_3(swigCPtr, this, vars, card_min, card_max, card_size);
1528 public Constraint makeDistribute(IntVar[] vars, long[] values, long[] card_min, long[] card_max) {
1529 long cPtr = mainJNI.Solver_makeDistribute__SWIG_6(swigCPtr, this, vars, values, card_min, card_max);
1536 public Constraint makeDistribute(IntVar[] vars, int[] values, int[] card_min, int[] card_max) {
1537 long cPtr = mainJNI.Solver_makeDistribute__SWIG_7(swigCPtr, this, vars, values, card_min, card_max);
1545 long cPtr = mainJNI.Solver_makeDeviation(swigCPtr, this, vars, IntVar.getCPtr(deviation_var), deviation_var, total_sum);
1561 long cPtr = mainJNI.Solver_makeAllDifferent__SWIG_1(swigCPtr, this, vars, stronger_propagation);
1609 long cPtr = mainJNI.Solver_makeIndexOfFirstMaxValueConstraint(swigCPtr, this, IntVar.getCPtr(index), index, vars);
1617 long cPtr = mainJNI.Solver_makeIndexOfFirstMinValueConstraint(swigCPtr, this, IntVar.getCPtr(index), index, vars);
1632 public Constraint makeNullIntersectExcept(IntVar[] first_vars, IntVar[] second_vars, long escape_value) {
1633 long cPtr = mainJNI.Solver_makeNullIntersectExcept(swigCPtr, this, first_vars, second_vars, escape_value);
1653 public Constraint makeNoCycle(IntVar[] nexts, IntVar[] active, LongPredicate sink_handler, boolean assume_paths) {
1654 long cPtr = mainJNI.Solver_makeNoCycle__SWIG_2(swigCPtr, this, nexts, active, sink_handler, assume_paths);
1677 public Constraint makePathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, IntVar[] transits) {
1678 long cPtr = mainJNI.Solver_makePathCumul__SWIG_0(swigCPtr, this, nexts, active, cumuls, transits);
1685 public Constraint makeDelayedPathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, IntVar[] transits) {
1686 long cPtr = mainJNI.Solver_makeDelayedPathCumul(swigCPtr, this, nexts, active, cumuls, transits);
1693 public Constraint makePathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, LongBinaryOperator transit_evaluator) {
1694 long cPtr = mainJNI.Solver_makePathCumul__SWIG_1(swigCPtr, this, nexts, active, cumuls, transit_evaluator);
1701 public Constraint makePathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, IntVar[] slacks, LongBinaryOperator transit_evaluator) {
1702 long cPtr = mainJNI.Solver_makePathCumul__SWIG_2(swigCPtr, this, nexts, active, cumuls, slacks, transit_evaluator);
1709 public Constraint makePathConnected(IntVar[] nexts, long[] sources, long[] sinks, IntVar[] status) {
1726 long cPtr = mainJNI.Solver_makeAllowedAssignment(swigCPtr, this, vars, IntTupleSet.getCPtr(tuples), tuples);
1733 public Constraint makeTransitionConstraint(IntVar[] vars, IntTupleSet transition_table, long initial_state, long[] final_states) {
1734 long cPtr = mainJNI.Solver_makeTransitionConstraint__SWIG_0(swigCPtr, this, vars, IntTupleSet.getCPtr(transition_table), transition_table, initial_state, final_states);
1741 public Constraint makeTransitionConstraint(IntVar[] vars, IntTupleSet transition_table, long initial_state, int[] final_states) {
1742 long cPtr = mainJNI.Solver_makeTransitionConstraint__SWIG_1(swigCPtr, this, vars, IntTupleSet.getCPtr(transition_table), transition_table, initial_state, final_states);
1749 public Constraint makeNonOverlappingBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, IntVar[] x_size, IntVar[] y_size) {
1750 long cPtr = mainJNI.Solver_makeNonOverlappingBoxesConstraint__SWIG_0(swigCPtr, this, x_vars, y_vars, x_size, y_size);
1754 public Constraint makeNonOverlappingBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, long[] x_size, long[] y_size) {
1755 long cPtr = mainJNI.Solver_makeNonOverlappingBoxesConstraint__SWIG_1(swigCPtr, this, x_vars, y_vars, x_size, y_size);
1759 public Constraint makeNonOverlappingBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, int[] x_size, int[] y_size) {
1760 long cPtr = mainJNI.Solver_makeNonOverlappingBoxesConstraint__SWIG_2(swigCPtr, this, x_vars, y_vars, x_size, y_size);
1767 public Constraint makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, IntVar[] x_size, IntVar[] y_size) {
1768 long cPtr = mainJNI.Solver_makeNonOverlappingNonStrictBoxesConstraint__SWIG_0(swigCPtr, this, x_vars, y_vars, x_size, y_size);
1772 public Constraint makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, long[] x_size, long[] y_size) {
1773 long cPtr = mainJNI.Solver_makeNonOverlappingNonStrictBoxesConstraint__SWIG_1(swigCPtr, this, x_vars, y_vars, x_size, y_size);
1777 public Constraint makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, int[] x_size, int[] y_size) {
1778 long cPtr = mainJNI.Solver_makeNonOverlappingNonStrictBoxesConstraint__SWIG_2(swigCPtr, this, x_vars, y_vars, x_size, y_size);
1793 public IntervalVar makeFixedDurationIntervalVar(long start_min, long start_max, long duration, boolean optional, String name) {
1794 long cPtr = mainJNI.Solver_makeFixedDurationIntervalVar__SWIG_0(swigCPtr, this, start_min, start_max, duration, optional, name);
1801 public IntervalVar makeFixedDurationIntervalVar(IntVar start_variable, long duration, String name) {
1802 long cPtr = mainJNI.Solver_makeFixedDurationIntervalVar__SWIG_1(swigCPtr, this, IntVar.getCPtr(start_variable), start_variable, duration, name);
1809 public IntervalVar makeFixedDurationIntervalVar(IntVar start_variable, long duration, IntVar performed_variable, String name) {
1810 long cPtr = mainJNI.Solver_makeFixedDurationIntervalVar__SWIG_2(swigCPtr, this, IntVar.getCPtr(start_variable), start_variable, duration, IntVar.getCPtr(performed_variable), performed_variable, name);
1825 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) {
1826 long cPtr = mainJNI.Solver_makeIntervalVar(swigCPtr, this, start_min, start_max, duration_min, duration_max, end_min, end_max, optional, name);
1834 long cPtr = mainJNI.Solver_makeMirrorInterval(swigCPtr, this, IntervalVar.getCPtr(interval_var), interval_var);
1841 public IntervalVar makeFixedDurationStartSyncedOnStartIntervalVar(IntervalVar interval_var, long duration, long offset) {
1842 long cPtr = mainJNI.Solver_makeFixedDurationStartSyncedOnStartIntervalVar(swigCPtr, this, IntervalVar.getCPtr(interval_var), interval_var, duration, offset);
1849 public IntervalVar makeFixedDurationStartSyncedOnEndIntervalVar(IntervalVar interval_var, long duration, long offset) {
1850 long cPtr = mainJNI.Solver_makeFixedDurationStartSyncedOnEndIntervalVar(swigCPtr, this, IntervalVar.getCPtr(interval_var), interval_var, duration, offset);
1857 public IntervalVar makeFixedDurationEndSyncedOnStartIntervalVar(IntervalVar interval_var, long duration, long offset) {
1858 long cPtr = mainJNI.Solver_makeFixedDurationEndSyncedOnStartIntervalVar(swigCPtr, this, IntervalVar.getCPtr(interval_var), interval_var, duration, offset);
1865 public IntervalVar makeFixedDurationEndSyncedOnEndIntervalVar(IntervalVar interval_var, long duration, long offset) {
1866 long cPtr = mainJNI.Solver_makeFixedDurationEndSyncedOnEndIntervalVar(swigCPtr, this, IntervalVar.getCPtr(interval_var), interval_var, duration, offset);
1874 long cPtr = mainJNI.Solver_makeIntervalRelaxedMin(swigCPtr, this, IntervalVar.getCPtr(interval_var), interval_var);
1882 long cPtr = mainJNI.Solver_makeIntervalRelaxedMax(swigCPtr, this, IntervalVar.getCPtr(interval_var), interval_var);
1890 long cPtr = mainJNI.Solver_makeIntervalVarRelation__SWIG_0(swigCPtr, this, IntervalVar.getCPtr(t), t, r, d);
1898 long cPtr = mainJNI.Solver_makeIntervalVarRelation__SWIG_1(swigCPtr, this, IntervalVar.getCPtr(t1), t1, r, IntervalVar.getCPtr(t2), t2);
1905 public Constraint makeIntervalVarRelationWithDelay(IntervalVar t1, int r, IntervalVar t2, long delay) {
1906 long cPtr = mainJNI.Solver_makeIntervalVarRelationWithDelay(swigCPtr, this, IntervalVar.getCPtr(t1), t1, r, IntervalVar.getCPtr(t2), t2, delay);
1914 long cPtr = mainJNI.Solver_makeTemporalDisjunction__SWIG_0(swigCPtr, this, IntervalVar.getCPtr(t1), t1, IntervalVar.getCPtr(t2), t2, IntVar.getCPtr(alt), alt);
1922 long cPtr = mainJNI.Solver_makeTemporalDisjunction__SWIG_1(swigCPtr, this, IntervalVar.getCPtr(t1), t1, IntervalVar.getCPtr(t2), t2);
1937 public DisjunctiveConstraint makeStrictDisjunctiveConstraint(IntervalVar[] intervals, String name) {
1945 public Constraint makeCumulative(IntervalVar[] intervals, long[] demands, long capacity, String name) {
1946 long cPtr = mainJNI.Solver_makeCumulative__SWIG_0(swigCPtr, this, intervals, demands, capacity, name);
1953 public Constraint makeCumulative(IntervalVar[] intervals, int[] demands, long capacity, String name) {
1954 long cPtr = mainJNI.Solver_makeCumulative__SWIG_1(swigCPtr, this, intervals, demands, capacity, name);
1961 public Constraint makeCumulative(IntervalVar[] intervals, long[] demands, IntVar capacity, String name) {
1962 long cPtr = mainJNI.Solver_makeCumulative__SWIG_2(swigCPtr, this, intervals, demands, IntVar.getCPtr(capacity), capacity, name);
1969 public Constraint makeCumulative(IntervalVar[] intervals, int[] demands, IntVar capacity, String name) {
1970 long cPtr = mainJNI.Solver_makeCumulative__SWIG_3(swigCPtr, this, intervals, demands, IntVar.getCPtr(capacity), capacity, name);
1977 public Constraint makeCumulative(IntervalVar[] intervals, IntVar[] demands, long capacity, String name) {
1978 long cPtr = mainJNI.Solver_makeCumulative__SWIG_4(swigCPtr, this, intervals, demands, capacity, name);
1985 public Constraint makeCumulative(IntervalVar[] intervals, IntVar[] demands, IntVar capacity, String name) {
1986 long cPtr = mainJNI.Solver_makeCumulative__SWIG_5(swigCPtr, this, intervals, demands, IntVar.getCPtr(capacity), capacity, name);
1994 long cPtr = mainJNI.Solver_makeCover(swigCPtr, this, vars, IntervalVar.getCPtr(target_var), target_var);
2002 long cPtr = mainJNI.Solver_makeEquality__SWIG_3(swigCPtr, this, IntervalVar.getCPtr(var1), var1, IntervalVar.getCPtr(var2), var2);
2026 long cPtr = mainJNI.Solver_makeFirstSolutionCollector__SWIG_0(swigCPtr, this, Assignment.getCPtr(assignment), assignment);
2042 long cPtr = mainJNI.Solver_makeLastSolutionCollector__SWIG_0(swigCPtr, this, Assignment.getCPtr(assignment), assignment);
2057 public SolutionCollector makeBestValueSolutionCollector(Assignment assignment, boolean maximize) {
2058 long cPtr = mainJNI.Solver_makeBestValueSolutionCollector__SWIG_0(swigCPtr, this, Assignment.getCPtr(assignment), assignment, maximize);
2073 public SolutionCollector makeNBestValueSolutionCollector(Assignment assignment, int solution_count, boolean maximize) {
2074 long cPtr = mainJNI.Solver_makeNBestValueSolutionCollector__SWIG_0(swigCPtr, this, Assignment.getCPtr(assignment), assignment, solution_count, maximize);
2078 public SolutionCollector makeNBestValueSolutionCollector(int solution_count, boolean maximize) {
2079 long cPtr = mainJNI.Solver_makeNBestValueSolutionCollector__SWIG_1(swigCPtr, this, solution_count, maximize);
2087 long cPtr = mainJNI.Solver_makeAllSolutionCollector__SWIG_0(swigCPtr, this, Assignment.getCPtr(assignment), assignment);
2127 long cPtr = mainJNI.Solver_makeWeightedMinimize__SWIG_0(swigCPtr, this, sub_objectives, weights, step);
2135 long cPtr = mainJNI.Solver_makeWeightedMinimize__SWIG_1(swigCPtr, this, sub_objectives, weights, step);
2143 long cPtr = mainJNI.Solver_makeWeightedMaximize__SWIG_0(swigCPtr, this, sub_objectives, weights, step);
2151 long cPtr = mainJNI.Solver_makeWeightedMaximize__SWIG_1(swigCPtr, this, sub_objectives, weights, step);
2158 public OptimizeVar makeWeightedOptimize(boolean maximize, IntVar[] sub_objectives, long[] weights, long step) {
2159 long cPtr = mainJNI.Solver_makeWeightedOptimize__SWIG_0(swigCPtr, this, maximize, sub_objectives, weights, step);
2166 public OptimizeVar makeWeightedOptimize(boolean maximize, IntVar[] sub_objectives, int[] weights, long step) {
2167 long cPtr = mainJNI.Solver_makeWeightedOptimize__SWIG_1(swigCPtr, this, maximize, sub_objectives, weights, step);
2174 public SearchMonitor makeTabuSearch(boolean maximize, IntVar v, long step, IntVar[] vars, long keep_tenure, long forbid_tenure, double tabu_factor) {
2175 long cPtr = mainJNI.Solver_makeTabuSearch(swigCPtr, this, maximize, IntVar.getCPtr(v), v, step, vars, keep_tenure, forbid_tenure, tabu_factor);
2182 public SearchMonitor makeGenericTabuSearch(boolean maximize, IntVar v, long step, IntVar[] tabu_vars, long forbid_tenure) {
2183 long cPtr = mainJNI.Solver_makeGenericTabuSearch(swigCPtr, this, maximize, IntVar.getCPtr(v), v, step, tabu_vars, forbid_tenure);
2190 public SearchMonitor makeSimulatedAnnealing(boolean maximize, IntVar v, long step, long initial_temperature) {
2191 long cPtr = mainJNI.Solver_makeSimulatedAnnealing(swigCPtr, this, maximize, IntVar.getCPtr(v), v, step, initial_temperature);
2198 public SearchMonitor makeGuidedLocalSearch(boolean maximize, IntVar objective, LongBinaryOperator objective_function, long step, IntVar[] vars, double penalty_factor) {
2199 long cPtr = mainJNI.Solver_makeGuidedLocalSearch__SWIG_0(swigCPtr, this, maximize, IntVar.getCPtr(objective), objective, objective_function, step, vars, penalty_factor);
2203 public SearchMonitor makeGuidedLocalSearch(boolean maximize, IntVar objective, LongTernaryOperator objective_function, long step, IntVar[] vars, IntVar[] secondary_vars, double penalty_factor) {
2204 long cPtr = mainJNI.Solver_makeGuidedLocalSearch__SWIG_1(swigCPtr, this, maximize, IntVar.getCPtr(objective), objective, objective_function, step, vars, secondary_vars, penalty_factor);
2260 long cPtr = mainJNI.Solver_makeLimit__SWIG_0(swigCPtr, this, time, branches, failures, solutions);
2267 public RegularLimit makeLimit(long time, long branches, long failures, long solutions, boolean smart_time_check) {
2268 long cPtr = mainJNI.Solver_makeLimit__SWIG_1(swigCPtr, this, time, branches, failures, solutions, smart_time_check);
2275 public RegularLimit makeLimit(long time, long branches, long failures, long solutions, boolean smart_time_check, boolean cumulative) {
2276 long cPtr = mainJNI.Solver_makeLimit__SWIG_2(swigCPtr, this, time, branches, failures, solutions, smart_time_check, cumulative);
2283 public RegularLimit makeLimit(com.google.ortools.constraintsolver.RegularLimitParameters proto) {
2291 public com.google.ortools.constraintsolver.RegularLimitParameters makeDefaultRegularLimitParameters() {
2300 "Unable to parse com.google.ortools.constraintsolver.RegularLimitParameters protocol message.");
2308 long cPtr = mainJNI.Solver_makeLimit__SWIG_4(swigCPtr, this, SearchLimit.getCPtr(limit_1), limit_1, SearchLimit.getCPtr(limit_2), limit_2);
2332 long cPtr = mainJNI.Solver_makeSearchLog__SWIG_1(swigCPtr, this, branch_period, IntVar.getCPtr(var), var);
2340 long cPtr = mainJNI.Solver_makeSearchLog__SWIG_2(swigCPtr, this, branch_period, display_callback);
2347 public SearchMonitor makeSearchLog(int branch_period, IntVar var, Supplier<String> display_callback) {
2348 long cPtr = mainJNI.Solver_makeSearchLog__SWIG_3(swigCPtr, this, branch_period, IntVar.getCPtr(var), var, display_callback);
2356 long cPtr = mainJNI.Solver_makeSearchLog__SWIG_4(swigCPtr, this, branch_period, OptimizeVar.getCPtr(opt_var), opt_var);
2363 public SearchMonitor makeSearchLog(int branch_period, OptimizeVar opt_var, Supplier<String> display_callback) {
2364 long cPtr = mainJNI.Solver_makeSearchLog__SWIG_5(swigCPtr, this, branch_period, OptimizeVar.getCPtr(opt_var), opt_var, display_callback);
2419 long cPtr = mainJNI.Solver_makeSymmetryManager__SWIG_1(swigCPtr, this, SymmetryBreaker.getCPtr(v1), v1);
2424 long cPtr = mainJNI.Solver_makeSymmetryManager__SWIG_2(swigCPtr, this, SymmetryBreaker.getCPtr(v1), v1, SymmetryBreaker.getCPtr(v2), v2);
2428 public SearchMonitor makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2, SymmetryBreaker v3) {
2429 long cPtr = mainJNI.Solver_makeSymmetryManager__SWIG_3(swigCPtr, this, SymmetryBreaker.getCPtr(v1), v1, SymmetryBreaker.getCPtr(v2), v2, SymmetryBreaker.getCPtr(v3), v3);
2433 public SearchMonitor makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2, SymmetryBreaker v3, SymmetryBreaker v4) {
2434 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);
2442 long cPtr = mainJNI.Solver_makeAssignVariableValue(swigCPtr, this, IntVar.getCPtr(var), var, val);
2447 long cPtr = mainJNI.Solver_makeVariableLessOrEqualValue(swigCPtr, this, IntVar.getCPtr(var), var, value);
2452 long cPtr = mainJNI.Solver_makeVariableGreaterOrEqualValue(swigCPtr, this, IntVar.getCPtr(var), var, value);
2457 long cPtr = mainJNI.Solver_makeSplitVariableDomain(swigCPtr, this, IntVar.getCPtr(var), var, val, start_with_lower_half);
2462 long cPtr = mainJNI.Solver_makeAssignVariableValueOrFail(swigCPtr, this, IntVar.getCPtr(var), var, value);
2467 long cPtr = mainJNI.Solver_MakeAssignVariableValueOrDoNothing(swigCPtr, this, IntVar.getCPtr(var), var, value);
2490 long cPtr = mainJNI.Solver_compose__SWIG_0(swigCPtr, this, DecisionBuilder.getCPtr(db1), db1, DecisionBuilder.getCPtr(db2), db2);
2494 public DecisionBuilder compose(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3) {
2495 long cPtr = mainJNI.Solver_compose__SWIG_1(swigCPtr, this, DecisionBuilder.getCPtr(db1), db1, DecisionBuilder.getCPtr(db2), db2, DecisionBuilder.getCPtr(db3), db3);
2499 public DecisionBuilder compose(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3, DecisionBuilder db4) {
2500 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);
2513 long cPtr = mainJNI.Solver_tryDecisions__SWIG_0(swigCPtr, this, DecisionBuilder.getCPtr(db1), db1, DecisionBuilder.getCPtr(db2), db2);
2517 public DecisionBuilder tryDecisions(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3) {
2518 long cPtr = mainJNI.Solver_tryDecisions__SWIG_1(swigCPtr, this, DecisionBuilder.getCPtr(db1), db1, DecisionBuilder.getCPtr(db2), db2, DecisionBuilder.getCPtr(db3), db3);
2522 public DecisionBuilder tryDecisions(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3, DecisionBuilder db4) {
2523 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);
2540 public DecisionBuilder makePhase(IntVar[] vars, LongUnaryOperator var_evaluator, int val_str) {
2545 public DecisionBuilder makePhase(IntVar[] vars, int var_str, LongBinaryOperator value_evaluator) {
2553 public DecisionBuilder makePhase(IntVar[] vars, int var_str, LongTernaryPredicate var_val1_val2_comparator) {
2554 long cPtr = mainJNI.Solver_makePhase__SWIG_3(swigCPtr, this, vars, var_str, var_val1_val2_comparator);
2558 public DecisionBuilder makePhase(IntVar[] vars, LongUnaryOperator var_evaluator, LongBinaryOperator value_evaluator) {
2559 long cPtr = mainJNI.Solver_makePhase__SWIG_4(swigCPtr, this, vars, var_evaluator, value_evaluator);
2563 public DecisionBuilder makePhase(IntVar[] vars, int var_str, LongBinaryOperator value_evaluator, LongUnaryOperator tie_breaker) {
2564 long cPtr = mainJNI.Solver_makePhase__SWIG_5(swigCPtr, this, vars, var_str, value_evaluator, tie_breaker);
2568 public DecisionBuilder makePhase(IntVar[] vars, LongUnaryOperator var_evaluator, LongBinaryOperator value_evaluator, LongUnaryOperator tie_breaker) {
2569 long cPtr = mainJNI.Solver_makePhase__SWIG_6(swigCPtr, this, vars, var_evaluator, value_evaluator, tie_breaker);
2579 long cPtr = mainJNI.Solver_makeDefaultPhase__SWIG_1(swigCPtr, this, vars, DefaultPhaseParameters.getCPtr(parameters), parameters);
2587 long cPtr = mainJNI.Solver_makePhase__SWIG_7(swigCPtr, this, IntVar.getCPtr(v0), v0, var_str, val_str);
2592 long cPtr = mainJNI.Solver_makePhase__SWIG_8(swigCPtr, this, IntVar.getCPtr(v0), v0, IntVar.getCPtr(v1), v1, var_str, val_str);
2597 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);
2601 public DecisionBuilder makePhase(IntVar v0, IntVar v1, IntVar v2, IntVar v3, int var_str, int val_str) {
2602 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);
2610 long cPtr = mainJNI.Solver_makeScheduleOrPostpone(swigCPtr, this, IntervalVar.getCPtr(var), var, est, marker);
2618 long cPtr = mainJNI.Solver_makeScheduleOrExpedite(swigCPtr, this, IntervalVar.getCPtr(var), var, est, marker);
2626 long cPtr = mainJNI.Solver_makeRankFirstInterval(swigCPtr, this, SequenceVar.getCPtr(sequence), sequence, index);
2634 long cPtr = mainJNI.Solver_makeRankLastInterval(swigCPtr, this, SequenceVar.getCPtr(sequence), sequence, index);
2649 public DecisionBuilder makePhase(IntVar[] vars, LongBinaryOperator eval, LongUnaryOperator tie_breaker, int str) {
2670 public DecisionBuilder makeDecisionBuilderFromAssignment(Assignment assignment, DecisionBuilder db, IntVar[] vars) {
2671 long cPtr = mainJNI.Solver_makeDecisionBuilderFromAssignment(swigCPtr, this, Assignment.getCPtr(assignment), assignment, DecisionBuilder.getCPtr(db), db, vars);
2687 long cPtr = mainJNI.Solver_makeSolveOnce__SWIG_0(swigCPtr, this, DecisionBuilder.getCPtr(db), db);
2692 long cPtr = mainJNI.Solver_makeSolveOnce__SWIG_1(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(monitor1), monitor1);
2696 public DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2) {
2697 long cPtr = mainJNI.Solver_makeSolveOnce__SWIG_2(swigCPtr, this, DecisionBuilder.getCPtr(db), db, SearchMonitor.getCPtr(monitor1), monitor1, SearchMonitor.getCPtr(monitor2), monitor2);
2701 public DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3) {
2702 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);
2706 public DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3, SearchMonitor monitor4) {
2707 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);
2712 long cPtr = mainJNI.Solver_makeSolveOnce__SWIG_5(swigCPtr, this, DecisionBuilder.getCPtr(db), db, monitors);
2719 public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step) {
2720 long cPtr = mainJNI.Solver_makeNestedOptimize__SWIG_0(swigCPtr, this, DecisionBuilder.getCPtr(db), db, Assignment.getCPtr(solution), solution, maximize, step);
2724 public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1) {
2725 long cPtr = mainJNI.Solver_makeNestedOptimize__SWIG_1(swigCPtr, this, DecisionBuilder.getCPtr(db), db, Assignment.getCPtr(solution), solution, maximize, step, SearchMonitor.getCPtr(monitor1), monitor1);
2729 public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2) {
2730 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);
2734 public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3) {
2735 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);
2739 public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3, SearchMonitor monitor4) {
2740 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);
2744 public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor[] monitors) {
2745 long cPtr = mainJNI.Solver_makeNestedOptimize__SWIG_5(swigCPtr, this, DecisionBuilder.getCPtr(db), db, Assignment.getCPtr(solution), solution, maximize, step, monitors);
2753 long cPtr = mainJNI.Solver_makeRestoreAssignment(swigCPtr, this, Assignment.getCPtr(assignment), assignment);
2761 long cPtr = mainJNI.Solver_makeStoreAssignment(swigCPtr, this, Assignment.getCPtr(assignment), assignment);
2778 public LocalSearchOperator makeOperator(IntVar[] vars, LongTernaryOperator evaluator, int op) {
2783 public LocalSearchOperator makeOperator(IntVar[] vars, IntVar[] secondary_vars, LongTernaryOperator evaluator, int op) {
2784 long cPtr = mainJNI.Solver_makeOperator__SWIG_3(swigCPtr, this, vars, secondary_vars, evaluator, op);
2792 long cPtr = mainJNI.Solver_makeRandomLnsOperator__SWIG_0(swigCPtr, this, vars, number_of_variables);
2796 public LocalSearchOperator makeRandomLnsOperator(IntVar[] vars, int number_of_variables, int seed) {
2797 long cPtr = mainJNI.Solver_makeRandomLnsOperator__SWIG_1(swigCPtr, this, vars, number_of_variables, seed);
2805 long cPtr = mainJNI.Solver_makeMoveTowardTargetOperator__SWIG_0(swigCPtr, this, Assignment.getCPtr(target), target);
2812 public LocalSearchOperator makeMoveTowardTargetOperator(IntVar[] variables, long[] target_values) {
2813 long cPtr = mainJNI.Solver_makeMoveTowardTargetOperator__SWIG_1(swigCPtr, this, variables, target_values);
2830 public LocalSearchOperator concatenateOperators(LocalSearchOperator[] ops, IntIntToLongFunction evaluator) {
2855 long cPtr = mainJNI.Solver_makeNeighborhoodLimit(swigCPtr, this, LocalSearchOperator.getCPtr(op), op, limit);
2862 public DecisionBuilder makeLocalSearchPhase(Assignment assignment, LocalSearchPhaseParameters parameters) {
2863 long cPtr = mainJNI.Solver_makeLocalSearchPhase__SWIG_0(swigCPtr, this, Assignment.getCPtr(assignment), assignment, LocalSearchPhaseParameters.getCPtr(parameters), parameters);
2867 public DecisionBuilder makeLocalSearchPhase(IntVar[] vars, DecisionBuilder first_solution, LocalSearchPhaseParameters parameters) {
2868 long cPtr = mainJNI.Solver_makeLocalSearchPhase__SWIG_1(swigCPtr, this, vars, DecisionBuilder.getCPtr(first_solution), first_solution, LocalSearchPhaseParameters.getCPtr(parameters), parameters);
2875 public DecisionBuilder makeLocalSearchPhase(IntVar[] vars, DecisionBuilder first_solution, DecisionBuilder first_solution_sub_decision_builder, LocalSearchPhaseParameters parameters) {
2876 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);
2880 public DecisionBuilder makeLocalSearchPhase(SequenceVar[] vars, DecisionBuilder first_solution, LocalSearchPhaseParameters parameters) {
2881 long cPtr = mainJNI.Solver_makeLocalSearchPhase__SWIG_3(swigCPtr, this, vars, DecisionBuilder.getCPtr(first_solution), first_solution, LocalSearchPhaseParameters.getCPtr(parameters), parameters);
2896 public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder) {
2897 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);
2901 public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit) {
2902 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);
2906 public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit, LocalSearchFilter[] filters) {
2907 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);
2911 public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder) {
2912 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);
2916 public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit) {
2917 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);
2921 public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit, LocalSearchFilter[] filters) {
2922 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);
2944 public IntVarLocalSearchFilter makeSumObjectiveFilter(IntVar[] vars, LongBinaryOperator values, int filter_enum) {
2945 long cPtr = mainJNI.Solver_makeSumObjectiveFilter__SWIG_0(swigCPtr, this, vars, values, filter_enum);
2949 public IntVarLocalSearchFilter makeSumObjectiveFilter(IntVar[] vars, IntVar[] secondary_vars, LongTernaryOperator values, int filter_enum) {
2950 long cPtr = mainJNI.Solver_makeSumObjectiveFilter__SWIG_1(swigCPtr, this, vars, secondary_vars, values, filter_enum);
3183 mainJNI.Solver_addPropagationMonitor(swigCPtr, this, PropagationMonitor.getCPtr(monitor), monitor);
3198 mainJNI.Solver_addLocalSearchMonitor(swigCPtr, this, LocalSearchMonitor.getCPtr(monitor), monitor);
3288 public final static int CHOOSE_MIN_SIZE_LOWEST_MIN = mainJNI.Solver_CHOOSE_MIN_SIZE_LOWEST_MIN_get();
3292 public final static int CHOOSE_MIN_SIZE_HIGHEST_MIN = mainJNI.Solver_CHOOSE_MIN_SIZE_HIGHEST_MIN_get();
3296 public final static int CHOOSE_MIN_SIZE_LOWEST_MAX = mainJNI.Solver_CHOOSE_MIN_SIZE_LOWEST_MAX_get();
3300 public final static int CHOOSE_MIN_SIZE_HIGHEST_MAX = mainJNI.Solver_CHOOSE_MIN_SIZE_HIGHEST_MAX_get();
3320 public final static int CHOOSE_MAX_REGRET_ON_MIN = mainJNI.Solver_CHOOSE_MAX_REGRET_ON_MIN_get();
3372 public final static int CHOOSE_STATIC_GLOBAL_BEST = mainJNI.Solver_CHOOSE_STATIC_GLOBAL_BEST_get();
3376 public final static int CHOOSE_DYNAMIC_GLOBAL_BEST = mainJNI.Solver_CHOOSE_DYNAMIC_GLOBAL_BEST_get();
3385 public final static int CHOOSE_MIN_SLACK_RANK_FORWARD = mainJNI.Solver_CHOOSE_MIN_SLACK_RANK_FORWARD_get();
3386 public final static int CHOOSE_RANDOM_RANK_FORWARD = mainJNI.Solver_CHOOSE_RANDOM_RANK_FORWARD_get();
3404 public final static int INTERVAL_SET_TIMES_FORWARD = mainJNI.Solver_INTERVAL_SET_TIMES_FORWARD_get();
3408 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:2049
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:2235
Constraint makeAllDifferent(IntVar[] vars)
All variables are pairwise different.
Definition: Solver.java:1552
Decision makeAssignVariablesValues(IntVar[] vars, long[] values)
Definition: Solver.java:2471
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:2670
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:1709
Decision makeSplitVariableDomain(IntVar var, long val, boolean start_with_lower_half)
Definition: Solver.java:2456
String localSearchProfile()
Returns local search profiling information in a human readable format.
Definition: Solver.java:3031
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:1616
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:1685
static final int CHOOSE_MIN_SLACK_RANK_FORWARD
Definition: Solver.java:3385
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:2182
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:1277
boolean solve(DecisionBuilder db)
Definition: Solver.java:297
Constraint makeScalProdEquality(IntVar[] vars, int[] coefficients, IntVar target)
Definition: Solver.java:1272
boolean solveAndCommit(DecisionBuilder db, SearchMonitor m1)
Definition: Solver.java:367
static com.google.ortools.constraintsolver.ConstraintSolverParameters parseFrom(java.nio.ByteBuffer data)
Definition: ConstraintSolverParameters.java:1142
DecisionBuilder tryDecisions(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3, DecisionBuilder db4)
Definition: Solver.java:2522
IntVar makeIsGreaterVar(IntExpr left, IntExpr right)
status var of (left > right)
Definition: Solver.java:1141
boolean nameAllVariables()
Returns whether all variables should be named.
Definition: Solver.java:3160
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:2641
DecisionBuilder makeDefaultPhase(IntVar[] vars, DefaultPhaseParameters parameters)
Definition: Solver.java:2578
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:2649
IntExpr registerIntExpr(IntExpr expr)
Registers a new IntExpr and wraps it inside a TraceIntExpr if necessary.
Definition: Solver.java:3100
Constraint makeSumEquality(IntVar[] vars, long cst)
Definition: Solver.java:1247
DecisionBuilder makeStoreAssignment(Assignment assignment)
Returns a DecisionBuilder which stores an Assignment (calls void Assignment::Store())
Definition: Solver.java:2760
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:3408
LocalSearchOperator makeOperator(IntVar[] vars, LongTernaryOperator evaluator, int op)
Definition: Solver.java:2778
Constraint makeAllDifferent(IntVar[] vars, boolean stronger_propagation)
All variables are pairwise different.
Definition: Solver.java:1560
Constraint makeNonOverlappingBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, long[] x_size, long[] y_size)
Definition: Solver.java:1754
Constraint makeIsLessOrEqualCstCt(IntExpr var, long value, IntVar boolvar)
boolvar == (var <= value)
Definition: Solver.java:1013
OptimizeVar makeWeightedMaximize(IntVar[] sub_objectives, long[] weights, long step)
Creates a maximization weigthed objective.
Definition: Solver.java:2142
IntervalVar makeFixedDurationIntervalVar(IntVar start_variable, long duration, String name)
Creates a performed interval var with a fixed duration.
Definition: Solver.java:1801
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:1576
Constraint makeIsDifferentCstCt(IntExpr v1, IntExpr v2, IntVar b)
b == (v1 != v2)
Definition: Solver.java:981
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:1624
IntVar makeIntVar(long[] values)
MakeIntVar will create a variable with the given sparse domain.
Definition: Solver.java:544
void newSearch(DecisionBuilder db, SearchMonitor m1)
Definition: Solver.java:328
DecisionBuilder compose(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3, DecisionBuilder db4)
Definition: Solver.java:2499
static final int REVERSIBLE_ACTION
Definition: Solver.java:3648
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:1953
IntExpr makeConditionalExpression(IntVar condition, IntExpr expr, long unperformed_value)
Conditional Expr condition ? expr : unperformed_value.
Definition: Solver.java:872
SearchMonitor makeLubyRestart(int scale_factor)
This search monitor will restart the search periodically.
Definition: Solver.java:2211
void topPeriodicCheck()
Performs PeriodicCheck on the top-level search; for instance, can be called from a nested solve to ch...
Definition: Solver.java:2957
LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit, LocalSearchFilter[] filters)
Definition: Solver.java:2906
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:2512
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:1544
Represents a function that accepts two int-valued arguments and produces a long-valued result.
Definition: IntIntToLongFunction.java:25
static final int UNACTIVELNS
Operator which relaxes all inactive nodes and one sub-chain of six consecutive arcs.
Definition: Solver.java:3466
IntExpr makeModulo(IntExpr x, long mod)
General piecewise-linear function expression, built from f(x) where f is piecewise-linear.
Definition: Solver.java:856
Definition: ConstraintSolverParameters.java:16
int constraints()
Counts the number of constraints that have been added to the solver before the search.
Definition: Solver.java:3045
SearchMonitor makeAtSolutionCallback(Runnable callback)
Definition: Solver.java:2389
Constraint makeTemporalDisjunction(IntervalVar t1, IntervalVar t2, IntVar alt)
This constraint implements a temporal disjunction between two interval vars t1 and t2.
Definition: Solver.java:1913
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:2363
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:2838
Constraint makeCover(IntervalVar[] vars, IntervalVar target_var)
This constraint states that the target_var is the convex hull of the intervals.
Definition: Solver.java:1993
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:1425
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:864
static final int CROSS_DATE
STARTS_BEFORE and ENDS_AFTER at the same time, i.e.
Definition: Solver.java:3608
Constraint makeScalProdLessOrEqual(IntVar[] vars, long[] coefficients, long cst)
Definition: Solver.java:1287
IntExpr makeIndexExpression(IntVar[] vars, long value)
Returns the expression expr such that vars[expr] == value.
Definition: Solver.java:760
SolutionCollector makeAllSolutionCollector()
Collect all solutions of the search.
Definition: Solver.java:2094
com.google.ortools.constraintsolver.RegularLimitParameters makeDefaultRegularLimitParameters()
Creates a regular limit proto containing default values.
Definition: Solver.java:2291
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:3372
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:3386
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:2275
static final int INTERVAL_SIMPLE
The simple is INTERVAL_SET_TIMES_FORWARD.
Definition: Solver.java:3400
boolean hasName(PropagationBaseObject object)
Returns whether the object has been named or not.
Definition: Solver.java:3085
void restartSearch()
Definition: Solver.java:348
DecisionBuilder makePhase(IntVar[] vars, LongUnaryOperator var_evaluator, LongBinaryOperator value_evaluator, LongUnaryOperator tie_breaker)
Definition: Solver.java:2568
Constraint makeElementEquality(IntVar[] vars, IntVar index, IntVar target)
Definition: Solver.java:1317
Constraint makeIsMemberCt(IntExpr expr, long[] values, IntVar boolvar)
boolvar == (expr in set)
Definition: Solver.java:1441
SolutionCollector makeBestValueSolutionCollector(boolean maximize)
Collect the solution corresponding to the optimal value of the objective of 'assignment'; if 'assignm...
Definition: Solver.java:2065
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:1669
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:1378
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:3354
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:1809
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:2355
Constraint makeScalProdGreaterOrEqual(IntVar[] vars, int[] coeffs, long cst)
Definition: Solver.java:1282
static final int ASSIGN_MIN_VALUE
Selects the min value of the selected variable.
Definition: Solver.java:3342
OptimizeVar makeWeightedMinimize(IntVar[] sub_objectives, int[] weights, long step)
Creates a minimization weighted objective.
Definition: Solver.java:2134
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:2267
static final int FULLPATHLNS
Operator which relaxes one entire path and all inactive nodes, thus defining num_paths neighbors.
Definition: Solver.java:3462
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:1865
Constraint makeIntervalVarRelation(IntervalVar t1, int r, IntervalVar t2)
This method creates a relation between two interval vars.
Definition: Solver.java:1897
static final int INT_VAR_SIMPLE
The simple selection is CHOOSE_FIRST_UNBOUND.
Definition: Solver.java:3276
IntExpr makeMonotonicElement(LongUnaryOperator values, boolean increasing, IntVar index)
Function based element.
Definition: Solver.java:736
static final int OUTSIDE_SEARCH
This enum represents the state of the solver w.r.t.
Definition: Solver.java:3658
LocalSearchOperator concatenateOperators(LocalSearchOperator[] ops, IntIntToLongFunction evaluator)
Definition: Solver.java:2830
DecisionBuilder makePhase(IntVar[] vars, LongUnaryOperator var_evaluator, LongBinaryOperator value_evaluator)
Definition: Solver.java:2558
static final int SPLIT_UPPER_HALF
Split the domain in two around the center, and choose the lower part first.
Definition: Solver.java:3362
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:1733
Constraint makeIsLessOrEqualCt(IntExpr left, IntExpr right, IntVar b)
b == (left <= right)
Definition: Solver.java:1037
Constraint makeIsGreaterCt(IntExpr left, IntExpr right, IntVar b)
b == (left > right)
Definition: Solver.java:1149
DecisionBuilder makeConstraintAdder(Constraint ct)
Returns a decision builder that will add the given constraint to the model.
Definition: Solver.java:2678
Decision makeScheduleOrPostpone(IntervalVar var, long est, int[] marker)
Returns a decision that tries to schedule a task at a given time.
Definition: Solver.java:2609
Constraint makeScalProdLessOrEqual(IntVar[] vars, int[] coefficients, long cst)
Definition: Solver.java:1292
Constraint makeDistribute(IntVar[] vars, IntVar[] cards)
Aggregated version of count: |{i | v[i] == j}| == cards[j].
Definition: Solver.java:1496
SearchMonitor makeSymmetryManager(SymmetryBreaker[] visitors)
Symmetry Breaking.
Definition: Solver.java:2413
Constraint makeNoCycle(IntVar[] nexts, IntVar[] active, LongPredicate sink_handler, boolean assume_paths)
Definition: Solver.java:1653
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:1767
void finishCurrentSearch()
Tells the solver to kill or restart the current search.
Definition: Solver.java:3241
DecisionBuilder makePhase(IntVar v0, IntVar v1, int var_str, int val_str)
Definition: Solver.java:2591
SearchMonitor makeSearchTrace(String prefix)
Creates a search monitor that will trace precisely the behavior of the search.
Definition: Solver.java:2371
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:2719
static final int MAKEACTIVE
Operator which inserts an inactive node into a path.
Definition: Solver.java:3438
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:3434
IntegerCastInfo()
Definition: Solver.java:196
Decision makeVariableLessOrEqualValue(IntVar var, long value)
Definition: Solver.java:2446
Constraint makeElementEquality(long[] vals, IntVar index, IntVar target)
Definition: Solver.java:1307
DecisionBuilder makePhase(IntVar[] vars, LongUnaryOperator var_evaluator, int val_str)
Definition: Solver.java:2540
SearchMonitor makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2, SymmetryBreaker v3, SymmetryBreaker v4)
Definition: Solver.java:2433
static final int ASSIGN_MAX_VALUE
Selects the max value of the selected variable.
Definition: Solver.java:3346
FailException(String message)
Definition: Solver.java:93
IntVar makeBoolVar(String name)
MakeBoolVar will create a variable with a {0, 1} domain.
Definition: Solver.java:560
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:2875
Constraint makeScalProdEquality(IntVar[] vars, long[] coefficients, IntVar target)
Definition: Solver.java:1267
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:1528
SearchMonitor makeSearchLog(int branch_period)
The SearchMonitors below will display a periodic search log on LOG(INFO) every branch_period branches...
Definition: Solver.java:2323
IntervalVar makeFixedInterval(long start, long duration, String name)
Creates a fixed and performed interval.
Definition: Solver.java:1817
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:3474
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:1985
IntExpr makeConvexPiecewiseExpr(IntExpr expr, long early_cost, long early_date, long late_date, long late_cost)
Convex piecewise function.
Definition: Solver.java:840
LocalSearchOperator concatenateOperators(LocalSearchOperator[] ops, boolean restart)
Definition: Solver.java:2825
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:1849
void exportProfilingOverview(String filename)
Exports the profiling information in a human readable overview.
Definition: Solver.java:3024
IntVar makeIsLessOrEqualVar(IntExpr left, IntExpr right)
status var of (left <= right)
Definition: Solver.java:1029
Constraint makeScalProdEquality(IntVar[] vars, long[] coefficients, long cst)
Definition: Solver.java:1257
Decision MakeAssignVariableValueOrDoNothing(IntVar var, long value)
Definition: Solver.java:2466
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:1701
IntegerCastInfo(long cPtr, boolean cMemoryOwn)
Definition: Solver.java:172
Decision balancing_decision()
Definition: Solver.java:3056
boolean isLocalSearchProfilingEnabled()
Returns whether we are profiling local search.
Definition: Solver.java:3146
Represents a predicate (boolean-valued function) uppon three.
Definition: LongTernaryPredicate.java:25
DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor[] monitors)
Definition: Solver.java:2711
DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1)
Definition: Solver.java:2724
static final int INCREMENT
Operator which defines one neighbor per variable.
Definition: Solver.java:3470
Constraint makeIntervalVarRelationWithDelay(IntervalVar t1, int r, IntervalVar t2, long delay)
This method creates a relation between two interval vars.
Definition: Solver.java:1905
Constraint makeIsMemberCt(IntExpr expr, int[] values, IntVar boolvar)
Definition: Solver.java:1446
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:501
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:1693
static final int NO_MORE_SOLUTIONS
After failed NextSolution and before EndSearch.
Definition: Solver.java:3674
SearchMonitor makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2)
Definition: Solver.java:2423
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:2739
PropagationMonitor getPropagationMonitor()
Returns the propagation monitor.
Definition: Solver.java:3174
IntVarLocalSearchFilter makeSumObjectiveFilter(IntVar[] vars, LongBinaryOperator values, int filter_enum)
Definition: Solver.java:2944
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:1608
Decision makeFailDecision()
Definition: Solver.java:2476
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:2949
DisjunctiveConstraint makeStrictDisjunctiveConstraint(IntervalVar[] intervals, String name)
This constraint forces all interval vars into an non-overlapping sequence.
Definition: Solver.java:1937
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:3272
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:3396
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:2662
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:1881
Constraint makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, long[] x_size, long[] y_size)
Definition: Solver.java:1772
long filteredNeighbors()
The number of filtered neighbors (neighbors accepted by filters).
Definition: Solver.java:473
Constraint makeMinEquality(IntVar[] vars, IntVar min_var)
Definition: Solver.java:1297
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:1433
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:2243
DecisionBuilder makePhase(IntVar v0, IntVar v1, IntVar v2, IntVar v3, int var_str, int val_str)
Definition: Solver.java:2601
Constraint makeIfThenElseCt(IntVar condition, IntExpr then_expr, IntExpr else_expr, IntVar target_var)
Special cases with arrays of size two.
Definition: Solver.java:768
OptimizeVar makeWeightedOptimize(boolean maximize, IntVar[] sub_objectives, int[] weights, long step)
Creates a weighted objective with a given sense (true = maximization).
Definition: Solver.java:2166
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:3288
void newSearch(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3)
Definition: Solver.java:336
static final int SEQUENCE_SIMPLE
Definition: Solver.java:3384
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:1977
Constraint makeIntervalVarRelation(IntervalVar t, int r, long d)
This method creates a relation between an interval var and a date.
Definition: Solver.java:1889
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:2812
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:528
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:3404
LocalSearchFilter MakeRejectFilter()
Definition: Solver.java:2934
SearchMonitor makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2, SymmetryBreaker v3)
Definition: Solver.java:2428
OptimizeVar makeWeightedOptimize(boolean maximize, IntVar[] sub_objectives, long[] weights, long step)
Creates a weighted objective with a given sense (true = maximization).
Definition: Solver.java:2158
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:2625
IntervalVar registerIntervalVar(IntervalVar var)
Registers a new IntervalVar and wraps it inside a TraceIntervalVar if necessary.
Definition: Solver.java:3116
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:3300
DecisionBuilder makePhase(IntVar[] vars, int var_str, LongBinaryOperator value_evaluator)
Definition: Solver.java:2545
RegularLimit makeLimit(com.google.ortools.constraintsolver.RegularLimitParameters proto)
Creates a search limit from its protobuf description.
Definition: Solver.java:2283
IntVar makeIsDifferentCstVar(IntExpr var, long value)
status var of (var != value)
Definition: Solver.java:965
IntVar makeIsGreaterCstVar(IntExpr var, long value)
status var of (var > value)
Definition: Solver.java:1133
LocalSearchFilter makeVariableDomainFilter()
Definition: Solver.java:2939
Constraint makeSumEquality(IntVar[] vars, IntVar var)
Definition: Solver.java:1252
LocalSearchOperator makeMoveTowardTargetOperator(Assignment target)
Creates a local search operator that tries to move the assignment of some variables toward a target.
Definition: Solver.java:2804
DecisionBuilder makeDefaultPhase(IntVar[] vars)
Definition: Solver.java:2573
DecisionBuilder makePhase(IntVar v0, int var_str, int val_str)
Shortcuts for small arrays.
Definition: Solver.java:2586
Constraint makeIsEqualCstCt(IntExpr var, long value, IntVar boolvar)
boolvar == (var == value)
Definition: Solver.java:901
static final int CHOOSE_RANDOM
Randomly select one of the remaining unbound variables.
Definition: Solver.java:3284
Constraint makeIsLessCt(IntExpr left, IntExpr right, IntVar b)
b == (left < right)
Definition: Solver.java:1205
long branches()
The number of branches explored since the creation of the solver.
Definition: Solver.java:431
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:2198
IntVar makeIntConst(long val, String name)
IntConst will create a constant expression.
Definition: Solver.java:576
static final int AT_SOLUTION
After successful NextSolution and before EndSearch.
Definition: Solver.java:3670
OptimizeVar makeMaximize(IntVar v, long step)
Creates a maximization objective.
Definition: Solver.java:2110
OptimizeVar makeWeightedMinimize(IntVar[] sub_objectives, long[] weights, long step)
Creates a minimization weighted objective.
Definition: Solver.java:2126
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:1793
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:1741
static final int ENDS_AFTER_END
This enum is used in Solver::MakeIntervalVarRelation to specify the temporal relation between the two...
Definition: Solver.java:3542
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:1093
static final int EQ
Move is accepted when the current objective value is in the interval objective.Min .
Definition: Solver.java:3514
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:2461
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:3292
void set_optimization_direction(int direction)
Definition: Solver.java:505
DecisionBuilder makeLocalSearchPhase(Assignment assignment, LocalSearchPhaseParameters parameters)
Local Search decision builders factories.
Definition: Solver.java:2862
SearchMonitor makeEnterSearchCallback(Runnable callback)
--— Callback-based search monitors --—
Definition: Solver.java:2379
static final int VAR_PRIORITY
VAR_PRIORITY is between DELAYED_PRIORITY and NORMAL_PRIORITY.
Definition: Solver.java:3528
static final int MAKECHAININACTIVE
Operator which makes a "chain" of path nodes inactive.
Definition: Solver.java:3446
static final int CHOOSE_LOWEST_MIN
Among unbound variables, select the variable with the smallest minimal value.
Definition: Solver.java:3304
DecisionBuilder makeRestoreAssignment(Assignment assignment)
Returns a DecisionBuilder which restores an Assignment (calls void Assignment::Restore())
Definition: Solver.java:2752
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:1833
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:1825
DecisionBuilder makePhase(IntervalVar[] intervals, int str)
Scheduling phases.
Definition: Solver.java:2657
SearchLimit makeCustomLimit(BooleanSupplier limiter)
Callback-based search limit.
Definition: Solver.java:2315
DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3)
Definition: Solver.java:2734
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:917
boolean nextSolution()
Definition: Solver.java:344
DecisionBuilder compose(DecisionBuilder db1, DecisionBuilder db2)
Creates a decision builder which sequentially composes decision builders.
Definition: Solver.java:2489
Constraint makeIsGreaterOrEqualCstCt(IntExpr var, long value, IntVar boolvar)
boolvar == (var >= value)
Definition: Solver.java:1069
SolutionCollector makeBestValueSolutionCollector(Assignment assignment, boolean maximize)
Collect the solution corresponding to the optimal value of the objective of 'assignment'; if 'assignm...
Definition: Solver.java:2057
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:2691
SearchMonitor makeSearchLog(int branch_period, Supplier< String > display_callback)
At each solution, this monitor will also display result of display_callback.
Definition: Solver.java:2339
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:2481
static final int TWOOPT
This enum is used in Solver::MakeOperator to specify the neighborhood to create.
Definition: Solver.java:3418
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:1969
static final int PATHLNS
Operator which relaxes two sub-chains of three consecutive arcs each.
Definition: Solver.java:3458
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:3324
SearchMonitor makeSimulatedAnnealing(boolean maximize, IntVar v, long step, long initial_temperature)
Creates a Simulated Annealing monitor.
Definition: Solver.java:2190
LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder)
Local Search Phase Parameters.
Definition: Solver.java:2896
long solutions()
The number of solutions found since the start of the search.
Definition: Solver.java:438
Constraint makeIsBetweenCt(IntExpr expr, long l, long u, IntVar b)
b == (l <= expr <= u)
Definition: Solver.java:1386
static final int CHOOSE_MIN_SIZE
Among unbound variables, select the variable with the smallest size.
Definition: Solver.java:3312
void shouldFail()
These methods are only useful for the SWIG wrappers, which need a way to externally cause the Solver ...
Definition: Solver.java:3252
Decision makeScheduleOrExpedite(IntervalVar var, long est, int[] marker)
Returns a decision that tries to schedule a task at a given time.
Definition: Solver.java:2617
static final int LE
Move is accepted when the current objective value <= objective.Max.
Definition: Solver.java:3510
IntVar makeIntVar(long[] values, String name)
MakeIntVar will create a variable with the given sparse domain.
Definition: Solver.java:520
DecisionBuilder makePhase(IntVar[] vars, int var_str, LongBinaryOperator value_evaluator, LongUnaryOperator tie_breaker)
Definition: Solver.java:2563
Definition: LocalSearchPhaseParameters.java:11
LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit)
Definition: Solver.java:2901
LocalSearchOperator randomConcatenateOperators(LocalSearchOperator[] ops, int seed)
Randomized version of local search concatenator; calls a random operator at each call to MakeNextNeig...
Definition: Solver.java:2846
LocalSearchOperator makeOperator(IntVar[] vars, IntVar[] secondary_vars, LongTernaryOperator evaluator, int op)
Definition: Solver.java:2783
Definition: RegularLimitParameters.java:17
LocalSearchMonitor getLocalSearchMonitor()
Returns the local search monitor.
Definition: Solver.java:3189
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:1841
Constraint makeAllDifferentExcept(IntVar[] vars, long escape_value)
All variables are pairwise different, unless they are assigned to the escape value.
Definition: Solver.java:1568
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:2347
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:1488
static final int SIMPLE_MARKER
Definition: Solver.java:3646
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:2150
int searchLeftDepth()
Gets the search left depth of the current active search.
Definition: Solver.java:2989
Constraint makeSumLessOrEqual(IntVar[] vars, long cst)
Variation on arrays.
Definition: Solver.java:1237
DecisionBuilder makeLocalSearchPhase(SequenceVar[] vars, DecisionBuilder first_solution, LocalSearchPhaseParameters parameters)
Definition: Solver.java:2880
Constraint makeDistribute(IntVar[] vars, int[] card_min, int[] card_max)
Aggregated version of count with bounded cardinalities: forall j in 0 .
Definition: Solver.java:1520
IntExpr getExpression()
Definition: Solver.java:217
void addLocalSearchMonitor(LocalSearchMonitor monitor)
Adds the local search monitor to the solver.
Definition: Solver.java:3197
static final int SPLIT_LOWER_HALF
Split the domain in two around the center, and choose the lower part first.
Definition: Solver.java:3358
DisjunctiveConstraint makeDisjunctiveConstraint(IntervalVar[] intervals, String name)
This constraint forces all interval vars into an non-overlapping sequence.
Definition: Solver.java:1929
long failures()
The number of failures encountered since the creation of the solver.
Definition: Solver.java:459
LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit)
Definition: Solver.java:2916
SolutionCollector makeAllSolutionCollector(Assignment assignment)
Collect all solutions of the search.
Definition: Solver.java:2086
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:2307
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:2553
IntVar makeIsMemberVar(IntExpr expr, int[] values)
Definition: Solver.java:1456
RegularLimit makeLimit(long time, long branches, long failures, long solutions)
Limits the search with the 'time', 'branches', 'failures' and 'solutions' limits.
Definition: Solver.java:2259
DecisionBuilder tryDecisions(DecisionBuilder[] dbs)
Definition: Solver.java:2527
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:3450
Assignment GetOrCreateLocalSearchState()
Returns (or creates) an assignment representing the state of local search.
Definition: Solver.java:3204
Constraint makeNotMemberCt(IntExpr expr, int[] values)
Definition: Solver.java:1417
Constraint makeIsDifferentCstCt(IntExpr var, long value, IntVar boolvar)
boolvar == (var != value)
Definition: Solver.java:957
boolean solveAndCommit(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2)
Definition: Solver.java:371
DecisionBuilder makeLocalSearchPhase(IntVar[] vars, DecisionBuilder first_solution, LocalSearchPhaseParameters parameters)
Definition: Solver.java:2867
IntVar makeIsLessVar(IntExpr left, IntExpr right)
status var of (left < right)
Definition: Solver.java:1197
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:1677
Constraint makeDistribute(IntVar[] vars, long[] card_min, long[] card_max)
Aggregated version of count with bounded cardinalities: forall j in 0 .
Definition: Solver.java:1512
SearchMonitor makeConstantRestart(int frequency)
This search monitor will restart the search periodically after 'frequency' failures.
Definition: Solver.java:2219
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:1338
Demon makeConstraintInitialPropagateCallback(Constraint ct)
This method is a specialized case of the MakeConstraintDemon method to call the InitiatePropagate of ...
Definition: Solver.java:1346
SearchMonitor makeSymmetryManager(SymmetryBreaker v1)
Definition: Solver.java:2418
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:2911
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:973
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:1536
Constraint makeMemberCt(IntExpr expr, int[] values)
Definition: Solver.java:1404
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:1640
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:1725
static com.google.ortools.constraintsolver.RegularLimitParameters parseFrom(java.nio.ByteBuffer data)
Definition: RegularLimitParameters.java:310
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:1857
static final int RELOCATE
Relocate neighborhood with length of 1 (see OROPT comment).
Definition: Solver.java:3426
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:1632
ModelVisitor makeStatisticsModelVisitor()
Displays some nice statistics on the model.
Definition: Solver.java:2405
Decision makeVariableGreaterOrEqualValue(IntVar var, long value)
Definition: Solver.java:2451
Constraint makeCount(IntVar[] vars, long value, IntVar max_count)
|{i | vars[i] == value}| == max_count
Definition: Solver.java:1472
boolean currentlyInSolve()
Returns true whether the current search has been created using a Solve() call instead of a NewSearch ...
Definition: Solver.java:3038
DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor[] monitors)
Definition: Solver.java:2744
DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3, SearchMonitor monitor4)
Definition: Solver.java:2706
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:2791
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:1504
DecisionBuilder compose(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3)
Definition: Solver.java:2494
LocalSearchOperator makeOperator(IntVar[] vars, int op)
Local Search Operators.
Definition: Solver.java:2768
void SetUseFastLocalSearch(boolean use_fast_local_search)
enabled for metaheuristics.
Definition: Solver.java:3071
IntExpr makeDiv(IntExpr numerator, IntExpr denominator)
numerator / denominator (integer division).
Definition: Solver.java:680
SolutionCollector makeNBestValueSolutionCollector(int solution_count, boolean maximize)
Definition: Solver.java:2078
static final int SIMPLELNS
Operator which defines one neighbor per variable.
Definition: Solver.java:3478
Constraint makeElementEquality(int[] vals, IntVar index, IntVar target)
Definition: Solver.java:1312
LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit, LocalSearchFilter[] filters)
Definition: Solver.java:2921
Constraint makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, int[] x_size, int[] y_size)
Definition: Solver.java:1777
static final int NO_CHANGE
The Solver is responsible for creating the search tree.
Definition: Solver.java:3622
boolean UseFastLocalSearch()
Returns true if fast local search is enabled.
Definition: Solver.java:3078
Represents an operation upon three.
Definition: LongTernaryOperator.java:25
Demon makeDelayedConstraintInitialPropagateCallback(Constraint ct)
This method is a specialized case of the MakeConstraintDemon method to call the InitiatePropagate of ...
Definition: Solver.java:1354
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:1961
Constraint makeEquality(IntervalVar var1, IntervalVar var2)
This constraints states that the two interval variables are equal.
Definition: Solver.java:2001
IntVar makeIsGreaterOrEqualCstVar(IntExpr var, long value)
status var of (var >= value)
Definition: Solver.java:1077
static final int GE
This enum is used in Solver::MakeLocalSearchObjectiveFilter.
Definition: Solver.java:3506
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:1945
static final int INT_VALUE_DEFAULT
This enum describes the strategy used to select the next variable value to set.
Definition: Solver.java:3334
IntExpr makeElement(LongUnaryOperator values, IntVar index)
Function-based element.
Definition: Solver.java:728
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:1262
RegularLimit makeSolutionsLimit(long solutions)
Creates a search limit that constrains the number of solutions found during the search.
Definition: Solver.java:2251
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:1873
DecisionBuilder makePhase(IntVar v0, IntVar v1, IntVar v2, int var_str, int val_str)
Definition: Solver.java:2596
static final int INT_VALUE_SIMPLE
The simple selection is ASSIGN_MIN_VALUE.
Definition: Solver.java:3338
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:2102
Constraint makeMaxEquality(IntVar[] vars, IntVar max_var)
Definition: Solver.java:1302
static final int CHOICE_POINT
Definition: Solver.java:3647
OptimizeVar makeOptimize(boolean maximize, IntVar v, long step)
Creates a objective with a given sense (true = maximization).
Definition: Solver.java:2118
LocalSearchOperator makeRandomLnsOperator(IntVar[] vars, int number_of_variables, int seed)
Definition: Solver.java:2796
DecisionBuilder tryDecisions(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3)
Definition: Solver.java:2517
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:3320
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:2227
DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3)
Definition: Solver.java:2701
LocalSearchOperator concatenateOperators(LocalSearchOperator[] ops)
Creates a local search operator which concatenates a vector of operators.
Definition: Solver.java:2820
Constraint makeInversePermutationConstraint(IntVar[] left, IntVar[] right)
Creates a constraint that enforces that 'left' and 'right' both represent permutations of [0....
Definition: Solver.java:1600
Constraint makeCircuit(IntVar[] nexts)
Force the "nexts" variable to create a complete Hamiltonian path.
Definition: Solver.java:1661
static final int STAYS_IN_SYNC
STARTS_AT_START and ENDS_AT_END at the same time.
Definition: Solver.java:3574
static final int LK
This enum is used in Solver::MakeOperator associated with an evaluator to specify the neighborhood to...
Definition: Solver.java:3488
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:2854
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:2174
DecisionBuilder compose(DecisionBuilder[] dbs)
Definition: Solver.java:2504
IntVar makeIsMemberVar(IntExpr expr, long[] values)
Definition: Solver.java:1451
SolutionCollector makeFirstSolutionCollector()
Collect the first solution of the search.
Definition: Solver.java:2033
DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2)
Definition: Solver.java:2729
IntVar makeIntVar(long min, long max)
MakeIntVar will create the best range based int var for the bounds given.
Definition: Solver.java:536
IntVar makeIsGreaterOrEqualVar(IntExpr left, IntExpr right)
status var of (left >= right)
Definition: Solver.java:1085
void restartCurrentSearch()
Definition: Solver.java:3245
Constraint makeSumGreaterOrEqual(IntVar[] vars, long cst)
Definition: Solver.java:1242
static final int PROBLEM_INFEASIBLE
After search, the model is infeasible.
Definition: Solver.java:3678
Constraint makeTemporalDisjunction(IntervalVar t1, IntervalVar t2)
This constraint implements a temporal disjunction between two interval vars.
Definition: Solver.java:1921
Constraint makeNonOverlappingBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, int[] x_size, int[] y_size)
Definition: Solver.java:1759
Constraint makeFalseConstraint(String explanation)
Definition: Solver.java:893
static final int SENTINEL
This enum is used internally in private methods Solver::PushState and Solver::PopState to tag states ...
Definition: Solver.java:3645
static final int NORMAL_PRIORITY
NORMAL_PRIORITY is the highest priority: Demons will be processed first.
Definition: Solver.java:3532
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:2535
long unchecked_solutions()
The number of unchecked solutions found by local search.
Definition: Solver.java:445
Demon registerDemon(Demon demon)
Adds a new demon and wraps it inside a DemonProfiler if necessary.
Definition: Solver.java:3092
static final int MINIMIZATION
Definition: Solver.java:3687
static final int CHOOSE_HIGHEST_MAX
Among unbound variables, select the variable with the highest maximal value.
Definition: Solver.java:3308
Constraint makeElementEquality(IntVar[] vars, IntVar index, long target)
Definition: Solver.java:1322
IntVar makeIsLessCstVar(IntExpr var, long value)
status var of (var < value)
Definition: Solver.java:1189
SearchMonitor makeExitSearchCallback(Runnable callback)
Definition: Solver.java:2384
Constraint makeCount(IntVar[] vars, long value, long max_count)
|{i | vars[i] == value}| == max_count
Definition: Solver.java:1464
DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2)
Definition: Solver.java:2696
IntVar registerIntVar(IntVar var)
Registers a new IntVar and wraps it inside a TraceIntVar if necessary.
Definition: Solver.java:3108
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:3524
SolutionCollector makeNBestValueSolutionCollector(Assignment assignment, int solution_count, boolean maximize)
Same as MakeBestValueSolutionCollector but collects the best solution_count solutions.
Definition: Solver.java:2073
Pack makePack(IntVar[] vars, int number_of_bins)
This constraint packs all variables onto 'number_of_bins' variables.
Definition: Solver.java:1785
Constraint makeDistribute(IntVar[] vars, long[] values, IntVar[] cards)
Aggregated version of count: |{i | v[i] == values[j]}| == cards[j].
Definition: Solver.java:1480
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:1717
long stamp()
The stamp indicates how many moves in the search tree we have performed.
Definition: Solver.java:487
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:2971
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:848
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:2686
IntVar makeIsEqualCstVar(IntExpr var, long value)
status var of (var == value)
Definition: Solver.java:909
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:3454
static final int ASSIGN_RANDOM_VALUE
Selects randomly one of the possible values of the selected variable.
Definition: Solver.java:3350
static final int ENDS_AFTER
This enum is used in Solver::MakeIntervalVarRelation to specify the temporal relation between an inte...
Definition: Solver.java:3584
Constraint makeAbsEquality(IntVar var, IntVar abs_var)
Creates the constraint abs(var) == abs_var.
Definition: Solver.java:1330
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:2633
IntVar makeIsBetweenVar(IntExpr v, long l, long u)
Definition: Solver.java:1391
static final int CHOOSE_DYNAMIC_GLOBAL_BEST
Pairs are compared each time a variable is selected.
Definition: Solver.java:3376
static final int EXCHANGE
Operator which exchanges the positions of two nodes.
Definition: Solver.java:3430
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:3296
static final int CHOOSE_MAX_SIZE
Among unbound variables, select the variable with the highest size.
Definition: Solver.java:3316
Assignment makeAssignment(Assignment a)
This method creates an assignment which is a copy of 'a'.
Definition: Solver.java:2017
Constraint makeLexicalLess(IntVar[] left, IntVar[] right)
Creates a constraint that enforces that left is lexicographically less than right.
Definition: Solver.java:1584
Constraint makeLexicalLessOrEqual(IntVar[] left, IntVar[] right)
Creates a constraint that enforces that left is lexicographically less than or equal to right.
Definition: Solver.java:1592
void addPropagationMonitor(PropagationMonitor monitor)
Adds the propagation monitor to the solver.
Definition: Solver.java:3182
SolutionCollector makeFirstSolutionCollector(Assignment assignment)
Collect the first solution of the search.
Definition: Solver.java:2025
IntVar makeIsLessOrEqualCstVar(IntExpr var, long value)
status var of (var <= value)
Definition: Solver.java:1021
IntExpr makeElement(LongBinaryOperator values, IntVar index1, IntVar index2)
2D version of function-based element expression, values(expr1, expr2).
Definition: Solver.java:744
LocalSearchOperator makeOperator(IntVar[] vars, IntVar[] secondary_vars, int op)
Definition: Solver.java:2773
SolutionCollector makeLastSolutionCollector(Assignment assignment)
Collect the last solution of the search.
Definition: Solver.java:2041
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:512
SearchMonitor makeGuidedLocalSearch(boolean maximize, IntVar objective, LongTernaryOperator objective_function, long step, IntVar[] vars, IntVar[] secondary_vars, double penalty_factor)
Definition: Solver.java:2203
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:2331
IntVar makeBoolVar()
MakeBoolVar will create a variable with a {0, 1} domain.
Definition: Solver.java:568
int topProgressPercent()
Returns a percentage representing the propress of the search before reaching the limits of the top-le...
Definition: Solver.java:2964
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:3139
IntVar makeIntVar(int[] values)
MakeIntVar will create a variable with the given sparse domain.
Definition: Solver.java:552
long demon_runs(int p)
The number of demons executed during search for a given priority.
Definition: Solver.java:452
static final int MAXIMIZATION
Definition: Solver.java:3686
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:1749