Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
routing_parameters.pb.h
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// NO CHECKED-IN PROTOBUF GENCODE
3// source: ortools/constraint_solver/routing_parameters.proto
4// Protobuf C++ Version: 6.33.1
5
6#ifndef ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto_2epb_2eh
7#define ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto_2epb_2eh
8
9#include <limits>
10#include <string>
11#include <type_traits>
12#include <utility>
13
14#include "google/protobuf/runtime_version.h"
15#if PROTOBUF_VERSION != 6033001
16#error "Protobuf C++ gencode is built with an incompatible version of"
17#error "Protobuf C++ headers/runtime. See"
18#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
19#endif
20#include "google/protobuf/io/coded_stream.h"
21#include "google/protobuf/arena.h"
22#include "google/protobuf/arenastring.h"
23#include "google/protobuf/generated_message_tctable_decl.h"
24#include "google/protobuf/generated_message_util.h"
25#include "google/protobuf/metadata_lite.h"
26#include "google/protobuf/generated_message_reflection.h"
27#include "google/protobuf/message.h"
28#include "google/protobuf/message_lite.h"
29#include "google/protobuf/repeated_field.h" // IWYU pragma: export
30#include "google/protobuf/extension_set.h" // IWYU pragma: export
31#include "google/protobuf/generated_enum_reflection.h"
32#include "google/protobuf/unknown_field_set.h"
33#include "google/protobuf/duration.pb.h"
40// @@protoc_insertion_point(includes)
41
42// Must be included last.
43#include "google/protobuf/port_def.inc"
44
45#define PROTOBUF_INTERNAL_EXPORT_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto OR_PROTO_DLL
46
47namespace google {
48namespace protobuf {
49namespace internal {
50template <typename T>
51::absl::string_view GetAnyMessageName();
52} // namespace internal
53} // namespace protobuf
54} // namespace google
55
56// Internal implementation detail -- do not use these members.
60extern "C" {
61OR_PROTO_DLL extern const ::google::protobuf::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
62} // extern "C"
63namespace operations_research {
65OR_PROTO_DLL extern const uint32_t RoutingSearchParameters_SchedulingSolver_internal_data_[];
69OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingModelParameters_class_data_;
73OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingSearchParameters_class_data_;
77OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingSearchParameters_ImprovementSearchLimitParameters_class_data_;
81OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingSearchParameters_LocalSearchNeighborhoodOperators_class_data_;
82} // namespace operations_research
83namespace google {
84namespace protobuf {
85template <>
86internal::EnumTraitsT<::operations_research::RoutingSearchParameters_SchedulingSolver_internal_data_>
87 internal::EnumTraitsImpl::value<::operations_research::RoutingSearchParameters_SchedulingSolver>;
88} // namespace protobuf
89} // namespace google
90
91namespace operations_research {
101
102OR_PROTO_DLL extern const uint32_t RoutingSearchParameters_SchedulingSolver_internal_data_[];
108 return 0 <= value && value <= 2;
109}
111OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL RoutingSearchParameters_SchedulingSolver_descriptor();
112template <typename T>
114 static_assert(::std::is_same<T, RoutingSearchParameters_SchedulingSolver>::value ||
115 ::std::is_integral<T>::value,
116 "Incorrect type passed to SchedulingSolver_Name().");
118}
119template <>
121 return ::google::protobuf::internal::NameOfDenseEnum<RoutingSearchParameters_SchedulingSolver_descriptor, 0, 2>(
122 static_cast<int>(value));
123}
125 ::absl::string_view name, RoutingSearchParameters_SchedulingSolver* PROTOBUF_NONNULL value) {
126 return ::google::protobuf::internal::ParseNamedEnum<RoutingSearchParameters_SchedulingSolver>(RoutingSearchParameters_SchedulingSolver_descriptor(), name,
127 value);
128}
129
130// ===================================================================
131
132
133// -------------------------------------------------------------------
134
135class OR_PROTO_DLL RoutingSearchParameters_LocalSearchNeighborhoodOperators final : public ::google::protobuf::Message
136/* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators) */ {
137 public:
141#if defined(PROTOBUF_CUSTOM_VTABLE)
142 void operator delete(RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
143 SharedDtor(*msg);
144 ::google::protobuf::internal::SizedDelete(msg, sizeof(RoutingSearchParameters_LocalSearchNeighborhoodOperators));
145 }
146#endif
147
148 template <typename = void>
149 explicit PROTOBUF_CONSTEXPR RoutingSearchParameters_LocalSearchNeighborhoodOperators(::google::protobuf::internal::ConstantInitialized);
150
156 return *this;
157 }
159 if (this == &from) return *this;
160 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
161 InternalSwap(&from);
162 } else {
163 CopyFrom(from);
164 }
165 return *this;
166 }
167
168 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
169 ABSL_ATTRIBUTE_LIFETIME_BOUND {
170 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
171 }
172 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
173 ABSL_ATTRIBUTE_LIFETIME_BOUND {
174 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
175 }
176
177 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
178 return GetDescriptor();
180 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
181 return default_instance().GetMetadata().descriptor;
183 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
184 return default_instance().GetMetadata().reflection;
186 static const RoutingSearchParameters_LocalSearchNeighborhoodOperators& default_instance() {
187 return *reinterpret_cast<const RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(
193 if (other == this) return;
194 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
195 InternalSwap(other);
196 } else {
197 ::google::protobuf::internal::GenericSwap(this, other);
198 }
199 }
200 void UnsafeArenaSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL other) {
201 if (other == this) return;
202 ABSL_DCHECK(GetArena() == other->GetArena());
203 InternalSwap(other);
204 }
205
206 // implements Message ----------------------------------------------
207
208 RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
209 return ::google::protobuf::Message::DefaultConstruct<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(arena);
211 using ::google::protobuf::Message::CopyFrom;
213 using ::google::protobuf::Message::MergeFrom;
214 void MergeFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from) { RoutingSearchParameters_LocalSearchNeighborhoodOperators::MergeImpl(*this, from); }
215
216 private:
217 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
218 const ::google::protobuf::MessageLite& from_msg);
219
220 public:
221 bool IsInitialized() const {
222 return true;
224 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
225 #if defined(PROTOBUF_CUSTOM_VTABLE)
226 private:
227 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
228 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
229 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
230 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
231
232 public:
233 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
234 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
235 ::uint8_t* PROTOBUF_NONNULL target,
236 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
237 return _InternalSerialize(*this, target, stream);
238 }
239 #else // PROTOBUF_CUSTOM_VTABLE
240 ::size_t ByteSizeLong() const final;
241 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
242 ::uint8_t* PROTOBUF_NONNULL target,
243 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
244 #endif // PROTOBUF_CUSTOM_VTABLE
245 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
246
247 private:
248 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
249 static void SharedDtor(MessageLite& self);
250 void InternalSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL other);
251 private:
252 template <typename T>
253 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
254 static ::absl::string_view FullMessageName() { return "operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators"; }
255
256 explicit RoutingSearchParameters_LocalSearchNeighborhoodOperators(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
259 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoutingSearchParameters_LocalSearchNeighborhoodOperators&& from) noexcept
261 *this = ::std::move(from);
262 }
263 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
264 static void* PROTOBUF_NONNULL PlacementNew_(
265 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
266 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
267 static constexpr auto InternalNewImpl_();
268
269 public:
270 static constexpr auto InternalGenerateClassData_();
271
272 ::google::protobuf::Metadata GetMetadata() const;
273 // nested types ----------------------------------------------------
274
275 // accessors -------------------------------------------------------
276 enum : int {
277 kUseRelocateFieldNumber = 1,
278 kUseRelocatePairFieldNumber = 2,
317 };
318 // .operations_research.OptionalBoolean use_relocate = 1;
319 void clear_use_relocate() ;
322
323 private:
324 ::operations_research::OptionalBoolean _internal_use_relocate() const;
325 void _internal_set_use_relocate(::operations_research::OptionalBoolean value);
326
327 public:
328 // .operations_research.OptionalBoolean use_relocate_pair = 2;
332
333 private:
334 ::operations_research::OptionalBoolean _internal_use_relocate_pair() const;
335 void _internal_set_use_relocate_pair(::operations_research::OptionalBoolean value);
336
337 public:
338 // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
342
343 private:
344 ::operations_research::OptionalBoolean _internal_use_relocate_neighbors() const;
345 void _internal_set_use_relocate_neighbors(::operations_research::OptionalBoolean value);
346
347 public:
348 // .operations_research.OptionalBoolean use_exchange = 4;
349 void clear_use_exchange() ;
352
353 private:
354 ::operations_research::OptionalBoolean _internal_use_exchange() const;
355 void _internal_set_use_exchange(::operations_research::OptionalBoolean value);
356
357 public:
358 // .operations_research.OptionalBoolean use_cross = 5;
359 void clear_use_cross() ;
362
363 private:
364 ::operations_research::OptionalBoolean _internal_use_cross() const;
365 void _internal_set_use_cross(::operations_research::OptionalBoolean value);
366
367 public:
368 // .operations_research.OptionalBoolean use_cross_exchange = 6;
372
373 private:
374 ::operations_research::OptionalBoolean _internal_use_cross_exchange() const;
375 void _internal_set_use_cross_exchange(::operations_research::OptionalBoolean value);
376
377 public:
378 // .operations_research.OptionalBoolean use_two_opt = 7;
379 void clear_use_two_opt() ;
382
383 private:
384 ::operations_research::OptionalBoolean _internal_use_two_opt() const;
385 void _internal_set_use_two_opt(::operations_research::OptionalBoolean value);
386
387 public:
388 // .operations_research.OptionalBoolean use_or_opt = 8;
389 void clear_use_or_opt() ;
392
393 private:
394 ::operations_research::OptionalBoolean _internal_use_or_opt() const;
395 void _internal_set_use_or_opt(::operations_research::OptionalBoolean value);
396
397 public:
398 // .operations_research.OptionalBoolean use_lin_kernighan = 9;
402
403 private:
404 ::operations_research::OptionalBoolean _internal_use_lin_kernighan() const;
405 void _internal_set_use_lin_kernighan(::operations_research::OptionalBoolean value);
406
407 public:
408 // .operations_research.OptionalBoolean use_tsp_opt = 10;
409 void clear_use_tsp_opt() ;
412
413 private:
414 ::operations_research::OptionalBoolean _internal_use_tsp_opt() const;
415 void _internal_set_use_tsp_opt(::operations_research::OptionalBoolean value);
416
417 public:
418 // .operations_research.OptionalBoolean use_make_active = 11;
419 void clear_use_make_active() ;
422
423 private:
424 ::operations_research::OptionalBoolean _internal_use_make_active() const;
425 void _internal_set_use_make_active(::operations_research::OptionalBoolean value);
426
427 public:
428 // .operations_research.OptionalBoolean use_make_inactive = 12;
432
433 private:
434 ::operations_research::OptionalBoolean _internal_use_make_inactive() const;
435 void _internal_set_use_make_inactive(::operations_research::OptionalBoolean value);
436
437 public:
438 // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
442
443 private:
444 ::operations_research::OptionalBoolean _internal_use_make_chain_inactive() const;
445 void _internal_set_use_make_chain_inactive(::operations_research::OptionalBoolean value);
446
447 public:
448 // .operations_research.OptionalBoolean use_swap_active = 14;
449 void clear_use_swap_active() ;
452
453 private:
454 ::operations_research::OptionalBoolean _internal_use_swap_active() const;
455 void _internal_set_use_swap_active(::operations_research::OptionalBoolean value);
456
457 public:
458 // .operations_research.OptionalBoolean use_extended_swap_active = 15;
462
463 private:
464 ::operations_research::OptionalBoolean _internal_use_extended_swap_active() const;
465 void _internal_set_use_extended_swap_active(::operations_research::OptionalBoolean value);
466
467 public:
468 // .operations_research.OptionalBoolean use_path_lns = 16;
469 void clear_use_path_lns() ;
472
473 private:
474 ::operations_research::OptionalBoolean _internal_use_path_lns() const;
475 void _internal_set_use_path_lns(::operations_research::OptionalBoolean value);
476
477 public:
478 // .operations_research.OptionalBoolean use_full_path_lns = 17;
482
483 private:
484 ::operations_research::OptionalBoolean _internal_use_full_path_lns() const;
485 void _internal_set_use_full_path_lns(::operations_research::OptionalBoolean value);
486
487 public:
488 // .operations_research.OptionalBoolean use_tsp_lns = 18;
489 void clear_use_tsp_lns() ;
492
493 private:
494 ::operations_research::OptionalBoolean _internal_use_tsp_lns() const;
495 void _internal_set_use_tsp_lns(::operations_research::OptionalBoolean value);
496
497 public:
498 // .operations_research.OptionalBoolean use_inactive_lns = 19;
502
503 private:
504 ::operations_research::OptionalBoolean _internal_use_inactive_lns() const;
505 void _internal_set_use_inactive_lns(::operations_research::OptionalBoolean value);
506
507 public:
508 // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
512
513 private:
514 ::operations_research::OptionalBoolean _internal_use_node_pair_swap_active() const;
515 void _internal_set_use_node_pair_swap_active(::operations_research::OptionalBoolean value);
516
517 public:
518 // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
522
523 private:
524 ::operations_research::OptionalBoolean _internal_use_relocate_and_make_active() const;
525 void _internal_set_use_relocate_and_make_active(::operations_research::OptionalBoolean value);
526
527 public:
528 // .operations_research.OptionalBoolean use_exchange_pair = 22;
532
533 private:
534 ::operations_research::OptionalBoolean _internal_use_exchange_pair() const;
535 void _internal_set_use_exchange_pair(::operations_research::OptionalBoolean value);
536
537 public:
538 // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
542
543 private:
544 ::operations_research::OptionalBoolean _internal_use_relocate_expensive_chain() const;
545 void _internal_set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value);
546
547 public:
548 // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
552
553 private:
554 ::operations_research::OptionalBoolean _internal_use_light_relocate_pair() const;
555 void _internal_set_use_light_relocate_pair(::operations_research::OptionalBoolean value);
556
557 public:
558 // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
562
563 private:
564 ::operations_research::OptionalBoolean _internal_use_relocate_subtrip() const;
565 void _internal_set_use_relocate_subtrip(::operations_research::OptionalBoolean value);
566
567 public:
568 // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
572
573 private:
574 ::operations_research::OptionalBoolean _internal_use_exchange_subtrip() const;
575 void _internal_set_use_exchange_subtrip(::operations_research::OptionalBoolean value);
576
577 public:
578 // .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
582
583 private:
584 ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_path_lns() const;
585 void _internal_set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
586
587 public:
588 // .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
592
593 private:
594 ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_path_lns() const;
595 void _internal_set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
596
597 public:
598 // .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
602
603 private:
604 ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_expensive_chain_lns() const;
605 void _internal_set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
606
607 public:
608 // .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
612
613 private:
614 ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_expensive_chain_lns() const;
615 void _internal_set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
616
617 public:
618 // .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
622
623 private:
624 ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_close_nodes_lns() const;
625 void _internal_set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value);
626
627 public:
628 // .operations_research.OptionalBoolean use_local_cheapest_insertion_visit_types_lns = 40;
632
633 private:
634 ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_visit_types_lns() const;
635 void _internal_set_use_local_cheapest_insertion_visit_types_lns(::operations_research::OptionalBoolean value);
636
637 public:
638 // .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
642
643 private:
644 ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_close_nodes_lns() const;
645 void _internal_set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value);
646
647 public:
648 // .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
652
653 private:
654 ::operations_research::OptionalBoolean _internal_use_relocate_path_global_cheapest_insertion_insert_unperformed() const;
655 void _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value);
656
657 public:
658 // .operations_research.OptionalBoolean use_shortest_path_swap_active = 34;
662
663 private:
664 ::operations_research::OptionalBoolean _internal_use_shortest_path_swap_active() const;
665 void _internal_set_use_shortest_path_swap_active(::operations_research::OptionalBoolean value);
666
667 public:
668 // .operations_research.OptionalBoolean use_swap_active_chain = 35;
672
673 private:
674 ::operations_research::OptionalBoolean _internal_use_swap_active_chain() const;
675 void _internal_set_use_swap_active_chain(::operations_research::OptionalBoolean value);
676
677 public:
678 // .operations_research.OptionalBoolean use_shortest_path_two_opt = 36;
682
683 private:
684 ::operations_research::OptionalBoolean _internal_use_shortest_path_two_opt() const;
685 void _internal_set_use_shortest_path_two_opt(::operations_research::OptionalBoolean value);
686
687 public:
688 // .operations_research.OptionalBoolean use_exchange_and_make_active = 37;
692
693 private:
694 ::operations_research::OptionalBoolean _internal_use_exchange_and_make_active() const;
695 void _internal_set_use_exchange_and_make_active(::operations_research::OptionalBoolean value);
696
697 public:
698 // .operations_research.OptionalBoolean use_exchange_path_start_ends_and_make_active = 38;
702
703 private:
704 ::operations_research::OptionalBoolean _internal_use_exchange_path_start_ends_and_make_active() const;
705 void _internal_set_use_exchange_path_start_ends_and_make_active(::operations_research::OptionalBoolean value);
706
707 public:
708 // .operations_research.OptionalBoolean use_global_cheapest_insertion_visit_types_lns = 39;
712
713 private:
714 ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_visit_types_lns() const;
715 void _internal_set_use_global_cheapest_insertion_visit_types_lns(::operations_research::OptionalBoolean value);
716
717 public:
718 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
719 private:
720 class _Internal;
721 friend class ::google::protobuf::internal::TcParser;
722 static const ::google::protobuf::internal::TcParseTable<5, 40,
723 0, 0,
724 7>
725 _table_;
726
727 friend class ::google::protobuf::MessageLite;
728 friend class ::google::protobuf::Arena;
729 template <typename T>
730 friend class ::google::protobuf::Arena::InternalHelper;
731 using InternalArenaConstructable_ = void;
732 using DestructorSkippable_ = void;
733 struct Impl_ {
734 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
735 inline explicit Impl_(
736 ::google::protobuf::internal::InternalVisibility visibility,
737 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
738 inline explicit Impl_(
739 ::google::protobuf::internal::InternalVisibility visibility,
740 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
742 ::google::protobuf::internal::HasBits<2> _has_bits_;
743 ::google::protobuf::internal::CachedSize _cached_size_;
744 int use_relocate_;
745 int use_relocate_pair_;
746 int use_relocate_neighbors_;
747 int use_exchange_;
748 int use_cross_;
749 int use_cross_exchange_;
750 int use_two_opt_;
751 int use_or_opt_;
752 int use_lin_kernighan_;
753 int use_tsp_opt_;
754 int use_make_active_;
755 int use_make_inactive_;
756 int use_make_chain_inactive_;
757 int use_swap_active_;
758 int use_extended_swap_active_;
759 int use_path_lns_;
760 int use_full_path_lns_;
761 int use_tsp_lns_;
762 int use_inactive_lns_;
763 int use_node_pair_swap_active_;
764 int use_relocate_and_make_active_;
765 int use_exchange_pair_;
766 int use_relocate_expensive_chain_;
767 int use_light_relocate_pair_;
768 int use_relocate_subtrip_;
769 int use_exchange_subtrip_;
770 int use_global_cheapest_insertion_path_lns_;
771 int use_local_cheapest_insertion_path_lns_;
772 int use_global_cheapest_insertion_expensive_chain_lns_;
773 int use_local_cheapest_insertion_expensive_chain_lns_;
774 int use_global_cheapest_insertion_close_nodes_lns_;
775 int use_local_cheapest_insertion_visit_types_lns_;
776 int use_local_cheapest_insertion_close_nodes_lns_;
777 int use_relocate_path_global_cheapest_insertion_insert_unperformed_;
778 int use_shortest_path_swap_active_;
779 int use_swap_active_chain_;
780 int use_shortest_path_two_opt_;
781 int use_exchange_and_make_active_;
782 int use_exchange_path_start_ends_and_make_active_;
783 int use_global_cheapest_insertion_visit_types_lns_;
784 PROTOBUF_TSAN_DECLARE_MEMBER
785 };
786 union { Impl_ _impl_; };
787 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
790OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingSearchParameters_LocalSearchNeighborhoodOperators_class_data_;
791// -------------------------------------------------------------------
792
793class OR_PROTO_DLL RoutingSearchParameters_ImprovementSearchLimitParameters final : public ::google::protobuf::Message
794/* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters) */ {
795 public:
798
799#if defined(PROTOBUF_CUSTOM_VTABLE)
800 void operator delete(RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
801 SharedDtor(*msg);
802 ::google::protobuf::internal::SizedDelete(msg, sizeof(RoutingSearchParameters_ImprovementSearchLimitParameters));
803 }
804#endif
805
806 template <typename = void>
807 explicit PROTOBUF_CONSTEXPR RoutingSearchParameters_ImprovementSearchLimitParameters(::google::protobuf::internal::ConstantInitialized);
808
811 : RoutingSearchParameters_ImprovementSearchLimitParameters(nullptr, ::std::move(from)) {}
813 CopyFrom(from);
814 return *this;
817 if (this == &from) return *this;
818 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
819 InternalSwap(&from);
820 } else {
821 CopyFrom(from);
822 }
823 return *this;
824 }
825
826 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
827 ABSL_ATTRIBUTE_LIFETIME_BOUND {
828 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
830 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
831 ABSL_ATTRIBUTE_LIFETIME_BOUND {
832 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
834
835 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
836 return GetDescriptor();
837 }
838 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
839 return default_instance().GetMetadata().descriptor;
840 }
841 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
842 return default_instance().GetMetadata().reflection;
843 }
848 static constexpr int kIndexInFileMessages = 1;
850 inline void Swap(RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL other) {
851 if (other == this) return;
852 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
853 InternalSwap(other);
854 } else {
855 ::google::protobuf::internal::GenericSwap(this, other);
856 }
857 }
858 void UnsafeArenaSwap(RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL other) {
859 if (other == this) return;
860 ABSL_DCHECK(GetArena() == other->GetArena());
861 InternalSwap(other);
862 }
863
864 // implements Message ----------------------------------------------
865
866 RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
867 return ::google::protobuf::Message::DefaultConstruct<RoutingSearchParameters_ImprovementSearchLimitParameters>(arena);
868 }
869 using ::google::protobuf::Message::CopyFrom;
871 using ::google::protobuf::Message::MergeFrom;
872 void MergeFrom(const RoutingSearchParameters_ImprovementSearchLimitParameters& from) { RoutingSearchParameters_ImprovementSearchLimitParameters::MergeImpl(*this, from); }
873
874 private:
875 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
876 const ::google::protobuf::MessageLite& from_msg);
877
878 public:
879 bool IsInitialized() const {
880 return true;
881 }
882 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
883 #if defined(PROTOBUF_CUSTOM_VTABLE)
884 private:
885 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
886 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
887 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
888 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
889
890 public:
891 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
892 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
893 ::uint8_t* PROTOBUF_NONNULL target,
894 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
895 return _InternalSerialize(*this, target, stream);
896 }
897 #else // PROTOBUF_CUSTOM_VTABLE
898 ::size_t ByteSizeLong() const final;
899 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
900 ::uint8_t* PROTOBUF_NONNULL target,
901 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
902 #endif // PROTOBUF_CUSTOM_VTABLE
903 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
904
905 private:
906 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
907 static void SharedDtor(MessageLite& self);
908 void InternalSwap(RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL other);
909 private:
910 template <typename T>
911 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
912 static ::absl::string_view FullMessageName() { return "operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters"; }
913
914 explicit RoutingSearchParameters_ImprovementSearchLimitParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
917 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoutingSearchParameters_ImprovementSearchLimitParameters&& from) noexcept
919 *this = ::std::move(from);
920 }
921 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
922 static void* PROTOBUF_NONNULL PlacementNew_(
923 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
924 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
925 static constexpr auto InternalNewImpl_();
926
927 public:
928 static constexpr auto InternalGenerateClassData_();
929
930 ::google::protobuf::Metadata GetMetadata() const;
931 // nested types ----------------------------------------------------
932
933 // accessors -------------------------------------------------------
934 enum : int {
935 kImprovementRateCoefficientFieldNumber = 38,
936 kImprovementRateSolutionsDistanceFieldNumber = 39,
937 };
938 // double improvement_rate_coefficient = 38;
940 double improvement_rate_coefficient() const;
941 void set_improvement_rate_coefficient(double value);
942
943 private:
944 double _internal_improvement_rate_coefficient() const;
945 void _internal_set_improvement_rate_coefficient(double value);
946
947 public:
948 // int32 improvement_rate_solutions_distance = 39;
950 ::int32_t improvement_rate_solutions_distance() const;
951 void set_improvement_rate_solutions_distance(::int32_t value);
952
953 private:
954 ::int32_t _internal_improvement_rate_solutions_distance() const;
955 void _internal_set_improvement_rate_solutions_distance(::int32_t value);
956
957 public:
958 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
959 private:
960 class _Internal;
961 friend class ::google::protobuf::internal::TcParser;
962 static const ::google::protobuf::internal::TcParseTable<1, 2,
963 0, 0,
964 7>
965 _table_;
966
967 friend class ::google::protobuf::MessageLite;
968 friend class ::google::protobuf::Arena;
969 template <typename T>
970 friend class ::google::protobuf::Arena::InternalHelper;
971 using InternalArenaConstructable_ = void;
972 using DestructorSkippable_ = void;
973 struct Impl_ {
974 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
975 inline explicit Impl_(
976 ::google::protobuf::internal::InternalVisibility visibility,
977 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
978 inline explicit Impl_(
979 ::google::protobuf::internal::InternalVisibility visibility,
980 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
982 ::google::protobuf::internal::HasBits<1> _has_bits_;
983 ::google::protobuf::internal::CachedSize _cached_size_;
984 double improvement_rate_coefficient_;
985 ::int32_t improvement_rate_solutions_distance_;
986 PROTOBUF_TSAN_DECLARE_MEMBER
987 };
988 union { Impl_ _impl_; };
989 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
990};
992OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingSearchParameters_ImprovementSearchLimitParameters_class_data_;
993// -------------------------------------------------------------------
994
995class OR_PROTO_DLL RoutingModelParameters final : public ::google::protobuf::Message
996/* @@protoc_insertion_point(class_definition:operations_research.RoutingModelParameters) */ {
997 public:
999 ~RoutingModelParameters() PROTOBUF_FINAL;
1000
1001#if defined(PROTOBUF_CUSTOM_VTABLE)
1002 void operator delete(RoutingModelParameters* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1003 SharedDtor(*msg);
1004 ::google::protobuf::internal::SizedDelete(msg, sizeof(RoutingModelParameters));
1005 }
1006#endif
1007
1008 template <typename = void>
1009 explicit PROTOBUF_CONSTEXPR RoutingModelParameters(::google::protobuf::internal::ConstantInitialized);
1010
1011 inline RoutingModelParameters(const RoutingModelParameters& from) : RoutingModelParameters(nullptr, from) {}
1012 inline RoutingModelParameters(RoutingModelParameters&& from) noexcept
1013 : RoutingModelParameters(nullptr, ::std::move(from)) {}
1014 inline RoutingModelParameters& operator=(const RoutingModelParameters& from) {
1016 return *this;
1017 }
1019 if (this == &from) return *this;
1020 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1021 InternalSwap(&from);
1022 } else {
1023 CopyFrom(from);
1024 }
1025 return *this;
1026 }
1027
1028 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1029 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1030 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1031 }
1032 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1033 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1034 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1035 }
1037 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1038 return GetDescriptor();
1039 }
1040 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1041 return default_instance().GetMetadata().descriptor;
1042 }
1043 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1044 return default_instance().GetMetadata().reflection;
1045 }
1046 static const RoutingModelParameters& default_instance() {
1047 return *reinterpret_cast<const RoutingModelParameters*>(
1049 }
1050 static constexpr int kIndexInFileMessages = 3;
1051 friend void swap(RoutingModelParameters& a, RoutingModelParameters& b) { a.Swap(&b); }
1052 inline void Swap(RoutingModelParameters* PROTOBUF_NONNULL other) {
1053 if (other == this) return;
1054 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1055 InternalSwap(other);
1056 } else {
1057 ::google::protobuf::internal::GenericSwap(this, other);
1058 }
1059 }
1060 void UnsafeArenaSwap(RoutingModelParameters* PROTOBUF_NONNULL other) {
1061 if (other == this) return;
1062 ABSL_DCHECK(GetArena() == other->GetArena());
1063 InternalSwap(other);
1065
1066 // implements Message ----------------------------------------------
1067
1068 RoutingModelParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1069 return ::google::protobuf::Message::DefaultConstruct<RoutingModelParameters>(arena);
1070 }
1071 using ::google::protobuf::Message::CopyFrom;
1073 using ::google::protobuf::Message::MergeFrom;
1074 void MergeFrom(const RoutingModelParameters& from) { RoutingModelParameters::MergeImpl(*this, from); }
1075
1076 private:
1077 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1078 const ::google::protobuf::MessageLite& from_msg);
1079
1080 public:
1081 bool IsInitialized() const {
1082 return true;
1083 }
1084 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1085 #if defined(PROTOBUF_CUSTOM_VTABLE)
1086 private:
1087 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1088 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1089 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1090 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1091
1092 public:
1093 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1094 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1095 ::uint8_t* PROTOBUF_NONNULL target,
1096 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1097 return _InternalSerialize(*this, target, stream);
1098 }
1099 #else // PROTOBUF_CUSTOM_VTABLE
1100 ::size_t ByteSizeLong() const final;
1101 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1102 ::uint8_t* PROTOBUF_NONNULL target,
1103 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1104 #endif // PROTOBUF_CUSTOM_VTABLE
1105 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1106
1107 private:
1108 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1109 static void SharedDtor(MessageLite& self);
1110 void InternalSwap(RoutingModelParameters* PROTOBUF_NONNULL other);
1111 private:
1112 template <typename T>
1113 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1114 static ::absl::string_view FullMessageName() { return "operations_research.RoutingModelParameters"; }
1115
1116 explicit RoutingModelParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1117 RoutingModelParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RoutingModelParameters& from);
1119 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoutingModelParameters&& from) noexcept
1120 : RoutingModelParameters(arena) {
1121 *this = ::std::move(from);
1122 }
1123 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1124 static void* PROTOBUF_NONNULL PlacementNew_(
1125 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1126 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1127 static constexpr auto InternalNewImpl_();
1128
1129 public:
1130 static constexpr auto InternalGenerateClassData_();
1131
1132 ::google::protobuf::Metadata GetMetadata() const;
1133 // nested types ----------------------------------------------------
1134
1135 // accessors -------------------------------------------------------
1136 enum : int {
1137 kSolverParametersFieldNumber = 1,
1138 kReduceVehicleCostModelFieldNumber = 2,
1139 kMaxCallbackCacheSizeFieldNumber = 3,
1140 };
1141 // .operations_research.ConstraintSolverParameters solver_parameters = 1;
1144 const ::operations_research::ConstraintSolverParameters& solver_parameters() const;
1150
1151 private:
1152 const ::operations_research::ConstraintSolverParameters& _internal_solver_parameters() const;
1153 ::operations_research::ConstraintSolverParameters* PROTOBUF_NONNULL _internal_mutable_solver_parameters();
1154
1155 public:
1156 // bool reduce_vehicle_cost_model = 2;
1158 bool reduce_vehicle_cost_model() const;
1159 void set_reduce_vehicle_cost_model(bool value);
1160
1161 private:
1162 bool _internal_reduce_vehicle_cost_model() const;
1163 void _internal_set_reduce_vehicle_cost_model(bool value);
1164
1165 public:
1166 // int32 max_callback_cache_size = 3;
1168 ::int32_t max_callback_cache_size() const;
1169 void set_max_callback_cache_size(::int32_t value);
1170
1171 private:
1172 ::int32_t _internal_max_callback_cache_size() const;
1173 void _internal_set_max_callback_cache_size(::int32_t value);
1174
1175 public:
1176 // @@protoc_insertion_point(class_scope:operations_research.RoutingModelParameters)
1177 private:
1178 class _Internal;
1179 friend class ::google::protobuf::internal::TcParser;
1180 static const ::google::protobuf::internal::TcParseTable<2, 3,
1181 1, 0,
1182 2>
1183 _table_;
1184
1185 friend class ::google::protobuf::MessageLite;
1186 friend class ::google::protobuf::Arena;
1187 template <typename T>
1188 friend class ::google::protobuf::Arena::InternalHelper;
1189 using InternalArenaConstructable_ = void;
1190 using DestructorSkippable_ = void;
1191 struct Impl_ {
1192 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1193 inline explicit Impl_(
1194 ::google::protobuf::internal::InternalVisibility visibility,
1195 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1196 inline explicit Impl_(
1197 ::google::protobuf::internal::InternalVisibility visibility,
1198 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1199 const RoutingModelParameters& from_msg);
1200 ::google::protobuf::internal::HasBits<1> _has_bits_;
1201 ::google::protobuf::internal::CachedSize _cached_size_;
1202 ::operations_research::ConstraintSolverParameters* PROTOBUF_NULLABLE solver_parameters_;
1203 bool reduce_vehicle_cost_model_;
1204 ::int32_t max_callback_cache_size_;
1205 PROTOBUF_TSAN_DECLARE_MEMBER
1206 };
1207 union { Impl_ _impl_; };
1208 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1209};
1210
1211OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingModelParameters_class_data_;
1212// -------------------------------------------------------------------
1213
1214class OR_PROTO_DLL RoutingSearchParameters final : public ::google::protobuf::Message
1215/* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters) */ {
1216 public:
1218 ~RoutingSearchParameters() PROTOBUF_FINAL;
1220#if defined(PROTOBUF_CUSTOM_VTABLE)
1221 void operator delete(RoutingSearchParameters* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1222 SharedDtor(*msg);
1223 ::google::protobuf::internal::SizedDelete(msg, sizeof(RoutingSearchParameters));
1224 }
1225#endif
1226
1227 template <typename = void>
1228 explicit PROTOBUF_CONSTEXPR RoutingSearchParameters(::google::protobuf::internal::ConstantInitialized);
1229
1230 inline RoutingSearchParameters(const RoutingSearchParameters& from) : RoutingSearchParameters(nullptr, from) {}
1231 inline RoutingSearchParameters(RoutingSearchParameters&& from) noexcept
1232 : RoutingSearchParameters(nullptr, ::std::move(from)) {}
1234 CopyFrom(from);
1235 return *this;
1237 inline RoutingSearchParameters& operator=(RoutingSearchParameters&& from) noexcept {
1238 if (this == &from) return *this;
1239 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1240 InternalSwap(&from);
1241 } else {
1243 }
1244 return *this;
1245 }
1246
1247 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1248 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1249 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1250 }
1251 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1252 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1253 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1254 }
1255
1256 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1257 return GetDescriptor();
1258 }
1259 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1260 return default_instance().GetMetadata().descriptor;
1262 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1263 return default_instance().GetMetadata().reflection;
1265 static const RoutingSearchParameters& default_instance() {
1266 return *reinterpret_cast<const RoutingSearchParameters*>(
1268 }
1269 static constexpr int kIndexInFileMessages = 2;
1271 inline void Swap(RoutingSearchParameters* PROTOBUF_NONNULL other) {
1272 if (other == this) return;
1273 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1274 InternalSwap(other);
1275 } else {
1276 ::google::protobuf::internal::GenericSwap(this, other);
1277 }
1278 }
1279 void UnsafeArenaSwap(RoutingSearchParameters* PROTOBUF_NONNULL other) {
1280 if (other == this) return;
1281 ABSL_DCHECK(GetArena() == other->GetArena());
1282 InternalSwap(other);
1283 }
1285 // implements Message ----------------------------------------------
1286
1287 RoutingSearchParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1288 return ::google::protobuf::Message::DefaultConstruct<RoutingSearchParameters>(arena);
1289 }
1290 using ::google::protobuf::Message::CopyFrom;
1291 void CopyFrom(const RoutingSearchParameters& from);
1292 using ::google::protobuf::Message::MergeFrom;
1293 void MergeFrom(const RoutingSearchParameters& from) { RoutingSearchParameters::MergeImpl(*this, from); }
1294
1295 private:
1296 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1297 const ::google::protobuf::MessageLite& from_msg);
1299 public:
1300 bool IsInitialized() const {
1301 return true;
1302 }
1303 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1304 #if defined(PROTOBUF_CUSTOM_VTABLE)
1305 private:
1306 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1307 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1308 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1309 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1310
1311 public:
1312 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1313 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1314 ::uint8_t* PROTOBUF_NONNULL target,
1315 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1316 return _InternalSerialize(*this, target, stream);
1317 }
1318 #else // PROTOBUF_CUSTOM_VTABLE
1319 ::size_t ByteSizeLong() const final;
1320 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1321 ::uint8_t* PROTOBUF_NONNULL target,
1322 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1323 #endif // PROTOBUF_CUSTOM_VTABLE
1324 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1325
1326 private:
1327 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1328 static void SharedDtor(MessageLite& self);
1329 void InternalSwap(RoutingSearchParameters* PROTOBUF_NONNULL other);
1330 private:
1331 template <typename T>
1332 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1333 static ::absl::string_view FullMessageName() { return "operations_research.RoutingSearchParameters"; }
1334
1335 explicit RoutingSearchParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1336 RoutingSearchParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RoutingSearchParameters& from);
1338 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoutingSearchParameters&& from) noexcept
1339 : RoutingSearchParameters(arena) {
1340 *this = ::std::move(from);
1341 }
1342 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1343 static void* PROTOBUF_NONNULL PlacementNew_(
1344 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1345 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1346 static constexpr auto InternalNewImpl_();
1347
1348 public:
1349 static constexpr auto InternalGenerateClassData_();
1350
1351 ::google::protobuf::Metadata GetMetadata() const;
1352 // nested types ----------------------------------------------------
1353 using LocalSearchNeighborhoodOperators = RoutingSearchParameters_LocalSearchNeighborhoodOperators;
1354 using ImprovementSearchLimitParameters = RoutingSearchParameters_ImprovementSearchLimitParameters;
1355 using SchedulingSolver = RoutingSearchParameters_SchedulingSolver;
1356 static constexpr SchedulingSolver SCHEDULING_UNSET = RoutingSearchParameters_SchedulingSolver_SCHEDULING_UNSET;
1357 static constexpr SchedulingSolver SCHEDULING_GLOP = RoutingSearchParameters_SchedulingSolver_SCHEDULING_GLOP;
1359 static inline bool SchedulingSolver_IsValid(int value) {
1365 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL SchedulingSolver_descriptor() {
1368 template <typename T>
1369 static inline const ::std::string& SchedulingSolver_Name(T value) {
1371 }
1372 static inline bool SchedulingSolver_Parse(
1373 ::absl::string_view name, SchedulingSolver* PROTOBUF_NONNULL value) {
1375 }
1376
1377 // accessors -------------------------------------------------------
1378 enum : int {
1430 // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
1433 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& local_search_operators() const;
1439
1440 private:
1441 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& _internal_local_search_operators() const;
1442 ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL _internal_mutable_local_search_operators();
1443
1444 public:
1445 // .google.protobuf.Duration time_limit = 9;
1446 bool has_time_limit() const;
1447 void clear_time_limit() ;
1448 const ::google::protobuf::Duration& time_limit() const;
1449 [[nodiscard]] ::google::protobuf::Duration* PROTOBUF_NULLABLE release_time_limit();
1450 ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_time_limit();
1451 void set_allocated_time_limit(::google::protobuf::Duration* PROTOBUF_NULLABLE value);
1452 void unsafe_arena_set_allocated_time_limit(::google::protobuf::Duration* PROTOBUF_NULLABLE value);
1453 ::google::protobuf::Duration* PROTOBUF_NULLABLE unsafe_arena_release_time_limit();
1454
1455 private:
1456 const ::google::protobuf::Duration& _internal_time_limit() const;
1457 ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_time_limit();
1458
1459 public:
1460 // .google.protobuf.Duration lns_time_limit = 10;
1461 bool has_lns_time_limit() const;
1462 void clear_lns_time_limit() ;
1463 const ::google::protobuf::Duration& lns_time_limit() const;
1464 [[nodiscard]] ::google::protobuf::Duration* PROTOBUF_NULLABLE release_lns_time_limit();
1465 ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_lns_time_limit();
1466 void set_allocated_lns_time_limit(::google::protobuf::Duration* PROTOBUF_NULLABLE value);
1467 void unsafe_arena_set_allocated_lns_time_limit(::google::protobuf::Duration* PROTOBUF_NULLABLE value);
1468 ::google::protobuf::Duration* PROTOBUF_NULLABLE unsafe_arena_release_lns_time_limit();
1469
1470 private:
1471 const ::google::protobuf::Duration& _internal_lns_time_limit() const;
1472 ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_lns_time_limit();
1473
1474 public:
1475 // .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
1478 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& improvement_limit_parameters() const;
1484
1485 private:
1486 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& _internal_improvement_limit_parameters() const;
1487 ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL _internal_mutable_improvement_limit_parameters();
1488
1489 public:
1490 // .operations_research.GlobalCheapestInsertionParameters global_cheapest_insertion_first_solution_parameters = 71;
1493 const ::operations_research::GlobalCheapestInsertionParameters& global_cheapest_insertion_first_solution_parameters() const;
1499
1500 private:
1501 const ::operations_research::GlobalCheapestInsertionParameters& _internal_global_cheapest_insertion_first_solution_parameters() const;
1502 ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NONNULL _internal_mutable_global_cheapest_insertion_first_solution_parameters();
1503
1504 public:
1505 // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
1509
1510 private:
1511 ::operations_research::FirstSolutionStrategy_Value _internal_first_solution_strategy() const;
1512 void _internal_set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value);
1513
1514 public:
1515 // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
1519
1520 private:
1521 ::operations_research::LocalSearchMetaheuristic_Value _internal_local_search_metaheuristic() const;
1522 void _internal_set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value);
1523
1524 public:
1525 // double guided_local_search_lambda_coefficient = 5;
1529
1530 private:
1531 double _internal_guided_local_search_lambda_coefficient() const;
1532 void _internal_set_guided_local_search_lambda_coefficient(double value);
1533
1534 public:
1535 // double optimization_step = 7;
1537 double optimization_step() const;
1538 void set_optimization_step(double value);
1539
1540 private:
1541 double _internal_optimization_step() const;
1542 void _internal_set_optimization_step(double value);
1543
1544 public:
1545 // int64 solution_limit = 8;
1546 void clear_solution_limit() ;
1547 ::int64_t solution_limit() const;
1548 void set_solution_limit(::int64_t value);
1549
1550 private:
1551 ::int64_t _internal_solution_limit() const;
1552 void _internal_set_solution_limit(::int64_t value);
1553
1554 public:
1555 // bool use_unfiltered_first_solution_strategy = 2;
1559
1560 private:
1561 bool _internal_use_unfiltered_first_solution_strategy() const;
1562 void _internal_set_use_unfiltered_first_solution_strategy(bool value);
1563
1564 public:
1565 // bool use_depth_first_search = 6;
1567 bool use_depth_first_search() const;
1568 void set_use_depth_first_search(bool value);
1569
1570 private:
1571 bool _internal_use_depth_first_search() const;
1572 void _internal_set_use_depth_first_search(bool value);
1573
1574 public:
1575 // bool use_full_propagation = 11;
1577 bool use_full_propagation() const;
1578 void set_use_full_propagation(bool value);
1579
1580 private:
1581 bool _internal_use_full_propagation() const;
1582 void _internal_set_use_full_propagation(bool value);
1583
1584 public:
1585 // bool log_search = 13;
1586 void clear_log_search() ;
1587 bool log_search() const;
1588 void set_log_search(bool value);
1589
1590 private:
1591 bool _internal_log_search() const;
1592 void _internal_set_log_search(bool value);
1593
1594 public:
1595 // int32 number_of_solutions_to_collect = 17;
1597 ::int32_t number_of_solutions_to_collect() const;
1598 void set_number_of_solutions_to_collect(::int32_t value);
1599
1600 private:
1601 ::int32_t _internal_number_of_solutions_to_collect() const;
1602 void _internal_set_number_of_solutions_to_collect(::int32_t value);
1603
1604 public:
1605 // double log_cost_scaling_factor = 22;
1607 double log_cost_scaling_factor() const;
1608 void set_log_cost_scaling_factor(double value);
1609
1610 private:
1611 double _internal_log_cost_scaling_factor() const;
1612 void _internal_set_log_cost_scaling_factor(double value);
1613
1614 public:
1615 // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
1619
1620 private:
1621 ::int32_t _internal_relocate_expensive_chain_num_arcs_to_consider() const;
1622 void _internal_set_relocate_expensive_chain_num_arcs_to_consider(::int32_t value);
1623
1624 public:
1625 // .operations_research.OptionalBoolean use_cp_sat = 27;
1626 void clear_use_cp_sat() ;
1629
1630 private:
1631 ::operations_research::OptionalBoolean _internal_use_cp_sat() const;
1632 void _internal_set_use_cp_sat(::operations_research::OptionalBoolean value);
1633
1634 public:
1635 // double log_cost_offset = 29;
1636 void clear_log_cost_offset() ;
1637 double log_cost_offset() const;
1638 void set_log_cost_offset(double value);
1639
1640 private:
1641 double _internal_log_cost_offset() const;
1642 void _internal_set_log_cost_offset(double value);
1643
1644 public:
1645 // .operations_research.OptionalBoolean use_cp = 28;
1646 void clear_use_cp() ;
1649
1650 private:
1651 ::operations_research::OptionalBoolean _internal_use_cp() const;
1652 void _internal_set_use_cp(::operations_research::OptionalBoolean value);
1653
1654 public:
1655 // int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
1659
1660 private:
1661 ::int32_t _internal_heuristic_expensive_chain_lns_num_arcs_to_consider() const;
1662 void _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(::int32_t value);
1663
1664 public:
1665 // .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
1669
1670 private:
1671 ::operations_research::RoutingSearchParameters_SchedulingSolver _internal_mixed_integer_scheduling_solver() const;
1672 void _internal_set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1673
1674 public:
1675 // int32 heuristic_close_nodes_lns_num_nodes = 35;
1677 ::int32_t heuristic_close_nodes_lns_num_nodes() const;
1678 void set_heuristic_close_nodes_lns_num_nodes(::int32_t value);
1679
1680 private:
1681 ::int32_t _internal_heuristic_close_nodes_lns_num_nodes() const;
1682 void _internal_set_heuristic_close_nodes_lns_num_nodes(::int32_t value);
1683
1684 public:
1685 // double multi_armed_bandit_compound_operator_memory_coefficient = 42;
1689
1690 private:
1691 double _internal_multi_armed_bandit_compound_operator_memory_coefficient() const;
1692 void _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(double value);
1693
1694 public:
1695 // bool christofides_use_minimum_matching = 30;
1699
1700 private:
1701 bool _internal_christofides_use_minimum_matching() const;
1702 void _internal_set_christofides_use_minimum_matching(bool value);
1703
1704 public:
1705 // bool use_multi_armed_bandit_concatenate_operators = 41;
1709
1710 private:
1711 bool _internal_use_multi_armed_bandit_concatenate_operators() const;
1712 void _internal_set_use_multi_armed_bandit_concatenate_operators(bool value);
1713
1714 public:
1715 // bool report_intermediate_cp_sat_solutions = 56;
1719
1720 private:
1721 bool _internal_report_intermediate_cp_sat_solutions() const;
1722 void _internal_set_report_intermediate_cp_sat_solutions(bool value);
1723
1724 public:
1725 // .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
1729
1730 private:
1731 ::operations_research::OptionalBoolean _internal_use_generalized_cp_sat() const;
1732 void _internal_set_use_generalized_cp_sat(::operations_research::OptionalBoolean value);
1733
1734 public:
1735 // repeated .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristics = 63;
1737 private:
1738 int _internal_local_search_metaheuristics_size() const;
1739
1740 public:
1742 public:
1746 const ::google::protobuf::RepeatedField<int>& local_search_metaheuristics() const;
1747 ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL mutable_local_search_metaheuristics();
1748
1749 private:
1750 const ::google::protobuf::RepeatedField<int>& _internal_local_search_metaheuristics() const;
1751 ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL _internal_mutable_local_search_metaheuristics();
1752
1753 public:
1754 // string log_tag = 36;
1755 void clear_log_tag() ;
1756 const ::std::string& log_tag() const;
1757 template <typename Arg_ = const ::std::string&, typename... Args_>
1758 void set_log_tag(Arg_&& arg, Args_... args);
1759 ::std::string* PROTOBUF_NONNULL mutable_log_tag();
1760 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_log_tag();
1761 void set_allocated_log_tag(::std::string* PROTOBUF_NULLABLE value);
1762
1763 private:
1764 const ::std::string& _internal_log_tag() const;
1765 PROTOBUF_ALWAYS_INLINE void _internal_set_log_tag(const ::std::string& value);
1766 ::std::string* PROTOBUF_NONNULL _internal_mutable_log_tag();
1767
1768 public:
1769 // .operations_research.sat.SatParameters sat_parameters = 48;
1770 bool has_sat_parameters() const;
1771 void clear_sat_parameters() ;
1772 const ::operations_research::sat::SatParameters& sat_parameters() const;
1773 [[nodiscard]] ::operations_research::sat::SatParameters* PROTOBUF_NULLABLE release_sat_parameters();
1778
1779 private:
1780 const ::operations_research::sat::SatParameters& _internal_sat_parameters() const;
1781 ::operations_research::sat::SatParameters* PROTOBUF_NONNULL _internal_mutable_sat_parameters();
1782
1783 public:
1784 // .operations_research.IteratedLocalSearchParameters iterated_local_search_parameters = 60;
1787 const ::operations_research::IteratedLocalSearchParameters& iterated_local_search_parameters() const;
1793
1794 private:
1795 const ::operations_research::IteratedLocalSearchParameters& _internal_iterated_local_search_parameters() const;
1796 ::operations_research::IteratedLocalSearchParameters* PROTOBUF_NONNULL _internal_mutable_iterated_local_search_parameters();
1797
1798 public:
1799 // .operations_research.LocalCheapestInsertionParameters local_cheapest_insertion_parameters = 68;
1802 const ::operations_research::LocalCheapestInsertionParameters& local_cheapest_insertion_parameters() const;
1808
1809 private:
1810 const ::operations_research::LocalCheapestInsertionParameters& _internal_local_cheapest_insertion_parameters() const;
1811 ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NONNULL _internal_mutable_local_cheapest_insertion_parameters();
1812
1813 public:
1814 // .operations_research.LocalCheapestInsertionParameters local_cheapest_cost_insertion_parameters = 69;
1817 const ::operations_research::LocalCheapestInsertionParameters& local_cheapest_cost_insertion_parameters() const;
1823
1824 private:
1825 const ::operations_research::LocalCheapestInsertionParameters& _internal_local_cheapest_cost_insertion_parameters() const;
1826 ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NONNULL _internal_mutable_local_cheapest_cost_insertion_parameters();
1827
1828 public:
1829 // .operations_research.SavingsParameters savings_parameters = 70;
1830 bool has_savings_parameters() const;
1832 const ::operations_research::SavingsParameters& savings_parameters() const;
1838
1839 private:
1840 const ::operations_research::SavingsParameters& _internal_savings_parameters() const;
1841 ::operations_research::SavingsParameters* PROTOBUF_NONNULL _internal_mutable_savings_parameters();
1842
1843 public:
1844 // .operations_research.GlobalCheapestInsertionParameters global_cheapest_insertion_ls_operator_parameters = 72;
1847 const ::operations_research::GlobalCheapestInsertionParameters& global_cheapest_insertion_ls_operator_parameters() const;
1853
1854 private:
1855 const ::operations_research::GlobalCheapestInsertionParameters& _internal_global_cheapest_insertion_ls_operator_parameters() const;
1856 ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NONNULL _internal_mutable_global_cheapest_insertion_ls_operator_parameters();
1857
1858 public:
1859 // .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
1863
1864 private:
1865 ::operations_research::RoutingSearchParameters_SchedulingSolver _internal_continuous_scheduling_solver() const;
1866 void _internal_set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1867
1868 public:
1869 // int32 fallback_to_cp_sat_size_threshold = 52;
1871 ::int32_t fallback_to_cp_sat_size_threshold() const;
1872 void set_fallback_to_cp_sat_size_threshold(::int32_t value);
1873
1874 private:
1875 ::int32_t _internal_fallback_to_cp_sat_size_threshold() const;
1876 void _internal_set_fallback_to_cp_sat_size_threshold(::int32_t value);
1877
1878 public:
1879 // double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
1883
1884 private:
1885 double _internal_multi_armed_bandit_compound_operator_exploration_coefficient() const;
1886 void _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(double value);
1887
1888 public:
1889 // double ls_operator_neighbors_ratio = 53;
1891 double ls_operator_neighbors_ratio() const;
1892 void set_ls_operator_neighbors_ratio(double value);
1893
1894 private:
1895 double _internal_ls_operator_neighbors_ratio() const;
1896 void _internal_set_ls_operator_neighbors_ratio(double value);
1897
1898 public:
1899 // int32 ls_operator_min_neighbors = 54;
1901 ::int32_t ls_operator_min_neighbors() const;
1902 void set_ls_operator_min_neighbors(::int32_t value);
1903
1904 private:
1905 ::int32_t _internal_ls_operator_min_neighbors() const;
1906 void _internal_set_ls_operator_min_neighbors(::int32_t value);
1907
1908 public:
1909 // optional bool disable_scheduling_beware_this_may_degrade_performance = 50;
1914
1915 private:
1916 bool _internal_disable_scheduling_beware_this_may_degrade_performance() const;
1917 void _internal_set_disable_scheduling_beware_this_may_degrade_performance(bool value);
1918
1919 public:
1920 // bool guided_local_search_reset_penalties_on_new_best_solution = 51;
1924
1925 private:
1926 bool _internal_guided_local_search_reset_penalties_on_new_best_solution() const;
1927 void _internal_set_guided_local_search_reset_penalties_on_new_best_solution(bool value);
1928
1929 public:
1930 // bool use_iterated_local_search = 58;
1932 bool use_iterated_local_search() const;
1933 void set_use_iterated_local_search(bool value);
1934
1935 private:
1936 bool _internal_use_iterated_local_search() const;
1937 void _internal_set_use_iterated_local_search(bool value);
1938
1939 public:
1940 // bool guided_local_search_penalize_with_vehicle_classes = 61;
1944
1945 private:
1946 bool _internal_guided_local_search_penalize_with_vehicle_classes() const;
1947 void _internal_set_guided_local_search_penalize_with_vehicle_classes(bool value);
1948
1949 public:
1950 // double secondary_ls_time_limit_ratio = 57;
1952 double secondary_ls_time_limit_ratio() const;
1953 void set_secondary_ls_time_limit_ratio(double value);
1954
1955 private:
1956 double _internal_secondary_ls_time_limit_ratio() const;
1957 void _internal_set_secondary_ls_time_limit_ratio(double value);
1958
1959 public:
1960 // int32 first_solution_optimization_period = 59;
1962 ::int32_t first_solution_optimization_period() const;
1963 void set_first_solution_optimization_period(::int32_t value);
1964
1965 private:
1966 ::int32_t _internal_first_solution_optimization_period() const;
1967 void _internal_set_first_solution_optimization_period(::int32_t value);
1968
1969 public:
1970 // bool use_guided_local_search_penalties_in_local_search_operators = 62;
1974
1975 private:
1976 bool _internal_use_guided_local_search_penalties_in_local_search_operators() const;
1977 void _internal_set_use_guided_local_search_penalties_in_local_search_operators(bool value);
1978
1979 public:
1980 // int32 num_max_local_optima_before_metaheuristic_switch = 64;
1984
1985 private:
1986 ::int32_t _internal_num_max_local_optima_before_metaheuristic_switch() const;
1987 void _internal_set_num_max_local_optima_before_metaheuristic_switch(::int32_t value);
1988
1989 public:
1990 // int32 max_swap_active_chain_size = 66;
1992 ::int32_t max_swap_active_chain_size() const;
1993 void set_max_swap_active_chain_size(::int32_t value);
1994
1995 private:
1996 ::int32_t _internal_max_swap_active_chain_size() const;
1997 void _internal_set_max_swap_active_chain_size(::int32_t value);
1998
1999 public:
2000 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
2001 private:
2002 class _Internal;
2003 friend class ::google::protobuf::internal::TcParser;
2004 static const ::google::protobuf::internal::TcParseTable<5, 50,
2005 11, 107,
2006 11>
2007 _table_;
2009 friend class ::google::protobuf::MessageLite;
2010 friend class ::google::protobuf::Arena;
2011 template <typename T>
2012 friend class ::google::protobuf::Arena::InternalHelper;
2013 using InternalArenaConstructable_ = void;
2014 using DestructorSkippable_ = void;
2015 struct Impl_ {
2016 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2017 inline explicit Impl_(
2018 ::google::protobuf::internal::InternalVisibility visibility,
2019 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2020 inline explicit Impl_(
2021 ::google::protobuf::internal::InternalVisibility visibility,
2022 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2023 const RoutingSearchParameters& from_msg);
2024 ::google::protobuf::internal::HasBits<2> _has_bits_;
2025 ::google::protobuf::internal::CachedSize _cached_size_;
2027 ::google::protobuf::Duration* PROTOBUF_NULLABLE time_limit_;
2028 ::google::protobuf::Duration* PROTOBUF_NULLABLE lns_time_limit_;
2029 ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NULLABLE improvement_limit_parameters_;
2030 ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NULLABLE global_cheapest_insertion_first_solution_parameters_;
2031 int first_solution_strategy_;
2032 int local_search_metaheuristic_;
2033 double guided_local_search_lambda_coefficient_;
2034 double optimization_step_;
2035 ::int64_t solution_limit_;
2036 bool use_unfiltered_first_solution_strategy_;
2037 bool use_depth_first_search_;
2038 bool use_full_propagation_;
2039 bool log_search_;
2040 ::int32_t number_of_solutions_to_collect_;
2041 double log_cost_scaling_factor_;
2042 ::int32_t relocate_expensive_chain_num_arcs_to_consider_;
2043 int use_cp_sat_;
2044 double log_cost_offset_;
2045 int use_cp_;
2046 ::int32_t heuristic_expensive_chain_lns_num_arcs_to_consider_;
2047 int mixed_integer_scheduling_solver_;
2048 ::int32_t heuristic_close_nodes_lns_num_nodes_;
2049 double multi_armed_bandit_compound_operator_memory_coefficient_;
2050 bool christofides_use_minimum_matching_;
2051 bool use_multi_armed_bandit_concatenate_operators_;
2052 bool report_intermediate_cp_sat_solutions_;
2053 int use_generalized_cp_sat_;
2054 ::google::protobuf::RepeatedField<int> local_search_metaheuristics_;
2055 ::google::protobuf::internal::CachedSize _local_search_metaheuristics_cached_byte_size_;
2056 ::google::protobuf::internal::ArenaStringPtr log_tag_;
2057 ::operations_research::sat::SatParameters* PROTOBUF_NULLABLE sat_parameters_;
2058 ::operations_research::IteratedLocalSearchParameters* PROTOBUF_NULLABLE iterated_local_search_parameters_;
2059 ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NULLABLE local_cheapest_insertion_parameters_;
2060 ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NULLABLE local_cheapest_cost_insertion_parameters_;
2061 ::operations_research::SavingsParameters* PROTOBUF_NULLABLE savings_parameters_;
2062 ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NULLABLE global_cheapest_insertion_ls_operator_parameters_;
2063 int continuous_scheduling_solver_;
2064 ::int32_t fallback_to_cp_sat_size_threshold_;
2065 double multi_armed_bandit_compound_operator_exploration_coefficient_;
2066 double ls_operator_neighbors_ratio_;
2067 ::int32_t ls_operator_min_neighbors_;
2068 bool disable_scheduling_beware_this_may_degrade_performance_;
2069 bool guided_local_search_reset_penalties_on_new_best_solution_;
2070 bool use_iterated_local_search_;
2071 bool guided_local_search_penalize_with_vehicle_classes_;
2072 double secondary_ls_time_limit_ratio_;
2073 ::int32_t first_solution_optimization_period_;
2074 bool use_guided_local_search_penalties_in_local_search_operators_;
2075 ::int32_t num_max_local_optima_before_metaheuristic_switch_;
2076 ::int32_t max_swap_active_chain_size_;
2077 PROTOBUF_TSAN_DECLARE_MEMBER
2078 };
2079 union { Impl_ _impl_; };
2080 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
2081};
2082
2083OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingSearchParameters_class_data_;
2085// ===================================================================
2086
2087
2088
2089
2090// ===================================================================
2091
2092
2093#ifdef __GNUC__
2094#pragma GCC diagnostic push
2095#pragma GCC diagnostic ignored "-Wstrict-aliasing"
2096#endif // __GNUC__
2097// -------------------------------------------------------------------
2098
2099// RoutingSearchParameters_LocalSearchNeighborhoodOperators
2100
2101// .operations_research.OptionalBoolean use_relocate = 1;
2103 ::google::protobuf::internal::TSanWrite(&_impl_);
2104 _impl_.use_relocate_ = 0;
2105 ClearHasBit(_impl_._has_bits_[0],
2106 0x00000001U);
2107}
2108inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate() const {
2109 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
2110 return _internal_use_relocate();
2111}
2113 _internal_set_use_relocate(value);
2114 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
2115 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
2117inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate() const {
2118 ::google::protobuf::internal::TSanRead(&_impl_);
2119 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_relocate_);
2121inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate(::operations_research::OptionalBoolean value) {
2122 ::google::protobuf::internal::TSanWrite(&_impl_);
2123 _impl_.use_relocate_ = value;
2124}
2125
2126// .operations_research.OptionalBoolean use_relocate_pair = 2;
2128 ::google::protobuf::internal::TSanWrite(&_impl_);
2129 _impl_.use_relocate_pair_ = 0;
2130 ClearHasBit(_impl_._has_bits_[0],
2131 0x00000002U);
2132}
2133inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_pair() const {
2134 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
2135 return _internal_use_relocate_pair();
2136}
2138 _internal_set_use_relocate_pair(value);
2139 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
2140 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
2142inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_pair() const {
2143 ::google::protobuf::internal::TSanRead(&_impl_);
2144 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_relocate_pair_);
2146inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_pair(::operations_research::OptionalBoolean value) {
2147 ::google::protobuf::internal::TSanWrite(&_impl_);
2148 _impl_.use_relocate_pair_ = value;
2149}
2150
2151// .operations_research.OptionalBoolean use_light_relocate_pair = 24;
2153 ::google::protobuf::internal::TSanWrite(&_impl_);
2154 _impl_.use_light_relocate_pair_ = 0;
2155 ClearHasBit(_impl_._has_bits_[0],
2156 0x00800000U);
2157}
2158inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_light_relocate_pair() const {
2159 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
2160 return _internal_use_light_relocate_pair();
2161}
2163 _internal_set_use_light_relocate_pair(value);
2164 SetHasBit(_impl_._has_bits_[0], 0x00800000U);
2165 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
2167inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_light_relocate_pair() const {
2168 ::google::protobuf::internal::TSanRead(&_impl_);
2169 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_light_relocate_pair_);
2171inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_light_relocate_pair(::operations_research::OptionalBoolean value) {
2172 ::google::protobuf::internal::TSanWrite(&_impl_);
2173 _impl_.use_light_relocate_pair_ = value;
2174}
2175
2176// .operations_research.OptionalBoolean use_relocate_neighbors = 3;
2178 ::google::protobuf::internal::TSanWrite(&_impl_);
2179 _impl_.use_relocate_neighbors_ = 0;
2180 ClearHasBit(_impl_._has_bits_[0],
2181 0x00000004U);
2182}
2183inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_neighbors() const {
2184 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
2185 return _internal_use_relocate_neighbors();
2186}
2188 _internal_set_use_relocate_neighbors(value);
2189 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
2190 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
2192inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_neighbors() const {
2193 ::google::protobuf::internal::TSanRead(&_impl_);
2194 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_relocate_neighbors_);
2196inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_neighbors(::operations_research::OptionalBoolean value) {
2197 ::google::protobuf::internal::TSanWrite(&_impl_);
2198 _impl_.use_relocate_neighbors_ = value;
2199}
2200
2201// .operations_research.OptionalBoolean use_relocate_subtrip = 25;
2203 ::google::protobuf::internal::TSanWrite(&_impl_);
2204 _impl_.use_relocate_subtrip_ = 0;
2205 ClearHasBit(_impl_._has_bits_[0],
2206 0x01000000U);
2207}
2208inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_subtrip() const {
2209 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
2210 return _internal_use_relocate_subtrip();
2211}
2213 _internal_set_use_relocate_subtrip(value);
2214 SetHasBit(_impl_._has_bits_[0], 0x01000000U);
2215 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
2217inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_subtrip() const {
2218 ::google::protobuf::internal::TSanRead(&_impl_);
2219 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_relocate_subtrip_);
2221inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_subtrip(::operations_research::OptionalBoolean value) {
2222 ::google::protobuf::internal::TSanWrite(&_impl_);
2223 _impl_.use_relocate_subtrip_ = value;
2224}
2225
2226// .operations_research.OptionalBoolean use_exchange = 4;
2228 ::google::protobuf::internal::TSanWrite(&_impl_);
2229 _impl_.use_exchange_ = 0;
2230 ClearHasBit(_impl_._has_bits_[0],
2231 0x00000008U);
2232}
2233inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange() const {
2234 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
2235 return _internal_use_exchange();
2236}
2238 _internal_set_use_exchange(value);
2239 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
2240 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
2242inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange() const {
2243 ::google::protobuf::internal::TSanRead(&_impl_);
2244 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_exchange_);
2246inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange(::operations_research::OptionalBoolean value) {
2247 ::google::protobuf::internal::TSanWrite(&_impl_);
2248 _impl_.use_exchange_ = value;
2249}
2250
2251// .operations_research.OptionalBoolean use_exchange_pair = 22;
2253 ::google::protobuf::internal::TSanWrite(&_impl_);
2254 _impl_.use_exchange_pair_ = 0;
2255 ClearHasBit(_impl_._has_bits_[0],
2256 0x00200000U);
2257}
2258inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_pair() const {
2259 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
2260 return _internal_use_exchange_pair();
2261}
2263 _internal_set_use_exchange_pair(value);
2264 SetHasBit(_impl_._has_bits_[0], 0x00200000U);
2265 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
2267inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_pair() const {
2268 ::google::protobuf::internal::TSanRead(&_impl_);
2269 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_exchange_pair_);
2271inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_pair(::operations_research::OptionalBoolean value) {
2272 ::google::protobuf::internal::TSanWrite(&_impl_);
2273 _impl_.use_exchange_pair_ = value;
2274}
2275
2276// .operations_research.OptionalBoolean use_exchange_subtrip = 26;
2278 ::google::protobuf::internal::TSanWrite(&_impl_);
2279 _impl_.use_exchange_subtrip_ = 0;
2280 ClearHasBit(_impl_._has_bits_[0],
2281 0x02000000U);
2282}
2283inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_subtrip() const {
2284 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
2285 return _internal_use_exchange_subtrip();
2286}
2288 _internal_set_use_exchange_subtrip(value);
2289 SetHasBit(_impl_._has_bits_[0], 0x02000000U);
2290 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
2292inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_subtrip() const {
2293 ::google::protobuf::internal::TSanRead(&_impl_);
2294 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_exchange_subtrip_);
2296inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_subtrip(::operations_research::OptionalBoolean value) {
2297 ::google::protobuf::internal::TSanWrite(&_impl_);
2298 _impl_.use_exchange_subtrip_ = value;
2299}
2300
2301// .operations_research.OptionalBoolean use_cross = 5;
2303 ::google::protobuf::internal::TSanWrite(&_impl_);
2304 _impl_.use_cross_ = 0;
2305 ClearHasBit(_impl_._has_bits_[0],
2306 0x00000010U);
2307}
2308inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross() const {
2309 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
2310 return _internal_use_cross();
2311}
2313 _internal_set_use_cross(value);
2314 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
2315 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
2317inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross() const {
2318 ::google::protobuf::internal::TSanRead(&_impl_);
2319 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_cross_);
2321inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_cross(::operations_research::OptionalBoolean value) {
2322 ::google::protobuf::internal::TSanWrite(&_impl_);
2323 _impl_.use_cross_ = value;
2324}
2325
2326// .operations_research.OptionalBoolean use_cross_exchange = 6;
2328 ::google::protobuf::internal::TSanWrite(&_impl_);
2329 _impl_.use_cross_exchange_ = 0;
2330 ClearHasBit(_impl_._has_bits_[0],
2331 0x00000020U);
2332}
2333inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross_exchange() const {
2334 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
2335 return _internal_use_cross_exchange();
2336}
2338 _internal_set_use_cross_exchange(value);
2339 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
2340 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
2342inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross_exchange() const {
2343 ::google::protobuf::internal::TSanRead(&_impl_);
2344 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_cross_exchange_);
2346inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_cross_exchange(::operations_research::OptionalBoolean value) {
2347 ::google::protobuf::internal::TSanWrite(&_impl_);
2348 _impl_.use_cross_exchange_ = value;
2349}
2350
2351// .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
2353 ::google::protobuf::internal::TSanWrite(&_impl_);
2354 _impl_.use_relocate_expensive_chain_ = 0;
2355 ClearHasBit(_impl_._has_bits_[0],
2356 0x00400000U);
2357}
2358inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_expensive_chain() const {
2359 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
2360 return _internal_use_relocate_expensive_chain();
2361}
2363 _internal_set_use_relocate_expensive_chain(value);
2364 SetHasBit(_impl_._has_bits_[0], 0x00400000U);
2365 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
2367inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_expensive_chain() const {
2368 ::google::protobuf::internal::TSanRead(&_impl_);
2369 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_relocate_expensive_chain_);
2371inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value) {
2372 ::google::protobuf::internal::TSanWrite(&_impl_);
2373 _impl_.use_relocate_expensive_chain_ = value;
2374}
2375
2376// .operations_research.OptionalBoolean use_two_opt = 7;
2378 ::google::protobuf::internal::TSanWrite(&_impl_);
2379 _impl_.use_two_opt_ = 0;
2380 ClearHasBit(_impl_._has_bits_[0],
2381 0x00000040U);
2382}
2383inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_two_opt() const {
2384 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
2385 return _internal_use_two_opt();
2386}
2388 _internal_set_use_two_opt(value);
2389 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
2390 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
2392inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_two_opt() const {
2393 ::google::protobuf::internal::TSanRead(&_impl_);
2394 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_two_opt_);
2396inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_two_opt(::operations_research::OptionalBoolean value) {
2397 ::google::protobuf::internal::TSanWrite(&_impl_);
2398 _impl_.use_two_opt_ = value;
2399}
2400
2401// .operations_research.OptionalBoolean use_or_opt = 8;
2403 ::google::protobuf::internal::TSanWrite(&_impl_);
2404 _impl_.use_or_opt_ = 0;
2405 ClearHasBit(_impl_._has_bits_[0],
2406 0x00000080U);
2407}
2408inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_or_opt() const {
2409 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
2410 return _internal_use_or_opt();
2411}
2413 _internal_set_use_or_opt(value);
2414 SetHasBit(_impl_._has_bits_[0], 0x00000080U);
2415 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
2417inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_or_opt() const {
2418 ::google::protobuf::internal::TSanRead(&_impl_);
2419 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_or_opt_);
2421inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_or_opt(::operations_research::OptionalBoolean value) {
2422 ::google::protobuf::internal::TSanWrite(&_impl_);
2423 _impl_.use_or_opt_ = value;
2424}
2425
2426// .operations_research.OptionalBoolean use_lin_kernighan = 9;
2428 ::google::protobuf::internal::TSanWrite(&_impl_);
2429 _impl_.use_lin_kernighan_ = 0;
2430 ClearHasBit(_impl_._has_bits_[0],
2431 0x00000100U);
2432}
2433inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_lin_kernighan() const {
2434 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
2435 return _internal_use_lin_kernighan();
2436}
2438 _internal_set_use_lin_kernighan(value);
2439 SetHasBit(_impl_._has_bits_[0], 0x00000100U);
2440 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
2442inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_lin_kernighan() const {
2443 ::google::protobuf::internal::TSanRead(&_impl_);
2444 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_lin_kernighan_);
2446inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_lin_kernighan(::operations_research::OptionalBoolean value) {
2447 ::google::protobuf::internal::TSanWrite(&_impl_);
2448 _impl_.use_lin_kernighan_ = value;
2449}
2450
2451// .operations_research.OptionalBoolean use_tsp_opt = 10;
2453 ::google::protobuf::internal::TSanWrite(&_impl_);
2454 _impl_.use_tsp_opt_ = 0;
2455 ClearHasBit(_impl_._has_bits_[0],
2456 0x00000200U);
2457}
2458inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_opt() const {
2459 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
2460 return _internal_use_tsp_opt();
2461}
2463 _internal_set_use_tsp_opt(value);
2464 SetHasBit(_impl_._has_bits_[0], 0x00000200U);
2465 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
2467inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_opt() const {
2468 ::google::protobuf::internal::TSanRead(&_impl_);
2469 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_tsp_opt_);
2471inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_tsp_opt(::operations_research::OptionalBoolean value) {
2472 ::google::protobuf::internal::TSanWrite(&_impl_);
2473 _impl_.use_tsp_opt_ = value;
2474}
2475
2476// .operations_research.OptionalBoolean use_make_active = 11;
2478 ::google::protobuf::internal::TSanWrite(&_impl_);
2479 _impl_.use_make_active_ = 0;
2480 ClearHasBit(_impl_._has_bits_[0],
2481 0x00000400U);
2482}
2483inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_active() const {
2484 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
2485 return _internal_use_make_active();
2486}
2488 _internal_set_use_make_active(value);
2489 SetHasBit(_impl_._has_bits_[0], 0x00000400U);
2490 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
2492inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_active() const {
2493 ::google::protobuf::internal::TSanRead(&_impl_);
2494 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_make_active_);
2496inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_active(::operations_research::OptionalBoolean value) {
2497 ::google::protobuf::internal::TSanWrite(&_impl_);
2498 _impl_.use_make_active_ = value;
2499}
2500
2501// .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
2503 ::google::protobuf::internal::TSanWrite(&_impl_);
2504 _impl_.use_relocate_and_make_active_ = 0;
2505 ClearHasBit(_impl_._has_bits_[0],
2506 0x00100000U);
2507}
2508inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_and_make_active() const {
2509 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
2510 return _internal_use_relocate_and_make_active();
2511}
2513 _internal_set_use_relocate_and_make_active(value);
2514 SetHasBit(_impl_._has_bits_[0], 0x00100000U);
2515 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
2517inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_and_make_active() const {
2518 ::google::protobuf::internal::TSanRead(&_impl_);
2519 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_relocate_and_make_active_);
2521inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_and_make_active(::operations_research::OptionalBoolean value) {
2522 ::google::protobuf::internal::TSanWrite(&_impl_);
2523 _impl_.use_relocate_and_make_active_ = value;
2524}
2525
2526// .operations_research.OptionalBoolean use_exchange_and_make_active = 37;
2528 ::google::protobuf::internal::TSanWrite(&_impl_);
2529 _impl_.use_exchange_and_make_active_ = 0;
2530 ClearHasBit(_impl_._has_bits_[1],
2531 0x00000020U);
2532}
2533inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_and_make_active() const {
2534 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_and_make_active)
2535 return _internal_use_exchange_and_make_active();
2536}
2538 _internal_set_use_exchange_and_make_active(value);
2539 SetHasBit(_impl_._has_bits_[1], 0x00000020U);
2540 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_and_make_active)
2542inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_and_make_active() const {
2543 ::google::protobuf::internal::TSanRead(&_impl_);
2544 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_exchange_and_make_active_);
2546inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_and_make_active(::operations_research::OptionalBoolean value) {
2547 ::google::protobuf::internal::TSanWrite(&_impl_);
2548 _impl_.use_exchange_and_make_active_ = value;
2549}
2550
2551// .operations_research.OptionalBoolean use_exchange_path_start_ends_and_make_active = 38;
2553 ::google::protobuf::internal::TSanWrite(&_impl_);
2554 _impl_.use_exchange_path_start_ends_and_make_active_ = 0;
2555 ClearHasBit(_impl_._has_bits_[1],
2556 0x00000040U);
2557}
2559 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_path_start_ends_and_make_active)
2560 return _internal_use_exchange_path_start_ends_and_make_active();
2561}
2563 _internal_set_use_exchange_path_start_ends_and_make_active(value);
2564 SetHasBit(_impl_._has_bits_[1], 0x00000040U);
2565 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_path_start_ends_and_make_active)
2567inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_path_start_ends_and_make_active() const {
2568 ::google::protobuf::internal::TSanRead(&_impl_);
2569 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_exchange_path_start_ends_and_make_active_);
2571inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_path_start_ends_and_make_active(::operations_research::OptionalBoolean value) {
2572 ::google::protobuf::internal::TSanWrite(&_impl_);
2573 _impl_.use_exchange_path_start_ends_and_make_active_ = value;
2574}
2575
2576// .operations_research.OptionalBoolean use_make_inactive = 12;
2578 ::google::protobuf::internal::TSanWrite(&_impl_);
2579 _impl_.use_make_inactive_ = 0;
2580 ClearHasBit(_impl_._has_bits_[0],
2581 0x00000800U);
2582}
2583inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_inactive() const {
2584 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
2585 return _internal_use_make_inactive();
2586}
2588 _internal_set_use_make_inactive(value);
2589 SetHasBit(_impl_._has_bits_[0], 0x00000800U);
2590 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
2592inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_inactive() const {
2593 ::google::protobuf::internal::TSanRead(&_impl_);
2594 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_make_inactive_);
2596inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_inactive(::operations_research::OptionalBoolean value) {
2597 ::google::protobuf::internal::TSanWrite(&_impl_);
2598 _impl_.use_make_inactive_ = value;
2599}
2600
2601// .operations_research.OptionalBoolean use_make_chain_inactive = 13;
2603 ::google::protobuf::internal::TSanWrite(&_impl_);
2604 _impl_.use_make_chain_inactive_ = 0;
2605 ClearHasBit(_impl_._has_bits_[0],
2606 0x00001000U);
2607}
2608inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_chain_inactive() const {
2609 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
2610 return _internal_use_make_chain_inactive();
2611}
2613 _internal_set_use_make_chain_inactive(value);
2614 SetHasBit(_impl_._has_bits_[0], 0x00001000U);
2615 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
2617inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_chain_inactive() const {
2618 ::google::protobuf::internal::TSanRead(&_impl_);
2619 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_make_chain_inactive_);
2621inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_chain_inactive(::operations_research::OptionalBoolean value) {
2622 ::google::protobuf::internal::TSanWrite(&_impl_);
2623 _impl_.use_make_chain_inactive_ = value;
2624}
2625
2626// .operations_research.OptionalBoolean use_swap_active = 14;
2628 ::google::protobuf::internal::TSanWrite(&_impl_);
2629 _impl_.use_swap_active_ = 0;
2630 ClearHasBit(_impl_._has_bits_[0],
2631 0x00002000U);
2632}
2633inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_swap_active() const {
2634 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
2635 return _internal_use_swap_active();
2636}
2638 _internal_set_use_swap_active(value);
2639 SetHasBit(_impl_._has_bits_[0], 0x00002000U);
2640 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
2642inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_swap_active() const {
2643 ::google::protobuf::internal::TSanRead(&_impl_);
2644 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_swap_active_);
2646inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_swap_active(::operations_research::OptionalBoolean value) {
2647 ::google::protobuf::internal::TSanWrite(&_impl_);
2648 _impl_.use_swap_active_ = value;
2649}
2650
2651// .operations_research.OptionalBoolean use_swap_active_chain = 35;
2653 ::google::protobuf::internal::TSanWrite(&_impl_);
2654 _impl_.use_swap_active_chain_ = 0;
2655 ClearHasBit(_impl_._has_bits_[1],
2656 0x00000008U);
2657}
2658inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_swap_active_chain() const {
2659 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active_chain)
2660 return _internal_use_swap_active_chain();
2661}
2663 _internal_set_use_swap_active_chain(value);
2664 SetHasBit(_impl_._has_bits_[1], 0x00000008U);
2665 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active_chain)
2667inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_swap_active_chain() const {
2668 ::google::protobuf::internal::TSanRead(&_impl_);
2669 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_swap_active_chain_);
2671inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_swap_active_chain(::operations_research::OptionalBoolean value) {
2672 ::google::protobuf::internal::TSanWrite(&_impl_);
2673 _impl_.use_swap_active_chain_ = value;
2674}
2675
2676// .operations_research.OptionalBoolean use_extended_swap_active = 15;
2678 ::google::protobuf::internal::TSanWrite(&_impl_);
2679 _impl_.use_extended_swap_active_ = 0;
2680 ClearHasBit(_impl_._has_bits_[0],
2681 0x00004000U);
2682}
2683inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_extended_swap_active() const {
2684 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
2685 return _internal_use_extended_swap_active();
2686}
2688 _internal_set_use_extended_swap_active(value);
2689 SetHasBit(_impl_._has_bits_[0], 0x00004000U);
2690 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
2692inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_extended_swap_active() const {
2693 ::google::protobuf::internal::TSanRead(&_impl_);
2694 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_extended_swap_active_);
2696inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_extended_swap_active(::operations_research::OptionalBoolean value) {
2697 ::google::protobuf::internal::TSanWrite(&_impl_);
2698 _impl_.use_extended_swap_active_ = value;
2699}
2700
2701// .operations_research.OptionalBoolean use_shortest_path_swap_active = 34;
2703 ::google::protobuf::internal::TSanWrite(&_impl_);
2704 _impl_.use_shortest_path_swap_active_ = 0;
2705 ClearHasBit(_impl_._has_bits_[1],
2706 0x00000004U);
2707}
2708inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_shortest_path_swap_active() const {
2709 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_shortest_path_swap_active)
2710 return _internal_use_shortest_path_swap_active();
2711}
2713 _internal_set_use_shortest_path_swap_active(value);
2714 SetHasBit(_impl_._has_bits_[1], 0x00000004U);
2715 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_shortest_path_swap_active)
2717inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_shortest_path_swap_active() const {
2718 ::google::protobuf::internal::TSanRead(&_impl_);
2719 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_shortest_path_swap_active_);
2721inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_shortest_path_swap_active(::operations_research::OptionalBoolean value) {
2722 ::google::protobuf::internal::TSanWrite(&_impl_);
2723 _impl_.use_shortest_path_swap_active_ = value;
2724}
2725
2726// .operations_research.OptionalBoolean use_shortest_path_two_opt = 36;
2728 ::google::protobuf::internal::TSanWrite(&_impl_);
2729 _impl_.use_shortest_path_two_opt_ = 0;
2730 ClearHasBit(_impl_._has_bits_[1],
2731 0x00000010U);
2732}
2733inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_shortest_path_two_opt() const {
2734 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_shortest_path_two_opt)
2735 return _internal_use_shortest_path_two_opt();
2736}
2738 _internal_set_use_shortest_path_two_opt(value);
2739 SetHasBit(_impl_._has_bits_[1], 0x00000010U);
2740 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_shortest_path_two_opt)
2742inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_shortest_path_two_opt() const {
2743 ::google::protobuf::internal::TSanRead(&_impl_);
2744 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_shortest_path_two_opt_);
2746inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_shortest_path_two_opt(::operations_research::OptionalBoolean value) {
2747 ::google::protobuf::internal::TSanWrite(&_impl_);
2748 _impl_.use_shortest_path_two_opt_ = value;
2749}
2750
2751// .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
2753 ::google::protobuf::internal::TSanWrite(&_impl_);
2754 _impl_.use_node_pair_swap_active_ = 0;
2755 ClearHasBit(_impl_._has_bits_[0],
2756 0x00080000U);
2757}
2758inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_node_pair_swap_active() const {
2759 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
2760 return _internal_use_node_pair_swap_active();
2761}
2763 _internal_set_use_node_pair_swap_active(value);
2764 SetHasBit(_impl_._has_bits_[0], 0x00080000U);
2765 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
2767inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_node_pair_swap_active() const {
2768 ::google::protobuf::internal::TSanRead(&_impl_);
2769 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_node_pair_swap_active_);
2771inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_node_pair_swap_active(::operations_research::OptionalBoolean value) {
2772 ::google::protobuf::internal::TSanWrite(&_impl_);
2773 _impl_.use_node_pair_swap_active_ = value;
2774}
2775
2776// .operations_research.OptionalBoolean use_path_lns = 16;
2778 ::google::protobuf::internal::TSanWrite(&_impl_);
2779 _impl_.use_path_lns_ = 0;
2780 ClearHasBit(_impl_._has_bits_[0],
2781 0x00008000U);
2782}
2783inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_path_lns() const {
2784 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
2785 return _internal_use_path_lns();
2786}
2788 _internal_set_use_path_lns(value);
2789 SetHasBit(_impl_._has_bits_[0], 0x00008000U);
2790 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
2792inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_path_lns() const {
2793 ::google::protobuf::internal::TSanRead(&_impl_);
2794 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_path_lns_);
2796inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_path_lns(::operations_research::OptionalBoolean value) {
2797 ::google::protobuf::internal::TSanWrite(&_impl_);
2798 _impl_.use_path_lns_ = value;
2799}
2800
2801// .operations_research.OptionalBoolean use_full_path_lns = 17;
2803 ::google::protobuf::internal::TSanWrite(&_impl_);
2804 _impl_.use_full_path_lns_ = 0;
2805 ClearHasBit(_impl_._has_bits_[0],
2806 0x00010000U);
2807}
2808inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_full_path_lns() const {
2809 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
2810 return _internal_use_full_path_lns();
2811}
2813 _internal_set_use_full_path_lns(value);
2814 SetHasBit(_impl_._has_bits_[0], 0x00010000U);
2815 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
2817inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_full_path_lns() const {
2818 ::google::protobuf::internal::TSanRead(&_impl_);
2819 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_full_path_lns_);
2821inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_full_path_lns(::operations_research::OptionalBoolean value) {
2822 ::google::protobuf::internal::TSanWrite(&_impl_);
2823 _impl_.use_full_path_lns_ = value;
2824}
2825
2826// .operations_research.OptionalBoolean use_tsp_lns = 18;
2828 ::google::protobuf::internal::TSanWrite(&_impl_);
2829 _impl_.use_tsp_lns_ = 0;
2830 ClearHasBit(_impl_._has_bits_[0],
2831 0x00020000U);
2832}
2833inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_lns() const {
2834 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
2835 return _internal_use_tsp_lns();
2836}
2838 _internal_set_use_tsp_lns(value);
2839 SetHasBit(_impl_._has_bits_[0], 0x00020000U);
2840 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
2842inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_lns() const {
2843 ::google::protobuf::internal::TSanRead(&_impl_);
2844 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_tsp_lns_);
2846inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_tsp_lns(::operations_research::OptionalBoolean value) {
2847 ::google::protobuf::internal::TSanWrite(&_impl_);
2848 _impl_.use_tsp_lns_ = value;
2849}
2850
2851// .operations_research.OptionalBoolean use_inactive_lns = 19;
2853 ::google::protobuf::internal::TSanWrite(&_impl_);
2854 _impl_.use_inactive_lns_ = 0;
2855 ClearHasBit(_impl_._has_bits_[0],
2856 0x00040000U);
2857}
2858inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_inactive_lns() const {
2859 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
2860 return _internal_use_inactive_lns();
2861}
2863 _internal_set_use_inactive_lns(value);
2864 SetHasBit(_impl_._has_bits_[0], 0x00040000U);
2865 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
2867inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_inactive_lns() const {
2868 ::google::protobuf::internal::TSanRead(&_impl_);
2869 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_inactive_lns_);
2871inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_inactive_lns(::operations_research::OptionalBoolean value) {
2872 ::google::protobuf::internal::TSanWrite(&_impl_);
2873 _impl_.use_inactive_lns_ = value;
2874}
2875
2876// .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
2878 ::google::protobuf::internal::TSanWrite(&_impl_);
2879 _impl_.use_global_cheapest_insertion_path_lns_ = 0;
2880 ClearHasBit(_impl_._has_bits_[0],
2881 0x04000000U);
2882}
2884 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_path_lns)
2885 return _internal_use_global_cheapest_insertion_path_lns();
2886}
2888 _internal_set_use_global_cheapest_insertion_path_lns(value);
2889 SetHasBit(_impl_._has_bits_[0], 0x04000000U);
2890 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_path_lns)
2892inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_path_lns() const {
2893 ::google::protobuf::internal::TSanRead(&_impl_);
2894 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_global_cheapest_insertion_path_lns_);
2896inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
2897 ::google::protobuf::internal::TSanWrite(&_impl_);
2898 _impl_.use_global_cheapest_insertion_path_lns_ = value;
2899}
2900
2901// .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
2903 ::google::protobuf::internal::TSanWrite(&_impl_);
2904 _impl_.use_local_cheapest_insertion_path_lns_ = 0;
2905 ClearHasBit(_impl_._has_bits_[0],
2906 0x08000000U);
2907}
2909 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_path_lns)
2910 return _internal_use_local_cheapest_insertion_path_lns();
2911}
2913 _internal_set_use_local_cheapest_insertion_path_lns(value);
2914 SetHasBit(_impl_._has_bits_[0], 0x08000000U);
2915 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_path_lns)
2917inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_path_lns() const {
2918 ::google::protobuf::internal::TSanRead(&_impl_);
2919 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_local_cheapest_insertion_path_lns_);
2921inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
2922 ::google::protobuf::internal::TSanWrite(&_impl_);
2923 _impl_.use_local_cheapest_insertion_path_lns_ = value;
2924}
2925
2926// .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
2928 ::google::protobuf::internal::TSanWrite(&_impl_);
2929 _impl_.use_relocate_path_global_cheapest_insertion_insert_unperformed_ = 0;
2930 ClearHasBit(_impl_._has_bits_[1],
2931 0x00000002U);
2932}
2934 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_path_global_cheapest_insertion_insert_unperformed)
2935 return _internal_use_relocate_path_global_cheapest_insertion_insert_unperformed();
2936}
2938 _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(value);
2939 SetHasBit(_impl_._has_bits_[1], 0x00000002U);
2940 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_path_global_cheapest_insertion_insert_unperformed)
2942inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_path_global_cheapest_insertion_insert_unperformed() const {
2943 ::google::protobuf::internal::TSanRead(&_impl_);
2944 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_relocate_path_global_cheapest_insertion_insert_unperformed_);
2946inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value) {
2947 ::google::protobuf::internal::TSanWrite(&_impl_);
2948 _impl_.use_relocate_path_global_cheapest_insertion_insert_unperformed_ = value;
2949}
2950
2951// .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
2953 ::google::protobuf::internal::TSanWrite(&_impl_);
2954 _impl_.use_global_cheapest_insertion_expensive_chain_lns_ = 0;
2955 ClearHasBit(_impl_._has_bits_[0],
2956 0x10000000U);
2957}
2959 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_expensive_chain_lns)
2960 return _internal_use_global_cheapest_insertion_expensive_chain_lns();
2961}
2963 _internal_set_use_global_cheapest_insertion_expensive_chain_lns(value);
2964 SetHasBit(_impl_._has_bits_[0], 0x10000000U);
2965 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_expensive_chain_lns)
2967inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_expensive_chain_lns() const {
2968 ::google::protobuf::internal::TSanRead(&_impl_);
2969 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_global_cheapest_insertion_expensive_chain_lns_);
2971inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
2972 ::google::protobuf::internal::TSanWrite(&_impl_);
2973 _impl_.use_global_cheapest_insertion_expensive_chain_lns_ = value;
2974}
2975
2976// .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
2978 ::google::protobuf::internal::TSanWrite(&_impl_);
2979 _impl_.use_local_cheapest_insertion_expensive_chain_lns_ = 0;
2980 ClearHasBit(_impl_._has_bits_[0],
2981 0x20000000U);
2982}
2984 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_expensive_chain_lns)
2985 return _internal_use_local_cheapest_insertion_expensive_chain_lns();
2986}
2988 _internal_set_use_local_cheapest_insertion_expensive_chain_lns(value);
2989 SetHasBit(_impl_._has_bits_[0], 0x20000000U);
2990 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_expensive_chain_lns)
2992inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_expensive_chain_lns() const {
2993 ::google::protobuf::internal::TSanRead(&_impl_);
2994 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_local_cheapest_insertion_expensive_chain_lns_);
2996inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
2997 ::google::protobuf::internal::TSanWrite(&_impl_);
2998 _impl_.use_local_cheapest_insertion_expensive_chain_lns_ = value;
2999}
3000
3001// .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
3003 ::google::protobuf::internal::TSanWrite(&_impl_);
3004 _impl_.use_global_cheapest_insertion_close_nodes_lns_ = 0;
3005 ClearHasBit(_impl_._has_bits_[0],
3006 0x40000000U);
3007}
3009 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_close_nodes_lns)
3010 return _internal_use_global_cheapest_insertion_close_nodes_lns();
3011}
3013 _internal_set_use_global_cheapest_insertion_close_nodes_lns(value);
3014 SetHasBit(_impl_._has_bits_[0], 0x40000000U);
3015 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_close_nodes_lns)
3017inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_close_nodes_lns() const {
3018 ::google::protobuf::internal::TSanRead(&_impl_);
3019 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_global_cheapest_insertion_close_nodes_lns_);
3021inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value) {
3022 ::google::protobuf::internal::TSanWrite(&_impl_);
3023 _impl_.use_global_cheapest_insertion_close_nodes_lns_ = value;
3024}
3025
3026// .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
3028 ::google::protobuf::internal::TSanWrite(&_impl_);
3029 _impl_.use_local_cheapest_insertion_close_nodes_lns_ = 0;
3030 ClearHasBit(_impl_._has_bits_[1],
3031 0x00000001U);
3032}
3034 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_close_nodes_lns)
3035 return _internal_use_local_cheapest_insertion_close_nodes_lns();
3036}
3038 _internal_set_use_local_cheapest_insertion_close_nodes_lns(value);
3039 SetHasBit(_impl_._has_bits_[1], 0x00000001U);
3040 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_close_nodes_lns)
3042inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_close_nodes_lns() const {
3043 ::google::protobuf::internal::TSanRead(&_impl_);
3044 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_local_cheapest_insertion_close_nodes_lns_);
3046inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value) {
3047 ::google::protobuf::internal::TSanWrite(&_impl_);
3048 _impl_.use_local_cheapest_insertion_close_nodes_lns_ = value;
3049}
3050
3051// .operations_research.OptionalBoolean use_global_cheapest_insertion_visit_types_lns = 39;
3053 ::google::protobuf::internal::TSanWrite(&_impl_);
3054 _impl_.use_global_cheapest_insertion_visit_types_lns_ = 0;
3055 ClearHasBit(_impl_._has_bits_[1],
3056 0x00000080U);
3057}
3059 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_visit_types_lns)
3060 return _internal_use_global_cheapest_insertion_visit_types_lns();
3061}
3063 _internal_set_use_global_cheapest_insertion_visit_types_lns(value);
3064 SetHasBit(_impl_._has_bits_[1], 0x00000080U);
3065 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_visit_types_lns)
3067inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_visit_types_lns() const {
3068 ::google::protobuf::internal::TSanRead(&_impl_);
3069 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_global_cheapest_insertion_visit_types_lns_);
3071inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_visit_types_lns(::operations_research::OptionalBoolean value) {
3072 ::google::protobuf::internal::TSanWrite(&_impl_);
3073 _impl_.use_global_cheapest_insertion_visit_types_lns_ = value;
3074}
3075
3076// .operations_research.OptionalBoolean use_local_cheapest_insertion_visit_types_lns = 40;
3078 ::google::protobuf::internal::TSanWrite(&_impl_);
3079 _impl_.use_local_cheapest_insertion_visit_types_lns_ = 0;
3080 ClearHasBit(_impl_._has_bits_[0],
3081 0x80000000U);
3082}
3084 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_visit_types_lns)
3085 return _internal_use_local_cheapest_insertion_visit_types_lns();
3086}
3088 _internal_set_use_local_cheapest_insertion_visit_types_lns(value);
3089 SetHasBit(_impl_._has_bits_[0], 0x80000000U);
3090 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_visit_types_lns)
3092inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_visit_types_lns() const {
3093 ::google::protobuf::internal::TSanRead(&_impl_);
3094 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_local_cheapest_insertion_visit_types_lns_);
3096inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_visit_types_lns(::operations_research::OptionalBoolean value) {
3097 ::google::protobuf::internal::TSanWrite(&_impl_);
3098 _impl_.use_local_cheapest_insertion_visit_types_lns_ = value;
3099}
3100
3101// -------------------------------------------------------------------
3102
3103// RoutingSearchParameters_ImprovementSearchLimitParameters
3104
3105// double improvement_rate_coefficient = 38;
3107 ::google::protobuf::internal::TSanWrite(&_impl_);
3108 _impl_.improvement_rate_coefficient_ = 0;
3109 ClearHasBit(_impl_._has_bits_[0],
3110 0x00000001U);
3111}
3113 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_coefficient)
3114 return _internal_improvement_rate_coefficient();
3117 _internal_set_improvement_rate_coefficient(value);
3118 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
3119 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_coefficient)
3120}
3121inline double RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_improvement_rate_coefficient() const {
3122 ::google::protobuf::internal::TSanRead(&_impl_);
3123 return _impl_.improvement_rate_coefficient_;
3124}
3125inline void RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_set_improvement_rate_coefficient(double value) {
3126 ::google::protobuf::internal::TSanWrite(&_impl_);
3127 _impl_.improvement_rate_coefficient_ = value;
3128}
3129
3130// int32 improvement_rate_solutions_distance = 39;
3132 ::google::protobuf::internal::TSanWrite(&_impl_);
3133 _impl_.improvement_rate_solutions_distance_ = 0;
3134 ClearHasBit(_impl_._has_bits_[0],
3135 0x00000002U);
3136}
3138 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_solutions_distance)
3139 return _internal_improvement_rate_solutions_distance();
3142 _internal_set_improvement_rate_solutions_distance(value);
3143 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3144 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_solutions_distance)
3145}
3146inline ::int32_t RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_improvement_rate_solutions_distance() const {
3147 ::google::protobuf::internal::TSanRead(&_impl_);
3148 return _impl_.improvement_rate_solutions_distance_;
3149}
3150inline void RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_set_improvement_rate_solutions_distance(::int32_t value) {
3151 ::google::protobuf::internal::TSanWrite(&_impl_);
3152 _impl_.improvement_rate_solutions_distance_ = value;
3153}
3154
3155// -------------------------------------------------------------------
3156
3157// RoutingSearchParameters
3158
3159// .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
3161 ::google::protobuf::internal::TSanWrite(&_impl_);
3162 _impl_.first_solution_strategy_ = 0;
3163 ClearHasBit(_impl_._has_bits_[0],
3164 0x00000020U);
3165}
3166inline ::operations_research::FirstSolutionStrategy_Value RoutingSearchParameters::first_solution_strategy() const {
3167 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.first_solution_strategy)
3168 return _internal_first_solution_strategy();
3169}
3171 _internal_set_first_solution_strategy(value);
3172 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
3173 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.first_solution_strategy)
3174}
3175inline ::operations_research::FirstSolutionStrategy_Value RoutingSearchParameters::_internal_first_solution_strategy() const {
3176 ::google::protobuf::internal::TSanRead(&_impl_);
3177 return static_cast<::operations_research::FirstSolutionStrategy_Value>(_impl_.first_solution_strategy_);
3178}
3179inline void RoutingSearchParameters::_internal_set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value) {
3180 ::google::protobuf::internal::TSanWrite(&_impl_);
3181 _impl_.first_solution_strategy_ = value;
3182}
3183
3184// bool use_unfiltered_first_solution_strategy = 2;
3186 ::google::protobuf::internal::TSanWrite(&_impl_);
3187 _impl_.use_unfiltered_first_solution_strategy_ = false;
3188 ClearHasBit(_impl_._has_bits_[0],
3189 0x00000400U);
3190}
3192 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
3193 return _internal_use_unfiltered_first_solution_strategy();
3194}
3196 _internal_set_use_unfiltered_first_solution_strategy(value);
3197 SetHasBit(_impl_._has_bits_[0], 0x00000400U);
3198 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
3199}
3200inline bool RoutingSearchParameters::_internal_use_unfiltered_first_solution_strategy() const {
3201 ::google::protobuf::internal::TSanRead(&_impl_);
3202 return _impl_.use_unfiltered_first_solution_strategy_;
3203}
3204inline void RoutingSearchParameters::_internal_set_use_unfiltered_first_solution_strategy(bool value) {
3205 ::google::protobuf::internal::TSanWrite(&_impl_);
3206 _impl_.use_unfiltered_first_solution_strategy_ = value;
3207}
3208
3209// .operations_research.SavingsParameters savings_parameters = 70;
3211 bool value = CheckHasBit(_impl_._has_bits_[1], 0x00000004U);
3212 PROTOBUF_ASSUME(!value || _impl_.savings_parameters_ != nullptr);
3213 return value;
3214}
3215inline const ::operations_research::SavingsParameters& RoutingSearchParameters::_internal_savings_parameters() const {
3216 ::google::protobuf::internal::TSanRead(&_impl_);
3217 const ::operations_research::SavingsParameters* p = _impl_.savings_parameters_;
3219}
3220inline const ::operations_research::SavingsParameters& RoutingSearchParameters::savings_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3221 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_parameters)
3222 return _internal_savings_parameters();
3223}
3225 ::operations_research::SavingsParameters* PROTOBUF_NULLABLE value) {
3226 ::google::protobuf::internal::TSanWrite(&_impl_);
3227 if (GetArena() == nullptr) {
3228 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.savings_parameters_);
3229 }
3230 _impl_.savings_parameters_ = reinterpret_cast<::operations_research::SavingsParameters*>(value);
3231 if (value != nullptr) {
3232 SetHasBit(_impl_._has_bits_[1], 0x00000004U);
3233 } else {
3234 ClearHasBit(_impl_._has_bits_[1], 0x00000004U);
3235 }
3236 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.savings_parameters)
3237}
3238inline ::operations_research::SavingsParameters* PROTOBUF_NULLABLE RoutingSearchParameters::release_savings_parameters() {
3239 ::google::protobuf::internal::TSanWrite(&_impl_);
3240
3241 ClearHasBit(_impl_._has_bits_[1], 0x00000004U);
3242 ::operations_research::SavingsParameters* released = _impl_.savings_parameters_;
3243 _impl_.savings_parameters_ = nullptr;
3244 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3245 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3246 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3247 if (GetArena() == nullptr) {
3248 delete old;
3249 }
3250 } else {
3251 if (GetArena() != nullptr) {
3252 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3253 }
3254 }
3255 return released;
3256}
3257inline ::operations_research::SavingsParameters* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_savings_parameters() {
3258 ::google::protobuf::internal::TSanWrite(&_impl_);
3259 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.savings_parameters)
3260
3261 ClearHasBit(_impl_._has_bits_[1], 0x00000004U);
3262 ::operations_research::SavingsParameters* temp = _impl_.savings_parameters_;
3263 _impl_.savings_parameters_ = nullptr;
3264 return temp;
3265}
3266inline ::operations_research::SavingsParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_savings_parameters() {
3267 ::google::protobuf::internal::TSanWrite(&_impl_);
3268 if (_impl_.savings_parameters_ == nullptr) {
3269 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::SavingsParameters>(GetArena());
3270 _impl_.savings_parameters_ = reinterpret_cast<::operations_research::SavingsParameters*>(p);
3271 }
3272 return _impl_.savings_parameters_;
3273}
3274inline ::operations_research::SavingsParameters* PROTOBUF_NONNULL RoutingSearchParameters::mutable_savings_parameters()
3275 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3276 SetHasBit(_impl_._has_bits_[1], 0x00000004U);
3277 ::operations_research::SavingsParameters* _msg = _internal_mutable_savings_parameters();
3278 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.savings_parameters)
3279 return _msg;
3280}
3281inline void RoutingSearchParameters::set_allocated_savings_parameters(::operations_research::SavingsParameters* PROTOBUF_NULLABLE value) {
3282 ::google::protobuf::Arena* message_arena = GetArena();
3283 ::google::protobuf::internal::TSanWrite(&_impl_);
3284 if (message_arena == nullptr) {
3285 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.savings_parameters_);
3286 }
3287
3288 if (value != nullptr) {
3289 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
3290 if (message_arena != submessage_arena) {
3291 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3292 }
3293 SetHasBit(_impl_._has_bits_[1], 0x00000004U);
3294 } else {
3295 ClearHasBit(_impl_._has_bits_[1], 0x00000004U);
3296 }
3297
3298 _impl_.savings_parameters_ = reinterpret_cast<::operations_research::SavingsParameters*>(value);
3299 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.savings_parameters)
3300}
3301
3302// .operations_research.GlobalCheapestInsertionParameters global_cheapest_insertion_first_solution_parameters = 71;
3304 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
3305 PROTOBUF_ASSUME(!value || _impl_.global_cheapest_insertion_first_solution_parameters_ != nullptr);
3306 return value;
3307}
3308inline const ::operations_research::GlobalCheapestInsertionParameters& RoutingSearchParameters::_internal_global_cheapest_insertion_first_solution_parameters() const {
3309 ::google::protobuf::internal::TSanRead(&_impl_);
3310 const ::operations_research::GlobalCheapestInsertionParameters* p = _impl_.global_cheapest_insertion_first_solution_parameters_;
3311 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::GlobalCheapestInsertionParameters&>(::operations_research::_GlobalCheapestInsertionParameters_default_instance_);
3312}
3313inline const ::operations_research::GlobalCheapestInsertionParameters& RoutingSearchParameters::global_cheapest_insertion_first_solution_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3314 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.global_cheapest_insertion_first_solution_parameters)
3315 return _internal_global_cheapest_insertion_first_solution_parameters();
3316}
3319 ::google::protobuf::internal::TSanWrite(&_impl_);
3320 if (GetArena() == nullptr) {
3321 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.global_cheapest_insertion_first_solution_parameters_);
3322 }
3323 _impl_.global_cheapest_insertion_first_solution_parameters_ = reinterpret_cast<::operations_research::GlobalCheapestInsertionParameters*>(value);
3324 if (value != nullptr) {
3325 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
3326 } else {
3327 ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
3328 }
3329 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.global_cheapest_insertion_first_solution_parameters)
3330}
3331inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NULLABLE RoutingSearchParameters::release_global_cheapest_insertion_first_solution_parameters() {
3332 ::google::protobuf::internal::TSanWrite(&_impl_);
3333
3334 ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
3335 ::operations_research::GlobalCheapestInsertionParameters* released = _impl_.global_cheapest_insertion_first_solution_parameters_;
3336 _impl_.global_cheapest_insertion_first_solution_parameters_ = nullptr;
3337 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3338 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3339 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3340 if (GetArena() == nullptr) {
3341 delete old;
3342 }
3343 } else {
3344 if (GetArena() != nullptr) {
3345 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3346 }
3347 }
3348 return released;
3349}
3350inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_global_cheapest_insertion_first_solution_parameters() {
3351 ::google::protobuf::internal::TSanWrite(&_impl_);
3352 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.global_cheapest_insertion_first_solution_parameters)
3353
3354 ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
3355 ::operations_research::GlobalCheapestInsertionParameters* temp = _impl_.global_cheapest_insertion_first_solution_parameters_;
3356 _impl_.global_cheapest_insertion_first_solution_parameters_ = nullptr;
3357 return temp;
3358}
3359inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_global_cheapest_insertion_first_solution_parameters() {
3360 ::google::protobuf::internal::TSanWrite(&_impl_);
3361 if (_impl_.global_cheapest_insertion_first_solution_parameters_ == nullptr) {
3362 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::GlobalCheapestInsertionParameters>(GetArena());
3363 _impl_.global_cheapest_insertion_first_solution_parameters_ = reinterpret_cast<::operations_research::GlobalCheapestInsertionParameters*>(p);
3364 }
3365 return _impl_.global_cheapest_insertion_first_solution_parameters_;
3366}
3367inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NONNULL RoutingSearchParameters::mutable_global_cheapest_insertion_first_solution_parameters()
3368 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3369 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
3370 ::operations_research::GlobalCheapestInsertionParameters* _msg = _internal_mutable_global_cheapest_insertion_first_solution_parameters();
3371 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.global_cheapest_insertion_first_solution_parameters)
3372 return _msg;
3373}
3374inline void RoutingSearchParameters::set_allocated_global_cheapest_insertion_first_solution_parameters(::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NULLABLE value) {
3375 ::google::protobuf::Arena* message_arena = GetArena();
3376 ::google::protobuf::internal::TSanWrite(&_impl_);
3377 if (message_arena == nullptr) {
3378 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.global_cheapest_insertion_first_solution_parameters_);
3379 }
3380
3381 if (value != nullptr) {
3382 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
3383 if (message_arena != submessage_arena) {
3384 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3385 }
3386 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
3387 } else {
3388 ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
3389 }
3390
3391 _impl_.global_cheapest_insertion_first_solution_parameters_ = reinterpret_cast<::operations_research::GlobalCheapestInsertionParameters*>(value);
3392 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.global_cheapest_insertion_first_solution_parameters)
3393}
3394
3395// .operations_research.GlobalCheapestInsertionParameters global_cheapest_insertion_ls_operator_parameters = 72;
3397 bool value = CheckHasBit(_impl_._has_bits_[1], 0x00000008U);
3398 PROTOBUF_ASSUME(!value || _impl_.global_cheapest_insertion_ls_operator_parameters_ != nullptr);
3399 return value;
3400}
3401inline const ::operations_research::GlobalCheapestInsertionParameters& RoutingSearchParameters::_internal_global_cheapest_insertion_ls_operator_parameters() const {
3402 ::google::protobuf::internal::TSanRead(&_impl_);
3403 const ::operations_research::GlobalCheapestInsertionParameters* p = _impl_.global_cheapest_insertion_ls_operator_parameters_;
3404 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::GlobalCheapestInsertionParameters&>(::operations_research::_GlobalCheapestInsertionParameters_default_instance_);
3405}
3406inline const ::operations_research::GlobalCheapestInsertionParameters& RoutingSearchParameters::global_cheapest_insertion_ls_operator_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3407 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.global_cheapest_insertion_ls_operator_parameters)
3408 return _internal_global_cheapest_insertion_ls_operator_parameters();
3409}
3412 ::google::protobuf::internal::TSanWrite(&_impl_);
3413 if (GetArena() == nullptr) {
3414 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.global_cheapest_insertion_ls_operator_parameters_);
3415 }
3416 _impl_.global_cheapest_insertion_ls_operator_parameters_ = reinterpret_cast<::operations_research::GlobalCheapestInsertionParameters*>(value);
3417 if (value != nullptr) {
3418 SetHasBit(_impl_._has_bits_[1], 0x00000008U);
3419 } else {
3420 ClearHasBit(_impl_._has_bits_[1], 0x00000008U);
3421 }
3422 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.global_cheapest_insertion_ls_operator_parameters)
3423}
3424inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NULLABLE RoutingSearchParameters::release_global_cheapest_insertion_ls_operator_parameters() {
3425 ::google::protobuf::internal::TSanWrite(&_impl_);
3426
3427 ClearHasBit(_impl_._has_bits_[1], 0x00000008U);
3428 ::operations_research::GlobalCheapestInsertionParameters* released = _impl_.global_cheapest_insertion_ls_operator_parameters_;
3429 _impl_.global_cheapest_insertion_ls_operator_parameters_ = nullptr;
3430 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3431 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3432 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3433 if (GetArena() == nullptr) {
3434 delete old;
3435 }
3436 } else {
3437 if (GetArena() != nullptr) {
3438 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3439 }
3440 }
3441 return released;
3442}
3443inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_global_cheapest_insertion_ls_operator_parameters() {
3444 ::google::protobuf::internal::TSanWrite(&_impl_);
3445 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.global_cheapest_insertion_ls_operator_parameters)
3446
3447 ClearHasBit(_impl_._has_bits_[1], 0x00000008U);
3448 ::operations_research::GlobalCheapestInsertionParameters* temp = _impl_.global_cheapest_insertion_ls_operator_parameters_;
3449 _impl_.global_cheapest_insertion_ls_operator_parameters_ = nullptr;
3450 return temp;
3451}
3452inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_global_cheapest_insertion_ls_operator_parameters() {
3453 ::google::protobuf::internal::TSanWrite(&_impl_);
3454 if (_impl_.global_cheapest_insertion_ls_operator_parameters_ == nullptr) {
3455 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::GlobalCheapestInsertionParameters>(GetArena());
3456 _impl_.global_cheapest_insertion_ls_operator_parameters_ = reinterpret_cast<::operations_research::GlobalCheapestInsertionParameters*>(p);
3457 }
3458 return _impl_.global_cheapest_insertion_ls_operator_parameters_;
3459}
3460inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NONNULL RoutingSearchParameters::mutable_global_cheapest_insertion_ls_operator_parameters()
3461 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3462 SetHasBit(_impl_._has_bits_[1], 0x00000008U);
3463 ::operations_research::GlobalCheapestInsertionParameters* _msg = _internal_mutable_global_cheapest_insertion_ls_operator_parameters();
3464 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.global_cheapest_insertion_ls_operator_parameters)
3465 return _msg;
3466}
3467inline void RoutingSearchParameters::set_allocated_global_cheapest_insertion_ls_operator_parameters(::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NULLABLE value) {
3468 ::google::protobuf::Arena* message_arena = GetArena();
3469 ::google::protobuf::internal::TSanWrite(&_impl_);
3470 if (message_arena == nullptr) {
3471 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.global_cheapest_insertion_ls_operator_parameters_);
3472 }
3473
3474 if (value != nullptr) {
3475 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
3476 if (message_arena != submessage_arena) {
3477 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3478 }
3479 SetHasBit(_impl_._has_bits_[1], 0x00000008U);
3480 } else {
3481 ClearHasBit(_impl_._has_bits_[1], 0x00000008U);
3482 }
3483
3484 _impl_.global_cheapest_insertion_ls_operator_parameters_ = reinterpret_cast<::operations_research::GlobalCheapestInsertionParameters*>(value);
3485 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.global_cheapest_insertion_ls_operator_parameters)
3486}
3487
3488// .operations_research.LocalCheapestInsertionParameters local_cheapest_insertion_parameters = 68;
3490 bool value = CheckHasBit(_impl_._has_bits_[1], 0x00000001U);
3491 PROTOBUF_ASSUME(!value || _impl_.local_cheapest_insertion_parameters_ != nullptr);
3492 return value;
3493}
3494inline const ::operations_research::LocalCheapestInsertionParameters& RoutingSearchParameters::_internal_local_cheapest_insertion_parameters() const {
3495 ::google::protobuf::internal::TSanRead(&_impl_);
3496 const ::operations_research::LocalCheapestInsertionParameters* p = _impl_.local_cheapest_insertion_parameters_;
3497 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::LocalCheapestInsertionParameters&>(::operations_research::_LocalCheapestInsertionParameters_default_instance_);
3498}
3499inline const ::operations_research::LocalCheapestInsertionParameters& RoutingSearchParameters::local_cheapest_insertion_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3500 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_cheapest_insertion_parameters)
3501 return _internal_local_cheapest_insertion_parameters();
3502}
3505 ::google::protobuf::internal::TSanWrite(&_impl_);
3506 if (GetArena() == nullptr) {
3507 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.local_cheapest_insertion_parameters_);
3508 }
3509 _impl_.local_cheapest_insertion_parameters_ = reinterpret_cast<::operations_research::LocalCheapestInsertionParameters*>(value);
3510 if (value != nullptr) {
3511 SetHasBit(_impl_._has_bits_[1], 0x00000001U);
3512 } else {
3513 ClearHasBit(_impl_._has_bits_[1], 0x00000001U);
3514 }
3515 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.local_cheapest_insertion_parameters)
3516}
3517inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NULLABLE RoutingSearchParameters::release_local_cheapest_insertion_parameters() {
3518 ::google::protobuf::internal::TSanWrite(&_impl_);
3519
3520 ClearHasBit(_impl_._has_bits_[1], 0x00000001U);
3521 ::operations_research::LocalCheapestInsertionParameters* released = _impl_.local_cheapest_insertion_parameters_;
3522 _impl_.local_cheapest_insertion_parameters_ = nullptr;
3523 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3524 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3525 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3526 if (GetArena() == nullptr) {
3527 delete old;
3528 }
3529 } else {
3530 if (GetArena() != nullptr) {
3531 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3532 }
3533 }
3534 return released;
3535}
3536inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_local_cheapest_insertion_parameters() {
3537 ::google::protobuf::internal::TSanWrite(&_impl_);
3538 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.local_cheapest_insertion_parameters)
3539
3540 ClearHasBit(_impl_._has_bits_[1], 0x00000001U);
3541 ::operations_research::LocalCheapestInsertionParameters* temp = _impl_.local_cheapest_insertion_parameters_;
3542 _impl_.local_cheapest_insertion_parameters_ = nullptr;
3543 return temp;
3544}
3545inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_local_cheapest_insertion_parameters() {
3546 ::google::protobuf::internal::TSanWrite(&_impl_);
3547 if (_impl_.local_cheapest_insertion_parameters_ == nullptr) {
3548 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::LocalCheapestInsertionParameters>(GetArena());
3549 _impl_.local_cheapest_insertion_parameters_ = reinterpret_cast<::operations_research::LocalCheapestInsertionParameters*>(p);
3550 }
3551 return _impl_.local_cheapest_insertion_parameters_;
3552}
3553inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NONNULL RoutingSearchParameters::mutable_local_cheapest_insertion_parameters()
3554 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3555 SetHasBit(_impl_._has_bits_[1], 0x00000001U);
3556 ::operations_research::LocalCheapestInsertionParameters* _msg = _internal_mutable_local_cheapest_insertion_parameters();
3557 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.local_cheapest_insertion_parameters)
3558 return _msg;
3559}
3560inline void RoutingSearchParameters::set_allocated_local_cheapest_insertion_parameters(::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NULLABLE value) {
3561 ::google::protobuf::Arena* message_arena = GetArena();
3562 ::google::protobuf::internal::TSanWrite(&_impl_);
3563 if (message_arena == nullptr) {
3564 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.local_cheapest_insertion_parameters_);
3565 }
3566
3567 if (value != nullptr) {
3568 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
3569 if (message_arena != submessage_arena) {
3570 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3571 }
3572 SetHasBit(_impl_._has_bits_[1], 0x00000001U);
3573 } else {
3574 ClearHasBit(_impl_._has_bits_[1], 0x00000001U);
3575 }
3576
3577 _impl_.local_cheapest_insertion_parameters_ = reinterpret_cast<::operations_research::LocalCheapestInsertionParameters*>(value);
3578 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.local_cheapest_insertion_parameters)
3579}
3580
3581// .operations_research.LocalCheapestInsertionParameters local_cheapest_cost_insertion_parameters = 69;
3583 bool value = CheckHasBit(_impl_._has_bits_[1], 0x00000002U);
3584 PROTOBUF_ASSUME(!value || _impl_.local_cheapest_cost_insertion_parameters_ != nullptr);
3585 return value;
3586}
3587inline const ::operations_research::LocalCheapestInsertionParameters& RoutingSearchParameters::_internal_local_cheapest_cost_insertion_parameters() const {
3588 ::google::protobuf::internal::TSanRead(&_impl_);
3589 const ::operations_research::LocalCheapestInsertionParameters* p = _impl_.local_cheapest_cost_insertion_parameters_;
3590 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::LocalCheapestInsertionParameters&>(::operations_research::_LocalCheapestInsertionParameters_default_instance_);
3591}
3592inline const ::operations_research::LocalCheapestInsertionParameters& RoutingSearchParameters::local_cheapest_cost_insertion_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3593 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_cheapest_cost_insertion_parameters)
3594 return _internal_local_cheapest_cost_insertion_parameters();
3595}
3598 ::google::protobuf::internal::TSanWrite(&_impl_);
3599 if (GetArena() == nullptr) {
3600 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.local_cheapest_cost_insertion_parameters_);
3601 }
3602 _impl_.local_cheapest_cost_insertion_parameters_ = reinterpret_cast<::operations_research::LocalCheapestInsertionParameters*>(value);
3603 if (value != nullptr) {
3604 SetHasBit(_impl_._has_bits_[1], 0x00000002U);
3605 } else {
3606 ClearHasBit(_impl_._has_bits_[1], 0x00000002U);
3607 }
3608 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.local_cheapest_cost_insertion_parameters)
3609}
3610inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NULLABLE RoutingSearchParameters::release_local_cheapest_cost_insertion_parameters() {
3611 ::google::protobuf::internal::TSanWrite(&_impl_);
3612
3613 ClearHasBit(_impl_._has_bits_[1], 0x00000002U);
3614 ::operations_research::LocalCheapestInsertionParameters* released = _impl_.local_cheapest_cost_insertion_parameters_;
3615 _impl_.local_cheapest_cost_insertion_parameters_ = nullptr;
3616 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3617 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3618 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3619 if (GetArena() == nullptr) {
3620 delete old;
3621 }
3622 } else {
3623 if (GetArena() != nullptr) {
3624 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3625 }
3626 }
3627 return released;
3628}
3629inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_local_cheapest_cost_insertion_parameters() {
3630 ::google::protobuf::internal::TSanWrite(&_impl_);
3631 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.local_cheapest_cost_insertion_parameters)
3632
3633 ClearHasBit(_impl_._has_bits_[1], 0x00000002U);
3634 ::operations_research::LocalCheapestInsertionParameters* temp = _impl_.local_cheapest_cost_insertion_parameters_;
3635 _impl_.local_cheapest_cost_insertion_parameters_ = nullptr;
3636 return temp;
3637}
3638inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_local_cheapest_cost_insertion_parameters() {
3639 ::google::protobuf::internal::TSanWrite(&_impl_);
3640 if (_impl_.local_cheapest_cost_insertion_parameters_ == nullptr) {
3641 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::LocalCheapestInsertionParameters>(GetArena());
3642 _impl_.local_cheapest_cost_insertion_parameters_ = reinterpret_cast<::operations_research::LocalCheapestInsertionParameters*>(p);
3643 }
3644 return _impl_.local_cheapest_cost_insertion_parameters_;
3645}
3646inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NONNULL RoutingSearchParameters::mutable_local_cheapest_cost_insertion_parameters()
3647 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3648 SetHasBit(_impl_._has_bits_[1], 0x00000002U);
3649 ::operations_research::LocalCheapestInsertionParameters* _msg = _internal_mutable_local_cheapest_cost_insertion_parameters();
3650 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.local_cheapest_cost_insertion_parameters)
3651 return _msg;
3652}
3653inline void RoutingSearchParameters::set_allocated_local_cheapest_cost_insertion_parameters(::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NULLABLE value) {
3654 ::google::protobuf::Arena* message_arena = GetArena();
3655 ::google::protobuf::internal::TSanWrite(&_impl_);
3656 if (message_arena == nullptr) {
3657 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.local_cheapest_cost_insertion_parameters_);
3658 }
3659
3660 if (value != nullptr) {
3661 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
3662 if (message_arena != submessage_arena) {
3663 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3664 }
3665 SetHasBit(_impl_._has_bits_[1], 0x00000002U);
3666 } else {
3667 ClearHasBit(_impl_._has_bits_[1], 0x00000002U);
3668 }
3669
3670 _impl_.local_cheapest_cost_insertion_parameters_ = reinterpret_cast<::operations_research::LocalCheapestInsertionParameters*>(value);
3671 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.local_cheapest_cost_insertion_parameters)
3672}
3673
3674// bool christofides_use_minimum_matching = 30;
3676 ::google::protobuf::internal::TSanWrite(&_impl_);
3677 _impl_.christofides_use_minimum_matching_ = false;
3678 ClearHasBit(_impl_._has_bits_[0],
3679 0x01000000U);
3680}
3682 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.christofides_use_minimum_matching)
3683 return _internal_christofides_use_minimum_matching();
3684}
3686 _internal_set_christofides_use_minimum_matching(value);
3687 SetHasBit(_impl_._has_bits_[0], 0x01000000U);
3688 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.christofides_use_minimum_matching)
3689}
3690inline bool RoutingSearchParameters::_internal_christofides_use_minimum_matching() const {
3691 ::google::protobuf::internal::TSanRead(&_impl_);
3692 return _impl_.christofides_use_minimum_matching_;
3693}
3694inline void RoutingSearchParameters::_internal_set_christofides_use_minimum_matching(bool value) {
3695 ::google::protobuf::internal::TSanWrite(&_impl_);
3696 _impl_.christofides_use_minimum_matching_ = value;
3697}
3698
3699// int32 first_solution_optimization_period = 59;
3701 ::google::protobuf::internal::TSanWrite(&_impl_);
3702 _impl_.first_solution_optimization_period_ = 0;
3703 ClearHasBit(_impl_._has_bits_[1],
3704 0x00004000U);
3705}
3707 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.first_solution_optimization_period)
3708 return _internal_first_solution_optimization_period();
3709}
3711 _internal_set_first_solution_optimization_period(value);
3712 SetHasBit(_impl_._has_bits_[1], 0x00004000U);
3713 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.first_solution_optimization_period)
3714}
3715inline ::int32_t RoutingSearchParameters::_internal_first_solution_optimization_period() const {
3716 ::google::protobuf::internal::TSanRead(&_impl_);
3717 return _impl_.first_solution_optimization_period_;
3718}
3719inline void RoutingSearchParameters::_internal_set_first_solution_optimization_period(::int32_t value) {
3720 ::google::protobuf::internal::TSanWrite(&_impl_);
3721 _impl_.first_solution_optimization_period_ = value;
3722}
3723
3724// .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
3726 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
3727 PROTOBUF_ASSUME(!value || _impl_.local_search_operators_ != nullptr);
3728 return value;
3729}
3731 ::google::protobuf::internal::TSanWrite(&_impl_);
3732 if (_impl_.local_search_operators_ != nullptr) _impl_.local_search_operators_->Clear();
3733 ClearHasBit(_impl_._has_bits_[0],
3734 0x00000001U);
3736inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::_internal_local_search_operators() const {
3737 ::google::protobuf::internal::TSanRead(&_impl_);
3738 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* p = _impl_.local_search_operators_;
3741inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::local_search_operators() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3742 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_operators)
3743 return _internal_local_search_operators();
3744}
3747 ::google::protobuf::internal::TSanWrite(&_impl_);
3748 if (GetArena() == nullptr) {
3749 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.local_search_operators_);
3750 }
3752 if (value != nullptr) {
3753 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
3754 } else {
3755 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
3756 }
3757 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
3758}
3759inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NULLABLE RoutingSearchParameters::release_local_search_operators() {
3760 ::google::protobuf::internal::TSanWrite(&_impl_);
3761
3762 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
3764 _impl_.local_search_operators_ = nullptr;
3765 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3766 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3767 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3768 if (GetArena() == nullptr) {
3769 delete old;
3770 }
3771 } else {
3772 if (GetArena() != nullptr) {
3773 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3774 }
3775 }
3776 return released;
3777}
3778inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_local_search_operators() {
3779 ::google::protobuf::internal::TSanWrite(&_impl_);
3780 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.local_search_operators)
3781
3782 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
3783 ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* temp = _impl_.local_search_operators_;
3784 _impl_.local_search_operators_ = nullptr;
3785 return temp;
3786}
3787inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_local_search_operators() {
3788 ::google::protobuf::internal::TSanWrite(&_impl_);
3789 if (_impl_.local_search_operators_ == nullptr) {
3790 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(GetArena());
3791 _impl_.local_search_operators_ = reinterpret_cast<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(p);
3792 }
3793 return _impl_.local_search_operators_;
3794}
3795inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL RoutingSearchParameters::mutable_local_search_operators()
3796 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3797 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
3798 ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* _msg = _internal_mutable_local_search_operators();
3799 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.local_search_operators)
3800 return _msg;
3801}
3802inline void RoutingSearchParameters::set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NULLABLE value) {
3803 ::google::protobuf::Arena* message_arena = GetArena();
3804 ::google::protobuf::internal::TSanWrite(&_impl_);
3805 if (message_arena == nullptr) {
3806 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.local_search_operators_);
3807 }
3808
3809 if (value != nullptr) {
3810 ::google::protobuf::Arena* submessage_arena = value->GetArena();
3811 if (message_arena != submessage_arena) {
3812 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3813 }
3814 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
3815 } else {
3816 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
3817 }
3818
3819 _impl_.local_search_operators_ = reinterpret_cast<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(value);
3820 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
3821}
3822
3823// double ls_operator_neighbors_ratio = 53;
3825 ::google::protobuf::internal::TSanWrite(&_impl_);
3826 _impl_.ls_operator_neighbors_ratio_ = 0;
3827 ClearHasBit(_impl_._has_bits_[1],
3828 0x00000080U);
3829}
3831 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.ls_operator_neighbors_ratio)
3832 return _internal_ls_operator_neighbors_ratio();
3833}
3835 _internal_set_ls_operator_neighbors_ratio(value);
3836 SetHasBit(_impl_._has_bits_[1], 0x00000080U);
3837 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.ls_operator_neighbors_ratio)
3838}
3839inline double RoutingSearchParameters::_internal_ls_operator_neighbors_ratio() const {
3840 ::google::protobuf::internal::TSanRead(&_impl_);
3841 return _impl_.ls_operator_neighbors_ratio_;
3842}
3843inline void RoutingSearchParameters::_internal_set_ls_operator_neighbors_ratio(double value) {
3844 ::google::protobuf::internal::TSanWrite(&_impl_);
3845 _impl_.ls_operator_neighbors_ratio_ = value;
3846}
3847
3848// int32 ls_operator_min_neighbors = 54;
3850 ::google::protobuf::internal::TSanWrite(&_impl_);
3851 _impl_.ls_operator_min_neighbors_ = 0;
3852 ClearHasBit(_impl_._has_bits_[1],
3853 0x00000100U);
3854}
3856 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.ls_operator_min_neighbors)
3857 return _internal_ls_operator_min_neighbors();
3858}
3860 _internal_set_ls_operator_min_neighbors(value);
3861 SetHasBit(_impl_._has_bits_[1], 0x00000100U);
3862 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.ls_operator_min_neighbors)
3863}
3864inline ::int32_t RoutingSearchParameters::_internal_ls_operator_min_neighbors() const {
3865 ::google::protobuf::internal::TSanRead(&_impl_);
3866 return _impl_.ls_operator_min_neighbors_;
3867}
3868inline void RoutingSearchParameters::_internal_set_ls_operator_min_neighbors(::int32_t value) {
3869 ::google::protobuf::internal::TSanWrite(&_impl_);
3870 _impl_.ls_operator_min_neighbors_ = value;
3871}
3872
3873// bool use_multi_armed_bandit_concatenate_operators = 41;
3875 ::google::protobuf::internal::TSanWrite(&_impl_);
3876 _impl_.use_multi_armed_bandit_concatenate_operators_ = false;
3877 ClearHasBit(_impl_._has_bits_[0],
3878 0x02000000U);
3879}
3881 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_multi_armed_bandit_concatenate_operators)
3882 return _internal_use_multi_armed_bandit_concatenate_operators();
3883}
3885 _internal_set_use_multi_armed_bandit_concatenate_operators(value);
3886 SetHasBit(_impl_._has_bits_[0], 0x02000000U);
3887 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_multi_armed_bandit_concatenate_operators)
3888}
3889inline bool RoutingSearchParameters::_internal_use_multi_armed_bandit_concatenate_operators() const {
3890 ::google::protobuf::internal::TSanRead(&_impl_);
3891 return _impl_.use_multi_armed_bandit_concatenate_operators_;
3892}
3893inline void RoutingSearchParameters::_internal_set_use_multi_armed_bandit_concatenate_operators(bool value) {
3894 ::google::protobuf::internal::TSanWrite(&_impl_);
3895 _impl_.use_multi_armed_bandit_concatenate_operators_ = value;
3896}
3897
3898// double multi_armed_bandit_compound_operator_memory_coefficient = 42;
3900 ::google::protobuf::internal::TSanWrite(&_impl_);
3901 _impl_.multi_armed_bandit_compound_operator_memory_coefficient_ = 0;
3902 ClearHasBit(_impl_._has_bits_[0],
3903 0x00800000U);
3904}
3906 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_memory_coefficient)
3907 return _internal_multi_armed_bandit_compound_operator_memory_coefficient();
3908}
3910 _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(value);
3911 SetHasBit(_impl_._has_bits_[0], 0x00800000U);
3912 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_memory_coefficient)
3913}
3914inline double RoutingSearchParameters::_internal_multi_armed_bandit_compound_operator_memory_coefficient() const {
3915 ::google::protobuf::internal::TSanRead(&_impl_);
3916 return _impl_.multi_armed_bandit_compound_operator_memory_coefficient_;
3917}
3918inline void RoutingSearchParameters::_internal_set_multi_armed_bandit_compound_operator_memory_coefficient(double value) {
3919 ::google::protobuf::internal::TSanWrite(&_impl_);
3920 _impl_.multi_armed_bandit_compound_operator_memory_coefficient_ = value;
3921}
3922
3923// double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
3925 ::google::protobuf::internal::TSanWrite(&_impl_);
3926 _impl_.multi_armed_bandit_compound_operator_exploration_coefficient_ = 0;
3927 ClearHasBit(_impl_._has_bits_[1],
3928 0x00000040U);
3929}
3931 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_exploration_coefficient)
3932 return _internal_multi_armed_bandit_compound_operator_exploration_coefficient();
3933}
3935 _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(value);
3936 SetHasBit(_impl_._has_bits_[1], 0x00000040U);
3937 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_exploration_coefficient)
3938}
3939inline double RoutingSearchParameters::_internal_multi_armed_bandit_compound_operator_exploration_coefficient() const {
3940 ::google::protobuf::internal::TSanRead(&_impl_);
3941 return _impl_.multi_armed_bandit_compound_operator_exploration_coefficient_;
3942}
3943inline void RoutingSearchParameters::_internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(double value) {
3944 ::google::protobuf::internal::TSanWrite(&_impl_);
3945 _impl_.multi_armed_bandit_compound_operator_exploration_coefficient_ = value;
3946}
3947
3948// int32 max_swap_active_chain_size = 66;
3950 ::google::protobuf::internal::TSanWrite(&_impl_);
3951 _impl_.max_swap_active_chain_size_ = 0;
3952 ClearHasBit(_impl_._has_bits_[1],
3953 0x00020000U);
3954}
3956 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.max_swap_active_chain_size)
3957 return _internal_max_swap_active_chain_size();
3958}
3960 _internal_set_max_swap_active_chain_size(value);
3961 SetHasBit(_impl_._has_bits_[1], 0x00020000U);
3962 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.max_swap_active_chain_size)
3963}
3964inline ::int32_t RoutingSearchParameters::_internal_max_swap_active_chain_size() const {
3965 ::google::protobuf::internal::TSanRead(&_impl_);
3966 return _impl_.max_swap_active_chain_size_;
3967}
3968inline void RoutingSearchParameters::_internal_set_max_swap_active_chain_size(::int32_t value) {
3969 ::google::protobuf::internal::TSanWrite(&_impl_);
3970 _impl_.max_swap_active_chain_size_ = value;
3971}
3972
3973// int32 relocate_expensive_chain_num_arcs_to_consider = 20;
3975 ::google::protobuf::internal::TSanWrite(&_impl_);
3976 _impl_.relocate_expensive_chain_num_arcs_to_consider_ = 0;
3977 ClearHasBit(_impl_._has_bits_[0],
3978 0x00010000U);
3979}
3981 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
3982 return _internal_relocate_expensive_chain_num_arcs_to_consider();
3983}
3985 _internal_set_relocate_expensive_chain_num_arcs_to_consider(value);
3986 SetHasBit(_impl_._has_bits_[0], 0x00010000U);
3987 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
3988}
3989inline ::int32_t RoutingSearchParameters::_internal_relocate_expensive_chain_num_arcs_to_consider() const {
3990 ::google::protobuf::internal::TSanRead(&_impl_);
3991 return _impl_.relocate_expensive_chain_num_arcs_to_consider_;
3992}
3993inline void RoutingSearchParameters::_internal_set_relocate_expensive_chain_num_arcs_to_consider(::int32_t value) {
3994 ::google::protobuf::internal::TSanWrite(&_impl_);
3995 _impl_.relocate_expensive_chain_num_arcs_to_consider_ = value;
3996}
3997
3998// int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
4000 ::google::protobuf::internal::TSanWrite(&_impl_);
4001 _impl_.heuristic_expensive_chain_lns_num_arcs_to_consider_ = 0;
4002 ClearHasBit(_impl_._has_bits_[0],
4003 0x00100000U);
4004}
4006 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.heuristic_expensive_chain_lns_num_arcs_to_consider)
4007 return _internal_heuristic_expensive_chain_lns_num_arcs_to_consider();
4008}
4010 _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(value);
4011 SetHasBit(_impl_._has_bits_[0], 0x00100000U);
4012 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.heuristic_expensive_chain_lns_num_arcs_to_consider)
4013}
4014inline ::int32_t RoutingSearchParameters::_internal_heuristic_expensive_chain_lns_num_arcs_to_consider() const {
4015 ::google::protobuf::internal::TSanRead(&_impl_);
4016 return _impl_.heuristic_expensive_chain_lns_num_arcs_to_consider_;
4017}
4018inline void RoutingSearchParameters::_internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(::int32_t value) {
4019 ::google::protobuf::internal::TSanWrite(&_impl_);
4020 _impl_.heuristic_expensive_chain_lns_num_arcs_to_consider_ = value;
4021}
4022
4023// int32 heuristic_close_nodes_lns_num_nodes = 35;
4025 ::google::protobuf::internal::TSanWrite(&_impl_);
4026 _impl_.heuristic_close_nodes_lns_num_nodes_ = 0;
4027 ClearHasBit(_impl_._has_bits_[0],
4028 0x00400000U);
4029}
4031 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.heuristic_close_nodes_lns_num_nodes)
4032 return _internal_heuristic_close_nodes_lns_num_nodes();
4033}
4035 _internal_set_heuristic_close_nodes_lns_num_nodes(value);
4036 SetHasBit(_impl_._has_bits_[0], 0x00400000U);
4037 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.heuristic_close_nodes_lns_num_nodes)
4038}
4039inline ::int32_t RoutingSearchParameters::_internal_heuristic_close_nodes_lns_num_nodes() const {
4040 ::google::protobuf::internal::TSanRead(&_impl_);
4041 return _impl_.heuristic_close_nodes_lns_num_nodes_;
4042}
4043inline void RoutingSearchParameters::_internal_set_heuristic_close_nodes_lns_num_nodes(::int32_t value) {
4044 ::google::protobuf::internal::TSanWrite(&_impl_);
4045 _impl_.heuristic_close_nodes_lns_num_nodes_ = value;
4046}
4047
4048// .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
4050 ::google::protobuf::internal::TSanWrite(&_impl_);
4051 _impl_.local_search_metaheuristic_ = 0;
4052 ClearHasBit(_impl_._has_bits_[0],
4053 0x00000040U);
4054}
4055inline ::operations_research::LocalSearchMetaheuristic_Value RoutingSearchParameters::local_search_metaheuristic() const {
4056 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_metaheuristic)
4057 return _internal_local_search_metaheuristic();
4058}
4060 _internal_set_local_search_metaheuristic(value);
4061 SetHasBit(_impl_._has_bits_[0], 0x00000040U);
4062 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.local_search_metaheuristic)
4063}
4064inline ::operations_research::LocalSearchMetaheuristic_Value RoutingSearchParameters::_internal_local_search_metaheuristic() const {
4065 ::google::protobuf::internal::TSanRead(&_impl_);
4066 return static_cast<::operations_research::LocalSearchMetaheuristic_Value>(_impl_.local_search_metaheuristic_);
4067}
4068inline void RoutingSearchParameters::_internal_set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value) {
4069 ::google::protobuf::internal::TSanWrite(&_impl_);
4070 _impl_.local_search_metaheuristic_ = value;
4071}
4072
4073// repeated .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristics = 63;
4074inline int RoutingSearchParameters::_internal_local_search_metaheuristics_size() const {
4075 return _internal_local_search_metaheuristics().size();
4076}
4078 return _internal_local_search_metaheuristics_size();
4079}
4081 ::google::protobuf::internal::TSanWrite(&_impl_);
4082 _impl_.local_search_metaheuristics_.Clear();
4083 ClearHasBitForRepeated(_impl_._has_bits_[0],
4084 0x10000000U);
4085}
4086inline ::operations_research::LocalSearchMetaheuristic_Value RoutingSearchParameters::local_search_metaheuristics(int index) const {
4087 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_metaheuristics)
4088 return static_cast<::operations_research::LocalSearchMetaheuristic_Value>(_internal_local_search_metaheuristics().Get(index));
4089}
4091 _internal_mutable_local_search_metaheuristics()->Set(index, value);
4092 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.local_search_metaheuristics)
4093}
4095 ::google::protobuf::internal::TSanWrite(&_impl_);
4096 _internal_mutable_local_search_metaheuristics()->Add(value);
4097 SetHasBitForRepeated(_impl_._has_bits_[0], 0x10000000U);
4098 // @@protoc_insertion_point(field_add:operations_research.RoutingSearchParameters.local_search_metaheuristics)
4099}
4100inline const ::google::protobuf::RepeatedField<int>& RoutingSearchParameters::local_search_metaheuristics() const
4101 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4102 // @@protoc_insertion_point(field_list:operations_research.RoutingSearchParameters.local_search_metaheuristics)
4103 return _internal_local_search_metaheuristics();
4105inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL RoutingSearchParameters::mutable_local_search_metaheuristics()
4106 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4107 SetHasBitForRepeated(_impl_._has_bits_[0], 0x10000000U);
4108 // @@protoc_insertion_point(field_mutable_list:operations_research.RoutingSearchParameters.local_search_metaheuristics)
4109 ::google::protobuf::internal::TSanWrite(&_impl_);
4110 return _internal_mutable_local_search_metaheuristics();
4111}
4112inline const ::google::protobuf::RepeatedField<int>& RoutingSearchParameters::_internal_local_search_metaheuristics()
4113 const {
4114 ::google::protobuf::internal::TSanRead(&_impl_);
4115 return _impl_.local_search_metaheuristics_;
4116}
4117inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL
4118RoutingSearchParameters::_internal_mutable_local_search_metaheuristics() {
4119 ::google::protobuf::internal::TSanRead(&_impl_);
4120 return &_impl_.local_search_metaheuristics_;
4121}
4122
4123// int32 num_max_local_optima_before_metaheuristic_switch = 64;
4125 ::google::protobuf::internal::TSanWrite(&_impl_);
4126 _impl_.num_max_local_optima_before_metaheuristic_switch_ = 0;
4127 ClearHasBit(_impl_._has_bits_[1],
4128 0x00010000U);
4129}
4131 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.num_max_local_optima_before_metaheuristic_switch)
4132 return _internal_num_max_local_optima_before_metaheuristic_switch();
4133}
4135 _internal_set_num_max_local_optima_before_metaheuristic_switch(value);
4136 SetHasBit(_impl_._has_bits_[1], 0x00010000U);
4137 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.num_max_local_optima_before_metaheuristic_switch)
4138}
4139inline ::int32_t RoutingSearchParameters::_internal_num_max_local_optima_before_metaheuristic_switch() const {
4140 ::google::protobuf::internal::TSanRead(&_impl_);
4141 return _impl_.num_max_local_optima_before_metaheuristic_switch_;
4142}
4143inline void RoutingSearchParameters::_internal_set_num_max_local_optima_before_metaheuristic_switch(::int32_t value) {
4144 ::google::protobuf::internal::TSanWrite(&_impl_);
4145 _impl_.num_max_local_optima_before_metaheuristic_switch_ = value;
4146}
4147
4148// double guided_local_search_lambda_coefficient = 5;
4150 ::google::protobuf::internal::TSanWrite(&_impl_);
4151 _impl_.guided_local_search_lambda_coefficient_ = 0;
4152 ClearHasBit(_impl_._has_bits_[0],
4153 0x00000080U);
4154}
4156 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
4157 return _internal_guided_local_search_lambda_coefficient();
4158}
4160 _internal_set_guided_local_search_lambda_coefficient(value);
4161 SetHasBit(_impl_._has_bits_[0], 0x00000080U);
4162 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
4163}
4164inline double RoutingSearchParameters::_internal_guided_local_search_lambda_coefficient() const {
4165 ::google::protobuf::internal::TSanRead(&_impl_);
4166 return _impl_.guided_local_search_lambda_coefficient_;
4167}
4168inline void RoutingSearchParameters::_internal_set_guided_local_search_lambda_coefficient(double value) {
4169 ::google::protobuf::internal::TSanWrite(&_impl_);
4170 _impl_.guided_local_search_lambda_coefficient_ = value;
4171}
4172
4173// bool guided_local_search_reset_penalties_on_new_best_solution = 51;
4175 ::google::protobuf::internal::TSanWrite(&_impl_);
4176 _impl_.guided_local_search_reset_penalties_on_new_best_solution_ = false;
4177 ClearHasBit(_impl_._has_bits_[1],
4178 0x00000400U);
4179}
4181 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.guided_local_search_reset_penalties_on_new_best_solution)
4182 return _internal_guided_local_search_reset_penalties_on_new_best_solution();
4183}
4185 _internal_set_guided_local_search_reset_penalties_on_new_best_solution(value);
4186 SetHasBit(_impl_._has_bits_[1], 0x00000400U);
4187 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.guided_local_search_reset_penalties_on_new_best_solution)
4188}
4189inline bool RoutingSearchParameters::_internal_guided_local_search_reset_penalties_on_new_best_solution() const {
4190 ::google::protobuf::internal::TSanRead(&_impl_);
4191 return _impl_.guided_local_search_reset_penalties_on_new_best_solution_;
4192}
4193inline void RoutingSearchParameters::_internal_set_guided_local_search_reset_penalties_on_new_best_solution(bool value) {
4194 ::google::protobuf::internal::TSanWrite(&_impl_);
4195 _impl_.guided_local_search_reset_penalties_on_new_best_solution_ = value;
4196}
4197
4198// bool guided_local_search_penalize_with_vehicle_classes = 61;
4200 ::google::protobuf::internal::TSanWrite(&_impl_);
4201 _impl_.guided_local_search_penalize_with_vehicle_classes_ = false;
4202 ClearHasBit(_impl_._has_bits_[1],
4203 0x00001000U);
4204}
4206 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.guided_local_search_penalize_with_vehicle_classes)
4207 return _internal_guided_local_search_penalize_with_vehicle_classes();
4208}
4210 _internal_set_guided_local_search_penalize_with_vehicle_classes(value);
4211 SetHasBit(_impl_._has_bits_[1], 0x00001000U);
4212 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.guided_local_search_penalize_with_vehicle_classes)
4213}
4214inline bool RoutingSearchParameters::_internal_guided_local_search_penalize_with_vehicle_classes() const {
4215 ::google::protobuf::internal::TSanRead(&_impl_);
4216 return _impl_.guided_local_search_penalize_with_vehicle_classes_;
4217}
4218inline void RoutingSearchParameters::_internal_set_guided_local_search_penalize_with_vehicle_classes(bool value) {
4219 ::google::protobuf::internal::TSanWrite(&_impl_);
4220 _impl_.guided_local_search_penalize_with_vehicle_classes_ = value;
4221}
4222
4223// bool use_guided_local_search_penalties_in_local_search_operators = 62;
4225 ::google::protobuf::internal::TSanWrite(&_impl_);
4226 _impl_.use_guided_local_search_penalties_in_local_search_operators_ = false;
4227 ClearHasBit(_impl_._has_bits_[1],
4228 0x00008000U);
4229}
4231 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_guided_local_search_penalties_in_local_search_operators)
4232 return _internal_use_guided_local_search_penalties_in_local_search_operators();
4233}
4235 _internal_set_use_guided_local_search_penalties_in_local_search_operators(value);
4236 SetHasBit(_impl_._has_bits_[1], 0x00008000U);
4237 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_guided_local_search_penalties_in_local_search_operators)
4238}
4239inline bool RoutingSearchParameters::_internal_use_guided_local_search_penalties_in_local_search_operators() const {
4240 ::google::protobuf::internal::TSanRead(&_impl_);
4241 return _impl_.use_guided_local_search_penalties_in_local_search_operators_;
4242}
4243inline void RoutingSearchParameters::_internal_set_use_guided_local_search_penalties_in_local_search_operators(bool value) {
4244 ::google::protobuf::internal::TSanWrite(&_impl_);
4245 _impl_.use_guided_local_search_penalties_in_local_search_operators_ = value;
4246}
4247
4248// bool use_depth_first_search = 6;
4250 ::google::protobuf::internal::TSanWrite(&_impl_);
4251 _impl_.use_depth_first_search_ = false;
4252 ClearHasBit(_impl_._has_bits_[0],
4253 0x00000800U);
4254}
4256 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_depth_first_search)
4257 return _internal_use_depth_first_search();
4258}
4260 _internal_set_use_depth_first_search(value);
4261 SetHasBit(_impl_._has_bits_[0], 0x00000800U);
4262 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_depth_first_search)
4263}
4264inline bool RoutingSearchParameters::_internal_use_depth_first_search() const {
4265 ::google::protobuf::internal::TSanRead(&_impl_);
4266 return _impl_.use_depth_first_search_;
4267}
4268inline void RoutingSearchParameters::_internal_set_use_depth_first_search(bool value) {
4269 ::google::protobuf::internal::TSanWrite(&_impl_);
4270 _impl_.use_depth_first_search_ = value;
4271}
4272
4273// .operations_research.OptionalBoolean use_cp = 28;
4275 ::google::protobuf::internal::TSanWrite(&_impl_);
4276 _impl_.use_cp_ = 0;
4277 ClearHasBit(_impl_._has_bits_[0],
4278 0x00080000U);
4279}
4280inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp() const {
4281 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp)
4282 return _internal_use_cp();
4283}
4285 _internal_set_use_cp(value);
4286 SetHasBit(_impl_._has_bits_[0], 0x00080000U);
4287 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp)
4288}
4289inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp() const {
4290 ::google::protobuf::internal::TSanRead(&_impl_);
4291 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_cp_);
4292}
4293inline void RoutingSearchParameters::_internal_set_use_cp(::operations_research::OptionalBoolean value) {
4294 ::google::protobuf::internal::TSanWrite(&_impl_);
4295 _impl_.use_cp_ = value;
4296}
4297
4298// .operations_research.OptionalBoolean use_cp_sat = 27;
4300 ::google::protobuf::internal::TSanWrite(&_impl_);
4301 _impl_.use_cp_sat_ = 0;
4302 ClearHasBit(_impl_._has_bits_[0],
4303 0x00020000U);
4304}
4305inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp_sat() const {
4306 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp_sat)
4307 return _internal_use_cp_sat();
4308}
4310 _internal_set_use_cp_sat(value);
4311 SetHasBit(_impl_._has_bits_[0], 0x00020000U);
4312 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp_sat)
4313}
4314inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp_sat() const {
4315 ::google::protobuf::internal::TSanRead(&_impl_);
4316 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_cp_sat_);
4317}
4318inline void RoutingSearchParameters::_internal_set_use_cp_sat(::operations_research::OptionalBoolean value) {
4319 ::google::protobuf::internal::TSanWrite(&_impl_);
4320 _impl_.use_cp_sat_ = value;
4321}
4322
4323// .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
4325 ::google::protobuf::internal::TSanWrite(&_impl_);
4326 _impl_.use_generalized_cp_sat_ = 0;
4327 ClearHasBit(_impl_._has_bits_[0],
4328 0x08000000U);
4329}
4330inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_generalized_cp_sat() const {
4331 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_generalized_cp_sat)
4332 return _internal_use_generalized_cp_sat();
4333}
4335 _internal_set_use_generalized_cp_sat(value);
4336 SetHasBit(_impl_._has_bits_[0], 0x08000000U);
4337 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_generalized_cp_sat)
4338}
4339inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_generalized_cp_sat() const {
4340 ::google::protobuf::internal::TSanRead(&_impl_);
4341 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_generalized_cp_sat_);
4342}
4343inline void RoutingSearchParameters::_internal_set_use_generalized_cp_sat(::operations_research::OptionalBoolean value) {
4344 ::google::protobuf::internal::TSanWrite(&_impl_);
4345 _impl_.use_generalized_cp_sat_ = value;
4346}
4347
4348// .operations_research.sat.SatParameters sat_parameters = 48;
4350 bool value = CheckHasBit(_impl_._has_bits_[0], 0x40000000U);
4351 PROTOBUF_ASSUME(!value || _impl_.sat_parameters_ != nullptr);
4352 return value;
4353}
4354inline const ::operations_research::sat::SatParameters& RoutingSearchParameters::_internal_sat_parameters() const {
4355 ::google::protobuf::internal::TSanRead(&_impl_);
4356 const ::operations_research::sat::SatParameters* p = _impl_.sat_parameters_;
4358}
4359inline const ::operations_research::sat::SatParameters& RoutingSearchParameters::sat_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4360 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.sat_parameters)
4361 return _internal_sat_parameters();
4362}
4364 ::operations_research::sat::SatParameters* PROTOBUF_NULLABLE value) {
4365 ::google::protobuf::internal::TSanWrite(&_impl_);
4366 if (GetArena() == nullptr) {
4367 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.sat_parameters_);
4368 }
4369 _impl_.sat_parameters_ = reinterpret_cast<::operations_research::sat::SatParameters*>(value);
4370 if (value != nullptr) {
4371 SetHasBit(_impl_._has_bits_[0], 0x40000000U);
4372 } else {
4373 ClearHasBit(_impl_._has_bits_[0], 0x40000000U);
4374 }
4375 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.sat_parameters)
4376}
4377inline ::operations_research::sat::SatParameters* PROTOBUF_NULLABLE RoutingSearchParameters::release_sat_parameters() {
4378 ::google::protobuf::internal::TSanWrite(&_impl_);
4379
4380 ClearHasBit(_impl_._has_bits_[0], 0x40000000U);
4381 ::operations_research::sat::SatParameters* released = _impl_.sat_parameters_;
4382 _impl_.sat_parameters_ = nullptr;
4383 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4384 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
4385 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4386 if (GetArena() == nullptr) {
4387 delete old;
4388 }
4389 } else {
4390 if (GetArena() != nullptr) {
4391 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4392 }
4393 }
4394 return released;
4395}
4396inline ::operations_research::sat::SatParameters* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_sat_parameters() {
4397 ::google::protobuf::internal::TSanWrite(&_impl_);
4398 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.sat_parameters)
4399
4400 ClearHasBit(_impl_._has_bits_[0], 0x40000000U);
4401 ::operations_research::sat::SatParameters* temp = _impl_.sat_parameters_;
4402 _impl_.sat_parameters_ = nullptr;
4403 return temp;
4404}
4405inline ::operations_research::sat::SatParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_sat_parameters() {
4406 ::google::protobuf::internal::TSanWrite(&_impl_);
4407 if (_impl_.sat_parameters_ == nullptr) {
4408 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::SatParameters>(GetArena());
4409 _impl_.sat_parameters_ = reinterpret_cast<::operations_research::sat::SatParameters*>(p);
4410 }
4411 return _impl_.sat_parameters_;
4412}
4413inline ::operations_research::sat::SatParameters* PROTOBUF_NONNULL RoutingSearchParameters::mutable_sat_parameters()
4414 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4415 SetHasBit(_impl_._has_bits_[0], 0x40000000U);
4416 ::operations_research::sat::SatParameters* _msg = _internal_mutable_sat_parameters();
4417 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.sat_parameters)
4418 return _msg;
4419}
4420inline void RoutingSearchParameters::set_allocated_sat_parameters(::operations_research::sat::SatParameters* PROTOBUF_NULLABLE value) {
4421 ::google::protobuf::Arena* message_arena = GetArena();
4422 ::google::protobuf::internal::TSanWrite(&_impl_);
4423 if (message_arena == nullptr) {
4424 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.sat_parameters_);
4425 }
4426
4427 if (value != nullptr) {
4428 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
4429 if (message_arena != submessage_arena) {
4430 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4431 }
4432 SetHasBit(_impl_._has_bits_[0], 0x40000000U);
4433 } else {
4434 ClearHasBit(_impl_._has_bits_[0], 0x40000000U);
4435 }
4436
4437 _impl_.sat_parameters_ = reinterpret_cast<::operations_research::sat::SatParameters*>(value);
4438 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.sat_parameters)
4439}
4440
4441// bool report_intermediate_cp_sat_solutions = 56;
4443 ::google::protobuf::internal::TSanWrite(&_impl_);
4444 _impl_.report_intermediate_cp_sat_solutions_ = false;
4445 ClearHasBit(_impl_._has_bits_[0],
4446 0x04000000U);
4447}
4449 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.report_intermediate_cp_sat_solutions)
4450 return _internal_report_intermediate_cp_sat_solutions();
4451}
4453 _internal_set_report_intermediate_cp_sat_solutions(value);
4454 SetHasBit(_impl_._has_bits_[0], 0x04000000U);
4455 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.report_intermediate_cp_sat_solutions)
4456}
4457inline bool RoutingSearchParameters::_internal_report_intermediate_cp_sat_solutions() const {
4458 ::google::protobuf::internal::TSanRead(&_impl_);
4459 return _impl_.report_intermediate_cp_sat_solutions_;
4460}
4461inline void RoutingSearchParameters::_internal_set_report_intermediate_cp_sat_solutions(bool value) {
4462 ::google::protobuf::internal::TSanWrite(&_impl_);
4463 _impl_.report_intermediate_cp_sat_solutions_ = value;
4464}
4465
4466// int32 fallback_to_cp_sat_size_threshold = 52;
4468 ::google::protobuf::internal::TSanWrite(&_impl_);
4469 _impl_.fallback_to_cp_sat_size_threshold_ = 0;
4470 ClearHasBit(_impl_._has_bits_[1],
4471 0x00000020U);
4472}
4474 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.fallback_to_cp_sat_size_threshold)
4475 return _internal_fallback_to_cp_sat_size_threshold();
4476}
4478 _internal_set_fallback_to_cp_sat_size_threshold(value);
4479 SetHasBit(_impl_._has_bits_[1], 0x00000020U);
4480 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.fallback_to_cp_sat_size_threshold)
4481}
4482inline ::int32_t RoutingSearchParameters::_internal_fallback_to_cp_sat_size_threshold() const {
4483 ::google::protobuf::internal::TSanRead(&_impl_);
4484 return _impl_.fallback_to_cp_sat_size_threshold_;
4485}
4486inline void RoutingSearchParameters::_internal_set_fallback_to_cp_sat_size_threshold(::int32_t value) {
4487 ::google::protobuf::internal::TSanWrite(&_impl_);
4488 _impl_.fallback_to_cp_sat_size_threshold_ = value;
4489}
4490
4491// .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
4493 ::google::protobuf::internal::TSanWrite(&_impl_);
4494 _impl_.continuous_scheduling_solver_ = 0;
4495 ClearHasBit(_impl_._has_bits_[1],
4496 0x00000010U);
4497}
4498inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::continuous_scheduling_solver() const {
4499 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.continuous_scheduling_solver)
4500 return _internal_continuous_scheduling_solver();
4501}
4503 _internal_set_continuous_scheduling_solver(value);
4504 SetHasBit(_impl_._has_bits_[1], 0x00000010U);
4505 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.continuous_scheduling_solver)
4506}
4507inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_continuous_scheduling_solver() const {
4508 ::google::protobuf::internal::TSanRead(&_impl_);
4509 return static_cast<::operations_research::RoutingSearchParameters_SchedulingSolver>(_impl_.continuous_scheduling_solver_);
4510}
4511inline void RoutingSearchParameters::_internal_set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
4512 ::google::protobuf::internal::TSanWrite(&_impl_);
4513 _impl_.continuous_scheduling_solver_ = value;
4514}
4515
4516// .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
4518 ::google::protobuf::internal::TSanWrite(&_impl_);
4519 _impl_.mixed_integer_scheduling_solver_ = 0;
4520 ClearHasBit(_impl_._has_bits_[0],
4521 0x00200000U);
4522}
4523inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::mixed_integer_scheduling_solver() const {
4524 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.mixed_integer_scheduling_solver)
4525 return _internal_mixed_integer_scheduling_solver();
4526}
4528 _internal_set_mixed_integer_scheduling_solver(value);
4529 SetHasBit(_impl_._has_bits_[0], 0x00200000U);
4530 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.mixed_integer_scheduling_solver)
4531}
4532inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_mixed_integer_scheduling_solver() const {
4533 ::google::protobuf::internal::TSanRead(&_impl_);
4534 return static_cast<::operations_research::RoutingSearchParameters_SchedulingSolver>(_impl_.mixed_integer_scheduling_solver_);
4535}
4536inline void RoutingSearchParameters::_internal_set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
4537 ::google::protobuf::internal::TSanWrite(&_impl_);
4538 _impl_.mixed_integer_scheduling_solver_ = value;
4539}
4540
4541// optional bool disable_scheduling_beware_this_may_degrade_performance = 50;
4543 bool value = CheckHasBit(_impl_._has_bits_[1], 0x00000200U);
4544 return value;
4545}
4547 ::google::protobuf::internal::TSanWrite(&_impl_);
4548 _impl_.disable_scheduling_beware_this_may_degrade_performance_ = false;
4549 ClearHasBit(_impl_._has_bits_[1],
4550 0x00000200U);
4551}
4553 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.disable_scheduling_beware_this_may_degrade_performance)
4554 return _internal_disable_scheduling_beware_this_may_degrade_performance();
4555}
4557 _internal_set_disable_scheduling_beware_this_may_degrade_performance(value);
4558 SetHasBit(_impl_._has_bits_[1], 0x00000200U);
4559 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.disable_scheduling_beware_this_may_degrade_performance)
4560}
4561inline bool RoutingSearchParameters::_internal_disable_scheduling_beware_this_may_degrade_performance() const {
4562 ::google::protobuf::internal::TSanRead(&_impl_);
4563 return _impl_.disable_scheduling_beware_this_may_degrade_performance_;
4564}
4565inline void RoutingSearchParameters::_internal_set_disable_scheduling_beware_this_may_degrade_performance(bool value) {
4566 ::google::protobuf::internal::TSanWrite(&_impl_);
4567 _impl_.disable_scheduling_beware_this_may_degrade_performance_ = value;
4568}
4569
4570// double optimization_step = 7;
4572 ::google::protobuf::internal::TSanWrite(&_impl_);
4573 _impl_.optimization_step_ = 0;
4574 ClearHasBit(_impl_._has_bits_[0],
4575 0x00000100U);
4576}
4577inline double RoutingSearchParameters::optimization_step() const {
4578 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.optimization_step)
4579 return _internal_optimization_step();
4580}
4582 _internal_set_optimization_step(value);
4583 SetHasBit(_impl_._has_bits_[0], 0x00000100U);
4584 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.optimization_step)
4585}
4586inline double RoutingSearchParameters::_internal_optimization_step() const {
4587 ::google::protobuf::internal::TSanRead(&_impl_);
4588 return _impl_.optimization_step_;
4589}
4590inline void RoutingSearchParameters::_internal_set_optimization_step(double value) {
4591 ::google::protobuf::internal::TSanWrite(&_impl_);
4592 _impl_.optimization_step_ = value;
4593}
4594
4595// int32 number_of_solutions_to_collect = 17;
4597 ::google::protobuf::internal::TSanWrite(&_impl_);
4598 _impl_.number_of_solutions_to_collect_ = 0;
4599 ClearHasBit(_impl_._has_bits_[0],
4600 0x00004000U);
4601}
4603 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
4604 return _internal_number_of_solutions_to_collect();
4605}
4607 _internal_set_number_of_solutions_to_collect(value);
4608 SetHasBit(_impl_._has_bits_[0], 0x00004000U);
4609 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
4610}
4611inline ::int32_t RoutingSearchParameters::_internal_number_of_solutions_to_collect() const {
4612 ::google::protobuf::internal::TSanRead(&_impl_);
4613 return _impl_.number_of_solutions_to_collect_;
4614}
4615inline void RoutingSearchParameters::_internal_set_number_of_solutions_to_collect(::int32_t value) {
4616 ::google::protobuf::internal::TSanWrite(&_impl_);
4617 _impl_.number_of_solutions_to_collect_ = value;
4618}
4619
4620// int64 solution_limit = 8;
4622 ::google::protobuf::internal::TSanWrite(&_impl_);
4623 _impl_.solution_limit_ = ::int64_t{0};
4624 ClearHasBit(_impl_._has_bits_[0],
4625 0x00000200U);
4626}
4627inline ::int64_t RoutingSearchParameters::solution_limit() const {
4628 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.solution_limit)
4629 return _internal_solution_limit();
4630}
4632 _internal_set_solution_limit(value);
4633 SetHasBit(_impl_._has_bits_[0], 0x00000200U);
4634 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.solution_limit)
4635}
4636inline ::int64_t RoutingSearchParameters::_internal_solution_limit() const {
4637 ::google::protobuf::internal::TSanRead(&_impl_);
4638 return _impl_.solution_limit_;
4639}
4640inline void RoutingSearchParameters::_internal_set_solution_limit(::int64_t value) {
4641 ::google::protobuf::internal::TSanWrite(&_impl_);
4642 _impl_.solution_limit_ = value;
4643}
4644
4645// .google.protobuf.Duration time_limit = 9;
4646inline bool RoutingSearchParameters::has_time_limit() const {
4647 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
4648 PROTOBUF_ASSUME(!value || _impl_.time_limit_ != nullptr);
4649 return value;
4650}
4651inline const ::google::protobuf::Duration& RoutingSearchParameters::_internal_time_limit() const {
4652 ::google::protobuf::internal::TSanRead(&_impl_);
4653 const ::google::protobuf::Duration* p = _impl_.time_limit_;
4654 return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::Duration&>(::google::protobuf::_Duration_default_instance_);
4655}
4656inline const ::google::protobuf::Duration& RoutingSearchParameters::time_limit() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4657 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.time_limit)
4658 return _internal_time_limit();
4659}
4661 ::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
4662 ::google::protobuf::internal::TSanWrite(&_impl_);
4663 if (GetArena() == nullptr) {
4664 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.time_limit_);
4665 }
4666 _impl_.time_limit_ = reinterpret_cast<::google::protobuf::Duration*>(value);
4667 if (value != nullptr) {
4668 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
4669 } else {
4670 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
4671 }
4672 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.time_limit)
4673}
4674inline ::google::protobuf::Duration* PROTOBUF_NULLABLE RoutingSearchParameters::release_time_limit() {
4675 ::google::protobuf::internal::TSanWrite(&_impl_);
4676
4677 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
4678 ::google::protobuf::Duration* released = _impl_.time_limit_;
4679 _impl_.time_limit_ = nullptr;
4680 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4681 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
4682 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4683 if (GetArena() == nullptr) {
4684 delete old;
4685 }
4686 } else {
4687 if (GetArena() != nullptr) {
4688 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4689 }
4690 }
4691 return released;
4692}
4693inline ::google::protobuf::Duration* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_time_limit() {
4694 ::google::protobuf::internal::TSanWrite(&_impl_);
4695 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.time_limit)
4696
4697 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
4698 ::google::protobuf::Duration* temp = _impl_.time_limit_;
4699 _impl_.time_limit_ = nullptr;
4700 return temp;
4701}
4702inline ::google::protobuf::Duration* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_time_limit() {
4703 ::google::protobuf::internal::TSanWrite(&_impl_);
4704 if (_impl_.time_limit_ == nullptr) {
4705 auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena());
4706 _impl_.time_limit_ = reinterpret_cast<::google::protobuf::Duration*>(p);
4707 }
4708 return _impl_.time_limit_;
4709}
4710inline ::google::protobuf::Duration* PROTOBUF_NONNULL RoutingSearchParameters::mutable_time_limit()
4711 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4712 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
4713 ::google::protobuf::Duration* _msg = _internal_mutable_time_limit();
4714 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.time_limit)
4715 return _msg;
4716}
4717inline void RoutingSearchParameters::set_allocated_time_limit(::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
4718 ::google::protobuf::Arena* message_arena = GetArena();
4719 ::google::protobuf::internal::TSanWrite(&_impl_);
4720 if (message_arena == nullptr) {
4721 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.time_limit_);
4722 }
4723
4724 if (value != nullptr) {
4725 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
4726 if (message_arena != submessage_arena) {
4727 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4728 }
4729 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
4730 } else {
4731 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
4732 }
4733
4734 _impl_.time_limit_ = reinterpret_cast<::google::protobuf::Duration*>(value);
4735 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.time_limit)
4736}
4737
4738// .google.protobuf.Duration lns_time_limit = 10;
4740 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
4741 PROTOBUF_ASSUME(!value || _impl_.lns_time_limit_ != nullptr);
4742 return value;
4743}
4744inline const ::google::protobuf::Duration& RoutingSearchParameters::_internal_lns_time_limit() const {
4745 ::google::protobuf::internal::TSanRead(&_impl_);
4746 const ::google::protobuf::Duration* p = _impl_.lns_time_limit_;
4747 return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::Duration&>(::google::protobuf::_Duration_default_instance_);
4748}
4749inline const ::google::protobuf::Duration& RoutingSearchParameters::lns_time_limit() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4750 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.lns_time_limit)
4751 return _internal_lns_time_limit();
4752}
4754 ::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
4755 ::google::protobuf::internal::TSanWrite(&_impl_);
4756 if (GetArena() == nullptr) {
4757 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.lns_time_limit_);
4758 }
4759 _impl_.lns_time_limit_ = reinterpret_cast<::google::protobuf::Duration*>(value);
4760 if (value != nullptr) {
4761 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
4762 } else {
4763 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
4764 }
4765 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
4766}
4767inline ::google::protobuf::Duration* PROTOBUF_NULLABLE RoutingSearchParameters::release_lns_time_limit() {
4768 ::google::protobuf::internal::TSanWrite(&_impl_);
4769
4770 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
4771 ::google::protobuf::Duration* released = _impl_.lns_time_limit_;
4772 _impl_.lns_time_limit_ = nullptr;
4773 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4774 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
4775 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4776 if (GetArena() == nullptr) {
4777 delete old;
4778 }
4779 } else {
4780 if (GetArena() != nullptr) {
4781 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4782 }
4783 }
4784 return released;
4785}
4786inline ::google::protobuf::Duration* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_lns_time_limit() {
4787 ::google::protobuf::internal::TSanWrite(&_impl_);
4788 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.lns_time_limit)
4789
4790 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
4791 ::google::protobuf::Duration* temp = _impl_.lns_time_limit_;
4792 _impl_.lns_time_limit_ = nullptr;
4793 return temp;
4794}
4795inline ::google::protobuf::Duration* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_lns_time_limit() {
4796 ::google::protobuf::internal::TSanWrite(&_impl_);
4797 if (_impl_.lns_time_limit_ == nullptr) {
4798 auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena());
4799 _impl_.lns_time_limit_ = reinterpret_cast<::google::protobuf::Duration*>(p);
4800 }
4801 return _impl_.lns_time_limit_;
4802}
4803inline ::google::protobuf::Duration* PROTOBUF_NONNULL RoutingSearchParameters::mutable_lns_time_limit()
4804 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4805 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
4806 ::google::protobuf::Duration* _msg = _internal_mutable_lns_time_limit();
4807 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.lns_time_limit)
4808 return _msg;
4809}
4810inline void RoutingSearchParameters::set_allocated_lns_time_limit(::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
4811 ::google::protobuf::Arena* message_arena = GetArena();
4812 ::google::protobuf::internal::TSanWrite(&_impl_);
4813 if (message_arena == nullptr) {
4814 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.lns_time_limit_);
4815 }
4816
4817 if (value != nullptr) {
4818 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
4819 if (message_arena != submessage_arena) {
4820 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4821 }
4822 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
4823 } else {
4824 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
4825 }
4826
4827 _impl_.lns_time_limit_ = reinterpret_cast<::google::protobuf::Duration*>(value);
4828 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
4829}
4830
4831// double secondary_ls_time_limit_ratio = 57;
4833 ::google::protobuf::internal::TSanWrite(&_impl_);
4834 _impl_.secondary_ls_time_limit_ratio_ = 0;
4835 ClearHasBit(_impl_._has_bits_[1],
4836 0x00002000U);
4837}
4839 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.secondary_ls_time_limit_ratio)
4840 return _internal_secondary_ls_time_limit_ratio();
4841}
4843 _internal_set_secondary_ls_time_limit_ratio(value);
4844 SetHasBit(_impl_._has_bits_[1], 0x00002000U);
4845 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.secondary_ls_time_limit_ratio)
4846}
4847inline double RoutingSearchParameters::_internal_secondary_ls_time_limit_ratio() const {
4848 ::google::protobuf::internal::TSanRead(&_impl_);
4849 return _impl_.secondary_ls_time_limit_ratio_;
4850}
4851inline void RoutingSearchParameters::_internal_set_secondary_ls_time_limit_ratio(double value) {
4852 ::google::protobuf::internal::TSanWrite(&_impl_);
4853 _impl_.secondary_ls_time_limit_ratio_ = value;
4854}
4855
4856// .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
4858 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
4859 PROTOBUF_ASSUME(!value || _impl_.improvement_limit_parameters_ != nullptr);
4860 return value;
4861}
4863 ::google::protobuf::internal::TSanWrite(&_impl_);
4864 if (_impl_.improvement_limit_parameters_ != nullptr) _impl_.improvement_limit_parameters_->Clear();
4865 ClearHasBit(_impl_._has_bits_[0],
4866 0x00000008U);
4868inline const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& RoutingSearchParameters::_internal_improvement_limit_parameters() const {
4869 ::google::protobuf::internal::TSanRead(&_impl_);
4870 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* p = _impl_.improvement_limit_parameters_;
4873inline const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& RoutingSearchParameters::improvement_limit_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4874 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.improvement_limit_parameters)
4875 return _internal_improvement_limit_parameters();
4876}
4879 ::google::protobuf::internal::TSanWrite(&_impl_);
4880 if (GetArena() == nullptr) {
4881 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.improvement_limit_parameters_);
4882 }
4883 _impl_.improvement_limit_parameters_ = reinterpret_cast<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters*>(value);
4884 if (value != nullptr) {
4885 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
4886 } else {
4887 ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
4888 }
4889 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.improvement_limit_parameters)
4890}
4891inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NULLABLE RoutingSearchParameters::release_improvement_limit_parameters() {
4892 ::google::protobuf::internal::TSanWrite(&_impl_);
4893
4894 ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
4896 _impl_.improvement_limit_parameters_ = nullptr;
4897 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4898 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
4899 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4900 if (GetArena() == nullptr) {
4901 delete old;
4902 }
4903 } else {
4904 if (GetArena() != nullptr) {
4905 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4906 }
4907 }
4908 return released;
4909}
4910inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_improvement_limit_parameters() {
4911 ::google::protobuf::internal::TSanWrite(&_impl_);
4912 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.improvement_limit_parameters)
4913
4914 ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
4915 ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* temp = _impl_.improvement_limit_parameters_;
4916 _impl_.improvement_limit_parameters_ = nullptr;
4917 return temp;
4918}
4919inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_improvement_limit_parameters() {
4920 ::google::protobuf::internal::TSanWrite(&_impl_);
4921 if (_impl_.improvement_limit_parameters_ == nullptr) {
4922 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters>(GetArena());
4923 _impl_.improvement_limit_parameters_ = reinterpret_cast<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters*>(p);
4924 }
4925 return _impl_.improvement_limit_parameters_;
4926}
4927inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL RoutingSearchParameters::mutable_improvement_limit_parameters()
4928 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4929 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
4930 ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* _msg = _internal_mutable_improvement_limit_parameters();
4931 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.improvement_limit_parameters)
4932 return _msg;
4933}
4934inline void RoutingSearchParameters::set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NULLABLE value) {
4935 ::google::protobuf::Arena* message_arena = GetArena();
4936 ::google::protobuf::internal::TSanWrite(&_impl_);
4937 if (message_arena == nullptr) {
4938 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.improvement_limit_parameters_);
4939 }
4940
4941 if (value != nullptr) {
4942 ::google::protobuf::Arena* submessage_arena = value->GetArena();
4943 if (message_arena != submessage_arena) {
4944 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4945 }
4946 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
4947 } else {
4948 ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
4949 }
4950
4951 _impl_.improvement_limit_parameters_ = reinterpret_cast<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters*>(value);
4952 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.improvement_limit_parameters)
4953}
4954
4955// bool use_full_propagation = 11;
4957 ::google::protobuf::internal::TSanWrite(&_impl_);
4958 _impl_.use_full_propagation_ = false;
4959 ClearHasBit(_impl_._has_bits_[0],
4960 0x00001000U);
4961}
4963 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_full_propagation)
4964 return _internal_use_full_propagation();
4965}
4967 _internal_set_use_full_propagation(value);
4968 SetHasBit(_impl_._has_bits_[0], 0x00001000U);
4969 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_full_propagation)
4970}
4971inline bool RoutingSearchParameters::_internal_use_full_propagation() const {
4972 ::google::protobuf::internal::TSanRead(&_impl_);
4973 return _impl_.use_full_propagation_;
4974}
4975inline void RoutingSearchParameters::_internal_set_use_full_propagation(bool value) {
4976 ::google::protobuf::internal::TSanWrite(&_impl_);
4977 _impl_.use_full_propagation_ = value;
4978}
4979
4980// bool log_search = 13;
4982 ::google::protobuf::internal::TSanWrite(&_impl_);
4983 _impl_.log_search_ = false;
4984 ClearHasBit(_impl_._has_bits_[0],
4985 0x00002000U);
4986}
4987inline bool RoutingSearchParameters::log_search() const {
4988 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_search)
4989 return _internal_log_search();
4990}
4992 _internal_set_log_search(value);
4993 SetHasBit(_impl_._has_bits_[0], 0x00002000U);
4994 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_search)
4995}
4996inline bool RoutingSearchParameters::_internal_log_search() const {
4997 ::google::protobuf::internal::TSanRead(&_impl_);
4998 return _impl_.log_search_;
4999}
5000inline void RoutingSearchParameters::_internal_set_log_search(bool value) {
5001 ::google::protobuf::internal::TSanWrite(&_impl_);
5002 _impl_.log_search_ = value;
5003}
5004
5005// double log_cost_scaling_factor = 22;
5007 ::google::protobuf::internal::TSanWrite(&_impl_);
5008 _impl_.log_cost_scaling_factor_ = 0;
5009 ClearHasBit(_impl_._has_bits_[0],
5010 0x00008000U);
5011}
5013 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
5014 return _internal_log_cost_scaling_factor();
5015}
5017 _internal_set_log_cost_scaling_factor(value);
5018 SetHasBit(_impl_._has_bits_[0], 0x00008000U);
5019 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
5020}
5021inline double RoutingSearchParameters::_internal_log_cost_scaling_factor() const {
5022 ::google::protobuf::internal::TSanRead(&_impl_);
5023 return _impl_.log_cost_scaling_factor_;
5024}
5025inline void RoutingSearchParameters::_internal_set_log_cost_scaling_factor(double value) {
5026 ::google::protobuf::internal::TSanWrite(&_impl_);
5027 _impl_.log_cost_scaling_factor_ = value;
5028}
5029
5030// double log_cost_offset = 29;
5032 ::google::protobuf::internal::TSanWrite(&_impl_);
5033 _impl_.log_cost_offset_ = 0;
5034 ClearHasBit(_impl_._has_bits_[0],
5035 0x00040000U);
5036}
5037inline double RoutingSearchParameters::log_cost_offset() const {
5038 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_offset)
5039 return _internal_log_cost_offset();
5040}
5042 _internal_set_log_cost_offset(value);
5043 SetHasBit(_impl_._has_bits_[0], 0x00040000U);
5044 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_offset)
5045}
5046inline double RoutingSearchParameters::_internal_log_cost_offset() const {
5047 ::google::protobuf::internal::TSanRead(&_impl_);
5048 return _impl_.log_cost_offset_;
5049}
5050inline void RoutingSearchParameters::_internal_set_log_cost_offset(double value) {
5051 ::google::protobuf::internal::TSanWrite(&_impl_);
5052 _impl_.log_cost_offset_ = value;
5053}
5054
5055// string log_tag = 36;
5057 ::google::protobuf::internal::TSanWrite(&_impl_);
5058 _impl_.log_tag_.ClearToEmpty();
5059 ClearHasBit(_impl_._has_bits_[0],
5060 0x20000000U);
5061}
5062inline const ::std::string& RoutingSearchParameters::log_tag() const
5063 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5064 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_tag)
5065 return _internal_log_tag();
5067template <typename Arg_, typename... Args_>
5068PROTOBUF_ALWAYS_INLINE void RoutingSearchParameters::set_log_tag(Arg_&& arg, Args_... args) {
5069 ::google::protobuf::internal::TSanWrite(&_impl_);
5070 SetHasBit(_impl_._has_bits_[0], 0x20000000U);
5071 _impl_.log_tag_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
5072 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_tag)
5073}
5074inline ::std::string* PROTOBUF_NONNULL RoutingSearchParameters::mutable_log_tag()
5075 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5076 SetHasBit(_impl_._has_bits_[0], 0x20000000U);
5077 ::std::string* _s = _internal_mutable_log_tag();
5078 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.log_tag)
5079 return _s;
5080}
5081inline const ::std::string& RoutingSearchParameters::_internal_log_tag() const {
5082 ::google::protobuf::internal::TSanRead(&_impl_);
5083 return _impl_.log_tag_.Get();
5085inline void RoutingSearchParameters::_internal_set_log_tag(const ::std::string& value) {
5086 ::google::protobuf::internal::TSanWrite(&_impl_);
5087 _impl_.log_tag_.Set(value, GetArena());
5088}
5089inline ::std::string* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_log_tag() {
5090 ::google::protobuf::internal::TSanWrite(&_impl_);
5091 return _impl_.log_tag_.Mutable( GetArena());
5092}
5093inline ::std::string* PROTOBUF_NULLABLE RoutingSearchParameters::release_log_tag() {
5094 ::google::protobuf::internal::TSanWrite(&_impl_);
5095 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.log_tag)
5096 if (!CheckHasBit(_impl_._has_bits_[0], 0x20000000U)) {
5097 return nullptr;
5098 }
5099 ClearHasBit(_impl_._has_bits_[0], 0x20000000U);
5100 auto* released = _impl_.log_tag_.Release();
5101 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
5102 _impl_.log_tag_.Set("", GetArena());
5104 return released;
5105}
5106inline void RoutingSearchParameters::set_allocated_log_tag(::std::string* PROTOBUF_NULLABLE value) {
5107 ::google::protobuf::internal::TSanWrite(&_impl_);
5108 if (value != nullptr) {
5109 SetHasBit(_impl_._has_bits_[0], 0x20000000U);
5110 } else {
5111 ClearHasBit(_impl_._has_bits_[0], 0x20000000U);
5112 }
5113 _impl_.log_tag_.SetAllocated(value, GetArena());
5114 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.log_tag_.IsDefault()) {
5115 _impl_.log_tag_.Set("", GetArena());
5117 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.log_tag)
5118}
5119
5120// bool use_iterated_local_search = 58;
5122 ::google::protobuf::internal::TSanWrite(&_impl_);
5123 _impl_.use_iterated_local_search_ = false;
5124 ClearHasBit(_impl_._has_bits_[1],
5125 0x00000800U);
5126}
5128 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_iterated_local_search)
5129 return _internal_use_iterated_local_search();
5130}
5132 _internal_set_use_iterated_local_search(value);
5133 SetHasBit(_impl_._has_bits_[1], 0x00000800U);
5134 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_iterated_local_search)
5135}
5136inline bool RoutingSearchParameters::_internal_use_iterated_local_search() const {
5137 ::google::protobuf::internal::TSanRead(&_impl_);
5138 return _impl_.use_iterated_local_search_;
5139}
5140inline void RoutingSearchParameters::_internal_set_use_iterated_local_search(bool value) {
5141 ::google::protobuf::internal::TSanWrite(&_impl_);
5142 _impl_.use_iterated_local_search_ = value;
5143}
5144
5145// .operations_research.IteratedLocalSearchParameters iterated_local_search_parameters = 60;
5147 bool value = CheckHasBit(_impl_._has_bits_[0], 0x80000000U);
5148 PROTOBUF_ASSUME(!value || _impl_.iterated_local_search_parameters_ != nullptr);
5149 return value;
5150}
5151inline const ::operations_research::IteratedLocalSearchParameters& RoutingSearchParameters::_internal_iterated_local_search_parameters() const {
5152 ::google::protobuf::internal::TSanRead(&_impl_);
5153 const ::operations_research::IteratedLocalSearchParameters* p = _impl_.iterated_local_search_parameters_;
5155}
5156inline const ::operations_research::IteratedLocalSearchParameters& RoutingSearchParameters::iterated_local_search_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5157 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.iterated_local_search_parameters)
5158 return _internal_iterated_local_search_parameters();
5159}
5162 ::google::protobuf::internal::TSanWrite(&_impl_);
5163 if (GetArena() == nullptr) {
5164 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.iterated_local_search_parameters_);
5165 }
5166 _impl_.iterated_local_search_parameters_ = reinterpret_cast<::operations_research::IteratedLocalSearchParameters*>(value);
5167 if (value != nullptr) {
5168 SetHasBit(_impl_._has_bits_[0], 0x80000000U);
5169 } else {
5170 ClearHasBit(_impl_._has_bits_[0], 0x80000000U);
5171 }
5172 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.iterated_local_search_parameters)
5173}
5174inline ::operations_research::IteratedLocalSearchParameters* PROTOBUF_NULLABLE RoutingSearchParameters::release_iterated_local_search_parameters() {
5175 ::google::protobuf::internal::TSanWrite(&_impl_);
5176
5177 ClearHasBit(_impl_._has_bits_[0], 0x80000000U);
5178 ::operations_research::IteratedLocalSearchParameters* released = _impl_.iterated_local_search_parameters_;
5179 _impl_.iterated_local_search_parameters_ = nullptr;
5180 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
5181 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
5182 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5183 if (GetArena() == nullptr) {
5184 delete old;
5185 }
5186 } else {
5187 if (GetArena() != nullptr) {
5188 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5189 }
5190 }
5191 return released;
5192}
5193inline ::operations_research::IteratedLocalSearchParameters* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_iterated_local_search_parameters() {
5194 ::google::protobuf::internal::TSanWrite(&_impl_);
5195 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.iterated_local_search_parameters)
5196
5197 ClearHasBit(_impl_._has_bits_[0], 0x80000000U);
5198 ::operations_research::IteratedLocalSearchParameters* temp = _impl_.iterated_local_search_parameters_;
5199 _impl_.iterated_local_search_parameters_ = nullptr;
5200 return temp;
5201}
5202inline ::operations_research::IteratedLocalSearchParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_iterated_local_search_parameters() {
5203 ::google::protobuf::internal::TSanWrite(&_impl_);
5204 if (_impl_.iterated_local_search_parameters_ == nullptr) {
5205 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::IteratedLocalSearchParameters>(GetArena());
5206 _impl_.iterated_local_search_parameters_ = reinterpret_cast<::operations_research::IteratedLocalSearchParameters*>(p);
5207 }
5208 return _impl_.iterated_local_search_parameters_;
5209}
5210inline ::operations_research::IteratedLocalSearchParameters* PROTOBUF_NONNULL RoutingSearchParameters::mutable_iterated_local_search_parameters()
5211 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5212 SetHasBit(_impl_._has_bits_[0], 0x80000000U);
5213 ::operations_research::IteratedLocalSearchParameters* _msg = _internal_mutable_iterated_local_search_parameters();
5214 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.iterated_local_search_parameters)
5215 return _msg;
5216}
5217inline void RoutingSearchParameters::set_allocated_iterated_local_search_parameters(::operations_research::IteratedLocalSearchParameters* PROTOBUF_NULLABLE value) {
5218 ::google::protobuf::Arena* message_arena = GetArena();
5219 ::google::protobuf::internal::TSanWrite(&_impl_);
5220 if (message_arena == nullptr) {
5221 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.iterated_local_search_parameters_);
5222 }
5223
5224 if (value != nullptr) {
5225 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
5226 if (message_arena != submessage_arena) {
5227 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
5228 }
5229 SetHasBit(_impl_._has_bits_[0], 0x80000000U);
5230 } else {
5231 ClearHasBit(_impl_._has_bits_[0], 0x80000000U);
5232 }
5233
5234 _impl_.iterated_local_search_parameters_ = reinterpret_cast<::operations_research::IteratedLocalSearchParameters*>(value);
5235 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.iterated_local_search_parameters)
5236}
5237
5238// -------------------------------------------------------------------
5239
5240// RoutingModelParameters
5241
5242// .operations_research.ConstraintSolverParameters solver_parameters = 1;
5244 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
5245 PROTOBUF_ASSUME(!value || _impl_.solver_parameters_ != nullptr);
5246 return value;
5247}
5248inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::_internal_solver_parameters() const {
5249 ::google::protobuf::internal::TSanRead(&_impl_);
5250 const ::operations_research::ConstraintSolverParameters* p = _impl_.solver_parameters_;
5251 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::ConstraintSolverParameters&>(::operations_research::_ConstraintSolverParameters_default_instance_);
5252}
5253inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::solver_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5254 // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.solver_parameters)
5255 return _internal_solver_parameters();
5256}
5258 ::operations_research::ConstraintSolverParameters* PROTOBUF_NULLABLE value) {
5259 ::google::protobuf::internal::TSanWrite(&_impl_);
5260 if (GetArena() == nullptr) {
5261 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.solver_parameters_);
5262 }
5263 _impl_.solver_parameters_ = reinterpret_cast<::operations_research::ConstraintSolverParameters*>(value);
5264 if (value != nullptr) {
5265 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
5266 } else {
5267 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
5269 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
5270}
5271inline ::operations_research::ConstraintSolverParameters* PROTOBUF_NULLABLE RoutingModelParameters::release_solver_parameters() {
5272 ::google::protobuf::internal::TSanWrite(&_impl_);
5273
5274 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
5275 ::operations_research::ConstraintSolverParameters* released = _impl_.solver_parameters_;
5276 _impl_.solver_parameters_ = nullptr;
5277 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
5278 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
5279 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5280 if (GetArena() == nullptr) {
5281 delete old;
5283 } else {
5284 if (GetArena() != nullptr) {
5285 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5286 }
5287 }
5288 return released;
5289}
5290inline ::operations_research::ConstraintSolverParameters* PROTOBUF_NULLABLE RoutingModelParameters::unsafe_arena_release_solver_parameters() {
5291 ::google::protobuf::internal::TSanWrite(&_impl_);
5292 // @@protoc_insertion_point(field_release:operations_research.RoutingModelParameters.solver_parameters)
5293
5294 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
5295 ::operations_research::ConstraintSolverParameters* temp = _impl_.solver_parameters_;
5296 _impl_.solver_parameters_ = nullptr;
5297 return temp;
5298}
5299inline ::operations_research::ConstraintSolverParameters* PROTOBUF_NONNULL RoutingModelParameters::_internal_mutable_solver_parameters() {
5300 ::google::protobuf::internal::TSanWrite(&_impl_);
5301 if (_impl_.solver_parameters_ == nullptr) {
5302 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::ConstraintSolverParameters>(GetArena());
5303 _impl_.solver_parameters_ = reinterpret_cast<::operations_research::ConstraintSolverParameters*>(p);
5304 }
5305 return _impl_.solver_parameters_;
5306}
5307inline ::operations_research::ConstraintSolverParameters* PROTOBUF_NONNULL RoutingModelParameters::mutable_solver_parameters()
5308 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5309 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
5310 ::operations_research::ConstraintSolverParameters* _msg = _internal_mutable_solver_parameters();
5311 // @@protoc_insertion_point(field_mutable:operations_research.RoutingModelParameters.solver_parameters)
5312 return _msg;
5313}
5314inline void RoutingModelParameters::set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters* PROTOBUF_NULLABLE value) {
5315 ::google::protobuf::Arena* message_arena = GetArena();
5316 ::google::protobuf::internal::TSanWrite(&_impl_);
5317 if (message_arena == nullptr) {
5318 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.solver_parameters_);
5319 }
5320
5321 if (value != nullptr) {
5322 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
5323 if (message_arena != submessage_arena) {
5324 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
5326 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
5327 } else {
5328 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
5329 }
5330
5331 _impl_.solver_parameters_ = reinterpret_cast<::operations_research::ConstraintSolverParameters*>(value);
5332 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
5333}
5334
5335// bool reduce_vehicle_cost_model = 2;
5337 ::google::protobuf::internal::TSanWrite(&_impl_);
5338 _impl_.reduce_vehicle_cost_model_ = false;
5339 ClearHasBit(_impl_._has_bits_[0],
5340 0x00000002U);
5341}
5343 // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
5344 return _internal_reduce_vehicle_cost_model();
5345}
5347 _internal_set_reduce_vehicle_cost_model(value);
5348 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
5349 // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
5350}
5351inline bool RoutingModelParameters::_internal_reduce_vehicle_cost_model() const {
5352 ::google::protobuf::internal::TSanRead(&_impl_);
5353 return _impl_.reduce_vehicle_cost_model_;
5354}
5355inline void RoutingModelParameters::_internal_set_reduce_vehicle_cost_model(bool value) {
5356 ::google::protobuf::internal::TSanWrite(&_impl_);
5357 _impl_.reduce_vehicle_cost_model_ = value;
5358}
5359
5360// int32 max_callback_cache_size = 3;
5362 ::google::protobuf::internal::TSanWrite(&_impl_);
5363 _impl_.max_callback_cache_size_ = 0;
5364 ClearHasBit(_impl_._has_bits_[0],
5365 0x00000004U);
5366}
5367inline ::int32_t RoutingModelParameters::max_callback_cache_size() const {
5368 // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.max_callback_cache_size)
5369 return _internal_max_callback_cache_size();
5370}
5371inline void RoutingModelParameters::set_max_callback_cache_size(::int32_t value) {
5372 _internal_set_max_callback_cache_size(value);
5373 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
5374 // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.max_callback_cache_size)
5375}
5376inline ::int32_t RoutingModelParameters::_internal_max_callback_cache_size() const {
5377 ::google::protobuf::internal::TSanRead(&_impl_);
5378 return _impl_.max_callback_cache_size_;
5379}
5380inline void RoutingModelParameters::_internal_set_max_callback_cache_size(::int32_t value) {
5381 ::google::protobuf::internal::TSanWrite(&_impl_);
5382 _impl_.max_callback_cache_size_ = value;
5383}
5384
5385#ifdef __GNUC__
5386#pragma GCC diagnostic pop
5387#endif // __GNUC__
5388
5389// @@protoc_insertion_point(namespace_scope)
5390} // namespace operations_research
5391
5392
5393namespace google {
5394namespace protobuf {
5395
5396template <>
5397struct is_proto_enum<::operations_research::RoutingSearchParameters_SchedulingSolver> : std::true_type {};
5398template <>
5399inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::RoutingSearchParameters_SchedulingSolver>() {
5400 return ::operations_research::RoutingSearchParameters_SchedulingSolver_descriptor();
5401}
5402
5403} // namespace protobuf
5404} // namespace google
5405
5406// @@protoc_insertion_point(global_scope)
5407
5408#include "google/protobuf/port_undef.inc"
5409
5410#endif // ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto_2epb_2eh
static const RoutingModelParameters & default_instance()
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void CopyFrom(const RoutingModelParameters &from)
RoutingModelParameters & operator=(const RoutingModelParameters &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
friend void swap(RoutingModelParameters &a, RoutingModelParameters &b)
void MergeFrom(const RoutingModelParameters &from)
const ::operations_research::ConstraintSolverParameters & solver_parameters() const
::operations_research::ConstraintSolverParameters *PROTOBUF_NULLABLE release_solver_parameters()
void unsafe_arena_set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *PROTOBUF_NULLABLE value)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::operations_research::ConstraintSolverParameters *PROTOBUF_NONNULL mutable_solver_parameters()
void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *PROTOBUF_NULLABLE value)
PROTOBUF_CONSTEXPR RoutingModelParameters(::google::protobuf::internal::ConstantInitialized)
void Swap(RoutingModelParameters *PROTOBUF_NONNULL other)
::operations_research::ConstraintSolverParameters *PROTOBUF_NULLABLE unsafe_arena_release_solver_parameters()
void CopyFrom(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
PROTOBUF_CONSTEXPR RoutingSearchParameters_ImprovementSearchLimitParameters(::google::protobuf::internal::ConstantInitialized)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
void Swap(RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NONNULL other)
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
static const RoutingSearchParameters_ImprovementSearchLimitParameters & default_instance()
RoutingSearchParameters_ImprovementSearchLimitParameters & operator=(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
::operations_research::OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed() const
void set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value)
void set_use_global_cheapest_insertion_visit_types_lns(::operations_research::OptionalBoolean value)
void set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_local_cheapest_insertion_visit_types_lns() const
::operations_research::OptionalBoolean use_local_cheapest_insertion_close_nodes_lns() const
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void set_use_exchange_path_start_ends_and_make_active(::operations_research::OptionalBoolean value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
::operations_research::OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns() const
void set_use_relocate_and_make_active(::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)
void set_use_exchange_and_make_active(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns() const
::operations_research::OptionalBoolean use_exchange_path_start_ends_and_make_active() const
void set_use_shortest_path_two_opt(::operations_research::OptionalBoolean value)
void set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value)
PROTOBUF_CONSTEXPR RoutingSearchParameters_LocalSearchNeighborhoodOperators(::google::protobuf::internal::ConstantInitialized)
void CopyFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void set_use_shortest_path_swap_active(::operations_research::OptionalBoolean value)
void set_use_node_pair_swap_active(::operations_research::OptionalBoolean value)
void Swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NONNULL other)
void set_use_local_cheapest_insertion_visit_types_lns(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_global_cheapest_insertion_visit_types_lns() const
void set_use_local_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_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value)
void set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value)
void CopyFrom(const RoutingSearchParameters &from)
void set_use_cp_sat(::operations_research::OptionalBoolean value)
const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators & local_search_operators() const
void unsafe_arena_set_allocated_sat_parameters(::operations_research::sat::SatParameters *PROTOBUF_NULLABLE value)
::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NONNULL mutable_local_cheapest_cost_insertion_parameters()
RoutingSearchParameters & operator=(const RoutingSearchParameters &from)
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SchedulingSolver_descriptor()
void set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NULLABLE value)
void set_local_search_metaheuristics(int index, ::operations_research::LocalSearchMetaheuristic_Value value)
void unsafe_arena_set_allocated_global_cheapest_insertion_ls_operator_parameters(::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
const ::operations_research::GlobalCheapestInsertionParameters & global_cheapest_insertion_ls_operator_parameters() const
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NULLABLE unsafe_arena_release_local_search_operators()
void set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
static constexpr SchedulingSolver SchedulingSolver_MIN
void set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value)
void unsafe_arena_set_allocated_time_limit(::google::protobuf::Duration *PROTOBUF_NULLABLE value)
::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE release_local_cheapest_insertion_parameters()
const ::operations_research::LocalCheapestInsertionParameters & local_cheapest_insertion_parameters() const
::operations_research::sat::SatParameters *PROTOBUF_NONNULL mutable_sat_parameters()
::operations_research::SavingsParameters *PROTOBUF_NONNULL mutable_savings_parameters()
::operations_research::sat::SatParameters *PROTOBUF_NULLABLE unsafe_arena_release_sat_parameters()
::google::protobuf::Duration *PROTOBUF_NULLABLE release_lns_time_limit()
const ::operations_research::sat::SatParameters & sat_parameters() const
void unsafe_arena_set_allocated_global_cheapest_insertion_first_solution_parameters(::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
void unsafe_arena_set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NULLABLE value)
void set_allocated_savings_parameters(::operations_research::SavingsParameters *PROTOBUF_NULLABLE value)
void set_allocated_global_cheapest_insertion_first_solution_parameters(::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
::operations_research::SavingsParameters *PROTOBUF_NULLABLE unsafe_arena_release_savings_parameters()
const ::operations_research::LocalCheapestInsertionParameters & local_cheapest_cost_insertion_parameters() const
const ::operations_research::GlobalCheapestInsertionParameters & global_cheapest_insertion_first_solution_parameters() const
::google::protobuf::Duration *PROTOBUF_NULLABLE release_time_limit()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void set_allocated_log_tag(::std::string *PROTOBUF_NULLABLE value)
void set_allocated_global_cheapest_insertion_ls_operator_parameters(::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NULLABLE release_local_search_operators()
void set_allocated_local_cheapest_insertion_parameters(::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
void unsafe_arena_set_allocated_local_cheapest_cost_insertion_parameters(::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
::operations_research::LocalSearchMetaheuristic_Value local_search_metaheuristic() const
::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NONNULL mutable_local_cheapest_insertion_parameters()
void set_allocated_lns_time_limit(::google::protobuf::Duration *PROTOBUF_NULLABLE value)
RoutingSearchParameters_SchedulingSolver SchedulingSolver
const ::google::protobuf::Duration & time_limit() const
void set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
void set_log_tag(Arg_ &&arg, Args_... args)
::operations_research::OptionalBoolean use_cp_sat() const
::google::protobuf::RepeatedField< int > *PROTOBUF_NONNULL mutable_local_search_metaheuristics()
::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE unsafe_arena_release_local_cheapest_cost_insertion_parameters()
void unsafe_arena_set_allocated_iterated_local_search_parameters(::operations_research::IteratedLocalSearchParameters *PROTOBUF_NULLABLE value)
void set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value)
void set_heuristic_expensive_chain_lns_num_arcs_to_consider(::int32_t value)
::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE release_local_cheapest_cost_insertion_parameters()
static constexpr SchedulingSolver SchedulingSolver_MAX
void set_allocated_time_limit(::google::protobuf::Duration *PROTOBUF_NULLABLE value)
::operations_research::LocalSearchMetaheuristic_Value local_search_metaheuristics(int index) const
::google::protobuf::Duration *PROTOBUF_NONNULL mutable_lns_time_limit()
::operations_research::RoutingSearchParameters_SchedulingSolver mixed_integer_scheduling_solver() const
::operations_research::sat::SatParameters *PROTOBUF_NULLABLE release_sat_parameters()
const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters & improvement_limit_parameters() const
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NONNULL mutable_improvement_limit_parameters()
const ::google::protobuf::RepeatedField< int > & local_search_metaheuristics() const
::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE unsafe_arena_release_local_cheapest_insertion_parameters()
::std::string *PROTOBUF_NULLABLE release_log_tag()
void set_allocated_local_cheapest_cost_insertion_parameters(::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NONNULL mutable_global_cheapest_insertion_first_solution_parameters()
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE release_global_cheapest_insertion_ls_operator_parameters()
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE unsafe_arena_release_global_cheapest_insertion_ls_operator_parameters()
void MergeFrom(const RoutingSearchParameters &from)
void unsafe_arena_set_allocated_lns_time_limit(::google::protobuf::Duration *PROTOBUF_NULLABLE value)
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NULLABLE unsafe_arena_release_improvement_limit_parameters()
void set_relocate_expensive_chain_num_arcs_to_consider(::int32_t value)
::google::protobuf::Duration *PROTOBUF_NULLABLE unsafe_arena_release_time_limit()
const ::operations_research::IteratedLocalSearchParameters & iterated_local_search_parameters() const
const ::operations_research::SavingsParameters & savings_parameters() const
void unsafe_arena_set_allocated_savings_parameters(::operations_research::SavingsParameters *PROTOBUF_NULLABLE value)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE release_global_cheapest_insertion_first_solution_parameters()
void set_allocated_iterated_local_search_parameters(::operations_research::IteratedLocalSearchParameters *PROTOBUF_NULLABLE value)
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NONNULL mutable_local_search_operators()
RoutingSearchParameters *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NULLABLE value)
::operations_research::RoutingSearchParameters_SchedulingSolver continuous_scheduling_solver() const
::operations_research::OptionalBoolean use_cp() const
::operations_research::OptionalBoolean use_generalized_cp_sat() const
void set_num_max_local_optima_before_metaheuristic_switch(::int32_t value)
void Swap(RoutingSearchParameters *PROTOBUF_NONNULL other)
::operations_research::IteratedLocalSearchParameters *PROTOBUF_NULLABLE release_iterated_local_search_parameters()
::operations_research::IteratedLocalSearchParameters *PROTOBUF_NONNULL mutable_iterated_local_search_parameters()
::operations_research::IteratedLocalSearchParameters *PROTOBUF_NULLABLE unsafe_arena_release_iterated_local_search_parameters()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::google::protobuf::Duration *PROTOBUF_NULLABLE unsafe_arena_release_lns_time_limit()
::google::protobuf::Duration *PROTOBUF_NONNULL mutable_time_limit()
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE unsafe_arena_release_global_cheapest_insertion_first_solution_parameters()
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NONNULL mutable_global_cheapest_insertion_ls_operator_parameters()
void set_multi_armed_bandit_compound_operator_memory_coefficient(double value)
static constexpr SchedulingSolver SCHEDULING_CP_SAT
friend void swap(RoutingSearchParameters &a, RoutingSearchParameters &b)
void set_multi_armed_bandit_compound_operator_exploration_coefficient(double value)
::std::string *PROTOBUF_NONNULL mutable_log_tag()
void add_local_search_metaheuristics(::operations_research::LocalSearchMetaheuristic_Value value)
void set_allocated_sat_parameters(::operations_research::sat::SatParameters *PROTOBUF_NULLABLE value)
void set_use_cp(::operations_research::OptionalBoolean value)
void unsafe_arena_set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NULLABLE value)
::operations_research::FirstSolutionStrategy_Value first_solution_strategy() const
void unsafe_arena_set_allocated_local_cheapest_insertion_parameters(::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NULLABLE release_improvement_limit_parameters()
void set_use_generalized_cp_sat(::operations_research::OptionalBoolean value)
const ::google::protobuf::Duration & lns_time_limit() const
static const ::std::string & SchedulingSolver_Name(T value)
::operations_research::SavingsParameters *PROTOBUF_NULLABLE release_savings_parameters()
::absl::string_view GetAnyMessageName()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::RoutingSearchParameters_SchedulingSolver >()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SatParametersDefaultTypeInternal _SatParameters_default_instance_
OR-Tools root namespace.
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutingModelParameters_class_data_
constexpr RoutingSearchParameters_SchedulingSolver RoutingSearchParameters_SchedulingSolver_SchedulingSolver_MIN
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IteratedLocalSearchParametersDefaultTypeInternal _IteratedLocalSearchParameters_default_instance_
PROTOBUF_CONSTINIT const uint32_t RoutingSearchParameters_SchedulingSolver_internal_data_[]
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GlobalCheapestInsertionParametersDefaultTypeInternal _GlobalCheapestInsertionParameters_default_instance_
bool RoutingSearchParameters_SchedulingSolver_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ConstraintSolverParametersDefaultTypeInternal _ConstraintSolverParameters_default_instance_
constexpr int RoutingSearchParameters_SchedulingSolver_SchedulingSolver_ARRAYSIZE
@ RoutingSearchParameters_SchedulingSolver_SCHEDULING_GLOP
@ RoutingSearchParameters_SchedulingSolver_SCHEDULING_CP_SAT
@ RoutingSearchParameters_SchedulingSolver_SCHEDULING_UNSET
@ 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 OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_
bool RoutingSearchParameters_SchedulingSolver_Parse(::absl::string_view name, RoutingSearchParameters_SchedulingSolver *PROTOBUF_NONNULL value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SavingsParametersDefaultTypeInternal _SavingsParameters_default_instance_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL RoutingSearchParameters_SchedulingSolver_descriptor()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutingSearchParameters_ImprovementSearchLimitParameters_class_data_
const ::std::string & RoutingSearchParameters_SchedulingSolver_Name(T value)
constexpr RoutingSearchParameters_SchedulingSolver RoutingSearchParameters_SchedulingSolver_SchedulingSolver_MAX
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutingSearchParameters_LocalSearchNeighborhoodOperators_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LocalCheapestInsertionParametersDefaultTypeInternal _LocalCheapestInsertionParameters_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutingSearchParameters_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutingSearchParameters_ImprovementSearchLimitParametersDefaultTypeInternal _RoutingSearchParameters_ImprovementSearchLimitParameters_default_instance_
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto