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 
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(); }
158 
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;
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;
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
420  return reinterpret_cast<const RoutingSearchParameters*>(
422  }
423  static constexpr int kIndexInFileMessages =
424  1;
425 
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 
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;
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;
560  void set_savings_add_reverse_arcs(bool value);
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;
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;
619  double cheapest_insertion_neighbors_ratio() const;
620  void set_cheapest_insertion_neighbors_ratio(double value);
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;
631  double savings_max_memory_usage_bytes() const;
632  void set_savings_max_memory_usage_bytes(double value);
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  // double log_cost_offset = 29;
647  void clear_log_cost_offset();
648  static const int kLogCostOffsetFieldNumber = 29;
649  double log_cost_offset() const;
650  void set_log_cost_offset(double value);
651 
652  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
653  private:
654  class HasBitSetters;
655 
656  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
658  PROTOBUF_NAMESPACE_ID::Duration* time_limit_;
659  PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit_;
660  int first_solution_strategy_;
661  int local_search_metaheuristic_;
662  double guided_local_search_lambda_coefficient_;
663  double optimization_step_;
664  ::PROTOBUF_NAMESPACE_ID::int64 solution_limit_;
665  bool use_unfiltered_first_solution_strategy_;
666  bool savings_add_reverse_arcs_;
667  bool savings_parallel_routes_;
668  bool use_depth_first_search_;
669  bool use_full_propagation_;
670  bool log_search_;
671  double savings_neighbors_ratio_;
672  double cheapest_insertion_farthest_seeds_ratio_;
673  double savings_arc_coefficient_;
674  ::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect_;
675  ::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider_;
676  double cheapest_insertion_neighbors_ratio_;
677  double log_cost_scaling_factor_;
678  double savings_max_memory_usage_bytes_;
679  int use_cp_sat_;
680  int use_cp_;
681  double log_cost_offset_;
682  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
683  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
684 };
685 // -------------------------------------------------------------------
686 
688  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingModelParameters) */ {
689  public:
691  virtual ~RoutingModelParameters();
692 
696  *this = ::std::move(from);
697  }
698 
700  CopyFrom(from);
701  return *this;
702  }
704  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
705  if (this != &from) InternalSwap(&from);
706  } else {
707  CopyFrom(from);
708  }
709  return *this;
710  }
711 
712  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
713  return GetDescriptor();
714  }
715  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
716  return GetMetadataStatic().descriptor;
717  }
718  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
719  return GetMetadataStatic().reflection;
720  }
722 
723  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
725  return reinterpret_cast<const RoutingModelParameters*>(
727  }
728  static constexpr int kIndexInFileMessages =
729  2;
730 
731  void Swap(RoutingModelParameters* other);
733  a.Swap(&b);
734  }
735 
736  // implements Message ----------------------------------------------
737 
738  inline RoutingModelParameters* New() const final {
739  return CreateMaybeMessage<RoutingModelParameters>(nullptr);
740  }
741 
742  RoutingModelParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
743  return CreateMaybeMessage<RoutingModelParameters>(arena);
744  }
745  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
746  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
747  void CopyFrom(const RoutingModelParameters& from);
748  void MergeFrom(const RoutingModelParameters& from);
749  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
750  bool IsInitialized() const final;
751 
752  size_t ByteSizeLong() const final;
753  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
754  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
755  #else
757  ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
758  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
760  ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
761  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
762  ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
763  int GetCachedSize() const final { return _cached_size_.Get(); }
764 
765  private:
766  inline void SharedCtor();
767  inline void SharedDtor();
768  void SetCachedSize(int size) const final;
769  void InternalSwap(RoutingModelParameters* other);
770  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
771  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
772  return "operations_research.RoutingModelParameters";
773  }
774  private:
775  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
776  return nullptr;
777  }
778  inline void* MaybeArenaPtr() const {
779  return nullptr;
780  }
781  public:
782 
783  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
784  private:
785  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
786  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto);
788  }
789 
790  public:
791 
792  // nested types ----------------------------------------------------
793 
794  // accessors -------------------------------------------------------
795 
796  // .operations_research.ConstraintSolverParameters solver_parameters = 1;
797  bool has_solver_parameters() const;
799  static const int kSolverParametersFieldNumber = 1;
800  const ::operations_research::ConstraintSolverParameters& solver_parameters() const;
801  ::operations_research::ConstraintSolverParameters* release_solver_parameters();
802  ::operations_research::ConstraintSolverParameters* mutable_solver_parameters();
803  void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters* solver_parameters);
804 
805  // bool reduce_vehicle_cost_model = 2;
808  bool reduce_vehicle_cost_model() const;
809  void set_reduce_vehicle_cost_model(bool value);
810 
811  // int32 max_callback_cache_size = 3;
813  static const int kMaxCallbackCacheSizeFieldNumber = 3;
814  ::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size() const;
815  void set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value);
816 
817  // @@protoc_insertion_point(class_scope:operations_research.RoutingModelParameters)
818  private:
819  class HasBitSetters;
820 
821  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
822  ::operations_research::ConstraintSolverParameters* solver_parameters_;
823  bool reduce_vehicle_cost_model_;
824  ::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size_;
825  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
826  friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
827 };
828 // ===================================================================
829 
830 
831 // ===================================================================
832 
833 #ifdef __GNUC__
834  #pragma GCC diagnostic push
835  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
836 #endif // __GNUC__
837 // RoutingSearchParameters_LocalSearchNeighborhoodOperators
838 
839 // .operations_research.OptionalBoolean use_relocate = 1;
841  use_relocate_ = 0;
842 }
843 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate() const {
844  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
845  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_);
846 }
847 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate(::operations_research::OptionalBoolean value) {
848 
849  use_relocate_ = value;
850  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
851 }
852 
853 // .operations_research.OptionalBoolean use_relocate_pair = 2;
855  use_relocate_pair_ = 0;
856 }
857 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_pair() const {
858  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
859  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_pair_);
860 }
861 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_pair(::operations_research::OptionalBoolean value) {
862 
863  use_relocate_pair_ = value;
864  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
865 }
866 
867 // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
869  use_light_relocate_pair_ = 0;
870 }
871 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_light_relocate_pair() const {
872  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
873  return static_cast< ::operations_research::OptionalBoolean >(use_light_relocate_pair_);
874 }
875 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_light_relocate_pair(::operations_research::OptionalBoolean value) {
876 
877  use_light_relocate_pair_ = value;
878  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
879 }
880 
881 // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
883  use_relocate_neighbors_ = 0;
884 }
885 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_neighbors() const {
886  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
887  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_neighbors_);
888 }
889 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_neighbors(::operations_research::OptionalBoolean value) {
890 
891  use_relocate_neighbors_ = value;
892  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
893 }
894 
895 // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
897  use_relocate_subtrip_ = 0;
898 }
899 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_subtrip() const {
900  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
901  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_subtrip_);
902 }
903 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_subtrip(::operations_research::OptionalBoolean value) {
904 
905  use_relocate_subtrip_ = value;
906  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
907 }
908 
909 // .operations_research.OptionalBoolean use_exchange = 4;
911  use_exchange_ = 0;
912 }
913 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange() const {
914  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
915  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_);
916 }
917 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange(::operations_research::OptionalBoolean value) {
918 
919  use_exchange_ = value;
920  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
921 }
922 
923 // .operations_research.OptionalBoolean use_exchange_pair = 22;
925  use_exchange_pair_ = 0;
926 }
927 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_pair() const {
928  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
929  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_pair_);
930 }
931 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange_pair(::operations_research::OptionalBoolean value) {
932 
933  use_exchange_pair_ = value;
934  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
935 }
936 
937 // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
939  use_exchange_subtrip_ = 0;
940 }
941 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_subtrip() const {
942  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
943  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_subtrip_);
944 }
945 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange_subtrip(::operations_research::OptionalBoolean value) {
946 
947  use_exchange_subtrip_ = value;
948  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
949 }
950 
951 // .operations_research.OptionalBoolean use_cross = 5;
953  use_cross_ = 0;
954 }
955 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross() const {
956  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
957  return static_cast< ::operations_research::OptionalBoolean >(use_cross_);
958 }
959 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_cross(::operations_research::OptionalBoolean value) {
960 
961  use_cross_ = value;
962  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
963 }
964 
965 // .operations_research.OptionalBoolean use_cross_exchange = 6;
967  use_cross_exchange_ = 0;
968 }
969 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross_exchange() const {
970  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
971  return static_cast< ::operations_research::OptionalBoolean >(use_cross_exchange_);
972 }
973 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_cross_exchange(::operations_research::OptionalBoolean value) {
974 
975  use_cross_exchange_ = value;
976  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
977 }
978 
979 // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
981  use_relocate_expensive_chain_ = 0;
982 }
984  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
985  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_expensive_chain_);
986 }
988 
989  use_relocate_expensive_chain_ = value;
990  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
991 }
992 
993 // .operations_research.OptionalBoolean use_two_opt = 7;
995  use_two_opt_ = 0;
996 }
997 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_two_opt() const {
998  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
999  return static_cast< ::operations_research::OptionalBoolean >(use_two_opt_);
1000 }
1001 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_two_opt(::operations_research::OptionalBoolean value) {
1002 
1003  use_two_opt_ = value;
1004  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
1005 }
1006 
1007 // .operations_research.OptionalBoolean use_or_opt = 8;
1009  use_or_opt_ = 0;
1010 }
1011 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_or_opt() const {
1012  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
1013  return static_cast< ::operations_research::OptionalBoolean >(use_or_opt_);
1014 }
1015 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_or_opt(::operations_research::OptionalBoolean value) {
1016 
1017  use_or_opt_ = value;
1018  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
1019 }
1020 
1021 // .operations_research.OptionalBoolean use_lin_kernighan = 9;
1023  use_lin_kernighan_ = 0;
1024 }
1025 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_lin_kernighan() const {
1026  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
1027  return static_cast< ::operations_research::OptionalBoolean >(use_lin_kernighan_);
1028 }
1029 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_lin_kernighan(::operations_research::OptionalBoolean value) {
1030 
1031  use_lin_kernighan_ = value;
1032  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
1033 }
1034 
1035 // .operations_research.OptionalBoolean use_tsp_opt = 10;
1037  use_tsp_opt_ = 0;
1038 }
1039 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_opt() const {
1040  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
1041  return static_cast< ::operations_research::OptionalBoolean >(use_tsp_opt_);
1042 }
1043 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_tsp_opt(::operations_research::OptionalBoolean value) {
1044 
1045  use_tsp_opt_ = value;
1046  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
1047 }
1048 
1049 // .operations_research.OptionalBoolean use_make_active = 11;
1051  use_make_active_ = 0;
1052 }
1053 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_active() const {
1054  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1055  return static_cast< ::operations_research::OptionalBoolean >(use_make_active_);
1056 }
1057 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_active(::operations_research::OptionalBoolean value) {
1058 
1059  use_make_active_ = value;
1060  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1061 }
1062 
1063 // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
1065  use_relocate_and_make_active_ = 0;
1066 }
1068  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1069  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_and_make_active_);
1070 }
1072 
1073  use_relocate_and_make_active_ = value;
1074  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1075 }
1076 
1077 // .operations_research.OptionalBoolean use_make_inactive = 12;
1079  use_make_inactive_ = 0;
1080 }
1081 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_inactive() const {
1082  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1083  return static_cast< ::operations_research::OptionalBoolean >(use_make_inactive_);
1084 }
1085 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_inactive(::operations_research::OptionalBoolean value) {
1086 
1087  use_make_inactive_ = value;
1088  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1089 }
1090 
1091 // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
1093  use_make_chain_inactive_ = 0;
1094 }
1095 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_chain_inactive() const {
1096  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
1097  return static_cast< ::operations_research::OptionalBoolean >(use_make_chain_inactive_);
1098 }
1099 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_chain_inactive(::operations_research::OptionalBoolean value) {
1100 
1101  use_make_chain_inactive_ = value;
1102  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
1103 }
1104 
1105 // .operations_research.OptionalBoolean use_swap_active = 14;
1107  use_swap_active_ = 0;
1108 }
1109 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_swap_active() const {
1110  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
1111  return static_cast< ::operations_research::OptionalBoolean >(use_swap_active_);
1112 }
1113 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_swap_active(::operations_research::OptionalBoolean value) {
1114 
1115  use_swap_active_ = value;
1116  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
1117 }
1118 
1119 // .operations_research.OptionalBoolean use_extended_swap_active = 15;
1121  use_extended_swap_active_ = 0;
1122 }
1123 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_extended_swap_active() const {
1124  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
1125  return static_cast< ::operations_research::OptionalBoolean >(use_extended_swap_active_);
1126 }
1127 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_extended_swap_active(::operations_research::OptionalBoolean value) {
1128 
1129  use_extended_swap_active_ = value;
1130  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
1131 }
1132 
1133 // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
1135  use_node_pair_swap_active_ = 0;
1136 }
1138  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
1139  return static_cast< ::operations_research::OptionalBoolean >(use_node_pair_swap_active_);
1140 }
1141 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_node_pair_swap_active(::operations_research::OptionalBoolean value) {
1142 
1143  use_node_pair_swap_active_ = value;
1144  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
1145 }
1146 
1147 // .operations_research.OptionalBoolean use_path_lns = 16;
1149  use_path_lns_ = 0;
1150 }
1151 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_path_lns() const {
1152  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
1153  return static_cast< ::operations_research::OptionalBoolean >(use_path_lns_);
1154 }
1155 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_path_lns(::operations_research::OptionalBoolean value) {
1156 
1157  use_path_lns_ = value;
1158  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
1159 }
1160 
1161 // .operations_research.OptionalBoolean use_full_path_lns = 17;
1163  use_full_path_lns_ = 0;
1164 }
1165 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_full_path_lns() const {
1166  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
1167  return static_cast< ::operations_research::OptionalBoolean >(use_full_path_lns_);
1168 }
1169 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_full_path_lns(::operations_research::OptionalBoolean value) {
1170 
1171  use_full_path_lns_ = value;
1172  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
1173 }
1174 
1175 // .operations_research.OptionalBoolean use_tsp_lns = 18;
1177  use_tsp_lns_ = 0;
1178 }
1179 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_lns() const {
1180  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
1181  return static_cast< ::operations_research::OptionalBoolean >(use_tsp_lns_);
1182 }
1183 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_tsp_lns(::operations_research::OptionalBoolean value) {
1184 
1185  use_tsp_lns_ = value;
1186  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
1187 }
1188 
1189 // .operations_research.OptionalBoolean use_inactive_lns = 19;
1191  use_inactive_lns_ = 0;
1192 }
1193 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_inactive_lns() const {
1194  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
1195  return static_cast< ::operations_research::OptionalBoolean >(use_inactive_lns_);
1196 }
1197 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_inactive_lns(::operations_research::OptionalBoolean value) {
1198 
1199  use_inactive_lns_ = value;
1200  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
1201 }
1202 
1203 // -------------------------------------------------------------------
1204 
1205 // RoutingSearchParameters
1206 
1207 // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
1209  first_solution_strategy_ = 0;
1210 }
1212  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.first_solution_strategy)
1213  return static_cast< ::operations_research::FirstSolutionStrategy_Value >(first_solution_strategy_);
1214 }
1216 
1217  first_solution_strategy_ = value;
1218  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.first_solution_strategy)
1219 }
1220 
1221 // bool use_unfiltered_first_solution_strategy = 2;
1223  use_unfiltered_first_solution_strategy_ = false;
1224 }
1226  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
1227  return use_unfiltered_first_solution_strategy_;
1228 }
1230 
1231  use_unfiltered_first_solution_strategy_ = value;
1232  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
1233 }
1234 
1235 // double savings_neighbors_ratio = 14;
1237  savings_neighbors_ratio_ = 0;
1238 }
1240  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
1241  return savings_neighbors_ratio_;
1242 }
1244 
1245  savings_neighbors_ratio_ = value;
1246  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
1247 }
1248 
1249 // double savings_max_memory_usage_bytes = 23;
1251  savings_max_memory_usage_bytes_ = 0;
1252 }
1254  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
1255  return savings_max_memory_usage_bytes_;
1256 }
1258 
1259  savings_max_memory_usage_bytes_ = value;
1260  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
1261 }
1262 
1263 // bool savings_add_reverse_arcs = 15;
1265  savings_add_reverse_arcs_ = false;
1266 }
1268  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
1269  return savings_add_reverse_arcs_;
1270 }
1272 
1273  savings_add_reverse_arcs_ = value;
1274  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
1275 }
1276 
1277 // double savings_arc_coefficient = 18;
1279  savings_arc_coefficient_ = 0;
1280 }
1282  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_arc_coefficient)
1283  return savings_arc_coefficient_;
1284 }
1286 
1287  savings_arc_coefficient_ = value;
1288  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_arc_coefficient)
1289 }
1290 
1291 // bool savings_parallel_routes = 19;
1293  savings_parallel_routes_ = false;
1294 }
1296  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_parallel_routes)
1297  return savings_parallel_routes_;
1298 }
1300 
1301  savings_parallel_routes_ = value;
1302  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_parallel_routes)
1303 }
1304 
1305 // double cheapest_insertion_farthest_seeds_ratio = 16;
1307  cheapest_insertion_farthest_seeds_ratio_ = 0;
1308 }
1310  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
1311  return cheapest_insertion_farthest_seeds_ratio_;
1312 }
1314 
1315  cheapest_insertion_farthest_seeds_ratio_ = value;
1316  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
1317 }
1318 
1319 // double cheapest_insertion_neighbors_ratio = 21;
1321  cheapest_insertion_neighbors_ratio_ = 0;
1322 }
1324  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_neighbors_ratio)
1325  return cheapest_insertion_neighbors_ratio_;
1326 }
1328 
1329  cheapest_insertion_neighbors_ratio_ = value;
1330  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_neighbors_ratio)
1331 }
1332 
1333 // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
1335  return this != internal_default_instance() && local_search_operators_ != nullptr;
1336 }
1338  if (GetArenaNoVirtual() == nullptr && local_search_operators_ != nullptr) {
1339  delete local_search_operators_;
1340  }
1341  local_search_operators_ = nullptr;
1342 }
1343 inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::local_search_operators() const {
1344  const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* p = local_search_operators_;
1345  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_operators)
1346  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(
1348 }
1349 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::release_local_search_operators() {
1350  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.local_search_operators)
1351 
1353  local_search_operators_ = nullptr;
1354  return temp;
1355 }
1356 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::mutable_local_search_operators() {
1357 
1358  if (local_search_operators_ == nullptr) {
1359  auto* p = CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(GetArenaNoVirtual());
1360  local_search_operators_ = p;
1361  }
1362  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.local_search_operators)
1363  return local_search_operators_;
1364 }
1366  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
1367  if (message_arena == nullptr) {
1368  delete local_search_operators_;
1369  }
1370  if (local_search_operators) {
1371  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
1372  if (message_arena != submessage_arena) {
1373  local_search_operators = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1374  message_arena, local_search_operators, submessage_arena);
1375  }
1376 
1377  } else {
1378 
1379  }
1380  local_search_operators_ = local_search_operators;
1381  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
1382 }
1383 
1384 // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
1386  relocate_expensive_chain_num_arcs_to_consider_ = 0;
1387 }
1388 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::relocate_expensive_chain_num_arcs_to_consider() const {
1389  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
1390  return relocate_expensive_chain_num_arcs_to_consider_;
1391 }
1392 inline void RoutingSearchParameters::set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
1393 
1394  relocate_expensive_chain_num_arcs_to_consider_ = value;
1395  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
1396 }
1397 
1398 // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
1400  local_search_metaheuristic_ = 0;
1401 }
1403  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_metaheuristic)
1404  return static_cast< ::operations_research::LocalSearchMetaheuristic_Value >(local_search_metaheuristic_);
1405 }
1407 
1408  local_search_metaheuristic_ = value;
1409  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.local_search_metaheuristic)
1410 }
1411 
1412 // double guided_local_search_lambda_coefficient = 5;
1414  guided_local_search_lambda_coefficient_ = 0;
1415 }
1417  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
1418  return guided_local_search_lambda_coefficient_;
1419 }
1421 
1422  guided_local_search_lambda_coefficient_ = value;
1423  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
1424 }
1425 
1426 // bool use_depth_first_search = 6;
1428  use_depth_first_search_ = false;
1429 }
1431  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_depth_first_search)
1432  return use_depth_first_search_;
1433 }
1435 
1436  use_depth_first_search_ = value;
1437  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_depth_first_search)
1438 }
1439 
1440 // .operations_research.OptionalBoolean use_cp = 28;
1442  use_cp_ = 0;
1443 }
1444 inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp() const {
1445  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp)
1446  return static_cast< ::operations_research::OptionalBoolean >(use_cp_);
1447 }
1448 inline void RoutingSearchParameters::set_use_cp(::operations_research::OptionalBoolean value) {
1449 
1450  use_cp_ = value;
1451  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp)
1452 }
1453 
1454 // .operations_research.OptionalBoolean use_cp_sat = 27;
1456  use_cp_sat_ = 0;
1457 }
1458 inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp_sat() const {
1459  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp_sat)
1460  return static_cast< ::operations_research::OptionalBoolean >(use_cp_sat_);
1461 }
1462 inline void RoutingSearchParameters::set_use_cp_sat(::operations_research::OptionalBoolean value) {
1463 
1464  use_cp_sat_ = value;
1465  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp_sat)
1466 }
1467 
1468 // double optimization_step = 7;
1470  optimization_step_ = 0;
1471 }
1473  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.optimization_step)
1474  return optimization_step_;
1475 }
1477 
1478  optimization_step_ = value;
1479  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.optimization_step)
1480 }
1481 
1482 // int32 number_of_solutions_to_collect = 17;
1484  number_of_solutions_to_collect_ = 0;
1485 }
1486 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::number_of_solutions_to_collect() const {
1487  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
1488  return number_of_solutions_to_collect_;
1489 }
1490 inline void RoutingSearchParameters::set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value) {
1491 
1492  number_of_solutions_to_collect_ = value;
1493  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
1494 }
1495 
1496 // int64 solution_limit = 8;
1498  solution_limit_ = PROTOBUF_LONGLONG(0);
1499 }
1500 inline ::PROTOBUF_NAMESPACE_ID::int64 RoutingSearchParameters::solution_limit() const {
1501  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.solution_limit)
1502  return solution_limit_;
1503 }
1504 inline void RoutingSearchParameters::set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value) {
1505 
1506  solution_limit_ = value;
1507  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.solution_limit)
1508 }
1509 
1510 // .google.protobuf.Duration time_limit = 9;
1512  return this != internal_default_instance() && time_limit_ != nullptr;
1513 }
1514 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::time_limit() const {
1515  const PROTOBUF_NAMESPACE_ID::Duration* p = time_limit_;
1516  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.time_limit)
1517  return p != nullptr ? *p : *reinterpret_cast<const PROTOBUF_NAMESPACE_ID::Duration*>(
1518  &PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
1519 }
1520 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_time_limit() {
1521  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.time_limit)
1522 
1523  PROTOBUF_NAMESPACE_ID::Duration* temp = time_limit_;
1524  time_limit_ = nullptr;
1525  return temp;
1526 }
1527 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_time_limit() {
1528 
1529  if (time_limit_ == nullptr) {
1530  auto* p = CreateMaybeMessage<PROTOBUF_NAMESPACE_ID::Duration>(GetArenaNoVirtual());
1531  time_limit_ = p;
1532  }
1533  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.time_limit)
1534  return time_limit_;
1535 }
1536 inline void RoutingSearchParameters::set_allocated_time_limit(PROTOBUF_NAMESPACE_ID::Duration* time_limit) {
1537  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
1538  if (message_arena == nullptr) {
1539  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit_);
1540  }
1541  if (time_limit) {
1542  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1543  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit)->GetArena();
1544  if (message_arena != submessage_arena) {
1545  time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1546  message_arena, time_limit, submessage_arena);
1547  }
1548 
1549  } else {
1550 
1551  }
1552  time_limit_ = time_limit;
1553  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.time_limit)
1554 }
1555 
1556 // .google.protobuf.Duration lns_time_limit = 10;
1558  return this != internal_default_instance() && lns_time_limit_ != nullptr;
1559 }
1560 inline const PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::lns_time_limit() const {
1561  const PROTOBUF_NAMESPACE_ID::Duration* p = lns_time_limit_;
1562  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.lns_time_limit)
1563  return p != nullptr ? *p : *reinterpret_cast<const PROTOBUF_NAMESPACE_ID::Duration*>(
1564  &PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
1565 }
1566 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_lns_time_limit() {
1567  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.lns_time_limit)
1568 
1569  PROTOBUF_NAMESPACE_ID::Duration* temp = lns_time_limit_;
1570  lns_time_limit_ = nullptr;
1571  return temp;
1572 }
1573 inline PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_lns_time_limit() {
1574 
1575  if (lns_time_limit_ == nullptr) {
1576  auto* p = CreateMaybeMessage<PROTOBUF_NAMESPACE_ID::Duration>(GetArenaNoVirtual());
1577  lns_time_limit_ = p;
1578  }
1579  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.lns_time_limit)
1580  return lns_time_limit_;
1581 }
1582 inline void RoutingSearchParameters::set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit) {
1583  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
1584  if (message_arena == nullptr) {
1585  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit_);
1586  }
1587  if (lns_time_limit) {
1588  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1589  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit)->GetArena();
1590  if (message_arena != submessage_arena) {
1591  lns_time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1592  message_arena, lns_time_limit, submessage_arena);
1593  }
1594 
1595  } else {
1596 
1597  }
1598  lns_time_limit_ = lns_time_limit;
1599  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
1600 }
1601 
1602 // bool use_full_propagation = 11;
1604  use_full_propagation_ = false;
1605 }
1607  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_full_propagation)
1608  return use_full_propagation_;
1609 }
1611 
1612  use_full_propagation_ = value;
1613  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_full_propagation)
1614 }
1615 
1616 // bool log_search = 13;
1618  log_search_ = false;
1619 }
1621  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_search)
1622  return log_search_;
1623 }
1625 
1626  log_search_ = value;
1627  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_search)
1628 }
1629 
1630 // double log_cost_scaling_factor = 22;
1632  log_cost_scaling_factor_ = 0;
1633 }
1635  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
1636  return log_cost_scaling_factor_;
1637 }
1639 
1640  log_cost_scaling_factor_ = value;
1641  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
1642 }
1643 
1644 // double log_cost_offset = 29;
1646  log_cost_offset_ = 0;
1647 }
1649  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_offset)
1650  return log_cost_offset_;
1651 }
1653 
1654  log_cost_offset_ = value;
1655  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_offset)
1656 }
1657 
1658 // -------------------------------------------------------------------
1659 
1660 // RoutingModelParameters
1661 
1662 // .operations_research.ConstraintSolverParameters solver_parameters = 1;
1664  return this != internal_default_instance() && solver_parameters_ != nullptr;
1665 }
1666 inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::solver_parameters() const {
1667  const ::operations_research::ConstraintSolverParameters* p = solver_parameters_;
1668  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.solver_parameters)
1669  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::ConstraintSolverParameters*>(
1670  &::operations_research::_ConstraintSolverParameters_default_instance_);
1671 }
1672 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::release_solver_parameters() {
1673  // @@protoc_insertion_point(field_release:operations_research.RoutingModelParameters.solver_parameters)
1674 
1675  ::operations_research::ConstraintSolverParameters* temp = solver_parameters_;
1676  solver_parameters_ = nullptr;
1677  return temp;
1678 }
1679 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::mutable_solver_parameters() {
1680 
1681  if (solver_parameters_ == nullptr) {
1682  auto* p = CreateMaybeMessage<::operations_research::ConstraintSolverParameters>(GetArenaNoVirtual());
1683  solver_parameters_ = p;
1684  }
1685  // @@protoc_insertion_point(field_mutable:operations_research.RoutingModelParameters.solver_parameters)
1686  return solver_parameters_;
1687 }
1688 inline void RoutingModelParameters::set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters* solver_parameters) {
1689  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
1690  if (message_arena == nullptr) {
1691  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters_);
1692  }
1693  if (solver_parameters) {
1694  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
1695  if (message_arena != submessage_arena) {
1696  solver_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1697  message_arena, solver_parameters, submessage_arena);
1698  }
1699 
1700  } else {
1701 
1702  }
1703  solver_parameters_ = solver_parameters;
1704  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
1705 }
1706 
1707 // bool reduce_vehicle_cost_model = 2;
1709  reduce_vehicle_cost_model_ = false;
1710 }
1712  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
1713  return reduce_vehicle_cost_model_;
1714 }
1716 
1717  reduce_vehicle_cost_model_ = value;
1718  // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
1719 }
1720 
1721 // int32 max_callback_cache_size = 3;
1723  max_callback_cache_size_ = 0;
1724 }
1725 inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingModelParameters::max_callback_cache_size() const {
1726  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.max_callback_cache_size)
1727  return max_callback_cache_size_;
1728 }
1729 inline void RoutingModelParameters::set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
1730 
1731  max_callback_cache_size_ = value;
1732  // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.max_callback_cache_size)
1733 }
1734 
1735 #ifdef __GNUC__
1736  #pragma GCC diagnostic pop
1737 #endif // __GNUC__
1738 // -------------------------------------------------------------------
1739 
1740 // -------------------------------------------------------------------
1741 
1742 
1743 // @@protoc_insertion_point(namespace_scope)
1744 
1745 } // namespace operations_research
1746 
1747 // @@protoc_insertion_point(global_scope)
1748 
1749 #include <google/protobuf/port_undef.inc>
1750 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
RoutingModelParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(RoutingSearchParameters_LocalSearchNeighborhoodOperators &&from) noexcept
friend void swap(RoutingModelParameters &a, RoutingModelParameters &b)
void set_use_node_pair_swap_active(::operations_research::OptionalBoolean value)
void set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value)
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 CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void Swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators *other)
friend void swap(RoutingSearchParameters &a, RoutingSearchParameters &b)
void set_use_relocate_subtrip(::operations_research::OptionalBoolean value)
RoutingModelParameters * New() const final
::operations_research::FirstSolutionStrategy_Value first_solution_strategy() const
void set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value)
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final
void set_allocated_lns_time_limit(PROTOBUF_NAMESPACE_ID::Duration *lns_time_limit)
::PROTOBUF_NAMESPACE_ID::int64 solution_limit() const
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
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 set_use_relocate_neighbors(::operations_research::OptionalBoolean value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
::operations_research::LocalSearchMetaheuristic_Value local_search_metaheuristic() const
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
RoutingSearchParameters & operator=(const RoutingSearchParameters &from)
void set_use_extended_swap_active(::operations_research::OptionalBoolean value)
RoutingSearchParameters & operator=(RoutingSearchParameters &&from) noexcept
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators & default_instance()
const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators & local_search_operators() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
RoutingSearchParameters_LocalSearchNeighborhoodOperators * New() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *solver_parameters)
static const RoutingSearchParameters * internal_default_instance()
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
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
RoutingSearchParameters * New() const final
PROTOBUF_NAMESPACE_ID::Duration * mutable_time_limit()
const ::operations_research::ConstraintSolverParameters & solver_parameters() const
RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators * internal_default_instance()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
::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)
PROTOBUF_NAMESPACE_ID::Duration * release_lns_time_limit()
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
static const RoutingModelParameters & default_instance()
static const RoutingSearchParameters & default_instance()
RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_
::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 set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value)
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
::operations_research::ConstraintSolverParameters * mutable_solver_parameters()
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
RoutingModelParameters & operator=(RoutingModelParameters &&from) noexcept
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
RoutingSearchParameters_LocalSearchNeighborhoodOperators LocalSearchNeighborhoodOperators
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
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)
RoutingSearchParameters_LocalSearchNeighborhoodOperators(RoutingSearchParameters_LocalSearchNeighborhoodOperators &&from) noexcept
RoutingModelParameters(RoutingModelParameters &&from) noexcept
::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect() const
void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *local_search_operators)
friend void swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators &a, RoutingSearchParameters_LocalSearchNeighborhoodOperators &b)
PROTOBUF_NAMESPACE_ID::Duration * mutable_lns_time_limit()
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * release_local_search_operators()
RoutingSearchParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
const PROTOBUF_NAMESPACE_ID::Duration & lns_time_limit() const
RoutingSearchParameters(RoutingSearchParameters &&from) noexcept
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
const PROTOBUF_NAMESPACE_ID::Duration & time_limit() const
bool MergePartialFromCodedStream(::PROTOBUF_NAMESPACE_ID::io::CodedInputStream *input) final