public final class RoutingSearchParameters extends com.google.protobuf.GeneratedMessage implements RoutingSearchParametersOrBuilder
Parameters defining the search used to solve vehicle routing problems. If a parameter is unset (or, equivalently, set to its default value), then the routing library will pick its preferred value for that parameter automatically: this should be the case for most parameters. To see those "default" parameters, call GetDefaultRoutingSearchParameters(). Next ID: 68Protobuf type
operations_research.RoutingSearchParameters
Modifier and Type | Class and Description |
---|---|
static class |
RoutingSearchParameters.Builder
Parameters defining the search used to solve vehicle routing problems.
|
static class |
RoutingSearchParameters.ImprovementSearchLimitParameters
Parameters required for the improvement search limit.
|
static interface |
RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder |
static class |
RoutingSearchParameters.InsertionSortingProperty
Properties used to select in which order nodes or node pairs are considered
in insertion heuristics.
|
static class |
RoutingSearchParameters.LocalSearchNeighborhoodOperators
Local search neighborhood operators used to build a solutions neighborhood.
|
static interface |
RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder |
static class |
RoutingSearchParameters.PairInsertionStrategy
In insertion-based heuristics, describes what positions must be considered
when inserting a pickup/delivery pair, and in what order they are
considered.
|
static class |
RoutingSearchParameters.SchedulingSolver
Underlying solver to use in dimension scheduling, respectively for
continuous and mixed models.
|
com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,T>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj) |
boolean |
getCheapestInsertionAddUnperformedEntries()
Whether or not to consider entries making the nodes/pairs unperformed in
the GlobalCheapestInsertion heuristic.
|
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.
|
int |
getCheapestInsertionFirstSolutionMinNeighbors()
int32 cheapest_insertion_first_solution_min_neighbors = 44; |
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.
|
boolean |
getCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization()
Whether or not to only consider closest neighbors when initializing the
assignment for the first solution.
|
int |
getCheapestInsertionLsOperatorMinNeighbors()
int32 cheapest_insertion_ls_operator_min_neighbors = 45; |
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).
|
boolean |
getChristofidesUseMinimumMatching()
If true use minimum matching instead of minimal matching in the
Christofides algorithm.
|
RoutingSearchParameters.SchedulingSolver |
getContinuousSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33; |
int |
getContinuousSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33; |
static RoutingSearchParameters |
getDefaultInstance() |
RoutingSearchParameters |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
boolean |
getDisableSchedulingBewareThisMayDegradePerformance()
Setting this to true completely disables the LP and MIP scheduling in the
solver.
|
int |
getFallbackToCpSatSizeThreshold()
If model.Size() is less than the threshold and that no solution has been
found, attempt a pass with CP-SAT.
|
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.
|
FirstSolutionStrategy.Value |
getFirstSolutionStrategy()
First solution strategies, used as starting point of local search.
|
int |
getFirstSolutionStrategyValue()
First solution strategies, used as starting point of local search.
|
double |
getGuidedLocalSearchLambdaCoefficient()
These are advanced settings which should not be modified unless you know
what you are doing.
|
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.
|
boolean |
getGuidedLocalSearchResetPenaltiesOnNewBestSolution()
Whether to reset penalties when a new best solution is found.
|
int |
getHeuristicCloseNodesLnsNumNodes()
Number of closest nodes to consider for each node during the destruction
phase of the FilteredHeuristicCloseNodesLNSOperator.
|
int |
getHeuristicExpensiveChainLnsNumArcsToConsider()
Number of expensive arcs to consider cutting in the
FilteredHeuristicExpensiveChainLNSOperator operator.
|
RoutingSearchParameters.ImprovementSearchLimitParameters |
getImprovementLimitParameters()
The improvement search limit is added to the solver if the following
parameters are set.
|
RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder |
getImprovementLimitParametersOrBuilder()
The improvement search limit is added to the solver if the following
parameters are set.
|
IteratedLocalSearchParameters |
getIteratedLocalSearchParameters()
Iterated Local Search parameters.
|
IteratedLocalSearchParametersOrBuilder |
getIteratedLocalSearchParametersOrBuilder()
Iterated Local Search parameters.
|
com.google.protobuf.Duration |
getLnsTimeLimit()
Limit to the time spent in the completion search for each local search
neighbor.
|
com.google.protobuf.DurationOrBuilder |
getLnsTimeLimitOrBuilder()
Limit to the time spent in the completion search for each local search
neighbor.
|
RoutingSearchParameters.PairInsertionStrategy |
getLocalCheapestCostInsertionPickupDeliveryStrategy()
Choice of insertion strategy for pickup/delivery pairs, used in local
cheapest cost insertion, both first solution heuristic and LNS.
|
int |
getLocalCheapestCostInsertionPickupDeliveryStrategyValue()
Choice of insertion strategy for pickup/delivery pairs, used in local
cheapest cost insertion, both first solution heuristic and LNS.
|
RoutingSearchParameters.PairInsertionStrategy |
getLocalCheapestInsertionPickupDeliveryStrategy()
Choice of insertion strategy for pickup/delivery pairs, used in local
cheapest insertion, both first solution heuristic and LNS.
|
int |
getLocalCheapestInsertionPickupDeliveryStrategyValue()
Choice of insertion strategy for pickup/delivery pairs, used in local
cheapest insertion, both first solution heuristic and LNS.
|
RoutingSearchParameters.InsertionSortingProperty |
getLocalCheapestInsertionSortingProperties(int index)
The properties used to sort insertion entries in the local cheapest
insertion heuristic, in *decreasing* order of priority.
|
int |
getLocalCheapestInsertionSortingPropertiesCount()
The properties used to sort insertion entries in the local cheapest
insertion heuristic, in *decreasing* order of priority.
|
java.util.List<RoutingSearchParameters.InsertionSortingProperty> |
getLocalCheapestInsertionSortingPropertiesList()
The properties used to sort insertion entries in the local cheapest
insertion heuristic, in *decreasing* order of priority.
|
int |
getLocalCheapestInsertionSortingPropertiesValue(int index)
The properties used to sort insertion entries in the local cheapest
insertion heuristic, in *decreasing* order of priority.
|
java.util.List<java.lang.Integer> |
getLocalCheapestInsertionSortingPropertiesValueList()
The properties used to sort insertion entries in the local cheapest
insertion heuristic, in *decreasing* order of priority.
|
LocalSearchMetaheuristic.Value |
getLocalSearchMetaheuristic()
Local search metaheuristics used to guide the search.
|
LocalSearchMetaheuristic.Value |
getLocalSearchMetaheuristics(int index)
Local search metaheuristics alternatively used to guide the search.
|
int |
getLocalSearchMetaheuristicsCount()
Local search metaheuristics alternatively used to guide the search.
|
java.util.List<LocalSearchMetaheuristic.Value> |
getLocalSearchMetaheuristicsList()
Local search metaheuristics alternatively used to guide the search.
|
int |
getLocalSearchMetaheuristicsValue(int index)
Local search metaheuristics alternatively used to guide the search.
|
java.util.List<java.lang.Integer> |
getLocalSearchMetaheuristicsValueList()
Local search metaheuristics alternatively used to guide the search.
|
int |
getLocalSearchMetaheuristicValue()
Local search metaheuristics used to guide the search.
|
RoutingSearchParameters.LocalSearchNeighborhoodOperators |
getLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3; |
RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder |
getLocalSearchOperatorsOrBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3; |
double |
getLogCostOffset()
double log_cost_offset = 29; |
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; |
boolean |
getLogSearch()
--- Miscellaneous ---
Some of these are advanced settings which should not be modified unless you
know what you are doing.
|
java.lang.String |
getLogTag()
In logs, this tag will be appended to each line corresponding to a new
solution.
|
com.google.protobuf.ByteString |
getLogTagBytes()
In logs, this tag will be appended to each line corresponding to a new
solution.
|
int |
getLsOperatorMinNeighbors()
int32 ls_operator_min_neighbors = 54; |
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).
|
int |
getMaxSwapActiveChainSize()
Maximum size of the chain to make inactive in SwapActiveChainOperator.
|
RoutingSearchParameters.SchedulingSolver |
getMixedIntegerSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34; |
int |
getMixedIntegerSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34; |
double |
getMultiArmedBanditCompoundOperatorExplorationCoefficient()
Positive parameter defining the exploration coefficient of the multi-armed
bandit compound operator.
|
double |
getMultiArmedBanditCompoundOperatorMemoryCoefficient()
Memory coefficient related to the multi-armed bandit compound operator.
|
int |
getNumberOfSolutionsToCollect()
Number of solutions to collect during the search.
|
int |
getNumMaxLocalOptimaBeforeMetaheuristicSwitch()
int32 num_max_local_optima_before_metaheuristic_switch = 64; |
double |
getOptimizationStep()
Minimum step by which the solution must be improved in local search. 0
means "unspecified".
|
com.google.protobuf.Parser<RoutingSearchParameters> |
getParserForType() |
int |
getRelocateExpensiveChainNumArcsToConsider()
Number of expensive arcs to consider cutting in the RelocateExpensiveChain
neighborhood operator (see
LocalSearchNeighborhoodOperators.use_relocate_expensive_chain()).
|
boolean |
getReportIntermediateCpSatSolutions()
If use_cp_sat or use_generalized_cp_sat is true, will report intermediate
solutions found by CP-SAT to solution listeners.
|
SatParameters |
getSatParameters()
If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm
parameters which will be used.
|
SatParametersOrBuilder |
getSatParametersOrBuilder()
If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm
parameters which will be used.
|
boolean |
getSavingsAddReverseArcs()
Add savings related to reverse arcs when finding the nearest neighbors
of the nodes.
|
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 |
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].
|
double |
getSavingsNeighborsRatio()
Parameters specific to the Savings first solution heuristic.
|
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.
|
int |
getSerializedSize() |
long |
getSolutionLimit()
-- Search limits --
Limit to the number of solutions generated during the search. 0 means
"unspecified".
|
com.google.protobuf.Duration |
getTimeLimit()
Limit to the time spent in the search.
|
com.google.protobuf.DurationOrBuilder |
getTimeLimitOrBuilder()
Limit to the time spent in the search.
|
OptionalBoolean |
getUseCp()
If true, use the CP solver to find a solution.
|
OptionalBoolean |
getUseCpSat()
If true, use the CP-SAT solver to find a solution.
|
int |
getUseCpSatValue()
If true, use the CP-SAT solver to find a solution.
|
int |
getUseCpValue()
If true, use the CP solver to find a solution.
|
boolean |
getUseDepthFirstSearch()
--- Search control ---
If true, the solver should use depth-first search rather than local search
to solve the problem.
|
boolean |
getUseFullPropagation()
--- Propagation control ---
These are advanced settings which should not be modified unless you know
what you are doing.
|
OptionalBoolean |
getUseGeneralizedCpSat()
If true, use the CP-SAT solver to find a solution on generalized routing
model.
|
int |
getUseGeneralizedCpSatValue()
If true, use the CP-SAT solver to find a solution on generalized routing
model.
|
boolean |
getUseGuidedLocalSearchPenaltiesInLocalSearchOperators()
Whether to consider arc penalties in cost functions used in local search
operators using arc costs.
|
boolean |
getUseIteratedLocalSearch()
Whether the solver should use an Iterated Local Search approach to solve
the problem.
|
boolean |
getUseMultiArmedBanditConcatenateOperators()
If true, the solver will use multi-armed bandit concatenate operators.
|
boolean |
getUseUnfilteredFirstSolutionStrategy()
--- Advanced first solutions strategy settings ---
Don't touch these unless you know what you are doing.
|
boolean |
hasDisableSchedulingBewareThisMayDegradePerformance()
Setting this to true completely disables the LP and MIP scheduling in the
solver.
|
int |
hashCode() |
boolean |
hasImprovementLimitParameters()
The improvement search limit is added to the solver if the following
parameters are set.
|
boolean |
hasIteratedLocalSearchParameters()
Iterated Local Search parameters.
|
boolean |
hasLnsTimeLimit()
Limit to the time spent in the completion search for each local search
neighbor.
|
boolean |
hasLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3; |
boolean |
hasSatParameters()
If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm
parameters which will be used.
|
boolean |
hasTimeLimit()
Limit to the time spent in the search.
|
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static RoutingSearchParameters.Builder |
newBuilder() |
static RoutingSearchParameters.Builder |
newBuilder(RoutingSearchParameters prototype) |
RoutingSearchParameters.Builder |
newBuilderForType() |
protected RoutingSearchParameters.Builder |
newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent) |
static RoutingSearchParameters |
parseDelimitedFrom(java.io.InputStream input) |
static RoutingSearchParameters |
parseDelimitedFrom(java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RoutingSearchParameters |
parseFrom(byte[] data) |
static RoutingSearchParameters |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RoutingSearchParameters |
parseFrom(java.nio.ByteBuffer data) |
static RoutingSearchParameters |
parseFrom(java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RoutingSearchParameters |
parseFrom(com.google.protobuf.ByteString data) |
static RoutingSearchParameters |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RoutingSearchParameters |
parseFrom(com.google.protobuf.CodedInputStream input) |
static RoutingSearchParameters |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RoutingSearchParameters |
parseFrom(java.io.InputStream input) |
static RoutingSearchParameters |
parseFrom(java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<RoutingSearchParameters> |
parser() |
RoutingSearchParameters.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
findInitializationErrors, getInitializationErrorString, hashFields, toString
addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
public static final int FIRST_SOLUTION_STRATEGY_FIELD_NUMBER
public static final int USE_UNFILTERED_FIRST_SOLUTION_STRATEGY_FIELD_NUMBER
public static final int SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER
public static final int SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER
public static final int SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER
public static final int SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER
public static final int CHEAPEST_INSERTION_FARTHEST_SEEDS_RATIO_FIELD_NUMBER
public static final int CHEAPEST_INSERTION_FIRST_SOLUTION_NEIGHBORS_RATIO_FIELD_NUMBER
public static final int CHEAPEST_INSERTION_FIRST_SOLUTION_MIN_NEIGHBORS_FIELD_NUMBER
public static final int CHEAPEST_INSERTION_LS_OPERATOR_NEIGHBORS_RATIO_FIELD_NUMBER
public static final int CHEAPEST_INSERTION_LS_OPERATOR_MIN_NEIGHBORS_FIELD_NUMBER
public static final int CHEAPEST_INSERTION_FIRST_SOLUTION_USE_NEIGHBORS_RATIO_FOR_INITIALIZATION_FIELD_NUMBER
public static final int CHEAPEST_INSERTION_ADD_UNPERFORMED_ENTRIES_FIELD_NUMBER
public static final int LOCAL_CHEAPEST_INSERTION_PICKUP_DELIVERY_STRATEGY_FIELD_NUMBER
public static final int LOCAL_CHEAPEST_COST_INSERTION_PICKUP_DELIVERY_STRATEGY_FIELD_NUMBER
public static final int LOCAL_CHEAPEST_INSERTION_SORTING_PROPERTIES_FIELD_NUMBER
public static final int CHRISTOFIDES_USE_MINIMUM_MATCHING_FIELD_NUMBER
public static final int FIRST_SOLUTION_OPTIMIZATION_PERIOD_FIELD_NUMBER
public static final int LOCAL_SEARCH_OPERATORS_FIELD_NUMBER
public static final int LS_OPERATOR_NEIGHBORS_RATIO_FIELD_NUMBER
public static final int LS_OPERATOR_MIN_NEIGHBORS_FIELD_NUMBER
public static final int USE_MULTI_ARMED_BANDIT_CONCATENATE_OPERATORS_FIELD_NUMBER
public static final int MULTI_ARMED_BANDIT_COMPOUND_OPERATOR_MEMORY_COEFFICIENT_FIELD_NUMBER
public static final int MULTI_ARMED_BANDIT_COMPOUND_OPERATOR_EXPLORATION_COEFFICIENT_FIELD_NUMBER
public static final int MAX_SWAP_ACTIVE_CHAIN_SIZE_FIELD_NUMBER
public static final int RELOCATE_EXPENSIVE_CHAIN_NUM_ARCS_TO_CONSIDER_FIELD_NUMBER
public static final int HEURISTIC_EXPENSIVE_CHAIN_LNS_NUM_ARCS_TO_CONSIDER_FIELD_NUMBER
public static final int HEURISTIC_CLOSE_NODES_LNS_NUM_NODES_FIELD_NUMBER
public static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER
public static final int LOCAL_SEARCH_METAHEURISTICS_FIELD_NUMBER
public static final int NUM_MAX_LOCAL_OPTIMA_BEFORE_METAHEURISTIC_SWITCH_FIELD_NUMBER
public static final int GUIDED_LOCAL_SEARCH_LAMBDA_COEFFICIENT_FIELD_NUMBER
public static final int GUIDED_LOCAL_SEARCH_RESET_PENALTIES_ON_NEW_BEST_SOLUTION_FIELD_NUMBER
public static final int GUIDED_LOCAL_SEARCH_PENALIZE_WITH_VEHICLE_CLASSES_FIELD_NUMBER
public static final int USE_GUIDED_LOCAL_SEARCH_PENALTIES_IN_LOCAL_SEARCH_OPERATORS_FIELD_NUMBER
public static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER
public static final int USE_CP_FIELD_NUMBER
public static final int USE_CP_SAT_FIELD_NUMBER
public static final int USE_GENERALIZED_CP_SAT_FIELD_NUMBER
public static final int SAT_PARAMETERS_FIELD_NUMBER
public static final int REPORT_INTERMEDIATE_CP_SAT_SOLUTIONS_FIELD_NUMBER
public static final int FALLBACK_TO_CP_SAT_SIZE_THRESHOLD_FIELD_NUMBER
public static final int CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER
public static final int MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER
public static final int DISABLE_SCHEDULING_BEWARE_THIS_MAY_DEGRADE_PERFORMANCE_FIELD_NUMBER
public static final int OPTIMIZATION_STEP_FIELD_NUMBER
public static final int NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER
public static final int SOLUTION_LIMIT_FIELD_NUMBER
public static final int TIME_LIMIT_FIELD_NUMBER
public static final int LNS_TIME_LIMIT_FIELD_NUMBER
public static final int SECONDARY_LS_TIME_LIMIT_RATIO_FIELD_NUMBER
public static final int IMPROVEMENT_LIMIT_PARAMETERS_FIELD_NUMBER
public static final int USE_FULL_PROPAGATION_FIELD_NUMBER
public static final int LOG_SEARCH_FIELD_NUMBER
public static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER
public static final int LOG_COST_OFFSET_FIELD_NUMBER
public static final int LOG_TAG_FIELD_NUMBER
public static final int USE_ITERATED_LOCAL_SEARCH_FIELD_NUMBER
public static final int ITERATED_LOCAL_SEARCH_PARAMETERS_FIELD_NUMBER
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable
in class com.google.protobuf.GeneratedMessage
public int getFirstSolutionStrategyValue()
First solution strategies, used as starting point of local search.
.operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
getFirstSolutionStrategyValue
in interface RoutingSearchParametersOrBuilder
public FirstSolutionStrategy.Value getFirstSolutionStrategy()
First solution strategies, used as starting point of local search.
.operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
getFirstSolutionStrategy
in interface RoutingSearchParametersOrBuilder
public 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;
getUseUnfilteredFirstSolutionStrategy
in interface RoutingSearchParametersOrBuilder
public 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;
getSavingsNeighborsRatio
in interface RoutingSearchParametersOrBuilder
public 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;
getSavingsMaxMemoryUsageBytes
in interface RoutingSearchParametersOrBuilder
public boolean getSavingsAddReverseArcs()
Add savings related to reverse arcs when finding the nearest neighbors of the nodes.
bool savings_add_reverse_arcs = 15;
getSavingsAddReverseArcs
in interface RoutingSearchParametersOrBuilder
public 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;
getSavingsArcCoefficient
in interface RoutingSearchParametersOrBuilder
public 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;
getCheapestInsertionFarthestSeedsRatio
in interface RoutingSearchParametersOrBuilder
public 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;
getCheapestInsertionFirstSolutionNeighborsRatio
in interface RoutingSearchParametersOrBuilder
public int getCheapestInsertionFirstSolutionMinNeighbors()
int32 cheapest_insertion_first_solution_min_neighbors = 44;
getCheapestInsertionFirstSolutionMinNeighbors
in interface RoutingSearchParametersOrBuilder
public 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;
getCheapestInsertionLsOperatorNeighborsRatio
in interface RoutingSearchParametersOrBuilder
public int getCheapestInsertionLsOperatorMinNeighbors()
int32 cheapest_insertion_ls_operator_min_neighbors = 45;
getCheapestInsertionLsOperatorMinNeighbors
in interface RoutingSearchParametersOrBuilder
public 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;
getCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization
in interface RoutingSearchParametersOrBuilder
public boolean getCheapestInsertionAddUnperformedEntries()
Whether or not to consider entries making the nodes/pairs unperformed in the GlobalCheapestInsertion heuristic.
bool cheapest_insertion_add_unperformed_entries = 40;
getCheapestInsertionAddUnperformedEntries
in interface RoutingSearchParametersOrBuilder
public 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;
getLocalCheapestInsertionPickupDeliveryStrategyValue
in interface RoutingSearchParametersOrBuilder
public 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;
getLocalCheapestInsertionPickupDeliveryStrategy
in interface RoutingSearchParametersOrBuilder
public 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;
getLocalCheapestCostInsertionPickupDeliveryStrategyValue
in interface RoutingSearchParametersOrBuilder
public 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;
getLocalCheapestCostInsertionPickupDeliveryStrategy
in interface RoutingSearchParametersOrBuilder
public java.util.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;
getLocalCheapestInsertionSortingPropertiesList
in interface RoutingSearchParametersOrBuilder
public 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;
getLocalCheapestInsertionSortingPropertiesCount
in interface RoutingSearchParametersOrBuilder
public 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;
getLocalCheapestInsertionSortingProperties
in interface RoutingSearchParametersOrBuilder
index
- The index of the element to return.public java.util.List<java.lang.Integer> 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;
getLocalCheapestInsertionSortingPropertiesValueList
in interface RoutingSearchParametersOrBuilder
public 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;
getLocalCheapestInsertionSortingPropertiesValue
in interface RoutingSearchParametersOrBuilder
index
- The index of the value to return.public boolean getChristofidesUseMinimumMatching()
If true use minimum matching instead of minimal matching in the Christofides algorithm.
bool christofides_use_minimum_matching = 30;
getChristofidesUseMinimumMatching
in interface RoutingSearchParametersOrBuilder
public 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;
getFirstSolutionOptimizationPeriod
in interface RoutingSearchParametersOrBuilder
public boolean hasLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
hasLocalSearchOperators
in interface RoutingSearchParametersOrBuilder
public RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
getLocalSearchOperators
in interface RoutingSearchParametersOrBuilder
public RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
getLocalSearchOperatorsOrBuilder
in interface RoutingSearchParametersOrBuilder
public 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;
getLsOperatorNeighborsRatio
in interface RoutingSearchParametersOrBuilder
public int getLsOperatorMinNeighbors()
int32 ls_operator_min_neighbors = 54;
getLsOperatorMinNeighbors
in interface RoutingSearchParametersOrBuilder
public 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;
getUseMultiArmedBanditConcatenateOperators
in interface RoutingSearchParametersOrBuilder
public 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;
getMultiArmedBanditCompoundOperatorMemoryCoefficient
in interface RoutingSearchParametersOrBuilder
public 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;
getMultiArmedBanditCompoundOperatorExplorationCoefficient
in interface RoutingSearchParametersOrBuilder
public int getMaxSwapActiveChainSize()
Maximum size of the chain to make inactive in SwapActiveChainOperator.
int32 max_swap_active_chain_size = 66;
getMaxSwapActiveChainSize
in interface RoutingSearchParametersOrBuilder
public 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;
getRelocateExpensiveChainNumArcsToConsider
in interface RoutingSearchParametersOrBuilder
public int getHeuristicExpensiveChainLnsNumArcsToConsider()
Number of expensive arcs to consider cutting in the FilteredHeuristicExpensiveChainLNSOperator operator.
int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
getHeuristicExpensiveChainLnsNumArcsToConsider
in interface RoutingSearchParametersOrBuilder
public 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;
getHeuristicCloseNodesLnsNumNodes
in interface RoutingSearchParametersOrBuilder
public int getLocalSearchMetaheuristicValue()
Local search metaheuristics used to guide the search.
.operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
getLocalSearchMetaheuristicValue
in interface RoutingSearchParametersOrBuilder
public LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
Local search metaheuristics used to guide the search.
.operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
getLocalSearchMetaheuristic
in interface RoutingSearchParametersOrBuilder
public java.util.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;
getLocalSearchMetaheuristicsList
in interface RoutingSearchParametersOrBuilder
public 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;
getLocalSearchMetaheuristicsCount
in interface RoutingSearchParametersOrBuilder
public LocalSearchMetaheuristic.Value getLocalSearchMetaheuristics(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;
getLocalSearchMetaheuristics
in interface RoutingSearchParametersOrBuilder
index
- The index of the element to return.public java.util.List<java.lang.Integer> 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;
getLocalSearchMetaheuristicsValueList
in interface RoutingSearchParametersOrBuilder
public 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;
getLocalSearchMetaheuristicsValue
in interface RoutingSearchParametersOrBuilder
index
- The index of the value to return.public int getNumMaxLocalOptimaBeforeMetaheuristicSwitch()
int32 num_max_local_optima_before_metaheuristic_switch = 64;
getNumMaxLocalOptimaBeforeMetaheuristicSwitch
in interface RoutingSearchParametersOrBuilder
public 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;
getGuidedLocalSearchLambdaCoefficient
in interface RoutingSearchParametersOrBuilder
public 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;
getGuidedLocalSearchResetPenaltiesOnNewBestSolution
in interface RoutingSearchParametersOrBuilder
public 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;
getGuidedLocalSearchPenalizeWithVehicleClasses
in interface RoutingSearchParametersOrBuilder
public 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;
getUseGuidedLocalSearchPenaltiesInLocalSearchOperators
in interface RoutingSearchParametersOrBuilder
public 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;
getUseDepthFirstSearch
in interface RoutingSearchParametersOrBuilder
public 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;
getUseCpValue
in interface RoutingSearchParametersOrBuilder
public 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;
getUseCp
in interface RoutingSearchParametersOrBuilder
public 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;
getUseCpSatValue
in interface RoutingSearchParametersOrBuilder
public 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;
getUseCpSat
in interface RoutingSearchParametersOrBuilder
public 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;
getUseGeneralizedCpSatValue
in interface RoutingSearchParametersOrBuilder
public 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;
getUseGeneralizedCpSat
in interface RoutingSearchParametersOrBuilder
public 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;
hasSatParameters
in interface RoutingSearchParametersOrBuilder
public 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;
getSatParameters
in interface RoutingSearchParametersOrBuilder
public 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;
getSatParametersOrBuilder
in interface RoutingSearchParametersOrBuilder
public 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;
getReportIntermediateCpSatSolutions
in interface RoutingSearchParametersOrBuilder
public 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;
getFallbackToCpSatSizeThreshold
in interface RoutingSearchParametersOrBuilder
public int getContinuousSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
getContinuousSchedulingSolverValue
in interface RoutingSearchParametersOrBuilder
public RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
getContinuousSchedulingSolver
in interface RoutingSearchParametersOrBuilder
public int getMixedIntegerSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
getMixedIntegerSchedulingSolverValue
in interface RoutingSearchParametersOrBuilder
public RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
getMixedIntegerSchedulingSolver
in interface RoutingSearchParametersOrBuilder
public 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;
hasDisableSchedulingBewareThisMayDegradePerformance
in interface RoutingSearchParametersOrBuilder
public 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;
getDisableSchedulingBewareThisMayDegradePerformance
in interface RoutingSearchParametersOrBuilder
public 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;
getOptimizationStep
in interface RoutingSearchParametersOrBuilder
public 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;
getNumberOfSolutionsToCollect
in interface RoutingSearchParametersOrBuilder
public long getSolutionLimit()
-- Search limits -- Limit to the number of solutions generated during the search. 0 means "unspecified".
int64 solution_limit = 8;
getSolutionLimit
in interface RoutingSearchParametersOrBuilder
public boolean hasTimeLimit()
Limit to the time spent in the search.
.google.protobuf.Duration time_limit = 9;
hasTimeLimit
in interface RoutingSearchParametersOrBuilder
public com.google.protobuf.Duration getTimeLimit()
Limit to the time spent in the search.
.google.protobuf.Duration time_limit = 9;
getTimeLimit
in interface RoutingSearchParametersOrBuilder
public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder()
Limit to the time spent in the search.
.google.protobuf.Duration time_limit = 9;
getTimeLimitOrBuilder
in interface RoutingSearchParametersOrBuilder
public boolean hasLnsTimeLimit()
Limit to the time spent in the completion search for each local search neighbor.
.google.protobuf.Duration lns_time_limit = 10;
hasLnsTimeLimit
in interface RoutingSearchParametersOrBuilder
public 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;
getLnsTimeLimit
in interface RoutingSearchParametersOrBuilder
public 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;
getLnsTimeLimitOrBuilder
in interface RoutingSearchParametersOrBuilder
public 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;
getSecondaryLsTimeLimitRatio
in interface RoutingSearchParametersOrBuilder
public 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;
hasImprovementLimitParameters
in interface RoutingSearchParametersOrBuilder
public 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;
getImprovementLimitParameters
in interface RoutingSearchParametersOrBuilder
public 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;
getImprovementLimitParametersOrBuilder
in interface RoutingSearchParametersOrBuilder
public 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;
getUseFullPropagation
in interface RoutingSearchParametersOrBuilder
public 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;
getLogSearch
in interface RoutingSearchParametersOrBuilder
public 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;
getLogCostScalingFactor
in interface RoutingSearchParametersOrBuilder
public double getLogCostOffset()
double log_cost_offset = 29;
getLogCostOffset
in interface RoutingSearchParametersOrBuilder
public java.lang.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;
getLogTag
in interface RoutingSearchParametersOrBuilder
public 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;
getLogTagBytes
in interface RoutingSearchParametersOrBuilder
public boolean getUseIteratedLocalSearch()
Whether the solver should use an Iterated Local Search approach to solve the problem.
bool use_iterated_local_search = 58;
getUseIteratedLocalSearch
in interface RoutingSearchParametersOrBuilder
public boolean hasIteratedLocalSearchParameters()
Iterated Local Search parameters.
.operations_research.IteratedLocalSearchParameters iterated_local_search_parameters = 60;
hasIteratedLocalSearchParameters
in interface RoutingSearchParametersOrBuilder
public IteratedLocalSearchParameters getIteratedLocalSearchParameters()
Iterated Local Search parameters.
.operations_research.IteratedLocalSearchParameters iterated_local_search_parameters = 60;
getIteratedLocalSearchParameters
in interface RoutingSearchParametersOrBuilder
public IteratedLocalSearchParametersOrBuilder getIteratedLocalSearchParametersOrBuilder()
Iterated Local Search parameters.
.operations_research.IteratedLocalSearchParameters iterated_local_search_parameters = 60;
getIteratedLocalSearchParametersOrBuilder
in interface RoutingSearchParametersOrBuilder
public final boolean isInitialized()
isInitialized
in interface com.google.protobuf.MessageLiteOrBuilder
isInitialized
in class com.google.protobuf.GeneratedMessage
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException
writeTo
in interface com.google.protobuf.MessageLite
writeTo
in class com.google.protobuf.GeneratedMessage
java.io.IOException
public int getSerializedSize()
getSerializedSize
in interface com.google.protobuf.MessageLite
getSerializedSize
in class com.google.protobuf.GeneratedMessage
public boolean equals(java.lang.Object obj)
equals
in interface com.google.protobuf.Message
equals
in class com.google.protobuf.AbstractMessage
public int hashCode()
hashCode
in interface com.google.protobuf.Message
hashCode
in class com.google.protobuf.AbstractMessage
public static RoutingSearchParameters parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static RoutingSearchParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static RoutingSearchParameters parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static RoutingSearchParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static RoutingSearchParameters parseFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOException
public static RoutingSearchParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public static RoutingSearchParameters parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOException
public static RoutingSearchParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public static RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException
java.io.IOException
public static RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public RoutingSearchParameters.Builder newBuilderForType()
newBuilderForType
in interface com.google.protobuf.Message
newBuilderForType
in interface com.google.protobuf.MessageLite
public static RoutingSearchParameters.Builder newBuilder()
public static RoutingSearchParameters.Builder newBuilder(RoutingSearchParameters prototype)
public RoutingSearchParameters.Builder toBuilder()
toBuilder
in interface com.google.protobuf.Message
toBuilder
in interface com.google.protobuf.MessageLite
protected RoutingSearchParameters.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
newBuilderForType
in class com.google.protobuf.AbstractMessage
public static RoutingSearchParameters getDefaultInstance()
public static com.google.protobuf.Parser<RoutingSearchParameters> parser()
public com.google.protobuf.Parser<RoutingSearchParameters> getParserForType()
getParserForType
in interface com.google.protobuf.Message
getParserForType
in interface com.google.protobuf.MessageLite
getParserForType
in class com.google.protobuf.GeneratedMessage
public RoutingSearchParameters getDefaultInstanceForType()
getDefaultInstanceForType
in interface com.google.protobuf.MessageLiteOrBuilder
getDefaultInstanceForType
in interface com.google.protobuf.MessageOrBuilder
Copyright © 2025. All rights reserved.