OR-Tools  9.2
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 < 3019000
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 3019001 < 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/metadata_lite.h>
29#include <google/protobuf/generated_message_reflection.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/generated_enum_reflection.h>
34#include <google/protobuf/unknown_field_set.h>
35#include <google/protobuf/duration.pb.h>
40// @@protoc_insertion_point(includes)
41#include <google/protobuf/port_def.inc>
42#define PROTOBUF_INTERNAL_EXPORT_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
43PROTOBUF_NAMESPACE_OPEN
44namespace internal {
45class AnyMetadata;
46} // namespace internal
47PROTOBUF_NAMESPACE_CLOSE
48
49// Internal implementation detail -- do not use these members.
51 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
53 static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
55 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4]
57 static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
58 static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
59 static const uint32_t offsets[];
60};
61extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
62namespace operations_research {
63class RoutingModelParameters;
64struct RoutingModelParametersDefaultTypeInternal;
65extern RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_;
66class RoutingSearchParameters;
67struct RoutingSearchParametersDefaultTypeInternal;
68extern RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_;
69class RoutingSearchParameters_ImprovementSearchLimitParameters;
70struct RoutingSearchParameters_ImprovementSearchLimitParametersDefaultTypeInternal;
71extern RoutingSearchParameters_ImprovementSearchLimitParametersDefaultTypeInternal _RoutingSearchParameters_ImprovementSearchLimitParameters_default_instance_;
72class RoutingSearchParameters_LocalSearchNeighborhoodOperators;
73struct RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal;
74extern RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_;
75} // namespace operations_research
76PROTOBUF_NAMESPACE_OPEN
77template<> ::operations_research::RoutingModelParameters* Arena::CreateMaybeMessage<::operations_research::RoutingModelParameters>(Arena*);
78template<> ::operations_research::RoutingSearchParameters* Arena::CreateMaybeMessage<::operations_research::RoutingSearchParameters>(Arena*);
79template<> ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* Arena::CreateMaybeMessage<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters>(Arena*);
80template<> ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* Arena::CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(Arena*);
81PROTOBUF_NAMESPACE_CLOSE
82namespace operations_research {
83
90};
95
96const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RoutingSearchParameters_SchedulingSolver_descriptor();
97template<typename T>
98inline const std::string& RoutingSearchParameters_SchedulingSolver_Name(T enum_t_value) {
101 "Incorrect type passed to function RoutingSearchParameters_SchedulingSolver_Name.");
102 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
104}
106 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RoutingSearchParameters_SchedulingSolver* value) {
107 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<RoutingSearchParameters_SchedulingSolver>(
109}
110// ===================================================================
111
113 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators) */ {
114 public:
117 explicit constexpr RoutingSearchParameters_LocalSearchNeighborhoodOperators(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
118
122 *this = ::std::move(from);
123 }
124
126 CopyFrom(from);
127 return *this;
128 }
130 if (this == &from) return *this;
131 if (GetOwningArena() == from.GetOwningArena()
132 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
133 && GetOwningArena() != nullptr
134 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
135 ) {
136 InternalSwap(&from);
137 } else {
138 CopyFrom(from);
139 }
140 return *this;
141 }
142
143 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
144 return GetDescriptor();
145 }
146 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
147 return default_instance().GetMetadata().descriptor;
148 }
149 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
150 return default_instance().GetMetadata().reflection;
151 }
154 }
156 return reinterpret_cast<const RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(
158 }
159 static constexpr int kIndexInFileMessages =
160 0;
161
163 a.Swap(&b);
164 }
166 if (other == this) return;
167 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
168 if (GetOwningArena() != nullptr &&
169 GetOwningArena() == other->GetOwningArena()) {
170 #else // PROTOBUF_FORCE_COPY_IN_SWAP
171 if (GetOwningArena() == other->GetOwningArena()) {
172 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
173 InternalSwap(other);
174 } else {
175 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
176 }
177 }
179 if (other == this) return;
180 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
181 InternalSwap(other);
182 }
183
184 // implements Message ----------------------------------------------
185
186 RoutingSearchParameters_LocalSearchNeighborhoodOperators* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
187 return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(arena);
188 }
189 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
191 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
193 private:
194 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
195 public:
196 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
197 bool IsInitialized() const final;
198
199 size_t ByteSizeLong() const final;
200 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
201 uint8_t* _InternalSerialize(
202 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
203 int GetCachedSize() const final { return _cached_size_.Get(); }
204
205 private:
206 void SharedCtor();
207 void SharedDtor();
208 void SetCachedSize(int size) const final;
210
211 private:
212 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
213 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
214 return "operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators";
215 }
216 protected:
217 explicit RoutingSearchParameters_LocalSearchNeighborhoodOperators(::PROTOBUF_NAMESPACE_ID::Arena* arena,
218 bool is_message_owned = false);
219 private:
220 static void ArenaDtor(void* object);
221 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
222 public:
223
224 static const ClassData _class_data_;
225 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
226
227 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
228
229 // nested types ----------------------------------------------------
230
231 // accessors -------------------------------------------------------
232
233 enum : int {
267 };
268 // .operations_research.OptionalBoolean use_relocate = 1;
269 void clear_use_relocate();
272 private:
273 ::operations_research::OptionalBoolean _internal_use_relocate() const;
274 void _internal_set_use_relocate(::operations_research::OptionalBoolean value);
275 public:
276
277 // .operations_research.OptionalBoolean use_relocate_pair = 2;
281 private:
282 ::operations_research::OptionalBoolean _internal_use_relocate_pair() const;
283 void _internal_set_use_relocate_pair(::operations_research::OptionalBoolean value);
284 public:
285
286 // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
290 private:
291 ::operations_research::OptionalBoolean _internal_use_relocate_neighbors() const;
292 void _internal_set_use_relocate_neighbors(::operations_research::OptionalBoolean value);
293 public:
294
295 // .operations_research.OptionalBoolean use_exchange = 4;
296 void clear_use_exchange();
299 private:
300 ::operations_research::OptionalBoolean _internal_use_exchange() const;
301 void _internal_set_use_exchange(::operations_research::OptionalBoolean value);
302 public:
303
304 // .operations_research.OptionalBoolean use_cross = 5;
305 void clear_use_cross();
308 private:
309 ::operations_research::OptionalBoolean _internal_use_cross() const;
310 void _internal_set_use_cross(::operations_research::OptionalBoolean value);
311 public:
312
313 // .operations_research.OptionalBoolean use_cross_exchange = 6;
317 private:
318 ::operations_research::OptionalBoolean _internal_use_cross_exchange() const;
319 void _internal_set_use_cross_exchange(::operations_research::OptionalBoolean value);
320 public:
321
322 // .operations_research.OptionalBoolean use_two_opt = 7;
323 void clear_use_two_opt();
326 private:
327 ::operations_research::OptionalBoolean _internal_use_two_opt() const;
328 void _internal_set_use_two_opt(::operations_research::OptionalBoolean value);
329 public:
330
331 // .operations_research.OptionalBoolean use_or_opt = 8;
332 void clear_use_or_opt();
335 private:
336 ::operations_research::OptionalBoolean _internal_use_or_opt() const;
337 void _internal_set_use_or_opt(::operations_research::OptionalBoolean value);
338 public:
339
340 // .operations_research.OptionalBoolean use_lin_kernighan = 9;
344 private:
345 ::operations_research::OptionalBoolean _internal_use_lin_kernighan() const;
346 void _internal_set_use_lin_kernighan(::operations_research::OptionalBoolean value);
347 public:
348
349 // .operations_research.OptionalBoolean use_tsp_opt = 10;
350 void clear_use_tsp_opt();
353 private:
354 ::operations_research::OptionalBoolean _internal_use_tsp_opt() const;
355 void _internal_set_use_tsp_opt(::operations_research::OptionalBoolean value);
356 public:
357
358 // .operations_research.OptionalBoolean use_make_active = 11;
362 private:
363 ::operations_research::OptionalBoolean _internal_use_make_active() const;
364 void _internal_set_use_make_active(::operations_research::OptionalBoolean value);
365 public:
366
367 // .operations_research.OptionalBoolean use_make_inactive = 12;
371 private:
372 ::operations_research::OptionalBoolean _internal_use_make_inactive() const;
373 void _internal_set_use_make_inactive(::operations_research::OptionalBoolean value);
374 public:
375
376 // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
380 private:
381 ::operations_research::OptionalBoolean _internal_use_make_chain_inactive() const;
382 void _internal_set_use_make_chain_inactive(::operations_research::OptionalBoolean value);
383 public:
384
385 // .operations_research.OptionalBoolean use_swap_active = 14;
389 private:
390 ::operations_research::OptionalBoolean _internal_use_swap_active() const;
391 void _internal_set_use_swap_active(::operations_research::OptionalBoolean value);
392 public:
393
394 // .operations_research.OptionalBoolean use_extended_swap_active = 15;
398 private:
399 ::operations_research::OptionalBoolean _internal_use_extended_swap_active() const;
400 void _internal_set_use_extended_swap_active(::operations_research::OptionalBoolean value);
401 public:
402
403 // .operations_research.OptionalBoolean use_path_lns = 16;
404 void clear_use_path_lns();
407 private:
408 ::operations_research::OptionalBoolean _internal_use_path_lns() const;
409 void _internal_set_use_path_lns(::operations_research::OptionalBoolean value);
410 public:
411
412 // .operations_research.OptionalBoolean use_full_path_lns = 17;
416 private:
417 ::operations_research::OptionalBoolean _internal_use_full_path_lns() const;
418 void _internal_set_use_full_path_lns(::operations_research::OptionalBoolean value);
419 public:
420
421 // .operations_research.OptionalBoolean use_tsp_lns = 18;
422 void clear_use_tsp_lns();
425 private:
426 ::operations_research::OptionalBoolean _internal_use_tsp_lns() const;
427 void _internal_set_use_tsp_lns(::operations_research::OptionalBoolean value);
428 public:
429
430 // .operations_research.OptionalBoolean use_inactive_lns = 19;
434 private:
435 ::operations_research::OptionalBoolean _internal_use_inactive_lns() const;
436 void _internal_set_use_inactive_lns(::operations_research::OptionalBoolean value);
437 public:
438
439 // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
443 private:
444 ::operations_research::OptionalBoolean _internal_use_node_pair_swap_active() const;
445 void _internal_set_use_node_pair_swap_active(::operations_research::OptionalBoolean value);
446 public:
447
448 // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
452 private:
453 ::operations_research::OptionalBoolean _internal_use_relocate_and_make_active() const;
454 void _internal_set_use_relocate_and_make_active(::operations_research::OptionalBoolean value);
455 public:
456
457 // .operations_research.OptionalBoolean use_exchange_pair = 22;
461 private:
462 ::operations_research::OptionalBoolean _internal_use_exchange_pair() const;
463 void _internal_set_use_exchange_pair(::operations_research::OptionalBoolean value);
464 public:
465
466 // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
470 private:
471 ::operations_research::OptionalBoolean _internal_use_relocate_expensive_chain() const;
472 void _internal_set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value);
473 public:
474
475 // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
479 private:
480 ::operations_research::OptionalBoolean _internal_use_light_relocate_pair() const;
481 void _internal_set_use_light_relocate_pair(::operations_research::OptionalBoolean value);
482 public:
483
484 // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
488 private:
489 ::operations_research::OptionalBoolean _internal_use_relocate_subtrip() const;
490 void _internal_set_use_relocate_subtrip(::operations_research::OptionalBoolean value);
491 public:
492
493 // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
497 private:
498 ::operations_research::OptionalBoolean _internal_use_exchange_subtrip() const;
499 void _internal_set_use_exchange_subtrip(::operations_research::OptionalBoolean value);
500 public:
501
502 // .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
506 private:
507 ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_path_lns() const;
508 void _internal_set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
509 public:
510
511 // .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
515 private:
516 ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_path_lns() const;
517 void _internal_set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
518 public:
519
520 // .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
524 private:
525 ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_expensive_chain_lns() const;
526 void _internal_set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
527 public:
528
529 // .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
533 private:
534 ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_expensive_chain_lns() const;
535 void _internal_set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
536 public:
537
538 // .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
542 private:
543 ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_close_nodes_lns() const;
544 void _internal_set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value);
545 public:
546
547 // .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
551 private:
552 ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_close_nodes_lns() const;
553 void _internal_set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value);
554 public:
555
556 // .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
560 private:
561 ::operations_research::OptionalBoolean _internal_use_relocate_path_global_cheapest_insertion_insert_unperformed() const;
562 void _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value);
563 public:
564
565 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
566 private:
567 class _Internal;
568
569 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
570 typedef void InternalArenaConstructable_;
571 typedef void DestructorSkippable_;
572 int use_relocate_;
573 int use_relocate_pair_;
574 int use_relocate_neighbors_;
575 int use_exchange_;
576 int use_cross_;
577 int use_cross_exchange_;
578 int use_two_opt_;
579 int use_or_opt_;
580 int use_lin_kernighan_;
581 int use_tsp_opt_;
582 int use_make_active_;
583 int use_make_inactive_;
584 int use_make_chain_inactive_;
585 int use_swap_active_;
586 int use_extended_swap_active_;
587 int use_path_lns_;
588 int use_full_path_lns_;
589 int use_tsp_lns_;
590 int use_inactive_lns_;
591 int use_node_pair_swap_active_;
592 int use_relocate_and_make_active_;
593 int use_exchange_pair_;
594 int use_relocate_expensive_chain_;
595 int use_light_relocate_pair_;
596 int use_relocate_subtrip_;
597 int use_exchange_subtrip_;
598 int use_global_cheapest_insertion_path_lns_;
599 int use_local_cheapest_insertion_path_lns_;
600 int use_global_cheapest_insertion_expensive_chain_lns_;
601 int use_local_cheapest_insertion_expensive_chain_lns_;
602 int use_global_cheapest_insertion_close_nodes_lns_;
603 int use_local_cheapest_insertion_close_nodes_lns_;
604 int use_relocate_path_global_cheapest_insertion_insert_unperformed_;
605 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
606 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
607};
608// -------------------------------------------------------------------
609
611 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters) */ {
612 public:
615 explicit constexpr RoutingSearchParameters_ImprovementSearchLimitParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
616
620 *this = ::std::move(from);
621 }
622
624 CopyFrom(from);
625 return *this;
626 }
628 if (this == &from) return *this;
629 if (GetOwningArena() == from.GetOwningArena()
630 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
631 && GetOwningArena() != nullptr
632 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
633 ) {
634 InternalSwap(&from);
635 } else {
636 CopyFrom(from);
637 }
638 return *this;
639 }
640
641 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
642 return GetDescriptor();
643 }
644 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
645 return default_instance().GetMetadata().descriptor;
646 }
647 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
648 return default_instance().GetMetadata().reflection;
649 }
652 }
654 return reinterpret_cast<const RoutingSearchParameters_ImprovementSearchLimitParameters*>(
656 }
657 static constexpr int kIndexInFileMessages =
658 1;
659
661 a.Swap(&b);
662 }
664 if (other == this) return;
665 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
666 if (GetOwningArena() != nullptr &&
667 GetOwningArena() == other->GetOwningArena()) {
668 #else // PROTOBUF_FORCE_COPY_IN_SWAP
669 if (GetOwningArena() == other->GetOwningArena()) {
670 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
671 InternalSwap(other);
672 } else {
673 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
674 }
675 }
677 if (other == this) return;
678 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
679 InternalSwap(other);
680 }
681
682 // implements Message ----------------------------------------------
683
684 RoutingSearchParameters_ImprovementSearchLimitParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
685 return CreateMaybeMessage<RoutingSearchParameters_ImprovementSearchLimitParameters>(arena);
686 }
687 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
689 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
691 private:
692 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
693 public:
694 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
695 bool IsInitialized() const final;
696
697 size_t ByteSizeLong() const final;
698 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
699 uint8_t* _InternalSerialize(
700 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
701 int GetCachedSize() const final { return _cached_size_.Get(); }
702
703 private:
704 void SharedCtor();
705 void SharedDtor();
706 void SetCachedSize(int size) const final;
708
709 private:
710 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
711 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
712 return "operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters";
713 }
714 protected:
715 explicit RoutingSearchParameters_ImprovementSearchLimitParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
716 bool is_message_owned = false);
717 private:
718 static void ArenaDtor(void* object);
719 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
720 public:
721
722 static const ClassData _class_data_;
723 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
724
725 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
726
727 // nested types ----------------------------------------------------
728
729 // accessors -------------------------------------------------------
730
731 enum : int {
732 kImprovementRateSolutionsDistanceFieldNumber = 39,
733 kImprovementRateCoefficientFieldNumber = 38,
734 };
735 // int32 improvement_rate_solutions_distance = 39;
736 void clear_improvement_rate_solutions_distance();
737 int32_t improvement_rate_solutions_distance() const;
738 void set_improvement_rate_solutions_distance(int32_t value);
739 private:
740 int32_t _internal_improvement_rate_solutions_distance() const;
741 void _internal_set_improvement_rate_solutions_distance(int32_t value);
742 public:
743
744 // double improvement_rate_coefficient = 38;
745 void clear_improvement_rate_coefficient();
746 double improvement_rate_coefficient() const;
747 void set_improvement_rate_coefficient(double value);
748 private:
749 double _internal_improvement_rate_coefficient() const;
750 void _internal_set_improvement_rate_coefficient(double value);
751 public:
752
753 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
754 private:
755 class _Internal;
756
757 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
758 typedef void InternalArenaConstructable_;
759 typedef void DestructorSkippable_;
760 int32_t improvement_rate_solutions_distance_;
761 double improvement_rate_coefficient_;
762 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
763 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
764};
765// -------------------------------------------------------------------
766
768 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters) */ {
769 public:
771 ~RoutingSearchParameters() override;
772 explicit constexpr RoutingSearchParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
773
777 *this = ::std::move(from);
778 }
779
781 CopyFrom(from);
782 return *this;
783 }
785 if (this == &from) return *this;
786 if (GetOwningArena() == from.GetOwningArena()
787 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
788 && GetOwningArena() != nullptr
789 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
790 ) {
791 InternalSwap(&from);
792 } else {
793 CopyFrom(from);
794 }
795 return *this;
796 }
797
798 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
799 return GetDescriptor();
800 }
801 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
802 return default_instance().GetMetadata().descriptor;
803 }
804 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
805 return default_instance().GetMetadata().reflection;
806 }
809 }
811 return reinterpret_cast<const RoutingSearchParameters*>(
813 }
814 static constexpr int kIndexInFileMessages =
815 2;
816
818 a.Swap(&b);
819 }
820 inline void Swap(RoutingSearchParameters* other) {
821 if (other == this) return;
822 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
823 if (GetOwningArena() != nullptr &&
824 GetOwningArena() == other->GetOwningArena()) {
825 #else // PROTOBUF_FORCE_COPY_IN_SWAP
826 if (GetOwningArena() == other->GetOwningArena()) {
827 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
828 InternalSwap(other);
829 } else {
830 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
831 }
832 }
834 if (other == this) return;
835 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
836 InternalSwap(other);
837 }
838
839 // implements Message ----------------------------------------------
840
841 RoutingSearchParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
842 return CreateMaybeMessage<RoutingSearchParameters>(arena);
843 }
844 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
845 void CopyFrom(const RoutingSearchParameters& from);
846 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
847 void MergeFrom(const RoutingSearchParameters& from);
848 private:
849 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
850 public:
851 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
852 bool IsInitialized() const final;
853
854 size_t ByteSizeLong() const final;
855 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
856 uint8_t* _InternalSerialize(
857 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
858 int GetCachedSize() const final { return _cached_size_.Get(); }
859
860 private:
861 void SharedCtor();
862 void SharedDtor();
863 void SetCachedSize(int size) const final;
864 void InternalSwap(RoutingSearchParameters* other);
865
866 private:
867 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
868 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
869 return "operations_research.RoutingSearchParameters";
870 }
871 protected:
872 explicit RoutingSearchParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
873 bool is_message_owned = false);
874 private:
875 static void ArenaDtor(void* object);
876 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
877 public:
878
879 static const ClassData _class_data_;
880 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
881
882 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
883
884 // nested types ----------------------------------------------------
885
888
890 static constexpr SchedulingSolver UNSET =
892 static constexpr SchedulingSolver GLOP =
894 static constexpr SchedulingSolver CP_SAT =
896 static inline bool SchedulingSolver_IsValid(int value) {
898 }
899 static constexpr SchedulingSolver SchedulingSolver_MIN =
901 static constexpr SchedulingSolver SchedulingSolver_MAX =
903 static constexpr int SchedulingSolver_ARRAYSIZE =
905 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
908 }
909 template<typename T>
910 static inline const std::string& SchedulingSolver_Name(T enum_t_value) {
913 "Incorrect type passed to function SchedulingSolver_Name.");
915 }
916 static inline bool SchedulingSolver_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
919 }
920
921 // accessors -------------------------------------------------------
922
923 enum : int {
924 kLogTagFieldNumber = 36,
925 kLocalSearchOperatorsFieldNumber = 3,
926 kTimeLimitFieldNumber = 9,
927 kLnsTimeLimitFieldNumber = 10,
928 kImprovementLimitParametersFieldNumber = 37,
929 kSatParametersFieldNumber = 48,
930 kFirstSolutionStrategyFieldNumber = 1,
931 kLocalSearchMetaheuristicFieldNumber = 4,
932 kGuidedLocalSearchLambdaCoefficientFieldNumber = 5,
933 kOptimizationStepFieldNumber = 7,
934 kSolutionLimitFieldNumber = 8,
935 kUseFullPropagationFieldNumber = 11,
936 kLogSearchFieldNumber = 13,
937 kNumberOfSolutionsToCollectFieldNumber = 17,
938 kSavingsNeighborsRatioFieldNumber = 14,
939 kCheapestInsertionFarthestSeedsRatioFieldNumber = 16,
940 kSavingsArcCoefficientFieldNumber = 18,
941 kRelocateExpensiveChainNumArcsToConsiderFieldNumber = 20,
942 kUseUnfilteredFirstSolutionStrategyFieldNumber = 2,
943 kSavingsAddReverseArcsFieldNumber = 15,
944 kSavingsParallelRoutesFieldNumber = 19,
945 kCheapestInsertionFirstSolutionUseNeighborsRatioForInitializationFieldNumber = 46,
946 kCheapestInsertionFirstSolutionNeighborsRatioFieldNumber = 21,
947 kLogCostScalingFactorFieldNumber = 22,
948 kSavingsMaxMemoryUsageBytesFieldNumber = 23,
949 kUseCpSatFieldNumber = 27,
950 kUseCpFieldNumber = 28,
951 kLogCostOffsetFieldNumber = 29,
952 kCheapestInsertionAddUnperformedEntriesFieldNumber = 40,
953 kChristofidesUseMinimumMatchingFieldNumber = 30,
954 kUseMultiArmedBanditConcatenateOperatorsFieldNumber = 41,
955 kUseDepthFirstSearchFieldNumber = 6,
956 kHeuristicExpensiveChainLnsNumArcsToConsiderFieldNumber = 32,
957 kCheapestInsertionLsOperatorNeighborsRatioFieldNumber = 31,
958 kContinuousSchedulingSolverFieldNumber = 33,
959 kMixedIntegerSchedulingSolverFieldNumber = 34,
960 kHeuristicCloseNodesLnsNumNodesFieldNumber = 35,
961 kCheapestInsertionFirstSolutionMinNeighborsFieldNumber = 44,
962 kMultiArmedBanditCompoundOperatorMemoryCoefficientFieldNumber = 42,
963 kMultiArmedBanditCompoundOperatorExplorationCoefficientFieldNumber = 43,
964 kCheapestInsertionLsOperatorMinNeighborsFieldNumber = 45,
965 kUseGeneralizedCpSatFieldNumber = 47,
966 };
967 // string log_tag = 36;
968 void clear_log_tag();
969 const std::string& log_tag() const;
970 template <typename ArgT0 = const std::string&, typename... ArgT>
971 void set_log_tag(ArgT0&& arg0, ArgT... args);
972 std::string* mutable_log_tag();
973 PROTOBUF_NODISCARD std::string* release_log_tag();
974 void set_allocated_log_tag(std::string* log_tag);
975 private:
976 const std::string& _internal_log_tag() const;
977 inline PROTOBUF_ALWAYS_INLINE void _internal_set_log_tag(const std::string& value);
978 std::string* _internal_mutable_log_tag();
979 public:
980
981 // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
982 bool has_local_search_operators() const;
983 private:
984 bool _internal_has_local_search_operators() const;
985 public:
986 void clear_local_search_operators();
987 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& local_search_operators() const;
988 PROTOBUF_NODISCARD ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* release_local_search_operators();
990 void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* local_search_operators);
991 private:
992 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& _internal_local_search_operators() const;
994 public:
995 void unsafe_arena_set_allocated_local_search_operators(
997 ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* unsafe_arena_release_local_search_operators();
998
999 // .google.protobuf.Duration time_limit = 9;
1000 bool has_time_limit() const;
1001 private:
1002 bool _internal_has_time_limit() const;
1003 public:
1004 void clear_time_limit();
1005 const ::PROTOBUF_NAMESPACE_ID::Duration& time_limit() const;
1006 PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Duration* release_time_limit();
1007 ::PROTOBUF_NAMESPACE_ID::Duration* mutable_time_limit();
1008 void set_allocated_time_limit(::PROTOBUF_NAMESPACE_ID::Duration* time_limit);
1009 private:
1010 const ::PROTOBUF_NAMESPACE_ID::Duration& _internal_time_limit() const;
1011 ::PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_time_limit();
1012 public:
1013 void unsafe_arena_set_allocated_time_limit(
1014 ::PROTOBUF_NAMESPACE_ID::Duration* time_limit);
1015 ::PROTOBUF_NAMESPACE_ID::Duration* unsafe_arena_release_time_limit();
1016
1017 // .google.protobuf.Duration lns_time_limit = 10;
1018 bool has_lns_time_limit() const;
1019 private:
1020 bool _internal_has_lns_time_limit() const;
1021 public:
1022 void clear_lns_time_limit();
1023 const ::PROTOBUF_NAMESPACE_ID::Duration& lns_time_limit() const;
1024 PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Duration* release_lns_time_limit();
1025 ::PROTOBUF_NAMESPACE_ID::Duration* mutable_lns_time_limit();
1026 void set_allocated_lns_time_limit(::PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit);
1027 private:
1028 const ::PROTOBUF_NAMESPACE_ID::Duration& _internal_lns_time_limit() const;
1029 ::PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_lns_time_limit();
1030 public:
1031 void unsafe_arena_set_allocated_lns_time_limit(
1032 ::PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit);
1033 ::PROTOBUF_NAMESPACE_ID::Duration* unsafe_arena_release_lns_time_limit();
1034
1035 // .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
1036 bool has_improvement_limit_parameters() const;
1037 private:
1038 bool _internal_has_improvement_limit_parameters() const;
1039 public:
1040 void clear_improvement_limit_parameters();
1041 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& improvement_limit_parameters() const;
1042 PROTOBUF_NODISCARD ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* release_improvement_limit_parameters();
1044 void set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* improvement_limit_parameters);
1045 private:
1046 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& _internal_improvement_limit_parameters() const;
1047 ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* _internal_mutable_improvement_limit_parameters();
1048 public:
1049 void unsafe_arena_set_allocated_improvement_limit_parameters(
1051 ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* unsafe_arena_release_improvement_limit_parameters();
1052
1053 // .operations_research.sat.SatParameters sat_parameters = 48;
1054 bool has_sat_parameters() const;
1055 private:
1056 bool _internal_has_sat_parameters() const;
1057 public:
1058 void clear_sat_parameters();
1059 const ::operations_research::sat::SatParameters& sat_parameters() const;
1060 PROTOBUF_NODISCARD ::operations_research::sat::SatParameters* release_sat_parameters();
1061 ::operations_research::sat::SatParameters* mutable_sat_parameters();
1062 void set_allocated_sat_parameters(::operations_research::sat::SatParameters* sat_parameters);
1063 private:
1064 const ::operations_research::sat::SatParameters& _internal_sat_parameters() const;
1065 ::operations_research::sat::SatParameters* _internal_mutable_sat_parameters();
1066 public:
1067 void unsafe_arena_set_allocated_sat_parameters(
1069 ::operations_research::sat::SatParameters* unsafe_arena_release_sat_parameters();
1070
1071 // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
1072 void clear_first_solution_strategy();
1073 ::operations_research::FirstSolutionStrategy_Value first_solution_strategy() const;
1074 void set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value);
1075 private:
1076 ::operations_research::FirstSolutionStrategy_Value _internal_first_solution_strategy() const;
1077 void _internal_set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value);
1078 public:
1079
1080 // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
1081 void clear_local_search_metaheuristic();
1082 ::operations_research::LocalSearchMetaheuristic_Value local_search_metaheuristic() const;
1083 void set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value);
1084 private:
1085 ::operations_research::LocalSearchMetaheuristic_Value _internal_local_search_metaheuristic() const;
1086 void _internal_set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value);
1087 public:
1088
1089 // double guided_local_search_lambda_coefficient = 5;
1090 void clear_guided_local_search_lambda_coefficient();
1091 double guided_local_search_lambda_coefficient() const;
1092 void set_guided_local_search_lambda_coefficient(double value);
1093 private:
1094 double _internal_guided_local_search_lambda_coefficient() const;
1095 void _internal_set_guided_local_search_lambda_coefficient(double value);
1096 public:
1097
1098 // double optimization_step = 7;
1099 void clear_optimization_step();
1100 double optimization_step() const;
1101 void set_optimization_step(double value);
1102 private:
1103 double _internal_optimization_step() const;
1104 void _internal_set_optimization_step(double value);
1105 public:
1106
1107 // int64 solution_limit = 8;
1108 void clear_solution_limit();
1109 int64_t solution_limit() const;
1110 void set_solution_limit(int64_t value);
1111 private:
1112 int64_t _internal_solution_limit() const;
1113 void _internal_set_solution_limit(int64_t value);
1114 public:
1115
1116 // bool use_full_propagation = 11;
1117 void clear_use_full_propagation();
1118 bool use_full_propagation() const;
1119 void set_use_full_propagation(bool value);
1120 private:
1121 bool _internal_use_full_propagation() const;
1122 void _internal_set_use_full_propagation(bool value);
1123 public:
1124
1125 // bool log_search = 13;
1126 void clear_log_search();
1127 bool log_search() const;
1128 void set_log_search(bool value);
1129 private:
1130 bool _internal_log_search() const;
1131 void _internal_set_log_search(bool value);
1132 public:
1133
1134 // int32 number_of_solutions_to_collect = 17;
1135 void clear_number_of_solutions_to_collect();
1136 int32_t number_of_solutions_to_collect() const;
1137 void set_number_of_solutions_to_collect(int32_t value);
1138 private:
1139 int32_t _internal_number_of_solutions_to_collect() const;
1140 void _internal_set_number_of_solutions_to_collect(int32_t value);
1141 public:
1142
1143 // double savings_neighbors_ratio = 14;
1144 void clear_savings_neighbors_ratio();
1145 double savings_neighbors_ratio() const;
1146 void set_savings_neighbors_ratio(double value);
1147 private:
1148 double _internal_savings_neighbors_ratio() const;
1149 void _internal_set_savings_neighbors_ratio(double value);
1150 public:
1151
1152 // double cheapest_insertion_farthest_seeds_ratio = 16;
1153 void clear_cheapest_insertion_farthest_seeds_ratio();
1154 double cheapest_insertion_farthest_seeds_ratio() const;
1155 void set_cheapest_insertion_farthest_seeds_ratio(double value);
1156 private:
1157 double _internal_cheapest_insertion_farthest_seeds_ratio() const;
1158 void _internal_set_cheapest_insertion_farthest_seeds_ratio(double value);
1159 public:
1160
1161 // double savings_arc_coefficient = 18;
1162 void clear_savings_arc_coefficient();
1163 double savings_arc_coefficient() const;
1164 void set_savings_arc_coefficient(double value);
1165 private:
1166 double _internal_savings_arc_coefficient() const;
1167 void _internal_set_savings_arc_coefficient(double value);
1168 public:
1169
1170 // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
1171 void clear_relocate_expensive_chain_num_arcs_to_consider();
1172 int32_t relocate_expensive_chain_num_arcs_to_consider() const;
1173 void set_relocate_expensive_chain_num_arcs_to_consider(int32_t value);
1174 private:
1175 int32_t _internal_relocate_expensive_chain_num_arcs_to_consider() const;
1176 void _internal_set_relocate_expensive_chain_num_arcs_to_consider(int32_t value);
1177 public:
1178
1179 // bool use_unfiltered_first_solution_strategy = 2;
1180 void clear_use_unfiltered_first_solution_strategy();
1181 bool use_unfiltered_first_solution_strategy() const;
1182 void set_use_unfiltered_first_solution_strategy(bool value);
1183 private:
1184 bool _internal_use_unfiltered_first_solution_strategy() const;
1185 void _internal_set_use_unfiltered_first_solution_strategy(bool value);
1186 public:
1187
1188 // bool savings_add_reverse_arcs = 15;
1189 void clear_savings_add_reverse_arcs();
1190 bool savings_add_reverse_arcs() const;
1191 void set_savings_add_reverse_arcs(bool value);
1192 private:
1193 bool _internal_savings_add_reverse_arcs() const;
1194 void _internal_set_savings_add_reverse_arcs(bool value);
1195 public:
1196
1197 // bool savings_parallel_routes = 19;
1198 void clear_savings_parallel_routes();
1199 bool savings_parallel_routes() const;
1200 void set_savings_parallel_routes(bool value);
1201 private:
1202 bool _internal_savings_parallel_routes() const;
1203 void _internal_set_savings_parallel_routes(bool value);
1204 public:
1205
1206 // bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
1207 void clear_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization();
1208 bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() const;
1209 void set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value);
1210 private:
1211 bool _internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() const;
1212 void _internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value);
1213 public:
1214
1215 // double cheapest_insertion_first_solution_neighbors_ratio = 21;
1216 void clear_cheapest_insertion_first_solution_neighbors_ratio();
1217 double cheapest_insertion_first_solution_neighbors_ratio() const;
1218 void set_cheapest_insertion_first_solution_neighbors_ratio(double value);
1219 private:
1220 double _internal_cheapest_insertion_first_solution_neighbors_ratio() const;
1221 void _internal_set_cheapest_insertion_first_solution_neighbors_ratio(double value);
1222 public:
1223
1224 // double log_cost_scaling_factor = 22;
1225 void clear_log_cost_scaling_factor();
1226 double log_cost_scaling_factor() const;
1227 void set_log_cost_scaling_factor(double value);
1228 private:
1229 double _internal_log_cost_scaling_factor() const;
1230 void _internal_set_log_cost_scaling_factor(double value);
1231 public:
1232
1233 // double savings_max_memory_usage_bytes = 23;
1234 void clear_savings_max_memory_usage_bytes();
1235 double savings_max_memory_usage_bytes() const;
1236 void set_savings_max_memory_usage_bytes(double value);
1237 private:
1238 double _internal_savings_max_memory_usage_bytes() const;
1239 void _internal_set_savings_max_memory_usage_bytes(double value);
1240 public:
1241
1242 // .operations_research.OptionalBoolean use_cp_sat = 27;
1243 void clear_use_cp_sat();
1244 ::operations_research::OptionalBoolean use_cp_sat() const;
1245 void set_use_cp_sat(::operations_research::OptionalBoolean value);
1246 private:
1247 ::operations_research::OptionalBoolean _internal_use_cp_sat() const;
1248 void _internal_set_use_cp_sat(::operations_research::OptionalBoolean value);
1249 public:
1250
1251 // .operations_research.OptionalBoolean use_cp = 28;
1252 void clear_use_cp();
1255 private:
1256 ::operations_research::OptionalBoolean _internal_use_cp() const;
1257 void _internal_set_use_cp(::operations_research::OptionalBoolean value);
1258 public:
1259
1260 // double log_cost_offset = 29;
1261 void clear_log_cost_offset();
1262 double log_cost_offset() const;
1263 void set_log_cost_offset(double value);
1264 private:
1265 double _internal_log_cost_offset() const;
1266 void _internal_set_log_cost_offset(double value);
1267 public:
1268
1269 // bool cheapest_insertion_add_unperformed_entries = 40;
1270 void clear_cheapest_insertion_add_unperformed_entries();
1271 bool cheapest_insertion_add_unperformed_entries() const;
1272 void set_cheapest_insertion_add_unperformed_entries(bool value);
1273 private:
1274 bool _internal_cheapest_insertion_add_unperformed_entries() const;
1275 void _internal_set_cheapest_insertion_add_unperformed_entries(bool value);
1276 public:
1277
1278 // bool christofides_use_minimum_matching = 30;
1279 void clear_christofides_use_minimum_matching();
1280 bool christofides_use_minimum_matching() const;
1281 void set_christofides_use_minimum_matching(bool value);
1282 private:
1283 bool _internal_christofides_use_minimum_matching() const;
1284 void _internal_set_christofides_use_minimum_matching(bool value);
1285 public:
1286
1287 // bool use_multi_armed_bandit_concatenate_operators = 41;
1288 void clear_use_multi_armed_bandit_concatenate_operators();
1289 bool use_multi_armed_bandit_concatenate_operators() const;
1290 void set_use_multi_armed_bandit_concatenate_operators(bool value);
1291 private:
1292 bool _internal_use_multi_armed_bandit_concatenate_operators() const;
1293 void _internal_set_use_multi_armed_bandit_concatenate_operators(bool value);
1294 public:
1295
1296 // bool use_depth_first_search = 6;
1297 void clear_use_depth_first_search();
1298 bool use_depth_first_search() const;
1299 void set_use_depth_first_search(bool value);
1300 private:
1301 bool _internal_use_depth_first_search() const;
1302 void _internal_set_use_depth_first_search(bool value);
1303 public:
1304
1305 // int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
1306 void clear_heuristic_expensive_chain_lns_num_arcs_to_consider();
1307 int32_t heuristic_expensive_chain_lns_num_arcs_to_consider() const;
1308 void set_heuristic_expensive_chain_lns_num_arcs_to_consider(int32_t value);
1309 private:
1310 int32_t _internal_heuristic_expensive_chain_lns_num_arcs_to_consider() const;
1311 void _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(int32_t value);
1312 public:
1313
1314 // double cheapest_insertion_ls_operator_neighbors_ratio = 31;
1315 void clear_cheapest_insertion_ls_operator_neighbors_ratio();
1316 double cheapest_insertion_ls_operator_neighbors_ratio() const;
1317 void set_cheapest_insertion_ls_operator_neighbors_ratio(double value);
1318 private:
1319 double _internal_cheapest_insertion_ls_operator_neighbors_ratio() const;
1320 void _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(double value);
1321 public:
1322
1323 // .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
1324 void clear_continuous_scheduling_solver();
1325 ::operations_research::RoutingSearchParameters_SchedulingSolver continuous_scheduling_solver() const;
1326 void set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1327 private:
1328 ::operations_research::RoutingSearchParameters_SchedulingSolver _internal_continuous_scheduling_solver() const;
1329 void _internal_set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1330 public:
1331
1332 // .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
1333 void clear_mixed_integer_scheduling_solver();
1334 ::operations_research::RoutingSearchParameters_SchedulingSolver mixed_integer_scheduling_solver() const;
1335 void set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1336 private:
1337 ::operations_research::RoutingSearchParameters_SchedulingSolver _internal_mixed_integer_scheduling_solver() const;
1338 void _internal_set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1339 public:
1340
1341 // int32 heuristic_close_nodes_lns_num_nodes = 35;
1342 void clear_heuristic_close_nodes_lns_num_nodes();
1343 int32_t heuristic_close_nodes_lns_num_nodes() const;
1344 void set_heuristic_close_nodes_lns_num_nodes(int32_t value);
1345 private:
1346 int32_t _internal_heuristic_close_nodes_lns_num_nodes() const;
1347 void _internal_set_heuristic_close_nodes_lns_num_nodes(int32_t value);
1348 public:
1349
1350 // int32 cheapest_insertion_first_solution_min_neighbors = 44;
1351 void clear_cheapest_insertion_first_solution_min_neighbors();
1352 int32_t cheapest_insertion_first_solution_min_neighbors() const;
1353 void set_cheapest_insertion_first_solution_min_neighbors(int32_t value);
1354 private:
1355 int32_t _internal_cheapest_insertion_first_solution_min_neighbors() const;
1356 void _internal_set_cheapest_insertion_first_solution_min_neighbors(int32_t value);
1357 public:
1358
1359 // double multi_armed_bandit_compound_operator_memory_coefficient = 42;
1360 void clear_multi_armed_bandit_compound_operator_memory_coefficient();
1361 double multi_armed_bandit_compound_operator_memory_coefficient() const;
1362 void set_multi_armed_bandit_compound_operator_memory_coefficient(double value);
1363 private:
1364 double _internal_multi_armed_bandit_compound_operator_memory_coefficient() const;
1365 void _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(double value);
1366 public:
1367
1368 // double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
1369 void clear_multi_armed_bandit_compound_operator_exploration_coefficient();
1370 double multi_armed_bandit_compound_operator_exploration_coefficient() const;
1371 void set_multi_armed_bandit_compound_operator_exploration_coefficient(double value);
1372 private:
1373 double _internal_multi_armed_bandit_compound_operator_exploration_coefficient() const;
1374 void _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(double value);
1375 public:
1376
1377 // int32 cheapest_insertion_ls_operator_min_neighbors = 45;
1378 void clear_cheapest_insertion_ls_operator_min_neighbors();
1379 int32_t cheapest_insertion_ls_operator_min_neighbors() const;
1380 void set_cheapest_insertion_ls_operator_min_neighbors(int32_t value);
1381 private:
1382 int32_t _internal_cheapest_insertion_ls_operator_min_neighbors() const;
1383 void _internal_set_cheapest_insertion_ls_operator_min_neighbors(int32_t value);
1384 public:
1385
1386 // .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
1387 void clear_use_generalized_cp_sat();
1388 ::operations_research::OptionalBoolean use_generalized_cp_sat() const;
1389 void set_use_generalized_cp_sat(::operations_research::OptionalBoolean value);
1390 private:
1391 ::operations_research::OptionalBoolean _internal_use_generalized_cp_sat() const;
1392 void _internal_set_use_generalized_cp_sat(::operations_research::OptionalBoolean value);
1393 public:
1394
1395 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
1396 private:
1397 class _Internal;
1398
1399 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1400 typedef void InternalArenaConstructable_;
1401 typedef void DestructorSkippable_;
1402 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr log_tag_;
1404 ::PROTOBUF_NAMESPACE_ID::Duration* time_limit_;
1405 ::PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit_;
1408 int first_solution_strategy_;
1409 int local_search_metaheuristic_;
1410 double guided_local_search_lambda_coefficient_;
1411 double optimization_step_;
1412 int64_t solution_limit_;
1413 bool use_full_propagation_;
1414 bool log_search_;
1415 int32_t number_of_solutions_to_collect_;
1416 double savings_neighbors_ratio_;
1417 double cheapest_insertion_farthest_seeds_ratio_;
1418 double savings_arc_coefficient_;
1419 int32_t relocate_expensive_chain_num_arcs_to_consider_;
1420 bool use_unfiltered_first_solution_strategy_;
1421 bool savings_add_reverse_arcs_;
1422 bool savings_parallel_routes_;
1423 bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_;
1424 double cheapest_insertion_first_solution_neighbors_ratio_;
1425 double log_cost_scaling_factor_;
1426 double savings_max_memory_usage_bytes_;
1427 int use_cp_sat_;
1428 int use_cp_;
1429 double log_cost_offset_;
1430 bool cheapest_insertion_add_unperformed_entries_;
1431 bool christofides_use_minimum_matching_;
1432 bool use_multi_armed_bandit_concatenate_operators_;
1433 bool use_depth_first_search_;
1434 int32_t heuristic_expensive_chain_lns_num_arcs_to_consider_;
1435 double cheapest_insertion_ls_operator_neighbors_ratio_;
1436 int continuous_scheduling_solver_;
1437 int mixed_integer_scheduling_solver_;
1438 int32_t heuristic_close_nodes_lns_num_nodes_;
1439 int32_t cheapest_insertion_first_solution_min_neighbors_;
1440 double multi_armed_bandit_compound_operator_memory_coefficient_;
1441 double multi_armed_bandit_compound_operator_exploration_coefficient_;
1442 int32_t cheapest_insertion_ls_operator_min_neighbors_;
1443 int use_generalized_cp_sat_;
1444 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1445 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1446};
1447// -------------------------------------------------------------------
1448
1450 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingModelParameters) */ {
1451 public:
1453 ~RoutingModelParameters() override;
1454 explicit constexpr RoutingModelParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1455
1459 *this = ::std::move(from);
1460 }
1461
1463 CopyFrom(from);
1464 return *this;
1465 }
1467 if (this == &from) return *this;
1468 if (GetOwningArena() == from.GetOwningArena()
1469 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1470 && GetOwningArena() != nullptr
1471 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1472 ) {
1473 InternalSwap(&from);
1474 } else {
1475 CopyFrom(from);
1476 }
1477 return *this;
1478 }
1479
1480 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1481 return GetDescriptor();
1482 }
1483 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1484 return default_instance().GetMetadata().descriptor;
1485 }
1486 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1487 return default_instance().GetMetadata().reflection;
1488 }
1490 return *internal_default_instance();
1491 }
1493 return reinterpret_cast<const RoutingModelParameters*>(
1495 }
1496 static constexpr int kIndexInFileMessages =
1497 3;
1498
1500 a.Swap(&b);
1501 }
1502 inline void Swap(RoutingModelParameters* other) {
1503 if (other == this) return;
1504 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1505 if (GetOwningArena() != nullptr &&
1506 GetOwningArena() == other->GetOwningArena()) {
1507 #else // PROTOBUF_FORCE_COPY_IN_SWAP
1508 if (GetOwningArena() == other->GetOwningArena()) {
1509 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1510 InternalSwap(other);
1511 } else {
1512 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1513 }
1514 }
1516 if (other == this) return;
1517 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1518 InternalSwap(other);
1519 }
1520
1521 // implements Message ----------------------------------------------
1522
1523 RoutingModelParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1524 return CreateMaybeMessage<RoutingModelParameters>(arena);
1525 }
1526 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1527 void CopyFrom(const RoutingModelParameters& from);
1528 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1529 void MergeFrom(const RoutingModelParameters& from);
1530 private:
1531 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
1532 public:
1533 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1534 bool IsInitialized() const final;
1535
1536 size_t ByteSizeLong() const final;
1537 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1538 uint8_t* _InternalSerialize(
1539 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1540 int GetCachedSize() const final { return _cached_size_.Get(); }
1541
1542 private:
1543 void SharedCtor();
1544 void SharedDtor();
1545 void SetCachedSize(int size) const final;
1546 void InternalSwap(RoutingModelParameters* other);
1547
1548 private:
1549 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1550 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1551 return "operations_research.RoutingModelParameters";
1552 }
1553 protected:
1554 explicit RoutingModelParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1555 bool is_message_owned = false);
1556 private:
1557 static void ArenaDtor(void* object);
1558 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1559 public:
1560
1561 static const ClassData _class_data_;
1562 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1563
1564 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1565
1566 // nested types ----------------------------------------------------
1567
1568 // accessors -------------------------------------------------------
1569
1570 enum : int {
1571 kSolverParametersFieldNumber = 1,
1572 kReduceVehicleCostModelFieldNumber = 2,
1573 kMaxCallbackCacheSizeFieldNumber = 3,
1574 };
1575 // .operations_research.ConstraintSolverParameters solver_parameters = 1;
1576 bool has_solver_parameters() const;
1577 private:
1578 bool _internal_has_solver_parameters() const;
1579 public:
1580 void clear_solver_parameters();
1581 const ::operations_research::ConstraintSolverParameters& solver_parameters() const;
1582 PROTOBUF_NODISCARD ::operations_research::ConstraintSolverParameters* release_solver_parameters();
1583 ::operations_research::ConstraintSolverParameters* mutable_solver_parameters();
1584 void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters* solver_parameters);
1585 private:
1586 const ::operations_research::ConstraintSolverParameters& _internal_solver_parameters() const;
1587 ::operations_research::ConstraintSolverParameters* _internal_mutable_solver_parameters();
1588 public:
1589 void unsafe_arena_set_allocated_solver_parameters(
1591 ::operations_research::ConstraintSolverParameters* unsafe_arena_release_solver_parameters();
1592
1593 // bool reduce_vehicle_cost_model = 2;
1594 void clear_reduce_vehicle_cost_model();
1595 bool reduce_vehicle_cost_model() const;
1596 void set_reduce_vehicle_cost_model(bool value);
1597 private:
1598 bool _internal_reduce_vehicle_cost_model() const;
1599 void _internal_set_reduce_vehicle_cost_model(bool value);
1600 public:
1601
1602 // int32 max_callback_cache_size = 3;
1603 void clear_max_callback_cache_size();
1604 int32_t max_callback_cache_size() const;
1605 void set_max_callback_cache_size(int32_t value);
1606 private:
1607 int32_t _internal_max_callback_cache_size() const;
1608 void _internal_set_max_callback_cache_size(int32_t value);
1609 public:
1610
1611 // @@protoc_insertion_point(class_scope:operations_research.RoutingModelParameters)
1612 private:
1613 class _Internal;
1614
1615 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1616 typedef void InternalArenaConstructable_;
1617 typedef void DestructorSkippable_;
1619 bool reduce_vehicle_cost_model_;
1620 int32_t max_callback_cache_size_;
1621 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1622 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1623};
1624// ===================================================================
1625
1626
1627// ===================================================================
1628
1629#ifdef __GNUC__
1630 #pragma GCC diagnostic push
1631 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1632#endif // __GNUC__
1633// RoutingSearchParameters_LocalSearchNeighborhoodOperators
1634
1635// .operations_research.OptionalBoolean use_relocate = 1;
1637 use_relocate_ = 0;
1638}
1639inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate() const {
1640 return static_cast< ::operations_research::OptionalBoolean >(use_relocate_);
1641}
1643 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
1644 return _internal_use_relocate();
1645}
1646inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate(::operations_research::OptionalBoolean value) {
1647
1648 use_relocate_ = value;
1649}
1651 _internal_set_use_relocate(value);
1652 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
1653}
1654
1655// .operations_research.OptionalBoolean use_relocate_pair = 2;
1657 use_relocate_pair_ = 0;
1658}
1659inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_pair() const {
1660 return static_cast< ::operations_research::OptionalBoolean >(use_relocate_pair_);
1661}
1663 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
1664 return _internal_use_relocate_pair();
1665}
1666inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_pair(::operations_research::OptionalBoolean value) {
1667
1668 use_relocate_pair_ = value;
1669}
1671 _internal_set_use_relocate_pair(value);
1672 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
1673}
1674
1675// .operations_research.OptionalBoolean use_light_relocate_pair = 24;
1677 use_light_relocate_pair_ = 0;
1678}
1679inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_light_relocate_pair() const {
1680 return static_cast< ::operations_research::OptionalBoolean >(use_light_relocate_pair_);
1681}
1683 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
1684 return _internal_use_light_relocate_pair();
1685}
1686inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_light_relocate_pair(::operations_research::OptionalBoolean value) {
1687
1688 use_light_relocate_pair_ = value;
1689}
1691 _internal_set_use_light_relocate_pair(value);
1692 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
1693}
1694
1695// .operations_research.OptionalBoolean use_relocate_neighbors = 3;
1697 use_relocate_neighbors_ = 0;
1698}
1699inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_neighbors() const {
1700 return static_cast< ::operations_research::OptionalBoolean >(use_relocate_neighbors_);
1701}
1703 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
1704 return _internal_use_relocate_neighbors();
1705}
1706inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_neighbors(::operations_research::OptionalBoolean value) {
1707
1708 use_relocate_neighbors_ = value;
1709}
1711 _internal_set_use_relocate_neighbors(value);
1712 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
1713}
1714
1715// .operations_research.OptionalBoolean use_relocate_subtrip = 25;
1717 use_relocate_subtrip_ = 0;
1718}
1719inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_subtrip() const {
1720 return static_cast< ::operations_research::OptionalBoolean >(use_relocate_subtrip_);
1721}
1723 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
1724 return _internal_use_relocate_subtrip();
1725}
1726inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_subtrip(::operations_research::OptionalBoolean value) {
1727
1728 use_relocate_subtrip_ = value;
1729}
1731 _internal_set_use_relocate_subtrip(value);
1732 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
1733}
1734
1735// .operations_research.OptionalBoolean use_exchange = 4;
1737 use_exchange_ = 0;
1738}
1739inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange() const {
1740 return static_cast< ::operations_research::OptionalBoolean >(use_exchange_);
1741}
1743 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
1744 return _internal_use_exchange();
1745}
1746inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange(::operations_research::OptionalBoolean value) {
1747
1748 use_exchange_ = value;
1749}
1751 _internal_set_use_exchange(value);
1752 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
1753}
1754
1755// .operations_research.OptionalBoolean use_exchange_pair = 22;
1757 use_exchange_pair_ = 0;
1758}
1759inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_pair() const {
1760 return static_cast< ::operations_research::OptionalBoolean >(use_exchange_pair_);
1761}
1763 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
1764 return _internal_use_exchange_pair();
1765}
1766inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_pair(::operations_research::OptionalBoolean value) {
1767
1768 use_exchange_pair_ = value;
1769}
1771 _internal_set_use_exchange_pair(value);
1772 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
1773}
1774
1775// .operations_research.OptionalBoolean use_exchange_subtrip = 26;
1777 use_exchange_subtrip_ = 0;
1778}
1779inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_subtrip() const {
1780 return static_cast< ::operations_research::OptionalBoolean >(use_exchange_subtrip_);
1781}
1783 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
1784 return _internal_use_exchange_subtrip();
1785}
1786inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_subtrip(::operations_research::OptionalBoolean value) {
1787
1788 use_exchange_subtrip_ = value;
1789}
1791 _internal_set_use_exchange_subtrip(value);
1792 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
1793}
1794
1795// .operations_research.OptionalBoolean use_cross = 5;
1797 use_cross_ = 0;
1798}
1799inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross() const {
1800 return static_cast< ::operations_research::OptionalBoolean >(use_cross_);
1801}
1803 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
1804 return _internal_use_cross();
1805}
1806inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_cross(::operations_research::OptionalBoolean value) {
1807
1808 use_cross_ = value;
1809}
1811 _internal_set_use_cross(value);
1812 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
1813}
1814
1815// .operations_research.OptionalBoolean use_cross_exchange = 6;
1817 use_cross_exchange_ = 0;
1818}
1819inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross_exchange() const {
1820 return static_cast< ::operations_research::OptionalBoolean >(use_cross_exchange_);
1821}
1823 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
1824 return _internal_use_cross_exchange();
1825}
1826inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_cross_exchange(::operations_research::OptionalBoolean value) {
1827
1828 use_cross_exchange_ = value;
1829}
1831 _internal_set_use_cross_exchange(value);
1832 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
1833}
1834
1835// .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
1837 use_relocate_expensive_chain_ = 0;
1838}
1839inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_expensive_chain() const {
1840 return static_cast< ::operations_research::OptionalBoolean >(use_relocate_expensive_chain_);
1841}
1843 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
1844 return _internal_use_relocate_expensive_chain();
1845}
1846inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value) {
1847
1848 use_relocate_expensive_chain_ = value;
1849}
1851 _internal_set_use_relocate_expensive_chain(value);
1852 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
1853}
1854
1855// .operations_research.OptionalBoolean use_two_opt = 7;
1857 use_two_opt_ = 0;
1858}
1859inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_two_opt() const {
1860 return static_cast< ::operations_research::OptionalBoolean >(use_two_opt_);
1861}
1863 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
1864 return _internal_use_two_opt();
1865}
1866inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_two_opt(::operations_research::OptionalBoolean value) {
1867
1868 use_two_opt_ = value;
1869}
1871 _internal_set_use_two_opt(value);
1872 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
1873}
1874
1875// .operations_research.OptionalBoolean use_or_opt = 8;
1877 use_or_opt_ = 0;
1878}
1879inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_or_opt() const {
1880 return static_cast< ::operations_research::OptionalBoolean >(use_or_opt_);
1881}
1883 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
1884 return _internal_use_or_opt();
1885}
1886inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_or_opt(::operations_research::OptionalBoolean value) {
1887
1888 use_or_opt_ = value;
1889}
1891 _internal_set_use_or_opt(value);
1892 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
1893}
1894
1895// .operations_research.OptionalBoolean use_lin_kernighan = 9;
1897 use_lin_kernighan_ = 0;
1898}
1899inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_lin_kernighan() const {
1900 return static_cast< ::operations_research::OptionalBoolean >(use_lin_kernighan_);
1901}
1903 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
1904 return _internal_use_lin_kernighan();
1905}
1906inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_lin_kernighan(::operations_research::OptionalBoolean value) {
1907
1908 use_lin_kernighan_ = value;
1909}
1911 _internal_set_use_lin_kernighan(value);
1912 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
1913}
1914
1915// .operations_research.OptionalBoolean use_tsp_opt = 10;
1917 use_tsp_opt_ = 0;
1918}
1919inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_opt() const {
1920 return static_cast< ::operations_research::OptionalBoolean >(use_tsp_opt_);
1921}
1923 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
1924 return _internal_use_tsp_opt();
1925}
1926inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_tsp_opt(::operations_research::OptionalBoolean value) {
1927
1928 use_tsp_opt_ = value;
1929}
1931 _internal_set_use_tsp_opt(value);
1932 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
1933}
1934
1935// .operations_research.OptionalBoolean use_make_active = 11;
1937 use_make_active_ = 0;
1938}
1939inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_active() const {
1940 return static_cast< ::operations_research::OptionalBoolean >(use_make_active_);
1941}
1943 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1944 return _internal_use_make_active();
1945}
1946inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_active(::operations_research::OptionalBoolean value) {
1947
1948 use_make_active_ = value;
1949}
1951 _internal_set_use_make_active(value);
1952 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1953}
1954
1955// .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
1957 use_relocate_and_make_active_ = 0;
1958}
1959inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_and_make_active() const {
1960 return static_cast< ::operations_research::OptionalBoolean >(use_relocate_and_make_active_);
1961}
1963 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1964 return _internal_use_relocate_and_make_active();
1965}
1966inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_and_make_active(::operations_research::OptionalBoolean value) {
1967
1968 use_relocate_and_make_active_ = value;
1969}
1971 _internal_set_use_relocate_and_make_active(value);
1972 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1973}
1974
1975// .operations_research.OptionalBoolean use_make_inactive = 12;
1977 use_make_inactive_ = 0;
1978}
1979inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_inactive() const {
1980 return static_cast< ::operations_research::OptionalBoolean >(use_make_inactive_);
1981}
1983 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1984 return _internal_use_make_inactive();
1985}
1986inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_inactive(::operations_research::OptionalBoolean value) {
1987
1988 use_make_inactive_ = value;
1989}
1991 _internal_set_use_make_inactive(value);
1992 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1993}
1994
1995// .operations_research.OptionalBoolean use_make_chain_inactive = 13;
1997 use_make_chain_inactive_ = 0;
1998}
1999inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_chain_inactive() const {
2000 return static_cast< ::operations_research::OptionalBoolean >(use_make_chain_inactive_);
2001}
2003 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
2004 return _internal_use_make_chain_inactive();
2005}
2006inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_chain_inactive(::operations_research::OptionalBoolean value) {
2007
2008 use_make_chain_inactive_ = value;
2009}
2011 _internal_set_use_make_chain_inactive(value);
2012 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
2013}
2014
2015// .operations_research.OptionalBoolean use_swap_active = 14;
2017 use_swap_active_ = 0;
2018}
2019inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_swap_active() const {
2020 return static_cast< ::operations_research::OptionalBoolean >(use_swap_active_);
2021}
2023 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
2024 return _internal_use_swap_active();
2025}
2026inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_swap_active(::operations_research::OptionalBoolean value) {
2027
2028 use_swap_active_ = value;
2029}
2031 _internal_set_use_swap_active(value);
2032 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
2033}
2034
2035// .operations_research.OptionalBoolean use_extended_swap_active = 15;
2037 use_extended_swap_active_ = 0;
2038}
2039inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_extended_swap_active() const {
2040 return static_cast< ::operations_research::OptionalBoolean >(use_extended_swap_active_);
2041}
2043 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
2044 return _internal_use_extended_swap_active();
2045}
2046inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_extended_swap_active(::operations_research::OptionalBoolean value) {
2047
2048 use_extended_swap_active_ = value;
2049}
2051 _internal_set_use_extended_swap_active(value);
2052 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
2053}
2054
2055// .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
2057 use_node_pair_swap_active_ = 0;
2058}
2059inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_node_pair_swap_active() const {
2060 return static_cast< ::operations_research::OptionalBoolean >(use_node_pair_swap_active_);
2061}
2063 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
2064 return _internal_use_node_pair_swap_active();
2065}
2066inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_node_pair_swap_active(::operations_research::OptionalBoolean value) {
2067
2068 use_node_pair_swap_active_ = value;
2069}
2071 _internal_set_use_node_pair_swap_active(value);
2072 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
2073}
2074
2075// .operations_research.OptionalBoolean use_path_lns = 16;
2077 use_path_lns_ = 0;
2078}
2079inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_path_lns() const {
2080 return static_cast< ::operations_research::OptionalBoolean >(use_path_lns_);
2081}
2083 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
2084 return _internal_use_path_lns();
2085}
2086inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_path_lns(::operations_research::OptionalBoolean value) {
2087
2088 use_path_lns_ = value;
2089}
2091 _internal_set_use_path_lns(value);
2092 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
2093}
2094
2095// .operations_research.OptionalBoolean use_full_path_lns = 17;
2097 use_full_path_lns_ = 0;
2098}
2099inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_full_path_lns() const {
2100 return static_cast< ::operations_research::OptionalBoolean >(use_full_path_lns_);
2101}
2103 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
2104 return _internal_use_full_path_lns();
2105}
2106inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_full_path_lns(::operations_research::OptionalBoolean value) {
2107
2108 use_full_path_lns_ = value;
2109}
2111 _internal_set_use_full_path_lns(value);
2112 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
2113}
2114
2115// .operations_research.OptionalBoolean use_tsp_lns = 18;
2117 use_tsp_lns_ = 0;
2118}
2119inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_lns() const {
2120 return static_cast< ::operations_research::OptionalBoolean >(use_tsp_lns_);
2121}
2123 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
2124 return _internal_use_tsp_lns();
2125}
2126inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_tsp_lns(::operations_research::OptionalBoolean value) {
2127
2128 use_tsp_lns_ = value;
2129}
2131 _internal_set_use_tsp_lns(value);
2132 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
2133}
2134
2135// .operations_research.OptionalBoolean use_inactive_lns = 19;
2137 use_inactive_lns_ = 0;
2138}
2139inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_inactive_lns() const {
2140 return static_cast< ::operations_research::OptionalBoolean >(use_inactive_lns_);
2141}
2143 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
2144 return _internal_use_inactive_lns();
2145}
2146inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_inactive_lns(::operations_research::OptionalBoolean value) {
2147
2148 use_inactive_lns_ = value;
2149}
2151 _internal_set_use_inactive_lns(value);
2152 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
2153}
2154
2155// .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
2157 use_global_cheapest_insertion_path_lns_ = 0;
2158}
2159inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_path_lns() const {
2160 return static_cast< ::operations_research::OptionalBoolean >(use_global_cheapest_insertion_path_lns_);
2161}
2163 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_path_lns)
2164 return _internal_use_global_cheapest_insertion_path_lns();
2165}
2166inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
2167
2168 use_global_cheapest_insertion_path_lns_ = value;
2169}
2171 _internal_set_use_global_cheapest_insertion_path_lns(value);
2172 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_path_lns)
2173}
2174
2175// .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
2177 use_local_cheapest_insertion_path_lns_ = 0;
2178}
2179inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_path_lns() const {
2180 return static_cast< ::operations_research::OptionalBoolean >(use_local_cheapest_insertion_path_lns_);
2181}
2183 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_path_lns)
2184 return _internal_use_local_cheapest_insertion_path_lns();
2185}
2186inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
2187
2188 use_local_cheapest_insertion_path_lns_ = value;
2189}
2191 _internal_set_use_local_cheapest_insertion_path_lns(value);
2192 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_path_lns)
2193}
2194
2195// .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
2197 use_relocate_path_global_cheapest_insertion_insert_unperformed_ = 0;
2198}
2199inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_path_global_cheapest_insertion_insert_unperformed() const {
2200 return static_cast< ::operations_research::OptionalBoolean >(use_relocate_path_global_cheapest_insertion_insert_unperformed_);
2201}
2203 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_path_global_cheapest_insertion_insert_unperformed)
2204 return _internal_use_relocate_path_global_cheapest_insertion_insert_unperformed();
2205}
2206inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value) {
2207
2208 use_relocate_path_global_cheapest_insertion_insert_unperformed_ = value;
2209}
2211 _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(value);
2212 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_path_global_cheapest_insertion_insert_unperformed)
2213}
2214
2215// .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
2217 use_global_cheapest_insertion_expensive_chain_lns_ = 0;
2218}
2219inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_expensive_chain_lns() const {
2220 return static_cast< ::operations_research::OptionalBoolean >(use_global_cheapest_insertion_expensive_chain_lns_);
2221}
2223 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_expensive_chain_lns)
2224 return _internal_use_global_cheapest_insertion_expensive_chain_lns();
2225}
2226inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
2227
2228 use_global_cheapest_insertion_expensive_chain_lns_ = value;
2229}
2231 _internal_set_use_global_cheapest_insertion_expensive_chain_lns(value);
2232 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_expensive_chain_lns)
2233}
2234
2235// .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
2237 use_local_cheapest_insertion_expensive_chain_lns_ = 0;
2238}
2239inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_expensive_chain_lns() const {
2240 return static_cast< ::operations_research::OptionalBoolean >(use_local_cheapest_insertion_expensive_chain_lns_);
2241}
2243 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_expensive_chain_lns)
2244 return _internal_use_local_cheapest_insertion_expensive_chain_lns();
2245}
2246inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
2247
2248 use_local_cheapest_insertion_expensive_chain_lns_ = value;
2249}
2251 _internal_set_use_local_cheapest_insertion_expensive_chain_lns(value);
2252 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_expensive_chain_lns)
2253}
2254
2255// .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
2257 use_global_cheapest_insertion_close_nodes_lns_ = 0;
2258}
2259inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_close_nodes_lns() const {
2260 return static_cast< ::operations_research::OptionalBoolean >(use_global_cheapest_insertion_close_nodes_lns_);
2261}
2263 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_close_nodes_lns)
2264 return _internal_use_global_cheapest_insertion_close_nodes_lns();
2265}
2266inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value) {
2267
2268 use_global_cheapest_insertion_close_nodes_lns_ = value;
2269}
2271 _internal_set_use_global_cheapest_insertion_close_nodes_lns(value);
2272 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_close_nodes_lns)
2273}
2274
2275// .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
2277 use_local_cheapest_insertion_close_nodes_lns_ = 0;
2278}
2279inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_close_nodes_lns() const {
2280 return static_cast< ::operations_research::OptionalBoolean >(use_local_cheapest_insertion_close_nodes_lns_);
2281}
2283 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_close_nodes_lns)
2284 return _internal_use_local_cheapest_insertion_close_nodes_lns();
2285}
2286inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value) {
2287
2288 use_local_cheapest_insertion_close_nodes_lns_ = value;
2289}
2291 _internal_set_use_local_cheapest_insertion_close_nodes_lns(value);
2292 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_close_nodes_lns)
2293}
2294
2295// -------------------------------------------------------------------
2296
2297// RoutingSearchParameters_ImprovementSearchLimitParameters
2298
2299// double improvement_rate_coefficient = 38;
2301 improvement_rate_coefficient_ = 0;
2302}
2303inline double RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_improvement_rate_coefficient() const {
2304 return improvement_rate_coefficient_;
2305}
2307 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_coefficient)
2308 return _internal_improvement_rate_coefficient();
2309}
2310inline void RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_set_improvement_rate_coefficient(double value) {
2311
2312 improvement_rate_coefficient_ = value;
2313}
2315 _internal_set_improvement_rate_coefficient(value);
2316 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_coefficient)
2317}
2318
2319// int32 improvement_rate_solutions_distance = 39;
2321 improvement_rate_solutions_distance_ = 0;
2322}
2323inline int32_t RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_improvement_rate_solutions_distance() const {
2324 return improvement_rate_solutions_distance_;
2325}
2327 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_solutions_distance)
2328 return _internal_improvement_rate_solutions_distance();
2329}
2330inline void RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_set_improvement_rate_solutions_distance(int32_t value) {
2331
2332 improvement_rate_solutions_distance_ = value;
2333}
2335 _internal_set_improvement_rate_solutions_distance(value);
2336 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_solutions_distance)
2337}
2338
2339// -------------------------------------------------------------------
2340
2341// RoutingSearchParameters
2342
2343// .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
2345 first_solution_strategy_ = 0;
2346}
2347inline ::operations_research::FirstSolutionStrategy_Value RoutingSearchParameters::_internal_first_solution_strategy() const {
2348 return static_cast< ::operations_research::FirstSolutionStrategy_Value >(first_solution_strategy_);
2349}
2351 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.first_solution_strategy)
2352 return _internal_first_solution_strategy();
2353}
2354inline void RoutingSearchParameters::_internal_set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value) {
2355
2356 first_solution_strategy_ = value;
2357}
2359 _internal_set_first_solution_strategy(value);
2360 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.first_solution_strategy)
2361}
2362
2363// bool use_unfiltered_first_solution_strategy = 2;
2365 use_unfiltered_first_solution_strategy_ = false;
2366}
2367inline bool RoutingSearchParameters::_internal_use_unfiltered_first_solution_strategy() const {
2368 return use_unfiltered_first_solution_strategy_;
2369}
2371 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
2372 return _internal_use_unfiltered_first_solution_strategy();
2373}
2374inline void RoutingSearchParameters::_internal_set_use_unfiltered_first_solution_strategy(bool value) {
2375
2376 use_unfiltered_first_solution_strategy_ = value;
2377}
2379 _internal_set_use_unfiltered_first_solution_strategy(value);
2380 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
2381}
2382
2383// double savings_neighbors_ratio = 14;
2385 savings_neighbors_ratio_ = 0;
2386}
2387inline double RoutingSearchParameters::_internal_savings_neighbors_ratio() const {
2388 return savings_neighbors_ratio_;
2389}
2391 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
2392 return _internal_savings_neighbors_ratio();
2393}
2394inline void RoutingSearchParameters::_internal_set_savings_neighbors_ratio(double value) {
2395
2396 savings_neighbors_ratio_ = value;
2397}
2399 _internal_set_savings_neighbors_ratio(value);
2400 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
2401}
2402
2403// double savings_max_memory_usage_bytes = 23;
2405 savings_max_memory_usage_bytes_ = 0;
2406}
2407inline double RoutingSearchParameters::_internal_savings_max_memory_usage_bytes() const {
2408 return savings_max_memory_usage_bytes_;
2409}
2411 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
2412 return _internal_savings_max_memory_usage_bytes();
2413}
2414inline void RoutingSearchParameters::_internal_set_savings_max_memory_usage_bytes(double value) {
2415
2416 savings_max_memory_usage_bytes_ = value;
2417}
2419 _internal_set_savings_max_memory_usage_bytes(value);
2420 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
2421}
2422
2423// bool savings_add_reverse_arcs = 15;
2425 savings_add_reverse_arcs_ = false;
2426}
2427inline bool RoutingSearchParameters::_internal_savings_add_reverse_arcs() const {
2428 return savings_add_reverse_arcs_;
2429}
2431 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
2432 return _internal_savings_add_reverse_arcs();
2433}
2434inline void RoutingSearchParameters::_internal_set_savings_add_reverse_arcs(bool value) {
2435
2436 savings_add_reverse_arcs_ = value;
2437}
2439 _internal_set_savings_add_reverse_arcs(value);
2440 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
2441}
2442
2443// double savings_arc_coefficient = 18;
2445 savings_arc_coefficient_ = 0;
2446}
2447inline double RoutingSearchParameters::_internal_savings_arc_coefficient() const {
2448 return savings_arc_coefficient_;
2449}
2451 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_arc_coefficient)
2452 return _internal_savings_arc_coefficient();
2453}
2454inline void RoutingSearchParameters::_internal_set_savings_arc_coefficient(double value) {
2455
2456 savings_arc_coefficient_ = value;
2457}
2459 _internal_set_savings_arc_coefficient(value);
2460 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_arc_coefficient)
2461}
2462
2463// bool savings_parallel_routes = 19;
2465 savings_parallel_routes_ = false;
2466}
2467inline bool RoutingSearchParameters::_internal_savings_parallel_routes() const {
2468 return savings_parallel_routes_;
2469}
2471 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_parallel_routes)
2472 return _internal_savings_parallel_routes();
2473}
2474inline void RoutingSearchParameters::_internal_set_savings_parallel_routes(bool value) {
2475
2476 savings_parallel_routes_ = value;
2477}
2479 _internal_set_savings_parallel_routes(value);
2480 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_parallel_routes)
2481}
2482
2483// double cheapest_insertion_farthest_seeds_ratio = 16;
2485 cheapest_insertion_farthest_seeds_ratio_ = 0;
2486}
2487inline double RoutingSearchParameters::_internal_cheapest_insertion_farthest_seeds_ratio() const {
2488 return cheapest_insertion_farthest_seeds_ratio_;
2489}
2491 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
2492 return _internal_cheapest_insertion_farthest_seeds_ratio();
2493}
2494inline void RoutingSearchParameters::_internal_set_cheapest_insertion_farthest_seeds_ratio(double value) {
2495
2496 cheapest_insertion_farthest_seeds_ratio_ = value;
2497}
2499 _internal_set_cheapest_insertion_farthest_seeds_ratio(value);
2500 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
2501}
2502
2503// double cheapest_insertion_first_solution_neighbors_ratio = 21;
2505 cheapest_insertion_first_solution_neighbors_ratio_ = 0;
2506}
2507inline double RoutingSearchParameters::_internal_cheapest_insertion_first_solution_neighbors_ratio() const {
2508 return cheapest_insertion_first_solution_neighbors_ratio_;
2509}
2511 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_neighbors_ratio)
2512 return _internal_cheapest_insertion_first_solution_neighbors_ratio();
2513}
2514inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_neighbors_ratio(double value) {
2515
2516 cheapest_insertion_first_solution_neighbors_ratio_ = value;
2517}
2519 _internal_set_cheapest_insertion_first_solution_neighbors_ratio(value);
2520 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_neighbors_ratio)
2521}
2522
2523// int32 cheapest_insertion_first_solution_min_neighbors = 44;
2525 cheapest_insertion_first_solution_min_neighbors_ = 0;
2526}
2527inline int32_t RoutingSearchParameters::_internal_cheapest_insertion_first_solution_min_neighbors() const {
2528 return cheapest_insertion_first_solution_min_neighbors_;
2529}
2531 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_min_neighbors)
2532 return _internal_cheapest_insertion_first_solution_min_neighbors();
2533}
2534inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_min_neighbors(int32_t value) {
2535
2536 cheapest_insertion_first_solution_min_neighbors_ = value;
2537}
2539 _internal_set_cheapest_insertion_first_solution_min_neighbors(value);
2540 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_min_neighbors)
2541}
2542
2543// double cheapest_insertion_ls_operator_neighbors_ratio = 31;
2545 cheapest_insertion_ls_operator_neighbors_ratio_ = 0;
2546}
2547inline double RoutingSearchParameters::_internal_cheapest_insertion_ls_operator_neighbors_ratio() const {
2548 return cheapest_insertion_ls_operator_neighbors_ratio_;
2549}
2551 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_neighbors_ratio)
2552 return _internal_cheapest_insertion_ls_operator_neighbors_ratio();
2553}
2554inline void RoutingSearchParameters::_internal_set_cheapest_insertion_ls_operator_neighbors_ratio(double value) {
2555
2556 cheapest_insertion_ls_operator_neighbors_ratio_ = value;
2557}
2559 _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(value);
2560 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_neighbors_ratio)
2561}
2562
2563// int32 cheapest_insertion_ls_operator_min_neighbors = 45;
2565 cheapest_insertion_ls_operator_min_neighbors_ = 0;
2566}
2567inline int32_t RoutingSearchParameters::_internal_cheapest_insertion_ls_operator_min_neighbors() const {
2568 return cheapest_insertion_ls_operator_min_neighbors_;
2569}
2571 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_min_neighbors)
2572 return _internal_cheapest_insertion_ls_operator_min_neighbors();
2573}
2574inline void RoutingSearchParameters::_internal_set_cheapest_insertion_ls_operator_min_neighbors(int32_t value) {
2575
2576 cheapest_insertion_ls_operator_min_neighbors_ = value;
2577}
2579 _internal_set_cheapest_insertion_ls_operator_min_neighbors(value);
2580 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_min_neighbors)
2581}
2582
2583// bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
2585 cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_ = false;
2586}
2587inline bool RoutingSearchParameters::_internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() const {
2588 return cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_;
2589}
2591 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization)
2592 return _internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization();
2593}
2594inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value) {
2595
2596 cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_ = value;
2597}
2599 _internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(value);
2600 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization)
2601}
2602
2603// bool cheapest_insertion_add_unperformed_entries = 40;
2605 cheapest_insertion_add_unperformed_entries_ = false;
2606}
2607inline bool RoutingSearchParameters::_internal_cheapest_insertion_add_unperformed_entries() const {
2608 return cheapest_insertion_add_unperformed_entries_;
2609}
2611 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_add_unperformed_entries)
2612 return _internal_cheapest_insertion_add_unperformed_entries();
2613}
2614inline void RoutingSearchParameters::_internal_set_cheapest_insertion_add_unperformed_entries(bool value) {
2615
2616 cheapest_insertion_add_unperformed_entries_ = value;
2617}
2619 _internal_set_cheapest_insertion_add_unperformed_entries(value);
2620 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_add_unperformed_entries)
2621}
2622
2623// bool christofides_use_minimum_matching = 30;
2625 christofides_use_minimum_matching_ = false;
2626}
2627inline bool RoutingSearchParameters::_internal_christofides_use_minimum_matching() const {
2628 return christofides_use_minimum_matching_;
2629}
2631 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.christofides_use_minimum_matching)
2632 return _internal_christofides_use_minimum_matching();
2633}
2634inline void RoutingSearchParameters::_internal_set_christofides_use_minimum_matching(bool value) {
2635
2636 christofides_use_minimum_matching_ = value;
2637}
2639 _internal_set_christofides_use_minimum_matching(value);
2640 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.christofides_use_minimum_matching)
2641}
2642
2643// .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
2644inline bool RoutingSearchParameters::_internal_has_local_search_operators() const {
2645 return this != internal_default_instance() && local_search_operators_ != nullptr;
2646}
2648 return _internal_has_local_search_operators();
2649}
2651 if (GetArenaForAllocation() == nullptr && local_search_operators_ != nullptr) {
2652 delete local_search_operators_;
2653 }
2654 local_search_operators_ = nullptr;
2655}
2656inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::_internal_local_search_operators() const {
2657 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* p = local_search_operators_;
2658 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators&>(
2660}
2661inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::local_search_operators() const {
2662 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_operators)
2663 return _internal_local_search_operators();
2664}
2667 if (GetArenaForAllocation() == nullptr) {
2668 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(local_search_operators_);
2669 }
2670 local_search_operators_ = local_search_operators;
2671 if (local_search_operators) {
2672
2673 } else {
2674
2675 }
2676 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
2677}
2678inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::release_local_search_operators() {
2679
2681 local_search_operators_ = nullptr;
2682#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
2683 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
2684 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2685 if (GetArenaForAllocation() == nullptr) { delete old; }
2686#else // PROTOBUF_FORCE_COPY_IN_RELEASE
2687 if (GetArenaForAllocation() != nullptr) {
2688 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2689 }
2690#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
2691 return temp;
2692}
2693inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::unsafe_arena_release_local_search_operators() {
2694 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.local_search_operators)
2695
2697 local_search_operators_ = nullptr;
2698 return temp;
2699}
2700inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::_internal_mutable_local_search_operators() {
2701
2702 if (local_search_operators_ == nullptr) {
2703 auto* p = CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(GetArenaForAllocation());
2704 local_search_operators_ = p;
2705 }
2706 return local_search_operators_;
2707}
2708inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::mutable_local_search_operators() {
2709 ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* _msg = _internal_mutable_local_search_operators();
2710 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.local_search_operators)
2711 return _msg;
2712}
2714 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
2715 if (message_arena == nullptr) {
2716 delete local_search_operators_;
2717 }
2718 if (local_search_operators) {
2719 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2720 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>::GetOwningArena(local_search_operators);
2721 if (message_arena != submessage_arena) {
2722 local_search_operators = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2723 message_arena, local_search_operators, submessage_arena);
2724 }
2725
2726 } else {
2727
2728 }
2729 local_search_operators_ = local_search_operators;
2730 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
2731}
2732
2733// bool use_multi_armed_bandit_concatenate_operators = 41;
2735 use_multi_armed_bandit_concatenate_operators_ = false;
2736}
2737inline bool RoutingSearchParameters::_internal_use_multi_armed_bandit_concatenate_operators() const {
2738 return use_multi_armed_bandit_concatenate_operators_;
2739}
2741 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_multi_armed_bandit_concatenate_operators)
2742 return _internal_use_multi_armed_bandit_concatenate_operators();
2743}
2744inline void RoutingSearchParameters::_internal_set_use_multi_armed_bandit_concatenate_operators(bool value) {
2745
2746 use_multi_armed_bandit_concatenate_operators_ = value;
2747}
2749 _internal_set_use_multi_armed_bandit_concatenate_operators(value);
2750 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_multi_armed_bandit_concatenate_operators)
2751}
2752
2753// double multi_armed_bandit_compound_operator_memory_coefficient = 42;
2755 multi_armed_bandit_compound_operator_memory_coefficient_ = 0;
2756}
2757inline double RoutingSearchParameters::_internal_multi_armed_bandit_compound_operator_memory_coefficient() const {
2758 return multi_armed_bandit_compound_operator_memory_coefficient_;
2759}
2761 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_memory_coefficient)
2762 return _internal_multi_armed_bandit_compound_operator_memory_coefficient();
2763}
2764inline void RoutingSearchParameters::_internal_set_multi_armed_bandit_compound_operator_memory_coefficient(double value) {
2765
2766 multi_armed_bandit_compound_operator_memory_coefficient_ = value;
2767}
2769 _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(value);
2770 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_memory_coefficient)
2771}
2772
2773// double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
2775 multi_armed_bandit_compound_operator_exploration_coefficient_ = 0;
2776}
2777inline double RoutingSearchParameters::_internal_multi_armed_bandit_compound_operator_exploration_coefficient() const {
2778 return multi_armed_bandit_compound_operator_exploration_coefficient_;
2779}
2781 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_exploration_coefficient)
2782 return _internal_multi_armed_bandit_compound_operator_exploration_coefficient();
2783}
2784inline void RoutingSearchParameters::_internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(double value) {
2785
2786 multi_armed_bandit_compound_operator_exploration_coefficient_ = value;
2787}
2789 _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(value);
2790 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_exploration_coefficient)
2791}
2792
2793// int32 relocate_expensive_chain_num_arcs_to_consider = 20;
2795 relocate_expensive_chain_num_arcs_to_consider_ = 0;
2796}
2797inline int32_t RoutingSearchParameters::_internal_relocate_expensive_chain_num_arcs_to_consider() const {
2798 return relocate_expensive_chain_num_arcs_to_consider_;
2799}
2801 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
2802 return _internal_relocate_expensive_chain_num_arcs_to_consider();
2803}
2804inline void RoutingSearchParameters::_internal_set_relocate_expensive_chain_num_arcs_to_consider(int32_t value) {
2805
2806 relocate_expensive_chain_num_arcs_to_consider_ = value;
2807}
2809 _internal_set_relocate_expensive_chain_num_arcs_to_consider(value);
2810 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
2811}
2812
2813// int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
2815 heuristic_expensive_chain_lns_num_arcs_to_consider_ = 0;
2816}
2817inline int32_t RoutingSearchParameters::_internal_heuristic_expensive_chain_lns_num_arcs_to_consider() const {
2818 return heuristic_expensive_chain_lns_num_arcs_to_consider_;
2819}
2821 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.heuristic_expensive_chain_lns_num_arcs_to_consider)
2822 return _internal_heuristic_expensive_chain_lns_num_arcs_to_consider();
2823}
2824inline void RoutingSearchParameters::_internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(int32_t value) {
2825
2826 heuristic_expensive_chain_lns_num_arcs_to_consider_ = value;
2827}
2829 _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(value);
2830 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.heuristic_expensive_chain_lns_num_arcs_to_consider)
2831}
2832
2833// int32 heuristic_close_nodes_lns_num_nodes = 35;
2835 heuristic_close_nodes_lns_num_nodes_ = 0;
2836}
2837inline int32_t RoutingSearchParameters::_internal_heuristic_close_nodes_lns_num_nodes() const {
2838 return heuristic_close_nodes_lns_num_nodes_;
2839}
2841 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.heuristic_close_nodes_lns_num_nodes)
2842 return _internal_heuristic_close_nodes_lns_num_nodes();
2843}
2844inline void RoutingSearchParameters::_internal_set_heuristic_close_nodes_lns_num_nodes(int32_t value) {
2845
2846 heuristic_close_nodes_lns_num_nodes_ = value;
2847}
2849 _internal_set_heuristic_close_nodes_lns_num_nodes(value);
2850 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.heuristic_close_nodes_lns_num_nodes)
2851}
2852
2853// .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
2855 local_search_metaheuristic_ = 0;
2856}
2857inline ::operations_research::LocalSearchMetaheuristic_Value RoutingSearchParameters::_internal_local_search_metaheuristic() const {
2858 return static_cast< ::operations_research::LocalSearchMetaheuristic_Value >(local_search_metaheuristic_);
2859}
2861 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_metaheuristic)
2862 return _internal_local_search_metaheuristic();
2863}
2864inline void RoutingSearchParameters::_internal_set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value) {
2865
2866 local_search_metaheuristic_ = value;
2867}
2869 _internal_set_local_search_metaheuristic(value);
2870 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.local_search_metaheuristic)
2871}
2872
2873// double guided_local_search_lambda_coefficient = 5;
2875 guided_local_search_lambda_coefficient_ = 0;
2876}
2877inline double RoutingSearchParameters::_internal_guided_local_search_lambda_coefficient() const {
2878 return guided_local_search_lambda_coefficient_;
2879}
2881 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
2882 return _internal_guided_local_search_lambda_coefficient();
2883}
2884inline void RoutingSearchParameters::_internal_set_guided_local_search_lambda_coefficient(double value) {
2885
2886 guided_local_search_lambda_coefficient_ = value;
2887}
2889 _internal_set_guided_local_search_lambda_coefficient(value);
2890 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
2891}
2892
2893// bool use_depth_first_search = 6;
2895 use_depth_first_search_ = false;
2896}
2897inline bool RoutingSearchParameters::_internal_use_depth_first_search() const {
2898 return use_depth_first_search_;
2899}
2901 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_depth_first_search)
2902 return _internal_use_depth_first_search();
2903}
2904inline void RoutingSearchParameters::_internal_set_use_depth_first_search(bool value) {
2905
2906 use_depth_first_search_ = value;
2907}
2909 _internal_set_use_depth_first_search(value);
2910 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_depth_first_search)
2911}
2912
2913// .operations_research.OptionalBoolean use_cp = 28;
2915 use_cp_ = 0;
2916}
2917inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp() const {
2918 return static_cast< ::operations_research::OptionalBoolean >(use_cp_);
2919}
2921 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp)
2922 return _internal_use_cp();
2923}
2924inline void RoutingSearchParameters::_internal_set_use_cp(::operations_research::OptionalBoolean value) {
2925
2926 use_cp_ = value;
2927}
2929 _internal_set_use_cp(value);
2930 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp)
2931}
2932
2933// .operations_research.OptionalBoolean use_cp_sat = 27;
2935 use_cp_sat_ = 0;
2936}
2937inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp_sat() const {
2938 return static_cast< ::operations_research::OptionalBoolean >(use_cp_sat_);
2939}
2941 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp_sat)
2942 return _internal_use_cp_sat();
2943}
2944inline void RoutingSearchParameters::_internal_set_use_cp_sat(::operations_research::OptionalBoolean value) {
2945
2946 use_cp_sat_ = value;
2947}
2949 _internal_set_use_cp_sat(value);
2950 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp_sat)
2951}
2952
2953// .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
2955 use_generalized_cp_sat_ = 0;
2956}
2957inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_generalized_cp_sat() const {
2958 return static_cast< ::operations_research::OptionalBoolean >(use_generalized_cp_sat_);
2959}
2961 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_generalized_cp_sat)
2962 return _internal_use_generalized_cp_sat();
2963}
2964inline void RoutingSearchParameters::_internal_set_use_generalized_cp_sat(::operations_research::OptionalBoolean value) {
2965
2966 use_generalized_cp_sat_ = value;
2967}
2969 _internal_set_use_generalized_cp_sat(value);
2970 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_generalized_cp_sat)
2971}
2972
2973// .operations_research.sat.SatParameters sat_parameters = 48;
2974inline bool RoutingSearchParameters::_internal_has_sat_parameters() const {
2975 return this != internal_default_instance() && sat_parameters_ != nullptr;
2976}
2978 return _internal_has_sat_parameters();
2979}
2980inline const ::operations_research::sat::SatParameters& RoutingSearchParameters::_internal_sat_parameters() const {
2981 const ::operations_research::sat::SatParameters* p = sat_parameters_;
2982 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::SatParameters&>(
2984}
2985inline const ::operations_research::sat::SatParameters& RoutingSearchParameters::sat_parameters() const {
2986 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.sat_parameters)
2987 return _internal_sat_parameters();
2988}
2991 if (GetArenaForAllocation() == nullptr) {
2992 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(sat_parameters_);
2993 }
2994 sat_parameters_ = sat_parameters;
2995 if (sat_parameters) {
2996
2997 } else {
2998
2999 }
3000 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.sat_parameters)
3001}
3002inline ::operations_research::sat::SatParameters* RoutingSearchParameters::release_sat_parameters() {
3003
3004 ::operations_research::sat::SatParameters* temp = sat_parameters_;
3005 sat_parameters_ = nullptr;
3006#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3007 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3008 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3009 if (GetArenaForAllocation() == nullptr) { delete old; }
3010#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3011 if (GetArenaForAllocation() != nullptr) {
3012 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3013 }
3014#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3015 return temp;
3016}
3017inline ::operations_research::sat::SatParameters* RoutingSearchParameters::unsafe_arena_release_sat_parameters() {
3018 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.sat_parameters)
3019
3020 ::operations_research::sat::SatParameters* temp = sat_parameters_;
3021 sat_parameters_ = nullptr;
3022 return temp;
3023}
3024inline ::operations_research::sat::SatParameters* RoutingSearchParameters::_internal_mutable_sat_parameters() {
3025
3026 if (sat_parameters_ == nullptr) {
3027 auto* p = CreateMaybeMessage<::operations_research::sat::SatParameters>(GetArenaForAllocation());
3028 sat_parameters_ = p;
3029 }
3030 return sat_parameters_;
3031}
3032inline ::operations_research::sat::SatParameters* RoutingSearchParameters::mutable_sat_parameters() {
3033 ::operations_research::sat::SatParameters* _msg = _internal_mutable_sat_parameters();
3034 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.sat_parameters)
3035 return _msg;
3036}
3038 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3039 if (message_arena == nullptr) {
3040 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(sat_parameters_);
3041 }
3042 if (sat_parameters) {
3043 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3044 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
3045 ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
3046 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(sat_parameters));
3047 if (message_arena != submessage_arena) {
3048 sat_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3049 message_arena, sat_parameters, submessage_arena);
3050 }
3051
3052 } else {
3053
3054 }
3055 sat_parameters_ = sat_parameters;
3056 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.sat_parameters)
3057}
3058
3059// .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
3061 continuous_scheduling_solver_ = 0;
3062}
3063inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_continuous_scheduling_solver() const {
3064 return static_cast< ::operations_research::RoutingSearchParameters_SchedulingSolver >(continuous_scheduling_solver_);
3065}
3067 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.continuous_scheduling_solver)
3068 return _internal_continuous_scheduling_solver();
3069}
3070inline void RoutingSearchParameters::_internal_set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
3071
3072 continuous_scheduling_solver_ = value;
3073}
3075 _internal_set_continuous_scheduling_solver(value);
3076 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.continuous_scheduling_solver)
3077}
3078
3079// .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
3081 mixed_integer_scheduling_solver_ = 0;
3082}
3083inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_mixed_integer_scheduling_solver() const {
3084 return static_cast< ::operations_research::RoutingSearchParameters_SchedulingSolver >(mixed_integer_scheduling_solver_);
3085}
3087 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.mixed_integer_scheduling_solver)
3088 return _internal_mixed_integer_scheduling_solver();
3089}
3090inline void RoutingSearchParameters::_internal_set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
3091
3092 mixed_integer_scheduling_solver_ = value;
3093}
3095 _internal_set_mixed_integer_scheduling_solver(value);
3096 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.mixed_integer_scheduling_solver)
3097}
3098
3099// double optimization_step = 7;
3101 optimization_step_ = 0;
3102}
3103inline double RoutingSearchParameters::_internal_optimization_step() const {
3104 return optimization_step_;
3105}
3107 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.optimization_step)
3108 return _internal_optimization_step();
3109}
3110inline void RoutingSearchParameters::_internal_set_optimization_step(double value) {
3111
3112 optimization_step_ = value;
3113}
3115 _internal_set_optimization_step(value);
3116 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.optimization_step)
3117}
3118
3119// int32 number_of_solutions_to_collect = 17;
3121 number_of_solutions_to_collect_ = 0;
3122}
3123inline int32_t RoutingSearchParameters::_internal_number_of_solutions_to_collect() const {
3124 return number_of_solutions_to_collect_;
3125}
3127 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
3128 return _internal_number_of_solutions_to_collect();
3129}
3130inline void RoutingSearchParameters::_internal_set_number_of_solutions_to_collect(int32_t value) {
3131
3132 number_of_solutions_to_collect_ = value;
3133}
3135 _internal_set_number_of_solutions_to_collect(value);
3136 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
3137}
3138
3139// int64 solution_limit = 8;
3141 solution_limit_ = int64_t{0};
3142}
3143inline int64_t RoutingSearchParameters::_internal_solution_limit() const {
3144 return solution_limit_;
3145}
3147 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.solution_limit)
3148 return _internal_solution_limit();
3149}
3150inline void RoutingSearchParameters::_internal_set_solution_limit(int64_t value) {
3151
3152 solution_limit_ = value;
3153}
3155 _internal_set_solution_limit(value);
3156 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.solution_limit)
3157}
3158
3159// .google.protobuf.Duration time_limit = 9;
3160inline bool RoutingSearchParameters::_internal_has_time_limit() const {
3161 return this != internal_default_instance() && time_limit_ != nullptr;
3162}
3164 return _internal_has_time_limit();
3165}
3166inline const ::PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::_internal_time_limit() const {
3167 const ::PROTOBUF_NAMESPACE_ID::Duration* p = time_limit_;
3168 return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Duration&>(
3169 ::PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
3170}
3171inline const ::PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::time_limit() const {
3172 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.time_limit)
3173 return _internal_time_limit();
3174}
3176 ::PROTOBUF_NAMESPACE_ID::Duration* time_limit) {
3177 if (GetArenaForAllocation() == nullptr) {
3178 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit_);
3179 }
3180 time_limit_ = time_limit;
3181 if (time_limit) {
3182
3183 } else {
3184
3185 }
3186 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.time_limit)
3187}
3188inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_time_limit() {
3189
3190 ::PROTOBUF_NAMESPACE_ID::Duration* temp = time_limit_;
3191 time_limit_ = nullptr;
3192#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3193 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3194 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3195 if (GetArenaForAllocation() == nullptr) { delete old; }
3196#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3197 if (GetArenaForAllocation() != nullptr) {
3198 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3199 }
3200#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3201 return temp;
3202}
3203inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::unsafe_arena_release_time_limit() {
3204 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.time_limit)
3205
3206 ::PROTOBUF_NAMESPACE_ID::Duration* temp = time_limit_;
3207 time_limit_ = nullptr;
3208 return temp;
3209}
3210inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::_internal_mutable_time_limit() {
3211
3212 if (time_limit_ == nullptr) {
3213 auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Duration>(GetArenaForAllocation());
3214 time_limit_ = p;
3215 }
3216 return time_limit_;
3217}
3218inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_time_limit() {
3219 ::PROTOBUF_NAMESPACE_ID::Duration* _msg = _internal_mutable_time_limit();
3220 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.time_limit)
3221 return _msg;
3222}
3223inline void RoutingSearchParameters::set_allocated_time_limit(::PROTOBUF_NAMESPACE_ID::Duration* time_limit) {
3224 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3225 if (message_arena == nullptr) {
3226 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit_);
3227 }
3228 if (time_limit) {
3229 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3230 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
3231 ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
3232 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit));
3233 if (message_arena != submessage_arena) {
3234 time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3235 message_arena, time_limit, submessage_arena);
3236 }
3237
3238 } else {
3239
3240 }
3241 time_limit_ = time_limit;
3242 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.time_limit)
3243}
3244
3245// .google.protobuf.Duration lns_time_limit = 10;
3246inline bool RoutingSearchParameters::_internal_has_lns_time_limit() const {
3247 return this != internal_default_instance() && lns_time_limit_ != nullptr;
3248}
3250 return _internal_has_lns_time_limit();
3251}
3252inline const ::PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::_internal_lns_time_limit() const {
3253 const ::PROTOBUF_NAMESPACE_ID::Duration* p = lns_time_limit_;
3254 return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Duration&>(
3255 ::PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
3256}
3257inline const ::PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::lns_time_limit() const {
3258 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.lns_time_limit)
3259 return _internal_lns_time_limit();
3260}
3262 ::PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit) {
3263 if (GetArenaForAllocation() == nullptr) {
3264 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit_);
3265 }
3266 lns_time_limit_ = lns_time_limit;
3267 if (lns_time_limit) {
3268
3269 } else {
3270
3271 }
3272 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
3273}
3274inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_lns_time_limit() {
3275
3276 ::PROTOBUF_NAMESPACE_ID::Duration* temp = lns_time_limit_;
3277 lns_time_limit_ = nullptr;
3278#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3279 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3280 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3281 if (GetArenaForAllocation() == nullptr) { delete old; }
3282#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3283 if (GetArenaForAllocation() != nullptr) {
3284 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3285 }
3286#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3287 return temp;
3288}
3289inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::unsafe_arena_release_lns_time_limit() {
3290 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.lns_time_limit)
3291
3292 ::PROTOBUF_NAMESPACE_ID::Duration* temp = lns_time_limit_;
3293 lns_time_limit_ = nullptr;
3294 return temp;
3295}
3296inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::_internal_mutable_lns_time_limit() {
3297
3298 if (lns_time_limit_ == nullptr) {
3299 auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Duration>(GetArenaForAllocation());
3300 lns_time_limit_ = p;
3301 }
3302 return lns_time_limit_;
3303}
3304inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_lns_time_limit() {
3305 ::PROTOBUF_NAMESPACE_ID::Duration* _msg = _internal_mutable_lns_time_limit();
3306 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.lns_time_limit)
3307 return _msg;
3308}
3309inline void RoutingSearchParameters::set_allocated_lns_time_limit(::PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit) {
3310 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3311 if (message_arena == nullptr) {
3312 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit_);
3313 }
3314 if (lns_time_limit) {
3315 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3316 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
3317 ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
3318 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit));
3319 if (message_arena != submessage_arena) {
3320 lns_time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3321 message_arena, lns_time_limit, submessage_arena);
3322 }
3323
3324 } else {
3325
3326 }
3327 lns_time_limit_ = lns_time_limit;
3328 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
3329}
3330
3331// .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
3332inline bool RoutingSearchParameters::_internal_has_improvement_limit_parameters() const {
3333 return this != internal_default_instance() && improvement_limit_parameters_ != nullptr;
3334}
3336 return _internal_has_improvement_limit_parameters();
3337}
3339 if (GetArenaForAllocation() == nullptr && improvement_limit_parameters_ != nullptr) {
3340 delete improvement_limit_parameters_;
3341 }
3342 improvement_limit_parameters_ = nullptr;
3343}
3344inline const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& RoutingSearchParameters::_internal_improvement_limit_parameters() const {
3345 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* p = improvement_limit_parameters_;
3346 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters&>(
3348}
3349inline const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& RoutingSearchParameters::improvement_limit_parameters() const {
3350 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3351 return _internal_improvement_limit_parameters();
3352}
3355 if (GetArenaForAllocation() == nullptr) {
3356 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(improvement_limit_parameters_);
3357 }
3358 improvement_limit_parameters_ = improvement_limit_parameters;
3359 if (improvement_limit_parameters) {
3360
3361 } else {
3362
3363 }
3364 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3365}
3366inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* RoutingSearchParameters::release_improvement_limit_parameters() {
3367
3369 improvement_limit_parameters_ = nullptr;
3370#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3371 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3372 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3373 if (GetArenaForAllocation() == nullptr) { delete old; }
3374#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3375 if (GetArenaForAllocation() != nullptr) {
3376 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3377 }
3378#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3379 return temp;
3380}
3381inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* RoutingSearchParameters::unsafe_arena_release_improvement_limit_parameters() {
3382 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3383
3385 improvement_limit_parameters_ = nullptr;
3386 return temp;
3387}
3388inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* RoutingSearchParameters::_internal_mutable_improvement_limit_parameters() {
3389
3390 if (improvement_limit_parameters_ == nullptr) {
3391 auto* p = CreateMaybeMessage<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters>(GetArenaForAllocation());
3392 improvement_limit_parameters_ = p;
3393 }
3394 return improvement_limit_parameters_;
3395}
3396inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* RoutingSearchParameters::mutable_improvement_limit_parameters() {
3397 ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* _msg = _internal_mutable_improvement_limit_parameters();
3398 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3399 return _msg;
3400}
3402 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3403 if (message_arena == nullptr) {
3404 delete improvement_limit_parameters_;
3405 }
3406 if (improvement_limit_parameters) {
3407 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3408 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters>::GetOwningArena(improvement_limit_parameters);
3409 if (message_arena != submessage_arena) {
3410 improvement_limit_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3411 message_arena, improvement_limit_parameters, submessage_arena);
3412 }
3413
3414 } else {
3415
3416 }
3417 improvement_limit_parameters_ = improvement_limit_parameters;
3418 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3419}
3420
3421// bool use_full_propagation = 11;
3423 use_full_propagation_ = false;
3424}
3425inline bool RoutingSearchParameters::_internal_use_full_propagation() const {
3426 return use_full_propagation_;
3427}
3429 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_full_propagation)
3430 return _internal_use_full_propagation();
3431}
3432inline void RoutingSearchParameters::_internal_set_use_full_propagation(bool value) {
3433
3434 use_full_propagation_ = value;
3435}
3437 _internal_set_use_full_propagation(value);
3438 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_full_propagation)
3439}
3440
3441// bool log_search = 13;
3443 log_search_ = false;
3444}
3445inline bool RoutingSearchParameters::_internal_log_search() const {
3446 return log_search_;
3447}
3449 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_search)
3450 return _internal_log_search();
3451}
3452inline void RoutingSearchParameters::_internal_set_log_search(bool value) {
3453
3454 log_search_ = value;
3455}
3457 _internal_set_log_search(value);
3458 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_search)
3459}
3460
3461// double log_cost_scaling_factor = 22;
3463 log_cost_scaling_factor_ = 0;
3464}
3465inline double RoutingSearchParameters::_internal_log_cost_scaling_factor() const {
3466 return log_cost_scaling_factor_;
3467}
3469 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
3470 return _internal_log_cost_scaling_factor();
3471}
3472inline void RoutingSearchParameters::_internal_set_log_cost_scaling_factor(double value) {
3473
3474 log_cost_scaling_factor_ = value;
3475}
3477 _internal_set_log_cost_scaling_factor(value);
3478 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
3479}
3480
3481// double log_cost_offset = 29;
3483 log_cost_offset_ = 0;
3484}
3485inline double RoutingSearchParameters::_internal_log_cost_offset() const {
3486 return log_cost_offset_;
3487}
3489 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_offset)
3490 return _internal_log_cost_offset();
3491}
3492inline void RoutingSearchParameters::_internal_set_log_cost_offset(double value) {
3493
3494 log_cost_offset_ = value;
3495}
3497 _internal_set_log_cost_offset(value);
3498 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_offset)
3499}
3500
3501// string log_tag = 36;
3503 log_tag_.ClearToEmpty();
3504}
3505inline const std::string& RoutingSearchParameters::log_tag() const {
3506 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_tag)
3507 return _internal_log_tag();
3508}
3509template <typename ArgT0, typename... ArgT>
3510inline PROTOBUF_ALWAYS_INLINE
3511void RoutingSearchParameters::set_log_tag(ArgT0&& arg0, ArgT... args) {
3512
3513 log_tag_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
3514 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_tag)
3515}
3517 std::string* _s = _internal_mutable_log_tag();
3518 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.log_tag)
3519 return _s;
3520}
3521inline const std::string& RoutingSearchParameters::_internal_log_tag() const {
3522 return log_tag_.Get();
3523}
3524inline void RoutingSearchParameters::_internal_set_log_tag(const std::string& value) {
3525
3526 log_tag_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
3527}
3528inline std::string* RoutingSearchParameters::_internal_mutable_log_tag() {
3529
3530 return log_tag_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
3531}
3533 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.log_tag)
3534 return log_tag_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
3535}
3536inline void RoutingSearchParameters::set_allocated_log_tag(std::string* log_tag) {
3537 if (log_tag != nullptr) {
3538
3539 } else {
3540
3541 }
3542 log_tag_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), log_tag,
3543 GetArenaForAllocation());
3544#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
3545 if (log_tag_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
3546 log_tag_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
3547 }
3548#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
3549 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.log_tag)
3550}
3551
3552// -------------------------------------------------------------------
3553
3554// RoutingModelParameters
3555
3556// .operations_research.ConstraintSolverParameters solver_parameters = 1;
3557inline bool RoutingModelParameters::_internal_has_solver_parameters() const {
3558 return this != internal_default_instance() && solver_parameters_ != nullptr;
3559}
3561 return _internal_has_solver_parameters();
3562}
3563inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::_internal_solver_parameters() const {
3564 const ::operations_research::ConstraintSolverParameters* p = solver_parameters_;
3565 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::ConstraintSolverParameters&>(
3567}
3568inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::solver_parameters() const {
3569 // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.solver_parameters)
3570 return _internal_solver_parameters();
3571}
3574 if (GetArenaForAllocation() == nullptr) {
3575 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters_);
3576 }
3577 solver_parameters_ = solver_parameters;
3578 if (solver_parameters) {
3579
3580 } else {
3581
3582 }
3583 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
3584}
3585inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::release_solver_parameters() {
3586
3587 ::operations_research::ConstraintSolverParameters* temp = solver_parameters_;
3588 solver_parameters_ = nullptr;
3589#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3590 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3591 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3592 if (GetArenaForAllocation() == nullptr) { delete old; }
3593#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3594 if (GetArenaForAllocation() != nullptr) {
3595 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3596 }
3597#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3598 return temp;
3599}
3600inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::unsafe_arena_release_solver_parameters() {
3601 // @@protoc_insertion_point(field_release:operations_research.RoutingModelParameters.solver_parameters)
3602
3603 ::operations_research::ConstraintSolverParameters* temp = solver_parameters_;
3604 solver_parameters_ = nullptr;
3605 return temp;
3606}
3607inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::_internal_mutable_solver_parameters() {
3608
3609 if (solver_parameters_ == nullptr) {
3610 auto* p = CreateMaybeMessage<::operations_research::ConstraintSolverParameters>(GetArenaForAllocation());
3611 solver_parameters_ = p;
3612 }
3613 return solver_parameters_;
3614}
3615inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::mutable_solver_parameters() {
3616 ::operations_research::ConstraintSolverParameters* _msg = _internal_mutable_solver_parameters();
3617 // @@protoc_insertion_point(field_mutable:operations_research.RoutingModelParameters.solver_parameters)
3618 return _msg;
3619}
3621 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3622 if (message_arena == nullptr) {
3623 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters_);
3624 }
3625 if (solver_parameters) {
3626 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3627 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
3628 ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
3629 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters));
3630 if (message_arena != submessage_arena) {
3631 solver_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3632 message_arena, solver_parameters, submessage_arena);
3633 }
3634
3635 } else {
3636
3637 }
3638 solver_parameters_ = solver_parameters;
3639 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
3640}
3641
3642// bool reduce_vehicle_cost_model = 2;
3644 reduce_vehicle_cost_model_ = false;
3645}
3646inline bool RoutingModelParameters::_internal_reduce_vehicle_cost_model() const {
3647 return reduce_vehicle_cost_model_;
3648}
3650 // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
3651 return _internal_reduce_vehicle_cost_model();
3652}
3653inline void RoutingModelParameters::_internal_set_reduce_vehicle_cost_model(bool value) {
3654
3655 reduce_vehicle_cost_model_ = value;
3656}
3658 _internal_set_reduce_vehicle_cost_model(value);
3659 // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
3660}
3661
3662// int32 max_callback_cache_size = 3;
3664 max_callback_cache_size_ = 0;
3665}
3666inline int32_t RoutingModelParameters::_internal_max_callback_cache_size() const {
3667 return max_callback_cache_size_;
3668}
3670 // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.max_callback_cache_size)
3671 return _internal_max_callback_cache_size();
3672}
3673inline void RoutingModelParameters::_internal_set_max_callback_cache_size(int32_t value) {
3674
3675 max_callback_cache_size_ = value;
3676}
3678 _internal_set_max_callback_cache_size(value);
3679 // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.max_callback_cache_size)
3680}
3681
3682#ifdef __GNUC__
3683 #pragma GCC diagnostic pop
3684#endif // __GNUC__
3685// -------------------------------------------------------------------
3686
3687// -------------------------------------------------------------------
3688
3689// -------------------------------------------------------------------
3690
3691
3692// @@protoc_insertion_point(namespace_scope)
3693
3694} // namespace operations_research
3695
3696PROTOBUF_NAMESPACE_OPEN
3697
3698template <> struct is_proto_enum< ::operations_research::RoutingSearchParameters_SchedulingSolver> : ::std::true_type {};
3699template <>
3700inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::RoutingSearchParameters_SchedulingSolver>() {
3702}
3703
3704PROTOBUF_NAMESPACE_CLOSE
3705
3706// @@protoc_insertion_point(global_scope)
3707
3708#include <google/protobuf/port_undef.inc>
3709#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
int64_t max
Definition: alldiff_cst.cc:140
int64_t min
Definition: alldiff_cst.cc:139
static const RoutingModelParameters & default_instance()
void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *solver_parameters)
static const RoutingModelParameters * internal_default_instance()
void UnsafeArenaSwap(RoutingModelParameters *other)
friend void swap(RoutingModelParameters &a, RoutingModelParameters &b)
void Swap(RoutingModelParameters *other)
::operations_research::ConstraintSolverParameters * unsafe_arena_release_solver_parameters()
PROTOBUF_NODISCARD::operations_research::ConstraintSolverParameters * release_solver_parameters()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
const ::operations_research::ConstraintSolverParameters & solver_parameters() const
::operations_research::ConstraintSolverParameters * mutable_solver_parameters()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
RoutingModelParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
RoutingModelParameters & operator=(RoutingModelParameters &&from) noexcept
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
RoutingModelParameters(RoutingModelParameters &&from) noexcept
void unsafe_arena_set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *solver_parameters)
RoutingModelParameters & operator=(const RoutingModelParameters &from)
RoutingSearchParameters_ImprovementSearchLimitParameters & operator=(RoutingSearchParameters_ImprovementSearchLimitParameters &&from) noexcept
static const RoutingSearchParameters_ImprovementSearchLimitParameters * internal_default_instance()
void UnsafeArenaSwap(RoutingSearchParameters_ImprovementSearchLimitParameters *other)
void Swap(RoutingSearchParameters_ImprovementSearchLimitParameters *other)
RoutingSearchParameters_ImprovementSearchLimitParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
friend void swap(RoutingSearchParameters_ImprovementSearchLimitParameters &a, RoutingSearchParameters_ImprovementSearchLimitParameters &b)
RoutingSearchParameters_ImprovementSearchLimitParameters(RoutingSearchParameters_ImprovementSearchLimitParameters &&from) noexcept
RoutingSearchParameters_ImprovementSearchLimitParameters & operator=(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
static const RoutingSearchParameters_ImprovementSearchLimitParameters & default_instance()
void set_use_node_pair_swap_active(::operations_research::OptionalBoolean value)
void Swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators *other)
void UnsafeArenaSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators *other)
void set_use_make_chain_inactive(::operations_research::OptionalBoolean value)
void set_use_light_relocate_pair(::operations_research::OptionalBoolean value)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value)
void set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_local_cheapest_insertion_close_nodes_lns() const
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators & default_instance()
RoutingSearchParameters_LocalSearchNeighborhoodOperators(RoutingSearchParameters_LocalSearchNeighborhoodOperators &&from) noexcept
::operations_research::OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed() const
::operations_research::OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns() const
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators * internal_default_instance()
void set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(RoutingSearchParameters_LocalSearchNeighborhoodOperators &&from) noexcept
void set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_global_cheapest_insertion_close_nodes_lns() const
void set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
void set_use_extended_swap_active(::operations_research::OptionalBoolean value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::operations_research::OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns() const
void CopyFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_local_cheapest_insertion_path_lns() const
void MergeFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void set_use_relocate_and_make_active(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_global_cheapest_insertion_path_lns() const
RoutingSearchParameters_LocalSearchNeighborhoodOperators * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
friend void swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators &a, RoutingSearchParameters_LocalSearchNeighborhoodOperators &b)
void set_use_relocate_neighbors(::operations_research::OptionalBoolean value)
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value)
void set_multi_armed_bandit_compound_operator_memory_coefficient(double value)
void set_allocated_time_limit(::PROTOBUF_NAMESPACE_ID::Duration *time_limit)
void Swap(RoutingSearchParameters *other)
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters * mutable_improvement_limit_parameters()
PROTOBUF_NODISCARD std::string * release_log_tag()
static const RoutingSearchParameters * internal_default_instance()
PROTOBUF_NODISCARD::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters * release_improvement_limit_parameters()
::operations_research::FirstSolutionStrategy_Value first_solution_strategy() const
void set_allocated_sat_parameters(::operations_research::sat::SatParameters *sat_parameters)
::operations_research::OptionalBoolean use_generalized_cp_sat() const
PROTOBUF_NODISCARD::operations_research::sat::SatParameters * release_sat_parameters()
::operations_research::sat::SatParameters * unsafe_arena_release_sat_parameters()
const ::PROTOBUF_NAMESPACE_ID::Duration & time_limit() const
void unsafe_arena_set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *improvement_limit_parameters)
RoutingSearchParameters & operator=(const RoutingSearchParameters &from)
void set_allocated_lns_time_limit(::PROTOBUF_NAMESPACE_ID::Duration *lns_time_limit)
::PROTOBUF_NAMESPACE_ID::Duration * mutable_lns_time_limit()
void set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value)
void unsafe_arena_set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *local_search_operators)
void unsafe_arena_set_allocated_sat_parameters(::operations_research::sat::SatParameters *sat_parameters)
RoutingSearchParameters(RoutingSearchParameters &&from) noexcept
static const RoutingSearchParameters & default_instance()
const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators & local_search_operators() const
::operations_research::LocalSearchMetaheuristic_Value local_search_metaheuristic() const
::PROTOBUF_NAMESPACE_ID::Duration * unsafe_arena_release_lns_time_limit()
RoutingSearchParameters & operator=(RoutingSearchParameters &&from) noexcept
static bool SchedulingSolver_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SchedulingSolver *value)
void set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value)
::operations_research::OptionalBoolean use_cp_sat() const
void set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value)
PROTOBUF_NODISCARD::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * release_local_search_operators()
void UnsafeArenaSwap(RoutingSearchParameters *other)
::operations_research::OptionalBoolean use_cp() const
::PROTOBUF_NAMESPACE_ID::Duration * unsafe_arena_release_time_limit()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
const ::operations_research::sat::SatParameters & sat_parameters() const
void unsafe_arena_set_allocated_lns_time_limit(::PROTOBUF_NAMESPACE_ID::Duration *lns_time_limit)
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * mutable_local_search_operators()
void set_multi_armed_bandit_compound_operator_exploration_coefficient(double value)
::PROTOBUF_NAMESPACE_ID::Duration * mutable_time_limit()
RoutingSearchParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *local_search_operators)
PROTOBUF_NODISCARD::PROTOBUF_NAMESPACE_ID::Duration * release_time_limit()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * unsafe_arena_release_local_search_operators()
void set_use_cp_sat(::operations_research::OptionalBoolean value)
PROTOBUF_NODISCARD::PROTOBUF_NAMESPACE_ID::Duration * release_lns_time_limit()
void set_heuristic_expensive_chain_lns_num_arcs_to_consider(int32_t value)
::operations_research::sat::SatParameters * mutable_sat_parameters()
void set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
::operations_research::RoutingSearchParameters_SchedulingSolver mixed_integer_scheduling_solver() const
void unsafe_arena_set_allocated_time_limit(::PROTOBUF_NAMESPACE_ID::Duration *time_limit)
void set_use_generalized_cp_sat(::operations_research::OptionalBoolean value)
void set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *improvement_limit_parameters)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SchedulingSolver_descriptor()
friend void swap(RoutingSearchParameters &a, RoutingSearchParameters &b)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters & improvement_limit_parameters() const
static const std::string & SchedulingSolver_Name(T enum_t_value)
void set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
const ::PROTOBUF_NAMESPACE_ID::Duration & lns_time_limit() const
::operations_research::RoutingSearchParameters_SchedulingSolver continuous_scheduling_solver() const
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters * unsafe_arena_release_improvement_limit_parameters()
void set_log_tag(ArgT0 &&arg0, ArgT... args)
void set_use_cp(::operations_research::OptionalBoolean value)
int64_t b
int64_t a
ModelSharedTimeLimit * time_limit
const std::string name
int64_t value
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SatParametersDefaultTypeInternal _SatParameters_default_instance_
Collection of objects used to extend the Constraint Solver library.
const std::string & RoutingSearchParameters_SchedulingSolver_Name(T enum_t_value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * RoutingSearchParameters_SchedulingSolver_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ConstraintSolverParametersDefaultTypeInternal _ConstraintSolverParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingSearchParameters_ImprovementSearchLimitParametersDefaultTypeInternal _RoutingSearchParameters_ImprovementSearchLimitParameters_default_instance_
bool RoutingSearchParameters_SchedulingSolver_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_
@ RoutingSearchParameters_SchedulingSolver_RoutingSearchParameters_SchedulingSolver_INT_MIN_SENTINEL_DO_NOT_USE_
@ RoutingSearchParameters_SchedulingSolver_RoutingSearchParameters_SchedulingSolver_INT_MAX_SENTINEL_DO_NOT_USE_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_
constexpr RoutingSearchParameters_SchedulingSolver RoutingSearchParameters_SchedulingSolver_SchedulingSolver_MAX
bool RoutingSearchParameters_SchedulingSolver_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RoutingSearchParameters_SchedulingSolver *value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_
constexpr int RoutingSearchParameters_SchedulingSolver_SchedulingSolver_ARRAYSIZE
constexpr RoutingSearchParameters_SchedulingSolver RoutingSearchParameters_SchedulingSolver_SchedulingSolver_MIN
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)