6#ifndef ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto_2epb_2eh
7#define ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto_2epb_2eh
14#include "google/protobuf/runtime_version.h"
15#if PROTOBUF_VERSION != 6033001
16#error "Protobuf C++ gencode is built with an incompatible version of"
17#error "Protobuf C++ headers/runtime. See"
18#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
20#include "google/protobuf/io/coded_stream.h"
21#include "google/protobuf/arena.h"
22#include "google/protobuf/arenastring.h"
23#include "google/protobuf/generated_message_tctable_decl.h"
24#include "google/protobuf/generated_message_util.h"
25#include "google/protobuf/metadata_lite.h"
26#include "google/protobuf/generated_message_reflection.h"
27#include "google/protobuf/message.h"
28#include "google/protobuf/message_lite.h"
29#include "google/protobuf/repeated_field.h"
30#include "google/protobuf/extension_set.h"
31#include "google/protobuf/generated_enum_reflection.h"
32#include "google/protobuf/unknown_field_set.h"
33#include "google/protobuf/duration.pb.h"
43#include "google/protobuf/port_def.inc"
45#define PROTOBUF_INTERNAL_EXPORT_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto OR_PROTO_DLL
86internal::EnumTraitsT<::operations_research::RoutingSearchParameters_SchedulingSolver_internal_data_>
87 internal::EnumTraitsImpl::value<::operations_research::RoutingSearchParameters_SchedulingSolver>;
97 ::std::numeric_limits<::int32_t>::min(),
99 ::std::numeric_limits<::int32_t>::max(),
108 return 0 <= value && value <= 2;
114 static_assert(::std::is_same<T, RoutingSearchParameters_SchedulingSolver>::value ||
115 ::std::is_integral<T>::value,
116 "Incorrect type passed to SchedulingSolver_Name().");
121 return ::google::protobuf::internal::NameOfDenseEnum<RoutingSearchParameters_SchedulingSolver_descriptor, 0, 2>(
122 static_cast<int>(value));
135class OR_PROTO_DLL RoutingSearchParameters_LocalSearchNeighborhoodOperators final :
public ::google::protobuf::Message
141#if defined(PROTOBUF_CUSTOM_VTABLE)
148 template <
typename =
void>
159 if (
this == &from)
return *
this;
160 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
168 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
169 ABSL_ATTRIBUTE_LIFETIME_BOUND {
170 return _internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
172 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
173 ABSL_ATTRIBUTE_LIFETIME_BOUND {
174 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
177 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
178 return GetDescriptor();
180 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
181 return default_instance().GetMetadata().descriptor;
183 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
184 return default_instance().GetMetadata().reflection;
190 static constexpr int kIndexInFileMessages = 0;
193 if (other ==
this)
return;
194 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
197 ::google::protobuf::internal::GenericSwap(
this, other);
200 void UnsafeArenaSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL other) {
201 if (other ==
this)
return;
202 ABSL_DCHECK(GetArena() == other->GetArena());
209 return ::google::protobuf::Message::DefaultConstruct<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(arena);
211 using ::google::protobuf::Message::CopyFrom;
213 using ::google::protobuf::Message::MergeFrom;
217 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
218 const ::google::protobuf::MessageLite& from_msg);
224 ABSL_ATTRIBUTE_REINITIALIZES
void Clear() PROTOBUF_FINAL;
225 #if defined(PROTOBUF_CUSTOM_VTABLE)
227 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
228 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
229 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
230 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
233 ::size_t ByteSizeLong()
const {
return ByteSizeLong(*
this); }
234 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
235 ::uint8_t* PROTOBUF_NONNULL target,
236 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
237 return _InternalSerialize(*
this, target, stream);
240 ::size_t ByteSizeLong() const final;
241 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
242 ::uint8_t* PROTOBUF_NONNULL target,
243 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
245 int GetCachedSize()
const {
return _impl_._cached_size_.Get(); }
248 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
252 template <
typename T>
254 static ::absl::string_view FullMessageName() {
return "operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators"; }
261 *
this = ::std::move(from);
263 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
264 static
void* PROTOBUF_NONNULL PlacementNew_(
265 const
void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
266 ::
google::protobuf::Arena* PROTOBUF_NULLABLE arena);
267 static constexpr auto InternalNewImpl_();
270 static constexpr auto InternalGenerateClassData_();
272 ::
google::protobuf::Metadata GetMetadata() const;
277 kUseRelocateFieldNumber = 1,
278 kUseRelocatePairFieldNumber = 2,
721 friend class ::google::protobuf::internal::TcParser;
722 static const ::google::protobuf::internal::TcParseTable<5, 40,
727 friend class ::google::protobuf::MessageLite;
728 friend class ::google::protobuf::Arena;
729 template <
typename T>
730 friend class ::google::protobuf::Arena::InternalHelper;
731 using InternalArenaConstructable_ = void;
732 using DestructorSkippable_ = void;
734 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized)
noexcept;
735 inline explicit Impl_(
736 ::google::protobuf::internal::InternalVisibility visibility,
737 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
738 inline explicit Impl_(
739 ::google::protobuf::internal::InternalVisibility visibility,
740 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
742 ::google::protobuf::internal::HasBits<2> _has_bits_;
743 ::google::protobuf::internal::CachedSize _cached_size_;
745 int use_relocate_pair_;
746 int use_relocate_neighbors_;
749 int use_cross_exchange_;
752 int use_lin_kernighan_;
754 int use_make_active_;
755 int use_make_inactive_;
756 int use_make_chain_inactive_;
757 int use_swap_active_;
758 int use_extended_swap_active_;
760 int use_full_path_lns_;
762 int use_inactive_lns_;
763 int use_node_pair_swap_active_;
764 int use_relocate_and_make_active_;
765 int use_exchange_pair_;
766 int use_relocate_expensive_chain_;
767 int use_light_relocate_pair_;
768 int use_relocate_subtrip_;
769 int use_exchange_subtrip_;
770 int use_global_cheapest_insertion_path_lns_;
771 int use_local_cheapest_insertion_path_lns_;
772 int use_global_cheapest_insertion_expensive_chain_lns_;
773 int use_local_cheapest_insertion_expensive_chain_lns_;
774 int use_global_cheapest_insertion_close_nodes_lns_;
775 int use_local_cheapest_insertion_visit_types_lns_;
776 int use_local_cheapest_insertion_close_nodes_lns_;
777 int use_relocate_path_global_cheapest_insertion_insert_unperformed_;
778 int use_shortest_path_swap_active_;
779 int use_swap_active_chain_;
780 int use_shortest_path_two_opt_;
781 int use_exchange_and_make_active_;
782 int use_exchange_path_start_ends_and_make_active_;
783 int use_global_cheapest_insertion_visit_types_lns_;
784 PROTOBUF_TSAN_DECLARE_MEMBER
786 union { Impl_ _impl_; };
787 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
799#if defined(PROTOBUF_CUSTOM_VTABLE)
806 template <
typename =
void>
817 if (
this == &from)
return *
this;
818 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
826 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
827 ABSL_ATTRIBUTE_LIFETIME_BOUND {
828 return _internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
830 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
831 ABSL_ATTRIBUTE_LIFETIME_BOUND {
832 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
835 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
836 return GetDescriptor();
838 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
GetDescriptor() {
841 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL
GetReflection() {
848 static constexpr int kIndexInFileMessages = 1;
850 inline void Swap(RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL other) {
851 if (other ==
this)
return;
852 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
855 ::google::protobuf::internal::GenericSwap(
this, other);
858 void UnsafeArenaSwap(RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL other) {
859 if (other ==
this)
return;
860 ABSL_DCHECK(GetArena() == other->GetArena());
867 return ::google::protobuf::Message::DefaultConstruct<RoutingSearchParameters_ImprovementSearchLimitParameters>(arena);
869 using ::google::protobuf::Message::CopyFrom;
871 using ::google::protobuf::Message::MergeFrom;
875 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
876 const ::google::protobuf::MessageLite& from_msg);
882 ABSL_ATTRIBUTE_REINITIALIZES
void Clear() PROTOBUF_FINAL;
883 #if defined(PROTOBUF_CUSTOM_VTABLE)
885 static ::size_t
ByteSizeLong(const ::google::protobuf::MessageLite& msg);
887 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
888 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
892 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
893 ::uint8_t* PROTOBUF_NONNULL target,
894 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
895 return _InternalSerialize(*
this, target, stream);
898 ::size_t ByteSizeLong() const final;
899 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
900 ::uint8_t* PROTOBUF_NONNULL target,
901 ::
google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
903 int GetCachedSize()
const {
return _impl_._cached_size_.Get(); }
906 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
910 template <
typename T>
912 static ::absl::string_view FullMessageName() {
return "operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters"; }
919 *
this = ::std::move(from);
921 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
922 static
void* PROTOBUF_NONNULL PlacementNew_(
923 const
void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
924 ::
google::protobuf::Arena* PROTOBUF_NULLABLE arena);
925 static constexpr auto InternalNewImpl_();
928 static constexpr auto InternalGenerateClassData_();
930 ::
google::protobuf::Metadata GetMetadata() const;
935 kImprovementRateCoefficientFieldNumber = 38,
936 kImprovementRateSolutionsDistanceFieldNumber = 39,
944 double _internal_improvement_rate_coefficient()
const;
945 void _internal_set_improvement_rate_coefficient(
double value);
954 ::int32_t _internal_improvement_rate_solutions_distance()
const;
955 void _internal_set_improvement_rate_solutions_distance(::int32_t value);
961 friend class ::google::protobuf::internal::TcParser;
962 static const ::google::protobuf::internal::TcParseTable<1, 2,
967 friend class ::google::protobuf::MessageLite;
968 friend class ::google::protobuf::Arena;
969 template <
typename T>
970 friend class ::google::protobuf::Arena::InternalHelper;
971 using InternalArenaConstructable_ = void;
972 using DestructorSkippable_ = void;
974 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized)
noexcept;
975 inline explicit Impl_(
976 ::google::protobuf::internal::InternalVisibility visibility,
977 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
978 inline explicit Impl_(
979 ::google::protobuf::internal::InternalVisibility visibility,
980 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
982 ::google::protobuf::internal::HasBits<1> _has_bits_;
983 ::google::protobuf::internal::CachedSize _cached_size_;
984 double improvement_rate_coefficient_;
985 ::int32_t improvement_rate_solutions_distance_;
986 PROTOBUF_TSAN_DECLARE_MEMBER
988 union { Impl_ _impl_; };
989 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1001#if defined(PROTOBUF_CUSTOM_VTABLE)
1008 template <
typename =
void>
1012 inline RoutingModelParameters(RoutingModelParameters&& from) noexcept
1019 if (
this == &from)
return *
this;
1020 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1021 InternalSwap(&from);
1028 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1029 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1030 return _internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1033 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1034 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1037 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
descriptor() {
1040 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1043 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1053 if (other ==
this)
return;
1054 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1055 InternalSwap(other);
1057 ::google::protobuf::internal::GenericSwap(
this, other);
1060 void UnsafeArenaSwap(RoutingModelParameters* PROTOBUF_NONNULL other) {
1061 if (other ==
this)
return;
1062 ABSL_DCHECK(GetArena() == other->GetArena());
1063 InternalSwap(other);
1068 RoutingModelParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena =
nullptr)
const {
1069 return ::google::protobuf::Message::DefaultConstruct<RoutingModelParameters>(arena);
1071 using ::google::protobuf::Message::CopyFrom;
1073 using ::google::protobuf::Message::MergeFrom;
1077 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1078 const ::google::protobuf::MessageLite& from_msg);
1084 ABSL_ATTRIBUTE_REINITIALIZES
void Clear() PROTOBUF_FINAL;
1085 #if defined(PROTOBUF_CUSTOM_VTABLE)
1087 static ::size_t
ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1089 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1090 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1094 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1095 ::uint8_t* PROTOBUF_NONNULL target,
1096 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
1097 return _InternalSerialize(*
this, target, stream);
1100 ::size_t ByteSizeLong() const final;
1101 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1102 ::uint8_t* PROTOBUF_NONNULL target,
1103 ::
google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1105 int GetCachedSize()
const {
return _impl_._cached_size_.Get(); }
1108 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1112 template <
typename T>
1114 static ::absl::string_view FullMessageName() {
return "operations_research.RoutingModelParameters"; }
1121 *
this = ::std::move(from);
1123 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1124 static
void* PROTOBUF_NONNULL PlacementNew_(
1125 const
void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
1126 ::
google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1127 static constexpr auto InternalNewImpl_();
1130 static constexpr auto InternalGenerateClassData_();
1132 ::
google::protobuf::Metadata GetMetadata() const;
1137 kSolverParametersFieldNumber = 1,
1138 kReduceVehicleCostModelFieldNumber = 2,
1139 kMaxCallbackCacheSizeFieldNumber = 3,
1144 const ::operations_research::ConstraintSolverParameters&
solver_parameters()
const;
1152 const ::operations_research::ConstraintSolverParameters& _internal_solver_parameters()
const;
1162 bool _internal_reduce_vehicle_cost_model()
const;
1163 void _internal_set_reduce_vehicle_cost_model(
bool value);
1172 ::int32_t _internal_max_callback_cache_size()
const;
1173 void _internal_set_max_callback_cache_size(::int32_t value);
1179 friend class ::google::protobuf::internal::TcParser;
1180 static const ::google::protobuf::internal::TcParseTable<2, 3,
1185 friend class ::google::protobuf::MessageLite;
1186 friend class ::google::protobuf::Arena;
1187 template <
typename T>
1188 friend class ::google::protobuf::Arena::InternalHelper;
1189 using InternalArenaConstructable_ = void;
1190 using DestructorSkippable_ = void;
1192 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized)
noexcept;
1193 inline explicit Impl_(
1194 ::google::protobuf::internal::InternalVisibility visibility,
1195 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1196 inline explicit Impl_(
1197 ::google::protobuf::internal::InternalVisibility visibility,
1198 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
1200 ::google::protobuf::internal::HasBits<1> _has_bits_;
1201 ::google::protobuf::internal::CachedSize _cached_size_;
1203 bool reduce_vehicle_cost_model_;
1204 ::int32_t max_callback_cache_size_;
1205 PROTOBUF_TSAN_DECLARE_MEMBER
1207 union { Impl_ _impl_; };
1208 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1220#if defined(PROTOBUF_CUSTOM_VTABLE)
1227 template <
typename =
void>
1231 inline RoutingSearchParameters(RoutingSearchParameters&& from) noexcept
1232 : RoutingSearchParameters(
nullptr, ::std::move(from)) {}
1238 if (
this == &from)
return *
this;
1239 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1240 InternalSwap(&from);
1247 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1248 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1249 return _internal_metadata_.
unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1251 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1252 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1253 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1256 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
descriptor() {
1259 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1260 return default_instance().GetMetadata().descriptor;
1262 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1263 return default_instance().GetMetadata().reflection;
1269 static constexpr int kIndexInFileMessages = 2;
1272 if (other ==
this)
return;
1273 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1274 InternalSwap(other);
1276 ::google::protobuf::internal::GenericSwap(
this, other);
1279 void UnsafeArenaSwap(RoutingSearchParameters* PROTOBUF_NONNULL other) {
1280 if (other ==
this)
return;
1281 ABSL_DCHECK(GetArena() == other->GetArena());
1282 InternalSwap(other);
1288 return ::google::protobuf::Message::DefaultConstruct<RoutingSearchParameters>(arena);
1290 using ::google::protobuf::Message::CopyFrom;
1292 using ::google::protobuf::Message::MergeFrom;
1296 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1297 const ::google::protobuf::MessageLite& from_msg);
1303 ABSL_ATTRIBUTE_REINITIALIZES
void Clear() PROTOBUF_FINAL;
1304 #if defined(PROTOBUF_CUSTOM_VTABLE)
1306 static ::size_t
ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1308 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1309 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1313 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1314 ::uint8_t* PROTOBUF_NONNULL target,
1315 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream)
const {
1316 return _InternalSerialize(*
this, target, stream);
1319 ::size_t ByteSizeLong() const final;
1320 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1321 ::uint8_t* PROTOBUF_NONNULL target,
1322 ::
google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1324 int GetCachedSize()
const {
return _impl_._cached_size_.Get(); }
1327 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1328 static void SharedDtor(MessageLite& self);
1331 template <
typename T>
1333 static ::absl::string_view FullMessageName() {
return "operations_research.RoutingSearchParameters"; }
1340 *
this = ::std::move(from);
1342 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1343 static
void* PROTOBUF_NONNULL PlacementNew_(
1344 const
void* PROTOBUF_NONNULL,
void* PROTOBUF_NONNULL mem,
1345 ::
google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1346 static constexpr auto InternalNewImpl_();
1349 static constexpr auto InternalGenerateClassData_();
1351 ::
google::protobuf::Metadata GetMetadata() const;
1353 using LocalSearchNeighborhoodOperators = RoutingSearchParameters_LocalSearchNeighborhoodOperators;
1354 using ImprovementSearchLimitParameters = RoutingSearchParameters_ImprovementSearchLimitParameters;
1355 using SchedulingSolver = RoutingSearchParameters_SchedulingSolver;
1356 static constexpr SchedulingSolver SCHEDULING_UNSET = RoutingSearchParameters_SchedulingSolver_SCHEDULING_UNSET;
1357 static constexpr SchedulingSolver SCHEDULING_GLOP = RoutingSearchParameters_SchedulingSolver_SCHEDULING_GLOP;
1368 template <
typename T>
1372 static inline bool SchedulingSolver_Parse(
1373 ::absl::string_view name, SchedulingSolver* PROTOBUF_NONNULL value) {
1441 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& _internal_local_search_operators()
const;
1448 const ::google::protobuf::Duration&
time_limit()
const;
1456 const ::google::protobuf::Duration& _internal_time_limit()
const;
1457 ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_time_limit();
1471 const ::google::protobuf::Duration& _internal_lns_time_limit()
const;
1472 ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_lns_time_limit();
1486 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& _internal_improvement_limit_parameters()
const;
1501 const ::operations_research::GlobalCheapestInsertionParameters& _internal_global_cheapest_insertion_first_solution_parameters()
const;
1531 double _internal_guided_local_search_lambda_coefficient()
const;
1532 void _internal_set_guided_local_search_lambda_coefficient(
double value);
1541 double _internal_optimization_step()
const;
1542 void _internal_set_optimization_step(
double value);
1551 ::int64_t _internal_solution_limit()
const;
1552 void _internal_set_solution_limit(::int64_t value);
1561 bool _internal_use_unfiltered_first_solution_strategy()
const;
1562 void _internal_set_use_unfiltered_first_solution_strategy(
bool value);
1571 bool _internal_use_depth_first_search()
const;
1572 void _internal_set_use_depth_first_search(
bool value);
1581 bool _internal_use_full_propagation()
const;
1582 void _internal_set_use_full_propagation(
bool value);
1591 bool _internal_log_search()
const;
1592 void _internal_set_log_search(
bool value);
1601 ::int32_t _internal_number_of_solutions_to_collect()
const;
1602 void _internal_set_number_of_solutions_to_collect(::int32_t value);
1611 double _internal_log_cost_scaling_factor()
const;
1612 void _internal_set_log_cost_scaling_factor(
double value);
1621 ::int32_t _internal_relocate_expensive_chain_num_arcs_to_consider()
const;
1622 void _internal_set_relocate_expensive_chain_num_arcs_to_consider(::int32_t value);
1641 double _internal_log_cost_offset()
const;
1642 void _internal_set_log_cost_offset(
double value);
1661 ::int32_t _internal_heuristic_expensive_chain_lns_num_arcs_to_consider()
const;
1662 void _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(::int32_t value);
1681 ::int32_t _internal_heuristic_close_nodes_lns_num_nodes()
const;
1682 void _internal_set_heuristic_close_nodes_lns_num_nodes(::int32_t value);
1691 double _internal_multi_armed_bandit_compound_operator_memory_coefficient()
const;
1692 void _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(
double value);
1701 bool _internal_christofides_use_minimum_matching()
const;
1702 void _internal_set_christofides_use_minimum_matching(
bool value);
1711 bool _internal_use_multi_armed_bandit_concatenate_operators()
const;
1712 void _internal_set_use_multi_armed_bandit_concatenate_operators(
bool value);
1721 bool _internal_report_intermediate_cp_sat_solutions()
const;
1722 void _internal_set_report_intermediate_cp_sat_solutions(
bool value);
1738 int _internal_local_search_metaheuristics_size()
const;
1750 const ::google::protobuf::RepeatedField<int>& _internal_local_search_metaheuristics()
const;
1751 ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL _internal_mutable_local_search_metaheuristics();
1756 const ::std::string&
log_tag()
const;
1757 template <
typename Arg_ = const ::std::string&,
typename... Args_>
1764 const ::std::string& _internal_log_tag()
const;
1765 PROTOBUF_ALWAYS_INLINE
void _internal_set_log_tag(const ::std::string& value);
1766 ::std::string* PROTOBUF_NONNULL _internal_mutable_log_tag();
1772 const ::operations_research::sat::SatParameters&
sat_parameters()
const;
1780 const ::operations_research::sat::SatParameters& _internal_sat_parameters()
const;
1795 const ::operations_research::IteratedLocalSearchParameters& _internal_iterated_local_search_parameters()
const;
1810 const ::operations_research::LocalCheapestInsertionParameters& _internal_local_cheapest_insertion_parameters()
const;
1825 const ::operations_research::LocalCheapestInsertionParameters& _internal_local_cheapest_cost_insertion_parameters()
const;
1840 const ::operations_research::SavingsParameters& _internal_savings_parameters()
const;
1855 const ::operations_research::GlobalCheapestInsertionParameters& _internal_global_cheapest_insertion_ls_operator_parameters()
const;
1875 ::int32_t _internal_fallback_to_cp_sat_size_threshold()
const;
1876 void _internal_set_fallback_to_cp_sat_size_threshold(::int32_t value);
1885 double _internal_multi_armed_bandit_compound_operator_exploration_coefficient()
const;
1886 void _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(
double value);
1895 double _internal_ls_operator_neighbors_ratio()
const;
1896 void _internal_set_ls_operator_neighbors_ratio(
double value);
1905 ::int32_t _internal_ls_operator_min_neighbors()
const;
1906 void _internal_set_ls_operator_min_neighbors(::int32_t value);
1916 bool _internal_disable_scheduling_beware_this_may_degrade_performance()
const;
1917 void _internal_set_disable_scheduling_beware_this_may_degrade_performance(
bool value);
1926 bool _internal_guided_local_search_reset_penalties_on_new_best_solution()
const;
1927 void _internal_set_guided_local_search_reset_penalties_on_new_best_solution(
bool value);
1936 bool _internal_use_iterated_local_search()
const;
1937 void _internal_set_use_iterated_local_search(
bool value);
1946 bool _internal_guided_local_search_penalize_with_vehicle_classes()
const;
1947 void _internal_set_guided_local_search_penalize_with_vehicle_classes(
bool value);
1956 double _internal_secondary_ls_time_limit_ratio()
const;
1957 void _internal_set_secondary_ls_time_limit_ratio(
double value);
1966 ::int32_t _internal_first_solution_optimization_period()
const;
1967 void _internal_set_first_solution_optimization_period(::int32_t value);
1976 bool _internal_use_guided_local_search_penalties_in_local_search_operators()
const;
1977 void _internal_set_use_guided_local_search_penalties_in_local_search_operators(
bool value);
1986 ::int32_t _internal_num_max_local_optima_before_metaheuristic_switch()
const;
1987 void _internal_set_num_max_local_optima_before_metaheuristic_switch(::int32_t value);
1996 ::int32_t _internal_max_swap_active_chain_size()
const;
1997 void _internal_set_max_swap_active_chain_size(::int32_t value);
2003 friend class ::google::protobuf::internal::TcParser;
2004 static const ::google::protobuf::internal::TcParseTable<5, 50,
2009 friend class ::google::protobuf::MessageLite;
2010 friend class ::google::protobuf::Arena;
2011 template <
typename T>
2012 friend class ::google::protobuf::Arena::InternalHelper;
2013 using InternalArenaConstructable_ = void;
2014 using DestructorSkippable_ = void;
2016 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized)
noexcept;
2017 inline explicit Impl_(
2018 ::google::protobuf::internal::InternalVisibility visibility,
2019 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2020 inline explicit Impl_(
2021 ::google::protobuf::internal::InternalVisibility visibility,
2022 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
const Impl_& from,
2024 ::google::protobuf::internal::HasBits<2> _has_bits_;
2025 ::google::protobuf::internal::CachedSize _cached_size_;
2027 ::google::protobuf::Duration* PROTOBUF_NULLABLE time_limit_;
2028 ::google::protobuf::Duration* PROTOBUF_NULLABLE lns_time_limit_;
2031 int first_solution_strategy_;
2032 int local_search_metaheuristic_;
2033 double guided_local_search_lambda_coefficient_;
2034 double optimization_step_;
2035 ::int64_t solution_limit_;
2036 bool use_unfiltered_first_solution_strategy_;
2037 bool use_depth_first_search_;
2038 bool use_full_propagation_;
2040 ::int32_t number_of_solutions_to_collect_;
2041 double log_cost_scaling_factor_;
2042 ::int32_t relocate_expensive_chain_num_arcs_to_consider_;
2044 double log_cost_offset_;
2046 ::int32_t heuristic_expensive_chain_lns_num_arcs_to_consider_;
2047 int mixed_integer_scheduling_solver_;
2048 ::int32_t heuristic_close_nodes_lns_num_nodes_;
2049 double multi_armed_bandit_compound_operator_memory_coefficient_;
2050 bool christofides_use_minimum_matching_;
2051 bool use_multi_armed_bandit_concatenate_operators_;
2052 bool report_intermediate_cp_sat_solutions_;
2053 int use_generalized_cp_sat_;
2054 ::google::protobuf::RepeatedField<int> local_search_metaheuristics_;
2055 ::google::protobuf::internal::CachedSize _local_search_metaheuristics_cached_byte_size_;
2056 ::google::protobuf::internal::ArenaStringPtr log_tag_;
2063 int continuous_scheduling_solver_;
2064 ::int32_t fallback_to_cp_sat_size_threshold_;
2065 double multi_armed_bandit_compound_operator_exploration_coefficient_;
2066 double ls_operator_neighbors_ratio_;
2067 ::int32_t ls_operator_min_neighbors_;
2068 bool disable_scheduling_beware_this_may_degrade_performance_;
2069 bool guided_local_search_reset_penalties_on_new_best_solution_;
2070 bool use_iterated_local_search_;
2071 bool guided_local_search_penalize_with_vehicle_classes_;
2072 double secondary_ls_time_limit_ratio_;
2073 ::int32_t first_solution_optimization_period_;
2074 bool use_guided_local_search_penalties_in_local_search_operators_;
2075 ::int32_t num_max_local_optima_before_metaheuristic_switch_;
2076 ::int32_t max_swap_active_chain_size_;
2077 PROTOBUF_TSAN_DECLARE_MEMBER
2079 union { Impl_ _impl_; };
2080 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
2094#pragma GCC diagnostic push
2095#pragma GCC diagnostic ignored "-Wstrict-aliasing"
2103 ::google::protobuf::internal::TSanWrite(&
_impl_);
2104 _impl_.use_relocate_ = 0;
2105 ClearHasBit(
_impl_._has_bits_[0],
2110 return _internal_use_relocate();
2113 _internal_set_use_relocate(value);
2114 SetHasBit(
_impl_._has_bits_[0], 0x00000001U);
2117inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate()
const {
2118 ::google::protobuf::internal::TSanRead(&
_impl_);
2122 ::google::protobuf::internal::TSanWrite(&
_impl_);
2123 _impl_.use_relocate_ = value;
2128 ::google::protobuf::internal::TSanWrite(&
_impl_);
2129 _impl_.use_relocate_pair_ = 0;
2130 ClearHasBit(
_impl_._has_bits_[0],
2135 return _internal_use_relocate_pair();
2138 _internal_set_use_relocate_pair(value);
2139 SetHasBit(
_impl_._has_bits_[0], 0x00000002U);
2142inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_pair()
const {
2143 ::google::protobuf::internal::TSanRead(&
_impl_);
2147 ::google::protobuf::internal::TSanWrite(&
_impl_);
2148 _impl_.use_relocate_pair_ = value;
2153 ::google::protobuf::internal::TSanWrite(&
_impl_);
2154 _impl_.use_light_relocate_pair_ = 0;
2155 ClearHasBit(
_impl_._has_bits_[0],
2160 return _internal_use_light_relocate_pair();
2163 _internal_set_use_light_relocate_pair(value);
2164 SetHasBit(
_impl_._has_bits_[0], 0x00800000U);
2167inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_light_relocate_pair()
const {
2168 ::google::protobuf::internal::TSanRead(&
_impl_);
2172 ::google::protobuf::internal::TSanWrite(&
_impl_);
2173 _impl_.use_light_relocate_pair_ = value;
2178 ::google::protobuf::internal::TSanWrite(&
_impl_);
2179 _impl_.use_relocate_neighbors_ = 0;
2180 ClearHasBit(
_impl_._has_bits_[0],
2185 return _internal_use_relocate_neighbors();
2188 _internal_set_use_relocate_neighbors(value);
2189 SetHasBit(
_impl_._has_bits_[0], 0x00000004U);
2192inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_neighbors()
const {
2193 ::google::protobuf::internal::TSanRead(&
_impl_);
2197 ::google::protobuf::internal::TSanWrite(&
_impl_);
2198 _impl_.use_relocate_neighbors_ = value;
2203 ::google::protobuf::internal::TSanWrite(&
_impl_);
2204 _impl_.use_relocate_subtrip_ = 0;
2205 ClearHasBit(
_impl_._has_bits_[0],
2210 return _internal_use_relocate_subtrip();
2213 _internal_set_use_relocate_subtrip(value);
2214 SetHasBit(
_impl_._has_bits_[0], 0x01000000U);
2217inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_subtrip()
const {
2218 ::google::protobuf::internal::TSanRead(&
_impl_);
2222 ::google::protobuf::internal::TSanWrite(&
_impl_);
2223 _impl_.use_relocate_subtrip_ = value;
2228 ::google::protobuf::internal::TSanWrite(&
_impl_);
2229 _impl_.use_exchange_ = 0;
2230 ClearHasBit(
_impl_._has_bits_[0],
2235 return _internal_use_exchange();
2238 _internal_set_use_exchange(value);
2239 SetHasBit(
_impl_._has_bits_[0], 0x00000008U);
2242inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange()
const {
2243 ::google::protobuf::internal::TSanRead(&
_impl_);
2247 ::google::protobuf::internal::TSanWrite(&
_impl_);
2248 _impl_.use_exchange_ = value;
2253 ::google::protobuf::internal::TSanWrite(&
_impl_);
2254 _impl_.use_exchange_pair_ = 0;
2255 ClearHasBit(
_impl_._has_bits_[0],
2260 return _internal_use_exchange_pair();
2263 _internal_set_use_exchange_pair(value);
2264 SetHasBit(
_impl_._has_bits_[0], 0x00200000U);
2267inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_pair()
const {
2268 ::google::protobuf::internal::TSanRead(&
_impl_);
2272 ::google::protobuf::internal::TSanWrite(&
_impl_);
2273 _impl_.use_exchange_pair_ = value;
2278 ::google::protobuf::internal::TSanWrite(&
_impl_);
2279 _impl_.use_exchange_subtrip_ = 0;
2280 ClearHasBit(
_impl_._has_bits_[0],
2285 return _internal_use_exchange_subtrip();
2288 _internal_set_use_exchange_subtrip(value);
2289 SetHasBit(
_impl_._has_bits_[0], 0x02000000U);
2292inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_subtrip()
const {
2293 ::google::protobuf::internal::TSanRead(&
_impl_);
2297 ::google::protobuf::internal::TSanWrite(&
_impl_);
2298 _impl_.use_exchange_subtrip_ = value;
2303 ::google::protobuf::internal::TSanWrite(&
_impl_);
2305 ClearHasBit(
_impl_._has_bits_[0],
2310 return _internal_use_cross();
2313 _internal_set_use_cross(value);
2314 SetHasBit(
_impl_._has_bits_[0], 0x00000010U);
2317inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross()
const {
2318 ::google::protobuf::internal::TSanRead(&
_impl_);
2322 ::google::protobuf::internal::TSanWrite(&
_impl_);
2323 _impl_.use_cross_ = value;
2328 ::google::protobuf::internal::TSanWrite(&
_impl_);
2329 _impl_.use_cross_exchange_ = 0;
2330 ClearHasBit(
_impl_._has_bits_[0],
2335 return _internal_use_cross_exchange();
2338 _internal_set_use_cross_exchange(value);
2339 SetHasBit(
_impl_._has_bits_[0], 0x00000020U);
2342inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross_exchange()
const {
2343 ::google::protobuf::internal::TSanRead(&
_impl_);
2347 ::google::protobuf::internal::TSanWrite(&
_impl_);
2348 _impl_.use_cross_exchange_ = value;
2353 ::google::protobuf::internal::TSanWrite(&
_impl_);
2354 _impl_.use_relocate_expensive_chain_ = 0;
2355 ClearHasBit(
_impl_._has_bits_[0],
2360 return _internal_use_relocate_expensive_chain();
2363 _internal_set_use_relocate_expensive_chain(value);
2364 SetHasBit(
_impl_._has_bits_[0], 0x00400000U);
2367inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_expensive_chain()
const {
2368 ::google::protobuf::internal::TSanRead(&
_impl_);
2372 ::google::protobuf::internal::TSanWrite(&
_impl_);
2373 _impl_.use_relocate_expensive_chain_ = value;
2378 ::google::protobuf::internal::TSanWrite(&
_impl_);
2380 ClearHasBit(
_impl_._has_bits_[0],
2385 return _internal_use_two_opt();
2388 _internal_set_use_two_opt(value);
2389 SetHasBit(
_impl_._has_bits_[0], 0x00000040U);
2392inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_two_opt()
const {
2393 ::google::protobuf::internal::TSanRead(&
_impl_);
2397 ::google::protobuf::internal::TSanWrite(&
_impl_);
2398 _impl_.use_two_opt_ = value;
2403 ::google::protobuf::internal::TSanWrite(&
_impl_);
2405 ClearHasBit(
_impl_._has_bits_[0],
2410 return _internal_use_or_opt();
2413 _internal_set_use_or_opt(value);
2414 SetHasBit(
_impl_._has_bits_[0], 0x00000080U);
2417inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_or_opt()
const {
2418 ::google::protobuf::internal::TSanRead(&
_impl_);
2422 ::google::protobuf::internal::TSanWrite(&
_impl_);
2423 _impl_.use_or_opt_ = value;
2428 ::google::protobuf::internal::TSanWrite(&
_impl_);
2429 _impl_.use_lin_kernighan_ = 0;
2430 ClearHasBit(
_impl_._has_bits_[0],
2435 return _internal_use_lin_kernighan();
2438 _internal_set_use_lin_kernighan(value);
2439 SetHasBit(
_impl_._has_bits_[0], 0x00000100U);
2442inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_lin_kernighan()
const {
2443 ::google::protobuf::internal::TSanRead(&
_impl_);
2447 ::google::protobuf::internal::TSanWrite(&
_impl_);
2448 _impl_.use_lin_kernighan_ = value;
2453 ::google::protobuf::internal::TSanWrite(&
_impl_);
2455 ClearHasBit(
_impl_._has_bits_[0],
2460 return _internal_use_tsp_opt();
2463 _internal_set_use_tsp_opt(value);
2464 SetHasBit(
_impl_._has_bits_[0], 0x00000200U);
2467inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_opt()
const {
2468 ::google::protobuf::internal::TSanRead(&
_impl_);
2472 ::google::protobuf::internal::TSanWrite(&
_impl_);
2473 _impl_.use_tsp_opt_ = value;
2478 ::google::protobuf::internal::TSanWrite(&
_impl_);
2479 _impl_.use_make_active_ = 0;
2480 ClearHasBit(
_impl_._has_bits_[0],
2485 return _internal_use_make_active();
2488 _internal_set_use_make_active(value);
2489 SetHasBit(
_impl_._has_bits_[0], 0x00000400U);
2492inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_active()
const {
2493 ::google::protobuf::internal::TSanRead(&
_impl_);
2497 ::google::protobuf::internal::TSanWrite(&
_impl_);
2498 _impl_.use_make_active_ = value;
2503 ::google::protobuf::internal::TSanWrite(&
_impl_);
2504 _impl_.use_relocate_and_make_active_ = 0;
2505 ClearHasBit(
_impl_._has_bits_[0],
2510 return _internal_use_relocate_and_make_active();
2513 _internal_set_use_relocate_and_make_active(value);
2514 SetHasBit(
_impl_._has_bits_[0], 0x00100000U);
2517inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_and_make_active()
const {
2518 ::google::protobuf::internal::TSanRead(&
_impl_);
2522 ::google::protobuf::internal::TSanWrite(&
_impl_);
2523 _impl_.use_relocate_and_make_active_ = value;
2528 ::google::protobuf::internal::TSanWrite(&
_impl_);
2529 _impl_.use_exchange_and_make_active_ = 0;
2530 ClearHasBit(
_impl_._has_bits_[1],
2535 return _internal_use_exchange_and_make_active();
2538 _internal_set_use_exchange_and_make_active(value);
2539 SetHasBit(
_impl_._has_bits_[1], 0x00000020U);
2542inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_and_make_active()
const {
2543 ::google::protobuf::internal::TSanRead(&
_impl_);
2547 ::google::protobuf::internal::TSanWrite(&
_impl_);
2548 _impl_.use_exchange_and_make_active_ = value;
2553 ::google::protobuf::internal::TSanWrite(&
_impl_);
2554 _impl_.use_exchange_path_start_ends_and_make_active_ = 0;
2555 ClearHasBit(
_impl_._has_bits_[1],
2560 return _internal_use_exchange_path_start_ends_and_make_active();
2563 _internal_set_use_exchange_path_start_ends_and_make_active(value);
2564 SetHasBit(
_impl_._has_bits_[1], 0x00000040U);
2567inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_path_start_ends_and_make_active()
const {
2568 ::google::protobuf::internal::TSanRead(&
_impl_);
2572 ::google::protobuf::internal::TSanWrite(&
_impl_);
2573 _impl_.use_exchange_path_start_ends_and_make_active_ = value;
2578 ::google::protobuf::internal::TSanWrite(&
_impl_);
2579 _impl_.use_make_inactive_ = 0;
2580 ClearHasBit(
_impl_._has_bits_[0],
2585 return _internal_use_make_inactive();
2588 _internal_set_use_make_inactive(value);
2589 SetHasBit(
_impl_._has_bits_[0], 0x00000800U);
2592inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_inactive()
const {
2593 ::google::protobuf::internal::TSanRead(&
_impl_);
2597 ::google::protobuf::internal::TSanWrite(&
_impl_);
2598 _impl_.use_make_inactive_ = value;
2603 ::google::protobuf::internal::TSanWrite(&
_impl_);
2604 _impl_.use_make_chain_inactive_ = 0;
2605 ClearHasBit(
_impl_._has_bits_[0],
2610 return _internal_use_make_chain_inactive();
2613 _internal_set_use_make_chain_inactive(value);
2614 SetHasBit(
_impl_._has_bits_[0], 0x00001000U);
2617inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_chain_inactive()
const {
2618 ::google::protobuf::internal::TSanRead(&
_impl_);
2622 ::google::protobuf::internal::TSanWrite(&
_impl_);
2623 _impl_.use_make_chain_inactive_ = value;
2628 ::google::protobuf::internal::TSanWrite(&
_impl_);
2629 _impl_.use_swap_active_ = 0;
2630 ClearHasBit(
_impl_._has_bits_[0],
2635 return _internal_use_swap_active();
2638 _internal_set_use_swap_active(value);
2639 SetHasBit(
_impl_._has_bits_[0], 0x00002000U);
2642inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_swap_active()
const {
2643 ::google::protobuf::internal::TSanRead(&
_impl_);
2647 ::google::protobuf::internal::TSanWrite(&
_impl_);
2648 _impl_.use_swap_active_ = value;
2653 ::google::protobuf::internal::TSanWrite(&
_impl_);
2654 _impl_.use_swap_active_chain_ = 0;
2655 ClearHasBit(
_impl_._has_bits_[1],
2660 return _internal_use_swap_active_chain();
2663 _internal_set_use_swap_active_chain(value);
2664 SetHasBit(
_impl_._has_bits_[1], 0x00000008U);
2667inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_swap_active_chain()
const {
2668 ::google::protobuf::internal::TSanRead(&
_impl_);
2672 ::google::protobuf::internal::TSanWrite(&
_impl_);
2673 _impl_.use_swap_active_chain_ = value;
2678 ::google::protobuf::internal::TSanWrite(&
_impl_);
2679 _impl_.use_extended_swap_active_ = 0;
2680 ClearHasBit(
_impl_._has_bits_[0],
2685 return _internal_use_extended_swap_active();
2688 _internal_set_use_extended_swap_active(value);
2689 SetHasBit(
_impl_._has_bits_[0], 0x00004000U);
2692inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_extended_swap_active()
const {
2693 ::google::protobuf::internal::TSanRead(&
_impl_);
2697 ::google::protobuf::internal::TSanWrite(&
_impl_);
2698 _impl_.use_extended_swap_active_ = value;
2703 ::google::protobuf::internal::TSanWrite(&
_impl_);
2704 _impl_.use_shortest_path_swap_active_ = 0;
2705 ClearHasBit(
_impl_._has_bits_[1],
2710 return _internal_use_shortest_path_swap_active();
2713 _internal_set_use_shortest_path_swap_active(value);
2714 SetHasBit(
_impl_._has_bits_[1], 0x00000004U);
2717inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_shortest_path_swap_active()
const {
2718 ::google::protobuf::internal::TSanRead(&
_impl_);
2722 ::google::protobuf::internal::TSanWrite(&
_impl_);
2723 _impl_.use_shortest_path_swap_active_ = value;
2728 ::google::protobuf::internal::TSanWrite(&
_impl_);
2729 _impl_.use_shortest_path_two_opt_ = 0;
2730 ClearHasBit(
_impl_._has_bits_[1],
2735 return _internal_use_shortest_path_two_opt();
2738 _internal_set_use_shortest_path_two_opt(value);
2739 SetHasBit(
_impl_._has_bits_[1], 0x00000010U);
2742inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_shortest_path_two_opt()
const {
2743 ::google::protobuf::internal::TSanRead(&
_impl_);
2747 ::google::protobuf::internal::TSanWrite(&
_impl_);
2748 _impl_.use_shortest_path_two_opt_ = value;
2753 ::google::protobuf::internal::TSanWrite(&
_impl_);
2754 _impl_.use_node_pair_swap_active_ = 0;
2755 ClearHasBit(
_impl_._has_bits_[0],
2760 return _internal_use_node_pair_swap_active();
2763 _internal_set_use_node_pair_swap_active(value);
2764 SetHasBit(
_impl_._has_bits_[0], 0x00080000U);
2767inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_node_pair_swap_active()
const {
2768 ::google::protobuf::internal::TSanRead(&
_impl_);
2772 ::google::protobuf::internal::TSanWrite(&
_impl_);
2773 _impl_.use_node_pair_swap_active_ = value;
2778 ::google::protobuf::internal::TSanWrite(&
_impl_);
2779 _impl_.use_path_lns_ = 0;
2780 ClearHasBit(
_impl_._has_bits_[0],
2785 return _internal_use_path_lns();
2788 _internal_set_use_path_lns(value);
2789 SetHasBit(
_impl_._has_bits_[0], 0x00008000U);
2792inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_path_lns()
const {
2793 ::google::protobuf::internal::TSanRead(&
_impl_);
2797 ::google::protobuf::internal::TSanWrite(&
_impl_);
2798 _impl_.use_path_lns_ = value;
2803 ::google::protobuf::internal::TSanWrite(&
_impl_);
2804 _impl_.use_full_path_lns_ = 0;
2805 ClearHasBit(
_impl_._has_bits_[0],
2810 return _internal_use_full_path_lns();
2813 _internal_set_use_full_path_lns(value);
2814 SetHasBit(
_impl_._has_bits_[0], 0x00010000U);
2817inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_full_path_lns()
const {
2818 ::google::protobuf::internal::TSanRead(&
_impl_);
2822 ::google::protobuf::internal::TSanWrite(&
_impl_);
2823 _impl_.use_full_path_lns_ = value;
2828 ::google::protobuf::internal::TSanWrite(&
_impl_);
2830 ClearHasBit(
_impl_._has_bits_[0],
2835 return _internal_use_tsp_lns();
2838 _internal_set_use_tsp_lns(value);
2839 SetHasBit(
_impl_._has_bits_[0], 0x00020000U);
2842inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_lns()
const {
2843 ::google::protobuf::internal::TSanRead(&
_impl_);
2847 ::google::protobuf::internal::TSanWrite(&
_impl_);
2848 _impl_.use_tsp_lns_ = value;
2853 ::google::protobuf::internal::TSanWrite(&
_impl_);
2854 _impl_.use_inactive_lns_ = 0;
2855 ClearHasBit(
_impl_._has_bits_[0],
2860 return _internal_use_inactive_lns();
2863 _internal_set_use_inactive_lns(value);
2864 SetHasBit(
_impl_._has_bits_[0], 0x00040000U);
2867inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_inactive_lns()
const {
2868 ::google::protobuf::internal::TSanRead(&
_impl_);
2872 ::google::protobuf::internal::TSanWrite(&
_impl_);
2873 _impl_.use_inactive_lns_ = value;
2878 ::google::protobuf::internal::TSanWrite(&
_impl_);
2879 _impl_.use_global_cheapest_insertion_path_lns_ = 0;
2880 ClearHasBit(
_impl_._has_bits_[0],
2885 return _internal_use_global_cheapest_insertion_path_lns();
2888 _internal_set_use_global_cheapest_insertion_path_lns(value);
2889 SetHasBit(
_impl_._has_bits_[0], 0x04000000U);
2892inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_path_lns()
const {
2893 ::google::protobuf::internal::TSanRead(&
_impl_);
2897 ::google::protobuf::internal::TSanWrite(&
_impl_);
2898 _impl_.use_global_cheapest_insertion_path_lns_ = value;
2903 ::google::protobuf::internal::TSanWrite(&
_impl_);
2904 _impl_.use_local_cheapest_insertion_path_lns_ = 0;
2905 ClearHasBit(
_impl_._has_bits_[0],
2910 return _internal_use_local_cheapest_insertion_path_lns();
2913 _internal_set_use_local_cheapest_insertion_path_lns(value);
2914 SetHasBit(
_impl_._has_bits_[0], 0x08000000U);
2917inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_path_lns()
const {
2918 ::google::protobuf::internal::TSanRead(&
_impl_);
2922 ::google::protobuf::internal::TSanWrite(&
_impl_);
2923 _impl_.use_local_cheapest_insertion_path_lns_ = value;
2928 ::google::protobuf::internal::TSanWrite(&
_impl_);
2929 _impl_.use_relocate_path_global_cheapest_insertion_insert_unperformed_ = 0;
2930 ClearHasBit(
_impl_._has_bits_[1],
2935 return _internal_use_relocate_path_global_cheapest_insertion_insert_unperformed();
2938 _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(value);
2939 SetHasBit(
_impl_._has_bits_[1], 0x00000002U);
2942inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_path_global_cheapest_insertion_insert_unperformed()
const {
2943 ::google::protobuf::internal::TSanRead(&
_impl_);
2946inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(
::operations_research::OptionalBoolean value) {
2947 ::google::protobuf::internal::TSanWrite(&
_impl_);
2948 _impl_.use_relocate_path_global_cheapest_insertion_insert_unperformed_ = value;
2953 ::google::protobuf::internal::TSanWrite(&
_impl_);
2954 _impl_.use_global_cheapest_insertion_expensive_chain_lns_ = 0;
2955 ClearHasBit(
_impl_._has_bits_[0],
2960 return _internal_use_global_cheapest_insertion_expensive_chain_lns();
2963 _internal_set_use_global_cheapest_insertion_expensive_chain_lns(value);
2964 SetHasBit(
_impl_._has_bits_[0], 0x10000000U);
2967inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_expensive_chain_lns()
const {
2968 ::google::protobuf::internal::TSanRead(&
_impl_);
2972 ::google::protobuf::internal::TSanWrite(&
_impl_);
2973 _impl_.use_global_cheapest_insertion_expensive_chain_lns_ = value;
2978 ::google::protobuf::internal::TSanWrite(&
_impl_);
2979 _impl_.use_local_cheapest_insertion_expensive_chain_lns_ = 0;
2980 ClearHasBit(
_impl_._has_bits_[0],
2985 return _internal_use_local_cheapest_insertion_expensive_chain_lns();
2988 _internal_set_use_local_cheapest_insertion_expensive_chain_lns(value);
2989 SetHasBit(
_impl_._has_bits_[0], 0x20000000U);
2992inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_expensive_chain_lns()
const {
2993 ::google::protobuf::internal::TSanRead(&
_impl_);
2997 ::google::protobuf::internal::TSanWrite(&
_impl_);
2998 _impl_.use_local_cheapest_insertion_expensive_chain_lns_ = value;
3003 ::google::protobuf::internal::TSanWrite(&
_impl_);
3004 _impl_.use_global_cheapest_insertion_close_nodes_lns_ = 0;
3005 ClearHasBit(
_impl_._has_bits_[0],
3010 return _internal_use_global_cheapest_insertion_close_nodes_lns();
3013 _internal_set_use_global_cheapest_insertion_close_nodes_lns(value);
3014 SetHasBit(
_impl_._has_bits_[0], 0x40000000U);
3017inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_close_nodes_lns()
const {
3018 ::google::protobuf::internal::TSanRead(&
_impl_);
3022 ::google::protobuf::internal::TSanWrite(&
_impl_);
3023 _impl_.use_global_cheapest_insertion_close_nodes_lns_ = value;
3028 ::google::protobuf::internal::TSanWrite(&
_impl_);
3029 _impl_.use_local_cheapest_insertion_close_nodes_lns_ = 0;
3030 ClearHasBit(
_impl_._has_bits_[1],
3035 return _internal_use_local_cheapest_insertion_close_nodes_lns();
3038 _internal_set_use_local_cheapest_insertion_close_nodes_lns(value);
3039 SetHasBit(
_impl_._has_bits_[1], 0x00000001U);
3042inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_close_nodes_lns()
const {
3043 ::google::protobuf::internal::TSanRead(&
_impl_);
3047 ::google::protobuf::internal::TSanWrite(&
_impl_);
3048 _impl_.use_local_cheapest_insertion_close_nodes_lns_ = value;
3053 ::google::protobuf::internal::TSanWrite(&
_impl_);
3054 _impl_.use_global_cheapest_insertion_visit_types_lns_ = 0;
3055 ClearHasBit(
_impl_._has_bits_[1],
3060 return _internal_use_global_cheapest_insertion_visit_types_lns();
3063 _internal_set_use_global_cheapest_insertion_visit_types_lns(value);
3064 SetHasBit(
_impl_._has_bits_[1], 0x00000080U);
3067inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_visit_types_lns()
const {
3068 ::google::protobuf::internal::TSanRead(&
_impl_);
3072 ::google::protobuf::internal::TSanWrite(&
_impl_);
3073 _impl_.use_global_cheapest_insertion_visit_types_lns_ = value;
3078 ::google::protobuf::internal::TSanWrite(&
_impl_);
3079 _impl_.use_local_cheapest_insertion_visit_types_lns_ = 0;
3080 ClearHasBit(
_impl_._has_bits_[0],
3085 return _internal_use_local_cheapest_insertion_visit_types_lns();
3088 _internal_set_use_local_cheapest_insertion_visit_types_lns(value);
3089 SetHasBit(
_impl_._has_bits_[0], 0x80000000U);
3092inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_visit_types_lns()
const {
3093 ::google::protobuf::internal::TSanRead(&
_impl_);
3097 ::google::protobuf::internal::TSanWrite(&
_impl_);
3098 _impl_.use_local_cheapest_insertion_visit_types_lns_ = value;
3107 ::google::protobuf::internal::TSanWrite(&
_impl_);
3108 _impl_.improvement_rate_coefficient_ = 0;
3109 ClearHasBit(
_impl_._has_bits_[0],
3114 return _internal_improvement_rate_coefficient();
3117 _internal_set_improvement_rate_coefficient(value);
3118 SetHasBit(
_impl_._has_bits_[0], 0x00000001U);
3121inline double RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_improvement_rate_coefficient()
const {
3122 ::google::protobuf::internal::TSanRead(&
_impl_);
3123 return _impl_.improvement_rate_coefficient_;
3125inline void RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_set_improvement_rate_coefficient(
double value) {
3126 ::google::protobuf::internal::TSanWrite(&
_impl_);
3127 _impl_.improvement_rate_coefficient_ = value;
3132 ::google::protobuf::internal::TSanWrite(&
_impl_);
3133 _impl_.improvement_rate_solutions_distance_ = 0;
3134 ClearHasBit(
_impl_._has_bits_[0],
3139 return _internal_improvement_rate_solutions_distance();
3142 _internal_set_improvement_rate_solutions_distance(value);
3143 SetHasBit(
_impl_._has_bits_[0], 0x00000002U);
3146inline ::int32_t RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_improvement_rate_solutions_distance()
const {
3147 ::google::protobuf::internal::TSanRead(&
_impl_);
3148 return _impl_.improvement_rate_solutions_distance_;
3150inline void RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_set_improvement_rate_solutions_distance(::int32_t value) {
3151 ::google::protobuf::internal::TSanWrite(&
_impl_);
3152 _impl_.improvement_rate_solutions_distance_ = value;
3161 ::google::protobuf::internal::TSanWrite(&
_impl_);
3162 _impl_.first_solution_strategy_ = 0;
3163 ClearHasBit(
_impl_._has_bits_[0],
3168 return _internal_first_solution_strategy();
3171 _internal_set_first_solution_strategy(value);
3172 SetHasBit(
_impl_._has_bits_[0], 0x00000020U);
3175inline ::operations_research::FirstSolutionStrategy_Value RoutingSearchParameters::_internal_first_solution_strategy()
const {
3176 ::google::protobuf::internal::TSanRead(&
_impl_);
3180 ::google::protobuf::internal::TSanWrite(&
_impl_);
3181 _impl_.first_solution_strategy_ = value;
3186 ::google::protobuf::internal::TSanWrite(&
_impl_);
3187 _impl_.use_unfiltered_first_solution_strategy_ =
false;
3188 ClearHasBit(
_impl_._has_bits_[0],
3193 return _internal_use_unfiltered_first_solution_strategy();
3196 _internal_set_use_unfiltered_first_solution_strategy(value);
3197 SetHasBit(
_impl_._has_bits_[0], 0x00000400U);
3200inline bool RoutingSearchParameters::_internal_use_unfiltered_first_solution_strategy()
const {
3201 ::google::protobuf::internal::TSanRead(&
_impl_);
3202 return _impl_.use_unfiltered_first_solution_strategy_;
3204inline void RoutingSearchParameters::_internal_set_use_unfiltered_first_solution_strategy(
bool value) {
3205 ::google::protobuf::internal::TSanWrite(&
_impl_);
3206 _impl_.use_unfiltered_first_solution_strategy_ = value;
3211 bool value = CheckHasBit(
_impl_._has_bits_[1], 0x00000004U);
3212 PROTOBUF_ASSUME(!value ||
_impl_.savings_parameters_ !=
nullptr);
3215inline const ::operations_research::SavingsParameters& RoutingSearchParameters::_internal_savings_parameters()
const {
3216 ::google::protobuf::internal::TSanRead(&
_impl_);
3217 const ::operations_research::SavingsParameters* p =
_impl_.savings_parameters_;
3222 return _internal_savings_parameters();
3226 ::google::protobuf::internal::TSanWrite(&
_impl_);
3227 if (GetArena() ==
nullptr) {
3228 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.savings_parameters_);
3231 if (value !=
nullptr) {
3232 SetHasBit(
_impl_._has_bits_[1], 0x00000004U);
3234 ClearHasBit(
_impl_._has_bits_[1], 0x00000004U);
3239 ::google::protobuf::internal::TSanWrite(&
_impl_);
3241 ClearHasBit(
_impl_._has_bits_[1], 0x00000004U);
3243 _impl_.savings_parameters_ =
nullptr;
3244 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3245 auto* old =
reinterpret_cast<::google::protobuf::MessageLite*
>(released);
3246 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3247 if (GetArena() ==
nullptr) {
3251 if (GetArena() !=
nullptr) {
3252 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3258 ::google::protobuf::internal::TSanWrite(&
_impl_);
3261 ClearHasBit(
_impl_._has_bits_[1], 0x00000004U);
3262 ::operations_research::SavingsParameters* temp =
_impl_.savings_parameters_;
3263 _impl_.savings_parameters_ =
nullptr;
3266inline ::operations_research::SavingsParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_savings_parameters() {
3267 ::google::protobuf::internal::TSanWrite(&
_impl_);
3268 if (
_impl_.savings_parameters_ ==
nullptr) {
3269 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::SavingsParameters>(GetArena());
3272 return _impl_.savings_parameters_;
3275 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3276 SetHasBit(
_impl_._has_bits_[1], 0x00000004U);
3283 ::google::protobuf::internal::TSanWrite(&
_impl_);
3284 if (message_arena ==
nullptr) {
3285 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.savings_parameters_);
3288 if (value !=
nullptr) {
3289 ::google::protobuf::Arena* submessage_arena =
reinterpret_cast<::google::protobuf::Message*
>(value)->GetArena();
3290 if (message_arena != submessage_arena) {
3291 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3293 SetHasBit(
_impl_._has_bits_[1], 0x00000004U);
3295 ClearHasBit(
_impl_._has_bits_[1], 0x00000004U);
3298 _impl_.savings_parameters_ =
reinterpret_cast<::operations_research::SavingsParameters*
>(value);
3304 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000010U);
3305 PROTOBUF_ASSUME(!value ||
_impl_.global_cheapest_insertion_first_solution_parameters_ !=
nullptr);
3308inline const ::operations_research::GlobalCheapestInsertionParameters& RoutingSearchParameters::_internal_global_cheapest_insertion_first_solution_parameters()
const {
3309 ::google::protobuf::internal::TSanRead(&
_impl_);
3310 const ::operations_research::GlobalCheapestInsertionParameters* p =
_impl_.global_cheapest_insertion_first_solution_parameters_;
3315 return _internal_global_cheapest_insertion_first_solution_parameters();
3319 ::google::protobuf::internal::TSanWrite(&
_impl_);
3320 if (GetArena() ==
nullptr) {
3321 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.global_cheapest_insertion_first_solution_parameters_);
3324 if (value !=
nullptr) {
3325 SetHasBit(
_impl_._has_bits_[0], 0x00000010U);
3327 ClearHasBit(
_impl_._has_bits_[0], 0x00000010U);
3332 ::google::protobuf::internal::TSanWrite(&
_impl_);
3334 ClearHasBit(
_impl_._has_bits_[0], 0x00000010U);
3336 _impl_.global_cheapest_insertion_first_solution_parameters_ =
nullptr;
3337 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3338 auto* old =
reinterpret_cast<::google::protobuf::MessageLite*
>(released);
3339 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3340 if (GetArena() ==
nullptr) {
3344 if (GetArena() !=
nullptr) {
3345 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3351 ::google::protobuf::internal::TSanWrite(&
_impl_);
3354 ClearHasBit(
_impl_._has_bits_[0], 0x00000010U);
3355 ::operations_research::GlobalCheapestInsertionParameters* temp =
_impl_.global_cheapest_insertion_first_solution_parameters_;
3356 _impl_.global_cheapest_insertion_first_solution_parameters_ =
nullptr;
3359inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_global_cheapest_insertion_first_solution_parameters() {
3360 ::google::protobuf::internal::TSanWrite(&
_impl_);
3361 if (
_impl_.global_cheapest_insertion_first_solution_parameters_ ==
nullptr) {
3362 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::GlobalCheapestInsertionParameters>(GetArena());
3365 return _impl_.global_cheapest_insertion_first_solution_parameters_;
3368 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3369 SetHasBit(
_impl_._has_bits_[0], 0x00000010U);
3376 ::google::protobuf::internal::TSanWrite(&
_impl_);
3377 if (message_arena ==
nullptr) {
3378 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.global_cheapest_insertion_first_solution_parameters_);
3381 if (value !=
nullptr) {
3382 ::google::protobuf::Arena* submessage_arena =
reinterpret_cast<::google::protobuf::Message*
>(value)->GetArena();
3383 if (message_arena != submessage_arena) {
3384 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3386 SetHasBit(
_impl_._has_bits_[0], 0x00000010U);
3388 ClearHasBit(
_impl_._has_bits_[0], 0x00000010U);
3391 _impl_.global_cheapest_insertion_first_solution_parameters_ =
reinterpret_cast<::operations_research::GlobalCheapestInsertionParameters*
>(value);
3397 bool value = CheckHasBit(
_impl_._has_bits_[1], 0x00000008U);
3398 PROTOBUF_ASSUME(!value ||
_impl_.global_cheapest_insertion_ls_operator_parameters_ !=
nullptr);
3401inline const ::operations_research::GlobalCheapestInsertionParameters& RoutingSearchParameters::_internal_global_cheapest_insertion_ls_operator_parameters()
const {
3402 ::google::protobuf::internal::TSanRead(&
_impl_);
3403 const ::operations_research::GlobalCheapestInsertionParameters* p =
_impl_.global_cheapest_insertion_ls_operator_parameters_;
3408 return _internal_global_cheapest_insertion_ls_operator_parameters();
3412 ::google::protobuf::internal::TSanWrite(&
_impl_);
3413 if (GetArena() ==
nullptr) {
3414 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.global_cheapest_insertion_ls_operator_parameters_);
3417 if (value !=
nullptr) {
3418 SetHasBit(
_impl_._has_bits_[1], 0x00000008U);
3420 ClearHasBit(
_impl_._has_bits_[1], 0x00000008U);
3425 ::google::protobuf::internal::TSanWrite(&
_impl_);
3427 ClearHasBit(
_impl_._has_bits_[1], 0x00000008U);
3429 _impl_.global_cheapest_insertion_ls_operator_parameters_ =
nullptr;
3430 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3431 auto* old =
reinterpret_cast<::google::protobuf::MessageLite*
>(released);
3432 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3433 if (GetArena() ==
nullptr) {
3437 if (GetArena() !=
nullptr) {
3438 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3444 ::google::protobuf::internal::TSanWrite(&
_impl_);
3447 ClearHasBit(
_impl_._has_bits_[1], 0x00000008U);
3448 ::operations_research::GlobalCheapestInsertionParameters* temp =
_impl_.global_cheapest_insertion_ls_operator_parameters_;
3449 _impl_.global_cheapest_insertion_ls_operator_parameters_ =
nullptr;
3452inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_global_cheapest_insertion_ls_operator_parameters() {
3453 ::google::protobuf::internal::TSanWrite(&
_impl_);
3454 if (
_impl_.global_cheapest_insertion_ls_operator_parameters_ ==
nullptr) {
3455 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::GlobalCheapestInsertionParameters>(GetArena());
3458 return _impl_.global_cheapest_insertion_ls_operator_parameters_;
3461 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3462 SetHasBit(
_impl_._has_bits_[1], 0x00000008U);
3469 ::google::protobuf::internal::TSanWrite(&
_impl_);
3470 if (message_arena ==
nullptr) {
3471 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.global_cheapest_insertion_ls_operator_parameters_);
3474 if (value !=
nullptr) {
3475 ::google::protobuf::Arena* submessage_arena =
reinterpret_cast<::google::protobuf::Message*
>(value)->GetArena();
3476 if (message_arena != submessage_arena) {
3477 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3479 SetHasBit(
_impl_._has_bits_[1], 0x00000008U);
3481 ClearHasBit(
_impl_._has_bits_[1], 0x00000008U);
3484 _impl_.global_cheapest_insertion_ls_operator_parameters_ =
reinterpret_cast<::operations_research::GlobalCheapestInsertionParameters*
>(value);
3490 bool value = CheckHasBit(
_impl_._has_bits_[1], 0x00000001U);
3491 PROTOBUF_ASSUME(!value ||
_impl_.local_cheapest_insertion_parameters_ !=
nullptr);
3494inline const ::operations_research::LocalCheapestInsertionParameters& RoutingSearchParameters::_internal_local_cheapest_insertion_parameters()
const {
3495 ::google::protobuf::internal::TSanRead(&
_impl_);
3496 const ::operations_research::LocalCheapestInsertionParameters* p =
_impl_.local_cheapest_insertion_parameters_;
3501 return _internal_local_cheapest_insertion_parameters();
3505 ::google::protobuf::internal::TSanWrite(&
_impl_);
3506 if (GetArena() ==
nullptr) {
3507 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.local_cheapest_insertion_parameters_);
3510 if (value !=
nullptr) {
3511 SetHasBit(
_impl_._has_bits_[1], 0x00000001U);
3513 ClearHasBit(
_impl_._has_bits_[1], 0x00000001U);
3518 ::google::protobuf::internal::TSanWrite(&
_impl_);
3520 ClearHasBit(
_impl_._has_bits_[1], 0x00000001U);
3522 _impl_.local_cheapest_insertion_parameters_ =
nullptr;
3523 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3524 auto* old =
reinterpret_cast<::google::protobuf::MessageLite*
>(released);
3525 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3526 if (GetArena() ==
nullptr) {
3530 if (GetArena() !=
nullptr) {
3531 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3537 ::google::protobuf::internal::TSanWrite(&
_impl_);
3540 ClearHasBit(
_impl_._has_bits_[1], 0x00000001U);
3541 ::operations_research::LocalCheapestInsertionParameters* temp =
_impl_.local_cheapest_insertion_parameters_;
3542 _impl_.local_cheapest_insertion_parameters_ =
nullptr;
3545inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_local_cheapest_insertion_parameters() {
3546 ::google::protobuf::internal::TSanWrite(&
_impl_);
3547 if (
_impl_.local_cheapest_insertion_parameters_ ==
nullptr) {
3548 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::LocalCheapestInsertionParameters>(GetArena());
3551 return _impl_.local_cheapest_insertion_parameters_;
3554 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3555 SetHasBit(
_impl_._has_bits_[1], 0x00000001U);
3562 ::google::protobuf::internal::TSanWrite(&
_impl_);
3563 if (message_arena ==
nullptr) {
3564 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.local_cheapest_insertion_parameters_);
3567 if (value !=
nullptr) {
3568 ::google::protobuf::Arena* submessage_arena =
reinterpret_cast<::google::protobuf::Message*
>(value)->GetArena();
3569 if (message_arena != submessage_arena) {
3570 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3572 SetHasBit(
_impl_._has_bits_[1], 0x00000001U);
3574 ClearHasBit(
_impl_._has_bits_[1], 0x00000001U);
3577 _impl_.local_cheapest_insertion_parameters_ =
reinterpret_cast<::operations_research::LocalCheapestInsertionParameters*
>(value);
3583 bool value = CheckHasBit(
_impl_._has_bits_[1], 0x00000002U);
3584 PROTOBUF_ASSUME(!value ||
_impl_.local_cheapest_cost_insertion_parameters_ !=
nullptr);
3587inline const ::operations_research::LocalCheapestInsertionParameters& RoutingSearchParameters::_internal_local_cheapest_cost_insertion_parameters()
const {
3588 ::google::protobuf::internal::TSanRead(&
_impl_);
3589 const ::operations_research::LocalCheapestInsertionParameters* p =
_impl_.local_cheapest_cost_insertion_parameters_;
3594 return _internal_local_cheapest_cost_insertion_parameters();
3598 ::google::protobuf::internal::TSanWrite(&
_impl_);
3599 if (GetArena() ==
nullptr) {
3600 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.local_cheapest_cost_insertion_parameters_);
3603 if (value !=
nullptr) {
3604 SetHasBit(
_impl_._has_bits_[1], 0x00000002U);
3606 ClearHasBit(
_impl_._has_bits_[1], 0x00000002U);
3611 ::google::protobuf::internal::TSanWrite(&
_impl_);
3613 ClearHasBit(
_impl_._has_bits_[1], 0x00000002U);
3615 _impl_.local_cheapest_cost_insertion_parameters_ =
nullptr;
3616 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3617 auto* old =
reinterpret_cast<::google::protobuf::MessageLite*
>(released);
3618 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3619 if (GetArena() ==
nullptr) {
3623 if (GetArena() !=
nullptr) {
3624 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3630 ::google::protobuf::internal::TSanWrite(&
_impl_);
3633 ClearHasBit(
_impl_._has_bits_[1], 0x00000002U);
3634 ::operations_research::LocalCheapestInsertionParameters* temp =
_impl_.local_cheapest_cost_insertion_parameters_;
3635 _impl_.local_cheapest_cost_insertion_parameters_ =
nullptr;
3638inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_local_cheapest_cost_insertion_parameters() {
3639 ::google::protobuf::internal::TSanWrite(&
_impl_);
3640 if (
_impl_.local_cheapest_cost_insertion_parameters_ ==
nullptr) {
3641 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::LocalCheapestInsertionParameters>(GetArena());
3644 return _impl_.local_cheapest_cost_insertion_parameters_;
3647 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3648 SetHasBit(
_impl_._has_bits_[1], 0x00000002U);
3655 ::google::protobuf::internal::TSanWrite(&
_impl_);
3656 if (message_arena ==
nullptr) {
3657 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.local_cheapest_cost_insertion_parameters_);
3660 if (value !=
nullptr) {
3661 ::google::protobuf::Arena* submessage_arena =
reinterpret_cast<::google::protobuf::Message*
>(value)->GetArena();
3662 if (message_arena != submessage_arena) {
3663 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3665 SetHasBit(
_impl_._has_bits_[1], 0x00000002U);
3667 ClearHasBit(
_impl_._has_bits_[1], 0x00000002U);
3670 _impl_.local_cheapest_cost_insertion_parameters_ =
reinterpret_cast<::operations_research::LocalCheapestInsertionParameters*
>(value);
3676 ::google::protobuf::internal::TSanWrite(&
_impl_);
3677 _impl_.christofides_use_minimum_matching_ =
false;
3678 ClearHasBit(
_impl_._has_bits_[0],
3683 return _internal_christofides_use_minimum_matching();
3686 _internal_set_christofides_use_minimum_matching(value);
3687 SetHasBit(
_impl_._has_bits_[0], 0x01000000U);
3690inline bool RoutingSearchParameters::_internal_christofides_use_minimum_matching()
const {
3691 ::google::protobuf::internal::TSanRead(&
_impl_);
3692 return _impl_.christofides_use_minimum_matching_;
3694inline void RoutingSearchParameters::_internal_set_christofides_use_minimum_matching(
bool value) {
3695 ::google::protobuf::internal::TSanWrite(&
_impl_);
3696 _impl_.christofides_use_minimum_matching_ = value;
3701 ::google::protobuf::internal::TSanWrite(&
_impl_);
3702 _impl_.first_solution_optimization_period_ = 0;
3703 ClearHasBit(
_impl_._has_bits_[1],
3708 return _internal_first_solution_optimization_period();
3711 _internal_set_first_solution_optimization_period(value);
3712 SetHasBit(
_impl_._has_bits_[1], 0x00004000U);
3715inline ::int32_t RoutingSearchParameters::_internal_first_solution_optimization_period()
const {
3716 ::google::protobuf::internal::TSanRead(&
_impl_);
3717 return _impl_.first_solution_optimization_period_;
3719inline void RoutingSearchParameters::_internal_set_first_solution_optimization_period(::int32_t value) {
3720 ::google::protobuf::internal::TSanWrite(&
_impl_);
3721 _impl_.first_solution_optimization_period_ = value;
3726 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000001U);
3727 PROTOBUF_ASSUME(!value ||
_impl_.local_search_operators_ !=
nullptr);
3731 ::google::protobuf::internal::TSanWrite(&
_impl_);
3732 if (
_impl_.local_search_operators_ !=
nullptr)
_impl_.local_search_operators_->
Clear();
3733 ClearHasBit(
_impl_._has_bits_[0],
3736inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::_internal_local_search_operators()
const {
3737 ::google::protobuf::internal::TSanRead(&
_impl_);
3738 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* p =
_impl_.local_search_operators_;
3743 return _internal_local_search_operators();
3747 ::google::protobuf::internal::TSanWrite(&
_impl_);
3748 if (GetArena() ==
nullptr) {
3749 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.local_search_operators_);
3752 if (value !=
nullptr) {
3753 SetHasBit(
_impl_._has_bits_[0], 0x00000001U);
3755 ClearHasBit(
_impl_._has_bits_[0], 0x00000001U);
3760 ::google::protobuf::internal::TSanWrite(&
_impl_);
3762 ClearHasBit(
_impl_._has_bits_[0], 0x00000001U);
3764 _impl_.local_search_operators_ =
nullptr;
3765 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3766 auto* old =
reinterpret_cast<::google::protobuf::MessageLite*
>(released);
3767 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3768 if (GetArena() ==
nullptr) {
3772 if (GetArena() !=
nullptr) {
3773 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3779 ::google::protobuf::internal::TSanWrite(&
_impl_);
3782 ClearHasBit(
_impl_._has_bits_[0], 0x00000001U);
3783 ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* temp =
_impl_.local_search_operators_;
3784 _impl_.local_search_operators_ =
nullptr;
3787inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_local_search_operators() {
3788 ::google::protobuf::internal::TSanWrite(&
_impl_);
3789 if (
_impl_.local_search_operators_ ==
nullptr) {
3790 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(GetArena());
3793 return _impl_.local_search_operators_;
3796 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3797 SetHasBit(
_impl_._has_bits_[0], 0x00000001U);
3804 ::google::protobuf::internal::TSanWrite(&
_impl_);
3805 if (message_arena ==
nullptr) {
3806 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.local_search_operators_);
3809 if (value !=
nullptr) {
3810 ::google::protobuf::Arena* submessage_arena = value->GetArena();
3811 if (message_arena != submessage_arena) {
3812 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3814 SetHasBit(
_impl_._has_bits_[0], 0x00000001U);
3816 ClearHasBit(
_impl_._has_bits_[0], 0x00000001U);
3819 _impl_.local_search_operators_ =
reinterpret_cast<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators*
>(value);
3825 ::google::protobuf::internal::TSanWrite(&
_impl_);
3826 _impl_.ls_operator_neighbors_ratio_ = 0;
3827 ClearHasBit(
_impl_._has_bits_[1],
3832 return _internal_ls_operator_neighbors_ratio();
3835 _internal_set_ls_operator_neighbors_ratio(value);
3836 SetHasBit(
_impl_._has_bits_[1], 0x00000080U);
3839inline double RoutingSearchParameters::_internal_ls_operator_neighbors_ratio()
const {
3840 ::google::protobuf::internal::TSanRead(&
_impl_);
3841 return _impl_.ls_operator_neighbors_ratio_;
3843inline void RoutingSearchParameters::_internal_set_ls_operator_neighbors_ratio(
double value) {
3844 ::google::protobuf::internal::TSanWrite(&
_impl_);
3845 _impl_.ls_operator_neighbors_ratio_ = value;
3850 ::google::protobuf::internal::TSanWrite(&
_impl_);
3851 _impl_.ls_operator_min_neighbors_ = 0;
3852 ClearHasBit(
_impl_._has_bits_[1],
3857 return _internal_ls_operator_min_neighbors();
3860 _internal_set_ls_operator_min_neighbors(value);
3861 SetHasBit(
_impl_._has_bits_[1], 0x00000100U);
3864inline ::int32_t RoutingSearchParameters::_internal_ls_operator_min_neighbors()
const {
3865 ::google::protobuf::internal::TSanRead(&
_impl_);
3866 return _impl_.ls_operator_min_neighbors_;
3868inline void RoutingSearchParameters::_internal_set_ls_operator_min_neighbors(::int32_t value) {
3869 ::google::protobuf::internal::TSanWrite(&
_impl_);
3870 _impl_.ls_operator_min_neighbors_ = value;
3875 ::google::protobuf::internal::TSanWrite(&
_impl_);
3876 _impl_.use_multi_armed_bandit_concatenate_operators_ =
false;
3877 ClearHasBit(
_impl_._has_bits_[0],
3882 return _internal_use_multi_armed_bandit_concatenate_operators();
3885 _internal_set_use_multi_armed_bandit_concatenate_operators(value);
3886 SetHasBit(
_impl_._has_bits_[0], 0x02000000U);
3889inline bool RoutingSearchParameters::_internal_use_multi_armed_bandit_concatenate_operators()
const {
3890 ::google::protobuf::internal::TSanRead(&
_impl_);
3891 return _impl_.use_multi_armed_bandit_concatenate_operators_;
3893inline void RoutingSearchParameters::_internal_set_use_multi_armed_bandit_concatenate_operators(
bool value) {
3894 ::google::protobuf::internal::TSanWrite(&
_impl_);
3895 _impl_.use_multi_armed_bandit_concatenate_operators_ = value;
3900 ::google::protobuf::internal::TSanWrite(&
_impl_);
3901 _impl_.multi_armed_bandit_compound_operator_memory_coefficient_ = 0;
3902 ClearHasBit(
_impl_._has_bits_[0],
3907 return _internal_multi_armed_bandit_compound_operator_memory_coefficient();
3910 _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(value);
3911 SetHasBit(
_impl_._has_bits_[0], 0x00800000U);
3914inline double RoutingSearchParameters::_internal_multi_armed_bandit_compound_operator_memory_coefficient()
const {
3915 ::google::protobuf::internal::TSanRead(&
_impl_);
3916 return _impl_.multi_armed_bandit_compound_operator_memory_coefficient_;
3918inline void RoutingSearchParameters::_internal_set_multi_armed_bandit_compound_operator_memory_coefficient(
double value) {
3919 ::google::protobuf::internal::TSanWrite(&
_impl_);
3920 _impl_.multi_armed_bandit_compound_operator_memory_coefficient_ = value;
3925 ::google::protobuf::internal::TSanWrite(&
_impl_);
3926 _impl_.multi_armed_bandit_compound_operator_exploration_coefficient_ = 0;
3927 ClearHasBit(
_impl_._has_bits_[1],
3932 return _internal_multi_armed_bandit_compound_operator_exploration_coefficient();
3935 _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(value);
3936 SetHasBit(
_impl_._has_bits_[1], 0x00000040U);
3939inline double RoutingSearchParameters::_internal_multi_armed_bandit_compound_operator_exploration_coefficient()
const {
3940 ::google::protobuf::internal::TSanRead(&
_impl_);
3941 return _impl_.multi_armed_bandit_compound_operator_exploration_coefficient_;
3943inline void RoutingSearchParameters::_internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(
double value) {
3944 ::google::protobuf::internal::TSanWrite(&
_impl_);
3945 _impl_.multi_armed_bandit_compound_operator_exploration_coefficient_ = value;
3950 ::google::protobuf::internal::TSanWrite(&
_impl_);
3951 _impl_.max_swap_active_chain_size_ = 0;
3952 ClearHasBit(
_impl_._has_bits_[1],
3957 return _internal_max_swap_active_chain_size();
3960 _internal_set_max_swap_active_chain_size(value);
3961 SetHasBit(
_impl_._has_bits_[1], 0x00020000U);
3964inline ::int32_t RoutingSearchParameters::_internal_max_swap_active_chain_size()
const {
3965 ::google::protobuf::internal::TSanRead(&
_impl_);
3966 return _impl_.max_swap_active_chain_size_;
3968inline void RoutingSearchParameters::_internal_set_max_swap_active_chain_size(::int32_t value) {
3969 ::google::protobuf::internal::TSanWrite(&
_impl_);
3970 _impl_.max_swap_active_chain_size_ = value;
3975 ::google::protobuf::internal::TSanWrite(&
_impl_);
3976 _impl_.relocate_expensive_chain_num_arcs_to_consider_ = 0;
3977 ClearHasBit(
_impl_._has_bits_[0],
3982 return _internal_relocate_expensive_chain_num_arcs_to_consider();
3985 _internal_set_relocate_expensive_chain_num_arcs_to_consider(value);
3986 SetHasBit(
_impl_._has_bits_[0], 0x00010000U);
3989inline ::int32_t RoutingSearchParameters::_internal_relocate_expensive_chain_num_arcs_to_consider()
const {
3990 ::google::protobuf::internal::TSanRead(&
_impl_);
3991 return _impl_.relocate_expensive_chain_num_arcs_to_consider_;
3993inline void RoutingSearchParameters::_internal_set_relocate_expensive_chain_num_arcs_to_consider(::int32_t value) {
3994 ::google::protobuf::internal::TSanWrite(&
_impl_);
3995 _impl_.relocate_expensive_chain_num_arcs_to_consider_ = value;
4000 ::google::protobuf::internal::TSanWrite(&
_impl_);
4001 _impl_.heuristic_expensive_chain_lns_num_arcs_to_consider_ = 0;
4002 ClearHasBit(
_impl_._has_bits_[0],
4007 return _internal_heuristic_expensive_chain_lns_num_arcs_to_consider();
4010 _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(value);
4011 SetHasBit(
_impl_._has_bits_[0], 0x00100000U);
4014inline ::int32_t RoutingSearchParameters::_internal_heuristic_expensive_chain_lns_num_arcs_to_consider()
const {
4015 ::google::protobuf::internal::TSanRead(&
_impl_);
4016 return _impl_.heuristic_expensive_chain_lns_num_arcs_to_consider_;
4018inline void RoutingSearchParameters::_internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(::int32_t value) {
4019 ::google::protobuf::internal::TSanWrite(&
_impl_);
4020 _impl_.heuristic_expensive_chain_lns_num_arcs_to_consider_ = value;
4025 ::google::protobuf::internal::TSanWrite(&
_impl_);
4026 _impl_.heuristic_close_nodes_lns_num_nodes_ = 0;
4027 ClearHasBit(
_impl_._has_bits_[0],
4032 return _internal_heuristic_close_nodes_lns_num_nodes();
4035 _internal_set_heuristic_close_nodes_lns_num_nodes(value);
4036 SetHasBit(
_impl_._has_bits_[0], 0x00400000U);
4039inline ::int32_t RoutingSearchParameters::_internal_heuristic_close_nodes_lns_num_nodes()
const {
4040 ::google::protobuf::internal::TSanRead(&
_impl_);
4041 return _impl_.heuristic_close_nodes_lns_num_nodes_;
4043inline void RoutingSearchParameters::_internal_set_heuristic_close_nodes_lns_num_nodes(::int32_t value) {
4044 ::google::protobuf::internal::TSanWrite(&
_impl_);
4045 _impl_.heuristic_close_nodes_lns_num_nodes_ = value;
4050 ::google::protobuf::internal::TSanWrite(&
_impl_);
4051 _impl_.local_search_metaheuristic_ = 0;
4052 ClearHasBit(
_impl_._has_bits_[0],
4057 return _internal_local_search_metaheuristic();
4060 _internal_set_local_search_metaheuristic(value);
4061 SetHasBit(
_impl_._has_bits_[0], 0x00000040U);
4064inline ::operations_research::LocalSearchMetaheuristic_Value RoutingSearchParameters::_internal_local_search_metaheuristic()
const {
4065 ::google::protobuf::internal::TSanRead(&
_impl_);
4069 ::google::protobuf::internal::TSanWrite(&
_impl_);
4070 _impl_.local_search_metaheuristic_ = value;
4074inline int RoutingSearchParameters::_internal_local_search_metaheuristics_size()
const {
4075 return _internal_local_search_metaheuristics().size();
4078 return _internal_local_search_metaheuristics_size();
4081 ::google::protobuf::internal::TSanWrite(&
_impl_);
4082 _impl_.local_search_metaheuristics_.Clear();
4083 ClearHasBitForRepeated(
_impl_._has_bits_[0],
4091 _internal_mutable_local_search_metaheuristics()->Set(index, value);
4095 ::google::protobuf::internal::TSanWrite(&
_impl_);
4096 _internal_mutable_local_search_metaheuristics()->Add(value);
4097 SetHasBitForRepeated(
_impl_._has_bits_[0], 0x10000000U);
4101 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4103 return _internal_local_search_metaheuristics();
4106 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4107 SetHasBitForRepeated(
_impl_._has_bits_[0], 0x10000000U);
4109 ::google::protobuf::internal::TSanWrite(&
_impl_);
4110 return _internal_mutable_local_search_metaheuristics();
4112inline const ::google::protobuf::RepeatedField<int>& RoutingSearchParameters::_internal_local_search_metaheuristics()
4114 ::google::protobuf::internal::TSanRead(&
_impl_);
4117inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL
4118RoutingSearchParameters::_internal_mutable_local_search_metaheuristics() {
4119 ::google::protobuf::internal::TSanRead(&
_impl_);
4120 return &
_impl_.local_search_metaheuristics_;
4125 ::google::protobuf::internal::TSanWrite(&
_impl_);
4126 _impl_.num_max_local_optima_before_metaheuristic_switch_ = 0;
4127 ClearHasBit(
_impl_._has_bits_[1],
4132 return _internal_num_max_local_optima_before_metaheuristic_switch();
4135 _internal_set_num_max_local_optima_before_metaheuristic_switch(value);
4136 SetHasBit(
_impl_._has_bits_[1], 0x00010000U);
4139inline ::int32_t RoutingSearchParameters::_internal_num_max_local_optima_before_metaheuristic_switch()
const {
4140 ::google::protobuf::internal::TSanRead(&
_impl_);
4141 return _impl_.num_max_local_optima_before_metaheuristic_switch_;
4143inline void RoutingSearchParameters::_internal_set_num_max_local_optima_before_metaheuristic_switch(::int32_t value) {
4144 ::google::protobuf::internal::TSanWrite(&
_impl_);
4145 _impl_.num_max_local_optima_before_metaheuristic_switch_ = value;
4150 ::google::protobuf::internal::TSanWrite(&
_impl_);
4151 _impl_.guided_local_search_lambda_coefficient_ = 0;
4152 ClearHasBit(
_impl_._has_bits_[0],
4157 return _internal_guided_local_search_lambda_coefficient();
4160 _internal_set_guided_local_search_lambda_coefficient(value);
4161 SetHasBit(
_impl_._has_bits_[0], 0x00000080U);
4164inline double RoutingSearchParameters::_internal_guided_local_search_lambda_coefficient()
const {
4165 ::google::protobuf::internal::TSanRead(&
_impl_);
4166 return _impl_.guided_local_search_lambda_coefficient_;
4168inline void RoutingSearchParameters::_internal_set_guided_local_search_lambda_coefficient(
double value) {
4169 ::google::protobuf::internal::TSanWrite(&
_impl_);
4170 _impl_.guided_local_search_lambda_coefficient_ = value;
4175 ::google::protobuf::internal::TSanWrite(&
_impl_);
4176 _impl_.guided_local_search_reset_penalties_on_new_best_solution_ =
false;
4177 ClearHasBit(
_impl_._has_bits_[1],
4182 return _internal_guided_local_search_reset_penalties_on_new_best_solution();
4185 _internal_set_guided_local_search_reset_penalties_on_new_best_solution(value);
4186 SetHasBit(
_impl_._has_bits_[1], 0x00000400U);
4189inline bool RoutingSearchParameters::_internal_guided_local_search_reset_penalties_on_new_best_solution()
const {
4190 ::google::protobuf::internal::TSanRead(&
_impl_);
4191 return _impl_.guided_local_search_reset_penalties_on_new_best_solution_;
4193inline void RoutingSearchParameters::_internal_set_guided_local_search_reset_penalties_on_new_best_solution(
bool value) {
4194 ::google::protobuf::internal::TSanWrite(&
_impl_);
4195 _impl_.guided_local_search_reset_penalties_on_new_best_solution_ = value;
4200 ::google::protobuf::internal::TSanWrite(&
_impl_);
4201 _impl_.guided_local_search_penalize_with_vehicle_classes_ =
false;
4202 ClearHasBit(
_impl_._has_bits_[1],
4207 return _internal_guided_local_search_penalize_with_vehicle_classes();
4210 _internal_set_guided_local_search_penalize_with_vehicle_classes(value);
4211 SetHasBit(
_impl_._has_bits_[1], 0x00001000U);
4214inline bool RoutingSearchParameters::_internal_guided_local_search_penalize_with_vehicle_classes()
const {
4215 ::google::protobuf::internal::TSanRead(&
_impl_);
4216 return _impl_.guided_local_search_penalize_with_vehicle_classes_;
4218inline void RoutingSearchParameters::_internal_set_guided_local_search_penalize_with_vehicle_classes(
bool value) {
4219 ::google::protobuf::internal::TSanWrite(&
_impl_);
4220 _impl_.guided_local_search_penalize_with_vehicle_classes_ = value;
4225 ::google::protobuf::internal::TSanWrite(&
_impl_);
4226 _impl_.use_guided_local_search_penalties_in_local_search_operators_ =
false;
4227 ClearHasBit(
_impl_._has_bits_[1],
4232 return _internal_use_guided_local_search_penalties_in_local_search_operators();
4235 _internal_set_use_guided_local_search_penalties_in_local_search_operators(value);
4236 SetHasBit(
_impl_._has_bits_[1], 0x00008000U);
4239inline bool RoutingSearchParameters::_internal_use_guided_local_search_penalties_in_local_search_operators()
const {
4240 ::google::protobuf::internal::TSanRead(&
_impl_);
4241 return _impl_.use_guided_local_search_penalties_in_local_search_operators_;
4243inline void RoutingSearchParameters::_internal_set_use_guided_local_search_penalties_in_local_search_operators(
bool value) {
4244 ::google::protobuf::internal::TSanWrite(&
_impl_);
4245 _impl_.use_guided_local_search_penalties_in_local_search_operators_ = value;
4250 ::google::protobuf::internal::TSanWrite(&
_impl_);
4251 _impl_.use_depth_first_search_ =
false;
4252 ClearHasBit(
_impl_._has_bits_[0],
4257 return _internal_use_depth_first_search();
4260 _internal_set_use_depth_first_search(value);
4261 SetHasBit(
_impl_._has_bits_[0], 0x00000800U);
4264inline bool RoutingSearchParameters::_internal_use_depth_first_search()
const {
4265 ::google::protobuf::internal::TSanRead(&
_impl_);
4266 return _impl_.use_depth_first_search_;
4268inline void RoutingSearchParameters::_internal_set_use_depth_first_search(
bool value) {
4269 ::google::protobuf::internal::TSanWrite(&
_impl_);
4270 _impl_.use_depth_first_search_ = value;
4275 ::google::protobuf::internal::TSanWrite(&
_impl_);
4277 ClearHasBit(
_impl_._has_bits_[0],
4282 return _internal_use_cp();
4285 _internal_set_use_cp(value);
4286 SetHasBit(
_impl_._has_bits_[0], 0x00080000U);
4289inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp()
const {
4290 ::google::protobuf::internal::TSanRead(&
_impl_);
4294 ::google::protobuf::internal::TSanWrite(&
_impl_);
4300 ::google::protobuf::internal::TSanWrite(&
_impl_);
4302 ClearHasBit(
_impl_._has_bits_[0],
4307 return _internal_use_cp_sat();
4310 _internal_set_use_cp_sat(value);
4311 SetHasBit(
_impl_._has_bits_[0], 0x00020000U);
4314inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp_sat()
const {
4315 ::google::protobuf::internal::TSanRead(&
_impl_);
4319 ::google::protobuf::internal::TSanWrite(&
_impl_);
4320 _impl_.use_cp_sat_ = value;
4325 ::google::protobuf::internal::TSanWrite(&
_impl_);
4326 _impl_.use_generalized_cp_sat_ = 0;
4327 ClearHasBit(
_impl_._has_bits_[0],
4332 return _internal_use_generalized_cp_sat();
4335 _internal_set_use_generalized_cp_sat(value);
4336 SetHasBit(
_impl_._has_bits_[0], 0x08000000U);
4339inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_generalized_cp_sat()
const {
4340 ::google::protobuf::internal::TSanRead(&
_impl_);
4344 ::google::protobuf::internal::TSanWrite(&
_impl_);
4345 _impl_.use_generalized_cp_sat_ = value;
4350 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x40000000U);
4351 PROTOBUF_ASSUME(!value ||
_impl_.sat_parameters_ !=
nullptr);
4354inline const ::operations_research::sat::SatParameters& RoutingSearchParameters::_internal_sat_parameters()
const {
4355 ::google::protobuf::internal::TSanRead(&
_impl_);
4356 const ::operations_research::sat::SatParameters* p =
_impl_.sat_parameters_;
4361 return _internal_sat_parameters();
4365 ::google::protobuf::internal::TSanWrite(&
_impl_);
4366 if (GetArena() ==
nullptr) {
4367 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.sat_parameters_);
4370 if (value !=
nullptr) {
4371 SetHasBit(
_impl_._has_bits_[0], 0x40000000U);
4373 ClearHasBit(
_impl_._has_bits_[0], 0x40000000U);
4378 ::google::protobuf::internal::TSanWrite(&
_impl_);
4380 ClearHasBit(
_impl_._has_bits_[0], 0x40000000U);
4382 _impl_.sat_parameters_ =
nullptr;
4383 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4384 auto* old =
reinterpret_cast<::google::protobuf::MessageLite*
>(released);
4385 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4386 if (GetArena() ==
nullptr) {
4390 if (GetArena() !=
nullptr) {
4391 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4397 ::google::protobuf::internal::TSanWrite(&
_impl_);
4400 ClearHasBit(
_impl_._has_bits_[0], 0x40000000U);
4401 ::operations_research::sat::SatParameters* temp =
_impl_.sat_parameters_;
4402 _impl_.sat_parameters_ =
nullptr;
4405inline ::operations_research::sat::SatParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_sat_parameters() {
4406 ::google::protobuf::internal::TSanWrite(&
_impl_);
4407 if (
_impl_.sat_parameters_ ==
nullptr) {
4408 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::SatParameters>(GetArena());
4411 return _impl_.sat_parameters_;
4414 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4415 SetHasBit(
_impl_._has_bits_[0], 0x40000000U);
4422 ::google::protobuf::internal::TSanWrite(&
_impl_);
4423 if (message_arena ==
nullptr) {
4424 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.sat_parameters_);
4427 if (value !=
nullptr) {
4428 ::google::protobuf::Arena* submessage_arena =
reinterpret_cast<::google::protobuf::Message*
>(value)->GetArena();
4429 if (message_arena != submessage_arena) {
4430 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4432 SetHasBit(
_impl_._has_bits_[0], 0x40000000U);
4434 ClearHasBit(
_impl_._has_bits_[0], 0x40000000U);
4437 _impl_.sat_parameters_ =
reinterpret_cast<::operations_research::sat::SatParameters*
>(value);
4443 ::google::protobuf::internal::TSanWrite(&
_impl_);
4444 _impl_.report_intermediate_cp_sat_solutions_ =
false;
4445 ClearHasBit(
_impl_._has_bits_[0],
4450 return _internal_report_intermediate_cp_sat_solutions();
4453 _internal_set_report_intermediate_cp_sat_solutions(value);
4454 SetHasBit(
_impl_._has_bits_[0], 0x04000000U);
4457inline bool RoutingSearchParameters::_internal_report_intermediate_cp_sat_solutions()
const {
4458 ::google::protobuf::internal::TSanRead(&
_impl_);
4459 return _impl_.report_intermediate_cp_sat_solutions_;
4461inline void RoutingSearchParameters::_internal_set_report_intermediate_cp_sat_solutions(
bool value) {
4462 ::google::protobuf::internal::TSanWrite(&
_impl_);
4463 _impl_.report_intermediate_cp_sat_solutions_ = value;
4468 ::google::protobuf::internal::TSanWrite(&
_impl_);
4469 _impl_.fallback_to_cp_sat_size_threshold_ = 0;
4470 ClearHasBit(
_impl_._has_bits_[1],
4475 return _internal_fallback_to_cp_sat_size_threshold();
4478 _internal_set_fallback_to_cp_sat_size_threshold(value);
4479 SetHasBit(
_impl_._has_bits_[1], 0x00000020U);
4482inline ::int32_t RoutingSearchParameters::_internal_fallback_to_cp_sat_size_threshold()
const {
4483 ::google::protobuf::internal::TSanRead(&
_impl_);
4484 return _impl_.fallback_to_cp_sat_size_threshold_;
4486inline void RoutingSearchParameters::_internal_set_fallback_to_cp_sat_size_threshold(::int32_t value) {
4487 ::google::protobuf::internal::TSanWrite(&
_impl_);
4488 _impl_.fallback_to_cp_sat_size_threshold_ = value;
4493 ::google::protobuf::internal::TSanWrite(&
_impl_);
4494 _impl_.continuous_scheduling_solver_ = 0;
4495 ClearHasBit(
_impl_._has_bits_[1],
4500 return _internal_continuous_scheduling_solver();
4503 _internal_set_continuous_scheduling_solver(value);
4504 SetHasBit(
_impl_._has_bits_[1], 0x00000010U);
4507inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_continuous_scheduling_solver()
const {
4508 ::google::protobuf::internal::TSanRead(&
_impl_);
4512 ::google::protobuf::internal::TSanWrite(&
_impl_);
4513 _impl_.continuous_scheduling_solver_ = value;
4518 ::google::protobuf::internal::TSanWrite(&
_impl_);
4519 _impl_.mixed_integer_scheduling_solver_ = 0;
4520 ClearHasBit(
_impl_._has_bits_[0],
4525 return _internal_mixed_integer_scheduling_solver();
4528 _internal_set_mixed_integer_scheduling_solver(value);
4529 SetHasBit(
_impl_._has_bits_[0], 0x00200000U);
4532inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_mixed_integer_scheduling_solver()
const {
4533 ::google::protobuf::internal::TSanRead(&
_impl_);
4537 ::google::protobuf::internal::TSanWrite(&
_impl_);
4538 _impl_.mixed_integer_scheduling_solver_ = value;
4543 bool value = CheckHasBit(
_impl_._has_bits_[1], 0x00000200U);
4547 ::google::protobuf::internal::TSanWrite(&
_impl_);
4548 _impl_.disable_scheduling_beware_this_may_degrade_performance_ =
false;
4549 ClearHasBit(
_impl_._has_bits_[1],
4554 return _internal_disable_scheduling_beware_this_may_degrade_performance();
4557 _internal_set_disable_scheduling_beware_this_may_degrade_performance(value);
4558 SetHasBit(
_impl_._has_bits_[1], 0x00000200U);
4561inline bool RoutingSearchParameters::_internal_disable_scheduling_beware_this_may_degrade_performance()
const {
4562 ::google::protobuf::internal::TSanRead(&
_impl_);
4563 return _impl_.disable_scheduling_beware_this_may_degrade_performance_;
4565inline void RoutingSearchParameters::_internal_set_disable_scheduling_beware_this_may_degrade_performance(
bool value) {
4566 ::google::protobuf::internal::TSanWrite(&
_impl_);
4567 _impl_.disable_scheduling_beware_this_may_degrade_performance_ = value;
4572 ::google::protobuf::internal::TSanWrite(&
_impl_);
4573 _impl_.optimization_step_ = 0;
4574 ClearHasBit(
_impl_._has_bits_[0],
4579 return _internal_optimization_step();
4582 _internal_set_optimization_step(value);
4583 SetHasBit(
_impl_._has_bits_[0], 0x00000100U);
4586inline double RoutingSearchParameters::_internal_optimization_step()
const {
4587 ::google::protobuf::internal::TSanRead(&
_impl_);
4588 return _impl_.optimization_step_;
4590inline void RoutingSearchParameters::_internal_set_optimization_step(
double value) {
4591 ::google::protobuf::internal::TSanWrite(&
_impl_);
4592 _impl_.optimization_step_ = value;
4597 ::google::protobuf::internal::TSanWrite(&
_impl_);
4598 _impl_.number_of_solutions_to_collect_ = 0;
4599 ClearHasBit(
_impl_._has_bits_[0],
4604 return _internal_number_of_solutions_to_collect();
4607 _internal_set_number_of_solutions_to_collect(value);
4608 SetHasBit(
_impl_._has_bits_[0], 0x00004000U);
4611inline ::int32_t RoutingSearchParameters::_internal_number_of_solutions_to_collect()
const {
4612 ::google::protobuf::internal::TSanRead(&
_impl_);
4613 return _impl_.number_of_solutions_to_collect_;
4615inline void RoutingSearchParameters::_internal_set_number_of_solutions_to_collect(::int32_t value) {
4616 ::google::protobuf::internal::TSanWrite(&
_impl_);
4617 _impl_.number_of_solutions_to_collect_ = value;
4622 ::google::protobuf::internal::TSanWrite(&
_impl_);
4623 _impl_.solution_limit_ = ::int64_t{0};
4624 ClearHasBit(
_impl_._has_bits_[0],
4629 return _internal_solution_limit();
4632 _internal_set_solution_limit(value);
4633 SetHasBit(
_impl_._has_bits_[0], 0x00000200U);
4636inline ::int64_t RoutingSearchParameters::_internal_solution_limit()
const {
4637 ::google::protobuf::internal::TSanRead(&
_impl_);
4638 return _impl_.solution_limit_;
4640inline void RoutingSearchParameters::_internal_set_solution_limit(::int64_t value) {
4641 ::google::protobuf::internal::TSanWrite(&
_impl_);
4642 _impl_.solution_limit_ = value;
4647 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000002U);
4648 PROTOBUF_ASSUME(!value ||
_impl_.time_limit_ !=
nullptr);
4651inline const ::google::protobuf::Duration& RoutingSearchParameters::_internal_time_limit()
const {
4652 ::google::protobuf::internal::TSanRead(&
_impl_);
4653 const ::google::protobuf::Duration* p =
_impl_.time_limit_;
4654 return p !=
nullptr ? *p :
reinterpret_cast<const ::google::protobuf::Duration&
>(::google::protobuf::_Duration_default_instance_);
4658 return _internal_time_limit();
4661 ::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
4662 ::google::protobuf::internal::TSanWrite(&
_impl_);
4663 if (GetArena() ==
nullptr) {
4664 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.time_limit_);
4666 _impl_.time_limit_ =
reinterpret_cast<::google::protobuf::Duration*
>(value);
4667 if (value !=
nullptr) {
4668 SetHasBit(
_impl_._has_bits_[0], 0x00000002U);
4670 ClearHasBit(
_impl_._has_bits_[0], 0x00000002U);
4675 ::google::protobuf::internal::TSanWrite(&
_impl_);
4677 ClearHasBit(
_impl_._has_bits_[0], 0x00000002U);
4678 ::google::protobuf::Duration* released =
_impl_.time_limit_;
4679 _impl_.time_limit_ =
nullptr;
4680 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4681 auto* old =
reinterpret_cast<::google::protobuf::MessageLite*
>(released);
4682 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4683 if (GetArena() ==
nullptr) {
4687 if (GetArena() !=
nullptr) {
4688 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4694 ::google::protobuf::internal::TSanWrite(&
_impl_);
4697 ClearHasBit(
_impl_._has_bits_[0], 0x00000002U);
4698 ::google::protobuf::Duration* temp =
_impl_.time_limit_;
4699 _impl_.time_limit_ =
nullptr;
4702inline ::google::protobuf::Duration* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_time_limit() {
4703 ::google::protobuf::internal::TSanWrite(&
_impl_);
4704 if (
_impl_.time_limit_ ==
nullptr) {
4705 auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena());
4706 _impl_.time_limit_ =
reinterpret_cast<::google::protobuf::Duration*
>(p);
4708 return _impl_.time_limit_;
4711 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4712 SetHasBit(
_impl_._has_bits_[0], 0x00000002U);
4713 ::google::protobuf::Duration* _msg = _internal_mutable_time_limit();
4719 ::google::protobuf::internal::TSanWrite(&
_impl_);
4720 if (message_arena ==
nullptr) {
4721 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.time_limit_);
4724 if (value !=
nullptr) {
4725 ::google::protobuf::Arena* submessage_arena =
reinterpret_cast<::google::protobuf::Message*
>(value)->GetArena();
4726 if (message_arena != submessage_arena) {
4727 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4729 SetHasBit(
_impl_._has_bits_[0], 0x00000002U);
4731 ClearHasBit(
_impl_._has_bits_[0], 0x00000002U);
4734 _impl_.time_limit_ =
reinterpret_cast<::google::protobuf::Duration*
>(value);
4740 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000004U);
4741 PROTOBUF_ASSUME(!value ||
_impl_.lns_time_limit_ !=
nullptr);
4744inline const ::google::protobuf::Duration& RoutingSearchParameters::_internal_lns_time_limit()
const {
4745 ::google::protobuf::internal::TSanRead(&
_impl_);
4746 const ::google::protobuf::Duration* p =
_impl_.lns_time_limit_;
4747 return p !=
nullptr ? *p :
reinterpret_cast<const ::google::protobuf::Duration&
>(::google::protobuf::_Duration_default_instance_);
4751 return _internal_lns_time_limit();
4754 ::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
4755 ::google::protobuf::internal::TSanWrite(&
_impl_);
4756 if (GetArena() ==
nullptr) {
4757 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.lns_time_limit_);
4759 _impl_.lns_time_limit_ =
reinterpret_cast<::google::protobuf::Duration*
>(value);
4760 if (value !=
nullptr) {
4761 SetHasBit(
_impl_._has_bits_[0], 0x00000004U);
4763 ClearHasBit(
_impl_._has_bits_[0], 0x00000004U);
4768 ::google::protobuf::internal::TSanWrite(&
_impl_);
4770 ClearHasBit(
_impl_._has_bits_[0], 0x00000004U);
4771 ::google::protobuf::Duration* released =
_impl_.lns_time_limit_;
4772 _impl_.lns_time_limit_ =
nullptr;
4773 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4774 auto* old =
reinterpret_cast<::google::protobuf::MessageLite*
>(released);
4775 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4776 if (GetArena() ==
nullptr) {
4780 if (GetArena() !=
nullptr) {
4781 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4787 ::google::protobuf::internal::TSanWrite(&
_impl_);
4790 ClearHasBit(
_impl_._has_bits_[0], 0x00000004U);
4791 ::google::protobuf::Duration* temp =
_impl_.lns_time_limit_;
4792 _impl_.lns_time_limit_ =
nullptr;
4795inline ::google::protobuf::Duration* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_lns_time_limit() {
4796 ::google::protobuf::internal::TSanWrite(&
_impl_);
4797 if (
_impl_.lns_time_limit_ ==
nullptr) {
4798 auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena());
4799 _impl_.lns_time_limit_ =
reinterpret_cast<::google::protobuf::Duration*
>(p);
4801 return _impl_.lns_time_limit_;
4804 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4805 SetHasBit(
_impl_._has_bits_[0], 0x00000004U);
4806 ::google::protobuf::Duration* _msg = _internal_mutable_lns_time_limit();
4812 ::google::protobuf::internal::TSanWrite(&
_impl_);
4813 if (message_arena ==
nullptr) {
4814 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.lns_time_limit_);
4817 if (value !=
nullptr) {
4818 ::google::protobuf::Arena* submessage_arena =
reinterpret_cast<::google::protobuf::Message*
>(value)->GetArena();
4819 if (message_arena != submessage_arena) {
4820 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4822 SetHasBit(
_impl_._has_bits_[0], 0x00000004U);
4824 ClearHasBit(
_impl_._has_bits_[0], 0x00000004U);
4827 _impl_.lns_time_limit_ =
reinterpret_cast<::google::protobuf::Duration*
>(value);
4833 ::google::protobuf::internal::TSanWrite(&
_impl_);
4834 _impl_.secondary_ls_time_limit_ratio_ = 0;
4835 ClearHasBit(
_impl_._has_bits_[1],
4840 return _internal_secondary_ls_time_limit_ratio();
4843 _internal_set_secondary_ls_time_limit_ratio(value);
4844 SetHasBit(
_impl_._has_bits_[1], 0x00002000U);
4847inline double RoutingSearchParameters::_internal_secondary_ls_time_limit_ratio()
const {
4848 ::google::protobuf::internal::TSanRead(&
_impl_);
4849 return _impl_.secondary_ls_time_limit_ratio_;
4851inline void RoutingSearchParameters::_internal_set_secondary_ls_time_limit_ratio(
double value) {
4852 ::google::protobuf::internal::TSanWrite(&
_impl_);
4853 _impl_.secondary_ls_time_limit_ratio_ = value;
4858 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000008U);
4859 PROTOBUF_ASSUME(!value ||
_impl_.improvement_limit_parameters_ !=
nullptr);
4863 ::google::protobuf::internal::TSanWrite(&
_impl_);
4864 if (
_impl_.improvement_limit_parameters_ !=
nullptr)
_impl_.improvement_limit_parameters_->
Clear();
4865 ClearHasBit(
_impl_._has_bits_[0],
4868inline const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& RoutingSearchParameters::_internal_improvement_limit_parameters()
const {
4869 ::google::protobuf::internal::TSanRead(&
_impl_);
4870 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* p =
_impl_.improvement_limit_parameters_;
4875 return _internal_improvement_limit_parameters();
4879 ::google::protobuf::internal::TSanWrite(&
_impl_);
4880 if (GetArena() ==
nullptr) {
4881 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.improvement_limit_parameters_);
4884 if (value !=
nullptr) {
4885 SetHasBit(
_impl_._has_bits_[0], 0x00000008U);
4887 ClearHasBit(
_impl_._has_bits_[0], 0x00000008U);
4892 ::google::protobuf::internal::TSanWrite(&
_impl_);
4894 ClearHasBit(
_impl_._has_bits_[0], 0x00000008U);
4896 _impl_.improvement_limit_parameters_ =
nullptr;
4897 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4898 auto* old =
reinterpret_cast<::google::protobuf::MessageLite*
>(released);
4899 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4900 if (GetArena() ==
nullptr) {
4904 if (GetArena() !=
nullptr) {
4905 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4911 ::google::protobuf::internal::TSanWrite(&
_impl_);
4914 ClearHasBit(
_impl_._has_bits_[0], 0x00000008U);
4915 ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* temp =
_impl_.improvement_limit_parameters_;
4916 _impl_.improvement_limit_parameters_ =
nullptr;
4919inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_improvement_limit_parameters() {
4920 ::google::protobuf::internal::TSanWrite(&
_impl_);
4921 if (
_impl_.improvement_limit_parameters_ ==
nullptr) {
4922 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters>(GetArena());
4925 return _impl_.improvement_limit_parameters_;
4928 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4929 SetHasBit(
_impl_._has_bits_[0], 0x00000008U);
4936 ::google::protobuf::internal::TSanWrite(&
_impl_);
4937 if (message_arena ==
nullptr) {
4938 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.improvement_limit_parameters_);
4941 if (value !=
nullptr) {
4942 ::google::protobuf::Arena* submessage_arena = value->GetArena();
4943 if (message_arena != submessage_arena) {
4944 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4946 SetHasBit(
_impl_._has_bits_[0], 0x00000008U);
4948 ClearHasBit(
_impl_._has_bits_[0], 0x00000008U);
4951 _impl_.improvement_limit_parameters_ =
reinterpret_cast<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters*
>(value);
4957 ::google::protobuf::internal::TSanWrite(&
_impl_);
4958 _impl_.use_full_propagation_ =
false;
4959 ClearHasBit(
_impl_._has_bits_[0],
4964 return _internal_use_full_propagation();
4967 _internal_set_use_full_propagation(value);
4968 SetHasBit(
_impl_._has_bits_[0], 0x00001000U);
4971inline bool RoutingSearchParameters::_internal_use_full_propagation()
const {
4972 ::google::protobuf::internal::TSanRead(&
_impl_);
4973 return _impl_.use_full_propagation_;
4975inline void RoutingSearchParameters::_internal_set_use_full_propagation(
bool value) {
4976 ::google::protobuf::internal::TSanWrite(&
_impl_);
4977 _impl_.use_full_propagation_ = value;
4982 ::google::protobuf::internal::TSanWrite(&
_impl_);
4983 _impl_.log_search_ =
false;
4984 ClearHasBit(
_impl_._has_bits_[0],
4989 return _internal_log_search();
4992 _internal_set_log_search(value);
4993 SetHasBit(
_impl_._has_bits_[0], 0x00002000U);
4996inline bool RoutingSearchParameters::_internal_log_search()
const {
4997 ::google::protobuf::internal::TSanRead(&
_impl_);
4998 return _impl_.log_search_;
5000inline void RoutingSearchParameters::_internal_set_log_search(
bool value) {
5001 ::google::protobuf::internal::TSanWrite(&
_impl_);
5002 _impl_.log_search_ = value;
5007 ::google::protobuf::internal::TSanWrite(&
_impl_);
5008 _impl_.log_cost_scaling_factor_ = 0;
5009 ClearHasBit(
_impl_._has_bits_[0],
5014 return _internal_log_cost_scaling_factor();
5017 _internal_set_log_cost_scaling_factor(value);
5018 SetHasBit(
_impl_._has_bits_[0], 0x00008000U);
5021inline double RoutingSearchParameters::_internal_log_cost_scaling_factor()
const {
5022 ::google::protobuf::internal::TSanRead(&
_impl_);
5023 return _impl_.log_cost_scaling_factor_;
5025inline void RoutingSearchParameters::_internal_set_log_cost_scaling_factor(
double value) {
5026 ::google::protobuf::internal::TSanWrite(&
_impl_);
5027 _impl_.log_cost_scaling_factor_ = value;
5032 ::google::protobuf::internal::TSanWrite(&
_impl_);
5033 _impl_.log_cost_offset_ = 0;
5034 ClearHasBit(
_impl_._has_bits_[0],
5039 return _internal_log_cost_offset();
5042 _internal_set_log_cost_offset(value);
5043 SetHasBit(
_impl_._has_bits_[0], 0x00040000U);
5046inline double RoutingSearchParameters::_internal_log_cost_offset()
const {
5047 ::google::protobuf::internal::TSanRead(&
_impl_);
5048 return _impl_.log_cost_offset_;
5050inline void RoutingSearchParameters::_internal_set_log_cost_offset(
double value) {
5051 ::google::protobuf::internal::TSanWrite(&
_impl_);
5052 _impl_.log_cost_offset_ = value;
5057 ::google::protobuf::internal::TSanWrite(&
_impl_);
5058 _impl_.log_tag_.ClearToEmpty();
5059 ClearHasBit(
_impl_._has_bits_[0],
5063 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5065 return _internal_log_tag();
5067template <
typename Arg_,
typename... Args_>
5069 ::google::protobuf::internal::TSanWrite(&
_impl_);
5070 SetHasBit(
_impl_._has_bits_[0], 0x20000000U);
5071 _impl_.log_tag_.Set(
static_cast<Arg_&&
>(arg), args..., GetArena());
5075 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5076 SetHasBit(
_impl_._has_bits_[0], 0x20000000U);
5077 ::std::string* _s = _internal_mutable_log_tag();
5081inline const ::std::string& RoutingSearchParameters::_internal_log_tag()
const {
5082 ::google::protobuf::internal::TSanRead(&
_impl_);
5083 return _impl_.log_tag_.Get();
5085inline void RoutingSearchParameters::_internal_set_log_tag(const ::std::string& value) {
5086 ::google::protobuf::internal::TSanWrite(&
_impl_);
5087 _impl_.log_tag_.Set(value, GetArena());
5089inline ::std::string* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_log_tag() {
5090 ::google::protobuf::internal::TSanWrite(&
_impl_);
5091 return _impl_.log_tag_.Mutable( GetArena());
5094 ::google::protobuf::internal::TSanWrite(&
_impl_);
5096 if (!CheckHasBit(
_impl_._has_bits_[0], 0x20000000U)) {
5099 ClearHasBit(
_impl_._has_bits_[0], 0x20000000U);
5100 auto* released =
_impl_.log_tag_.Release();
5101 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
5102 _impl_.log_tag_.Set(
"", GetArena());
5107 ::google::protobuf::internal::TSanWrite(&
_impl_);
5108 if (value !=
nullptr) {
5109 SetHasBit(
_impl_._has_bits_[0], 0x20000000U);
5111 ClearHasBit(
_impl_._has_bits_[0], 0x20000000U);
5113 _impl_.log_tag_.SetAllocated(value, GetArena());
5114 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() &&
_impl_.log_tag_.IsDefault()) {
5115 _impl_.log_tag_.Set(
"", GetArena());
5122 ::google::protobuf::internal::TSanWrite(&
_impl_);
5123 _impl_.use_iterated_local_search_ =
false;
5124 ClearHasBit(
_impl_._has_bits_[1],
5129 return _internal_use_iterated_local_search();
5132 _internal_set_use_iterated_local_search(value);
5133 SetHasBit(
_impl_._has_bits_[1], 0x00000800U);
5136inline bool RoutingSearchParameters::_internal_use_iterated_local_search()
const {
5137 ::google::protobuf::internal::TSanRead(&
_impl_);
5138 return _impl_.use_iterated_local_search_;
5140inline void RoutingSearchParameters::_internal_set_use_iterated_local_search(
bool value) {
5141 ::google::protobuf::internal::TSanWrite(&
_impl_);
5142 _impl_.use_iterated_local_search_ = value;
5147 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x80000000U);
5148 PROTOBUF_ASSUME(!value ||
_impl_.iterated_local_search_parameters_ !=
nullptr);
5151inline const ::operations_research::IteratedLocalSearchParameters& RoutingSearchParameters::_internal_iterated_local_search_parameters()
const {
5152 ::google::protobuf::internal::TSanRead(&
_impl_);
5153 const ::operations_research::IteratedLocalSearchParameters* p =
_impl_.iterated_local_search_parameters_;
5158 return _internal_iterated_local_search_parameters();
5162 ::google::protobuf::internal::TSanWrite(&
_impl_);
5163 if (GetArena() ==
nullptr) {
5164 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.iterated_local_search_parameters_);
5167 if (value !=
nullptr) {
5168 SetHasBit(
_impl_._has_bits_[0], 0x80000000U);
5170 ClearHasBit(
_impl_._has_bits_[0], 0x80000000U);
5175 ::google::protobuf::internal::TSanWrite(&
_impl_);
5177 ClearHasBit(
_impl_._has_bits_[0], 0x80000000U);
5179 _impl_.iterated_local_search_parameters_ =
nullptr;
5180 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
5181 auto* old =
reinterpret_cast<::google::protobuf::MessageLite*
>(released);
5182 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5183 if (GetArena() ==
nullptr) {
5187 if (GetArena() !=
nullptr) {
5188 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5194 ::google::protobuf::internal::TSanWrite(&
_impl_);
5197 ClearHasBit(
_impl_._has_bits_[0], 0x80000000U);
5198 ::operations_research::IteratedLocalSearchParameters* temp =
_impl_.iterated_local_search_parameters_;
5199 _impl_.iterated_local_search_parameters_ =
nullptr;
5202inline ::operations_research::IteratedLocalSearchParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_iterated_local_search_parameters() {
5203 ::google::protobuf::internal::TSanWrite(&
_impl_);
5204 if (
_impl_.iterated_local_search_parameters_ ==
nullptr) {
5205 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::IteratedLocalSearchParameters>(GetArena());
5208 return _impl_.iterated_local_search_parameters_;
5211 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5212 SetHasBit(
_impl_._has_bits_[0], 0x80000000U);
5219 ::google::protobuf::internal::TSanWrite(&
_impl_);
5220 if (message_arena ==
nullptr) {
5221 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.iterated_local_search_parameters_);
5224 if (value !=
nullptr) {
5225 ::google::protobuf::Arena* submessage_arena =
reinterpret_cast<::google::protobuf::Message*
>(value)->GetArena();
5226 if (message_arena != submessage_arena) {
5227 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
5229 SetHasBit(
_impl_._has_bits_[0], 0x80000000U);
5231 ClearHasBit(
_impl_._has_bits_[0], 0x80000000U);
5234 _impl_.iterated_local_search_parameters_ =
reinterpret_cast<::operations_research::IteratedLocalSearchParameters*
>(value);
5244 bool value = CheckHasBit(
_impl_._has_bits_[0], 0x00000001U);
5245 PROTOBUF_ASSUME(!value ||
_impl_.solver_parameters_ !=
nullptr);
5248inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::_internal_solver_parameters()
const {
5249 ::google::protobuf::internal::TSanRead(&
_impl_);
5250 const ::operations_research::ConstraintSolverParameters* p =
_impl_.solver_parameters_;
5255 return _internal_solver_parameters();
5259 ::google::protobuf::internal::TSanWrite(&
_impl_);
5260 if (GetArena() ==
nullptr) {
5261 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.solver_parameters_);
5264 if (value !=
nullptr) {
5265 SetHasBit(
_impl_._has_bits_[0], 0x00000001U);
5267 ClearHasBit(
_impl_._has_bits_[0], 0x00000001U);
5272 ::google::protobuf::internal::TSanWrite(&
_impl_);
5274 ClearHasBit(
_impl_._has_bits_[0], 0x00000001U);
5276 _impl_.solver_parameters_ =
nullptr;
5277 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
5278 auto* old =
reinterpret_cast<::google::protobuf::MessageLite*
>(released);
5279 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5280 if (GetArena() ==
nullptr) {
5284 if (GetArena() !=
nullptr) {
5285 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5291 ::google::protobuf::internal::TSanWrite(&
_impl_);
5294 ClearHasBit(
_impl_._has_bits_[0], 0x00000001U);
5295 ::operations_research::ConstraintSolverParameters* temp =
_impl_.solver_parameters_;
5296 _impl_.solver_parameters_ =
nullptr;
5299inline ::operations_research::ConstraintSolverParameters* PROTOBUF_NONNULL RoutingModelParameters::_internal_mutable_solver_parameters() {
5300 ::google::protobuf::internal::TSanWrite(&
_impl_);
5302 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::ConstraintSolverParameters>(GetArena());
5305 return _impl_.solver_parameters_;
5308 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5309 SetHasBit(
_impl_._has_bits_[0], 0x00000001U);
5316 ::google::protobuf::internal::TSanWrite(&
_impl_);
5317 if (message_arena ==
nullptr) {
5318 delete reinterpret_cast<::google::protobuf::MessageLite*
>(
_impl_.solver_parameters_);
5321 if (value !=
nullptr) {
5322 ::google::protobuf::Arena* submessage_arena =
reinterpret_cast<::google::protobuf::Message*
>(value)->GetArena();
5323 if (message_arena != submessage_arena) {
5324 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
5326 SetHasBit(
_impl_._has_bits_[0], 0x00000001U);
5328 ClearHasBit(
_impl_._has_bits_[0], 0x00000001U);
5331 _impl_.solver_parameters_ =
reinterpret_cast<::operations_research::ConstraintSolverParameters*
>(value);
5337 ::google::protobuf::internal::TSanWrite(&
_impl_);
5338 _impl_.reduce_vehicle_cost_model_ =
false;
5339 ClearHasBit(
_impl_._has_bits_[0],
5344 return _internal_reduce_vehicle_cost_model();
5347 _internal_set_reduce_vehicle_cost_model(value);
5348 SetHasBit(
_impl_._has_bits_[0], 0x00000002U);
5351inline bool RoutingModelParameters::_internal_reduce_vehicle_cost_model()
const {
5352 ::google::protobuf::internal::TSanRead(&
_impl_);
5355inline void RoutingModelParameters::_internal_set_reduce_vehicle_cost_model(
bool value) {
5356 ::google::protobuf::internal::TSanWrite(&
_impl_);
5362 ::google::protobuf::internal::TSanWrite(&
_impl_);
5363 _impl_.max_callback_cache_size_ = 0;
5364 ClearHasBit(
_impl_._has_bits_[0],
5369 return _internal_max_callback_cache_size();
5372 _internal_set_max_callback_cache_size(value);
5373 SetHasBit(
_impl_._has_bits_[0], 0x00000004U);
5376inline ::int32_t RoutingModelParameters::_internal_max_callback_cache_size()
const {
5377 ::google::protobuf::internal::TSanRead(&
_impl_);
5380inline void RoutingModelParameters::_internal_set_max_callback_cache_size(::int32_t value) {
5381 ::google::protobuf::internal::TSanWrite(&
_impl_);
5386#pragma GCC diagnostic pop
5400 return ::operations_research::RoutingSearchParameters_SchedulingSolver_descriptor();
5408#include "google/protobuf/port_undef.inc"
static const RoutingModelParameters & default_instance()
void set_max_callback_cache_size(::int32_t value)
friend class ::google::protobuf::MessageLite
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
void clear_solver_parameters()
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void CopyFrom(const RoutingModelParameters &from)
::size_t ByteSizeLong() const final
RoutingModelParameters & operator=(const RoutingModelParameters &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
friend void swap(RoutingModelParameters &a, RoutingModelParameters &b)
void MergeFrom(const RoutingModelParameters &from)
bool IsInitialized() const
static constexpr int kIndexInFileMessages
const ::operations_research::ConstraintSolverParameters & solver_parameters() const
void clear_max_callback_cache_size()
::operations_research::ConstraintSolverParameters *PROTOBUF_NULLABLE release_solver_parameters()
void unsafe_arena_set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *PROTOBUF_NULLABLE value)
bool has_solver_parameters() const
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void clear_reduce_vehicle_cost_model()
bool reduce_vehicle_cost_model() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::int32_t max_callback_cache_size() const
void set_reduce_vehicle_cost_model(bool value)
::operations_research::ConstraintSolverParameters *PROTOBUF_NONNULL mutable_solver_parameters()
void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *PROTOBUF_NULLABLE value)
PROTOBUF_CONSTEXPR RoutingModelParameters(::google::protobuf::internal::ConstantInitialized)
void Swap(RoutingModelParameters *PROTOBUF_NONNULL other)
friend class ::google::protobuf::Arena
::operations_research::ConstraintSolverParameters *PROTOBUF_NULLABLE unsafe_arena_release_solver_parameters()
void CopyFrom(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
friend class ::google::protobuf::MessageLite
void set_improvement_rate_coefficient(double value)
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
PROTOBUF_CONSTEXPR RoutingSearchParameters_ImprovementSearchLimitParameters(::google::protobuf::internal::ConstantInitialized)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
double improvement_rate_coefficient() const
::size_t ByteSizeLong() const final
void Swap(RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NONNULL other)
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
void clear_improvement_rate_solutions_distance()
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
static const RoutingSearchParameters_ImprovementSearchLimitParameters & default_instance()
bool IsInitialized() const
::int32_t improvement_rate_solutions_distance() const
RoutingSearchParameters_ImprovementSearchLimitParameters()
void set_improvement_rate_solutions_distance(::int32_t value)
RoutingSearchParameters_ImprovementSearchLimitParameters & operator=(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
void clear_improvement_rate_coefficient()
::operations_research::OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed() const
void set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_full_path_lns() const
void clear_use_global_cheapest_insertion_visit_types_lns()
void set_use_global_cheapest_insertion_visit_types_lns(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_relocate_pair() const
void set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
friend class ::google::protobuf::MessageLite
void clear_use_exchange_pair()
void clear_use_global_cheapest_insertion_expensive_chain_lns()
void clear_use_node_pair_swap_active()
::operations_research::OptionalBoolean use_shortest_path_two_opt() const
void clear_use_relocate_neighbors()
void set_use_or_opt(::operations_research::OptionalBoolean value)
@ kUseFullPathLnsFieldNumber
@ kUseLocalCheapestInsertionCloseNodesLnsFieldNumber
@ kUseRelocateAndMakeActiveFieldNumber
@ kUseExchangeAndMakeActiveFieldNumber
@ kUseSwapActiveFieldNumber
@ kUseMakeChainInactiveFieldNumber
@ kUseCrossExchangeFieldNumber
@ kUseExchangeSubtripFieldNumber
@ kUseExchangePathStartEndsAndMakeActiveFieldNumber
@ kUseSwapActiveChainFieldNumber
@ kUseRelocateExpensiveChainFieldNumber
@ kUseMakeInactiveFieldNumber
@ kUseMakeActiveFieldNumber
@ kUseRelocateSubtripFieldNumber
@ kUseGlobalCheapestInsertionPathLnsFieldNumber
@ kUseLightRelocatePairFieldNumber
@ kUseLocalCheapestInsertionVisitTypesLnsFieldNumber
@ kUseNodePairSwapActiveFieldNumber
@ kUseGlobalCheapestInsertionVisitTypesLnsFieldNumber
@ kUseLinKernighanFieldNumber
@ kUseExtendedSwapActiveFieldNumber
@ kUseExchangePairFieldNumber
@ kUseInactiveLnsFieldNumber
@ kUseGlobalCheapestInsertionExpensiveChainLnsFieldNumber
@ kUseShortestPathTwoOptFieldNumber
@ kUseLocalCheapestInsertionExpensiveChainLnsFieldNumber
@ kUseShortestPathSwapActiveFieldNumber
@ kUseRelocatePathGlobalCheapestInsertionInsertUnperformedFieldNumber
@ kUseRelocateNeighborsFieldNumber
@ kUseLocalCheapestInsertionPathLnsFieldNumber
@ kUseGlobalCheapestInsertionCloseNodesLnsFieldNumber
@ kUseExchangeFieldNumber
void set_use_swap_active_chain(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_relocate_subtrip() const
::operations_research::OptionalBoolean use_exchange_and_make_active() const
::operations_research::OptionalBoolean use_local_cheapest_insertion_visit_types_lns() const
::operations_research::OptionalBoolean use_local_cheapest_insertion_close_nodes_lns() const
void clear_use_relocate()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::operations_research::OptionalBoolean use_shortest_path_swap_active() const
void set_use_exchange_path_start_ends_and_make_active(::operations_research::OptionalBoolean value)
void set_use_inactive_lns(::operations_research::OptionalBoolean value)
void clear_use_relocate_pair()
::operations_research::OptionalBoolean use_cross() const
void clear_use_local_cheapest_insertion_path_lns()
RoutingSearchParameters_LocalSearchNeighborhoodOperators(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void clear_use_exchange_and_make_active()
::operations_research::OptionalBoolean use_node_pair_swap_active() const
void set_use_exchange_pair(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns() const
void clear_use_exchange_subtrip()
void clear_use_relocate_expensive_chain()
void set_use_relocate_and_make_active(::operations_research::OptionalBoolean value)
void set_use_two_opt(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_make_chain_inactive() const
void clear_use_exchange_path_start_ends_and_make_active()
::operations_research::OptionalBoolean use_relocate_neighbors() const
void set_use_path_lns(::operations_research::OptionalBoolean value)
void set_use_extended_swap_active(::operations_research::OptionalBoolean value)
void clear_use_global_cheapest_insertion_close_nodes_lns()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
void clear_use_relocate_path_global_cheapest_insertion_insert_unperformed()
bool IsInitialized() const
void clear_use_relocate_and_make_active()
void set_use_make_inactive(::operations_research::OptionalBoolean value)
void set_use_relocate_pair(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_light_relocate_pair() const
void clear_use_global_cheapest_insertion_path_lns()
void clear_use_exchange()
void set_use_full_path_lns(::operations_research::OptionalBoolean value)
void clear_use_extended_swap_active()
::operations_research::OptionalBoolean use_lin_kernighan() const
::operations_research::OptionalBoolean use_tsp_opt() const
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_relocate() const
void set_use_relocate_neighbors(::operations_research::OptionalBoolean value)
void clear_use_shortest_path_swap_active()
void set_use_cross_exchange(::operations_research::OptionalBoolean value)
void clear_use_local_cheapest_insertion_expensive_chain_lns()
void set_use_exchange_and_make_active(::operations_research::OptionalBoolean value)
void clear_use_lin_kernighan()
::operations_research::OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns() const
::operations_research::OptionalBoolean use_inactive_lns() const
::operations_research::OptionalBoolean use_exchange_path_start_ends_and_make_active() const
void set_use_shortest_path_two_opt(::operations_research::OptionalBoolean value)
void set_use_swap_active(::operations_research::OptionalBoolean value)
void clear_use_swap_active()
void clear_use_light_relocate_pair()
void set_use_exchange(::operations_research::OptionalBoolean value)
void set_use_cross(::operations_research::OptionalBoolean value)
void set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_exchange_subtrip() const
void set_use_light_relocate_pair(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_relocate_expensive_chain() const
void clear_use_path_lns()
void clear_use_make_active()
PROTOBUF_CONSTEXPR RoutingSearchParameters_LocalSearchNeighborhoodOperators(::google::protobuf::internal::ConstantInitialized)
void clear_use_inactive_lns()
void clear_use_local_cheapest_insertion_visit_types_lns()
::operations_research::OptionalBoolean use_two_opt() const
void clear_use_swap_active_chain()
void clear_use_shortest_path_two_opt()
void set_use_tsp_opt(::operations_research::OptionalBoolean value)
void clear_use_full_path_lns()
::operations_research::OptionalBoolean use_global_cheapest_insertion_path_lns() const
::operations_research::OptionalBoolean use_make_active() const
void CopyFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void set_use_relocate_subtrip(::operations_research::OptionalBoolean value)
void set_use_shortest_path_swap_active(::operations_research::OptionalBoolean value)
void set_use_node_pair_swap_active(::operations_research::OptionalBoolean value)
void Swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NONNULL other)
void set_use_local_cheapest_insertion_visit_types_lns(::operations_research::OptionalBoolean value)
void clear_use_make_inactive()
void clear_use_local_cheapest_insertion_close_nodes_lns()
::operations_research::OptionalBoolean use_relocate_and_make_active() const
::operations_research::OptionalBoolean use_swap_active() const
::operations_research::OptionalBoolean use_make_inactive() const
void clear_use_cross_exchange()
::operations_research::OptionalBoolean use_global_cheapest_insertion_visit_types_lns() const
void set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value)
void set_use_lin_kernighan(::operations_research::OptionalBoolean value)
void set_use_make_active(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_exchange_pair() const
::operations_research::OptionalBoolean use_exchange() const
::operations_research::OptionalBoolean use_tsp_lns() const
::operations_research::OptionalBoolean use_global_cheapest_insertion_close_nodes_lns() const
::operations_research::OptionalBoolean use_path_lns() const
void set_use_relocate(::operations_research::OptionalBoolean value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators()
void set_use_exchange_subtrip(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_or_opt() const
::operations_research::OptionalBoolean use_cross_exchange() const
::operations_research::OptionalBoolean use_extended_swap_active() const
::operations_research::OptionalBoolean use_local_cheapest_insertion_path_lns() const
void set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
void clear_use_make_chain_inactive()
::operations_research::OptionalBoolean use_swap_active_chain() const
void set_use_make_chain_inactive(::operations_research::OptionalBoolean value)
void set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value)
void clear_use_relocate_subtrip()
void set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value)
void set_use_tsp_lns(::operations_research::OptionalBoolean value)
void CopyFrom(const RoutingSearchParameters &from)
void set_use_cp_sat(::operations_research::OptionalBoolean value)
void clear_optimization_step()
bool use_iterated_local_search() const
const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators & local_search_operators() const
void unsafe_arena_set_allocated_sat_parameters(::operations_research::sat::SatParameters *PROTOBUF_NULLABLE value)
void set_ls_operator_neighbors_ratio(double value)
::int32_t first_solution_optimization_period() const
::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NONNULL mutable_local_cheapest_cost_insertion_parameters()
bool guided_local_search_penalize_with_vehicle_classes() const
RoutingSearchParameters & operator=(const RoutingSearchParameters &from)
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SchedulingSolver_descriptor()
bool use_depth_first_search() const
void set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NULLABLE value)
void set_local_search_metaheuristics(int index, ::operations_research::LocalSearchMetaheuristic_Value value)
void unsafe_arena_set_allocated_global_cheapest_insertion_ls_operator_parameters(::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
void set_report_intermediate_cp_sat_solutions(bool value)
void set_optimization_step(double value)
void clear_savings_parameters()
const ::operations_research::GlobalCheapestInsertionParameters & global_cheapest_insertion_ls_operator_parameters() const
bool has_global_cheapest_insertion_first_solution_parameters() const
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NULLABLE unsafe_arena_release_local_search_operators()
void set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
::int32_t heuristic_expensive_chain_lns_num_arcs_to_consider() const
bool has_global_cheapest_insertion_ls_operator_parameters() const
static constexpr SchedulingSolver SchedulingSolver_MIN
void set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value)
void set_use_iterated_local_search(bool value)
void unsafe_arena_set_allocated_time_limit(::google::protobuf::Duration *PROTOBUF_NULLABLE value)
::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE release_local_cheapest_insertion_parameters()
const ::operations_research::LocalCheapestInsertionParameters & local_cheapest_insertion_parameters() const
bool use_multi_armed_bandit_concatenate_operators() const
void set_max_swap_active_chain_size(::int32_t value)
void clear_multi_armed_bandit_compound_operator_memory_coefficient()
::operations_research::sat::SatParameters *PROTOBUF_NONNULL mutable_sat_parameters()
::operations_research::SavingsParameters *PROTOBUF_NONNULL mutable_savings_parameters()
::operations_research::sat::SatParameters *PROTOBUF_NULLABLE unsafe_arena_release_sat_parameters()
void clear_local_search_metaheuristic()
void set_ls_operator_min_neighbors(::int32_t value)
::google::protobuf::Duration *PROTOBUF_NULLABLE release_lns_time_limit()
const ::operations_research::sat::SatParameters & sat_parameters() const
void clear_use_generalized_cp_sat()
::int32_t fallback_to_cp_sat_size_threshold() const
void clear_number_of_solutions_to_collect()
void clear_guided_local_search_reset_penalties_on_new_best_solution()
void unsafe_arena_set_allocated_global_cheapest_insertion_first_solution_parameters(::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
void unsafe_arena_set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NULLABLE value)
void set_allocated_savings_parameters(::operations_research::SavingsParameters *PROTOBUF_NULLABLE value)
bool use_guided_local_search_penalties_in_local_search_operators() const
double log_cost_offset() const
bool has_iterated_local_search_parameters() const
void set_guided_local_search_lambda_coefficient(double value)
void set_allocated_global_cheapest_insertion_first_solution_parameters(::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
RoutingSearchParameters()
void clear_use_guided_local_search_penalties_in_local_search_operators()
::int32_t relocate_expensive_chain_num_arcs_to_consider() const
bool has_sat_parameters() const
::operations_research::SavingsParameters *PROTOBUF_NULLABLE unsafe_arena_release_savings_parameters()
const ::operations_research::LocalCheapestInsertionParameters & local_cheapest_cost_insertion_parameters() const
void clear_disable_scheduling_beware_this_may_degrade_performance()
const ::operations_research::GlobalCheapestInsertionParameters & global_cheapest_insertion_first_solution_parameters() const
double log_cost_scaling_factor() const
::google::protobuf::Duration *PROTOBUF_NULLABLE release_time_limit()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
double secondary_ls_time_limit_ratio() const
void set_use_unfiltered_first_solution_strategy(bool value)
void set_allocated_log_tag(::std::string *PROTOBUF_NULLABLE value)
void set_allocated_global_cheapest_insertion_ls_operator_parameters(::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
void set_guided_local_search_penalize_with_vehicle_classes(bool value)
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NULLABLE release_local_search_operators()
void clear_log_cost_offset()
void set_allocated_local_cheapest_insertion_parameters(::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
void unsafe_arena_set_allocated_local_cheapest_cost_insertion_parameters(::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
::operations_research::LocalSearchMetaheuristic_Value local_search_metaheuristic() const
bool has_savings_parameters() const
::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NONNULL mutable_local_cheapest_insertion_parameters()
void set_use_guided_local_search_penalties_in_local_search_operators(bool value)
void clear_report_intermediate_cp_sat_solutions()
void clear_local_cheapest_cost_insertion_parameters()
void set_allocated_lns_time_limit(::google::protobuf::Duration *PROTOBUF_NULLABLE value)
RoutingSearchParameters_SchedulingSolver SchedulingSolver
void clear_global_cheapest_insertion_first_solution_parameters()
const ::google::protobuf::Duration & time_limit() const
void set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
void set_log_tag(Arg_ &&arg, Args_... args)
::operations_research::OptionalBoolean use_cp_sat() const
void clear_max_swap_active_chain_size()
::google::protobuf::RepeatedField< int > *PROTOBUF_NONNULL mutable_local_search_metaheuristics()
::int32_t max_swap_active_chain_size() const
double multi_armed_bandit_compound_operator_exploration_coefficient() const
::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE unsafe_arena_release_local_cheapest_cost_insertion_parameters()
bool use_full_propagation() const
void unsafe_arena_set_allocated_iterated_local_search_parameters(::operations_research::IteratedLocalSearchParameters *PROTOBUF_NULLABLE value)
void clear_global_cheapest_insertion_ls_operator_parameters()
bool report_intermediate_cp_sat_solutions() const
void set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value)
void clear_ls_operator_neighbors_ratio()
void clear_local_search_operators()
void set_heuristic_expensive_chain_lns_num_arcs_to_consider(::int32_t value)
::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE release_local_cheapest_cost_insertion_parameters()
::int32_t heuristic_close_nodes_lns_num_nodes() const
void clear_ls_operator_min_neighbors()
void clear_use_unfiltered_first_solution_strategy()
static constexpr SchedulingSolver SchedulingSolver_MAX
void set_use_multi_armed_bandit_concatenate_operators(bool value)
void set_allocated_time_limit(::google::protobuf::Duration *PROTOBUF_NULLABLE value)
::operations_research::LocalSearchMetaheuristic_Value local_search_metaheuristics(int index) const
void set_disable_scheduling_beware_this_may_degrade_performance(bool value)
::google::protobuf::Duration *PROTOBUF_NONNULL mutable_lns_time_limit()
void clear_sat_parameters()
::operations_research::RoutingSearchParameters_SchedulingSolver mixed_integer_scheduling_solver() const
::operations_research::sat::SatParameters *PROTOBUF_NULLABLE release_sat_parameters()
const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters & improvement_limit_parameters() const
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NONNULL mutable_improvement_limit_parameters()
const ::google::protobuf::RepeatedField< int > & local_search_metaheuristics() const
::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE unsafe_arena_release_local_cheapest_insertion_parameters()
::std::string *PROTOBUF_NULLABLE release_log_tag()
void set_allocated_local_cheapest_cost_insertion_parameters(::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
void clear_use_depth_first_search()
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NONNULL mutable_global_cheapest_insertion_first_solution_parameters()
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE release_global_cheapest_insertion_ls_operator_parameters()
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE unsafe_arena_release_global_cheapest_insertion_ls_operator_parameters()
void clear_iterated_local_search_parameters()
void MergeFrom(const RoutingSearchParameters &from)
void clear_num_max_local_optima_before_metaheuristic_switch()
::size_t ByteSizeLong() const final
void unsafe_arena_set_allocated_lns_time_limit(::google::protobuf::Duration *PROTOBUF_NULLABLE value)
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NULLABLE unsafe_arena_release_improvement_limit_parameters()
void set_relocate_expensive_chain_num_arcs_to_consider(::int32_t value)
void clear_relocate_expensive_chain_num_arcs_to_consider()
::google::protobuf::Duration *PROTOBUF_NULLABLE unsafe_arena_release_time_limit()
const ::operations_research::IteratedLocalSearchParameters & iterated_local_search_parameters() const
void set_guided_local_search_reset_penalties_on_new_best_solution(bool value)
const ::operations_research::SavingsParameters & savings_parameters() const
::int64_t solution_limit() const
void unsafe_arena_set_allocated_savings_parameters(::operations_research::SavingsParameters *PROTOBUF_NULLABLE value)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
void set_secondary_ls_time_limit_ratio(double value)
static bool SchedulingSolver_IsValid(int value)
void set_heuristic_close_nodes_lns_num_nodes(::int32_t value)
bool has_disable_scheduling_beware_this_may_degrade_performance() const
bool disable_scheduling_beware_this_may_degrade_performance() const
void clear_use_multi_armed_bandit_concatenate_operators()
void clear_solution_limit()
bool has_local_cheapest_insertion_parameters() const
bool has_time_limit() const
void clear_christofides_use_minimum_matching()
::int32_t ls_operator_min_neighbors() const
void set_christofides_use_minimum_matching(bool value)
void clear_guided_local_search_penalize_with_vehicle_classes()
void clear_log_cost_scaling_factor()
void clear_local_search_metaheuristics()
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE release_global_cheapest_insertion_first_solution_parameters()
void set_log_search(bool value)
void set_allocated_iterated_local_search_parameters(::operations_research::IteratedLocalSearchParameters *PROTOBUF_NULLABLE value)
int local_search_metaheuristics_size() const
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NONNULL mutable_local_search_operators()
void clear_secondary_ls_time_limit_ratio()
bool use_unfiltered_first_solution_strategy() const
void clear_fallback_to_cp_sat_size_threshold()
::int32_t number_of_solutions_to_collect() const
RoutingSearchParameters *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NULLABLE value)
::operations_research::RoutingSearchParameters_SchedulingSolver continuous_scheduling_solver() const
double multi_armed_bandit_compound_operator_memory_coefficient() const
void clear_guided_local_search_lambda_coefficient()
void set_first_solution_optimization_period(::int32_t value)
::operations_research::OptionalBoolean use_cp() const
void clear_heuristic_close_nodes_lns_num_nodes()
::operations_research::OptionalBoolean use_generalized_cp_sat() const
bool has_improvement_limit_parameters() const
void set_log_cost_scaling_factor(double value)
bool has_lns_time_limit() const
::int32_t num_max_local_optima_before_metaheuristic_switch() const
const ::std::string & log_tag() const
bool has_local_search_operators() const
bool christofides_use_minimum_matching() const
void set_num_max_local_optima_before_metaheuristic_switch(::int32_t value)
bool guided_local_search_reset_penalties_on_new_best_solution() const
void clear_multi_armed_bandit_compound_operator_exploration_coefficient()
void set_use_depth_first_search(bool value)
void clear_improvement_limit_parameters()
@ kUseGuidedLocalSearchPenaltiesInLocalSearchOperatorsFieldNumber
@ kLocalSearchOperatorsFieldNumber
@ kLsOperatorNeighborsRatioFieldNumber
@ kFirstSolutionOptimizationPeriodFieldNumber
@ kGuidedLocalSearchResetPenaltiesOnNewBestSolutionFieldNumber
@ kMixedIntegerSchedulingSolverFieldNumber
@ kMultiArmedBanditCompoundOperatorExplorationCoefficientFieldNumber
@ kNumMaxLocalOptimaBeforeMetaheuristicSwitchFieldNumber
@ kUseGeneralizedCpSatFieldNumber
@ kOptimizationStepFieldNumber
@ kGuidedLocalSearchPenalizeWithVehicleClassesFieldNumber
@ kHeuristicCloseNodesLnsNumNodesFieldNumber
@ kIteratedLocalSearchParametersFieldNumber
@ kChristofidesUseMinimumMatchingFieldNumber
@ kUseFullPropagationFieldNumber
@ kReportIntermediateCpSatSolutionsFieldNumber
@ kUseMultiArmedBanditConcatenateOperatorsFieldNumber
@ kNumberOfSolutionsToCollectFieldNumber
@ kUseDepthFirstSearchFieldNumber
@ kContinuousSchedulingSolverFieldNumber
@ kLocalCheapestCostInsertionParametersFieldNumber
@ kFirstSolutionStrategyFieldNumber
@ kSolutionLimitFieldNumber
@ kMaxSwapActiveChainSizeFieldNumber
@ kGuidedLocalSearchLambdaCoefficientFieldNumber
@ kSatParametersFieldNumber
@ kUseUnfilteredFirstSolutionStrategyFieldNumber
@ kGlobalCheapestInsertionLsOperatorParametersFieldNumber
@ kLocalCheapestInsertionParametersFieldNumber
@ kLocalSearchMetaheuristicFieldNumber
@ kImprovementLimitParametersFieldNumber
@ kDisableSchedulingBewareThisMayDegradePerformanceFieldNumber
@ kLogCostOffsetFieldNumber
@ kUseIteratedLocalSearchFieldNumber
@ kFallbackToCpSatSizeThresholdFieldNumber
@ kSavingsParametersFieldNumber
@ kLsOperatorMinNeighborsFieldNumber
@ kGlobalCheapestInsertionFirstSolutionParametersFieldNumber
@ kHeuristicExpensiveChainLnsNumArcsToConsiderFieldNumber
@ kLnsTimeLimitFieldNumber
@ kSecondaryLsTimeLimitRatioFieldNumber
@ kRelocateExpensiveChainNumArcsToConsiderFieldNumber
@ kLogCostScalingFactorFieldNumber
@ kLocalSearchMetaheuristicsFieldNumber
@ kMultiArmedBanditCompoundOperatorMemoryCoefficientFieldNumber
void clear_continuous_scheduling_solver()
void Swap(RoutingSearchParameters *PROTOBUF_NONNULL other)
void clear_heuristic_expensive_chain_lns_num_arcs_to_consider()
::operations_research::IteratedLocalSearchParameters *PROTOBUF_NULLABLE release_iterated_local_search_parameters()
::operations_research::IteratedLocalSearchParameters *PROTOBUF_NONNULL mutable_iterated_local_search_parameters()
::operations_research::IteratedLocalSearchParameters *PROTOBUF_NULLABLE unsafe_arena_release_iterated_local_search_parameters()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
static constexpr int SchedulingSolver_ARRAYSIZE
double guided_local_search_lambda_coefficient() const
double optimization_step() const
::google::protobuf::Duration *PROTOBUF_NULLABLE unsafe_arena_release_lns_time_limit()
bool IsInitialized() const
void clear_local_cheapest_insertion_parameters()
void set_number_of_solutions_to_collect(::int32_t value)
::google::protobuf::Duration *PROTOBUF_NONNULL mutable_time_limit()
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE unsafe_arena_release_global_cheapest_insertion_first_solution_parameters()
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NONNULL mutable_global_cheapest_insertion_ls_operator_parameters()
void set_multi_armed_bandit_compound_operator_memory_coefficient(double value)
double ls_operator_neighbors_ratio() const
static constexpr SchedulingSolver SCHEDULING_CP_SAT
void clear_lns_time_limit()
friend void swap(RoutingSearchParameters &a, RoutingSearchParameters &b)
void set_multi_armed_bandit_compound_operator_exploration_coefficient(double value)
void clear_use_full_propagation()
void clear_use_iterated_local_search()
::std::string *PROTOBUF_NONNULL mutable_log_tag()
void clear_first_solution_strategy()
void set_fallback_to_cp_sat_size_threshold(::int32_t value)
void clear_mixed_integer_scheduling_solver()
void add_local_search_metaheuristics(::operations_research::LocalSearchMetaheuristic_Value value)
void set_log_cost_offset(double value)
void set_allocated_sat_parameters(::operations_research::sat::SatParameters *PROTOBUF_NULLABLE value)
void set_use_cp(::operations_research::OptionalBoolean value)
void unsafe_arena_set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NULLABLE value)
void set_use_full_propagation(bool value)
::operations_research::FirstSolutionStrategy_Value first_solution_strategy() const
void unsafe_arena_set_allocated_local_cheapest_insertion_parameters(::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NULLABLE release_improvement_limit_parameters()
void set_use_generalized_cp_sat(::operations_research::OptionalBoolean value)
friend class ::google::protobuf::Arena
void set_solution_limit(::int64_t value)
bool has_local_cheapest_cost_insertion_parameters() const
const ::google::protobuf::Duration & lns_time_limit() const
void clear_first_solution_optimization_period()
static const ::std::string & SchedulingSolver_Name(T value)
::operations_research::SavingsParameters *PROTOBUF_NULLABLE release_savings_parameters()
::absl::string_view GetAnyMessageName()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::RoutingSearchParameters_SchedulingSolver >()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SatParametersDefaultTypeInternal _SatParameters_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutingModelParameters_class_data_
constexpr RoutingSearchParameters_SchedulingSolver RoutingSearchParameters_SchedulingSolver_SchedulingSolver_MIN
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IteratedLocalSearchParametersDefaultTypeInternal _IteratedLocalSearchParameters_default_instance_
PROTOBUF_CONSTINIT const uint32_t RoutingSearchParameters_SchedulingSolver_internal_data_[]
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GlobalCheapestInsertionParametersDefaultTypeInternal _GlobalCheapestInsertionParameters_default_instance_
bool RoutingSearchParameters_SchedulingSolver_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ConstraintSolverParametersDefaultTypeInternal _ConstraintSolverParameters_default_instance_
constexpr int RoutingSearchParameters_SchedulingSolver_SchedulingSolver_ARRAYSIZE
RoutingSearchParameters_SchedulingSolver
@ RoutingSearchParameters_SchedulingSolver_SCHEDULING_GLOP
@ RoutingSearchParameters_SchedulingSolver_SCHEDULING_CP_SAT
@ RoutingSearchParameters_SchedulingSolver_SCHEDULING_UNSET
@ RoutingSearchParameters_SchedulingSolver_RoutingSearchParameters_SchedulingSolver_INT_MIN_SENTINEL_DO_NOT_USE_
@ RoutingSearchParameters_SchedulingSolver_RoutingSearchParameters_SchedulingSolver_INT_MAX_SENTINEL_DO_NOT_USE_
LocalSearchMetaheuristic_Value
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_
bool RoutingSearchParameters_SchedulingSolver_Parse(::absl::string_view name, RoutingSearchParameters_SchedulingSolver *PROTOBUF_NONNULL value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SavingsParametersDefaultTypeInternal _SavingsParameters_default_instance_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL RoutingSearchParameters_SchedulingSolver_descriptor()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutingSearchParameters_ImprovementSearchLimitParameters_class_data_
const ::std::string & RoutingSearchParameters_SchedulingSolver_Name(T value)
constexpr RoutingSearchParameters_SchedulingSolver RoutingSearchParameters_SchedulingSolver_SchedulingSolver_MAX
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutingSearchParameters_LocalSearchNeighborhoodOperators_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LocalCheapestInsertionParametersDefaultTypeInternal _LocalCheapestInsertionParameters_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutingSearchParameters_class_data_
FirstSolutionStrategy_Value
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutingSearchParameters_ImprovementSearchLimitParametersDefaultTypeInternal _RoutingSearchParameters_ImprovementSearchLimitParameters_default_instance_
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto