OR-Tools  9.0
routing_parameters.pb.h
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/constraint_solver/routing_parameters.proto
3 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
6 
7 #include <limits>
8 #include <string>
9 
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3015000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
14 #error your headers.
15 #endif
16 #if 3015008 < PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21 
22 #include <google/protobuf/port_undef.inc>
23 #include <google/protobuf/io/coded_stream.h>
24 #include <google/protobuf/arena.h>
25 #include <google/protobuf/arenastring.h>
26 #include <google/protobuf/generated_message_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/metadata_lite.h>
29 #include <google/protobuf/generated_message_reflection.h>
30 #include <google/protobuf/message.h>
31 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
32 #include <google/protobuf/extension_set.h> // IWYU pragma: export
33 #include <google/protobuf/generated_enum_reflection.h>
34 #include <google/protobuf/unknown_field_set.h>
35 #include <google/protobuf/duration.pb.h>
39 // @@protoc_insertion_point(includes)
40 #include <google/protobuf/port_def.inc>
41 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
42 PROTOBUF_NAMESPACE_OPEN
43 namespace internal {
44 class AnyMetadata;
45 } // namespace internal
46 PROTOBUF_NAMESPACE_CLOSE
47 
48 // Internal implementation detail -- do not use these members.
50  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
51  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
52  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
53  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
54  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4]
55  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
56  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
57  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
58  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
59 };
60 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
62 namespace operations_research {
63 class RoutingModelParameters;
64 struct RoutingModelParametersDefaultTypeInternal;
65 extern RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_;
66 class RoutingSearchParameters;
67 struct RoutingSearchParametersDefaultTypeInternal;
68 extern RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_;
69 class RoutingSearchParameters_ImprovementSearchLimitParameters;
70 struct RoutingSearchParameters_ImprovementSearchLimitParametersDefaultTypeInternal;
71 extern RoutingSearchParameters_ImprovementSearchLimitParametersDefaultTypeInternal _RoutingSearchParameters_ImprovementSearchLimitParameters_default_instance_;
72 class RoutingSearchParameters_LocalSearchNeighborhoodOperators;
73 struct RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal;
74 extern RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_;
75 } // namespace operations_research
76 PROTOBUF_NAMESPACE_OPEN
77 template<> ::operations_research::RoutingModelParameters* Arena::CreateMaybeMessage<::operations_research::RoutingModelParameters>(Arena*);
78 template<> ::operations_research::RoutingSearchParameters* Arena::CreateMaybeMessage<::operations_research::RoutingSearchParameters>(Arena*);
79 template<> ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* Arena::CreateMaybeMessage<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters>(Arena*);
80 template<> ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* Arena::CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(Arena*);
81 PROTOBUF_NAMESPACE_CLOSE
82 namespace operations_research {
83 
90 };
95 
96 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RoutingSearchParameters_SchedulingSolver_descriptor();
97 template<typename T>
98 inline const std::string& RoutingSearchParameters_SchedulingSolver_Name(T enum_t_value) {
101  "Incorrect type passed to function RoutingSearchParameters_SchedulingSolver_Name.");
102  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
104 }
106  ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RoutingSearchParameters_SchedulingSolver* value) {
107  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<RoutingSearchParameters_SchedulingSolver>(
109 }
110 // ===================================================================
111 
112 class RoutingSearchParameters_LocalSearchNeighborhoodOperators PROTOBUF_FINAL :
113  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators) */ {
114  public:
115  inline RoutingSearchParameters_LocalSearchNeighborhoodOperators() : RoutingSearchParameters_LocalSearchNeighborhoodOperators(nullptr) {}
117  explicit constexpr RoutingSearchParameters_LocalSearchNeighborhoodOperators(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
118 
119  RoutingSearchParameters_LocalSearchNeighborhoodOperators(const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from);
120  RoutingSearchParameters_LocalSearchNeighborhoodOperators(RoutingSearchParameters_LocalSearchNeighborhoodOperators&& from) noexcept
121  : RoutingSearchParameters_LocalSearchNeighborhoodOperators() {
122  *this = ::std::move(from);
123  }
124 
125  inline RoutingSearchParameters_LocalSearchNeighborhoodOperators& operator=(const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from) {
126  CopyFrom(from);
127  return *this;
128  }
129  inline RoutingSearchParameters_LocalSearchNeighborhoodOperators& operator=(RoutingSearchParameters_LocalSearchNeighborhoodOperators&& from) noexcept {
130  if (GetArena() == from.GetArena()) {
131  if (this != &from) InternalSwap(&from);
132  } else {
133  CopyFrom(from);
134  }
135  return *this;
136  }
137 
138  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
139  return GetDescriptor();
140  }
141  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
142  return GetMetadataStatic().descriptor;
143  }
144  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
145  return GetMetadataStatic().reflection;
146  }
147  static const RoutingSearchParameters_LocalSearchNeighborhoodOperators& default_instance() {
148  return *internal_default_instance();
149  }
150  static inline const RoutingSearchParameters_LocalSearchNeighborhoodOperators* internal_default_instance() {
151  return reinterpret_cast<const RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(
153  }
154  static constexpr int kIndexInFileMessages =
155  0;
156 
157  friend void swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators& a, RoutingSearchParameters_LocalSearchNeighborhoodOperators& b) {
158  a.Swap(&b);
159  }
160  inline void Swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* other) {
161  if (other == this) return;
162  if (GetArena() == other->GetArena()) {
163  InternalSwap(other);
164  } else {
165  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
166  }
167  }
168  void UnsafeArenaSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* other) {
169  if (other == this) return;
170  GOOGLE_DCHECK(GetArena() == other->GetArena());
171  InternalSwap(other);
172  }
173 
174  // implements Message ----------------------------------------------
175 
176  inline RoutingSearchParameters_LocalSearchNeighborhoodOperators* New() const final {
177  return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(nullptr);
178  }
179 
180  RoutingSearchParameters_LocalSearchNeighborhoodOperators* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
181  return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(arena);
182  }
183  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
184  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
185  void CopyFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from);
186  void MergeFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from);
187  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
188  bool IsInitialized() const final;
189 
190  size_t ByteSizeLong() const final;
191  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
192  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
193  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
194  int GetCachedSize() const final { return _cached_size_.Get(); }
195 
196  private:
197  inline void SharedCtor();
198  inline void SharedDtor();
199  void SetCachedSize(int size) const final;
200  void InternalSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* other);
201  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
202  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
203  return "operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators";
204  }
205  protected:
206  explicit RoutingSearchParameters_LocalSearchNeighborhoodOperators(::PROTOBUF_NAMESPACE_ID::Arena* arena);
207  private:
208  static void ArenaDtor(void* object);
209  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
210  public:
211 
212  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
213  private:
214  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
216  }
217 
218  public:
219 
220  // nested types ----------------------------------------------------
221 
222  // accessors -------------------------------------------------------
223 
224  enum : int {
225  kUseRelocateFieldNumber = 1,
226  kUseRelocatePairFieldNumber = 2,
227  kUseRelocateNeighborsFieldNumber = 3,
228  kUseExchangeFieldNumber = 4,
229  kUseCrossFieldNumber = 5,
230  kUseCrossExchangeFieldNumber = 6,
231  kUseTwoOptFieldNumber = 7,
232  kUseOrOptFieldNumber = 8,
233  kUseLinKernighanFieldNumber = 9,
234  kUseTspOptFieldNumber = 10,
235  kUseMakeActiveFieldNumber = 11,
236  kUseMakeInactiveFieldNumber = 12,
237  kUseMakeChainInactiveFieldNumber = 13,
238  kUseSwapActiveFieldNumber = 14,
239  kUseExtendedSwapActiveFieldNumber = 15,
240  kUsePathLnsFieldNumber = 16,
241  kUseFullPathLnsFieldNumber = 17,
242  kUseTspLnsFieldNumber = 18,
243  kUseInactiveLnsFieldNumber = 19,
244  kUseNodePairSwapActiveFieldNumber = 20,
245  kUseRelocateAndMakeActiveFieldNumber = 21,
246  kUseExchangePairFieldNumber = 22,
247  kUseRelocateExpensiveChainFieldNumber = 23,
248  kUseLightRelocatePairFieldNumber = 24,
249  kUseRelocateSubtripFieldNumber = 25,
250  kUseExchangeSubtripFieldNumber = 26,
251  kUseGlobalCheapestInsertionPathLnsFieldNumber = 27,
252  kUseLocalCheapestInsertionPathLnsFieldNumber = 28,
253  kUseGlobalCheapestInsertionExpensiveChainLnsFieldNumber = 29,
254  kUseLocalCheapestInsertionExpensiveChainLnsFieldNumber = 30,
255  kUseGlobalCheapestInsertionCloseNodesLnsFieldNumber = 31,
256  kUseLocalCheapestInsertionCloseNodesLnsFieldNumber = 32,
257  kUseRelocatePathGlobalCheapestInsertionInsertUnperformedFieldNumber = 33,
258  };
259  // .operations_research.OptionalBoolean use_relocate = 1;
263  private:
264  ::operations_research::OptionalBoolean _internal_use_relocate() const;
265  void _internal_set_use_relocate(::operations_research::OptionalBoolean value);
266  public:
267 
268  // .operations_research.OptionalBoolean use_relocate_pair = 2;
272  private:
273  ::operations_research::OptionalBoolean _internal_use_relocate_pair() const;
274  void _internal_set_use_relocate_pair(::operations_research::OptionalBoolean value);
275  public:
276 
277  // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
281  private:
282  ::operations_research::OptionalBoolean _internal_use_relocate_neighbors() const;
283  void _internal_set_use_relocate_neighbors(::operations_research::OptionalBoolean value);
284  public:
285 
286  // .operations_research.OptionalBoolean use_exchange = 4;
290  private:
291  ::operations_research::OptionalBoolean _internal_use_exchange() const;
292  void _internal_set_use_exchange(::operations_research::OptionalBoolean value);
293  public:
294 
295  // .operations_research.OptionalBoolean use_cross = 5;
299  private:
300  ::operations_research::OptionalBoolean _internal_use_cross() const;
301  void _internal_set_use_cross(::operations_research::OptionalBoolean value);
302  public:
303 
304  // .operations_research.OptionalBoolean use_cross_exchange = 6;
308  private:
309  ::operations_research::OptionalBoolean _internal_use_cross_exchange() const;
310  void _internal_set_use_cross_exchange(::operations_research::OptionalBoolean value);
311  public:
312 
313  // .operations_research.OptionalBoolean use_two_opt = 7;
317  private:
318  ::operations_research::OptionalBoolean _internal_use_two_opt() const;
319  void _internal_set_use_two_opt(::operations_research::OptionalBoolean value);
320  public:
321 
322  // .operations_research.OptionalBoolean use_or_opt = 8;
326  private:
327  ::operations_research::OptionalBoolean _internal_use_or_opt() const;
328  void _internal_set_use_or_opt(::operations_research::OptionalBoolean value);
329  public:
330 
331  // .operations_research.OptionalBoolean use_lin_kernighan = 9;
335  private:
336  ::operations_research::OptionalBoolean _internal_use_lin_kernighan() const;
337  void _internal_set_use_lin_kernighan(::operations_research::OptionalBoolean value);
338  public:
339 
340  // .operations_research.OptionalBoolean use_tsp_opt = 10;
344  private:
345  ::operations_research::OptionalBoolean _internal_use_tsp_opt() const;
346  void _internal_set_use_tsp_opt(::operations_research::OptionalBoolean value);
347  public:
348 
349  // .operations_research.OptionalBoolean use_make_active = 11;
353  private:
354  ::operations_research::OptionalBoolean _internal_use_make_active() const;
355  void _internal_set_use_make_active(::operations_research::OptionalBoolean value);
356  public:
357 
358  // .operations_research.OptionalBoolean use_make_inactive = 12;
362  private:
363  ::operations_research::OptionalBoolean _internal_use_make_inactive() const;
364  void _internal_set_use_make_inactive(::operations_research::OptionalBoolean value);
365  public:
366 
367  // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
371  private:
372  ::operations_research::OptionalBoolean _internal_use_make_chain_inactive() const;
373  void _internal_set_use_make_chain_inactive(::operations_research::OptionalBoolean value);
374  public:
375 
376  // .operations_research.OptionalBoolean use_swap_active = 14;
380  private:
381  ::operations_research::OptionalBoolean _internal_use_swap_active() const;
382  void _internal_set_use_swap_active(::operations_research::OptionalBoolean value);
383  public:
384 
385  // .operations_research.OptionalBoolean use_extended_swap_active = 15;
389  private:
390  ::operations_research::OptionalBoolean _internal_use_extended_swap_active() const;
391  void _internal_set_use_extended_swap_active(::operations_research::OptionalBoolean value);
392  public:
393 
394  // .operations_research.OptionalBoolean use_path_lns = 16;
398  private:
399  ::operations_research::OptionalBoolean _internal_use_path_lns() const;
400  void _internal_set_use_path_lns(::operations_research::OptionalBoolean value);
401  public:
402 
403  // .operations_research.OptionalBoolean use_full_path_lns = 17;
407  private:
408  ::operations_research::OptionalBoolean _internal_use_full_path_lns() const;
409  void _internal_set_use_full_path_lns(::operations_research::OptionalBoolean value);
410  public:
411 
412  // .operations_research.OptionalBoolean use_tsp_lns = 18;
416  private:
417  ::operations_research::OptionalBoolean _internal_use_tsp_lns() const;
418  void _internal_set_use_tsp_lns(::operations_research::OptionalBoolean value);
419  public:
420 
421  // .operations_research.OptionalBoolean use_inactive_lns = 19;
425  private:
426  ::operations_research::OptionalBoolean _internal_use_inactive_lns() const;
427  void _internal_set_use_inactive_lns(::operations_research::OptionalBoolean value);
428  public:
429 
430  // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
434  private:
435  ::operations_research::OptionalBoolean _internal_use_node_pair_swap_active() const;
436  void _internal_set_use_node_pair_swap_active(::operations_research::OptionalBoolean value);
437  public:
438 
439  // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
443  private:
444  ::operations_research::OptionalBoolean _internal_use_relocate_and_make_active() const;
445  void _internal_set_use_relocate_and_make_active(::operations_research::OptionalBoolean value);
446  public:
447 
448  // .operations_research.OptionalBoolean use_exchange_pair = 22;
452  private:
453  ::operations_research::OptionalBoolean _internal_use_exchange_pair() const;
454  void _internal_set_use_exchange_pair(::operations_research::OptionalBoolean value);
455  public:
456 
457  // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
461  private:
462  ::operations_research::OptionalBoolean _internal_use_relocate_expensive_chain() const;
463  void _internal_set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value);
464  public:
465 
466  // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
470  private:
471  ::operations_research::OptionalBoolean _internal_use_light_relocate_pair() const;
472  void _internal_set_use_light_relocate_pair(::operations_research::OptionalBoolean value);
473  public:
474 
475  // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
479  private:
480  ::operations_research::OptionalBoolean _internal_use_relocate_subtrip() const;
481  void _internal_set_use_relocate_subtrip(::operations_research::OptionalBoolean value);
482  public:
483 
484  // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
488  private:
489  ::operations_research::OptionalBoolean _internal_use_exchange_subtrip() const;
490  void _internal_set_use_exchange_subtrip(::operations_research::OptionalBoolean value);
491  public:
492 
493  // .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
497  private:
498  ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_path_lns() const;
499  void _internal_set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
500  public:
501 
502  // .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
506  private:
507  ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_path_lns() const;
508  void _internal_set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
509  public:
510 
511  // .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
515  private:
516  ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_expensive_chain_lns() const;
517  void _internal_set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
518  public:
519 
520  // .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
524  private:
525  ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_expensive_chain_lns() const;
526  void _internal_set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
527  public:
528 
529  // .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
533  private:
534  ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_close_nodes_lns() const;
535  void _internal_set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value);
536  public:
537 
538  // .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
542  private:
543  ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_close_nodes_lns() const;
544  void _internal_set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value);
545  public:
546 
547  // .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
551  private:
552  ::operations_research::OptionalBoolean _internal_use_relocate_path_global_cheapest_insertion_insert_unperformed() const;
553  void _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value);
554  public:
555 
556  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
557  private:
558  class _Internal;
559 
560  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
561  typedef void InternalArenaConstructable_;
562  typedef void DestructorSkippable_;
563  int use_relocate_;
564  int use_relocate_pair_;
565  int use_relocate_neighbors_;
566  int use_exchange_;
567  int use_cross_;
568  int use_cross_exchange_;
569  int use_two_opt_;
570  int use_or_opt_;
571  int use_lin_kernighan_;
572  int use_tsp_opt_;
573  int use_make_active_;
574  int use_make_inactive_;
575  int use_make_chain_inactive_;
576  int use_swap_active_;
577  int use_extended_swap_active_;
578  int use_path_lns_;
579  int use_full_path_lns_;
580  int use_tsp_lns_;
581  int use_inactive_lns_;
582  int use_node_pair_swap_active_;
583  int use_relocate_and_make_active_;
584  int use_exchange_pair_;
585  int use_relocate_expensive_chain_;
586  int use_light_relocate_pair_;
587  int use_relocate_subtrip_;
588  int use_exchange_subtrip_;
589  int use_global_cheapest_insertion_path_lns_;
590  int use_local_cheapest_insertion_path_lns_;
591  int use_global_cheapest_insertion_expensive_chain_lns_;
592  int use_local_cheapest_insertion_expensive_chain_lns_;
593  int use_global_cheapest_insertion_close_nodes_lns_;
594  int use_local_cheapest_insertion_close_nodes_lns_;
595  int use_relocate_path_global_cheapest_insertion_insert_unperformed_;
596  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
597  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
598 };
599 // -------------------------------------------------------------------
600 
601 class RoutingSearchParameters_ImprovementSearchLimitParameters PROTOBUF_FINAL :
602  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters) */ {
603  public:
604  inline RoutingSearchParameters_ImprovementSearchLimitParameters() : RoutingSearchParameters_ImprovementSearchLimitParameters(nullptr) {}
606  explicit constexpr RoutingSearchParameters_ImprovementSearchLimitParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
607 
608  RoutingSearchParameters_ImprovementSearchLimitParameters(const RoutingSearchParameters_ImprovementSearchLimitParameters& from);
609  RoutingSearchParameters_ImprovementSearchLimitParameters(RoutingSearchParameters_ImprovementSearchLimitParameters&& from) noexcept
610  : RoutingSearchParameters_ImprovementSearchLimitParameters() {
611  *this = ::std::move(from);
612  }
613 
614  inline RoutingSearchParameters_ImprovementSearchLimitParameters& operator=(const RoutingSearchParameters_ImprovementSearchLimitParameters& from) {
615  CopyFrom(from);
616  return *this;
617  }
618  inline RoutingSearchParameters_ImprovementSearchLimitParameters& operator=(RoutingSearchParameters_ImprovementSearchLimitParameters&& from) noexcept {
619  if (GetArena() == from.GetArena()) {
620  if (this != &from) InternalSwap(&from);
621  } else {
622  CopyFrom(from);
623  }
624  return *this;
625  }
626 
627  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
628  return GetDescriptor();
629  }
630  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
631  return GetMetadataStatic().descriptor;
632  }
633  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
634  return GetMetadataStatic().reflection;
635  }
636  static const RoutingSearchParameters_ImprovementSearchLimitParameters& default_instance() {
637  return *internal_default_instance();
638  }
639  static inline const RoutingSearchParameters_ImprovementSearchLimitParameters* internal_default_instance() {
640  return reinterpret_cast<const RoutingSearchParameters_ImprovementSearchLimitParameters*>(
642  }
643  static constexpr int kIndexInFileMessages =
644  1;
645 
646  friend void swap(RoutingSearchParameters_ImprovementSearchLimitParameters& a, RoutingSearchParameters_ImprovementSearchLimitParameters& b) {
647  a.Swap(&b);
648  }
649  inline void Swap(RoutingSearchParameters_ImprovementSearchLimitParameters* other) {
650  if (other == this) return;
651  if (GetArena() == other->GetArena()) {
652  InternalSwap(other);
653  } else {
654  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
655  }
656  }
657  void UnsafeArenaSwap(RoutingSearchParameters_ImprovementSearchLimitParameters* other) {
658  if (other == this) return;
659  GOOGLE_DCHECK(GetArena() == other->GetArena());
660  InternalSwap(other);
661  }
662 
663  // implements Message ----------------------------------------------
664 
665  inline RoutingSearchParameters_ImprovementSearchLimitParameters* New() const final {
666  return CreateMaybeMessage<RoutingSearchParameters_ImprovementSearchLimitParameters>(nullptr);
667  }
668 
669  RoutingSearchParameters_ImprovementSearchLimitParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
670  return CreateMaybeMessage<RoutingSearchParameters_ImprovementSearchLimitParameters>(arena);
671  }
672  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
673  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
674  void CopyFrom(const RoutingSearchParameters_ImprovementSearchLimitParameters& from);
675  void MergeFrom(const RoutingSearchParameters_ImprovementSearchLimitParameters& from);
676  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
677  bool IsInitialized() const final;
678 
679  size_t ByteSizeLong() const final;
680  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
681  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
682  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
683  int GetCachedSize() const final { return _cached_size_.Get(); }
684 
685  private:
686  inline void SharedCtor();
687  inline void SharedDtor();
688  void SetCachedSize(int size) const final;
689  void InternalSwap(RoutingSearchParameters_ImprovementSearchLimitParameters* other);
690  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
691  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
692  return "operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters";
693  }
694  protected:
695  explicit RoutingSearchParameters_ImprovementSearchLimitParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena);
696  private:
697  static void ArenaDtor(void* object);
698  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
699  public:
700 
701  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
702  private:
703  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
705  }
706 
707  public:
708 
709  // nested types ----------------------------------------------------
710 
711  // accessors -------------------------------------------------------
712 
713  enum : int {
714  kImprovementRateSolutionsDistanceFieldNumber = 39,
715  kImprovementRateCoefficientFieldNumber = 38,
716  };
717  // int32 improvement_rate_solutions_distance = 39;
719  ::PROTOBUF_NAMESPACE_ID::int32 improvement_rate_solutions_distance() const;
720  void set_improvement_rate_solutions_distance(::PROTOBUF_NAMESPACE_ID::int32 value);
721  private:
722  ::PROTOBUF_NAMESPACE_ID::int32 _internal_improvement_rate_solutions_distance() const;
723  void _internal_set_improvement_rate_solutions_distance(::PROTOBUF_NAMESPACE_ID::int32 value);
724  public:
725 
726  // double improvement_rate_coefficient = 38;
730  private:
731  double _internal_improvement_rate_coefficient() const;
732  void _internal_set_improvement_rate_coefficient(double value);
733  public:
734 
735  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
736  private:
737  class _Internal;
738 
739  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
740  typedef void InternalArenaConstructable_;
741  typedef void DestructorSkippable_;
742  ::PROTOBUF_NAMESPACE_ID::int32 improvement_rate_solutions_distance_;
743  double improvement_rate_coefficient_;
744  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
745  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
746 };
747 // -------------------------------------------------------------------
748 
749 class RoutingSearchParameters PROTOBUF_FINAL :
750  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters) */ {
751  public:
752  inline RoutingSearchParameters() : RoutingSearchParameters(nullptr) {}
754  explicit constexpr RoutingSearchParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
755 
756  RoutingSearchParameters(const RoutingSearchParameters& from);
757  RoutingSearchParameters(RoutingSearchParameters&& from) noexcept
758  : RoutingSearchParameters() {
759  *this = ::std::move(from);
760  }
761 
762  inline RoutingSearchParameters& operator=(const RoutingSearchParameters& from) {
763  CopyFrom(from);
764  return *this;
765  }
766  inline RoutingSearchParameters& operator=(RoutingSearchParameters&& from) noexcept {
767  if (GetArena() == from.GetArena()) {
768  if (this != &from) InternalSwap(&from);
769  } else {
770  CopyFrom(from);
771  }
772  return *this;
773  }
774 
775  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
776  return GetDescriptor();
777  }
778  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
779  return GetMetadataStatic().descriptor;
780  }
781  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
782  return GetMetadataStatic().reflection;
783  }
784  static const RoutingSearchParameters& default_instance() {
785  return *internal_default_instance();
786  }
787  static inline const RoutingSearchParameters* internal_default_instance() {
788  return reinterpret_cast<const RoutingSearchParameters*>(
790  }
791  static constexpr int kIndexInFileMessages =
792  2;
793 
794  friend void swap(RoutingSearchParameters& a, RoutingSearchParameters& b) {
795  a.Swap(&b);
796  }
797  inline void Swap(RoutingSearchParameters* other) {
798  if (other == this) return;
799  if (GetArena() == other->GetArena()) {
800  InternalSwap(other);
801  } else {
802  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
803  }
804  }
805  void UnsafeArenaSwap(RoutingSearchParameters* other) {
806  if (other == this) return;
807  GOOGLE_DCHECK(GetArena() == other->GetArena());
808  InternalSwap(other);
809  }
810 
811  // implements Message ----------------------------------------------
812 
813  inline RoutingSearchParameters* New() const final {
814  return CreateMaybeMessage<RoutingSearchParameters>(nullptr);
815  }
816 
817  RoutingSearchParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
818  return CreateMaybeMessage<RoutingSearchParameters>(arena);
819  }
820  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
821  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
822  void CopyFrom(const RoutingSearchParameters& from);
823  void MergeFrom(const RoutingSearchParameters& from);
824  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
825  bool IsInitialized() const final;
826 
827  size_t ByteSizeLong() const final;
828  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
829  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
830  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
831  int GetCachedSize() const final { return _cached_size_.Get(); }
832 
833  private:
834  inline void SharedCtor();
835  inline void SharedDtor();
836  void SetCachedSize(int size) const final;
837  void InternalSwap(RoutingSearchParameters* other);
838  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
839  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
840  return "operations_research.RoutingSearchParameters";
841  }
842  protected:
843  explicit RoutingSearchParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena);
844  private:
845  static void ArenaDtor(void* object);
846  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
847  public:
848 
849  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
850  private:
851  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
853  }
854 
855  public:
856 
857  // nested types ----------------------------------------------------
858 
859  typedef RoutingSearchParameters_LocalSearchNeighborhoodOperators LocalSearchNeighborhoodOperators;
860  typedef RoutingSearchParameters_ImprovementSearchLimitParameters ImprovementSearchLimitParameters;
861 
863  static constexpr SchedulingSolver UNSET =
865  static constexpr SchedulingSolver GLOP =
867  static constexpr SchedulingSolver CP_SAT =
869  static inline bool SchedulingSolver_IsValid(int value) {
871  }
872  static constexpr SchedulingSolver SchedulingSolver_MIN =
874  static constexpr SchedulingSolver SchedulingSolver_MAX =
876  static constexpr int SchedulingSolver_ARRAYSIZE =
878  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
881  }
882  template<typename T>
883  static inline const std::string& SchedulingSolver_Name(T enum_t_value) {
886  "Incorrect type passed to function SchedulingSolver_Name.");
888  }
889  static inline bool SchedulingSolver_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
892  }
893 
894  // accessors -------------------------------------------------------
895 
896  enum : int {
897  kLogTagFieldNumber = 36,
898  kLocalSearchOperatorsFieldNumber = 3,
899  kTimeLimitFieldNumber = 9,
900  kLnsTimeLimitFieldNumber = 10,
901  kImprovementLimitParametersFieldNumber = 37,
902  kFirstSolutionStrategyFieldNumber = 1,
903  kLocalSearchMetaheuristicFieldNumber = 4,
904  kGuidedLocalSearchLambdaCoefficientFieldNumber = 5,
905  kOptimizationStepFieldNumber = 7,
906  kSolutionLimitFieldNumber = 8,
907  kUseFullPropagationFieldNumber = 11,
908  kLogSearchFieldNumber = 13,
909  kNumberOfSolutionsToCollectFieldNumber = 17,
910  kSavingsNeighborsRatioFieldNumber = 14,
911  kCheapestInsertionFarthestSeedsRatioFieldNumber = 16,
912  kSavingsArcCoefficientFieldNumber = 18,
913  kRelocateExpensiveChainNumArcsToConsiderFieldNumber = 20,
914  kUseUnfilteredFirstSolutionStrategyFieldNumber = 2,
915  kSavingsAddReverseArcsFieldNumber = 15,
916  kSavingsParallelRoutesFieldNumber = 19,
917  kCheapestInsertionFirstSolutionUseNeighborsRatioForInitializationFieldNumber = 46,
918  kCheapestInsertionFirstSolutionNeighborsRatioFieldNumber = 21,
919  kLogCostScalingFactorFieldNumber = 22,
920  kSavingsMaxMemoryUsageBytesFieldNumber = 23,
921  kUseCpSatFieldNumber = 27,
922  kUseCpFieldNumber = 28,
923  kLogCostOffsetFieldNumber = 29,
924  kCheapestInsertionAddUnperformedEntriesFieldNumber = 40,
925  kChristofidesUseMinimumMatchingFieldNumber = 30,
926  kUseMultiArmedBanditConcatenateOperatorsFieldNumber = 41,
927  kUseDepthFirstSearchFieldNumber = 6,
928  kHeuristicExpensiveChainLnsNumArcsToConsiderFieldNumber = 32,
929  kCheapestInsertionLsOperatorNeighborsRatioFieldNumber = 31,
930  kContinuousSchedulingSolverFieldNumber = 33,
931  kMixedIntegerSchedulingSolverFieldNumber = 34,
932  kHeuristicCloseNodesLnsNumNodesFieldNumber = 35,
933  kCheapestInsertionFirstSolutionMinNeighborsFieldNumber = 44,
934  kCheapestInsertionLsOperatorMinNeighborsFieldNumber = 45,
935  kMultiArmedBanditCompoundOperatorMemoryCoefficientFieldNumber = 42,
936  kMultiArmedBanditCompoundOperatorExplorationCoefficientFieldNumber = 43,
937  };
938  // string log_tag = 36;
940  const std::string& log_tag() const;
941  void set_log_tag(const std::string& value);
942  void set_log_tag(std::string&& value);
943  void set_log_tag(const char* value);
944  void set_log_tag(const char* value, size_t size);
945  std::string* mutable_log_tag();
946  std::string* release_log_tag();
947  void set_allocated_log_tag(std::string* log_tag);
948  private:
949  const std::string& _internal_log_tag() const;
950  void _internal_set_log_tag(const std::string& value);
951  std::string* _internal_mutable_log_tag();
952  public:
953 
954  // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
956  private:
957  bool _internal_has_local_search_operators() const;
958  public:
960  const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& local_search_operators() const;
961  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* release_local_search_operators();
962  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* mutable_local_search_operators();
963  void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* local_search_operators);
964  private:
965  const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& _internal_local_search_operators() const;
966  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* _internal_mutable_local_search_operators();
967  public:
969  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* local_search_operators);
970  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* unsafe_arena_release_local_search_operators();
971 
972  // .google.protobuf.Duration time_limit = 9;
973  bool has_time_limit() const;
974  private:
975  bool _internal_has_time_limit() const;
976  public:
978  const PROTOBUF_NAMESPACE_ID::Duration& time_limit() const;
979  PROTOBUF_NAMESPACE_ID::Duration* release_time_limit();
980  PROTOBUF_NAMESPACE_ID::Duration* mutable_time_limit();
981  void set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration* time_limit);
982  private:
983  const PROTOBUF_NAMESPACE_ID::Duration& _internal_time_limit() const;
984  PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_time_limit();
985  public:
987  PROTOBUF_NAMESPACE_ID::Duration* time_limit);
988  PROTOBUF_NAMESPACE_ID::Duration* unsafe_arena_release_time_limit();
989 
990  // .google.protobuf.Duration lns_time_limit = 10;
991  bool has_lns_time_limit() const;
992  private:
993  bool _internal_has_lns_time_limit() const;
994  public:
996  const PROTOBUF_NAMESPACE_ID::Duration& lns_time_limit() const;
997  PROTOBUF_NAMESPACE_ID::Duration* release_lns_time_limit();
998  PROTOBUF_NAMESPACE_ID::Duration* mutable_lns_time_limit();
999  void set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit);
1000  private:
1001  const PROTOBUF_NAMESPACE_ID::Duration& _internal_lns_time_limit() const;
1002  PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_lns_time_limit();
1003  public:
1005  PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit);
1006  PROTOBUF_NAMESPACE_ID::Duration* unsafe_arena_release_lns_time_limit();
1007 
1008  // .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
1010  private:
1011  bool _internal_has_improvement_limit_parameters() const;
1012  public:
1014  const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& improvement_limit_parameters() const;
1015  ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* release_improvement_limit_parameters();
1016  ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* mutable_improvement_limit_parameters();
1017  void set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* improvement_limit_parameters);
1018  private:
1019  const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& _internal_improvement_limit_parameters() const;
1020  ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* _internal_mutable_improvement_limit_parameters();
1021  public:
1023  ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* improvement_limit_parameters);
1024  ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* unsafe_arena_release_improvement_limit_parameters();
1025 
1026  // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
1030  private:
1031  ::operations_research::FirstSolutionStrategy_Value _internal_first_solution_strategy() const;
1032  void _internal_set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value);
1033  public:
1034 
1035  // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
1039  private:
1040  ::operations_research::LocalSearchMetaheuristic_Value _internal_local_search_metaheuristic() const;
1041  void _internal_set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value);
1042  public:
1043 
1044  // double guided_local_search_lambda_coefficient = 5;
1048  private:
1049  double _internal_guided_local_search_lambda_coefficient() const;
1050  void _internal_set_guided_local_search_lambda_coefficient(double value);
1051  public:
1052 
1053  // double optimization_step = 7;
1055  double optimization_step() const;
1057  private:
1058  double _internal_optimization_step() const;
1059  void _internal_set_optimization_step(double value);
1060  public:
1061 
1062  // int64 solution_limit = 8;
1064  ::PROTOBUF_NAMESPACE_ID::int64 solution_limit() const;
1065  void set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value);
1066  private:
1067  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_limit() const;
1068  void _internal_set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value);
1069  public:
1070 
1071  // bool use_full_propagation = 11;
1073  bool use_full_propagation() const;
1075  private:
1076  bool _internal_use_full_propagation() const;
1077  void _internal_set_use_full_propagation(bool value);
1078  public:
1079 
1080  // bool log_search = 13;
1082  bool log_search() const;
1083  void set_log_search(bool value);
1084  private:
1085  bool _internal_log_search() const;
1086  void _internal_set_log_search(bool value);
1087  public:
1088 
1089  // int32 number_of_solutions_to_collect = 17;
1091  ::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect() const;
1092  void set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value);
1093  private:
1094  ::PROTOBUF_NAMESPACE_ID::int32 _internal_number_of_solutions_to_collect() const;
1095  void _internal_set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value);
1096  public:
1097 
1098  // double savings_neighbors_ratio = 14;
1100  double savings_neighbors_ratio() const;
1102  private:
1103  double _internal_savings_neighbors_ratio() const;
1104  void _internal_set_savings_neighbors_ratio(double value);
1105  public:
1106 
1107  // double cheapest_insertion_farthest_seeds_ratio = 16;
1111  private:
1112  double _internal_cheapest_insertion_farthest_seeds_ratio() const;
1113  void _internal_set_cheapest_insertion_farthest_seeds_ratio(double value);
1114  public:
1115 
1116  // double savings_arc_coefficient = 18;
1118  double savings_arc_coefficient() const;
1120  private:
1121  double _internal_savings_arc_coefficient() const;
1122  void _internal_set_savings_arc_coefficient(double value);
1123  public:
1124 
1125  // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
1127  ::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider() const;
1128  void set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
1129  private:
1130  ::PROTOBUF_NAMESPACE_ID::int32 _internal_relocate_expensive_chain_num_arcs_to_consider() const;
1131  void _internal_set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
1132  public:
1133 
1134  // bool use_unfiltered_first_solution_strategy = 2;
1138  private:
1139  bool _internal_use_unfiltered_first_solution_strategy() const;
1140  void _internal_set_use_unfiltered_first_solution_strategy(bool value);
1141  public:
1142 
1143  // bool savings_add_reverse_arcs = 15;
1147  private:
1148  bool _internal_savings_add_reverse_arcs() const;
1149  void _internal_set_savings_add_reverse_arcs(bool value);
1150  public:
1151 
1152  // bool savings_parallel_routes = 19;
1156  private:
1157  bool _internal_savings_parallel_routes() const;
1158  void _internal_set_savings_parallel_routes(bool value);
1159  public:
1160 
1161  // bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
1165  private:
1166  bool _internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() const;
1167  void _internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value);
1168  public:
1169 
1170  // double cheapest_insertion_first_solution_neighbors_ratio = 21;
1174  private:
1175  double _internal_cheapest_insertion_first_solution_neighbors_ratio() const;
1176  void _internal_set_cheapest_insertion_first_solution_neighbors_ratio(double value);
1177  public:
1178 
1179  // double log_cost_scaling_factor = 22;
1181  double log_cost_scaling_factor() const;
1183  private:
1184  double _internal_log_cost_scaling_factor() const;
1185  void _internal_set_log_cost_scaling_factor(double value);
1186  public:
1187 
1188  // double savings_max_memory_usage_bytes = 23;
1192  private:
1193  double _internal_savings_max_memory_usage_bytes() const;
1194  void _internal_set_savings_max_memory_usage_bytes(double value);
1195  public:
1196 
1197  // .operations_research.OptionalBoolean use_cp_sat = 27;
1201  private:
1202  ::operations_research::OptionalBoolean _internal_use_cp_sat() const;
1203  void _internal_set_use_cp_sat(::operations_research::OptionalBoolean value);
1204  public:
1205 
1206  // .operations_research.OptionalBoolean use_cp = 28;
1210  private:
1211  ::operations_research::OptionalBoolean _internal_use_cp() const;
1212  void _internal_set_use_cp(::operations_research::OptionalBoolean value);
1213  public:
1214 
1215  // double log_cost_offset = 29;
1217  double log_cost_offset() const;
1219  private:
1220  double _internal_log_cost_offset() const;
1221  void _internal_set_log_cost_offset(double value);
1222  public:
1223 
1224  // bool cheapest_insertion_add_unperformed_entries = 40;
1228  private:
1229  bool _internal_cheapest_insertion_add_unperformed_entries() const;
1230  void _internal_set_cheapest_insertion_add_unperformed_entries(bool value);
1231  public:
1232 
1233  // bool christofides_use_minimum_matching = 30;
1237  private:
1238  bool _internal_christofides_use_minimum_matching() const;
1239  void _internal_set_christofides_use_minimum_matching(bool value);
1240  public:
1241 
1242  // bool use_multi_armed_bandit_concatenate_operators = 41;
1246  private:
1247  bool _internal_use_multi_armed_bandit_concatenate_operators() const;
1248  void _internal_set_use_multi_armed_bandit_concatenate_operators(bool value);
1249  public:
1250 
1251  // bool use_depth_first_search = 6;
1255  private:
1256  bool _internal_use_depth_first_search() const;
1257  void _internal_set_use_depth_first_search(bool value);
1258  public:
1259 
1260  // int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
1262  ::PROTOBUF_NAMESPACE_ID::int32 heuristic_expensive_chain_lns_num_arcs_to_consider() const;
1264  private:
1265  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heuristic_expensive_chain_lns_num_arcs_to_consider() const;
1266  void _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
1267  public:
1268 
1269  // double cheapest_insertion_ls_operator_neighbors_ratio = 31;
1273  private:
1274  double _internal_cheapest_insertion_ls_operator_neighbors_ratio() const;
1275  void _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(double value);
1276  public:
1277 
1278  // .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
1282  private:
1283  ::operations_research::RoutingSearchParameters_SchedulingSolver _internal_continuous_scheduling_solver() const;
1284  void _internal_set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1285  public:
1286 
1287  // .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
1291  private:
1292  ::operations_research::RoutingSearchParameters_SchedulingSolver _internal_mixed_integer_scheduling_solver() const;
1293  void _internal_set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1294  public:
1295 
1296  // int32 heuristic_close_nodes_lns_num_nodes = 35;
1298  ::PROTOBUF_NAMESPACE_ID::int32 heuristic_close_nodes_lns_num_nodes() const;
1299  void set_heuristic_close_nodes_lns_num_nodes(::PROTOBUF_NAMESPACE_ID::int32 value);
1300  private:
1301  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heuristic_close_nodes_lns_num_nodes() const;
1302  void _internal_set_heuristic_close_nodes_lns_num_nodes(::PROTOBUF_NAMESPACE_ID::int32 value);
1303  public:
1304 
1305  // int32 cheapest_insertion_first_solution_min_neighbors = 44;
1307  ::PROTOBUF_NAMESPACE_ID::int32 cheapest_insertion_first_solution_min_neighbors() const;
1308  void set_cheapest_insertion_first_solution_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value);
1309  private:
1310  ::PROTOBUF_NAMESPACE_ID::int32 _internal_cheapest_insertion_first_solution_min_neighbors() const;
1311  void _internal_set_cheapest_insertion_first_solution_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value);
1312  public:
1313 
1314  // int32 cheapest_insertion_ls_operator_min_neighbors = 45;
1316  ::PROTOBUF_NAMESPACE_ID::int32 cheapest_insertion_ls_operator_min_neighbors() const;
1317  void set_cheapest_insertion_ls_operator_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value);
1318  private:
1319  ::PROTOBUF_NAMESPACE_ID::int32 _internal_cheapest_insertion_ls_operator_min_neighbors() const;
1320  void _internal_set_cheapest_insertion_ls_operator_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value);
1321  public:
1322 
1323  // double multi_armed_bandit_compound_operator_memory_coefficient = 42;
1327  private:
1328  double _internal_multi_armed_bandit_compound_operator_memory_coefficient() const;
1329  void _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(double value);
1330  public:
1331 
1332  // double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
1336  private:
1337  double _internal_multi_armed_bandit_compound_operator_exploration_coefficient() const;
1338  void _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(double value);
1339  public:
1340 
1341  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
1342  private:
1343  class _Internal;
1344 
1345  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1346  typedef void InternalArenaConstructable_;
1347  typedef void DestructorSkippable_;
1348  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr log_tag_;
1349  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* local_search_operators_;
1350  PROTOBUF_NAMESPACE_ID::Duration* time_limit_;
1351  PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit_;
1352  ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* improvement_limit_parameters_;
1353  int first_solution_strategy_;
1354  int local_search_metaheuristic_;
1355  double guided_local_search_lambda_coefficient_;
1356  double optimization_step_;
1357  ::PROTOBUF_NAMESPACE_ID::int64 solution_limit_;
1358  bool use_full_propagation_;
1359  bool log_search_;
1360  ::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect_;
1361  double savings_neighbors_ratio_;
1362  double cheapest_insertion_farthest_seeds_ratio_;
1363  double savings_arc_coefficient_;
1364  ::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider_;
1365  bool use_unfiltered_first_solution_strategy_;
1366  bool savings_add_reverse_arcs_;
1367  bool savings_parallel_routes_;
1368  bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_;
1369  double cheapest_insertion_first_solution_neighbors_ratio_;
1370  double log_cost_scaling_factor_;
1371  double savings_max_memory_usage_bytes_;
1372  int use_cp_sat_;
1373  int use_cp_;
1374  double log_cost_offset_;
1375  bool cheapest_insertion_add_unperformed_entries_;
1376  bool christofides_use_minimum_matching_;
1377  bool use_multi_armed_bandit_concatenate_operators_;
1378  bool use_depth_first_search_;
1379  ::PROTOBUF_NAMESPACE_ID::int32 heuristic_expensive_chain_lns_num_arcs_to_consider_;
1380  double cheapest_insertion_ls_operator_neighbors_ratio_;
1381  int continuous_scheduling_solver_;
1382  int mixed_integer_scheduling_solver_;
1383  ::PROTOBUF_NAMESPACE_ID::int32 heuristic_close_nodes_lns_num_nodes_;
1384  ::PROTOBUF_NAMESPACE_ID::int32 cheapest_insertion_first_solution_min_neighbors_;
1385  ::PROTOBUF_NAMESPACE_ID::int32 cheapest_insertion_ls_operator_min_neighbors_;
1386  double multi_armed_bandit_compound_operator_memory_coefficient_;
1387  double multi_armed_bandit_compound_operator_exploration_coefficient_;
1388  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1389  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1390 };
1391 // -------------------------------------------------------------------
1392 
1393 class RoutingModelParameters PROTOBUF_FINAL :
1394  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingModelParameters) */ {
1395  public:
1396  inline RoutingModelParameters() : RoutingModelParameters(nullptr) {}
1398  explicit constexpr RoutingModelParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1399 
1400  RoutingModelParameters(const RoutingModelParameters& from);
1401  RoutingModelParameters(RoutingModelParameters&& from) noexcept
1402  : RoutingModelParameters() {
1403  *this = ::std::move(from);
1404  }
1405 
1406  inline RoutingModelParameters& operator=(const RoutingModelParameters& from) {
1407  CopyFrom(from);
1408  return *this;
1409  }
1410  inline RoutingModelParameters& operator=(RoutingModelParameters&& from) noexcept {
1411  if (GetArena() == from.GetArena()) {
1412  if (this != &from) InternalSwap(&from);
1413  } else {
1414  CopyFrom(from);
1415  }
1416  return *this;
1417  }
1418 
1419  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1420  return GetDescriptor();
1421  }
1422  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1423  return GetMetadataStatic().descriptor;
1424  }
1425  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1426  return GetMetadataStatic().reflection;
1427  }
1428  static const RoutingModelParameters& default_instance() {
1429  return *internal_default_instance();
1430  }
1431  static inline const RoutingModelParameters* internal_default_instance() {
1432  return reinterpret_cast<const RoutingModelParameters*>(
1434  }
1435  static constexpr int kIndexInFileMessages =
1436  3;
1437 
1438  friend void swap(RoutingModelParameters& a, RoutingModelParameters& b) {
1439  a.Swap(&b);
1440  }
1441  inline void Swap(RoutingModelParameters* other) {
1442  if (other == this) return;
1443  if (GetArena() == other->GetArena()) {
1444  InternalSwap(other);
1445  } else {
1446  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1447  }
1448  }
1449  void UnsafeArenaSwap(RoutingModelParameters* other) {
1450  if (other == this) return;
1451  GOOGLE_DCHECK(GetArena() == other->GetArena());
1452  InternalSwap(other);
1453  }
1454 
1455  // implements Message ----------------------------------------------
1456 
1457  inline RoutingModelParameters* New() const final {
1458  return CreateMaybeMessage<RoutingModelParameters>(nullptr);
1459  }
1460 
1461  RoutingModelParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1462  return CreateMaybeMessage<RoutingModelParameters>(arena);
1463  }
1464  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1465  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1466  void CopyFrom(const RoutingModelParameters& from);
1467  void MergeFrom(const RoutingModelParameters& from);
1468  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1469  bool IsInitialized() const final;
1470 
1471  size_t ByteSizeLong() const final;
1472  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1473  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1474  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1475  int GetCachedSize() const final { return _cached_size_.Get(); }
1476 
1477  private:
1478  inline void SharedCtor();
1479  inline void SharedDtor();
1480  void SetCachedSize(int size) const final;
1481  void InternalSwap(RoutingModelParameters* other);
1482  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1483  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1484  return "operations_research.RoutingModelParameters";
1485  }
1486  protected:
1487  explicit RoutingModelParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1488  private:
1489  static void ArenaDtor(void* object);
1490  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1491  public:
1492 
1493  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1494  private:
1495  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1497  }
1498 
1499  public:
1500 
1501  // nested types ----------------------------------------------------
1502 
1503  // accessors -------------------------------------------------------
1504 
1505  enum : int {
1506  kSolverParametersFieldNumber = 1,
1507  kReduceVehicleCostModelFieldNumber = 2,
1508  kMaxCallbackCacheSizeFieldNumber = 3,
1509  };
1510  // .operations_research.ConstraintSolverParameters solver_parameters = 1;
1512  private:
1513  bool _internal_has_solver_parameters() const;
1514  public:
1516  const ::operations_research::ConstraintSolverParameters& solver_parameters() const;
1517  ::operations_research::ConstraintSolverParameters* release_solver_parameters();
1518  ::operations_research::ConstraintSolverParameters* mutable_solver_parameters();
1519  void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters* solver_parameters);
1520  private:
1521  const ::operations_research::ConstraintSolverParameters& _internal_solver_parameters() const;
1522  ::operations_research::ConstraintSolverParameters* _internal_mutable_solver_parameters();
1523  public:
1525  ::operations_research::ConstraintSolverParameters* solver_parameters);
1526  ::operations_research::ConstraintSolverParameters* unsafe_arena_release_solver_parameters();
1527 
1528  // bool reduce_vehicle_cost_model = 2;
1532  private:
1533  bool _internal_reduce_vehicle_cost_model() const;
1534  void _internal_set_reduce_vehicle_cost_model(bool value);
1535  public:
1536 
1537  // int32 max_callback_cache_size = 3;
1539  ::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size() const;
1540  void set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1541  private:
1542  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_callback_cache_size() const;
1543  void _internal_set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1544  public:
1545 
1546  // @@protoc_insertion_point(class_scope:operations_research.RoutingModelParameters)
1547  private:
1548  class _Internal;
1549 
1550  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1551  typedef void InternalArenaConstructable_;
1552  typedef void DestructorSkippable_;
1553  ::operations_research::ConstraintSolverParameters* solver_parameters_;
1554  bool reduce_vehicle_cost_model_;
1555  ::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size_;
1556  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1557  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1558 };
1559 // ===================================================================
1560 
1561 
1562 // ===================================================================
1563 
1564 #ifdef __GNUC__
1565  #pragma GCC diagnostic push
1566  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1567 #endif // __GNUC__
1568 // RoutingSearchParameters_LocalSearchNeighborhoodOperators
1569 
1570 // .operations_research.OptionalBoolean use_relocate = 1;
1571 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate() {
1572  use_relocate_ = 0;
1573 }
1574 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate() const {
1575  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_);
1576 }
1577 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate() const {
1578  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
1579  return _internal_use_relocate();
1580 }
1581 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate(::operations_research::OptionalBoolean value) {
1582 
1583  use_relocate_ = value;
1584 }
1585 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate(::operations_research::OptionalBoolean value) {
1586  _internal_set_use_relocate(value);
1587  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
1588 }
1589 
1590 // .operations_research.OptionalBoolean use_relocate_pair = 2;
1591 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_pair() {
1592  use_relocate_pair_ = 0;
1593 }
1594 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_pair() const {
1595  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_pair_);
1596 }
1597 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_pair() const {
1598  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
1599  return _internal_use_relocate_pair();
1600 }
1601 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_pair(::operations_research::OptionalBoolean value) {
1602 
1603  use_relocate_pair_ = value;
1604 }
1605 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_pair(::operations_research::OptionalBoolean value) {
1606  _internal_set_use_relocate_pair(value);
1607  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
1608 }
1609 
1610 // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
1611 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_light_relocate_pair() {
1612  use_light_relocate_pair_ = 0;
1613 }
1614 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_light_relocate_pair() const {
1615  return static_cast< ::operations_research::OptionalBoolean >(use_light_relocate_pair_);
1616 }
1617 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_light_relocate_pair() const {
1618  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
1619  return _internal_use_light_relocate_pair();
1620 }
1621 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_light_relocate_pair(::operations_research::OptionalBoolean value) {
1622 
1623  use_light_relocate_pair_ = value;
1624 }
1625 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_light_relocate_pair(::operations_research::OptionalBoolean value) {
1626  _internal_set_use_light_relocate_pair(value);
1627  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
1628 }
1629 
1630 // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
1631 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_neighbors() {
1632  use_relocate_neighbors_ = 0;
1633 }
1634 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_neighbors() const {
1635  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_neighbors_);
1636 }
1637 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_neighbors() const {
1638  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
1639  return _internal_use_relocate_neighbors();
1640 }
1641 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_neighbors(::operations_research::OptionalBoolean value) {
1642 
1643  use_relocate_neighbors_ = value;
1644 }
1645 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_neighbors(::operations_research::OptionalBoolean value) {
1646  _internal_set_use_relocate_neighbors(value);
1647  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
1648 }
1649 
1650 // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
1651 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_subtrip() {
1652  use_relocate_subtrip_ = 0;
1653 }
1654 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_subtrip() const {
1655  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_subtrip_);
1656 }
1657 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_subtrip() const {
1658  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
1659  return _internal_use_relocate_subtrip();
1660 }
1661 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_subtrip(::operations_research::OptionalBoolean value) {
1662 
1663  use_relocate_subtrip_ = value;
1664 }
1665 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_subtrip(::operations_research::OptionalBoolean value) {
1666  _internal_set_use_relocate_subtrip(value);
1667  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
1668 }
1669 
1670 // .operations_research.OptionalBoolean use_exchange = 4;
1671 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_exchange() {
1672  use_exchange_ = 0;
1673 }
1674 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange() const {
1675  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_);
1676 }
1677 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange() const {
1678  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
1679  return _internal_use_exchange();
1680 }
1681 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange(::operations_research::OptionalBoolean value) {
1682 
1683  use_exchange_ = value;
1684 }
1685 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange(::operations_research::OptionalBoolean value) {
1686  _internal_set_use_exchange(value);
1687  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
1688 }
1689 
1690 // .operations_research.OptionalBoolean use_exchange_pair = 22;
1691 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_exchange_pair() {
1692  use_exchange_pair_ = 0;
1693 }
1694 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_pair() const {
1695  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_pair_);
1696 }
1697 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_pair() const {
1698  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
1699  return _internal_use_exchange_pair();
1700 }
1701 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_pair(::operations_research::OptionalBoolean value) {
1702 
1703  use_exchange_pair_ = value;
1704 }
1705 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange_pair(::operations_research::OptionalBoolean value) {
1706  _internal_set_use_exchange_pair(value);
1707  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
1708 }
1709 
1710 // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
1711 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_exchange_subtrip() {
1712  use_exchange_subtrip_ = 0;
1713 }
1714 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_subtrip() const {
1715  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_subtrip_);
1716 }
1717 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_subtrip() const {
1718  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
1719  return _internal_use_exchange_subtrip();
1720 }
1721 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_subtrip(::operations_research::OptionalBoolean value) {
1722 
1723  use_exchange_subtrip_ = value;
1724 }
1725 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange_subtrip(::operations_research::OptionalBoolean value) {
1726  _internal_set_use_exchange_subtrip(value);
1727  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
1728 }
1729 
1730 // .operations_research.OptionalBoolean use_cross = 5;
1731 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_cross() {
1732  use_cross_ = 0;
1733 }
1734 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross() const {
1735  return static_cast< ::operations_research::OptionalBoolean >(use_cross_);
1736 }
1737 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross() const {
1738  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
1739  return _internal_use_cross();
1740 }
1741 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_cross(::operations_research::OptionalBoolean value) {
1742 
1743  use_cross_ = value;
1744 }
1745 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_cross(::operations_research::OptionalBoolean value) {
1746  _internal_set_use_cross(value);
1747  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
1748 }
1749 
1750 // .operations_research.OptionalBoolean use_cross_exchange = 6;
1751 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_cross_exchange() {
1752  use_cross_exchange_ = 0;
1753 }
1754 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross_exchange() const {
1755  return static_cast< ::operations_research::OptionalBoolean >(use_cross_exchange_);
1756 }
1757 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross_exchange() const {
1758  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
1759  return _internal_use_cross_exchange();
1760 }
1761 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_cross_exchange(::operations_research::OptionalBoolean value) {
1762 
1763  use_cross_exchange_ = value;
1764 }
1765 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_cross_exchange(::operations_research::OptionalBoolean value) {
1766  _internal_set_use_cross_exchange(value);
1767  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
1768 }
1769 
1770 // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
1771 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_expensive_chain() {
1772  use_relocate_expensive_chain_ = 0;
1773 }
1774 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_expensive_chain() const {
1775  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_expensive_chain_);
1776 }
1777 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_expensive_chain() const {
1778  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
1779  return _internal_use_relocate_expensive_chain();
1780 }
1781 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value) {
1782 
1783  use_relocate_expensive_chain_ = value;
1784 }
1785 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value) {
1786  _internal_set_use_relocate_expensive_chain(value);
1787  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
1788 }
1789 
1790 // .operations_research.OptionalBoolean use_two_opt = 7;
1791 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_two_opt() {
1792  use_two_opt_ = 0;
1793 }
1794 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_two_opt() const {
1795  return static_cast< ::operations_research::OptionalBoolean >(use_two_opt_);
1796 }
1797 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_two_opt() const {
1798  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
1799  return _internal_use_two_opt();
1800 }
1801 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_two_opt(::operations_research::OptionalBoolean value) {
1802 
1803  use_two_opt_ = value;
1804 }
1805 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_two_opt(::operations_research::OptionalBoolean value) {
1806  _internal_set_use_two_opt(value);
1807  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
1808 }
1809 
1810 // .operations_research.OptionalBoolean use_or_opt = 8;
1811 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_or_opt() {
1812  use_or_opt_ = 0;
1813 }
1814 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_or_opt() const {
1815  return static_cast< ::operations_research::OptionalBoolean >(use_or_opt_);
1816 }
1817 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_or_opt() const {
1818  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
1819  return _internal_use_or_opt();
1820 }
1821 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_or_opt(::operations_research::OptionalBoolean value) {
1822 
1823  use_or_opt_ = value;
1824 }
1825 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_or_opt(::operations_research::OptionalBoolean value) {
1826  _internal_set_use_or_opt(value);
1827  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
1828 }
1829 
1830 // .operations_research.OptionalBoolean use_lin_kernighan = 9;
1831 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_lin_kernighan() {
1832  use_lin_kernighan_ = 0;
1833 }
1834 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_lin_kernighan() const {
1835  return static_cast< ::operations_research::OptionalBoolean >(use_lin_kernighan_);
1836 }
1837 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_lin_kernighan() const {
1838  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
1839  return _internal_use_lin_kernighan();
1840 }
1841 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_lin_kernighan(::operations_research::OptionalBoolean value) {
1842 
1843  use_lin_kernighan_ = value;
1844 }
1845 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_lin_kernighan(::operations_research::OptionalBoolean value) {
1846  _internal_set_use_lin_kernighan(value);
1847  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
1848 }
1849 
1850 // .operations_research.OptionalBoolean use_tsp_opt = 10;
1851 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_tsp_opt() {
1852  use_tsp_opt_ = 0;
1853 }
1854 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_opt() const {
1855  return static_cast< ::operations_research::OptionalBoolean >(use_tsp_opt_);
1856 }
1857 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_opt() const {
1858  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
1859  return _internal_use_tsp_opt();
1860 }
1861 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_tsp_opt(::operations_research::OptionalBoolean value) {
1862 
1863  use_tsp_opt_ = value;
1864 }
1865 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_tsp_opt(::operations_research::OptionalBoolean value) {
1866  _internal_set_use_tsp_opt(value);
1867  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
1868 }
1869 
1870 // .operations_research.OptionalBoolean use_make_active = 11;
1871 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_make_active() {
1872  use_make_active_ = 0;
1873 }
1874 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_active() const {
1875  return static_cast< ::operations_research::OptionalBoolean >(use_make_active_);
1876 }
1877 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_active() const {
1878  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1879  return _internal_use_make_active();
1880 }
1881 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_active(::operations_research::OptionalBoolean value) {
1882 
1883  use_make_active_ = value;
1884 }
1885 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_active(::operations_research::OptionalBoolean value) {
1886  _internal_set_use_make_active(value);
1887  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1888 }
1889 
1890 // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
1891 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_and_make_active() {
1892  use_relocate_and_make_active_ = 0;
1893 }
1894 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_and_make_active() const {
1895  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_and_make_active_);
1896 }
1897 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_and_make_active() const {
1898  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1899  return _internal_use_relocate_and_make_active();
1900 }
1901 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_and_make_active(::operations_research::OptionalBoolean value) {
1902 
1903  use_relocate_and_make_active_ = value;
1904 }
1905 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_and_make_active(::operations_research::OptionalBoolean value) {
1906  _internal_set_use_relocate_and_make_active(value);
1907  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1908 }
1909 
1910 // .operations_research.OptionalBoolean use_make_inactive = 12;
1911 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_make_inactive() {
1912  use_make_inactive_ = 0;
1913 }
1914 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_inactive() const {
1915  return static_cast< ::operations_research::OptionalBoolean >(use_make_inactive_);
1916 }
1917 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_inactive() const {
1918  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1919  return _internal_use_make_inactive();
1920 }
1921 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_inactive(::operations_research::OptionalBoolean value) {
1922 
1923  use_make_inactive_ = value;
1924 }
1925 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_inactive(::operations_research::OptionalBoolean value) {
1926  _internal_set_use_make_inactive(value);
1927  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1928 }
1929 
1930 // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
1931 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_make_chain_inactive() {
1932  use_make_chain_inactive_ = 0;
1933 }
1934 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_chain_inactive() const {
1935  return static_cast< ::operations_research::OptionalBoolean >(use_make_chain_inactive_);
1936 }
1937 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_chain_inactive() const {
1938  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
1939  return _internal_use_make_chain_inactive();
1940 }
1941 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_chain_inactive(::operations_research::OptionalBoolean value) {
1942 
1943  use_make_chain_inactive_ = value;
1944 }
1945 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_chain_inactive(::operations_research::OptionalBoolean value) {
1946  _internal_set_use_make_chain_inactive(value);
1947  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
1948 }
1949 
1950 // .operations_research.OptionalBoolean use_swap_active = 14;
1951 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_swap_active() {
1952  use_swap_active_ = 0;
1953 }
1954 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_swap_active() const {
1955  return static_cast< ::operations_research::OptionalBoolean >(use_swap_active_);
1956 }
1957 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_swap_active() const {
1958  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
1959  return _internal_use_swap_active();
1960 }
1961 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_swap_active(::operations_research::OptionalBoolean value) {
1962 
1963  use_swap_active_ = value;
1964 }
1965 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_swap_active(::operations_research::OptionalBoolean value) {
1966  _internal_set_use_swap_active(value);
1967  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
1968 }
1969 
1970 // .operations_research.OptionalBoolean use_extended_swap_active = 15;
1971 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_extended_swap_active() {
1972  use_extended_swap_active_ = 0;
1973 }
1974 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_extended_swap_active() const {
1975  return static_cast< ::operations_research::OptionalBoolean >(use_extended_swap_active_);
1976 }
1977 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_extended_swap_active() const {
1978  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
1979  return _internal_use_extended_swap_active();
1980 }
1981 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_extended_swap_active(::operations_research::OptionalBoolean value) {
1982 
1983  use_extended_swap_active_ = value;
1984 }
1985 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_extended_swap_active(::operations_research::OptionalBoolean value) {
1986  _internal_set_use_extended_swap_active(value);
1987  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
1988 }
1989 
1990 // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
1991 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_node_pair_swap_active() {
1992  use_node_pair_swap_active_ = 0;
1993 }
1994 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_node_pair_swap_active() const {
1995  return static_cast< ::operations_research::OptionalBoolean >(use_node_pair_swap_active_);
1996 }
1997 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_node_pair_swap_active() const {
1998  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
1999  return _internal_use_node_pair_swap_active();
2000 }
2001 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_node_pair_swap_active(::operations_research::OptionalBoolean value) {
2002 
2003  use_node_pair_swap_active_ = value;
2004 }
2005 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_node_pair_swap_active(::operations_research::OptionalBoolean value) {
2006  _internal_set_use_node_pair_swap_active(value);
2007  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
2008 }
2009 
2010 // .operations_research.OptionalBoolean use_path_lns = 16;
2011 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_path_lns() {
2012  use_path_lns_ = 0;
2013 }
2014 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_path_lns() const {
2015  return static_cast< ::operations_research::OptionalBoolean >(use_path_lns_);
2016 }
2017 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_path_lns() const {
2018  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
2019  return _internal_use_path_lns();
2020 }
2021 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_path_lns(::operations_research::OptionalBoolean value) {
2022 
2023  use_path_lns_ = value;
2024 }
2025 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_path_lns(::operations_research::OptionalBoolean value) {
2026  _internal_set_use_path_lns(value);
2027  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
2028 }
2029 
2030 // .operations_research.OptionalBoolean use_full_path_lns = 17;
2031 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_full_path_lns() {
2032  use_full_path_lns_ = 0;
2033 }
2034 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_full_path_lns() const {
2035  return static_cast< ::operations_research::OptionalBoolean >(use_full_path_lns_);
2036 }
2037 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_full_path_lns() const {
2038  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
2039  return _internal_use_full_path_lns();
2040 }
2041 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_full_path_lns(::operations_research::OptionalBoolean value) {
2042 
2043  use_full_path_lns_ = value;
2044 }
2045 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_full_path_lns(::operations_research::OptionalBoolean value) {
2046  _internal_set_use_full_path_lns(value);
2047  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
2048 }
2049 
2050 // .operations_research.OptionalBoolean use_tsp_lns = 18;
2051 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_tsp_lns() {
2052  use_tsp_lns_ = 0;
2053 }
2054 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_lns() const {
2055  return static_cast< ::operations_research::OptionalBoolean >(use_tsp_lns_);
2056 }
2057 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_lns() const {
2058  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
2059  return _internal_use_tsp_lns();
2060 }
2061 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_tsp_lns(::operations_research::OptionalBoolean value) {
2062 
2063  use_tsp_lns_ = value;
2064 }
2065 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_tsp_lns(::operations_research::OptionalBoolean value) {
2066  _internal_set_use_tsp_lns(value);
2067  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
2068 }
2069 
2070 // .operations_research.OptionalBoolean use_inactive_lns = 19;
2071 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_inactive_lns() {
2072  use_inactive_lns_ = 0;
2073 }
2074 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_inactive_lns() const {
2075  return static_cast< ::operations_research::OptionalBoolean >(use_inactive_lns_);
2076 }
2077 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_inactive_lns() const {
2078  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
2079  return _internal_use_inactive_lns();
2080 }
2081 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_inactive_lns(::operations_research::OptionalBoolean value) {
2082 
2083  use_inactive_lns_ = value;
2084 }
2085 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_inactive_lns(::operations_research::OptionalBoolean value) {
2086  _internal_set_use_inactive_lns(value);
2087  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
2088 }
2089 
2090 // .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
2091 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_global_cheapest_insertion_path_lns() {
2092  use_global_cheapest_insertion_path_lns_ = 0;
2093 }
2094 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_path_lns() const {
2095  return static_cast< ::operations_research::OptionalBoolean >(use_global_cheapest_insertion_path_lns_);
2096 }
2097 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_global_cheapest_insertion_path_lns() const {
2098  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_path_lns)
2099  return _internal_use_global_cheapest_insertion_path_lns();
2100 }
2101 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
2102 
2103  use_global_cheapest_insertion_path_lns_ = value;
2104 }
2105 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
2106  _internal_set_use_global_cheapest_insertion_path_lns(value);
2107  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_path_lns)
2108 }
2109 
2110 // .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
2111 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_local_cheapest_insertion_path_lns() {
2112  use_local_cheapest_insertion_path_lns_ = 0;
2113 }
2114 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_path_lns() const {
2115  return static_cast< ::operations_research::OptionalBoolean >(use_local_cheapest_insertion_path_lns_);
2116 }
2117 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_local_cheapest_insertion_path_lns() const {
2118  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_path_lns)
2119  return _internal_use_local_cheapest_insertion_path_lns();
2120 }
2121 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
2122 
2123  use_local_cheapest_insertion_path_lns_ = value;
2124 }
2125 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
2126  _internal_set_use_local_cheapest_insertion_path_lns(value);
2127  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_path_lns)
2128 }
2129 
2130 // .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
2131 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_path_global_cheapest_insertion_insert_unperformed() {
2132  use_relocate_path_global_cheapest_insertion_insert_unperformed_ = 0;
2133 }
2134 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_path_global_cheapest_insertion_insert_unperformed() const {
2135  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_path_global_cheapest_insertion_insert_unperformed_);
2136 }
2137 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_path_global_cheapest_insertion_insert_unperformed() const {
2138  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_path_global_cheapest_insertion_insert_unperformed)
2139  return _internal_use_relocate_path_global_cheapest_insertion_insert_unperformed();
2140 }
2141 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value) {
2142 
2143  use_relocate_path_global_cheapest_insertion_insert_unperformed_ = value;
2144 }
2145 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value) {
2146  _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(value);
2147  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_path_global_cheapest_insertion_insert_unperformed)
2148 }
2149 
2150 // .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
2151 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_global_cheapest_insertion_expensive_chain_lns() {
2152  use_global_cheapest_insertion_expensive_chain_lns_ = 0;
2153 }
2154 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_expensive_chain_lns() const {
2155  return static_cast< ::operations_research::OptionalBoolean >(use_global_cheapest_insertion_expensive_chain_lns_);
2156 }
2157 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_global_cheapest_insertion_expensive_chain_lns() const {
2158  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_expensive_chain_lns)
2159  return _internal_use_global_cheapest_insertion_expensive_chain_lns();
2160 }
2161 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
2162 
2163  use_global_cheapest_insertion_expensive_chain_lns_ = value;
2164 }
2165 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
2166  _internal_set_use_global_cheapest_insertion_expensive_chain_lns(value);
2167  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_expensive_chain_lns)
2168 }
2169 
2170 // .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
2171 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_local_cheapest_insertion_expensive_chain_lns() {
2172  use_local_cheapest_insertion_expensive_chain_lns_ = 0;
2173 }
2174 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_expensive_chain_lns() const {
2175  return static_cast< ::operations_research::OptionalBoolean >(use_local_cheapest_insertion_expensive_chain_lns_);
2176 }
2177 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_local_cheapest_insertion_expensive_chain_lns() const {
2178  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_expensive_chain_lns)
2179  return _internal_use_local_cheapest_insertion_expensive_chain_lns();
2180 }
2181 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
2182 
2183  use_local_cheapest_insertion_expensive_chain_lns_ = value;
2184 }
2185 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
2186  _internal_set_use_local_cheapest_insertion_expensive_chain_lns(value);
2187  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_expensive_chain_lns)
2188 }
2189 
2190 // .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
2191 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_global_cheapest_insertion_close_nodes_lns() {
2192  use_global_cheapest_insertion_close_nodes_lns_ = 0;
2193 }
2194 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_close_nodes_lns() const {
2195  return static_cast< ::operations_research::OptionalBoolean >(use_global_cheapest_insertion_close_nodes_lns_);
2196 }
2197 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_global_cheapest_insertion_close_nodes_lns() const {
2198  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_close_nodes_lns)
2199  return _internal_use_global_cheapest_insertion_close_nodes_lns();
2200 }
2201 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value) {
2202 
2203  use_global_cheapest_insertion_close_nodes_lns_ = value;
2204 }
2205 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value) {
2206  _internal_set_use_global_cheapest_insertion_close_nodes_lns(value);
2207  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_close_nodes_lns)
2208 }
2209 
2210 // .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
2211 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_local_cheapest_insertion_close_nodes_lns() {
2212  use_local_cheapest_insertion_close_nodes_lns_ = 0;
2213 }
2214 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_close_nodes_lns() const {
2215  return static_cast< ::operations_research::OptionalBoolean >(use_local_cheapest_insertion_close_nodes_lns_);
2216 }
2217 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_local_cheapest_insertion_close_nodes_lns() const {
2218  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_close_nodes_lns)
2219  return _internal_use_local_cheapest_insertion_close_nodes_lns();
2220 }
2221 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value) {
2222 
2223  use_local_cheapest_insertion_close_nodes_lns_ = value;
2224 }
2225 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value) {
2226  _internal_set_use_local_cheapest_insertion_close_nodes_lns(value);
2227  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_close_nodes_lns)
2228 }
2229 
2230 // -------------------------------------------------------------------
2231 
2232 // RoutingSearchParameters_ImprovementSearchLimitParameters
2233 
2234 // double improvement_rate_coefficient = 38;
2235 inline void RoutingSearchParameters_ImprovementSearchLimitParameters::clear_improvement_rate_coefficient() {
2236  improvement_rate_coefficient_ = 0;
2237 }
2238 inline double RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_improvement_rate_coefficient() const {
2239  return improvement_rate_coefficient_;
2240 }
2241 inline double RoutingSearchParameters_ImprovementSearchLimitParameters::improvement_rate_coefficient() const {
2242  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_coefficient)
2243  return _internal_improvement_rate_coefficient();
2244 }
2245 inline void RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_set_improvement_rate_coefficient(double value) {
2246 
2247  improvement_rate_coefficient_ = value;
2248 }
2249 inline void RoutingSearchParameters_ImprovementSearchLimitParameters::set_improvement_rate_coefficient(double value) {
2250  _internal_set_improvement_rate_coefficient(value);
2251  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_coefficient)
2252 }
2253 
2254 // int32 improvement_rate_solutions_distance = 39;
2255 inline void RoutingSearchParameters_ImprovementSearchLimitParameters::clear_improvement_rate_solutions_distance() {
2256  improvement_rate_solutions_distance_ = 0;
2257 }
2258 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_improvement_rate_solutions_distance() const {
2259  return improvement_rate_solutions_distance_;
2260 }
2261 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters_ImprovementSearchLimitParameters::improvement_rate_solutions_distance() const {
2262  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_solutions_distance)
2263  return _internal_improvement_rate_solutions_distance();
2264 }
2265 inline void RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_set_improvement_rate_solutions_distance(::PROTOBUF_NAMESPACE_ID::int32 value) {
2266 
2267  improvement_rate_solutions_distance_ = value;
2268 }
2269 inline void RoutingSearchParameters_ImprovementSearchLimitParameters::set_improvement_rate_solutions_distance(::PROTOBUF_NAMESPACE_ID::int32 value) {
2270  _internal_set_improvement_rate_solutions_distance(value);
2271  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_solutions_distance)
2272 }
2273 
2274 // -------------------------------------------------------------------
2275 
2276 // RoutingSearchParameters
2277 
2278 // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
2279 inline void RoutingSearchParameters::clear_first_solution_strategy() {
2280  first_solution_strategy_ = 0;
2281 }
2282 inline ::operations_research::FirstSolutionStrategy_Value RoutingSearchParameters::_internal_first_solution_strategy() const {
2283  return static_cast< ::operations_research::FirstSolutionStrategy_Value >(first_solution_strategy_);
2284 }
2285 inline ::operations_research::FirstSolutionStrategy_Value RoutingSearchParameters::first_solution_strategy() const {
2286  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.first_solution_strategy)
2287  return _internal_first_solution_strategy();
2288 }
2289 inline void RoutingSearchParameters::_internal_set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value) {
2290 
2291  first_solution_strategy_ = value;
2292 }
2293 inline void RoutingSearchParameters::set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value) {
2294  _internal_set_first_solution_strategy(value);
2295  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.first_solution_strategy)
2296 }
2297 
2298 // bool use_unfiltered_first_solution_strategy = 2;
2299 inline void RoutingSearchParameters::clear_use_unfiltered_first_solution_strategy() {
2300  use_unfiltered_first_solution_strategy_ = false;
2301 }
2302 inline bool RoutingSearchParameters::_internal_use_unfiltered_first_solution_strategy() const {
2303  return use_unfiltered_first_solution_strategy_;
2304 }
2305 inline bool RoutingSearchParameters::use_unfiltered_first_solution_strategy() const {
2306  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
2307  return _internal_use_unfiltered_first_solution_strategy();
2308 }
2309 inline void RoutingSearchParameters::_internal_set_use_unfiltered_first_solution_strategy(bool value) {
2310 
2311  use_unfiltered_first_solution_strategy_ = value;
2312 }
2313 inline void RoutingSearchParameters::set_use_unfiltered_first_solution_strategy(bool value) {
2314  _internal_set_use_unfiltered_first_solution_strategy(value);
2315  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
2316 }
2317 
2318 // double savings_neighbors_ratio = 14;
2319 inline void RoutingSearchParameters::clear_savings_neighbors_ratio() {
2320  savings_neighbors_ratio_ = 0;
2321 }
2322 inline double RoutingSearchParameters::_internal_savings_neighbors_ratio() const {
2323  return savings_neighbors_ratio_;
2324 }
2325 inline double RoutingSearchParameters::savings_neighbors_ratio() const {
2326  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
2327  return _internal_savings_neighbors_ratio();
2328 }
2329 inline void RoutingSearchParameters::_internal_set_savings_neighbors_ratio(double value) {
2330 
2331  savings_neighbors_ratio_ = value;
2332 }
2333 inline void RoutingSearchParameters::set_savings_neighbors_ratio(double value) {
2334  _internal_set_savings_neighbors_ratio(value);
2335  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
2336 }
2337 
2338 // double savings_max_memory_usage_bytes = 23;
2339 inline void RoutingSearchParameters::clear_savings_max_memory_usage_bytes() {
2340  savings_max_memory_usage_bytes_ = 0;
2341 }
2342 inline double RoutingSearchParameters::_internal_savings_max_memory_usage_bytes() const {
2343  return savings_max_memory_usage_bytes_;
2344 }
2345 inline double RoutingSearchParameters::savings_max_memory_usage_bytes() const {
2346  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
2347  return _internal_savings_max_memory_usage_bytes();
2348 }
2349 inline void RoutingSearchParameters::_internal_set_savings_max_memory_usage_bytes(double value) {
2350 
2351  savings_max_memory_usage_bytes_ = value;
2352 }
2353 inline void RoutingSearchParameters::set_savings_max_memory_usage_bytes(double value) {
2354  _internal_set_savings_max_memory_usage_bytes(value);
2355  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
2356 }
2357 
2358 // bool savings_add_reverse_arcs = 15;
2359 inline void RoutingSearchParameters::clear_savings_add_reverse_arcs() {
2360  savings_add_reverse_arcs_ = false;
2361 }
2362 inline bool RoutingSearchParameters::_internal_savings_add_reverse_arcs() const {
2363  return savings_add_reverse_arcs_;
2364 }
2365 inline bool RoutingSearchParameters::savings_add_reverse_arcs() const {
2366  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
2367  return _internal_savings_add_reverse_arcs();
2368 }
2369 inline void RoutingSearchParameters::_internal_set_savings_add_reverse_arcs(bool value) {
2370 
2371  savings_add_reverse_arcs_ = value;
2372 }
2373 inline void RoutingSearchParameters::set_savings_add_reverse_arcs(bool value) {
2374  _internal_set_savings_add_reverse_arcs(value);
2375  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
2376 }
2377 
2378 // double savings_arc_coefficient = 18;
2379 inline void RoutingSearchParameters::clear_savings_arc_coefficient() {
2380  savings_arc_coefficient_ = 0;
2381 }
2382 inline double RoutingSearchParameters::_internal_savings_arc_coefficient() const {
2383  return savings_arc_coefficient_;
2384 }
2385 inline double RoutingSearchParameters::savings_arc_coefficient() const {
2386  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_arc_coefficient)
2387  return _internal_savings_arc_coefficient();
2388 }
2389 inline void RoutingSearchParameters::_internal_set_savings_arc_coefficient(double value) {
2390 
2391  savings_arc_coefficient_ = value;
2392 }
2393 inline void RoutingSearchParameters::set_savings_arc_coefficient(double value) {
2394  _internal_set_savings_arc_coefficient(value);
2395  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_arc_coefficient)
2396 }
2397 
2398 // bool savings_parallel_routes = 19;
2399 inline void RoutingSearchParameters::clear_savings_parallel_routes() {
2400  savings_parallel_routes_ = false;
2401 }
2402 inline bool RoutingSearchParameters::_internal_savings_parallel_routes() const {
2403  return savings_parallel_routes_;
2404 }
2405 inline bool RoutingSearchParameters::savings_parallel_routes() const {
2406  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_parallel_routes)
2407  return _internal_savings_parallel_routes();
2408 }
2409 inline void RoutingSearchParameters::_internal_set_savings_parallel_routes(bool value) {
2410 
2411  savings_parallel_routes_ = value;
2412 }
2413 inline void RoutingSearchParameters::set_savings_parallel_routes(bool value) {
2414  _internal_set_savings_parallel_routes(value);
2415  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_parallel_routes)
2416 }
2417 
2418 // double cheapest_insertion_farthest_seeds_ratio = 16;
2419 inline void RoutingSearchParameters::clear_cheapest_insertion_farthest_seeds_ratio() {
2420  cheapest_insertion_farthest_seeds_ratio_ = 0;
2421 }
2422 inline double RoutingSearchParameters::_internal_cheapest_insertion_farthest_seeds_ratio() const {
2423  return cheapest_insertion_farthest_seeds_ratio_;
2424 }
2425 inline double RoutingSearchParameters::cheapest_insertion_farthest_seeds_ratio() const {
2426  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
2427  return _internal_cheapest_insertion_farthest_seeds_ratio();
2428 }
2429 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_farthest_seeds_ratio(double value) {
2430 
2431  cheapest_insertion_farthest_seeds_ratio_ = value;
2432 }
2433 inline void RoutingSearchParameters::set_cheapest_insertion_farthest_seeds_ratio(double value) {
2434  _internal_set_cheapest_insertion_farthest_seeds_ratio(value);
2435  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
2436 }
2437 
2438 // double cheapest_insertion_first_solution_neighbors_ratio = 21;
2439 inline void RoutingSearchParameters::clear_cheapest_insertion_first_solution_neighbors_ratio() {
2440  cheapest_insertion_first_solution_neighbors_ratio_ = 0;
2441 }
2442 inline double RoutingSearchParameters::_internal_cheapest_insertion_first_solution_neighbors_ratio() const {
2443  return cheapest_insertion_first_solution_neighbors_ratio_;
2444 }
2445 inline double RoutingSearchParameters::cheapest_insertion_first_solution_neighbors_ratio() const {
2446  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_neighbors_ratio)
2447  return _internal_cheapest_insertion_first_solution_neighbors_ratio();
2448 }
2449 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_neighbors_ratio(double value) {
2450 
2451  cheapest_insertion_first_solution_neighbors_ratio_ = value;
2452 }
2453 inline void RoutingSearchParameters::set_cheapest_insertion_first_solution_neighbors_ratio(double value) {
2454  _internal_set_cheapest_insertion_first_solution_neighbors_ratio(value);
2455  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_neighbors_ratio)
2456 }
2457 
2458 // int32 cheapest_insertion_first_solution_min_neighbors = 44;
2459 inline void RoutingSearchParameters::clear_cheapest_insertion_first_solution_min_neighbors() {
2460  cheapest_insertion_first_solution_min_neighbors_ = 0;
2461 }
2462 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_cheapest_insertion_first_solution_min_neighbors() const {
2463  return cheapest_insertion_first_solution_min_neighbors_;
2464 }
2465 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::cheapest_insertion_first_solution_min_neighbors() const {
2466  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_min_neighbors)
2467  return _internal_cheapest_insertion_first_solution_min_neighbors();
2468 }
2469 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value) {
2470 
2471  cheapest_insertion_first_solution_min_neighbors_ = value;
2472 }
2473 inline void RoutingSearchParameters::set_cheapest_insertion_first_solution_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value) {
2474  _internal_set_cheapest_insertion_first_solution_min_neighbors(value);
2475  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_min_neighbors)
2476 }
2477 
2478 // double cheapest_insertion_ls_operator_neighbors_ratio = 31;
2479 inline void RoutingSearchParameters::clear_cheapest_insertion_ls_operator_neighbors_ratio() {
2480  cheapest_insertion_ls_operator_neighbors_ratio_ = 0;
2481 }
2482 inline double RoutingSearchParameters::_internal_cheapest_insertion_ls_operator_neighbors_ratio() const {
2483  return cheapest_insertion_ls_operator_neighbors_ratio_;
2484 }
2485 inline double RoutingSearchParameters::cheapest_insertion_ls_operator_neighbors_ratio() const {
2486  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_neighbors_ratio)
2487  return _internal_cheapest_insertion_ls_operator_neighbors_ratio();
2488 }
2489 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_ls_operator_neighbors_ratio(double value) {
2490 
2491  cheapest_insertion_ls_operator_neighbors_ratio_ = value;
2492 }
2493 inline void RoutingSearchParameters::set_cheapest_insertion_ls_operator_neighbors_ratio(double value) {
2494  _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(value);
2495  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_neighbors_ratio)
2496 }
2497 
2498 // int32 cheapest_insertion_ls_operator_min_neighbors = 45;
2499 inline void RoutingSearchParameters::clear_cheapest_insertion_ls_operator_min_neighbors() {
2500  cheapest_insertion_ls_operator_min_neighbors_ = 0;
2501 }
2502 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_cheapest_insertion_ls_operator_min_neighbors() const {
2503  return cheapest_insertion_ls_operator_min_neighbors_;
2504 }
2505 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::cheapest_insertion_ls_operator_min_neighbors() const {
2506  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_min_neighbors)
2507  return _internal_cheapest_insertion_ls_operator_min_neighbors();
2508 }
2509 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_ls_operator_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value) {
2510 
2511  cheapest_insertion_ls_operator_min_neighbors_ = value;
2512 }
2513 inline void RoutingSearchParameters::set_cheapest_insertion_ls_operator_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value) {
2514  _internal_set_cheapest_insertion_ls_operator_min_neighbors(value);
2515  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_min_neighbors)
2516 }
2517 
2518 // bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
2519 inline void RoutingSearchParameters::clear_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() {
2520  cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_ = false;
2521 }
2522 inline bool RoutingSearchParameters::_internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() const {
2523  return cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_;
2524 }
2525 inline bool RoutingSearchParameters::cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() const {
2526  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization)
2527  return _internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization();
2528 }
2529 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value) {
2530 
2531  cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_ = value;
2532 }
2533 inline void RoutingSearchParameters::set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value) {
2534  _internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(value);
2535  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization)
2536 }
2537 
2538 // bool cheapest_insertion_add_unperformed_entries = 40;
2539 inline void RoutingSearchParameters::clear_cheapest_insertion_add_unperformed_entries() {
2540  cheapest_insertion_add_unperformed_entries_ = false;
2541 }
2542 inline bool RoutingSearchParameters::_internal_cheapest_insertion_add_unperformed_entries() const {
2543  return cheapest_insertion_add_unperformed_entries_;
2544 }
2545 inline bool RoutingSearchParameters::cheapest_insertion_add_unperformed_entries() const {
2546  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_add_unperformed_entries)
2547  return _internal_cheapest_insertion_add_unperformed_entries();
2548 }
2549 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_add_unperformed_entries(bool value) {
2550 
2551  cheapest_insertion_add_unperformed_entries_ = value;
2552 }
2553 inline void RoutingSearchParameters::set_cheapest_insertion_add_unperformed_entries(bool value) {
2554  _internal_set_cheapest_insertion_add_unperformed_entries(value);
2555  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_add_unperformed_entries)
2556 }
2557 
2558 // bool christofides_use_minimum_matching = 30;
2559 inline void RoutingSearchParameters::clear_christofides_use_minimum_matching() {
2560  christofides_use_minimum_matching_ = false;
2561 }
2562 inline bool RoutingSearchParameters::_internal_christofides_use_minimum_matching() const {
2563  return christofides_use_minimum_matching_;
2564 }
2565 inline bool RoutingSearchParameters::christofides_use_minimum_matching() const {
2566  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.christofides_use_minimum_matching)
2567  return _internal_christofides_use_minimum_matching();
2568 }
2569 inline void RoutingSearchParameters::_internal_set_christofides_use_minimum_matching(bool value) {
2570 
2571  christofides_use_minimum_matching_ = value;
2572 }
2573 inline void RoutingSearchParameters::set_christofides_use_minimum_matching(bool value) {
2574  _internal_set_christofides_use_minimum_matching(value);
2575  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.christofides_use_minimum_matching)
2576 }
2577 
2578 // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
2579 inline bool RoutingSearchParameters::_internal_has_local_search_operators() const {
2580  return this != internal_default_instance() && local_search_operators_ != nullptr;
2581 }
2582 inline bool RoutingSearchParameters::has_local_search_operators() const {
2583  return _internal_has_local_search_operators();
2584 }
2585 inline void RoutingSearchParameters::clear_local_search_operators() {
2586  if (GetArena() == nullptr && local_search_operators_ != nullptr) {
2587  delete local_search_operators_;
2588  }
2589  local_search_operators_ = nullptr;
2590 }
2591 inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::_internal_local_search_operators() const {
2592  const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* p = local_search_operators_;
2593  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators&>(
2595 }
2596 inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::local_search_operators() const {
2597  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_operators)
2598  return _internal_local_search_operators();
2599 }
2600 inline void RoutingSearchParameters::unsafe_arena_set_allocated_local_search_operators(
2601  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* local_search_operators) {
2602  if (GetArena() == nullptr) {
2603  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(local_search_operators_);
2604  }
2605  local_search_operators_ = local_search_operators;
2606  if (local_search_operators) {
2607 
2608  } else {
2609 
2610  }
2611  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
2612 }
2613 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::release_local_search_operators() {
2614 
2615  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* temp = local_search_operators_;
2616  local_search_operators_ = nullptr;
2617  if (GetArena() != nullptr) {
2618  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2619  }
2620  return temp;
2621 }
2622 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::unsafe_arena_release_local_search_operators() {
2623  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.local_search_operators)
2624 
2625  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* temp = local_search_operators_;
2626  local_search_operators_ = nullptr;
2627  return temp;
2628 }
2629 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::_internal_mutable_local_search_operators() {
2630 
2631  if (local_search_operators_ == nullptr) {
2632  auto* p = CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(GetArena());
2633  local_search_operators_ = p;
2634  }
2635  return local_search_operators_;
2636 }
2637 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::mutable_local_search_operators() {
2638  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.local_search_operators)
2639  return _internal_mutable_local_search_operators();
2640 }
2641 inline void RoutingSearchParameters::set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* local_search_operators) {
2642  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
2643  if (message_arena == nullptr) {
2644  delete local_search_operators_;
2645  }
2646  if (local_search_operators) {
2647  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2648  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(local_search_operators);
2649  if (message_arena != submessage_arena) {
2650  local_search_operators = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2651  message_arena, local_search_operators, submessage_arena);
2652  }
2653 
2654  } else {
2655 
2656  }
2657  local_search_operators_ = local_search_operators;
2658  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
2659 }
2660 
2661 // bool use_multi_armed_bandit_concatenate_operators = 41;
2662 inline void RoutingSearchParameters::clear_use_multi_armed_bandit_concatenate_operators() {
2663  use_multi_armed_bandit_concatenate_operators_ = false;
2664 }
2665 inline bool RoutingSearchParameters::_internal_use_multi_armed_bandit_concatenate_operators() const {
2666  return use_multi_armed_bandit_concatenate_operators_;
2667 }
2668 inline bool RoutingSearchParameters::use_multi_armed_bandit_concatenate_operators() const {
2669  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_multi_armed_bandit_concatenate_operators)
2670  return _internal_use_multi_armed_bandit_concatenate_operators();
2671 }
2672 inline void RoutingSearchParameters::_internal_set_use_multi_armed_bandit_concatenate_operators(bool value) {
2673 
2674  use_multi_armed_bandit_concatenate_operators_ = value;
2675 }
2676 inline void RoutingSearchParameters::set_use_multi_armed_bandit_concatenate_operators(bool value) {
2677  _internal_set_use_multi_armed_bandit_concatenate_operators(value);
2678  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_multi_armed_bandit_concatenate_operators)
2679 }
2680 
2681 // double multi_armed_bandit_compound_operator_memory_coefficient = 42;
2682 inline void RoutingSearchParameters::clear_multi_armed_bandit_compound_operator_memory_coefficient() {
2683  multi_armed_bandit_compound_operator_memory_coefficient_ = 0;
2684 }
2685 inline double RoutingSearchParameters::_internal_multi_armed_bandit_compound_operator_memory_coefficient() const {
2686  return multi_armed_bandit_compound_operator_memory_coefficient_;
2687 }
2688 inline double RoutingSearchParameters::multi_armed_bandit_compound_operator_memory_coefficient() const {
2689  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_memory_coefficient)
2690  return _internal_multi_armed_bandit_compound_operator_memory_coefficient();
2691 }
2692 inline void RoutingSearchParameters::_internal_set_multi_armed_bandit_compound_operator_memory_coefficient(double value) {
2693 
2694  multi_armed_bandit_compound_operator_memory_coefficient_ = value;
2695 }
2696 inline void RoutingSearchParameters::set_multi_armed_bandit_compound_operator_memory_coefficient(double value) {
2697  _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(value);
2698  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_memory_coefficient)
2699 }
2700 
2701 // double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
2702 inline void RoutingSearchParameters::clear_multi_armed_bandit_compound_operator_exploration_coefficient() {
2703  multi_armed_bandit_compound_operator_exploration_coefficient_ = 0;
2704 }
2705 inline double RoutingSearchParameters::_internal_multi_armed_bandit_compound_operator_exploration_coefficient() const {
2706  return multi_armed_bandit_compound_operator_exploration_coefficient_;
2707 }
2708 inline double RoutingSearchParameters::multi_armed_bandit_compound_operator_exploration_coefficient() const {
2709  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_exploration_coefficient)
2710  return _internal_multi_armed_bandit_compound_operator_exploration_coefficient();
2711 }
2712 inline void RoutingSearchParameters::_internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(double value) {
2713 
2714  multi_armed_bandit_compound_operator_exploration_coefficient_ = value;
2715 }
2716 inline void RoutingSearchParameters::set_multi_armed_bandit_compound_operator_exploration_coefficient(double value) {
2717  _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(value);
2718  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_exploration_coefficient)
2719 }
2720 
2721 // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
2722 inline void RoutingSearchParameters::clear_relocate_expensive_chain_num_arcs_to_consider() {
2723  relocate_expensive_chain_num_arcs_to_consider_ = 0;
2724 }
2725 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_relocate_expensive_chain_num_arcs_to_consider() const {
2726  return relocate_expensive_chain_num_arcs_to_consider_;
2727 }
2728 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::relocate_expensive_chain_num_arcs_to_consider() const {
2729  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
2730  return _internal_relocate_expensive_chain_num_arcs_to_consider();
2731 }
2732 inline void RoutingSearchParameters::_internal_set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
2733 
2734  relocate_expensive_chain_num_arcs_to_consider_ = value;
2735 }
2736 inline void RoutingSearchParameters::set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
2737  _internal_set_relocate_expensive_chain_num_arcs_to_consider(value);
2738  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
2739 }
2740 
2741 // int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
2742 inline void RoutingSearchParameters::clear_heuristic_expensive_chain_lns_num_arcs_to_consider() {
2743  heuristic_expensive_chain_lns_num_arcs_to_consider_ = 0;
2744 }
2745 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_heuristic_expensive_chain_lns_num_arcs_to_consider() const {
2746  return heuristic_expensive_chain_lns_num_arcs_to_consider_;
2747 }
2748 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::heuristic_expensive_chain_lns_num_arcs_to_consider() const {
2749  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.heuristic_expensive_chain_lns_num_arcs_to_consider)
2750  return _internal_heuristic_expensive_chain_lns_num_arcs_to_consider();
2751 }
2752 inline void RoutingSearchParameters::_internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
2753 
2754  heuristic_expensive_chain_lns_num_arcs_to_consider_ = value;
2755 }
2756 inline void RoutingSearchParameters::set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
2757  _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(value);
2758  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.heuristic_expensive_chain_lns_num_arcs_to_consider)
2759 }
2760 
2761 // int32 heuristic_close_nodes_lns_num_nodes = 35;
2762 inline void RoutingSearchParameters::clear_heuristic_close_nodes_lns_num_nodes() {
2763  heuristic_close_nodes_lns_num_nodes_ = 0;
2764 }
2765 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_heuristic_close_nodes_lns_num_nodes() const {
2766  return heuristic_close_nodes_lns_num_nodes_;
2767 }
2768 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::heuristic_close_nodes_lns_num_nodes() const {
2769  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.heuristic_close_nodes_lns_num_nodes)
2770  return _internal_heuristic_close_nodes_lns_num_nodes();
2771 }
2772 inline void RoutingSearchParameters::_internal_set_heuristic_close_nodes_lns_num_nodes(::PROTOBUF_NAMESPACE_ID::int32 value) {
2773 
2774  heuristic_close_nodes_lns_num_nodes_ = value;
2775 }
2776 inline void RoutingSearchParameters::set_heuristic_close_nodes_lns_num_nodes(::PROTOBUF_NAMESPACE_ID::int32 value) {
2777  _internal_set_heuristic_close_nodes_lns_num_nodes(value);
2778  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.heuristic_close_nodes_lns_num_nodes)
2779 }
2780 
2781 // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
2782 inline void RoutingSearchParameters::clear_local_search_metaheuristic() {
2783  local_search_metaheuristic_ = 0;
2784 }
2785 inline ::operations_research::LocalSearchMetaheuristic_Value RoutingSearchParameters::_internal_local_search_metaheuristic() const {
2786  return static_cast< ::operations_research::LocalSearchMetaheuristic_Value >(local_search_metaheuristic_);
2787 }
2788 inline ::operations_research::LocalSearchMetaheuristic_Value RoutingSearchParameters::local_search_metaheuristic() const {
2789  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_metaheuristic)
2790  return _internal_local_search_metaheuristic();
2791 }
2792 inline void RoutingSearchParameters::_internal_set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value) {
2793 
2794  local_search_metaheuristic_ = value;
2795 }
2796 inline void RoutingSearchParameters::set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value) {
2797  _internal_set_local_search_metaheuristic(value);
2798  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.local_search_metaheuristic)
2799 }
2800 
2801 // double guided_local_search_lambda_coefficient = 5;
2802 inline void RoutingSearchParameters::clear_guided_local_search_lambda_coefficient() {
2803  guided_local_search_lambda_coefficient_ = 0;
2804 }
2805 inline double RoutingSearchParameters::_internal_guided_local_search_lambda_coefficient() const {
2806  return guided_local_search_lambda_coefficient_;
2807 }
2808 inline double RoutingSearchParameters::guided_local_search_lambda_coefficient() const {
2809  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
2810  return _internal_guided_local_search_lambda_coefficient();
2811 }
2812 inline void RoutingSearchParameters::_internal_set_guided_local_search_lambda_coefficient(double value) {
2813 
2814  guided_local_search_lambda_coefficient_ = value;
2815 }
2816 inline void RoutingSearchParameters::set_guided_local_search_lambda_coefficient(double value) {
2817  _internal_set_guided_local_search_lambda_coefficient(value);
2818  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
2819 }
2820 
2821 // bool use_depth_first_search = 6;
2822 inline void RoutingSearchParameters::clear_use_depth_first_search() {
2823  use_depth_first_search_ = false;
2824 }
2825 inline bool RoutingSearchParameters::_internal_use_depth_first_search() const {
2826  return use_depth_first_search_;
2827 }
2828 inline bool RoutingSearchParameters::use_depth_first_search() const {
2829  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_depth_first_search)
2830  return _internal_use_depth_first_search();
2831 }
2832 inline void RoutingSearchParameters::_internal_set_use_depth_first_search(bool value) {
2833 
2834  use_depth_first_search_ = value;
2835 }
2836 inline void RoutingSearchParameters::set_use_depth_first_search(bool value) {
2837  _internal_set_use_depth_first_search(value);
2838  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_depth_first_search)
2839 }
2840 
2841 // .operations_research.OptionalBoolean use_cp = 28;
2842 inline void RoutingSearchParameters::clear_use_cp() {
2843  use_cp_ = 0;
2844 }
2845 inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp() const {
2846  return static_cast< ::operations_research::OptionalBoolean >(use_cp_);
2847 }
2848 inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp() const {
2849  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp)
2850  return _internal_use_cp();
2851 }
2852 inline void RoutingSearchParameters::_internal_set_use_cp(::operations_research::OptionalBoolean value) {
2853 
2854  use_cp_ = value;
2855 }
2856 inline void RoutingSearchParameters::set_use_cp(::operations_research::OptionalBoolean value) {
2857  _internal_set_use_cp(value);
2858  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp)
2859 }
2860 
2861 // .operations_research.OptionalBoolean use_cp_sat = 27;
2862 inline void RoutingSearchParameters::clear_use_cp_sat() {
2863  use_cp_sat_ = 0;
2864 }
2865 inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp_sat() const {
2866  return static_cast< ::operations_research::OptionalBoolean >(use_cp_sat_);
2867 }
2868 inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp_sat() const {
2869  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp_sat)
2870  return _internal_use_cp_sat();
2871 }
2872 inline void RoutingSearchParameters::_internal_set_use_cp_sat(::operations_research::OptionalBoolean value) {
2873 
2874  use_cp_sat_ = value;
2875 }
2876 inline void RoutingSearchParameters::set_use_cp_sat(::operations_research::OptionalBoolean value) {
2877  _internal_set_use_cp_sat(value);
2878  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp_sat)
2879 }
2880 
2881 // .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
2882 inline void RoutingSearchParameters::clear_continuous_scheduling_solver() {
2883  continuous_scheduling_solver_ = 0;
2884 }
2885 inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_continuous_scheduling_solver() const {
2886  return static_cast< ::operations_research::RoutingSearchParameters_SchedulingSolver >(continuous_scheduling_solver_);
2887 }
2888 inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::continuous_scheduling_solver() const {
2889  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.continuous_scheduling_solver)
2890  return _internal_continuous_scheduling_solver();
2891 }
2892 inline void RoutingSearchParameters::_internal_set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
2893 
2894  continuous_scheduling_solver_ = value;
2895 }
2896 inline void RoutingSearchParameters::set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
2897  _internal_set_continuous_scheduling_solver(value);
2898  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.continuous_scheduling_solver)
2899 }
2900 
2901 // .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
2902 inline void RoutingSearchParameters::clear_mixed_integer_scheduling_solver() {
2903  mixed_integer_scheduling_solver_ = 0;
2904 }
2905 inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_mixed_integer_scheduling_solver() const {
2906  return static_cast< ::operations_research::RoutingSearchParameters_SchedulingSolver >(mixed_integer_scheduling_solver_);
2907 }
2908 inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::mixed_integer_scheduling_solver() const {
2909  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.mixed_integer_scheduling_solver)
2910  return _internal_mixed_integer_scheduling_solver();
2911 }
2912 inline void RoutingSearchParameters::_internal_set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
2913 
2914  mixed_integer_scheduling_solver_ = value;
2915 }
2916 inline void RoutingSearchParameters::set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
2917  _internal_set_mixed_integer_scheduling_solver(value);
2918  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.mixed_integer_scheduling_solver)
2919 }
2920 
2921 // double optimization_step = 7;
2922 inline void RoutingSearchParameters::clear_optimization_step() {
2923  optimization_step_ = 0;
2924 }
2925 inline double RoutingSearchParameters::_internal_optimization_step() const {
2926  return optimization_step_;
2927 }
2928 inline double RoutingSearchParameters::optimization_step() const {
2929  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.optimization_step)
2930  return _internal_optimization_step();
2931 }
2932 inline void RoutingSearchParameters::_internal_set_optimization_step(double value) {
2933 
2934  optimization_step_ = value;
2935 }
2936 inline void RoutingSearchParameters::set_optimization_step(double value) {
2937  _internal_set_optimization_step(value);
2938  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.optimization_step)
2939 }
2940 
2941 // int32 number_of_solutions_to_collect = 17;
2942 inline void RoutingSearchParameters::clear_number_of_solutions_to_collect() {
2943  number_of_solutions_to_collect_ = 0;
2944 }
2945 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_number_of_solutions_to_collect() const {
2946  return number_of_solutions_to_collect_;
2947 }
2948 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::number_of_solutions_to_collect() const {
2949  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
2950  return _internal_number_of_solutions_to_collect();
2951 }
2952 inline void RoutingSearchParameters::_internal_set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value) {
2953 
2954  number_of_solutions_to_collect_ = value;
2955 }
2956 inline void RoutingSearchParameters::set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value) {
2957  _internal_set_number_of_solutions_to_collect(value);
2958  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
2959 }
2960 
2961 // int64 solution_limit = 8;
2962 inline void RoutingSearchParameters::clear_solution_limit() {
2963  solution_limit_ = PROTOBUF_LONGLONG(0);
2964 }
2965 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutingSearchParameters::_internal_solution_limit() const {
2966  return solution_limit_;
2967 }
2968 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutingSearchParameters::solution_limit() const {
2969  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.solution_limit)
2970  return _internal_solution_limit();
2971 }
2972 inline void RoutingSearchParameters::_internal_set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value) {
2973 
2974  solution_limit_ = value;
2975 }
2976 inline void RoutingSearchParameters::set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value) {
2977  _internal_set_solution_limit(value);
2978  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.solution_limit)
2979 }
2980 
2981 // .google.protobuf.Duration time_limit = 9;
2982 inline bool RoutingSearchParameters::_internal_has_time_limit() const {
2983  return this != internal_default_instance() && time_limit_ != nullptr;
2984 }
2985 inline bool RoutingSearchParameters::has_time_limit() const {
2986  return _internal_has_time_limit();
2987 }
2988 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::_internal_time_limit() const {
2989  const PROTOBUF_NAMESPACE_ID::Duration* p = time_limit_;
2990  return p != nullptr ? *p : reinterpret_cast<const PROTOBUF_NAMESPACE_ID::Duration&>(
2991  PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
2992 }
2993 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::time_limit() const {
2994  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.time_limit)
2995  return _internal_time_limit();
2996 }
2997 inline void RoutingSearchParameters::unsafe_arena_set_allocated_time_limit(
2998  PROTOBUF_NAMESPACE_ID::Duration* time_limit) {
2999  if (GetArena() == nullptr) {
3000  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit_);
3001  }
3002  time_limit_ = time_limit;
3003  if (time_limit) {
3004 
3005  } else {
3006 
3007  }
3008  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.time_limit)
3009 }
3010 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_time_limit() {
3011 
3012  PROTOBUF_NAMESPACE_ID::Duration* temp = time_limit_;
3013  time_limit_ = nullptr;
3014  if (GetArena() != nullptr) {
3015  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3016  }
3017  return temp;
3018 }
3019 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::unsafe_arena_release_time_limit() {
3020  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.time_limit)
3021 
3022  PROTOBUF_NAMESPACE_ID::Duration* temp = time_limit_;
3023  time_limit_ = nullptr;
3024  return temp;
3025 }
3026 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::_internal_mutable_time_limit() {
3027 
3028  if (time_limit_ == nullptr) {
3029  auto* p = CreateMaybeMessage<PROTOBUF_NAMESPACE_ID::Duration>(GetArena());
3030  time_limit_ = p;
3031  }
3032  return time_limit_;
3033 }
3034 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_time_limit() {
3035  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.time_limit)
3036  return _internal_mutable_time_limit();
3037 }
3038 inline void RoutingSearchParameters::set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration* time_limit) {
3039  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
3040  if (message_arena == nullptr) {
3041  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit_);
3042  }
3043  if (time_limit) {
3044  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3045  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit)->GetArena();
3046  if (message_arena != submessage_arena) {
3047  time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3048  message_arena, time_limit, submessage_arena);
3049  }
3050 
3051  } else {
3052 
3053  }
3054  time_limit_ = time_limit;
3055  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.time_limit)
3056 }
3057 
3058 // .google.protobuf.Duration lns_time_limit = 10;
3059 inline bool RoutingSearchParameters::_internal_has_lns_time_limit() const {
3060  return this != internal_default_instance() && lns_time_limit_ != nullptr;
3061 }
3062 inline bool RoutingSearchParameters::has_lns_time_limit() const {
3063  return _internal_has_lns_time_limit();
3064 }
3065 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::_internal_lns_time_limit() const {
3066  const PROTOBUF_NAMESPACE_ID::Duration* p = lns_time_limit_;
3067  return p != nullptr ? *p : reinterpret_cast<const PROTOBUF_NAMESPACE_ID::Duration&>(
3068  PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
3069 }
3070 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::lns_time_limit() const {
3071  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.lns_time_limit)
3072  return _internal_lns_time_limit();
3073 }
3074 inline void RoutingSearchParameters::unsafe_arena_set_allocated_lns_time_limit(
3075  PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit) {
3076  if (GetArena() == nullptr) {
3077  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit_);
3078  }
3079  lns_time_limit_ = lns_time_limit;
3080  if (lns_time_limit) {
3081 
3082  } else {
3083 
3084  }
3085  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
3086 }
3087 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_lns_time_limit() {
3088 
3089  PROTOBUF_NAMESPACE_ID::Duration* temp = lns_time_limit_;
3090  lns_time_limit_ = nullptr;
3091  if (GetArena() != nullptr) {
3092  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3093  }
3094  return temp;
3095 }
3096 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::unsafe_arena_release_lns_time_limit() {
3097  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.lns_time_limit)
3098 
3099  PROTOBUF_NAMESPACE_ID::Duration* temp = lns_time_limit_;
3100  lns_time_limit_ = nullptr;
3101  return temp;
3102 }
3103 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::_internal_mutable_lns_time_limit() {
3104 
3105  if (lns_time_limit_ == nullptr) {
3106  auto* p = CreateMaybeMessage<PROTOBUF_NAMESPACE_ID::Duration>(GetArena());
3107  lns_time_limit_ = p;
3108  }
3109  return lns_time_limit_;
3110 }
3111 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_lns_time_limit() {
3112  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.lns_time_limit)
3113  return _internal_mutable_lns_time_limit();
3114 }
3115 inline void RoutingSearchParameters::set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit) {
3116  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
3117  if (message_arena == nullptr) {
3118  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit_);
3119  }
3120  if (lns_time_limit) {
3121  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3122  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit)->GetArena();
3123  if (message_arena != submessage_arena) {
3124  lns_time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3125  message_arena, lns_time_limit, submessage_arena);
3126  }
3127 
3128  } else {
3129 
3130  }
3131  lns_time_limit_ = lns_time_limit;
3132  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
3133 }
3134 
3135 // .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
3136 inline bool RoutingSearchParameters::_internal_has_improvement_limit_parameters() const {
3137  return this != internal_default_instance() && improvement_limit_parameters_ != nullptr;
3138 }
3139 inline bool RoutingSearchParameters::has_improvement_limit_parameters() const {
3140  return _internal_has_improvement_limit_parameters();
3141 }
3142 inline void RoutingSearchParameters::clear_improvement_limit_parameters() {
3143  if (GetArena() == nullptr && improvement_limit_parameters_ != nullptr) {
3144  delete improvement_limit_parameters_;
3145  }
3146  improvement_limit_parameters_ = nullptr;
3147 }
3148 inline const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& RoutingSearchParameters::_internal_improvement_limit_parameters() const {
3149  const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* p = improvement_limit_parameters_;
3150  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters&>(
3152 }
3153 inline const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& RoutingSearchParameters::improvement_limit_parameters() const {
3154  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3155  return _internal_improvement_limit_parameters();
3156 }
3157 inline void RoutingSearchParameters::unsafe_arena_set_allocated_improvement_limit_parameters(
3158  ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* improvement_limit_parameters) {
3159  if (GetArena() == nullptr) {
3160  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(improvement_limit_parameters_);
3161  }
3162  improvement_limit_parameters_ = improvement_limit_parameters;
3163  if (improvement_limit_parameters) {
3164 
3165  } else {
3166 
3167  }
3168  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3169 }
3170 inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* RoutingSearchParameters::release_improvement_limit_parameters() {
3171 
3172  ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* temp = improvement_limit_parameters_;
3173  improvement_limit_parameters_ = nullptr;
3174  if (GetArena() != nullptr) {
3175  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3176  }
3177  return temp;
3178 }
3179 inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* RoutingSearchParameters::unsafe_arena_release_improvement_limit_parameters() {
3180  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3181 
3182  ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* temp = improvement_limit_parameters_;
3183  improvement_limit_parameters_ = nullptr;
3184  return temp;
3185 }
3186 inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* RoutingSearchParameters::_internal_mutable_improvement_limit_parameters() {
3187 
3188  if (improvement_limit_parameters_ == nullptr) {
3189  auto* p = CreateMaybeMessage<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters>(GetArena());
3190  improvement_limit_parameters_ = p;
3191  }
3192  return improvement_limit_parameters_;
3193 }
3194 inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* RoutingSearchParameters::mutable_improvement_limit_parameters() {
3195  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3196  return _internal_mutable_improvement_limit_parameters();
3197 }
3198 inline void RoutingSearchParameters::set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* improvement_limit_parameters) {
3199  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
3200  if (message_arena == nullptr) {
3201  delete improvement_limit_parameters_;
3202  }
3203  if (improvement_limit_parameters) {
3204  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3205  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(improvement_limit_parameters);
3206  if (message_arena != submessage_arena) {
3207  improvement_limit_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3208  message_arena, improvement_limit_parameters, submessage_arena);
3209  }
3210 
3211  } else {
3212 
3213  }
3214  improvement_limit_parameters_ = improvement_limit_parameters;
3215  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3216 }
3217 
3218 // bool use_full_propagation = 11;
3219 inline void RoutingSearchParameters::clear_use_full_propagation() {
3220  use_full_propagation_ = false;
3221 }
3222 inline bool RoutingSearchParameters::_internal_use_full_propagation() const {
3223  return use_full_propagation_;
3224 }
3225 inline bool RoutingSearchParameters::use_full_propagation() const {
3226  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_full_propagation)
3227  return _internal_use_full_propagation();
3228 }
3229 inline void RoutingSearchParameters::_internal_set_use_full_propagation(bool value) {
3230 
3231  use_full_propagation_ = value;
3232 }
3233 inline void RoutingSearchParameters::set_use_full_propagation(bool value) {
3234  _internal_set_use_full_propagation(value);
3235  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_full_propagation)
3236 }
3237 
3238 // bool log_search = 13;
3239 inline void RoutingSearchParameters::clear_log_search() {
3240  log_search_ = false;
3241 }
3242 inline bool RoutingSearchParameters::_internal_log_search() const {
3243  return log_search_;
3244 }
3245 inline bool RoutingSearchParameters::log_search() const {
3246  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_search)
3247  return _internal_log_search();
3248 }
3249 inline void RoutingSearchParameters::_internal_set_log_search(bool value) {
3250 
3251  log_search_ = value;
3252 }
3253 inline void RoutingSearchParameters::set_log_search(bool value) {
3254  _internal_set_log_search(value);
3255  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_search)
3256 }
3257 
3258 // double log_cost_scaling_factor = 22;
3259 inline void RoutingSearchParameters::clear_log_cost_scaling_factor() {
3260  log_cost_scaling_factor_ = 0;
3261 }
3262 inline double RoutingSearchParameters::_internal_log_cost_scaling_factor() const {
3263  return log_cost_scaling_factor_;
3264 }
3265 inline double RoutingSearchParameters::log_cost_scaling_factor() const {
3266  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
3267  return _internal_log_cost_scaling_factor();
3268 }
3269 inline void RoutingSearchParameters::_internal_set_log_cost_scaling_factor(double value) {
3270 
3271  log_cost_scaling_factor_ = value;
3272 }
3273 inline void RoutingSearchParameters::set_log_cost_scaling_factor(double value) {
3274  _internal_set_log_cost_scaling_factor(value);
3275  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
3276 }
3277 
3278 // double log_cost_offset = 29;
3279 inline void RoutingSearchParameters::clear_log_cost_offset() {
3280  log_cost_offset_ = 0;
3281 }
3282 inline double RoutingSearchParameters::_internal_log_cost_offset() const {
3283  return log_cost_offset_;
3284 }
3285 inline double RoutingSearchParameters::log_cost_offset() const {
3286  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_offset)
3287  return _internal_log_cost_offset();
3288 }
3289 inline void RoutingSearchParameters::_internal_set_log_cost_offset(double value) {
3290 
3291  log_cost_offset_ = value;
3292 }
3293 inline void RoutingSearchParameters::set_log_cost_offset(double value) {
3294  _internal_set_log_cost_offset(value);
3295  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_offset)
3296 }
3297 
3298 // string log_tag = 36;
3299 inline void RoutingSearchParameters::clear_log_tag() {
3300  log_tag_.ClearToEmpty();
3301 }
3302 inline const std::string& RoutingSearchParameters::log_tag() const {
3303  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_tag)
3304  return _internal_log_tag();
3305 }
3306 inline void RoutingSearchParameters::set_log_tag(const std::string& value) {
3307  _internal_set_log_tag(value);
3308  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_tag)
3309 }
3310 inline std::string* RoutingSearchParameters::mutable_log_tag() {
3311  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.log_tag)
3312  return _internal_mutable_log_tag();
3313 }
3314 inline const std::string& RoutingSearchParameters::_internal_log_tag() const {
3315  return log_tag_.Get();
3316 }
3317 inline void RoutingSearchParameters::_internal_set_log_tag(const std::string& value) {
3318 
3319  log_tag_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
3320 }
3321 inline void RoutingSearchParameters::set_log_tag(std::string&& value) {
3322 
3323  log_tag_.Set(
3324  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
3325  // @@protoc_insertion_point(field_set_rvalue:operations_research.RoutingSearchParameters.log_tag)
3326 }
3327 inline void RoutingSearchParameters::set_log_tag(const char* value) {
3328  GOOGLE_DCHECK(value != nullptr);
3329 
3330  log_tag_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
3331  // @@protoc_insertion_point(field_set_char:operations_research.RoutingSearchParameters.log_tag)
3332 }
3333 inline void RoutingSearchParameters::set_log_tag(const char* value,
3334  size_t size) {
3335 
3336  log_tag_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
3337  reinterpret_cast<const char*>(value), size), GetArena());
3338  // @@protoc_insertion_point(field_set_pointer:operations_research.RoutingSearchParameters.log_tag)
3339 }
3340 inline std::string* RoutingSearchParameters::_internal_mutable_log_tag() {
3341 
3342  return log_tag_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
3343 }
3344 inline std::string* RoutingSearchParameters::release_log_tag() {
3345  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.log_tag)
3346  return log_tag_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
3347 }
3348 inline void RoutingSearchParameters::set_allocated_log_tag(std::string* log_tag) {
3349  if (log_tag != nullptr) {
3350 
3351  } else {
3352 
3353  }
3354  log_tag_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), log_tag,
3355  GetArena());
3356  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.log_tag)
3357 }
3358 
3359 // -------------------------------------------------------------------
3360 
3361 // RoutingModelParameters
3362 
3363 // .operations_research.ConstraintSolverParameters solver_parameters = 1;
3364 inline bool RoutingModelParameters::_internal_has_solver_parameters() const {
3365  return this != internal_default_instance() && solver_parameters_ != nullptr;
3366 }
3367 inline bool RoutingModelParameters::has_solver_parameters() const {
3368  return _internal_has_solver_parameters();
3369 }
3370 inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::_internal_solver_parameters() const {
3371  const ::operations_research::ConstraintSolverParameters* p = solver_parameters_;
3372  return p != nullptr ? *p : reinterpret_cast<const ::operations_research::ConstraintSolverParameters&>(
3374 }
3375 inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::solver_parameters() const {
3376  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.solver_parameters)
3377  return _internal_solver_parameters();
3378 }
3379 inline void RoutingModelParameters::unsafe_arena_set_allocated_solver_parameters(
3380  ::operations_research::ConstraintSolverParameters* solver_parameters) {
3381  if (GetArena() == nullptr) {
3382  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters_);
3383  }
3384  solver_parameters_ = solver_parameters;
3385  if (solver_parameters) {
3386 
3387  } else {
3388 
3389  }
3390  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
3391 }
3392 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::release_solver_parameters() {
3393 
3394  ::operations_research::ConstraintSolverParameters* temp = solver_parameters_;
3395  solver_parameters_ = nullptr;
3396  if (GetArena() != nullptr) {
3397  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3398  }
3399  return temp;
3400 }
3401 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::unsafe_arena_release_solver_parameters() {
3402  // @@protoc_insertion_point(field_release:operations_research.RoutingModelParameters.solver_parameters)
3403 
3404  ::operations_research::ConstraintSolverParameters* temp = solver_parameters_;
3405  solver_parameters_ = nullptr;
3406  return temp;
3407 }
3408 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::_internal_mutable_solver_parameters() {
3409 
3410  if (solver_parameters_ == nullptr) {
3411  auto* p = CreateMaybeMessage<::operations_research::ConstraintSolverParameters>(GetArena());
3412  solver_parameters_ = p;
3413  }
3414  return solver_parameters_;
3415 }
3416 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::mutable_solver_parameters() {
3417  // @@protoc_insertion_point(field_mutable:operations_research.RoutingModelParameters.solver_parameters)
3418  return _internal_mutable_solver_parameters();
3419 }
3420 inline void RoutingModelParameters::set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters* solver_parameters) {
3421  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
3422  if (message_arena == nullptr) {
3423  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters_);
3424  }
3425  if (solver_parameters) {
3426  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3427  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters)->GetArena();
3428  if (message_arena != submessage_arena) {
3429  solver_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3430  message_arena, solver_parameters, submessage_arena);
3431  }
3432 
3433  } else {
3434 
3435  }
3436  solver_parameters_ = solver_parameters;
3437  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
3438 }
3439 
3440 // bool reduce_vehicle_cost_model = 2;
3441 inline void RoutingModelParameters::clear_reduce_vehicle_cost_model() {
3442  reduce_vehicle_cost_model_ = false;
3443 }
3444 inline bool RoutingModelParameters::_internal_reduce_vehicle_cost_model() const {
3445  return reduce_vehicle_cost_model_;
3446 }
3447 inline bool RoutingModelParameters::reduce_vehicle_cost_model() const {
3448  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
3449  return _internal_reduce_vehicle_cost_model();
3450 }
3451 inline void RoutingModelParameters::_internal_set_reduce_vehicle_cost_model(bool value) {
3452 
3453  reduce_vehicle_cost_model_ = value;
3454 }
3455 inline void RoutingModelParameters::set_reduce_vehicle_cost_model(bool value) {
3456  _internal_set_reduce_vehicle_cost_model(value);
3457  // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
3458 }
3459 
3460 // int32 max_callback_cache_size = 3;
3461 inline void RoutingModelParameters::clear_max_callback_cache_size() {
3462  max_callback_cache_size_ = 0;
3463 }
3464 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingModelParameters::_internal_max_callback_cache_size() const {
3465  return max_callback_cache_size_;
3466 }
3467 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingModelParameters::max_callback_cache_size() const {
3468  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.max_callback_cache_size)
3469  return _internal_max_callback_cache_size();
3470 }
3471 inline void RoutingModelParameters::_internal_set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
3472 
3473  max_callback_cache_size_ = value;
3474 }
3475 inline void RoutingModelParameters::set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
3476  _internal_set_max_callback_cache_size(value);
3477  // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.max_callback_cache_size)
3478 }
3479 
3480 #ifdef __GNUC__
3481  #pragma GCC diagnostic pop
3482 #endif // __GNUC__
3483 // -------------------------------------------------------------------
3484 
3485 // -------------------------------------------------------------------
3486 
3487 // -------------------------------------------------------------------
3488 
3489 
3490 // @@protoc_insertion_point(namespace_scope)
3491 
3492 } // namespace operations_research
3493 
3494 PROTOBUF_NAMESPACE_OPEN
3495 
3496 template <> struct is_proto_enum< ::operations_research::RoutingSearchParameters_SchedulingSolver> : ::std::true_type {};
3497 template <>
3498 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::RoutingSearchParameters_SchedulingSolver>() {
3500 }
3501 
3502 PROTOBUF_NAMESPACE_CLOSE
3503 
3504 // @@protoc_insertion_point(global_scope)
3505 
3506 #include <google/protobuf/port_undef.inc>
3507 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
int64_t max
Definition: alldiff_cst.cc:140
int64_t min
Definition: alldiff_cst.cc:139
void set_multi_armed_bandit_compound_operator_memory_coefficient(double value)
const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators & local_search_operators() const
RoutingSearchParameters_ImprovementSearchLimitParameters & operator=(RoutingSearchParameters_ImprovementSearchLimitParameters &&from) noexcept
double cheapest_insertion_first_solution_neighbors_ratio() const
void set_use_exchange_subtrip(::operations_research::OptionalBoolean value)
void set_use_node_pair_swap_active(::operations_research::OptionalBoolean value)
void set_log_cost_offset(double value)
void Swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators *other)
::operations_research::ConstraintSolverParameters * unsafe_arena_release_solver_parameters()
static bool SchedulingSolver_IsValid(int value)
void Swap(RoutingSearchParameters *other)
const std::string & log_tag() const
void UnsafeArenaSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators *other)
bool cheapest_insertion_add_unperformed_entries() const
void set_optimization_step(double value)
void set_savings_add_reverse_arcs(bool value)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
void set_use_make_inactive(::operations_research::OptionalBoolean value)
double savings_max_memory_usage_bytes() const
void set_cheapest_insertion_ls_operator_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value)
void clear_multi_armed_bandit_compound_operator_exploration_coefficient()
::operations_research::OptionalBoolean use_cross_exchange() const
::operations_research::LocalSearchMetaheuristic_Value local_search_metaheuristic() const
static const RoutingSearchParameters * internal_default_instance()
void set_use_cross_exchange(::operations_research::OptionalBoolean value)
void clear_use_relocate_path_global_cheapest_insertion_insert_unperformed()
::operations_research::OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns() const
void set_allocated_log_tag(std::string *log_tag)
void set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration *time_limit)
void set_use_make_chain_inactive(::operations_research::OptionalBoolean value)
void set_cheapest_insertion_add_unperformed_entries(bool value)
void set_use_light_relocate_pair(::operations_research::OptionalBoolean value)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::operations_research::OptionalBoolean use_cross() const
::operations_research::OptionalBoolean use_make_inactive() const
void clear_cheapest_insertion_first_solution_min_neighbors()
RoutingSearchParameters_ImprovementSearchLimitParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider() const
RoutingModelParameters * New() const final
RoutingSearchParameters & operator=(RoutingSearchParameters &&from) noexcept
static const RoutingSearchParameters_ImprovementSearchLimitParameters * internal_default_instance()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void set_savings_arc_coefficient(double value)
void unsafe_arena_set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration *lns_time_limit)
::operations_research::OptionalBoolean use_extended_swap_active() const
::operations_research::OptionalBoolean use_exchange_pair() const
double cheapest_insertion_farthest_seeds_ratio() const
::PROTOBUF_NAMESPACE_ID::int32 cheapest_insertion_first_solution_min_neighbors() const
RoutingSearchParameters & operator=(const RoutingSearchParameters &from)
void set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value)
virtual ~RoutingSearchParameters_LocalSearchNeighborhoodOperators()
void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *solver_parameters)
double multi_armed_bandit_compound_operator_exploration_coefficient() const
void CopyFrom(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
::operations_research::OptionalBoolean use_relocate_and_make_active() const
void set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value)
static const std::string & SchedulingSolver_Name(T enum_t_value)
void set_cheapest_insertion_farthest_seeds_ratio(double value)
void set_use_make_active(::operations_research::OptionalBoolean value)
void unsafe_arena_set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *improvement_limit_parameters)
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
RoutingModelParameters(const RoutingModelParameters &from)
::operations_research::OptionalBoolean use_make_active() const
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * unsafe_arena_release_local_search_operators()
void CopyFrom(const RoutingModelParameters &from)
::operations_research::OptionalBoolean use_relocate_neighbors() const
::operations_research::OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed() const
void set_use_exchange_pair(::operations_research::OptionalBoolean value)
void set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_savings_neighbors_ratio(double value)
PROTOBUF_NAMESPACE_ID::Duration * unsafe_arena_release_time_limit()
void UnsafeArenaSwap(RoutingModelParameters *other)
void set_log_tag(const char *value, size_t size)
void set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value)
friend void swap(RoutingModelParameters &a, RoutingModelParameters &b)
void set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators(::PROTOBUF_NAMESPACE_ID::Arena *arena)
PROTOBUF_NAMESPACE_ID::Duration * mutable_time_limit()
void unsafe_arena_set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *local_search_operators)
void set_cheapest_insertion_first_solution_neighbors_ratio(double value)
void set_reduce_vehicle_cost_model(bool value)
void set_use_tsp_lns(::operations_research::OptionalBoolean value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators(RoutingSearchParameters_LocalSearchNeighborhoodOperators &&from) noexcept
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * release_local_search_operators()
constexpr RoutingSearchParameters_ImprovementSearchLimitParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
void set_use_cross(::operations_research::OptionalBoolean value)
bool use_multi_armed_bandit_concatenate_operators() const
void clear_cheapest_insertion_first_solution_neighbors_ratio()
void set_guided_local_search_lambda_coefficient(double value)
::operations_research::ConstraintSolverParameters * release_solver_parameters()
void set_use_relocate_subtrip(::operations_research::OptionalBoolean value)
RoutingSearchParameters_SchedulingSolver SchedulingSolver
::operations_research::OptionalBoolean use_tsp_opt() const
RoutingSearchParameters(RoutingSearchParameters &&from) noexcept
void Swap(RoutingModelParameters *other)
::PROTOBUF_NAMESPACE_ID::int32 heuristic_close_nodes_lns_num_nodes() const
::operations_research::OptionalBoolean use_local_cheapest_insertion_close_nodes_lns() const
void set_use_relocate(::operations_research::OptionalBoolean value)
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators * internal_default_instance()
void set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value)
void set_use_tsp_opt(::operations_research::OptionalBoolean value)
void set_use_full_propagation(bool value)
RoutingSearchParameters_ImprovementSearchLimitParameters * New() const final
static const RoutingModelParameters * internal_default_instance()
RoutingSearchParameters_ImprovementSearchLimitParameters(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
static bool SchedulingSolver_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SchedulingSolver *value)
void set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value)
RoutingModelParameters(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value)
void set_cheapest_insertion_ls_operator_neighbors_ratio(double value)
void set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value)
void unsafe_arena_set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration *time_limit)
void set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value)
virtual ~RoutingSearchParameters_ImprovementSearchLimitParameters()
void UnsafeArenaSwap(RoutingSearchParameters *other)
double guided_local_search_lambda_coefficient() const
constexpr RoutingSearchParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
constexpr RoutingSearchParameters_LocalSearchNeighborhoodOperators(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
void UnsafeArenaSwap(RoutingSearchParameters_ImprovementSearchLimitParameters *other)
void set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
void set_use_extended_swap_active(::operations_research::OptionalBoolean value)
void set_log_tag(std::string &&value)
PROTOBUF_NAMESPACE_ID::Duration * release_lns_time_limit()
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(RoutingSearchParameters_LocalSearchNeighborhoodOperators &&from) noexcept
::operations_research::OptionalBoolean use_relocate_subtrip() const
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters * unsafe_arena_release_improvement_limit_parameters()
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
const PROTOBUF_NAMESPACE_ID::Duration & time_limit() const
void set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value)
::PROTOBUF_NAMESPACE_ID::int32 heuristic_expensive_chain_lns_num_arcs_to_consider() const
RoutingSearchParameters * New() const final
void Swap(RoutingSearchParameters_ImprovementSearchLimitParameters *other)
RoutingSearchParameters_ImprovementSearchLimitParameters(::PROTOBUF_NAMESPACE_ID::Arena *arena)
bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() const
RoutingModelParameters & operator=(RoutingModelParameters &&from) noexcept
const ::operations_research::ConstraintSolverParameters & solver_parameters() const
void set_use_swap_active(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_relocate() const
void set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration *lns_time_limit)
void set_use_relocate_pair(::operations_research::OptionalBoolean value)
bool use_unfiltered_first_solution_strategy() const
RoutingSearchParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
RoutingSearchParameters(const RoutingSearchParameters &from)
void clear_use_global_cheapest_insertion_expensive_chain_lns()
void set_use_inactive_lns(::operations_research::OptionalBoolean value)
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters * mutable_improvement_limit_parameters()
void set_multi_armed_bandit_compound_operator_exploration_coefficient(double value)
::operations_research::OptionalBoolean use_exchange_subtrip() const
::PROTOBUF_NAMESPACE_ID::int32 cheapest_insertion_ls_operator_min_neighbors() const
void set_use_full_path_lns(::operations_research::OptionalBoolean value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void set_savings_parallel_routes(bool value)
const PROTOBUF_NAMESPACE_ID::Duration & lns_time_limit() const
::operations_research::OptionalBoolean use_path_lns() const
void set_use_exchange(::operations_research::OptionalBoolean value)
void CopyFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
::operations_research::OptionalBoolean use_or_opt() const
RoutingSearchParameters_LocalSearchNeighborhoodOperators * New() const final
void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *local_search_operators)
::operations_research::OptionalBoolean use_cp_sat() const
::operations_research::OptionalBoolean use_relocate_pair() const
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters * release_improvement_limit_parameters()
void set_log_tag(const std::string &value)
::operations_research::OptionalBoolean use_global_cheapest_insertion_path_lns() const
RoutingSearchParameters_ImprovementSearchLimitParameters ImprovementSearchLimitParameters
void MergeFrom(const RoutingModelParameters &from)
::operations_research::OptionalBoolean use_light_relocate_pair() const
::operations_research::RoutingSearchParameters_SchedulingSolver continuous_scheduling_solver() const
::PROTOBUF_NAMESPACE_ID::int64 solution_limit() const
void clear_heuristic_expensive_chain_lns_num_arcs_to_consider()
::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect() const
::operations_research::OptionalBoolean use_two_opt() const
void set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
void set_use_multi_armed_bandit_concatenate_operators(bool value)
void set_use_cp_sat(::operations_research::OptionalBoolean value)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
::operations_research::OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns() const
void set_use_depth_first_search(bool value)
double cheapest_insertion_ls_operator_neighbors_ratio() const
::operations_research::OptionalBoolean use_exchange() const
void MergeFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
RoutingSearchParameters_ImprovementSearchLimitParameters & operator=(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
void set_cheapest_insertion_first_solution_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
::operations_research::OptionalBoolean use_local_cheapest_insertion_path_lns() const
void set_use_relocate_and_make_active(::operations_research::OptionalBoolean value)
::PROTOBUF_NAMESPACE_ID::int32 improvement_rate_solutions_distance() const
void set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters & improvement_limit_parameters() const
void set_savings_max_memory_usage_bytes(double value)
double multi_armed_bandit_compound_operator_memory_coefficient() const
::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size() const
void MergeFrom(const RoutingSearchParameters &from)
void set_improvement_rate_coefficient(double value)
void clear_multi_armed_bandit_compound_operator_memory_coefficient()
friend void swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators &a, RoutingSearchParameters_LocalSearchNeighborhoodOperators &b)
::operations_research::OptionalBoolean use_lin_kernighan() const
RoutingModelParameters & operator=(const RoutingModelParameters &from)
::operations_research::OptionalBoolean use_global_cheapest_insertion_close_nodes_lns() const
::operations_research::OptionalBoolean use_node_pair_swap_active() const
void set_use_lin_kernighan(::operations_research::OptionalBoolean value)
RoutingModelParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void set_log_tag(const char *value)
::operations_research::RoutingSearchParameters_SchedulingSolver mixed_integer_scheduling_solver() const
void set_use_relocate_neighbors(::operations_research::OptionalBoolean value)
void set_use_unfiltered_first_solution_strategy(bool value)
friend void swap(RoutingSearchParameters_ImprovementSearchLimitParameters &a, RoutingSearchParameters_ImprovementSearchLimitParameters &b)
void set_heuristic_close_nodes_lns_num_nodes(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value)
static const RoutingSearchParameters_ImprovementSearchLimitParameters & default_instance()
void set_use_or_opt(::operations_research::OptionalBoolean value)
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators & default_instance()
void clear_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization()
RoutingSearchParameters_ImprovementSearchLimitParameters(RoutingSearchParameters_ImprovementSearchLimitParameters &&from) noexcept
static const RoutingSearchParameters & default_instance()
void clear_use_local_cheapest_insertion_expensive_chain_lns()
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SchedulingSolver_descriptor()
RoutingSearchParameters_LocalSearchNeighborhoodOperators LocalSearchNeighborhoodOperators
PROTOBUF_NAMESPACE_ID::Duration * unsafe_arena_release_lns_time_limit()
void set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *improvement_limit_parameters)
RoutingSearchParameters(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const RoutingModelParameters & default_instance()
friend void swap(RoutingSearchParameters &a, RoutingSearchParameters &b)
::operations_research::OptionalBoolean use_swap_active() const
RoutingSearchParameters_LocalSearchNeighborhoodOperators(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void set_improvement_rate_solutions_distance(::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::OptionalBoolean use_inactive_lns() const
::operations_research::OptionalBoolean use_cp() const
PROTOBUF_NAMESPACE_ID::Duration * mutable_lns_time_limit()
RoutingModelParameters(RoutingModelParameters &&from) noexcept
void set_christofides_use_minimum_matching(bool value)
::operations_research::OptionalBoolean use_full_path_lns() const
PROTOBUF_NAMESPACE_ID::Duration * release_time_limit()
::operations_research::OptionalBoolean use_relocate_expensive_chain() const
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * mutable_local_search_operators()
::operations_research::FirstSolutionStrategy_Value first_solution_strategy() const
void set_log_cost_scaling_factor(double value)
constexpr RoutingModelParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
void MergeFrom(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
void set_use_two_opt(::operations_research::OptionalBoolean value)
void unsafe_arena_set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *solver_parameters)
void set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value)
void set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
::operations_research::OptionalBoolean use_make_chain_inactive() const
void set_use_path_lns(::operations_research::OptionalBoolean value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
::operations_research::OptionalBoolean use_tsp_lns() const
::operations_research::ConstraintSolverParameters * mutable_solver_parameters()
void CopyFrom(const RoutingSearchParameters &from)
void set_use_cp(::operations_research::OptionalBoolean value)
int64_t b
int64_t a
SharedTimeLimit * time_limit
const std::string name
int64_t value
Collection of objects used to extend the Constraint Solver library.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * RoutingSearchParameters_SchedulingSolver_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ConstraintSolverParametersDefaultTypeInternal _ConstraintSolverParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingSearchParameters_ImprovementSearchLimitParametersDefaultTypeInternal _RoutingSearchParameters_ImprovementSearchLimitParameters_default_instance_
bool RoutingSearchParameters_SchedulingSolver_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_
@ RoutingSearchParameters_SchedulingSolver_RoutingSearchParameters_SchedulingSolver_INT_MIN_SENTINEL_DO_NOT_USE_
@ RoutingSearchParameters_SchedulingSolver_RoutingSearchParameters_SchedulingSolver_INT_MAX_SENTINEL_DO_NOT_USE_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_
constexpr RoutingSearchParameters_SchedulingSolver RoutingSearchParameters_SchedulingSolver_SchedulingSolver_MAX
bool RoutingSearchParameters_SchedulingSolver_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RoutingSearchParameters_SchedulingSolver *value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_
const std::string & RoutingSearchParameters_SchedulingSolver_Name(T enum_t_value)
constexpr int RoutingSearchParameters_SchedulingSolver_SchedulingSolver_ARRAYSIZE
constexpr RoutingSearchParameters_SchedulingSolver RoutingSearchParameters_SchedulingSolver_SchedulingSolver_MIN
int index
Definition: pack.cc:509
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto_metadata_getter(int index)
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]