public class Solver
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
Solver.FailException
This exceptions signal that a failure has been raised in the C++ world.
|
static class |
Solver.IntegerCastInfo
Holds semantic information stating that the 'expression' has been
cast into 'variable' using the Var() method, and that 'maintainer' is responsible for maintaining the equality between 'variable' and 'expression'. |
Modifier and Type | Field and Description |
---|---|
static int |
ASSIGN_CENTER_VALUE
Selects the first possible value which is the closest to the center
of the domain of the selected variable. |
static int |
ASSIGN_MAX_VALUE
Selects the max value of the selected variable.
|
static int |
ASSIGN_MIN_VALUE
Selects the min value of the selected variable.
|
static int |
ASSIGN_RANDOM_VALUE
Selects randomly one of the possible values of the selected variable.
|
static int |
AT_SOLUTION
After successful NextSolution and before EndSearch.
|
static int |
AVOID_DATE
STARTS_AFTER or ENDS_BEFORE, i.e. d is not in t.
|
static int |
CHOICE_POINT |
static int |
CHOOSE_DYNAMIC_GLOBAL_BEST
Pairs are compared each time a variable is selected.
|
static int |
CHOOSE_FIRST_UNBOUND
Select the first unbound variable.
|
static int |
CHOOSE_HIGHEST_MAX
Among unbound variables, select the variable with the highest maximal
value. |
static int |
CHOOSE_LOWEST_MIN
Among unbound variables, select the variable with the smallest minimal
value. |
static int |
CHOOSE_MAX_REGRET_ON_MIN
Among unbound variables, select the variable with the largest
gap between the first and the second values of the domain. |
static int |
CHOOSE_MAX_SIZE
Among unbound variables, select the variable with the highest size.
|
static int |
CHOOSE_MIN_SIZE
Among unbound variables, select the variable with the smallest size.
|
static int |
CHOOSE_MIN_SIZE_HIGHEST_MAX
Among unbound variables, select the variable with the smallest size,
i.e., the smallest number of possible values. |
static int |
CHOOSE_MIN_SIZE_HIGHEST_MIN
Among unbound variables, select the variable with the smallest size,
i.e., the smallest number of possible values. |
static int |
CHOOSE_MIN_SIZE_LOWEST_MAX
Among unbound variables, select the variable with the smallest size,
i.e., the smallest number of possible values. |
static int |
CHOOSE_MIN_SIZE_LOWEST_MIN
Among unbound variables, select the variable with the smallest size,
i.e., the smallest number of possible values. |
static int |
CHOOSE_MIN_SLACK_RANK_FORWARD |
static int |
CHOOSE_PATH
Selects the next unbound variable on a path, the path being defined by
the variables: var[i] corresponds to the index of the next of i. |
static int |
CHOOSE_RANDOM
Randomly select one of the remaining unbound variables.
|
static int |
CHOOSE_RANDOM_RANK_FORWARD |
static int |
CHOOSE_STATIC_GLOBAL_BEST
Pairs are compared at the first call of the selector, and results are
cached. |
static int |
CROSS
Operator which cross exchanges the starting chains of 2 paths, including
exchanging the whole paths. |
static int |
CROSS_DATE
STARTS_BEFORE and ENDS_AFTER at the same time, i.e. d is in t.
|
static int |
DECREMENT
Operator which defines a neighborhood to decrement values.
|
static int |
DELAYED_PRIORITY
DELAYED_PRIORITY is the lowest priority: Demons will be processed after
VAR_PRIORITY and NORMAL_PRIORITY demons. |
static int |
ENDS_AFTER
t ends after d, i.e.
|
static int |
ENDS_AFTER_END
t1 ends after t2 end, i.e.
|
static int |
ENDS_AFTER_START
t1 ends after t2 start, i.e.
|
static int |
ENDS_AT
t ends at d, i.e.
|
static int |
ENDS_AT_END
t1 ends at t2 end, i.e.
|
static int |
ENDS_AT_START
t1 ends at t2 start, i.e.
|
static int |
ENDS_BEFORE
t ends before d, i.e.
|
static int |
EQ
Move is accepted when the current objective value is in the interval
objective.Min .. objective.Max. |
static int |
EXCHANGE
Operator which exchanges the positions of two nodes.
|
static int |
EXTENDEDSWAPACTIVE
Operator which makes an inactive node active and an active one inactive.
|
static int |
FULLPATHLNS
Operator which relaxes one entire path and all inactive nodes, thus
defining num_paths neighbors. |
static int |
GE
Move is accepted when the current objective value >= objective.Min.
|
static int |
IN_ROOT_NODE
Executing the root node.
|
static int |
IN_SEARCH
Executing the search code.
|
static int |
INCREMENT
Operator which defines one neighbor per variable.
|
static int |
INT_VALUE_DEFAULT
The default behavior is ASSIGN_MIN_VALUE.
|
static int |
INT_VALUE_SIMPLE
The simple selection is ASSIGN_MIN_VALUE.
|
static int |
INT_VAR_DEFAULT
The default behavior is CHOOSE_FIRST_UNBOUND.
|
static int |
INT_VAR_SIMPLE
The simple selection is CHOOSE_FIRST_UNBOUND.
|
static int |
INTERVAL_DEFAULT
The default is INTERVAL_SET_TIMES_FORWARD.
|
static int |
INTERVAL_SET_TIMES_BACKWARD
Selects the variable with the highest ending time of all variables,
and fixes the ending time to this highest values. |
static int |
INTERVAL_SET_TIMES_FORWARD
Selects the variable with the lowest starting time of all variables,
and fixes its starting time to this lowest value. |
static int |
INTERVAL_SIMPLE
The simple is INTERVAL_SET_TIMES_FORWARD.
|
static int |
KEEP_LEFT
Right branches are ignored.
|
static int |
KEEP_RIGHT
Left branches are ignored.
|
static int |
KILL_BOTH
Backtracks to the previous decisions, i.e. left and right branches are
not applied. |
static int |
kNumPriorities
Number of priorities for demons.
|
static int |
LE
Move is accepted when the current objective value <= objective.Max.
|
static int |
LK
Lin-Kernighan local search.
|
static int |
MAKEACTIVE
Operator which inserts an inactive node into a path.
|
static int |
MAKECHAININACTIVE
Operator which makes a "chain" of path nodes inactive.
|
static int |
MAKEINACTIVE
Operator which makes path nodes inactive.
|
static int |
MAXIMIZATION |
static int |
MINIMIZATION |
static int |
NO_CHANGE
Keeps the default behavior, i.e. apply left branch first, and then right
branch in case of backtracking. |
static int |
NO_MORE_SOLUTIONS
After failed NextSolution and before EndSearch.
|
static int |
NORMAL_PRIORITY
NORMAL_PRIORITY is the highest priority: Demons will be processed first.
|
static int |
NOT_SET
Optimization directions.
|
static int |
OROPT
Relocate: OROPT and RELOCATE.
|
static int |
OUTSIDE_SEARCH
Before search, after search.
|
static int |
PATHLNS
Operator which relaxes two sub-chains of three consecutive arcs each.
|
static int |
PROBLEM_INFEASIBLE
After search, the model is infeasible.
|
static int |
RELOCATE
Relocate neighborhood with length of 1 (see OROPT comment).
|
static int |
REVERSIBLE_ACTION |
static int |
SENTINEL
This enum is used internally in private methods Solver::PushState and
Solver::PopState to tag states in the search tree. |
static int |
SEQUENCE_DEFAULT
Used for scheduling.
|
static int |
SEQUENCE_SIMPLE |
static int |
SIMPLE_MARKER |
static int |
SIMPLELNS
Operator which defines one neighbor per variable.
|
static int |
SPLIT_LOWER_HALF
Split the domain in two around the center, and choose the lower
part first. |
static int |
SPLIT_UPPER_HALF
Split the domain in two around the center, and choose the lower
part first. |
static int |
STARTS_AFTER
t starts after d, i.e.
|
static int |
STARTS_AFTER_END
t1 starts after t2 end, i.e.
|
static int |
STARTS_AFTER_START
t1 starts after t2 start, i.e.
|
static int |
STARTS_AT
t starts at d, i.e.
|
static int |
STARTS_AT_END
t1 starts at t2 end, i.e.
|
static int |
STARTS_AT_START
t1 starts at t2 start, i.e.
|
static int |
STARTS_BEFORE
t starts before d, i.e.
|
static int |
STAYS_IN_SYNC
STARTS_AT_START and ENDS_AT_END at the same time.
|
static int |
SWAPACTIVE
Operator which replaces an active node by an inactive one.
|
static int |
SWAPACTIVECHAIN
Operator which replaces a chain of active nodes by an inactive one.
|
protected boolean |
swigCMemOwn |
static int |
SWITCH_BRANCHES
Applies right branch first.
|
static int |
TSPLNS
TSP-base LNS.
|
static int |
TSPOPT
Sliding TSP operator.
|
static int |
TWOOPT
Operator which reverses a sub-chain of a path.
|
static int |
UNACTIVELNS
Operator which relaxes all inactive nodes and one sub-chain of six
consecutive arcs. |
static int |
VAR_PRIORITY
VAR_PRIORITY is between DELAYED_PRIORITY and NORMAL_PRIORITY.
|
Constructor and Description |
---|
Solver(long cPtr,
boolean cMemoryOwn) |
Solver(java.lang.String name)
Solver API
|
Solver(java.lang.String name,
ConstraintSolverParameters parameters) |
Modifier and Type | Method and Description |
---|---|
void |
accept(ModelVisitor visitor)
Accepts the given model visitor.
|
long |
acceptedNeighbors()
The number of accepted neighbors.
|
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 calling Var() on an expression. |
void |
addConstraint(Constraint c)
Adds the constraint 'c' to the model.
|
void |
addLocalSearchMonitor(LocalSearchMonitor monitor)
Adds the local search monitor to the solver.
|
void |
addPropagationMonitor(PropagationMonitor monitor)
Adds the propagation monitor to the solver.
|
Decision |
balancing_decision() |
long |
branches()
The number of branches explored since the creation of the solver.
|
ModelCache |
cache()
Returns the cache of the model.
|
IntExpr |
castExpression(IntVar var)
Internal.
|
boolean |
checkAssignment(Assignment solution)
Checks whether the given assignment satisfies all relevant constraints.
|
boolean |
checkConstraint(Constraint ct)
Checks whether adding this constraint will lead to an immediate
failure. |
void |
checkFail() |
void |
clear_fail_intercept()
Internal
|
void |
ClearLocalSearchState()
Clears the local search state.
|
void |
ClearNeighbors()
Manipulate neighbors count; to be used for testing purposes only.
|
DecisionBuilder |
compose(DecisionBuilder[] dbs) |
DecisionBuilder |
compose(DecisionBuilder db1,
DecisionBuilder db2)
Creates a decision builder which sequentially composes decision builders.
|
DecisionBuilder |
compose(DecisionBuilder db1,
DecisionBuilder db2,
DecisionBuilder db3) |
DecisionBuilder |
compose(DecisionBuilder db1,
DecisionBuilder db2,
DecisionBuilder db3,
DecisionBuilder db4) |
LocalSearchOperator |
concatenateOperators(LocalSearchOperator[] ops)
Creates a local search operator which concatenates a vector of operators.
|
LocalSearchOperator |
concatenateOperators(LocalSearchOperator[] ops,
boolean restart) |
LocalSearchOperator |
concatenateOperators(LocalSearchOperator[] ops,
IntIntToLongFunction evaluator) |
SWIGTYPE_p_operations_research__ConstraintSolverParameters |
const_parameters() |
int |
constraints()
Counts the number of constraints that have been added
to the solver before the search. |
java.lang.String |
context()
Gets the current context of the search.
|
boolean |
currentlyInSolve()
Returns true whether the current search has been
created using a Solve() call instead of a NewSearch one. |
static ConstraintSolverParameters |
defaultSolverParameters()
Create a ConstraintSolverParameters proto with all the default values.
|
void |
delete() |
long |
demon_runs(int p)
The number of demons executed during search for a given priority.
|
void |
endSearch() |
void |
exportProfilingOverview(java.lang.String filename)
Exports the profiling information in a human readable overview.
|
long |
fail_stamp()
The fail_stamp() is incremented after each backtrack.
|
void |
fail()
Abandon the current branch in the search tree.
|
long |
failures()
The number of failures encountered since the creation of the solver.
|
long |
filteredNeighbors()
The number of filtered neighbors (neighbors accepted by filters).
|
protected void |
finalize() |
void |
finishCurrentSearch()
Tells the solver to kill or restart the current search.
|
static long |
getCPtr(Solver obj) |
long |
GetGuidedLocalSearchPenalty(long i,
long j,
long k) |
LocalSearchMonitor |
getLocalSearchMonitor()
Returns the local search monitor.
|
Assignment |
GetOrCreateLocalSearchState()
Returns (or creates) an assignment representing the state of local search.
|
PropagationMonitor |
getPropagationMonitor()
Returns the propagation monitor.
|
long[] |
getTmpVector()
Unsafe temporary vector.
|
boolean |
hasName(PropagationBaseObject object)
Returns whether the object has been named or not.
|
void |
IncrementNeighbors() |
boolean |
instrumentsDemons()
Returns whether we are instrumenting demons.
|
boolean |
instrumentsVariables()
Returns whether we are tracing variables.
|
boolean |
isLocalSearchProfilingEnabled()
Returns whether we are profiling local search.
|
boolean |
isProfilingEnabled()
Returns whether we are profiling the solver.
|
void |
keepAliveDecisionBuilder(DecisionBuilder db) |
void |
keepAliveDecisionBuilder(DecisionBuilder[] dbs) |
java.lang.String |
localSearchProfile()
Returns local search profiling information in a human readable format.
|
IntExpr |
makeAbs(IntExpr expr)
|expr|
|
Constraint |
makeAbsEquality(IntVar var,
IntVar abs_var)
Creates the constraint abs(var) == abs_var.
|
LocalSearchFilter |
MakeAcceptFilter()
Local Search Filters
|
Constraint |
makeAllDifferent(IntVar[] vars)
All variables are pairwise different.
|
Constraint |
makeAllDifferent(IntVar[] vars,
boolean stronger_propagation)
All variables are pairwise different.
|
Constraint |
makeAllDifferentExcept(IntVar[] vars,
long escape_value)
All variables are pairwise different, unless they are assigned to
the escape value. |
Constraint |
makeAllowedAssignment(IntVar[] vars,
IntTupleSet tuples)
This method creates a constraint where the graph of the relation
between the variables is given in extension. |
SolutionCollector |
makeAllSolutionCollector()
Collect all solutions of the search.
|
SolutionCollector |
makeAllSolutionCollector(Assignment assignment)
Collect all solutions of the search.
|
Assignment |
makeAssignment()
This method creates an empty assignment.
|
Assignment |
makeAssignment(Assignment a)
This method creates an assignment which is a copy of 'a'.
|
Decision |
makeAssignVariablesValues(IntVar[] vars,
long[] values) |
Decision |
MakeAssignVariablesValuesOrDoNothing(IntVar[] vars,
long[] values) |
Decision |
MakeAssignVariablesValuesOrFail(IntVar[] vars,
long[] values) |
Decision |
makeAssignVariableValue(IntVar var,
long val)
Decisions.
|
Decision |
MakeAssignVariableValueOrDoNothing(IntVar var,
long value) |
Decision |
makeAssignVariableValueOrFail(IntVar var,
long value) |
SearchMonitor |
makeAtSolutionCallback(java.lang.Runnable callback) |
SolutionCollector |
MakeBestLexicographicValueSolutionCollector(Assignment assignment,
SWIGTYPE_p_std__vectorT_bool_t maximize)
Same as above, but supporting lexicographic objectives; 'maximize'
specifies the optimization direction for each objective in 'assignment'. |
SolutionCollector |
MakeBestLexicographicValueSolutionCollector(SWIGTYPE_p_std__vectorT_bool_t maximize)
Same as above, but supporting lexicographic objectives; 'maximize'
specifies the optimization direction for each objective. |
SolutionCollector |
makeBestValueSolutionCollector(Assignment assignment,
boolean maximize)
Collect the solution corresponding to the optimal value of the objective
of 'assignment'; if 'assignment' does not have an objective no solution is collected. |
SolutionCollector |
makeBestValueSolutionCollector(boolean maximize)
Collect the solution corresponding to the optimal value of the
objective of the internal assignment; if this assignment does not have an objective no solution is collected. |
Constraint |
makeBetweenCt(IntExpr expr,
long l,
long u)
(l <= expr <= u)
|
IntVar |
makeBoolVar()
MakeBoolVar will create a variable with a {0, 1} domain.
|
IntVar |
makeBoolVar(java.lang.String name)
MakeBoolVar will create a variable with a {0, 1} domain.
|
IntVar[] |
makeBoolVarArray(int count) |
IntVar[] |
makeBoolVarArray(int count,
java.lang.String name) |
RegularLimit |
makeBranchesLimit(long branches)
Creates a search limit that constrains the number of branches
explored in the search tree. |
Constraint |
makeCircuit(IntVar[] nexts)
Force the "nexts" variable to create a complete Hamiltonian path.
|
Demon |
makeClosureDemon(java.lang.Runnable closure)
Creates a demon from a closure.
|
IntExpr |
makeConditionalExpression(IntVar condition,
IntExpr expr,
long unperformed_value)
Conditional Expr condition ?
|
SearchMonitor |
makeConstantRestart(int frequency)
This search monitor will restart the search periodically after 'frequency'
failures. |
DecisionBuilder |
makeConstraintAdder(Constraint ct)
Returns a decision builder that will add the given constraint to
the model. |
Demon |
makeConstraintInitialPropagateCallback(Constraint ct)
This method is a specialized case of the MakeConstraintDemon
method to call the InitiatePropagate of the constraint 'ct'. |
IntExpr |
makeConvexPiecewiseExpr(IntExpr expr,
long early_cost,
long early_date,
long late_date,
long late_cost)
Convex piecewise function.
|
Constraint |
makeCount(IntVar[] vars,
long value,
IntVar max_count)
|{i | vars[i] == value}| == max_count
|
Constraint |
makeCount(IntVar[] vars,
long value,
long max_count)
|{i | vars[i] == value}| == max_count
|
Constraint |
makeCover(IntervalVar[] vars,
IntervalVar target_var)
This constraint states that the target_var is the convex hull of
the intervals. |
Constraint |
makeCumulative(IntervalVar[] intervals,
int[] demands,
IntVar capacity,
java.lang.String name)
This constraint enforces that, for any integer t, the sum of the demands
corresponding to an interval containing t does not exceed the given capacity. |
Constraint |
makeCumulative(IntervalVar[] intervals,
int[] demands,
long capacity,
java.lang.String name)
This constraint forces that, for any integer t, the sum of the demands
corresponding to an interval containing t does not exceed the given capacity. |
Constraint |
makeCumulative(IntervalVar[] intervals,
IntVar[] demands,
IntVar capacity,
java.lang.String name)
This constraint enforces that, for any integer t, the sum of demands
corresponding to an interval containing t does not exceed the given capacity. |
Constraint |
makeCumulative(IntervalVar[] intervals,
IntVar[] demands,
long capacity,
java.lang.String name)
This constraint enforces that, for any integer t, the sum of demands
corresponding to an interval containing t does not exceed the given capacity. |
Constraint |
makeCumulative(IntervalVar[] intervals,
long[] demands,
IntVar capacity,
java.lang.String name)
This constraint forces that, for any integer t, the sum of the demands
corresponding to an interval containing t does not exceed the given capacity. |
Constraint |
makeCumulative(IntervalVar[] intervals,
long[] demands,
long capacity,
java.lang.String name)
This constraint forces that, for any integer t, the sum of the demands
corresponding to an interval containing t does not exceed the given capacity. |
SearchLimit |
makeCustomLimit(java.util.function.BooleanSupplier limiter)
Callback-based search limit.
|
Decision |
makeDecision(java.util.function.Consumer<Solver> apply,
java.util.function.Consumer<Solver> refute) |
DecisionBuilder |
makeDecisionBuilderFromAssignment(Assignment assignment,
DecisionBuilder db,
IntVar[] vars)
Returns a decision builder for which the left-most leaf corresponds
to assignment, the rest of the tree being explored using 'db'. |
DecisionBuilder |
makeDefaultPhase(IntVar[] vars) |
DecisionBuilder |
makeDefaultPhase(IntVar[] vars,
DefaultPhaseParameters parameters) |
RegularLimitParameters |
makeDefaultRegularLimitParameters()
Creates a regular limit proto containing default values.
|
SolutionPool |
makeDefaultSolutionPool()
Solution Pool.
|
Demon |
makeDelayedConstraintInitialPropagateCallback(Constraint ct)
This method is a specialized case of the MakeConstraintDemon
method to call the InitiatePropagate of the constraint 'ct' with low priority. |
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 constraints have propagated. |
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 n = #vars |
IntExpr |
makeDifference(IntExpr left,
IntExpr right)
left - right
|
IntExpr |
makeDifference(long value,
IntExpr expr)
value - expr
|
DisjunctiveConstraint |
makeDisjunctiveConstraint(IntervalVar[] intervals,
java.lang.String name)
This constraint forces all interval vars into an non-overlapping
sequence. |
Constraint |
makeDistribute(IntVar[] vars,
int[] card_min,
int[] card_max)
Aggregated version of count with bounded cardinalities:
forall j in 0 .. card_size - 1: card_min[j] <= |{i | v[i] == j}| <= card_max[j] |
Constraint |
makeDistribute(IntVar[] vars,
int[] values,
int[] card_min,
int[] card_max)
Aggregated version of count with bounded cardinalities:
forall j in 0 .. card_size - 1: card_min[j] <= |{i | v[i] == values[j]}| <= card_max[j] |
Constraint |
makeDistribute(IntVar[] vars,
int[] values,
IntVar[] cards)
Aggregated version of count: |{i | v[i] == values[j]}| == cards[j]
|
Constraint |
makeDistribute(IntVar[] vars,
IntVar[] cards)
Aggregated version of count: |{i | v[i] == j}| == cards[j]
|
Constraint |
makeDistribute(IntVar[] vars,
long[] values,
IntVar[] cards)
Aggregated version of count: |{i | v[i] == values[j]}| == cards[j]
|
Constraint |
makeDistribute(IntVar[] vars,
long[] card_min,
long[] card_max)
Aggregated version of count with bounded cardinalities:
forall j in 0 .. card_size - 1: card_min[j] <= |{i | v[i] == j}| <= card_max[j] |
Constraint |
makeDistribute(IntVar[] vars,
long[] values,
long[] card_min,
long[] card_max)
Aggregated version of count with bounded cardinalities:
forall j in 0 .. card_size - 1: card_min[j] <= |{i | v[i] == values[j]}| <= card_max[j] |
Constraint |
makeDistribute(IntVar[] vars,
long card_min,
long card_max,
long card_size)
Aggregated version of count with bounded cardinalities:
forall j in 0 .. card_size - 1: card_min <= |{i | v[i] == j}| <= card_max |
IntExpr |
makeDiv(IntExpr numerator,
IntExpr denominator)
numerator / denominator (integer division).
|
IntExpr |
makeDiv(IntExpr expr,
long value)
expr / value (integer division)
|
IntExpr |
makeElement(int[] values,
IntVar index)
values[index]
|
IntExpr |
makeElement(IntVar[] vars,
IntVar index)
vars[expr]
|
IntExpr |
makeElement(long[] values,
IntVar index)
values[index]
|
IntExpr |
makeElement(java.util.function.LongBinaryOperator values,
IntVar index1,
IntVar index2)
2D version of function-based element expression, values(expr1, expr2).
|
IntExpr |
makeElement(java.util.function.LongUnaryOperator values,
IntVar index)
Function-based element.
|
Constraint |
makeElementEquality(int[] vals,
IntVar index,
IntVar target) |
Constraint |
makeElementEquality(IntVar[] vars,
IntVar index,
IntVar target) |
Constraint |
makeElementEquality(IntVar[] vars,
IntVar index,
long target) |
Constraint |
makeElementEquality(long[] vals,
IntVar index,
IntVar target) |
SearchMonitor |
makeEnterSearchCallback(java.lang.Runnable callback)
----- Callback-based search monitors -----
|
Constraint |
makeEquality(IntervalVar var1,
IntervalVar var2)
This constraints states that the two interval variables are equal.
|
Constraint |
makeEquality(IntExpr expr,
int value)
expr == value
|
Constraint |
makeEquality(IntExpr left,
IntExpr right)
left == right
|
Constraint |
makeEquality(IntExpr expr,
long value)
expr == value
|
SearchMonitor |
makeExitSearchCallback(java.lang.Runnable callback) |
Decision |
makeFailDecision() |
RegularLimit |
makeFailuresLimit(long failures)
Creates a search limit that constrains the number of failures
that can happen when exploring the search tree. |
Constraint |
makeFalseConstraint()
This constraint always fails.
|
Constraint |
makeFalseConstraint(java.lang.String explanation) |
SolutionCollector |
makeFirstSolutionCollector()
Collect the first solution of the search.
|
SolutionCollector |
makeFirstSolutionCollector(Assignment assignment)
Collect the first solution of the search.
|
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 interval, with a given offset. |
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 interval, with a given offset. |
IntervalVar |
makeFixedDurationIntervalVar(IntVar start_variable,
long duration,
IntVar performed_variable,
java.lang.String name)
Creates an interval var with a fixed duration, and performed_variable.
|
IntervalVar |
makeFixedDurationIntervalVar(IntVar start_variable,
long duration,
java.lang.String name)
Creates a performed interval var with a fixed duration.
|
IntervalVar |
makeFixedDurationIntervalVar(long start_min,
long start_max,
long duration,
boolean optional,
java.lang.String name)
Creates an interval var with a fixed duration.
|
IntervalVar[] |
makeFixedDurationIntervalVarArray(int count,
long start_min,
long start_max,
long duration,
boolean optional) |
IntervalVar[] |
makeFixedDurationIntervalVarArray(int count,
long start_min,
long start_max,
long duration,
boolean optional,
java.lang.String name) |
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 interval, with a given offset. |
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 interval, with a given offset. |
IntervalVar |
makeFixedInterval(long start,
long duration,
java.lang.String name)
Creates a fixed and performed interval.
|
ObjectiveMonitor |
makeGenericTabuSearch(boolean maximize,
IntVar v,
long step,
IntVar[] tabu_vars,
long forbid_tenure)
Creates a Tabu Search based on the vars |vars|.
|
Constraint |
makeGreater(IntExpr expr,
int value)
expr > value
|
Constraint |
makeGreater(IntExpr left,
IntExpr right)
left > right
|
Constraint |
makeGreater(IntExpr expr,
long value)
expr > value
|
Constraint |
makeGreaterOrEqual(IntExpr expr,
int value)
expr >= value
|
Constraint |
makeGreaterOrEqual(IntExpr left,
IntExpr right)
left >= right
|
Constraint |
makeGreaterOrEqual(IntExpr expr,
long value)
expr >= value
|
Constraint |
makeIfThenElseCt(IntVar condition,
IntExpr then_expr,
IntExpr else_expr,
IntVar target_var)
Special cases with arrays of size two.
|
ImprovementSearchLimit |
MakeImprovementLimit(IntVar objective_var,
boolean maximize,
double objective_scaling_factor,
double objective_offset,
double improvement_rate_coefficient,
int improvement_rate_solutions_distance)
Limits the search based on the improvements of 'objective_var'.
|
IntExpr |
makeIndexExpression(IntVar[] vars,
long value)
Returns the expression expr such that vars[expr] == value.
|
Constraint |
makeIndexOfConstraint(IntVar[] vars,
IntVar index,
long target)
This constraint is a special case of the element constraint with
an array of integer variables, where the variables are all different and the index variable is constrained such that vars[index] == target. |
Constraint |
makeIndexOfFirstMaxValueConstraint(IntVar index,
IntVar[] vars)
Creates a constraint that binds the index variable to the index of the
first variable with the maximum value. |
Constraint |
makeIndexOfFirstMinValueConstraint(IntVar index,
IntVar[] vars)
Creates a constraint that binds the index variable to the index of the
first variable with the minimum value. |
IntVar |
makeIntConst(long val)
IntConst will create a constant expression.
|
IntVar |
makeIntConst(long val,
java.lang.String name)
IntConst will create a constant expression.
|
IntervalVar |
makeIntervalRelaxedMax(IntervalVar interval_var)
Creates and returns an interval variable that wraps around the given one,
relaxing the max start and end. |
IntervalVar |
makeIntervalRelaxedMin(IntervalVar interval_var)
Creates and returns an interval variable that wraps around the given one,
relaxing the min start and end. |
IntervalVar |
makeIntervalVar(long start_min,
long start_max,
long duration_min,
long duration_max,
long end_min,
long end_max,
boolean optional,
java.lang.String name)
Creates an interval var by specifying the bounds on start,
duration, and end. |
Constraint |
makeIntervalVarRelation(IntervalVar t1,
int r,
IntervalVar t2)
This method creates a relation between two interval vars.
|
Constraint |
makeIntervalVarRelation(IntervalVar t,
int r,
long d)
This method creates a relation between an interval var and a
date. |
Constraint |
makeIntervalVarRelationWithDelay(IntervalVar t1,
int r,
IntervalVar t2,
long delay)
This method creates a relation between two interval vars.
|
IntVar |
makeIntVar(int[] values)
MakeIntVar will create a variable with the given sparse domain.
|
IntVar |
makeIntVar(int[] values,
java.lang.String name)
MakeIntVar will create a variable with the given sparse domain.
|
IntVar |
makeIntVar(long[] values)
MakeIntVar will create a variable with the given sparse domain.
|
IntVar |
makeIntVar(long[] values,
java.lang.String name)
MakeIntVar will create a variable with the given sparse domain.
|
IntVar |
makeIntVar(long min,
long max)
MakeIntVar will create the best range based int var for the bounds given.
|
IntVar |
makeIntVar(long min,
long max,
java.lang.String name)
MakeIntVar will create the best range based int var for the bounds given.
|
IntVar[] |
makeIntVarArray(int count,
long min,
long max) |
IntVar[] |
makeIntVarArray(int count,
long min,
long max,
java.lang.String name) |
Constraint |
makeInversePermutationConstraint(IntVar[] left,
IntVar[] right)
Creates a constraint that enforces that 'left' and 'right' both
represent permutations of [0..left.size()-1], and that 'right' is the inverse permutation of 'left', i.e. for all i in [0..left.size()-1], right[left[i]] = i. |
Constraint |
makeIsBetweenCt(IntExpr expr,
long l,
long u,
IntVar b)
b == (l <= expr <= u)
|
IntVar |
makeIsBetweenVar(IntExpr v,
long l,
long u) |
Constraint |
makeIsDifferentCstCt(IntExpr v1,
IntExpr v2,
IntVar b)
b == (v1 !
|
Constraint |
makeIsDifferentCstCt(IntExpr var,
long value,
IntVar boolvar)
boolvar == (var !
|
IntVar |
makeIsDifferentCstVar(IntExpr v1,
IntExpr v2)
status var of (v1 !
|
IntVar |
makeIsDifferentCstVar(IntExpr var,
long value)
status var of (var !
|
Constraint |
makeIsEqualCstCt(IntExpr var,
long value,
IntVar boolvar)
boolvar == (var == value)
|
IntVar |
makeIsEqualCstVar(IntExpr var,
long value)
status var of (var == value)
|
IntVar |
makeIsEqualVar(IntExpr v1,
IntExpr v2)
status var of (v1 == v2)
|
Constraint |
makeIsEqualVar(IntExpr v1,
IntExpr v2,
IntVar b)
b == (v1 == v2)
|
Constraint |
makeIsGreaterCstCt(IntExpr v,
long c,
IntVar b)
b == (v > c)
|
IntVar |
makeIsGreaterCstVar(IntExpr var,
long value)
status var of (var > value)
|
Constraint |
makeIsGreaterCt(IntExpr left,
IntExpr right,
IntVar b)
b == (left > right)
|
Constraint |
makeIsGreaterOrEqualCstCt(IntExpr var,
long value,
IntVar boolvar)
boolvar == (var >= value)
|
IntVar |
makeIsGreaterOrEqualCstVar(IntExpr var,
long value)
status var of (var >= value)
|
Constraint |
makeIsGreaterOrEqualCt(IntExpr left,
IntExpr right,
IntVar b)
b == (left >= right)
|
IntVar |
makeIsGreaterOrEqualVar(IntExpr left,
IntExpr right)
status var of (left >= right)
|
IntVar |
makeIsGreaterVar(IntExpr left,
IntExpr right)
status var of (left > right)
|
Constraint |
makeIsLessCstCt(IntExpr v,
long c,
IntVar b)
b == (v < c)
|
IntVar |
makeIsLessCstVar(IntExpr var,
long value)
status var of (var < value)
|
Constraint |
makeIsLessCt(IntExpr left,
IntExpr right,
IntVar b)
b == (left < right)
|
Constraint |
makeIsLessOrEqualCstCt(IntExpr var,
long value,
IntVar boolvar)
boolvar == (var <= value)
|
IntVar |
makeIsLessOrEqualCstVar(IntExpr var,
long value)
status var of (var <= value)
|
Constraint |
makeIsLessOrEqualCt(IntExpr left,
IntExpr right,
IntVar b)
b == (left <= right)
|
IntVar |
makeIsLessOrEqualVar(IntExpr left,
IntExpr right)
status var of (left <= right)
|
IntVar |
makeIsLessVar(IntExpr left,
IntExpr right)
status var of (left < right)
|
Constraint |
MakeIsLexicalLessOrEqualWithOffsetsCt(IntVar[] left,
IntVar[] right,
long[] offsets,
IntVar boolvar) |
Constraint |
makeIsMemberCt(IntExpr expr,
int[] values,
IntVar boolvar) |
Constraint |
makeIsMemberCt(IntExpr expr,
long[] values,
IntVar boolvar)
boolvar == (expr in set)
|
IntVar |
makeIsMemberVar(IntExpr expr,
int[] values) |
IntVar |
makeIsMemberVar(IntExpr expr,
long[] values) |
SolutionCollector |
makeLastSolutionCollector()
Collect the last solution of the search.
|
SolutionCollector |
makeLastSolutionCollector(Assignment assignment)
Collect the last solution of the search.
|
Constraint |
makeLess(IntExpr expr,
int value)
expr < value
|
Constraint |
makeLess(IntExpr left,
IntExpr right)
left < right
|
Constraint |
makeLess(IntExpr expr,
long value)
expr < value
|
Constraint |
makeLessOrEqual(IntExpr expr,
int value)
expr <= value
|
Constraint |
makeLessOrEqual(IntExpr left,
IntExpr right)
left <= right
|
Constraint |
makeLessOrEqual(IntExpr expr,
long value)
expr <= value
|
Constraint |
makeLexicalLess(IntVar[] left,
IntVar[] right)
Creates a constraint that enforces that left is lexicographically less
than right. |
Constraint |
makeLexicalLessOrEqual(IntVar[] left,
IntVar[] right)
Creates a constraint that enforces that left is lexicographically less
than or equal to right. |
Constraint |
MakeLexicalLessOrEqualWithOffsets(IntVar[] left,
IntVar[] right,
long[] offsets)
Creates a constraint that enforces that left is lexicographically less
than or equal to right with an offset. |
ImprovementSearchLimit |
MakeLexicographicImprovementLimit(IntVar[] objective_vars,
SWIGTYPE_p_std__vectorT_bool_t maximize,
double[] objective_scaling_factors,
double[] objective_offsets,
double improvement_rate_coefficient,
int improvement_rate_solutions_distance)
Same as MakeImprovementLimit on a lexicographic objective based on
'objective_vars' and related arguments. |
OptimizeVar |
MakeLexicographicOptimize(SWIGTYPE_p_std__vectorT_bool_t maximize,
IntVar[] variables,
long[] steps)
Creates a lexicographic objective, following the order of the variables
given. |
ObjectiveMonitor |
MakeLexicographicSimulatedAnnealing(SWIGTYPE_p_std__vectorT_bool_t maximize,
IntVar[] vars,
long[] steps,
long[] initial_temperatures) |
ObjectiveMonitor |
MakeLexicographicTabuSearch(SWIGTYPE_p_std__vectorT_bool_t maximize,
IntVar[] objectives,
long[] steps,
IntVar[] vars,
long keep_tenure,
long forbid_tenure,
double tabu_factor) |
RegularLimit |
makeLimit(long time,
long branches,
long failures,
long solutions) |
RegularLimit |
makeLimit(long time,
long branches,
long failures,
long solutions,
boolean smart_time_check) |
RegularLimit |
makeLimit(long time,
long branches,
long failures,
long solutions,
boolean smart_time_check,
boolean cumulative) |
RegularLimit |
makeLimit(RegularLimitParameters proto)
Creates a search limit from its protobuf description
|
SearchLimit |
makeLimit(SearchLimit limit_1,
SearchLimit limit_2)
Creates a search limit that is reached when either of the underlying limit
is reached. |
RegularLimit |
makeLimit(SWIGTYPE_p_absl__Duration time,
long branches,
long failures,
long solutions)
Limits the search with the 'time', 'branches', 'failures' and
'solutions' limits. |
RegularLimit |
makeLimit(SWIGTYPE_p_absl__Duration time,
long branches,
long failures,
long solutions,
boolean smart_time_check)
Limits the search with the 'time', 'branches', 'failures' and
'solutions' limits. |
RegularLimit |
makeLimit(SWIGTYPE_p_absl__Duration time,
long branches,
long failures,
long solutions,
boolean smart_time_check,
boolean cumulative)
Limits the search with the 'time', 'branches', 'failures' and
'solutions' limits. |
DecisionBuilder |
makeLocalSearchPhase(Assignment assignment,
LocalSearchPhaseParameters parameters)
Local Search decision builders factories.
|
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.
|
DecisionBuilder |
makeLocalSearchPhase(IntVar[] vars,
DecisionBuilder first_solution,
LocalSearchPhaseParameters parameters) |
DecisionBuilder |
makeLocalSearchPhase(SequenceVar[] vars,
DecisionBuilder first_solution,
LocalSearchPhaseParameters parameters) |
LocalSearchPhaseParameters |
makeLocalSearchPhaseParameters(IntVar objective,
LocalSearchOperator ls_operator,
DecisionBuilder sub_decision_builder)
Local Search Phase Parameters
|
LocalSearchPhaseParameters |
makeLocalSearchPhaseParameters(IntVar objective,
LocalSearchOperator ls_operator,
DecisionBuilder sub_decision_builder,
RegularLimit limit) |
LocalSearchPhaseParameters |
makeLocalSearchPhaseParameters(IntVar objective,
LocalSearchOperator ls_operator,
DecisionBuilder sub_decision_builder,
RegularLimit limit,
LocalSearchFilterManager filter_manager) |
LocalSearchPhaseParameters |
makeLocalSearchPhaseParameters(IntVar objective,
SolutionPool pool,
LocalSearchOperator ls_operator,
DecisionBuilder sub_decision_builder) |
LocalSearchPhaseParameters |
makeLocalSearchPhaseParameters(IntVar objective,
SolutionPool pool,
LocalSearchOperator ls_operator,
DecisionBuilder sub_decision_builder,
RegularLimit limit) |
LocalSearchPhaseParameters |
makeLocalSearchPhaseParameters(IntVar objective,
SolutionPool pool,
LocalSearchOperator ls_operator,
DecisionBuilder sub_decision_builder,
RegularLimit limit,
LocalSearchFilterManager filter_manager) |
SearchMonitor |
makeLubyRestart(int scale_factor)
This search monitor will restart the search periodically.
|
Constraint |
makeMapDomain(IntVar var,
IntVar[] actives)
This constraint maps the domain of 'var' onto the array of
variables 'actives'. |
IntExpr |
makeMax(IntExpr expr,
int value)
std::max(expr, value)
|
IntExpr |
makeMax(IntExpr left,
IntExpr right)
std::max(left, right)
|
IntExpr |
makeMax(IntExpr expr,
long value)
std::max(expr, value)
|
IntExpr |
makeMax(IntVar[] vars)
std::max(vars)
|
Constraint |
makeMaxEquality(IntVar[] vars,
IntVar max_var) |
OptimizeVar |
makeMaximize(IntVar v,
long step)
Creates a maximization objective.
|
Constraint |
makeMemberCt(IntExpr expr,
int[] values) |
Constraint |
makeMemberCt(IntExpr expr,
long[] values)
expr in set.
|
IntExpr |
makeMin(IntExpr expr,
int value)
std::min(expr, value)
|
IntExpr |
makeMin(IntExpr left,
IntExpr right)
std::min (left, right)
|
IntExpr |
makeMin(IntExpr expr,
long value)
std::min(expr, value)
|
IntExpr |
makeMin(IntVar[] vars)
std::min(vars)
|
Constraint |
makeMinEquality(IntVar[] vars,
IntVar min_var) |
OptimizeVar |
makeMinimize(IntVar v,
long step)
Creates a minimization objective.
|
IntervalVar |
makeMirrorInterval(IntervalVar interval_var)
Creates an interval var that is the mirror image of the given one, that
is, the interval var obtained by reversing the axis. |
IntExpr |
makeModulo(IntExpr x,
IntExpr mod)
Modulo expression x % mod (with the python convention for modulo).
|
IntExpr |
makeModulo(IntExpr x,
long mod)
General piecewise-linear function expression, built from f(x) where f is
piecewise-linear. |
IntExpr |
makeMonotonicElement(java.util.function.LongUnaryOperator values,
boolean increasing,
IntVar index)
Function based element.
|
LocalSearchOperator |
makeMoveTowardTargetOperator(Assignment target)
Creates a local search operator that tries to move the assignment of some
variables toward a target. |
LocalSearchOperator |
makeMoveTowardTargetOperator(IntVar[] variables,
long[] target_values)
Creates a local search operator that tries to move the assignment of some
variables toward a target. |
SolutionCollector |
MakeNBestLexicographicValueSolutionCollector(Assignment assignment,
int solution_count,
SWIGTYPE_p_std__vectorT_bool_t maximize)
Same as above but supporting lexicographic objectives; 'maximize'
specifies the optimization direction for each objective. |
SolutionCollector |
MakeNBestLexicographicValueSolutionCollector(int solution_count,
SWIGTYPE_p_std__vectorT_bool_t maximize) |
SolutionCollector |
makeNBestValueSolutionCollector(Assignment assignment,
int solution_count,
boolean maximize)
Same as MakeBestValueSolutionCollector but collects the best
solution_count solutions. |
SolutionCollector |
makeNBestValueSolutionCollector(int solution_count,
boolean maximize) |
LocalSearchOperator |
makeNeighborhoodLimit(LocalSearchOperator op,
long limit)
Creates a local search operator that wraps another local search
operator and limits the number of neighbors explored (i.e., calls to MakeNextNeighbor from the current solution (between two calls to Start()). |
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 and wrap it into a single point. |
DecisionBuilder |
makeNestedOptimize(DecisionBuilder db,
Assignment solution,
boolean maximize,
long step,
SearchMonitor monitor1) |
DecisionBuilder |
makeNestedOptimize(DecisionBuilder db,
Assignment solution,
boolean maximize,
long step,
SearchMonitor[] monitors) |
DecisionBuilder |
makeNestedOptimize(DecisionBuilder db,
Assignment solution,
boolean maximize,
long step,
SearchMonitor monitor1,
SearchMonitor monitor2) |
DecisionBuilder |
makeNestedOptimize(DecisionBuilder db,
Assignment solution,
boolean maximize,
long step,
SearchMonitor monitor1,
SearchMonitor monitor2,
SearchMonitor monitor3) |
DecisionBuilder |
makeNestedOptimize(DecisionBuilder db,
Assignment solution,
boolean maximize,
long step,
SearchMonitor monitor1,
SearchMonitor monitor2,
SearchMonitor monitor3,
SearchMonitor monitor4) |
Constraint |
makeNoCycle(IntVar[] nexts,
IntVar[] active)
Prevent cycles.
|
Constraint |
makeNoCycle(IntVar[] nexts,
IntVar[] active,
java.util.function.LongPredicate sink_handler)
Prevent cycles.
|
Constraint |
makeNoCycle(IntVar[] nexts,
IntVar[] active,
java.util.function.LongPredicate sink_handler,
boolean assume_paths) |
Constraint |
makeNonEquality(IntExpr expr,
int value)
expr !
|
Constraint |
makeNonEquality(IntExpr left,
IntExpr right)
left !
|
Constraint |
makeNonEquality(IntExpr expr,
long value)
expr !
|
Constraint |
makeNonOverlappingBoxesConstraint(IntVar[] x_vars,
IntVar[] y_vars,
IntVar[] x_size,
IntVar[] y_size)
This constraint states that all the boxes must not overlap.
|
Constraint |
makeNonOverlappingBoxesConstraint(IntVar[] x_vars,
IntVar[] y_vars,
SWIGTYPE_p_absl__SpanT_int_const_t x_size,
SWIGTYPE_p_absl__SpanT_int_const_t y_size) |
Constraint |
makeNonOverlappingBoxesConstraint(IntVar[] x_vars,
IntVar[] y_vars,
SWIGTYPE_p_absl__SpanT_long_const_t x_size,
SWIGTYPE_p_absl__SpanT_long_const_t y_size) |
Constraint |
makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars,
IntVar[] y_vars,
IntVar[] x_size,
IntVar[] y_size)
This constraint states that all the boxes must not overlap.
|
Constraint |
makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars,
IntVar[] y_vars,
SWIGTYPE_p_absl__SpanT_int_const_t x_size,
SWIGTYPE_p_absl__SpanT_int_const_t y_size) |
Constraint |
makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars,
IntVar[] y_vars,
SWIGTYPE_p_absl__SpanT_long_const_t x_size,
SWIGTYPE_p_absl__SpanT_long_const_t y_size) |
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. |
Constraint |
makeNotMemberCt(IntExpr expr,
int[] values) |
Constraint |
makeNotMemberCt(IntExpr expr,
int[] starts,
int[] ends)
expr should not be in the list of forbidden intervals [start[i]..end[i]].
|
Constraint |
makeNotMemberCt(IntExpr expr,
long[] values)
expr not in set.
|
Constraint |
makeNotMemberCt(IntExpr expr,
long[] starts,
long[] ends)
expr should not be in the list of forbidden intervals [start[i]..end[i]].
|
Constraint |
makeNullIntersect(IntVar[] first_vars,
IntVar[] second_vars)
Creates a constraint that states that all variables in the first
vector are different from all variables in the second group. |
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 variables from the second group, unless they are assigned to the escape value. |
LocalSearchOperator |
makeOperator(IntVar[] vars,
int op)
Local Search Operators.
|
LocalSearchOperator |
makeOperator(IntVar[] vars,
int op,
SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_incoming_neighbors)
Local Search Operators.
|
LocalSearchOperator |
makeOperator(IntVar[] vars,
int op,
SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_incoming_neighbors,
SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_outgoing_neighbors)
Local Search Operators.
|
LocalSearchOperator |
makeOperator(IntVar[] vars,
IntVar[] secondary_vars,
int op) |
LocalSearchOperator |
makeOperator(IntVar[] vars,
IntVar[] secondary_vars,
int op,
SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_incoming_neighbors) |
LocalSearchOperator |
makeOperator(IntVar[] vars,
IntVar[] secondary_vars,
int op,
SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_incoming_neighbors,
SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_outgoing_neighbors) |
LocalSearchOperator |
makeOperator(IntVar[] vars,
IntVar[] secondary_vars,
LongTernaryOperator evaluator,
int op) |
LocalSearchOperator |
makeOperator(IntVar[] vars,
LongTernaryOperator evaluator,
int op) |
IntExpr |
makeOpposite(IntExpr expr)
-expr
|
OptimizeVar |
makeOptimize(boolean maximize,
IntVar v,
long step)
Creates a objective with a given sense (true = maximization).
|
Pack |
makePack(IntVar[] vars,
int number_of_bins)
This constraint packs all variables onto 'number_of_bins'
variables. |
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[i] to sinks[i]. |
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] + transits[i]. |
Constraint |
makePathCumul(IntVar[] nexts,
IntVar[] active,
IntVar[] cumuls,
IntVar[] slacks,
java.util.function.LongBinaryOperator transit_evaluator)
Creates a constraint which accumulates values along a path such that:
cumuls[next[i]] = cumuls[i] + transit_evaluator(i, next[i]) + slacks[i]. |
Constraint |
makePathCumul(IntVar[] nexts,
IntVar[] active,
IntVar[] cumuls,
java.util.function.LongBinaryOperator transit_evaluator)
Creates a constraint which accumulates values along a path such that:
cumuls[next[i]] = cumuls[i] + transit_evaluator(i, next[i]). |
DecisionBuilder |
makePhase(IntervalVar[] intervals,
int str)
Scheduling phases.
|
DecisionBuilder |
makePhase(IntVar[] vars,
int var_str,
int val_str)
Phases on IntVar arrays.
|
DecisionBuilder |
makePhase(IntVar[] vars,
int var_str,
java.util.function.LongBinaryOperator value_evaluator) |
DecisionBuilder |
makePhase(IntVar[] vars,
int var_str,
java.util.function.LongBinaryOperator value_evaluator,
java.util.function.LongUnaryOperator tie_breaker) |
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 better than assigning value "val2". |
DecisionBuilder |
makePhase(IntVar[] vars,
java.util.function.LongBinaryOperator eval,
int str)
Returns a decision builder which assigns values to variables which
minimize the values returned by the evaluator. |
DecisionBuilder |
makePhase(IntVar[] vars,
java.util.function.LongBinaryOperator eval,
java.util.function.LongUnaryOperator tie_breaker,
int str)
Returns a decision builder which assigns values to variables
which minimize the values returned by the evaluator. |
DecisionBuilder |
makePhase(IntVar[] vars,
java.util.function.LongUnaryOperator var_evaluator,
int val_str) |
DecisionBuilder |
makePhase(IntVar[] vars,
java.util.function.LongUnaryOperator var_evaluator,
java.util.function.LongBinaryOperator value_evaluator) |
DecisionBuilder |
makePhase(IntVar[] vars,
java.util.function.LongUnaryOperator var_evaluator,
java.util.function.LongBinaryOperator value_evaluator,
java.util.function.LongUnaryOperator tie_breaker) |
DecisionBuilder |
makePhase(IntVar v0,
int var_str,
int val_str)
Shortcuts for small arrays.
|
DecisionBuilder |
makePhase(IntVar v0,
IntVar v1,
int var_str,
int val_str) |
DecisionBuilder |
makePhase(IntVar v0,
IntVar v1,
IntVar v2,
int var_str,
int val_str) |
DecisionBuilder |
makePhase(IntVar v0,
IntVar v1,
IntVar v2,
IntVar v3,
int var_str,
int val_str) |
DecisionBuilder |
makePhase(SequenceVar[] sequences,
int str) |
IntExpr |
makePower(IntExpr expr,
long n)
expr ^ n (n > 0)
|
ModelVisitor |
makePrintModelVisitor()
Prints the model.
|
IntExpr |
makeProd(IntExpr left,
IntExpr right)
left * right
|
IntExpr |
makeProd(IntExpr expr,
long value)
expr * value
|
DecisionBuilder |
MakeProfiledDecisionBuilderWrapper(DecisionBuilder db)
Activates profiling on a decision builder.
|
LocalSearchOperator |
makeRandomLnsOperator(IntVar[] vars,
int number_of_variables)
Creates a large neighborhood search operator which creates fragments (set
of relaxed variables) with up to number_of_variables random variables (sampling with replacement is performed meaning that at most number_of_variables variables are selected). |
LocalSearchOperator |
makeRandomLnsOperator(IntVar[] vars,
int number_of_variables,
int seed) |
Decision |
makeRankFirstInterval(SequenceVar sequence,
int index)
Returns a decision that tries to rank first the ith interval var
in the sequence variable. |
Decision |
makeRankLastInterval(SequenceVar sequence,
int index)
Returns a decision that tries to rank last the ith interval var
in the sequence variable. |
LocalSearchFilter |
MakeRejectFilter() |
DecisionBuilder |
makeRestoreAssignment(Assignment assignment)
Returns a DecisionBuilder which restores an Assignment
(calls void Assignment::Restore()) |
BaseObjectiveMonitor |
MakeRoundRobinCompoundObjectiveMonitor(SWIGTYPE_p_std__vectorT_operations_research__BaseObjectiveMonitor_p_t monitors,
int num_max_local_optima_before_metaheuristic_switch)
Creates a Guided Local Search monitor.
|
IntExpr |
makeScalProd(IntVar[] vars,
int[] coefs)
scalar product
|
IntExpr |
makeScalProd(IntVar[] vars,
long[] coefs)
scalar product
|
Constraint |
makeScalProdEquality(IntVar[] vars,
int[] coefficients,
IntVar target) |
Constraint |
makeScalProdEquality(IntVar[] vars,
int[] coefficients,
long cst) |
Constraint |
makeScalProdEquality(IntVar[] vars,
long[] coefficients,
IntVar target) |
Constraint |
makeScalProdEquality(IntVar[] vars,
long[] coefficients,
long cst) |
Constraint |
makeScalProdGreaterOrEqual(IntVar[] vars,
int[] coeffs,
long cst) |
Constraint |
makeScalProdGreaterOrEqual(IntVar[] vars,
long[] coeffs,
long cst) |
Constraint |
makeScalProdLessOrEqual(IntVar[] vars,
int[] coefficients,
long cst) |
Constraint |
makeScalProdLessOrEqual(IntVar[] vars,
long[] coefficients,
long cst) |
Decision |
makeScheduleOrExpedite(IntervalVar var,
long est,
SWIGTYPE_p_long marker)
Returns a decision that tries to schedule a task at a given time.
|
Decision |
makeScheduleOrPostpone(IntervalVar var,
long est,
SWIGTYPE_p_long marker)
Returns a decision that tries to schedule a task at a given time.
|
SearchMonitor |
makeSearchLog(int branch_period)
The SearchMonitors below will display a periodic search log
on LOG(INFO) every branch_period branches explored. |
SearchMonitor |
makeSearchLog(int branch_period,
IntVar var)
At each solution, this monitor also display the var value.
|
SearchMonitor |
makeSearchLog(int branch_period,
IntVar[] vars,
java.util.function.Supplier<java.lang.String> display_callback)
At each solution, this monitor will display the 'vars' values and the
result of display_callback . |
SearchMonitor |
makeSearchLog(int branch_period,
IntVar var,
java.util.function.Supplier<java.lang.String> display_callback)
At each solution, this monitor will display the 'var' value and the
result of display_callback . |
SearchMonitor |
makeSearchLog(int branch_period,
OptimizeVar opt_var)
OptimizeVar Search Logs
At each solution, this monitor will also display the 'opt_var' value. |
SearchMonitor |
makeSearchLog(int branch_period,
OptimizeVar opt_var,
java.util.function.Supplier<java.lang.String> display_callback)
Creates a search monitor that will also print the result of the
display callback. |
SearchMonitor |
makeSearchLog(int branch_period,
java.util.function.Supplier<java.lang.String> display_callback)
At each solution, this monitor will also display result of
display_callback . |
SearchMonitor |
makeSearchTrace(java.lang.String prefix)
Creates a search monitor that will trace precisely the behavior of the
search. |
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 |
ObjectiveMonitor |
makeSimulatedAnnealing(boolean maximize,
IntVar v,
long step,
long initial_temperature)
Creates a Simulated Annealing monitor.
|
RegularLimit |
makeSolutionsLimit(long solutions)
Creates a search limit that constrains the number of solutions found
during the search. |
DecisionBuilder |
makeSolveOnce(DecisionBuilder db)
SolveOnce will collapse a search tree described by a decision
builder 'db' and a set of monitors and wrap it into a single point. |
DecisionBuilder |
makeSolveOnce(DecisionBuilder db,
SearchMonitor monitor1) |
DecisionBuilder |
makeSolveOnce(DecisionBuilder db,
SearchMonitor[] monitors) |
DecisionBuilder |
makeSolveOnce(DecisionBuilder db,
SearchMonitor monitor1,
SearchMonitor monitor2) |
DecisionBuilder |
makeSolveOnce(DecisionBuilder db,
SearchMonitor monitor1,
SearchMonitor monitor2,
SearchMonitor monitor3) |
DecisionBuilder |
makeSolveOnce(DecisionBuilder db,
SearchMonitor monitor1,
SearchMonitor monitor2,
SearchMonitor monitor3,
SearchMonitor monitor4) |
Constraint |
makeSortingConstraint(IntVar[] vars,
IntVar[] sorted)
Creates a constraint binding the arrays of variables "vars" and
"sorted_vars": sorted_vars[0] must be equal to the minimum of all variables in vars, and so on: the value of sorted_vars[i] must be equal to the i-th value of variables invars. |
Decision |
makeSplitVariableDomain(IntVar var,
long val,
boolean start_with_lower_half) |
IntExpr |
makeSquare(IntExpr expr)
expr * expr
|
ModelVisitor |
makeStatisticsModelVisitor()
Displays some nice statistics on the model.
|
DecisionBuilder |
makeStoreAssignment(Assignment assignment)
Returns a DecisionBuilder which stores an Assignment
(calls void Assignment::Store()) |
DisjunctiveConstraint |
makeStrictDisjunctiveConstraint(IntervalVar[] intervals,
java.lang.String name)
This constraint forces all interval vars into an non-overlapping
sequence. |
Constraint |
makeSubCircuit(IntVar[] nexts)
Force the "nexts" variable to create a complete Hamiltonian path
for those that do not loop upon themselves. |
IntExpr |
makeSum(IntExpr left,
IntExpr right)
left + right.
|
IntExpr |
makeSum(IntExpr expr,
long value)
expr + value.
|
IntExpr |
makeSum(IntVar[] vars)
sum of all vars.
|
Constraint |
makeSumEquality(IntVar[] vars,
IntVar var) |
Constraint |
makeSumEquality(IntVar[] vars,
long cst) |
Constraint |
makeSumGreaterOrEqual(IntVar[] vars,
long cst) |
Constraint |
makeSumLessOrEqual(IntVar[] vars,
long cst)
Variation on arrays.
|
IntVarLocalSearchFilter |
makeSumObjectiveFilter(IntVar[] vars,
IntVar[] secondary_vars,
LongTernaryOperator values,
int filter_enum) |
IntVarLocalSearchFilter |
makeSumObjectiveFilter(IntVar[] vars,
java.util.function.LongBinaryOperator values,
int filter_enum) |
SearchMonitor |
makeSymmetryManager(SymmetryBreaker v1) |
SearchMonitor |
makeSymmetryManager(SymmetryBreaker[] visitors)
Symmetry Breaking.
|
SearchMonitor |
makeSymmetryManager(SymmetryBreaker v1,
SymmetryBreaker v2) |
SearchMonitor |
makeSymmetryManager(SymmetryBreaker v1,
SymmetryBreaker v2,
SymmetryBreaker v3) |
SearchMonitor |
makeSymmetryManager(SymmetryBreaker v1,
SymmetryBreaker v2,
SymmetryBreaker v3,
SymmetryBreaker v4) |
ObjectiveMonitor |
makeTabuSearch(boolean maximize,
IntVar objective,
long step,
IntVar[] vars,
long keep_tenure,
long forbid_tenure,
double tabu_factor)
MetaHeuristics which try to get the search out of local optima.
|
Constraint |
makeTemporalDisjunction(IntervalVar t1,
IntervalVar t2)
This constraint implements a temporal disjunction between two
interval vars. |
Constraint |
makeTemporalDisjunction(IntervalVar t1,
IntervalVar t2,
IntVar alt)
This constraint implements a temporal disjunction between two
interval vars t1 and t2. |
RegularLimit |
makeTimeLimit(long time_in_ms) |
RegularLimit |
makeTimeLimit(SWIGTYPE_p_absl__Duration time)
Creates a search limit that constrains the running time.
|
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. |
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. |
Constraint |
makeTrueConstraint()
This constraint always succeeds.
|
LocalSearchFilter |
makeVariableDomainFilter() |
Decision |
makeVariableGreaterOrEqualValue(IntVar var,
long value) |
Decision |
makeVariableLessOrEqualValue(IntVar var,
long value) |
OptimizeVar |
makeWeightedMaximize(IntVar[] sub_objectives,
int[] weights,
long step)
Creates a maximization weigthed objective.
|
OptimizeVar |
makeWeightedMaximize(IntVar[] sub_objectives,
long[] weights,
long step)
Creates a maximization weigthed objective.
|
OptimizeVar |
makeWeightedMinimize(IntVar[] sub_objectives,
int[] weights,
long step)
Creates a minimization weighted objective.
|
OptimizeVar |
makeWeightedMinimize(IntVar[] sub_objectives,
long[] weights,
long step)
Creates a minimization weighted objective.
|
OptimizeVar |
makeWeightedOptimize(boolean maximize,
IntVar[] sub_objectives,
int[] weights,
long step)
Creates a weighted objective with a given sense (true = maximization).
|
OptimizeVar |
makeWeightedOptimize(boolean maximize,
IntVar[] sub_objectives,
long[] weights,
long step)
Creates a weighted objective with a given sense (true = maximization).
|
static long |
memoryUsage()
Current memory usage in bytes
|
java.lang.String |
model_name()
Returns the name of the model.
|
LocalSearchOperator |
MultiArmedBanditConcatenateOperators(LocalSearchOperator[] ops,
double memory_coefficient,
double exploration_coefficient,
boolean maximize)
Creates a local search operator which concatenates a vector of operators.
|
boolean |
nameAllVariables()
Returns whether all variables should be named.
|
long |
neighbors()
The number of neighbors created.
|
void |
newSearch(DecisionBuilder db) |
void |
newSearch(DecisionBuilder db,
SearchMonitor m1) |
void |
newSearch(DecisionBuilder db,
SearchMonitor[] monitors)
Decomposed search. |
void |
newSearch(DecisionBuilder db,
SearchMonitor m1,
SearchMonitor m2) |
void |
newSearch(DecisionBuilder db,
SearchMonitor m1,
SearchMonitor m2,
SearchMonitor m3) |
void |
newSearch(DecisionBuilder db,
SearchMonitor m1,
SearchMonitor m2,
SearchMonitor m3,
SearchMonitor m4) |
boolean |
nextSolution() |
int |
optimization_direction()
The direction of optimization, getter and setter.
|
ConstraintSolverParameters |
parameters()
Stored Parameters.
|
void |
popState() |
void |
pushState()
The PushState and PopState methods manipulates the states
of the reversible objects. |
int |
rand32(int size)
Returns a random value between 0 and 'size' - 1;
|
long |
rand64(long size)
Returns a random value between 0 and 'size' - 1;
|
LocalSearchOperator |
randomConcatenateOperators(LocalSearchOperator[] ops)
Randomized version of local search concatenator; calls a random operator
at each call to MakeNextNeighbor(). |
LocalSearchOperator |
randomConcatenateOperators(LocalSearchOperator[] ops,
int seed)
Randomized version of local search concatenator; calls a random operator
at each call to MakeNextNeighbor(). |
Demon |
registerDemon(Demon demon)
Adds a new demon and wraps it inside a DemonProfiler if necessary.
|
IntervalVar |
registerIntervalVar(IntervalVar var)
Registers a new IntervalVar and wraps it inside a TraceIntervalVar
if necessary. |
IntExpr |
registerIntExpr(IntExpr expr)
Registers a new IntExpr and wraps it inside a TraceIntExpr if necessary.
|
IntVar |
registerIntVar(IntVar var)
Registers a new IntVar and wraps it inside a TraceIntVar if necessary.
|
void |
reSeed(int seed)
Reseed the solver random generator.
|
void |
restartCurrentSearch() |
void |
restartSearch() |
Assignment |
RunUncheckedLocalSearch(Assignment initial_solution,
LocalSearchFilterManager filter_manager,
LocalSearchOperator ls_operator,
SearchMonitor[] monitors,
RegularLimit limit)
Experimental: runs a local search on the given initial solution, checking
the feasibility and the objective value of solutions using the filter manager only (solutions are never restored in the CP world). |
Assignment |
RunUncheckedLocalSearch(Assignment initial_solution,
LocalSearchFilterManager filter_manager,
LocalSearchOperator ls_operator,
SearchMonitor[] monitors,
RegularLimit limit,
SWIGTYPE_p_absl__flat_hash_setT_operations_research__IntVar_p_t touched)
Experimental: runs a local search on the given initial solution, checking
the feasibility and the objective value of solutions using the filter manager only (solutions are never restored in the CP world). |
int |
searchDepth()
Gets the search depth of the current active search.
|
int |
searchLeftDepth()
Gets the search left depth of the current active search.
|
void |
set_context(java.lang.String context)
Sets the current context of the search.
|
void |
set_optimization_direction(int direction) |
void |
SetGuidedLocalSearchPenaltyCallback(LongTernaryOperator penalty_callback) |
void |
setTmpVector(long[] value)
Unsafe temporary vector.
|
void |
SetUseFastLocalSearch(boolean use_fast_local_search)
enabled for metaheuristics.
|
void |
shouldFail()
These methods are only useful for the SWIG wrappers, which need a way
to externally cause the Solver to fail. |
long |
solutions()
The number of solutions found since the start of the search.
|
boolean |
solve(DecisionBuilder db) |
boolean |
solve(DecisionBuilder db,
SearchMonitor m1) |
boolean |
solve(DecisionBuilder db,
SearchMonitor[] monitors)
Solves the problem using the given DecisionBuilder and returns true if a solution was found and accepted. |
boolean |
solve(DecisionBuilder db,
SearchMonitor m1,
SearchMonitor m2) |
boolean |
solve(DecisionBuilder db,
SearchMonitor m1,
SearchMonitor m2,
SearchMonitor m3) |
boolean |
solve(DecisionBuilder db,
SearchMonitor m1,
SearchMonitor m2,
SearchMonitor m3,
SearchMonitor m4) |
boolean |
solveAndCommit(DecisionBuilder db) |
boolean |
solveAndCommit(DecisionBuilder db,
SearchMonitor m1) |
boolean |
solveAndCommit(DecisionBuilder db,
SearchMonitor[] monitors)
SolveAndCommit using a decision builder and up to three search monitors, usually one for the objective, one for the limits and one to collect solutions. |
boolean |
solveAndCommit(DecisionBuilder db,
SearchMonitor m1,
SearchMonitor m2) |
boolean |
solveAndCommit(DecisionBuilder db,
SearchMonitor m1,
SearchMonitor m2,
SearchMonitor m3) |
int |
solveDepth()
Gets the number of nested searches.
|
long |
stamp()
The stamp indicates how many moves in the search tree we have performed.
|
int |
state()
State of the solver.
|
static long |
swigRelease(Solver obj) |
void |
topPeriodicCheck()
Performs PeriodicCheck on the top-level search; for instance, can be
called from a nested solve to check top-level limits. |
int |
topProgressPercent()
Returns a percentage representing the propress of the search before
reaching the limits of the top-level search (can be called from a nested solve). |
java.lang.String |
toString()
misc debug string.
|
DecisionBuilder |
tryDecisions(DecisionBuilder[] dbs) |
DecisionBuilder |
tryDecisions(DecisionBuilder db1,
DecisionBuilder db2)
Creates a decision builder which will create a search tree where each
decision builder is called from the top of the search tree. |
DecisionBuilder |
tryDecisions(DecisionBuilder db1,
DecisionBuilder db2,
DecisionBuilder db3) |
DecisionBuilder |
tryDecisions(DecisionBuilder db1,
DecisionBuilder db2,
DecisionBuilder db3,
DecisionBuilder db4) |
long |
unchecked_solutions()
The number of unchecked solutions found by local search.
|
boolean |
UseFastLocalSearch()
Returns true if fast local search is enabled.
|
long |
wallTime()
DEPRECATED: Use Now() instead.
|
protected transient boolean swigCMemOwn
public static final int kNumPriorities
public static final int INT_VAR_DEFAULT
public static final int INT_VAR_SIMPLE
public static final int CHOOSE_FIRST_UNBOUND
public static final int CHOOSE_RANDOM
public static final int CHOOSE_MIN_SIZE_LOWEST_MIN
public static final int CHOOSE_MIN_SIZE_HIGHEST_MIN
public static final int CHOOSE_MIN_SIZE_LOWEST_MAX
public static final int CHOOSE_MIN_SIZE_HIGHEST_MAX
public static final int CHOOSE_LOWEST_MIN
public static final int CHOOSE_HIGHEST_MAX
public static final int CHOOSE_MIN_SIZE
public static final int CHOOSE_MAX_SIZE
public static final int CHOOSE_MAX_REGRET_ON_MIN
public static final int CHOOSE_PATH
public static final int INT_VALUE_DEFAULT
public static final int INT_VALUE_SIMPLE
public static final int ASSIGN_MIN_VALUE
public static final int ASSIGN_MAX_VALUE
public static final int ASSIGN_RANDOM_VALUE
public static final int ASSIGN_CENTER_VALUE
public static final int SPLIT_LOWER_HALF
public static final int SPLIT_UPPER_HALF
public static final int CHOOSE_STATIC_GLOBAL_BEST
public static final int CHOOSE_DYNAMIC_GLOBAL_BEST
public static final int SEQUENCE_DEFAULT
public static final int SEQUENCE_SIMPLE
public static final int CHOOSE_MIN_SLACK_RANK_FORWARD
public static final int CHOOSE_RANDOM_RANK_FORWARD
public static final int INTERVAL_DEFAULT
public static final int INTERVAL_SIMPLE
public static final int INTERVAL_SET_TIMES_FORWARD
public static final int INTERVAL_SET_TIMES_BACKWARD
public static final int TWOOPT
public static final int OROPT
public static final int RELOCATE
public static final int EXCHANGE
public static final int CROSS
public static final int MAKEACTIVE
public static final int MAKEINACTIVE
public static final int MAKECHAININACTIVE
public static final int SWAPACTIVE
public static final int SWAPACTIVECHAIN
public static final int EXTENDEDSWAPACTIVE
public static final int PATHLNS
public static final int FULLPATHLNS
public static final int UNACTIVELNS
public static final int INCREMENT
public static final int DECREMENT
public static final int SIMPLELNS
public static final int LK
public static final int TSPOPT
public static final int TSPLNS
public static final int GE
public static final int LE
public static final int EQ
public static final int DELAYED_PRIORITY
public static final int VAR_PRIORITY
public static final int NORMAL_PRIORITY
public static final int ENDS_AFTER_END
public static final int ENDS_AFTER_START
public static final int ENDS_AT_END
public static final int ENDS_AT_START
public static final int STARTS_AFTER_END
public static final int STARTS_AFTER_START
public static final int STARTS_AT_END
public static final int STARTS_AT_START
public static final int STAYS_IN_SYNC
public static final int ENDS_AFTER
public static final int ENDS_AT
public static final int ENDS_BEFORE
public static final int STARTS_AFTER
public static final int STARTS_AT
public static final int STARTS_BEFORE
public static final int CROSS_DATE
public static final int AVOID_DATE
public static final int NO_CHANGE
public static final int KEEP_LEFT
public static final int KEEP_RIGHT
public static final int KILL_BOTH
public static final int SWITCH_BRANCHES
public static final int SENTINEL
public static final int SIMPLE_MARKER
public static final int CHOICE_POINT
public static final int REVERSIBLE_ACTION
public static final int OUTSIDE_SEARCH
public static final int IN_ROOT_NODE
public static final int IN_SEARCH
public static final int AT_SOLUTION
public static final int NO_MORE_SOLUTIONS
public static final int PROBLEM_INFEASIBLE
public static final int NOT_SET
public static final int MAXIMIZATION
public static final int MINIMIZATION
public Solver(long cPtr, boolean cMemoryOwn)
public Solver(java.lang.String name)
public Solver(java.lang.String name, ConstraintSolverParameters parameters)
public static long getCPtr(Solver obj)
public static long swigRelease(Solver obj)
protected void finalize()
finalize
in class java.lang.Object
public void delete()
public IntVar[] makeIntVarArray(int count, long min, long max)
public IntVar[] makeIntVarArray(int count, long min, long max, java.lang.String name)
public IntVar[] makeBoolVarArray(int count)
public IntVar[] makeBoolVarArray(int count, java.lang.String name)
public IntervalVar[] makeFixedDurationIntervalVarArray(int count, long start_min, long start_max, long duration, boolean optional)
public IntervalVar[] makeFixedDurationIntervalVarArray(int count, long start_min, long start_max, long duration, boolean optional, java.lang.String name)
public void keepAliveDecisionBuilder(DecisionBuilder db)
public void keepAliveDecisionBuilder(DecisionBuilder[] dbs)
public ConstraintSolverParameters parameters()
public SWIGTYPE_p_operations_research__ConstraintSolverParameters const_parameters()
public static ConstraintSolverParameters defaultSolverParameters()
public void addConstraint(Constraint c)
public void addCastConstraint(CastConstraint constraint, IntVar target_var, IntExpr expr)
public boolean solve(DecisionBuilder db, SearchMonitor[] monitors)
db
- The decision builder that will generate the search tree.monitors
- A vector of search monitors that will be notified ofpublic boolean solve(DecisionBuilder db)
public boolean solve(DecisionBuilder db, SearchMonitor m1)
public boolean solve(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2)
public boolean solve(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3)
public boolean solve(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3, SearchMonitor m4)
public void newSearch(DecisionBuilder db, SearchMonitor[] monitors)
public void newSearch(DecisionBuilder db)
public void newSearch(DecisionBuilder db, SearchMonitor m1)
public void newSearch(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2)
public void newSearch(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3)
public void newSearch(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3, SearchMonitor m4)
public boolean nextSolution()
public void restartSearch()
public void endSearch()
public boolean solveAndCommit(DecisionBuilder db, SearchMonitor[] monitors)
public boolean solveAndCommit(DecisionBuilder db)
public boolean solveAndCommit(DecisionBuilder db, SearchMonitor m1)
public boolean solveAndCommit(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2)
public boolean solveAndCommit(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3)
public boolean checkAssignment(Assignment solution)
public boolean checkConstraint(Constraint ct)
public int state()
public void fail()
public java.lang.String toString()
toString
in class java.lang.Object
public static long memoryUsage()
public long wallTime()
public long branches()
public long solutions()
public long unchecked_solutions()
public long demon_runs(int p)
public long failures()
public long neighbors()
public void ClearNeighbors()
public void IncrementNeighbors()
public long filteredNeighbors()
public long acceptedNeighbors()
public long stamp()
public long fail_stamp()
public void set_context(java.lang.String context)
public java.lang.String context()
public int optimization_direction()
public void set_optimization_direction(int direction)
public void SetGuidedLocalSearchPenaltyCallback(LongTernaryOperator penalty_callback)
public long GetGuidedLocalSearchPenalty(long i, long j, long k)
public IntVar makeIntVar(long min, long max, java.lang.String name)
public IntVar makeIntVar(long[] values, java.lang.String name)
public IntVar makeIntVar(int[] values, java.lang.String name)
public IntVar makeIntVar(long min, long max)
public IntVar makeIntVar(long[] values)
public IntVar makeIntVar(int[] values)
public IntVar makeBoolVar(java.lang.String name)
public IntVar makeBoolVar()
public IntVar makeIntConst(long val, java.lang.String name)
public IntVar makeIntConst(long val)
public IntExpr makeDiv(IntExpr numerator, IntExpr denominator)
public IntExpr makeElement(java.util.function.LongUnaryOperator values, IntVar index)
public IntExpr makeMonotonicElement(java.util.function.LongUnaryOperator values, boolean increasing, IntVar index)
public IntExpr makeElement(java.util.function.LongBinaryOperator values, IntVar index1, IntVar index2)
public IntExpr makeIndexExpression(IntVar[] vars, long value)
public Constraint makeIfThenElseCt(IntVar condition, IntExpr then_expr, IntExpr else_expr, IntVar target_var)
public IntExpr makeConvexPiecewiseExpr(IntExpr expr, long early_cost, long early_date, long late_date, long late_cost)
public IntExpr makeSemiContinuousExpr(IntExpr expr, long fixed_charge, long step)
public IntExpr makeModulo(IntExpr x, long mod)
public IntExpr makeModulo(IntExpr x, IntExpr mod)
public IntExpr makeConditionalExpression(IntVar condition, IntExpr expr, long unperformed_value)
public Constraint makeTrueConstraint()
public Constraint makeFalseConstraint()
public Constraint makeFalseConstraint(java.lang.String explanation)
public Constraint makeIsEqualCstCt(IntExpr var, long value, IntVar boolvar)
public IntVar makeIsEqualCstVar(IntExpr var, long value)
public Constraint makeIsEqualVar(IntExpr v1, IntExpr v2, IntVar b)
public Constraint makeEquality(IntExpr left, IntExpr right)
public Constraint makeEquality(IntExpr expr, long value)
public Constraint makeEquality(IntExpr expr, int value)
public Constraint makeIsDifferentCstCt(IntExpr var, long value, IntVar boolvar)
public IntVar makeIsDifferentCstVar(IntExpr var, long value)
public IntVar makeIsDifferentCstVar(IntExpr v1, IntExpr v2)
public Constraint makeIsDifferentCstCt(IntExpr v1, IntExpr v2, IntVar b)
public Constraint makeNonEquality(IntExpr left, IntExpr right)
public Constraint makeNonEquality(IntExpr expr, long value)
public Constraint makeNonEquality(IntExpr expr, int value)
public Constraint makeIsLessOrEqualCstCt(IntExpr var, long value, IntVar boolvar)
public IntVar makeIsLessOrEqualCstVar(IntExpr var, long value)
public IntVar makeIsLessOrEqualVar(IntExpr left, IntExpr right)
public Constraint makeIsLessOrEqualCt(IntExpr left, IntExpr right, IntVar b)
public Constraint makeLessOrEqual(IntExpr left, IntExpr right)
public Constraint makeLessOrEqual(IntExpr expr, long value)
public Constraint makeLessOrEqual(IntExpr expr, int value)
public Constraint makeIsGreaterOrEqualCstCt(IntExpr var, long value, IntVar boolvar)
public IntVar makeIsGreaterOrEqualCstVar(IntExpr var, long value)
public IntVar makeIsGreaterOrEqualVar(IntExpr left, IntExpr right)
public Constraint makeIsGreaterOrEqualCt(IntExpr left, IntExpr right, IntVar b)
public Constraint makeGreaterOrEqual(IntExpr left, IntExpr right)
public Constraint makeGreaterOrEqual(IntExpr expr, long value)
public Constraint makeGreaterOrEqual(IntExpr expr, int value)
public Constraint makeIsGreaterCstCt(IntExpr v, long c, IntVar b)
public IntVar makeIsGreaterCstVar(IntExpr var, long value)
public IntVar makeIsGreaterVar(IntExpr left, IntExpr right)
public Constraint makeIsGreaterCt(IntExpr left, IntExpr right, IntVar b)
public Constraint makeGreater(IntExpr left, IntExpr right)
public Constraint makeGreater(IntExpr expr, long value)
public Constraint makeGreater(IntExpr expr, int value)
public Constraint makeIsLessCstCt(IntExpr v, long c, IntVar b)
public IntVar makeIsLessCstVar(IntExpr var, long value)
public Constraint makeIsLessCt(IntExpr left, IntExpr right, IntVar b)
public Constraint makeLess(IntExpr left, IntExpr right)
public Constraint makeLess(IntExpr expr, long value)
public Constraint makeLess(IntExpr expr, int value)
public Constraint makeSumLessOrEqual(IntVar[] vars, long cst)
public Constraint makeSumGreaterOrEqual(IntVar[] vars, long cst)
public Constraint makeSumEquality(IntVar[] vars, long cst)
public Constraint makeSumEquality(IntVar[] vars, IntVar var)
public Constraint makeScalProdEquality(IntVar[] vars, long[] coefficients, long cst)
public Constraint makeScalProdEquality(IntVar[] vars, int[] coefficients, long cst)
public Constraint makeScalProdEquality(IntVar[] vars, long[] coefficients, IntVar target)
public Constraint makeScalProdEquality(IntVar[] vars, int[] coefficients, IntVar target)
public Constraint makeScalProdGreaterOrEqual(IntVar[] vars, long[] coeffs, long cst)
public Constraint makeScalProdGreaterOrEqual(IntVar[] vars, int[] coeffs, long cst)
public Constraint makeScalProdLessOrEqual(IntVar[] vars, long[] coefficients, long cst)
public Constraint makeScalProdLessOrEqual(IntVar[] vars, int[] coefficients, long cst)
public Constraint makeMinEquality(IntVar[] vars, IntVar min_var)
public Constraint makeMaxEquality(IntVar[] vars, IntVar max_var)
public Constraint makeElementEquality(long[] vals, IntVar index, IntVar target)
public Constraint makeElementEquality(int[] vals, IntVar index, IntVar target)
public Constraint makeElementEquality(IntVar[] vars, IntVar index, IntVar target)
public Constraint makeElementEquality(IntVar[] vars, IntVar index, long target)
public Constraint makeAbsEquality(IntVar var, IntVar abs_var)
public Constraint makeIndexOfConstraint(IntVar[] vars, IntVar index, long target)
public Demon makeConstraintInitialPropagateCallback(Constraint ct)
public Demon makeDelayedConstraintInitialPropagateCallback(Constraint ct)
public Demon makeClosureDemon(java.lang.Runnable closure)
public Constraint makeBetweenCt(IntExpr expr, long l, long u)
public Constraint makeNotBetweenCt(IntExpr expr, long l, long u)
public Constraint makeIsBetweenCt(IntExpr expr, long l, long u, IntVar b)
public Constraint makeMemberCt(IntExpr expr, long[] values)
public Constraint makeMemberCt(IntExpr expr, int[] values)
public Constraint makeNotMemberCt(IntExpr expr, long[] values)
public Constraint makeNotMemberCt(IntExpr expr, int[] values)
public Constraint makeNotMemberCt(IntExpr expr, long[] starts, long[] ends)
public Constraint makeNotMemberCt(IntExpr expr, int[] starts, int[] ends)
public Constraint makeIsMemberCt(IntExpr expr, long[] values, IntVar boolvar)
public Constraint makeIsMemberCt(IntExpr expr, int[] values, IntVar boolvar)
public Constraint makeCount(IntVar[] vars, long value, long max_count)
public Constraint makeCount(IntVar[] vars, long value, IntVar max_count)
public Constraint makeDistribute(IntVar[] vars, long[] values, IntVar[] cards)
public Constraint makeDistribute(IntVar[] vars, int[] values, IntVar[] cards)
public Constraint makeDistribute(IntVar[] vars, IntVar[] cards)
public Constraint makeDistribute(IntVar[] vars, long card_min, long card_max, long card_size)
public Constraint makeDistribute(IntVar[] vars, long[] card_min, long[] card_max)
public Constraint makeDistribute(IntVar[] vars, int[] card_min, int[] card_max)
public Constraint makeDistribute(IntVar[] vars, long[] values, long[] card_min, long[] card_max)
public Constraint makeDistribute(IntVar[] vars, int[] values, int[] card_min, int[] card_max)
public Constraint makeDeviation(IntVar[] vars, IntVar deviation_var, long total_sum)
public Constraint makeAllDifferent(IntVar[] vars)
public Constraint makeAllDifferent(IntVar[] vars, boolean stronger_propagation)
public Constraint makeAllDifferentExcept(IntVar[] vars, long escape_value)
public Constraint makeSortingConstraint(IntVar[] vars, IntVar[] sorted)
public Constraint makeLexicalLess(IntVar[] left, IntVar[] right)
public Constraint makeLexicalLessOrEqual(IntVar[] left, IntVar[] right)
public Constraint MakeLexicalLessOrEqualWithOffsets(IntVar[] left, IntVar[] right, long[] offsets)
public Constraint MakeIsLexicalLessOrEqualWithOffsetsCt(IntVar[] left, IntVar[] right, long[] offsets, IntVar boolvar)
public Constraint makeInversePermutationConstraint(IntVar[] left, IntVar[] right)
public Constraint makeIndexOfFirstMaxValueConstraint(IntVar index, IntVar[] vars)
public Constraint makeIndexOfFirstMinValueConstraint(IntVar index, IntVar[] vars)
public Constraint makeNullIntersect(IntVar[] first_vars, IntVar[] second_vars)
public Constraint makeNullIntersectExcept(IntVar[] first_vars, IntVar[] second_vars, long escape_value)
public Constraint makeNoCycle(IntVar[] nexts, IntVar[] active, java.util.function.LongPredicate sink_handler)
public Constraint makeNoCycle(IntVar[] nexts, IntVar[] active)
public Constraint makeNoCycle(IntVar[] nexts, IntVar[] active, java.util.function.LongPredicate sink_handler, boolean assume_paths)
public Constraint makeCircuit(IntVar[] nexts)
public Constraint makeSubCircuit(IntVar[] nexts)
public Constraint makePathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, IntVar[] transits)
public Constraint makeDelayedPathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, IntVar[] transits)
public Constraint makePathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, java.util.function.LongBinaryOperator transit_evaluator)
public Constraint makePathCumul(IntVar[] nexts, IntVar[] active, IntVar[] cumuls, IntVar[] slacks, java.util.function.LongBinaryOperator transit_evaluator)
public Constraint makePathConnected(IntVar[] nexts, long[] sources, long[] sinks, IntVar[] status)
public Constraint makeMapDomain(IntVar var, IntVar[] actives)
public Constraint makeAllowedAssignment(IntVar[] vars, IntTupleSet tuples)
public Constraint makeTransitionConstraint(IntVar[] vars, IntTupleSet transition_table, long initial_state, long[] final_states)
public Constraint makeTransitionConstraint(IntVar[] vars, IntTupleSet transition_table, long initial_state, int[] final_states)
public Constraint makeNonOverlappingBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, IntVar[] x_size, IntVar[] y_size)
public Constraint makeNonOverlappingBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, SWIGTYPE_p_absl__SpanT_long_const_t x_size, SWIGTYPE_p_absl__SpanT_long_const_t y_size)
public Constraint makeNonOverlappingBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, SWIGTYPE_p_absl__SpanT_int_const_t x_size, SWIGTYPE_p_absl__SpanT_int_const_t y_size)
public Constraint makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, IntVar[] x_size, IntVar[] y_size)
public Constraint makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, SWIGTYPE_p_absl__SpanT_long_const_t x_size, SWIGTYPE_p_absl__SpanT_long_const_t y_size)
public Constraint makeNonOverlappingNonStrictBoxesConstraint(IntVar[] x_vars, IntVar[] y_vars, SWIGTYPE_p_absl__SpanT_int_const_t x_size, SWIGTYPE_p_absl__SpanT_int_const_t y_size)
public Pack makePack(IntVar[] vars, int number_of_bins)
public IntervalVar makeFixedDurationIntervalVar(long start_min, long start_max, long duration, boolean optional, java.lang.String name)
public IntervalVar makeFixedDurationIntervalVar(IntVar start_variable, long duration, java.lang.String name)
public IntervalVar makeFixedDurationIntervalVar(IntVar start_variable, long duration, IntVar performed_variable, java.lang.String name)
public IntervalVar makeFixedInterval(long start, long duration, java.lang.String name)
public IntervalVar makeIntervalVar(long start_min, long start_max, long duration_min, long duration_max, long end_min, long end_max, boolean optional, java.lang.String name)
public IntervalVar makeMirrorInterval(IntervalVar interval_var)
public IntervalVar makeFixedDurationStartSyncedOnStartIntervalVar(IntervalVar interval_var, long duration, long offset)
public IntervalVar makeFixedDurationStartSyncedOnEndIntervalVar(IntervalVar interval_var, long duration, long offset)
public IntervalVar makeFixedDurationEndSyncedOnStartIntervalVar(IntervalVar interval_var, long duration, long offset)
public IntervalVar makeFixedDurationEndSyncedOnEndIntervalVar(IntervalVar interval_var, long duration, long offset)
public IntervalVar makeIntervalRelaxedMin(IntervalVar interval_var)
public IntervalVar makeIntervalRelaxedMax(IntervalVar interval_var)
public Constraint makeIntervalVarRelation(IntervalVar t, int r, long d)
public Constraint makeIntervalVarRelation(IntervalVar t1, int r, IntervalVar t2)
public Constraint makeIntervalVarRelationWithDelay(IntervalVar t1, int r, IntervalVar t2, long delay)
public Constraint makeTemporalDisjunction(IntervalVar t1, IntervalVar t2, IntVar alt)
public Constraint makeTemporalDisjunction(IntervalVar t1, IntervalVar t2)
public DisjunctiveConstraint makeDisjunctiveConstraint(IntervalVar[] intervals, java.lang.String name)
public DisjunctiveConstraint makeStrictDisjunctiveConstraint(IntervalVar[] intervals, java.lang.String name)
public Constraint makeCumulative(IntervalVar[] intervals, long[] demands, long capacity, java.lang.String name)
public Constraint makeCumulative(IntervalVar[] intervals, int[] demands, long capacity, java.lang.String name)
public Constraint makeCumulative(IntervalVar[] intervals, long[] demands, IntVar capacity, java.lang.String name)
public Constraint makeCumulative(IntervalVar[] intervals, int[] demands, IntVar capacity, java.lang.String name)
public Constraint makeCumulative(IntervalVar[] intervals, IntVar[] demands, long capacity, java.lang.String name)
public Constraint makeCumulative(IntervalVar[] intervals, IntVar[] demands, IntVar capacity, java.lang.String name)
public Constraint makeCover(IntervalVar[] vars, IntervalVar target_var)
public Constraint makeEquality(IntervalVar var1, IntervalVar var2)
public Assignment makeAssignment()
public Assignment makeAssignment(Assignment a)
public SolutionCollector makeFirstSolutionCollector(Assignment assignment)
public SolutionCollector makeFirstSolutionCollector()
public SolutionCollector makeLastSolutionCollector(Assignment assignment)
public SolutionCollector makeLastSolutionCollector()
public SolutionCollector makeBestValueSolutionCollector(Assignment assignment, boolean maximize)
public SolutionCollector MakeBestLexicographicValueSolutionCollector(Assignment assignment, SWIGTYPE_p_std__vectorT_bool_t maximize)
public SolutionCollector makeBestValueSolutionCollector(boolean maximize)
public SolutionCollector MakeBestLexicographicValueSolutionCollector(SWIGTYPE_p_std__vectorT_bool_t maximize)
public SolutionCollector makeNBestValueSolutionCollector(Assignment assignment, int solution_count, boolean maximize)
public SolutionCollector makeNBestValueSolutionCollector(int solution_count, boolean maximize)
public SolutionCollector MakeNBestLexicographicValueSolutionCollector(Assignment assignment, int solution_count, SWIGTYPE_p_std__vectorT_bool_t maximize)
public SolutionCollector MakeNBestLexicographicValueSolutionCollector(int solution_count, SWIGTYPE_p_std__vectorT_bool_t maximize)
public SolutionCollector makeAllSolutionCollector(Assignment assignment)
public SolutionCollector makeAllSolutionCollector()
public OptimizeVar makeMinimize(IntVar v, long step)
public OptimizeVar makeMaximize(IntVar v, long step)
public OptimizeVar makeOptimize(boolean maximize, IntVar v, long step)
public OptimizeVar makeWeightedMinimize(IntVar[] sub_objectives, long[] weights, long step)
public OptimizeVar makeWeightedMinimize(IntVar[] sub_objectives, int[] weights, long step)
public OptimizeVar makeWeightedMaximize(IntVar[] sub_objectives, long[] weights, long step)
public OptimizeVar makeWeightedMaximize(IntVar[] sub_objectives, int[] weights, long step)
public OptimizeVar makeWeightedOptimize(boolean maximize, IntVar[] sub_objectives, long[] weights, long step)
public OptimizeVar makeWeightedOptimize(boolean maximize, IntVar[] sub_objectives, int[] weights, long step)
public OptimizeVar MakeLexicographicOptimize(SWIGTYPE_p_std__vectorT_bool_t maximize, IntVar[] variables, long[] steps)
public ObjectiveMonitor makeTabuSearch(boolean maximize, IntVar objective, long step, IntVar[] vars, long keep_tenure, long forbid_tenure, double tabu_factor)
public ObjectiveMonitor MakeLexicographicTabuSearch(SWIGTYPE_p_std__vectorT_bool_t maximize, IntVar[] objectives, long[] steps, IntVar[] vars, long keep_tenure, long forbid_tenure, double tabu_factor)
public ObjectiveMonitor makeGenericTabuSearch(boolean maximize, IntVar v, long step, IntVar[] tabu_vars, long forbid_tenure)
public ObjectiveMonitor makeSimulatedAnnealing(boolean maximize, IntVar v, long step, long initial_temperature)
public ObjectiveMonitor MakeLexicographicSimulatedAnnealing(SWIGTYPE_p_std__vectorT_bool_t maximize, IntVar[] vars, long[] steps, long[] initial_temperatures)
public BaseObjectiveMonitor MakeRoundRobinCompoundObjectiveMonitor(SWIGTYPE_p_std__vectorT_operations_research__BaseObjectiveMonitor_p_t monitors, int num_max_local_optima_before_metaheuristic_switch)
public SearchMonitor makeLubyRestart(int scale_factor)
public SearchMonitor makeConstantRestart(int frequency)
public RegularLimit makeTimeLimit(SWIGTYPE_p_absl__Duration time)
public RegularLimit makeTimeLimit(long time_in_ms)
public RegularLimit makeBranchesLimit(long branches)
public RegularLimit makeFailuresLimit(long failures)
public RegularLimit makeSolutionsLimit(long solutions)
public RegularLimit makeLimit(SWIGTYPE_p_absl__Duration time, long branches, long failures, long solutions, boolean smart_time_check, boolean cumulative)
public RegularLimit makeLimit(SWIGTYPE_p_absl__Duration time, long branches, long failures, long solutions, boolean smart_time_check)
public RegularLimit makeLimit(SWIGTYPE_p_absl__Duration time, long branches, long failures, long solutions)
public RegularLimit makeLimit(RegularLimitParameters proto)
public RegularLimit makeLimit(long time, long branches, long failures, long solutions, boolean smart_time_check, boolean cumulative)
public RegularLimit makeLimit(long time, long branches, long failures, long solutions, boolean smart_time_check)
public RegularLimit makeLimit(long time, long branches, long failures, long solutions)
public RegularLimitParameters makeDefaultRegularLimitParameters()
public SearchLimit makeLimit(SearchLimit limit_1, SearchLimit limit_2)
public ImprovementSearchLimit MakeImprovementLimit(IntVar objective_var, boolean maximize, double objective_scaling_factor, double objective_offset, double improvement_rate_coefficient, int improvement_rate_solutions_distance)
public ImprovementSearchLimit MakeLexicographicImprovementLimit(IntVar[] objective_vars, SWIGTYPE_p_std__vectorT_bool_t maximize, double[] objective_scaling_factors, double[] objective_offsets, double improvement_rate_coefficient, int improvement_rate_solutions_distance)
public SearchLimit makeCustomLimit(java.util.function.BooleanSupplier limiter)
public SearchMonitor makeSearchLog(int branch_period)
public SearchMonitor makeSearchLog(int branch_period, IntVar var)
public SearchMonitor makeSearchLog(int branch_period, java.util.function.Supplier<java.lang.String> display_callback)
display_callback
.public SearchMonitor makeSearchLog(int branch_period, IntVar var, java.util.function.Supplier<java.lang.String> display_callback)
display_callback
.public SearchMonitor makeSearchLog(int branch_period, IntVar[] vars, java.util.function.Supplier<java.lang.String> display_callback)
display_callback
.public SearchMonitor makeSearchLog(int branch_period, OptimizeVar opt_var)
public SearchMonitor makeSearchLog(int branch_period, OptimizeVar opt_var, java.util.function.Supplier<java.lang.String> display_callback)
public SearchMonitor makeSearchTrace(java.lang.String prefix)
public SearchMonitor makeEnterSearchCallback(java.lang.Runnable callback)
public SearchMonitor makeExitSearchCallback(java.lang.Runnable callback)
public SearchMonitor makeAtSolutionCallback(java.lang.Runnable callback)
public ModelVisitor makePrintModelVisitor()
public ModelVisitor makeStatisticsModelVisitor()
public SearchMonitor makeSymmetryManager(SymmetryBreaker[] visitors)
public SearchMonitor makeSymmetryManager(SymmetryBreaker v1)
public SearchMonitor makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2)
public SearchMonitor makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2, SymmetryBreaker v3)
public SearchMonitor makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2, SymmetryBreaker v3, SymmetryBreaker v4)
public Decision makeVariableGreaterOrEqualValue(IntVar var, long value)
public Decision makeSplitVariableDomain(IntVar var, long val, boolean start_with_lower_half)
public Decision MakeAssignVariableValueOrDoNothing(IntVar var, long value)
public Decision MakeAssignVariablesValuesOrDoNothing(IntVar[] vars, long[] values)
public Decision MakeAssignVariablesValuesOrFail(IntVar[] vars, long[] values)
public Decision makeFailDecision()
public Decision makeDecision(java.util.function.Consumer<Solver> apply, java.util.function.Consumer<Solver> refute)
public DecisionBuilder compose(DecisionBuilder db1, DecisionBuilder db2)
public DecisionBuilder compose(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3)
public DecisionBuilder compose(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3, DecisionBuilder db4)
public DecisionBuilder compose(DecisionBuilder[] dbs)
public DecisionBuilder tryDecisions(DecisionBuilder db1, DecisionBuilder db2)
public DecisionBuilder tryDecisions(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3)
public DecisionBuilder tryDecisions(DecisionBuilder db1, DecisionBuilder db2, DecisionBuilder db3, DecisionBuilder db4)
public DecisionBuilder tryDecisions(DecisionBuilder[] dbs)
public DecisionBuilder makePhase(IntVar[] vars, int var_str, int val_str)
public DecisionBuilder makePhase(IntVar[] vars, java.util.function.LongUnaryOperator var_evaluator, int val_str)
public DecisionBuilder makePhase(IntVar[] vars, int var_str, java.util.function.LongBinaryOperator value_evaluator)
public DecisionBuilder makePhase(IntVar[] vars, int var_str, LongTernaryPredicate var_val1_val2_comparator)
public DecisionBuilder makePhase(IntVar[] vars, java.util.function.LongUnaryOperator var_evaluator, java.util.function.LongBinaryOperator value_evaluator)
public DecisionBuilder makePhase(IntVar[] vars, int var_str, java.util.function.LongBinaryOperator value_evaluator, java.util.function.LongUnaryOperator tie_breaker)
public DecisionBuilder makePhase(IntVar[] vars, java.util.function.LongUnaryOperator var_evaluator, java.util.function.LongBinaryOperator value_evaluator, java.util.function.LongUnaryOperator tie_breaker)
public DecisionBuilder makeDefaultPhase(IntVar[] vars)
public DecisionBuilder makeDefaultPhase(IntVar[] vars, DefaultPhaseParameters parameters)
public DecisionBuilder makePhase(IntVar v0, int var_str, int val_str)
public DecisionBuilder makePhase(IntVar v0, IntVar v1, int var_str, int val_str)
public DecisionBuilder makePhase(IntVar v0, IntVar v1, IntVar v2, int var_str, int val_str)
public DecisionBuilder makePhase(IntVar v0, IntVar v1, IntVar v2, IntVar v3, int var_str, int val_str)
public Decision makeScheduleOrPostpone(IntervalVar var, long est, SWIGTYPE_p_long marker)
public Decision makeScheduleOrExpedite(IntervalVar var, long est, SWIGTYPE_p_long marker)
public Decision makeRankFirstInterval(SequenceVar sequence, int index)
public Decision makeRankLastInterval(SequenceVar sequence, int index)
public DecisionBuilder makePhase(IntVar[] vars, java.util.function.LongBinaryOperator eval, int str)
public DecisionBuilder makePhase(IntVar[] vars, java.util.function.LongBinaryOperator eval, java.util.function.LongUnaryOperator tie_breaker, int str)
public DecisionBuilder makePhase(IntervalVar[] intervals, int str)
public DecisionBuilder makePhase(SequenceVar[] sequences, int str)
public DecisionBuilder makeDecisionBuilderFromAssignment(Assignment assignment, DecisionBuilder db, IntVar[] vars)
public DecisionBuilder makeConstraintAdder(Constraint ct)
public DecisionBuilder makeSolveOnce(DecisionBuilder db)
public DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1)
public DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2)
public DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3)
public DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3, SearchMonitor monitor4)
public DecisionBuilder makeSolveOnce(DecisionBuilder db, SearchMonitor[] monitors)
public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step)
public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1)
public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2)
public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3)
public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3, SearchMonitor monitor4)
public DecisionBuilder makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor[] monitors)
public DecisionBuilder makeRestoreAssignment(Assignment assignment)
public DecisionBuilder makeStoreAssignment(Assignment assignment)
public LocalSearchOperator makeOperator(IntVar[] vars, int op, SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_incoming_neighbors, SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_outgoing_neighbors)
public LocalSearchOperator makeOperator(IntVar[] vars, int op, SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_incoming_neighbors)
public LocalSearchOperator makeOperator(IntVar[] vars, int op)
public LocalSearchOperator makeOperator(IntVar[] vars, IntVar[] secondary_vars, int op, SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_incoming_neighbors, SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_outgoing_neighbors)
public LocalSearchOperator makeOperator(IntVar[] vars, IntVar[] secondary_vars, int op, SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_incoming_neighbors)
public LocalSearchOperator makeOperator(IntVar[] vars, IntVar[] secondary_vars, int op)
public LocalSearchOperator makeOperator(IntVar[] vars, LongTernaryOperator evaluator, int op)
public LocalSearchOperator makeOperator(IntVar[] vars, IntVar[] secondary_vars, LongTernaryOperator evaluator, int op)
public LocalSearchOperator makeRandomLnsOperator(IntVar[] vars, int number_of_variables)
public LocalSearchOperator makeRandomLnsOperator(IntVar[] vars, int number_of_variables, int seed)
public LocalSearchOperator makeMoveTowardTargetOperator(Assignment target)
public LocalSearchOperator makeMoveTowardTargetOperator(IntVar[] variables, long[] target_values)
public LocalSearchOperator concatenateOperators(LocalSearchOperator[] ops)
public LocalSearchOperator concatenateOperators(LocalSearchOperator[] ops, boolean restart)
public LocalSearchOperator concatenateOperators(LocalSearchOperator[] ops, IntIntToLongFunction evaluator)
public LocalSearchOperator randomConcatenateOperators(LocalSearchOperator[] ops)
public LocalSearchOperator randomConcatenateOperators(LocalSearchOperator[] ops, int seed)
public LocalSearchOperator MultiArmedBanditConcatenateOperators(LocalSearchOperator[] ops, double memory_coefficient, double exploration_coefficient, boolean maximize)
public LocalSearchOperator makeNeighborhoodLimit(LocalSearchOperator op, long limit)
public DecisionBuilder makeLocalSearchPhase(Assignment assignment, LocalSearchPhaseParameters parameters)
public DecisionBuilder makeLocalSearchPhase(IntVar[] vars, DecisionBuilder first_solution, LocalSearchPhaseParameters parameters)
public DecisionBuilder makeLocalSearchPhase(IntVar[] vars, DecisionBuilder first_solution, DecisionBuilder first_solution_sub_decision_builder, LocalSearchPhaseParameters parameters)
public DecisionBuilder makeLocalSearchPhase(SequenceVar[] vars, DecisionBuilder first_solution, LocalSearchPhaseParameters parameters)
public Assignment RunUncheckedLocalSearch(Assignment initial_solution, LocalSearchFilterManager filter_manager, LocalSearchOperator ls_operator, SearchMonitor[] monitors, RegularLimit limit, SWIGTYPE_p_absl__flat_hash_setT_operations_research__IntVar_p_t touched)
public Assignment RunUncheckedLocalSearch(Assignment initial_solution, LocalSearchFilterManager filter_manager, LocalSearchOperator ls_operator, SearchMonitor[] monitors, RegularLimit limit)
public SolutionPool makeDefaultSolutionPool()
public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder)
public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit)
public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit, LocalSearchFilterManager filter_manager)
public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder)
public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit)
public LocalSearchPhaseParameters makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit, LocalSearchFilterManager filter_manager)
public LocalSearchFilter MakeAcceptFilter()
public LocalSearchFilter MakeRejectFilter()
public LocalSearchFilter makeVariableDomainFilter()
public IntVarLocalSearchFilter makeSumObjectiveFilter(IntVar[] vars, java.util.function.LongBinaryOperator values, int filter_enum)
public IntVarLocalSearchFilter makeSumObjectiveFilter(IntVar[] vars, IntVar[] secondary_vars, LongTernaryOperator values, int filter_enum)
public void topPeriodicCheck()
public int topProgressPercent()
public void pushState()
public void popState()
public int searchDepth()
public int searchLeftDepth()
public int solveDepth()
public long rand64(long size)
public int rand32(int size)
public void reSeed(int seed)
public void exportProfilingOverview(java.lang.String filename)
public java.lang.String localSearchProfile()
public boolean currentlyInSolve()
public int constraints()
public void accept(ModelVisitor visitor)
public Decision balancing_decision()
public void clear_fail_intercept()
public void SetUseFastLocalSearch(boolean use_fast_local_search)
public boolean UseFastLocalSearch()
public boolean hasName(PropagationBaseObject object)
public Demon registerDemon(Demon demon)
public IntExpr registerIntExpr(IntExpr expr)
public IntVar registerIntVar(IntVar var)
public IntervalVar registerIntervalVar(IntervalVar var)
public ModelCache cache()
public boolean instrumentsDemons()
public boolean isProfilingEnabled()
public boolean isLocalSearchProfilingEnabled()
public boolean instrumentsVariables()
public boolean nameAllVariables()
public java.lang.String model_name()
public PropagationMonitor getPropagationMonitor()
public void addPropagationMonitor(PropagationMonitor monitor)
public LocalSearchMonitor getLocalSearchMonitor()
public void addLocalSearchMonitor(LocalSearchMonitor monitor)
public Assignment GetOrCreateLocalSearchState()
public void ClearLocalSearchState()
public void setTmpVector(long[] value)
public long[] getTmpVector()
public IntExpr castExpression(IntVar var)
public void finishCurrentSearch()
public void restartCurrentSearch()
public void shouldFail()
public void checkFail()
public DecisionBuilder MakeProfiledDecisionBuilderWrapper(DecisionBuilder db)
Copyright © 2025. All rights reserved.