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 < 3008000
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 3008000 < 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/unknown_field_set.h>
35 #include <google/protobuf/duration.pb.h>
37 #include "ortools/constraint_solver/solver_parameters.pb.h"
38 #include "ortools/util/optional_boolean.pb.h"
39 // @@protoc_insertion_point(includes)
40 #include <google/protobuf/port_def.inc>
41 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
42 PROTOBUF_NAMESPACE_OPEN
43 namespace internal {
44 class AnyMetadata;
45 } // namespace internal
46 PROTOBUF_NAMESPACE_CLOSE
47 
48 // Internal implementation detail -- do not use these members.
50  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
51  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
52  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
53  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
54  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3]
55  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
56  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
57  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
58  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
59 };
60 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
61 namespace operations_research {
62 class RoutingModelParameters;
63 class RoutingModelParametersDefaultTypeInternal;
64 extern RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_;
65 class RoutingSearchParameters;
66 class RoutingSearchParametersDefaultTypeInternal;
67 extern RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_;
68 class RoutingSearchParameters_LocalSearchNeighborhoodOperators;
69 class RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal;
70 extern RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_;
71 } // namespace operations_research
72 PROTOBUF_NAMESPACE_OPEN
73 template<> ::operations_research::RoutingModelParameters* Arena::CreateMaybeMessage<::operations_research::RoutingModelParameters>(Arena*);
74 template<> ::operations_research::RoutingSearchParameters* Arena::CreateMaybeMessage<::operations_research::RoutingSearchParameters>(Arena*);
75 template<> ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* Arena::CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(Arena*);
76 PROTOBUF_NAMESPACE_CLOSE
77 namespace operations_research {
78 
79 // ===================================================================
80 
81 class RoutingSearchParameters_LocalSearchNeighborhoodOperators :
82  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators) */ {
83  public:
86 
90  *this = ::std::move(from);
91  }
92 
94  CopyFrom(from);
95  return *this;
96  }
98  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
99  if (this != &from) InternalSwap(&from);
100  } else {
101  CopyFrom(from);
102  }
103  return *this;
104  }
105 
106  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
107  return GetDescriptor();
108  }
109  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
110  return GetMetadataStatic().descriptor;
111  }
112  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
113  return GetMetadataStatic().reflection;
114  }
116 
117  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
119  return reinterpret_cast<const RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(
121  }
122  static constexpr int kIndexInFileMessages =
123  0;
124 
127  a.Swap(&b);
128  }
129 
130  // implements Message ----------------------------------------------
131 
133  return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(nullptr);
134  }
135 
136  RoutingSearchParameters_LocalSearchNeighborhoodOperators* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
137  return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(arena);
138  }
139  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
140  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
143  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
144  bool IsInitialized() const final;
145 
146  size_t ByteSizeLong() const final;
147  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
148  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
149  #else
151  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
152  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
154  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
155  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
156  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
157  int GetCachedSize() const final { return _cached_size_.Get(); }
159  private:
160  inline void SharedCtor();
161  inline void SharedDtor();
162  void SetCachedSize(int size) const final;
164  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
165  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
166  return "operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators";
167  }
168  private:
169  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
170  return nullptr;
171  }
172  inline void* MaybeArenaPtr() const {
173  return nullptr;
174  }
175  public:
176 
177  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
178  private:
179  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
180  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto);
182  }
183 
184  public:
185 
186  // nested types ----------------------------------------------------
187 
188  // accessors -------------------------------------------------------
189 
190  // .operations_research.OptionalBoolean use_relocate = 1;
191  void clear_use_relocate();
192  static const int kUseRelocateFieldNumber = 1;
193  ::operations_research::OptionalBoolean use_relocate() const;
194  void set_use_relocate(::operations_research::OptionalBoolean value);
195 
196  // .operations_research.OptionalBoolean use_relocate_pair = 2;
198  static const int kUseRelocatePairFieldNumber = 2;
199  ::operations_research::OptionalBoolean use_relocate_pair() const;
200  void set_use_relocate_pair(::operations_research::OptionalBoolean value);
201 
202  // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
204  static const int kUseRelocateNeighborsFieldNumber = 3;
205  ::operations_research::OptionalBoolean use_relocate_neighbors() const;
206  void set_use_relocate_neighbors(::operations_research::OptionalBoolean value);
207 
208  // .operations_research.OptionalBoolean use_exchange = 4;
209  void clear_use_exchange();
210  static const int kUseExchangeFieldNumber = 4;
211  ::operations_research::OptionalBoolean use_exchange() const;
212  void set_use_exchange(::operations_research::OptionalBoolean value);
213 
214  // .operations_research.OptionalBoolean use_cross = 5;
215  void clear_use_cross();
216  static const int kUseCrossFieldNumber = 5;
217  ::operations_research::OptionalBoolean use_cross() const;
218  void set_use_cross(::operations_research::OptionalBoolean value);
219 
220  // .operations_research.OptionalBoolean use_cross_exchange = 6;
222  static const int kUseCrossExchangeFieldNumber = 6;
223  ::operations_research::OptionalBoolean use_cross_exchange() const;
224  void set_use_cross_exchange(::operations_research::OptionalBoolean value);
225 
226  // .operations_research.OptionalBoolean use_two_opt = 7;
227  void clear_use_two_opt();
228  static const int kUseTwoOptFieldNumber = 7;
229  ::operations_research::OptionalBoolean use_two_opt() const;
230  void set_use_two_opt(::operations_research::OptionalBoolean value);
231 
232  // .operations_research.OptionalBoolean use_or_opt = 8;
233  void clear_use_or_opt();
234  static const int kUseOrOptFieldNumber = 8;
235  ::operations_research::OptionalBoolean use_or_opt() const;
236  void set_use_or_opt(::operations_research::OptionalBoolean value);
237 
238  // .operations_research.OptionalBoolean use_lin_kernighan = 9;
240  static const int kUseLinKernighanFieldNumber = 9;
241  ::operations_research::OptionalBoolean use_lin_kernighan() const;
242  void set_use_lin_kernighan(::operations_research::OptionalBoolean value);
243 
244  // .operations_research.OptionalBoolean use_tsp_opt = 10;
245  void clear_use_tsp_opt();
246  static const int kUseTspOptFieldNumber = 10;
247  ::operations_research::OptionalBoolean use_tsp_opt() const;
248  void set_use_tsp_opt(::operations_research::OptionalBoolean value);
249 
250  // .operations_research.OptionalBoolean use_make_active = 11;
251  void clear_use_make_active();
252  static const int kUseMakeActiveFieldNumber = 11;
253  ::operations_research::OptionalBoolean use_make_active() const;
254  void set_use_make_active(::operations_research::OptionalBoolean value);
255 
256  // .operations_research.OptionalBoolean use_make_inactive = 12;
258  static const int kUseMakeInactiveFieldNumber = 12;
259  ::operations_research::OptionalBoolean use_make_inactive() const;
260  void set_use_make_inactive(::operations_research::OptionalBoolean value);
261 
262  // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
264  static const int kUseMakeChainInactiveFieldNumber = 13;
265  ::operations_research::OptionalBoolean use_make_chain_inactive() const;
266  void set_use_make_chain_inactive(::operations_research::OptionalBoolean value);
267 
268  // .operations_research.OptionalBoolean use_swap_active = 14;
269  void clear_use_swap_active();
270  static const int kUseSwapActiveFieldNumber = 14;
271  ::operations_research::OptionalBoolean use_swap_active() const;
272  void set_use_swap_active(::operations_research::OptionalBoolean value);
273 
274  // .operations_research.OptionalBoolean use_extended_swap_active = 15;
276  static const int kUseExtendedSwapActiveFieldNumber = 15;
277  ::operations_research::OptionalBoolean use_extended_swap_active() const;
278  void set_use_extended_swap_active(::operations_research::OptionalBoolean value);
279 
280  // .operations_research.OptionalBoolean use_path_lns = 16;
281  void clear_use_path_lns();
282  static const int kUsePathLnsFieldNumber = 16;
283  ::operations_research::OptionalBoolean use_path_lns() const;
284  void set_use_path_lns(::operations_research::OptionalBoolean value);
285 
286  // .operations_research.OptionalBoolean use_full_path_lns = 17;
288  static const int kUseFullPathLnsFieldNumber = 17;
289  ::operations_research::OptionalBoolean use_full_path_lns() const;
290  void set_use_full_path_lns(::operations_research::OptionalBoolean value);
291 
292  // .operations_research.OptionalBoolean use_tsp_lns = 18;
293  void clear_use_tsp_lns();
294  static const int kUseTspLnsFieldNumber = 18;
295  ::operations_research::OptionalBoolean use_tsp_lns() const;
296  void set_use_tsp_lns(::operations_research::OptionalBoolean value);
297 
298  // .operations_research.OptionalBoolean use_inactive_lns = 19;
299  void clear_use_inactive_lns();
300  static const int kUseInactiveLnsFieldNumber = 19;
301  ::operations_research::OptionalBoolean use_inactive_lns() const;
302  void set_use_inactive_lns(::operations_research::OptionalBoolean value);
303 
304  // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
306  static const int kUseNodePairSwapActiveFieldNumber = 20;
307  ::operations_research::OptionalBoolean use_node_pair_swap_active() const;
308  void set_use_node_pair_swap_active(::operations_research::OptionalBoolean value);
309 
310  // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
312  static const int kUseRelocateAndMakeActiveFieldNumber = 21;
313  ::operations_research::OptionalBoolean use_relocate_and_make_active() const;
314  void set_use_relocate_and_make_active(::operations_research::OptionalBoolean value);
315 
316  // .operations_research.OptionalBoolean use_exchange_pair = 22;
318  static const int kUseExchangePairFieldNumber = 22;
319  ::operations_research::OptionalBoolean use_exchange_pair() const;
320  void set_use_exchange_pair(::operations_research::OptionalBoolean value);
321 
322  // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
324  static const int kUseRelocateExpensiveChainFieldNumber = 23;
325  ::operations_research::OptionalBoolean use_relocate_expensive_chain() const;
326  void set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value);
327 
328  // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
330  static const int kUseLightRelocatePairFieldNumber = 24;
331  ::operations_research::OptionalBoolean use_light_relocate_pair() const;
332  void set_use_light_relocate_pair(::operations_research::OptionalBoolean value);
333 
334  // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
336  static const int kUseRelocateSubtripFieldNumber = 25;
337  ::operations_research::OptionalBoolean use_relocate_subtrip() const;
338  void set_use_relocate_subtrip(::operations_research::OptionalBoolean value);
339 
340  // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
342  static const int kUseExchangeSubtripFieldNumber = 26;
343  ::operations_research::OptionalBoolean use_exchange_subtrip() const;
344  void set_use_exchange_subtrip(::operations_research::OptionalBoolean value);
345 
346  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
347  private:
348  class HasBitSetters;
349 
350  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
351  int use_relocate_;
352  int use_relocate_pair_;
353  int use_relocate_neighbors_;
354  int use_exchange_;
355  int use_cross_;
356  int use_cross_exchange_;
357  int use_two_opt_;
358  int use_or_opt_;
359  int use_lin_kernighan_;
360  int use_tsp_opt_;
361  int use_make_active_;
362  int use_make_inactive_;
363  int use_make_chain_inactive_;
364  int use_swap_active_;
365  int use_extended_swap_active_;
366  int use_path_lns_;
367  int use_full_path_lns_;
368  int use_tsp_lns_;
369  int use_inactive_lns_;
370  int use_node_pair_swap_active_;
371  int use_relocate_and_make_active_;
372  int use_exchange_pair_;
373  int use_relocate_expensive_chain_;
374  int use_light_relocate_pair_;
375  int use_relocate_subtrip_;
376  int use_exchange_subtrip_;
377  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
378  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
379 };
380 // -------------------------------------------------------------------
381 
383  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters) */ {
384  public:
386  virtual ~RoutingSearchParameters();
387 
391  *this = ::std::move(from);
392  }
393 
395  CopyFrom(from);
396  return *this;
397  }
399  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
400  if (this != &from) InternalSwap(&from);
401  } else {
402  CopyFrom(from);
403  }
404  return *this;
405  }
406 
407  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
408  return GetDescriptor();
409  }
410  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
411  return GetMetadataStatic().descriptor;
412  }
413  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
414  return GetMetadataStatic().reflection;
415  }
417 
418  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
419  static inline const RoutingSearchParameters* internal_default_instance() {
420  return reinterpret_cast<const RoutingSearchParameters*>(
422  }
423  static constexpr int kIndexInFileMessages =
424  1;
426  void Swap(RoutingSearchParameters* other);
428  a.Swap(&b);
429  }
430 
431  // implements Message ----------------------------------------------
432 
433  inline RoutingSearchParameters* New() const final {
434  return CreateMaybeMessage<RoutingSearchParameters>(nullptr);
435  }
436 
437  RoutingSearchParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
438  return CreateMaybeMessage<RoutingSearchParameters>(arena);
439  }
440  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
441  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
442  void CopyFrom(const RoutingSearchParameters& from);
443  void MergeFrom(const RoutingSearchParameters& from);
444  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
445  bool IsInitialized() const final;
446 
447  size_t ByteSizeLong() const final;
448  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
449  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
450  #else
452  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
453  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
455  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
456  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
457  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
458  int GetCachedSize() const final { return _cached_size_.Get(); }
459 
460  private:
461  inline void SharedCtor();
462  inline void SharedDtor();
463  void SetCachedSize(int size) const final;
464  void InternalSwap(RoutingSearchParameters* other);
465  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
466  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
467  return "operations_research.RoutingSearchParameters";
468  }
469  private:
470  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
471  return nullptr;
472  }
473  inline void* MaybeArenaPtr() const {
474  return nullptr;
475  }
476  public:
477 
478  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
479  private:
480  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
481  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto);
483  }
484 
485  public:
486 
487  // nested types ----------------------------------------------------
488 
489  typedef RoutingSearchParameters_LocalSearchNeighborhoodOperators LocalSearchNeighborhoodOperators;
490 
491  // accessors -------------------------------------------------------
492 
493  // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
494  bool has_local_search_operators() const;
496  static const int kLocalSearchOperatorsFieldNumber = 3;
497  const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& local_search_operators() const;
501 
502  // .google.protobuf.Duration time_limit = 9;
503  bool has_time_limit() const;
504  void clear_time_limit();
505  static const int kTimeLimitFieldNumber = 9;
506  const PROTOBUF_NAMESPACE_ID::Duration& time_limit() const;
507  PROTOBUF_NAMESPACE_ID::Duration* release_time_limit();
508  PROTOBUF_NAMESPACE_ID::Duration* mutable_time_limit();
509  void set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration* time_limit);
510 
511  // .google.protobuf.Duration lns_time_limit = 10;
512  bool has_lns_time_limit() const;
513  void clear_lns_time_limit();
514  static const int kLnsTimeLimitFieldNumber = 10;
515  const PROTOBUF_NAMESPACE_ID::Duration& lns_time_limit() const;
516  PROTOBUF_NAMESPACE_ID::Duration* release_lns_time_limit();
517  PROTOBUF_NAMESPACE_ID::Duration* mutable_lns_time_limit();
518  void set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit);
519 
520  // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
522  static const int kFirstSolutionStrategyFieldNumber = 1;
525 
526  // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
528  static const int kLocalSearchMetaheuristicFieldNumber = 4;
531 
532  // double guided_local_search_lambda_coefficient = 5;
537 
538  // double optimization_step = 7;
540  static const int kOptimizationStepFieldNumber = 7;
541  double optimization_step() const;
542  void set_optimization_step(double value);
543 
544  // int64 solution_limit = 8;
545  void clear_solution_limit();
546  static const int kSolutionLimitFieldNumber = 8;
547  ::PROTOBUF_NAMESPACE_ID::int64 solution_limit() const;
548  void set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value);
549 
550  // bool use_unfiltered_first_solution_strategy = 2;
555 
556  // bool savings_add_reverse_arcs = 15;
558  static const int kSavingsAddReverseArcsFieldNumber = 15;
559  bool savings_add_reverse_arcs() const;
561 
562  // bool savings_parallel_routes = 19;
564  static const int kSavingsParallelRoutesFieldNumber = 19;
565  bool savings_parallel_routes() const;
566  void set_savings_parallel_routes(bool value);
567 
568  // bool use_depth_first_search = 6;
570  static const int kUseDepthFirstSearchFieldNumber = 6;
571  bool use_depth_first_search() const;
572  void set_use_depth_first_search(bool value);
573 
574  // bool use_full_propagation = 11;
576  static const int kUseFullPropagationFieldNumber = 11;
577  bool use_full_propagation() const;
578  void set_use_full_propagation(bool value);
579 
580  // bool log_search = 13;
581  void clear_log_search();
582  static const int kLogSearchFieldNumber = 13;
583  bool log_search() const;
584  void set_log_search(bool value);
585 
586  // double savings_neighbors_ratio = 14;
588  static const int kSavingsNeighborsRatioFieldNumber = 14;
589  double savings_neighbors_ratio() const;
590  void set_savings_neighbors_ratio(double value);
591 
592  // double cheapest_insertion_farthest_seeds_ratio = 16;
597 
598  // double savings_arc_coefficient = 18;
600  static const int kSavingsArcCoefficientFieldNumber = 18;
601  double savings_arc_coefficient() const;
602  void set_savings_arc_coefficient(double value);
603 
604  // int32 number_of_solutions_to_collect = 17;
606  static const int kNumberOfSolutionsToCollectFieldNumber = 17;
607  ::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect() const;
608  void set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value);
609 
610  // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
613  ::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider() const;
614  void set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
615 
616  // double cheapest_insertion_neighbors_ratio = 21;
618  static const int kCheapestInsertionNeighborsRatioFieldNumber = 21;
619  double cheapest_insertion_neighbors_ratio() const;
621 
622  // double log_cost_scaling_factor = 22;
624  static const int kLogCostScalingFactorFieldNumber = 22;
625  double log_cost_scaling_factor() const;
626  void set_log_cost_scaling_factor(double value);
627 
628  // double savings_max_memory_usage_bytes = 23;
630  static const int kSavingsMaxMemoryUsageBytesFieldNumber = 23;
631  double savings_max_memory_usage_bytes() const;
633 
634  // .operations_research.OptionalBoolean use_cp_sat = 27;
635  void clear_use_cp_sat();
636  static const int kUseCpSatFieldNumber = 27;
637  ::operations_research::OptionalBoolean use_cp_sat() const;
638  void set_use_cp_sat(::operations_research::OptionalBoolean value);
639 
640  // .operations_research.OptionalBoolean use_cp = 28;
641  void clear_use_cp();
642  static const int kUseCpFieldNumber = 28;
643  ::operations_research::OptionalBoolean use_cp() const;
644  void set_use_cp(::operations_research::OptionalBoolean value);
645 
646  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
647  private:
648  class HasBitSetters;
649 
650  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
652  PROTOBUF_NAMESPACE_ID::Duration* time_limit_;
653  PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit_;
654  int first_solution_strategy_;
655  int local_search_metaheuristic_;
656  double guided_local_search_lambda_coefficient_;
657  double optimization_step_;
658  ::PROTOBUF_NAMESPACE_ID::int64 solution_limit_;
659  bool use_unfiltered_first_solution_strategy_;
660  bool savings_add_reverse_arcs_;
661  bool savings_parallel_routes_;
662  bool use_depth_first_search_;
663  bool use_full_propagation_;
664  bool log_search_;
665  double savings_neighbors_ratio_;
666  double cheapest_insertion_farthest_seeds_ratio_;
667  double savings_arc_coefficient_;
668  ::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect_;
669  ::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider_;
670  double cheapest_insertion_neighbors_ratio_;
671  double log_cost_scaling_factor_;
672  double savings_max_memory_usage_bytes_;
673  int use_cp_sat_;
674  int use_cp_;
675  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
676  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
677 };
678 // -------------------------------------------------------------------
679 
681  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingModelParameters) */ {
682  public:
684  virtual ~RoutingModelParameters();
685 
689  *this = ::std::move(from);
690  }
691 
693  CopyFrom(from);
694  return *this;
695  }
696  inline RoutingModelParameters& operator=(RoutingModelParameters&& from) noexcept {
697  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
698  if (this != &from) InternalSwap(&from);
699  } else {
700  CopyFrom(from);
701  }
702  return *this;
703  }
704 
705  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
706  return GetDescriptor();
707  }
708  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
709  return GetMetadataStatic().descriptor;
710  }
711  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
712  return GetMetadataStatic().reflection;
713  }
715 
716  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
717  static inline const RoutingModelParameters* internal_default_instance() {
718  return reinterpret_cast<const RoutingModelParameters*>(
720  }
721  static constexpr int kIndexInFileMessages =
722  2;
723 
726  a.Swap(&b);
727  }
729  // implements Message ----------------------------------------------
730 
731  inline RoutingModelParameters* New() const final {
732  return CreateMaybeMessage<RoutingModelParameters>(nullptr);
733  }
735  RoutingModelParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
736  return CreateMaybeMessage<RoutingModelParameters>(arena);
737  }
738  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
739  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
740  void CopyFrom(const RoutingModelParameters& from);
741  void MergeFrom(const RoutingModelParameters& from);
742  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
743  bool IsInitialized() const final;
744 
745  size_t ByteSizeLong() const final;
746  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
747  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
748  #else
750  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
751  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
753  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
754  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
755  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
756  int GetCachedSize() const final { return _cached_size_.Get(); }
757 
758  private:
759  inline void SharedCtor();
760  inline void SharedDtor();
761  void SetCachedSize(int size) const final;
762  void InternalSwap(RoutingModelParameters* other);
763  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
764  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
765  return "operations_research.RoutingModelParameters";
766  }
767  private:
768  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
769  return nullptr;
770  }
771  inline void* MaybeArenaPtr() const {
772  return nullptr;
773  }
774  public:
775 
776  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
777  private:
778  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
779  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto);
781  }
782 
783  public:
784 
785  // nested types ----------------------------------------------------
786 
787  // accessors -------------------------------------------------------
788 
789  // .operations_research.ConstraintSolverParameters solver_parameters = 1;
790  bool has_solver_parameters() const;
792  static const int kSolverParametersFieldNumber = 1;
793  const ::operations_research::ConstraintSolverParameters& solver_parameters() const;
794  ::operations_research::ConstraintSolverParameters* release_solver_parameters();
795  ::operations_research::ConstraintSolverParameters* mutable_solver_parameters();
796  void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters* solver_parameters);
797 
798  // bool reduce_vehicle_cost_model = 2;
800  static const int kReduceVehicleCostModelFieldNumber = 2;
801  bool reduce_vehicle_cost_model() const;
802  void set_reduce_vehicle_cost_model(bool value);
804  // int32 max_callback_cache_size = 3;
806  static const int kMaxCallbackCacheSizeFieldNumber = 3;
807  ::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size() const;
808  void set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value);
810  // @@protoc_insertion_point(class_scope:operations_research.RoutingModelParameters)
811  private:
812  class HasBitSetters;
813 
814  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
815  ::operations_research::ConstraintSolverParameters* solver_parameters_;
816  bool reduce_vehicle_cost_model_;
817  ::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size_;
818  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
819  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
820 };
821 // ===================================================================
823 
824 // ===================================================================
825 
826 #ifdef __GNUC__
827  #pragma GCC diagnostic push
828  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
829 #endif // __GNUC__
830 // RoutingSearchParameters_LocalSearchNeighborhoodOperators
831 
832 // .operations_research.OptionalBoolean use_relocate = 1;
834  use_relocate_ = 0;
835 }
836 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate() const {
837  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
838  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_);
839 }
840 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate(::operations_research::OptionalBoolean value) {
841 
842  use_relocate_ = value;
843  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
844 }
846 // .operations_research.OptionalBoolean use_relocate_pair = 2;
848  use_relocate_pair_ = 0;
849 }
850 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_pair() const {
851  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
852  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_pair_);
853 }
854 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_pair(::operations_research::OptionalBoolean value) {
855 
856  use_relocate_pair_ = value;
857  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
858 }
860 // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
862  use_light_relocate_pair_ = 0;
863 }
864 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_light_relocate_pair() const {
865  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
866  return static_cast< ::operations_research::OptionalBoolean >(use_light_relocate_pair_);
867 }
868 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_light_relocate_pair(::operations_research::OptionalBoolean value) {
869 
870  use_light_relocate_pair_ = value;
871  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
872 }
874 // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
876  use_relocate_neighbors_ = 0;
877 }
878 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_neighbors() const {
879  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
880  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_neighbors_);
881 }
882 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_neighbors(::operations_research::OptionalBoolean value) {
883 
884  use_relocate_neighbors_ = value;
885  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
886 }
888 // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
890  use_relocate_subtrip_ = 0;
891 }
892 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_subtrip() const {
893  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
894  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_subtrip_);
895 }
896 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_subtrip(::operations_research::OptionalBoolean value) {
897 
898  use_relocate_subtrip_ = value;
899  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
900 }
902 // .operations_research.OptionalBoolean use_exchange = 4;
904  use_exchange_ = 0;
905 }
906 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange() const {
907  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
908  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_);
909 }
910 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange(::operations_research::OptionalBoolean value) {
911 
912  use_exchange_ = value;
913  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
914 }
916 // .operations_research.OptionalBoolean use_exchange_pair = 22;
918  use_exchange_pair_ = 0;
919 }
920 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_pair() const {
921  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
922  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_pair_);
923 }
924 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange_pair(::operations_research::OptionalBoolean value) {
925 
926  use_exchange_pair_ = value;
927  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
928 }
930 // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
932  use_exchange_subtrip_ = 0;
933 }
934 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_subtrip() const {
935  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
936  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_subtrip_);
937 }
938 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange_subtrip(::operations_research::OptionalBoolean value) {
939 
940  use_exchange_subtrip_ = value;
941  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
942 }
944 // .operations_research.OptionalBoolean use_cross = 5;
946  use_cross_ = 0;
947 }
948 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross() const {
949  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
950  return static_cast< ::operations_research::OptionalBoolean >(use_cross_);
951 }
952 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_cross(::operations_research::OptionalBoolean value) {
953 
954  use_cross_ = value;
955  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
956 }
958 // .operations_research.OptionalBoolean use_cross_exchange = 6;
960  use_cross_exchange_ = 0;
961 }
962 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross_exchange() const {
963  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
964  return static_cast< ::operations_research::OptionalBoolean >(use_cross_exchange_);
965 }
966 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_cross_exchange(::operations_research::OptionalBoolean value) {
967 
968  use_cross_exchange_ = value;
969  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
970 }
972 // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
974  use_relocate_expensive_chain_ = 0;
975 }
976 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_expensive_chain() const {
977  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
978  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_expensive_chain_);
979 }
980 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value) {
981 
982  use_relocate_expensive_chain_ = value;
983  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
984 }
986 // .operations_research.OptionalBoolean use_two_opt = 7;
988  use_two_opt_ = 0;
989 }
990 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_two_opt() const {
991  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
992  return static_cast< ::operations_research::OptionalBoolean >(use_two_opt_);
993 }
994 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_two_opt(::operations_research::OptionalBoolean value) {
995 
996  use_two_opt_ = value;
997  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
998 }
1000 // .operations_research.OptionalBoolean use_or_opt = 8;
1002  use_or_opt_ = 0;
1003 }
1004 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_or_opt() const {
1005  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
1006  return static_cast< ::operations_research::OptionalBoolean >(use_or_opt_);
1007 }
1008 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_or_opt(::operations_research::OptionalBoolean value) {
1010  use_or_opt_ = value;
1011  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
1012 }
1014 // .operations_research.OptionalBoolean use_lin_kernighan = 9;
1016  use_lin_kernighan_ = 0;
1017 }
1018 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_lin_kernighan() const {
1019  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
1020  return static_cast< ::operations_research::OptionalBoolean >(use_lin_kernighan_);
1021 }
1022 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_lin_kernighan(::operations_research::OptionalBoolean value) {
1024  use_lin_kernighan_ = value;
1025  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
1026 }
1028 // .operations_research.OptionalBoolean use_tsp_opt = 10;
1030  use_tsp_opt_ = 0;
1031 }
1032 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_opt() const {
1033  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
1034  return static_cast< ::operations_research::OptionalBoolean >(use_tsp_opt_);
1035 }
1036 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_tsp_opt(::operations_research::OptionalBoolean value) {
1038  use_tsp_opt_ = value;
1039  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
1040 }
1042 // .operations_research.OptionalBoolean use_make_active = 11;
1044  use_make_active_ = 0;
1045 }
1046 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_active() const {
1047  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1048  return static_cast< ::operations_research::OptionalBoolean >(use_make_active_);
1049 }
1050 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_active(::operations_research::OptionalBoolean value) {
1052  use_make_active_ = value;
1053  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1054 }
1056 // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
1058  use_relocate_and_make_active_ = 0;
1059 }
1060 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_and_make_active() const {
1061  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1062  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_and_make_active_);
1063 }
1064 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_and_make_active(::operations_research::OptionalBoolean value) {
1066  use_relocate_and_make_active_ = value;
1067  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1068 }
1070 // .operations_research.OptionalBoolean use_make_inactive = 12;
1072  use_make_inactive_ = 0;
1073 }
1074 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_inactive() const {
1075  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1076  return static_cast< ::operations_research::OptionalBoolean >(use_make_inactive_);
1077 }
1078 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_inactive(::operations_research::OptionalBoolean value) {
1080  use_make_inactive_ = value;
1081  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1082 }
1084 // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
1086  use_make_chain_inactive_ = 0;
1087 }
1088 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_chain_inactive() const {
1089  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
1090  return static_cast< ::operations_research::OptionalBoolean >(use_make_chain_inactive_);
1091 }
1092 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_chain_inactive(::operations_research::OptionalBoolean value) {
1094  use_make_chain_inactive_ = value;
1095  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
1096 }
1098 // .operations_research.OptionalBoolean use_swap_active = 14;
1100  use_swap_active_ = 0;
1101 }
1102 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_swap_active() const {
1103  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
1104  return static_cast< ::operations_research::OptionalBoolean >(use_swap_active_);
1105 }
1106 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_swap_active(::operations_research::OptionalBoolean value) {
1108  use_swap_active_ = value;
1109  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
1110 }
1112 // .operations_research.OptionalBoolean use_extended_swap_active = 15;
1114  use_extended_swap_active_ = 0;
1115 }
1116 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_extended_swap_active() const {
1117  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
1118  return static_cast< ::operations_research::OptionalBoolean >(use_extended_swap_active_);
1119 }
1120 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_extended_swap_active(::operations_research::OptionalBoolean value) {
1122  use_extended_swap_active_ = value;
1123  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
1124 }
1126 // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
1128  use_node_pair_swap_active_ = 0;
1129 }
1130 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_node_pair_swap_active() const {
1131  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
1132  return static_cast< ::operations_research::OptionalBoolean >(use_node_pair_swap_active_);
1133 }
1134 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_node_pair_swap_active(::operations_research::OptionalBoolean value) {
1136  use_node_pair_swap_active_ = value;
1137  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
1138 }
1140 // .operations_research.OptionalBoolean use_path_lns = 16;
1142  use_path_lns_ = 0;
1143 }
1144 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_path_lns() const {
1145  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
1146  return static_cast< ::operations_research::OptionalBoolean >(use_path_lns_);
1147 }
1148 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_path_lns(::operations_research::OptionalBoolean value) {
1150  use_path_lns_ = value;
1151  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
1152 }
1154 // .operations_research.OptionalBoolean use_full_path_lns = 17;
1156  use_full_path_lns_ = 0;
1157 }
1158 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_full_path_lns() const {
1159  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
1160  return static_cast< ::operations_research::OptionalBoolean >(use_full_path_lns_);
1161 }
1162 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_full_path_lns(::operations_research::OptionalBoolean value) {
1164  use_full_path_lns_ = value;
1165  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
1166 }
1168 // .operations_research.OptionalBoolean use_tsp_lns = 18;
1170  use_tsp_lns_ = 0;
1171 }
1172 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_lns() const {
1173  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
1174  return static_cast< ::operations_research::OptionalBoolean >(use_tsp_lns_);
1175 }
1176 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_tsp_lns(::operations_research::OptionalBoolean value) {
1178  use_tsp_lns_ = value;
1179  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
1180 }
1182 // .operations_research.OptionalBoolean use_inactive_lns = 19;
1184  use_inactive_lns_ = 0;
1185 }
1186 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_inactive_lns() const {
1187  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
1188  return static_cast< ::operations_research::OptionalBoolean >(use_inactive_lns_);
1189 }
1190 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_inactive_lns(::operations_research::OptionalBoolean value) {
1192  use_inactive_lns_ = value;
1193  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
1194 }
1196 // -------------------------------------------------------------------
1197 
1198 // RoutingSearchParameters
1199 
1200 // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
1202  first_solution_strategy_ = 0;
1203 }
1205  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.first_solution_strategy)
1206  return static_cast< ::operations_research::FirstSolutionStrategy_Value >(first_solution_strategy_);
1209 
1210  first_solution_strategy_ = value;
1211  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.first_solution_strategy)
1212 }
1213 
1214 // bool use_unfiltered_first_solution_strategy = 2;
1216  use_unfiltered_first_solution_strategy_ = false;
1217 }
1219  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
1220  return use_unfiltered_first_solution_strategy_;
1223 
1224  use_unfiltered_first_solution_strategy_ = value;
1225  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
1226 }
1227 
1228 // double savings_neighbors_ratio = 14;
1230  savings_neighbors_ratio_ = 0;
1231 }
1233  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
1234  return savings_neighbors_ratio_;
1236 inline void RoutingSearchParameters::set_savings_neighbors_ratio(double value) {
1237 
1238  savings_neighbors_ratio_ = value;
1239  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
1240 }
1241 
1242 // double savings_max_memory_usage_bytes = 23;
1244  savings_max_memory_usage_bytes_ = 0;
1245 }
1247  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
1248  return savings_max_memory_usage_bytes_;
1251 
1252  savings_max_memory_usage_bytes_ = value;
1253  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
1254 }
1255 
1256 // bool savings_add_reverse_arcs = 15;
1258  savings_add_reverse_arcs_ = false;
1259 }
1261  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
1262  return savings_add_reverse_arcs_;
1265 
1266  savings_add_reverse_arcs_ = value;
1267  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
1268 }
1269 
1270 // double savings_arc_coefficient = 18;
1272  savings_arc_coefficient_ = 0;
1273 }
1275  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_arc_coefficient)
1276  return savings_arc_coefficient_;
1278 inline void RoutingSearchParameters::set_savings_arc_coefficient(double value) {
1279 
1280  savings_arc_coefficient_ = value;
1281  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_arc_coefficient)
1282 }
1283 
1284 // bool savings_parallel_routes = 19;
1286  savings_parallel_routes_ = false;
1287 }
1289  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_parallel_routes)
1290  return savings_parallel_routes_;
1293 
1294  savings_parallel_routes_ = value;
1295  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_parallel_routes)
1296 }
1297 
1298 // double cheapest_insertion_farthest_seeds_ratio = 16;
1300  cheapest_insertion_farthest_seeds_ratio_ = 0;
1301 }
1303  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
1304  return cheapest_insertion_farthest_seeds_ratio_;
1307 
1308  cheapest_insertion_farthest_seeds_ratio_ = value;
1309  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
1310 }
1311 
1312 // double cheapest_insertion_neighbors_ratio = 21;
1314  cheapest_insertion_neighbors_ratio_ = 0;
1315 }
1317  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_neighbors_ratio)
1318  return cheapest_insertion_neighbors_ratio_;
1321 
1322  cheapest_insertion_neighbors_ratio_ = value;
1323  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_neighbors_ratio)
1324 }
1325 
1326 // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
1328  return this != internal_default_instance() && local_search_operators_ != nullptr;
1329 }
1331  if (GetArenaNoVirtual() == nullptr && local_search_operators_ != nullptr) {
1332  delete local_search_operators_;
1333  }
1334  local_search_operators_ = nullptr;
1335 }
1336 inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::local_search_operators() const {
1337  const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* p = local_search_operators_;
1338  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_operators)
1339  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(
1341 }
1342 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::release_local_search_operators() {
1343  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.local_search_operators)
1344 
1346  local_search_operators_ = nullptr;
1347  return temp;
1349 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::mutable_local_search_operators() {
1350 
1351  if (local_search_operators_ == nullptr) {
1352  auto* p = CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(GetArenaNoVirtual());
1353  local_search_operators_ = p;
1354  }
1355  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.local_search_operators)
1356  return local_search_operators_;
1357 }
1359  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
1360  if (message_arena == nullptr) {
1361  delete local_search_operators_;
1362  }
1363  if (local_search_operators) {
1364  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
1365  if (message_arena != submessage_arena) {
1366  local_search_operators = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1367  message_arena, local_search_operators, submessage_arena);
1368  }
1369 
1370  } else {
1371 
1372  }
1373  local_search_operators_ = local_search_operators;
1374  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
1375 }
1376 
1377 // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
1379  relocate_expensive_chain_num_arcs_to_consider_ = 0;
1380 }
1381 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::relocate_expensive_chain_num_arcs_to_consider() const {
1382  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
1383  return relocate_expensive_chain_num_arcs_to_consider_;
1385 inline void RoutingSearchParameters::set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
1386 
1387  relocate_expensive_chain_num_arcs_to_consider_ = value;
1388  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
1389 }
1390 
1391 // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
1393  local_search_metaheuristic_ = 0;
1394 }
1396  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_metaheuristic)
1397  return static_cast< ::operations_research::LocalSearchMetaheuristic_Value >(local_search_metaheuristic_);
1400 
1401  local_search_metaheuristic_ = value;
1402  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.local_search_metaheuristic)
1403 }
1404 
1405 // double guided_local_search_lambda_coefficient = 5;
1407  guided_local_search_lambda_coefficient_ = 0;
1408 }
1410  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
1411  return guided_local_search_lambda_coefficient_;
1414 
1415  guided_local_search_lambda_coefficient_ = value;
1416  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
1417 }
1418 
1419 // bool use_depth_first_search = 6;
1421  use_depth_first_search_ = false;
1422 }
1424  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_depth_first_search)
1425  return use_depth_first_search_;
1428 
1429  use_depth_first_search_ = value;
1430  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_depth_first_search)
1431 }
1432 
1433 // .operations_research.OptionalBoolean use_cp = 28;
1435  use_cp_ = 0;
1436 }
1437 inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp() const {
1438  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp)
1439  return static_cast< ::operations_research::OptionalBoolean >(use_cp_);
1441 inline void RoutingSearchParameters::set_use_cp(::operations_research::OptionalBoolean value) {
1442 
1443  use_cp_ = value;
1444  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp)
1445 }
1446 
1447 // .operations_research.OptionalBoolean use_cp_sat = 27;
1449  use_cp_sat_ = 0;
1450 }
1451 inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp_sat() const {
1452  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp_sat)
1453  return static_cast< ::operations_research::OptionalBoolean >(use_cp_sat_);
1455 inline void RoutingSearchParameters::set_use_cp_sat(::operations_research::OptionalBoolean value) {
1456 
1457  use_cp_sat_ = value;
1458  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp_sat)
1459 }
1460 
1461 // double optimization_step = 7;
1463  optimization_step_ = 0;
1464 }
1465 inline double RoutingSearchParameters::optimization_step() const {
1466  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.optimization_step)
1467  return optimization_step_;
1469 inline void RoutingSearchParameters::set_optimization_step(double value) {
1470 
1471  optimization_step_ = value;
1472  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.optimization_step)
1473 }
1474 
1475 // int32 number_of_solutions_to_collect = 17;
1477  number_of_solutions_to_collect_ = 0;
1478 }
1479 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::number_of_solutions_to_collect() const {
1480  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
1481  return number_of_solutions_to_collect_;
1483 inline void RoutingSearchParameters::set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value) {
1484 
1485  number_of_solutions_to_collect_ = value;
1486  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
1487 }
1488 
1489 // int64 solution_limit = 8;
1491  solution_limit_ = PROTOBUF_LONGLONG(0);
1492 }
1493 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutingSearchParameters::solution_limit() const {
1494  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.solution_limit)
1495  return solution_limit_;
1497 inline void RoutingSearchParameters::set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value) {
1498 
1499  solution_limit_ = value;
1500  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.solution_limit)
1501 }
1502 
1503 // .google.protobuf.Duration time_limit = 9;
1504 inline bool RoutingSearchParameters::has_time_limit() const {
1505  return this != internal_default_instance() && time_limit_ != nullptr;
1506 }
1507 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::time_limit() const {
1508  const PROTOBUF_NAMESPACE_ID::Duration* p = time_limit_;
1509  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.time_limit)
1510  return p != nullptr ? *p : *reinterpret_cast<const PROTOBUF_NAMESPACE_ID::Duration*>(
1511  &PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
1512 }
1513 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_time_limit() {
1514  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.time_limit)
1515 
1516  PROTOBUF_NAMESPACE_ID::Duration* temp = time_limit_;
1517  time_limit_ = nullptr;
1518  return temp;
1520 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_time_limit() {
1521 
1522  if (time_limit_ == nullptr) {
1523  auto* p = CreateMaybeMessage<PROTOBUF_NAMESPACE_ID::Duration>(GetArenaNoVirtual());
1524  time_limit_ = p;
1525  }
1526  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.time_limit)
1527  return time_limit_;
1528 }
1529 inline void RoutingSearchParameters::set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration* time_limit) {
1530  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
1531  if (message_arena == nullptr) {
1532  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit_);
1533  }
1534  if (time_limit) {
1535  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1536  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit)->GetArena();
1537  if (message_arena != submessage_arena) {
1538  time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1539  message_arena, time_limit, submessage_arena);
1540  }
1541 
1542  } else {
1543 
1544  }
1545  time_limit_ = time_limit;
1546  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.time_limit)
1547 }
1548 
1549 // .google.protobuf.Duration lns_time_limit = 10;
1550 inline bool RoutingSearchParameters::has_lns_time_limit() const {
1551  return this != internal_default_instance() && lns_time_limit_ != nullptr;
1552 }
1553 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::lns_time_limit() const {
1554  const PROTOBUF_NAMESPACE_ID::Duration* p = lns_time_limit_;
1555  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.lns_time_limit)
1556  return p != nullptr ? *p : *reinterpret_cast<const PROTOBUF_NAMESPACE_ID::Duration*>(
1557  &PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
1558 }
1559 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_lns_time_limit() {
1560  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.lns_time_limit)
1561 
1562  PROTOBUF_NAMESPACE_ID::Duration* temp = lns_time_limit_;
1563  lns_time_limit_ = nullptr;
1564  return temp;
1566 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_lns_time_limit() {
1567 
1568  if (lns_time_limit_ == nullptr) {
1569  auto* p = CreateMaybeMessage<PROTOBUF_NAMESPACE_ID::Duration>(GetArenaNoVirtual());
1570  lns_time_limit_ = p;
1571  }
1572  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.lns_time_limit)
1573  return lns_time_limit_;
1574 }
1575 inline void RoutingSearchParameters::set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit) {
1576  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
1577  if (message_arena == nullptr) {
1578  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit_);
1579  }
1580  if (lns_time_limit) {
1581  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1582  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit)->GetArena();
1583  if (message_arena != submessage_arena) {
1584  lns_time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1585  message_arena, lns_time_limit, submessage_arena);
1586  }
1587 
1588  } else {
1589 
1590  }
1591  lns_time_limit_ = lns_time_limit;
1592  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
1593 }
1594 
1595 // bool use_full_propagation = 11;
1597  use_full_propagation_ = false;
1598 }
1600  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_full_propagation)
1601  return use_full_propagation_;
1603 inline void RoutingSearchParameters::set_use_full_propagation(bool value) {
1604 
1605  use_full_propagation_ = value;
1606  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_full_propagation)
1607 }
1608 
1609 // bool log_search = 13;
1611  log_search_ = false;
1612 }
1613 inline bool RoutingSearchParameters::log_search() const {
1614  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_search)
1615  return log_search_;
1617 inline void RoutingSearchParameters::set_log_search(bool value) {
1618 
1619  log_search_ = value;
1620  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_search)
1621 }
1622 
1623 // double log_cost_scaling_factor = 22;
1625  log_cost_scaling_factor_ = 0;
1626 }
1628  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
1629  return log_cost_scaling_factor_;
1631 inline void RoutingSearchParameters::set_log_cost_scaling_factor(double value) {
1632 
1633  log_cost_scaling_factor_ = value;
1634  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
1635 }
1636 
1637 // -------------------------------------------------------------------
1638 
1639 // RoutingModelParameters
1640 
1641 // .operations_research.ConstraintSolverParameters solver_parameters = 1;
1643  return this != internal_default_instance() && solver_parameters_ != nullptr;
1644 }
1645 inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::solver_parameters() const {
1646  const ::operations_research::ConstraintSolverParameters* p = solver_parameters_;
1647  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.solver_parameters)
1648  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::ConstraintSolverParameters*>(
1649  &::operations_research::_ConstraintSolverParameters_default_instance_);
1650 }
1651 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::release_solver_parameters() {
1652  // @@protoc_insertion_point(field_release:operations_research.RoutingModelParameters.solver_parameters)
1653 
1654  ::operations_research::ConstraintSolverParameters* temp = solver_parameters_;
1655  solver_parameters_ = nullptr;
1656  return temp;
1657 }
1658 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::mutable_solver_parameters() {
1659 
1660  if (solver_parameters_ == nullptr) {
1661  auto* p = CreateMaybeMessage<::operations_research::ConstraintSolverParameters>(GetArenaNoVirtual());
1662  solver_parameters_ = p;
1663  }
1664  // @@protoc_insertion_point(field_mutable:operations_research.RoutingModelParameters.solver_parameters)
1665  return solver_parameters_;
1666 }
1667 inline void RoutingModelParameters::set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters* solver_parameters) {
1668  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
1669  if (message_arena == nullptr) {
1670  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters_);
1671  }
1672  if (solver_parameters) {
1673  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
1674  if (message_arena != submessage_arena) {
1675  solver_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1676  message_arena, solver_parameters, submessage_arena);
1677  }
1678 
1679  } else {
1680 
1681  }
1682  solver_parameters_ = solver_parameters;
1683  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
1684 }
1685 
1686 // bool reduce_vehicle_cost_model = 2;
1688  reduce_vehicle_cost_model_ = false;
1689 }
1691  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
1692  return reduce_vehicle_cost_model_;
1693 }
1695 
1696  reduce_vehicle_cost_model_ = value;
1697  // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
1698 }
1699 
1700 // int32 max_callback_cache_size = 3;
1702  max_callback_cache_size_ = 0;
1703 }
1704 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingModelParameters::max_callback_cache_size() const {
1705  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.max_callback_cache_size)
1706  return max_callback_cache_size_;
1707 }
1708 inline void RoutingModelParameters::set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
1709 
1710  max_callback_cache_size_ = value;
1711  // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.max_callback_cache_size)
1712 }
1713 
1714 #ifdef __GNUC__
1715  #pragma GCC diagnostic pop
1716 #endif // __GNUC__
1717 // -------------------------------------------------------------------
1718 
1719 // -------------------------------------------------------------------
1720 
1721 
1722 // @@protoc_insertion_point(namespace_scope)
1723 
1724 } // namespace operations_research
1725 
1726 // @@protoc_insertion_point(global_scope)
1727 
1728 #include <google/protobuf/port_undef.inc>
1729 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
void clear_use_make_active()
.operations_research.OptionalBoolean use_make_active = 11;
friend void swap(RoutingModelParameters &a, RoutingModelParameters &b)
void set_use_node_pair_swap_active(::operations_research::OptionalBoolean value)
void clear_savings_arc_coefficient()
double savings_arc_coefficient = 18;
void set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value)
bool has_local_search_operators() const
accessors ----------------------------------------------------—
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
void Swap(RoutingModelParameters *other)
::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size() const
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * mutable_local_search_operators()
void set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value)
void clear_cheapest_insertion_neighbors_ratio()
double cheapest_insertion_neighbors_ratio = 21;
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void clear_solution_limit()
int64 solution_limit = 8;
void Swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators *other)
friend void swap(RoutingSearchParameters &a, RoutingSearchParameters &b)
void clear_use_relocate_pair()
.operations_research.OptionalBoolean use_relocate_pair = 2;
void clear_use_full_path_lns()
.operations_research.OptionalBoolean use_full_path_lns = 17;
void clear_use_light_relocate_pair()
.operations_research.OptionalBoolean use_light_relocate_pair = 24;
bool has_solver_parameters() const
nested types -------------------------------------------------—
void set_use_relocate_subtrip(::operations_research::OptionalBoolean value)
bool has_lns_time_limit() const
.google.protobuf.Duration lns_time_limit = 10;
RoutingModelParameters * New() const final
implements Message -------------------------------------------—
::operations_research::FirstSolutionStrategy_Value first_solution_strategy() const
void set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value)
void clear_local_search_metaheuristic()
.operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
void set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value)
void clear_use_lin_kernighan()
.operations_research.OptionalBoolean use_lin_kernighan = 9;
void clear_use_full_propagation()
bool use_full_propagation = 11;
void clear_use_or_opt()
.operations_research.OptionalBoolean use_or_opt = 8;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
void clear_guided_local_search_lambda_coefficient()
double guided_local_search_lambda_coefficient = 5;
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
void clear_use_path_lns()
.operations_research.OptionalBoolean use_path_lns = 16;
void set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration *lns_time_limit)
::PROTOBUF_NAMESPACE_ID::int64 solution_limit() const
void clear_optimization_step()
double optimization_step = 7;
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void clear_use_tsp_lns()
.operations_research.OptionalBoolean use_tsp_lns = 18;
void clear_savings_add_reverse_arcs()
bool savings_add_reverse_arcs = 15;
void set_use_cp_sat(::operations_research::OptionalBoolean value)
void Swap(RoutingSearchParameters *other)
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
void clear_use_node_pair_swap_active()
.operations_research.OptionalBoolean use_node_pair_swap_active = 20;
void set_use_relocate_neighbors(::operations_research::OptionalBoolean value)
void clear_use_make_inactive()
.operations_research.OptionalBoolean use_make_inactive = 12;
void clear_first_solution_strategy()
.operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
::operations_research::LocalSearchMetaheuristic_Value local_search_metaheuristic() const
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
RoutingSearchParameters & operator=(const RoutingSearchParameters &from)
void clear_use_unfiltered_first_solution_strategy()
bool use_unfiltered_first_solution_strategy = 2;
void set_use_extended_swap_active(::operations_research::OptionalBoolean value)
void clear_savings_parallel_routes()
bool savings_parallel_routes = 19;
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void clear_use_swap_active()
.operations_research.OptionalBoolean use_swap_active = 14;
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators & default_instance()
const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators & local_search_operators() const
void clear_reduce_vehicle_cost_model()
bool reduce_vehicle_cost_model = 2;
void clear_use_tsp_opt()
.operations_research.OptionalBoolean use_tsp_opt = 10;
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
RoutingSearchParameters_LocalSearchNeighborhoodOperators * New() const final
implements Message -------------------------------------------—
void clear_use_relocate_neighbors()
.operations_research.OptionalBoolean use_relocate_neighbors = 3;
void clear_use_exchange()
.operations_research.OptionalBoolean use_exchange = 4;
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *solver_parameters)
static const RoutingSearchParameters * internal_default_instance()
void clear_max_callback_cache_size()
int32 max_callback_cache_size = 3;
void set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value)
static const RoutingModelParameters * internal_default_instance()
void set_use_make_chain_inactive(::operations_research::OptionalBoolean value)
::operations_research::ConstraintSolverParameters * release_solver_parameters()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void clear_use_cp()
.operations_research.OptionalBoolean use_cp = 28;
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
RoutingSearchParameters * New() const final
implements Message -------------------------------------------—
void clear_savings_max_memory_usage_bytes()
double savings_max_memory_usage_bytes = 23;
PROTOBUF_NAMESPACE_ID::Duration * mutable_time_limit()
const ::operations_research::ConstraintSolverParameters & solver_parameters() const
void clear_use_exchange_subtrip()
.operations_research.OptionalBoolean use_exchange_subtrip = 26;
RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators * internal_default_instance()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
void clear_use_relocate_and_make_active()
.operations_research.OptionalBoolean use_relocate_and_make_active = 21;
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
void set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value)
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
RoutingModelParameters & operator=(const RoutingModelParameters &from)
void clear_cheapest_insertion_farthest_seeds_ratio()
double cheapest_insertion_farthest_seeds_ratio = 16;
PROTOBUF_NAMESPACE_ID::Duration * release_lns_time_limit()
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
Internal implementation detail – do not use these members.
static const RoutingModelParameters & default_instance()
static const RoutingSearchParameters & default_instance()
void clear_use_cross_exchange()
.operations_research.OptionalBoolean use_cross_exchange = 6;
bool has_time_limit() const
.google.protobuf.Duration time_limit = 9;
RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_
void clear_log_cost_scaling_factor()
double log_cost_scaling_factor = 22;
::PROTOBUF_NAMESPACE_ID::uint8 * InternalSerializeWithCachedSizesToArray(::PROTOBUF_NAMESPACE_ID::uint8 *target) const final
void set_use_light_relocate_pair(::operations_research::OptionalBoolean value)
RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_
::operations_research::OptionalBoolean use_cp() const
void clear_use_depth_first_search()
bool use_depth_first_search = 6;
void set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value)
void clear_use_inactive_lns()
.operations_research.OptionalBoolean use_inactive_lns = 19;
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
::operations_research::ConstraintSolverParameters * mutable_solver_parameters()
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
void clear_use_two_opt()
.operations_research.OptionalBoolean use_two_opt = 7;
RoutingSearchParameters_LocalSearchNeighborhoodOperators LocalSearchNeighborhoodOperators
nested types -------------------------------------------------—
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in c...
void set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration *time_limit)
void set_use_cp(::operations_research::OptionalBoolean value)
::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider() const
void set_use_relocate_and_make_active(::operations_research::OptionalBoolean value)
PROTOBUF_NAMESPACE_ID::Duration * release_time_limit()
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
::operations_research::OptionalBoolean use_cp_sat() const
void SerializeWithCachedSizes(::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream *output) const final
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void set_use_exchange_subtrip(::operations_research::OptionalBoolean value)
void clear_use_make_chain_inactive()
.operations_research.OptionalBoolean use_make_chain_inactive = 13;
RoutingSearchParameters_LocalSearchNeighborhoodOperators(RoutingSearchParameters_LocalSearchNeighborhoodOperators &&from) noexcept
::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect() const
void clear_use_extended_swap_active()
.operations_research.OptionalBoolean use_extended_swap_active = 15;
void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *local_search_operators)
void clear_use_relocate_expensive_chain()
.operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
friend void swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators &a, RoutingSearchParameters_LocalSearchNeighborhoodOperators &b)
PROTOBUF_NAMESPACE_ID::Duration * mutable_lns_time_limit()
void clear_use_relocate()
nested types -------------------------------------------------—
void clear_number_of_solutions_to_collect()
int32 number_of_solutions_to_collect = 17;
void clear_use_exchange_pair()
.operations_research.OptionalBoolean use_exchange_pair = 22;
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * release_local_search_operators()
void clear_use_cross()
.operations_research.OptionalBoolean use_cross = 5;
const PROTOBUF_NAMESPACE_ID::Duration & lns_time_limit() const
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void clear_relocate_expensive_chain_num_arcs_to_consider()
int32 relocate_expensive_chain_num_arcs_to_consider = 20;
const PROTOBUF_NAMESPACE_ID::Duration & time_limit() const
void clear_use_relocate_subtrip()
.operations_research.OptionalBoolean use_relocate_subtrip = 25;
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
void clear_use_cp_sat()
.operations_research.OptionalBoolean use_cp_sat = 27;
void clear_savings_neighbors_ratio()
double savings_neighbors_ratio = 14;