C++ Reference

C++ Reference: Routing

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 < 3012000
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 3012002 < 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/inlined_string_field.h>
29 #include <google/protobuf/metadata_lite.h>
30 #include <google/protobuf/generated_message_reflection.h>
31 #include <google/protobuf/message.h>
32 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
33 #include <google/protobuf/extension_set.h> // IWYU pragma: export
34 #include <google/protobuf/generated_enum_reflection.h>
35 #include <google/protobuf/unknown_field_set.h>
36 #include <google/protobuf/duration.pb.h>
39 #include "ortools/util/optional_boolean.pb.h"
40 // @@protoc_insertion_point(includes)
41 #include <google/protobuf/port_def.inc>
42 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
43 PROTOBUF_NAMESPACE_OPEN
44 namespace internal {
45 class AnyMetadata;
46 } // namespace internal
47 PROTOBUF_NAMESPACE_CLOSE
48 
49 // Internal implementation detail -- do not use these members.
51  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
52  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
53  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
54  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
55  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3]
56  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
57  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
58  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
59  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
60 };
61 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
62 namespace operations_research {
63 class RoutingModelParameters;
64 class RoutingModelParametersDefaultTypeInternal;
65 extern RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_;
66 class RoutingSearchParameters;
67 class RoutingSearchParametersDefaultTypeInternal;
68 extern RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_;
69 class RoutingSearchParameters_LocalSearchNeighborhoodOperators;
70 class RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal;
71 extern RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_;
72 } // namespace operations_research
73 PROTOBUF_NAMESPACE_OPEN
74 template<> ::operations_research::RoutingModelParameters* Arena::CreateMaybeMessage<::operations_research::RoutingModelParameters>(Arena*);
75 template<> ::operations_research::RoutingSearchParameters* Arena::CreateMaybeMessage<::operations_research::RoutingSearchParameters>(Arena*);
76 template<> ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* Arena::CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(Arena*);
77 PROTOBUF_NAMESPACE_CLOSE
78 namespace operations_research {
79 
86 };
91 
92 const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RoutingSearchParameters_SchedulingSolver_descriptor();
93 template<typename T>
94 inline const std::string& RoutingSearchParameters_SchedulingSolver_Name(T enum_t_value) {
95  static_assert(::std::is_same<T, RoutingSearchParameters_SchedulingSolver>::value ||
96  ::std::is_integral<T>::value,
97  "Incorrect type passed to function RoutingSearchParameters_SchedulingSolver_Name.");
98  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
100 }
102  const std::string& name, RoutingSearchParameters_SchedulingSolver* value) {
103  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<RoutingSearchParameters_SchedulingSolver>(
105 }
106 // ===================================================================
107 
108 class RoutingSearchParameters_LocalSearchNeighborhoodOperators PROTOBUF_FINAL :
109  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators) */ {
110  public:
111  inline RoutingSearchParameters_LocalSearchNeighborhoodOperators() : RoutingSearchParameters_LocalSearchNeighborhoodOperators(nullptr) {};
113 
114  RoutingSearchParameters_LocalSearchNeighborhoodOperators(const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from);
115  RoutingSearchParameters_LocalSearchNeighborhoodOperators(RoutingSearchParameters_LocalSearchNeighborhoodOperators&& from) noexcept
116  : RoutingSearchParameters_LocalSearchNeighborhoodOperators() {
117  *this = ::std::move(from);
118  }
119 
120  inline RoutingSearchParameters_LocalSearchNeighborhoodOperators& operator=(const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from) {
121  CopyFrom(from);
122  return *this;
123  }
124  inline RoutingSearchParameters_LocalSearchNeighborhoodOperators& operator=(RoutingSearchParameters_LocalSearchNeighborhoodOperators&& from) noexcept {
125  if (GetArena() == from.GetArena()) {
126  if (this != &from) InternalSwap(&from);
127  } else {
128  CopyFrom(from);
129  }
130  return *this;
131  }
132 
133  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
134  return GetDescriptor();
135  }
136  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
137  return GetMetadataStatic().descriptor;
138  }
139  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
140  return GetMetadataStatic().reflection;
141  }
142  static const RoutingSearchParameters_LocalSearchNeighborhoodOperators& default_instance();
143 
144  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
145  static inline const RoutingSearchParameters_LocalSearchNeighborhoodOperators* internal_default_instance() {
146  return reinterpret_cast<const RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(
148  }
149  static constexpr int kIndexInFileMessages =
150  0;
151 
152  friend void swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators& a, RoutingSearchParameters_LocalSearchNeighborhoodOperators& b) {
153  a.Swap(&b);
154  }
155  inline void Swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* other) {
156  if (other == this) return;
157  if (GetArena() == other->GetArena()) {
158  InternalSwap(other);
159  } else {
160  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
161  }
162  }
163  void UnsafeArenaSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* other) {
164  if (other == this) return;
165  GOOGLE_DCHECK(GetArena() == other->GetArena());
166  InternalSwap(other);
167  }
168 
169  // implements Message ----------------------------------------------
170 
171  inline RoutingSearchParameters_LocalSearchNeighborhoodOperators* New() const final {
172  return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(nullptr);
173  }
174 
175  RoutingSearchParameters_LocalSearchNeighborhoodOperators* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
176  return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(arena);
177  }
178  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
179  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
180  void CopyFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from);
181  void MergeFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from);
182  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
183  bool IsInitialized() const final;
184 
185  size_t ByteSizeLong() const final;
186  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
187  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
188  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
189  int GetCachedSize() const final { return _cached_size_.Get(); }
190 
191  private:
192  inline void SharedCtor();
193  inline void SharedDtor();
194  void SetCachedSize(int size) const final;
195  void InternalSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* other);
196  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
197  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
198  return "operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators";
199  }
200  protected:
201  explicit RoutingSearchParameters_LocalSearchNeighborhoodOperators(::PROTOBUF_NAMESPACE_ID::Arena* arena);
202  private:
203  static void ArenaDtor(void* object);
204  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
205  public:
206 
207  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
208  private:
209  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
210  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto);
212  }
213 
214  public:
215 
216  // nested types ----------------------------------------------------
217 
218  // accessors -------------------------------------------------------
219 
220  enum : int {
221  kUseRelocateFieldNumber = 1,
222  kUseRelocatePairFieldNumber = 2,
223  kUseRelocateNeighborsFieldNumber = 3,
224  kUseExchangeFieldNumber = 4,
225  kUseCrossFieldNumber = 5,
226  kUseCrossExchangeFieldNumber = 6,
227  kUseTwoOptFieldNumber = 7,
228  kUseOrOptFieldNumber = 8,
229  kUseLinKernighanFieldNumber = 9,
230  kUseTspOptFieldNumber = 10,
231  kUseMakeActiveFieldNumber = 11,
232  kUseMakeInactiveFieldNumber = 12,
233  kUseMakeChainInactiveFieldNumber = 13,
234  kUseSwapActiveFieldNumber = 14,
235  kUseExtendedSwapActiveFieldNumber = 15,
236  kUsePathLnsFieldNumber = 16,
237  kUseFullPathLnsFieldNumber = 17,
238  kUseTspLnsFieldNumber = 18,
239  kUseInactiveLnsFieldNumber = 19,
240  kUseNodePairSwapActiveFieldNumber = 20,
241  kUseRelocateAndMakeActiveFieldNumber = 21,
242  kUseExchangePairFieldNumber = 22,
243  kUseRelocateExpensiveChainFieldNumber = 23,
244  kUseLightRelocatePairFieldNumber = 24,
245  kUseRelocateSubtripFieldNumber = 25,
246  kUseExchangeSubtripFieldNumber = 26,
247  kUseGlobalCheapestInsertionPathLnsFieldNumber = 27,
248  kUseLocalCheapestInsertionPathLnsFieldNumber = 28,
249  kUseGlobalCheapestInsertionExpensiveChainLnsFieldNumber = 29,
250  kUseLocalCheapestInsertionExpensiveChainLnsFieldNumber = 30,
251  };
252  // .operations_research.OptionalBoolean use_relocate = 1;
254  ::operations_research::OptionalBoolean use_relocate() const;
255  void set_use_relocate(::operations_research::OptionalBoolean value);
256  private:
257  ::operations_research::OptionalBoolean _internal_use_relocate() const;
258  void _internal_set_use_relocate(::operations_research::OptionalBoolean value);
259  public:
260 
261  // .operations_research.OptionalBoolean use_relocate_pair = 2;
263  ::operations_research::OptionalBoolean use_relocate_pair() const;
264  void set_use_relocate_pair(::operations_research::OptionalBoolean value);
265  private:
266  ::operations_research::OptionalBoolean _internal_use_relocate_pair() const;
267  void _internal_set_use_relocate_pair(::operations_research::OptionalBoolean value);
268  public:
269 
270  // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
272  ::operations_research::OptionalBoolean use_relocate_neighbors() const;
273  void set_use_relocate_neighbors(::operations_research::OptionalBoolean value);
274  private:
275  ::operations_research::OptionalBoolean _internal_use_relocate_neighbors() const;
276  void _internal_set_use_relocate_neighbors(::operations_research::OptionalBoolean value);
277  public:
278 
279  // .operations_research.OptionalBoolean use_exchange = 4;
281  ::operations_research::OptionalBoolean use_exchange() const;
282  void set_use_exchange(::operations_research::OptionalBoolean value);
283  private:
284  ::operations_research::OptionalBoolean _internal_use_exchange() const;
285  void _internal_set_use_exchange(::operations_research::OptionalBoolean value);
286  public:
287 
288  // .operations_research.OptionalBoolean use_cross = 5;
290  ::operations_research::OptionalBoolean use_cross() const;
291  void set_use_cross(::operations_research::OptionalBoolean value);
292  private:
293  ::operations_research::OptionalBoolean _internal_use_cross() const;
294  void _internal_set_use_cross(::operations_research::OptionalBoolean value);
295  public:
296 
297  // .operations_research.OptionalBoolean use_cross_exchange = 6;
299  ::operations_research::OptionalBoolean use_cross_exchange() const;
300  void set_use_cross_exchange(::operations_research::OptionalBoolean value);
301  private:
302  ::operations_research::OptionalBoolean _internal_use_cross_exchange() const;
303  void _internal_set_use_cross_exchange(::operations_research::OptionalBoolean value);
304  public:
305 
306  // .operations_research.OptionalBoolean use_two_opt = 7;
308  ::operations_research::OptionalBoolean use_two_opt() const;
309  void set_use_two_opt(::operations_research::OptionalBoolean value);
310  private:
311  ::operations_research::OptionalBoolean _internal_use_two_opt() const;
312  void _internal_set_use_two_opt(::operations_research::OptionalBoolean value);
313  public:
314 
315  // .operations_research.OptionalBoolean use_or_opt = 8;
317  ::operations_research::OptionalBoolean use_or_opt() const;
318  void set_use_or_opt(::operations_research::OptionalBoolean value);
319  private:
320  ::operations_research::OptionalBoolean _internal_use_or_opt() const;
321  void _internal_set_use_or_opt(::operations_research::OptionalBoolean value);
322  public:
323 
324  // .operations_research.OptionalBoolean use_lin_kernighan = 9;
326  ::operations_research::OptionalBoolean use_lin_kernighan() const;
327  void set_use_lin_kernighan(::operations_research::OptionalBoolean value);
328  private:
329  ::operations_research::OptionalBoolean _internal_use_lin_kernighan() const;
330  void _internal_set_use_lin_kernighan(::operations_research::OptionalBoolean value);
331  public:
332 
333  // .operations_research.OptionalBoolean use_tsp_opt = 10;
335  ::operations_research::OptionalBoolean use_tsp_opt() const;
336  void set_use_tsp_opt(::operations_research::OptionalBoolean value);
337  private:
338  ::operations_research::OptionalBoolean _internal_use_tsp_opt() const;
339  void _internal_set_use_tsp_opt(::operations_research::OptionalBoolean value);
340  public:
341 
342  // .operations_research.OptionalBoolean use_make_active = 11;
344  ::operations_research::OptionalBoolean use_make_active() const;
345  void set_use_make_active(::operations_research::OptionalBoolean value);
346  private:
347  ::operations_research::OptionalBoolean _internal_use_make_active() const;
348  void _internal_set_use_make_active(::operations_research::OptionalBoolean value);
349  public:
350 
351  // .operations_research.OptionalBoolean use_make_inactive = 12;
353  ::operations_research::OptionalBoolean use_make_inactive() const;
354  void set_use_make_inactive(::operations_research::OptionalBoolean value);
355  private:
356  ::operations_research::OptionalBoolean _internal_use_make_inactive() const;
357  void _internal_set_use_make_inactive(::operations_research::OptionalBoolean value);
358  public:
359 
360  // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
362  ::operations_research::OptionalBoolean use_make_chain_inactive() const;
363  void set_use_make_chain_inactive(::operations_research::OptionalBoolean value);
364  private:
365  ::operations_research::OptionalBoolean _internal_use_make_chain_inactive() const;
366  void _internal_set_use_make_chain_inactive(::operations_research::OptionalBoolean value);
367  public:
368 
369  // .operations_research.OptionalBoolean use_swap_active = 14;
371  ::operations_research::OptionalBoolean use_swap_active() const;
372  void set_use_swap_active(::operations_research::OptionalBoolean value);
373  private:
374  ::operations_research::OptionalBoolean _internal_use_swap_active() const;
375  void _internal_set_use_swap_active(::operations_research::OptionalBoolean value);
376  public:
377 
378  // .operations_research.OptionalBoolean use_extended_swap_active = 15;
380  ::operations_research::OptionalBoolean use_extended_swap_active() const;
381  void set_use_extended_swap_active(::operations_research::OptionalBoolean value);
382  private:
383  ::operations_research::OptionalBoolean _internal_use_extended_swap_active() const;
384  void _internal_set_use_extended_swap_active(::operations_research::OptionalBoolean value);
385  public:
386 
387  // .operations_research.OptionalBoolean use_path_lns = 16;
389  ::operations_research::OptionalBoolean use_path_lns() const;
390  void set_use_path_lns(::operations_research::OptionalBoolean value);
391  private:
392  ::operations_research::OptionalBoolean _internal_use_path_lns() const;
393  void _internal_set_use_path_lns(::operations_research::OptionalBoolean value);
394  public:
395 
396  // .operations_research.OptionalBoolean use_full_path_lns = 17;
398  ::operations_research::OptionalBoolean use_full_path_lns() const;
399  void set_use_full_path_lns(::operations_research::OptionalBoolean value);
400  private:
401  ::operations_research::OptionalBoolean _internal_use_full_path_lns() const;
402  void _internal_set_use_full_path_lns(::operations_research::OptionalBoolean value);
403  public:
404 
405  // .operations_research.OptionalBoolean use_tsp_lns = 18;
407  ::operations_research::OptionalBoolean use_tsp_lns() const;
408  void set_use_tsp_lns(::operations_research::OptionalBoolean value);
409  private:
410  ::operations_research::OptionalBoolean _internal_use_tsp_lns() const;
411  void _internal_set_use_tsp_lns(::operations_research::OptionalBoolean value);
412  public:
413 
414  // .operations_research.OptionalBoolean use_inactive_lns = 19;
416  ::operations_research::OptionalBoolean use_inactive_lns() const;
417  void set_use_inactive_lns(::operations_research::OptionalBoolean value);
418  private:
419  ::operations_research::OptionalBoolean _internal_use_inactive_lns() const;
420  void _internal_set_use_inactive_lns(::operations_research::OptionalBoolean value);
421  public:
422 
423  // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
425  ::operations_research::OptionalBoolean use_node_pair_swap_active() const;
426  void set_use_node_pair_swap_active(::operations_research::OptionalBoolean value);
427  private:
428  ::operations_research::OptionalBoolean _internal_use_node_pair_swap_active() const;
429  void _internal_set_use_node_pair_swap_active(::operations_research::OptionalBoolean value);
430  public:
431 
432  // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
434  ::operations_research::OptionalBoolean use_relocate_and_make_active() const;
435  void set_use_relocate_and_make_active(::operations_research::OptionalBoolean value);
436  private:
437  ::operations_research::OptionalBoolean _internal_use_relocate_and_make_active() const;
438  void _internal_set_use_relocate_and_make_active(::operations_research::OptionalBoolean value);
439  public:
440 
441  // .operations_research.OptionalBoolean use_exchange_pair = 22;
443  ::operations_research::OptionalBoolean use_exchange_pair() const;
444  void set_use_exchange_pair(::operations_research::OptionalBoolean value);
445  private:
446  ::operations_research::OptionalBoolean _internal_use_exchange_pair() const;
447  void _internal_set_use_exchange_pair(::operations_research::OptionalBoolean value);
448  public:
449 
450  // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
452  ::operations_research::OptionalBoolean use_relocate_expensive_chain() const;
453  void set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value);
454  private:
455  ::operations_research::OptionalBoolean _internal_use_relocate_expensive_chain() const;
456  void _internal_set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value);
457  public:
458 
459  // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
461  ::operations_research::OptionalBoolean use_light_relocate_pair() const;
462  void set_use_light_relocate_pair(::operations_research::OptionalBoolean value);
463  private:
464  ::operations_research::OptionalBoolean _internal_use_light_relocate_pair() const;
465  void _internal_set_use_light_relocate_pair(::operations_research::OptionalBoolean value);
466  public:
467 
468  // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
470  ::operations_research::OptionalBoolean use_relocate_subtrip() const;
471  void set_use_relocate_subtrip(::operations_research::OptionalBoolean value);
472  private:
473  ::operations_research::OptionalBoolean _internal_use_relocate_subtrip() const;
474  void _internal_set_use_relocate_subtrip(::operations_research::OptionalBoolean value);
475  public:
476 
477  // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
479  ::operations_research::OptionalBoolean use_exchange_subtrip() const;
480  void set_use_exchange_subtrip(::operations_research::OptionalBoolean value);
481  private:
482  ::operations_research::OptionalBoolean _internal_use_exchange_subtrip() const;
483  void _internal_set_use_exchange_subtrip(::operations_research::OptionalBoolean value);
484  public:
485 
486  // .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
488  ::operations_research::OptionalBoolean use_global_cheapest_insertion_path_lns() const;
489  void set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
490  private:
491  ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_path_lns() const;
492  void _internal_set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
493  public:
494 
495  // .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
497  ::operations_research::OptionalBoolean use_local_cheapest_insertion_path_lns() const;
498  void set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
499  private:
500  ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_path_lns() const;
501  void _internal_set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
502  public:
503 
504  // .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
506  ::operations_research::OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns() const;
507  void set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
508  private:
509  ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_expensive_chain_lns() const;
510  void _internal_set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
511  public:
512 
513  // .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
515  ::operations_research::OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns() const;
516  void set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
517  private:
518  ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_expensive_chain_lns() const;
519  void _internal_set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
520  public:
521 
522  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
523  private:
524  class _Internal;
525 
526  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
527  typedef void InternalArenaConstructable_;
528  typedef void DestructorSkippable_;
529  int use_relocate_;
530  int use_relocate_pair_;
531  int use_relocate_neighbors_;
532  int use_exchange_;
533  int use_cross_;
534  int use_cross_exchange_;
535  int use_two_opt_;
536  int use_or_opt_;
537  int use_lin_kernighan_;
538  int use_tsp_opt_;
539  int use_make_active_;
540  int use_make_inactive_;
541  int use_make_chain_inactive_;
542  int use_swap_active_;
543  int use_extended_swap_active_;
544  int use_path_lns_;
545  int use_full_path_lns_;
546  int use_tsp_lns_;
547  int use_inactive_lns_;
548  int use_node_pair_swap_active_;
549  int use_relocate_and_make_active_;
550  int use_exchange_pair_;
551  int use_relocate_expensive_chain_;
552  int use_light_relocate_pair_;
553  int use_relocate_subtrip_;
554  int use_exchange_subtrip_;
555  int use_global_cheapest_insertion_path_lns_;
556  int use_local_cheapest_insertion_path_lns_;
557  int use_global_cheapest_insertion_expensive_chain_lns_;
558  int use_local_cheapest_insertion_expensive_chain_lns_;
559  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
560  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
561 };
562 // -------------------------------------------------------------------
563 
564 class RoutingSearchParameters PROTOBUF_FINAL :
565  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters) */ {
566  public:
567  inline RoutingSearchParameters() : RoutingSearchParameters(nullptr) {};
569 
570  RoutingSearchParameters(const RoutingSearchParameters& from);
571  RoutingSearchParameters(RoutingSearchParameters&& from) noexcept
572  : RoutingSearchParameters() {
573  *this = ::std::move(from);
574  }
575 
576  inline RoutingSearchParameters& operator=(const RoutingSearchParameters& from) {
577  CopyFrom(from);
578  return *this;
579  }
580  inline RoutingSearchParameters& operator=(RoutingSearchParameters&& from) noexcept {
581  if (GetArena() == from.GetArena()) {
582  if (this != &from) InternalSwap(&from);
583  } else {
584  CopyFrom(from);
585  }
586  return *this;
587  }
588 
589  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
590  return GetDescriptor();
591  }
592  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
593  return GetMetadataStatic().descriptor;
594  }
595  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
596  return GetMetadataStatic().reflection;
597  }
598  static const RoutingSearchParameters& default_instance();
599 
600  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
601  static inline const RoutingSearchParameters* internal_default_instance() {
602  return reinterpret_cast<const RoutingSearchParameters*>(
604  }
605  static constexpr int kIndexInFileMessages =
606  1;
607 
608  friend void swap(RoutingSearchParameters& a, RoutingSearchParameters& b) {
609  a.Swap(&b);
610  }
611  inline void Swap(RoutingSearchParameters* other) {
612  if (other == this) return;
613  if (GetArena() == other->GetArena()) {
614  InternalSwap(other);
615  } else {
616  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
617  }
618  }
619  void UnsafeArenaSwap(RoutingSearchParameters* other) {
620  if (other == this) return;
621  GOOGLE_DCHECK(GetArena() == other->GetArena());
622  InternalSwap(other);
623  }
624 
625  // implements Message ----------------------------------------------
626 
627  inline RoutingSearchParameters* New() const final {
628  return CreateMaybeMessage<RoutingSearchParameters>(nullptr);
629  }
630 
631  RoutingSearchParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
632  return CreateMaybeMessage<RoutingSearchParameters>(arena);
633  }
634  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
635  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
636  void CopyFrom(const RoutingSearchParameters& from);
637  void MergeFrom(const RoutingSearchParameters& from);
638  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
639  bool IsInitialized() const final;
640 
641  size_t ByteSizeLong() const final;
642  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
643  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
644  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
645  int GetCachedSize() const final { return _cached_size_.Get(); }
646 
647  private:
648  inline void SharedCtor();
649  inline void SharedDtor();
650  void SetCachedSize(int size) const final;
651  void InternalSwap(RoutingSearchParameters* other);
652  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
653  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
654  return "operations_research.RoutingSearchParameters";
655  }
656  protected:
657  explicit RoutingSearchParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena);
658  private:
659  static void ArenaDtor(void* object);
660  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
661  public:
662 
663  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
664  private:
665  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
666  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto);
668  }
669 
670  public:
671 
672  // nested types ----------------------------------------------------
673 
674  typedef RoutingSearchParameters_LocalSearchNeighborhoodOperators LocalSearchNeighborhoodOperators;
675 
677  static constexpr SchedulingSolver UNSET =
679  static constexpr SchedulingSolver GLOP =
681  static constexpr SchedulingSolver CP_SAT =
683  static inline bool SchedulingSolver_IsValid(int value) {
685  }
686  static constexpr SchedulingSolver SchedulingSolver_MIN =
688  static constexpr SchedulingSolver SchedulingSolver_MAX =
690  static constexpr int SchedulingSolver_ARRAYSIZE =
692  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
695  }
696  template<typename T>
697  static inline const std::string& SchedulingSolver_Name(T enum_t_value) {
698  static_assert(::std::is_same<T, SchedulingSolver>::value ||
699  ::std::is_integral<T>::value,
700  "Incorrect type passed to function SchedulingSolver_Name.");
702  }
703  static inline bool SchedulingSolver_Parse(const std::string& name,
704  SchedulingSolver* value) {
706  }
707 
708  // accessors -------------------------------------------------------
709 
710  enum : int {
711  kLocalSearchOperatorsFieldNumber = 3,
712  kTimeLimitFieldNumber = 9,
713  kLnsTimeLimitFieldNumber = 10,
714  kFirstSolutionStrategyFieldNumber = 1,
715  kLocalSearchMetaheuristicFieldNumber = 4,
716  kGuidedLocalSearchLambdaCoefficientFieldNumber = 5,
717  kOptimizationStepFieldNumber = 7,
718  kSolutionLimitFieldNumber = 8,
719  kUseDepthFirstSearchFieldNumber = 6,
720  kUseFullPropagationFieldNumber = 11,
721  kLogSearchFieldNumber = 13,
722  kUseUnfilteredFirstSolutionStrategyFieldNumber = 2,
723  kSavingsAddReverseArcsFieldNumber = 15,
724  kSavingsParallelRoutesFieldNumber = 19,
725  kChristofidesUseMinimumMatchingFieldNumber = 30,
726  kSavingsNeighborsRatioFieldNumber = 14,
727  kCheapestInsertionFarthestSeedsRatioFieldNumber = 16,
728  kSavingsArcCoefficientFieldNumber = 18,
729  kNumberOfSolutionsToCollectFieldNumber = 17,
730  kRelocateExpensiveChainNumArcsToConsiderFieldNumber = 20,
731  kCheapestInsertionFirstSolutionNeighborsRatioFieldNumber = 21,
732  kLogCostScalingFactorFieldNumber = 22,
733  kSavingsMaxMemoryUsageBytesFieldNumber = 23,
734  kUseCpSatFieldNumber = 27,
735  kUseCpFieldNumber = 28,
736  kLogCostOffsetFieldNumber = 29,
737  kCheapestInsertionLsOperatorNeighborsRatioFieldNumber = 31,
738  kMixedIntegerSchedulingSolverFieldNumber = 34,
739  kHeuristicExpensiveChainLnsNumArcsToConsiderFieldNumber = 32,
740  kContinuousSchedulingSolverFieldNumber = 33,
741  };
742  // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
744  private:
745  bool _internal_has_local_search_operators() const;
746  public:
748  const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& local_search_operators() const;
749  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* release_local_search_operators();
750  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* mutable_local_search_operators();
751  void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* local_search_operators);
752  private:
753  const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& _internal_local_search_operators() const;
754  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* _internal_mutable_local_search_operators();
755  public:
757  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* local_search_operators);
758  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* unsafe_arena_release_local_search_operators();
759 
760  // .google.protobuf.Duration time_limit = 9;
761  bool has_time_limit() const;
762  private:
763  bool _internal_has_time_limit() const;
764  public:
766  const PROTOBUF_NAMESPACE_ID::Duration& time_limit() const;
767  PROTOBUF_NAMESPACE_ID::Duration* release_time_limit();
768  PROTOBUF_NAMESPACE_ID::Duration* mutable_time_limit();
769  void set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration* time_limit);
770  private:
771  const PROTOBUF_NAMESPACE_ID::Duration& _internal_time_limit() const;
772  PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_time_limit();
773  public:
775  PROTOBUF_NAMESPACE_ID::Duration* time_limit);
776  PROTOBUF_NAMESPACE_ID::Duration* unsafe_arena_release_time_limit();
777 
778  // .google.protobuf.Duration lns_time_limit = 10;
779  bool has_lns_time_limit() const;
780  private:
781  bool _internal_has_lns_time_limit() const;
782  public:
784  const PROTOBUF_NAMESPACE_ID::Duration& lns_time_limit() const;
785  PROTOBUF_NAMESPACE_ID::Duration* release_lns_time_limit();
786  PROTOBUF_NAMESPACE_ID::Duration* mutable_lns_time_limit();
787  void set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit);
788  private:
789  const PROTOBUF_NAMESPACE_ID::Duration& _internal_lns_time_limit() const;
790  PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_lns_time_limit();
791  public:
793  PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit);
794  PROTOBUF_NAMESPACE_ID::Duration* unsafe_arena_release_lns_time_limit();
795 
796  // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
800  private:
801  ::operations_research::FirstSolutionStrategy_Value _internal_first_solution_strategy() const;
802  void _internal_set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value);
803  public:
804 
805  // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
809  private:
810  ::operations_research::LocalSearchMetaheuristic_Value _internal_local_search_metaheuristic() const;
811  void _internal_set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value);
812  public:
813 
814  // double guided_local_search_lambda_coefficient = 5;
818  private:
819  double _internal_guided_local_search_lambda_coefficient() const;
820  void _internal_set_guided_local_search_lambda_coefficient(double value);
821  public:
822 
823  // double optimization_step = 7;
825  double optimization_step() const;
826  void set_optimization_step(double value);
827  private:
828  double _internal_optimization_step() const;
829  void _internal_set_optimization_step(double value);
830  public:
831 
832  // int64 solution_limit = 8;
834  ::PROTOBUF_NAMESPACE_ID::int64 solution_limit() const;
835  void set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value);
836  private:
837  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_limit() const;
838  void _internal_set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value);
839  public:
840 
841  // bool use_depth_first_search = 6;
844  void set_use_depth_first_search(bool value);
845  private:
846  bool _internal_use_depth_first_search() const;
847  void _internal_set_use_depth_first_search(bool value);
848  public:
849 
850  // bool use_full_propagation = 11;
852  bool use_full_propagation() const;
853  void set_use_full_propagation(bool value);
854  private:
855  bool _internal_use_full_propagation() const;
856  void _internal_set_use_full_propagation(bool value);
857  public:
858 
859  // bool log_search = 13;
861  bool log_search() const;
862  void set_log_search(bool value);
863  private:
864  bool _internal_log_search() const;
865  void _internal_set_log_search(bool value);
866  public:
867 
868  // bool use_unfiltered_first_solution_strategy = 2;
872  private:
873  bool _internal_use_unfiltered_first_solution_strategy() const;
874  void _internal_set_use_unfiltered_first_solution_strategy(bool value);
875  public:
876 
877  // bool savings_add_reverse_arcs = 15;
881  private:
882  bool _internal_savings_add_reverse_arcs() const;
883  void _internal_set_savings_add_reverse_arcs(bool value);
884  public:
885 
886  // bool savings_parallel_routes = 19;
889  void set_savings_parallel_routes(bool value);
890  private:
891  bool _internal_savings_parallel_routes() const;
892  void _internal_set_savings_parallel_routes(bool value);
893  public:
894 
895  // bool christofides_use_minimum_matching = 30;
899  private:
900  bool _internal_christofides_use_minimum_matching() const;
901  void _internal_set_christofides_use_minimum_matching(bool value);
902  public:
903 
904  // double savings_neighbors_ratio = 14;
906  double savings_neighbors_ratio() const;
907  void set_savings_neighbors_ratio(double value);
908  private:
909  double _internal_savings_neighbors_ratio() const;
910  void _internal_set_savings_neighbors_ratio(double value);
911  public:
912 
913  // double cheapest_insertion_farthest_seeds_ratio = 16;
917  private:
918  double _internal_cheapest_insertion_farthest_seeds_ratio() const;
919  void _internal_set_cheapest_insertion_farthest_seeds_ratio(double value);
920  public:
921 
922  // double savings_arc_coefficient = 18;
924  double savings_arc_coefficient() const;
925  void set_savings_arc_coefficient(double value);
926  private:
927  double _internal_savings_arc_coefficient() const;
928  void _internal_set_savings_arc_coefficient(double value);
929  public:
930 
931  // int32 number_of_solutions_to_collect = 17;
933  ::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect() const;
934  void set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value);
935  private:
936  ::PROTOBUF_NAMESPACE_ID::int32 _internal_number_of_solutions_to_collect() const;
937  void _internal_set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value);
938  public:
939 
940  // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
942  ::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider() const;
943  void set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
944  private:
945  ::PROTOBUF_NAMESPACE_ID::int32 _internal_relocate_expensive_chain_num_arcs_to_consider() const;
946  void _internal_set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
947  public:
948 
949  // double cheapest_insertion_first_solution_neighbors_ratio = 21;
953  private:
954  double _internal_cheapest_insertion_first_solution_neighbors_ratio() const;
955  void _internal_set_cheapest_insertion_first_solution_neighbors_ratio(double value);
956  public:
957 
958  // double log_cost_scaling_factor = 22;
960  double log_cost_scaling_factor() const;
961  void set_log_cost_scaling_factor(double value);
962  private:
963  double _internal_log_cost_scaling_factor() const;
964  void _internal_set_log_cost_scaling_factor(double value);
965  public:
966 
967  // double savings_max_memory_usage_bytes = 23;
971  private:
972  double _internal_savings_max_memory_usage_bytes() const;
973  void _internal_set_savings_max_memory_usage_bytes(double value);
974  public:
975 
976  // .operations_research.OptionalBoolean use_cp_sat = 27;
978  ::operations_research::OptionalBoolean use_cp_sat() const;
979  void set_use_cp_sat(::operations_research::OptionalBoolean value);
980  private:
981  ::operations_research::OptionalBoolean _internal_use_cp_sat() const;
982  void _internal_set_use_cp_sat(::operations_research::OptionalBoolean value);
983  public:
984 
985  // .operations_research.OptionalBoolean use_cp = 28;
986  void clear_use_cp();
987  ::operations_research::OptionalBoolean use_cp() const;
988  void set_use_cp(::operations_research::OptionalBoolean value);
989  private:
990  ::operations_research::OptionalBoolean _internal_use_cp() const;
991  void _internal_set_use_cp(::operations_research::OptionalBoolean value);
992  public:
993 
994  // double log_cost_offset = 29;
996  double log_cost_offset() const;
997  void set_log_cost_offset(double value);
998  private:
999  double _internal_log_cost_offset() const;
1000  void _internal_set_log_cost_offset(double value);
1001  public:
1002 
1003  // double cheapest_insertion_ls_operator_neighbors_ratio = 31;
1007  private:
1008  double _internal_cheapest_insertion_ls_operator_neighbors_ratio() const;
1009  void _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(double value);
1010  public:
1011 
1012  // .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
1016  private:
1017  ::operations_research::RoutingSearchParameters_SchedulingSolver _internal_mixed_integer_scheduling_solver() const;
1018  void _internal_set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1019  public:
1020 
1021  // int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
1023  ::PROTOBUF_NAMESPACE_ID::int32 heuristic_expensive_chain_lns_num_arcs_to_consider() const;
1024  void set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
1025  private:
1026  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heuristic_expensive_chain_lns_num_arcs_to_consider() const;
1027  void _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
1028  public:
1029 
1030  // .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
1034  private:
1035  ::operations_research::RoutingSearchParameters_SchedulingSolver _internal_continuous_scheduling_solver() const;
1036  void _internal_set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1037  public:
1038 
1039  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
1040  private:
1041  class _Internal;
1042 
1043  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1044  typedef void InternalArenaConstructable_;
1045  typedef void DestructorSkippable_;
1046  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* local_search_operators_;
1047  PROTOBUF_NAMESPACE_ID::Duration* time_limit_;
1048  PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit_;
1049  int first_solution_strategy_;
1050  int local_search_metaheuristic_;
1051  double guided_local_search_lambda_coefficient_;
1052  double optimization_step_;
1053  ::PROTOBUF_NAMESPACE_ID::int64 solution_limit_;
1054  bool use_depth_first_search_;
1055  bool use_full_propagation_;
1056  bool log_search_;
1057  bool use_unfiltered_first_solution_strategy_;
1058  bool savings_add_reverse_arcs_;
1059  bool savings_parallel_routes_;
1060  bool christofides_use_minimum_matching_;
1061  double savings_neighbors_ratio_;
1062  double cheapest_insertion_farthest_seeds_ratio_;
1063  double savings_arc_coefficient_;
1064  ::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect_;
1065  ::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider_;
1066  double cheapest_insertion_first_solution_neighbors_ratio_;
1067  double log_cost_scaling_factor_;
1068  double savings_max_memory_usage_bytes_;
1069  int use_cp_sat_;
1070  int use_cp_;
1071  double log_cost_offset_;
1072  double cheapest_insertion_ls_operator_neighbors_ratio_;
1073  int mixed_integer_scheduling_solver_;
1074  ::PROTOBUF_NAMESPACE_ID::int32 heuristic_expensive_chain_lns_num_arcs_to_consider_;
1075  int continuous_scheduling_solver_;
1076  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1077  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1078 };
1079 // -------------------------------------------------------------------
1080 
1081 class RoutingModelParameters PROTOBUF_FINAL :
1082  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingModelParameters) */ {
1083  public:
1084  inline RoutingModelParameters() : RoutingModelParameters(nullptr) {};
1086 
1087  RoutingModelParameters(const RoutingModelParameters& from);
1088  RoutingModelParameters(RoutingModelParameters&& from) noexcept
1089  : RoutingModelParameters() {
1090  *this = ::std::move(from);
1091  }
1092 
1093  inline RoutingModelParameters& operator=(const RoutingModelParameters& from) {
1094  CopyFrom(from);
1095  return *this;
1096  }
1097  inline RoutingModelParameters& operator=(RoutingModelParameters&& from) noexcept {
1098  if (GetArena() == from.GetArena()) {
1099  if (this != &from) InternalSwap(&from);
1100  } else {
1101  CopyFrom(from);
1102  }
1103  return *this;
1104  }
1105 
1106  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1107  return GetDescriptor();
1108  }
1109  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1110  return GetMetadataStatic().descriptor;
1111  }
1112  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1113  return GetMetadataStatic().reflection;
1114  }
1115  static const RoutingModelParameters& default_instance();
1116 
1117  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1118  static inline const RoutingModelParameters* internal_default_instance() {
1119  return reinterpret_cast<const RoutingModelParameters*>(
1121  }
1122  static constexpr int kIndexInFileMessages =
1123  2;
1124 
1125  friend void swap(RoutingModelParameters& a, RoutingModelParameters& b) {
1126  a.Swap(&b);
1127  }
1128  inline void Swap(RoutingModelParameters* other) {
1129  if (other == this) return;
1130  if (GetArena() == other->GetArena()) {
1131  InternalSwap(other);
1132  } else {
1133  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1134  }
1135  }
1136  void UnsafeArenaSwap(RoutingModelParameters* other) {
1137  if (other == this) return;
1138  GOOGLE_DCHECK(GetArena() == other->GetArena());
1139  InternalSwap(other);
1140  }
1141 
1142  // implements Message ----------------------------------------------
1143 
1144  inline RoutingModelParameters* New() const final {
1145  return CreateMaybeMessage<RoutingModelParameters>(nullptr);
1146  }
1147 
1148  RoutingModelParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1149  return CreateMaybeMessage<RoutingModelParameters>(arena);
1150  }
1151  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1152  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1153  void CopyFrom(const RoutingModelParameters& from);
1154  void MergeFrom(const RoutingModelParameters& from);
1155  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1156  bool IsInitialized() const final;
1157 
1158  size_t ByteSizeLong() const final;
1159  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1160  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1161  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1162  int GetCachedSize() const final { return _cached_size_.Get(); }
1163 
1164  private:
1165  inline void SharedCtor();
1166  inline void SharedDtor();
1167  void SetCachedSize(int size) const final;
1168  void InternalSwap(RoutingModelParameters* other);
1169  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1170  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1171  return "operations_research.RoutingModelParameters";
1172  }
1173  protected:
1174  explicit RoutingModelParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1175  private:
1176  static void ArenaDtor(void* object);
1177  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1178  public:
1179 
1180  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1181  private:
1182  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1183  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto);
1185  }
1186 
1187  public:
1188 
1189  // nested types ----------------------------------------------------
1190 
1191  // accessors -------------------------------------------------------
1192 
1193  enum : int {
1194  kSolverParametersFieldNumber = 1,
1195  kReduceVehicleCostModelFieldNumber = 2,
1196  kMaxCallbackCacheSizeFieldNumber = 3,
1197  };
1198  // .operations_research.ConstraintSolverParameters solver_parameters = 1;
1200  private:
1201  bool _internal_has_solver_parameters() const;
1202  public:
1204  const ::operations_research::ConstraintSolverParameters& solver_parameters() const;
1205  ::operations_research::ConstraintSolverParameters* release_solver_parameters();
1206  ::operations_research::ConstraintSolverParameters* mutable_solver_parameters();
1207  void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters* solver_parameters);
1208  private:
1209  const ::operations_research::ConstraintSolverParameters& _internal_solver_parameters() const;
1210  ::operations_research::ConstraintSolverParameters* _internal_mutable_solver_parameters();
1211  public:
1213  ::operations_research::ConstraintSolverParameters* solver_parameters);
1214  ::operations_research::ConstraintSolverParameters* unsafe_arena_release_solver_parameters();
1215 
1216  // bool reduce_vehicle_cost_model = 2;
1220  private:
1221  bool _internal_reduce_vehicle_cost_model() const;
1222  void _internal_set_reduce_vehicle_cost_model(bool value);
1223  public:
1224 
1225  // int32 max_callback_cache_size = 3;
1227  ::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size() const;
1228  void set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1229  private:
1230  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_callback_cache_size() const;
1231  void _internal_set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1232  public:
1233 
1234  // @@protoc_insertion_point(class_scope:operations_research.RoutingModelParameters)
1235  private:
1236  class _Internal;
1237 
1238  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1239  typedef void InternalArenaConstructable_;
1240  typedef void DestructorSkippable_;
1241  ::operations_research::ConstraintSolverParameters* solver_parameters_;
1242  bool reduce_vehicle_cost_model_;
1243  ::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size_;
1244  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1245  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1246 };
1247 // ===================================================================
1248 
1249 
1250 // ===================================================================
1251 
1252 #ifdef __GNUC__
1253  #pragma GCC diagnostic push
1254  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1255 #endif // __GNUC__
1256 // RoutingSearchParameters_LocalSearchNeighborhoodOperators
1257 
1258 // .operations_research.OptionalBoolean use_relocate = 1;
1259 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate() {
1260  use_relocate_ = 0;
1261 }
1262 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate() const {
1263  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_);
1264 }
1265 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate() const {
1266  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
1267  return _internal_use_relocate();
1268 }
1269 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate(::operations_research::OptionalBoolean value) {
1270 
1271  use_relocate_ = value;
1272 }
1273 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate(::operations_research::OptionalBoolean value) {
1274  _internal_set_use_relocate(value);
1275  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
1276 }
1277 
1278 // .operations_research.OptionalBoolean use_relocate_pair = 2;
1279 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_pair() {
1280  use_relocate_pair_ = 0;
1281 }
1282 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_pair() const {
1283  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_pair_);
1284 }
1285 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_pair() const {
1286  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
1287  return _internal_use_relocate_pair();
1288 }
1289 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_pair(::operations_research::OptionalBoolean value) {
1290 
1291  use_relocate_pair_ = value;
1292 }
1293 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_pair(::operations_research::OptionalBoolean value) {
1294  _internal_set_use_relocate_pair(value);
1295  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
1296 }
1297 
1298 // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
1299 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_light_relocate_pair() {
1300  use_light_relocate_pair_ = 0;
1301 }
1302 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_light_relocate_pair() const {
1303  return static_cast< ::operations_research::OptionalBoolean >(use_light_relocate_pair_);
1304 }
1305 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_light_relocate_pair() const {
1306  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
1307  return _internal_use_light_relocate_pair();
1308 }
1309 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_light_relocate_pair(::operations_research::OptionalBoolean value) {
1310 
1311  use_light_relocate_pair_ = value;
1312 }
1313 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_light_relocate_pair(::operations_research::OptionalBoolean value) {
1314  _internal_set_use_light_relocate_pair(value);
1315  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
1316 }
1317 
1318 // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
1319 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_neighbors() {
1320  use_relocate_neighbors_ = 0;
1321 }
1322 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_neighbors() const {
1323  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_neighbors_);
1324 }
1325 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_neighbors() const {
1326  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
1327  return _internal_use_relocate_neighbors();
1328 }
1329 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_neighbors(::operations_research::OptionalBoolean value) {
1330 
1331  use_relocate_neighbors_ = value;
1332 }
1333 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_neighbors(::operations_research::OptionalBoolean value) {
1334  _internal_set_use_relocate_neighbors(value);
1335  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
1336 }
1337 
1338 // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
1339 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_subtrip() {
1340  use_relocate_subtrip_ = 0;
1341 }
1342 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_subtrip() const {
1343  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_subtrip_);
1344 }
1345 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_subtrip() const {
1346  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
1347  return _internal_use_relocate_subtrip();
1348 }
1349 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_subtrip(::operations_research::OptionalBoolean value) {
1350 
1351  use_relocate_subtrip_ = value;
1352 }
1353 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_subtrip(::operations_research::OptionalBoolean value) {
1354  _internal_set_use_relocate_subtrip(value);
1355  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
1356 }
1357 
1358 // .operations_research.OptionalBoolean use_exchange = 4;
1359 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_exchange() {
1360  use_exchange_ = 0;
1361 }
1362 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange() const {
1363  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_);
1364 }
1365 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange() const {
1366  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
1367  return _internal_use_exchange();
1368 }
1369 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange(::operations_research::OptionalBoolean value) {
1370 
1371  use_exchange_ = value;
1372 }
1373 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange(::operations_research::OptionalBoolean value) {
1374  _internal_set_use_exchange(value);
1375  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
1376 }
1377 
1378 // .operations_research.OptionalBoolean use_exchange_pair = 22;
1379 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_exchange_pair() {
1380  use_exchange_pair_ = 0;
1381 }
1382 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_pair() const {
1383  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_pair_);
1384 }
1385 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_pair() const {
1386  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
1387  return _internal_use_exchange_pair();
1388 }
1389 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_pair(::operations_research::OptionalBoolean value) {
1390 
1391  use_exchange_pair_ = value;
1392 }
1393 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange_pair(::operations_research::OptionalBoolean value) {
1394  _internal_set_use_exchange_pair(value);
1395  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
1396 }
1397 
1398 // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
1399 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_exchange_subtrip() {
1400  use_exchange_subtrip_ = 0;
1401 }
1402 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_subtrip() const {
1403  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_subtrip_);
1404 }
1405 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_subtrip() const {
1406  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
1407  return _internal_use_exchange_subtrip();
1408 }
1409 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_subtrip(::operations_research::OptionalBoolean value) {
1410 
1411  use_exchange_subtrip_ = value;
1412 }
1413 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange_subtrip(::operations_research::OptionalBoolean value) {
1414  _internal_set_use_exchange_subtrip(value);
1415  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
1416 }
1417 
1418 // .operations_research.OptionalBoolean use_cross = 5;
1419 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_cross() {
1420  use_cross_ = 0;
1421 }
1422 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross() const {
1423  return static_cast< ::operations_research::OptionalBoolean >(use_cross_);
1424 }
1425 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross() const {
1426  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
1427  return _internal_use_cross();
1428 }
1429 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_cross(::operations_research::OptionalBoolean value) {
1430 
1431  use_cross_ = value;
1432 }
1433 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_cross(::operations_research::OptionalBoolean value) {
1434  _internal_set_use_cross(value);
1435  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
1436 }
1437 
1438 // .operations_research.OptionalBoolean use_cross_exchange = 6;
1439 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_cross_exchange() {
1440  use_cross_exchange_ = 0;
1441 }
1442 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross_exchange() const {
1443  return static_cast< ::operations_research::OptionalBoolean >(use_cross_exchange_);
1444 }
1445 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross_exchange() const {
1446  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
1447  return _internal_use_cross_exchange();
1448 }
1449 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_cross_exchange(::operations_research::OptionalBoolean value) {
1450 
1451  use_cross_exchange_ = value;
1452 }
1453 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_cross_exchange(::operations_research::OptionalBoolean value) {
1454  _internal_set_use_cross_exchange(value);
1455  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
1456 }
1457 
1458 // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
1459 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_expensive_chain() {
1460  use_relocate_expensive_chain_ = 0;
1461 }
1462 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_expensive_chain() const {
1463  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_expensive_chain_);
1464 }
1465 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_expensive_chain() const {
1466  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
1467  return _internal_use_relocate_expensive_chain();
1468 }
1469 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value) {
1470 
1471  use_relocate_expensive_chain_ = value;
1472 }
1473 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value) {
1474  _internal_set_use_relocate_expensive_chain(value);
1475  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
1476 }
1477 
1478 // .operations_research.OptionalBoolean use_two_opt = 7;
1479 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_two_opt() {
1480  use_two_opt_ = 0;
1481 }
1482 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_two_opt() const {
1483  return static_cast< ::operations_research::OptionalBoolean >(use_two_opt_);
1484 }
1485 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_two_opt() const {
1486  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
1487  return _internal_use_two_opt();
1488 }
1489 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_two_opt(::operations_research::OptionalBoolean value) {
1490 
1491  use_two_opt_ = value;
1492 }
1493 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_two_opt(::operations_research::OptionalBoolean value) {
1494  _internal_set_use_two_opt(value);
1495  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
1496 }
1497 
1498 // .operations_research.OptionalBoolean use_or_opt = 8;
1499 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_or_opt() {
1500  use_or_opt_ = 0;
1501 }
1502 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_or_opt() const {
1503  return static_cast< ::operations_research::OptionalBoolean >(use_or_opt_);
1504 }
1505 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_or_opt() const {
1506  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
1507  return _internal_use_or_opt();
1508 }
1509 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_or_opt(::operations_research::OptionalBoolean value) {
1510 
1511  use_or_opt_ = value;
1512 }
1513 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_or_opt(::operations_research::OptionalBoolean value) {
1514  _internal_set_use_or_opt(value);
1515  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
1516 }
1517 
1518 // .operations_research.OptionalBoolean use_lin_kernighan = 9;
1519 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_lin_kernighan() {
1520  use_lin_kernighan_ = 0;
1521 }
1522 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_lin_kernighan() const {
1523  return static_cast< ::operations_research::OptionalBoolean >(use_lin_kernighan_);
1524 }
1525 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_lin_kernighan() const {
1526  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
1527  return _internal_use_lin_kernighan();
1528 }
1529 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_lin_kernighan(::operations_research::OptionalBoolean value) {
1530 
1531  use_lin_kernighan_ = value;
1532 }
1533 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_lin_kernighan(::operations_research::OptionalBoolean value) {
1534  _internal_set_use_lin_kernighan(value);
1535  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
1536 }
1537 
1538 // .operations_research.OptionalBoolean use_tsp_opt = 10;
1539 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_tsp_opt() {
1540  use_tsp_opt_ = 0;
1541 }
1542 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_opt() const {
1543  return static_cast< ::operations_research::OptionalBoolean >(use_tsp_opt_);
1544 }
1545 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_opt() const {
1546  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
1547  return _internal_use_tsp_opt();
1548 }
1549 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_tsp_opt(::operations_research::OptionalBoolean value) {
1550 
1551  use_tsp_opt_ = value;
1552 }
1553 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_tsp_opt(::operations_research::OptionalBoolean value) {
1554  _internal_set_use_tsp_opt(value);
1555  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
1556 }
1557 
1558 // .operations_research.OptionalBoolean use_make_active = 11;
1559 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_make_active() {
1560  use_make_active_ = 0;
1561 }
1562 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_active() const {
1563  return static_cast< ::operations_research::OptionalBoolean >(use_make_active_);
1564 }
1565 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_active() const {
1566  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1567  return _internal_use_make_active();
1568 }
1569 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_active(::operations_research::OptionalBoolean value) {
1570 
1571  use_make_active_ = value;
1572 }
1573 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_active(::operations_research::OptionalBoolean value) {
1574  _internal_set_use_make_active(value);
1575  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1576 }
1577 
1578 // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
1579 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_relocate_and_make_active() {
1580  use_relocate_and_make_active_ = 0;
1581 }
1582 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_and_make_active() const {
1583  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_and_make_active_);
1584 }
1585 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_and_make_active() const {
1586  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1587  return _internal_use_relocate_and_make_active();
1588 }
1589 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_and_make_active(::operations_research::OptionalBoolean value) {
1590 
1591  use_relocate_and_make_active_ = value;
1592 }
1593 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_and_make_active(::operations_research::OptionalBoolean value) {
1594  _internal_set_use_relocate_and_make_active(value);
1595  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1596 }
1597 
1598 // .operations_research.OptionalBoolean use_make_inactive = 12;
1599 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_make_inactive() {
1600  use_make_inactive_ = 0;
1601 }
1602 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_inactive() const {
1603  return static_cast< ::operations_research::OptionalBoolean >(use_make_inactive_);
1604 }
1605 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_inactive() const {
1606  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1607  return _internal_use_make_inactive();
1608 }
1609 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_inactive(::operations_research::OptionalBoolean value) {
1610 
1611  use_make_inactive_ = value;
1612 }
1613 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_inactive(::operations_research::OptionalBoolean value) {
1614  _internal_set_use_make_inactive(value);
1615  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1616 }
1617 
1618 // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
1619 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_make_chain_inactive() {
1620  use_make_chain_inactive_ = 0;
1621 }
1622 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_chain_inactive() const {
1623  return static_cast< ::operations_research::OptionalBoolean >(use_make_chain_inactive_);
1624 }
1625 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_chain_inactive() const {
1626  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
1627  return _internal_use_make_chain_inactive();
1628 }
1629 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_chain_inactive(::operations_research::OptionalBoolean value) {
1630 
1631  use_make_chain_inactive_ = value;
1632 }
1633 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_chain_inactive(::operations_research::OptionalBoolean value) {
1634  _internal_set_use_make_chain_inactive(value);
1635  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
1636 }
1637 
1638 // .operations_research.OptionalBoolean use_swap_active = 14;
1639 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_swap_active() {
1640  use_swap_active_ = 0;
1641 }
1642 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_swap_active() const {
1643  return static_cast< ::operations_research::OptionalBoolean >(use_swap_active_);
1644 }
1645 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_swap_active() const {
1646  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
1647  return _internal_use_swap_active();
1648 }
1649 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_swap_active(::operations_research::OptionalBoolean value) {
1650 
1651  use_swap_active_ = value;
1652 }
1653 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_swap_active(::operations_research::OptionalBoolean value) {
1654  _internal_set_use_swap_active(value);
1655  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
1656 }
1657 
1658 // .operations_research.OptionalBoolean use_extended_swap_active = 15;
1659 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_extended_swap_active() {
1660  use_extended_swap_active_ = 0;
1661 }
1662 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_extended_swap_active() const {
1663  return static_cast< ::operations_research::OptionalBoolean >(use_extended_swap_active_);
1664 }
1665 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_extended_swap_active() const {
1666  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
1667  return _internal_use_extended_swap_active();
1668 }
1669 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_extended_swap_active(::operations_research::OptionalBoolean value) {
1670 
1671  use_extended_swap_active_ = value;
1672 }
1673 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_extended_swap_active(::operations_research::OptionalBoolean value) {
1674  _internal_set_use_extended_swap_active(value);
1675  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
1676 }
1677 
1678 // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
1679 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_node_pair_swap_active() {
1680  use_node_pair_swap_active_ = 0;
1681 }
1682 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_node_pair_swap_active() const {
1683  return static_cast< ::operations_research::OptionalBoolean >(use_node_pair_swap_active_);
1684 }
1685 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_node_pair_swap_active() const {
1686  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
1687  return _internal_use_node_pair_swap_active();
1688 }
1689 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_node_pair_swap_active(::operations_research::OptionalBoolean value) {
1690 
1691  use_node_pair_swap_active_ = value;
1692 }
1693 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_node_pair_swap_active(::operations_research::OptionalBoolean value) {
1694  _internal_set_use_node_pair_swap_active(value);
1695  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
1696 }
1697 
1698 // .operations_research.OptionalBoolean use_path_lns = 16;
1699 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_path_lns() {
1700  use_path_lns_ = 0;
1701 }
1702 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_path_lns() const {
1703  return static_cast< ::operations_research::OptionalBoolean >(use_path_lns_);
1704 }
1705 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_path_lns() const {
1706  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
1707  return _internal_use_path_lns();
1708 }
1709 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_path_lns(::operations_research::OptionalBoolean value) {
1710 
1711  use_path_lns_ = value;
1712 }
1713 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_path_lns(::operations_research::OptionalBoolean value) {
1714  _internal_set_use_path_lns(value);
1715  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
1716 }
1717 
1718 // .operations_research.OptionalBoolean use_full_path_lns = 17;
1719 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_full_path_lns() {
1720  use_full_path_lns_ = 0;
1721 }
1722 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_full_path_lns() const {
1723  return static_cast< ::operations_research::OptionalBoolean >(use_full_path_lns_);
1724 }
1725 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_full_path_lns() const {
1726  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
1727  return _internal_use_full_path_lns();
1728 }
1729 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_full_path_lns(::operations_research::OptionalBoolean value) {
1730 
1731  use_full_path_lns_ = value;
1732 }
1733 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_full_path_lns(::operations_research::OptionalBoolean value) {
1734  _internal_set_use_full_path_lns(value);
1735  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
1736 }
1737 
1738 // .operations_research.OptionalBoolean use_tsp_lns = 18;
1739 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_tsp_lns() {
1740  use_tsp_lns_ = 0;
1741 }
1742 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_lns() const {
1743  return static_cast< ::operations_research::OptionalBoolean >(use_tsp_lns_);
1744 }
1745 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_lns() const {
1746  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
1747  return _internal_use_tsp_lns();
1748 }
1749 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_tsp_lns(::operations_research::OptionalBoolean value) {
1750 
1751  use_tsp_lns_ = value;
1752 }
1753 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_tsp_lns(::operations_research::OptionalBoolean value) {
1754  _internal_set_use_tsp_lns(value);
1755  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
1756 }
1757 
1758 // .operations_research.OptionalBoolean use_inactive_lns = 19;
1759 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_inactive_lns() {
1760  use_inactive_lns_ = 0;
1761 }
1762 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_inactive_lns() const {
1763  return static_cast< ::operations_research::OptionalBoolean >(use_inactive_lns_);
1764 }
1765 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_inactive_lns() const {
1766  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
1767  return _internal_use_inactive_lns();
1768 }
1769 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_inactive_lns(::operations_research::OptionalBoolean value) {
1770 
1771  use_inactive_lns_ = value;
1772 }
1773 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_inactive_lns(::operations_research::OptionalBoolean value) {
1774  _internal_set_use_inactive_lns(value);
1775  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
1776 }
1777 
1778 // .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
1779 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_global_cheapest_insertion_path_lns() {
1780  use_global_cheapest_insertion_path_lns_ = 0;
1781 }
1782 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_path_lns() const {
1783  return static_cast< ::operations_research::OptionalBoolean >(use_global_cheapest_insertion_path_lns_);
1784 }
1785 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_global_cheapest_insertion_path_lns() const {
1786  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_path_lns)
1787  return _internal_use_global_cheapest_insertion_path_lns();
1788 }
1789 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
1790 
1791  use_global_cheapest_insertion_path_lns_ = value;
1792 }
1793 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
1794  _internal_set_use_global_cheapest_insertion_path_lns(value);
1795  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_path_lns)
1796 }
1797 
1798 // .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
1799 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_local_cheapest_insertion_path_lns() {
1800  use_local_cheapest_insertion_path_lns_ = 0;
1801 }
1802 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_path_lns() const {
1803  return static_cast< ::operations_research::OptionalBoolean >(use_local_cheapest_insertion_path_lns_);
1804 }
1805 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_local_cheapest_insertion_path_lns() const {
1806  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_path_lns)
1807  return _internal_use_local_cheapest_insertion_path_lns();
1808 }
1809 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
1810 
1811  use_local_cheapest_insertion_path_lns_ = value;
1812 }
1813 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
1814  _internal_set_use_local_cheapest_insertion_path_lns(value);
1815  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_path_lns)
1816 }
1817 
1818 // .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
1819 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_global_cheapest_insertion_expensive_chain_lns() {
1820  use_global_cheapest_insertion_expensive_chain_lns_ = 0;
1821 }
1822 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_expensive_chain_lns() const {
1823  return static_cast< ::operations_research::OptionalBoolean >(use_global_cheapest_insertion_expensive_chain_lns_);
1824 }
1825 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_global_cheapest_insertion_expensive_chain_lns() const {
1826  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_expensive_chain_lns)
1827  return _internal_use_global_cheapest_insertion_expensive_chain_lns();
1828 }
1829 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
1830 
1831  use_global_cheapest_insertion_expensive_chain_lns_ = value;
1832 }
1833 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
1834  _internal_set_use_global_cheapest_insertion_expensive_chain_lns(value);
1835  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_expensive_chain_lns)
1836 }
1837 
1838 // .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
1839 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::clear_use_local_cheapest_insertion_expensive_chain_lns() {
1840  use_local_cheapest_insertion_expensive_chain_lns_ = 0;
1841 }
1842 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_expensive_chain_lns() const {
1843  return static_cast< ::operations_research::OptionalBoolean >(use_local_cheapest_insertion_expensive_chain_lns_);
1844 }
1845 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_local_cheapest_insertion_expensive_chain_lns() const {
1846  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_expensive_chain_lns)
1847  return _internal_use_local_cheapest_insertion_expensive_chain_lns();
1848 }
1849 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
1850 
1851  use_local_cheapest_insertion_expensive_chain_lns_ = value;
1852 }
1853 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
1854  _internal_set_use_local_cheapest_insertion_expensive_chain_lns(value);
1855  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_expensive_chain_lns)
1856 }
1857 
1858 // -------------------------------------------------------------------
1859 
1860 // RoutingSearchParameters
1861 
1862 // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
1863 inline void RoutingSearchParameters::clear_first_solution_strategy() {
1864  first_solution_strategy_ = 0;
1865 }
1866 inline ::operations_research::FirstSolutionStrategy_Value RoutingSearchParameters::_internal_first_solution_strategy() const {
1867  return static_cast< ::operations_research::FirstSolutionStrategy_Value >(first_solution_strategy_);
1868 }
1869 inline ::operations_research::FirstSolutionStrategy_Value RoutingSearchParameters::first_solution_strategy() const {
1870  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.first_solution_strategy)
1871  return _internal_first_solution_strategy();
1872 }
1873 inline void RoutingSearchParameters::_internal_set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value) {
1874 
1875  first_solution_strategy_ = value;
1876 }
1877 inline void RoutingSearchParameters::set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value) {
1878  _internal_set_first_solution_strategy(value);
1879  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.first_solution_strategy)
1880 }
1881 
1882 // bool use_unfiltered_first_solution_strategy = 2;
1883 inline void RoutingSearchParameters::clear_use_unfiltered_first_solution_strategy() {
1884  use_unfiltered_first_solution_strategy_ = false;
1885 }
1886 inline bool RoutingSearchParameters::_internal_use_unfiltered_first_solution_strategy() const {
1887  return use_unfiltered_first_solution_strategy_;
1888 }
1889 inline bool RoutingSearchParameters::use_unfiltered_first_solution_strategy() const {
1890  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
1891  return _internal_use_unfiltered_first_solution_strategy();
1892 }
1893 inline void RoutingSearchParameters::_internal_set_use_unfiltered_first_solution_strategy(bool value) {
1894 
1895  use_unfiltered_first_solution_strategy_ = value;
1896 }
1897 inline void RoutingSearchParameters::set_use_unfiltered_first_solution_strategy(bool value) {
1898  _internal_set_use_unfiltered_first_solution_strategy(value);
1899  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
1900 }
1901 
1902 // double savings_neighbors_ratio = 14;
1903 inline void RoutingSearchParameters::clear_savings_neighbors_ratio() {
1904  savings_neighbors_ratio_ = 0;
1905 }
1906 inline double RoutingSearchParameters::_internal_savings_neighbors_ratio() const {
1907  return savings_neighbors_ratio_;
1908 }
1909 inline double RoutingSearchParameters::savings_neighbors_ratio() const {
1910  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
1911  return _internal_savings_neighbors_ratio();
1912 }
1913 inline void RoutingSearchParameters::_internal_set_savings_neighbors_ratio(double value) {
1914 
1915  savings_neighbors_ratio_ = value;
1916 }
1917 inline void RoutingSearchParameters::set_savings_neighbors_ratio(double value) {
1918  _internal_set_savings_neighbors_ratio(value);
1919  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
1920 }
1921 
1922 // double savings_max_memory_usage_bytes = 23;
1923 inline void RoutingSearchParameters::clear_savings_max_memory_usage_bytes() {
1924  savings_max_memory_usage_bytes_ = 0;
1925 }
1926 inline double RoutingSearchParameters::_internal_savings_max_memory_usage_bytes() const {
1927  return savings_max_memory_usage_bytes_;
1928 }
1929 inline double RoutingSearchParameters::savings_max_memory_usage_bytes() const {
1930  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
1931  return _internal_savings_max_memory_usage_bytes();
1932 }
1933 inline void RoutingSearchParameters::_internal_set_savings_max_memory_usage_bytes(double value) {
1934 
1935  savings_max_memory_usage_bytes_ = value;
1936 }
1937 inline void RoutingSearchParameters::set_savings_max_memory_usage_bytes(double value) {
1938  _internal_set_savings_max_memory_usage_bytes(value);
1939  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
1940 }
1941 
1942 // bool savings_add_reverse_arcs = 15;
1943 inline void RoutingSearchParameters::clear_savings_add_reverse_arcs() {
1944  savings_add_reverse_arcs_ = false;
1945 }
1946 inline bool RoutingSearchParameters::_internal_savings_add_reverse_arcs() const {
1947  return savings_add_reverse_arcs_;
1948 }
1949 inline bool RoutingSearchParameters::savings_add_reverse_arcs() const {
1950  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
1951  return _internal_savings_add_reverse_arcs();
1952 }
1953 inline void RoutingSearchParameters::_internal_set_savings_add_reverse_arcs(bool value) {
1954 
1955  savings_add_reverse_arcs_ = value;
1956 }
1957 inline void RoutingSearchParameters::set_savings_add_reverse_arcs(bool value) {
1958  _internal_set_savings_add_reverse_arcs(value);
1959  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
1960 }
1961 
1962 // double savings_arc_coefficient = 18;
1963 inline void RoutingSearchParameters::clear_savings_arc_coefficient() {
1964  savings_arc_coefficient_ = 0;
1965 }
1966 inline double RoutingSearchParameters::_internal_savings_arc_coefficient() const {
1967  return savings_arc_coefficient_;
1968 }
1969 inline double RoutingSearchParameters::savings_arc_coefficient() const {
1970  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_arc_coefficient)
1971  return _internal_savings_arc_coefficient();
1972 }
1973 inline void RoutingSearchParameters::_internal_set_savings_arc_coefficient(double value) {
1974 
1975  savings_arc_coefficient_ = value;
1976 }
1977 inline void RoutingSearchParameters::set_savings_arc_coefficient(double value) {
1978  _internal_set_savings_arc_coefficient(value);
1979  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_arc_coefficient)
1980 }
1981 
1982 // bool savings_parallel_routes = 19;
1983 inline void RoutingSearchParameters::clear_savings_parallel_routes() {
1984  savings_parallel_routes_ = false;
1985 }
1986 inline bool RoutingSearchParameters::_internal_savings_parallel_routes() const {
1987  return savings_parallel_routes_;
1988 }
1989 inline bool RoutingSearchParameters::savings_parallel_routes() const {
1990  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_parallel_routes)
1991  return _internal_savings_parallel_routes();
1992 }
1993 inline void RoutingSearchParameters::_internal_set_savings_parallel_routes(bool value) {
1994 
1995  savings_parallel_routes_ = value;
1996 }
1997 inline void RoutingSearchParameters::set_savings_parallel_routes(bool value) {
1998  _internal_set_savings_parallel_routes(value);
1999  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_parallel_routes)
2000 }
2001 
2002 // double cheapest_insertion_farthest_seeds_ratio = 16;
2003 inline void RoutingSearchParameters::clear_cheapest_insertion_farthest_seeds_ratio() {
2004  cheapest_insertion_farthest_seeds_ratio_ = 0;
2005 }
2006 inline double RoutingSearchParameters::_internal_cheapest_insertion_farthest_seeds_ratio() const {
2007  return cheapest_insertion_farthest_seeds_ratio_;
2008 }
2009 inline double RoutingSearchParameters::cheapest_insertion_farthest_seeds_ratio() const {
2010  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
2011  return _internal_cheapest_insertion_farthest_seeds_ratio();
2012 }
2013 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_farthest_seeds_ratio(double value) {
2014 
2015  cheapest_insertion_farthest_seeds_ratio_ = value;
2016 }
2017 inline void RoutingSearchParameters::set_cheapest_insertion_farthest_seeds_ratio(double value) {
2018  _internal_set_cheapest_insertion_farthest_seeds_ratio(value);
2019  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
2020 }
2021 
2022 // double cheapest_insertion_first_solution_neighbors_ratio = 21;
2023 inline void RoutingSearchParameters::clear_cheapest_insertion_first_solution_neighbors_ratio() {
2024  cheapest_insertion_first_solution_neighbors_ratio_ = 0;
2025 }
2026 inline double RoutingSearchParameters::_internal_cheapest_insertion_first_solution_neighbors_ratio() const {
2027  return cheapest_insertion_first_solution_neighbors_ratio_;
2028 }
2029 inline double RoutingSearchParameters::cheapest_insertion_first_solution_neighbors_ratio() const {
2030  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_neighbors_ratio)
2031  return _internal_cheapest_insertion_first_solution_neighbors_ratio();
2032 }
2033 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_neighbors_ratio(double value) {
2034 
2035  cheapest_insertion_first_solution_neighbors_ratio_ = value;
2036 }
2037 inline void RoutingSearchParameters::set_cheapest_insertion_first_solution_neighbors_ratio(double value) {
2038  _internal_set_cheapest_insertion_first_solution_neighbors_ratio(value);
2039  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_neighbors_ratio)
2040 }
2041 
2042 // double cheapest_insertion_ls_operator_neighbors_ratio = 31;
2043 inline void RoutingSearchParameters::clear_cheapest_insertion_ls_operator_neighbors_ratio() {
2044  cheapest_insertion_ls_operator_neighbors_ratio_ = 0;
2045 }
2046 inline double RoutingSearchParameters::_internal_cheapest_insertion_ls_operator_neighbors_ratio() const {
2047  return cheapest_insertion_ls_operator_neighbors_ratio_;
2048 }
2049 inline double RoutingSearchParameters::cheapest_insertion_ls_operator_neighbors_ratio() const {
2050  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_neighbors_ratio)
2051  return _internal_cheapest_insertion_ls_operator_neighbors_ratio();
2052 }
2053 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_ls_operator_neighbors_ratio(double value) {
2054 
2055  cheapest_insertion_ls_operator_neighbors_ratio_ = value;
2056 }
2057 inline void RoutingSearchParameters::set_cheapest_insertion_ls_operator_neighbors_ratio(double value) {
2058  _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(value);
2059  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_neighbors_ratio)
2060 }
2061 
2062 // bool christofides_use_minimum_matching = 30;
2063 inline void RoutingSearchParameters::clear_christofides_use_minimum_matching() {
2064  christofides_use_minimum_matching_ = false;
2065 }
2066 inline bool RoutingSearchParameters::_internal_christofides_use_minimum_matching() const {
2067  return christofides_use_minimum_matching_;
2068 }
2069 inline bool RoutingSearchParameters::christofides_use_minimum_matching() const {
2070  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.christofides_use_minimum_matching)
2071  return _internal_christofides_use_minimum_matching();
2072 }
2073 inline void RoutingSearchParameters::_internal_set_christofides_use_minimum_matching(bool value) {
2074 
2075  christofides_use_minimum_matching_ = value;
2076 }
2077 inline void RoutingSearchParameters::set_christofides_use_minimum_matching(bool value) {
2078  _internal_set_christofides_use_minimum_matching(value);
2079  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.christofides_use_minimum_matching)
2080 }
2081 
2082 // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
2083 inline bool RoutingSearchParameters::_internal_has_local_search_operators() const {
2084  return this != internal_default_instance() && local_search_operators_ != nullptr;
2085 }
2086 inline bool RoutingSearchParameters::has_local_search_operators() const {
2087  return _internal_has_local_search_operators();
2088 }
2089 inline void RoutingSearchParameters::clear_local_search_operators() {
2090  if (GetArena() == nullptr && local_search_operators_ != nullptr) {
2091  delete local_search_operators_;
2092  }
2093  local_search_operators_ = nullptr;
2094 }
2095 inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::_internal_local_search_operators() const {
2096  const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* p = local_search_operators_;
2097  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(
2099 }
2100 inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::local_search_operators() const {
2101  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_operators)
2102  return _internal_local_search_operators();
2103 }
2104 inline void RoutingSearchParameters::unsafe_arena_set_allocated_local_search_operators(
2105  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* local_search_operators) {
2106  if (GetArena() == nullptr) {
2107  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(local_search_operators_);
2108  }
2109  local_search_operators_ = local_search_operators;
2110  if (local_search_operators) {
2111 
2112  } else {
2113 
2114  }
2115  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
2116 }
2117 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::release_local_search_operators() {
2118  auto temp = unsafe_arena_release_local_search_operators();
2119  if (GetArena() != nullptr) {
2120  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2121  }
2122  return temp;
2123 }
2124 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::unsafe_arena_release_local_search_operators() {
2125  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.local_search_operators)
2126 
2127  ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* temp = local_search_operators_;
2128  local_search_operators_ = nullptr;
2129  return temp;
2130 }
2131 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::_internal_mutable_local_search_operators() {
2132 
2133  if (local_search_operators_ == nullptr) {
2134  auto* p = CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(GetArena());
2135  local_search_operators_ = p;
2136  }
2137  return local_search_operators_;
2138 }
2139 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::mutable_local_search_operators() {
2140  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.local_search_operators)
2141  return _internal_mutable_local_search_operators();
2142 }
2143 inline void RoutingSearchParameters::set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* local_search_operators) {
2144  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
2145  if (message_arena == nullptr) {
2146  delete local_search_operators_;
2147  }
2148  if (local_search_operators) {
2149  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2150  ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(local_search_operators);
2151  if (message_arena != submessage_arena) {
2152  local_search_operators = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2153  message_arena, local_search_operators, submessage_arena);
2154  }
2155 
2156  } else {
2157 
2158  }
2159  local_search_operators_ = local_search_operators;
2160  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
2161 }
2162 
2163 // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
2164 inline void RoutingSearchParameters::clear_relocate_expensive_chain_num_arcs_to_consider() {
2165  relocate_expensive_chain_num_arcs_to_consider_ = 0;
2166 }
2167 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_relocate_expensive_chain_num_arcs_to_consider() const {
2168  return relocate_expensive_chain_num_arcs_to_consider_;
2169 }
2170 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::relocate_expensive_chain_num_arcs_to_consider() const {
2171  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
2172  return _internal_relocate_expensive_chain_num_arcs_to_consider();
2173 }
2174 inline void RoutingSearchParameters::_internal_set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
2175 
2176  relocate_expensive_chain_num_arcs_to_consider_ = value;
2177 }
2178 inline void RoutingSearchParameters::set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
2179  _internal_set_relocate_expensive_chain_num_arcs_to_consider(value);
2180  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
2181 }
2182 
2183 // int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
2184 inline void RoutingSearchParameters::clear_heuristic_expensive_chain_lns_num_arcs_to_consider() {
2185  heuristic_expensive_chain_lns_num_arcs_to_consider_ = 0;
2186 }
2187 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_heuristic_expensive_chain_lns_num_arcs_to_consider() const {
2188  return heuristic_expensive_chain_lns_num_arcs_to_consider_;
2189 }
2190 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::heuristic_expensive_chain_lns_num_arcs_to_consider() const {
2191  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.heuristic_expensive_chain_lns_num_arcs_to_consider)
2192  return _internal_heuristic_expensive_chain_lns_num_arcs_to_consider();
2193 }
2194 inline void RoutingSearchParameters::_internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
2195 
2196  heuristic_expensive_chain_lns_num_arcs_to_consider_ = value;
2197 }
2198 inline void RoutingSearchParameters::set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
2199  _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(value);
2200  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.heuristic_expensive_chain_lns_num_arcs_to_consider)
2201 }
2202 
2203 // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
2204 inline void RoutingSearchParameters::clear_local_search_metaheuristic() {
2205  local_search_metaheuristic_ = 0;
2206 }
2207 inline ::operations_research::LocalSearchMetaheuristic_Value RoutingSearchParameters::_internal_local_search_metaheuristic() const {
2208  return static_cast< ::operations_research::LocalSearchMetaheuristic_Value >(local_search_metaheuristic_);
2209 }
2210 inline ::operations_research::LocalSearchMetaheuristic_Value RoutingSearchParameters::local_search_metaheuristic() const {
2211  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_metaheuristic)
2212  return _internal_local_search_metaheuristic();
2213 }
2214 inline void RoutingSearchParameters::_internal_set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value) {
2215 
2216  local_search_metaheuristic_ = value;
2217 }
2218 inline void RoutingSearchParameters::set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value) {
2219  _internal_set_local_search_metaheuristic(value);
2220  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.local_search_metaheuristic)
2221 }
2222 
2223 // double guided_local_search_lambda_coefficient = 5;
2224 inline void RoutingSearchParameters::clear_guided_local_search_lambda_coefficient() {
2225  guided_local_search_lambda_coefficient_ = 0;
2226 }
2227 inline double RoutingSearchParameters::_internal_guided_local_search_lambda_coefficient() const {
2228  return guided_local_search_lambda_coefficient_;
2229 }
2230 inline double RoutingSearchParameters::guided_local_search_lambda_coefficient() const {
2231  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
2232  return _internal_guided_local_search_lambda_coefficient();
2233 }
2234 inline void RoutingSearchParameters::_internal_set_guided_local_search_lambda_coefficient(double value) {
2235 
2236  guided_local_search_lambda_coefficient_ = value;
2237 }
2238 inline void RoutingSearchParameters::set_guided_local_search_lambda_coefficient(double value) {
2239  _internal_set_guided_local_search_lambda_coefficient(value);
2240  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
2241 }
2242 
2243 // bool use_depth_first_search = 6;
2244 inline void RoutingSearchParameters::clear_use_depth_first_search() {
2245  use_depth_first_search_ = false;
2246 }
2247 inline bool RoutingSearchParameters::_internal_use_depth_first_search() const {
2248  return use_depth_first_search_;
2249 }
2250 inline bool RoutingSearchParameters::use_depth_first_search() const {
2251  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_depth_first_search)
2252  return _internal_use_depth_first_search();
2253 }
2254 inline void RoutingSearchParameters::_internal_set_use_depth_first_search(bool value) {
2255 
2256  use_depth_first_search_ = value;
2257 }
2258 inline void RoutingSearchParameters::set_use_depth_first_search(bool value) {
2259  _internal_set_use_depth_first_search(value);
2260  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_depth_first_search)
2261 }
2262 
2263 // .operations_research.OptionalBoolean use_cp = 28;
2264 inline void RoutingSearchParameters::clear_use_cp() {
2265  use_cp_ = 0;
2266 }
2267 inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp() const {
2268  return static_cast< ::operations_research::OptionalBoolean >(use_cp_);
2269 }
2270 inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp() const {
2271  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp)
2272  return _internal_use_cp();
2273 }
2274 inline void RoutingSearchParameters::_internal_set_use_cp(::operations_research::OptionalBoolean value) {
2275 
2276  use_cp_ = value;
2277 }
2278 inline void RoutingSearchParameters::set_use_cp(::operations_research::OptionalBoolean value) {
2279  _internal_set_use_cp(value);
2280  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp)
2281 }
2282 
2283 // .operations_research.OptionalBoolean use_cp_sat = 27;
2284 inline void RoutingSearchParameters::clear_use_cp_sat() {
2285  use_cp_sat_ = 0;
2286 }
2287 inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp_sat() const {
2288  return static_cast< ::operations_research::OptionalBoolean >(use_cp_sat_);
2289 }
2290 inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp_sat() const {
2291  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp_sat)
2292  return _internal_use_cp_sat();
2293 }
2294 inline void RoutingSearchParameters::_internal_set_use_cp_sat(::operations_research::OptionalBoolean value) {
2295 
2296  use_cp_sat_ = value;
2297 }
2298 inline void RoutingSearchParameters::set_use_cp_sat(::operations_research::OptionalBoolean value) {
2299  _internal_set_use_cp_sat(value);
2300  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp_sat)
2301 }
2302 
2303 // .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
2304 inline void RoutingSearchParameters::clear_continuous_scheduling_solver() {
2305  continuous_scheduling_solver_ = 0;
2306 }
2307 inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_continuous_scheduling_solver() const {
2308  return static_cast< ::operations_research::RoutingSearchParameters_SchedulingSolver >(continuous_scheduling_solver_);
2309 }
2310 inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::continuous_scheduling_solver() const {
2311  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.continuous_scheduling_solver)
2312  return _internal_continuous_scheduling_solver();
2313 }
2314 inline void RoutingSearchParameters::_internal_set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
2315 
2316  continuous_scheduling_solver_ = value;
2317 }
2318 inline void RoutingSearchParameters::set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
2319  _internal_set_continuous_scheduling_solver(value);
2320  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.continuous_scheduling_solver)
2321 }
2322 
2323 // .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
2324 inline void RoutingSearchParameters::clear_mixed_integer_scheduling_solver() {
2325  mixed_integer_scheduling_solver_ = 0;
2326 }
2327 inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_mixed_integer_scheduling_solver() const {
2328  return static_cast< ::operations_research::RoutingSearchParameters_SchedulingSolver >(mixed_integer_scheduling_solver_);
2329 }
2330 inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::mixed_integer_scheduling_solver() const {
2331  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.mixed_integer_scheduling_solver)
2332  return _internal_mixed_integer_scheduling_solver();
2333 }
2334 inline void RoutingSearchParameters::_internal_set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
2335 
2336  mixed_integer_scheduling_solver_ = value;
2337 }
2338 inline void RoutingSearchParameters::set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
2339  _internal_set_mixed_integer_scheduling_solver(value);
2340  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.mixed_integer_scheduling_solver)
2341 }
2342 
2343 // double optimization_step = 7;
2344 inline void RoutingSearchParameters::clear_optimization_step() {
2345  optimization_step_ = 0;
2346 }
2347 inline double RoutingSearchParameters::_internal_optimization_step() const {
2348  return optimization_step_;
2349 }
2350 inline double RoutingSearchParameters::optimization_step() const {
2351  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.optimization_step)
2352  return _internal_optimization_step();
2353 }
2354 inline void RoutingSearchParameters::_internal_set_optimization_step(double value) {
2355 
2356  optimization_step_ = value;
2357 }
2358 inline void RoutingSearchParameters::set_optimization_step(double value) {
2359  _internal_set_optimization_step(value);
2360  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.optimization_step)
2361 }
2362 
2363 // int32 number_of_solutions_to_collect = 17;
2364 inline void RoutingSearchParameters::clear_number_of_solutions_to_collect() {
2365  number_of_solutions_to_collect_ = 0;
2366 }
2367 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_number_of_solutions_to_collect() const {
2368  return number_of_solutions_to_collect_;
2369 }
2370 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::number_of_solutions_to_collect() const {
2371  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
2372  return _internal_number_of_solutions_to_collect();
2373 }
2374 inline void RoutingSearchParameters::_internal_set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value) {
2375 
2376  number_of_solutions_to_collect_ = value;
2377 }
2378 inline void RoutingSearchParameters::set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value) {
2379  _internal_set_number_of_solutions_to_collect(value);
2380  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
2381 }
2382 
2383 // int64 solution_limit = 8;
2384 inline void RoutingSearchParameters::clear_solution_limit() {
2385  solution_limit_ = PROTOBUF_LONGLONG(0);
2386 }
2387 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutingSearchParameters::_internal_solution_limit() const {
2388  return solution_limit_;
2389 }
2390 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutingSearchParameters::solution_limit() const {
2391  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.solution_limit)
2392  return _internal_solution_limit();
2393 }
2394 inline void RoutingSearchParameters::_internal_set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value) {
2395 
2396  solution_limit_ = value;
2397 }
2398 inline void RoutingSearchParameters::set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value) {
2399  _internal_set_solution_limit(value);
2400  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.solution_limit)
2401 }
2402 
2403 // .google.protobuf.Duration time_limit = 9;
2404 inline bool RoutingSearchParameters::_internal_has_time_limit() const {
2405  return this != internal_default_instance() && time_limit_ != nullptr;
2406 }
2407 inline bool RoutingSearchParameters::has_time_limit() const {
2408  return _internal_has_time_limit();
2409 }
2410 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::_internal_time_limit() const {
2411  const PROTOBUF_NAMESPACE_ID::Duration* p = time_limit_;
2412  return p != nullptr ? *p : *reinterpret_cast<const PROTOBUF_NAMESPACE_ID::Duration*>(
2413  &PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
2414 }
2415 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::time_limit() const {
2416  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.time_limit)
2417  return _internal_time_limit();
2418 }
2419 inline void RoutingSearchParameters::unsafe_arena_set_allocated_time_limit(
2420  PROTOBUF_NAMESPACE_ID::Duration* time_limit) {
2421  if (GetArena() == nullptr) {
2422  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit_);
2423  }
2424  time_limit_ = time_limit;
2425  if (time_limit) {
2426 
2427  } else {
2428 
2429  }
2430  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.time_limit)
2431 }
2432 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_time_limit() {
2433  auto temp = unsafe_arena_release_time_limit();
2434  if (GetArena() != nullptr) {
2435  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2436  }
2437  return temp;
2438 }
2439 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::unsafe_arena_release_time_limit() {
2440  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.time_limit)
2441 
2442  PROTOBUF_NAMESPACE_ID::Duration* temp = time_limit_;
2443  time_limit_ = nullptr;
2444  return temp;
2445 }
2446 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::_internal_mutable_time_limit() {
2447 
2448  if (time_limit_ == nullptr) {
2449  auto* p = CreateMaybeMessage<PROTOBUF_NAMESPACE_ID::Duration>(GetArena());
2450  time_limit_ = p;
2451  }
2452  return time_limit_;
2453 }
2454 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_time_limit() {
2455  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.time_limit)
2456  return _internal_mutable_time_limit();
2457 }
2458 inline void RoutingSearchParameters::set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration* time_limit) {
2459  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
2460  if (message_arena == nullptr) {
2461  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit_);
2462  }
2463  if (time_limit) {
2464  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2465  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit)->GetArena();
2466  if (message_arena != submessage_arena) {
2467  time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2468  message_arena, time_limit, submessage_arena);
2469  }
2470 
2471  } else {
2472 
2473  }
2474  time_limit_ = time_limit;
2475  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.time_limit)
2476 }
2477 
2478 // .google.protobuf.Duration lns_time_limit = 10;
2479 inline bool RoutingSearchParameters::_internal_has_lns_time_limit() const {
2480  return this != internal_default_instance() && lns_time_limit_ != nullptr;
2481 }
2482 inline bool RoutingSearchParameters::has_lns_time_limit() const {
2483  return _internal_has_lns_time_limit();
2484 }
2485 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::_internal_lns_time_limit() const {
2486  const PROTOBUF_NAMESPACE_ID::Duration* p = lns_time_limit_;
2487  return p != nullptr ? *p : *reinterpret_cast<const PROTOBUF_NAMESPACE_ID::Duration*>(
2488  &PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
2489 }
2490 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::lns_time_limit() const {
2491  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.lns_time_limit)
2492  return _internal_lns_time_limit();
2493 }
2494 inline void RoutingSearchParameters::unsafe_arena_set_allocated_lns_time_limit(
2495  PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit) {
2496  if (GetArena() == nullptr) {
2497  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit_);
2498  }
2499  lns_time_limit_ = lns_time_limit;
2500  if (lns_time_limit) {
2501 
2502  } else {
2503 
2504  }
2505  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
2506 }
2507 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_lns_time_limit() {
2508  auto temp = unsafe_arena_release_lns_time_limit();
2509  if (GetArena() != nullptr) {
2510  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2511  }
2512  return temp;
2513 }
2514 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::unsafe_arena_release_lns_time_limit() {
2515  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.lns_time_limit)
2516 
2517  PROTOBUF_NAMESPACE_ID::Duration* temp = lns_time_limit_;
2518  lns_time_limit_ = nullptr;
2519  return temp;
2520 }
2521 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::_internal_mutable_lns_time_limit() {
2522 
2523  if (lns_time_limit_ == nullptr) {
2524  auto* p = CreateMaybeMessage<PROTOBUF_NAMESPACE_ID::Duration>(GetArena());
2525  lns_time_limit_ = p;
2526  }
2527  return lns_time_limit_;
2528 }
2529 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_lns_time_limit() {
2530  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.lns_time_limit)
2531  return _internal_mutable_lns_time_limit();
2532 }
2533 inline void RoutingSearchParameters::set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit) {
2534  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
2535  if (message_arena == nullptr) {
2536  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit_);
2537  }
2538  if (lns_time_limit) {
2539  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2540  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit)->GetArena();
2541  if (message_arena != submessage_arena) {
2542  lns_time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2543  message_arena, lns_time_limit, submessage_arena);
2544  }
2545 
2546  } else {
2547 
2548  }
2549  lns_time_limit_ = lns_time_limit;
2550  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
2551 }
2552 
2553 // bool use_full_propagation = 11;
2554 inline void RoutingSearchParameters::clear_use_full_propagation() {
2555  use_full_propagation_ = false;
2556 }
2557 inline bool RoutingSearchParameters::_internal_use_full_propagation() const {
2558  return use_full_propagation_;
2559 }
2560 inline bool RoutingSearchParameters::use_full_propagation() const {
2561  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_full_propagation)
2562  return _internal_use_full_propagation();
2563 }
2564 inline void RoutingSearchParameters::_internal_set_use_full_propagation(bool value) {
2565 
2566  use_full_propagation_ = value;
2567 }
2568 inline void RoutingSearchParameters::set_use_full_propagation(bool value) {
2569  _internal_set_use_full_propagation(value);
2570  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_full_propagation)
2571 }
2572 
2573 // bool log_search = 13;
2574 inline void RoutingSearchParameters::clear_log_search() {
2575  log_search_ = false;
2576 }
2577 inline bool RoutingSearchParameters::_internal_log_search() const {
2578  return log_search_;
2579 }
2580 inline bool RoutingSearchParameters::log_search() const {
2581  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_search)
2582  return _internal_log_search();
2583 }
2584 inline void RoutingSearchParameters::_internal_set_log_search(bool value) {
2585 
2586  log_search_ = value;
2587 }
2588 inline void RoutingSearchParameters::set_log_search(bool value) {
2589  _internal_set_log_search(value);
2590  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_search)
2591 }
2592 
2593 // double log_cost_scaling_factor = 22;
2594 inline void RoutingSearchParameters::clear_log_cost_scaling_factor() {
2595  log_cost_scaling_factor_ = 0;
2596 }
2597 inline double RoutingSearchParameters::_internal_log_cost_scaling_factor() const {
2598  return log_cost_scaling_factor_;
2599 }
2600 inline double RoutingSearchParameters::log_cost_scaling_factor() const {
2601  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
2602  return _internal_log_cost_scaling_factor();
2603 }
2604 inline void RoutingSearchParameters::_internal_set_log_cost_scaling_factor(double value) {
2605 
2606  log_cost_scaling_factor_ = value;
2607 }
2608 inline void RoutingSearchParameters::set_log_cost_scaling_factor(double value) {
2609  _internal_set_log_cost_scaling_factor(value);
2610  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
2611 }
2612 
2613 // double log_cost_offset = 29;
2614 inline void RoutingSearchParameters::clear_log_cost_offset() {
2615  log_cost_offset_ = 0;
2616 }
2617 inline double RoutingSearchParameters::_internal_log_cost_offset() const {
2618  return log_cost_offset_;
2619 }
2620 inline double RoutingSearchParameters::log_cost_offset() const {
2621  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_offset)
2622  return _internal_log_cost_offset();
2623 }
2624 inline void RoutingSearchParameters::_internal_set_log_cost_offset(double value) {
2625 
2626  log_cost_offset_ = value;
2627 }
2628 inline void RoutingSearchParameters::set_log_cost_offset(double value) {
2629  _internal_set_log_cost_offset(value);
2630  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_offset)
2631 }
2632 
2633 // -------------------------------------------------------------------
2634 
2635 // RoutingModelParameters
2636 
2637 // .operations_research.ConstraintSolverParameters solver_parameters = 1;
2638 inline bool RoutingModelParameters::_internal_has_solver_parameters() const {
2639  return this != internal_default_instance() && solver_parameters_ != nullptr;
2640 }
2641 inline bool RoutingModelParameters::has_solver_parameters() const {
2642  return _internal_has_solver_parameters();
2643 }
2644 inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::_internal_solver_parameters() const {
2645  const ::operations_research::ConstraintSolverParameters* p = solver_parameters_;
2646  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::ConstraintSolverParameters*>(
2648 }
2649 inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::solver_parameters() const {
2650  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.solver_parameters)
2651  return _internal_solver_parameters();
2652 }
2653 inline void RoutingModelParameters::unsafe_arena_set_allocated_solver_parameters(
2654  ::operations_research::ConstraintSolverParameters* solver_parameters) {
2655  if (GetArena() == nullptr) {
2656  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters_);
2657  }
2658  solver_parameters_ = solver_parameters;
2659  if (solver_parameters) {
2660 
2661  } else {
2662 
2663  }
2664  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
2665 }
2666 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::release_solver_parameters() {
2667  auto temp = unsafe_arena_release_solver_parameters();
2668  if (GetArena() != nullptr) {
2669  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2670  }
2671  return temp;
2672 }
2673 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::unsafe_arena_release_solver_parameters() {
2674  // @@protoc_insertion_point(field_release:operations_research.RoutingModelParameters.solver_parameters)
2675 
2676  ::operations_research::ConstraintSolverParameters* temp = solver_parameters_;
2677  solver_parameters_ = nullptr;
2678  return temp;
2679 }
2680 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::_internal_mutable_solver_parameters() {
2681 
2682  if (solver_parameters_ == nullptr) {
2683  auto* p = CreateMaybeMessage<::operations_research::ConstraintSolverParameters>(GetArena());
2684  solver_parameters_ = p;
2685  }
2686  return solver_parameters_;
2687 }
2688 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::mutable_solver_parameters() {
2689  // @@protoc_insertion_point(field_mutable:operations_research.RoutingModelParameters.solver_parameters)
2690  return _internal_mutable_solver_parameters();
2691 }
2692 inline void RoutingModelParameters::set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters* solver_parameters) {
2693  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
2694  if (message_arena == nullptr) {
2695  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters_);
2696  }
2697  if (solver_parameters) {
2698  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2699  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters)->GetArena();
2700  if (message_arena != submessage_arena) {
2701  solver_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2702  message_arena, solver_parameters, submessage_arena);
2703  }
2704 
2705  } else {
2706 
2707  }
2708  solver_parameters_ = solver_parameters;
2709  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
2710 }
2711 
2712 // bool reduce_vehicle_cost_model = 2;
2713 inline void RoutingModelParameters::clear_reduce_vehicle_cost_model() {
2714  reduce_vehicle_cost_model_ = false;
2715 }
2716 inline bool RoutingModelParameters::_internal_reduce_vehicle_cost_model() const {
2717  return reduce_vehicle_cost_model_;
2718 }
2719 inline bool RoutingModelParameters::reduce_vehicle_cost_model() const {
2720  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
2721  return _internal_reduce_vehicle_cost_model();
2722 }
2723 inline void RoutingModelParameters::_internal_set_reduce_vehicle_cost_model(bool value) {
2724 
2725  reduce_vehicle_cost_model_ = value;
2726 }
2727 inline void RoutingModelParameters::set_reduce_vehicle_cost_model(bool value) {
2728  _internal_set_reduce_vehicle_cost_model(value);
2729  // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
2730 }
2731 
2732 // int32 max_callback_cache_size = 3;
2733 inline void RoutingModelParameters::clear_max_callback_cache_size() {
2734  max_callback_cache_size_ = 0;
2735 }
2736 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingModelParameters::_internal_max_callback_cache_size() const {
2737  return max_callback_cache_size_;
2738 }
2739 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingModelParameters::max_callback_cache_size() const {
2740  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.max_callback_cache_size)
2741  return _internal_max_callback_cache_size();
2742 }
2743 inline void RoutingModelParameters::_internal_set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
2744 
2745  max_callback_cache_size_ = value;
2746 }
2747 inline void RoutingModelParameters::set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
2748  _internal_set_max_callback_cache_size(value);
2749  // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.max_callback_cache_size)
2750 }
2751 
2752 #ifdef __GNUC__
2753  #pragma GCC diagnostic pop
2754 #endif // __GNUC__
2755 // -------------------------------------------------------------------
2756 
2757 // -------------------------------------------------------------------
2758 
2759 
2760 // @@protoc_insertion_point(namespace_scope)
2761 
2762 } // namespace operations_research
2763 
2764 PROTOBUF_NAMESPACE_OPEN
2765 
2766 template <> struct is_proto_enum< ::operations_research::RoutingSearchParameters_SchedulingSolver> : ::std::true_type {};
2767 template <>
2768 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::RoutingSearchParameters_SchedulingSolver>() {
2770 }
2771 
2772 PROTOBUF_NAMESPACE_CLOSE
2773 
2774 // @@protoc_insertion_point(global_scope)
2775 
2776 #include <google/protobuf/port_undef.inc>
2777 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
const ::operations_research::ConstraintSolverParameters & solver_parameters() const
void set_log_search(bool value)
::operations_research::OptionalBoolean use_or_opt() const
void clear_max_callback_cache_size()
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
constexpr RoutingSearchParameters_SchedulingSolver RoutingSearchParameters_SchedulingSolver_SchedulingSolver_MIN
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
static const RoutingSearchParameters * internal_default_instance()
bool has_local_search_operators() const
void clear_use_two_opt()
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * release_local_search_operators()
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::operations_research::OptionalBoolean use_cross() const
::operations_research::OptionalBoolean use_tsp_opt() const
void clear_solution_limit()
bool christofides_use_minimum_matching() const
RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_
void set_use_swap_active(::operations_research::OptionalBoolean value)
static bool SchedulingSolver_Parse(const std::string &name, SchedulingSolver *value)
virtual ~RoutingModelParameters()
void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *local_search_operators)
double guided_local_search_lambda_coefficient() const
void set_savings_neighbors_ratio(double value)
void set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration *time_limit)
void set_savings_arc_coefficient(double value)
void MergeFrom(const RoutingModelParameters &from)
void Swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators *other)
void clear_use_make_chain_inactive()
::operations_research::RoutingSearchParameters_SchedulingSolver continuous_scheduling_solver() const
::operations_research::OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns() const
::PROTOBUF_NAMESPACE_ID::int32 heuristic_expensive_chain_lns_num_arcs_to_consider() const
void set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value)
bool has_solver_parameters() const
::operations_research::OptionalBoolean use_cross_exchange() const
::operations_research::OptionalBoolean use_two_opt() const
double cheapest_insertion_farthest_seeds_ratio() const
void clear_savings_add_reverse_arcs()
void clear_use_cp_sat()
::operations_research::OptionalBoolean use_make_active() const
double cheapest_insertion_first_solution_neighbors_ratio() const
const PROTOBUF_NAMESPACE_ID::Duration & lns_time_limit() const
void set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value)
@ RoutingSearchParameters_SchedulingSolver_RoutingSearchParameters_SchedulingSolver_INT_MIN_SENTINEL_DO_NOT_USE_
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void clear_savings_arc_coefficient()
void MergeFrom(const RoutingSearchParameters &from)
void clear_mixed_integer_scheduling_solver()
RoutingModelParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
::operations_research::OptionalBoolean use_path_lns() const
void clear_log_cost_scaling_factor()
virtual ~RoutingSearchParameters()
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SchedulingSolver_descriptor()
void set_use_inactive_lns(::operations_research::OptionalBoolean value)
RoutingSearchParameters(const RoutingSearchParameters &from)
void set_use_extended_swap_active(::operations_research::OptionalBoolean value)
void clear_savings_parallel_routes()
void unsafe_arena_set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration *lns_time_limit)
RoutingSearchParameters_LocalSearchNeighborhoodOperators * New() const final
::operations_research::OptionalBoolean use_cp() const
const PROTOBUF_NAMESPACE_ID::Duration & time_limit() const
void clear_use_depth_first_search()
void set_use_node_pair_swap_active(::operations_research::OptionalBoolean value)
void set_use_relocate_subtrip(::operations_research::OptionalBoolean value)
void clear_use_path_lns()
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size() const
void set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value)
void clear_use_global_cheapest_insertion_expensive_chain_lns()
::operations_research::OptionalBoolean use_make_chain_inactive() const
void clear_savings_neighbors_ratio()
void unsafe_arena_set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *solver_parameters)
void clear_use_full_propagation()
void set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value)
bool log_search() const
RoutingSearchParameters_LocalSearchNeighborhoodOperators LocalSearchNeighborhoodOperators
void set_use_or_opt(::operations_research::OptionalBoolean value)
void clear_use_local_cheapest_insertion_expensive_chain_lns()
RoutingModelParameters(RoutingModelParameters &&from) noexcept
PROTOBUF_NAMESPACE_ID::Duration * unsafe_arena_release_lns_time_limit()
void clear_use_unfiltered_first_solution_strategy()
void set_use_tsp_opt(::operations_research::OptionalBoolean value)
virtual ~RoutingSearchParameters_LocalSearchNeighborhoodOperators()
RoutingSearchParameters(::PROTOBUF_NAMESPACE_ID::Arena *arena)
bool use_depth_first_search() const
double savings_neighbors_ratio() const
void set_use_full_propagation(bool value)
void set_use_tsp_lns(::operations_research::OptionalBoolean value)
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators * internal_default_instance()
::operations_research::OptionalBoolean use_lin_kernighan() const
RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_
static bool SchedulingSolver_IsValid(int value)
void set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators(RoutingSearchParameters_LocalSearchNeighborhoodOperators &&from) noexcept
const std::string & RoutingSearchParameters_SchedulingSolver_Name(T enum_t_value)
double savings_arc_coefficient() const
bool savings_add_reverse_arcs() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
static const RoutingSearchParameters & default_instance()
void clear_cheapest_insertion_first_solution_neighbors_ratio()
void clear_savings_max_memory_usage_bytes()
void UnsafeArenaSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators *other)
void UnsafeArenaSwap(RoutingModelParameters *other)
void set_log_cost_offset(double value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * RoutingSearchParameters_SchedulingSolver_descriptor()
void set_use_path_lns(::operations_research::OptionalBoolean value)
void clear_use_exchange_pair()
double cheapest_insertion_ls_operator_neighbors_ratio() const
void clear_use_local_cheapest_insertion_path_lns()
bool savings_parallel_routes() const
::operations_research::RoutingSearchParameters_SchedulingSolver mixed_integer_scheduling_solver() const
RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_
::operations_research::OptionalBoolean use_relocate_neighbors() const
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators & default_instance()
RoutingModelParameters * New() const final
::operations_research::ConstraintSolverParameters * mutable_solver_parameters()
void set_use_light_relocate_pair(::operations_research::OptionalBoolean value)
bool RoutingSearchParameters_SchedulingSolver_IsValid(int value)
static const RoutingModelParameters * internal_default_instance()
void set_optimization_step(double value)
void set_use_make_chain_inactive(::operations_research::OptionalBoolean value)
void set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value)
@ RoutingSearchParameters_SchedulingSolver_GLOP
void clear_use_relocate_expensive_chain()
@ RoutingSearchParameters_SchedulingSolver_CP_SAT
friend void swap(RoutingSearchParameters &a, RoutingSearchParameters &b)
void clear_use_full_path_lns()
void UnsafeArenaSwap(RoutingSearchParameters *other)
::operations_research::OptionalBoolean use_relocate_subtrip() const
void clear_guided_local_search_lambda_coefficient()
::operations_research::ConstraintSolverParameters * release_solver_parameters()
RoutingModelParameters & operator=(RoutingModelParameters &&from) noexcept
void set_use_exchange_subtrip(::operations_research::OptionalBoolean value)
LocalSearchMetaheuristic_Value
RoutingSearchParameters * New() const final
void set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
void CopyFrom(const RoutingSearchParameters &from)
void set_guided_local_search_lambda_coefficient(double value)
::operations_research::OptionalBoolean use_make_inactive() const
void set_use_cross_exchange(::operations_research::OptionalBoolean value)
void clear_local_search_metaheuristic()
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *solver_parameters)
::operations_research::OptionalBoolean use_node_pair_swap_active() const
void set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
friend void swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators &a, RoutingSearchParameters_LocalSearchNeighborhoodOperators &b)
::operations_research::LocalSearchMetaheuristic_Value local_search_metaheuristic() const
void clear_use_swap_active()
void clear_lns_time_limit()
void Swap(RoutingModelParameters *other)
void clear_use_cross()
double log_cost_offset() const
void clear_use_light_relocate_pair()
void set_savings_add_reverse_arcs(bool value)
void set_christofides_use_minimum_matching(bool value)
RoutingSearchParameters & operator=(RoutingSearchParameters &&from) noexcept
void set_use_exchange(::operations_research::OptionalBoolean value)
void clear_use_relocate_pair()
@ RoutingSearchParameters_SchedulingSolver_UNSET
RoutingSearchParameters_SchedulingSolver SchedulingSolver
void set_cheapest_insertion_farthest_seeds_ratio(double value)
void clear_continuous_scheduling_solver()
void clear_heuristic_expensive_chain_lns_num_arcs_to_consider()
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
void set_cheapest_insertion_first_solution_neighbors_ratio(double value)
::operations_research::OptionalBoolean use_relocate_pair() const
void clear_use_exchange()
RoutingSearchParameters(RoutingSearchParameters &&from) noexcept
RoutingSearchParameters_LocalSearchNeighborhoodOperators * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void set_use_unfiltered_first_solution_strategy(bool value)
::operations_research::OptionalBoolean use_extended_swap_active() const
RoutingModelParameters & operator=(const RoutingModelParameters &from)
void set_reduce_vehicle_cost_model(bool value)
ConstraintSolverParametersDefaultTypeInternal _ConstraintSolverParameters_default_instance_
::operations_research::OptionalBoolean use_cp_sat() const
void clear_cheapest_insertion_farthest_seeds_ratio()
void clear_use_tsp_lns()
void set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
double optimization_step() const
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
RoutingSearchParameters()
@ RoutingSearchParameters_SchedulingSolver_RoutingSearchParameters_SchedulingSolver_INT_MAX_SENTINEL_DO_NOT_USE_
void clear_reduce_vehicle_cost_model()
void set_cheapest_insertion_ls_operator_neighbors_ratio(double value)
Definition: assignment.pb.h:86
void set_use_relocate_and_make_active(::operations_research::OptionalBoolean value)
void set_use_make_inactive(::operations_research::OptionalBoolean value)
::PROTOBUF_NAMESPACE_ID::int64 solution_limit() const
void set_use_cp_sat(::operations_research::OptionalBoolean value)
void clear_use_cross_exchange()
::operations_research::OptionalBoolean use_global_cheapest_insertion_path_lns() const
void clear_use_relocate()
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
void set_savings_max_memory_usage_bytes(double value)
void clear_use_tsp_opt()
::operations_research::OptionalBoolean use_local_cheapest_insertion_path_lns() const
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * unsafe_arena_release_local_search_operators()
void set_use_lin_kernighan(::operations_research::OptionalBoolean value)
PROTOBUF_NAMESPACE_ID::Duration * mutable_lns_time_limit()
void set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value)
void set_use_relocate_neighbors(::operations_research::OptionalBoolean value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
::operations_research::OptionalBoolean use_relocate() const
void set_use_exchange_pair(::operations_research::OptionalBoolean value)
void clear_time_limit()
void CopyFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void CopyFrom(const RoutingModelParameters &from)
void set_use_full_path_lns(::operations_research::OptionalBoolean value)
bool reduce_vehicle_cost_model() const
void clear_first_solution_strategy()
bool use_full_propagation() const
::operations_research::OptionalBoolean use_inactive_lns() const
bool has_lns_time_limit() const
RoutingSearchParameters_LocalSearchNeighborhoodOperators(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void unsafe_arena_set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration *time_limit)
RoutingSearchParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void set_savings_parallel_routes(bool value)
void set_use_cp(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_light_relocate_pair() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
friend void swap(RoutingModelParameters &a, RoutingModelParameters &b)
void set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value)
void Swap(RoutingSearchParameters *other)
::operations_research::FirstSolutionStrategy_Value first_solution_strategy() const
PROTOBUF_NAMESPACE_ID::Duration * release_lns_time_limit()
bool RoutingSearchParameters_SchedulingSolver_Parse(const std::string &name, RoutingSearchParameters_SchedulingSolver *value)
void clear_number_of_solutions_to_collect()
RoutingModelParameters(const RoutingModelParameters &from)
void clear_use_extended_swap_active()
::operations_research::OptionalBoolean use_exchange_pair() const
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
void set_use_two_opt(::operations_research::OptionalBoolean value)
::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect() const
void clear_solver_parameters()
double log_cost_scaling_factor() const
void clear_use_make_active()
RoutingSearchParameters_LocalSearchNeighborhoodOperators(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
static void InitAsDefaultInstance()
PROTOBUF_NAMESPACE_ID::Duration * mutable_time_limit()
void set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration *lns_time_limit)
RoutingSearchParameters_SchedulingSolver
void clear_log_search()
void clear_local_search_operators()
void set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value)
void clear_use_cp()
Definition: assignment.pb.h:39
void clear_use_exchange_subtrip()
::operations_research::OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns() const
void clear_relocate_expensive_chain_num_arcs_to_consider()
void clear_use_inactive_lns()
void clear_optimization_step()
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
RoutingSearchParameters & operator=(const RoutingSearchParameters &from)
PROTOBUF_NAMESPACE_ID::Duration * unsafe_arena_release_time_limit()
void clear_use_or_opt()
::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider() const
constexpr int RoutingSearchParameters_SchedulingSolver_SchedulingSolver_ARRAYSIZE
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
void clear_cheapest_insertion_ls_operator_neighbors_ratio()
void MergeFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void set_use_relocate(::operations_research::OptionalBoolean value)
FirstSolutionStrategy_Value
constexpr RoutingSearchParameters_SchedulingSolver RoutingSearchParameters_SchedulingSolver_SchedulingSolver_MAX
void clear_log_cost_offset()
bool has_time_limit() const
void set_use_cross(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_exchange() const
bool use_unfiltered_first_solution_strategy() const
void set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
::operations_research::OptionalBoolean use_relocate_and_make_active() const
void clear_christofides_use_minimum_matching()
::operations_research::OptionalBoolean use_swap_active() const
::operations_research::ConstraintSolverParameters * unsafe_arena_release_solver_parameters()
void clear_use_relocate_and_make_active()
::operations_research::OptionalBoolean use_relocate_expensive_chain() const
void set_use_make_active(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_tsp_lns() const
void set_use_relocate_pair(::operations_research::OptionalBoolean value)
RoutingModelParameters()
void clear_use_node_pair_swap_active()
void unsafe_arena_set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *local_search_operators)
const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators & local_search_operators() const
double savings_max_memory_usage_bytes() const
void set_log_cost_scaling_factor(double value)
::operations_research::OptionalBoolean use_full_path_lns() const
void clear_use_relocate_subtrip()
static const std::string & SchedulingSolver_Name(T enum_t_value)
RoutingModelParameters(::PROTOBUF_NAMESPACE_ID::Arena *arena)
static const RoutingModelParameters & default_instance()
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(RoutingSearchParameters_LocalSearchNeighborhoodOperators &&from) noexcept
void clear_use_make_inactive()
void clear_use_lin_kernighan()
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * mutable_local_search_operators()
void clear_use_global_cheapest_insertion_path_lns()
void clear_use_relocate_neighbors()
PROTOBUF_NAMESPACE_ID::Duration * release_time_limit()
RoutingSearchParameters_LocalSearchNeighborhoodOperators()
::operations_research::OptionalBoolean use_exchange_subtrip() const
void set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_use_depth_first_search(bool value)