4 #ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3013000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
16 #if 3013000 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/inlined_string_field.h>
29 #include <google/protobuf/metadata_lite.h>
30 #include <google/protobuf/generated_message_reflection.h>
31 #include <google/protobuf/message.h>
32 #include <google/protobuf/repeated_field.h>
33 #include <google/protobuf/extension_set.h>
34 #include <google/protobuf/generated_enum_reflection.h>
35 #include <google/protobuf/unknown_field_set.h>
36 #include <google/protobuf/duration.pb.h>
41 #include <google/protobuf/port_def.inc>
42 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
43 PROTOBUF_NAMESPACE_OPEN
47 PROTOBUF_NAMESPACE_CLOSE
51 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
53 static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
55 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3]
57 static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata
field_metadata[];
63 class RoutingModelParameters;
64 class RoutingModelParametersDefaultTypeInternal;
66 class RoutingSearchParameters;
69 class RoutingSearchParameters_LocalSearchNeighborhoodOperators;
73 PROTOBUF_NAMESPACE_OPEN
74 template<> ::operations_research::RoutingModelParameters* Arena::CreateMaybeMessage<::operations_research::RoutingModelParameters>(Arena*);
75 template<> ::operations_research::RoutingSearchParameters* Arena::CreateMaybeMessage<::operations_research::RoutingSearchParameters>(Arena*);
76 template<> ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* Arena::CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(Arena*);
77 PROTOBUF_NAMESPACE_CLOSE
97 "Incorrect type passed to function RoutingSearchParameters_SchedulingSolver_Name.");
98 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
103 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<RoutingSearchParameters_SchedulingSolver>(
108 class RoutingSearchParameters_LocalSearchNeighborhoodOperators PROTOBUF_FINAL :
109 public ::PROTOBUF_NAMESPACE_ID::Message {
116 : RoutingSearchParameters_LocalSearchNeighborhoodOperators() {
117 *
this = ::std::move(from);
120 inline RoutingSearchParameters_LocalSearchNeighborhoodOperators&
operator=(
const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from) {
124 inline RoutingSearchParameters_LocalSearchNeighborhoodOperators&
operator=(RoutingSearchParameters_LocalSearchNeighborhoodOperators&& from) noexcept {
125 if (GetArena() == from.GetArena()) {
126 if (
this != &from) InternalSwap(&from);
133 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
134 return GetDescriptor();
137 return GetMetadataStatic().descriptor;
140 return GetMetadataStatic().reflection;
146 return reinterpret_cast<const RoutingSearchParameters_LocalSearchNeighborhoodOperators*
>(
149 static constexpr
int kIndexInFileMessages =
152 friend void swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators&
a, RoutingSearchParameters_LocalSearchNeighborhoodOperators&
b) {
155 inline void Swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* other) {
156 if (other ==
this)
return;
157 if (GetArena() == other->GetArena()) {
160 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
163 void UnsafeArenaSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* other) {
164 if (other ==
this)
return;
165 GOOGLE_DCHECK(GetArena() == other->GetArena());
171 inline RoutingSearchParameters_LocalSearchNeighborhoodOperators*
New() const final {
172 return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(
nullptr);
175 RoutingSearchParameters_LocalSearchNeighborhoodOperators*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
const final {
176 return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(arena);
178 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
179 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
180 void CopyFrom(
const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from);
181 void MergeFrom(
const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from);
182 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
183 bool IsInitialized() const final;
185 size_t ByteSizeLong() const final;
186 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
187 ::PROTOBUF_NAMESPACE_ID::
uint8* _InternalSerialize(
188 ::PROTOBUF_NAMESPACE_ID::
uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
189 int GetCachedSize() const final {
return _cached_size_.Get(); }
192 inline void SharedCtor();
193 inline void SharedDtor();
194 void SetCachedSize(
int size)
const final;
195 void InternalSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* other);
196 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
197 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
198 return "operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators";
203 static void ArenaDtor(
void*
object);
204 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
209 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
221 kUseRelocateFieldNumber = 1,
222 kUseRelocatePairFieldNumber = 2,
223 kUseRelocateNeighborsFieldNumber = 3,
224 kUseExchangeFieldNumber = 4,
225 kUseCrossFieldNumber = 5,
226 kUseCrossExchangeFieldNumber = 6,
227 kUseTwoOptFieldNumber = 7,
228 kUseOrOptFieldNumber = 8,
229 kUseLinKernighanFieldNumber = 9,
230 kUseTspOptFieldNumber = 10,
231 kUseMakeActiveFieldNumber = 11,
232 kUseMakeInactiveFieldNumber = 12,
233 kUseMakeChainInactiveFieldNumber = 13,
234 kUseSwapActiveFieldNumber = 14,
235 kUseExtendedSwapActiveFieldNumber = 15,
236 kUsePathLnsFieldNumber = 16,
237 kUseFullPathLnsFieldNumber = 17,
238 kUseTspLnsFieldNumber = 18,
239 kUseInactiveLnsFieldNumber = 19,
240 kUseNodePairSwapActiveFieldNumber = 20,
241 kUseRelocateAndMakeActiveFieldNumber = 21,
242 kUseExchangePairFieldNumber = 22,
243 kUseRelocateExpensiveChainFieldNumber = 23,
244 kUseLightRelocatePairFieldNumber = 24,
245 kUseRelocateSubtripFieldNumber = 25,
246 kUseExchangeSubtripFieldNumber = 26,
247 kUseGlobalCheapestInsertionPathLnsFieldNumber = 27,
248 kUseLocalCheapestInsertionPathLnsFieldNumber = 28,
249 kUseGlobalCheapestInsertionExpensiveChainLnsFieldNumber = 29,
250 kUseLocalCheapestInsertionExpensiveChainLnsFieldNumber = 30,
251 kUseGlobalCheapestInsertionCloseNodesLnsFieldNumber = 31,
252 kUseLocalCheapestInsertionCloseNodesLnsFieldNumber = 32,
546 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
547 typedef void InternalArenaConstructable_;
548 typedef void DestructorSkippable_;
550 int use_relocate_pair_;
551 int use_relocate_neighbors_;
554 int use_cross_exchange_;
557 int use_lin_kernighan_;
559 int use_make_active_;
560 int use_make_inactive_;
561 int use_make_chain_inactive_;
562 int use_swap_active_;
563 int use_extended_swap_active_;
565 int use_full_path_lns_;
567 int use_inactive_lns_;
568 int use_node_pair_swap_active_;
569 int use_relocate_and_make_active_;
570 int use_exchange_pair_;
571 int use_relocate_expensive_chain_;
572 int use_light_relocate_pair_;
573 int use_relocate_subtrip_;
574 int use_exchange_subtrip_;
575 int use_global_cheapest_insertion_path_lns_;
576 int use_local_cheapest_insertion_path_lns_;
577 int use_global_cheapest_insertion_expensive_chain_lns_;
578 int use_local_cheapest_insertion_expensive_chain_lns_;
579 int use_global_cheapest_insertion_close_nodes_lns_;
580 int use_local_cheapest_insertion_close_nodes_lns_;
581 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
582 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
587 public ::PROTOBUF_NAMESPACE_ID::Message {
594 : RoutingSearchParameters() {
595 *
this = ::std::move(from);
598 inline RoutingSearchParameters&
operator=(
const RoutingSearchParameters& from) {
602 inline RoutingSearchParameters&
operator=(RoutingSearchParameters&& from) noexcept {
603 if (GetArena() == from.GetArena()) {
604 if (
this != &from) InternalSwap(&from);
611 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
612 return GetDescriptor();
615 return GetMetadataStatic().descriptor;
618 return GetMetadataStatic().reflection;
624 return reinterpret_cast<const RoutingSearchParameters*
>(
627 static constexpr
int kIndexInFileMessages =
630 friend void swap(RoutingSearchParameters&
a, RoutingSearchParameters&
b) {
633 inline void Swap(RoutingSearchParameters* other) {
634 if (other ==
this)
return;
635 if (GetArena() == other->GetArena()) {
638 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
642 if (other ==
this)
return;
643 GOOGLE_DCHECK(GetArena() == other->GetArena());
649 inline RoutingSearchParameters*
New() const final {
650 return CreateMaybeMessage<RoutingSearchParameters>(
nullptr);
653 RoutingSearchParameters*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
const final {
654 return CreateMaybeMessage<RoutingSearchParameters>(arena);
656 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
657 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
658 void CopyFrom(
const RoutingSearchParameters& from);
660 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
661 bool IsInitialized() const final;
663 size_t ByteSizeLong() const final;
664 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
665 ::PROTOBUF_NAMESPACE_ID::
uint8* _InternalSerialize(
666 ::PROTOBUF_NAMESPACE_ID::
uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
667 int GetCachedSize() const final {
return _cached_size_.Get(); }
670 inline void SharedCtor();
671 inline void SharedDtor();
672 void SetCachedSize(
int size)
const final;
673 void InternalSwap(RoutingSearchParameters* other);
674 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
675 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
676 return "operations_research.RoutingSearchParameters";
681 static void ArenaDtor(
void*
object);
682 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
687 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
712 static constexpr
int SchedulingSolver_ARRAYSIZE =
714 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
722 "Incorrect type passed to function SchedulingSolver_Name.");
733 kLogTagFieldNumber = 36,
734 kLocalSearchOperatorsFieldNumber = 3,
735 kTimeLimitFieldNumber = 9,
736 kLnsTimeLimitFieldNumber = 10,
737 kFirstSolutionStrategyFieldNumber = 1,
738 kLocalSearchMetaheuristicFieldNumber = 4,
739 kGuidedLocalSearchLambdaCoefficientFieldNumber = 5,
740 kOptimizationStepFieldNumber = 7,
741 kSolutionLimitFieldNumber = 8,
742 kUseDepthFirstSearchFieldNumber = 6,
743 kUseFullPropagationFieldNumber = 11,
744 kLogSearchFieldNumber = 13,
745 kUseUnfilteredFirstSolutionStrategyFieldNumber = 2,
746 kSavingsAddReverseArcsFieldNumber = 15,
747 kSavingsParallelRoutesFieldNumber = 19,
748 kChristofidesUseMinimumMatchingFieldNumber = 30,
749 kSavingsNeighborsRatioFieldNumber = 14,
750 kCheapestInsertionFarthestSeedsRatioFieldNumber = 16,
751 kSavingsArcCoefficientFieldNumber = 18,
752 kNumberOfSolutionsToCollectFieldNumber = 17,
753 kRelocateExpensiveChainNumArcsToConsiderFieldNumber = 20,
754 kCheapestInsertionFirstSolutionNeighborsRatioFieldNumber = 21,
755 kLogCostScalingFactorFieldNumber = 22,
756 kSavingsMaxMemoryUsageBytesFieldNumber = 23,
757 kUseCpSatFieldNumber = 27,
758 kUseCpFieldNumber = 28,
759 kLogCostOffsetFieldNumber = 29,
760 kCheapestInsertionLsOperatorNeighborsRatioFieldNumber = 31,
761 kHeuristicExpensiveChainLnsNumArcsToConsiderFieldNumber = 32,
762 kContinuousSchedulingSolverFieldNumber = 33,
763 kMixedIntegerSchedulingSolverFieldNumber = 34,
764 kHeuristicCloseNodesLnsNumNodesFieldNumber = 35,
777 const std::string& _internal_log_tag()
const;
778 void _internal_set_log_tag(
const std::string&
value);
779 std::string* _internal_mutable_log_tag();
785 bool _internal_has_local_search_operators()
const;
793 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& _internal_local_search_operators()
const;
794 ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* _internal_mutable_local_search_operators();
803 bool _internal_has_time_limit()
const;
811 const PROTOBUF_NAMESPACE_ID::Duration& _internal_time_limit()
const;
812 PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_time_limit();
821 bool _internal_has_lns_time_limit()
const;
829 const PROTOBUF_NAMESPACE_ID::Duration& _internal_lns_time_limit()
const;
830 PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_lns_time_limit();
833 PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit);
859 double _internal_guided_local_search_lambda_coefficient()
const;
860 void _internal_set_guided_local_search_lambda_coefficient(
double value);
868 double _internal_optimization_step()
const;
869 void _internal_set_optimization_step(
double value);
886 bool _internal_use_depth_first_search()
const;
887 void _internal_set_use_depth_first_search(
bool value);
895 bool _internal_use_full_propagation()
const;
896 void _internal_set_use_full_propagation(
bool value);
904 bool _internal_log_search()
const;
905 void _internal_set_log_search(
bool value);
913 bool _internal_use_unfiltered_first_solution_strategy()
const;
914 void _internal_set_use_unfiltered_first_solution_strategy(
bool value);
922 bool _internal_savings_add_reverse_arcs()
const;
923 void _internal_set_savings_add_reverse_arcs(
bool value);
931 bool _internal_savings_parallel_routes()
const;
932 void _internal_set_savings_parallel_routes(
bool value);
940 bool _internal_christofides_use_minimum_matching()
const;
941 void _internal_set_christofides_use_minimum_matching(
bool value);
949 double _internal_savings_neighbors_ratio()
const;
950 void _internal_set_savings_neighbors_ratio(
double value);
958 double _internal_cheapest_insertion_farthest_seeds_ratio()
const;
959 void _internal_set_cheapest_insertion_farthest_seeds_ratio(
double value);
967 double _internal_savings_arc_coefficient()
const;
968 void _internal_set_savings_arc_coefficient(
double value);
994 double _internal_cheapest_insertion_first_solution_neighbors_ratio()
const;
995 void _internal_set_cheapest_insertion_first_solution_neighbors_ratio(
double value);
1003 double _internal_log_cost_scaling_factor()
const;
1004 void _internal_set_log_cost_scaling_factor(
double value);
1012 double _internal_savings_max_memory_usage_bytes()
const;
1013 void _internal_set_savings_max_memory_usage_bytes(
double value);
1039 double _internal_log_cost_offset()
const;
1040 void _internal_set_log_cost_offset(
double value);
1048 double _internal_cheapest_insertion_ls_operator_neighbors_ratio()
const;
1049 void _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(
double value);
1092 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1093 typedef void InternalArenaConstructable_;
1094 typedef void DestructorSkippable_;
1095 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr log_tag_;
1096 ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* local_search_operators_;
1097 PROTOBUF_NAMESPACE_ID::Duration* time_limit_;
1098 PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit_;
1099 int first_solution_strategy_;
1100 int local_search_metaheuristic_;
1101 double guided_local_search_lambda_coefficient_;
1102 double optimization_step_;
1104 bool use_depth_first_search_;
1105 bool use_full_propagation_;
1107 bool use_unfiltered_first_solution_strategy_;
1108 bool savings_add_reverse_arcs_;
1109 bool savings_parallel_routes_;
1110 bool christofides_use_minimum_matching_;
1111 double savings_neighbors_ratio_;
1112 double cheapest_insertion_farthest_seeds_ratio_;
1113 double savings_arc_coefficient_;
1116 double cheapest_insertion_first_solution_neighbors_ratio_;
1117 double log_cost_scaling_factor_;
1118 double savings_max_memory_usage_bytes_;
1121 double log_cost_offset_;
1122 double cheapest_insertion_ls_operator_neighbors_ratio_;
1124 int continuous_scheduling_solver_;
1125 int mixed_integer_scheduling_solver_;
1127 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1128 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1133 public ::PROTOBUF_NAMESPACE_ID::Message {
1140 : RoutingModelParameters() {
1141 *
this = ::std::move(from);
1144 inline RoutingModelParameters&
operator=(
const RoutingModelParameters& from) {
1148 inline RoutingModelParameters&
operator=(RoutingModelParameters&& from) noexcept {
1149 if (GetArena() == from.GetArena()) {
1150 if (
this != &from) InternalSwap(&from);
1158 return GetDescriptor();
1161 return GetMetadataStatic().descriptor;
1164 return GetMetadataStatic().reflection;
1170 return reinterpret_cast<const RoutingModelParameters*
>(
1173 static constexpr
int kIndexInFileMessages =
1176 friend void swap(RoutingModelParameters&
a, RoutingModelParameters&
b) {
1179 inline void Swap(RoutingModelParameters* other) {
1180 if (other ==
this)
return;
1181 if (GetArena() == other->GetArena()) {
1182 InternalSwap(other);
1184 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
1188 if (other ==
this)
return;
1189 GOOGLE_DCHECK(GetArena() == other->GetArena());
1190 InternalSwap(other);
1195 inline RoutingModelParameters*
New() const final {
1196 return CreateMaybeMessage<RoutingModelParameters>(
nullptr);
1199 RoutingModelParameters*
New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
const final {
1200 return CreateMaybeMessage<RoutingModelParameters>(arena);
1202 void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
1203 void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from)
final;
1206 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
1207 bool IsInitialized() const final;
1209 size_t ByteSizeLong() const final;
1210 const
char* _InternalParse(const
char* ptr, ::PROTOBUF_NAMESPACE_ID::
internal::ParseContext* ctx) final;
1211 ::PROTOBUF_NAMESPACE_ID::
uint8* _InternalSerialize(
1212 ::PROTOBUF_NAMESPACE_ID::
uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1213 int GetCachedSize() const final {
return _cached_size_.Get(); }
1216 inline void SharedCtor();
1217 inline void SharedDtor();
1218 void SetCachedSize(
int size)
const final;
1219 void InternalSwap(RoutingModelParameters* other);
1220 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1221 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1222 return "operations_research.RoutingModelParameters";
1227 static void ArenaDtor(
void*
object);
1228 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1233 static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1245 kSolverParametersFieldNumber = 1,
1246 kReduceVehicleCostModelFieldNumber = 2,
1247 kMaxCallbackCacheSizeFieldNumber = 3,
1252 bool _internal_has_solver_parameters()
const;
1260 const ::operations_research::ConstraintSolverParameters& _internal_solver_parameters()
const;
1261 ::operations_research::ConstraintSolverParameters* _internal_mutable_solver_parameters();
1272 bool _internal_reduce_vehicle_cost_model()
const;
1273 void _internal_set_reduce_vehicle_cost_model(
bool value);
1289 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1290 typedef void InternalArenaConstructable_;
1291 typedef void DestructorSkippable_;
1292 ::operations_research::ConstraintSolverParameters* solver_parameters_;
1293 bool reduce_vehicle_cost_model_;
1295 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1296 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1304 #pragma GCC diagnostic push
1305 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1310 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate() {
1318 return _internal_use_relocate();
1322 use_relocate_ =
value;
1325 _internal_set_use_relocate(
value);
1330 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_pair() {
1331 use_relocate_pair_ = 0;
1338 return _internal_use_relocate_pair();
1342 use_relocate_pair_ =
value;
1345 _internal_set_use_relocate_pair(
value);
1350 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_light_relocate_pair() {
1351 use_light_relocate_pair_ = 0;
1358 return _internal_use_light_relocate_pair();
1362 use_light_relocate_pair_ =
value;
1365 _internal_set_use_light_relocate_pair(
value);
1370 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_neighbors() {
1371 use_relocate_neighbors_ = 0;
1378 return _internal_use_relocate_neighbors();
1382 use_relocate_neighbors_ =
value;
1385 _internal_set_use_relocate_neighbors(
value);
1390 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_subtrip() {
1391 use_relocate_subtrip_ = 0;
1398 return _internal_use_relocate_subtrip();
1402 use_relocate_subtrip_ =
value;
1405 _internal_set_use_relocate_subtrip(
value);
1410 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_exchange() {
1418 return _internal_use_exchange();
1422 use_exchange_ =
value;
1425 _internal_set_use_exchange(
value);
1430 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_exchange_pair() {
1431 use_exchange_pair_ = 0;
1438 return _internal_use_exchange_pair();
1442 use_exchange_pair_ =
value;
1445 _internal_set_use_exchange_pair(
value);
1450 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_exchange_subtrip() {
1451 use_exchange_subtrip_ = 0;
1458 return _internal_use_exchange_subtrip();
1462 use_exchange_subtrip_ =
value;
1465 _internal_set_use_exchange_subtrip(
value);
1470 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_cross() {
1478 return _internal_use_cross();
1485 _internal_set_use_cross(
value);
1490 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_cross_exchange() {
1491 use_cross_exchange_ = 0;
1498 return _internal_use_cross_exchange();
1502 use_cross_exchange_ =
value;
1505 _internal_set_use_cross_exchange(
value);
1510 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_expensive_chain() {
1511 use_relocate_expensive_chain_ = 0;
1518 return _internal_use_relocate_expensive_chain();
1522 use_relocate_expensive_chain_ =
value;
1525 _internal_set_use_relocate_expensive_chain(
value);
1530 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_two_opt() {
1538 return _internal_use_two_opt();
1542 use_two_opt_ =
value;
1545 _internal_set_use_two_opt(
value);
1550 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_or_opt() {
1558 return _internal_use_or_opt();
1562 use_or_opt_ =
value;
1565 _internal_set_use_or_opt(
value);
1570 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_lin_kernighan() {
1571 use_lin_kernighan_ = 0;
1578 return _internal_use_lin_kernighan();
1582 use_lin_kernighan_ =
value;
1585 _internal_set_use_lin_kernighan(
value);
1590 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_tsp_opt() {
1598 return _internal_use_tsp_opt();
1602 use_tsp_opt_ =
value;
1605 _internal_set_use_tsp_opt(
value);
1610 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_make_active() {
1611 use_make_active_ = 0;
1618 return _internal_use_make_active();
1622 use_make_active_ =
value;
1625 _internal_set_use_make_active(
value);
1630 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_and_make_active() {
1631 use_relocate_and_make_active_ = 0;
1638 return _internal_use_relocate_and_make_active();
1642 use_relocate_and_make_active_ =
value;
1645 _internal_set_use_relocate_and_make_active(
value);
1650 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_make_inactive() {
1651 use_make_inactive_ = 0;
1658 return _internal_use_make_inactive();
1662 use_make_inactive_ =
value;
1665 _internal_set_use_make_inactive(
value);
1670 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_make_chain_inactive() {
1671 use_make_chain_inactive_ = 0;
1678 return _internal_use_make_chain_inactive();
1682 use_make_chain_inactive_ =
value;
1685 _internal_set_use_make_chain_inactive(
value);
1690 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_swap_active() {
1691 use_swap_active_ = 0;
1698 return _internal_use_swap_active();
1702 use_swap_active_ =
value;
1705 _internal_set_use_swap_active(
value);
1710 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_extended_swap_active() {
1711 use_extended_swap_active_ = 0;
1718 return _internal_use_extended_swap_active();
1722 use_extended_swap_active_ =
value;
1725 _internal_set_use_extended_swap_active(
value);
1730 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_node_pair_swap_active() {
1731 use_node_pair_swap_active_ = 0;
1738 return _internal_use_node_pair_swap_active();
1742 use_node_pair_swap_active_ =
value;
1745 _internal_set_use_node_pair_swap_active(
value);
1750 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_path_lns() {
1758 return _internal_use_path_lns();
1762 use_path_lns_ =
value;
1765 _internal_set_use_path_lns(
value);
1770 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_full_path_lns() {
1771 use_full_path_lns_ = 0;
1778 return _internal_use_full_path_lns();
1782 use_full_path_lns_ =
value;
1785 _internal_set_use_full_path_lns(
value);
1790 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_tsp_lns() {
1798 return _internal_use_tsp_lns();
1802 use_tsp_lns_ =
value;
1805 _internal_set_use_tsp_lns(
value);
1810 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_inactive_lns() {
1811 use_inactive_lns_ = 0;
1818 return _internal_use_inactive_lns();
1822 use_inactive_lns_ =
value;
1825 _internal_set_use_inactive_lns(
value);
1830 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_global_cheapest_insertion_path_lns() {
1831 use_global_cheapest_insertion_path_lns_ = 0;
1838 return _internal_use_global_cheapest_insertion_path_lns();
1842 use_global_cheapest_insertion_path_lns_ =
value;
1845 _internal_set_use_global_cheapest_insertion_path_lns(
value);
1850 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_local_cheapest_insertion_path_lns() {
1851 use_local_cheapest_insertion_path_lns_ = 0;
1858 return _internal_use_local_cheapest_insertion_path_lns();
1862 use_local_cheapest_insertion_path_lns_ =
value;
1865 _internal_set_use_local_cheapest_insertion_path_lns(
value);
1870 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_global_cheapest_insertion_expensive_chain_lns() {
1871 use_global_cheapest_insertion_expensive_chain_lns_ = 0;
1878 return _internal_use_global_cheapest_insertion_expensive_chain_lns();
1882 use_global_cheapest_insertion_expensive_chain_lns_ =
value;
1885 _internal_set_use_global_cheapest_insertion_expensive_chain_lns(
value);
1890 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_local_cheapest_insertion_expensive_chain_lns() {
1891 use_local_cheapest_insertion_expensive_chain_lns_ = 0;
1898 return _internal_use_local_cheapest_insertion_expensive_chain_lns();
1902 use_local_cheapest_insertion_expensive_chain_lns_ =
value;
1905 _internal_set_use_local_cheapest_insertion_expensive_chain_lns(
value);
1910 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_global_cheapest_insertion_close_nodes_lns() {
1911 use_global_cheapest_insertion_close_nodes_lns_ = 0;
1918 return _internal_use_global_cheapest_insertion_close_nodes_lns();
1922 use_global_cheapest_insertion_close_nodes_lns_ =
value;
1925 _internal_set_use_global_cheapest_insertion_close_nodes_lns(
value);
1930 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_local_cheapest_insertion_close_nodes_lns() {
1931 use_local_cheapest_insertion_close_nodes_lns_ = 0;
1938 return _internal_use_local_cheapest_insertion_close_nodes_lns();
1942 use_local_cheapest_insertion_close_nodes_lns_ =
value;
1945 _internal_set_use_local_cheapest_insertion_close_nodes_lns(
value);
1954 inline void RoutingSearchParameters::clear_first_solution_strategy() {
1955 first_solution_strategy_ = 0;
1962 return _internal_first_solution_strategy();
1966 first_solution_strategy_ =
value;
1969 _internal_set_first_solution_strategy(
value);
1974 inline void RoutingSearchParameters::clear_use_unfiltered_first_solution_strategy() {
1975 use_unfiltered_first_solution_strategy_ =
false;
1977 inline bool RoutingSearchParameters::_internal_use_unfiltered_first_solution_strategy()
const {
1978 return use_unfiltered_first_solution_strategy_;
1980 inline bool RoutingSearchParameters::use_unfiltered_first_solution_strategy()
const {
1982 return _internal_use_unfiltered_first_solution_strategy();
1984 inline void RoutingSearchParameters::_internal_set_use_unfiltered_first_solution_strategy(
bool value) {
1986 use_unfiltered_first_solution_strategy_ =
value;
1988 inline void RoutingSearchParameters::set_use_unfiltered_first_solution_strategy(
bool value) {
1989 _internal_set_use_unfiltered_first_solution_strategy(
value);
1994 inline void RoutingSearchParameters::clear_savings_neighbors_ratio() {
1995 savings_neighbors_ratio_ = 0;
1997 inline double RoutingSearchParameters::_internal_savings_neighbors_ratio()
const {
1998 return savings_neighbors_ratio_;
2000 inline double RoutingSearchParameters::savings_neighbors_ratio()
const {
2002 return _internal_savings_neighbors_ratio();
2004 inline void RoutingSearchParameters::_internal_set_savings_neighbors_ratio(
double value) {
2006 savings_neighbors_ratio_ =
value;
2008 inline void RoutingSearchParameters::set_savings_neighbors_ratio(
double value) {
2009 _internal_set_savings_neighbors_ratio(
value);
2014 inline void RoutingSearchParameters::clear_savings_max_memory_usage_bytes() {
2015 savings_max_memory_usage_bytes_ = 0;
2017 inline double RoutingSearchParameters::_internal_savings_max_memory_usage_bytes()
const {
2018 return savings_max_memory_usage_bytes_;
2020 inline double RoutingSearchParameters::savings_max_memory_usage_bytes()
const {
2022 return _internal_savings_max_memory_usage_bytes();
2024 inline void RoutingSearchParameters::_internal_set_savings_max_memory_usage_bytes(
double value) {
2026 savings_max_memory_usage_bytes_ =
value;
2028 inline void RoutingSearchParameters::set_savings_max_memory_usage_bytes(
double value) {
2029 _internal_set_savings_max_memory_usage_bytes(
value);
2034 inline void RoutingSearchParameters::clear_savings_add_reverse_arcs() {
2035 savings_add_reverse_arcs_ =
false;
2037 inline bool RoutingSearchParameters::_internal_savings_add_reverse_arcs()
const {
2038 return savings_add_reverse_arcs_;
2040 inline bool RoutingSearchParameters::savings_add_reverse_arcs()
const {
2042 return _internal_savings_add_reverse_arcs();
2044 inline void RoutingSearchParameters::_internal_set_savings_add_reverse_arcs(
bool value) {
2046 savings_add_reverse_arcs_ =
value;
2048 inline void RoutingSearchParameters::set_savings_add_reverse_arcs(
bool value) {
2049 _internal_set_savings_add_reverse_arcs(
value);
2054 inline void RoutingSearchParameters::clear_savings_arc_coefficient() {
2055 savings_arc_coefficient_ = 0;
2057 inline double RoutingSearchParameters::_internal_savings_arc_coefficient()
const {
2058 return savings_arc_coefficient_;
2060 inline double RoutingSearchParameters::savings_arc_coefficient()
const {
2062 return _internal_savings_arc_coefficient();
2064 inline void RoutingSearchParameters::_internal_set_savings_arc_coefficient(
double value) {
2066 savings_arc_coefficient_ =
value;
2068 inline void RoutingSearchParameters::set_savings_arc_coefficient(
double value) {
2069 _internal_set_savings_arc_coefficient(
value);
2074 inline void RoutingSearchParameters::clear_savings_parallel_routes() {
2075 savings_parallel_routes_ =
false;
2077 inline bool RoutingSearchParameters::_internal_savings_parallel_routes()
const {
2078 return savings_parallel_routes_;
2080 inline bool RoutingSearchParameters::savings_parallel_routes()
const {
2082 return _internal_savings_parallel_routes();
2084 inline void RoutingSearchParameters::_internal_set_savings_parallel_routes(
bool value) {
2086 savings_parallel_routes_ =
value;
2088 inline void RoutingSearchParameters::set_savings_parallel_routes(
bool value) {
2089 _internal_set_savings_parallel_routes(
value);
2094 inline void RoutingSearchParameters::clear_cheapest_insertion_farthest_seeds_ratio() {
2095 cheapest_insertion_farthest_seeds_ratio_ = 0;
2097 inline double RoutingSearchParameters::_internal_cheapest_insertion_farthest_seeds_ratio()
const {
2098 return cheapest_insertion_farthest_seeds_ratio_;
2100 inline double RoutingSearchParameters::cheapest_insertion_farthest_seeds_ratio()
const {
2102 return _internal_cheapest_insertion_farthest_seeds_ratio();
2104 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_farthest_seeds_ratio(
double value) {
2106 cheapest_insertion_farthest_seeds_ratio_ =
value;
2108 inline void RoutingSearchParameters::set_cheapest_insertion_farthest_seeds_ratio(
double value) {
2109 _internal_set_cheapest_insertion_farthest_seeds_ratio(
value);
2114 inline void RoutingSearchParameters::clear_cheapest_insertion_first_solution_neighbors_ratio() {
2115 cheapest_insertion_first_solution_neighbors_ratio_ = 0;
2117 inline double RoutingSearchParameters::_internal_cheapest_insertion_first_solution_neighbors_ratio()
const {
2118 return cheapest_insertion_first_solution_neighbors_ratio_;
2120 inline double RoutingSearchParameters::cheapest_insertion_first_solution_neighbors_ratio()
const {
2122 return _internal_cheapest_insertion_first_solution_neighbors_ratio();
2124 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_neighbors_ratio(
double value) {
2126 cheapest_insertion_first_solution_neighbors_ratio_ =
value;
2128 inline void RoutingSearchParameters::set_cheapest_insertion_first_solution_neighbors_ratio(
double value) {
2129 _internal_set_cheapest_insertion_first_solution_neighbors_ratio(
value);
2134 inline void RoutingSearchParameters::clear_cheapest_insertion_ls_operator_neighbors_ratio() {
2135 cheapest_insertion_ls_operator_neighbors_ratio_ = 0;
2137 inline double RoutingSearchParameters::_internal_cheapest_insertion_ls_operator_neighbors_ratio()
const {
2138 return cheapest_insertion_ls_operator_neighbors_ratio_;
2140 inline double RoutingSearchParameters::cheapest_insertion_ls_operator_neighbors_ratio()
const {
2142 return _internal_cheapest_insertion_ls_operator_neighbors_ratio();
2144 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_ls_operator_neighbors_ratio(
double value) {
2146 cheapest_insertion_ls_operator_neighbors_ratio_ =
value;
2148 inline void RoutingSearchParameters::set_cheapest_insertion_ls_operator_neighbors_ratio(
double value) {
2149 _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(
value);
2154 inline void RoutingSearchParameters::clear_christofides_use_minimum_matching() {
2155 christofides_use_minimum_matching_ =
false;
2157 inline bool RoutingSearchParameters::_internal_christofides_use_minimum_matching()
const {
2158 return christofides_use_minimum_matching_;
2160 inline bool RoutingSearchParameters::christofides_use_minimum_matching()
const {
2162 return _internal_christofides_use_minimum_matching();
2164 inline void RoutingSearchParameters::_internal_set_christofides_use_minimum_matching(
bool value) {
2166 christofides_use_minimum_matching_ =
value;
2168 inline void RoutingSearchParameters::set_christofides_use_minimum_matching(
bool value) {
2169 _internal_set_christofides_use_minimum_matching(
value);
2174 inline bool RoutingSearchParameters::_internal_has_local_search_operators()
const {
2175 return this != internal_default_instance() && local_search_operators_ !=
nullptr;
2177 inline bool RoutingSearchParameters::has_local_search_operators()
const {
2178 return _internal_has_local_search_operators();
2180 inline void RoutingSearchParameters::clear_local_search_operators() {
2181 if (GetArena() ==
nullptr && local_search_operators_ !=
nullptr) {
2182 delete local_search_operators_;
2184 local_search_operators_ =
nullptr;
2186 inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::_internal_local_search_operators()
const {
2187 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* p = local_search_operators_;
2191 inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::local_search_operators()
const {
2193 return _internal_local_search_operators();
2195 inline void RoutingSearchParameters::unsafe_arena_set_allocated_local_search_operators(
2197 if (GetArena() ==
nullptr) {
2198 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(local_search_operators_);
2200 local_search_operators_ = local_search_operators;
2201 if (local_search_operators) {
2208 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::release_local_search_operators() {
2210 ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* temp = local_search_operators_;
2211 local_search_operators_ =
nullptr;
2212 if (GetArena() !=
nullptr) {
2213 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2217 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::unsafe_arena_release_local_search_operators() {
2220 ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* temp = local_search_operators_;
2221 local_search_operators_ =
nullptr;
2224 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::_internal_mutable_local_search_operators() {
2226 if (local_search_operators_ ==
nullptr) {
2227 auto* p = CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(GetArena());
2228 local_search_operators_ = p;
2230 return local_search_operators_;
2232 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::mutable_local_search_operators() {
2234 return _internal_mutable_local_search_operators();
2237 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
2238 if (message_arena ==
nullptr) {
2239 delete local_search_operators_;
2241 if (local_search_operators) {
2242 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2243 ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(local_search_operators);
2244 if (message_arena != submessage_arena) {
2245 local_search_operators = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2246 message_arena, local_search_operators, submessage_arena);
2252 local_search_operators_ = local_search_operators;
2257 inline void RoutingSearchParameters::clear_relocate_expensive_chain_num_arcs_to_consider() {
2258 relocate_expensive_chain_num_arcs_to_consider_ = 0;
2261 return relocate_expensive_chain_num_arcs_to_consider_;
2265 return _internal_relocate_expensive_chain_num_arcs_to_consider();
2269 relocate_expensive_chain_num_arcs_to_consider_ =
value;
2272 _internal_set_relocate_expensive_chain_num_arcs_to_consider(
value);
2277 inline void RoutingSearchParameters::clear_heuristic_expensive_chain_lns_num_arcs_to_consider() {
2278 heuristic_expensive_chain_lns_num_arcs_to_consider_ = 0;
2281 return heuristic_expensive_chain_lns_num_arcs_to_consider_;
2285 return _internal_heuristic_expensive_chain_lns_num_arcs_to_consider();
2289 heuristic_expensive_chain_lns_num_arcs_to_consider_ =
value;
2292 _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(
value);
2297 inline void RoutingSearchParameters::clear_heuristic_close_nodes_lns_num_nodes() {
2298 heuristic_close_nodes_lns_num_nodes_ = 0;
2301 return heuristic_close_nodes_lns_num_nodes_;
2305 return _internal_heuristic_close_nodes_lns_num_nodes();
2309 heuristic_close_nodes_lns_num_nodes_ =
value;
2312 _internal_set_heuristic_close_nodes_lns_num_nodes(
value);
2317 inline void RoutingSearchParameters::clear_local_search_metaheuristic() {
2318 local_search_metaheuristic_ = 0;
2325 return _internal_local_search_metaheuristic();
2329 local_search_metaheuristic_ =
value;
2332 _internal_set_local_search_metaheuristic(
value);
2337 inline void RoutingSearchParameters::clear_guided_local_search_lambda_coefficient() {
2338 guided_local_search_lambda_coefficient_ = 0;
2340 inline double RoutingSearchParameters::_internal_guided_local_search_lambda_coefficient()
const {
2341 return guided_local_search_lambda_coefficient_;
2343 inline double RoutingSearchParameters::guided_local_search_lambda_coefficient()
const {
2345 return _internal_guided_local_search_lambda_coefficient();
2347 inline void RoutingSearchParameters::_internal_set_guided_local_search_lambda_coefficient(
double value) {
2349 guided_local_search_lambda_coefficient_ =
value;
2351 inline void RoutingSearchParameters::set_guided_local_search_lambda_coefficient(
double value) {
2352 _internal_set_guided_local_search_lambda_coefficient(
value);
2357 inline void RoutingSearchParameters::clear_use_depth_first_search() {
2358 use_depth_first_search_ =
false;
2360 inline bool RoutingSearchParameters::_internal_use_depth_first_search()
const {
2361 return use_depth_first_search_;
2363 inline bool RoutingSearchParameters::use_depth_first_search()
const {
2365 return _internal_use_depth_first_search();
2367 inline void RoutingSearchParameters::_internal_set_use_depth_first_search(
bool value) {
2369 use_depth_first_search_ =
value;
2371 inline void RoutingSearchParameters::set_use_depth_first_search(
bool value) {
2372 _internal_set_use_depth_first_search(
value);
2377 inline void RoutingSearchParameters::clear_use_cp() {
2385 return _internal_use_cp();
2392 _internal_set_use_cp(
value);
2397 inline void RoutingSearchParameters::clear_use_cp_sat() {
2405 return _internal_use_cp_sat();
2409 use_cp_sat_ =
value;
2412 _internal_set_use_cp_sat(
value);
2417 inline void RoutingSearchParameters::clear_continuous_scheduling_solver() {
2418 continuous_scheduling_solver_ = 0;
2425 return _internal_continuous_scheduling_solver();
2429 continuous_scheduling_solver_ =
value;
2432 _internal_set_continuous_scheduling_solver(
value);
2437 inline void RoutingSearchParameters::clear_mixed_integer_scheduling_solver() {
2438 mixed_integer_scheduling_solver_ = 0;
2445 return _internal_mixed_integer_scheduling_solver();
2449 mixed_integer_scheduling_solver_ =
value;
2452 _internal_set_mixed_integer_scheduling_solver(
value);
2457 inline void RoutingSearchParameters::clear_optimization_step() {
2458 optimization_step_ = 0;
2460 inline double RoutingSearchParameters::_internal_optimization_step()
const {
2461 return optimization_step_;
2463 inline double RoutingSearchParameters::optimization_step()
const {
2465 return _internal_optimization_step();
2467 inline void RoutingSearchParameters::_internal_set_optimization_step(
double value) {
2469 optimization_step_ =
value;
2471 inline void RoutingSearchParameters::set_optimization_step(
double value) {
2472 _internal_set_optimization_step(
value);
2477 inline void RoutingSearchParameters::clear_number_of_solutions_to_collect() {
2478 number_of_solutions_to_collect_ = 0;
2481 return number_of_solutions_to_collect_;
2485 return _internal_number_of_solutions_to_collect();
2489 number_of_solutions_to_collect_ =
value;
2492 _internal_set_number_of_solutions_to_collect(
value);
2497 inline void RoutingSearchParameters::clear_solution_limit() {
2498 solution_limit_ = PROTOBUF_LONGLONG(0);
2501 return solution_limit_;
2505 return _internal_solution_limit();
2509 solution_limit_ =
value;
2512 _internal_set_solution_limit(
value);
2517 inline bool RoutingSearchParameters::_internal_has_time_limit()
const {
2518 return this != internal_default_instance() && time_limit_ !=
nullptr;
2520 inline bool RoutingSearchParameters::has_time_limit()
const {
2521 return _internal_has_time_limit();
2523 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::_internal_time_limit()
const {
2524 const PROTOBUF_NAMESPACE_ID::Duration* p = time_limit_;
2525 return p !=
nullptr ? *p : *
reinterpret_cast<const PROTOBUF_NAMESPACE_ID::Duration*
>(
2526 &PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
2530 return _internal_time_limit();
2532 inline void RoutingSearchParameters::unsafe_arena_set_allocated_time_limit(
2533 PROTOBUF_NAMESPACE_ID::Duration*
time_limit) {
2534 if (GetArena() ==
nullptr) {
2535 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(time_limit_);
2545 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_time_limit() {
2547 PROTOBUF_NAMESPACE_ID::Duration* temp = time_limit_;
2548 time_limit_ =
nullptr;
2549 if (GetArena() !=
nullptr) {
2550 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2554 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::unsafe_arena_release_time_limit() {
2557 PROTOBUF_NAMESPACE_ID::Duration* temp = time_limit_;
2558 time_limit_ =
nullptr;
2561 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::_internal_mutable_time_limit() {
2563 if (time_limit_ ==
nullptr) {
2564 auto* p = CreateMaybeMessage<PROTOBUF_NAMESPACE_ID::Duration>(GetArena());
2569 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_time_limit() {
2571 return _internal_mutable_time_limit();
2573 inline void RoutingSearchParameters::set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration*
time_limit) {
2574 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
2575 if (message_arena ==
nullptr) {
2576 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*
>(time_limit_);
2579 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2580 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(
time_limit)->GetArena();
2581 if (message_arena != submessage_arena) {
2582 time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2583 message_arena,
time_limit, submessage_arena);
2594 inline bool RoutingSearchParameters::_internal_has_lns_time_limit()
const {
2595 return this != internal_default_instance() && lns_time_limit_ !=
nullptr;
2597 inline bool RoutingSearchParameters::has_lns_time_limit()
const {
2598 return _internal_has_lns_time_limit();
2600 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::_internal_lns_time_limit()
const {
2601 const PROTOBUF_NAMESPACE_ID::Duration* p = lns_time_limit_;
2602 return p !=
nullptr ? *p : *
reinterpret_cast<const PROTOBUF_NAMESPACE_ID::Duration*
>(
2603 &PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
2605 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::lns_time_limit()
const {
2607 return _internal_lns_time_limit();
2609 inline void RoutingSearchParameters::unsafe_arena_set_allocated_lns_time_limit(
2610 PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit) {
2611 if (GetArena() ==
nullptr) {
2612 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(lns_time_limit_);
2614 lns_time_limit_ = lns_time_limit;
2615 if (lns_time_limit) {
2622 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_lns_time_limit() {
2624 PROTOBUF_NAMESPACE_ID::Duration* temp = lns_time_limit_;
2625 lns_time_limit_ =
nullptr;
2626 if (GetArena() !=
nullptr) {
2627 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2631 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::unsafe_arena_release_lns_time_limit() {
2634 PROTOBUF_NAMESPACE_ID::Duration* temp = lns_time_limit_;
2635 lns_time_limit_ =
nullptr;
2638 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::_internal_mutable_lns_time_limit() {
2640 if (lns_time_limit_ ==
nullptr) {
2641 auto* p = CreateMaybeMessage<PROTOBUF_NAMESPACE_ID::Duration>(GetArena());
2642 lns_time_limit_ = p;
2644 return lns_time_limit_;
2646 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_lns_time_limit() {
2648 return _internal_mutable_lns_time_limit();
2650 inline void RoutingSearchParameters::set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit) {
2651 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
2652 if (message_arena ==
nullptr) {
2653 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*
>(lns_time_limit_);
2655 if (lns_time_limit) {
2656 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2657 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(lns_time_limit)->GetArena();
2658 if (message_arena != submessage_arena) {
2659 lns_time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2660 message_arena, lns_time_limit, submessage_arena);
2666 lns_time_limit_ = lns_time_limit;
2671 inline void RoutingSearchParameters::clear_use_full_propagation() {
2672 use_full_propagation_ =
false;
2674 inline bool RoutingSearchParameters::_internal_use_full_propagation()
const {
2675 return use_full_propagation_;
2677 inline bool RoutingSearchParameters::use_full_propagation()
const {
2679 return _internal_use_full_propagation();
2681 inline void RoutingSearchParameters::_internal_set_use_full_propagation(
bool value) {
2683 use_full_propagation_ =
value;
2685 inline void RoutingSearchParameters::set_use_full_propagation(
bool value) {
2686 _internal_set_use_full_propagation(
value);
2691 inline void RoutingSearchParameters::clear_log_search() {
2692 log_search_ =
false;
2694 inline bool RoutingSearchParameters::_internal_log_search()
const {
2697 inline bool RoutingSearchParameters::log_search()
const {
2699 return _internal_log_search();
2701 inline void RoutingSearchParameters::_internal_set_log_search(
bool value) {
2703 log_search_ =
value;
2705 inline void RoutingSearchParameters::set_log_search(
bool value) {
2706 _internal_set_log_search(
value);
2711 inline void RoutingSearchParameters::clear_log_cost_scaling_factor() {
2712 log_cost_scaling_factor_ = 0;
2714 inline double RoutingSearchParameters::_internal_log_cost_scaling_factor()
const {
2715 return log_cost_scaling_factor_;
2717 inline double RoutingSearchParameters::log_cost_scaling_factor()
const {
2719 return _internal_log_cost_scaling_factor();
2721 inline void RoutingSearchParameters::_internal_set_log_cost_scaling_factor(
double value) {
2723 log_cost_scaling_factor_ =
value;
2725 inline void RoutingSearchParameters::set_log_cost_scaling_factor(
double value) {
2726 _internal_set_log_cost_scaling_factor(
value);
2731 inline void RoutingSearchParameters::clear_log_cost_offset() {
2732 log_cost_offset_ = 0;
2734 inline double RoutingSearchParameters::_internal_log_cost_offset()
const {
2735 return log_cost_offset_;
2737 inline double RoutingSearchParameters::log_cost_offset()
const {
2739 return _internal_log_cost_offset();
2741 inline void RoutingSearchParameters::_internal_set_log_cost_offset(
double value) {
2743 log_cost_offset_ =
value;
2745 inline void RoutingSearchParameters::set_log_cost_offset(
double value) {
2746 _internal_set_log_cost_offset(
value);
2751 inline void RoutingSearchParameters::clear_log_tag() {
2752 log_tag_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2754 inline const std::string& RoutingSearchParameters::log_tag()
const {
2756 return _internal_log_tag();
2758 inline void RoutingSearchParameters::set_log_tag(
const std::string&
value) {
2759 _internal_set_log_tag(
value);
2762 inline std::string* RoutingSearchParameters::mutable_log_tag() {
2764 return _internal_mutable_log_tag();
2766 inline const std::string& RoutingSearchParameters::_internal_log_tag()
const {
2767 return log_tag_.Get();
2769 inline void RoutingSearchParameters::_internal_set_log_tag(
const std::string&
value) {
2771 log_tag_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
value, GetArena());
2773 inline void RoutingSearchParameters::set_log_tag(std::string&&
value) {
2776 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(
value), GetArena());
2779 inline void RoutingSearchParameters::set_log_tag(
const char*
value) {
2780 GOOGLE_DCHECK(
value !=
nullptr);
2782 log_tag_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
value),
2786 inline void RoutingSearchParameters::set_log_tag(
const char*
value,
2789 log_tag_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
2790 reinterpret_cast<const char*
>(
value), size), GetArena());
2793 inline std::string* RoutingSearchParameters::_internal_mutable_log_tag() {
2795 return log_tag_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2797 inline std::string* RoutingSearchParameters::release_log_tag() {
2799 return log_tag_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2801 inline void RoutingSearchParameters::set_allocated_log_tag(std::string* log_tag) {
2802 if (log_tag !=
nullptr) {
2807 log_tag_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), log_tag,
2817 inline bool RoutingModelParameters::_internal_has_solver_parameters()
const {
2818 return this != internal_default_instance() && solver_parameters_ !=
nullptr;
2820 inline bool RoutingModelParameters::has_solver_parameters()
const {
2821 return _internal_has_solver_parameters();
2823 inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::_internal_solver_parameters()
const {
2824 const ::operations_research::ConstraintSolverParameters* p = solver_parameters_;
2828 inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::solver_parameters()
const {
2830 return _internal_solver_parameters();
2832 inline void RoutingModelParameters::unsafe_arena_set_allocated_solver_parameters(
2834 if (GetArena() ==
nullptr) {
2835 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(solver_parameters_);
2837 solver_parameters_ = solver_parameters;
2838 if (solver_parameters) {
2845 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::release_solver_parameters() {
2847 ::operations_research::ConstraintSolverParameters* temp = solver_parameters_;
2848 solver_parameters_ =
nullptr;
2849 if (GetArena() !=
nullptr) {
2850 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2854 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::unsafe_arena_release_solver_parameters() {
2857 ::operations_research::ConstraintSolverParameters* temp = solver_parameters_;
2858 solver_parameters_ =
nullptr;
2861 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::_internal_mutable_solver_parameters() {
2863 if (solver_parameters_ ==
nullptr) {
2864 auto* p = CreateMaybeMessage<::operations_research::ConstraintSolverParameters>(GetArena());
2865 solver_parameters_ = p;
2867 return solver_parameters_;
2869 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::mutable_solver_parameters() {
2871 return _internal_mutable_solver_parameters();
2874 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
2875 if (message_arena ==
nullptr) {
2876 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*
>(solver_parameters_);
2878 if (solver_parameters) {
2879 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2880 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(solver_parameters)->GetArena();
2881 if (message_arena != submessage_arena) {
2882 solver_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2883 message_arena, solver_parameters, submessage_arena);
2889 solver_parameters_ = solver_parameters;
2894 inline void RoutingModelParameters::clear_reduce_vehicle_cost_model() {
2895 reduce_vehicle_cost_model_ =
false;
2897 inline bool RoutingModelParameters::_internal_reduce_vehicle_cost_model()
const {
2898 return reduce_vehicle_cost_model_;
2900 inline bool RoutingModelParameters::reduce_vehicle_cost_model()
const {
2902 return _internal_reduce_vehicle_cost_model();
2904 inline void RoutingModelParameters::_internal_set_reduce_vehicle_cost_model(
bool value) {
2906 reduce_vehicle_cost_model_ =
value;
2908 inline void RoutingModelParameters::set_reduce_vehicle_cost_model(
bool value) {
2909 _internal_set_reduce_vehicle_cost_model(
value);
2914 inline void RoutingModelParameters::clear_max_callback_cache_size() {
2915 max_callback_cache_size_ = 0;
2918 return max_callback_cache_size_;
2922 return _internal_max_callback_cache_size();
2926 max_callback_cache_size_ =
value;
2929 _internal_set_max_callback_cache_size(
value);
2934 #pragma GCC diagnostic pop
2945 PROTOBUF_NAMESPACE_OPEN
2949 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::RoutingSearchParameters_SchedulingSolver>() {
2953 PROTOBUF_NAMESPACE_CLOSE
2957 #include <google/protobuf/port_undef.inc>
2958 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto