![]() |
Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
|
Parameters defining the search used to solve vehicle routing problems. More...
Classes | |
class | Types |
Container for nested types declared in the RoutingSearchParameters message type. More... | |
Public Member Functions | |
RoutingSearchParameters () | |
RoutingSearchParameters (RoutingSearchParameters other) | |
RoutingSearchParameters | Clone () |
void | ClearDisableSchedulingBewareThisMayDegradePerformance () |
Clears the value of the "disable_scheduling_beware_this_may_degrade_performance" field. | |
override bool | Equals (object other) |
bool | Equals (RoutingSearchParameters other) |
override int | GetHashCode () |
override string | ToString () |
void | WriteTo (pb::CodedOutputStream output) |
int | CalculateSize () |
void | MergeFrom (RoutingSearchParameters other) |
void | MergeFrom (pb::CodedInputStream input) |
Static Public Attributes | |
const int | FirstSolutionStrategyFieldNumber = 1 |
Field number for the "first_solution_strategy" field. | |
const int | UseUnfilteredFirstSolutionStrategyFieldNumber = 2 |
Field number for the "use_unfiltered_first_solution_strategy" field. | |
const int | SavingsNeighborsRatioFieldNumber = 14 |
Field number for the "savings_neighbors_ratio" field. | |
const int | SavingsMaxMemoryUsageBytesFieldNumber = 23 |
Field number for the "savings_max_memory_usage_bytes" field. | |
const int | SavingsAddReverseArcsFieldNumber = 15 |
Field number for the "savings_add_reverse_arcs" field. | |
const int | SavingsArcCoefficientFieldNumber = 18 |
Field number for the "savings_arc_coefficient" field. | |
const int | CheapestInsertionFarthestSeedsRatioFieldNumber = 16 |
Field number for the "cheapest_insertion_farthest_seeds_ratio" field. | |
const int | CheapestInsertionFirstSolutionNeighborsRatioFieldNumber = 21 |
Field number for the "cheapest_insertion_first_solution_neighbors_ratio" field. | |
const int | CheapestInsertionFirstSolutionMinNeighborsFieldNumber = 44 |
Field number for the "cheapest_insertion_first_solution_min_neighbors" field. | |
const int | CheapestInsertionLsOperatorNeighborsRatioFieldNumber = 31 |
Field number for the "cheapest_insertion_ls_operator_neighbors_ratio" field. | |
const int | CheapestInsertionLsOperatorMinNeighborsFieldNumber = 45 |
Field number for the "cheapest_insertion_ls_operator_min_neighbors" field. | |
const int | CheapestInsertionFirstSolutionUseNeighborsRatioForInitializationFieldNumber = 46 |
Field number for the "cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization" field. | |
const int | CheapestInsertionAddUnperformedEntriesFieldNumber = 40 |
Field number for the "cheapest_insertion_add_unperformed_entries" field. | |
const int | LocalCheapestInsertionPickupDeliveryStrategyFieldNumber = 49 |
Field number for the "local_cheapest_insertion_pickup_delivery_strategy" field. | |
const int | LocalCheapestCostInsertionPickupDeliveryStrategyFieldNumber = 55 |
Field number for the "local_cheapest_cost_insertion_pickup_delivery_strategy" field. | |
const int | LocalCheapestInsertionSortingPropertiesFieldNumber = 67 |
Field number for the "local_cheapest_insertion_sorting_properties" field. | |
const int | ChristofidesUseMinimumMatchingFieldNumber = 30 |
Field number for the "christofides_use_minimum_matching" field. | |
const int | FirstSolutionOptimizationPeriodFieldNumber = 59 |
Field number for the "first_solution_optimization_period" field. | |
const int | LocalSearchOperatorsFieldNumber = 3 |
Field number for the "local_search_operators" field. | |
const int | LsOperatorNeighborsRatioFieldNumber = 53 |
Field number for the "ls_operator_neighbors_ratio" field. | |
const int | LsOperatorMinNeighborsFieldNumber = 54 |
Field number for the "ls_operator_min_neighbors" field. | |
const int | UseMultiArmedBanditConcatenateOperatorsFieldNumber = 41 |
Field number for the "use_multi_armed_bandit_concatenate_operators" field. | |
const int | MultiArmedBanditCompoundOperatorMemoryCoefficientFieldNumber = 42 |
Field number for the "multi_armed_bandit_compound_operator_memory_coefficient" field. | |
const int | MultiArmedBanditCompoundOperatorExplorationCoefficientFieldNumber = 43 |
Field number for the "multi_armed_bandit_compound_operator_exploration_coefficient" field. | |
const int | MaxSwapActiveChainSizeFieldNumber = 66 |
Field number for the "max_swap_active_chain_size" field. | |
const int | RelocateExpensiveChainNumArcsToConsiderFieldNumber = 20 |
Field number for the "relocate_expensive_chain_num_arcs_to_consider" field. | |
const int | HeuristicExpensiveChainLnsNumArcsToConsiderFieldNumber = 32 |
Field number for the "heuristic_expensive_chain_lns_num_arcs_to_consider" field. | |
const int | HeuristicCloseNodesLnsNumNodesFieldNumber = 35 |
Field number for the "heuristic_close_nodes_lns_num_nodes" field. | |
const int | LocalSearchMetaheuristicFieldNumber = 4 |
Field number for the "local_search_metaheuristic" field. | |
const int | LocalSearchMetaheuristicsFieldNumber = 63 |
Field number for the "local_search_metaheuristics" field. | |
const int | NumMaxLocalOptimaBeforeMetaheuristicSwitchFieldNumber = 64 |
Field number for the "num_max_local_optima_before_metaheuristic_switch" field. | |
const int | GuidedLocalSearchLambdaCoefficientFieldNumber = 5 |
Field number for the "guided_local_search_lambda_coefficient" field. | |
const int | GuidedLocalSearchResetPenaltiesOnNewBestSolutionFieldNumber = 51 |
Field number for the "guided_local_search_reset_penalties_on_new_best_solution" field. | |
const int | GuidedLocalSearchPenalizeWithVehicleClassesFieldNumber = 61 |
Field number for the "guided_local_search_penalize_with_vehicle_classes" field. | |
const int | UseGuidedLocalSearchPenaltiesInLocalSearchOperatorsFieldNumber = 62 |
Field number for the "use_guided_local_search_penalties_in_local_search_operators" field. | |
const int | UseDepthFirstSearchFieldNumber = 6 |
Field number for the "use_depth_first_search" field. | |
const int | UseCpFieldNumber = 28 |
Field number for the "use_cp" field. | |
const int | UseCpSatFieldNumber = 27 |
Field number for the "use_cp_sat" field. | |
const int | UseGeneralizedCpSatFieldNumber = 47 |
Field number for the "use_generalized_cp_sat" field. | |
const int | SatParametersFieldNumber = 48 |
Field number for the "sat_parameters" field. | |
const int | ReportIntermediateCpSatSolutionsFieldNumber = 56 |
Field number for the "report_intermediate_cp_sat_solutions" field. | |
const int | FallbackToCpSatSizeThresholdFieldNumber = 52 |
Field number for the "fallback_to_cp_sat_size_threshold" field. | |
const int | ContinuousSchedulingSolverFieldNumber = 33 |
Field number for the "continuous_scheduling_solver" field. | |
const int | MixedIntegerSchedulingSolverFieldNumber = 34 |
Field number for the "mixed_integer_scheduling_solver" field. | |
const int | DisableSchedulingBewareThisMayDegradePerformanceFieldNumber = 50 |
Field number for the "disable_scheduling_beware_this_may_degrade_performance" field. | |
const int | OptimizationStepFieldNumber = 7 |
Field number for the "optimization_step" field. | |
const int | NumberOfSolutionsToCollectFieldNumber = 17 |
Field number for the "number_of_solutions_to_collect" field. | |
const int | SolutionLimitFieldNumber = 8 |
Field number for the "solution_limit" field. | |
const int | TimeLimitFieldNumber = 9 |
Field number for the "time_limit" field. | |
const int | LnsTimeLimitFieldNumber = 10 |
Field number for the "lns_time_limit" field. | |
const int | SecondaryLsTimeLimitRatioFieldNumber = 57 |
Field number for the "secondary_ls_time_limit_ratio" field. | |
const int | ImprovementLimitParametersFieldNumber = 37 |
Field number for the "improvement_limit_parameters" field. | |
const int | UseFullPropagationFieldNumber = 11 |
Field number for the "use_full_propagation" field. | |
const int | LogSearchFieldNumber = 13 |
Field number for the "log_search" field. | |
const int | LogCostScalingFactorFieldNumber = 22 |
Field number for the "log_cost_scaling_factor" field. | |
const int | LogCostOffsetFieldNumber = 29 |
Field number for the "log_cost_offset" field. | |
const int | LogTagFieldNumber = 36 |
Field number for the "log_tag" field. | |
const int | UseIteratedLocalSearchFieldNumber = 58 |
Field number for the "use_iterated_local_search" field. | |
const int | IteratedLocalSearchParametersFieldNumber = 60 |
Field number for the "iterated_local_search_parameters" field. | |
Properties | |
static pb::MessageParser< RoutingSearchParameters > | Parser [get] |
static pbr::MessageDescriptor | Descriptor [get] |
global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value | FirstSolutionStrategy [get, set] |
First solution strategies, used as starting point of local search. | |
bool | UseUnfilteredFirstSolutionStrategy [get, set] |
— Advanced first solutions strategy settings — Don't touch these unless you know what you are doing. | |
double | SavingsNeighborsRatio [get, set] |
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 | SavingsMaxMemoryUsageBytes [get, set] |
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]. | |
bool | SavingsAddReverseArcs [get, set] |
Add savings related to reverse arcs when finding the nearest neighbors of the nodes. | |
double | SavingsArcCoefficient [get, set] |
Coefficient of the cost of the arc for which the saving value is being computed: Saving(a-->b) = Cost(a-->end) + Cost(start-->b) | |
double | CheapestInsertionFarthestSeedsRatio [get, set] |
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 | CheapestInsertionFirstSolutionNeighborsRatio [get, set] |
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. | |
int | CheapestInsertionFirstSolutionMinNeighbors [get, set] |
double | CheapestInsertionLsOperatorNeighborsRatio [get, set] |
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). | |
int | CheapestInsertionLsOperatorMinNeighbors [get, set] |
bool | CheapestInsertionFirstSolutionUseNeighborsRatioForInitialization [get, set] |
Whether or not to only consider closest neighbors when initializing the assignment for the first solution. | |
bool | CheapestInsertionAddUnperformedEntries [get, set] |
Whether or not to consider entries making the nodes/pairs unperformed in the GlobalCheapestInsertion heuristic. | |
global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.PairInsertionStrategy | LocalCheapestInsertionPickupDeliveryStrategy [get, set] |
Choice of insertion strategy for pickup/delivery pairs, used in local cheapest insertion, both first solution heuristic and LNS. | |
global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.PairInsertionStrategy | LocalCheapestCostInsertionPickupDeliveryStrategy [get, set] |
Choice of insertion strategy for pickup/delivery pairs, used in local cheapest cost insertion, both first solution heuristic and LNS. | |
pbc::RepeatedField< global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.InsertionSortingProperty > | LocalCheapestInsertionSortingProperties [get] |
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. | |
bool | ChristofidesUseMinimumMatching [get, set] |
If true use minimum matching instead of minimal matching in the Christofides algorithm. | |
int | FirstSolutionOptimizationPeriod [get, set] |
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: | |
global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.LocalSearchNeighborhoodOperators | LocalSearchOperators [get, set] |
double | LsOperatorNeighborsRatio [get, set] |
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 | LsOperatorMinNeighbors [get, set] |
bool | UseMultiArmedBanditConcatenateOperators [get, set] |
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. | |
double | MultiArmedBanditCompoundOperatorMemoryCoefficient [get, set] |
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 | MultiArmedBanditCompoundOperatorExplorationCoefficient [get, set] |
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. | |
int | MaxSwapActiveChainSize [get, set] |
Maximum size of the chain to make inactive in SwapActiveChainOperator. | |
int | RelocateExpensiveChainNumArcsToConsider [get, set] |
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. | |
int | HeuristicExpensiveChainLnsNumArcsToConsider [get, set] |
Number of expensive arcs to consider cutting in the FilteredHeuristicExpensiveChainLNSOperator operator. | |
int | HeuristicCloseNodesLnsNumNodes [get, set] |
Number of closest nodes to consider for each node during the destruction phase of the FilteredHeuristicCloseNodesLNSOperator. | |
global::Google.OrTools.ConstraintSolver.LocalSearchMetaheuristic.Types.Value | LocalSearchMetaheuristic [get, set] |
Local search metaheuristics used to guide the search. | |
pbc::RepeatedField< global::Google.OrTools.ConstraintSolver.LocalSearchMetaheuristic.Types.Value > | LocalSearchMetaheuristics [get] |
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. | |
int | NumMaxLocalOptimaBeforeMetaheuristicSwitch [get, set] |
double | GuidedLocalSearchLambdaCoefficient [get, set] |
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. | |
bool | GuidedLocalSearchResetPenaltiesOnNewBestSolution [get, set] |
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 | GuidedLocalSearchPenalizeWithVehicleClasses [get, set] |
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 | UseGuidedLocalSearchPenaltiesInLocalSearchOperators [get, set] |
Whether to consider arc penalties in cost functions used in local search operators using arc costs. | |
bool | UseDepthFirstSearch [get, set] |
— Search control — | |
global::Google.OrTools.Util.OptionalBoolean | UseCp [get, set] |
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). | |
global::Google.OrTools.Util.OptionalBoolean | UseCpSat [get, set] |
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. | |
global::Google.OrTools.Util.OptionalBoolean | UseGeneralizedCpSat [get, set] |
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. | |
global::Google.OrTools.Sat.SatParameters | SatParameters [get, set] |
If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm parameters which will be used. | |
bool | ReportIntermediateCpSatSolutions [get, set] |
If use_cp_sat or use_generalized_cp_sat is true, will report intermediate solutions found by CP-SAT to solution listeners. | |
int | FallbackToCpSatSizeThreshold [get, set] |
If model.Size() is less than the threshold and that no solution has been found, attempt a pass with CP-SAT. | |
global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver | ContinuousSchedulingSolver [get, set] |
global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver | MixedIntegerSchedulingSolver [get, set] |
bool | DisableSchedulingBewareThisMayDegradePerformance [get, set] |
Setting this to true completely disables the LP and MIP scheduling in the solver. This overrides the 2 SchedulingSolver options above. | |
bool | HasDisableSchedulingBewareThisMayDegradePerformance [get] |
Gets whether the "disable_scheduling_beware_this_may_degrade_performance" field is set. | |
double | OptimizationStep [get, set] |
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. | |
int | NumberOfSolutionsToCollect [get, set] |
Number of solutions to collect during the search. Corresponds to the best solutions found during the search. 0 means "unspecified". | |
long | SolutionLimit [get, set] |
– Search limits – Limit to the number of solutions generated during the search. 0 means "unspecified". | |
global::Google.Protobuf.WellKnownTypes.Duration | TimeLimit [get, set] |
Limit to the time spent in the search. | |
global::Google.Protobuf.WellKnownTypes.Duration | LnsTimeLimit [get, set] |
Limit to the time spent in the completion search for each local search neighbor. | |
double | SecondaryLsTimeLimitRatio [get, set] |
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. | |
global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.ImprovementSearchLimitParameters | ImprovementLimitParameters [get, set] |
The improvement search limit is added to the solver if the following parameters are set. | |
bool | UseFullPropagation [get, set] |
— Propagation control — These are advanced settings which should not be modified unless you know what you are doing. | |
bool | LogSearch [get, set] |
— Miscellaneous — Some of these are advanced settings which should not be modified unless you know what you are doing. | |
double | LogCostScalingFactor [get, set] |
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 | LogCostOffset [get, set] |
string | LogTag [get, set] |
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. | |
bool | UseIteratedLocalSearch [get, set] |
Whether the solver should use an Iterated Local Search approach to solve the problem. | |
global::Google.OrTools.ConstraintSolver.IteratedLocalSearchParameters | IteratedLocalSearchParameters [get, set] |
Iterated Local Search parameters. | |
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: 68
Definition at line 221 of file RoutingParameters.pb.cs.
|
inline |
Definition at line 247 of file RoutingParameters.pb.cs.
|
inline |
Definition at line 255 of file RoutingParameters.pb.cs.
|
inline |
Definition at line 1968 of file RoutingParameters.pb.cs.
|
inline |
Clears the value of the "disable_scheduling_beware_this_may_degrade_performance" field.
Definition at line 1083 of file RoutingParameters.pb.cs.
|
inline |
Definition at line 321 of file RoutingParameters.pb.cs.
|
inline |
Definition at line 1334 of file RoutingParameters.pb.cs.
|
inline |
Definition at line 1340 of file RoutingParameters.pb.cs.
|
inline |
Definition at line 1411 of file RoutingParameters.pb.cs.
|
inline |
Definition at line 2351 of file RoutingParameters.pb.cs.
|
inline |
Definition at line 2151 of file RoutingParameters.pb.cs.
|
inline |
Definition at line 1480 of file RoutingParameters.pb.cs.
|
inline |
Definition at line 1486 of file RoutingParameters.pb.cs.
|
static |
Field number for the "cheapest_insertion_add_unperformed_entries" field.
Definition at line 537 of file RoutingParameters.pb.cs.
|
static |
Field number for the "cheapest_insertion_farthest_seeds_ratio" field.
Definition at line 432 of file RoutingParameters.pb.cs.
|
static |
Field number for the "cheapest_insertion_first_solution_min_neighbors" field.
Definition at line 479 of file RoutingParameters.pb.cs.
|
static |
Field number for the "cheapest_insertion_first_solution_neighbors_ratio" field.
Definition at line 449 of file RoutingParameters.pb.cs.
|
static |
Field number for the "cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization" field.
Definition at line 521 of file RoutingParameters.pb.cs.
|
static |
Field number for the "cheapest_insertion_ls_operator_min_neighbors" field.
Definition at line 509 of file RoutingParameters.pb.cs.
|
static |
Field number for the "cheapest_insertion_ls_operator_neighbors_ratio" field.
Definition at line 491 of file RoutingParameters.pb.cs.
|
static |
Field number for the "christofides_use_minimum_matching" field.
Definition at line 604 of file RoutingParameters.pb.cs.
|
static |
Field number for the "continuous_scheduling_solver" field.
Definition at line 1033 of file RoutingParameters.pb.cs.
|
static |
Field number for the "disable_scheduling_beware_this_may_degrade_performance" field.
Definition at line 1057 of file RoutingParameters.pb.cs.
|
static |
Field number for the "fallback_to_cp_sat_size_threshold" field.
Definition at line 1017 of file RoutingParameters.pb.cs.
|
static |
Field number for the "first_solution_optimization_period" field.
Definition at line 620 of file RoutingParameters.pb.cs.
|
static |
Field number for the "first_solution_strategy" field.
Definition at line 326 of file RoutingParameters.pb.cs.
|
static |
Field number for the "guided_local_search_lambda_coefficient" field.
Definition at line 846 of file RoutingParameters.pb.cs.
|
static |
Field number for the "guided_local_search_penalize_with_vehicle_classes" field.
Definition at line 880 of file RoutingParameters.pb.cs.
|
static |
Field number for the "guided_local_search_reset_penalties_on_new_best_solution" field.
Definition at line 864 of file RoutingParameters.pb.cs.
|
static |
Field number for the "heuristic_close_nodes_lns_num_nodes" field.
Definition at line 786 of file RoutingParameters.pb.cs.
|
static |
Field number for the "heuristic_expensive_chain_lns_num_arcs_to_consider" field.
Definition at line 770 of file RoutingParameters.pb.cs.
|
static |
Field number for the "improvement_limit_parameters" field.
Definition at line 1189 of file RoutingParameters.pb.cs.
|
static |
Field number for the "iterated_local_search_parameters" field.
Definition at line 1318 of file RoutingParameters.pb.cs.
|
static |
Field number for the "lns_time_limit" field.
Definition at line 1153 of file RoutingParameters.pb.cs.
|
static |
Field number for the "local_cheapest_cost_insertion_pickup_delivery_strategy" field.
Definition at line 569 of file RoutingParameters.pb.cs.
|
static |
Field number for the "local_cheapest_insertion_pickup_delivery_strategy" field.
Definition at line 553 of file RoutingParameters.pb.cs.
|
static |
Field number for the "local_cheapest_insertion_sorting_properties" field.
Definition at line 585 of file RoutingParameters.pb.cs.
|
static |
Field number for the "local_search_metaheuristic" field.
Definition at line 802 of file RoutingParameters.pb.cs.
|
static |
Field number for the "local_search_metaheuristics" field.
Definition at line 817 of file RoutingParameters.pb.cs.
|
static |
Field number for the "local_search_operators" field.
Definition at line 641 of file RoutingParameters.pb.cs.
|
static |
Field number for the "log_cost_offset" field.
Definition at line 1274 of file RoutingParameters.pb.cs.
|
static |
Field number for the "log_cost_scaling_factor" field.
Definition at line 1258 of file RoutingParameters.pb.cs.
|
static |
Field number for the "log_search" field.
Definition at line 1230 of file RoutingParameters.pb.cs.
|
static |
Field number for the "log_tag" field.
Definition at line 1286 of file RoutingParameters.pb.cs.
|
static |
Field number for the "ls_operator_min_neighbors" field.
Definition at line 670 of file RoutingParameters.pb.cs.
|
static |
Field number for the "ls_operator_neighbors_ratio" field.
Definition at line 653 of file RoutingParameters.pb.cs.
|
static |
Field number for the "max_swap_active_chain_size" field.
Definition at line 734 of file RoutingParameters.pb.cs.
|
static |
Field number for the "mixed_integer_scheduling_solver" field.
Definition at line 1045 of file RoutingParameters.pb.cs.
|
static |
Field number for the "multi_armed_bandit_compound_operator_exploration_coefficient" field.
Definition at line 717 of file RoutingParameters.pb.cs.
|
static |
Field number for the "multi_armed_bandit_compound_operator_memory_coefficient" field.
Definition at line 699 of file RoutingParameters.pb.cs.
|
static |
Field number for the "number_of_solutions_to_collect" field.
Definition at line 1105 of file RoutingParameters.pb.cs.
|
static |
Field number for the "num_max_local_optima_before_metaheuristic_switch" field.
Definition at line 834 of file RoutingParameters.pb.cs.
|
static |
Field number for the "optimization_step" field.
Definition at line 1088 of file RoutingParameters.pb.cs.
|
static |
Field number for the "relocate_expensive_chain_num_arcs_to_consider" field.
Definition at line 749 of file RoutingParameters.pb.cs.
|
static |
Field number for the "report_intermediate_cp_sat_solutions" field.
Definition at line 1001 of file RoutingParameters.pb.cs.
|
static |
Field number for the "sat_parameters" field.
Definition at line 985 of file RoutingParameters.pb.cs.
|
static |
Field number for the "savings_add_reverse_arcs" field.
Definition at line 397 of file RoutingParameters.pb.cs.
|
static |
Field number for the "savings_arc_coefficient" field.
Definition at line 413 of file RoutingParameters.pb.cs.
|
static |
Field number for the "savings_max_memory_usage_bytes" field.
Definition at line 377 of file RoutingParameters.pb.cs.
|
static |
Field number for the "savings_neighbors_ratio" field.
Definition at line 360 of file RoutingParameters.pb.cs.
|
static |
Field number for the "secondary_ls_time_limit_ratio" field.
Definition at line 1169 of file RoutingParameters.pb.cs.
|
static |
Field number for the "solution_limit" field.
Definition at line 1121 of file RoutingParameters.pb.cs.
|
static |
Field number for the "time_limit" field.
Definition at line 1138 of file RoutingParameters.pb.cs.
|
static |
Field number for the "use_cp" field.
Definition at line 932 of file RoutingParameters.pb.cs.
|
static |
Field number for the "use_cp_sat" field.
Definition at line 949 of file RoutingParameters.pb.cs.
|
static |
Field number for the "use_depth_first_search" field.
Definition at line 913 of file RoutingParameters.pb.cs.
|
static |
Field number for the "use_full_propagation" field.
Definition at line 1205 of file RoutingParameters.pb.cs.
|
static |
Field number for the "use_generalized_cp_sat" field.
Definition at line 967 of file RoutingParameters.pb.cs.
|
static |
Field number for the "use_guided_local_search_penalties_in_local_search_operators" field.
Definition at line 897 of file RoutingParameters.pb.cs.
|
static |
Field number for the "use_iterated_local_search" field.
Definition at line 1302 of file RoutingParameters.pb.cs.
|
static |
Field number for the "use_multi_armed_bandit_concatenate_operators" field.
Definition at line 682 of file RoutingParameters.pb.cs.
|
static |
Field number for the "use_unfiltered_first_solution_strategy" field.
Definition at line 341 of file RoutingParameters.pb.cs.
|
getset |
Whether or not to consider entries making the nodes/pairs unperformed in the GlobalCheapestInsertion heuristic.
Definition at line 545 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 441 of file RoutingParameters.pb.cs.
|
getset |
Definition at line 483 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 471 of file RoutingParameters.pb.cs.
|
getset |
Whether or not to only consider closest neighbors when initializing the assignment for the first solution.
Definition at line 529 of file RoutingParameters.pb.cs.
|
getset |
Definition at line 513 of file RoutingParameters.pb.cs.
|
getset |
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).
Definition at line 501 of file RoutingParameters.pb.cs.
|
getset |
If true use minimum matching instead of minimal matching in the Christofides algorithm.
Definition at line 612 of file RoutingParameters.pb.cs.
|
getset |
Definition at line 1037 of file RoutingParameters.pb.cs.
|
staticget |
Definition at line 235 of file RoutingParameters.pb.cs.
|
getset |
Setting this to true completely disables the LP and MIP scheduling in the solver. This overrides the 2 SchedulingSolver options above.
Definition at line 1067 of file RoutingParameters.pb.cs.
|
getset |
If model.Size() is less than the threshold and that no solution has been found, attempt a pass with CP-SAT.
Definition at line 1025 of file RoutingParameters.pb.cs.
|
getset |
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:
Definition at line 633 of file RoutingParameters.pb.cs.
|
getset |
First solution strategies, used as starting point of local search.
Definition at line 333 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 856 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 889 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 872 of file RoutingParameters.pb.cs.
|
get |
Gets whether the "disable_scheduling_beware_this_may_degrade_performance" field is set.
Definition at line 1077 of file RoutingParameters.pb.cs.
|
getset |
Number of closest nodes to consider for each node during the destruction phase of the FilteredHeuristicCloseNodesLNSOperator.
Definition at line 794 of file RoutingParameters.pb.cs.
|
getset |
Number of expensive arcs to consider cutting in the FilteredHeuristicExpensiveChainLNSOperator operator.
Definition at line 778 of file RoutingParameters.pb.cs.
|
getset |
The improvement search limit is added to the solver if the following parameters are set.
Definition at line 1197 of file RoutingParameters.pb.cs.
|
getset |
Iterated Local Search parameters.
Definition at line 1325 of file RoutingParameters.pb.cs.
|
getset |
Limit to the time spent in the completion search for each local search neighbor.
Definition at line 1161 of file RoutingParameters.pb.cs.
|
getset |
Choice of insertion strategy for pickup/delivery pairs, used in local cheapest cost insertion, both first solution heuristic and LNS.
Definition at line 577 of file RoutingParameters.pb.cs.
|
getset |
Choice of insertion strategy for pickup/delivery pairs, used in local cheapest insertion, both first solution heuristic and LNS.
Definition at line 561 of file RoutingParameters.pb.cs.
|
get |
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.
Definition at line 599 of file RoutingParameters.pb.cs.
|
getset |
Local search metaheuristics used to guide the search.
Definition at line 809 of file RoutingParameters.pb.cs.
|
get |
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.
Definition at line 829 of file RoutingParameters.pb.cs.
|
getset |
Definition at line 645 of file RoutingParameters.pb.cs.
|
getset |
Definition at line 1278 of file RoutingParameters.pb.cs.
|
getset |
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)
Definition at line 1266 of file RoutingParameters.pb.cs.
|
getset |
— 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.
Definition at line 1250 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 1294 of file RoutingParameters.pb.cs.
|
getset |
Definition at line 674 of file RoutingParameters.pb.cs.
|
getset |
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).
Definition at line 662 of file RoutingParameters.pb.cs.
|
getset |
Maximum size of the chain to make inactive in SwapActiveChainOperator.
Definition at line 741 of file RoutingParameters.pb.cs.
|
getset |
Definition at line 1049 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 726 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 709 of file RoutingParameters.pb.cs.
|
getset |
Number of solutions to collect during the search. Corresponds to the best solutions found during the search. 0 means "unspecified".
Definition at line 1113 of file RoutingParameters.pb.cs.
|
getset |
Definition at line 838 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 1097 of file RoutingParameters.pb.cs.
|
staticget |
Definition at line 231 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 762 of file RoutingParameters.pb.cs.
|
getset |
If use_cp_sat or use_generalized_cp_sat is true, will report intermediate solutions found by CP-SAT to solution listeners.
Definition at line 1009 of file RoutingParameters.pb.cs.
|
getset |
If use_cp_sat or use_generalized_cp_sat is true, contains the SAT algorithm parameters which will be used.
Definition at line 993 of file RoutingParameters.pb.cs.
|
getset |
Add savings related to reverse arcs when finding the nearest neighbors of the nodes.
Definition at line 405 of file RoutingParameters.pb.cs.
|
getset |
Coefficient of the cost of the arc for which the saving value is being computed: Saving(a-->b) = Cost(a-->end) + Cost(start-->b)
Definition at line 424 of file RoutingParameters.pb.cs.
|
getset |
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].
Definition at line 389 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 369 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 1181 of file RoutingParameters.pb.cs.
|
getset |
– Search limits – Limit to the number of solutions generated during the search. 0 means "unspecified".
Definition at line 1130 of file RoutingParameters.pb.cs.
|
getset |
Limit to the time spent in the search.
Definition at line 1145 of file RoutingParameters.pb.cs.
|
getset |
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).
Definition at line 941 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 959 of file RoutingParameters.pb.cs.
|
getset |
— Search control —
If true, the solver should use depth-first search rather than local search to solve the problem.
Definition at line 924 of file RoutingParameters.pb.cs.
|
getset |
— 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.
Definition at line 1222 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 977 of file RoutingParameters.pb.cs.
|
getset |
Whether to consider arc penalties in cost functions used in local search operators using arc costs.
Definition at line 905 of file RoutingParameters.pb.cs.
|
getset |
Whether the solver should use an Iterated Local Search approach to solve the problem.
Definition at line 1310 of file RoutingParameters.pb.cs.
|
getset |
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.
Definition at line 691 of file RoutingParameters.pb.cs.
|
getset |
— 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.
Definition at line 352 of file RoutingParameters.pb.cs.