OR-Tools  9.1
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 < 3018000
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 3018000 < 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 ::PROTOBUF_NAMESPACE_ID::uint32 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 if (GetOwningArena() == other->GetOwningArena()) {
168 InternalSwap(other);
169 } else {
170 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
171 }
172 }
174 if (other == this) return;
175 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
176 InternalSwap(other);
177 }
178
179 // implements Message ----------------------------------------------
180
183 }
184
185 RoutingSearchParameters_LocalSearchNeighborhoodOperators* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
186 return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(arena);
187 }
188 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
190 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
192 private:
193 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
194 public:
195 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
196 bool IsInitialized() const final;
197
198 size_t ByteSizeLong() const final;
199 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
200 ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
201 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
202 int GetCachedSize() const final { return _cached_size_.Get(); }
203
204 private:
205 void SharedCtor();
206 void SharedDtor();
207 void SetCachedSize(int size) const final;
209 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
210 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
211 return "operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators";
212 }
213 protected:
214 explicit RoutingSearchParameters_LocalSearchNeighborhoodOperators(::PROTOBUF_NAMESPACE_ID::Arena* arena,
215 bool is_message_owned = false);
216 private:
217 static void ArenaDtor(void* object);
218 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
219 public:
220
221 static const ClassData _class_data_;
222 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
223
224 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
225
226 // nested types ----------------------------------------------------
227
228 // accessors -------------------------------------------------------
229
230 enum : int {
264 };
265 // .operations_research.OptionalBoolean use_relocate = 1;
266 void clear_use_relocate();
269 private:
270 ::operations_research::OptionalBoolean _internal_use_relocate() const;
271 void _internal_set_use_relocate(::operations_research::OptionalBoolean value);
272 public:
273
274 // .operations_research.OptionalBoolean use_relocate_pair = 2;
278 private:
279 ::operations_research::OptionalBoolean _internal_use_relocate_pair() const;
280 void _internal_set_use_relocate_pair(::operations_research::OptionalBoolean value);
281 public:
282
283 // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
287 private:
288 ::operations_research::OptionalBoolean _internal_use_relocate_neighbors() const;
289 void _internal_set_use_relocate_neighbors(::operations_research::OptionalBoolean value);
290 public:
291
292 // .operations_research.OptionalBoolean use_exchange = 4;
293 void clear_use_exchange();
296 private:
297 ::operations_research::OptionalBoolean _internal_use_exchange() const;
298 void _internal_set_use_exchange(::operations_research::OptionalBoolean value);
299 public:
300
301 // .operations_research.OptionalBoolean use_cross = 5;
302 void clear_use_cross();
305 private:
306 ::operations_research::OptionalBoolean _internal_use_cross() const;
307 void _internal_set_use_cross(::operations_research::OptionalBoolean value);
308 public:
309
310 // .operations_research.OptionalBoolean use_cross_exchange = 6;
314 private:
315 ::operations_research::OptionalBoolean _internal_use_cross_exchange() const;
316 void _internal_set_use_cross_exchange(::operations_research::OptionalBoolean value);
317 public:
318
319 // .operations_research.OptionalBoolean use_two_opt = 7;
320 void clear_use_two_opt();
323 private:
324 ::operations_research::OptionalBoolean _internal_use_two_opt() const;
325 void _internal_set_use_two_opt(::operations_research::OptionalBoolean value);
326 public:
327
328 // .operations_research.OptionalBoolean use_or_opt = 8;
329 void clear_use_or_opt();
332 private:
333 ::operations_research::OptionalBoolean _internal_use_or_opt() const;
334 void _internal_set_use_or_opt(::operations_research::OptionalBoolean value);
335 public:
336
337 // .operations_research.OptionalBoolean use_lin_kernighan = 9;
341 private:
342 ::operations_research::OptionalBoolean _internal_use_lin_kernighan() const;
343 void _internal_set_use_lin_kernighan(::operations_research::OptionalBoolean value);
344 public:
345
346 // .operations_research.OptionalBoolean use_tsp_opt = 10;
347 void clear_use_tsp_opt();
350 private:
351 ::operations_research::OptionalBoolean _internal_use_tsp_opt() const;
352 void _internal_set_use_tsp_opt(::operations_research::OptionalBoolean value);
353 public:
354
355 // .operations_research.OptionalBoolean use_make_active = 11;
359 private:
360 ::operations_research::OptionalBoolean _internal_use_make_active() const;
361 void _internal_set_use_make_active(::operations_research::OptionalBoolean value);
362 public:
363
364 // .operations_research.OptionalBoolean use_make_inactive = 12;
368 private:
369 ::operations_research::OptionalBoolean _internal_use_make_inactive() const;
370 void _internal_set_use_make_inactive(::operations_research::OptionalBoolean value);
371 public:
372
373 // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
377 private:
378 ::operations_research::OptionalBoolean _internal_use_make_chain_inactive() const;
379 void _internal_set_use_make_chain_inactive(::operations_research::OptionalBoolean value);
380 public:
381
382 // .operations_research.OptionalBoolean use_swap_active = 14;
386 private:
387 ::operations_research::OptionalBoolean _internal_use_swap_active() const;
388 void _internal_set_use_swap_active(::operations_research::OptionalBoolean value);
389 public:
390
391 // .operations_research.OptionalBoolean use_extended_swap_active = 15;
395 private:
396 ::operations_research::OptionalBoolean _internal_use_extended_swap_active() const;
397 void _internal_set_use_extended_swap_active(::operations_research::OptionalBoolean value);
398 public:
399
400 // .operations_research.OptionalBoolean use_path_lns = 16;
401 void clear_use_path_lns();
404 private:
405 ::operations_research::OptionalBoolean _internal_use_path_lns() const;
406 void _internal_set_use_path_lns(::operations_research::OptionalBoolean value);
407 public:
408
409 // .operations_research.OptionalBoolean use_full_path_lns = 17;
413 private:
414 ::operations_research::OptionalBoolean _internal_use_full_path_lns() const;
415 void _internal_set_use_full_path_lns(::operations_research::OptionalBoolean value);
416 public:
417
418 // .operations_research.OptionalBoolean use_tsp_lns = 18;
419 void clear_use_tsp_lns();
422 private:
423 ::operations_research::OptionalBoolean _internal_use_tsp_lns() const;
424 void _internal_set_use_tsp_lns(::operations_research::OptionalBoolean value);
425 public:
426
427 // .operations_research.OptionalBoolean use_inactive_lns = 19;
431 private:
432 ::operations_research::OptionalBoolean _internal_use_inactive_lns() const;
433 void _internal_set_use_inactive_lns(::operations_research::OptionalBoolean value);
434 public:
435
436 // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
440 private:
441 ::operations_research::OptionalBoolean _internal_use_node_pair_swap_active() const;
442 void _internal_set_use_node_pair_swap_active(::operations_research::OptionalBoolean value);
443 public:
444
445 // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
449 private:
450 ::operations_research::OptionalBoolean _internal_use_relocate_and_make_active() const;
451 void _internal_set_use_relocate_and_make_active(::operations_research::OptionalBoolean value);
452 public:
453
454 // .operations_research.OptionalBoolean use_exchange_pair = 22;
458 private:
459 ::operations_research::OptionalBoolean _internal_use_exchange_pair() const;
460 void _internal_set_use_exchange_pair(::operations_research::OptionalBoolean value);
461 public:
462
463 // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
467 private:
468 ::operations_research::OptionalBoolean _internal_use_relocate_expensive_chain() const;
469 void _internal_set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value);
470 public:
471
472 // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
476 private:
477 ::operations_research::OptionalBoolean _internal_use_light_relocate_pair() const;
478 void _internal_set_use_light_relocate_pair(::operations_research::OptionalBoolean value);
479 public:
480
481 // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
485 private:
486 ::operations_research::OptionalBoolean _internal_use_relocate_subtrip() const;
487 void _internal_set_use_relocate_subtrip(::operations_research::OptionalBoolean value);
488 public:
489
490 // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
494 private:
495 ::operations_research::OptionalBoolean _internal_use_exchange_subtrip() const;
496 void _internal_set_use_exchange_subtrip(::operations_research::OptionalBoolean value);
497 public:
498
499 // .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
503 private:
504 ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_path_lns() const;
505 void _internal_set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
506 public:
507
508 // .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
512 private:
513 ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_path_lns() const;
514 void _internal_set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
515 public:
516
517 // .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
521 private:
522 ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_expensive_chain_lns() const;
523 void _internal_set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
524 public:
525
526 // .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
530 private:
531 ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_expensive_chain_lns() const;
532 void _internal_set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
533 public:
534
535 // .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
539 private:
540 ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_close_nodes_lns() const;
541 void _internal_set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value);
542 public:
543
544 // .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
548 private:
549 ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_close_nodes_lns() const;
550 void _internal_set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value);
551 public:
552
553 // .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
557 private:
558 ::operations_research::OptionalBoolean _internal_use_relocate_path_global_cheapest_insertion_insert_unperformed() const;
559 void _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value);
560 public:
561
562 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
563 private:
564 class _Internal;
565
566 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
567 typedef void InternalArenaConstructable_;
568 typedef void DestructorSkippable_;
569 int use_relocate_;
570 int use_relocate_pair_;
571 int use_relocate_neighbors_;
572 int use_exchange_;
573 int use_cross_;
574 int use_cross_exchange_;
575 int use_two_opt_;
576 int use_or_opt_;
577 int use_lin_kernighan_;
578 int use_tsp_opt_;
579 int use_make_active_;
580 int use_make_inactive_;
581 int use_make_chain_inactive_;
582 int use_swap_active_;
583 int use_extended_swap_active_;
584 int use_path_lns_;
585 int use_full_path_lns_;
586 int use_tsp_lns_;
587 int use_inactive_lns_;
588 int use_node_pair_swap_active_;
589 int use_relocate_and_make_active_;
590 int use_exchange_pair_;
591 int use_relocate_expensive_chain_;
592 int use_light_relocate_pair_;
593 int use_relocate_subtrip_;
594 int use_exchange_subtrip_;
595 int use_global_cheapest_insertion_path_lns_;
596 int use_local_cheapest_insertion_path_lns_;
597 int use_global_cheapest_insertion_expensive_chain_lns_;
598 int use_local_cheapest_insertion_expensive_chain_lns_;
599 int use_global_cheapest_insertion_close_nodes_lns_;
600 int use_local_cheapest_insertion_close_nodes_lns_;
601 int use_relocate_path_global_cheapest_insertion_insert_unperformed_;
602 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
603 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
604};
605// -------------------------------------------------------------------
606
608 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters) */ {
609 public:
612 explicit constexpr RoutingSearchParameters_ImprovementSearchLimitParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
613
617 *this = ::std::move(from);
618 }
619
621 CopyFrom(from);
622 return *this;
623 }
625 if (this == &from) return *this;
626 if (GetOwningArena() == from.GetOwningArena()
627 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
628 && GetOwningArena() != nullptr
629 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
630 ) {
631 InternalSwap(&from);
632 } else {
633 CopyFrom(from);
634 }
635 return *this;
636 }
637
638 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
639 return GetDescriptor();
640 }
641 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
642 return default_instance().GetMetadata().descriptor;
643 }
644 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
645 return default_instance().GetMetadata().reflection;
646 }
649 }
651 return reinterpret_cast<const RoutingSearchParameters_ImprovementSearchLimitParameters*>(
653 }
654 static constexpr int kIndexInFileMessages =
655 1;
656
658 a.Swap(&b);
659 }
661 if (other == this) return;
662 if (GetOwningArena() == other->GetOwningArena()) {
663 InternalSwap(other);
664 } else {
665 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
666 }
667 }
669 if (other == this) return;
670 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
671 InternalSwap(other);
672 }
673
674 // implements Message ----------------------------------------------
675
678 }
679
680 RoutingSearchParameters_ImprovementSearchLimitParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
681 return CreateMaybeMessage<RoutingSearchParameters_ImprovementSearchLimitParameters>(arena);
682 }
683 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
685 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
687 private:
688 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
689 public:
690 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
691 bool IsInitialized() const final;
692
693 size_t ByteSizeLong() const final;
694 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
695 ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
696 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
697 int GetCachedSize() const final { return _cached_size_.Get(); }
698
699 private:
700 void SharedCtor();
701 void SharedDtor();
702 void SetCachedSize(int size) const final;
704 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
705 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
706 return "operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters";
707 }
708 protected:
709 explicit RoutingSearchParameters_ImprovementSearchLimitParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
710 bool is_message_owned = false);
711 private:
712 static void ArenaDtor(void* object);
713 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
714 public:
715
716 static const ClassData _class_data_;
717 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
718
719 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
720
721 // nested types ----------------------------------------------------
722
723 // accessors -------------------------------------------------------
724
725 enum : int {
728 };
729 // int32 improvement_rate_solutions_distance = 39;
731 ::PROTOBUF_NAMESPACE_ID::int32 improvement_rate_solutions_distance() const;
732 void set_improvement_rate_solutions_distance(::PROTOBUF_NAMESPACE_ID::int32 value);
733 private:
734 ::PROTOBUF_NAMESPACE_ID::int32 _internal_improvement_rate_solutions_distance() const;
735 void _internal_set_improvement_rate_solutions_distance(::PROTOBUF_NAMESPACE_ID::int32 value);
736 public:
737
738 // double improvement_rate_coefficient = 38;
740 double improvement_rate_coefficient() const;
742 private:
743 double _internal_improvement_rate_coefficient() const;
744 void _internal_set_improvement_rate_coefficient(double value);
745 public:
746
747 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
748 private:
749 class _Internal;
750
751 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
752 typedef void InternalArenaConstructable_;
753 typedef void DestructorSkippable_;
754 ::PROTOBUF_NAMESPACE_ID::int32 improvement_rate_solutions_distance_;
755 double improvement_rate_coefficient_;
756 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
757 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
758};
759// -------------------------------------------------------------------
760
762 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters) */ {
763 public:
765 ~RoutingSearchParameters() override;
766 explicit constexpr RoutingSearchParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
767
771 *this = ::std::move(from);
772 }
773
775 CopyFrom(from);
776 return *this;
777 }
779 if (this == &from) return *this;
780 if (GetOwningArena() == from.GetOwningArena()
781 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
782 && GetOwningArena() != nullptr
783 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
784 ) {
785 InternalSwap(&from);
786 } else {
787 CopyFrom(from);
788 }
789 return *this;
790 }
791
792 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
793 return GetDescriptor();
794 }
795 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
796 return default_instance().GetMetadata().descriptor;
797 }
798 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
799 return default_instance().GetMetadata().reflection;
800 }
803 }
805 return reinterpret_cast<const RoutingSearchParameters*>(
807 }
808 static constexpr int kIndexInFileMessages =
809 2;
810
812 a.Swap(&b);
813 }
814 inline void Swap(RoutingSearchParameters* other) {
815 if (other == this) return;
816 if (GetOwningArena() == other->GetOwningArena()) {
817 InternalSwap(other);
818 } else {
819 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
820 }
821 }
823 if (other == this) return;
824 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
825 InternalSwap(other);
826 }
827
828 // implements Message ----------------------------------------------
829
830 inline RoutingSearchParameters* New() const final {
831 return new RoutingSearchParameters();
832 }
833
834 RoutingSearchParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
835 return CreateMaybeMessage<RoutingSearchParameters>(arena);
836 }
837 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
838 void CopyFrom(const RoutingSearchParameters& from);
839 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
840 void MergeFrom(const RoutingSearchParameters& from);
841 private:
842 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
843 public:
844 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
845 bool IsInitialized() const final;
846
847 size_t ByteSizeLong() const final;
848 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
849 ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
850 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
851 int GetCachedSize() const final { return _cached_size_.Get(); }
852
853 private:
854 void SharedCtor();
855 void SharedDtor();
856 void SetCachedSize(int size) const final;
857 void InternalSwap(RoutingSearchParameters* other);
858 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
859 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
860 return "operations_research.RoutingSearchParameters";
861 }
862 protected:
863 explicit RoutingSearchParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
864 bool is_message_owned = false);
865 private:
866 static void ArenaDtor(void* object);
867 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
868 public:
869
870 static const ClassData _class_data_;
871 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
872
873 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
874
875 // nested types ----------------------------------------------------
876
879
881 static constexpr SchedulingSolver UNSET =
883 static constexpr SchedulingSolver GLOP =
885 static constexpr SchedulingSolver CP_SAT =
887 static inline bool SchedulingSolver_IsValid(int value) {
889 }
894 static constexpr int SchedulingSolver_ARRAYSIZE =
896 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
899 }
900 template<typename T>
901 static inline const std::string& SchedulingSolver_Name(T enum_t_value) {
904 "Incorrect type passed to function SchedulingSolver_Name.");
906 }
907 static inline bool SchedulingSolver_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
910 }
911
912 // accessors -------------------------------------------------------
913
914 enum : int {
957 };
958 // string log_tag = 36;
959 void clear_log_tag();
960 const std::string& log_tag() const;
961 template <typename ArgT0 = const std::string&, typename... ArgT>
962 void set_log_tag(ArgT0&& arg0, ArgT... args);
963 std::string* mutable_log_tag();
964 PROTOBUF_MUST_USE_RESULT std::string* release_log_tag();
965 void set_allocated_log_tag(std::string* log_tag);
966 private:
967 const std::string& _internal_log_tag() const;
968 inline PROTOBUF_ALWAYS_INLINE void _internal_set_log_tag(const std::string& value);
969 std::string* _internal_mutable_log_tag();
970 public:
971
972 // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
973 bool has_local_search_operators() const;
974 private:
975 bool _internal_has_local_search_operators() const;
976 public:
978 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& local_search_operators() const;
979 PROTOBUF_MUST_USE_RESULT ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* release_local_search_operators();
982 private:
983 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& _internal_local_search_operators() const;
985 public:
989
990 // .google.protobuf.Duration time_limit = 9;
991 bool has_time_limit() const;
992 private:
993 bool _internal_has_time_limit() const;
994 public:
995 void clear_time_limit();
996 const ::PROTOBUF_NAMESPACE_ID::Duration& time_limit() const;
997 PROTOBUF_MUST_USE_RESULT ::PROTOBUF_NAMESPACE_ID::Duration* release_time_limit();
998 ::PROTOBUF_NAMESPACE_ID::Duration* mutable_time_limit();
999 void set_allocated_time_limit(::PROTOBUF_NAMESPACE_ID::Duration* time_limit);
1000 private:
1001 const ::PROTOBUF_NAMESPACE_ID::Duration& _internal_time_limit() const;
1002 ::PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_time_limit();
1003 public:
1005 ::PROTOBUF_NAMESPACE_ID::Duration* time_limit);
1006 ::PROTOBUF_NAMESPACE_ID::Duration* unsafe_arena_release_time_limit();
1007
1008 // .google.protobuf.Duration lns_time_limit = 10;
1009 bool has_lns_time_limit() const;
1010 private:
1011 bool _internal_has_lns_time_limit() const;
1012 public:
1013 void clear_lns_time_limit();
1014 const ::PROTOBUF_NAMESPACE_ID::Duration& lns_time_limit() const;
1015 PROTOBUF_MUST_USE_RESULT ::PROTOBUF_NAMESPACE_ID::Duration* release_lns_time_limit();
1016 ::PROTOBUF_NAMESPACE_ID::Duration* mutable_lns_time_limit();
1017 void set_allocated_lns_time_limit(::PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit);
1018 private:
1019 const ::PROTOBUF_NAMESPACE_ID::Duration& _internal_lns_time_limit() const;
1020 ::PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_lns_time_limit();
1021 public:
1023 ::PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit);
1024 ::PROTOBUF_NAMESPACE_ID::Duration* unsafe_arena_release_lns_time_limit();
1025
1026 // .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
1028 private:
1029 bool _internal_has_improvement_limit_parameters() const;
1030 public:
1032 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& improvement_limit_parameters() const;
1033 PROTOBUF_MUST_USE_RESULT ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* release_improvement_limit_parameters();
1036 private:
1037 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& _internal_improvement_limit_parameters() const;
1038 ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* _internal_mutable_improvement_limit_parameters();
1039 public:
1043
1044 // .operations_research.sat.SatParameters sat_parameters = 48;
1045 bool has_sat_parameters() const;
1046 private:
1047 bool _internal_has_sat_parameters() const;
1048 public:
1049 void clear_sat_parameters();
1050 const ::operations_research::sat::SatParameters& sat_parameters() const;
1051 PROTOBUF_MUST_USE_RESULT ::operations_research::sat::SatParameters* release_sat_parameters();
1054 private:
1055 const ::operations_research::sat::SatParameters& _internal_sat_parameters() const;
1056 ::operations_research::sat::SatParameters* _internal_mutable_sat_parameters();
1057 public:
1061
1062 // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
1066 private:
1067 ::operations_research::FirstSolutionStrategy_Value _internal_first_solution_strategy() const;
1068 void _internal_set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value);
1069 public:
1070
1071 // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
1075 private:
1076 ::operations_research::LocalSearchMetaheuristic_Value _internal_local_search_metaheuristic() const;
1077 void _internal_set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value);
1078 public:
1079
1080 // double guided_local_search_lambda_coefficient = 5;
1084 private:
1085 double _internal_guided_local_search_lambda_coefficient() const;
1086 void _internal_set_guided_local_search_lambda_coefficient(double value);
1087 public:
1088
1089 // double optimization_step = 7;
1091 double optimization_step() const;
1092 void set_optimization_step(double value);
1093 private:
1094 double _internal_optimization_step() const;
1095 void _internal_set_optimization_step(double value);
1096 public:
1097
1098 // int64 solution_limit = 8;
1099 void clear_solution_limit();
1100 ::PROTOBUF_NAMESPACE_ID::int64 solution_limit() const;
1101 void set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value);
1102 private:
1103 ::PROTOBUF_NAMESPACE_ID::int64 _internal_solution_limit() const;
1104 void _internal_set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value);
1105 public:
1106
1107 // bool use_full_propagation = 11;
1109 bool use_full_propagation() const;
1111 private:
1112 bool _internal_use_full_propagation() const;
1113 void _internal_set_use_full_propagation(bool value);
1114 public:
1115
1116 // bool log_search = 13;
1117 void clear_log_search();
1118 bool log_search() const;
1119 void set_log_search(bool value);
1120 private:
1121 bool _internal_log_search() const;
1122 void _internal_set_log_search(bool value);
1123 public:
1124
1125 // int32 number_of_solutions_to_collect = 17;
1127 ::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect() const;
1128 void set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value);
1129 private:
1130 ::PROTOBUF_NAMESPACE_ID::int32 _internal_number_of_solutions_to_collect() const;
1131 void _internal_set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value);
1132 public:
1133
1134 // double savings_neighbors_ratio = 14;
1136 double savings_neighbors_ratio() const;
1138 private:
1139 double _internal_savings_neighbors_ratio() const;
1140 void _internal_set_savings_neighbors_ratio(double value);
1141 public:
1142
1143 // double cheapest_insertion_farthest_seeds_ratio = 16;
1147 private:
1148 double _internal_cheapest_insertion_farthest_seeds_ratio() const;
1149 void _internal_set_cheapest_insertion_farthest_seeds_ratio(double value);
1150 public:
1151
1152 // double savings_arc_coefficient = 18;
1154 double savings_arc_coefficient() const;
1156 private:
1157 double _internal_savings_arc_coefficient() const;
1158 void _internal_set_savings_arc_coefficient(double value);
1159 public:
1160
1161 // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
1163 ::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider() const;
1164 void set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
1165 private:
1166 ::PROTOBUF_NAMESPACE_ID::int32 _internal_relocate_expensive_chain_num_arcs_to_consider() const;
1167 void _internal_set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
1168 public:
1169
1170 // bool use_unfiltered_first_solution_strategy = 2;
1174 private:
1175 bool _internal_use_unfiltered_first_solution_strategy() const;
1176 void _internal_set_use_unfiltered_first_solution_strategy(bool value);
1177 public:
1178
1179 // bool savings_add_reverse_arcs = 15;
1181 bool savings_add_reverse_arcs() const;
1183 private:
1184 bool _internal_savings_add_reverse_arcs() const;
1185 void _internal_set_savings_add_reverse_arcs(bool value);
1186 public:
1187
1188 // bool savings_parallel_routes = 19;
1190 bool savings_parallel_routes() const;
1192 private:
1193 bool _internal_savings_parallel_routes() const;
1194 void _internal_set_savings_parallel_routes(bool value);
1195 public:
1196
1197 // bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
1201 private:
1202 bool _internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() const;
1203 void _internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value);
1204 public:
1205
1206 // double cheapest_insertion_first_solution_neighbors_ratio = 21;
1210 private:
1211 double _internal_cheapest_insertion_first_solution_neighbors_ratio() const;
1212 void _internal_set_cheapest_insertion_first_solution_neighbors_ratio(double value);
1213 public:
1214
1215 // double log_cost_scaling_factor = 22;
1217 double log_cost_scaling_factor() const;
1219 private:
1220 double _internal_log_cost_scaling_factor() const;
1221 void _internal_set_log_cost_scaling_factor(double value);
1222 public:
1223
1224 // double savings_max_memory_usage_bytes = 23;
1226 double savings_max_memory_usage_bytes() const;
1228 private:
1229 double _internal_savings_max_memory_usage_bytes() const;
1230 void _internal_set_savings_max_memory_usage_bytes(double value);
1231 public:
1232
1233 // .operations_research.OptionalBoolean use_cp_sat = 27;
1234 void clear_use_cp_sat();
1237 private:
1238 ::operations_research::OptionalBoolean _internal_use_cp_sat() const;
1239 void _internal_set_use_cp_sat(::operations_research::OptionalBoolean value);
1240 public:
1241
1242 // .operations_research.OptionalBoolean use_cp = 28;
1243 void clear_use_cp();
1246 private:
1247 ::operations_research::OptionalBoolean _internal_use_cp() const;
1248 void _internal_set_use_cp(::operations_research::OptionalBoolean value);
1249 public:
1250
1251 // double log_cost_offset = 29;
1252 void clear_log_cost_offset();
1253 double log_cost_offset() const;
1254 void set_log_cost_offset(double value);
1255 private:
1256 double _internal_log_cost_offset() const;
1257 void _internal_set_log_cost_offset(double value);
1258 public:
1259
1260 // bool cheapest_insertion_add_unperformed_entries = 40;
1264 private:
1265 bool _internal_cheapest_insertion_add_unperformed_entries() const;
1266 void _internal_set_cheapest_insertion_add_unperformed_entries(bool value);
1267 public:
1268
1269 // bool christofides_use_minimum_matching = 30;
1273 private:
1274 bool _internal_christofides_use_minimum_matching() const;
1275 void _internal_set_christofides_use_minimum_matching(bool value);
1276 public:
1277
1278 // bool use_multi_armed_bandit_concatenate_operators = 41;
1282 private:
1283 bool _internal_use_multi_armed_bandit_concatenate_operators() const;
1284 void _internal_set_use_multi_armed_bandit_concatenate_operators(bool value);
1285 public:
1286
1287 // bool use_depth_first_search = 6;
1289 bool use_depth_first_search() const;
1291 private:
1292 bool _internal_use_depth_first_search() const;
1293 void _internal_set_use_depth_first_search(bool value);
1294 public:
1295
1296 // int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
1298 ::PROTOBUF_NAMESPACE_ID::int32 heuristic_expensive_chain_lns_num_arcs_to_consider() const;
1299 void set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
1300 private:
1301 ::PROTOBUF_NAMESPACE_ID::int32 _internal_heuristic_expensive_chain_lns_num_arcs_to_consider() const;
1302 void _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value);
1303 public:
1304
1305 // double cheapest_insertion_ls_operator_neighbors_ratio = 31;
1309 private:
1310 double _internal_cheapest_insertion_ls_operator_neighbors_ratio() const;
1311 void _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(double value);
1312 public:
1313
1314 // .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
1318 private:
1319 ::operations_research::RoutingSearchParameters_SchedulingSolver _internal_continuous_scheduling_solver() const;
1320 void _internal_set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1321 public:
1322
1323 // .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
1327 private:
1328 ::operations_research::RoutingSearchParameters_SchedulingSolver _internal_mixed_integer_scheduling_solver() const;
1329 void _internal_set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1330 public:
1331
1332 // int32 heuristic_close_nodes_lns_num_nodes = 35;
1334 ::PROTOBUF_NAMESPACE_ID::int32 heuristic_close_nodes_lns_num_nodes() const;
1335 void set_heuristic_close_nodes_lns_num_nodes(::PROTOBUF_NAMESPACE_ID::int32 value);
1336 private:
1337 ::PROTOBUF_NAMESPACE_ID::int32 _internal_heuristic_close_nodes_lns_num_nodes() const;
1338 void _internal_set_heuristic_close_nodes_lns_num_nodes(::PROTOBUF_NAMESPACE_ID::int32 value);
1339 public:
1340
1341 // int32 cheapest_insertion_first_solution_min_neighbors = 44;
1343 ::PROTOBUF_NAMESPACE_ID::int32 cheapest_insertion_first_solution_min_neighbors() const;
1344 void set_cheapest_insertion_first_solution_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value);
1345 private:
1346 ::PROTOBUF_NAMESPACE_ID::int32 _internal_cheapest_insertion_first_solution_min_neighbors() const;
1347 void _internal_set_cheapest_insertion_first_solution_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value);
1348 public:
1349
1350 // double multi_armed_bandit_compound_operator_memory_coefficient = 42;
1354 private:
1355 double _internal_multi_armed_bandit_compound_operator_memory_coefficient() const;
1356 void _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(double value);
1357 public:
1358
1359 // double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
1363 private:
1364 double _internal_multi_armed_bandit_compound_operator_exploration_coefficient() const;
1365 void _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(double value);
1366 public:
1367
1368 // int32 cheapest_insertion_ls_operator_min_neighbors = 45;
1370 ::PROTOBUF_NAMESPACE_ID::int32 cheapest_insertion_ls_operator_min_neighbors() const;
1371 void set_cheapest_insertion_ls_operator_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value);
1372 private:
1373 ::PROTOBUF_NAMESPACE_ID::int32 _internal_cheapest_insertion_ls_operator_min_neighbors() const;
1374 void _internal_set_cheapest_insertion_ls_operator_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value);
1375 public:
1376
1377 // .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
1381 private:
1382 ::operations_research::OptionalBoolean _internal_use_generalized_cp_sat() const;
1383 void _internal_set_use_generalized_cp_sat(::operations_research::OptionalBoolean value);
1384 public:
1385
1386 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
1387 private:
1388 class _Internal;
1389
1390 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1391 typedef void InternalArenaConstructable_;
1392 typedef void DestructorSkippable_;
1393 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr log_tag_;
1395 ::PROTOBUF_NAMESPACE_ID::Duration* time_limit_;
1396 ::PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit_;
1399 int first_solution_strategy_;
1400 int local_search_metaheuristic_;
1401 double guided_local_search_lambda_coefficient_;
1402 double optimization_step_;
1403 ::PROTOBUF_NAMESPACE_ID::int64 solution_limit_;
1404 bool use_full_propagation_;
1405 bool log_search_;
1406 ::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect_;
1407 double savings_neighbors_ratio_;
1408 double cheapest_insertion_farthest_seeds_ratio_;
1409 double savings_arc_coefficient_;
1410 ::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider_;
1411 bool use_unfiltered_first_solution_strategy_;
1412 bool savings_add_reverse_arcs_;
1413 bool savings_parallel_routes_;
1414 bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_;
1415 double cheapest_insertion_first_solution_neighbors_ratio_;
1416 double log_cost_scaling_factor_;
1417 double savings_max_memory_usage_bytes_;
1418 int use_cp_sat_;
1419 int use_cp_;
1420 double log_cost_offset_;
1421 bool cheapest_insertion_add_unperformed_entries_;
1422 bool christofides_use_minimum_matching_;
1423 bool use_multi_armed_bandit_concatenate_operators_;
1424 bool use_depth_first_search_;
1425 ::PROTOBUF_NAMESPACE_ID::int32 heuristic_expensive_chain_lns_num_arcs_to_consider_;
1426 double cheapest_insertion_ls_operator_neighbors_ratio_;
1427 int continuous_scheduling_solver_;
1428 int mixed_integer_scheduling_solver_;
1429 ::PROTOBUF_NAMESPACE_ID::int32 heuristic_close_nodes_lns_num_nodes_;
1430 ::PROTOBUF_NAMESPACE_ID::int32 cheapest_insertion_first_solution_min_neighbors_;
1431 double multi_armed_bandit_compound_operator_memory_coefficient_;
1432 double multi_armed_bandit_compound_operator_exploration_coefficient_;
1433 ::PROTOBUF_NAMESPACE_ID::int32 cheapest_insertion_ls_operator_min_neighbors_;
1434 int use_generalized_cp_sat_;
1435 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1436 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1437};
1438// -------------------------------------------------------------------
1439
1441 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:operations_research.RoutingModelParameters) */ {
1442 public:
1444 ~RoutingModelParameters() override;
1445 explicit constexpr RoutingModelParameters(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1446
1450 *this = ::std::move(from);
1451 }
1452
1454 CopyFrom(from);
1455 return *this;
1456 }
1458 if (this == &from) return *this;
1459 if (GetOwningArena() == from.GetOwningArena()
1460 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1461 && GetOwningArena() != nullptr
1462 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1463 ) {
1464 InternalSwap(&from);
1465 } else {
1466 CopyFrom(from);
1467 }
1468 return *this;
1469 }
1470
1471 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1472 return GetDescriptor();
1473 }
1474 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1475 return default_instance().GetMetadata().descriptor;
1476 }
1477 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1478 return default_instance().GetMetadata().reflection;
1479 }
1481 return *internal_default_instance();
1482 }
1484 return reinterpret_cast<const RoutingModelParameters*>(
1486 }
1487 static constexpr int kIndexInFileMessages =
1488 3;
1489
1491 a.Swap(&b);
1492 }
1493 inline void Swap(RoutingModelParameters* other) {
1494 if (other == this) return;
1495 if (GetOwningArena() == other->GetOwningArena()) {
1496 InternalSwap(other);
1497 } else {
1498 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1499 }
1500 }
1502 if (other == this) return;
1503 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1504 InternalSwap(other);
1505 }
1506
1507 // implements Message ----------------------------------------------
1508
1509 inline RoutingModelParameters* New() const final {
1510 return new RoutingModelParameters();
1511 }
1512
1513 RoutingModelParameters* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
1514 return CreateMaybeMessage<RoutingModelParameters>(arena);
1515 }
1516 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1517 void CopyFrom(const RoutingModelParameters& from);
1518 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1519 void MergeFrom(const RoutingModelParameters& from);
1520 private:
1521 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
1522 public:
1523 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1524 bool IsInitialized() const final;
1525
1526 size_t ByteSizeLong() const final;
1527 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1528 ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
1529 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1530 int GetCachedSize() const final { return _cached_size_.Get(); }
1531
1532 private:
1533 void SharedCtor();
1534 void SharedDtor();
1535 void SetCachedSize(int size) const final;
1536 void InternalSwap(RoutingModelParameters* other);
1537 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1538 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1539 return "operations_research.RoutingModelParameters";
1540 }
1541 protected:
1542 explicit RoutingModelParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1543 bool is_message_owned = false);
1544 private:
1545 static void ArenaDtor(void* object);
1546 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1547 public:
1548
1549 static const ClassData _class_data_;
1550 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1551
1552 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1553
1554 // nested types ----------------------------------------------------
1555
1556 // accessors -------------------------------------------------------
1557
1558 enum : int {
1562 };
1563 // .operations_research.ConstraintSolverParameters solver_parameters = 1;
1564 bool has_solver_parameters() const;
1565 private:
1566 bool _internal_has_solver_parameters() const;
1567 public:
1569 const ::operations_research::ConstraintSolverParameters& solver_parameters() const;
1570 PROTOBUF_MUST_USE_RESULT ::operations_research::ConstraintSolverParameters* release_solver_parameters();
1573 private:
1574 const ::operations_research::ConstraintSolverParameters& _internal_solver_parameters() const;
1575 ::operations_research::ConstraintSolverParameters* _internal_mutable_solver_parameters();
1576 public:
1580
1581 // bool reduce_vehicle_cost_model = 2;
1583 bool reduce_vehicle_cost_model() const;
1585 private:
1586 bool _internal_reduce_vehicle_cost_model() const;
1587 void _internal_set_reduce_vehicle_cost_model(bool value);
1588 public:
1589
1590 // int32 max_callback_cache_size = 3;
1592 ::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size() const;
1593 void set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1594 private:
1595 ::PROTOBUF_NAMESPACE_ID::int32 _internal_max_callback_cache_size() const;
1596 void _internal_set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value);
1597 public:
1598
1599 // @@protoc_insertion_point(class_scope:operations_research.RoutingModelParameters)
1600 private:
1601 class _Internal;
1602
1603 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1604 typedef void InternalArenaConstructable_;
1605 typedef void DestructorSkippable_;
1607 bool reduce_vehicle_cost_model_;
1608 ::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size_;
1609 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1610 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1611};
1612// ===================================================================
1613
1614
1615// ===================================================================
1616
1617#ifdef __GNUC__
1618 #pragma GCC diagnostic push
1619 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1620#endif // __GNUC__
1621// RoutingSearchParameters_LocalSearchNeighborhoodOperators
1622
1623// .operations_research.OptionalBoolean use_relocate = 1;
1625 use_relocate_ = 0;
1626}
1627inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate() const {
1628 return static_cast< ::operations_research::OptionalBoolean >(use_relocate_);
1629}
1631 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
1632 return _internal_use_relocate();
1633}
1634inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate(::operations_research::OptionalBoolean value) {
1635
1636 use_relocate_ = value;
1637}
1639 _internal_set_use_relocate(value);
1640 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
1641}
1642
1643// .operations_research.OptionalBoolean use_relocate_pair = 2;
1645 use_relocate_pair_ = 0;
1646}
1647inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_pair() const {
1648 return static_cast< ::operations_research::OptionalBoolean >(use_relocate_pair_);
1649}
1651 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
1652 return _internal_use_relocate_pair();
1653}
1654inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_pair(::operations_research::OptionalBoolean value) {
1655
1656 use_relocate_pair_ = value;
1657}
1659 _internal_set_use_relocate_pair(value);
1660 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
1661}
1662
1663// .operations_research.OptionalBoolean use_light_relocate_pair = 24;
1665 use_light_relocate_pair_ = 0;
1666}
1667inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_light_relocate_pair() const {
1668 return static_cast< ::operations_research::OptionalBoolean >(use_light_relocate_pair_);
1669}
1671 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
1672 return _internal_use_light_relocate_pair();
1673}
1674inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_light_relocate_pair(::operations_research::OptionalBoolean value) {
1675
1676 use_light_relocate_pair_ = value;
1677}
1679 _internal_set_use_light_relocate_pair(value);
1680 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
1681}
1682
1683// .operations_research.OptionalBoolean use_relocate_neighbors = 3;
1685 use_relocate_neighbors_ = 0;
1686}
1687inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_neighbors() const {
1688 return static_cast< ::operations_research::OptionalBoolean >(use_relocate_neighbors_);
1689}
1691 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
1692 return _internal_use_relocate_neighbors();
1693}
1694inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_neighbors(::operations_research::OptionalBoolean value) {
1695
1696 use_relocate_neighbors_ = value;
1697}
1699 _internal_set_use_relocate_neighbors(value);
1700 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
1701}
1702
1703// .operations_research.OptionalBoolean use_relocate_subtrip = 25;
1705 use_relocate_subtrip_ = 0;
1706}
1707inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_subtrip() const {
1708 return static_cast< ::operations_research::OptionalBoolean >(use_relocate_subtrip_);
1709}
1711 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
1712 return _internal_use_relocate_subtrip();
1713}
1714inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_subtrip(::operations_research::OptionalBoolean value) {
1715
1716 use_relocate_subtrip_ = value;
1717}
1719 _internal_set_use_relocate_subtrip(value);
1720 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
1721}
1722
1723// .operations_research.OptionalBoolean use_exchange = 4;
1725 use_exchange_ = 0;
1726}
1727inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange() const {
1728 return static_cast< ::operations_research::OptionalBoolean >(use_exchange_);
1729}
1731 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
1732 return _internal_use_exchange();
1733}
1734inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange(::operations_research::OptionalBoolean value) {
1735
1736 use_exchange_ = value;
1737}
1739 _internal_set_use_exchange(value);
1740 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
1741}
1742
1743// .operations_research.OptionalBoolean use_exchange_pair = 22;
1745 use_exchange_pair_ = 0;
1746}
1747inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_pair() const {
1748 return static_cast< ::operations_research::OptionalBoolean >(use_exchange_pair_);
1749}
1751 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
1752 return _internal_use_exchange_pair();
1753}
1754inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_pair(::operations_research::OptionalBoolean value) {
1755
1756 use_exchange_pair_ = value;
1757}
1759 _internal_set_use_exchange_pair(value);
1760 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
1761}
1762
1763// .operations_research.OptionalBoolean use_exchange_subtrip = 26;
1765 use_exchange_subtrip_ = 0;
1766}
1767inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_subtrip() const {
1768 return static_cast< ::operations_research::OptionalBoolean >(use_exchange_subtrip_);
1769}
1771 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
1772 return _internal_use_exchange_subtrip();
1773}
1774inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_subtrip(::operations_research::OptionalBoolean value) {
1775
1776 use_exchange_subtrip_ = value;
1777}
1779 _internal_set_use_exchange_subtrip(value);
1780 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
1781}
1782
1783// .operations_research.OptionalBoolean use_cross = 5;
1785 use_cross_ = 0;
1786}
1787inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross() const {
1788 return static_cast< ::operations_research::OptionalBoolean >(use_cross_);
1789}
1791 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
1792 return _internal_use_cross();
1793}
1794inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_cross(::operations_research::OptionalBoolean value) {
1795
1796 use_cross_ = value;
1797}
1799 _internal_set_use_cross(value);
1800 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
1801}
1802
1803// .operations_research.OptionalBoolean use_cross_exchange = 6;
1805 use_cross_exchange_ = 0;
1806}
1807inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross_exchange() const {
1808 return static_cast< ::operations_research::OptionalBoolean >(use_cross_exchange_);
1809}
1811 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
1812 return _internal_use_cross_exchange();
1813}
1814inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_cross_exchange(::operations_research::OptionalBoolean value) {
1815
1816 use_cross_exchange_ = value;
1817}
1819 _internal_set_use_cross_exchange(value);
1820 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
1821}
1822
1823// .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
1825 use_relocate_expensive_chain_ = 0;
1826}
1827inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_expensive_chain() const {
1828 return static_cast< ::operations_research::OptionalBoolean >(use_relocate_expensive_chain_);
1829}
1831 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
1832 return _internal_use_relocate_expensive_chain();
1833}
1834inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value) {
1835
1836 use_relocate_expensive_chain_ = value;
1837}
1839 _internal_set_use_relocate_expensive_chain(value);
1840 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
1841}
1842
1843// .operations_research.OptionalBoolean use_two_opt = 7;
1845 use_two_opt_ = 0;
1846}
1847inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_two_opt() const {
1848 return static_cast< ::operations_research::OptionalBoolean >(use_two_opt_);
1849}
1851 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
1852 return _internal_use_two_opt();
1853}
1854inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_two_opt(::operations_research::OptionalBoolean value) {
1855
1856 use_two_opt_ = value;
1857}
1859 _internal_set_use_two_opt(value);
1860 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
1861}
1862
1863// .operations_research.OptionalBoolean use_or_opt = 8;
1865 use_or_opt_ = 0;
1866}
1867inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_or_opt() const {
1868 return static_cast< ::operations_research::OptionalBoolean >(use_or_opt_);
1869}
1871 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
1872 return _internal_use_or_opt();
1873}
1874inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_or_opt(::operations_research::OptionalBoolean value) {
1875
1876 use_or_opt_ = value;
1877}
1879 _internal_set_use_or_opt(value);
1880 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
1881}
1882
1883// .operations_research.OptionalBoolean use_lin_kernighan = 9;
1885 use_lin_kernighan_ = 0;
1886}
1887inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_lin_kernighan() const {
1888 return static_cast< ::operations_research::OptionalBoolean >(use_lin_kernighan_);
1889}
1891 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
1892 return _internal_use_lin_kernighan();
1893}
1894inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_lin_kernighan(::operations_research::OptionalBoolean value) {
1895
1896 use_lin_kernighan_ = value;
1897}
1899 _internal_set_use_lin_kernighan(value);
1900 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
1901}
1902
1903// .operations_research.OptionalBoolean use_tsp_opt = 10;
1905 use_tsp_opt_ = 0;
1906}
1907inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_opt() const {
1908 return static_cast< ::operations_research::OptionalBoolean >(use_tsp_opt_);
1909}
1911 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
1912 return _internal_use_tsp_opt();
1913}
1914inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_tsp_opt(::operations_research::OptionalBoolean value) {
1915
1916 use_tsp_opt_ = value;
1917}
1919 _internal_set_use_tsp_opt(value);
1920 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
1921}
1922
1923// .operations_research.OptionalBoolean use_make_active = 11;
1925 use_make_active_ = 0;
1926}
1927inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_active() const {
1928 return static_cast< ::operations_research::OptionalBoolean >(use_make_active_);
1929}
1931 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1932 return _internal_use_make_active();
1933}
1934inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_active(::operations_research::OptionalBoolean value) {
1935
1936 use_make_active_ = value;
1937}
1939 _internal_set_use_make_active(value);
1940 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
1941}
1942
1943// .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
1945 use_relocate_and_make_active_ = 0;
1946}
1947inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_and_make_active() const {
1948 return static_cast< ::operations_research::OptionalBoolean >(use_relocate_and_make_active_);
1949}
1951 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1952 return _internal_use_relocate_and_make_active();
1953}
1954inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_and_make_active(::operations_research::OptionalBoolean value) {
1955
1956 use_relocate_and_make_active_ = value;
1957}
1959 _internal_set_use_relocate_and_make_active(value);
1960 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
1961}
1962
1963// .operations_research.OptionalBoolean use_make_inactive = 12;
1965 use_make_inactive_ = 0;
1966}
1967inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_inactive() const {
1968 return static_cast< ::operations_research::OptionalBoolean >(use_make_inactive_);
1969}
1971 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1972 return _internal_use_make_inactive();
1973}
1974inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_inactive(::operations_research::OptionalBoolean value) {
1975
1976 use_make_inactive_ = value;
1977}
1979 _internal_set_use_make_inactive(value);
1980 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
1981}
1982
1983// .operations_research.OptionalBoolean use_make_chain_inactive = 13;
1985 use_make_chain_inactive_ = 0;
1986}
1987inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_chain_inactive() const {
1988 return static_cast< ::operations_research::OptionalBoolean >(use_make_chain_inactive_);
1989}
1991 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
1992 return _internal_use_make_chain_inactive();
1993}
1994inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_chain_inactive(::operations_research::OptionalBoolean value) {
1995
1996 use_make_chain_inactive_ = value;
1997}
1999 _internal_set_use_make_chain_inactive(value);
2000 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
2001}
2002
2003// .operations_research.OptionalBoolean use_swap_active = 14;
2005 use_swap_active_ = 0;
2006}
2007inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_swap_active() const {
2008 return static_cast< ::operations_research::OptionalBoolean >(use_swap_active_);
2009}
2011 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
2012 return _internal_use_swap_active();
2013}
2014inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_swap_active(::operations_research::OptionalBoolean value) {
2015
2016 use_swap_active_ = value;
2017}
2019 _internal_set_use_swap_active(value);
2020 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
2021}
2022
2023// .operations_research.OptionalBoolean use_extended_swap_active = 15;
2025 use_extended_swap_active_ = 0;
2026}
2027inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_extended_swap_active() const {
2028 return static_cast< ::operations_research::OptionalBoolean >(use_extended_swap_active_);
2029}
2031 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
2032 return _internal_use_extended_swap_active();
2033}
2034inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_extended_swap_active(::operations_research::OptionalBoolean value) {
2035
2036 use_extended_swap_active_ = value;
2037}
2039 _internal_set_use_extended_swap_active(value);
2040 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
2041}
2042
2043// .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
2045 use_node_pair_swap_active_ = 0;
2046}
2047inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_node_pair_swap_active() const {
2048 return static_cast< ::operations_research::OptionalBoolean >(use_node_pair_swap_active_);
2049}
2051 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
2052 return _internal_use_node_pair_swap_active();
2053}
2054inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_node_pair_swap_active(::operations_research::OptionalBoolean value) {
2055
2056 use_node_pair_swap_active_ = value;
2057}
2059 _internal_set_use_node_pair_swap_active(value);
2060 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
2061}
2062
2063// .operations_research.OptionalBoolean use_path_lns = 16;
2065 use_path_lns_ = 0;
2066}
2067inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_path_lns() const {
2068 return static_cast< ::operations_research::OptionalBoolean >(use_path_lns_);
2069}
2071 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
2072 return _internal_use_path_lns();
2073}
2074inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_path_lns(::operations_research::OptionalBoolean value) {
2075
2076 use_path_lns_ = value;
2077}
2079 _internal_set_use_path_lns(value);
2080 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
2081}
2082
2083// .operations_research.OptionalBoolean use_full_path_lns = 17;
2085 use_full_path_lns_ = 0;
2086}
2087inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_full_path_lns() const {
2088 return static_cast< ::operations_research::OptionalBoolean >(use_full_path_lns_);
2089}
2091 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
2092 return _internal_use_full_path_lns();
2093}
2094inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_full_path_lns(::operations_research::OptionalBoolean value) {
2095
2096 use_full_path_lns_ = value;
2097}
2099 _internal_set_use_full_path_lns(value);
2100 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
2101}
2102
2103// .operations_research.OptionalBoolean use_tsp_lns = 18;
2105 use_tsp_lns_ = 0;
2106}
2107inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_lns() const {
2108 return static_cast< ::operations_research::OptionalBoolean >(use_tsp_lns_);
2109}
2111 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
2112 return _internal_use_tsp_lns();
2113}
2114inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_tsp_lns(::operations_research::OptionalBoolean value) {
2115
2116 use_tsp_lns_ = value;
2117}
2119 _internal_set_use_tsp_lns(value);
2120 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
2121}
2122
2123// .operations_research.OptionalBoolean use_inactive_lns = 19;
2125 use_inactive_lns_ = 0;
2126}
2127inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_inactive_lns() const {
2128 return static_cast< ::operations_research::OptionalBoolean >(use_inactive_lns_);
2129}
2131 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
2132 return _internal_use_inactive_lns();
2133}
2134inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_inactive_lns(::operations_research::OptionalBoolean value) {
2135
2136 use_inactive_lns_ = value;
2137}
2139 _internal_set_use_inactive_lns(value);
2140 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
2141}
2142
2143// .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
2145 use_global_cheapest_insertion_path_lns_ = 0;
2146}
2147inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_path_lns() const {
2148 return static_cast< ::operations_research::OptionalBoolean >(use_global_cheapest_insertion_path_lns_);
2149}
2151 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_path_lns)
2152 return _internal_use_global_cheapest_insertion_path_lns();
2153}
2154inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
2155
2156 use_global_cheapest_insertion_path_lns_ = value;
2157}
2159 _internal_set_use_global_cheapest_insertion_path_lns(value);
2160 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_path_lns)
2161}
2162
2163// .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
2165 use_local_cheapest_insertion_path_lns_ = 0;
2166}
2167inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_path_lns() const {
2168 return static_cast< ::operations_research::OptionalBoolean >(use_local_cheapest_insertion_path_lns_);
2169}
2171 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_path_lns)
2172 return _internal_use_local_cheapest_insertion_path_lns();
2173}
2174inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
2175
2176 use_local_cheapest_insertion_path_lns_ = value;
2177}
2179 _internal_set_use_local_cheapest_insertion_path_lns(value);
2180 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_path_lns)
2181}
2182
2183// .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
2185 use_relocate_path_global_cheapest_insertion_insert_unperformed_ = 0;
2186}
2187inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_path_global_cheapest_insertion_insert_unperformed() const {
2188 return static_cast< ::operations_research::OptionalBoolean >(use_relocate_path_global_cheapest_insertion_insert_unperformed_);
2189}
2191 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_path_global_cheapest_insertion_insert_unperformed)
2192 return _internal_use_relocate_path_global_cheapest_insertion_insert_unperformed();
2193}
2194inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value) {
2195
2196 use_relocate_path_global_cheapest_insertion_insert_unperformed_ = value;
2197}
2199 _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(value);
2200 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_path_global_cheapest_insertion_insert_unperformed)
2201}
2202
2203// .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
2205 use_global_cheapest_insertion_expensive_chain_lns_ = 0;
2206}
2207inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_expensive_chain_lns() const {
2208 return static_cast< ::operations_research::OptionalBoolean >(use_global_cheapest_insertion_expensive_chain_lns_);
2209}
2211 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_expensive_chain_lns)
2212 return _internal_use_global_cheapest_insertion_expensive_chain_lns();
2213}
2214inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
2215
2216 use_global_cheapest_insertion_expensive_chain_lns_ = value;
2217}
2219 _internal_set_use_global_cheapest_insertion_expensive_chain_lns(value);
2220 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_expensive_chain_lns)
2221}
2222
2223// .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
2225 use_local_cheapest_insertion_expensive_chain_lns_ = 0;
2226}
2227inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_expensive_chain_lns() const {
2228 return static_cast< ::operations_research::OptionalBoolean >(use_local_cheapest_insertion_expensive_chain_lns_);
2229}
2231 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_expensive_chain_lns)
2232 return _internal_use_local_cheapest_insertion_expensive_chain_lns();
2233}
2234inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
2235
2236 use_local_cheapest_insertion_expensive_chain_lns_ = value;
2237}
2239 _internal_set_use_local_cheapest_insertion_expensive_chain_lns(value);
2240 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_expensive_chain_lns)
2241}
2242
2243// .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
2245 use_global_cheapest_insertion_close_nodes_lns_ = 0;
2246}
2247inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_close_nodes_lns() const {
2248 return static_cast< ::operations_research::OptionalBoolean >(use_global_cheapest_insertion_close_nodes_lns_);
2249}
2251 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_close_nodes_lns)
2252 return _internal_use_global_cheapest_insertion_close_nodes_lns();
2253}
2254inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value) {
2255
2256 use_global_cheapest_insertion_close_nodes_lns_ = value;
2257}
2259 _internal_set_use_global_cheapest_insertion_close_nodes_lns(value);
2260 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_close_nodes_lns)
2261}
2262
2263// .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
2265 use_local_cheapest_insertion_close_nodes_lns_ = 0;
2266}
2267inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_close_nodes_lns() const {
2268 return static_cast< ::operations_research::OptionalBoolean >(use_local_cheapest_insertion_close_nodes_lns_);
2269}
2271 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_close_nodes_lns)
2272 return _internal_use_local_cheapest_insertion_close_nodes_lns();
2273}
2274inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value) {
2275
2276 use_local_cheapest_insertion_close_nodes_lns_ = value;
2277}
2279 _internal_set_use_local_cheapest_insertion_close_nodes_lns(value);
2280 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_close_nodes_lns)
2281}
2282
2283// -------------------------------------------------------------------
2284
2285// RoutingSearchParameters_ImprovementSearchLimitParameters
2286
2287// double improvement_rate_coefficient = 38;
2289 improvement_rate_coefficient_ = 0;
2290}
2291inline double RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_improvement_rate_coefficient() const {
2292 return improvement_rate_coefficient_;
2293}
2295 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_coefficient)
2296 return _internal_improvement_rate_coefficient();
2297}
2298inline void RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_set_improvement_rate_coefficient(double value) {
2299
2300 improvement_rate_coefficient_ = value;
2301}
2303 _internal_set_improvement_rate_coefficient(value);
2304 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_coefficient)
2305}
2306
2307// int32 improvement_rate_solutions_distance = 39;
2309 improvement_rate_solutions_distance_ = 0;
2310}
2311inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_improvement_rate_solutions_distance() const {
2312 return improvement_rate_solutions_distance_;
2313}
2315 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_solutions_distance)
2316 return _internal_improvement_rate_solutions_distance();
2317}
2318inline void RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_set_improvement_rate_solutions_distance(::PROTOBUF_NAMESPACE_ID::int32 value) {
2319
2320 improvement_rate_solutions_distance_ = value;
2321}
2323 _internal_set_improvement_rate_solutions_distance(value);
2324 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_solutions_distance)
2325}
2326
2327// -------------------------------------------------------------------
2328
2329// RoutingSearchParameters
2330
2331// .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
2333 first_solution_strategy_ = 0;
2334}
2335inline ::operations_research::FirstSolutionStrategy_Value RoutingSearchParameters::_internal_first_solution_strategy() const {
2336 return static_cast< ::operations_research::FirstSolutionStrategy_Value >(first_solution_strategy_);
2337}
2339 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.first_solution_strategy)
2340 return _internal_first_solution_strategy();
2341}
2342inline void RoutingSearchParameters::_internal_set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value) {
2343
2344 first_solution_strategy_ = value;
2345}
2347 _internal_set_first_solution_strategy(value);
2348 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.first_solution_strategy)
2349}
2350
2351// bool use_unfiltered_first_solution_strategy = 2;
2353 use_unfiltered_first_solution_strategy_ = false;
2354}
2355inline bool RoutingSearchParameters::_internal_use_unfiltered_first_solution_strategy() const {
2356 return use_unfiltered_first_solution_strategy_;
2357}
2359 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
2360 return _internal_use_unfiltered_first_solution_strategy();
2361}
2362inline void RoutingSearchParameters::_internal_set_use_unfiltered_first_solution_strategy(bool value) {
2363
2364 use_unfiltered_first_solution_strategy_ = value;
2365}
2367 _internal_set_use_unfiltered_first_solution_strategy(value);
2368 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
2369}
2370
2371// double savings_neighbors_ratio = 14;
2373 savings_neighbors_ratio_ = 0;
2374}
2375inline double RoutingSearchParameters::_internal_savings_neighbors_ratio() const {
2376 return savings_neighbors_ratio_;
2377}
2379 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
2380 return _internal_savings_neighbors_ratio();
2381}
2382inline void RoutingSearchParameters::_internal_set_savings_neighbors_ratio(double value) {
2383
2384 savings_neighbors_ratio_ = value;
2385}
2387 _internal_set_savings_neighbors_ratio(value);
2388 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
2389}
2390
2391// double savings_max_memory_usage_bytes = 23;
2393 savings_max_memory_usage_bytes_ = 0;
2394}
2395inline double RoutingSearchParameters::_internal_savings_max_memory_usage_bytes() const {
2396 return savings_max_memory_usage_bytes_;
2397}
2399 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
2400 return _internal_savings_max_memory_usage_bytes();
2401}
2402inline void RoutingSearchParameters::_internal_set_savings_max_memory_usage_bytes(double value) {
2403
2404 savings_max_memory_usage_bytes_ = value;
2405}
2407 _internal_set_savings_max_memory_usage_bytes(value);
2408 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
2409}
2410
2411// bool savings_add_reverse_arcs = 15;
2413 savings_add_reverse_arcs_ = false;
2414}
2415inline bool RoutingSearchParameters::_internal_savings_add_reverse_arcs() const {
2416 return savings_add_reverse_arcs_;
2417}
2419 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
2420 return _internal_savings_add_reverse_arcs();
2421}
2422inline void RoutingSearchParameters::_internal_set_savings_add_reverse_arcs(bool value) {
2423
2424 savings_add_reverse_arcs_ = value;
2425}
2427 _internal_set_savings_add_reverse_arcs(value);
2428 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
2429}
2430
2431// double savings_arc_coefficient = 18;
2433 savings_arc_coefficient_ = 0;
2434}
2435inline double RoutingSearchParameters::_internal_savings_arc_coefficient() const {
2436 return savings_arc_coefficient_;
2437}
2439 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_arc_coefficient)
2440 return _internal_savings_arc_coefficient();
2441}
2442inline void RoutingSearchParameters::_internal_set_savings_arc_coefficient(double value) {
2443
2444 savings_arc_coefficient_ = value;
2445}
2447 _internal_set_savings_arc_coefficient(value);
2448 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_arc_coefficient)
2449}
2450
2451// bool savings_parallel_routes = 19;
2453 savings_parallel_routes_ = false;
2454}
2455inline bool RoutingSearchParameters::_internal_savings_parallel_routes() const {
2456 return savings_parallel_routes_;
2457}
2459 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_parallel_routes)
2460 return _internal_savings_parallel_routes();
2461}
2462inline void RoutingSearchParameters::_internal_set_savings_parallel_routes(bool value) {
2463
2464 savings_parallel_routes_ = value;
2465}
2467 _internal_set_savings_parallel_routes(value);
2468 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_parallel_routes)
2469}
2470
2471// double cheapest_insertion_farthest_seeds_ratio = 16;
2473 cheapest_insertion_farthest_seeds_ratio_ = 0;
2474}
2475inline double RoutingSearchParameters::_internal_cheapest_insertion_farthest_seeds_ratio() const {
2476 return cheapest_insertion_farthest_seeds_ratio_;
2477}
2479 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
2480 return _internal_cheapest_insertion_farthest_seeds_ratio();
2481}
2482inline void RoutingSearchParameters::_internal_set_cheapest_insertion_farthest_seeds_ratio(double value) {
2483
2484 cheapest_insertion_farthest_seeds_ratio_ = value;
2485}
2487 _internal_set_cheapest_insertion_farthest_seeds_ratio(value);
2488 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
2489}
2490
2491// double cheapest_insertion_first_solution_neighbors_ratio = 21;
2493 cheapest_insertion_first_solution_neighbors_ratio_ = 0;
2494}
2495inline double RoutingSearchParameters::_internal_cheapest_insertion_first_solution_neighbors_ratio() const {
2496 return cheapest_insertion_first_solution_neighbors_ratio_;
2497}
2499 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_neighbors_ratio)
2500 return _internal_cheapest_insertion_first_solution_neighbors_ratio();
2501}
2502inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_neighbors_ratio(double value) {
2503
2504 cheapest_insertion_first_solution_neighbors_ratio_ = value;
2505}
2507 _internal_set_cheapest_insertion_first_solution_neighbors_ratio(value);
2508 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_neighbors_ratio)
2509}
2510
2511// int32 cheapest_insertion_first_solution_min_neighbors = 44;
2513 cheapest_insertion_first_solution_min_neighbors_ = 0;
2514}
2515inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_cheapest_insertion_first_solution_min_neighbors() const {
2516 return cheapest_insertion_first_solution_min_neighbors_;
2517}
2519 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_min_neighbors)
2520 return _internal_cheapest_insertion_first_solution_min_neighbors();
2521}
2522inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value) {
2523
2524 cheapest_insertion_first_solution_min_neighbors_ = value;
2525}
2527 _internal_set_cheapest_insertion_first_solution_min_neighbors(value);
2528 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_min_neighbors)
2529}
2530
2531// double cheapest_insertion_ls_operator_neighbors_ratio = 31;
2533 cheapest_insertion_ls_operator_neighbors_ratio_ = 0;
2534}
2535inline double RoutingSearchParameters::_internal_cheapest_insertion_ls_operator_neighbors_ratio() const {
2536 return cheapest_insertion_ls_operator_neighbors_ratio_;
2537}
2539 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_neighbors_ratio)
2540 return _internal_cheapest_insertion_ls_operator_neighbors_ratio();
2541}
2542inline void RoutingSearchParameters::_internal_set_cheapest_insertion_ls_operator_neighbors_ratio(double value) {
2543
2544 cheapest_insertion_ls_operator_neighbors_ratio_ = value;
2545}
2547 _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(value);
2548 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_neighbors_ratio)
2549}
2550
2551// int32 cheapest_insertion_ls_operator_min_neighbors = 45;
2553 cheapest_insertion_ls_operator_min_neighbors_ = 0;
2554}
2555inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_cheapest_insertion_ls_operator_min_neighbors() const {
2556 return cheapest_insertion_ls_operator_min_neighbors_;
2557}
2559 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_min_neighbors)
2560 return _internal_cheapest_insertion_ls_operator_min_neighbors();
2561}
2562inline void RoutingSearchParameters::_internal_set_cheapest_insertion_ls_operator_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value) {
2563
2564 cheapest_insertion_ls_operator_min_neighbors_ = value;
2565}
2567 _internal_set_cheapest_insertion_ls_operator_min_neighbors(value);
2568 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_min_neighbors)
2569}
2570
2571// bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
2573 cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_ = false;
2574}
2575inline bool RoutingSearchParameters::_internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() const {
2576 return cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_;
2577}
2579 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization)
2580 return _internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization();
2581}
2582inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value) {
2583
2584 cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_ = value;
2585}
2587 _internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(value);
2588 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization)
2589}
2590
2591// bool cheapest_insertion_add_unperformed_entries = 40;
2593 cheapest_insertion_add_unperformed_entries_ = false;
2594}
2595inline bool RoutingSearchParameters::_internal_cheapest_insertion_add_unperformed_entries() const {
2596 return cheapest_insertion_add_unperformed_entries_;
2597}
2599 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_add_unperformed_entries)
2600 return _internal_cheapest_insertion_add_unperformed_entries();
2601}
2602inline void RoutingSearchParameters::_internal_set_cheapest_insertion_add_unperformed_entries(bool value) {
2603
2604 cheapest_insertion_add_unperformed_entries_ = value;
2605}
2607 _internal_set_cheapest_insertion_add_unperformed_entries(value);
2608 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_add_unperformed_entries)
2609}
2610
2611// bool christofides_use_minimum_matching = 30;
2613 christofides_use_minimum_matching_ = false;
2614}
2615inline bool RoutingSearchParameters::_internal_christofides_use_minimum_matching() const {
2616 return christofides_use_minimum_matching_;
2617}
2619 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.christofides_use_minimum_matching)
2620 return _internal_christofides_use_minimum_matching();
2621}
2622inline void RoutingSearchParameters::_internal_set_christofides_use_minimum_matching(bool value) {
2623
2624 christofides_use_minimum_matching_ = value;
2625}
2627 _internal_set_christofides_use_minimum_matching(value);
2628 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.christofides_use_minimum_matching)
2629}
2630
2631// .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
2632inline bool RoutingSearchParameters::_internal_has_local_search_operators() const {
2633 return this != internal_default_instance() && local_search_operators_ != nullptr;
2634}
2636 return _internal_has_local_search_operators();
2637}
2639 if (GetArenaForAllocation() == nullptr && local_search_operators_ != nullptr) {
2640 delete local_search_operators_;
2641 }
2642 local_search_operators_ = nullptr;
2643}
2644inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::_internal_local_search_operators() const {
2645 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* p = local_search_operators_;
2646 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators&>(
2648}
2649inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::local_search_operators() const {
2650 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_operators)
2651 return _internal_local_search_operators();
2652}
2655 if (GetArenaForAllocation() == nullptr) {
2656 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(local_search_operators_);
2657 }
2658 local_search_operators_ = local_search_operators;
2660
2661 } else {
2662
2663 }
2664 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
2665}
2666inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::release_local_search_operators() {
2667
2669 local_search_operators_ = nullptr;
2670#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
2671 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
2672 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2673 if (GetArenaForAllocation() == nullptr) { delete old; }
2674#else // PROTOBUF_FORCE_COPY_IN_RELEASE
2675 if (GetArenaForAllocation() != nullptr) {
2676 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2677 }
2678#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
2679 return temp;
2680}
2681inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::unsafe_arena_release_local_search_operators() {
2682 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.local_search_operators)
2683
2685 local_search_operators_ = nullptr;
2686 return temp;
2687}
2688inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::_internal_mutable_local_search_operators() {
2689
2690 if (local_search_operators_ == nullptr) {
2691 auto* p = CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(GetArenaForAllocation());
2692 local_search_operators_ = p;
2693 }
2694 return local_search_operators_;
2695}
2696inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::mutable_local_search_operators() {
2697 ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* _msg = _internal_mutable_local_search_operators();
2698 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.local_search_operators)
2699 return _msg;
2700}
2702 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
2703 if (message_arena == nullptr) {
2704 delete local_search_operators_;
2705 }
2707 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2708 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>::GetOwningArena(local_search_operators);
2709 if (message_arena != submessage_arena) {
2710 local_search_operators = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2711 message_arena, local_search_operators, submessage_arena);
2712 }
2713
2714 } else {
2715
2716 }
2717 local_search_operators_ = local_search_operators;
2718 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
2719}
2720
2721// bool use_multi_armed_bandit_concatenate_operators = 41;
2723 use_multi_armed_bandit_concatenate_operators_ = false;
2724}
2725inline bool RoutingSearchParameters::_internal_use_multi_armed_bandit_concatenate_operators() const {
2726 return use_multi_armed_bandit_concatenate_operators_;
2727}
2729 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_multi_armed_bandit_concatenate_operators)
2730 return _internal_use_multi_armed_bandit_concatenate_operators();
2731}
2732inline void RoutingSearchParameters::_internal_set_use_multi_armed_bandit_concatenate_operators(bool value) {
2733
2734 use_multi_armed_bandit_concatenate_operators_ = value;
2735}
2737 _internal_set_use_multi_armed_bandit_concatenate_operators(value);
2738 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_multi_armed_bandit_concatenate_operators)
2739}
2740
2741// double multi_armed_bandit_compound_operator_memory_coefficient = 42;
2743 multi_armed_bandit_compound_operator_memory_coefficient_ = 0;
2744}
2745inline double RoutingSearchParameters::_internal_multi_armed_bandit_compound_operator_memory_coefficient() const {
2746 return multi_armed_bandit_compound_operator_memory_coefficient_;
2747}
2749 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_memory_coefficient)
2750 return _internal_multi_armed_bandit_compound_operator_memory_coefficient();
2751}
2752inline void RoutingSearchParameters::_internal_set_multi_armed_bandit_compound_operator_memory_coefficient(double value) {
2753
2754 multi_armed_bandit_compound_operator_memory_coefficient_ = value;
2755}
2757 _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(value);
2758 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_memory_coefficient)
2759}
2760
2761// double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
2763 multi_armed_bandit_compound_operator_exploration_coefficient_ = 0;
2764}
2765inline double RoutingSearchParameters::_internal_multi_armed_bandit_compound_operator_exploration_coefficient() const {
2766 return multi_armed_bandit_compound_operator_exploration_coefficient_;
2767}
2769 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_exploration_coefficient)
2770 return _internal_multi_armed_bandit_compound_operator_exploration_coefficient();
2771}
2772inline void RoutingSearchParameters::_internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(double value) {
2773
2774 multi_armed_bandit_compound_operator_exploration_coefficient_ = value;
2775}
2777 _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(value);
2778 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_exploration_coefficient)
2779}
2780
2781// int32 relocate_expensive_chain_num_arcs_to_consider = 20;
2783 relocate_expensive_chain_num_arcs_to_consider_ = 0;
2784}
2785inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_relocate_expensive_chain_num_arcs_to_consider() const {
2786 return relocate_expensive_chain_num_arcs_to_consider_;
2787}
2789 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
2790 return _internal_relocate_expensive_chain_num_arcs_to_consider();
2791}
2792inline void RoutingSearchParameters::_internal_set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
2793
2794 relocate_expensive_chain_num_arcs_to_consider_ = value;
2795}
2797 _internal_set_relocate_expensive_chain_num_arcs_to_consider(value);
2798 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
2799}
2800
2801// int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
2803 heuristic_expensive_chain_lns_num_arcs_to_consider_ = 0;
2804}
2805inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_heuristic_expensive_chain_lns_num_arcs_to_consider() const {
2806 return heuristic_expensive_chain_lns_num_arcs_to_consider_;
2807}
2809 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.heuristic_expensive_chain_lns_num_arcs_to_consider)
2810 return _internal_heuristic_expensive_chain_lns_num_arcs_to_consider();
2811}
2812inline void RoutingSearchParameters::_internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value) {
2813
2814 heuristic_expensive_chain_lns_num_arcs_to_consider_ = value;
2815}
2817 _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(value);
2818 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.heuristic_expensive_chain_lns_num_arcs_to_consider)
2819}
2820
2821// int32 heuristic_close_nodes_lns_num_nodes = 35;
2823 heuristic_close_nodes_lns_num_nodes_ = 0;
2824}
2825inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_heuristic_close_nodes_lns_num_nodes() const {
2826 return heuristic_close_nodes_lns_num_nodes_;
2827}
2828inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::heuristic_close_nodes_lns_num_nodes() const {
2829 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.heuristic_close_nodes_lns_num_nodes)
2830 return _internal_heuristic_close_nodes_lns_num_nodes();
2831}
2832inline void RoutingSearchParameters::_internal_set_heuristic_close_nodes_lns_num_nodes(::PROTOBUF_NAMESPACE_ID::int32 value) {
2833
2834 heuristic_close_nodes_lns_num_nodes_ = value;
2835}
2837 _internal_set_heuristic_close_nodes_lns_num_nodes(value);
2838 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.heuristic_close_nodes_lns_num_nodes)
2839}
2840
2841// .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
2843 local_search_metaheuristic_ = 0;
2844}
2845inline ::operations_research::LocalSearchMetaheuristic_Value RoutingSearchParameters::_internal_local_search_metaheuristic() const {
2846 return static_cast< ::operations_research::LocalSearchMetaheuristic_Value >(local_search_metaheuristic_);
2847}
2849 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_metaheuristic)
2850 return _internal_local_search_metaheuristic();
2851}
2852inline void RoutingSearchParameters::_internal_set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value) {
2853
2854 local_search_metaheuristic_ = value;
2855}
2857 _internal_set_local_search_metaheuristic(value);
2858 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.local_search_metaheuristic)
2859}
2860
2861// double guided_local_search_lambda_coefficient = 5;
2863 guided_local_search_lambda_coefficient_ = 0;
2864}
2865inline double RoutingSearchParameters::_internal_guided_local_search_lambda_coefficient() const {
2866 return guided_local_search_lambda_coefficient_;
2867}
2869 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
2870 return _internal_guided_local_search_lambda_coefficient();
2871}
2872inline void RoutingSearchParameters::_internal_set_guided_local_search_lambda_coefficient(double value) {
2873
2874 guided_local_search_lambda_coefficient_ = value;
2875}
2877 _internal_set_guided_local_search_lambda_coefficient(value);
2878 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
2879}
2880
2881// bool use_depth_first_search = 6;
2883 use_depth_first_search_ = false;
2884}
2885inline bool RoutingSearchParameters::_internal_use_depth_first_search() const {
2886 return use_depth_first_search_;
2887}
2889 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_depth_first_search)
2890 return _internal_use_depth_first_search();
2891}
2892inline void RoutingSearchParameters::_internal_set_use_depth_first_search(bool value) {
2893
2894 use_depth_first_search_ = value;
2895}
2897 _internal_set_use_depth_first_search(value);
2898 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_depth_first_search)
2899}
2900
2901// .operations_research.OptionalBoolean use_cp = 28;
2903 use_cp_ = 0;
2904}
2905inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp() const {
2906 return static_cast< ::operations_research::OptionalBoolean >(use_cp_);
2907}
2909 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp)
2910 return _internal_use_cp();
2911}
2912inline void RoutingSearchParameters::_internal_set_use_cp(::operations_research::OptionalBoolean value) {
2913
2914 use_cp_ = value;
2915}
2917 _internal_set_use_cp(value);
2918 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp)
2919}
2920
2921// .operations_research.OptionalBoolean use_cp_sat = 27;
2923 use_cp_sat_ = 0;
2924}
2925inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp_sat() const {
2926 return static_cast< ::operations_research::OptionalBoolean >(use_cp_sat_);
2927}
2929 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp_sat)
2930 return _internal_use_cp_sat();
2931}
2932inline void RoutingSearchParameters::_internal_set_use_cp_sat(::operations_research::OptionalBoolean value) {
2933
2934 use_cp_sat_ = value;
2935}
2937 _internal_set_use_cp_sat(value);
2938 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp_sat)
2939}
2940
2941// .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
2943 use_generalized_cp_sat_ = 0;
2944}
2945inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_generalized_cp_sat() const {
2946 return static_cast< ::operations_research::OptionalBoolean >(use_generalized_cp_sat_);
2947}
2949 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_generalized_cp_sat)
2950 return _internal_use_generalized_cp_sat();
2951}
2952inline void RoutingSearchParameters::_internal_set_use_generalized_cp_sat(::operations_research::OptionalBoolean value) {
2953
2954 use_generalized_cp_sat_ = value;
2955}
2957 _internal_set_use_generalized_cp_sat(value);
2958 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_generalized_cp_sat)
2959}
2960
2961// .operations_research.sat.SatParameters sat_parameters = 48;
2962inline bool RoutingSearchParameters::_internal_has_sat_parameters() const {
2963 return this != internal_default_instance() && sat_parameters_ != nullptr;
2964}
2966 return _internal_has_sat_parameters();
2967}
2968inline const ::operations_research::sat::SatParameters& RoutingSearchParameters::_internal_sat_parameters() const {
2969 const ::operations_research::sat::SatParameters* p = sat_parameters_;
2970 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::sat::SatParameters&>(
2972}
2973inline const ::operations_research::sat::SatParameters& RoutingSearchParameters::sat_parameters() const {
2974 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.sat_parameters)
2975 return _internal_sat_parameters();
2976}
2978 ::operations_research::sat::SatParameters* sat_parameters) {
2979 if (GetArenaForAllocation() == nullptr) {
2980 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(sat_parameters_);
2981 }
2982 sat_parameters_ = sat_parameters;
2983 if (sat_parameters) {
2984
2985 } else {
2986
2987 }
2988 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.sat_parameters)
2989}
2990inline ::operations_research::sat::SatParameters* RoutingSearchParameters::release_sat_parameters() {
2991
2992 ::operations_research::sat::SatParameters* temp = sat_parameters_;
2993 sat_parameters_ = nullptr;
2994#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
2995 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
2996 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2997 if (GetArenaForAllocation() == nullptr) { delete old; }
2998#else // PROTOBUF_FORCE_COPY_IN_RELEASE
2999 if (GetArenaForAllocation() != nullptr) {
3000 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3001 }
3002#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3003 return temp;
3004}
3005inline ::operations_research::sat::SatParameters* RoutingSearchParameters::unsafe_arena_release_sat_parameters() {
3006 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.sat_parameters)
3007
3008 ::operations_research::sat::SatParameters* temp = sat_parameters_;
3009 sat_parameters_ = nullptr;
3010 return temp;
3011}
3012inline ::operations_research::sat::SatParameters* RoutingSearchParameters::_internal_mutable_sat_parameters() {
3013
3014 if (sat_parameters_ == nullptr) {
3015 auto* p = CreateMaybeMessage<::operations_research::sat::SatParameters>(GetArenaForAllocation());
3016 sat_parameters_ = p;
3017 }
3018 return sat_parameters_;
3019}
3020inline ::operations_research::sat::SatParameters* RoutingSearchParameters::mutable_sat_parameters() {
3021 ::operations_research::sat::SatParameters* _msg = _internal_mutable_sat_parameters();
3022 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.sat_parameters)
3023 return _msg;
3024}
3026 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3027 if (message_arena == nullptr) {
3028 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(sat_parameters_);
3029 }
3030 if (sat_parameters) {
3031 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3033 ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
3034 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(sat_parameters));
3035 if (message_arena != submessage_arena) {
3036 sat_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3037 message_arena, sat_parameters, submessage_arena);
3038 }
3039
3040 } else {
3041
3042 }
3043 sat_parameters_ = sat_parameters;
3044 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.sat_parameters)
3045}
3046
3047// .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
3049 continuous_scheduling_solver_ = 0;
3050}
3051inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_continuous_scheduling_solver() const {
3052 return static_cast< ::operations_research::RoutingSearchParameters_SchedulingSolver >(continuous_scheduling_solver_);
3053}
3055 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.continuous_scheduling_solver)
3056 return _internal_continuous_scheduling_solver();
3057}
3058inline void RoutingSearchParameters::_internal_set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
3059
3060 continuous_scheduling_solver_ = value;
3061}
3063 _internal_set_continuous_scheduling_solver(value);
3064 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.continuous_scheduling_solver)
3065}
3066
3067// .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
3069 mixed_integer_scheduling_solver_ = 0;
3070}
3071inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_mixed_integer_scheduling_solver() const {
3072 return static_cast< ::operations_research::RoutingSearchParameters_SchedulingSolver >(mixed_integer_scheduling_solver_);
3073}
3075 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.mixed_integer_scheduling_solver)
3076 return _internal_mixed_integer_scheduling_solver();
3077}
3078inline void RoutingSearchParameters::_internal_set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
3079
3080 mixed_integer_scheduling_solver_ = value;
3081}
3083 _internal_set_mixed_integer_scheduling_solver(value);
3084 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.mixed_integer_scheduling_solver)
3085}
3086
3087// double optimization_step = 7;
3089 optimization_step_ = 0;
3090}
3091inline double RoutingSearchParameters::_internal_optimization_step() const {
3092 return optimization_step_;
3093}
3095 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.optimization_step)
3096 return _internal_optimization_step();
3097}
3098inline void RoutingSearchParameters::_internal_set_optimization_step(double value) {
3099
3100 optimization_step_ = value;
3101}
3103 _internal_set_optimization_step(value);
3104 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.optimization_step)
3105}
3106
3107// int32 number_of_solutions_to_collect = 17;
3109 number_of_solutions_to_collect_ = 0;
3110}
3111inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::_internal_number_of_solutions_to_collect() const {
3112 return number_of_solutions_to_collect_;
3113}
3114inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingSearchParameters::number_of_solutions_to_collect() const {
3115 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
3116 return _internal_number_of_solutions_to_collect();
3117}
3118inline void RoutingSearchParameters::_internal_set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value) {
3119
3120 number_of_solutions_to_collect_ = value;
3121}
3122inline void RoutingSearchParameters::set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value) {
3123 _internal_set_number_of_solutions_to_collect(value);
3124 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
3125}
3126
3127// int64 solution_limit = 8;
3129 solution_limit_ = int64_t{0};
3130}
3131inline ::PROTOBUF_NAMESPACE_ID::int64 RoutingSearchParameters::_internal_solution_limit() const {
3132 return solution_limit_;
3133}
3134inline ::PROTOBUF_NAMESPACE_ID::int64 RoutingSearchParameters::solution_limit() const {
3135 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.solution_limit)
3136 return _internal_solution_limit();
3137}
3138inline void RoutingSearchParameters::_internal_set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value) {
3139
3140 solution_limit_ = value;
3141}
3142inline void RoutingSearchParameters::set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 value) {
3143 _internal_set_solution_limit(value);
3144 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.solution_limit)
3145}
3146
3147// .google.protobuf.Duration time_limit = 9;
3148inline bool RoutingSearchParameters::_internal_has_time_limit() const {
3149 return this != internal_default_instance() && time_limit_ != nullptr;
3150}
3152 return _internal_has_time_limit();
3153}
3154inline const ::PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::_internal_time_limit() const {
3155 const ::PROTOBUF_NAMESPACE_ID::Duration* p = time_limit_;
3156 return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Duration&>(
3157 ::PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
3158}
3159inline const ::PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::time_limit() const {
3160 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.time_limit)
3161 return _internal_time_limit();
3162}
3164 ::PROTOBUF_NAMESPACE_ID::Duration* time_limit) {
3165 if (GetArenaForAllocation() == nullptr) {
3166 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit_);
3167 }
3168 time_limit_ = time_limit;
3169 if (time_limit) {
3170
3171 } else {
3172
3173 }
3174 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.time_limit)
3175}
3176inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_time_limit() {
3177
3178 ::PROTOBUF_NAMESPACE_ID::Duration* temp = time_limit_;
3179 time_limit_ = nullptr;
3180#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3181 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3182 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3183 if (GetArenaForAllocation() == nullptr) { delete old; }
3184#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3185 if (GetArenaForAllocation() != nullptr) {
3186 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3187 }
3188#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3189 return temp;
3190}
3191inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::unsafe_arena_release_time_limit() {
3192 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.time_limit)
3193
3194 ::PROTOBUF_NAMESPACE_ID::Duration* temp = time_limit_;
3195 time_limit_ = nullptr;
3196 return temp;
3197}
3198inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::_internal_mutable_time_limit() {
3199
3200 if (time_limit_ == nullptr) {
3201 auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Duration>(GetArenaForAllocation());
3202 time_limit_ = p;
3203 }
3204 return time_limit_;
3205}
3206inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_time_limit() {
3207 ::PROTOBUF_NAMESPACE_ID::Duration* _msg = _internal_mutable_time_limit();
3208 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.time_limit)
3209 return _msg;
3210}
3211inline void RoutingSearchParameters::set_allocated_time_limit(::PROTOBUF_NAMESPACE_ID::Duration* time_limit) {
3212 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3213 if (message_arena == nullptr) {
3214 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit_);
3215 }
3216 if (time_limit) {
3217 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3219 ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
3220 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(time_limit));
3221 if (message_arena != submessage_arena) {
3222 time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3223 message_arena, time_limit, submessage_arena);
3224 }
3225
3226 } else {
3227
3228 }
3229 time_limit_ = time_limit;
3230 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.time_limit)
3231}
3232
3233// .google.protobuf.Duration lns_time_limit = 10;
3234inline bool RoutingSearchParameters::_internal_has_lns_time_limit() const {
3235 return this != internal_default_instance() && lns_time_limit_ != nullptr;
3236}
3238 return _internal_has_lns_time_limit();
3239}
3240inline const ::PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::_internal_lns_time_limit() const {
3241 const ::PROTOBUF_NAMESPACE_ID::Duration* p = lns_time_limit_;
3242 return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Duration&>(
3243 ::PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
3244}
3245inline const ::PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::lns_time_limit() const {
3246 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.lns_time_limit)
3247 return _internal_lns_time_limit();
3248}
3250 ::PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit) {
3251 if (GetArenaForAllocation() == nullptr) {
3252 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit_);
3253 }
3254 lns_time_limit_ = lns_time_limit;
3255 if (lns_time_limit) {
3256
3257 } else {
3258
3259 }
3260 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
3261}
3262inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::release_lns_time_limit() {
3263
3264 ::PROTOBUF_NAMESPACE_ID::Duration* temp = lns_time_limit_;
3265 lns_time_limit_ = nullptr;
3266#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3267 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3268 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3269 if (GetArenaForAllocation() == nullptr) { delete old; }
3270#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3271 if (GetArenaForAllocation() != nullptr) {
3272 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3273 }
3274#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3275 return temp;
3276}
3277inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::unsafe_arena_release_lns_time_limit() {
3278 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.lns_time_limit)
3279
3280 ::PROTOBUF_NAMESPACE_ID::Duration* temp = lns_time_limit_;
3281 lns_time_limit_ = nullptr;
3282 return temp;
3283}
3284inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::_internal_mutable_lns_time_limit() {
3285
3286 if (lns_time_limit_ == nullptr) {
3287 auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Duration>(GetArenaForAllocation());
3288 lns_time_limit_ = p;
3289 }
3290 return lns_time_limit_;
3291}
3292inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::mutable_lns_time_limit() {
3293 ::PROTOBUF_NAMESPACE_ID::Duration* _msg = _internal_mutable_lns_time_limit();
3294 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.lns_time_limit)
3295 return _msg;
3296}
3297inline void RoutingSearchParameters::set_allocated_lns_time_limit(::PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit) {
3298 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3299 if (message_arena == nullptr) {
3300 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit_);
3301 }
3302 if (lns_time_limit) {
3303 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3305 ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
3306 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(lns_time_limit));
3307 if (message_arena != submessage_arena) {
3308 lns_time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3309 message_arena, lns_time_limit, submessage_arena);
3310 }
3311
3312 } else {
3313
3314 }
3315 lns_time_limit_ = lns_time_limit;
3316 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
3317}
3318
3319// .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
3320inline bool RoutingSearchParameters::_internal_has_improvement_limit_parameters() const {
3321 return this != internal_default_instance() && improvement_limit_parameters_ != nullptr;
3322}
3324 return _internal_has_improvement_limit_parameters();
3325}
3327 if (GetArenaForAllocation() == nullptr && improvement_limit_parameters_ != nullptr) {
3328 delete improvement_limit_parameters_;
3329 }
3330 improvement_limit_parameters_ = nullptr;
3331}
3332inline const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& RoutingSearchParameters::_internal_improvement_limit_parameters() const {
3333 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* p = improvement_limit_parameters_;
3334 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters&>(
3336}
3337inline const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& RoutingSearchParameters::improvement_limit_parameters() const {
3338 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3339 return _internal_improvement_limit_parameters();
3340}
3343 if (GetArenaForAllocation() == nullptr) {
3344 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(improvement_limit_parameters_);
3345 }
3346 improvement_limit_parameters_ = improvement_limit_parameters;
3348
3349 } else {
3350
3351 }
3352 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3353}
3354inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* RoutingSearchParameters::release_improvement_limit_parameters() {
3355
3357 improvement_limit_parameters_ = nullptr;
3358#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3359 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3360 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3361 if (GetArenaForAllocation() == nullptr) { delete old; }
3362#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3363 if (GetArenaForAllocation() != nullptr) {
3364 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3365 }
3366#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3367 return temp;
3368}
3369inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* RoutingSearchParameters::unsafe_arena_release_improvement_limit_parameters() {
3370 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3371
3373 improvement_limit_parameters_ = nullptr;
3374 return temp;
3375}
3376inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* RoutingSearchParameters::_internal_mutable_improvement_limit_parameters() {
3377
3378 if (improvement_limit_parameters_ == nullptr) {
3379 auto* p = CreateMaybeMessage<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters>(GetArenaForAllocation());
3380 improvement_limit_parameters_ = p;
3381 }
3382 return improvement_limit_parameters_;
3383}
3384inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* RoutingSearchParameters::mutable_improvement_limit_parameters() {
3385 ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* _msg = _internal_mutable_improvement_limit_parameters();
3386 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3387 return _msg;
3388}
3390 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3391 if (message_arena == nullptr) {
3392 delete improvement_limit_parameters_;
3393 }
3395 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3396 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters>::GetOwningArena(improvement_limit_parameters);
3397 if (message_arena != submessage_arena) {
3398 improvement_limit_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3399 message_arena, improvement_limit_parameters, submessage_arena);
3400 }
3401
3402 } else {
3403
3404 }
3405 improvement_limit_parameters_ = improvement_limit_parameters;
3406 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.improvement_limit_parameters)
3407}
3408
3409// bool use_full_propagation = 11;
3411 use_full_propagation_ = false;
3412}
3413inline bool RoutingSearchParameters::_internal_use_full_propagation() const {
3414 return use_full_propagation_;
3415}
3417 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_full_propagation)
3418 return _internal_use_full_propagation();
3419}
3420inline void RoutingSearchParameters::_internal_set_use_full_propagation(bool value) {
3421
3422 use_full_propagation_ = value;
3423}
3425 _internal_set_use_full_propagation(value);
3426 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_full_propagation)
3427}
3428
3429// bool log_search = 13;
3431 log_search_ = false;
3432}
3433inline bool RoutingSearchParameters::_internal_log_search() const {
3434 return log_search_;
3435}
3437 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_search)
3438 return _internal_log_search();
3439}
3440inline void RoutingSearchParameters::_internal_set_log_search(bool value) {
3441
3442 log_search_ = value;
3443}
3445 _internal_set_log_search(value);
3446 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_search)
3447}
3448
3449// double log_cost_scaling_factor = 22;
3451 log_cost_scaling_factor_ = 0;
3452}
3453inline double RoutingSearchParameters::_internal_log_cost_scaling_factor() const {
3454 return log_cost_scaling_factor_;
3455}
3457 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
3458 return _internal_log_cost_scaling_factor();
3459}
3460inline void RoutingSearchParameters::_internal_set_log_cost_scaling_factor(double value) {
3461
3462 log_cost_scaling_factor_ = value;
3463}
3465 _internal_set_log_cost_scaling_factor(value);
3466 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
3467}
3468
3469// double log_cost_offset = 29;
3471 log_cost_offset_ = 0;
3472}
3473inline double RoutingSearchParameters::_internal_log_cost_offset() const {
3474 return log_cost_offset_;
3475}
3477 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_offset)
3478 return _internal_log_cost_offset();
3479}
3480inline void RoutingSearchParameters::_internal_set_log_cost_offset(double value) {
3481
3482 log_cost_offset_ = value;
3483}
3485 _internal_set_log_cost_offset(value);
3486 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_offset)
3487}
3488
3489// string log_tag = 36;
3491 log_tag_.ClearToEmpty();
3492}
3493inline const std::string& RoutingSearchParameters::log_tag() const {
3494 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_tag)
3495 return _internal_log_tag();
3496}
3497template <typename ArgT0, typename... ArgT>
3498inline PROTOBUF_ALWAYS_INLINE
3499void RoutingSearchParameters::set_log_tag(ArgT0&& arg0, ArgT... args) {
3500
3501 log_tag_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
3502 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_tag)
3503}
3505 std::string* _s = _internal_mutable_log_tag();
3506 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.log_tag)
3507 return _s;
3508}
3509inline const std::string& RoutingSearchParameters::_internal_log_tag() const {
3510 return log_tag_.Get();
3511}
3512inline void RoutingSearchParameters::_internal_set_log_tag(const std::string& value) {
3513
3514 log_tag_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
3515}
3516inline std::string* RoutingSearchParameters::_internal_mutable_log_tag() {
3517
3518 return log_tag_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
3519}
3521 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.log_tag)
3522 return log_tag_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
3523}
3524inline void RoutingSearchParameters::set_allocated_log_tag(std::string* log_tag) {
3525 if (log_tag != nullptr) {
3526
3527 } else {
3528
3529 }
3530 log_tag_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), log_tag,
3531 GetArenaForAllocation());
3532 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.log_tag)
3533}
3534
3535// -------------------------------------------------------------------
3536
3537// RoutingModelParameters
3538
3539// .operations_research.ConstraintSolverParameters solver_parameters = 1;
3540inline bool RoutingModelParameters::_internal_has_solver_parameters() const {
3541 return this != internal_default_instance() && solver_parameters_ != nullptr;
3542}
3544 return _internal_has_solver_parameters();
3545}
3546inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::_internal_solver_parameters() const {
3547 const ::operations_research::ConstraintSolverParameters* p = solver_parameters_;
3548 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::ConstraintSolverParameters&>(
3550}
3551inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::solver_parameters() const {
3552 // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.solver_parameters)
3553 return _internal_solver_parameters();
3554}
3557 if (GetArenaForAllocation() == nullptr) {
3558 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters_);
3559 }
3560 solver_parameters_ = solver_parameters;
3561 if (solver_parameters) {
3562
3563 } else {
3564
3565 }
3566 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
3567}
3568inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::release_solver_parameters() {
3569
3570 ::operations_research::ConstraintSolverParameters* temp = solver_parameters_;
3571 solver_parameters_ = nullptr;
3572#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3573 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3574 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3575 if (GetArenaForAllocation() == nullptr) { delete old; }
3576#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3577 if (GetArenaForAllocation() != nullptr) {
3578 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3579 }
3580#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3581 return temp;
3582}
3583inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::unsafe_arena_release_solver_parameters() {
3584 // @@protoc_insertion_point(field_release:operations_research.RoutingModelParameters.solver_parameters)
3585
3586 ::operations_research::ConstraintSolverParameters* temp = solver_parameters_;
3587 solver_parameters_ = nullptr;
3588 return temp;
3589}
3590inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::_internal_mutable_solver_parameters() {
3591
3592 if (solver_parameters_ == nullptr) {
3593 auto* p = CreateMaybeMessage<::operations_research::ConstraintSolverParameters>(GetArenaForAllocation());
3594 solver_parameters_ = p;
3595 }
3596 return solver_parameters_;
3597}
3598inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::mutable_solver_parameters() {
3599 ::operations_research::ConstraintSolverParameters* _msg = _internal_mutable_solver_parameters();
3600 // @@protoc_insertion_point(field_mutable:operations_research.RoutingModelParameters.solver_parameters)
3601 return _msg;
3602}
3604 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3605 if (message_arena == nullptr) {
3606 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters_);
3607 }
3608 if (solver_parameters) {
3609 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3611 ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
3612 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(solver_parameters));
3613 if (message_arena != submessage_arena) {
3614 solver_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3615 message_arena, solver_parameters, submessage_arena);
3616 }
3617
3618 } else {
3619
3620 }
3621 solver_parameters_ = solver_parameters;
3622 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
3623}
3624
3625// bool reduce_vehicle_cost_model = 2;
3627 reduce_vehicle_cost_model_ = false;
3628}
3629inline bool RoutingModelParameters::_internal_reduce_vehicle_cost_model() const {
3630 return reduce_vehicle_cost_model_;
3631}
3633 // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
3634 return _internal_reduce_vehicle_cost_model();
3635}
3636inline void RoutingModelParameters::_internal_set_reduce_vehicle_cost_model(bool value) {
3637
3638 reduce_vehicle_cost_model_ = value;
3639}
3641 _internal_set_reduce_vehicle_cost_model(value);
3642 // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
3643}
3644
3645// int32 max_callback_cache_size = 3;
3647 max_callback_cache_size_ = 0;
3648}
3649inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingModelParameters::_internal_max_callback_cache_size() const {
3650 return max_callback_cache_size_;
3651}
3652inline ::PROTOBUF_NAMESPACE_ID::int32 RoutingModelParameters::max_callback_cache_size() const {
3653 // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.max_callback_cache_size)
3654 return _internal_max_callback_cache_size();
3655}
3656inline void RoutingModelParameters::_internal_set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
3657
3658 max_callback_cache_size_ = value;
3659}
3660inline void RoutingModelParameters::set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value) {
3661 _internal_set_max_callback_cache_size(value);
3662 // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.max_callback_cache_size)
3663}
3664
3665#ifdef __GNUC__
3666 #pragma GCC diagnostic pop
3667#endif // __GNUC__
3668// -------------------------------------------------------------------
3669
3670// -------------------------------------------------------------------
3671
3672// -------------------------------------------------------------------
3673
3674
3675// @@protoc_insertion_point(namespace_scope)
3676
3677} // namespace operations_research
3678
3679PROTOBUF_NAMESPACE_OPEN
3680
3681template <> struct is_proto_enum< ::operations_research::RoutingSearchParameters_SchedulingSolver> : ::std::true_type {};
3682template <>
3683inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::RoutingSearchParameters_SchedulingSolver>() {
3685}
3686
3687PROTOBUF_NAMESPACE_CLOSE
3688
3689// @@protoc_insertion_point(global_scope)
3690
3691#include <google/protobuf/port_undef.inc>
3692#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()
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *solver_parameters)
static const RoutingModelParameters * internal_default_instance()
void CopyFrom(const RoutingModelParameters &from)
void set_max_callback_cache_size(::PROTOBUF_NAMESPACE_ID::int32 value)
void UnsafeArenaSwap(RoutingModelParameters *other)
friend void swap(RoutingModelParameters &a, RoutingModelParameters &b)
void Swap(RoutingModelParameters *other)
::operations_research::ConstraintSolverParameters * unsafe_arena_release_solver_parameters()
PROTOBUF_MUST_USE_RESULT::operations_research::ConstraintSolverParameters * release_solver_parameters()
RoutingModelParameters * New() const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
const ::operations_research::ConstraintSolverParameters & solver_parameters() const
::operations_research::ConstraintSolverParameters * mutable_solver_parameters()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper
void MergeFrom(const RoutingModelParameters &from)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
RoutingModelParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
RoutingModelParameters & operator=(RoutingModelParameters &&from) noexcept
::PROTOBUF_NAMESPACE_ID::int32 max_callback_cache_size() const
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)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
RoutingSearchParameters_ImprovementSearchLimitParameters & operator=(RoutingSearchParameters_ImprovementSearchLimitParameters &&from) noexcept
RoutingSearchParameters_ImprovementSearchLimitParameters * New() const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
static const RoutingSearchParameters_ImprovementSearchLimitParameters * internal_default_instance()
RoutingSearchParameters_ImprovementSearchLimitParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
void UnsafeArenaSwap(RoutingSearchParameters_ImprovementSearchLimitParameters *other)
void Swap(RoutingSearchParameters_ImprovementSearchLimitParameters *other)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() 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 MergeFrom(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
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
RoutingSearchParameters_LocalSearchNeighborhoodOperators * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const 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
RoutingSearchParameters_LocalSearchNeighborhoodOperators * New() const final
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
friend void swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators &a, RoutingSearchParameters_LocalSearchNeighborhoodOperators &b)
void set_use_relocate_neighbors(::operations_research::OptionalBoolean value)
void set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
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)
::PROTOBUF_NAMESPACE_ID::int32 cheapest_insertion_first_solution_min_neighbors() const
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters * mutable_improvement_limit_parameters()
void set_cheapest_insertion_ls_operator_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value)
PROTOBUF_MUST_USE_RESULT std::string * release_log_tag()
static constexpr SchedulingSolver SchedulingSolver_MIN
static const RoutingSearchParameters * internal_default_instance()
::PROTOBUF_NAMESPACE_ID::int32 number_of_solutions_to_collect() const
PROTOBUF_MUST_USE_RESULT::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)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
RoutingSearchParameters * New() const final
::operations_research::OptionalBoolean use_generalized_cp_sat() const
::PROTOBUF_NAMESPACE_ID::int32 relocate_expensive_chain_num_arcs_to_consider() const
PROTOBUF_MUST_USE_RESULT::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()
::PROTOBUF_NAMESPACE_ID::int32 heuristic_close_nodes_lns_num_nodes() const
void set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value)
void set_solution_limit(::PROTOBUF_NAMESPACE_ID::int64 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::int32 heuristic_expensive_chain_lns_num_arcs_to_consider() 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)
void set_heuristic_expensive_chain_lns_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_number_of_solutions_to_collect(::PROTOBUF_NAMESPACE_ID::int32 value)
PROTOBUF_MUST_USE_RESULT::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()
RoutingSearchParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
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)
static constexpr SchedulingSolver SchedulingSolver_MAX
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * mutable_local_search_operators()
void set_multi_armed_bandit_compound_operator_exploration_coefficient(double value)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Duration * mutable_time_limit()
::PROTOBUF_NAMESPACE_ID::int32 cheapest_insertion_ls_operator_min_neighbors() const
void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *local_search_operators)
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper
PROTOBUF_MUST_USE_RESULT::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)
void set_cheapest_insertion_first_solution_min_neighbors(::PROTOBUF_NAMESPACE_ID::int32 value)
PROTOBUF_MUST_USE_RESULT::PROTOBUF_NAMESPACE_ID::Duration * release_lns_time_limit()
::PROTOBUF_NAMESPACE_ID::int64 solution_limit() const
::operations_research::sat::SatParameters * mutable_sat_parameters()
void set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
void MergeFrom(const RoutingSearchParameters &from)
::operations_research::RoutingSearchParameters_SchedulingSolver mixed_integer_scheduling_solver() const
void set_heuristic_close_nodes_lns_num_nodes(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_relocate_expensive_chain_num_arcs_to_consider(::PROTOBUF_NAMESPACE_ID::int32 value)
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 CopyFrom(const RoutingSearchParameters &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
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)