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