Uses of Class
com.google.ortools.constraintsolver.LocalSearchOperator
Packages that use LocalSearchOperator
-
Uses of LocalSearchOperator in com.google.ortools.constraintsolver
Subclasses of LocalSearchOperator in com.google.ortools.constraintsolverModifier and TypeClassDescriptionclassThis is the base class for building an Lns operator.classDefines 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).classSpecialization 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.Methods in com.google.ortools.constraintsolver that return LocalSearchOperatorModifier and TypeMethodDescriptionSolver.concatenateOperators(LocalSearchOperator[] ops) Creates a local search operator which concatenates a vector of operators.
Each operator from the vector is called sequentially.Solver.concatenateOperators(LocalSearchOperator[] ops, boolean restart) Solver.concatenateOperators(LocalSearchOperator[] ops, IntIntToLongFunction evaluator) Solver.makeMoveTowardTargetOperator(Assignment target) Creates a local search operator that tries to move the assignment of some
variables toward a target.Solver.makeMoveTowardTargetOperator(IntVar[] variables, long[] target_values) Creates a local search operator that tries to move the assignment of some
variables toward a target.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()).Solver.makeOperator(IntVar[] vars, int op) Local Search Operators.Solver.makeOperator(IntVar[] vars, int op, SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_incoming_neighbors) Local Search Operators.Solver.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.Solver.makeOperator(IntVar[] vars, IntVar[] secondary_vars, int op) Solver.makeOperator(IntVar[] vars, IntVar[] secondary_vars, int op, SWIGTYPE_p_std__functionT_std__vectorT_int_t_const_Rfint_intF_t get_incoming_neighbors) Solver.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) Solver.makeOperator(IntVar[] vars, IntVar[] secondary_vars, LongTernaryOperator evaluator, int op) Solver.makeOperator(IntVar[] vars, LongTernaryOperator evaluator, int op) 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).Solver.makeRandomLnsOperator(IntVar[] vars, int number_of_variables, int seed) 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.Solver.randomConcatenateOperators(LocalSearchOperator[] ops) Randomized version of local search concatenator; calls a random operator
at each call to MakeNextNeighbor().Solver.randomConcatenateOperators(LocalSearchOperator[] ops, int seed) Randomized version of local search concatenator; calls a random operator
at each call to MakeNextNeighbor().Methods in com.google.ortools.constraintsolver with parameters of type LocalSearchOperatorModifier and TypeMethodDescriptionvoidRoutingModel.addLocalSearchOperator(LocalSearchOperator ls_operator) Adds a local search operator to the set of operators used to solve the
vehicle routing problem.voidLocalSearchMonitor.beginAcceptNeighbor(LocalSearchOperator op) voidLocalSearchMonitor.beginFilterNeighbor(LocalSearchOperator op) voidLocalSearchMonitor.beginMakeNextNeighbor(LocalSearchOperator op) Solver.concatenateOperators(LocalSearchOperator[] ops) Creates a local search operator which concatenates a vector of operators.
Each operator from the vector is called sequentially.Solver.concatenateOperators(LocalSearchOperator[] ops, boolean restart) Solver.concatenateOperators(LocalSearchOperator[] ops, IntIntToLongFunction evaluator) voidLocalSearchMonitor.endAcceptNeighbor(LocalSearchOperator op, boolean neighbor_found) voidLocalSearchMonitor.endFilterNeighbor(LocalSearchOperator op, boolean neighbor_found) voidLocalSearchMonitor.endMakeNextNeighbor(LocalSearchOperator op, boolean neighbor_found, Assignment delta, Assignment deltadelta) static longLocalSearchOperator.getCPtr(LocalSearchOperator obj) static final voidmainJNI.LocalSearchMonitor_beginAcceptNeighbor(long jarg1, LocalSearchMonitor jarg1_, long jarg2, LocalSearchOperator jarg2_) static final voidmainJNI.LocalSearchMonitor_beginFilterNeighbor(long jarg1, LocalSearchMonitor jarg1_, long jarg2, LocalSearchOperator jarg2_) static final voidmainJNI.LocalSearchMonitor_beginMakeNextNeighbor(long jarg1, LocalSearchMonitor jarg1_, long jarg2, LocalSearchOperator jarg2_) static final voidmainJNI.LocalSearchMonitor_endAcceptNeighbor(long jarg1, LocalSearchMonitor jarg1_, long jarg2, LocalSearchOperator jarg2_, boolean jarg3) static final voidmainJNI.LocalSearchMonitor_endFilterNeighbor(long jarg1, LocalSearchMonitor jarg1_, long jarg2, LocalSearchOperator jarg2_, boolean jarg3) static final voidmainJNI.LocalSearchMonitor_endMakeNextNeighbor(long jarg1, LocalSearchMonitor jarg1_, long jarg2, LocalSearchOperator jarg2_, boolean jarg3, long jarg4, Assignment jarg4_, long jarg5, Assignment jarg5_) static final voidmainJNI.LocalSearchOperator_change_ownership(LocalSearchOperator obj, long cptr, boolean take_or_release) static final voidmainJNI.LocalSearchOperator_director_connect(LocalSearchOperator obj, long cptr, boolean mem_own, boolean weak_global) static final voidmainJNI.LocalSearchOperator_EnterSearch(long jarg1, LocalSearchOperator jarg1_) static final voidmainJNI.LocalSearchOperator_EnterSearchSwigExplicitLocalSearchOperator(long jarg1, LocalSearchOperator jarg1_) static final booleanmainJNI.LocalSearchOperator_HasFragments(long jarg1, LocalSearchOperator jarg1_) static final booleanmainJNI.LocalSearchOperator_HasFragmentsSwigExplicitLocalSearchOperator(long jarg1, LocalSearchOperator jarg1_) static final booleanmainJNI.LocalSearchOperator_HoldsDelta(long jarg1, LocalSearchOperator jarg1_) static final booleanmainJNI.LocalSearchOperator_HoldsDeltaSwigExplicitLocalSearchOperator(long jarg1, LocalSearchOperator jarg1_) static final booleanmainJNI.LocalSearchOperator_nextNeighbor(long jarg1, LocalSearchOperator jarg1_, long jarg2, Assignment jarg2_, long jarg3, Assignment jarg3_) static final voidmainJNI.LocalSearchOperator_reset(long jarg1, LocalSearchOperator jarg1_) static final voidmainJNI.LocalSearchOperator_resetSwigExplicitLocalSearchOperator(long jarg1, LocalSearchOperator jarg1_) static final voidmainJNI.LocalSearchOperator_start(long jarg1, LocalSearchOperator jarg1_, long jarg2, Assignment jarg2_) Solver.makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder) Local Search Phase ParametersSolver.makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit) Solver.makeLocalSearchPhaseParameters(IntVar objective, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit, LocalSearchFilterManager filter_manager) Solver.makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder) Solver.makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit) Solver.makeLocalSearchPhaseParameters(IntVar objective, SolutionPool pool, LocalSearchOperator ls_operator, DecisionBuilder sub_decision_builder, RegularLimit limit, LocalSearchFilterManager filter_manager) 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()).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.Solver.randomConcatenateOperators(LocalSearchOperator[] ops) Randomized version of local search concatenator; calls a random operator
at each call to MakeNextNeighbor().Solver.randomConcatenateOperators(LocalSearchOperator[] ops, int seed) Randomized version of local search concatenator; calls a random operator
at each call to MakeNextNeighbor().static final voidmainJNI.RoutingModel_addLocalSearchOperator(long jarg1, RoutingModel jarg1_, long jarg2, LocalSearchOperator jarg2_) 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).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 final longmainJNI.Solver_concatenateOperators__SWIG_0(long jarg1, Solver jarg1_, LocalSearchOperator[] jarg2) static final longmainJNI.Solver_concatenateOperators__SWIG_1(long jarg1, Solver jarg1_, LocalSearchOperator[] jarg2, boolean jarg3) static final longmainJNI.Solver_concatenateOperators__SWIG_2(long jarg1, Solver jarg1_, LocalSearchOperator[] jarg2, IntIntToLongFunction jarg3) static final longmainJNI.Solver_makeLocalSearchPhaseParameters__SWIG_0(long jarg1, Solver jarg1_, long jarg2, IntVar jarg2_, long jarg3, LocalSearchOperator jarg3_, long jarg4, DecisionBuilder jarg4_) static final longmainJNI.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 final longmainJNI.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 final longmainJNI.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 final longmainJNI.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 final longmainJNI.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 final longmainJNI.Solver_makeNeighborhoodLimit(long jarg1, Solver jarg1_, long jarg2, LocalSearchOperator jarg2_, long jarg3) static final longmainJNI.Solver_MultiArmedBanditConcatenateOperators(long jarg1, Solver jarg1_, LocalSearchOperator[] jarg2, double jarg3, double jarg4, boolean jarg5) static final longmainJNI.Solver_randomConcatenateOperators__SWIG_0(long jarg1, Solver jarg1_, LocalSearchOperator[] jarg2) static final longmainJNI.Solver_randomConcatenateOperators__SWIG_1(long jarg1, Solver jarg1_, LocalSearchOperator[] jarg2, int jarg3) static final longmainJNI.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 final longmainJNI.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 voidmainJNI.SwigDirector_LocalSearchOperator_EnterSearch(LocalSearchOperator jself) static booleanmainJNI.SwigDirector_LocalSearchOperator_HasFragments(LocalSearchOperator jself) static booleanmainJNI.SwigDirector_LocalSearchOperator_HoldsDelta(LocalSearchOperator jself) static booleanmainJNI.SwigDirector_LocalSearchOperator_nextNeighbor(LocalSearchOperator jself, long delta, long deltadelta) static voidmainJNI.SwigDirector_LocalSearchOperator_reset(LocalSearchOperator jself) static voidmainJNI.SwigDirector_LocalSearchOperator_start(LocalSearchOperator jself, long assignment) static StringmainJNI.SwigDirector_LocalSearchOperator_toString(LocalSearchOperator jself) static longLocalSearchOperator.swigRelease(LocalSearchOperator obj)