DotNet Reference
DotNet Reference
Detailed Description
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: 35
Definition at line 141 of file RoutingParameters.pb.cs.
Classes | |
| class | Types |
| Container for nested types declared in the RoutingSearchParameters message type. More... | |
Public Member Functions | |
| RoutingSearchParameters () | |
| RoutingSearchParameters (RoutingSearchParameters other) | |
| RoutingSearchParameters | Clone () |
| 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. More... | |
| const int | UseUnfilteredFirstSolutionStrategyFieldNumber = 2 |
| Field number for the "use_unfiltered_first_solution_strategy" field. More... | |
| const int | SavingsNeighborsRatioFieldNumber = 14 |
| Field number for the "savings_neighbors_ratio" field. More... | |
| const int | SavingsMaxMemoryUsageBytesFieldNumber = 23 |
| Field number for the "savings_max_memory_usage_bytes" field. More... | |
| const int | SavingsAddReverseArcsFieldNumber = 15 |
| Field number for the "savings_add_reverse_arcs" field. More... | |
| const int | SavingsArcCoefficientFieldNumber = 18 |
| Field number for the "savings_arc_coefficient" field. More... | |
| const int | SavingsParallelRoutesFieldNumber = 19 |
| Field number for the "savings_parallel_routes" field. More... | |
| const int | CheapestInsertionFarthestSeedsRatioFieldNumber = 16 |
| Field number for the "cheapest_insertion_farthest_seeds_ratio" field. More... | |
| const int | CheapestInsertionFirstSolutionNeighborsRatioFieldNumber = 21 |
| Field number for the "cheapest_insertion_first_solution_neighbors_ratio" field. More... | |
| const int | CheapestInsertionLsOperatorNeighborsRatioFieldNumber = 31 |
| Field number for the "cheapest_insertion_ls_operator_neighbors_ratio" field. More... | |
| const int | ChristofidesUseMinimumMatchingFieldNumber = 30 |
| Field number for the "christofides_use_minimum_matching" field. More... | |
| const int | LocalSearchOperatorsFieldNumber = 3 |
| Field number for the "local_search_operators" field. More... | |
| const int | RelocateExpensiveChainNumArcsToConsiderFieldNumber = 20 |
| Field number for the "relocate_expensive_chain_num_arcs_to_consider" field. More... | |
| const int | HeuristicExpensiveChainLnsNumArcsToConsiderFieldNumber = 32 |
| Field number for the "heuristic_expensive_chain_lns_num_arcs_to_consider" field. More... | |
| const int | LocalSearchMetaheuristicFieldNumber = 4 |
| Field number for the "local_search_metaheuristic" field. More... | |
| const int | GuidedLocalSearchLambdaCoefficientFieldNumber = 5 |
| Field number for the "guided_local_search_lambda_coefficient" field. More... | |
| const int | UseDepthFirstSearchFieldNumber = 6 |
| Field number for the "use_depth_first_search" field. More... | |
| const int | UseCpFieldNumber = 28 |
| Field number for the "use_cp" field. More... | |
| const int | UseCpSatFieldNumber = 27 |
| Field number for the "use_cp_sat" field. More... | |
| const int | ContinuousSchedulingSolverFieldNumber = 33 |
| Field number for the "continuous_scheduling_solver" field. More... | |
| const int | MixedIntegerSchedulingSolverFieldNumber = 34 |
| Field number for the "mixed_integer_scheduling_solver" field. More... | |
| const int | OptimizationStepFieldNumber = 7 |
| Field number for the "optimization_step" field. More... | |
| const int | NumberOfSolutionsToCollectFieldNumber = 17 |
| Field number for the "number_of_solutions_to_collect" field. More... | |
| const int | SolutionLimitFieldNumber = 8 |
| Field number for the "solution_limit" field. More... | |
| const int | TimeLimitFieldNumber = 9 |
| Field number for the "time_limit" field. More... | |
| const int | LnsTimeLimitFieldNumber = 10 |
| Field number for the "lns_time_limit" field. More... | |
| const int | UseFullPropagationFieldNumber = 11 |
| Field number for the "use_full_propagation" field. More... | |
| const int | LogSearchFieldNumber = 13 |
| Field number for the "log_search" field. More... | |
| const int | LogCostScalingFactorFieldNumber = 22 |
| Field number for the "log_cost_scaling_factor" field. More... | |
| const int | LogCostOffsetFieldNumber = 29 |
| Field number for the "log_cost_offset" field. More... | |
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. More... | |
| bool | UseUnfilteredFirstSolutionStrategy [get, set] |
| — Advanced first solutions strategy settings — Don't touch these unless you know what you are doing. More... | |
| double | SavingsNeighborsRatio [get, set] |
| Parameters specific to the Savings first solution heuristic. More... | |
| 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]. More... | |
| bool | SavingsAddReverseArcs [get, set] |
| Add savings related to reverse arcs when finding the nearest neighbors of the nodes. More... | |
| 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) More... | |
| bool | SavingsParallelRoutes [get, set] |
| When true, the routes are built in parallel, sequentially otherwise. More... | |
| 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. More... | |
| double | CheapestInsertionFirstSolutionNeighborsRatio [get, set] |
| Ratio (in ]0, 1]) of neighbors to consider for each node when creating new insertions in the parallel/sequential cheapest insertion heuristic. More... | |
| double | CheapestInsertionLsOperatorNeighborsRatio [get, set] |
| Neighbors ratio 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). More... | |
| bool | ChristofidesUseMinimumMatching [get, set] |
| If true use minimum matching instead of minimal matching in the Christofides algorithm. More... | |
| global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.LocalSearchNeighborhoodOperators | LocalSearchOperators [get, set] |
| int | RelocateExpensiveChainNumArcsToConsider [get, set] |
| Number of expensive arcs to consider cutting in the RelocateExpensiveChain neighborhood operator (see LocalSearchNeighborhoodOperators.use_relocate_expensive_chain()). More... | |
| int | HeuristicExpensiveChainLnsNumArcsToConsider [get, set] |
| Number of expensive arcs to consider cutting in the FilteredHeuristicExpensiveChainLNSOperator operator. More... | |
| global::Google.OrTools.ConstraintSolver.LocalSearchMetaheuristic.Types.Value | LocalSearchMetaheuristic [get, set] |
| Local search metaheuristics used to guide the search. More... | |
| double | GuidedLocalSearchLambdaCoefficient [get, set] |
| These are advanced settings which should not be modified unless you know what you are doing. More... | |
| bool | UseDepthFirstSearch [get, set] |
| — Search control — More... | |
| global::Google.OrTools.Util.OptionalBoolean | UseCp [get, set] |
| If true, use the CP solver to find a solution. More... | |
| global::Google.OrTools.Util.OptionalBoolean | UseCpSat [get, set] |
| If true, use the CP-SAT solver to find a solution. More... | |
| global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver | ContinuousSchedulingSolver [get, set] |
| global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver | MixedIntegerSchedulingSolver [get, set] |
| double | OptimizationStep [get, set] |
| Minimum step by which the solution must be improved in local search. More... | |
| int | NumberOfSolutionsToCollect [get, set] |
| Number of solutions to collect during the search. More... | |
| long | SolutionLimit [get, set] |
| – Search limits – Limit to the number of solutions generated during the search. More... | |
| global::Google.Protobuf.WellKnownTypes.Duration | TimeLimit [get, set] |
| Limit to the time spent in the search. More... | |
| global::Google.Protobuf.WellKnownTypes.Duration | LnsTimeLimit [get, set] |
| Limit to the time spent in the completion search for each local search neighbor. More... | |
| bool | UseFullPropagation [get, set] |
| — Propagation control — These are advanced settings which should not be modified unless you know what you are doing. More... | |
| bool | LogSearch [get, set] |
| — Miscellaneous — Some of these are advanced settings which should not be modified unless you know what you are doing. More... | |
| 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) More... | |
| double | LogCostOffset [get, set] |
Constructor & Destructor Documentation
◆ RoutingSearchParameters() [1/2]
|
inline |
Definition at line 158 of file RoutingParameters.pb.cs.
◆ RoutingSearchParameters() [2/2]
|
inline |
Definition at line 165 of file RoutingParameters.pb.cs.
Member Function Documentation
◆ CalculateSize()
|
inline |
Definition at line 901 of file RoutingParameters.pb.cs.
◆ Clone()
|
inline |
Definition at line 200 of file RoutingParameters.pb.cs.
◆ Equals() [1/2]
|
inline |
Definition at line 684 of file RoutingParameters.pb.cs.
◆ Equals() [2/2]
|
inline |
Definition at line 689 of file RoutingParameters.pb.cs.
◆ GetHashCode()
|
inline |
Definition at line 730 of file RoutingParameters.pb.cs.
◆ MergeFrom() [1/2]
|
inline |
Definition at line 1107 of file RoutingParameters.pb.cs.
◆ MergeFrom() [2/2]
|
inline |
Definition at line 1000 of file RoutingParameters.pb.cs.
◆ ToString()
|
inline |
Definition at line 769 of file RoutingParameters.pb.cs.
◆ WriteTo()
|
inline |
Definition at line 774 of file RoutingParameters.pb.cs.
Member Data Documentation
◆ CheapestInsertionFarthestSeedsRatioFieldNumber
|
static |
Field number for the "cheapest_insertion_farthest_seeds_ratio" field.
Definition at line 318 of file RoutingParameters.pb.cs.
◆ CheapestInsertionFirstSolutionNeighborsRatioFieldNumber
|
static |
Field number for the "cheapest_insertion_first_solution_neighbors_ratio" field.
Definition at line 334 of file RoutingParameters.pb.cs.
◆ CheapestInsertionLsOperatorNeighborsRatioFieldNumber
|
static |
Field number for the "cheapest_insertion_ls_operator_neighbors_ratio" field.
Definition at line 353 of file RoutingParameters.pb.cs.
◆ ChristofidesUseMinimumMatchingFieldNumber
|
static |
Field number for the "christofides_use_minimum_matching" field.
Definition at line 369 of file RoutingParameters.pb.cs.
◆ ContinuousSchedulingSolverFieldNumber
|
static |
Field number for the "continuous_scheduling_solver" field.
Definition at line 511 of file RoutingParameters.pb.cs.
◆ FirstSolutionStrategyFieldNumber
|
static |
Field number for the "first_solution_strategy" field.
Definition at line 205 of file RoutingParameters.pb.cs.
◆ GuidedLocalSearchLambdaCoefficientFieldNumber
|
static |
Field number for the "guided_local_search_lambda_coefficient" field.
Definition at line 444 of file RoutingParameters.pb.cs.
◆ HeuristicExpensiveChainLnsNumArcsToConsiderFieldNumber
|
static |
Field number for the "heuristic_expensive_chain_lns_num_arcs_to_consider" field.
Definition at line 415 of file RoutingParameters.pb.cs.
◆ LnsTimeLimitFieldNumber
|
static |
Field number for the "lns_time_limit" field.
Definition at line 594 of file RoutingParameters.pb.cs.
◆ LocalSearchMetaheuristicFieldNumber
|
static |
Field number for the "local_search_metaheuristic" field.
Definition at line 430 of file RoutingParameters.pb.cs.
◆ LocalSearchOperatorsFieldNumber
|
static |
Field number for the "local_search_operators" field.
Definition at line 384 of file RoutingParameters.pb.cs.
◆ LogCostOffsetFieldNumber
|
static |
Field number for the "log_cost_offset" field.
Definition at line 673 of file RoutingParameters.pb.cs.
◆ LogCostScalingFactorFieldNumber
|
static |
Field number for the "log_cost_scaling_factor" field.
Definition at line 658 of file RoutingParameters.pb.cs.
◆ LogSearchFieldNumber
|
static |
Field number for the "log_search" field.
Definition at line 632 of file RoutingParameters.pb.cs.
◆ MixedIntegerSchedulingSolverFieldNumber
|
static |
Field number for the "mixed_integer_scheduling_solver" field.
Definition at line 522 of file RoutingParameters.pb.cs.
◆ NumberOfSolutionsToCollectFieldNumber
|
static |
Field number for the "number_of_solutions_to_collect" field.
Definition at line 549 of file RoutingParameters.pb.cs.
◆ OptimizationStepFieldNumber
|
static |
Field number for the "optimization_step" field.
Definition at line 533 of file RoutingParameters.pb.cs.
◆ RelocateExpensiveChainNumArcsToConsiderFieldNumber
|
static |
Field number for the "relocate_expensive_chain_num_arcs_to_consider" field.
Definition at line 395 of file RoutingParameters.pb.cs.
◆ SavingsAddReverseArcsFieldNumber
|
static |
Field number for the "savings_add_reverse_arcs" field.
Definition at line 271 of file RoutingParameters.pb.cs.
◆ SavingsArcCoefficientFieldNumber
|
static |
Field number for the "savings_arc_coefficient" field.
Definition at line 286 of file RoutingParameters.pb.cs.
◆ SavingsMaxMemoryUsageBytesFieldNumber
|
static |
Field number for the "savings_max_memory_usage_bytes" field.
Definition at line 252 of file RoutingParameters.pb.cs.
◆ SavingsNeighborsRatioFieldNumber
|
static |
Field number for the "savings_neighbors_ratio" field.
Definition at line 236 of file RoutingParameters.pb.cs.
◆ SavingsParallelRoutesFieldNumber
|
static |
Field number for the "savings_parallel_routes" field.
Definition at line 304 of file RoutingParameters.pb.cs.
◆ SolutionLimitFieldNumber
|
static |
Field number for the "solution_limit" field.
Definition at line 564 of file RoutingParameters.pb.cs.
◆ TimeLimitFieldNumber
|
static |
Field number for the "time_limit" field.
Definition at line 580 of file RoutingParameters.pb.cs.
◆ UseCpFieldNumber
|
static |
Field number for the "use_cp" field.
Definition at line 478 of file RoutingParameters.pb.cs.
◆ UseCpSatFieldNumber
|
static |
Field number for the "use_cp_sat" field.
Definition at line 494 of file RoutingParameters.pb.cs.
◆ UseDepthFirstSearchFieldNumber
|
static |
Field number for the "use_depth_first_search" field.
Definition at line 461 of file RoutingParameters.pb.cs.
◆ UseFullPropagationFieldNumber
|
static |
Field number for the "use_full_propagation" field.
Definition at line 609 of file RoutingParameters.pb.cs.
◆ UseUnfilteredFirstSolutionStrategyFieldNumber
|
static |
Field number for the "use_unfiltered_first_solution_strategy" field.
Definition at line 219 of file RoutingParameters.pb.cs.
Property Documentation
◆ CheapestInsertionFarthestSeedsRatio
|
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 326 of file RoutingParameters.pb.cs.
◆ CheapestInsertionFirstSolutionNeighborsRatio
|
getset |
Ratio (in ]0, 1]) of neighbors to consider 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.
Neighbors ratio for the first solution heuristic.
Definition at line 345 of file RoutingParameters.pb.cs.
◆ CheapestInsertionLsOperatorNeighborsRatio
|
getset |
Neighbors ratio 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 361 of file RoutingParameters.pb.cs.
◆ ChristofidesUseMinimumMatching
|
getset |
If true use minimum matching instead of minimal matching in the Christofides algorithm.
Definition at line 376 of file RoutingParameters.pb.cs.
◆ ContinuousSchedulingSolver
|
getset |
Definition at line 514 of file RoutingParameters.pb.cs.
◆ Descriptor
|
staticget |
Definition at line 148 of file RoutingParameters.pb.cs.
◆ FirstSolutionStrategy
|
getset |
First solution strategies, used as starting point of local search.
Definition at line 211 of file RoutingParameters.pb.cs.
◆ GuidedLocalSearchLambdaCoefficient
|
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 453 of file RoutingParameters.pb.cs.
◆ HeuristicExpensiveChainLnsNumArcsToConsider
|
getset |
Number of expensive arcs to consider cutting in the FilteredHeuristicExpensiveChainLNSOperator operator.
Definition at line 422 of file RoutingParameters.pb.cs.
◆ LnsTimeLimit
|
getset |
Limit to the time spent in the completion search for each local search neighbor.
Definition at line 601 of file RoutingParameters.pb.cs.
◆ LocalSearchMetaheuristic
|
getset |
Local search metaheuristics used to guide the search.
Definition at line 436 of file RoutingParameters.pb.cs.
◆ LocalSearchOperators
|
getset |
Definition at line 387 of file RoutingParameters.pb.cs.
◆ LogCostOffset
|
getset |
Definition at line 676 of file RoutingParameters.pb.cs.
◆ LogCostScalingFactor
|
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 665 of file RoutingParameters.pb.cs.
◆ LogSearch
|
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 650 of file RoutingParameters.pb.cs.
◆ MixedIntegerSchedulingSolver
|
getset |
Definition at line 525 of file RoutingParameters.pb.cs.
◆ NumberOfSolutionsToCollect
|
getset |
Number of solutions to collect during the search.
Corresponds to the best solutions found during the search. 0 means "unspecified".
Definition at line 556 of file RoutingParameters.pb.cs.
◆ OptimizationStep
|
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 541 of file RoutingParameters.pb.cs.
◆ Parser
|
staticget |
Definition at line 145 of file RoutingParameters.pb.cs.
◆ RelocateExpensiveChainNumArcsToConsider
|
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 407 of file RoutingParameters.pb.cs.
◆ SavingsAddReverseArcs
|
getset |
Add savings related to reverse arcs when finding the nearest neighbors of the nodes.
Definition at line 278 of file RoutingParameters.pb.cs.
◆ SavingsArcCoefficient
|
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)
- savings_arc_coefficient * Cost(a-->b) This parameter must be greater than 0, and its default value is 1.
Definition at line 296 of file RoutingParameters.pb.cs.
◆ SavingsMaxMemoryUsageBytes
|
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].
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.
Definition at line 263 of file RoutingParameters.pb.cs.
◆ SavingsNeighborsRatio
|
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 244 of file RoutingParameters.pb.cs.
◆ SavingsParallelRoutes
|
getset |
When true, the routes are built in parallel, sequentially otherwise.
Definition at line 310 of file RoutingParameters.pb.cs.
◆ SolutionLimit
|
getset |
– Search limits – Limit to the number of solutions generated during the search.
0 means "unspecified".
Definition at line 572 of file RoutingParameters.pb.cs.
◆ TimeLimit
|
getset |
Limit to the time spent in the search.
Definition at line 586 of file RoutingParameters.pb.cs.
◆ UseCp
|
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 486 of file RoutingParameters.pb.cs.
◆ UseCpSat
|
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 503 of file RoutingParameters.pb.cs.
◆ UseDepthFirstSearch
|
getset |
— Search control —
If true, the solver should use depth-first search rather than local search to solve the problem.
Definition at line 470 of file RoutingParameters.pb.cs.
◆ UseFullPropagation
|
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 624 of file RoutingParameters.pb.cs.
◆ UseUnfilteredFirstSolutionStrategy
|
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 228 of file RoutingParameters.pb.cs.
The documentation for this class was generated from the following file: