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 PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
5 #define 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 < 3007000
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 3007001 < 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/message.h>
31 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
32 #include <google/protobuf/extension_set.h> // IWYU pragma: export
33 #include <google/protobuf/unknown_field_set.h>
34 #include <google/protobuf/duration.pb.h>
36 #include "ortools/constraint_solver/solver_parameters.pb.h"
37 #include "ortools/util/optional_boolean.pb.h"
38 // @@protoc_insertion_point(includes)
39 #include <google/protobuf/port_def.inc>
40 #define PROTOBUF_INTERNAL_EXPORT_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
41 
42 // Internal implementation detail -- do not use these members.
44  static const ::google::protobuf::internal::ParseTableField entries[]
45  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
46  static const ::google::protobuf::internal::AuxillaryParseTableField aux[]
47  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
48  static const ::google::protobuf::internal::ParseTable schema[3]
49  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
50  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
51  static const ::google::protobuf::internal::SerializationTable serialization_table[];
52  static const ::google::protobuf::uint32 offsets[];
53 };
55 namespace operations_research {
56 class RoutingModelParameters;
57 class RoutingModelParametersDefaultTypeInternal;
58 extern RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_;
59 class RoutingSearchParameters;
60 class RoutingSearchParametersDefaultTypeInternal;
61 extern RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_;
62 class RoutingSearchParameters_LocalSearchNeighborhoodOperators;
63 class RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal;
64 extern RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_;
65 } // namespace operations_research
66 namespace google {
67 namespace protobuf {
68 template<> ::operations_research::RoutingModelParameters* Arena::CreateMaybeMessage<::operations_research::RoutingModelParameters>(Arena*);
69 template<> ::operations_research::RoutingSearchParameters* Arena::CreateMaybeMessage<::operations_research::RoutingSearchParameters>(Arena*);
70 template<> ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* Arena::CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(Arena*);
71 } // namespace protobuf
72 } // namespace google
73 namespace operations_research {
74 
75 // ===================================================================
76 
77 class RoutingSearchParameters_LocalSearchNeighborhoodOperators :
78  public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators) */ {
79  public:
82 
84 
86  CopyFrom(from);
87  return *this;
88  }
89  #if LANG_CXX11
92  *this = ::std::move(from);
93  }
94 
96  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
97  if (this != &from) InternalSwap(&from);
98  } else {
99  CopyFrom(from);
100  }
101  return *this;
102  }
103  #endif
104  static const ::google::protobuf::Descriptor* descriptor() {
105  return default_instance().GetDescriptor();
106  }
108 
109  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
111  return reinterpret_cast<const RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(
113  }
114  static constexpr int kIndexInFileMessages =
115  0;
116 
119  a.Swap(&b);
120  }
121 
122  // implements Message ----------------------------------------------
123 
125  return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(nullptr);
126  }
127 
128  RoutingSearchParameters_LocalSearchNeighborhoodOperators* New(::google::protobuf::Arena* arena) const final {
129  return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(arena);
130  }
131  void CopyFrom(const ::google::protobuf::Message& from) final;
132  void MergeFrom(const ::google::protobuf::Message& from) final;
135  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
136  bool IsInitialized() const final;
137 
138  size_t ByteSizeLong() const final;
139  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
140  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
141  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
142  #else
144  ::google::protobuf::io::CodedInputStream* input) final;
145  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
147  ::google::protobuf::io::CodedOutputStream* output) const final;
148  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
149  ::google::protobuf::uint8* target) const final;
150  int GetCachedSize() const final { return _cached_size_.Get(); }
152  private:
153  void SharedCtor();
154  void SharedDtor();
155  void SetCachedSize(int size) const final;
157  private:
158  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
159  return nullptr;
160  }
161  inline void* MaybeArenaPtr() const {
162  return nullptr;
163  }
164  public:
165 
166  ::google::protobuf::Metadata GetMetadata() const final;
167 
168  // nested types ----------------------------------------------------
169 
170  // accessors -------------------------------------------------------
171 
172  // .operations_research.OptionalBoolean use_relocate = 1;
173  void clear_use_relocate();
174  static const int kUseRelocateFieldNumber = 1;
175  ::operations_research::OptionalBoolean use_relocate() const;
176  void set_use_relocate(::operations_research::OptionalBoolean value);
177 
178  // .operations_research.OptionalBoolean use_relocate_pair = 2;
180  static const int kUseRelocatePairFieldNumber = 2;
181  ::operations_research::OptionalBoolean use_relocate_pair() const;
182  void set_use_relocate_pair(::operations_research::OptionalBoolean value);
183 
184  // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
186  static const int kUseRelocateNeighborsFieldNumber = 3;
187  ::operations_research::OptionalBoolean use_relocate_neighbors() const;
188  void set_use_relocate_neighbors(::operations_research::OptionalBoolean value);
189 
190  // .operations_research.OptionalBoolean use_exchange = 4;
191  void clear_use_exchange();
192  static const int kUseExchangeFieldNumber = 4;
193  ::operations_research::OptionalBoolean use_exchange() const;
194  void set_use_exchange(::operations_research::OptionalBoolean value);
195 
196  // .operations_research.OptionalBoolean use_cross = 5;
197  void clear_use_cross();
198  static const int kUseCrossFieldNumber = 5;
199  ::operations_research::OptionalBoolean use_cross() const;
200  void set_use_cross(::operations_research::OptionalBoolean value);
201 
202  // .operations_research.OptionalBoolean use_cross_exchange = 6;
204  static const int kUseCrossExchangeFieldNumber = 6;
205  ::operations_research::OptionalBoolean use_cross_exchange() const;
206  void set_use_cross_exchange(::operations_research::OptionalBoolean value);
207 
208  // .operations_research.OptionalBoolean use_two_opt = 7;
209  void clear_use_two_opt();
210  static const int kUseTwoOptFieldNumber = 7;
211  ::operations_research::OptionalBoolean use_two_opt() const;
212  void set_use_two_opt(::operations_research::OptionalBoolean value);
213 
214  // .operations_research.OptionalBoolean use_or_opt = 8;
215  void clear_use_or_opt();
216  static const int kUseOrOptFieldNumber = 8;
217  ::operations_research::OptionalBoolean use_or_opt() const;
218  void set_use_or_opt(::operations_research::OptionalBoolean value);
219 
220  // .operations_research.OptionalBoolean use_lin_kernighan = 9;
222  static const int kUseLinKernighanFieldNumber = 9;
223  ::operations_research::OptionalBoolean use_lin_kernighan() const;
224  void set_use_lin_kernighan(::operations_research::OptionalBoolean value);
225 
226  // .operations_research.OptionalBoolean use_tsp_opt = 10;
227  void clear_use_tsp_opt();
228  static const int kUseTspOptFieldNumber = 10;
229  ::operations_research::OptionalBoolean use_tsp_opt() const;
230  void set_use_tsp_opt(::operations_research::OptionalBoolean value);
231 
232  // .operations_research.OptionalBoolean use_make_active = 11;
233  void clear_use_make_active();
234  static const int kUseMakeActiveFieldNumber = 11;
235  ::operations_research::OptionalBoolean use_make_active() const;
236  void set_use_make_active(::operations_research::OptionalBoolean value);
237 
238  // .operations_research.OptionalBoolean use_make_inactive = 12;
240  static const int kUseMakeInactiveFieldNumber = 12;
241  ::operations_research::OptionalBoolean use_make_inactive() const;
242  void set_use_make_inactive(::operations_research::OptionalBoolean value);
243 
244  // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
246  static const int kUseMakeChainInactiveFieldNumber = 13;
247  ::operations_research::OptionalBoolean use_make_chain_inactive() const;
248  void set_use_make_chain_inactive(::operations_research::OptionalBoolean value);
249 
250  // .operations_research.OptionalBoolean use_swap_active = 14;
251  void clear_use_swap_active();
252  static const int kUseSwapActiveFieldNumber = 14;
253  ::operations_research::OptionalBoolean use_swap_active() const;
254  void set_use_swap_active(::operations_research::OptionalBoolean value);
255 
256  // .operations_research.OptionalBoolean use_extended_swap_active = 15;
258  static const int kUseExtendedSwapActiveFieldNumber = 15;
259  ::operations_research::OptionalBoolean use_extended_swap_active() const;
260  void set_use_extended_swap_active(::operations_research::OptionalBoolean value);
261 
262  // .operations_research.OptionalBoolean use_path_lns = 16;
263  void clear_use_path_lns();
264  static const int kUsePathLnsFieldNumber = 16;
265  ::operations_research::OptionalBoolean use_path_lns() const;
266  void set_use_path_lns(::operations_research::OptionalBoolean value);
267 
268  // .operations_research.OptionalBoolean use_full_path_lns = 17;
270  static const int kUseFullPathLnsFieldNumber = 17;
271  ::operations_research::OptionalBoolean use_full_path_lns() const;
272  void set_use_full_path_lns(::operations_research::OptionalBoolean value);
273 
274  // .operations_research.OptionalBoolean use_tsp_lns = 18;
275  void clear_use_tsp_lns();
276  static const int kUseTspLnsFieldNumber = 18;
277  ::operations_research::OptionalBoolean use_tsp_lns() const;
278  void set_use_tsp_lns(::operations_research::OptionalBoolean value);
279 
280  // .operations_research.OptionalBoolean use_inactive_lns = 19;
281  void clear_use_inactive_lns();
282  static const int kUseInactiveLnsFieldNumber = 19;
283  ::operations_research::OptionalBoolean use_inactive_lns() const;
284  void set_use_inactive_lns(::operations_research::OptionalBoolean value);
285 
286  // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
288  static const int kUseNodePairSwapActiveFieldNumber = 20;
289  ::operations_research::OptionalBoolean use_node_pair_swap_active() const;
290  void set_use_node_pair_swap_active(::operations_research::OptionalBoolean value);
291 
292  // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
294  static const int kUseRelocateAndMakeActiveFieldNumber = 21;
296  void set_use_relocate_and_make_active(::operations_research::OptionalBoolean value);
297 
298  // .operations_research.OptionalBoolean use_exchange_pair = 22;
300  static const int kUseExchangePairFieldNumber = 22;
301  ::operations_research::OptionalBoolean use_exchange_pair() const;
302  void set_use_exchange_pair(::operations_research::OptionalBoolean value);
303 
304  // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
306  static const int kUseRelocateExpensiveChainFieldNumber = 23;
308  void set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value);
309 
310  // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
312  static const int kUseLightRelocatePairFieldNumber = 24;
313  ::operations_research::OptionalBoolean use_light_relocate_pair() const;
314  void set_use_light_relocate_pair(::operations_research::OptionalBoolean value);
315 
316  // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
318  static const int kUseRelocateSubtripFieldNumber = 25;
319  ::operations_research::OptionalBoolean use_relocate_subtrip() const;
320  void set_use_relocate_subtrip(::operations_research::OptionalBoolean value);
321 
322  // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
324  static const int kUseExchangeSubtripFieldNumber = 26;
325  ::operations_research::OptionalBoolean use_exchange_subtrip() const;
326  void set_use_exchange_subtrip(::operations_research::OptionalBoolean value);
327 
328  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
329  private:
330  class HasBitSetters;
331 
332  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
333  int use_relocate_;
334  int use_relocate_pair_;
335  int use_relocate_neighbors_;
336  int use_exchange_;
337  int use_cross_;
338  int use_cross_exchange_;
339  int use_two_opt_;
340  int use_or_opt_;
341  int use_lin_kernighan_;
342  int use_tsp_opt_;
343  int use_make_active_;
344  int use_make_inactive_;
345  int use_make_chain_inactive_;
346  int use_swap_active_;
347  int use_extended_swap_active_;
348  int use_path_lns_;
349  int use_full_path_lns_;
350  int use_tsp_lns_;
351  int use_inactive_lns_;
352  int use_node_pair_swap_active_;
353  int use_relocate_and_make_active_;
354  int use_exchange_pair_;
355  int use_relocate_expensive_chain_;
356  int use_light_relocate_pair_;
357  int use_relocate_subtrip_;
358  int use_exchange_subtrip_;
359  mutable ::google::protobuf::internal::CachedSize _cached_size_;
361 };
362 // -------------------------------------------------------------------
363 
365  public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters) */ {
366  public:
368  virtual ~RoutingSearchParameters();
369 
371 
373  CopyFrom(from);
374  return *this;
375  }
376  #if LANG_CXX11
379  *this = ::std::move(from);
380  }
381 
382  inline RoutingSearchParameters& operator=(RoutingSearchParameters&& from) noexcept {
383  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
384  if (this != &from) InternalSwap(&from);
385  } else {
386  CopyFrom(from);
387  }
388  return *this;
389  }
390  #endif
391  static const ::google::protobuf::Descriptor* descriptor() {
392  return default_instance().GetDescriptor();
393  }
395 
396  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
397  static inline const RoutingSearchParameters* internal_default_instance() {
398  return reinterpret_cast<const RoutingSearchParameters*>(
400  }
401  static constexpr int kIndexInFileMessages =
402  1;
404  void Swap(RoutingSearchParameters* other);
406  a.Swap(&b);
407  }
408 
409  // implements Message ----------------------------------------------
410 
411  inline RoutingSearchParameters* New() const final {
412  return CreateMaybeMessage<RoutingSearchParameters>(nullptr);
413  }
414 
415  RoutingSearchParameters* New(::google::protobuf::Arena* arena) const final {
416  return CreateMaybeMessage<RoutingSearchParameters>(arena);
417  }
418  void CopyFrom(const ::google::protobuf::Message& from) final;
419  void MergeFrom(const ::google::protobuf::Message& from) final;
420  void CopyFrom(const RoutingSearchParameters& from);
421  void MergeFrom(const RoutingSearchParameters& from);
422  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
423  bool IsInitialized() const final;
424 
425  size_t ByteSizeLong() const final;
426  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
427  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
428  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
429  #else
431  ::google::protobuf::io::CodedInputStream* input) final;
432  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
434  ::google::protobuf::io::CodedOutputStream* output) const final;
435  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
436  ::google::protobuf::uint8* target) const final;
437  int GetCachedSize() const final { return _cached_size_.Get(); }
438 
439  private:
440  void SharedCtor();
441  void SharedDtor();
442  void SetCachedSize(int size) const final;
443  void InternalSwap(RoutingSearchParameters* other);
444  private:
445  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
446  return nullptr;
447  }
448  inline void* MaybeArenaPtr() const {
449  return nullptr;
450  }
451  public:
452 
453  ::google::protobuf::Metadata GetMetadata() const final;
454 
455  // nested types ----------------------------------------------------
456 
457  typedef RoutingSearchParameters_LocalSearchNeighborhoodOperators LocalSearchNeighborhoodOperators;
458 
459  // accessors -------------------------------------------------------
460 
461  // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
462  bool has_local_search_operators() const;
463  void clear_local_search_operators();
464  static const int kLocalSearchOperatorsFieldNumber = 3;
465  const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& local_search_operators() const;
468  void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* local_search_operators);
469 
470  // .google.protobuf.Duration time_limit = 9;
471  bool has_time_limit() const;
472  void clear_time_limit();
473  static const int kTimeLimitFieldNumber = 9;
474  const ::google::protobuf::Duration& time_limit() const;
475  ::google::protobuf::Duration* release_time_limit();
476  ::google::protobuf::Duration* mutable_time_limit();
477  void set_allocated_time_limit(::google::protobuf::Duration* time_limit);
478 
479  // .google.protobuf.Duration lns_time_limit = 10;
480  bool has_lns_time_limit() const;
481  void clear_lns_time_limit();
482  static const int kLnsTimeLimitFieldNumber = 10;
483  const ::google::protobuf::Duration& lns_time_limit() const;
484  ::google::protobuf::Duration* release_lns_time_limit();
485  ::google::protobuf::Duration* mutable_lns_time_limit();
486  void set_allocated_lns_time_limit(::google::protobuf::Duration* lns_time_limit);
487 
488  // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
489  void clear_first_solution_strategy();
490  static const int kFirstSolutionStrategyFieldNumber = 1;
491  ::operations_research::FirstSolutionStrategy_Value first_solution_strategy() const;
492  void set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value);
493 
494  // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
495  void clear_local_search_metaheuristic();
496  static const int kLocalSearchMetaheuristicFieldNumber = 4;
497  ::operations_research::LocalSearchMetaheuristic_Value local_search_metaheuristic() const;
498  void set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value);
499 
500  // double guided_local_search_lambda_coefficient = 5;
501  void clear_guided_local_search_lambda_coefficient();
502  static const int kGuidedLocalSearchLambdaCoefficientFieldNumber = 5;
503  double guided_local_search_lambda_coefficient() const;
504  void set_guided_local_search_lambda_coefficient(double value);
505 
506  // double optimization_step = 7;
507  void clear_optimization_step();
508  static const int kOptimizationStepFieldNumber = 7;
509  double optimization_step() const;
510  void set_optimization_step(double value);
511 
512  // int64 solution_limit = 8;
513  void clear_solution_limit();
514  static const int kSolutionLimitFieldNumber = 8;
515  ::google::protobuf::int64 solution_limit() const;
516  void set_solution_limit(::google::protobuf::int64 value);
517 
518  // bool use_unfiltered_first_solution_strategy = 2;
519  void clear_use_unfiltered_first_solution_strategy();
520  static const int kUseUnfilteredFirstSolutionStrategyFieldNumber = 2;
521  bool use_unfiltered_first_solution_strategy() const;
522  void set_use_unfiltered_first_solution_strategy(bool value);
523 
524  // bool savings_add_reverse_arcs = 15;
525  void clear_savings_add_reverse_arcs();
526  static const int kSavingsAddReverseArcsFieldNumber = 15;
527  bool savings_add_reverse_arcs() const;
528  void set_savings_add_reverse_arcs(bool value);
529 
530  // bool savings_parallel_routes = 19;
531  void clear_savings_parallel_routes();
532  static const int kSavingsParallelRoutesFieldNumber = 19;
533  bool savings_parallel_routes() const;
534  void set_savings_parallel_routes(bool value);
535 
536  // bool use_depth_first_search = 6;
537  void clear_use_depth_first_search();
538  static const int kUseDepthFirstSearchFieldNumber = 6;
539  bool use_depth_first_search() const;
540  void set_use_depth_first_search(bool value);
541 
542  // bool use_full_propagation = 11;
543  void clear_use_full_propagation();
544  static const int kUseFullPropagationFieldNumber = 11;
545  bool use_full_propagation() const;
546  void set_use_full_propagation(bool value);
547 
548  // bool log_search = 13;
549  void clear_log_search();
550  static const int kLogSearchFieldNumber = 13;
551  bool log_search() const;
552  void set_log_search(bool value);
553 
554  // double savings_neighbors_ratio = 14;
555  void clear_savings_neighbors_ratio();
556  static const int kSavingsNeighborsRatioFieldNumber = 14;
557  double savings_neighbors_ratio() const;
558  void set_savings_neighbors_ratio(double value);
559 
560  // double cheapest_insertion_farthest_seeds_ratio = 16;
561  void clear_cheapest_insertion_farthest_seeds_ratio();
562  static const int kCheapestInsertionFarthestSeedsRatioFieldNumber = 16;
563  double cheapest_insertion_farthest_seeds_ratio() const;
564  void set_cheapest_insertion_farthest_seeds_ratio(double value);
565 
566  // double savings_arc_coefficient = 18;
567  void clear_savings_arc_coefficient();
568  static const int kSavingsArcCoefficientFieldNumber = 18;
569  double savings_arc_coefficient() const;
570  void set_savings_arc_coefficient(double value);
571 
572  // int32 number_of_solutions_to_collect = 17;
573  void clear_number_of_solutions_to_collect();
574  static const int kNumberOfSolutionsToCollectFieldNumber = 17;
575  ::google::protobuf::int32 number_of_solutions_to_collect() const;
576  void set_number_of_solutions_to_collect(::google::protobuf::int32 value);
577 
578  // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
579  void clear_relocate_expensive_chain_num_arcs_to_consider();
580  static const int kRelocateExpensiveChainNumArcsToConsiderFieldNumber = 20;
581  ::google::protobuf::int32 relocate_expensive_chain_num_arcs_to_consider() const;
582  void set_relocate_expensive_chain_num_arcs_to_consider(::google::protobuf::int32 value);
583 
584  // double cheapest_insertion_neighbors_ratio = 21;
585  void clear_cheapest_insertion_neighbors_ratio();
586  static const int kCheapestInsertionNeighborsRatioFieldNumber = 21;
587  double cheapest_insertion_neighbors_ratio() const;
588  void set_cheapest_insertion_neighbors_ratio(double value);
589 
590  // double log_cost_scaling_factor = 22;
591  void clear_log_cost_scaling_factor();
592  static const int kLogCostScalingFactorFieldNumber = 22;
593  double log_cost_scaling_factor() const;
594  void set_log_cost_scaling_factor(double value);
595 
596  // double savings_max_memory_usage_bytes = 23;
597  void clear_savings_max_memory_usage_bytes();
598  static const int kSavingsMaxMemoryUsageBytesFieldNumber = 23;
599  double savings_max_memory_usage_bytes() const;
600  void set_savings_max_memory_usage_bytes(double value);
601 
602  // .operations_research.OptionalBoolean use_cp_sat = 27;
603  void clear_use_cp_sat();
604  static const int kUseCpSatFieldNumber = 27;
605  ::operations_research::OptionalBoolean use_cp_sat() const;
606  void set_use_cp_sat(::operations_research::OptionalBoolean value);
607 
608  // .operations_research.OptionalBoolean use_cp = 28;
609  void clear_use_cp();
610  static const int kUseCpFieldNumber = 28;
611  ::operations_research::OptionalBoolean use_cp() const;
612  void set_use_cp(::operations_research::OptionalBoolean value);
613 
614  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
615  private:
616  class HasBitSetters;
617 
618  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
620  ::google::protobuf::Duration* time_limit_;
621  ::google::protobuf::Duration* lns_time_limit_;
622  int first_solution_strategy_;
623  int local_search_metaheuristic_;
624  double guided_local_search_lambda_coefficient_;
625  double optimization_step_;
626  ::google::protobuf::int64 solution_limit_;
627  bool use_unfiltered_first_solution_strategy_;
628  bool savings_add_reverse_arcs_;
629  bool savings_parallel_routes_;
630  bool use_depth_first_search_;
631  bool use_full_propagation_;
632  bool log_search_;
633  double savings_neighbors_ratio_;
634  double cheapest_insertion_farthest_seeds_ratio_;
635  double savings_arc_coefficient_;
636  ::google::protobuf::int32 number_of_solutions_to_collect_;
637  ::google::protobuf::int32 relocate_expensive_chain_num_arcs_to_consider_;
638  double cheapest_insertion_neighbors_ratio_;
639  double log_cost_scaling_factor_;
640  double savings_max_memory_usage_bytes_;
641  int use_cp_sat_;
642  int use_cp_;
643  mutable ::google::protobuf::internal::CachedSize _cached_size_;
645 };
646 // -------------------------------------------------------------------
647 
649  public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingModelParameters) */ {
650  public:
652  virtual ~RoutingModelParameters();
653 
655 
657  CopyFrom(from);
658  return *this;
659  }
660  #if LANG_CXX11
663  *this = ::std::move(from);
664  }
665 
666  inline RoutingModelParameters& operator=(RoutingModelParameters&& from) noexcept {
667  if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
668  if (this != &from) InternalSwap(&from);
669  } else {
670  CopyFrom(from);
671  }
672  return *this;
673  }
674  #endif
675  static const ::google::protobuf::Descriptor* descriptor() {
676  return default_instance().GetDescriptor();
677  }
679 
680  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
681  static inline const RoutingModelParameters* internal_default_instance() {
682  return reinterpret_cast<const RoutingModelParameters*>(
684  }
685  static constexpr int kIndexInFileMessages =
686  2;
687 
690  a.Swap(&b);
691  }
693  // implements Message ----------------------------------------------
694 
695  inline RoutingModelParameters* New() const final {
696  return CreateMaybeMessage<RoutingModelParameters>(nullptr);
697  }
699  RoutingModelParameters* New(::google::protobuf::Arena* arena) const final {
700  return CreateMaybeMessage<RoutingModelParameters>(arena);
701  }
702  void CopyFrom(const ::google::protobuf::Message& from) final;
703  void MergeFrom(const ::google::protobuf::Message& from) final;
704  void CopyFrom(const RoutingModelParameters& from);
705  void MergeFrom(const RoutingModelParameters& from);
706  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
707  bool IsInitialized() const final;
708 
709  size_t ByteSizeLong() const final;
710  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
711  static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx);
712  ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; }
713  #else
715  ::google::protobuf::io::CodedInputStream* input) final;
716  #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
718  ::google::protobuf::io::CodedOutputStream* output) const final;
719  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
720  ::google::protobuf::uint8* target) const final;
721  int GetCachedSize() const final { return _cached_size_.Get(); }
722 
723  private:
724  void SharedCtor();
725  void SharedDtor();
726  void SetCachedSize(int size) const final;
727  void InternalSwap(RoutingModelParameters* other);
728  private:
729  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
730  return nullptr;
731  }
732  inline void* MaybeArenaPtr() const {
733  return nullptr;
734  }
735  public:
736 
737  ::google::protobuf::Metadata GetMetadata() const final;
738 
739  // nested types ----------------------------------------------------
740 
741  // accessors -------------------------------------------------------
742 
743  // .operations_research.ConstraintSolverParameters solver_parameters = 1;
744  bool has_solver_parameters() const;
745  void clear_solver_parameters();
746  static const int kSolverParametersFieldNumber = 1;
747  const ::operations_research::ConstraintSolverParameters& solver_parameters() const;
748  ::operations_research::ConstraintSolverParameters* release_solver_parameters();
749  ::operations_research::ConstraintSolverParameters* mutable_solver_parameters();
750  void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters* solver_parameters);
751 
752  // bool reduce_vehicle_cost_model = 2;
753  void clear_reduce_vehicle_cost_model();
754  static const int kReduceVehicleCostModelFieldNumber = 2;
755  bool reduce_vehicle_cost_model() const;
756  void set_reduce_vehicle_cost_model(bool value);
758  // int32 max_callback_cache_size = 3;
759  void clear_max_callback_cache_size();
760  static const int kMaxCallbackCacheSizeFieldNumber = 3;
761  ::google::protobuf::int32 max_callback_cache_size() const;
762  void set_max_callback_cache_size(::google::protobuf::int32 value);
764  // @@protoc_insertion_point(class_scope:operations_research.RoutingModelParameters)
765  private:
766  class HasBitSetters;
767 
768  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
769  ::operations_research::ConstraintSolverParameters* solver_parameters_;
770  bool reduce_vehicle_cost_model_;
771  ::google::protobuf::int32 max_callback_cache_size_;
772  mutable ::google::protobuf::internal::CachedSize _cached_size_;
774 };
775 // ===================================================================
777 
778 // ===================================================================
779 
780 #ifdef __GNUC__
781  #pragma GCC diagnostic push
782  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
783 #endif // __GNUC__
784 // RoutingSearchParameters_LocalSearchNeighborhoodOperators
785 
786 // .operations_research.OptionalBoolean use_relocate = 1;
788  use_relocate_ = 0;
789 }
790 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate() const {
791  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
792  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_);
793 }
794 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate(::operations_research::OptionalBoolean value) {
795 
796  use_relocate_ = value;
797  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
798 }
800 // .operations_research.OptionalBoolean use_relocate_pair = 2;
802  use_relocate_pair_ = 0;
803 }
804 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_pair() const {
805  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
806  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_pair_);
807 }
808 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_pair(::operations_research::OptionalBoolean value) {
809 
810  use_relocate_pair_ = value;
811  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
812 }
814 // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
816  use_light_relocate_pair_ = 0;
817 }
818 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_light_relocate_pair() const {
819  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
820  return static_cast< ::operations_research::OptionalBoolean >(use_light_relocate_pair_);
821 }
822 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_light_relocate_pair(::operations_research::OptionalBoolean value) {
823 
824  use_light_relocate_pair_ = value;
825  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
826 }
828 // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
830  use_relocate_neighbors_ = 0;
831 }
832 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_neighbors() const {
833  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
834  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_neighbors_);
835 }
836 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_neighbors(::operations_research::OptionalBoolean value) {
837 
838  use_relocate_neighbors_ = value;
839  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
840 }
842 // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
844  use_relocate_subtrip_ = 0;
845 }
846 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_subtrip() const {
847  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
848  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_subtrip_);
849 }
850 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_subtrip(::operations_research::OptionalBoolean value) {
851 
852  use_relocate_subtrip_ = value;
853  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
854 }
856 // .operations_research.OptionalBoolean use_exchange = 4;
858  use_exchange_ = 0;
859 }
860 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange() const {
861  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
862  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_);
863 }
864 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange(::operations_research::OptionalBoolean value) {
865 
866  use_exchange_ = value;
867  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
868 }
870 // .operations_research.OptionalBoolean use_exchange_pair = 22;
872  use_exchange_pair_ = 0;
873 }
874 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_pair() const {
875  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
876  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_pair_);
877 }
878 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange_pair(::operations_research::OptionalBoolean value) {
879 
880  use_exchange_pair_ = value;
881  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
882 }
884 // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
886  use_exchange_subtrip_ = 0;
887 }
888 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_subtrip() const {
889  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
890  return static_cast< ::operations_research::OptionalBoolean >(use_exchange_subtrip_);
891 }
892 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_exchange_subtrip(::operations_research::OptionalBoolean value) {
893 
894  use_exchange_subtrip_ = value;
895  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
896 }
898 // .operations_research.OptionalBoolean use_cross = 5;
900  use_cross_ = 0;
901 }
902 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross() const {
903  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
904  return static_cast< ::operations_research::OptionalBoolean >(use_cross_);
905 }
906 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_cross(::operations_research::OptionalBoolean value) {
907 
908  use_cross_ = value;
909  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
910 }
912 // .operations_research.OptionalBoolean use_cross_exchange = 6;
914  use_cross_exchange_ = 0;
915 }
916 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross_exchange() const {
917  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
918  return static_cast< ::operations_research::OptionalBoolean >(use_cross_exchange_);
919 }
920 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_cross_exchange(::operations_research::OptionalBoolean value) {
921 
922  use_cross_exchange_ = value;
923  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
924 }
926 // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
928  use_relocate_expensive_chain_ = 0;
929 }
930 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_expensive_chain() const {
931  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
932  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_expensive_chain_);
933 }
934 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value) {
935 
936  use_relocate_expensive_chain_ = value;
937  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
938 }
940 // .operations_research.OptionalBoolean use_two_opt = 7;
942  use_two_opt_ = 0;
943 }
944 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_two_opt() const {
945  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
946  return static_cast< ::operations_research::OptionalBoolean >(use_two_opt_);
947 }
948 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_two_opt(::operations_research::OptionalBoolean value) {
949 
950  use_two_opt_ = value;
951  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
952 }
954 // .operations_research.OptionalBoolean use_or_opt = 8;
956  use_or_opt_ = 0;
957 }
958 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_or_opt() const {
959  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
960  return static_cast< ::operations_research::OptionalBoolean >(use_or_opt_);
961 }
962 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_or_opt(::operations_research::OptionalBoolean value) {
963 
964  use_or_opt_ = value;
965  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
966 }
968 // .operations_research.OptionalBoolean use_lin_kernighan = 9;
970  use_lin_kernighan_ = 0;
971 }
972 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_lin_kernighan() const {
973  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
974  return static_cast< ::operations_research::OptionalBoolean >(use_lin_kernighan_);
975 }
976 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_lin_kernighan(::operations_research::OptionalBoolean value) {
977 
978  use_lin_kernighan_ = value;
979  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
980 }
982 // .operations_research.OptionalBoolean use_tsp_opt = 10;
984  use_tsp_opt_ = 0;
985 }
986 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_opt() const {
987  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
988  return static_cast< ::operations_research::OptionalBoolean >(use_tsp_opt_);
989 }
990 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_tsp_opt(::operations_research::OptionalBoolean value) {
991 
992  use_tsp_opt_ = value;
993  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
994 }
996 // .operations_research.OptionalBoolean use_make_active = 11;
998  use_make_active_ = 0;
999 }
1000 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_active() const {
1001  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1002  return static_cast< ::operations_research::OptionalBoolean >(use_make_active_);
1003 }
1004 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_active(::operations_research::OptionalBoolean value) {
1006  use_make_active_ = value;
1007  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1008 }
1010 // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
1012  use_relocate_and_make_active_ = 0;
1013 }
1014 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_and_make_active() const {
1015  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1016  return static_cast< ::operations_research::OptionalBoolean >(use_relocate_and_make_active_);
1017 }
1018 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_relocate_and_make_active(::operations_research::OptionalBoolean value) {
1020  use_relocate_and_make_active_ = value;
1021  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1022 }
1024 // .operations_research.OptionalBoolean use_make_inactive = 12;
1026  use_make_inactive_ = 0;
1027 }
1028 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_inactive() const {
1029  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1030  return static_cast< ::operations_research::OptionalBoolean >(use_make_inactive_);
1031 }
1032 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_inactive(::operations_research::OptionalBoolean value) {
1034  use_make_inactive_ = value;
1035  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1036 }
1038 // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
1040  use_make_chain_inactive_ = 0;
1041 }
1042 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_chain_inactive() const {
1043  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
1044  return static_cast< ::operations_research::OptionalBoolean >(use_make_chain_inactive_);
1045 }
1046 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_make_chain_inactive(::operations_research::OptionalBoolean value) {
1048  use_make_chain_inactive_ = value;
1049  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
1050 }
1052 // .operations_research.OptionalBoolean use_swap_active = 14;
1054  use_swap_active_ = 0;
1055 }
1056 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_swap_active() const {
1057  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
1058  return static_cast< ::operations_research::OptionalBoolean >(use_swap_active_);
1059 }
1060 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_swap_active(::operations_research::OptionalBoolean value) {
1062  use_swap_active_ = value;
1063  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
1064 }
1066 // .operations_research.OptionalBoolean use_extended_swap_active = 15;
1068  use_extended_swap_active_ = 0;
1069 }
1070 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_extended_swap_active() const {
1071  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
1072  return static_cast< ::operations_research::OptionalBoolean >(use_extended_swap_active_);
1073 }
1074 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_extended_swap_active(::operations_research::OptionalBoolean value) {
1076  use_extended_swap_active_ = value;
1077  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
1078 }
1080 // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
1082  use_node_pair_swap_active_ = 0;
1083 }
1084 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_node_pair_swap_active() const {
1085  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
1086  return static_cast< ::operations_research::OptionalBoolean >(use_node_pair_swap_active_);
1087 }
1088 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_node_pair_swap_active(::operations_research::OptionalBoolean value) {
1090  use_node_pair_swap_active_ = value;
1091  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
1092 }
1094 // .operations_research.OptionalBoolean use_path_lns = 16;
1096  use_path_lns_ = 0;
1097 }
1098 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_path_lns() const {
1099  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
1100  return static_cast< ::operations_research::OptionalBoolean >(use_path_lns_);
1101 }
1102 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_path_lns(::operations_research::OptionalBoolean value) {
1104  use_path_lns_ = value;
1105  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
1106 }
1108 // .operations_research.OptionalBoolean use_full_path_lns = 17;
1110  use_full_path_lns_ = 0;
1111 }
1112 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_full_path_lns() const {
1113  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
1114  return static_cast< ::operations_research::OptionalBoolean >(use_full_path_lns_);
1115 }
1116 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_full_path_lns(::operations_research::OptionalBoolean value) {
1118  use_full_path_lns_ = value;
1119  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
1120 }
1122 // .operations_research.OptionalBoolean use_tsp_lns = 18;
1124  use_tsp_lns_ = 0;
1125 }
1126 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_lns() const {
1127  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
1128  return static_cast< ::operations_research::OptionalBoolean >(use_tsp_lns_);
1129 }
1130 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_tsp_lns(::operations_research::OptionalBoolean value) {
1132  use_tsp_lns_ = value;
1133  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
1134 }
1136 // .operations_research.OptionalBoolean use_inactive_lns = 19;
1138  use_inactive_lns_ = 0;
1139 }
1140 inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_inactive_lns() const {
1141  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
1142  return static_cast< ::operations_research::OptionalBoolean >(use_inactive_lns_);
1143 }
1144 inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::set_use_inactive_lns(::operations_research::OptionalBoolean value) {
1146  use_inactive_lns_ = value;
1147  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
1148 }
1150 // -------------------------------------------------------------------
1151 
1152 // RoutingSearchParameters
1153 
1154 // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
1156  first_solution_strategy_ = 0;
1157 }
1159  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.first_solution_strategy)
1160  return static_cast< ::operations_research::FirstSolutionStrategy_Value >(first_solution_strategy_);
1163 
1164  first_solution_strategy_ = value;
1165  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.first_solution_strategy)
1166 }
1167 
1168 // bool use_unfiltered_first_solution_strategy = 2;
1170  use_unfiltered_first_solution_strategy_ = false;
1171 }
1173  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
1174  return use_unfiltered_first_solution_strategy_;
1177 
1178  use_unfiltered_first_solution_strategy_ = value;
1179  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
1180 }
1181 
1182 // double savings_neighbors_ratio = 14;
1184  savings_neighbors_ratio_ = 0;
1185 }
1187  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
1188  return savings_neighbors_ratio_;
1190 inline void RoutingSearchParameters::set_savings_neighbors_ratio(double value) {
1191 
1192  savings_neighbors_ratio_ = value;
1193  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
1194 }
1195 
1196 // double savings_max_memory_usage_bytes = 23;
1198  savings_max_memory_usage_bytes_ = 0;
1199 }
1201  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
1202  return savings_max_memory_usage_bytes_;
1205 
1206  savings_max_memory_usage_bytes_ = value;
1207  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
1208 }
1209 
1210 // bool savings_add_reverse_arcs = 15;
1212  savings_add_reverse_arcs_ = false;
1213 }
1215  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
1216  return savings_add_reverse_arcs_;
1219 
1220  savings_add_reverse_arcs_ = value;
1221  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
1222 }
1223 
1224 // double savings_arc_coefficient = 18;
1226  savings_arc_coefficient_ = 0;
1227 }
1229  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_arc_coefficient)
1230  return savings_arc_coefficient_;
1232 inline void RoutingSearchParameters::set_savings_arc_coefficient(double value) {
1233 
1234  savings_arc_coefficient_ = value;
1235  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_arc_coefficient)
1236 }
1237 
1238 // bool savings_parallel_routes = 19;
1240  savings_parallel_routes_ = false;
1241 }
1243  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_parallel_routes)
1244  return savings_parallel_routes_;
1247 
1248  savings_parallel_routes_ = value;
1249  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_parallel_routes)
1250 }
1251 
1252 // double cheapest_insertion_farthest_seeds_ratio = 16;
1254  cheapest_insertion_farthest_seeds_ratio_ = 0;
1255 }
1257  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
1258  return cheapest_insertion_farthest_seeds_ratio_;
1261 
1262  cheapest_insertion_farthest_seeds_ratio_ = value;
1263  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
1264 }
1265 
1266 // double cheapest_insertion_neighbors_ratio = 21;
1268  cheapest_insertion_neighbors_ratio_ = 0;
1269 }
1271  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_neighbors_ratio)
1272  return cheapest_insertion_neighbors_ratio_;
1275 
1276  cheapest_insertion_neighbors_ratio_ = value;
1277  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_neighbors_ratio)
1278 }
1279 
1280 // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
1282  return this != internal_default_instance() && local_search_operators_ != nullptr;
1283 }
1285  if (GetArenaNoVirtual() == nullptr && local_search_operators_ != nullptr) {
1286  delete local_search_operators_;
1287  }
1288  local_search_operators_ = nullptr;
1289 }
1290 inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::local_search_operators() const {
1291  const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* p = local_search_operators_;
1292  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_operators)
1293  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(
1295 }
1296 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::release_local_search_operators() {
1297  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.local_search_operators)
1298 
1300  local_search_operators_ = nullptr;
1301  return temp;
1303 inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::mutable_local_search_operators() {
1304 
1305  if (local_search_operators_ == nullptr) {
1306  auto* p = CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(GetArenaNoVirtual());
1307  local_search_operators_ = p;
1308  }
1309  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.local_search_operators)
1310  return local_search_operators_;
1311 }
1313  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
1314  if (message_arena == nullptr) {
1315  delete local_search_operators_;
1316  }
1317  if (local_search_operators) {
1318  ::google::protobuf::Arena* submessage_arena = nullptr;
1319  if (message_arena != submessage_arena) {
1320  local_search_operators = ::google::protobuf::internal::GetOwnedMessage(
1321  message_arena, local_search_operators, submessage_arena);
1322  }
1323 
1324  } else {
1325 
1326  }
1327  local_search_operators_ = local_search_operators;
1328  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
1329 }
1330 
1331 // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
1333  relocate_expensive_chain_num_arcs_to_consider_ = 0;
1334 }
1335 inline ::google::protobuf::int32 RoutingSearchParameters::relocate_expensive_chain_num_arcs_to_consider() const {
1336  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
1337  return relocate_expensive_chain_num_arcs_to_consider_;
1339 inline void RoutingSearchParameters::set_relocate_expensive_chain_num_arcs_to_consider(::google::protobuf::int32 value) {
1340 
1341  relocate_expensive_chain_num_arcs_to_consider_ = value;
1342  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
1343 }
1344 
1345 // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
1347  local_search_metaheuristic_ = 0;
1348 }
1350  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_metaheuristic)
1351  return static_cast< ::operations_research::LocalSearchMetaheuristic_Value >(local_search_metaheuristic_);
1354 
1355  local_search_metaheuristic_ = value;
1356  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.local_search_metaheuristic)
1357 }
1358 
1359 // double guided_local_search_lambda_coefficient = 5;
1361  guided_local_search_lambda_coefficient_ = 0;
1362 }
1364  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
1365  return guided_local_search_lambda_coefficient_;
1368 
1369  guided_local_search_lambda_coefficient_ = value;
1370  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
1371 }
1372 
1373 // bool use_depth_first_search = 6;
1375  use_depth_first_search_ = false;
1376 }
1378  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_depth_first_search)
1379  return use_depth_first_search_;
1382 
1383  use_depth_first_search_ = value;
1384  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_depth_first_search)
1385 }
1386 
1387 // .operations_research.OptionalBoolean use_cp = 28;
1389  use_cp_ = 0;
1390 }
1391 inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp() const {
1392  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp)
1393  return static_cast< ::operations_research::OptionalBoolean >(use_cp_);
1395 inline void RoutingSearchParameters::set_use_cp(::operations_research::OptionalBoolean value) {
1396 
1397  use_cp_ = value;
1398  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp)
1399 }
1400 
1401 // .operations_research.OptionalBoolean use_cp_sat = 27;
1403  use_cp_sat_ = 0;
1404 }
1405 inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp_sat() const {
1406  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp_sat)
1407  return static_cast< ::operations_research::OptionalBoolean >(use_cp_sat_);
1409 inline void RoutingSearchParameters::set_use_cp_sat(::operations_research::OptionalBoolean value) {
1410 
1411  use_cp_sat_ = value;
1412  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp_sat)
1413 }
1414 
1415 // double optimization_step = 7;
1417  optimization_step_ = 0;
1418 }
1419 inline double RoutingSearchParameters::optimization_step() const {
1420  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.optimization_step)
1421  return optimization_step_;
1423 inline void RoutingSearchParameters::set_optimization_step(double value) {
1424 
1425  optimization_step_ = value;
1426  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.optimization_step)
1427 }
1428 
1429 // int32 number_of_solutions_to_collect = 17;
1431  number_of_solutions_to_collect_ = 0;
1432 }
1433 inline ::google::protobuf::int32 RoutingSearchParameters::number_of_solutions_to_collect() const {
1434  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
1435  return number_of_solutions_to_collect_;
1437 inline void RoutingSearchParameters::set_number_of_solutions_to_collect(::google::protobuf::int32 value) {
1438 
1439  number_of_solutions_to_collect_ = value;
1440  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
1441 }
1442 
1443 // int64 solution_limit = 8;
1445  solution_limit_ = PROTOBUF_LONGLONG(0);
1446 }
1447 inline ::google::protobuf::int64 RoutingSearchParameters::solution_limit() const {
1448  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.solution_limit)
1449  return solution_limit_;
1451 inline void RoutingSearchParameters::set_solution_limit(::google::protobuf::int64 value) {
1452 
1453  solution_limit_ = value;
1454  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.solution_limit)
1455 }
1456 
1457 // .google.protobuf.Duration time_limit = 9;
1458 inline bool RoutingSearchParameters::has_time_limit() const {
1459  return this != internal_default_instance() && time_limit_ != nullptr;
1460 }
1461 inline const ::google::protobuf::Duration& RoutingSearchParameters::time_limit() const {
1462  const ::google::protobuf::Duration* p = time_limit_;
1463  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.time_limit)
1464  return p != nullptr ? *p : *reinterpret_cast<const ::google::protobuf::Duration*>(
1465  &::google::protobuf::_Duration_default_instance_);
1466 }
1467 inline ::google::protobuf::Duration* RoutingSearchParameters::release_time_limit() {
1468  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.time_limit)
1469 
1470  ::google::protobuf::Duration* temp = time_limit_;
1471  time_limit_ = nullptr;
1472  return temp;
1474 inline ::google::protobuf::Duration* RoutingSearchParameters::mutable_time_limit() {
1475 
1476  if (time_limit_ == nullptr) {
1477  auto* p = CreateMaybeMessage<::google::protobuf::Duration>(GetArenaNoVirtual());
1478  time_limit_ = p;
1479  }
1480  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.time_limit)
1481  return time_limit_;
1482 }
1483 inline void RoutingSearchParameters::set_allocated_time_limit(::google::protobuf::Duration* time_limit) {
1484  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
1485  if (message_arena == nullptr) {
1486  delete reinterpret_cast< ::google::protobuf::MessageLite*>(time_limit_);
1487  }
1488  if (time_limit) {
1489  ::google::protobuf::Arena* submessage_arena =
1490  reinterpret_cast<::google::protobuf::MessageLite*>(time_limit)->GetArena();
1491  if (message_arena != submessage_arena) {
1492  time_limit = ::google::protobuf::internal::GetOwnedMessage(
1493  message_arena, time_limit, submessage_arena);
1494  }
1495 
1496  } else {
1497 
1498  }
1499  time_limit_ = time_limit;
1500  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.time_limit)
1501 }
1502 
1503 // .google.protobuf.Duration lns_time_limit = 10;
1504 inline bool RoutingSearchParameters::has_lns_time_limit() const {
1505  return this != internal_default_instance() && lns_time_limit_ != nullptr;
1506 }
1507 inline const ::google::protobuf::Duration& RoutingSearchParameters::lns_time_limit() const {
1508  const ::google::protobuf::Duration* p = lns_time_limit_;
1509  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.lns_time_limit)
1510  return p != nullptr ? *p : *reinterpret_cast<const ::google::protobuf::Duration*>(
1511  &::google::protobuf::_Duration_default_instance_);
1512 }
1513 inline ::google::protobuf::Duration* RoutingSearchParameters::release_lns_time_limit() {
1514  // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.lns_time_limit)
1515 
1516  ::google::protobuf::Duration* temp = lns_time_limit_;
1517  lns_time_limit_ = nullptr;
1518  return temp;
1520 inline ::google::protobuf::Duration* RoutingSearchParameters::mutable_lns_time_limit() {
1521 
1522  if (lns_time_limit_ == nullptr) {
1523  auto* p = CreateMaybeMessage<::google::protobuf::Duration>(GetArenaNoVirtual());
1524  lns_time_limit_ = p;
1525  }
1526  // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.lns_time_limit)
1527  return lns_time_limit_;
1528 }
1529 inline void RoutingSearchParameters::set_allocated_lns_time_limit(::google::protobuf::Duration* lns_time_limit) {
1530  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
1531  if (message_arena == nullptr) {
1532  delete reinterpret_cast< ::google::protobuf::MessageLite*>(lns_time_limit_);
1533  }
1534  if (lns_time_limit) {
1535  ::google::protobuf::Arena* submessage_arena =
1536  reinterpret_cast<::google::protobuf::MessageLite*>(lns_time_limit)->GetArena();
1537  if (message_arena != submessage_arena) {
1538  lns_time_limit = ::google::protobuf::internal::GetOwnedMessage(
1539  message_arena, lns_time_limit, submessage_arena);
1540  }
1541 
1542  } else {
1543 
1544  }
1545  lns_time_limit_ = lns_time_limit;
1546  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
1547 }
1548 
1549 // bool use_full_propagation = 11;
1551  use_full_propagation_ = false;
1552 }
1554  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_full_propagation)
1555  return use_full_propagation_;
1557 inline void RoutingSearchParameters::set_use_full_propagation(bool value) {
1558 
1559  use_full_propagation_ = value;
1560  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_full_propagation)
1561 }
1562 
1563 // bool log_search = 13;
1565  log_search_ = false;
1566 }
1567 inline bool RoutingSearchParameters::log_search() const {
1568  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_search)
1569  return log_search_;
1571 inline void RoutingSearchParameters::set_log_search(bool value) {
1572 
1573  log_search_ = value;
1574  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_search)
1575 }
1576 
1577 // double log_cost_scaling_factor = 22;
1579  log_cost_scaling_factor_ = 0;
1580 }
1582  // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
1583  return log_cost_scaling_factor_;
1585 inline void RoutingSearchParameters::set_log_cost_scaling_factor(double value) {
1586 
1587  log_cost_scaling_factor_ = value;
1588  // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
1589 }
1590 
1591 // -------------------------------------------------------------------
1592 
1593 // RoutingModelParameters
1594 
1595 // .operations_research.ConstraintSolverParameters solver_parameters = 1;
1597  return this != internal_default_instance() && solver_parameters_ != nullptr;
1598 }
1599 inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::solver_parameters() const {
1600  const ::operations_research::ConstraintSolverParameters* p = solver_parameters_;
1601  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.solver_parameters)
1602  return p != nullptr ? *p : *reinterpret_cast<const ::operations_research::ConstraintSolverParameters*>(
1603  &::operations_research::_ConstraintSolverParameters_default_instance_);
1604 }
1605 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::release_solver_parameters() {
1606  // @@protoc_insertion_point(field_release:operations_research.RoutingModelParameters.solver_parameters)
1607 
1608  ::operations_research::ConstraintSolverParameters* temp = solver_parameters_;
1609  solver_parameters_ = nullptr;
1610  return temp;
1611 }
1612 inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::mutable_solver_parameters() {
1613 
1614  if (solver_parameters_ == nullptr) {
1615  auto* p = CreateMaybeMessage<::operations_research::ConstraintSolverParameters>(GetArenaNoVirtual());
1616  solver_parameters_ = p;
1617  }
1618  // @@protoc_insertion_point(field_mutable:operations_research.RoutingModelParameters.solver_parameters)
1619  return solver_parameters_;
1620 }
1621 inline void RoutingModelParameters::set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters* solver_parameters) {
1622  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
1623  if (message_arena == nullptr) {
1624  delete reinterpret_cast< ::google::protobuf::MessageLite*>(solver_parameters_);
1625  }
1626  if (solver_parameters) {
1627  ::google::protobuf::Arena* submessage_arena = nullptr;
1628  if (message_arena != submessage_arena) {
1629  solver_parameters = ::google::protobuf::internal::GetOwnedMessage(
1630  message_arena, solver_parameters, submessage_arena);
1631  }
1632 
1633  } else {
1634 
1635  }
1636  solver_parameters_ = solver_parameters;
1637  // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
1638 }
1639 
1640 // bool reduce_vehicle_cost_model = 2;
1642  reduce_vehicle_cost_model_ = false;
1643 }
1645  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
1646  return reduce_vehicle_cost_model_;
1647 }
1649 
1650  reduce_vehicle_cost_model_ = value;
1651  // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
1652 }
1653 
1654 // int32 max_callback_cache_size = 3;
1656  max_callback_cache_size_ = 0;
1657 }
1658 inline ::google::protobuf::int32 RoutingModelParameters::max_callback_cache_size() const {
1659  // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.max_callback_cache_size)
1660  return max_callback_cache_size_;
1661 }
1662 inline void RoutingModelParameters::set_max_callback_cache_size(::google::protobuf::int32 value) {
1663 
1664  max_callback_cache_size_ = value;
1665  // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.max_callback_cache_size)
1666 }
1667 
1668 #ifdef __GNUC__
1669  #pragma GCC diagnostic pop
1670 #endif // __GNUC__
1671 // -------------------------------------------------------------------
1672 
1673 // -------------------------------------------------------------------
1674 
1675 
1676 // @@protoc_insertion_point(namespace_scope)
1677 
1678 } // namespace operations_research
1679 
1680 // @@protoc_insertion_point(global_scope)
1681 
1682 #include <google/protobuf/port_undef.inc>
1683 #endif // PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
void clear_use_make_active()
.operations_research.OptionalBoolean use_make_active = 11;
::google::protobuf::int32 relocate_expensive_chain_num_arcs_to_consider() const
::google::protobuf::Duration * release_lns_time_limit()
void set_use_node_pair_swap_active(::operations_research::OptionalBoolean value)
void set_allocated_time_limit(::google::protobuf::Duration *time_limit)
void clear_savings_arc_coefficient()
double savings_arc_coefficient = 18;
bool has_local_search_operators() const
accessors ----------------------------------------------------—
void Swap(RoutingModelParameters *other)
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * mutable_local_search_operators()
void clear_cheapest_insertion_neighbors_ratio()
double cheapest_insertion_neighbors_ratio = 21;
::google::protobuf::uint8 * InternalSerializeWithCachedSizesToArray(::google::protobuf::uint8 *target) const final
void clear_solution_limit()
int64 solution_limit = 8;
void Swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators *other)
void clear_use_relocate_pair()
.operations_research.OptionalBoolean use_relocate_pair = 2;
void CopyFrom(const ::google::protobuf::Message &from) final
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;
::operations_research::FirstSolutionStrategy_Value first_solution_strategy() const
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;
::google::protobuf::Duration * mutable_lns_time_limit()
void clear_guided_local_search_lambda_coefficient()
double guided_local_search_lambda_coefficient = 5;
::google::protobuf::int64 solution_limit() const
void clear_use_path_lns()
.operations_research.OptionalBoolean use_path_lns = 16;
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;
static const ::google::protobuf::internal::ParseTableField entries [] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
void clear_savings_add_reverse_arcs()
bool savings_add_reverse_arcs = 15;
void set_max_callback_cache_size(::google::protobuf::int32 value)
void set_use_cp_sat(::operations_research::OptionalBoolean value)
void Swap(RoutingSearchParameters *other)
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 SerializeWithCachedSizes(::google::protobuf::io::CodedOutputStream *output) const final
void clear_use_unfiltered_first_solution_strategy()
bool use_unfiltered_first_solution_strategy = 2;
void set_allocated_lns_time_limit(::google::protobuf::Duration *lns_time_limit)
void set_use_extended_swap_active(::operations_research::OptionalBoolean value)
void clear_savings_parallel_routes()
bool savings_parallel_routes = 19;
void clear_use_swap_active()
.operations_research.OptionalBoolean use_swap_active = 14;
void set_relocate_expensive_chain_num_arcs_to_consider(::google::protobuf::int32 value)
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;
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;
void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *solver_parameters)
void clear_max_callback_cache_size()
int32 max_callback_cache_size = 3;
void set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value)
void set_use_make_chain_inactive(::operations_research::OptionalBoolean value)
::operations_research::ConstraintSolverParameters * release_solver_parameters()
void clear_use_cp()
.operations_research.OptionalBoolean use_cp = 28;
void clear_savings_max_memory_usage_bytes()
double savings_max_memory_usage_bytes = 23;
static const ::google::protobuf::internal::SerializationTable serialization_table[]
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_
void set_number_of_solutions_to_collect(::google::protobuf::int32 value)
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators * internal_default_instance()
void clear_use_relocate_and_make_active()
.operations_research.OptionalBoolean use_relocate_and_make_active = 21;
void clear_cheapest_insertion_farthest_seeds_ratio()
double cheapest_insertion_farthest_seeds_ratio = 16;
Internal implementation detail – do not use these members.
::google::protobuf::Duration * mutable_time_limit()
void set_solution_limit(::google::protobuf::int64 value)
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;
bool MergePartialFromCodedStream(::google::protobuf::io::CodedInputStream *input) final
static const ::google::protobuf::internal::FieldMetadata field_metadata[]
void set_use_light_relocate_pair(::operations_research::OptionalBoolean value)
RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_
::operations_research::OptionalBoolean use_cp() const
::google::protobuf::int32 max_callback_cache_size() 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;
::google::protobuf::int32 number_of_solutions_to_collect() const
::operations_research::ConstraintSolverParameters * mutable_solver_parameters()
void AddDescriptors_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto()
void clear_use_two_opt()
.operations_research.OptionalBoolean use_two_opt = 7;
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in c...
void set_use_cp(::operations_research::OptionalBoolean value)
void set_use_relocate_and_make_active(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_cp_sat() const
void set_use_exchange_subtrip(::operations_research::OptionalBoolean value)
void clear_use_make_chain_inactive()
.operations_research.OptionalBoolean use_make_chain_inactive = 13;
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)
void clear_use_relocate()
nested types -------------------------------------------------—
void clear_number_of_solutions_to_collect()
int32 number_of_solutions_to_collect = 17;
const ::google::protobuf::Duration & lns_time_limit() const
::google::protobuf::Duration * release_time_limit()
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;
void clear_relocate_expensive_chain_num_arcs_to_consider()
int32 relocate_expensive_chain_num_arcs_to_consider = 20;
void clear_use_relocate_subtrip()
.operations_research.OptionalBoolean use_relocate_subtrip = 25;
void MergeFrom(const ::google::protobuf::Message &from) final
const ::google::protobuf::Duration & time_limit() const
void clear_use_cp_sat()
.operations_research.OptionalBoolean use_cp_sat = 27;
void clear_savings_neighbors_ratio()
double savings_neighbors_ratio = 14;