| Package | Description |
|---|---|
| com.google.ortools.constraintsolver |
| Modifier and Type | Class and Description |
|---|---|
class |
BaseLns
This is the base class for building an Lns operator.
|
class |
ChangeValue
Defines operators which change the value of variables;
each neighbor corresponds to *one* modified variable. Sub-classes have to define ModifyValue which determines what the new variable value is going to be (given the current value and the variable). |
class |
IntVarLocalSearchOperator
Specialization of LocalSearchOperator built from an array of IntVars
which specifies the scope of the operator. This class also takes care of storing current variable values in Start(), keeps track of changes done by the operator and builds the delta. The Deactivate() method can be used to perform Large Neighborhood Search. |
class |
PathOperator
Base class of the local search operators dedicated to path modifications
(a path is a set of nodes linked together by arcs). This family of neighborhoods supposes they are handling next variables representing the arcs (var[i] represents the node immediately after i on a path). Several services are provided: - arc manipulators (SetNext(), ReverseChain(), MoveChain()) - path inspectors (Next(), Prev(), IsPathEnd()) - path iterators: operators need a given number of nodes to define a neighbor; this class provides the iteration on a given number of (base) nodes which can be used to define a neighbor (through the BaseNode method) Subclasses only need to override MakeNeighbor to create neighbors using the services above (no direct manipulation of assignments). |
| Modifier and Type | Method and Description |
|---|---|
LocalSearchOperator |
Solver.concatenateOperators(LocalSearchOperator[] ops)
Creates a local search operator which concatenates a vector of operators.
Each operator from the vector is called sequentially. |
LocalSearchOperator |
Solver.concatenateOperators(LocalSearchOperator[] ops,
boolean restart) |
LocalSearchOperator |
Solver.concatenateOperators(LocalSearchOperator[] ops,
IntIntToLongFunction evaluator) |
LocalSearchOperator |
Solver.makeMoveTowardTargetOperator(Assignment target)
Creates a local search operator that tries to move the assignment of some
variables toward a target. |
LocalSearchOperator |
Solver.makeMoveTowardTargetOperator(IntVar[] variables,
long[] target_values)
Creates a local search operator that tries to move the assignment of some
variables toward a target. |
LocalSearchOperator |
Solver.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()). |
LocalSearchOperator |
Solver.makeOperator(IntVar[] vars,
int op)
Local Search Operators.
|
LocalSearchOperator |
Solver.makeOperator(IntVar[] vars,
int op,
SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_neighbors)
Local Search Operators.
|
LocalSearchOperator |
Solver.makeOperator(IntVar[] vars,
IntVar[] secondary_vars,
int op) |
LocalSearchOperator |
Solver.makeOperator(IntVar[] vars,
IntVar[] secondary_vars,
int op,
SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_neighbors) |
LocalSearchOperator |
Solver.makeOperator(IntVar[] vars,
IntVar[] secondary_vars,
LongTernaryOperator evaluator,
int op) |
LocalSearchOperator |
Solver.makeOperator(IntVar[] vars,
LongTernaryOperator evaluator,
int op) |
LocalSearchOperator |
Solver.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 |
Solver.makeRandomLnsOperator(IntVar[] vars,
int number_of_variables,
int seed) |
LocalSearchOperator |
Solver.MultiArmedBanditConcatenateOperators(LocalSearchOperator[] ops,
double memory_coefficient,
double exploration_coefficient,
boolean maximize)
Creates a local search operator which concatenates a vector of operators.
Uses Multi-Armed Bandit approach for choosing the next operator to use. Sorts operators based on Upper Confidence Bound Algorithm which evaluates each operator as sum of average improvement and exploration function. Updates the order of operators when accepts a neighbor with objective improvement. |
LocalSearchOperator |
Solver.randomConcatenateOperators(LocalSearchOperator[] ops)
Randomized version of local search concatenator; calls a random operator
at each call to MakeNextNeighbor(). |
LocalSearchOperator |
Solver.randomConcatenateOperators(LocalSearchOperator[] ops,
int seed)
Randomized version of local search concatenator; calls a random operator
at each call to MakeNextNeighbor(). |
| Modifier and Type | Method and Description |
|---|---|
void |
RoutingModel.addLocalSearchOperator(LocalSearchOperator ls_operator)
Adds a local search operator to the set of operators used to solve the
vehicle routing problem. |
void |
LocalSearchMonitor.beginAcceptNeighbor(LocalSearchOperator op) |
void |
LocalSearchMonitor.beginFilterNeighbor(LocalSearchOperator op) |
void |
LocalSearchMonitor.beginMakeNextNeighbor(LocalSearchOperator op) |
LocalSearchOperator |
Solver.concatenateOperators(LocalSearchOperator[] ops)
Creates a local search operator which concatenates a vector of operators.
Each operator from the vector is called sequentially. |
LocalSearchOperator |
Solver.concatenateOperators(LocalSearchOperator[] ops,
boolean restart) |
LocalSearchOperator |
Solver.concatenateOperators(LocalSearchOperator[] ops,
IntIntToLongFunction evaluator) |
void |
LocalSearchMonitor.endAcceptNeighbor(LocalSearchOperator op,
boolean neighbor_found) |
void |
LocalSearchMonitor.endFilterNeighbor(LocalSearchOperator op,
boolean neighbor_found) |
void |
LocalSearchMonitor.endMakeNextNeighbor(LocalSearchOperator op,
boolean neighbor_found,
Assignment delta,
Assignment deltadelta) |
protected static long |
LocalSearchOperator.getCPtr(LocalSearchOperator obj) |
static void |
mainJNI.LocalSearchMonitor_beginAcceptNeighbor(long jarg1,
LocalSearchMonitor jarg1_,
long jarg2,
LocalSearchOperator jarg2_) |
static void |
mainJNI.LocalSearchMonitor_beginFilterNeighbor(long jarg1,
LocalSearchMonitor jarg1_,
long jarg2,
LocalSearchOperator jarg2_) |
static void |
mainJNI.LocalSearchMonitor_beginMakeNextNeighbor(long jarg1,
LocalSearchMonitor jarg1_,
long jarg2,
LocalSearchOperator jarg2_) |
static void |
mainJNI.LocalSearchMonitor_endAcceptNeighbor(long jarg1,
LocalSearchMonitor jarg1_,
long jarg2,
LocalSearchOperator jarg2_,
boolean jarg3) |
static void |
mainJNI.LocalSearchMonitor_endFilterNeighbor(long jarg1,
LocalSearchMonitor jarg1_,
long jarg2,
LocalSearchOperator jarg2_,
boolean jarg3) |
static void |
mainJNI.LocalSearchMonitor_endMakeNextNeighbor(long jarg1,
LocalSearchMonitor jarg1_,
long jarg2,
LocalSearchOperator jarg2_,
boolean jarg3,
long jarg4,
Assignment jarg4_,
long jarg5,
Assignment jarg5_) |
static void |
mainJNI.LocalSearchOperator_change_ownership(LocalSearchOperator obj,
long cptr,
boolean take_or_release) |
static void |
mainJNI.LocalSearchOperator_director_connect(LocalSearchOperator obj,
long cptr,
boolean mem_own,
boolean weak_global) |
static boolean |
mainJNI.LocalSearchOperator_HasFragments(long jarg1,
LocalSearchOperator jarg1_) |
static boolean |
mainJNI.LocalSearchOperator_HasFragmentsSwigExplicitLocalSearchOperator(long jarg1,
LocalSearchOperator jarg1_) |
static boolean |
mainJNI.LocalSearchOperator_HoldsDelta(long jarg1,
LocalSearchOperator jarg1_) |
static boolean |
mainJNI.LocalSearchOperator_HoldsDeltaSwigExplicitLocalSearchOperator(long jarg1,
LocalSearchOperator jarg1_) |
static boolean |
mainJNI.LocalSearchOperator_nextNeighbor(long jarg1,
LocalSearchOperator jarg1_,
long jarg2,
Assignment jarg2_,
long jarg3,
Assignment jarg3_) |
static void |
mainJNI.LocalSearchOperator_reset(long jarg1,
LocalSearchOperator jarg1_) |
static void |
mainJNI.LocalSearchOperator_resetSwigExplicitLocalSearchOperator(long jarg1,
LocalSearchOperator jarg1_) |
static void |
mainJNI.LocalSearchOperator_start(long jarg1,
LocalSearchOperator jarg1_,
long jarg2,
Assignment jarg2_) |
LocalSearchPhaseParameters |
Solver.makeLocalSearchPhaseParameters(IntVar objective,
LocalSearchOperator ls_operator,
DecisionBuilder sub_decision_builder)
Local Search Phase Parameters
|
LocalSearchPhaseParameters |
Solver.makeLocalSearchPhaseParameters(IntVar objective,
LocalSearchOperator ls_operator,
DecisionBuilder sub_decision_builder,
RegularLimit limit) |
LocalSearchPhaseParameters |
Solver.makeLocalSearchPhaseParameters(IntVar objective,
LocalSearchOperator ls_operator,
DecisionBuilder sub_decision_builder,
RegularLimit limit,
LocalSearchFilterManager filter_manager) |
LocalSearchPhaseParameters |
Solver.makeLocalSearchPhaseParameters(IntVar objective,
SolutionPool pool,
LocalSearchOperator ls_operator,
DecisionBuilder sub_decision_builder) |
LocalSearchPhaseParameters |
Solver.makeLocalSearchPhaseParameters(IntVar objective,
SolutionPool pool,
LocalSearchOperator ls_operator,
DecisionBuilder sub_decision_builder,
RegularLimit limit) |
LocalSearchPhaseParameters |
Solver.makeLocalSearchPhaseParameters(IntVar objective,
SolutionPool pool,
LocalSearchOperator ls_operator,
DecisionBuilder sub_decision_builder,
RegularLimit limit,
LocalSearchFilterManager filter_manager) |
LocalSearchOperator |
Solver.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()). |
LocalSearchOperator |
Solver.MultiArmedBanditConcatenateOperators(LocalSearchOperator[] ops,
double memory_coefficient,
double exploration_coefficient,
boolean maximize)
Creates a local search operator which concatenates a vector of operators.
Uses Multi-Armed Bandit approach for choosing the next operator to use. Sorts operators based on Upper Confidence Bound Algorithm which evaluates each operator as sum of average improvement and exploration function. Updates the order of operators when accepts a neighbor with objective improvement. |
LocalSearchOperator |
Solver.randomConcatenateOperators(LocalSearchOperator[] ops)
Randomized version of local search concatenator; calls a random operator
at each call to MakeNextNeighbor(). |
LocalSearchOperator |
Solver.randomConcatenateOperators(LocalSearchOperator[] ops,
int seed)
Randomized version of local search concatenator; calls a random operator
at each call to MakeNextNeighbor(). |
static void |
mainJNI.RoutingModel_addLocalSearchOperator(long jarg1,
RoutingModel jarg1_,
long jarg2,
LocalSearchOperator jarg2_) |
Assignment |
Solver.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 |
Solver.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). |
static long |
mainJNI.Solver_concatenateOperators__SWIG_0(long jarg1,
Solver jarg1_,
LocalSearchOperator[] jarg2) |
static long |
mainJNI.Solver_concatenateOperators__SWIG_1(long jarg1,
Solver jarg1_,
LocalSearchOperator[] jarg2,
boolean jarg3) |
static long |
mainJNI.Solver_concatenateOperators__SWIG_2(long jarg1,
Solver jarg1_,
LocalSearchOperator[] jarg2,
IntIntToLongFunction jarg3) |
static long |
mainJNI.Solver_makeLocalSearchPhaseParameters__SWIG_0(long jarg1,
Solver jarg1_,
long jarg2,
IntVar jarg2_,
long jarg3,
LocalSearchOperator jarg3_,
long jarg4,
DecisionBuilder jarg4_) |
static long |
mainJNI.Solver_makeLocalSearchPhaseParameters__SWIG_1(long jarg1,
Solver jarg1_,
long jarg2,
IntVar jarg2_,
long jarg3,
LocalSearchOperator jarg3_,
long jarg4,
DecisionBuilder jarg4_,
long jarg5,
RegularLimit jarg5_) |
static long |
mainJNI.Solver_makeLocalSearchPhaseParameters__SWIG_2(long jarg1,
Solver jarg1_,
long jarg2,
IntVar jarg2_,
long jarg3,
LocalSearchOperator jarg3_,
long jarg4,
DecisionBuilder jarg4_,
long jarg5,
RegularLimit jarg5_,
long jarg6,
LocalSearchFilterManager jarg6_) |
static long |
mainJNI.Solver_makeLocalSearchPhaseParameters__SWIG_3(long jarg1,
Solver jarg1_,
long jarg2,
IntVar jarg2_,
long jarg3,
SolutionPool jarg3_,
long jarg4,
LocalSearchOperator jarg4_,
long jarg5,
DecisionBuilder jarg5_) |
static long |
mainJNI.Solver_makeLocalSearchPhaseParameters__SWIG_4(long jarg1,
Solver jarg1_,
long jarg2,
IntVar jarg2_,
long jarg3,
SolutionPool jarg3_,
long jarg4,
LocalSearchOperator jarg4_,
long jarg5,
DecisionBuilder jarg5_,
long jarg6,
RegularLimit jarg6_) |
static long |
mainJNI.Solver_makeLocalSearchPhaseParameters__SWIG_5(long jarg1,
Solver jarg1_,
long jarg2,
IntVar jarg2_,
long jarg3,
SolutionPool jarg3_,
long jarg4,
LocalSearchOperator jarg4_,
long jarg5,
DecisionBuilder jarg5_,
long jarg6,
RegularLimit jarg6_,
long jarg7,
LocalSearchFilterManager jarg7_) |
static long |
mainJNI.Solver_makeNeighborhoodLimit(long jarg1,
Solver jarg1_,
long jarg2,
LocalSearchOperator jarg2_,
long jarg3) |
static long |
mainJNI.Solver_MultiArmedBanditConcatenateOperators(long jarg1,
Solver jarg1_,
LocalSearchOperator[] jarg2,
double jarg3,
double jarg4,
boolean jarg5) |
static long |
mainJNI.Solver_randomConcatenateOperators__SWIG_0(long jarg1,
Solver jarg1_,
LocalSearchOperator[] jarg2) |
static long |
mainJNI.Solver_randomConcatenateOperators__SWIG_1(long jarg1,
Solver jarg1_,
LocalSearchOperator[] jarg2,
int jarg3) |
static long |
mainJNI.Solver_RunUncheckedLocalSearch__SWIG_0(long jarg1,
Solver jarg1_,
long jarg2,
Assignment jarg2_,
long jarg3,
LocalSearchFilterManager jarg3_,
long jarg4,
LocalSearchOperator jarg4_,
SearchMonitor[] jarg5,
long jarg6,
RegularLimit jarg6_,
long jarg7) |
static long |
mainJNI.Solver_RunUncheckedLocalSearch__SWIG_1(long jarg1,
Solver jarg1_,
long jarg2,
Assignment jarg2_,
long jarg3,
LocalSearchFilterManager jarg3_,
long jarg4,
LocalSearchOperator jarg4_,
SearchMonitor[] jarg5,
long jarg6,
RegularLimit jarg6_) |
static boolean |
mainJNI.SwigDirector_LocalSearchOperator_HasFragments(LocalSearchOperator jself) |
static boolean |
mainJNI.SwigDirector_LocalSearchOperator_HoldsDelta(LocalSearchOperator jself) |
static boolean |
mainJNI.SwigDirector_LocalSearchOperator_nextNeighbor(LocalSearchOperator jself,
long delta,
long deltadelta) |
static void |
mainJNI.SwigDirector_LocalSearchOperator_reset(LocalSearchOperator jself) |
static void |
mainJNI.SwigDirector_LocalSearchOperator_start(LocalSearchOperator jself,
long assignment) |
static java.lang.String |
mainJNI.SwigDirector_LocalSearchOperator_toString(LocalSearchOperator jself) |
protected static long |
LocalSearchOperator.swigRelease(LocalSearchOperator obj) |
Copyright © 2024. All rights reserved.