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 < 3011000
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 3011002 < 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.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 
109  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators) */ {
110  public:
113 
117  *this = ::std::move(from);
118  }
119 
121  CopyFrom(from);
122  return *this;
123  }
125  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
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  }
143 
144  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
146  return reinterpret_cast<const RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(
148  }
149  static constexpr int kIndexInFileMessages =
150  0;
151 
153  a.Swap(&b);
154  }
156  if (other == this) return;
157  InternalSwap(other);
158  }
159 
160  // implements Message ----------------------------------------------
161 
163  return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(nullptr);
164  }
165 
166  RoutingSearchParameters_LocalSearchNeighborhoodOperators* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
167  return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(arena);
168  }
169  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
170  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
173  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
174  bool IsInitialized() const final;
175 
176  size_t ByteSizeLong() const final;
177  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
178  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
179  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
180  int GetCachedSize() const final { return _cached_size_.Get(); }
181 
182  private:
183  inline void SharedCtor();
184  inline void SharedDtor();
185  void SetCachedSize(int size) const final;
187  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
188  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
189  return "operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators";
190  }
191  private:
192  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
193  return nullptr;
194  }
195  inline void* MaybeArenaPtr() const {
196  return nullptr;
197  }
198  public:
199 
200  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
201  private:
202  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
203  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto);
205  }
206 
207  public:
208 
209  // nested types ----------------------------------------------------
210 
211  // accessors -------------------------------------------------------
212 
213  enum : int {
244  };
245  // .operations_research.OptionalBoolean use_relocate = 1;
246  void clear_use_relocate();
247  ::operations_research::OptionalBoolean use_relocate() const;
248  void set_use_relocate(::operations_research::OptionalBoolean value);
249  private:
250  ::operations_research::OptionalBoolean _internal_use_relocate() const;
251  void _internal_set_use_relocate(::operations_research::OptionalBoolean value);
252  public:
253 
254  // .operations_research.OptionalBoolean use_relocate_pair = 2;
256  ::operations_research::OptionalBoolean use_relocate_pair() const;
257  void set_use_relocate_pair(::operations_research::OptionalBoolean value);
258  private:
259  ::operations_research::OptionalBoolean _internal_use_relocate_pair() const;
260  void _internal_set_use_relocate_pair(::operations_research::OptionalBoolean value);
261  public:
262 
263  // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
265  ::operations_research::OptionalBoolean use_relocate_neighbors() const;
266  void set_use_relocate_neighbors(::operations_research::OptionalBoolean value);
267  private:
268  ::operations_research::OptionalBoolean _internal_use_relocate_neighbors() const;
269  void _internal_set_use_relocate_neighbors(::operations_research::OptionalBoolean value);
270  public:
271 
272  // .operations_research.OptionalBoolean use_exchange = 4;
273  void clear_use_exchange();
274  ::operations_research::OptionalBoolean use_exchange() const;
275  void set_use_exchange(::operations_research::OptionalBoolean value);
276  private:
277  ::operations_research::OptionalBoolean _internal_use_exchange() const;
278  void _internal_set_use_exchange(::operations_research::OptionalBoolean value);
279  public:
280 
281  // .operations_research.OptionalBoolean use_cross = 5;
282  void clear_use_cross();
283  ::operations_research::OptionalBoolean use_cross() const;
284  void set_use_cross(::operations_research::OptionalBoolean value);
285  private:
286  ::operations_research::OptionalBoolean _internal_use_cross() const;
287  void _internal_set_use_cross(::operations_research::OptionalBoolean value);
288  public:
289 
290  // .operations_research.OptionalBoolean use_cross_exchange = 6;
292  ::operations_research::OptionalBoolean use_cross_exchange() const;
293  void set_use_cross_exchange(::operations_research::OptionalBoolean value);
294  private:
295  ::operations_research::OptionalBoolean _internal_use_cross_exchange() const;
296  void _internal_set_use_cross_exchange(::operations_research::OptionalBoolean value);
297  public:
298 
299  // .operations_research.OptionalBoolean use_two_opt = 7;
300  void clear_use_two_opt();
301  ::operations_research::OptionalBoolean use_two_opt() const;
302  void set_use_two_opt(::operations_research::OptionalBoolean value);
303  private:
304  ::operations_research::OptionalBoolean _internal_use_two_opt() const;
305  void _internal_set_use_two_opt(::operations_research::OptionalBoolean value);
306  public:
307 
308  // .operations_research.OptionalBoolean use_or_opt = 8;
309  void clear_use_or_opt();
310  ::operations_research::OptionalBoolean use_or_opt() const;
311  void set_use_or_opt(::operations_research::OptionalBoolean value);
312  private:
313  ::operations_research::OptionalBoolean _internal_use_or_opt() const;
314  void _internal_set_use_or_opt(::operations_research::OptionalBoolean value);
315  public:
316 
317  // .operations_research.OptionalBoolean use_lin_kernighan = 9;
319  ::operations_research::OptionalBoolean use_lin_kernighan() const;
320  void set_use_lin_kernighan(::operations_research::OptionalBoolean value);
321  private:
322  ::operations_research::OptionalBoolean _internal_use_lin_kernighan() const;
323  void _internal_set_use_lin_kernighan(::operations_research::OptionalBoolean value);
324  public:
325 
326  // .operations_research.OptionalBoolean use_tsp_opt = 10;
327  void clear_use_tsp_opt();
328  ::operations_research::OptionalBoolean use_tsp_opt() const;
329  void set_use_tsp_opt(::operations_research::OptionalBoolean value);
330  private:
331  ::operations_research::OptionalBoolean _internal_use_tsp_opt() const;
332  void _internal_set_use_tsp_opt(::operations_research::OptionalBoolean value);
333  public:
334 
335  // .operations_research.OptionalBoolean use_make_active = 11;
336  void clear_use_make_active();
337  ::operations_research::OptionalBoolean use_make_active() const;
338  void set_use_make_active(::operations_research::OptionalBoolean value);
339  private:
340  ::operations_research::OptionalBoolean _internal_use_make_active() const;
341  void _internal_set_use_make_active(::operations_research::OptionalBoolean value);
342  public:
343 
344  // .operations_research.OptionalBoolean use_make_inactive = 12;
346  ::operations_research::OptionalBoolean use_make_inactive() const;
347  void set_use_make_inactive(::operations_research::OptionalBoolean value);
348  private:
349  ::operations_research::OptionalBoolean _internal_use_make_inactive() const;
350  void _internal_set_use_make_inactive(::operations_research::OptionalBoolean value);
351  public:
352 
353  // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
355  ::operations_research::OptionalBoolean use_make_chain_inactive() const;
356  void set_use_make_chain_inactive(::operations_research::OptionalBoolean value);
357  private:
358  ::operations_research::OptionalBoolean _internal_use_make_chain_inactive() const;
359  void _internal_set_use_make_chain_inactive(::operations_research::OptionalBoolean value);
360  public:
361 
362  // .operations_research.OptionalBoolean use_swap_active = 14;
363  void clear_use_swap_active();
364  ::operations_research::OptionalBoolean use_swap_active() const;
365  void set_use_swap_active(::operations_research::OptionalBoolean value);
366  private:
367  ::operations_research::OptionalBoolean _internal_use_swap_active() const;
368  void _internal_set_use_swap_active(::operations_research::OptionalBoolean value);
369  public:
370 
371  // .operations_research.OptionalBoolean use_extended_swap_active = 15;
373  ::operations_research::OptionalBoolean use_extended_swap_active() const;
374  void set_use_extended_swap_active(::operations_research::OptionalBoolean value);
375  private:
376  ::operations_research::OptionalBoolean _internal_use_extended_swap_active() const;
377  void _internal_set_use_extended_swap_active(::operations_research::OptionalBoolean value);
378  public:
379 
380  // .operations_research.OptionalBoolean use_path_lns = 16;
381  void clear_use_path_lns();
382  ::operations_research::OptionalBoolean use_path_lns() const;
383  void set_use_path_lns(::operations_research::OptionalBoolean value);
384  private:
385  ::operations_research::OptionalBoolean _internal_use_path_lns() const;
386  void _internal_set_use_path_lns(::operations_research::OptionalBoolean value);
387  public:
388 
389  // .operations_research.OptionalBoolean use_full_path_lns = 17;
391  ::operations_research::OptionalBoolean use_full_path_lns() const;
392  void set_use_full_path_lns(::operations_research::OptionalBoolean value);
393  private:
394  ::operations_research::OptionalBoolean _internal_use_full_path_lns() const;
395  void _internal_set_use_full_path_lns(::operations_research::OptionalBoolean value);
396  public:
397 
398  // .operations_research.OptionalBoolean use_tsp_lns = 18;
399  void clear_use_tsp_lns();
400  ::operations_research::OptionalBoolean use_tsp_lns() const;
401  void set_use_tsp_lns(::operations_research::OptionalBoolean value);
402  private:
403  ::operations_research::OptionalBoolean _internal_use_tsp_lns() const;
404  void _internal_set_use_tsp_lns(::operations_research::OptionalBoolean value);
405  public:
406 
407  // .operations_research.OptionalBoolean use_inactive_lns = 19;
408  void clear_use_inactive_lns();
409  ::operations_research::OptionalBoolean use_inactive_lns() const;
410  void set_use_inactive_lns(::operations_research::OptionalBoolean value);
411  private:
412  ::operations_research::OptionalBoolean _internal_use_inactive_lns() const;
413  void _internal_set_use_inactive_lns(::operations_research::OptionalBoolean value);
414  public:
415 
416  // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
418  ::operations_research::OptionalBoolean use_node_pair_swap_active() const;
419  void set_use_node_pair_swap_active(::operations_research::OptionalBoolean value);
420  private:
421  ::operations_research::OptionalBoolean _internal_use_node_pair_swap_active() const;
422  void _internal_set_use_node_pair_swap_active(::operations_research::OptionalBoolean value);
423  public:
424 
425  // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
427  ::operations_research::OptionalBoolean use_relocate_and_make_active() const;
428  void set_use_relocate_and_make_active(::operations_research::OptionalBoolean value);
429  private:
430  ::operations_research::OptionalBoolean _internal_use_relocate_and_make_active() const;
431  void _internal_set_use_relocate_and_make_active(::operations_research::OptionalBoolean value);
432  public:
433 
434  // .operations_research.OptionalBoolean use_exchange_pair = 22;
436  ::operations_research::OptionalBoolean use_exchange_pair() const;
437  void set_use_exchange_pair(::operations_research::OptionalBoolean value);
438  private:
439  ::operations_research::OptionalBoolean _internal_use_exchange_pair() const;
440  void _internal_set_use_exchange_pair(::operations_research::OptionalBoolean value);
441  public:
442 
443  // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
445  ::operations_research::OptionalBoolean use_relocate_expensive_chain() const;
446  void set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value);
447  private:
448  ::operations_research::OptionalBoolean _internal_use_relocate_expensive_chain() const;
449  void _internal_set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value);
450  public:
451 
452  // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
454  ::operations_research::OptionalBoolean use_light_relocate_pair() const;
455  void set_use_light_relocate_pair(::operations_research::OptionalBoolean value);
456  private:
457  ::operations_research::OptionalBoolean _internal_use_light_relocate_pair() const;
458  void _internal_set_use_light_relocate_pair(::operations_research::OptionalBoolean value);
459  public:
460 
461  // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
463  ::operations_research::OptionalBoolean use_relocate_subtrip() const;
464  void set_use_relocate_subtrip(::operations_research::OptionalBoolean value);
465  private:
466  ::operations_research::OptionalBoolean _internal_use_relocate_subtrip() const;
467  void _internal_set_use_relocate_subtrip(::operations_research::OptionalBoolean value);
468  public:
469 
470  // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
472  ::operations_research::OptionalBoolean use_exchange_subtrip() const;
473  void set_use_exchange_subtrip(::operations_research::OptionalBoolean value);
474  private:
475  ::operations_research::OptionalBoolean _internal_use_exchange_subtrip() const;
476  void _internal_set_use_exchange_subtrip(::operations_research::OptionalBoolean value);
477  public:
478 
479  // .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
481  ::operations_research::OptionalBoolean use_global_cheapest_insertion_path_lns() const;
482  void set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
483  private:
484  ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_path_lns() const;
485  void _internal_set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
486  public:
487 
488  // .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
490  ::operations_research::OptionalBoolean use_local_cheapest_insertion_path_lns() const;
491  void set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
492  private:
493  ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_path_lns() const;
494  void _internal_set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
495  public:
496 
497  // .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
499  ::operations_research::OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns() const;
500  void set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
501  private:
502  ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_expensive_chain_lns() const;
503  void _internal_set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
504  public:
505 
506  // .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
508  ::operations_research::OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns() const;
509  void set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
510  private:
511  ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_expensive_chain_lns() const;
512  void _internal_set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
513  public:
514 
515  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
516  private:
517  class _Internal;
518 
519  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
520  int use_relocate_;
521  int use_relocate_pair_;
522  int use_relocate_neighbors_;
523  int use_exchange_;
524  int use_cross_;
525  int use_cross_exchange_;
526  int use_two_opt_;
527  int use_or_opt_;
528  int use_lin_kernighan_;
529  int use_tsp_opt_;
530  int use_make_active_;
531  int use_make_inactive_;
532  int use_make_chain_inactive_;
533  int use_swap_active_;
534  int use_extended_swap_active_;
535  int use_path_lns_;
536  int use_full_path_lns_;
537  int use_tsp_lns_;
538  int use_inactive_lns_;
539  int use_node_pair_swap_active_;
540  int use_relocate_and_make_active_;
541  int use_exchange_pair_;
542  int use_relocate_expensive_chain_;
543  int use_light_relocate_pair_;
544  int use_relocate_subtrip_;
545  int use_exchange_subtrip_;
546  int use_global_cheapest_insertion_path_lns_;
547  int use_local_cheapest_insertion_path_lns_;
548  int use_global_cheapest_insertion_expensive_chain_lns_;
549  int use_local_cheapest_insertion_expensive_chain_lns_;
550  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
551  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
552 };
553 // -------------------------------------------------------------------
554 
556  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters) */ {
557  public:
559  virtual ~RoutingSearchParameters();
560 
564  *this = ::std::move(from);
565  }
566 
568  CopyFrom(from);
569  return *this;
570  }
572  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
573  if (this != &from) InternalSwap(&from);
574  } else {
575  CopyFrom(from);
576  }
577  return *this;
578  }
579 
580  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
581  return GetDescriptor();
582  }
583  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
584  return GetMetadataStatic().descriptor;
585  }
586  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
587  return GetMetadataStatic().reflection;
588  }
590 
591  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
593  return reinterpret_cast<const RoutingSearchParameters*>(
595  }
596  static constexpr int kIndexInFileMessages =
597  1;
598 
600  a.Swap(&b);
601  }
602  inline void Swap(RoutingSearchParameters* other) {
603  if (other == this) return;
604  InternalSwap(other);
605  }
606 
607  // implements Message ----------------------------------------------
608 
609  inline RoutingSearchParameters* New() const final {
610  return CreateMaybeMessage<RoutingSearchParameters>(nullptr);
611  }
612 
613  RoutingSearchParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
614  return CreateMaybeMessage<RoutingSearchParameters>(arena);
615  }
616  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
617  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
618  void CopyFrom(const RoutingSearchParameters& from);
619  void MergeFrom(const RoutingSearchParameters& from);
620  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
621  bool IsInitialized() const final;
622 
623  size_t ByteSizeLong() const final;
624  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
625  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
626  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
627  int GetCachedSize() const final { return _cached_size_.Get(); }
628 
629  private:
630  inline void SharedCtor();
631  inline void SharedDtor();
632  void SetCachedSize(int size) const final;
633  void InternalSwap(RoutingSearchParameters* other);
634  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
635  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
636  return "operations_research.RoutingSearchParameters";
637  }
638  private:
639  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
640  return nullptr;
641  }
642  inline void* MaybeArenaPtr() const {
643  return nullptr;
644  }
645  public:
646 
647  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
648  private:
649  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
650  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto);
652  }
653 
654  public:
655 
656  // nested types ----------------------------------------------------
657 
659 
661  static constexpr SchedulingSolver UNSET =
663  static constexpr SchedulingSolver GLOP =
665  static constexpr SchedulingSolver CP_SAT =
667  static inline bool SchedulingSolver_IsValid(int value) {
669  }
674  static constexpr int SchedulingSolver_ARRAYSIZE =
676  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
679  }
680  template<typename T>
681  static inline const std::string& SchedulingSolver_Name(T enum_t_value) {
682  static_assert(::std::is_same<T, SchedulingSolver>::value ||
683  ::std::is_integral<T>::value,
684  "Incorrect type passed to function SchedulingSolver_Name.");
686  }
687  static inline bool SchedulingSolver_Parse(const std::string& name,
688  SchedulingSolver* value) {
690  }
691 
692  // accessors -------------------------------------------------------
693 
694  enum : int {
725  };
726  // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
727  bool has_local_search_operators() const;
728  private:
729  bool _internal_has_local_search_operators() const;
730  public:
732  const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& local_search_operators() const;
736  private:
737  const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& _internal_local_search_operators() const;
739  public:
740 
741  // .google.protobuf.Duration time_limit = 9;
742  bool has_time_limit() const;
743  private:
744  bool _internal_has_time_limit() const;
745  public:
746  void clear_time_limit();
747  const PROTOBUF_NAMESPACE_ID::Duration& time_limit() const;
748  PROTOBUF_NAMESPACE_ID::Duration* release_time_limit();
749  PROTOBUF_NAMESPACE_ID::Duration* mutable_time_limit();
750  void set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration* time_limit);
751  private:
752  const PROTOBUF_NAMESPACE_ID::Duration& _internal_time_limit() const;
753  PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_time_limit();
754  public:
755 
756  // .google.protobuf.Duration lns_time_limit = 10;
757  bool has_lns_time_limit() const;
758  private:
759  bool _internal_has_lns_time_limit() const;
760  public:
761  void clear_lns_time_limit();
762  const PROTOBUF_NAMESPACE_ID::Duration& lns_time_limit() const;
763  PROTOBUF_NAMESPACE_ID::Duration* release_lns_time_limit();
764  PROTOBUF_NAMESPACE_ID::Duration* mutable_lns_time_limit();
765  void set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit);
766  private:
767  const PROTOBUF_NAMESPACE_ID::Duration& _internal_lns_time_limit() const;
768  PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_lns_time_limit();
769  public:
770 
771  // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
775  private:
776  ::operations_research::FirstSolutionStrategy_Value _internal_first_solution_strategy() const;
777  void _internal_set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value);
778  public:
779 
780  // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
784  private:
785  ::operations_research::LocalSearchMetaheuristic_Value _internal_local_search_metaheuristic() const;
786  void _internal_set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value);
787  public:
788 
789  // double guided_local_search_lambda_coefficient = 5;
793  private:
794  double _internal_guided_local_search_lambda_coefficient() const;
795  void _internal_set_guided_local_search_lambda_coefficient(double value);
796  public:
797 
798  // double optimization_step = 7;
800  double optimization_step() const;
801  void set_optimization_step(double value);
802  private:
803  double _internal_optimization_step() const;
804  void _internal_set_optimization_step(double value);
805  public:
806 
807  // int64 solution_limit = 8;
808  void clear_solution_limit();
809  ::PROTOBUF_NAMESPACE_ID::int64 solution_limit() const;
810  void set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value);
811  private:
812  ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_limit() const;
813  void _internal_set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value);
814  public:
815 
816  // bool use_depth_first_search = 6;
818  bool use_depth_first_search() const;
819  void set_use_depth_first_search(bool value);
820  private:
821  bool _internal_use_depth_first_search() const;
822  void _internal_set_use_depth_first_search(bool value);
823  public:
824 
825  // bool use_full_propagation = 11;
827  bool use_full_propagation() const;
828  void set_use_full_propagation(bool value);
829  private:
830  bool _internal_use_full_propagation() const;
831  void _internal_set_use_full_propagation(bool value);
832  public:
833 
834  // bool log_search = 13;
835  void clear_log_search();
836  bool log_search() const;
837  void set_log_search(bool value);
838  private:
839  bool _internal_log_search() const;
840  void _internal_set_log_search(bool value);
841  public:
842 
843  // bool use_unfiltered_first_solution_strategy = 2;
847  private:
848  bool _internal_use_unfiltered_first_solution_strategy() const;
849  void _internal_set_use_unfiltered_first_solution_strategy(bool value);
850  public:
851 
852  // bool savings_add_reverse_arcs = 15;
854  bool savings_add_reverse_arcs() const;
855  void set_savings_add_reverse_arcs(bool value);
856  private:
857  bool _internal_savings_add_reverse_arcs() const;
858  void _internal_set_savings_add_reverse_arcs(bool value);
859  public:
860 
861  // bool savings_parallel_routes = 19;
863  bool savings_parallel_routes() const;
864  void set_savings_parallel_routes(bool value);
865  private:
866  bool _internal_savings_parallel_routes() const;
867  void _internal_set_savings_parallel_routes(bool value);
868  public:
869 
870  // bool christofides_use_minimum_matching = 30;
873  void set_christofides_use_minimum_matching(bool value);
874  private:
875  bool _internal_christofides_use_minimum_matching() const;
876  void _internal_set_christofides_use_minimum_matching(bool value);
877  public:
878 
879  // double savings_neighbors_ratio = 14;
881  double savings_neighbors_ratio() const;
882  void set_savings_neighbors_ratio(double value);
883  private:
884  double _internal_savings_neighbors_ratio() const;
885  void _internal_set_savings_neighbors_ratio(double value);
886  public:
887 
888  // double cheapest_insertion_farthest_seeds_ratio = 16;
892  private:
893  double _internal_cheapest_insertion_farthest_seeds_ratio() const;
894  void _internal_set_cheapest_insertion_farthest_seeds_ratio(double value);
895  public:
896 
897  // double savings_arc_coefficient = 18;
899  double savings_arc_coefficient() const;
900  void set_savings_arc_coefficient(double value);
901  private:
902  double _internal_savings_arc_coefficient() const;
903  void _internal_set_savings_arc_coefficient(double value);
904  public:
905 
906  // int32 number_of_solutions_to_collect = 17;
908  ::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect() const;
909  void set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value);
910  private:
911  ::PROTOBUF_NAMESPACE_ID::int32 _internal_number_of_solutions_to_collect() const;
912  void _internal_set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value);
913  public:
914 
915  // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
917  ::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider() const;
918  void set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
919  private:
920  ::PROTOBUF_NAMESPACE_ID::int32 _internal_relocate_expensive_chain_num_arcs_to_consider() const;
921  void _internal_set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
922  public:
923 
924  // double cheapest_insertion_first_solution_neighbors_ratio = 21;
928  private:
929  double _internal_cheapest_insertion_first_solution_neighbors_ratio() const;
930  void _internal_set_cheapest_insertion_first_solution_neighbors_ratio(double value);
931  public:
932 
933  // double log_cost_scaling_factor = 22;
935  double log_cost_scaling_factor() const;
936  void set_log_cost_scaling_factor(double value);
937  private:
938  double _internal_log_cost_scaling_factor() const;
939  void _internal_set_log_cost_scaling_factor(double value);
940  public:
941 
942  // double savings_max_memory_usage_bytes = 23;
944  double savings_max_memory_usage_bytes() const;
945  void set_savings_max_memory_usage_bytes(double value);
946  private:
947  double _internal_savings_max_memory_usage_bytes() const;
948  void _internal_set_savings_max_memory_usage_bytes(double value);
949  public:
950 
951  // .operations_research.OptionalBoolean use_cp_sat = 27;
952  void clear_use_cp_sat();
953  ::operations_research::OptionalBoolean use_cp_sat() const;
954  void set_use_cp_sat(::operations_research::OptionalBoolean value);
955  private:
956  ::operations_research::OptionalBoolean _internal_use_cp_sat() const;
957  void _internal_set_use_cp_sat(::operations_research::OptionalBoolean value);
958  public:
959 
960  // .operations_research.OptionalBoolean use_cp = 28;
961  void clear_use_cp();
962  ::operations_research::OptionalBoolean use_cp() const;
963  void set_use_cp(::operations_research::OptionalBoolean value);
964  private:
965  ::operations_research::OptionalBoolean _internal_use_cp() const;
966  void _internal_set_use_cp(::operations_research::OptionalBoolean value);
967  public:
968 
969  // double log_cost_offset = 29;
970  void clear_log_cost_offset();
971  double log_cost_offset() const;
972  void set_log_cost_offset(double value);
973  private:
974  double _internal_log_cost_offset() const;
975  void _internal_set_log_cost_offset(double value);
976  public:
977 
978  // double cheapest_insertion_ls_operator_neighbors_ratio = 31;
982  private:
983  double _internal_cheapest_insertion_ls_operator_neighbors_ratio() const;
984  void _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(double value);
985  public:
986 
987  // .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
991  private:
992  ::operations_research::RoutingSearchParameters_SchedulingSolver _internal_mixed_integer_scheduling_solver() const;
993  void _internal_set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
994  public:
995 
996  // int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
998  ::PROTOBUF_NAMESPACE_ID::int32 heuristic_expensive_chain_lns_num_arcs_to_consider() const;
999  void set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
1000  private:
1001  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heuristic_expensive_chain_lns_num_arcs_to_consider() const;
1002  void _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
1003  public:
1004 
1005  // .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
1009  private:
1010  ::operations_research::RoutingSearchParameters_SchedulingSolver _internal_continuous_scheduling_solver() const;
1011  void _internal_set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1012  public:
1013 
1014  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
1015  private:
1016  class _Internal;
1017 
1018  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
1020  PROTOBUF_NAMESPACE_ID::Duration* time_limit_;
1021  PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit_;
1022  int first_solution_strategy_;
1023  int local_search_metaheuristic_;
1024  double guided_local_search_lambda_coefficient_;
1025  double optimization_step_;
1026  ::PROTOBUF_NAMESPACE_ID::int64 solution_limit_;
1027  bool use_depth_first_search_;
1028  bool use_full_propagation_;
1029  bool log_search_;
1030  bool use_unfiltered_first_solution_strategy_;
1031  bool savings_add_reverse_arcs_;
1032  bool savings_parallel_routes_;
1033  bool christofides_use_minimum_matching_;
1034  double savings_neighbors_ratio_;
1035  double cheapest_insertion_farthest_seeds_ratio_;
1036  double savings_arc_coefficient_;
1037  ::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect_;
1038  ::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider_;
1039  double cheapest_insertion_first_solution_neighbors_ratio_;
1040  double log_cost_scaling_factor_;
1041  double savings_max_memory_usage_bytes_;
1042  int use_cp_sat_;
1043  int use_cp_;
1044  double log_cost_offset_;
1045  double cheapest_insertion_ls_operator_neighbors_ratio_;
1046  int mixed_integer_scheduling_solver_;
1047  ::PROTOBUF_NAMESPACE_ID::int32 heuristic_expensive_chain_lns_num_arcs_to_consider_;
1048  int continuous_scheduling_solver_;
1049  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1050  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1051 };
1052 // -------------------------------------------------------------------
1053 
1055  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingModelParameters) */ {
1056  public:
1058  virtual ~RoutingModelParameters();
1059 
1063  *this = ::std::move(from);
1064  }
1065 
1067  CopyFrom(from);
1068  return *this;
1069  }
1071  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
1072  if (this != &from) InternalSwap(&from);
1073  } else {
1074  CopyFrom(from);
1075  }
1076  return *this;
1077  }
1078 
1079  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1080  return GetDescriptor();
1081  }
1082  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1083  return GetMetadataStatic().descriptor;
1084  }
1085  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1086  return GetMetadataStatic().reflection;
1087  }
1088  static const RoutingModelParameters& default_instance();
1089 
1090  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
1092  return reinterpret_cast<const RoutingModelParameters*>(
1094  }
1095  static constexpr int kIndexInFileMessages =
1096  2;
1097 
1099  a.Swap(&b);
1100  }
1101  inline void Swap(RoutingModelParameters* other) {
1102  if (other == this) return;
1103  InternalSwap(other);
1104  }
1105 
1106  // implements Message ----------------------------------------------
1107 
1108  inline RoutingModelParameters* New() const final {
1109  return CreateMaybeMessage<RoutingModelParameters>(nullptr);
1110  }
1111 
1112  RoutingModelParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1113  return CreateMaybeMessage<RoutingModelParameters>(arena);
1114  }
1115  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1116  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
1117  void CopyFrom(const RoutingModelParameters& from);
1118  void MergeFrom(const RoutingModelParameters& from);
1119  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1120  bool IsInitialized() const final;
1121 
1122  size_t ByteSizeLong() const final;
1123  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1124  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1125  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1126  int GetCachedSize() const final { return _cached_size_.Get(); }
1127 
1128  private:
1129  inline void SharedCtor();
1130  inline void SharedDtor();
1131  void SetCachedSize(int size) const final;
1132  void InternalSwap(RoutingModelParameters* other);
1133  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1134  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1135  return "operations_research.RoutingModelParameters";
1136  }
1137  private:
1138  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
1139  return nullptr;
1140  }
1141  inline void* MaybeArenaPtr() const {
1142  return nullptr;
1143  }
1144  public:
1145 
1146  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1147  private:
1148  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
1149  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto);
1151  }
1152 
1153  public:
1154 
1155  // nested types ----------------------------------------------------
1156 
1157  // accessors -------------------------------------------------------
1158 
1159  enum : int {
1163  };
1164  // .operations_research.ConstraintSolverParameters solver_parameters = 1;
1165  bool has_solver_parameters() const;
1166  private:
1167  bool _internal_has_solver_parameters() const;
1168  public:
1169  void clear_solver_parameters();
1170  const ::operations_research::ConstraintSolverParameters& solver_parameters() const;
1174  private:
1175  const ::operations_research::ConstraintSolverParameters& _internal_solver_parameters() const;
1176  ::operations_research::ConstraintSolverParameters* _internal_mutable_solver_parameters();
1177  public:
1178 
1179  // bool reduce_vehicle_cost_model = 2;
1181  bool reduce_vehicle_cost_model() const;
1182  void set_reduce_vehicle_cost_model(bool value);
1183  private:
1184  bool _internal_reduce_vehicle_cost_model() const;
1185  void _internal_set_reduce_vehicle_cost_model(bool value);
1186  public:
1187 
1188  // int32 max_callback_cache_size = 3;
1190  ::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size() const;
1191  void set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1192  private:
1193  ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_callback_cache_size() const;
1194  void _internal_set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1195  public:
1196 
1197  // @@protoc_insertion_point(class_scope:operations_research.RoutingModelParameters)
1198  private:
1199  class _Internal;
1200 
1201  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
1203  bool reduce_vehicle_cost_model_;
1204  ::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size_;
1205  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1206  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1207 };
1208 // ===================================================================
1209 
1210 
1211 // ===================================================================
1212 
1213 #ifdef __GNUC__
1214  #pragma GCC diagnostic push
1215  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1216 #endif // __GNUC__
1217 // RoutingSearchParameters_LocalSearchNeighborhoodOperators
1218 
1219 // .operations_research.OptionalBoolean use_relocate = 1;
1221  use_relocate_ = 0;
1222 }
1223 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate() const {
1224  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_);
1225 }
1226 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate() const {
1227  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
1228  return _internal_use_relocate();
1229 }
1230 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate(::operations_research::OptionalBoolean value) {
1231 
1232  use_relocate_ = value;
1233 }
1234 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate(::operations_research::OptionalBoolean value) {
1235  _internal_set_use_relocate(value);
1236  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
1237 }
1238 
1239 // .operations_research.OptionalBoolean use_relocate_pair = 2;
1241  use_relocate_pair_ = 0;
1242 }
1243 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_pair() const {
1244  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_pair_);
1245 }
1246 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_pair() const {
1247  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
1248  return _internal_use_relocate_pair();
1249 }
1250 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_pair(::operations_research::OptionalBoolean value) {
1251 
1252  use_relocate_pair_ = value;
1253 }
1254 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_pair(::operations_research::OptionalBoolean value) {
1255  _internal_set_use_relocate_pair(value);
1256  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
1257 }
1258 
1259 // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
1261  use_light_relocate_pair_ = 0;
1262 }
1263 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_light_relocate_pair() const {
1264  return static_cast< ::operations_research::OptionalBoolean >(use_light_relocate_pair_);
1265 }
1266 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_light_relocate_pair() const {
1267  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
1268  return _internal_use_light_relocate_pair();
1269 }
1270 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_light_relocate_pair(::operations_research::OptionalBoolean value) {
1271 
1272  use_light_relocate_pair_ = value;
1273 }
1274 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_light_relocate_pair(::operations_research::OptionalBoolean value) {
1275  _internal_set_use_light_relocate_pair(value);
1276  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
1277 }
1278 
1279 // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
1281  use_relocate_neighbors_ = 0;
1282 }
1283 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_neighbors() const {
1284  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_neighbors_);
1285 }
1286 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_neighbors() const {
1287  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
1288  return _internal_use_relocate_neighbors();
1289 }
1290 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_neighbors(::operations_research::OptionalBoolean value) {
1291 
1292  use_relocate_neighbors_ = value;
1293 }
1294 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_neighbors(::operations_research::OptionalBoolean value) {
1295  _internal_set_use_relocate_neighbors(value);
1296  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
1297 }
1298 
1299 // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
1301  use_relocate_subtrip_ = 0;
1302 }
1303 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_subtrip() const {
1304  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_subtrip_);
1305 }
1306 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_subtrip() const {
1307  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
1308  return _internal_use_relocate_subtrip();
1309 }
1310 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_subtrip(::operations_research::OptionalBoolean value) {
1311 
1312  use_relocate_subtrip_ = value;
1313 }
1314 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_subtrip(::operations_research::OptionalBoolean value) {
1315  _internal_set_use_relocate_subtrip(value);
1316  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
1317 }
1318 
1319 // .operations_research.OptionalBoolean use_exchange = 4;
1321  use_exchange_ = 0;
1322 }
1323 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange() const {
1324  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_);
1325 }
1326 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange() const {
1327  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
1328  return _internal_use_exchange();
1329 }
1330 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange(::operations_research::OptionalBoolean value) {
1331 
1332  use_exchange_ = value;
1333 }
1334 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange(::operations_research::OptionalBoolean value) {
1335  _internal_set_use_exchange(value);
1336  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
1337 }
1338 
1339 // .operations_research.OptionalBoolean use_exchange_pair = 22;
1341  use_exchange_pair_ = 0;
1342 }
1343 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_pair() const {
1344  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_pair_);
1345 }
1346 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_pair() const {
1347  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
1348  return _internal_use_exchange_pair();
1349 }
1350 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_pair(::operations_research::OptionalBoolean value) {
1351 
1352  use_exchange_pair_ = value;
1353 }
1354 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange_pair(::operations_research::OptionalBoolean value) {
1355  _internal_set_use_exchange_pair(value);
1356  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
1357 }
1358 
1359 // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
1361  use_exchange_subtrip_ = 0;
1362 }
1363 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_subtrip() const {
1364  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_subtrip_);
1365 }
1366 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_subtrip() const {
1367  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
1368  return _internal_use_exchange_subtrip();
1369 }
1370 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_subtrip(::operations_research::OptionalBoolean value) {
1371 
1372  use_exchange_subtrip_ = value;
1373 }
1374 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange_subtrip(::operations_research::OptionalBoolean value) {
1375  _internal_set_use_exchange_subtrip(value);
1376  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
1377 }
1378 
1379 // .operations_research.OptionalBoolean use_cross = 5;
1381  use_cross_ = 0;
1382 }
1383 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross() const {
1384  return static_cast< ::operations_research::OptionalBoolean >(use_cross_);
1385 }
1386 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross() const {
1387  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
1388  return _internal_use_cross();
1389 }
1390 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_cross(::operations_research::OptionalBoolean value) {
1391 
1392  use_cross_ = value;
1393 }
1394 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_cross(::operations_research::OptionalBoolean value) {
1395  _internal_set_use_cross(value);
1396  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
1397 }
1398 
1399 // .operations_research.OptionalBoolean use_cross_exchange = 6;
1401  use_cross_exchange_ = 0;
1402 }
1403 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross_exchange() const {
1404  return static_cast< ::operations_research::OptionalBoolean >(use_cross_exchange_);
1405 }
1406 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross_exchange() const {
1407  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
1408  return _internal_use_cross_exchange();
1409 }
1410 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_cross_exchange(::operations_research::OptionalBoolean value) {
1411 
1412  use_cross_exchange_ = value;
1413 }
1414 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_cross_exchange(::operations_research::OptionalBoolean value) {
1415  _internal_set_use_cross_exchange(value);
1416  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
1417 }
1418 
1419 // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
1421  use_relocate_expensive_chain_ = 0;
1422 }
1423 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_expensive_chain() const {
1424  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_expensive_chain_);
1425 }
1427  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
1428  return _internal_use_relocate_expensive_chain();
1429 }
1430 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value) {
1431 
1432  use_relocate_expensive_chain_ = value;
1433 }
1435  _internal_set_use_relocate_expensive_chain(value);
1436  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
1437 }
1438 
1439 // .operations_research.OptionalBoolean use_two_opt = 7;
1441  use_two_opt_ = 0;
1442 }
1443 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_two_opt() const {
1444  return static_cast< ::operations_research::OptionalBoolean >(use_two_opt_);
1445 }
1446 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_two_opt() const {
1447  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
1448  return _internal_use_two_opt();
1449 }
1450 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_two_opt(::operations_research::OptionalBoolean value) {
1451 
1452  use_two_opt_ = value;
1453 }
1454 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_two_opt(::operations_research::OptionalBoolean value) {
1455  _internal_set_use_two_opt(value);
1456  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
1457 }
1458 
1459 // .operations_research.OptionalBoolean use_or_opt = 8;
1461  use_or_opt_ = 0;
1462 }
1463 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_or_opt() const {
1464  return static_cast< ::operations_research::OptionalBoolean >(use_or_opt_);
1465 }
1466 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_or_opt() const {
1467  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
1468  return _internal_use_or_opt();
1469 }
1470 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_or_opt(::operations_research::OptionalBoolean value) {
1471 
1472  use_or_opt_ = value;
1473 }
1474 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_or_opt(::operations_research::OptionalBoolean value) {
1475  _internal_set_use_or_opt(value);
1476  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
1477 }
1478 
1479 // .operations_research.OptionalBoolean use_lin_kernighan = 9;
1481  use_lin_kernighan_ = 0;
1482 }
1483 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_lin_kernighan() const {
1484  return static_cast< ::operations_research::OptionalBoolean >(use_lin_kernighan_);
1485 }
1486 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_lin_kernighan() const {
1487  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
1488  return _internal_use_lin_kernighan();
1489 }
1490 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_lin_kernighan(::operations_research::OptionalBoolean value) {
1491 
1492  use_lin_kernighan_ = value;
1493 }
1494 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_lin_kernighan(::operations_research::OptionalBoolean value) {
1495  _internal_set_use_lin_kernighan(value);
1496  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
1497 }
1498 
1499 // .operations_research.OptionalBoolean use_tsp_opt = 10;
1501  use_tsp_opt_ = 0;
1502 }
1503 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_opt() const {
1504  return static_cast< ::operations_research::OptionalBoolean >(use_tsp_opt_);
1505 }
1506 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_opt() const {
1507  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
1508  return _internal_use_tsp_opt();
1509 }
1510 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_tsp_opt(::operations_research::OptionalBoolean value) {
1511 
1512  use_tsp_opt_ = value;
1513 }
1514 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_tsp_opt(::operations_research::OptionalBoolean value) {
1515  _internal_set_use_tsp_opt(value);
1516  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
1517 }
1518 
1519 // .operations_research.OptionalBoolean use_make_active = 11;
1521  use_make_active_ = 0;
1522 }
1523 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_active() const {
1524  return static_cast< ::operations_research::OptionalBoolean >(use_make_active_);
1525 }
1526 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_active() const {
1527  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1528  return _internal_use_make_active();
1529 }
1530 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_active(::operations_research::OptionalBoolean value) {
1531 
1532  use_make_active_ = value;
1533 }
1534 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_active(::operations_research::OptionalBoolean value) {
1535  _internal_set_use_make_active(value);
1536  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1537 }
1538 
1539 // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
1541  use_relocate_and_make_active_ = 0;
1542 }
1543 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_and_make_active() const {
1544  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_and_make_active_);
1545 }
1547  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1548  return _internal_use_relocate_and_make_active();
1549 }
1550 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_and_make_active(::operations_research::OptionalBoolean value) {
1551 
1552  use_relocate_and_make_active_ = value;
1553 }
1555  _internal_set_use_relocate_and_make_active(value);
1556  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1557 }
1558 
1559 // .operations_research.OptionalBoolean use_make_inactive = 12;
1561  use_make_inactive_ = 0;
1562 }
1563 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_inactive() const {
1564  return static_cast< ::operations_research::OptionalBoolean >(use_make_inactive_);
1565 }
1566 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_inactive() const {
1567  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1568  return _internal_use_make_inactive();
1569 }
1570 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_inactive(::operations_research::OptionalBoolean value) {
1571 
1572  use_make_inactive_ = value;
1573 }
1574 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_inactive(::operations_research::OptionalBoolean value) {
1575  _internal_set_use_make_inactive(value);
1576  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1577 }
1578 
1579 // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
1581  use_make_chain_inactive_ = 0;
1582 }
1583 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_chain_inactive() const {
1584  return static_cast< ::operations_research::OptionalBoolean >(use_make_chain_inactive_);
1585 }
1586 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_chain_inactive() const {
1587  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
1588  return _internal_use_make_chain_inactive();
1589 }
1590 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_chain_inactive(::operations_research::OptionalBoolean value) {
1591 
1592  use_make_chain_inactive_ = value;
1593 }
1594 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_chain_inactive(::operations_research::OptionalBoolean value) {
1595  _internal_set_use_make_chain_inactive(value);
1596  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
1597 }
1598 
1599 // .operations_research.OptionalBoolean use_swap_active = 14;
1601  use_swap_active_ = 0;
1602 }
1603 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_swap_active() const {
1604  return static_cast< ::operations_research::OptionalBoolean >(use_swap_active_);
1605 }
1606 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_swap_active() const {
1607  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
1608  return _internal_use_swap_active();
1609 }
1610 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_swap_active(::operations_research::OptionalBoolean value) {
1611 
1612  use_swap_active_ = value;
1613 }
1614 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_swap_active(::operations_research::OptionalBoolean value) {
1615  _internal_set_use_swap_active(value);
1616  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
1617 }
1618 
1619 // .operations_research.OptionalBoolean use_extended_swap_active = 15;
1621  use_extended_swap_active_ = 0;
1622 }
1623 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_extended_swap_active() const {
1624  return static_cast< ::operations_research::OptionalBoolean >(use_extended_swap_active_);
1625 }
1626 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_extended_swap_active() const {
1627  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
1628  return _internal_use_extended_swap_active();
1629 }
1630 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_extended_swap_active(::operations_research::OptionalBoolean value) {
1631 
1632  use_extended_swap_active_ = value;
1633 }
1634 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_extended_swap_active(::operations_research::OptionalBoolean value) {
1635  _internal_set_use_extended_swap_active(value);
1636  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
1637 }
1638 
1639 // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
1641  use_node_pair_swap_active_ = 0;
1642 }
1643 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_node_pair_swap_active() const {
1644  return static_cast< ::operations_research::OptionalBoolean >(use_node_pair_swap_active_);
1645 }
1647  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
1648  return _internal_use_node_pair_swap_active();
1649 }
1650 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_node_pair_swap_active(::operations_research::OptionalBoolean value) {
1651 
1652  use_node_pair_swap_active_ = value;
1653 }
1654 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_node_pair_swap_active(::operations_research::OptionalBoolean value) {
1655  _internal_set_use_node_pair_swap_active(value);
1656  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
1657 }
1658 
1659 // .operations_research.OptionalBoolean use_path_lns = 16;
1661  use_path_lns_ = 0;
1662 }
1663 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_path_lns() const {
1664  return static_cast< ::operations_research::OptionalBoolean >(use_path_lns_);
1665 }
1666 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_path_lns() const {
1667  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
1668  return _internal_use_path_lns();
1669 }
1670 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_path_lns(::operations_research::OptionalBoolean value) {
1671 
1672  use_path_lns_ = value;
1673 }
1674 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_path_lns(::operations_research::OptionalBoolean value) {
1675  _internal_set_use_path_lns(value);
1676  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
1677 }
1678 
1679 // .operations_research.OptionalBoolean use_full_path_lns = 17;
1681  use_full_path_lns_ = 0;
1682 }
1683 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_full_path_lns() const {
1684  return static_cast< ::operations_research::OptionalBoolean >(use_full_path_lns_);
1685 }
1686 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_full_path_lns() const {
1687  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
1688  return _internal_use_full_path_lns();
1689 }
1690 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_full_path_lns(::operations_research::OptionalBoolean value) {
1691 
1692  use_full_path_lns_ = value;
1693 }
1694 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_full_path_lns(::operations_research::OptionalBoolean value) {
1695  _internal_set_use_full_path_lns(value);
1696  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
1697 }
1698 
1699 // .operations_research.OptionalBoolean use_tsp_lns = 18;
1701  use_tsp_lns_ = 0;
1702 }
1703 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_lns() const {
1704  return static_cast< ::operations_research::OptionalBoolean >(use_tsp_lns_);
1705 }
1706 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_lns() const {
1707  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
1708  return _internal_use_tsp_lns();
1709 }
1710 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_tsp_lns(::operations_research::OptionalBoolean value) {
1711 
1712  use_tsp_lns_ = value;
1713 }
1714 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_tsp_lns(::operations_research::OptionalBoolean value) {
1715  _internal_set_use_tsp_lns(value);
1716  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
1717 }
1718 
1719 // .operations_research.OptionalBoolean use_inactive_lns = 19;
1721  use_inactive_lns_ = 0;
1722 }
1723 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_inactive_lns() const {
1724  return static_cast< ::operations_research::OptionalBoolean >(use_inactive_lns_);
1725 }
1726 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_inactive_lns() const {
1727  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
1728  return _internal_use_inactive_lns();
1729 }
1730 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_inactive_lns(::operations_research::OptionalBoolean value) {
1731 
1732  use_inactive_lns_ = value;
1733 }
1734 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_inactive_lns(::operations_research::OptionalBoolean value) {
1735  _internal_set_use_inactive_lns(value);
1736  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
1737 }
1738 
1739 // .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
1741  use_global_cheapest_insertion_path_lns_ = 0;
1742 }
1743 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_path_lns() const {
1744  return static_cast< ::operations_research::OptionalBoolean >(use_global_cheapest_insertion_path_lns_);
1745 }
1747  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_path_lns)
1748  return _internal_use_global_cheapest_insertion_path_lns();
1749 }
1750 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
1751 
1752  use_global_cheapest_insertion_path_lns_ = value;
1753 }
1755  _internal_set_use_global_cheapest_insertion_path_lns(value);
1756  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_path_lns)
1757 }
1758 
1759 // .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
1761  use_local_cheapest_insertion_path_lns_ = 0;
1762 }
1763 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_path_lns() const {
1764  return static_cast< ::operations_research::OptionalBoolean >(use_local_cheapest_insertion_path_lns_);
1765 }
1767  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_path_lns)
1768  return _internal_use_local_cheapest_insertion_path_lns();
1769 }
1770 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
1771 
1772  use_local_cheapest_insertion_path_lns_ = value;
1773 }
1775  _internal_set_use_local_cheapest_insertion_path_lns(value);
1776  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_path_lns)
1777 }
1778 
1779 // .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
1781  use_global_cheapest_insertion_expensive_chain_lns_ = 0;
1782 }
1783 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_expensive_chain_lns() const {
1784  return static_cast< ::operations_research::OptionalBoolean >(use_global_cheapest_insertion_expensive_chain_lns_);
1785 }
1787  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_expensive_chain_lns)
1788  return _internal_use_global_cheapest_insertion_expensive_chain_lns();
1789 }
1790 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
1791 
1792  use_global_cheapest_insertion_expensive_chain_lns_ = value;
1793 }
1795  _internal_set_use_global_cheapest_insertion_expensive_chain_lns(value);
1796  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_expensive_chain_lns)
1797 }
1798 
1799 // .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
1801  use_local_cheapest_insertion_expensive_chain_lns_ = 0;
1802 }
1803 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_expensive_chain_lns() const {
1804  return static_cast< ::operations_research::OptionalBoolean >(use_local_cheapest_insertion_expensive_chain_lns_);
1805 }
1807  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_expensive_chain_lns)
1808  return _internal_use_local_cheapest_insertion_expensive_chain_lns();
1809 }
1810 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
1811 
1812  use_local_cheapest_insertion_expensive_chain_lns_ = value;
1813 }
1815  _internal_set_use_local_cheapest_insertion_expensive_chain_lns(value);
1816  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_expensive_chain_lns)
1817 }
1818 
1819 // -------------------------------------------------------------------
1820 
1821 // RoutingSearchParameters
1822 
1823 // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
1825  first_solution_strategy_ = 0;
1826 }
1827 inline ::operations_research::FirstSolutionStrategy_Value RoutingSearchParameters::_internal_first_solution_strategy() const {
1828  return static_cast< ::operations_research::FirstSolutionStrategy_Value >(first_solution_strategy_);
1829 }
1831  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.first_solution_strategy)
1832  return _internal_first_solution_strategy();
1833 }
1834 inline void RoutingSearchParameters::_internal_set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value) {
1835 
1836  first_solution_strategy_ = value;
1837 }
1839  _internal_set_first_solution_strategy(value);
1840  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.first_solution_strategy)
1841 }
1842 
1843 // bool use_unfiltered_first_solution_strategy = 2;
1845  use_unfiltered_first_solution_strategy_ = false;
1846 }
1847 inline bool RoutingSearchParameters::_internal_use_unfiltered_first_solution_strategy() const {
1848  return use_unfiltered_first_solution_strategy_;
1849 }
1851  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
1852  return _internal_use_unfiltered_first_solution_strategy();
1853 }
1854 inline void RoutingSearchParameters::_internal_set_use_unfiltered_first_solution_strategy(bool value) {
1855 
1856  use_unfiltered_first_solution_strategy_ = value;
1857 }
1859  _internal_set_use_unfiltered_first_solution_strategy(value);
1860  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
1861 }
1862 
1863 // double savings_neighbors_ratio = 14;
1865  savings_neighbors_ratio_ = 0;
1866 }
1867 inline double RoutingSearchParameters::_internal_savings_neighbors_ratio() const {
1868  return savings_neighbors_ratio_;
1869 }
1871  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
1872  return _internal_savings_neighbors_ratio();
1873 }
1874 inline void RoutingSearchParameters::_internal_set_savings_neighbors_ratio(double value) {
1875 
1876  savings_neighbors_ratio_ = value;
1877 }
1879  _internal_set_savings_neighbors_ratio(value);
1880  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
1881 }
1882 
1883 // double savings_max_memory_usage_bytes = 23;
1885  savings_max_memory_usage_bytes_ = 0;
1886 }
1887 inline double RoutingSearchParameters::_internal_savings_max_memory_usage_bytes() const {
1888  return savings_max_memory_usage_bytes_;
1889 }
1891  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
1892  return _internal_savings_max_memory_usage_bytes();
1893 }
1894 inline void RoutingSearchParameters::_internal_set_savings_max_memory_usage_bytes(double value) {
1895 
1896  savings_max_memory_usage_bytes_ = value;
1897 }
1899  _internal_set_savings_max_memory_usage_bytes(value);
1900  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
1901 }
1902 
1903 // bool savings_add_reverse_arcs = 15;
1905  savings_add_reverse_arcs_ = false;
1906 }
1907 inline bool RoutingSearchParameters::_internal_savings_add_reverse_arcs() const {
1908  return savings_add_reverse_arcs_;
1909 }
1911  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
1912  return _internal_savings_add_reverse_arcs();
1913 }
1914 inline void RoutingSearchParameters::_internal_set_savings_add_reverse_arcs(bool value) {
1915 
1916  savings_add_reverse_arcs_ = value;
1917 }
1919  _internal_set_savings_add_reverse_arcs(value);
1920  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
1921 }
1922 
1923 // double savings_arc_coefficient = 18;
1925  savings_arc_coefficient_ = 0;
1926 }
1927 inline double RoutingSearchParameters::_internal_savings_arc_coefficient() const {
1928  return savings_arc_coefficient_;
1929 }
1931  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_arc_coefficient)
1932  return _internal_savings_arc_coefficient();
1933 }
1934 inline void RoutingSearchParameters::_internal_set_savings_arc_coefficient(double value) {
1935 
1936  savings_arc_coefficient_ = value;
1937 }
1939  _internal_set_savings_arc_coefficient(value);
1940  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_arc_coefficient)
1941 }
1942 
1943 // bool savings_parallel_routes = 19;
1945  savings_parallel_routes_ = false;
1946 }
1947 inline bool RoutingSearchParameters::_internal_savings_parallel_routes() const {
1948  return savings_parallel_routes_;
1949 }
1951  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_parallel_routes)
1952  return _internal_savings_parallel_routes();
1953 }
1954 inline void RoutingSearchParameters::_internal_set_savings_parallel_routes(bool value) {
1955 
1956  savings_parallel_routes_ = value;
1957 }
1959  _internal_set_savings_parallel_routes(value);
1960  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_parallel_routes)
1961 }
1962 
1963 // double cheapest_insertion_farthest_seeds_ratio = 16;
1965  cheapest_insertion_farthest_seeds_ratio_ = 0;
1966 }
1967 inline double RoutingSearchParameters::_internal_cheapest_insertion_farthest_seeds_ratio() const {
1968  return cheapest_insertion_farthest_seeds_ratio_;
1969 }
1971  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
1972  return _internal_cheapest_insertion_farthest_seeds_ratio();
1973 }
1974 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_farthest_seeds_ratio(double value) {
1975 
1976  cheapest_insertion_farthest_seeds_ratio_ = value;
1977 }
1979  _internal_set_cheapest_insertion_farthest_seeds_ratio(value);
1980  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
1981 }
1982 
1983 // double cheapest_insertion_first_solution_neighbors_ratio = 21;
1985  cheapest_insertion_first_solution_neighbors_ratio_ = 0;
1986 }
1987 inline double RoutingSearchParameters::_internal_cheapest_insertion_first_solution_neighbors_ratio() const {
1988  return cheapest_insertion_first_solution_neighbors_ratio_;
1989 }
1991  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_neighbors_ratio)
1992  return _internal_cheapest_insertion_first_solution_neighbors_ratio();
1993 }
1994 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_neighbors_ratio(double value) {
1995 
1996  cheapest_insertion_first_solution_neighbors_ratio_ = value;
1997 }
1999  _internal_set_cheapest_insertion_first_solution_neighbors_ratio(value);
2000  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_neighbors_ratio)
2001 }
2002 
2003 // double cheapest_insertion_ls_operator_neighbors_ratio = 31;
2005  cheapest_insertion_ls_operator_neighbors_ratio_ = 0;
2006 }
2007 inline double RoutingSearchParameters::_internal_cheapest_insertion_ls_operator_neighbors_ratio() const {
2008  return cheapest_insertion_ls_operator_neighbors_ratio_;
2009 }
2011  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_neighbors_ratio)
2012  return _internal_cheapest_insertion_ls_operator_neighbors_ratio();
2013 }
2014 inline void RoutingSearchParameters::_internal_set_cheapest_insertion_ls_operator_neighbors_ratio(double value) {
2015 
2016  cheapest_insertion_ls_operator_neighbors_ratio_ = value;
2017 }
2019  _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(value);
2020  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_neighbors_ratio)
2021 }
2022 
2023 // bool christofides_use_minimum_matching = 30;
2025  christofides_use_minimum_matching_ = false;
2026 }
2027 inline bool RoutingSearchParameters::_internal_christofides_use_minimum_matching() const {
2028  return christofides_use_minimum_matching_;
2029 }
2031  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.christofides_use_minimum_matching)
2032  return _internal_christofides_use_minimum_matching();
2033 }
2034 inline void RoutingSearchParameters::_internal_set_christofides_use_minimum_matching(bool value) {
2035 
2036  christofides_use_minimum_matching_ = value;
2037 }
2039  _internal_set_christofides_use_minimum_matching(value);
2040  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.christofides_use_minimum_matching)
2041 }
2042 
2043 // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
2044 inline bool RoutingSearchParameters::_internal_has_local_search_operators() const {
2045  return this != internal_default_instance() && local_search_operators_ != nullptr;
2046 }
2048  return _internal_has_local_search_operators();
2049 }
2051  if (GetArenaNoVirtual() == nullptr && local_search_operators_ != nullptr) {
2052  delete local_search_operators_;
2053  }
2054  local_search_operators_ = nullptr;
2055 }
2056 inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::_internal_local_search_operators() const {
2057  const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* p = local_search_operators_;
2058  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(
2060 }
2061 inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::local_search_operators() const {
2062  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_operators)
2063  return _internal_local_search_operators();
2064 }
2065 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::release_local_search_operators() {
2066  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.local_search_operators)
2067 
2069  local_search_operators_ = nullptr;
2070  return temp;
2071 }
2072 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::_internal_mutable_local_search_operators() {
2073 
2074  if (local_search_operators_ == nullptr) {
2075  auto* p = CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(GetArenaNoVirtual());
2076  local_search_operators_ = p;
2077  }
2078  return local_search_operators_;
2079 }
2080 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::mutable_local_search_operators() {
2081  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.local_search_operators)
2082  return _internal_mutable_local_search_operators();
2083 }
2085  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
2086  if (message_arena == nullptr) {
2087  delete local_search_operators_;
2088  }
2089  if (local_search_operators) {
2090  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
2091  if (message_arena != submessage_arena) {
2092  local_search_operators = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2093  message_arena, local_search_operators, submessage_arena);
2094  }
2095 
2096  } else {
2097 
2098  }
2099  local_search_operators_ = local_search_operators;
2100  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
2101 }
2102 
2103 // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
2105  relocate_expensive_chain_num_arcs_to_consider_ = 0;
2106 }
2107 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_relocate_expensive_chain_num_arcs_to_consider() const {
2108  return relocate_expensive_chain_num_arcs_to_consider_;
2109 }
2110 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::relocate_expensive_chain_num_arcs_to_consider() const {
2111  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
2112  return _internal_relocate_expensive_chain_num_arcs_to_consider();
2113 }
2114 inline void RoutingSearchParameters::_internal_set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
2115 
2116  relocate_expensive_chain_num_arcs_to_consider_ = value;
2117 }
2118 inline void RoutingSearchParameters::set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
2119  _internal_set_relocate_expensive_chain_num_arcs_to_consider(value);
2120  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
2121 }
2122 
2123 // int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
2125  heuristic_expensive_chain_lns_num_arcs_to_consider_ = 0;
2126 }
2127 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_heuristic_expensive_chain_lns_num_arcs_to_consider() const {
2128  return heuristic_expensive_chain_lns_num_arcs_to_consider_;
2129 }
2131  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.heuristic_expensive_chain_lns_num_arcs_to_consider)
2132  return _internal_heuristic_expensive_chain_lns_num_arcs_to_consider();
2133 }
2134 inline void RoutingSearchParameters::_internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
2135 
2136  heuristic_expensive_chain_lns_num_arcs_to_consider_ = value;
2137 }
2139  _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(value);
2140  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.heuristic_expensive_chain_lns_num_arcs_to_consider)
2141 }
2142 
2143 // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
2145  local_search_metaheuristic_ = 0;
2146 }
2147 inline ::operations_research::LocalSearchMetaheuristic_Value RoutingSearchParameters::_internal_local_search_metaheuristic() const {
2148  return static_cast< ::operations_research::LocalSearchMetaheuristic_Value >(local_search_metaheuristic_);
2149 }
2151  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_metaheuristic)
2152  return _internal_local_search_metaheuristic();
2153 }
2154 inline void RoutingSearchParameters::_internal_set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value) {
2155 
2156  local_search_metaheuristic_ = value;
2157 }
2159  _internal_set_local_search_metaheuristic(value);
2160  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.local_search_metaheuristic)
2161 }
2162 
2163 // double guided_local_search_lambda_coefficient = 5;
2165  guided_local_search_lambda_coefficient_ = 0;
2166 }
2167 inline double RoutingSearchParameters::_internal_guided_local_search_lambda_coefficient() const {
2168  return guided_local_search_lambda_coefficient_;
2169 }
2171  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
2172  return _internal_guided_local_search_lambda_coefficient();
2173 }
2174 inline void RoutingSearchParameters::_internal_set_guided_local_search_lambda_coefficient(double value) {
2175 
2176  guided_local_search_lambda_coefficient_ = value;
2177 }
2179  _internal_set_guided_local_search_lambda_coefficient(value);
2180  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
2181 }
2182 
2183 // bool use_depth_first_search = 6;
2185  use_depth_first_search_ = false;
2186 }
2187 inline bool RoutingSearchParameters::_internal_use_depth_first_search() const {
2188  return use_depth_first_search_;
2189 }
2191  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_depth_first_search)
2192  return _internal_use_depth_first_search();
2193 }
2194 inline void RoutingSearchParameters::_internal_set_use_depth_first_search(bool value) {
2195 
2196  use_depth_first_search_ = value;
2197 }
2199  _internal_set_use_depth_first_search(value);
2200  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_depth_first_search)
2201 }
2202 
2203 // .operations_research.OptionalBoolean use_cp = 28;
2205  use_cp_ = 0;
2206 }
2207 inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp() const {
2208  return static_cast< ::operations_research::OptionalBoolean >(use_cp_);
2209 }
2210 inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp() const {
2211  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp)
2212  return _internal_use_cp();
2213 }
2214 inline void RoutingSearchParameters::_internal_set_use_cp(::operations_research::OptionalBoolean value) {
2215 
2216  use_cp_ = value;
2217 }
2218 inline void RoutingSearchParameters::set_use_cp(::operations_research::OptionalBoolean value) {
2219  _internal_set_use_cp(value);
2220  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp)
2221 }
2222 
2223 // .operations_research.OptionalBoolean use_cp_sat = 27;
2225  use_cp_sat_ = 0;
2226 }
2227 inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp_sat() const {
2228  return static_cast< ::operations_research::OptionalBoolean >(use_cp_sat_);
2229 }
2230 inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp_sat() const {
2231  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp_sat)
2232  return _internal_use_cp_sat();
2233 }
2234 inline void RoutingSearchParameters::_internal_set_use_cp_sat(::operations_research::OptionalBoolean value) {
2235 
2236  use_cp_sat_ = value;
2237 }
2238 inline void RoutingSearchParameters::set_use_cp_sat(::operations_research::OptionalBoolean value) {
2239  _internal_set_use_cp_sat(value);
2240  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp_sat)
2241 }
2242 
2243 // .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
2245  continuous_scheduling_solver_ = 0;
2246 }
2247 inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_continuous_scheduling_solver() const {
2248  return static_cast< ::operations_research::RoutingSearchParameters_SchedulingSolver >(continuous_scheduling_solver_);
2249 }
2251  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.continuous_scheduling_solver)
2252  return _internal_continuous_scheduling_solver();
2253 }
2254 inline void RoutingSearchParameters::_internal_set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
2255 
2256  continuous_scheduling_solver_ = value;
2257 }
2259  _internal_set_continuous_scheduling_solver(value);
2260  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.continuous_scheduling_solver)
2261 }
2262 
2263 // .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
2265  mixed_integer_scheduling_solver_ = 0;
2266 }
2267 inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_mixed_integer_scheduling_solver() const {
2268  return static_cast< ::operations_research::RoutingSearchParameters_SchedulingSolver >(mixed_integer_scheduling_solver_);
2269 }
2271  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.mixed_integer_scheduling_solver)
2272  return _internal_mixed_integer_scheduling_solver();
2273 }
2274 inline void RoutingSearchParameters::_internal_set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
2275 
2276  mixed_integer_scheduling_solver_ = value;
2277 }
2279  _internal_set_mixed_integer_scheduling_solver(value);
2280  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.mixed_integer_scheduling_solver)
2281 }
2282 
2283 // double optimization_step = 7;
2285  optimization_step_ = 0;
2286 }
2287 inline double RoutingSearchParameters::_internal_optimization_step() const {
2288  return optimization_step_;
2289 }
2291  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.optimization_step)
2292  return _internal_optimization_step();
2293 }
2294 inline void RoutingSearchParameters::_internal_set_optimization_step(double value) {
2295 
2296  optimization_step_ = value;
2297 }
2299  _internal_set_optimization_step(value);
2300  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.optimization_step)
2301 }
2302 
2303 // int32 number_of_solutions_to_collect = 17;
2305  number_of_solutions_to_collect_ = 0;
2306 }
2307 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_number_of_solutions_to_collect() const {
2308  return number_of_solutions_to_collect_;
2309 }
2310 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::number_of_solutions_to_collect() const {
2311  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
2312  return _internal_number_of_solutions_to_collect();
2313 }
2314 inline void RoutingSearchParameters::_internal_set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value) {
2315 
2316  number_of_solutions_to_collect_ = value;
2317 }
2318 inline void RoutingSearchParameters::set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value) {
2319  _internal_set_number_of_solutions_to_collect(value);
2320  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
2321 }
2322 
2323 // int64 solution_limit = 8;
2325  solution_limit_ = PROTOBUF_LONGLONG(0);
2326 }
2327 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutingSearchParameters::_internal_solution_limit() const {
2328  return solution_limit_;
2329 }
2330 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutingSearchParameters::solution_limit() const {
2331  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.solution_limit)
2332  return _internal_solution_limit();
2333 }
2334 inline void RoutingSearchParameters::_internal_set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value) {
2335 
2336  solution_limit_ = value;
2337 }
2338 inline void RoutingSearchParameters::set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value) {
2339  _internal_set_solution_limit(value);
2340  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.solution_limit)
2341 }
2342 
2343 // .google.protobuf.Duration time_limit = 9;
2344 inline bool RoutingSearchParameters::_internal_has_time_limit() const {
2345  return this != internal_default_instance() && time_limit_ != nullptr;
2346 }
2348  return _internal_has_time_limit();
2349 }
2350 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::_internal_time_limit() const {
2351  const PROTOBUF_NAMESPACE_ID::Duration* p = time_limit_;
2352  return p != nullptr ? *p : *reinterpret_cast<const PROTOBUF_NAMESPACE_ID::Duration*>(
2353  &PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
2354 }
2355 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::time_limit() const {
2356  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.time_limit)
2357  return _internal_time_limit();
2358 }
2359 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_time_limit() {
2360  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.time_limit)
2361 
2362  PROTOBUF_NAMESPACE_ID::Duration* temp = time_limit_;
2363  time_limit_ = nullptr;
2364  return temp;
2365 }
2366 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::_internal_mutable_time_limit() {
2367 
2368  if (time_limit_ == nullptr) {
2369  auto* p = CreateMaybeMessage<PROTOBUF_NAMESPACE_ID::Duration>(GetArenaNoVirtual());
2370  time_limit_ = p;
2371  }
2372  return time_limit_;
2373 }
2374 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_time_limit() {
2375  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.time_limit)
2376  return _internal_mutable_time_limit();
2377 }
2378 inline void RoutingSearchParameters::set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration* time_limit) {
2379  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
2380  if (message_arena == nullptr) {
2381  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit_);
2382  }
2383  if (time_limit) {
2384  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2385  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit)->GetArena();
2386  if (message_arena != submessage_arena) {
2387  time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2388  message_arena, time_limit, submessage_arena);
2389  }
2390 
2391  } else {
2392 
2393  }
2394  time_limit_ = time_limit;
2395  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.time_limit)
2396 }
2397 
2398 // .google.protobuf.Duration lns_time_limit = 10;
2399 inline bool RoutingSearchParameters::_internal_has_lns_time_limit() const {
2400  return this != internal_default_instance() && lns_time_limit_ != nullptr;
2401 }
2403  return _internal_has_lns_time_limit();
2404 }
2405 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::_internal_lns_time_limit() const {
2406  const PROTOBUF_NAMESPACE_ID::Duration* p = lns_time_limit_;
2407  return p != nullptr ? *p : *reinterpret_cast<const PROTOBUF_NAMESPACE_ID::Duration*>(
2408  &PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
2409 }
2410 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::lns_time_limit() const {
2411  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.lns_time_limit)
2412  return _internal_lns_time_limit();
2413 }
2414 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_lns_time_limit() {
2415  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.lns_time_limit)
2416 
2417  PROTOBUF_NAMESPACE_ID::Duration* temp = lns_time_limit_;
2418  lns_time_limit_ = nullptr;
2419  return temp;
2420 }
2421 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::_internal_mutable_lns_time_limit() {
2422 
2423  if (lns_time_limit_ == nullptr) {
2424  auto* p = CreateMaybeMessage<PROTOBUF_NAMESPACE_ID::Duration>(GetArenaNoVirtual());
2425  lns_time_limit_ = p;
2426  }
2427  return lns_time_limit_;
2428 }
2429 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_lns_time_limit() {
2430  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.lns_time_limit)
2431  return _internal_mutable_lns_time_limit();
2432 }
2433 inline void RoutingSearchParameters::set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit) {
2434  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
2435  if (message_arena == nullptr) {
2436  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit_);
2437  }
2438  if (lns_time_limit) {
2439  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2440  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit)->GetArena();
2441  if (message_arena != submessage_arena) {
2442  lns_time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2443  message_arena, lns_time_limit, submessage_arena);
2444  }
2445 
2446  } else {
2447 
2448  }
2449  lns_time_limit_ = lns_time_limit;
2450  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
2451 }
2452 
2453 // bool use_full_propagation = 11;
2455  use_full_propagation_ = false;
2456 }
2457 inline bool RoutingSearchParameters::_internal_use_full_propagation() const {
2458  return use_full_propagation_;
2459 }
2461  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_full_propagation)
2462  return _internal_use_full_propagation();
2463 }
2464 inline void RoutingSearchParameters::_internal_set_use_full_propagation(bool value) {
2465 
2466  use_full_propagation_ = value;
2467 }
2469  _internal_set_use_full_propagation(value);
2470  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_full_propagation)
2471 }
2472 
2473 // bool log_search = 13;
2475  log_search_ = false;
2476 }
2477 inline bool RoutingSearchParameters::_internal_log_search() const {
2478  return log_search_;
2479 }
2481  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_search)
2482  return _internal_log_search();
2483 }
2484 inline void RoutingSearchParameters::_internal_set_log_search(bool value) {
2485 
2486  log_search_ = value;
2487 }
2489  _internal_set_log_search(value);
2490  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_search)
2491 }
2492 
2493 // double log_cost_scaling_factor = 22;
2495  log_cost_scaling_factor_ = 0;
2496 }
2497 inline double RoutingSearchParameters::_internal_log_cost_scaling_factor() const {
2498  return log_cost_scaling_factor_;
2499 }
2501  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
2502  return _internal_log_cost_scaling_factor();
2503 }
2504 inline void RoutingSearchParameters::_internal_set_log_cost_scaling_factor(double value) {
2505 
2506  log_cost_scaling_factor_ = value;
2507 }
2509  _internal_set_log_cost_scaling_factor(value);
2510  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
2511 }
2512 
2513 // double log_cost_offset = 29;
2515  log_cost_offset_ = 0;
2516 }
2517 inline double RoutingSearchParameters::_internal_log_cost_offset() const {
2518  return log_cost_offset_;
2519 }
2521  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_offset)
2522  return _internal_log_cost_offset();
2523 }
2524 inline void RoutingSearchParameters::_internal_set_log_cost_offset(double value) {
2525 
2526  log_cost_offset_ = value;
2527 }
2529  _internal_set_log_cost_offset(value);
2530  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_offset)
2531 }
2532 
2533 // -------------------------------------------------------------------
2534 
2535 // RoutingModelParameters
2536 
2537 // .operations_research.ConstraintSolverParameters solver_parameters = 1;
2538 inline bool RoutingModelParameters::_internal_has_solver_parameters() const {
2539  return this != internal_default_instance() && solver_parameters_ != nullptr;
2540 }
2542  return _internal_has_solver_parameters();
2543 }
2544 inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::_internal_solver_parameters() const {
2545  const ::operations_research::ConstraintSolverParameters* p = solver_parameters_;
2546  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::ConstraintSolverParameters*>(
2548 }
2549 inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::solver_parameters() const {
2550  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.solver_parameters)
2551  return _internal_solver_parameters();
2552 }
2553 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::release_solver_parameters() {
2554  // @@protoc_insertion_point(field_release:operations_research.RoutingModelParameters.solver_parameters)
2555 
2556  ::operations_research::ConstraintSolverParameters* temp = solver_parameters_;
2557  solver_parameters_ = nullptr;
2558  return temp;
2559 }
2560 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::_internal_mutable_solver_parameters() {
2561 
2562  if (solver_parameters_ == nullptr) {
2563  auto* p = CreateMaybeMessage<::operations_research::ConstraintSolverParameters>(GetArenaNoVirtual());
2564  solver_parameters_ = p;
2565  }
2566  return solver_parameters_;
2567 }
2568 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::mutable_solver_parameters() {
2569  // @@protoc_insertion_point(field_mutable:operations_research.RoutingModelParameters.solver_parameters)
2570  return _internal_mutable_solver_parameters();
2571 }
2573  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
2574  if (message_arena == nullptr) {
2575  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters_);
2576  }
2577  if (solver_parameters) {
2578  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
2579  if (message_arena != submessage_arena) {
2580  solver_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2581  message_arena, solver_parameters, submessage_arena);
2582  }
2583 
2584  } else {
2585 
2586  }
2587  solver_parameters_ = solver_parameters;
2588  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
2589 }
2590 
2591 // bool reduce_vehicle_cost_model = 2;
2593  reduce_vehicle_cost_model_ = false;
2594 }
2595 inline bool RoutingModelParameters::_internal_reduce_vehicle_cost_model() const {
2596  return reduce_vehicle_cost_model_;
2597 }
2599  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
2600  return _internal_reduce_vehicle_cost_model();
2601 }
2602 inline void RoutingModelParameters::_internal_set_reduce_vehicle_cost_model(bool value) {
2603 
2604  reduce_vehicle_cost_model_ = value;
2605 }
2607  _internal_set_reduce_vehicle_cost_model(value);
2608  // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
2609 }
2610 
2611 // int32 max_callback_cache_size = 3;
2613  max_callback_cache_size_ = 0;
2614 }
2615 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingModelParameters::_internal_max_callback_cache_size() const {
2616  return max_callback_cache_size_;
2617 }
2618 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingModelParameters::max_callback_cache_size() const {
2619  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.max_callback_cache_size)
2620  return _internal_max_callback_cache_size();
2621 }
2622 inline void RoutingModelParameters::_internal_set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
2623 
2624  max_callback_cache_size_ = value;
2625 }
2626 inline void RoutingModelParameters::set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
2627  _internal_set_max_callback_cache_size(value);
2628  // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.max_callback_cache_size)
2629 }
2630 
2631 #ifdef __GNUC__
2632  #pragma GCC diagnostic pop
2633 #endif // __GNUC__
2634 // -------------------------------------------------------------------
2635 
2636 // -------------------------------------------------------------------
2637 
2638 
2639 // @@protoc_insertion_point(namespace_scope)
2640 
2641 } // namespace operations_research
2642 
2643 PROTOBUF_NAMESPACE_OPEN
2644 
2645 template <> struct is_proto_enum< ::operations_research::RoutingSearchParameters_SchedulingSolver> : ::std::true_type {};
2646 template <>
2647 inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::RoutingSearchParameters_SchedulingSolver>() {
2649 }
2650 
2651 PROTOBUF_NAMESPACE_CLOSE
2652 
2653 // @@protoc_insertion_point(global_scope)
2654 
2655 #include <google/protobuf/port_undef.inc>
2656 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
void set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value)
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators & default_instance()
void clear_use_depth_first_search()
void clear_use_exchange_subtrip()
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
void clear_savings_max_memory_usage_bytes()
void clear_mixed_integer_scheduling_solver()
void clear_use_make_active()
constexpr RoutingSearchParameters_SchedulingSolver RoutingSearchParameters_SchedulingSolver_SchedulingSolver_MIN
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
void set_use_inactive_lns(::operations_research::OptionalBoolean value)
void set_use_path_lns(::operations_research::OptionalBoolean value)
void clear_continuous_scheduling_solver()
::operations_research::OptionalBoolean use_tsp_opt() const
void clear_optimization_step()
void set_christofides_use_minimum_matching(bool value)
::PROTOBUF_NAMESPACE_ID::int32 heuristic_expensive_chain_lns_num_arcs_to_consider() const
void set_use_unfiltered_first_solution_strategy(bool value)
static void InitAsDefaultInstance()
void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *solver_parameters)
RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_
::operations_research::OptionalBoolean use_make_chain_inactive() const
static void InitAsDefaultInstance()
::operations_research::RoutingSearchParameters_SchedulingSolver mixed_integer_scheduling_solver() const
void clear_use_node_pair_swap_active()
void clear_use_relocate_and_make_active()
RoutingModelParameters * New() const final
void set_use_full_path_lns(::operations_research::OptionalBoolean value)
void Swap(RoutingSearchParameters *other)
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::operations_research::OptionalBoolean use_cross_exchange() const
void clear_use_relocate_neighbors()
friend void swap(RoutingModelParameters &a, RoutingModelParameters &b)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
RoutingModelParameters & operator=(RoutingModelParameters &&from) noexcept
void clear_use_relocate_expensive_chain()
::operations_research::OptionalBoolean use_lin_kernighan() const
RoutingSearchParameters_LocalSearchNeighborhoodOperators * New() const final
static constexpr SchedulingSolver SchedulingSolver_MIN
void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *local_search_operators)
::operations_research::OptionalBoolean use_extended_swap_active() const
::operations_research::OptionalBoolean use_exchange_pair() const
void set_use_cp_sat(::operations_research::OptionalBoolean value)
const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators & local_search_operators() const
void Swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators *other)
::operations_research::OptionalBoolean use_global_cheapest_insertion_path_lns() const
bool log_search() const
size_t ByteSizeLong() const final
void set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_cheapest_insertion_first_solution_neighbors_ratio(double value)
void clear_solution_limit()
double cheapest_insertion_ls_operator_neighbors_ratio() const
::operations_research::OptionalBoolean use_or_opt() const
bool has_time_limit() const
RoutingSearchParameters_SchedulingSolver SchedulingSolver
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(RoutingSearchParameters_LocalSearchNeighborhoodOperators &&from) noexcept
void clear_lns_time_limit()
void set_use_swap_active(::operations_research::OptionalBoolean value)
void set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value)
double cheapest_insertion_first_solution_neighbors_ratio() const
PROTOBUF_NAMESPACE_ID::Duration * mutable_lns_time_limit()
void clear_reduce_vehicle_cost_model()
void set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_light_relocate_pair() const
void set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void set_use_exchange_pair(::operations_research::OptionalBoolean value)
void Swap(RoutingModelParameters *other)
void clear_local_search_operators()
void set_use_cross(::operations_research::OptionalBoolean value)
void set_use_lin_kernighan(::operations_research::OptionalBoolean value)
static constexpr int kIndexInFileMessages
void set_guided_local_search_lambda_coefficient(double value)
void set_savings_max_memory_usage_bytes(double value)
void set_use_relocate_pair(::operations_research::OptionalBoolean value)
void set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration *lns_time_limit)
void clear_use_local_cheapest_insertion_path_lns()
::operations_research::OptionalBoolean use_cross() const
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect() const
PROTOBUF_NAMESPACE_ID::Duration * mutable_time_limit()
::operations_research::FirstSolutionStrategy_Value first_solution_strategy() const
static constexpr SchedulingSolver CP_SAT
::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider() const
int GetCachedSize() const final
::operations_research::OptionalBoolean use_make_inactive() const
void set_use_relocate_subtrip(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns() const
void clear_use_make_chain_inactive()
::operations_research::RoutingSearchParameters_SchedulingSolver continuous_scheduling_solver() const
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_
void clear_time_limit()
void set_optimization_step(double value)
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * release_local_search_operators()
size_t ByteSizeLong() const final
void clear_use_light_relocate_pair()
double savings_neighbors_ratio() const
void set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value)
const std::string & RoutingSearchParameters_SchedulingSolver_Name(T enum_t_value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
void set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size() const
bool reduce_vehicle_cost_model() const
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
void clear_use_local_cheapest_insertion_expensive_chain_lns()
::operations_research::OptionalBoolean use_relocate_expensive_chain() const
bool savings_parallel_routes() const
void clear_savings_neighbors_ratio()
void clear_use_inactive_lns()
void set_savings_arc_coefficient(double value)
RoutingSearchParameters * New() const final
::operations_research::OptionalBoolean use_inactive_lns() const
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_use_cross_exchange(::operations_research::OptionalBoolean value)
void set_use_or_opt(::operations_research::OptionalBoolean value)
void clear_first_solution_strategy()
void set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration *time_limit)
void set_use_exchange_subtrip(::operations_research::OptionalBoolean value)
void set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value)
::operations_research::OptionalBoolean use_path_lns() const
::operations_research::ConstraintSolverParameters * release_solver_parameters()
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators * internal_default_instance()
void set_use_make_inactive(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_node_pair_swap_active() const
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * RoutingSearchParameters_SchedulingSolver_descriptor()
void set_log_cost_scaling_factor(double value)
bool has_solver_parameters() const
RoutingSearchParameters & operator=(const RoutingSearchParameters &from)
void set_use_relocate_and_make_active(::operations_research::OptionalBoolean value)
RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_
void set_savings_add_reverse_arcs(bool value)
static const std::string & SchedulingSolver_Name(T enum_t_value)
const PROTOBUF_NAMESPACE_ID::Duration & time_limit() const
void set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value)
bool RoutingSearchParameters_SchedulingSolver_IsValid(int value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
double log_cost_scaling_factor() const
void clear_use_two_opt()
static const RoutingModelParameters * internal_default_instance()
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
RoutingSearchParameters & operator=(RoutingSearchParameters &&from) noexcept
void clear_christofides_use_minimum_matching()
static const RoutingSearchParameters * internal_default_instance()
void clear_use_global_cheapest_insertion_expensive_chain_lns()
void set_use_make_active(::operations_research::OptionalBoolean value)
virtual ~RoutingModelParameters()
void set_use_extended_swap_active(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_relocate() const
friend void swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators &a, RoutingSearchParameters_LocalSearchNeighborhoodOperators &b)
void clear_log_cost_scaling_factor()
LocalSearchMetaheuristic_Value
static const RoutingSearchParameters & default_instance()
::PROTOBUF_NAMESPACE_ID::int64 solution_limit() const
void clear_log_search()
void set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value)
void clear_use_unfiltered_first_solution_strategy()
void clear_savings_add_reverse_arcs()
void clear_max_callback_cache_size()
void set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
RoutingModelParameters()
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
bool IsInitialized() const final
void set_reduce_vehicle_cost_model(bool value)
RoutingModelParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
static const RoutingModelParameters & default_instance()
::operations_research::ConstraintSolverParameters * mutable_solver_parameters()
void set_use_tsp_opt(::operations_research::OptionalBoolean value)
void set_use_two_opt(::operations_research::OptionalBoolean value)
double savings_arc_coefficient() const
void set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value)
static constexpr SchedulingSolver GLOP
void clear_number_of_solutions_to_collect()
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
void clear_use_exchange_pair()
void set_savings_parallel_routes(bool value)
void set_use_node_pair_swap_active(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_cp_sat() const
size_t ByteSizeLong() const final
void clear_use_swap_active()
void clear_use_tsp_lns()
RoutingSearchParameters_LocalSearchNeighborhoodOperators LocalSearchNeighborhoodOperators
PROTOBUF_NAMESPACE_ID::Duration * release_lns_time_limit()
::operations_research::OptionalBoolean use_relocate_subtrip() const
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
void clear_cheapest_insertion_farthest_seeds_ratio()
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
static constexpr int kIndexInFileMessages
ConstraintSolverParametersDefaultTypeInternal _ConstraintSolverParameters_default_instance_
::operations_research::OptionalBoolean use_relocate_pair() const
void clear_use_tsp_opt()
void clear_cheapest_insertion_first_solution_neighbors_ratio()
int GetCachedSize() const final
RoutingModelParameters(RoutingModelParameters &&from) noexcept
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
RoutingModelParameters & operator=(const RoutingModelParameters &from)
void set_use_cp(::operations_research::OptionalBoolean value)
void clear_local_search_metaheuristic()
RoutingSearchParameters_LocalSearchNeighborhoodOperators(RoutingSearchParameters_LocalSearchNeighborhoodOperators &&from) noexcept
static bool SchedulingSolver_Parse(const std::string &name, SchedulingSolver *value)
static constexpr SchedulingSolver UNSET
::operations_research::OptionalBoolean use_exchange_subtrip() const
double guided_local_search_lambda_coefficient() const
void clear_use_full_path_lns()
void clear_use_relocate_subtrip()
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
::operations_research::OptionalBoolean use_relocate_and_make_active() const
void clear_use_path_lns()
void set_use_make_chain_inactive(::operations_research::OptionalBoolean value)
double savings_max_memory_usage_bytes() const
void clear_savings_arc_coefficient()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void set_log_cost_offset(double value)
void set_use_tsp_lns(::operations_research::OptionalBoolean value)
void clear_relocate_expensive_chain_num_arcs_to_consider()
void clear_use_lin_kernighan()
void set_use_relocate_neighbors(::operations_research::OptionalBoolean value)
virtual ~RoutingSearchParameters_LocalSearchNeighborhoodOperators()
void clear_use_exchange()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
double cheapest_insertion_farthest_seeds_ratio() const
void set_log_search(bool value)
virtual ~RoutingSearchParameters()
::operations_research::OptionalBoolean use_swap_active() const
RoutingSearchParameters()
::operations_research::OptionalBoolean use_two_opt() const
::operations_research::OptionalBoolean use_full_path_lns() const
bool has_local_search_operators() const
static constexpr SchedulingSolver SchedulingSolver_MAX
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
::operations_research::OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns() const
void set_savings_neighbors_ratio(double value)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void clear_use_cp()
void set_use_relocate(::operations_research::OptionalBoolean value)
void clear_use_global_cheapest_insertion_path_lns()
bool RoutingSearchParameters_SchedulingSolver_Parse(const std::string &name, RoutingSearchParameters_SchedulingSolver *value)
void clear_use_full_propagation()
void clear_use_cross_exchange()
const ::operations_research::ConstraintSolverParameters & solver_parameters() const
void clear_use_relocate_pair()
bool IsInitialized() const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
::operations_research::OptionalBoolean use_exchange() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void set_use_full_propagation(bool value)
RoutingSearchParameters_SchedulingSolver
void clear_heuristic_expensive_chain_lns_num_arcs_to_consider()
friend void swap(RoutingSearchParameters &a, RoutingSearchParameters &b)
void clear_use_cp_sat()
static void InitAsDefaultInstance()
Definition: assignment.pb.h:39
::operations_research::OptionalBoolean use_make_active() const
static bool SchedulingSolver_IsValid(int value)
bool savings_add_reverse_arcs() const
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * mutable_local_search_operators()
::operations_research::OptionalBoolean use_local_cheapest_insertion_path_lns() const
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SchedulingSolver_descriptor()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
int GetCachedSize() const final
void clear_use_extended_swap_active()
bool use_full_propagation() const
constexpr int RoutingSearchParameters_SchedulingSolver_SchedulingSolver_ARRAYSIZE
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
::operations_research::OptionalBoolean use_cp() const
bool has_lns_time_limit() const
double optimization_step() const
FirstSolutionStrategy_Value
::operations_research::OptionalBoolean use_tsp_lns() const
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void clear_use_cross()
constexpr RoutingSearchParameters_SchedulingSolver RoutingSearchParameters_SchedulingSolver_SchedulingSolver_MAX
void clear_use_relocate()
RoutingSearchParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void clear_use_or_opt()
void set_cheapest_insertion_ls_operator_neighbors_ratio(double value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void set_cheapest_insertion_farthest_seeds_ratio(double value)
const PROTOBUF_NAMESPACE_ID::Duration & lns_time_limit() const
void clear_cheapest_insertion_ls_operator_neighbors_ratio()
void clear_use_make_inactive()
void clear_log_cost_offset()
::operations_research::OptionalBoolean use_relocate_neighbors() const
void set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value)
static constexpr int SchedulingSolver_ARRAYSIZE
void set_use_depth_first_search(bool value)
static constexpr int kIndexInFileMessages
bool use_unfiltered_first_solution_strategy() const
PROTOBUF_NAMESPACE_ID::Duration * release_time_limit()
void clear_guided_local_search_lambda_coefficient()
bool christofides_use_minimum_matching() const
RoutingSearchParameters_LocalSearchNeighborhoodOperators * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void clear_savings_parallel_routes()
RoutingSearchParameters_LocalSearchNeighborhoodOperators()
double log_cost_offset() const
::operations_research::LocalSearchMetaheuristic_Value local_search_metaheuristic() const
void clear_solver_parameters()
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
bool use_depth_first_search() const
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
RoutingSearchParameters(RoutingSearchParameters &&from) noexcept
bool IsInitialized() const final
void set_use_exchange(::operations_research::OptionalBoolean value)
void set_use_light_relocate_pair(::operations_research::OptionalBoolean value)