Interface RoutingSearchParametersOrBuilder
- All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder
,com.google.protobuf.MessageOrBuilder
- All Known Implementing Classes:
RoutingSearchParameters
,RoutingSearchParameters.Builder
@Generated
public interface RoutingSearchParametersOrBuilder
extends com.google.protobuf.MessageOrBuilder
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Whether or not to consider entries making the nodes/pairs unperformed in the GlobalCheapestInsertion heuristic.double
Ratio (between 0 and 1) of available vehicles in the model on which farthest nodes of the model are inserted as seeds in the GlobalCheapestInsertion first solution heuristic.int
int32 cheapest_insertion_first_solution_min_neighbors = 44;
double
Ratio (in ]0, 1]) of closest non start/end nodes to consider as neighbors for each node when creating new insertions in the parallel/sequential cheapest insertion heuristic.boolean
Whether or not to only consider closest neighbors when initializing the assignment for the first solution.int
int32 cheapest_insertion_ls_operator_min_neighbors = 45;
double
Neighbors ratio and minimum number of neighbors for the heuristic when used in a local search operator (see local_search_operators.use_global_cheapest_insertion_path_lns and local_search_operators.use_global_cheapest_insertion_chain_lns below).boolean
If true use minimum matching instead of minimal matching in the Christofides algorithm..operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
int
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
boolean
Setting this to true completely disables the LP and MIP scheduling in the solver.int
If model.Size() is less than the threshold and that no solution has been found, attempt a pass with CP-SAT.int
If non zero, a period p indicates that every p node insertions or additions to a path, an optimization of the current partial solution will be performed.First solution strategies, used as starting point of local search.int
First solution strategies, used as starting point of local search.double
These are advanced settings which should not be modified unless you know what you are doing.boolean
When an arc leaving a vehicle start or arriving at a vehicle end is penalized, this field controls whether to penalize all other equivalent arcs with starts or ends in the same vehicle class.boolean
Whether to reset penalties when a new best solution is found.int
Number of closest nodes to consider for each node during the destruction phase of the FilteredHeuristicCloseNodesLNSOperator.int
Number of expensive arcs to consider cutting in the FilteredHeuristicExpensiveChainLNSOperator operator.The improvement search limit is added to the solver if the following parameters are set.The improvement search limit is added to the solver if the following parameters are set.Iterated Local Search parameters.Iterated Local Search parameters.com.google.protobuf.Duration
Limit to the time spent in the completion search for each local search neighbor.com.google.protobuf.DurationOrBuilder
Limit to the time spent in the completion search for each local search neighbor.Choice of insertion strategy for pickup/delivery pairs, used in local cheapest cost insertion, both first solution heuristic and LNS.int
Choice of insertion strategy for pickup/delivery pairs, used in local cheapest cost insertion, both first solution heuristic and LNS.Choice of insertion strategy for pickup/delivery pairs, used in local cheapest insertion, both first solution heuristic and LNS.int
Choice of insertion strategy for pickup/delivery pairs, used in local cheapest insertion, both first solution heuristic and LNS.getLocalCheapestInsertionSortingProperties
(int index) The properties used to sort insertion entries in the local cheapest insertion heuristic, in *decreasing* order of priority.int
The properties used to sort insertion entries in the local cheapest insertion heuristic, in *decreasing* order of priority.The properties used to sort insertion entries in the local cheapest insertion heuristic, in *decreasing* order of priority.int
The properties used to sort insertion entries in the local cheapest insertion heuristic, in *decreasing* order of priority.The properties used to sort insertion entries in the local cheapest insertion heuristic, in *decreasing* order of priority.Local search metaheuristics used to guide the search.getLocalSearchMetaheuristics
(int index) Local search metaheuristics alternatively used to guide the search.int
Local search metaheuristics alternatively used to guide the search.Local search metaheuristics alternatively used to guide the search.int
getLocalSearchMetaheuristicsValue
(int index) Local search metaheuristics alternatively used to guide the search.Local search metaheuristics alternatively used to guide the search.int
Local search metaheuristics used to guide the search..operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
double
double log_cost_offset = 29;
double
In logs, cost values will be scaled and offset by the given values in the following way: log_cost_scaling_factor * (cost + log_cost_offset)boolean
--- Miscellaneous --- Some of these are advanced settings which should not be modified unless you know what you are doing.In logs, this tag will be appended to each line corresponding to a new solution.com.google.protobuf.ByteString
In logs, this tag will be appended to each line corresponding to a new solution.int
int32 ls_operator_min_neighbors = 54;
double
Neighbors ratio and minimum number of neighbors considered in local search operators (see cheapest_insertion_first_solution_neighbors_ratio and cheapest_insertion_first_solution_min_neighbors for more information).int
Maximum size of the chain to make inactive in SwapActiveChainOperator..operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
int
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
double
Positive parameter defining the exploration coefficient of the multi-armed bandit compound operator.double
Memory coefficient related to the multi-armed bandit compound operator.int
Number of solutions to collect during the search.int
int32 num_max_local_optima_before_metaheuristic_switch = 64;
double
Minimum step by which the solution must be improved in local search. 0 means "unspecified".int
Number of expensive arcs to consider cutting in the RelocateExpensiveChain neighborhood operator (see LocalSearchNeighborhoodOperators.use_relocate_expensive_chain()).boolean
If use_cp_sat or use_generalized_cp_sat is true, will report intermediate solutions found by CP-SAT to solution listeners.If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm parameters which will be used.If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm parameters which will be used.boolean
Add savings related to reverse arcs when finding the nearest neighbors of the nodes.double
Coefficient of the cost of the arc for which the saving value is being computed: Saving(a-->b) = Cost(a-->end) + Cost(start-->b) - savings_arc_coefficient * Cost(a-->b) This parameter must be greater than 0, and its default value is 1.double
The number of neighbors considered for each node in the Savings heuristic is chosen so that the space used to store the savings doesn't exceed savings_max_memory_usage_bytes, which must be in ]0, 1e10].double
Parameters specific to the Savings first solution heuristic.double
Ratio of the overall time limit spent in a secondary LS phase with only intra-route and insertion operators, meant to "cleanup" the current solution before stopping the search.long
-- Search limits -- Limit to the number of solutions generated during the search. 0 means "unspecified".com.google.protobuf.Duration
Limit to the time spent in the search.com.google.protobuf.DurationOrBuilder
Limit to the time spent in the search.getUseCp()
If true, use the CP solver to find a solution.If true, use the CP-SAT solver to find a solution.int
If true, use the CP-SAT solver to find a solution.int
If true, use the CP solver to find a solution.boolean
--- Search control --- If true, the solver should use depth-first search rather than local search to solve the problem.boolean
--- Propagation control --- These are advanced settings which should not be modified unless you know what you are doing.If true, use the CP-SAT solver to find a solution on generalized routing model.int
If true, use the CP-SAT solver to find a solution on generalized routing model.boolean
Whether to consider arc penalties in cost functions used in local search operators using arc costs.boolean
Whether the solver should use an Iterated Local Search approach to solve the problem.boolean
If true, the solver will use multi-armed bandit concatenate operators.boolean
--- Advanced first solutions strategy settings --- Don't touch these unless you know what you are doing.boolean
Setting this to true completely disables the LP and MIP scheduling in the solver.boolean
The improvement search limit is added to the solver if the following parameters are set.boolean
Iterated Local Search parameters.boolean
Limit to the time spent in the completion search for each local search neighbor.boolean
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
boolean
If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm parameters which will be used.boolean
Limit to the time spent in the search.Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder
isInitialized
Methods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getFirstSolutionStrategyValue
int getFirstSolutionStrategyValue()First solution strategies, used as starting point of local search.
.operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
- Returns:
- The enum numeric value on the wire for firstSolutionStrategy.
-
getFirstSolutionStrategy
FirstSolutionStrategy.Value getFirstSolutionStrategy()First solution strategies, used as starting point of local search.
.operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
- Returns:
- The firstSolutionStrategy.
-
getUseUnfilteredFirstSolutionStrategy
boolean getUseUnfilteredFirstSolutionStrategy()--- Advanced first solutions strategy settings --- Don't touch these unless you know what you are doing. Use filtered version of first solution strategy if available.
bool use_unfiltered_first_solution_strategy = 2;
- Returns:
- The useUnfilteredFirstSolutionStrategy.
-
getSavingsNeighborsRatio
double getSavingsNeighborsRatio()Parameters specific to the Savings first solution heuristic. Ratio (in ]0, 1]) of neighbors to consider for each node when constructing the savings. If unspecified, its value is considered to be 1.0.
double savings_neighbors_ratio = 14;
- Returns:
- The savingsNeighborsRatio.
-
getSavingsMaxMemoryUsageBytes
double getSavingsMaxMemoryUsageBytes()The number of neighbors considered for each node in the Savings heuristic is chosen so that the space used to store the savings doesn't exceed savings_max_memory_usage_bytes, which must be in ]0, 1e10]. NOTE: If both savings_neighbors_ratio and savings_max_memory_usage_bytes are specified, the number of neighbors considered for each node will be the minimum of the two numbers determined by these parameters.
double savings_max_memory_usage_bytes = 23;
- Returns:
- The savingsMaxMemoryUsageBytes.
-
getSavingsAddReverseArcs
boolean getSavingsAddReverseArcs()Add savings related to reverse arcs when finding the nearest neighbors of the nodes.
bool savings_add_reverse_arcs = 15;
- Returns:
- The savingsAddReverseArcs.
-
getSavingsArcCoefficient
double getSavingsArcCoefficient()Coefficient of the cost of the arc for which the saving value is being computed: Saving(a-->b) = Cost(a-->end) + Cost(start-->b) - savings_arc_coefficient * Cost(a-->b) This parameter must be greater than 0, and its default value is 1.
double savings_arc_coefficient = 18;
- Returns:
- The savingsArcCoefficient.
-
getCheapestInsertionFarthestSeedsRatio
double getCheapestInsertionFarthestSeedsRatio()Ratio (between 0 and 1) of available vehicles in the model on which farthest nodes of the model are inserted as seeds in the GlobalCheapestInsertion first solution heuristic.
double cheapest_insertion_farthest_seeds_ratio = 16;
- Returns:
- The cheapestInsertionFarthestSeedsRatio.
-
getCheapestInsertionFirstSolutionNeighborsRatio
double getCheapestInsertionFirstSolutionNeighborsRatio()Ratio (in ]0, 1]) of closest non start/end nodes to consider as neighbors for each node when creating new insertions in the parallel/sequential cheapest insertion heuristic. If not overridden, its default value is 1, meaning all neighbors will be considered. The neighborhood ratio is coupled with the corresponding min_neighbors integer, indicating the minimum number of neighbors to consider for each node: num_closest_neighbors = max(min_neighbors, neighbors_ratio * NUM_NON_START_END_NODES) This minimum number of neighbors must be greater or equal to 1, its default value. Neighbors ratio and minimum number of neighbors for the first solution heuristic.
double cheapest_insertion_first_solution_neighbors_ratio = 21;
- Returns:
- The cheapestInsertionFirstSolutionNeighborsRatio.
-
getCheapestInsertionFirstSolutionMinNeighbors
int getCheapestInsertionFirstSolutionMinNeighbors()int32 cheapest_insertion_first_solution_min_neighbors = 44;
- Returns:
- The cheapestInsertionFirstSolutionMinNeighbors.
-
getCheapestInsertionLsOperatorNeighborsRatio
double getCheapestInsertionLsOperatorNeighborsRatio()Neighbors ratio and minimum number of neighbors for the heuristic when used in a local search operator (see local_search_operators.use_global_cheapest_insertion_path_lns and local_search_operators.use_global_cheapest_insertion_chain_lns below).
double cheapest_insertion_ls_operator_neighbors_ratio = 31;
- Returns:
- The cheapestInsertionLsOperatorNeighborsRatio.
-
getCheapestInsertionLsOperatorMinNeighbors
int getCheapestInsertionLsOperatorMinNeighbors()int32 cheapest_insertion_ls_operator_min_neighbors = 45;
- Returns:
- The cheapestInsertionLsOperatorMinNeighbors.
-
getCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization
boolean getCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization()Whether or not to only consider closest neighbors when initializing the assignment for the first solution.
bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
- Returns:
- The cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization.
-
getCheapestInsertionAddUnperformedEntries
boolean getCheapestInsertionAddUnperformedEntries()Whether or not to consider entries making the nodes/pairs unperformed in the GlobalCheapestInsertion heuristic.
bool cheapest_insertion_add_unperformed_entries = 40;
- Returns:
- The cheapestInsertionAddUnperformedEntries.
-
getLocalCheapestInsertionPickupDeliveryStrategyValue
int getLocalCheapestInsertionPickupDeliveryStrategyValue()Choice of insertion strategy for pickup/delivery pairs, used in local cheapest insertion, both first solution heuristic and LNS.
.operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_insertion_pickup_delivery_strategy = 49;
- Returns:
- The enum numeric value on the wire for localCheapestInsertionPickupDeliveryStrategy.
-
getLocalCheapestInsertionPickupDeliveryStrategy
RoutingSearchParameters.PairInsertionStrategy getLocalCheapestInsertionPickupDeliveryStrategy()Choice of insertion strategy for pickup/delivery pairs, used in local cheapest insertion, both first solution heuristic and LNS.
.operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_insertion_pickup_delivery_strategy = 49;
- Returns:
- The localCheapestInsertionPickupDeliveryStrategy.
-
getLocalCheapestCostInsertionPickupDeliveryStrategyValue
int getLocalCheapestCostInsertionPickupDeliveryStrategyValue()Choice of insertion strategy for pickup/delivery pairs, used in local cheapest cost insertion, both first solution heuristic and LNS.
.operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_cost_insertion_pickup_delivery_strategy = 55;
- Returns:
- The enum numeric value on the wire for localCheapestCostInsertionPickupDeliveryStrategy.
-
getLocalCheapestCostInsertionPickupDeliveryStrategy
RoutingSearchParameters.PairInsertionStrategy getLocalCheapestCostInsertionPickupDeliveryStrategy()Choice of insertion strategy for pickup/delivery pairs, used in local cheapest cost insertion, both first solution heuristic and LNS.
.operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_cost_insertion_pickup_delivery_strategy = 55;
- Returns:
- The localCheapestCostInsertionPickupDeliveryStrategy.
-
getLocalCheapestInsertionSortingPropertiesList
List<RoutingSearchParameters.InsertionSortingProperty> getLocalCheapestInsertionSortingPropertiesList()The properties used to sort insertion entries in the local cheapest insertion heuristic, in *decreasing* order of priority. The properties listed here are applied hierarchically, from highest to lowest priority. When no properties are provided (SORTING_PROPERTY_ALLOWED_VEHICLES, SORTING_PROPERTY_PENALTY) is used by default.
repeated .operations_research.RoutingSearchParameters.InsertionSortingProperty local_cheapest_insertion_sorting_properties = 67;
- Returns:
- A list containing the localCheapestInsertionSortingProperties.
-
getLocalCheapestInsertionSortingPropertiesCount
int getLocalCheapestInsertionSortingPropertiesCount()The properties used to sort insertion entries in the local cheapest insertion heuristic, in *decreasing* order of priority. The properties listed here are applied hierarchically, from highest to lowest priority. When no properties are provided (SORTING_PROPERTY_ALLOWED_VEHICLES, SORTING_PROPERTY_PENALTY) is used by default.
repeated .operations_research.RoutingSearchParameters.InsertionSortingProperty local_cheapest_insertion_sorting_properties = 67;
- Returns:
- The count of localCheapestInsertionSortingProperties.
-
getLocalCheapestInsertionSortingProperties
RoutingSearchParameters.InsertionSortingProperty getLocalCheapestInsertionSortingProperties(int index) The properties used to sort insertion entries in the local cheapest insertion heuristic, in *decreasing* order of priority. The properties listed here are applied hierarchically, from highest to lowest priority. When no properties are provided (SORTING_PROPERTY_ALLOWED_VEHICLES, SORTING_PROPERTY_PENALTY) is used by default.
repeated .operations_research.RoutingSearchParameters.InsertionSortingProperty local_cheapest_insertion_sorting_properties = 67;
- Parameters:
index
- The index of the element to return.- Returns:
- The localCheapestInsertionSortingProperties at the given index.
-
getLocalCheapestInsertionSortingPropertiesValueList
The properties used to sort insertion entries in the local cheapest insertion heuristic, in *decreasing* order of priority. The properties listed here are applied hierarchically, from highest to lowest priority. When no properties are provided (SORTING_PROPERTY_ALLOWED_VEHICLES, SORTING_PROPERTY_PENALTY) is used by default.
repeated .operations_research.RoutingSearchParameters.InsertionSortingProperty local_cheapest_insertion_sorting_properties = 67;
- Returns:
- A list containing the enum numeric values on the wire for localCheapestInsertionSortingProperties.
-
getLocalCheapestInsertionSortingPropertiesValue
int getLocalCheapestInsertionSortingPropertiesValue(int index) The properties used to sort insertion entries in the local cheapest insertion heuristic, in *decreasing* order of priority. The properties listed here are applied hierarchically, from highest to lowest priority. When no properties are provided (SORTING_PROPERTY_ALLOWED_VEHICLES, SORTING_PROPERTY_PENALTY) is used by default.
repeated .operations_research.RoutingSearchParameters.InsertionSortingProperty local_cheapest_insertion_sorting_properties = 67;
- Parameters:
index
- The index of the value to return.- Returns:
- The enum numeric value on the wire of localCheapestInsertionSortingProperties at the given index.
-
getChristofidesUseMinimumMatching
boolean getChristofidesUseMinimumMatching()If true use minimum matching instead of minimal matching in the Christofides algorithm.
bool christofides_use_minimum_matching = 30;
- Returns:
- The christofidesUseMinimumMatching.
-
getFirstSolutionOptimizationPeriod
int getFirstSolutionOptimizationPeriod()If non zero, a period p indicates that every p node insertions or additions to a path, an optimization of the current partial solution will be performed. As of 12/2023: - this requires that a secondary routing model has been passed to the main one, - this is only supported by LOCAL_CHEAPEST_INSERTION and LOCAL_CHEAPEST_COST_INSERTION.
int32 first_solution_optimization_period = 59;
- Returns:
- The firstSolutionOptimizationPeriod.
-
hasLocalSearchOperators
boolean hasLocalSearchOperators().operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
- Returns:
- Whether the localSearchOperators field is set.
-
getLocalSearchOperators
RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators().operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
- Returns:
- The localSearchOperators.
-
getLocalSearchOperatorsOrBuilder
RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder().operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
-
getLsOperatorNeighborsRatio
double getLsOperatorNeighborsRatio()Neighbors ratio and minimum number of neighbors considered in local search operators (see cheapest_insertion_first_solution_neighbors_ratio and cheapest_insertion_first_solution_min_neighbors for more information).
double ls_operator_neighbors_ratio = 53;
- Returns:
- The lsOperatorNeighborsRatio.
-
getLsOperatorMinNeighbors
int getLsOperatorMinNeighbors()int32 ls_operator_min_neighbors = 54;
- Returns:
- The lsOperatorMinNeighbors.
-
getUseMultiArmedBanditConcatenateOperators
boolean getUseMultiArmedBanditConcatenateOperators()If true, the solver will use multi-armed bandit concatenate operators. It dynamically chooses the next neighbor operator in order to get the best objective improvement.
bool use_multi_armed_bandit_concatenate_operators = 41;
- Returns:
- The useMultiArmedBanditConcatenateOperators.
-
getMultiArmedBanditCompoundOperatorMemoryCoefficient
double getMultiArmedBanditCompoundOperatorMemoryCoefficient()Memory coefficient related to the multi-armed bandit compound operator. Sets how much the objective improvement of previous accepted neighbors influence the current average improvement. This parameter should be between 0 and 1.
double multi_armed_bandit_compound_operator_memory_coefficient = 42;
- Returns:
- The multiArmedBanditCompoundOperatorMemoryCoefficient.
-
getMultiArmedBanditCompoundOperatorExplorationCoefficient
double getMultiArmedBanditCompoundOperatorExplorationCoefficient()Positive parameter defining the exploration coefficient of the multi-armed bandit compound operator. Sets how often we explore rarely used and unsuccessful in the past operators
double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
- Returns:
- The multiArmedBanditCompoundOperatorExplorationCoefficient.
-
getMaxSwapActiveChainSize
int getMaxSwapActiveChainSize()Maximum size of the chain to make inactive in SwapActiveChainOperator.
int32 max_swap_active_chain_size = 66;
- Returns:
- The maxSwapActiveChainSize.
-
getRelocateExpensiveChainNumArcsToConsider
int getRelocateExpensiveChainNumArcsToConsider()Number of expensive arcs to consider cutting in the RelocateExpensiveChain neighborhood operator (see LocalSearchNeighborhoodOperators.use_relocate_expensive_chain()). This parameter must be greater than 2. NOTE(user): The number of neighbors generated by the operator for relocate_expensive_chain_num_arcs_to_consider = K is around K*(K-1)/2 * number_of_routes * number_of_nodes.
int32 relocate_expensive_chain_num_arcs_to_consider = 20;
- Returns:
- The relocateExpensiveChainNumArcsToConsider.
-
getHeuristicExpensiveChainLnsNumArcsToConsider
int getHeuristicExpensiveChainLnsNumArcsToConsider()Number of expensive arcs to consider cutting in the FilteredHeuristicExpensiveChainLNSOperator operator.
int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
- Returns:
- The heuristicExpensiveChainLnsNumArcsToConsider.
-
getHeuristicCloseNodesLnsNumNodes
int getHeuristicCloseNodesLnsNumNodes()Number of closest nodes to consider for each node during the destruction phase of the FilteredHeuristicCloseNodesLNSOperator.
int32 heuristic_close_nodes_lns_num_nodes = 35;
- Returns:
- The heuristicCloseNodesLnsNumNodes.
-
getLocalSearchMetaheuristicValue
int getLocalSearchMetaheuristicValue()Local search metaheuristics used to guide the search.
.operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
- Returns:
- The enum numeric value on the wire for localSearchMetaheuristic.
-
getLocalSearchMetaheuristic
LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()Local search metaheuristics used to guide the search.
.operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
- Returns:
- The localSearchMetaheuristic.
-
getLocalSearchMetaheuristicsList
List<LocalSearchMetaheuristic.Value> getLocalSearchMetaheuristicsList()Local search metaheuristics alternatively used to guide the search. Every num_max_local_optima_before_metaheuristic_switch local minima found by a metaheurisitic, the solver will switch to the next metaheuristic. Cannot be defined if local_search_metaheuristic is different from UNSET or AUTOMATIC.
repeated .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristics = 63;
- Returns:
- A list containing the localSearchMetaheuristics.
-
getLocalSearchMetaheuristicsCount
int getLocalSearchMetaheuristicsCount()Local search metaheuristics alternatively used to guide the search. Every num_max_local_optima_before_metaheuristic_switch local minima found by a metaheurisitic, the solver will switch to the next metaheuristic. Cannot be defined if local_search_metaheuristic is different from UNSET or AUTOMATIC.
repeated .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristics = 63;
- Returns:
- The count of localSearchMetaheuristics.
-
getLocalSearchMetaheuristics
Local search metaheuristics alternatively used to guide the search. Every num_max_local_optima_before_metaheuristic_switch local minima found by a metaheurisitic, the solver will switch to the next metaheuristic. Cannot be defined if local_search_metaheuristic is different from UNSET or AUTOMATIC.
repeated .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristics = 63;
- Parameters:
index
- The index of the element to return.- Returns:
- The localSearchMetaheuristics at the given index.
-
getLocalSearchMetaheuristicsValueList
Local search metaheuristics alternatively used to guide the search. Every num_max_local_optima_before_metaheuristic_switch local minima found by a metaheurisitic, the solver will switch to the next metaheuristic. Cannot be defined if local_search_metaheuristic is different from UNSET or AUTOMATIC.
repeated .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristics = 63;
- Returns:
- A list containing the enum numeric values on the wire for localSearchMetaheuristics.
-
getLocalSearchMetaheuristicsValue
int getLocalSearchMetaheuristicsValue(int index) Local search metaheuristics alternatively used to guide the search. Every num_max_local_optima_before_metaheuristic_switch local minima found by a metaheurisitic, the solver will switch to the next metaheuristic. Cannot be defined if local_search_metaheuristic is different from UNSET or AUTOMATIC.
repeated .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristics = 63;
- Parameters:
index
- The index of the value to return.- Returns:
- The enum numeric value on the wire of localSearchMetaheuristics at the given index.
-
getNumMaxLocalOptimaBeforeMetaheuristicSwitch
int getNumMaxLocalOptimaBeforeMetaheuristicSwitch()int32 num_max_local_optima_before_metaheuristic_switch = 64;
- Returns:
- The numMaxLocalOptimaBeforeMetaheuristicSwitch.
-
getGuidedLocalSearchLambdaCoefficient
double getGuidedLocalSearchLambdaCoefficient()These are advanced settings which should not be modified unless you know what you are doing. Lambda coefficient used to penalize arc costs when GUIDED_LOCAL_SEARCH is used. Must be positive.
double guided_local_search_lambda_coefficient = 5;
- Returns:
- The guidedLocalSearchLambdaCoefficient.
-
getGuidedLocalSearchResetPenaltiesOnNewBestSolution
boolean getGuidedLocalSearchResetPenaltiesOnNewBestSolution()Whether to reset penalties when a new best solution is found. The effect is that a greedy descent is started before the next penalization phase.
bool guided_local_search_reset_penalties_on_new_best_solution = 51;
- Returns:
- The guidedLocalSearchResetPenaltiesOnNewBestSolution.
-
getGuidedLocalSearchPenalizeWithVehicleClasses
boolean getGuidedLocalSearchPenalizeWithVehicleClasses()When an arc leaving a vehicle start or arriving at a vehicle end is penalized, this field controls whether to penalize all other equivalent arcs with starts or ends in the same vehicle class.
bool guided_local_search_penalize_with_vehicle_classes = 61;
- Returns:
- The guidedLocalSearchPenalizeWithVehicleClasses.
-
getUseGuidedLocalSearchPenaltiesInLocalSearchOperators
boolean getUseGuidedLocalSearchPenaltiesInLocalSearchOperators()Whether to consider arc penalties in cost functions used in local search operators using arc costs.
bool use_guided_local_search_penalties_in_local_search_operators = 62;
- Returns:
- The useGuidedLocalSearchPenaltiesInLocalSearchOperators.
-
getUseDepthFirstSearch
boolean getUseDepthFirstSearch()--- Search control --- If true, the solver should use depth-first search rather than local search to solve the problem.
bool use_depth_first_search = 6;
- Returns:
- The useDepthFirstSearch.
-
getUseCpValue
int getUseCpValue()If true, use the CP solver to find a solution. Either local or depth-first search will be used depending on the value of use_depth_first_search. Will be run before the CP-SAT solver (cf. use_cp_sat).
.operations_research.OptionalBoolean use_cp = 28;
- Returns:
- The enum numeric value on the wire for useCp.
-
getUseCp
OptionalBoolean getUseCp()If true, use the CP solver to find a solution. Either local or depth-first search will be used depending on the value of use_depth_first_search. Will be run before the CP-SAT solver (cf. use_cp_sat).
.operations_research.OptionalBoolean use_cp = 28;
- Returns:
- The useCp.
-
getUseCpSatValue
int getUseCpSatValue()If true, use the CP-SAT solver to find a solution. If use_cp is also true, the CP-SAT solver will be run after the CP solver if there is time remaining and will use the CP solution as a hint for the CP-SAT search. As of 5/2019, only TSP models can be solved.
.operations_research.OptionalBoolean use_cp_sat = 27;
- Returns:
- The enum numeric value on the wire for useCpSat.
-
getUseCpSat
OptionalBoolean getUseCpSat()If true, use the CP-SAT solver to find a solution. If use_cp is also true, the CP-SAT solver will be run after the CP solver if there is time remaining and will use the CP solution as a hint for the CP-SAT search. As of 5/2019, only TSP models can be solved.
.operations_research.OptionalBoolean use_cp_sat = 27;
- Returns:
- The useCpSat.
-
getUseGeneralizedCpSatValue
int getUseGeneralizedCpSatValue()If true, use the CP-SAT solver to find a solution on generalized routing model. If use_cp is also true, the CP-SAT solver will be run after the CP solver if there is time remaining and will use the CP solution as a hint for the CP-SAT search.
.operations_research.OptionalBoolean use_generalized_cp_sat = 47;
- Returns:
- The enum numeric value on the wire for useGeneralizedCpSat.
-
getUseGeneralizedCpSat
OptionalBoolean getUseGeneralizedCpSat()If true, use the CP-SAT solver to find a solution on generalized routing model. If use_cp is also true, the CP-SAT solver will be run after the CP solver if there is time remaining and will use the CP solution as a hint for the CP-SAT search.
.operations_research.OptionalBoolean use_generalized_cp_sat = 47;
- Returns:
- The useGeneralizedCpSat.
-
hasSatParameters
boolean hasSatParameters()If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm parameters which will be used.
.operations_research.sat.SatParameters sat_parameters = 48;
- Returns:
- Whether the satParameters field is set.
-
getSatParameters
SatParameters getSatParameters()If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm parameters which will be used.
.operations_research.sat.SatParameters sat_parameters = 48;
- Returns:
- The satParameters.
-
getSatParametersOrBuilder
SatParametersOrBuilder getSatParametersOrBuilder()If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm parameters which will be used.
.operations_research.sat.SatParameters sat_parameters = 48;
-
getReportIntermediateCpSatSolutions
boolean getReportIntermediateCpSatSolutions()If use_cp_sat or use_generalized_cp_sat is true, will report intermediate solutions found by CP-SAT to solution listeners.
bool report_intermediate_cp_sat_solutions = 56;
- Returns:
- The reportIntermediateCpSatSolutions.
-
getFallbackToCpSatSizeThreshold
int getFallbackToCpSatSizeThreshold()If model.Size() is less than the threshold and that no solution has been found, attempt a pass with CP-SAT.
int32 fallback_to_cp_sat_size_threshold = 52;
- Returns:
- The fallbackToCpSatSizeThreshold.
-
getContinuousSchedulingSolverValue
int getContinuousSchedulingSolverValue().operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
- Returns:
- The enum numeric value on the wire for continuousSchedulingSolver.
-
getContinuousSchedulingSolver
RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver().operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
- Returns:
- The continuousSchedulingSolver.
-
getMixedIntegerSchedulingSolverValue
int getMixedIntegerSchedulingSolverValue().operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
- Returns:
- The enum numeric value on the wire for mixedIntegerSchedulingSolver.
-
getMixedIntegerSchedulingSolver
RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver().operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
- Returns:
- The mixedIntegerSchedulingSolver.
-
hasDisableSchedulingBewareThisMayDegradePerformance
boolean hasDisableSchedulingBewareThisMayDegradePerformance()Setting this to true completely disables the LP and MIP scheduling in the solver. This overrides the 2 SchedulingSolver options above.
optional bool disable_scheduling_beware_this_may_degrade_performance = 50;
- Returns:
- Whether the disableSchedulingBewareThisMayDegradePerformance field is set.
-
getDisableSchedulingBewareThisMayDegradePerformance
boolean getDisableSchedulingBewareThisMayDegradePerformance()Setting this to true completely disables the LP and MIP scheduling in the solver. This overrides the 2 SchedulingSolver options above.
optional bool disable_scheduling_beware_this_may_degrade_performance = 50;
- Returns:
- The disableSchedulingBewareThisMayDegradePerformance.
-
getOptimizationStep
double getOptimizationStep()Minimum step by which the solution must be improved in local search. 0 means "unspecified". If this value is fractional, it will get rounded to the nearest integer.
double optimization_step = 7;
- Returns:
- The optimizationStep.
-
getNumberOfSolutionsToCollect
int getNumberOfSolutionsToCollect()Number of solutions to collect during the search. Corresponds to the best solutions found during the search. 0 means "unspecified".
int32 number_of_solutions_to_collect = 17;
- Returns:
- The numberOfSolutionsToCollect.
-
getSolutionLimit
long getSolutionLimit()-- Search limits -- Limit to the number of solutions generated during the search. 0 means "unspecified".
int64 solution_limit = 8;
- Returns:
- The solutionLimit.
-
hasTimeLimit
boolean hasTimeLimit()Limit to the time spent in the search.
.google.protobuf.Duration time_limit = 9;
- Returns:
- Whether the timeLimit field is set.
-
getTimeLimit
com.google.protobuf.Duration getTimeLimit()Limit to the time spent in the search.
.google.protobuf.Duration time_limit = 9;
- Returns:
- The timeLimit.
-
getTimeLimitOrBuilder
com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder()Limit to the time spent in the search.
.google.protobuf.Duration time_limit = 9;
-
hasLnsTimeLimit
boolean hasLnsTimeLimit()Limit to the time spent in the completion search for each local search neighbor.
.google.protobuf.Duration lns_time_limit = 10;
- Returns:
- Whether the lnsTimeLimit field is set.
-
getLnsTimeLimit
com.google.protobuf.Duration getLnsTimeLimit()Limit to the time spent in the completion search for each local search neighbor.
.google.protobuf.Duration lns_time_limit = 10;
- Returns:
- The lnsTimeLimit.
-
getLnsTimeLimitOrBuilder
com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder()Limit to the time spent in the completion search for each local search neighbor.
.google.protobuf.Duration lns_time_limit = 10;
-
getSecondaryLsTimeLimitRatio
double getSecondaryLsTimeLimitRatio()Ratio of the overall time limit spent in a secondary LS phase with only intra-route and insertion operators, meant to "cleanup" the current solution before stopping the search. TODO(user): Since these operators are very fast, add a parameter to cap the max time allocated for this second phase (e.g. Duration max_secondary_ls_time_limit).
double secondary_ls_time_limit_ratio = 57;
- Returns:
- The secondaryLsTimeLimitRatio.
-
hasImprovementLimitParameters
boolean hasImprovementLimitParameters()The improvement search limit is added to the solver if the following parameters are set.
.operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
- Returns:
- Whether the improvementLimitParameters field is set.
-
getImprovementLimitParameters
RoutingSearchParameters.ImprovementSearchLimitParameters getImprovementLimitParameters()The improvement search limit is added to the solver if the following parameters are set.
.operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
- Returns:
- The improvementLimitParameters.
-
getImprovementLimitParametersOrBuilder
RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder getImprovementLimitParametersOrBuilder()The improvement search limit is added to the solver if the following parameters are set.
.operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
-
getUseFullPropagation
boolean getUseFullPropagation()--- Propagation control --- These are advanced settings which should not be modified unless you know what you are doing. Use constraints with full propagation in routing model (instead of 'light' propagation only). Full propagation is only necessary when using depth-first search or for models which require strong propagation to finalize the value of secondary variables. Changing this setting to true will slow down the search in most cases and increase memory consumption in all cases.
bool use_full_propagation = 11;
- Returns:
- The useFullPropagation.
-
getLogSearch
boolean getLogSearch()--- Miscellaneous --- Some of these are advanced settings which should not be modified unless you know what you are doing. Activates search logging. For each solution found during the search, the following will be displayed: its objective value, the maximum objective value since the beginning of the search, the elapsed time since the beginning of the search, the number of branches explored in the search tree, the number of failures in the search tree, the depth of the search tree, the number of local search neighbors explored, the number of local search neighbors filtered by local search filters, the number of local search neighbors accepted, the total memory used and the percentage of the search done.
bool log_search = 13;
- Returns:
- The logSearch.
-
getLogCostScalingFactor
double getLogCostScalingFactor()In logs, cost values will be scaled and offset by the given values in the following way: log_cost_scaling_factor * (cost + log_cost_offset)
double log_cost_scaling_factor = 22;
- Returns:
- The logCostScalingFactor.
-
getLogCostOffset
double getLogCostOffset()double log_cost_offset = 29;
- Returns:
- The logCostOffset.
-
getLogTag
String getLogTag()In logs, this tag will be appended to each line corresponding to a new solution. Useful to sort out logs when several solves are run in parallel.
string log_tag = 36;
- Returns:
- The logTag.
-
getLogTagBytes
com.google.protobuf.ByteString getLogTagBytes()In logs, this tag will be appended to each line corresponding to a new solution. Useful to sort out logs when several solves are run in parallel.
string log_tag = 36;
- Returns:
- The bytes for logTag.
-
getUseIteratedLocalSearch
boolean getUseIteratedLocalSearch()Whether the solver should use an Iterated Local Search approach to solve the problem.
bool use_iterated_local_search = 58;
- Returns:
- The useIteratedLocalSearch.
-
hasIteratedLocalSearchParameters
boolean hasIteratedLocalSearchParameters()Iterated Local Search parameters.
.operations_research.IteratedLocalSearchParameters iterated_local_search_parameters = 60;
- Returns:
- Whether the iteratedLocalSearchParameters field is set.
-
getIteratedLocalSearchParameters
IteratedLocalSearchParameters getIteratedLocalSearchParameters()Iterated Local Search parameters.
.operations_research.IteratedLocalSearchParameters iterated_local_search_parameters = 60;
- Returns:
- The iteratedLocalSearchParameters.
-
getIteratedLocalSearchParametersOrBuilder
IteratedLocalSearchParametersOrBuilder getIteratedLocalSearchParametersOrBuilder()Iterated Local Search parameters.
.operations_research.IteratedLocalSearchParameters iterated_local_search_parameters = 60;
-