Google OR-Tools v9.14
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.31.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 != 6031001
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"
39// @@protoc_insertion_point(includes)
40
41// Must be included last.
42#include "google/protobuf/port_def.inc"
43
44#define PROTOBUF_INTERNAL_EXPORT_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto OR_PROTO_DLL
45
46namespace google {
47namespace protobuf {
48namespace internal {
49template <typename T>
50::absl::string_view GetAnyMessageName();
51} // namespace internal
52} // namespace protobuf
53} // namespace google
54
55// Internal implementation detail -- do not use these members.
59extern "C" {
60OR_PROTO_DLL extern const ::google::protobuf::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
61} // extern "C"
62namespace operations_research {
66OR_PROTO_DLL extern const uint32_t RoutingSearchParameters_PairInsertionStrategy_internal_data_[];
68OR_PROTO_DLL extern const uint32_t RoutingSearchParameters_SchedulingSolver_internal_data_[];
72OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingModelParameters_class_data_;
76OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingSearchParameters_class_data_;
80OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingSearchParameters_ImprovementSearchLimitParameters_class_data_;
84OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingSearchParameters_LocalSearchNeighborhoodOperators_class_data_;
85} // namespace operations_research
86namespace google {
87namespace protobuf {
88template <>
89internal::EnumTraitsT<::operations_research::RoutingSearchParameters_InsertionSortingProperty_internal_data_>
90 internal::EnumTraitsImpl::value<::operations_research::RoutingSearchParameters_InsertionSortingProperty>;
91template <>
92internal::EnumTraitsT<::operations_research::RoutingSearchParameters_PairInsertionStrategy_internal_data_>
93 internal::EnumTraitsImpl::value<::operations_research::RoutingSearchParameters_PairInsertionStrategy>;
94template <>
95internal::EnumTraitsT<::operations_research::RoutingSearchParameters_SchedulingSolver_internal_data_>
96 internal::EnumTraitsImpl::value<::operations_research::RoutingSearchParameters_SchedulingSolver>;
97} // namespace protobuf
98} // namespace google
99
100namespace operations_research {
111
112OR_PROTO_DLL extern const uint32_t RoutingSearchParameters_PairInsertionStrategy_internal_data_[];
118 return 0 <= value && value <= 3;
119}
121OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL RoutingSearchParameters_PairInsertionStrategy_descriptor();
122template <typename T>
124 static_assert(::std::is_same<T, RoutingSearchParameters_PairInsertionStrategy>::value ||
125 ::std::is_integral<T>::value,
126 "Incorrect type passed to PairInsertionStrategy_Name().");
128}
129template <>
131 return ::google::protobuf::internal::NameOfDenseEnum<RoutingSearchParameters_PairInsertionStrategy_descriptor, 0, 3>(
132 static_cast<int>(value));
133}
135 ::absl::string_view name, RoutingSearchParameters_PairInsertionStrategy* PROTOBUF_NONNULL value) {
136 return ::google::protobuf::internal::ParseNamedEnum<RoutingSearchParameters_PairInsertionStrategy>(RoutingSearchParameters_PairInsertionStrategy_descriptor(), name,
137 value);
138}
154
155OR_PROTO_DLL extern const uint32_t RoutingSearchParameters_InsertionSortingProperty_internal_data_[];
161 return 0 <= value && value <= 8;
162}
164OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL RoutingSearchParameters_InsertionSortingProperty_descriptor();
165template <typename T>
167 static_assert(::std::is_same<T, RoutingSearchParameters_InsertionSortingProperty>::value ||
168 ::std::is_integral<T>::value,
169 "Incorrect type passed to InsertionSortingProperty_Name().");
171}
172template <>
174 return ::google::protobuf::internal::NameOfDenseEnum<RoutingSearchParameters_InsertionSortingProperty_descriptor, 0, 8>(
175 static_cast<int>(value));
176}
178 ::absl::string_view name, RoutingSearchParameters_InsertionSortingProperty* PROTOBUF_NONNULL value) {
179 return ::google::protobuf::internal::ParseNamedEnum<RoutingSearchParameters_InsertionSortingProperty>(RoutingSearchParameters_InsertionSortingProperty_descriptor(), name,
180 value);
181}
191
192OR_PROTO_DLL extern const uint32_t RoutingSearchParameters_SchedulingSolver_internal_data_[];
198 return 0 <= value && value <= 2;
199}
201OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL RoutingSearchParameters_SchedulingSolver_descriptor();
202template <typename T>
204 static_assert(::std::is_same<T, RoutingSearchParameters_SchedulingSolver>::value ||
205 ::std::is_integral<T>::value,
206 "Incorrect type passed to SchedulingSolver_Name().");
208}
209template <>
211 return ::google::protobuf::internal::NameOfDenseEnum<RoutingSearchParameters_SchedulingSolver_descriptor, 0, 2>(
212 static_cast<int>(value));
213}
215 ::absl::string_view name, RoutingSearchParameters_SchedulingSolver* PROTOBUF_NONNULL value) {
216 return ::google::protobuf::internal::ParseNamedEnum<RoutingSearchParameters_SchedulingSolver>(RoutingSearchParameters_SchedulingSolver_descriptor(), name,
217 value);
218}
219
220// ===================================================================
221
222
223// -------------------------------------------------------------------
224
225class OR_PROTO_DLL RoutingSearchParameters_LocalSearchNeighborhoodOperators final : public ::google::protobuf::Message
226/* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators) */ {
227 public:
231#if defined(PROTOBUF_CUSTOM_VTABLE)
232 void operator delete(RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
233 SharedDtor(*msg);
234 ::google::protobuf::internal::SizedDelete(msg, sizeof(RoutingSearchParameters_LocalSearchNeighborhoodOperators));
235 }
236#endif
237
238 template <typename = void>
239 explicit PROTOBUF_CONSTEXPR RoutingSearchParameters_LocalSearchNeighborhoodOperators(::google::protobuf::internal::ConstantInitialized);
240
246 return *this;
247 }
249 if (this == &from) return *this;
250 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
251 InternalSwap(&from);
252 } else {
253 CopyFrom(from);
254 }
255 return *this;
256 }
257
258 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
259 ABSL_ATTRIBUTE_LIFETIME_BOUND {
260 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
261 }
262 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
263 ABSL_ATTRIBUTE_LIFETIME_BOUND {
264 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
265 }
266
267 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
268 return GetDescriptor();
270 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
271 return default_instance().GetMetadata().descriptor;
273 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
274 return default_instance().GetMetadata().reflection;
276 static const RoutingSearchParameters_LocalSearchNeighborhoodOperators& default_instance() {
277 return *reinterpret_cast<const RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(
283 if (other == this) return;
284 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
285 InternalSwap(other);
286 } else {
287 ::google::protobuf::internal::GenericSwap(this, other);
288 }
289 }
290 void UnsafeArenaSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL other) {
291 if (other == this) return;
292 ABSL_DCHECK(GetArena() == other->GetArena());
293 InternalSwap(other);
294 }
295
296 // implements Message ----------------------------------------------
297
298 RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
299 return ::google::protobuf::Message::DefaultConstruct<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(arena);
301 using ::google::protobuf::Message::CopyFrom;
303 using ::google::protobuf::Message::MergeFrom;
304 void MergeFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from) { RoutingSearchParameters_LocalSearchNeighborhoodOperators::MergeImpl(*this, from); }
305
306 private:
307 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
308 const ::google::protobuf::MessageLite& from_msg);
309
310 public:
311 bool IsInitialized() const {
312 return true;
314 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
315 #if defined(PROTOBUF_CUSTOM_VTABLE)
316 private:
317 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
318 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
319 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
320 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
321
322 public:
323 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
324 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
325 ::uint8_t* PROTOBUF_NONNULL target,
326 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
327 return _InternalSerialize(*this, target, stream);
328 }
329 #else // PROTOBUF_CUSTOM_VTABLE
330 ::size_t ByteSizeLong() const final;
331 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
332 ::uint8_t* PROTOBUF_NONNULL target,
333 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
334 #endif // PROTOBUF_CUSTOM_VTABLE
335 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
336
337 private:
338 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
339 static void SharedDtor(MessageLite& self);
340 void InternalSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL other);
341 private:
342 template <typename T>
343 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
344 static ::absl::string_view FullMessageName() { return "operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators"; }
345
346 protected:
347 explicit RoutingSearchParameters_LocalSearchNeighborhoodOperators(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
350 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoutingSearchParameters_LocalSearchNeighborhoodOperators&& from) noexcept
352 *this = ::std::move(from);
353 }
354 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
355 static void* PROTOBUF_NONNULL PlacementNew_(
356 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
357 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
358 static constexpr auto InternalNewImpl_();
359
360 public:
361 static constexpr auto InternalGenerateClassData_();
362
363 ::google::protobuf::Metadata GetMetadata() const;
364 // nested types ----------------------------------------------------
365
366 // accessors -------------------------------------------------------
367 enum : int {
368 kUseRelocateFieldNumber = 1,
369 kUseRelocatePairFieldNumber = 2,
406 };
407 // .operations_research.OptionalBoolean use_relocate = 1;
408 void clear_use_relocate() ;
411
412 private:
413 ::operations_research::OptionalBoolean _internal_use_relocate() const;
414 void _internal_set_use_relocate(::operations_research::OptionalBoolean value);
415
416 public:
417 // .operations_research.OptionalBoolean use_relocate_pair = 2;
421
422 private:
423 ::operations_research::OptionalBoolean _internal_use_relocate_pair() const;
424 void _internal_set_use_relocate_pair(::operations_research::OptionalBoolean value);
425
426 public:
427 // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
431
432 private:
433 ::operations_research::OptionalBoolean _internal_use_relocate_neighbors() const;
434 void _internal_set_use_relocate_neighbors(::operations_research::OptionalBoolean value);
435
436 public:
437 // .operations_research.OptionalBoolean use_exchange = 4;
438 void clear_use_exchange() ;
441
442 private:
443 ::operations_research::OptionalBoolean _internal_use_exchange() const;
444 void _internal_set_use_exchange(::operations_research::OptionalBoolean value);
445
446 public:
447 // .operations_research.OptionalBoolean use_cross = 5;
448 void clear_use_cross() ;
451
452 private:
453 ::operations_research::OptionalBoolean _internal_use_cross() const;
454 void _internal_set_use_cross(::operations_research::OptionalBoolean value);
455
456 public:
457 // .operations_research.OptionalBoolean use_cross_exchange = 6;
461
462 private:
463 ::operations_research::OptionalBoolean _internal_use_cross_exchange() const;
464 void _internal_set_use_cross_exchange(::operations_research::OptionalBoolean value);
465
466 public:
467 // .operations_research.OptionalBoolean use_two_opt = 7;
468 void clear_use_two_opt() ;
471
472 private:
473 ::operations_research::OptionalBoolean _internal_use_two_opt() const;
474 void _internal_set_use_two_opt(::operations_research::OptionalBoolean value);
475
476 public:
477 // .operations_research.OptionalBoolean use_or_opt = 8;
478 void clear_use_or_opt() ;
481
482 private:
483 ::operations_research::OptionalBoolean _internal_use_or_opt() const;
484 void _internal_set_use_or_opt(::operations_research::OptionalBoolean value);
485
486 public:
487 // .operations_research.OptionalBoolean use_lin_kernighan = 9;
491
492 private:
493 ::operations_research::OptionalBoolean _internal_use_lin_kernighan() const;
494 void _internal_set_use_lin_kernighan(::operations_research::OptionalBoolean value);
495
496 public:
497 // .operations_research.OptionalBoolean use_tsp_opt = 10;
498 void clear_use_tsp_opt() ;
501
502 private:
503 ::operations_research::OptionalBoolean _internal_use_tsp_opt() const;
504 void _internal_set_use_tsp_opt(::operations_research::OptionalBoolean value);
505
506 public:
507 // .operations_research.OptionalBoolean use_make_active = 11;
508 void clear_use_make_active() ;
511
512 private:
513 ::operations_research::OptionalBoolean _internal_use_make_active() const;
514 void _internal_set_use_make_active(::operations_research::OptionalBoolean value);
515
516 public:
517 // .operations_research.OptionalBoolean use_make_inactive = 12;
521
522 private:
523 ::operations_research::OptionalBoolean _internal_use_make_inactive() const;
524 void _internal_set_use_make_inactive(::operations_research::OptionalBoolean value);
525
526 public:
527 // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
531
532 private:
533 ::operations_research::OptionalBoolean _internal_use_make_chain_inactive() const;
534 void _internal_set_use_make_chain_inactive(::operations_research::OptionalBoolean value);
535
536 public:
537 // .operations_research.OptionalBoolean use_swap_active = 14;
538 void clear_use_swap_active() ;
541
542 private:
543 ::operations_research::OptionalBoolean _internal_use_swap_active() const;
544 void _internal_set_use_swap_active(::operations_research::OptionalBoolean value);
545
546 public:
547 // .operations_research.OptionalBoolean use_extended_swap_active = 15;
551
552 private:
553 ::operations_research::OptionalBoolean _internal_use_extended_swap_active() const;
554 void _internal_set_use_extended_swap_active(::operations_research::OptionalBoolean value);
555
556 public:
557 // .operations_research.OptionalBoolean use_path_lns = 16;
558 void clear_use_path_lns() ;
561
562 private:
563 ::operations_research::OptionalBoolean _internal_use_path_lns() const;
564 void _internal_set_use_path_lns(::operations_research::OptionalBoolean value);
565
566 public:
567 // .operations_research.OptionalBoolean use_full_path_lns = 17;
571
572 private:
573 ::operations_research::OptionalBoolean _internal_use_full_path_lns() const;
574 void _internal_set_use_full_path_lns(::operations_research::OptionalBoolean value);
575
576 public:
577 // .operations_research.OptionalBoolean use_tsp_lns = 18;
578 void clear_use_tsp_lns() ;
581
582 private:
583 ::operations_research::OptionalBoolean _internal_use_tsp_lns() const;
584 void _internal_set_use_tsp_lns(::operations_research::OptionalBoolean value);
585
586 public:
587 // .operations_research.OptionalBoolean use_inactive_lns = 19;
591
592 private:
593 ::operations_research::OptionalBoolean _internal_use_inactive_lns() const;
594 void _internal_set_use_inactive_lns(::operations_research::OptionalBoolean value);
595
596 public:
597 // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
601
602 private:
603 ::operations_research::OptionalBoolean _internal_use_node_pair_swap_active() const;
604 void _internal_set_use_node_pair_swap_active(::operations_research::OptionalBoolean value);
605
606 public:
607 // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
611
612 private:
613 ::operations_research::OptionalBoolean _internal_use_relocate_and_make_active() const;
614 void _internal_set_use_relocate_and_make_active(::operations_research::OptionalBoolean value);
615
616 public:
617 // .operations_research.OptionalBoolean use_exchange_pair = 22;
621
622 private:
623 ::operations_research::OptionalBoolean _internal_use_exchange_pair() const;
624 void _internal_set_use_exchange_pair(::operations_research::OptionalBoolean value);
625
626 public:
627 // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
631
632 private:
633 ::operations_research::OptionalBoolean _internal_use_relocate_expensive_chain() const;
634 void _internal_set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value);
635
636 public:
637 // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
641
642 private:
643 ::operations_research::OptionalBoolean _internal_use_light_relocate_pair() const;
644 void _internal_set_use_light_relocate_pair(::operations_research::OptionalBoolean value);
645
646 public:
647 // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
651
652 private:
653 ::operations_research::OptionalBoolean _internal_use_relocate_subtrip() const;
654 void _internal_set_use_relocate_subtrip(::operations_research::OptionalBoolean value);
655
656 public:
657 // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
661
662 private:
663 ::operations_research::OptionalBoolean _internal_use_exchange_subtrip() const;
664 void _internal_set_use_exchange_subtrip(::operations_research::OptionalBoolean value);
665
666 public:
667 // .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
671
672 private:
673 ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_path_lns() const;
674 void _internal_set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
675
676 public:
677 // .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
681
682 private:
683 ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_path_lns() const;
684 void _internal_set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value);
685
686 public:
687 // .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
691
692 private:
693 ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_expensive_chain_lns() const;
694 void _internal_set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
695
696 public:
697 // .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
701
702 private:
703 ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_expensive_chain_lns() const;
704 void _internal_set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value);
705
706 public:
707 // .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
711
712 private:
713 ::operations_research::OptionalBoolean _internal_use_global_cheapest_insertion_close_nodes_lns() const;
714 void _internal_set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value);
715
716 public:
717 // .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
721
722 private:
723 ::operations_research::OptionalBoolean _internal_use_local_cheapest_insertion_close_nodes_lns() const;
724 void _internal_set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value);
725
726 public:
727 // .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
731
732 private:
733 ::operations_research::OptionalBoolean _internal_use_relocate_path_global_cheapest_insertion_insert_unperformed() const;
734 void _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value);
735
736 public:
737 // .operations_research.OptionalBoolean use_shortest_path_swap_active = 34;
741
742 private:
743 ::operations_research::OptionalBoolean _internal_use_shortest_path_swap_active() const;
744 void _internal_set_use_shortest_path_swap_active(::operations_research::OptionalBoolean value);
745
746 public:
747 // .operations_research.OptionalBoolean use_swap_active_chain = 35;
751
752 private:
753 ::operations_research::OptionalBoolean _internal_use_swap_active_chain() const;
754 void _internal_set_use_swap_active_chain(::operations_research::OptionalBoolean value);
755
756 public:
757 // .operations_research.OptionalBoolean use_shortest_path_two_opt = 36;
761
762 private:
763 ::operations_research::OptionalBoolean _internal_use_shortest_path_two_opt() const;
764 void _internal_set_use_shortest_path_two_opt(::operations_research::OptionalBoolean value);
765
766 public:
767 // .operations_research.OptionalBoolean use_exchange_and_make_active = 37;
771
772 private:
773 ::operations_research::OptionalBoolean _internal_use_exchange_and_make_active() const;
774 void _internal_set_use_exchange_and_make_active(::operations_research::OptionalBoolean value);
775
776 public:
777 // .operations_research.OptionalBoolean use_exchange_path_start_ends_and_make_active = 38;
781
782 private:
783 ::operations_research::OptionalBoolean _internal_use_exchange_path_start_ends_and_make_active() const;
784 void _internal_set_use_exchange_path_start_ends_and_make_active(::operations_research::OptionalBoolean value);
785
786 public:
787 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
788 private:
789 class _Internal;
790 friend class ::google::protobuf::internal::TcParser;
791 static const ::google::protobuf::internal::TcParseTable<5, 38,
792 0, 0,
793 7>
794 _table_;
795
796 friend class ::google::protobuf::MessageLite;
797 friend class ::google::protobuf::Arena;
798 template <typename T>
799 friend class ::google::protobuf::Arena::InternalHelper;
800 using InternalArenaConstructable_ = void;
801 using DestructorSkippable_ = void;
802 struct Impl_ {
803 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
804 inline explicit Impl_(
805 ::google::protobuf::internal::InternalVisibility visibility,
806 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
807 inline explicit Impl_(
808 ::google::protobuf::internal::InternalVisibility visibility,
809 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
811 ::google::protobuf::internal::HasBits<2> _has_bits_;
812 ::google::protobuf::internal::CachedSize _cached_size_;
813 int use_relocate_;
814 int use_relocate_pair_;
815 int use_relocate_neighbors_;
816 int use_exchange_;
817 int use_cross_;
818 int use_cross_exchange_;
819 int use_two_opt_;
820 int use_or_opt_;
821 int use_lin_kernighan_;
822 int use_tsp_opt_;
823 int use_make_active_;
824 int use_make_inactive_;
825 int use_make_chain_inactive_;
826 int use_swap_active_;
827 int use_extended_swap_active_;
828 int use_path_lns_;
829 int use_full_path_lns_;
830 int use_tsp_lns_;
831 int use_inactive_lns_;
832 int use_node_pair_swap_active_;
833 int use_relocate_and_make_active_;
834 int use_exchange_pair_;
835 int use_relocate_expensive_chain_;
836 int use_light_relocate_pair_;
837 int use_relocate_subtrip_;
838 int use_exchange_subtrip_;
839 int use_global_cheapest_insertion_path_lns_;
840 int use_local_cheapest_insertion_path_lns_;
841 int use_global_cheapest_insertion_expensive_chain_lns_;
842 int use_local_cheapest_insertion_expensive_chain_lns_;
843 int use_global_cheapest_insertion_close_nodes_lns_;
844 int use_local_cheapest_insertion_close_nodes_lns_;
845 int use_relocate_path_global_cheapest_insertion_insert_unperformed_;
846 int use_shortest_path_swap_active_;
847 int use_swap_active_chain_;
848 int use_shortest_path_two_opt_;
849 int use_exchange_and_make_active_;
850 int use_exchange_path_start_ends_and_make_active_;
851 PROTOBUF_TSAN_DECLARE_MEMBER
852 };
853 union { Impl_ _impl_; };
854 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
857OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingSearchParameters_LocalSearchNeighborhoodOperators_class_data_;
858// -------------------------------------------------------------------
859
860class OR_PROTO_DLL RoutingSearchParameters_ImprovementSearchLimitParameters final : public ::google::protobuf::Message
861/* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters) */ {
862 public:
865
866#if defined(PROTOBUF_CUSTOM_VTABLE)
867 void operator delete(RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
868 SharedDtor(*msg);
869 ::google::protobuf::internal::SizedDelete(msg, sizeof(RoutingSearchParameters_ImprovementSearchLimitParameters));
870 }
871#endif
872
873 template <typename = void>
874 explicit PROTOBUF_CONSTEXPR RoutingSearchParameters_ImprovementSearchLimitParameters(::google::protobuf::internal::ConstantInitialized);
875
878 : RoutingSearchParameters_ImprovementSearchLimitParameters(nullptr, ::std::move(from)) {}
880 CopyFrom(from);
881 return *this;
884 if (this == &from) return *this;
885 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
886 InternalSwap(&from);
887 } else {
888 CopyFrom(from);
889 }
890 return *this;
891 }
892
893 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
894 ABSL_ATTRIBUTE_LIFETIME_BOUND {
895 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
897 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
898 ABSL_ATTRIBUTE_LIFETIME_BOUND {
899 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
901
902 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
903 return GetDescriptor();
904 }
905 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
906 return default_instance().GetMetadata().descriptor;
907 }
908 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
909 return default_instance().GetMetadata().reflection;
910 }
915 static constexpr int kIndexInFileMessages = 1;
917 inline void Swap(RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL other) {
918 if (other == this) return;
919 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
920 InternalSwap(other);
921 } else {
922 ::google::protobuf::internal::GenericSwap(this, other);
923 }
924 }
925 void UnsafeArenaSwap(RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL other) {
926 if (other == this) return;
927 ABSL_DCHECK(GetArena() == other->GetArena());
928 InternalSwap(other);
929 }
930
931 // implements Message ----------------------------------------------
932
933 RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
934 return ::google::protobuf::Message::DefaultConstruct<RoutingSearchParameters_ImprovementSearchLimitParameters>(arena);
935 }
936 using ::google::protobuf::Message::CopyFrom;
938 using ::google::protobuf::Message::MergeFrom;
939 void MergeFrom(const RoutingSearchParameters_ImprovementSearchLimitParameters& from) { RoutingSearchParameters_ImprovementSearchLimitParameters::MergeImpl(*this, from); }
940
941 private:
942 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
943 const ::google::protobuf::MessageLite& from_msg);
944
945 public:
946 bool IsInitialized() const {
947 return true;
948 }
949 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
950 #if defined(PROTOBUF_CUSTOM_VTABLE)
951 private:
952 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
953 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
954 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
955 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
956
957 public:
958 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
959 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
960 ::uint8_t* PROTOBUF_NONNULL target,
961 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
962 return _InternalSerialize(*this, target, stream);
963 }
964 #else // PROTOBUF_CUSTOM_VTABLE
965 ::size_t ByteSizeLong() const final;
966 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
967 ::uint8_t* PROTOBUF_NONNULL target,
968 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
969 #endif // PROTOBUF_CUSTOM_VTABLE
970 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
971
972 private:
973 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
974 static void SharedDtor(MessageLite& self);
975 void InternalSwap(RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL other);
976 private:
977 template <typename T>
978 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
979 static ::absl::string_view FullMessageName() { return "operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters"; }
980
981 protected:
982 explicit RoutingSearchParameters_ImprovementSearchLimitParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
985 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoutingSearchParameters_ImprovementSearchLimitParameters&& from) noexcept
987 *this = ::std::move(from);
988 }
989 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
990 static void* PROTOBUF_NONNULL PlacementNew_(
991 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
992 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
993 static constexpr auto InternalNewImpl_();
994
995 public:
996 static constexpr auto InternalGenerateClassData_();
997
998 ::google::protobuf::Metadata GetMetadata() const;
999 // nested types ----------------------------------------------------
1000
1001 // accessors -------------------------------------------------------
1002 enum : int {
1003 kImprovementRateCoefficientFieldNumber = 38,
1004 kImprovementRateSolutionsDistanceFieldNumber = 39,
1005 };
1006 // double improvement_rate_coefficient = 38;
1008 double improvement_rate_coefficient() const;
1009 void set_improvement_rate_coefficient(double value);
1010
1011 private:
1012 double _internal_improvement_rate_coefficient() const;
1013 void _internal_set_improvement_rate_coefficient(double value);
1014
1015 public:
1016 // int32 improvement_rate_solutions_distance = 39;
1018 ::int32_t improvement_rate_solutions_distance() const;
1019 void set_improvement_rate_solutions_distance(::int32_t value);
1020
1021 private:
1022 ::int32_t _internal_improvement_rate_solutions_distance() const;
1023 void _internal_set_improvement_rate_solutions_distance(::int32_t value);
1024
1025 public:
1026 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
1027 private:
1028 class _Internal;
1029 friend class ::google::protobuf::internal::TcParser;
1030 static const ::google::protobuf::internal::TcParseTable<1, 2,
1031 0, 0,
1033 _table_;
1034
1035 friend class ::google::protobuf::MessageLite;
1036 friend class ::google::protobuf::Arena;
1037 template <typename T>
1038 friend class ::google::protobuf::Arena::InternalHelper;
1039 using InternalArenaConstructable_ = void;
1040 using DestructorSkippable_ = void;
1041 struct Impl_ {
1042 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1043 inline explicit Impl_(
1044 ::google::protobuf::internal::InternalVisibility visibility,
1045 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1046 inline explicit Impl_(
1047 ::google::protobuf::internal::InternalVisibility visibility,
1048 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1050 ::google::protobuf::internal::HasBits<1> _has_bits_;
1051 ::google::protobuf::internal::CachedSize _cached_size_;
1052 double improvement_rate_coefficient_;
1053 ::int32_t improvement_rate_solutions_distance_;
1054 PROTOBUF_TSAN_DECLARE_MEMBER
1055 };
1056 union { Impl_ _impl_; };
1057 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1058};
1060OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingSearchParameters_ImprovementSearchLimitParameters_class_data_;
1061// -------------------------------------------------------------------
1062
1063class OR_PROTO_DLL RoutingModelParameters final : public ::google::protobuf::Message
1064/* @@protoc_insertion_point(class_definition:operations_research.RoutingModelParameters) */ {
1065 public:
1066 inline RoutingModelParameters() : RoutingModelParameters(nullptr) {}
1067 ~RoutingModelParameters() PROTOBUF_FINAL;
1068
1069#if defined(PROTOBUF_CUSTOM_VTABLE)
1070 void operator delete(RoutingModelParameters* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
1071 SharedDtor(*msg);
1072 ::google::protobuf::internal::SizedDelete(msg, sizeof(RoutingModelParameters));
1073 }
1074#endif
1075
1076 template <typename = void>
1077 explicit PROTOBUF_CONSTEXPR RoutingModelParameters(::google::protobuf::internal::ConstantInitialized);
1078
1079 inline RoutingModelParameters(const RoutingModelParameters& from) : RoutingModelParameters(nullptr, from) {}
1080 inline RoutingModelParameters(RoutingModelParameters&& from) noexcept
1081 : RoutingModelParameters(nullptr, ::std::move(from)) {}
1082 inline RoutingModelParameters& operator=(const RoutingModelParameters& from) {
1084 return *this;
1085 }
1087 if (this == &from) return *this;
1088 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1089 InternalSwap(&from);
1090 } else {
1091 CopyFrom(from);
1092 }
1093 return *this;
1094 }
1095
1096 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1097 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1098 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1099 }
1100 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1101 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1102 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1103 }
1105 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1106 return GetDescriptor();
1107 }
1108 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1109 return default_instance().GetMetadata().descriptor;
1110 }
1111 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1112 return default_instance().GetMetadata().reflection;
1113 }
1114 static const RoutingModelParameters& default_instance() {
1115 return *reinterpret_cast<const RoutingModelParameters*>(
1117 }
1118 static constexpr int kIndexInFileMessages = 3;
1119 friend void swap(RoutingModelParameters& a, RoutingModelParameters& b) { a.Swap(&b); }
1120 inline void Swap(RoutingModelParameters* PROTOBUF_NONNULL other) {
1121 if (other == this) return;
1122 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1123 InternalSwap(other);
1124 } else {
1125 ::google::protobuf::internal::GenericSwap(this, other);
1126 }
1127 }
1128 void UnsafeArenaSwap(RoutingModelParameters* PROTOBUF_NONNULL other) {
1129 if (other == this) return;
1130 ABSL_DCHECK(GetArena() == other->GetArena());
1131 InternalSwap(other);
1133
1134 // implements Message ----------------------------------------------
1135
1136 RoutingModelParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1137 return ::google::protobuf::Message::DefaultConstruct<RoutingModelParameters>(arena);
1138 }
1139 using ::google::protobuf::Message::CopyFrom;
1141 using ::google::protobuf::Message::MergeFrom;
1142 void MergeFrom(const RoutingModelParameters& from) { RoutingModelParameters::MergeImpl(*this, from); }
1143
1144 private:
1145 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1146 const ::google::protobuf::MessageLite& from_msg);
1147
1148 public:
1149 bool IsInitialized() const {
1150 return true;
1151 }
1152 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1153 #if defined(PROTOBUF_CUSTOM_VTABLE)
1154 private:
1155 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1156 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1157 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1158 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1159
1160 public:
1161 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1162 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1163 ::uint8_t* PROTOBUF_NONNULL target,
1164 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1165 return _InternalSerialize(*this, target, stream);
1166 }
1167 #else // PROTOBUF_CUSTOM_VTABLE
1168 ::size_t ByteSizeLong() const final;
1169 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1170 ::uint8_t* PROTOBUF_NONNULL target,
1171 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1172 #endif // PROTOBUF_CUSTOM_VTABLE
1173 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1174
1175 private:
1176 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1177 static void SharedDtor(MessageLite& self);
1178 void InternalSwap(RoutingModelParameters* PROTOBUF_NONNULL other);
1179 private:
1180 template <typename T>
1181 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1182 static ::absl::string_view FullMessageName() { return "operations_research.RoutingModelParameters"; }
1183
1184 protected:
1185 explicit RoutingModelParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1186 RoutingModelParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RoutingModelParameters& from);
1188 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoutingModelParameters&& from) noexcept
1189 : RoutingModelParameters(arena) {
1190 *this = ::std::move(from);
1192 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1193 static void* PROTOBUF_NONNULL PlacementNew_(
1194 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1195 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1196 static constexpr auto InternalNewImpl_();
1197
1198 public:
1199 static constexpr auto InternalGenerateClassData_();
1200
1201 ::google::protobuf::Metadata GetMetadata() const;
1202 // nested types ----------------------------------------------------
1203
1204 // accessors -------------------------------------------------------
1205 enum : int {
1206 kSolverParametersFieldNumber = 1,
1207 kReduceVehicleCostModelFieldNumber = 2,
1208 kMaxCallbackCacheSizeFieldNumber = 3,
1209 };
1210 // .operations_research.ConstraintSolverParameters solver_parameters = 1;
1213 const ::operations_research::ConstraintSolverParameters& solver_parameters() const;
1219
1220 private:
1221 const ::operations_research::ConstraintSolverParameters& _internal_solver_parameters() const;
1222 ::operations_research::ConstraintSolverParameters* PROTOBUF_NONNULL _internal_mutable_solver_parameters();
1223
1224 public:
1225 // bool reduce_vehicle_cost_model = 2;
1227 bool reduce_vehicle_cost_model() const;
1228 void set_reduce_vehicle_cost_model(bool value);
1229
1230 private:
1231 bool _internal_reduce_vehicle_cost_model() const;
1232 void _internal_set_reduce_vehicle_cost_model(bool value);
1233
1234 public:
1235 // int32 max_callback_cache_size = 3;
1237 ::int32_t max_callback_cache_size() const;
1238 void set_max_callback_cache_size(::int32_t value);
1239
1240 private:
1241 ::int32_t _internal_max_callback_cache_size() const;
1242 void _internal_set_max_callback_cache_size(::int32_t value);
1243
1244 public:
1245 // @@protoc_insertion_point(class_scope:operations_research.RoutingModelParameters)
1246 private:
1247 class _Internal;
1248 friend class ::google::protobuf::internal::TcParser;
1249 static const ::google::protobuf::internal::TcParseTable<2, 3,
1250 1, 0,
1251 2>
1252 _table_;
1253
1254 friend class ::google::protobuf::MessageLite;
1255 friend class ::google::protobuf::Arena;
1256 template <typename T>
1257 friend class ::google::protobuf::Arena::InternalHelper;
1258 using InternalArenaConstructable_ = void;
1259 using DestructorSkippable_ = void;
1260 struct Impl_ {
1261 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1262 inline explicit Impl_(
1263 ::google::protobuf::internal::InternalVisibility visibility,
1264 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1265 inline explicit Impl_(
1266 ::google::protobuf::internal::InternalVisibility visibility,
1267 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1268 const RoutingModelParameters& from_msg);
1269 ::google::protobuf::internal::HasBits<1> _has_bits_;
1270 ::google::protobuf::internal::CachedSize _cached_size_;
1271 ::operations_research::ConstraintSolverParameters* PROTOBUF_NULLABLE solver_parameters_;
1272 bool reduce_vehicle_cost_model_;
1273 ::int32_t max_callback_cache_size_;
1274 PROTOBUF_TSAN_DECLARE_MEMBER
1275 };
1276 union { Impl_ _impl_; };
1277 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1278};
1279
1280OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingModelParameters_class_data_;
1281// -------------------------------------------------------------------
1282
1283class OR_PROTO_DLL RoutingSearchParameters final : public ::google::protobuf::Message
1284/* @@protoc_insertion_point(class_definition:operations_research.RoutingSearchParameters) */ {
1285 public:
1287 ~RoutingSearchParameters() PROTOBUF_FINAL;
1289#if defined(PROTOBUF_CUSTOM_VTABLE)
1290 void operator delete(RoutingSearchParameters* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
1291 SharedDtor(*msg);
1292 ::google::protobuf::internal::SizedDelete(msg, sizeof(RoutingSearchParameters));
1293 }
1294#endif
1295
1296 template <typename = void>
1297 explicit PROTOBUF_CONSTEXPR RoutingSearchParameters(::google::protobuf::internal::ConstantInitialized);
1298
1299 inline RoutingSearchParameters(const RoutingSearchParameters& from) : RoutingSearchParameters(nullptr, from) {}
1300 inline RoutingSearchParameters(RoutingSearchParameters&& from) noexcept
1301 : RoutingSearchParameters(nullptr, ::std::move(from)) {}
1303 CopyFrom(from);
1304 return *this;
1306 inline RoutingSearchParameters& operator=(RoutingSearchParameters&& from) noexcept {
1307 if (this == &from) return *this;
1308 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1309 InternalSwap(&from);
1310 } else {
1312 }
1313 return *this;
1314 }
1315
1316 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1317 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1318 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1319 }
1320 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1321 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1322 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1323 }
1324
1325 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1326 return GetDescriptor();
1327 }
1328 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1329 return default_instance().GetMetadata().descriptor;
1331 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1332 return default_instance().GetMetadata().reflection;
1334 static const RoutingSearchParameters& default_instance() {
1335 return *reinterpret_cast<const RoutingSearchParameters*>(
1337 }
1338 static constexpr int kIndexInFileMessages = 2;
1340 inline void Swap(RoutingSearchParameters* PROTOBUF_NONNULL other) {
1341 if (other == this) return;
1342 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1343 InternalSwap(other);
1344 } else {
1345 ::google::protobuf::internal::GenericSwap(this, other);
1346 }
1347 }
1348 void UnsafeArenaSwap(RoutingSearchParameters* PROTOBUF_NONNULL other) {
1349 if (other == this) return;
1350 ABSL_DCHECK(GetArena() == other->GetArena());
1351 InternalSwap(other);
1352 }
1354 // implements Message ----------------------------------------------
1355
1356 RoutingSearchParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1357 return ::google::protobuf::Message::DefaultConstruct<RoutingSearchParameters>(arena);
1358 }
1359 using ::google::protobuf::Message::CopyFrom;
1360 void CopyFrom(const RoutingSearchParameters& from);
1361 using ::google::protobuf::Message::MergeFrom;
1362 void MergeFrom(const RoutingSearchParameters& from) { RoutingSearchParameters::MergeImpl(*this, from); }
1363
1364 private:
1365 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1366 const ::google::protobuf::MessageLite& from_msg);
1368 public:
1369 bool IsInitialized() const {
1370 return true;
1371 }
1372 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1373 #if defined(PROTOBUF_CUSTOM_VTABLE)
1374 private:
1375 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1376 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1377 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1378 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1379
1380 public:
1381 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1382 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1383 ::uint8_t* PROTOBUF_NONNULL target,
1384 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1385 return _InternalSerialize(*this, target, stream);
1386 }
1387 #else // PROTOBUF_CUSTOM_VTABLE
1388 ::size_t ByteSizeLong() const final;
1389 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1390 ::uint8_t* PROTOBUF_NONNULL target,
1391 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1392 #endif // PROTOBUF_CUSTOM_VTABLE
1393 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1394
1395 private:
1396 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1397 static void SharedDtor(MessageLite& self);
1398 void InternalSwap(RoutingSearchParameters* PROTOBUF_NONNULL other);
1399 private:
1400 template <typename T>
1401 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1402 static ::absl::string_view FullMessageName() { return "operations_research.RoutingSearchParameters"; }
1403
1404 protected:
1405 explicit RoutingSearchParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1406 RoutingSearchParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RoutingSearchParameters& from);
1408 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoutingSearchParameters&& from) noexcept
1409 : RoutingSearchParameters(arena) {
1410 *this = ::std::move(from);
1411 }
1412 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1413 static void* PROTOBUF_NONNULL PlacementNew_(
1414 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1415 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1416 static constexpr auto InternalNewImpl_();
1417
1418 public:
1419 static constexpr auto InternalGenerateClassData_();
1420
1421 ::google::protobuf::Metadata GetMetadata() const;
1422 // nested types ----------------------------------------------------
1430 static inline bool PairInsertionStrategy_IsValid(int value) {
1439 template <typename T>
1440 static inline const ::std::string& PairInsertionStrategy_Name(T value) {
1442 }
1443 static inline bool PairInsertionStrategy_Parse(
1444 ::absl::string_view name, PairInsertionStrategy* PROTOBUF_NONNULL value) {
1446 }
1447 using InsertionSortingProperty = RoutingSearchParameters_InsertionSortingProperty;
1457 static inline bool InsertionSortingProperty_IsValid(int value) {
1466 template <typename T>
1467 static inline const ::std::string& InsertionSortingProperty_Name(T value) {
1469 }
1470 static inline bool InsertionSortingProperty_Parse(
1471 ::absl::string_view name, InsertionSortingProperty* PROTOBUF_NONNULL value) {
1484 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL SchedulingSolver_descriptor() {
1487 template <typename T>
1488 static inline const ::std::string& SchedulingSolver_Name(T value) {
1490 }
1491 static inline bool SchedulingSolver_Parse(
1492 ::absl::string_view name, SchedulingSolver* PROTOBUF_NONNULL value) {
1494 }
1495
1496 // accessors -------------------------------------------------------
1497 enum : int {
1500 kLogTagFieldNumber = 36,
1558 // repeated .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristics = 63;
1560 private:
1561 int _internal_local_search_metaheuristics_size() const;
1562
1563 public:
1565 public:
1569 const ::google::protobuf::RepeatedField<int>& local_search_metaheuristics() const;
1570 ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL mutable_local_search_metaheuristics();
1571
1572 private:
1573 const ::google::protobuf::RepeatedField<int>& _internal_local_search_metaheuristics() const;
1574 ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL _internal_mutable_local_search_metaheuristics();
1575
1576 public:
1577 // repeated .operations_research.RoutingSearchParameters.InsertionSortingProperty local_cheapest_insertion_sorting_properties = 67;
1579 private:
1580 int _internal_local_cheapest_insertion_sorting_properties_size() const;
1581
1582 public:
1584 public:
1588 const ::google::protobuf::RepeatedField<int>& local_cheapest_insertion_sorting_properties() const;
1589 ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL mutable_local_cheapest_insertion_sorting_properties();
1590
1591 private:
1592 const ::google::protobuf::RepeatedField<int>& _internal_local_cheapest_insertion_sorting_properties() const;
1593 ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL _internal_mutable_local_cheapest_insertion_sorting_properties();
1594
1595 public:
1596 // string log_tag = 36;
1597 void clear_log_tag() ;
1598 const ::std::string& log_tag() const;
1599 template <typename Arg_ = const ::std::string&, typename... Args_>
1600 void set_log_tag(Arg_&& arg, Args_... args);
1601 ::std::string* PROTOBUF_NONNULL mutable_log_tag();
1602 [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_log_tag();
1603 void set_allocated_log_tag(::std::string* PROTOBUF_NULLABLE value);
1604
1605 private:
1606 const ::std::string& _internal_log_tag() const;
1607 PROTOBUF_ALWAYS_INLINE void _internal_set_log_tag(const ::std::string& value);
1608 ::std::string* PROTOBUF_NONNULL _internal_mutable_log_tag();
1609
1610 public:
1611 // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
1612 bool has_local_search_operators() const;
1614 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& local_search_operators() const;
1620
1621 private:
1622 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& _internal_local_search_operators() const;
1623 ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL _internal_mutable_local_search_operators();
1624
1625 public:
1626 // .google.protobuf.Duration time_limit = 9;
1627 bool has_time_limit() const;
1628 void clear_time_limit() ;
1629 const ::google::protobuf::Duration& time_limit() const;
1630 [[nodiscard]] ::google::protobuf::Duration* PROTOBUF_NULLABLE release_time_limit();
1631 ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_time_limit();
1632 void set_allocated_time_limit(::google::protobuf::Duration* PROTOBUF_NULLABLE value);
1633 void unsafe_arena_set_allocated_time_limit(::google::protobuf::Duration* PROTOBUF_NULLABLE value);
1634 ::google::protobuf::Duration* PROTOBUF_NULLABLE unsafe_arena_release_time_limit();
1635
1636 private:
1637 const ::google::protobuf::Duration& _internal_time_limit() const;
1638 ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_time_limit();
1639
1640 public:
1641 // .google.protobuf.Duration lns_time_limit = 10;
1642 bool has_lns_time_limit() const;
1643 void clear_lns_time_limit() ;
1644 const ::google::protobuf::Duration& lns_time_limit() const;
1645 [[nodiscard]] ::google::protobuf::Duration* PROTOBUF_NULLABLE release_lns_time_limit();
1646 ::google::protobuf::Duration* PROTOBUF_NONNULL mutable_lns_time_limit();
1647 void set_allocated_lns_time_limit(::google::protobuf::Duration* PROTOBUF_NULLABLE value);
1648 void unsafe_arena_set_allocated_lns_time_limit(::google::protobuf::Duration* PROTOBUF_NULLABLE value);
1649 ::google::protobuf::Duration* PROTOBUF_NULLABLE unsafe_arena_release_lns_time_limit();
1650
1651 private:
1652 const ::google::protobuf::Duration& _internal_lns_time_limit() const;
1653 ::google::protobuf::Duration* PROTOBUF_NONNULL _internal_mutable_lns_time_limit();
1654
1655 public:
1656 // .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
1659 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& improvement_limit_parameters() const;
1665
1666 private:
1667 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& _internal_improvement_limit_parameters() const;
1668 ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL _internal_mutable_improvement_limit_parameters();
1669
1670 public:
1671 // .operations_research.sat.SatParameters sat_parameters = 48;
1672 bool has_sat_parameters() const;
1673 void clear_sat_parameters() ;
1674 const ::operations_research::sat::SatParameters& sat_parameters() const;
1675 [[nodiscard]] ::operations_research::sat::SatParameters* PROTOBUF_NULLABLE release_sat_parameters();
1680
1681 private:
1682 const ::operations_research::sat::SatParameters& _internal_sat_parameters() const;
1683 ::operations_research::sat::SatParameters* PROTOBUF_NONNULL _internal_mutable_sat_parameters();
1684
1685 public:
1686 // .operations_research.IteratedLocalSearchParameters iterated_local_search_parameters = 60;
1689 const ::operations_research::IteratedLocalSearchParameters& iterated_local_search_parameters() const;
1695
1696 private:
1697 const ::operations_research::IteratedLocalSearchParameters& _internal_iterated_local_search_parameters() const;
1698 ::operations_research::IteratedLocalSearchParameters* PROTOBUF_NONNULL _internal_mutable_iterated_local_search_parameters();
1699
1700 public:
1701 // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
1705
1706 private:
1707 ::operations_research::FirstSolutionStrategy_Value _internal_first_solution_strategy() const;
1708 void _internal_set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value);
1709
1710 public:
1711 // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
1715
1716 private:
1717 ::operations_research::LocalSearchMetaheuristic_Value _internal_local_search_metaheuristic() const;
1718 void _internal_set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value);
1719
1720 public:
1721 // double guided_local_search_lambda_coefficient = 5;
1725
1726 private:
1727 double _internal_guided_local_search_lambda_coefficient() const;
1728 void _internal_set_guided_local_search_lambda_coefficient(double value);
1729
1730 public:
1731 // double optimization_step = 7;
1733 double optimization_step() const;
1734 void set_optimization_step(double value);
1735
1736 private:
1737 double _internal_optimization_step() const;
1738 void _internal_set_optimization_step(double value);
1739
1740 public:
1741 // int64 solution_limit = 8;
1742 void clear_solution_limit() ;
1743 ::int64_t solution_limit() const;
1744 void set_solution_limit(::int64_t value);
1745
1746 private:
1747 ::int64_t _internal_solution_limit() const;
1748 void _internal_set_solution_limit(::int64_t value);
1749
1750 public:
1751 // bool use_unfiltered_first_solution_strategy = 2;
1755
1756 private:
1757 bool _internal_use_unfiltered_first_solution_strategy() const;
1758 void _internal_set_use_unfiltered_first_solution_strategy(bool value);
1759
1760 public:
1761 // bool use_depth_first_search = 6;
1763 bool use_depth_first_search() const;
1764 void set_use_depth_first_search(bool value);
1765
1766 private:
1767 bool _internal_use_depth_first_search() const;
1768 void _internal_set_use_depth_first_search(bool value);
1769
1770 public:
1771 // bool use_full_propagation = 11;
1773 bool use_full_propagation() const;
1774 void set_use_full_propagation(bool value);
1775
1776 private:
1777 bool _internal_use_full_propagation() const;
1778 void _internal_set_use_full_propagation(bool value);
1779
1780 public:
1781 // bool log_search = 13;
1782 void clear_log_search() ;
1783 bool log_search() const;
1784 void set_log_search(bool value);
1785
1786 private:
1787 bool _internal_log_search() const;
1788 void _internal_set_log_search(bool value);
1789
1790 public:
1791 // int32 number_of_solutions_to_collect = 17;
1793 ::int32_t number_of_solutions_to_collect() const;
1794 void set_number_of_solutions_to_collect(::int32_t value);
1795
1796 private:
1797 ::int32_t _internal_number_of_solutions_to_collect() const;
1798 void _internal_set_number_of_solutions_to_collect(::int32_t value);
1799
1800 public:
1801 // double savings_neighbors_ratio = 14;
1803 double savings_neighbors_ratio() const;
1804 void set_savings_neighbors_ratio(double value);
1805
1806 private:
1807 double _internal_savings_neighbors_ratio() const;
1808 void _internal_set_savings_neighbors_ratio(double value);
1809
1810 public:
1811 // double cheapest_insertion_farthest_seeds_ratio = 16;
1815
1816 private:
1817 double _internal_cheapest_insertion_farthest_seeds_ratio() const;
1818 void _internal_set_cheapest_insertion_farthest_seeds_ratio(double value);
1819
1820 public:
1821 // double savings_arc_coefficient = 18;
1823 double savings_arc_coefficient() const;
1824 void set_savings_arc_coefficient(double value);
1825
1826 private:
1827 double _internal_savings_arc_coefficient() const;
1828 void _internal_set_savings_arc_coefficient(double value);
1829
1830 public:
1831 // double cheapest_insertion_first_solution_neighbors_ratio = 21;
1835
1836 private:
1837 double _internal_cheapest_insertion_first_solution_neighbors_ratio() const;
1838 void _internal_set_cheapest_insertion_first_solution_neighbors_ratio(double value);
1839
1840 public:
1841 // double log_cost_scaling_factor = 22;
1843 double log_cost_scaling_factor() const;
1844 void set_log_cost_scaling_factor(double value);
1845
1846 private:
1847 double _internal_log_cost_scaling_factor() const;
1848 void _internal_set_log_cost_scaling_factor(double value);
1849
1850 public:
1851 // double savings_max_memory_usage_bytes = 23;
1853 double savings_max_memory_usage_bytes() const;
1854 void set_savings_max_memory_usage_bytes(double value);
1855
1856 private:
1857 double _internal_savings_max_memory_usage_bytes() const;
1858 void _internal_set_savings_max_memory_usage_bytes(double value);
1859
1860 public:
1861 // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
1865
1866 private:
1867 ::int32_t _internal_relocate_expensive_chain_num_arcs_to_consider() const;
1868 void _internal_set_relocate_expensive_chain_num_arcs_to_consider(::int32_t value);
1869
1870 public:
1871 // .operations_research.OptionalBoolean use_cp_sat = 27;
1872 void clear_use_cp_sat() ;
1875
1876 private:
1877 ::operations_research::OptionalBoolean _internal_use_cp_sat() const;
1878 void _internal_set_use_cp_sat(::operations_research::OptionalBoolean value);
1879
1880 public:
1881 // double log_cost_offset = 29;
1882 void clear_log_cost_offset() ;
1883 double log_cost_offset() const;
1884 void set_log_cost_offset(double value);
1885
1886 private:
1887 double _internal_log_cost_offset() const;
1888 void _internal_set_log_cost_offset(double value);
1889
1890 public:
1891 // .operations_research.OptionalBoolean use_cp = 28;
1892 void clear_use_cp() ;
1895
1896 private:
1897 ::operations_research::OptionalBoolean _internal_use_cp() const;
1898 void _internal_set_use_cp(::operations_research::OptionalBoolean value);
1899
1900 public:
1901 // bool savings_add_reverse_arcs = 15;
1903 bool savings_add_reverse_arcs() const;
1904 void set_savings_add_reverse_arcs(bool value);
1905
1906 private:
1907 bool _internal_savings_add_reverse_arcs() const;
1908 void _internal_set_savings_add_reverse_arcs(bool value);
1909
1910 public:
1911 // bool christofides_use_minimum_matching = 30;
1915
1916 private:
1917 bool _internal_christofides_use_minimum_matching() const;
1918 void _internal_set_christofides_use_minimum_matching(bool value);
1919
1920 public:
1921 // bool cheapest_insertion_add_unperformed_entries = 40;
1925
1926 private:
1927 bool _internal_cheapest_insertion_add_unperformed_entries() const;
1928 void _internal_set_cheapest_insertion_add_unperformed_entries(bool value);
1929
1930 public:
1931 // bool use_multi_armed_bandit_concatenate_operators = 41;
1935
1936 private:
1937 bool _internal_use_multi_armed_bandit_concatenate_operators() const;
1938 void _internal_set_use_multi_armed_bandit_concatenate_operators(bool value);
1939
1940 public:
1941 // double cheapest_insertion_ls_operator_neighbors_ratio = 31;
1945
1946 private:
1947 double _internal_cheapest_insertion_ls_operator_neighbors_ratio() const;
1948 void _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(double value);
1949
1950 public:
1951 // int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
1955
1956 private:
1957 ::int32_t _internal_heuristic_expensive_chain_lns_num_arcs_to_consider() const;
1958 void _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(::int32_t value);
1959
1960 public:
1961 // .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
1965
1966 private:
1967 ::operations_research::RoutingSearchParameters_SchedulingSolver _internal_continuous_scheduling_solver() const;
1968 void _internal_set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1969
1970 public:
1971 // .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
1975
1976 private:
1977 ::operations_research::RoutingSearchParameters_SchedulingSolver _internal_mixed_integer_scheduling_solver() const;
1978 void _internal_set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value);
1979
1980 public:
1981 // int32 heuristic_close_nodes_lns_num_nodes = 35;
1983 ::int32_t heuristic_close_nodes_lns_num_nodes() const;
1984 void set_heuristic_close_nodes_lns_num_nodes(::int32_t value);
1985
1986 private:
1987 ::int32_t _internal_heuristic_close_nodes_lns_num_nodes() const;
1988 void _internal_set_heuristic_close_nodes_lns_num_nodes(::int32_t value);
1989
1990 public:
1991 // double multi_armed_bandit_compound_operator_memory_coefficient = 42;
1995
1996 private:
1997 double _internal_multi_armed_bandit_compound_operator_memory_coefficient() const;
1998 void _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(double value);
1999
2000 public:
2001 // double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
2005
2006 private:
2007 double _internal_multi_armed_bandit_compound_operator_exploration_coefficient() const;
2008 void _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(double value);
2009
2010 public:
2011 // int32 cheapest_insertion_first_solution_min_neighbors = 44;
2015
2016 private:
2017 ::int32_t _internal_cheapest_insertion_first_solution_min_neighbors() const;
2018 void _internal_set_cheapest_insertion_first_solution_min_neighbors(::int32_t value);
2019
2020 public:
2021 // int32 cheapest_insertion_ls_operator_min_neighbors = 45;
2025
2026 private:
2027 ::int32_t _internal_cheapest_insertion_ls_operator_min_neighbors() const;
2028 void _internal_set_cheapest_insertion_ls_operator_min_neighbors(::int32_t value);
2029
2030 public:
2031 // .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
2035
2036 private:
2037 ::operations_research::OptionalBoolean _internal_use_generalized_cp_sat() const;
2038 void _internal_set_use_generalized_cp_sat(::operations_research::OptionalBoolean value);
2039
2040 public:
2041 // .operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_insertion_pickup_delivery_strategy = 49;
2045
2046 private:
2047 ::operations_research::RoutingSearchParameters_PairInsertionStrategy _internal_local_cheapest_insertion_pickup_delivery_strategy() const;
2048 void _internal_set_local_cheapest_insertion_pickup_delivery_strategy(::operations_research::RoutingSearchParameters_PairInsertionStrategy value);
2049
2050 public:
2051 // bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
2055
2056 private:
2057 bool _internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() const;
2058 void _internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value);
2059
2060 public:
2061 // optional bool disable_scheduling_beware_this_may_degrade_performance = 50;
2066
2067 private:
2068 bool _internal_disable_scheduling_beware_this_may_degrade_performance() const;
2069 void _internal_set_disable_scheduling_beware_this_may_degrade_performance(bool value);
2070
2071 public:
2072 // bool guided_local_search_reset_penalties_on_new_best_solution = 51;
2076
2077 private:
2078 bool _internal_guided_local_search_reset_penalties_on_new_best_solution() const;
2079 void _internal_set_guided_local_search_reset_penalties_on_new_best_solution(bool value);
2080
2081 public:
2082 // bool report_intermediate_cp_sat_solutions = 56;
2086
2087 private:
2088 bool _internal_report_intermediate_cp_sat_solutions() const;
2089 void _internal_set_report_intermediate_cp_sat_solutions(bool value);
2090
2091 public:
2092 // int32 fallback_to_cp_sat_size_threshold = 52;
2094 ::int32_t fallback_to_cp_sat_size_threshold() const;
2095 void set_fallback_to_cp_sat_size_threshold(::int32_t value);
2096
2097 private:
2098 ::int32_t _internal_fallback_to_cp_sat_size_threshold() const;
2099 void _internal_set_fallback_to_cp_sat_size_threshold(::int32_t value);
2100
2101 public:
2102 // double ls_operator_neighbors_ratio = 53;
2104 double ls_operator_neighbors_ratio() const;
2105 void set_ls_operator_neighbors_ratio(double value);
2106
2107 private:
2108 double _internal_ls_operator_neighbors_ratio() const;
2109 void _internal_set_ls_operator_neighbors_ratio(double value);
2110
2111 public:
2112 // int32 ls_operator_min_neighbors = 54;
2114 ::int32_t ls_operator_min_neighbors() const;
2115 void set_ls_operator_min_neighbors(::int32_t value);
2116
2117 private:
2118 ::int32_t _internal_ls_operator_min_neighbors() const;
2119 void _internal_set_ls_operator_min_neighbors(::int32_t value);
2120
2121 public:
2122 // .operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_cost_insertion_pickup_delivery_strategy = 55;
2126
2127 private:
2128 ::operations_research::RoutingSearchParameters_PairInsertionStrategy _internal_local_cheapest_cost_insertion_pickup_delivery_strategy() const;
2129 void _internal_set_local_cheapest_cost_insertion_pickup_delivery_strategy(::operations_research::RoutingSearchParameters_PairInsertionStrategy value);
2130
2131 public:
2132 // double secondary_ls_time_limit_ratio = 57;
2134 double secondary_ls_time_limit_ratio() const;
2135 void set_secondary_ls_time_limit_ratio(double value);
2136
2137 private:
2138 double _internal_secondary_ls_time_limit_ratio() const;
2139 void _internal_set_secondary_ls_time_limit_ratio(double value);
2140
2141 public:
2142 // int32 first_solution_optimization_period = 59;
2144 ::int32_t first_solution_optimization_period() const;
2145 void set_first_solution_optimization_period(::int32_t value);
2146
2147 private:
2148 ::int32_t _internal_first_solution_optimization_period() const;
2149 void _internal_set_first_solution_optimization_period(::int32_t value);
2150
2151 public:
2152 // bool use_iterated_local_search = 58;
2154 bool use_iterated_local_search() const;
2155 void set_use_iterated_local_search(bool value);
2156
2157 private:
2158 bool _internal_use_iterated_local_search() const;
2159 void _internal_set_use_iterated_local_search(bool value);
2160
2161 public:
2162 // bool guided_local_search_penalize_with_vehicle_classes = 61;
2166
2167 private:
2168 bool _internal_guided_local_search_penalize_with_vehicle_classes() const;
2169 void _internal_set_guided_local_search_penalize_with_vehicle_classes(bool value);
2170
2171 public:
2172 // bool use_guided_local_search_penalties_in_local_search_operators = 62;
2176
2177 private:
2178 bool _internal_use_guided_local_search_penalties_in_local_search_operators() const;
2179 void _internal_set_use_guided_local_search_penalties_in_local_search_operators(bool value);
2180
2181 public:
2182 // int32 num_max_local_optima_before_metaheuristic_switch = 64;
2186
2187 private:
2188 ::int32_t _internal_num_max_local_optima_before_metaheuristic_switch() const;
2189 void _internal_set_num_max_local_optima_before_metaheuristic_switch(::int32_t value);
2190
2191 public:
2192 // int32 max_swap_active_chain_size = 66;
2194 ::int32_t max_swap_active_chain_size() const;
2195 void set_max_swap_active_chain_size(::int32_t value);
2196
2197 private:
2198 ::int32_t _internal_max_swap_active_chain_size() const;
2199 void _internal_set_max_swap_active_chain_size(::int32_t value);
2200
2201 public:
2202 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
2203 private:
2204 class _Internal;
2205 friend class ::google::protobuf::internal::TcParser;
2206 static const ::google::protobuf::internal::TcParseTable<5, 59,
2207 6, 115,
2208 11>
2209 _table_;
2211 friend class ::google::protobuf::MessageLite;
2212 friend class ::google::protobuf::Arena;
2213 template <typename T>
2214 friend class ::google::protobuf::Arena::InternalHelper;
2215 using InternalArenaConstructable_ = void;
2216 using DestructorSkippable_ = void;
2217 struct Impl_ {
2218 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2219 inline explicit Impl_(
2220 ::google::protobuf::internal::InternalVisibility visibility,
2221 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2222 inline explicit Impl_(
2223 ::google::protobuf::internal::InternalVisibility visibility,
2224 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2225 const RoutingSearchParameters& from_msg);
2226 ::google::protobuf::internal::HasBits<2> _has_bits_;
2227 ::google::protobuf::internal::CachedSize _cached_size_;
2228 ::google::protobuf::RepeatedField<int> local_search_metaheuristics_;
2229 ::google::protobuf::internal::CachedSize _local_search_metaheuristics_cached_byte_size_;
2230 ::google::protobuf::RepeatedField<int> local_cheapest_insertion_sorting_properties_;
2231 ::google::protobuf::internal::CachedSize _local_cheapest_insertion_sorting_properties_cached_byte_size_;
2232 ::google::protobuf::internal::ArenaStringPtr log_tag_;
2234 ::google::protobuf::Duration* PROTOBUF_NULLABLE time_limit_;
2235 ::google::protobuf::Duration* PROTOBUF_NULLABLE lns_time_limit_;
2236 ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NULLABLE improvement_limit_parameters_;
2237 ::operations_research::sat::SatParameters* PROTOBUF_NULLABLE sat_parameters_;
2238 ::operations_research::IteratedLocalSearchParameters* PROTOBUF_NULLABLE iterated_local_search_parameters_;
2239 int first_solution_strategy_;
2240 int local_search_metaheuristic_;
2241 double guided_local_search_lambda_coefficient_;
2242 double optimization_step_;
2243 ::int64_t solution_limit_;
2244 bool use_unfiltered_first_solution_strategy_;
2245 bool use_depth_first_search_;
2246 bool use_full_propagation_;
2247 bool log_search_;
2248 ::int32_t number_of_solutions_to_collect_;
2249 double savings_neighbors_ratio_;
2250 double cheapest_insertion_farthest_seeds_ratio_;
2251 double savings_arc_coefficient_;
2252 double cheapest_insertion_first_solution_neighbors_ratio_;
2253 double log_cost_scaling_factor_;
2254 double savings_max_memory_usage_bytes_;
2255 ::int32_t relocate_expensive_chain_num_arcs_to_consider_;
2256 int use_cp_sat_;
2257 double log_cost_offset_;
2258 int use_cp_;
2259 bool savings_add_reverse_arcs_;
2260 bool christofides_use_minimum_matching_;
2261 bool cheapest_insertion_add_unperformed_entries_;
2262 bool use_multi_armed_bandit_concatenate_operators_;
2263 double cheapest_insertion_ls_operator_neighbors_ratio_;
2264 ::int32_t heuristic_expensive_chain_lns_num_arcs_to_consider_;
2265 int continuous_scheduling_solver_;
2266 int mixed_integer_scheduling_solver_;
2267 ::int32_t heuristic_close_nodes_lns_num_nodes_;
2268 double multi_armed_bandit_compound_operator_memory_coefficient_;
2269 double multi_armed_bandit_compound_operator_exploration_coefficient_;
2270 ::int32_t cheapest_insertion_first_solution_min_neighbors_;
2271 ::int32_t cheapest_insertion_ls_operator_min_neighbors_;
2272 int use_generalized_cp_sat_;
2273 int local_cheapest_insertion_pickup_delivery_strategy_;
2274 bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_;
2275 bool disable_scheduling_beware_this_may_degrade_performance_;
2276 bool guided_local_search_reset_penalties_on_new_best_solution_;
2277 bool report_intermediate_cp_sat_solutions_;
2278 ::int32_t fallback_to_cp_sat_size_threshold_;
2279 double ls_operator_neighbors_ratio_;
2280 ::int32_t ls_operator_min_neighbors_;
2281 int local_cheapest_cost_insertion_pickup_delivery_strategy_;
2282 double secondary_ls_time_limit_ratio_;
2283 ::int32_t first_solution_optimization_period_;
2284 bool use_iterated_local_search_;
2285 bool guided_local_search_penalize_with_vehicle_classes_;
2286 bool use_guided_local_search_penalties_in_local_search_operators_;
2287 ::int32_t num_max_local_optima_before_metaheuristic_switch_;
2288 ::int32_t max_swap_active_chain_size_;
2289 PROTOBUF_TSAN_DECLARE_MEMBER
2290 };
2291 union { Impl_ _impl_; };
2292 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
2293};
2294
2295OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RoutingSearchParameters_class_data_;
2297// ===================================================================
2298
2299
2300
2301
2302// ===================================================================
2303
2304
2305#ifdef __GNUC__
2306#pragma GCC diagnostic push
2307#pragma GCC diagnostic ignored "-Wstrict-aliasing"
2308#endif // __GNUC__
2309// -------------------------------------------------------------------
2310
2311// RoutingSearchParameters_LocalSearchNeighborhoodOperators
2312
2313// .operations_research.OptionalBoolean use_relocate = 1;
2315 ::google::protobuf::internal::TSanWrite(&_impl_);
2316 _impl_.use_relocate_ = 0;
2317 _impl_._has_bits_[0] &= ~0x00000001u;
2318}
2319inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate() const {
2320 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
2321 return _internal_use_relocate();
2324 _internal_set_use_relocate(value);
2325 _impl_._has_bits_[0] |= 0x00000001u;
2326 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate)
2328inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate() const {
2329 ::google::protobuf::internal::TSanRead(&_impl_);
2330 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_relocate_);
2332inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate(::operations_research::OptionalBoolean value) {
2333 ::google::protobuf::internal::TSanWrite(&_impl_);
2334 _impl_.use_relocate_ = value;
2335}
2336
2337// .operations_research.OptionalBoolean use_relocate_pair = 2;
2339 ::google::protobuf::internal::TSanWrite(&_impl_);
2340 _impl_.use_relocate_pair_ = 0;
2341 _impl_._has_bits_[0] &= ~0x00000002u;
2342}
2343inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_pair() const {
2344 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
2345 return _internal_use_relocate_pair();
2348 _internal_set_use_relocate_pair(value);
2349 _impl_._has_bits_[0] |= 0x00000002u;
2350 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_pair)
2352inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_pair() const {
2353 ::google::protobuf::internal::TSanRead(&_impl_);
2354 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_relocate_pair_);
2356inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_pair(::operations_research::OptionalBoolean value) {
2357 ::google::protobuf::internal::TSanWrite(&_impl_);
2358 _impl_.use_relocate_pair_ = value;
2359}
2360
2361// .operations_research.OptionalBoolean use_light_relocate_pair = 24;
2363 ::google::protobuf::internal::TSanWrite(&_impl_);
2364 _impl_.use_light_relocate_pair_ = 0;
2365 _impl_._has_bits_[0] &= ~0x00800000u;
2366}
2367inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_light_relocate_pair() const {
2368 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
2369 return _internal_use_light_relocate_pair();
2372 _internal_set_use_light_relocate_pair(value);
2373 _impl_._has_bits_[0] |= 0x00800000u;
2374 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_light_relocate_pair)
2376inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_light_relocate_pair() const {
2377 ::google::protobuf::internal::TSanRead(&_impl_);
2378 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_light_relocate_pair_);
2380inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_light_relocate_pair(::operations_research::OptionalBoolean value) {
2381 ::google::protobuf::internal::TSanWrite(&_impl_);
2382 _impl_.use_light_relocate_pair_ = value;
2383}
2384
2385// .operations_research.OptionalBoolean use_relocate_neighbors = 3;
2387 ::google::protobuf::internal::TSanWrite(&_impl_);
2388 _impl_.use_relocate_neighbors_ = 0;
2389 _impl_._has_bits_[0] &= ~0x00000004u;
2390}
2391inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_neighbors() const {
2392 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
2393 return _internal_use_relocate_neighbors();
2396 _internal_set_use_relocate_neighbors(value);
2397 _impl_._has_bits_[0] |= 0x00000004u;
2398 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_neighbors)
2400inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_neighbors() const {
2401 ::google::protobuf::internal::TSanRead(&_impl_);
2402 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_relocate_neighbors_);
2404inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_neighbors(::operations_research::OptionalBoolean value) {
2405 ::google::protobuf::internal::TSanWrite(&_impl_);
2406 _impl_.use_relocate_neighbors_ = value;
2407}
2408
2409// .operations_research.OptionalBoolean use_relocate_subtrip = 25;
2411 ::google::protobuf::internal::TSanWrite(&_impl_);
2412 _impl_.use_relocate_subtrip_ = 0;
2413 _impl_._has_bits_[0] &= ~0x01000000u;
2414}
2415inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_subtrip() const {
2416 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
2417 return _internal_use_relocate_subtrip();
2420 _internal_set_use_relocate_subtrip(value);
2421 _impl_._has_bits_[0] |= 0x01000000u;
2422 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_subtrip)
2424inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_subtrip() const {
2425 ::google::protobuf::internal::TSanRead(&_impl_);
2426 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_relocate_subtrip_);
2428inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_subtrip(::operations_research::OptionalBoolean value) {
2429 ::google::protobuf::internal::TSanWrite(&_impl_);
2430 _impl_.use_relocate_subtrip_ = value;
2431}
2432
2433// .operations_research.OptionalBoolean use_exchange = 4;
2435 ::google::protobuf::internal::TSanWrite(&_impl_);
2436 _impl_.use_exchange_ = 0;
2437 _impl_._has_bits_[0] &= ~0x00000008u;
2438}
2439inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange() const {
2440 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
2441 return _internal_use_exchange();
2444 _internal_set_use_exchange(value);
2445 _impl_._has_bits_[0] |= 0x00000008u;
2446 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange)
2448inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange() const {
2449 ::google::protobuf::internal::TSanRead(&_impl_);
2450 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_exchange_);
2452inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange(::operations_research::OptionalBoolean value) {
2453 ::google::protobuf::internal::TSanWrite(&_impl_);
2454 _impl_.use_exchange_ = value;
2455}
2456
2457// .operations_research.OptionalBoolean use_exchange_pair = 22;
2459 ::google::protobuf::internal::TSanWrite(&_impl_);
2460 _impl_.use_exchange_pair_ = 0;
2461 _impl_._has_bits_[0] &= ~0x00200000u;
2462}
2463inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_pair() const {
2464 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
2465 return _internal_use_exchange_pair();
2468 _internal_set_use_exchange_pair(value);
2469 _impl_._has_bits_[0] |= 0x00200000u;
2470 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_pair)
2472inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_pair() const {
2473 ::google::protobuf::internal::TSanRead(&_impl_);
2474 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_exchange_pair_);
2476inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_pair(::operations_research::OptionalBoolean value) {
2477 ::google::protobuf::internal::TSanWrite(&_impl_);
2478 _impl_.use_exchange_pair_ = value;
2479}
2480
2481// .operations_research.OptionalBoolean use_exchange_subtrip = 26;
2483 ::google::protobuf::internal::TSanWrite(&_impl_);
2484 _impl_.use_exchange_subtrip_ = 0;
2485 _impl_._has_bits_[0] &= ~0x02000000u;
2486}
2487inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_subtrip() const {
2488 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
2489 return _internal_use_exchange_subtrip();
2492 _internal_set_use_exchange_subtrip(value);
2493 _impl_._has_bits_[0] |= 0x02000000u;
2494 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_subtrip)
2496inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_subtrip() const {
2497 ::google::protobuf::internal::TSanRead(&_impl_);
2498 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_exchange_subtrip_);
2500inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_subtrip(::operations_research::OptionalBoolean value) {
2501 ::google::protobuf::internal::TSanWrite(&_impl_);
2502 _impl_.use_exchange_subtrip_ = value;
2503}
2504
2505// .operations_research.OptionalBoolean use_cross = 5;
2507 ::google::protobuf::internal::TSanWrite(&_impl_);
2508 _impl_.use_cross_ = 0;
2509 _impl_._has_bits_[0] &= ~0x00000010u;
2510}
2511inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross() const {
2512 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
2513 return _internal_use_cross();
2516 _internal_set_use_cross(value);
2517 _impl_._has_bits_[0] |= 0x00000010u;
2518 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross)
2520inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross() const {
2521 ::google::protobuf::internal::TSanRead(&_impl_);
2522 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_cross_);
2524inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_cross(::operations_research::OptionalBoolean value) {
2525 ::google::protobuf::internal::TSanWrite(&_impl_);
2526 _impl_.use_cross_ = value;
2527}
2528
2529// .operations_research.OptionalBoolean use_cross_exchange = 6;
2531 ::google::protobuf::internal::TSanWrite(&_impl_);
2532 _impl_.use_cross_exchange_ = 0;
2533 _impl_._has_bits_[0] &= ~0x00000020u;
2534}
2535inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_cross_exchange() const {
2536 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
2537 return _internal_use_cross_exchange();
2540 _internal_set_use_cross_exchange(value);
2541 _impl_._has_bits_[0] |= 0x00000020u;
2542 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_cross_exchange)
2544inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_cross_exchange() const {
2545 ::google::protobuf::internal::TSanRead(&_impl_);
2546 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_cross_exchange_);
2548inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_cross_exchange(::operations_research::OptionalBoolean value) {
2549 ::google::protobuf::internal::TSanWrite(&_impl_);
2550 _impl_.use_cross_exchange_ = value;
2551}
2552
2553// .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
2555 ::google::protobuf::internal::TSanWrite(&_impl_);
2556 _impl_.use_relocate_expensive_chain_ = 0;
2557 _impl_._has_bits_[0] &= ~0x00400000u;
2558}
2559inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_expensive_chain() const {
2560 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
2561 return _internal_use_relocate_expensive_chain();
2564 _internal_set_use_relocate_expensive_chain(value);
2565 _impl_._has_bits_[0] |= 0x00400000u;
2566 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_expensive_chain)
2568inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_expensive_chain() const {
2569 ::google::protobuf::internal::TSanRead(&_impl_);
2570 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_relocate_expensive_chain_);
2572inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value) {
2573 ::google::protobuf::internal::TSanWrite(&_impl_);
2574 _impl_.use_relocate_expensive_chain_ = value;
2575}
2576
2577// .operations_research.OptionalBoolean use_two_opt = 7;
2579 ::google::protobuf::internal::TSanWrite(&_impl_);
2580 _impl_.use_two_opt_ = 0;
2581 _impl_._has_bits_[0] &= ~0x00000040u;
2582}
2583inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_two_opt() const {
2584 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
2585 return _internal_use_two_opt();
2588 _internal_set_use_two_opt(value);
2589 _impl_._has_bits_[0] |= 0x00000040u;
2590 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_two_opt)
2592inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_two_opt() const {
2593 ::google::protobuf::internal::TSanRead(&_impl_);
2594 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_two_opt_);
2596inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_two_opt(::operations_research::OptionalBoolean value) {
2597 ::google::protobuf::internal::TSanWrite(&_impl_);
2598 _impl_.use_two_opt_ = value;
2599}
2600
2601// .operations_research.OptionalBoolean use_or_opt = 8;
2603 ::google::protobuf::internal::TSanWrite(&_impl_);
2604 _impl_.use_or_opt_ = 0;
2605 _impl_._has_bits_[0] &= ~0x00000080u;
2606}
2607inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_or_opt() const {
2608 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
2609 return _internal_use_or_opt();
2612 _internal_set_use_or_opt(value);
2613 _impl_._has_bits_[0] |= 0x00000080u;
2614 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_or_opt)
2616inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_or_opt() const {
2617 ::google::protobuf::internal::TSanRead(&_impl_);
2618 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_or_opt_);
2620inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_or_opt(::operations_research::OptionalBoolean value) {
2621 ::google::protobuf::internal::TSanWrite(&_impl_);
2622 _impl_.use_or_opt_ = value;
2623}
2624
2625// .operations_research.OptionalBoolean use_lin_kernighan = 9;
2627 ::google::protobuf::internal::TSanWrite(&_impl_);
2628 _impl_.use_lin_kernighan_ = 0;
2629 _impl_._has_bits_[0] &= ~0x00000100u;
2630}
2631inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_lin_kernighan() const {
2632 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
2633 return _internal_use_lin_kernighan();
2636 _internal_set_use_lin_kernighan(value);
2637 _impl_._has_bits_[0] |= 0x00000100u;
2638 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_lin_kernighan)
2640inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_lin_kernighan() const {
2641 ::google::protobuf::internal::TSanRead(&_impl_);
2642 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_lin_kernighan_);
2644inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_lin_kernighan(::operations_research::OptionalBoolean value) {
2645 ::google::protobuf::internal::TSanWrite(&_impl_);
2646 _impl_.use_lin_kernighan_ = value;
2647}
2648
2649// .operations_research.OptionalBoolean use_tsp_opt = 10;
2651 ::google::protobuf::internal::TSanWrite(&_impl_);
2652 _impl_.use_tsp_opt_ = 0;
2653 _impl_._has_bits_[0] &= ~0x00000200u;
2654}
2655inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_opt() const {
2656 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
2657 return _internal_use_tsp_opt();
2660 _internal_set_use_tsp_opt(value);
2661 _impl_._has_bits_[0] |= 0x00000200u;
2662 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_opt)
2664inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_opt() const {
2665 ::google::protobuf::internal::TSanRead(&_impl_);
2666 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_tsp_opt_);
2668inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_tsp_opt(::operations_research::OptionalBoolean value) {
2669 ::google::protobuf::internal::TSanWrite(&_impl_);
2670 _impl_.use_tsp_opt_ = value;
2671}
2672
2673// .operations_research.OptionalBoolean use_make_active = 11;
2675 ::google::protobuf::internal::TSanWrite(&_impl_);
2676 _impl_.use_make_active_ = 0;
2677 _impl_._has_bits_[0] &= ~0x00000400u;
2678}
2679inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_active() const {
2680 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
2681 return _internal_use_make_active();
2684 _internal_set_use_make_active(value);
2685 _impl_._has_bits_[0] |= 0x00000400u;
2686 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_active)
2688inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_active() const {
2689 ::google::protobuf::internal::TSanRead(&_impl_);
2690 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_make_active_);
2692inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_active(::operations_research::OptionalBoolean value) {
2693 ::google::protobuf::internal::TSanWrite(&_impl_);
2694 _impl_.use_make_active_ = value;
2695}
2696
2697// .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
2699 ::google::protobuf::internal::TSanWrite(&_impl_);
2700 _impl_.use_relocate_and_make_active_ = 0;
2701 _impl_._has_bits_[0] &= ~0x00100000u;
2702}
2703inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_and_make_active() const {
2704 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
2705 return _internal_use_relocate_and_make_active();
2708 _internal_set_use_relocate_and_make_active(value);
2709 _impl_._has_bits_[0] |= 0x00100000u;
2710 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_and_make_active)
2712inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_and_make_active() const {
2713 ::google::protobuf::internal::TSanRead(&_impl_);
2714 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_relocate_and_make_active_);
2716inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_and_make_active(::operations_research::OptionalBoolean value) {
2717 ::google::protobuf::internal::TSanWrite(&_impl_);
2718 _impl_.use_relocate_and_make_active_ = value;
2719}
2720
2721// .operations_research.OptionalBoolean use_exchange_and_make_active = 37;
2723 ::google::protobuf::internal::TSanWrite(&_impl_);
2724 _impl_.use_exchange_and_make_active_ = 0;
2725 _impl_._has_bits_[1] &= ~0x00000010u;
2726}
2727inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_exchange_and_make_active() const {
2728 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_and_make_active)
2729 return _internal_use_exchange_and_make_active();
2732 _internal_set_use_exchange_and_make_active(value);
2733 _impl_._has_bits_[1] |= 0x00000010u;
2734 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_and_make_active)
2736inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_and_make_active() const {
2737 ::google::protobuf::internal::TSanRead(&_impl_);
2738 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_exchange_and_make_active_);
2740inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_and_make_active(::operations_research::OptionalBoolean value) {
2741 ::google::protobuf::internal::TSanWrite(&_impl_);
2742 _impl_.use_exchange_and_make_active_ = value;
2743}
2744
2745// .operations_research.OptionalBoolean use_exchange_path_start_ends_and_make_active = 38;
2747 ::google::protobuf::internal::TSanWrite(&_impl_);
2748 _impl_.use_exchange_path_start_ends_and_make_active_ = 0;
2749 _impl_._has_bits_[1] &= ~0x00000020u;
2750}
2752 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_path_start_ends_and_make_active)
2753 return _internal_use_exchange_path_start_ends_and_make_active();
2756 _internal_set_use_exchange_path_start_ends_and_make_active(value);
2757 _impl_._has_bits_[1] |= 0x00000020u;
2758 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_exchange_path_start_ends_and_make_active)
2760inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_exchange_path_start_ends_and_make_active() const {
2761 ::google::protobuf::internal::TSanRead(&_impl_);
2762 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_exchange_path_start_ends_and_make_active_);
2764inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_exchange_path_start_ends_and_make_active(::operations_research::OptionalBoolean value) {
2765 ::google::protobuf::internal::TSanWrite(&_impl_);
2766 _impl_.use_exchange_path_start_ends_and_make_active_ = value;
2767}
2768
2769// .operations_research.OptionalBoolean use_make_inactive = 12;
2771 ::google::protobuf::internal::TSanWrite(&_impl_);
2772 _impl_.use_make_inactive_ = 0;
2773 _impl_._has_bits_[0] &= ~0x00000800u;
2774}
2775inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_inactive() const {
2776 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
2777 return _internal_use_make_inactive();
2780 _internal_set_use_make_inactive(value);
2781 _impl_._has_bits_[0] |= 0x00000800u;
2782 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_inactive)
2784inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_inactive() const {
2785 ::google::protobuf::internal::TSanRead(&_impl_);
2786 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_make_inactive_);
2788inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_inactive(::operations_research::OptionalBoolean value) {
2789 ::google::protobuf::internal::TSanWrite(&_impl_);
2790 _impl_.use_make_inactive_ = value;
2791}
2792
2793// .operations_research.OptionalBoolean use_make_chain_inactive = 13;
2795 ::google::protobuf::internal::TSanWrite(&_impl_);
2796 _impl_.use_make_chain_inactive_ = 0;
2797 _impl_._has_bits_[0] &= ~0x00001000u;
2798}
2799inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_make_chain_inactive() const {
2800 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
2801 return _internal_use_make_chain_inactive();
2804 _internal_set_use_make_chain_inactive(value);
2805 _impl_._has_bits_[0] |= 0x00001000u;
2806 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_make_chain_inactive)
2808inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_make_chain_inactive() const {
2809 ::google::protobuf::internal::TSanRead(&_impl_);
2810 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_make_chain_inactive_);
2812inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_make_chain_inactive(::operations_research::OptionalBoolean value) {
2813 ::google::protobuf::internal::TSanWrite(&_impl_);
2814 _impl_.use_make_chain_inactive_ = value;
2815}
2816
2817// .operations_research.OptionalBoolean use_swap_active = 14;
2819 ::google::protobuf::internal::TSanWrite(&_impl_);
2820 _impl_.use_swap_active_ = 0;
2821 _impl_._has_bits_[0] &= ~0x00002000u;
2822}
2823inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_swap_active() const {
2824 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
2825 return _internal_use_swap_active();
2828 _internal_set_use_swap_active(value);
2829 _impl_._has_bits_[0] |= 0x00002000u;
2830 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active)
2832inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_swap_active() const {
2833 ::google::protobuf::internal::TSanRead(&_impl_);
2834 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_swap_active_);
2836inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_swap_active(::operations_research::OptionalBoolean value) {
2837 ::google::protobuf::internal::TSanWrite(&_impl_);
2838 _impl_.use_swap_active_ = value;
2839}
2840
2841// .operations_research.OptionalBoolean use_swap_active_chain = 35;
2843 ::google::protobuf::internal::TSanWrite(&_impl_);
2844 _impl_.use_swap_active_chain_ = 0;
2845 _impl_._has_bits_[1] &= ~0x00000004u;
2846}
2847inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_swap_active_chain() const {
2848 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active_chain)
2849 return _internal_use_swap_active_chain();
2852 _internal_set_use_swap_active_chain(value);
2853 _impl_._has_bits_[1] |= 0x00000004u;
2854 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_swap_active_chain)
2856inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_swap_active_chain() const {
2857 ::google::protobuf::internal::TSanRead(&_impl_);
2858 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_swap_active_chain_);
2860inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_swap_active_chain(::operations_research::OptionalBoolean value) {
2861 ::google::protobuf::internal::TSanWrite(&_impl_);
2862 _impl_.use_swap_active_chain_ = value;
2863}
2864
2865// .operations_research.OptionalBoolean use_extended_swap_active = 15;
2867 ::google::protobuf::internal::TSanWrite(&_impl_);
2868 _impl_.use_extended_swap_active_ = 0;
2869 _impl_._has_bits_[0] &= ~0x00004000u;
2870}
2871inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_extended_swap_active() const {
2872 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
2873 return _internal_use_extended_swap_active();
2876 _internal_set_use_extended_swap_active(value);
2877 _impl_._has_bits_[0] |= 0x00004000u;
2878 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_extended_swap_active)
2880inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_extended_swap_active() const {
2881 ::google::protobuf::internal::TSanRead(&_impl_);
2882 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_extended_swap_active_);
2884inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_extended_swap_active(::operations_research::OptionalBoolean value) {
2885 ::google::protobuf::internal::TSanWrite(&_impl_);
2886 _impl_.use_extended_swap_active_ = value;
2887}
2888
2889// .operations_research.OptionalBoolean use_shortest_path_swap_active = 34;
2891 ::google::protobuf::internal::TSanWrite(&_impl_);
2892 _impl_.use_shortest_path_swap_active_ = 0;
2893 _impl_._has_bits_[1] &= ~0x00000002u;
2894}
2895inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_shortest_path_swap_active() const {
2896 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_shortest_path_swap_active)
2897 return _internal_use_shortest_path_swap_active();
2900 _internal_set_use_shortest_path_swap_active(value);
2901 _impl_._has_bits_[1] |= 0x00000002u;
2902 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_shortest_path_swap_active)
2904inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_shortest_path_swap_active() const {
2905 ::google::protobuf::internal::TSanRead(&_impl_);
2906 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_shortest_path_swap_active_);
2908inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_shortest_path_swap_active(::operations_research::OptionalBoolean value) {
2909 ::google::protobuf::internal::TSanWrite(&_impl_);
2910 _impl_.use_shortest_path_swap_active_ = value;
2911}
2912
2913// .operations_research.OptionalBoolean use_shortest_path_two_opt = 36;
2915 ::google::protobuf::internal::TSanWrite(&_impl_);
2916 _impl_.use_shortest_path_two_opt_ = 0;
2917 _impl_._has_bits_[1] &= ~0x00000008u;
2918}
2919inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_shortest_path_two_opt() const {
2920 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_shortest_path_two_opt)
2921 return _internal_use_shortest_path_two_opt();
2924 _internal_set_use_shortest_path_two_opt(value);
2925 _impl_._has_bits_[1] |= 0x00000008u;
2926 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_shortest_path_two_opt)
2928inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_shortest_path_two_opt() const {
2929 ::google::protobuf::internal::TSanRead(&_impl_);
2930 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_shortest_path_two_opt_);
2932inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_shortest_path_two_opt(::operations_research::OptionalBoolean value) {
2933 ::google::protobuf::internal::TSanWrite(&_impl_);
2934 _impl_.use_shortest_path_two_opt_ = value;
2935}
2936
2937// .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
2939 ::google::protobuf::internal::TSanWrite(&_impl_);
2940 _impl_.use_node_pair_swap_active_ = 0;
2941 _impl_._has_bits_[0] &= ~0x00080000u;
2942}
2943inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_node_pair_swap_active() const {
2944 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
2945 return _internal_use_node_pair_swap_active();
2948 _internal_set_use_node_pair_swap_active(value);
2949 _impl_._has_bits_[0] |= 0x00080000u;
2950 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_node_pair_swap_active)
2952inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_node_pair_swap_active() const {
2953 ::google::protobuf::internal::TSanRead(&_impl_);
2954 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_node_pair_swap_active_);
2956inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_node_pair_swap_active(::operations_research::OptionalBoolean value) {
2957 ::google::protobuf::internal::TSanWrite(&_impl_);
2958 _impl_.use_node_pair_swap_active_ = value;
2959}
2960
2961// .operations_research.OptionalBoolean use_path_lns = 16;
2963 ::google::protobuf::internal::TSanWrite(&_impl_);
2964 _impl_.use_path_lns_ = 0;
2965 _impl_._has_bits_[0] &= ~0x00008000u;
2966}
2967inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_path_lns() const {
2968 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
2969 return _internal_use_path_lns();
2972 _internal_set_use_path_lns(value);
2973 _impl_._has_bits_[0] |= 0x00008000u;
2974 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_path_lns)
2976inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_path_lns() const {
2977 ::google::protobuf::internal::TSanRead(&_impl_);
2978 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_path_lns_);
2980inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_path_lns(::operations_research::OptionalBoolean value) {
2981 ::google::protobuf::internal::TSanWrite(&_impl_);
2982 _impl_.use_path_lns_ = value;
2983}
2984
2985// .operations_research.OptionalBoolean use_full_path_lns = 17;
2987 ::google::protobuf::internal::TSanWrite(&_impl_);
2988 _impl_.use_full_path_lns_ = 0;
2989 _impl_._has_bits_[0] &= ~0x00010000u;
2990}
2991inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_full_path_lns() const {
2992 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
2993 return _internal_use_full_path_lns();
2996 _internal_set_use_full_path_lns(value);
2997 _impl_._has_bits_[0] |= 0x00010000u;
2998 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_full_path_lns)
3000inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_full_path_lns() const {
3001 ::google::protobuf::internal::TSanRead(&_impl_);
3002 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_full_path_lns_);
3004inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_full_path_lns(::operations_research::OptionalBoolean value) {
3005 ::google::protobuf::internal::TSanWrite(&_impl_);
3006 _impl_.use_full_path_lns_ = value;
3007}
3008
3009// .operations_research.OptionalBoolean use_tsp_lns = 18;
3011 ::google::protobuf::internal::TSanWrite(&_impl_);
3012 _impl_.use_tsp_lns_ = 0;
3013 _impl_._has_bits_[0] &= ~0x00020000u;
3014}
3015inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_tsp_lns() const {
3016 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
3017 return _internal_use_tsp_lns();
3020 _internal_set_use_tsp_lns(value);
3021 _impl_._has_bits_[0] |= 0x00020000u;
3022 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_tsp_lns)
3024inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_tsp_lns() const {
3025 ::google::protobuf::internal::TSanRead(&_impl_);
3026 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_tsp_lns_);
3028inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_tsp_lns(::operations_research::OptionalBoolean value) {
3029 ::google::protobuf::internal::TSanWrite(&_impl_);
3030 _impl_.use_tsp_lns_ = value;
3031}
3032
3033// .operations_research.OptionalBoolean use_inactive_lns = 19;
3035 ::google::protobuf::internal::TSanWrite(&_impl_);
3036 _impl_.use_inactive_lns_ = 0;
3037 _impl_._has_bits_[0] &= ~0x00040000u;
3038}
3039inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_inactive_lns() const {
3040 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
3041 return _internal_use_inactive_lns();
3044 _internal_set_use_inactive_lns(value);
3045 _impl_._has_bits_[0] |= 0x00040000u;
3046 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_inactive_lns)
3048inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_inactive_lns() const {
3049 ::google::protobuf::internal::TSanRead(&_impl_);
3050 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_inactive_lns_);
3052inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_inactive_lns(::operations_research::OptionalBoolean value) {
3053 ::google::protobuf::internal::TSanWrite(&_impl_);
3054 _impl_.use_inactive_lns_ = value;
3055}
3056
3057// .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
3059 ::google::protobuf::internal::TSanWrite(&_impl_);
3060 _impl_.use_global_cheapest_insertion_path_lns_ = 0;
3061 _impl_._has_bits_[0] &= ~0x04000000u;
3062}
3064 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_path_lns)
3065 return _internal_use_global_cheapest_insertion_path_lns();
3068 _internal_set_use_global_cheapest_insertion_path_lns(value);
3069 _impl_._has_bits_[0] |= 0x04000000u;
3070 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_path_lns)
3072inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_path_lns() const {
3073 ::google::protobuf::internal::TSanRead(&_impl_);
3074 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_global_cheapest_insertion_path_lns_);
3076inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
3077 ::google::protobuf::internal::TSanWrite(&_impl_);
3078 _impl_.use_global_cheapest_insertion_path_lns_ = value;
3079}
3080
3081// .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
3083 ::google::protobuf::internal::TSanWrite(&_impl_);
3084 _impl_.use_local_cheapest_insertion_path_lns_ = 0;
3085 _impl_._has_bits_[0] &= ~0x08000000u;
3086}
3088 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_path_lns)
3089 return _internal_use_local_cheapest_insertion_path_lns();
3092 _internal_set_use_local_cheapest_insertion_path_lns(value);
3093 _impl_._has_bits_[0] |= 0x08000000u;
3094 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_path_lns)
3096inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_path_lns() const {
3097 ::google::protobuf::internal::TSanRead(&_impl_);
3098 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_local_cheapest_insertion_path_lns_);
3100inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value) {
3101 ::google::protobuf::internal::TSanWrite(&_impl_);
3102 _impl_.use_local_cheapest_insertion_path_lns_ = value;
3103}
3104
3105// .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
3107 ::google::protobuf::internal::TSanWrite(&_impl_);
3108 _impl_.use_relocate_path_global_cheapest_insertion_insert_unperformed_ = 0;
3109 _impl_._has_bits_[1] &= ~0x00000001u;
3110}
3112 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_path_global_cheapest_insertion_insert_unperformed)
3113 return _internal_use_relocate_path_global_cheapest_insertion_insert_unperformed();
3116 _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(value);
3117 _impl_._has_bits_[1] |= 0x00000001u;
3118 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_relocate_path_global_cheapest_insertion_insert_unperformed)
3120inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_relocate_path_global_cheapest_insertion_insert_unperformed() const {
3121 ::google::protobuf::internal::TSanRead(&_impl_);
3122 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_relocate_path_global_cheapest_insertion_insert_unperformed_);
3124inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value) {
3125 ::google::protobuf::internal::TSanWrite(&_impl_);
3126 _impl_.use_relocate_path_global_cheapest_insertion_insert_unperformed_ = value;
3127}
3128
3129// .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
3131 ::google::protobuf::internal::TSanWrite(&_impl_);
3132 _impl_.use_global_cheapest_insertion_expensive_chain_lns_ = 0;
3133 _impl_._has_bits_[0] &= ~0x10000000u;
3134}
3136 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_expensive_chain_lns)
3137 return _internal_use_global_cheapest_insertion_expensive_chain_lns();
3140 _internal_set_use_global_cheapest_insertion_expensive_chain_lns(value);
3141 _impl_._has_bits_[0] |= 0x10000000u;
3142 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_expensive_chain_lns)
3144inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_expensive_chain_lns() const {
3145 ::google::protobuf::internal::TSanRead(&_impl_);
3146 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_global_cheapest_insertion_expensive_chain_lns_);
3148inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
3149 ::google::protobuf::internal::TSanWrite(&_impl_);
3150 _impl_.use_global_cheapest_insertion_expensive_chain_lns_ = value;
3151}
3152
3153// .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
3155 ::google::protobuf::internal::TSanWrite(&_impl_);
3156 _impl_.use_local_cheapest_insertion_expensive_chain_lns_ = 0;
3157 _impl_._has_bits_[0] &= ~0x20000000u;
3158}
3160 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_expensive_chain_lns)
3161 return _internal_use_local_cheapest_insertion_expensive_chain_lns();
3164 _internal_set_use_local_cheapest_insertion_expensive_chain_lns(value);
3165 _impl_._has_bits_[0] |= 0x20000000u;
3166 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_expensive_chain_lns)
3168inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_expensive_chain_lns() const {
3169 ::google::protobuf::internal::TSanRead(&_impl_);
3170 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_local_cheapest_insertion_expensive_chain_lns_);
3172inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value) {
3173 ::google::protobuf::internal::TSanWrite(&_impl_);
3174 _impl_.use_local_cheapest_insertion_expensive_chain_lns_ = value;
3175}
3176
3177// .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
3179 ::google::protobuf::internal::TSanWrite(&_impl_);
3180 _impl_.use_global_cheapest_insertion_close_nodes_lns_ = 0;
3181 _impl_._has_bits_[0] &= ~0x40000000u;
3182}
3184 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_close_nodes_lns)
3185 return _internal_use_global_cheapest_insertion_close_nodes_lns();
3188 _internal_set_use_global_cheapest_insertion_close_nodes_lns(value);
3189 _impl_._has_bits_[0] |= 0x40000000u;
3190 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_global_cheapest_insertion_close_nodes_lns)
3192inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_global_cheapest_insertion_close_nodes_lns() const {
3193 ::google::protobuf::internal::TSanRead(&_impl_);
3194 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_global_cheapest_insertion_close_nodes_lns_);
3196inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value) {
3197 ::google::protobuf::internal::TSanWrite(&_impl_);
3198 _impl_.use_global_cheapest_insertion_close_nodes_lns_ = value;
3199}
3200
3201// .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
3203 ::google::protobuf::internal::TSanWrite(&_impl_);
3204 _impl_.use_local_cheapest_insertion_close_nodes_lns_ = 0;
3205 _impl_._has_bits_[0] &= ~0x80000000u;
3206}
3208 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_close_nodes_lns)
3209 return _internal_use_local_cheapest_insertion_close_nodes_lns();
3212 _internal_set_use_local_cheapest_insertion_close_nodes_lns(value);
3213 _impl_._has_bits_[0] |= 0x80000000u;
3214 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators.use_local_cheapest_insertion_close_nodes_lns)
3216inline ::operations_research::OptionalBoolean RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_use_local_cheapest_insertion_close_nodes_lns() const {
3217 ::google::protobuf::internal::TSanRead(&_impl_);
3218 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_local_cheapest_insertion_close_nodes_lns_);
3220inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::_internal_set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value) {
3221 ::google::protobuf::internal::TSanWrite(&_impl_);
3222 _impl_.use_local_cheapest_insertion_close_nodes_lns_ = value;
3223}
3224
3225// -------------------------------------------------------------------
3226
3227// RoutingSearchParameters_ImprovementSearchLimitParameters
3228
3229// double improvement_rate_coefficient = 38;
3231 ::google::protobuf::internal::TSanWrite(&_impl_);
3232 _impl_.improvement_rate_coefficient_ = 0;
3233 _impl_._has_bits_[0] &= ~0x00000001u;
3234}
3236 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_coefficient)
3237 return _internal_improvement_rate_coefficient();
3238}
3240 _internal_set_improvement_rate_coefficient(value);
3241 _impl_._has_bits_[0] |= 0x00000001u;
3242 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_coefficient)
3243}
3244inline double RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_improvement_rate_coefficient() const {
3245 ::google::protobuf::internal::TSanRead(&_impl_);
3246 return _impl_.improvement_rate_coefficient_;
3247}
3248inline void RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_set_improvement_rate_coefficient(double value) {
3249 ::google::protobuf::internal::TSanWrite(&_impl_);
3250 _impl_.improvement_rate_coefficient_ = value;
3251}
3252
3253// int32 improvement_rate_solutions_distance = 39;
3255 ::google::protobuf::internal::TSanWrite(&_impl_);
3256 _impl_.improvement_rate_solutions_distance_ = 0;
3257 _impl_._has_bits_[0] &= ~0x00000002u;
3258}
3260 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_solutions_distance)
3261 return _internal_improvement_rate_solutions_distance();
3262}
3264 _internal_set_improvement_rate_solutions_distance(value);
3265 _impl_._has_bits_[0] |= 0x00000002u;
3266 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters.improvement_rate_solutions_distance)
3267}
3268inline ::int32_t RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_improvement_rate_solutions_distance() const {
3269 ::google::protobuf::internal::TSanRead(&_impl_);
3270 return _impl_.improvement_rate_solutions_distance_;
3271}
3272inline void RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_set_improvement_rate_solutions_distance(::int32_t value) {
3273 ::google::protobuf::internal::TSanWrite(&_impl_);
3274 _impl_.improvement_rate_solutions_distance_ = value;
3275}
3276
3277// -------------------------------------------------------------------
3278
3279// RoutingSearchParameters
3280
3281// .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
3283 ::google::protobuf::internal::TSanWrite(&_impl_);
3284 _impl_.first_solution_strategy_ = 0;
3285 _impl_._has_bits_[0] &= ~0x00000080u;
3286}
3287inline ::operations_research::FirstSolutionStrategy_Value RoutingSearchParameters::first_solution_strategy() const {
3288 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.first_solution_strategy)
3289 return _internal_first_solution_strategy();
3290}
3292 _internal_set_first_solution_strategy(value);
3293 _impl_._has_bits_[0] |= 0x00000080u;
3294 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.first_solution_strategy)
3295}
3296inline ::operations_research::FirstSolutionStrategy_Value RoutingSearchParameters::_internal_first_solution_strategy() const {
3297 ::google::protobuf::internal::TSanRead(&_impl_);
3298 return static_cast<::operations_research::FirstSolutionStrategy_Value>(_impl_.first_solution_strategy_);
3299}
3300inline void RoutingSearchParameters::_internal_set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value) {
3301 ::google::protobuf::internal::TSanWrite(&_impl_);
3302 _impl_.first_solution_strategy_ = value;
3303}
3304
3305// bool use_unfiltered_first_solution_strategy = 2;
3307 ::google::protobuf::internal::TSanWrite(&_impl_);
3308 _impl_.use_unfiltered_first_solution_strategy_ = false;
3309 _impl_._has_bits_[0] &= ~0x00001000u;
3310}
3312 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
3313 return _internal_use_unfiltered_first_solution_strategy();
3314}
3316 _internal_set_use_unfiltered_first_solution_strategy(value);
3317 _impl_._has_bits_[0] |= 0x00001000u;
3318 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_unfiltered_first_solution_strategy)
3319}
3320inline bool RoutingSearchParameters::_internal_use_unfiltered_first_solution_strategy() const {
3321 ::google::protobuf::internal::TSanRead(&_impl_);
3322 return _impl_.use_unfiltered_first_solution_strategy_;
3323}
3324inline void RoutingSearchParameters::_internal_set_use_unfiltered_first_solution_strategy(bool value) {
3325 ::google::protobuf::internal::TSanWrite(&_impl_);
3326 _impl_.use_unfiltered_first_solution_strategy_ = value;
3327}
3328
3329// double savings_neighbors_ratio = 14;
3331 ::google::protobuf::internal::TSanWrite(&_impl_);
3332 _impl_.savings_neighbors_ratio_ = 0;
3333 _impl_._has_bits_[0] &= ~0x00020000u;
3334}
3336 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
3337 return _internal_savings_neighbors_ratio();
3338}
3340 _internal_set_savings_neighbors_ratio(value);
3341 _impl_._has_bits_[0] |= 0x00020000u;
3342 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_neighbors_ratio)
3343}
3344inline double RoutingSearchParameters::_internal_savings_neighbors_ratio() const {
3345 ::google::protobuf::internal::TSanRead(&_impl_);
3346 return _impl_.savings_neighbors_ratio_;
3347}
3348inline void RoutingSearchParameters::_internal_set_savings_neighbors_ratio(double value) {
3349 ::google::protobuf::internal::TSanWrite(&_impl_);
3350 _impl_.savings_neighbors_ratio_ = value;
3351}
3352
3353// double savings_max_memory_usage_bytes = 23;
3355 ::google::protobuf::internal::TSanWrite(&_impl_);
3356 _impl_.savings_max_memory_usage_bytes_ = 0;
3357 _impl_._has_bits_[0] &= ~0x00400000u;
3358}
3360 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
3361 return _internal_savings_max_memory_usage_bytes();
3362}
3364 _internal_set_savings_max_memory_usage_bytes(value);
3365 _impl_._has_bits_[0] |= 0x00400000u;
3366 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_max_memory_usage_bytes)
3367}
3368inline double RoutingSearchParameters::_internal_savings_max_memory_usage_bytes() const {
3369 ::google::protobuf::internal::TSanRead(&_impl_);
3370 return _impl_.savings_max_memory_usage_bytes_;
3371}
3372inline void RoutingSearchParameters::_internal_set_savings_max_memory_usage_bytes(double value) {
3373 ::google::protobuf::internal::TSanWrite(&_impl_);
3374 _impl_.savings_max_memory_usage_bytes_ = value;
3375}
3376
3377// bool savings_add_reverse_arcs = 15;
3379 ::google::protobuf::internal::TSanWrite(&_impl_);
3380 _impl_.savings_add_reverse_arcs_ = false;
3381 _impl_._has_bits_[0] &= ~0x08000000u;
3382}
3384 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
3385 return _internal_savings_add_reverse_arcs();
3386}
3388 _internal_set_savings_add_reverse_arcs(value);
3389 _impl_._has_bits_[0] |= 0x08000000u;
3390 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_add_reverse_arcs)
3391}
3392inline bool RoutingSearchParameters::_internal_savings_add_reverse_arcs() const {
3393 ::google::protobuf::internal::TSanRead(&_impl_);
3394 return _impl_.savings_add_reverse_arcs_;
3395}
3396inline void RoutingSearchParameters::_internal_set_savings_add_reverse_arcs(bool value) {
3397 ::google::protobuf::internal::TSanWrite(&_impl_);
3398 _impl_.savings_add_reverse_arcs_ = value;
3399}
3400
3401// double savings_arc_coefficient = 18;
3403 ::google::protobuf::internal::TSanWrite(&_impl_);
3404 _impl_.savings_arc_coefficient_ = 0;
3405 _impl_._has_bits_[0] &= ~0x00080000u;
3406}
3408 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.savings_arc_coefficient)
3409 return _internal_savings_arc_coefficient();
3410}
3412 _internal_set_savings_arc_coefficient(value);
3413 _impl_._has_bits_[0] |= 0x00080000u;
3414 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.savings_arc_coefficient)
3415}
3416inline double RoutingSearchParameters::_internal_savings_arc_coefficient() const {
3417 ::google::protobuf::internal::TSanRead(&_impl_);
3418 return _impl_.savings_arc_coefficient_;
3419}
3420inline void RoutingSearchParameters::_internal_set_savings_arc_coefficient(double value) {
3421 ::google::protobuf::internal::TSanWrite(&_impl_);
3422 _impl_.savings_arc_coefficient_ = value;
3423}
3424
3425// double cheapest_insertion_farthest_seeds_ratio = 16;
3427 ::google::protobuf::internal::TSanWrite(&_impl_);
3428 _impl_.cheapest_insertion_farthest_seeds_ratio_ = 0;
3429 _impl_._has_bits_[0] &= ~0x00040000u;
3430}
3432 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
3433 return _internal_cheapest_insertion_farthest_seeds_ratio();
3434}
3436 _internal_set_cheapest_insertion_farthest_seeds_ratio(value);
3437 _impl_._has_bits_[0] |= 0x00040000u;
3438 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_farthest_seeds_ratio)
3439}
3440inline double RoutingSearchParameters::_internal_cheapest_insertion_farthest_seeds_ratio() const {
3441 ::google::protobuf::internal::TSanRead(&_impl_);
3442 return _impl_.cheapest_insertion_farthest_seeds_ratio_;
3443}
3444inline void RoutingSearchParameters::_internal_set_cheapest_insertion_farthest_seeds_ratio(double value) {
3445 ::google::protobuf::internal::TSanWrite(&_impl_);
3446 _impl_.cheapest_insertion_farthest_seeds_ratio_ = value;
3447}
3448
3449// double cheapest_insertion_first_solution_neighbors_ratio = 21;
3451 ::google::protobuf::internal::TSanWrite(&_impl_);
3452 _impl_.cheapest_insertion_first_solution_neighbors_ratio_ = 0;
3453 _impl_._has_bits_[0] &= ~0x00100000u;
3454}
3456 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_neighbors_ratio)
3457 return _internal_cheapest_insertion_first_solution_neighbors_ratio();
3458}
3460 _internal_set_cheapest_insertion_first_solution_neighbors_ratio(value);
3461 _impl_._has_bits_[0] |= 0x00100000u;
3462 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_neighbors_ratio)
3463}
3464inline double RoutingSearchParameters::_internal_cheapest_insertion_first_solution_neighbors_ratio() const {
3465 ::google::protobuf::internal::TSanRead(&_impl_);
3466 return _impl_.cheapest_insertion_first_solution_neighbors_ratio_;
3467}
3468inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_neighbors_ratio(double value) {
3469 ::google::protobuf::internal::TSanWrite(&_impl_);
3470 _impl_.cheapest_insertion_first_solution_neighbors_ratio_ = value;
3471}
3472
3473// int32 cheapest_insertion_first_solution_min_neighbors = 44;
3475 ::google::protobuf::internal::TSanWrite(&_impl_);
3476 _impl_.cheapest_insertion_first_solution_min_neighbors_ = 0;
3477 _impl_._has_bits_[1] &= ~0x00000040u;
3478}
3480 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_min_neighbors)
3481 return _internal_cheapest_insertion_first_solution_min_neighbors();
3482}
3484 _internal_set_cheapest_insertion_first_solution_min_neighbors(value);
3485 _impl_._has_bits_[1] |= 0x00000040u;
3486 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_min_neighbors)
3487}
3488inline ::int32_t RoutingSearchParameters::_internal_cheapest_insertion_first_solution_min_neighbors() const {
3489 ::google::protobuf::internal::TSanRead(&_impl_);
3490 return _impl_.cheapest_insertion_first_solution_min_neighbors_;
3491}
3492inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_min_neighbors(::int32_t value) {
3493 ::google::protobuf::internal::TSanWrite(&_impl_);
3494 _impl_.cheapest_insertion_first_solution_min_neighbors_ = value;
3495}
3496
3497// double cheapest_insertion_ls_operator_neighbors_ratio = 31;
3499 ::google::protobuf::internal::TSanWrite(&_impl_);
3500 _impl_.cheapest_insertion_ls_operator_neighbors_ratio_ = 0;
3501 _impl_._has_bits_[0] &= ~0x80000000u;
3502}
3504 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_neighbors_ratio)
3505 return _internal_cheapest_insertion_ls_operator_neighbors_ratio();
3506}
3508 _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(value);
3509 _impl_._has_bits_[0] |= 0x80000000u;
3510 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_neighbors_ratio)
3511}
3512inline double RoutingSearchParameters::_internal_cheapest_insertion_ls_operator_neighbors_ratio() const {
3513 ::google::protobuf::internal::TSanRead(&_impl_);
3514 return _impl_.cheapest_insertion_ls_operator_neighbors_ratio_;
3515}
3516inline void RoutingSearchParameters::_internal_set_cheapest_insertion_ls_operator_neighbors_ratio(double value) {
3517 ::google::protobuf::internal::TSanWrite(&_impl_);
3518 _impl_.cheapest_insertion_ls_operator_neighbors_ratio_ = value;
3519}
3520
3521// int32 cheapest_insertion_ls_operator_min_neighbors = 45;
3523 ::google::protobuf::internal::TSanWrite(&_impl_);
3524 _impl_.cheapest_insertion_ls_operator_min_neighbors_ = 0;
3525 _impl_._has_bits_[1] &= ~0x00000080u;
3526}
3528 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_min_neighbors)
3529 return _internal_cheapest_insertion_ls_operator_min_neighbors();
3530}
3532 _internal_set_cheapest_insertion_ls_operator_min_neighbors(value);
3533 _impl_._has_bits_[1] |= 0x00000080u;
3534 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_ls_operator_min_neighbors)
3535}
3536inline ::int32_t RoutingSearchParameters::_internal_cheapest_insertion_ls_operator_min_neighbors() const {
3537 ::google::protobuf::internal::TSanRead(&_impl_);
3538 return _impl_.cheapest_insertion_ls_operator_min_neighbors_;
3539}
3540inline void RoutingSearchParameters::_internal_set_cheapest_insertion_ls_operator_min_neighbors(::int32_t value) {
3541 ::google::protobuf::internal::TSanWrite(&_impl_);
3542 _impl_.cheapest_insertion_ls_operator_min_neighbors_ = value;
3543}
3544
3545// bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
3547 ::google::protobuf::internal::TSanWrite(&_impl_);
3548 _impl_.cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_ = false;
3549 _impl_._has_bits_[1] &= ~0x00000400u;
3550}
3552 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization)
3553 return _internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization();
3554}
3556 _internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(value);
3557 _impl_._has_bits_[1] |= 0x00000400u;
3558 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization)
3559}
3560inline bool RoutingSearchParameters::_internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() const {
3561 ::google::protobuf::internal::TSanRead(&_impl_);
3562 return _impl_.cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_;
3563}
3564inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value) {
3565 ::google::protobuf::internal::TSanWrite(&_impl_);
3566 _impl_.cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_ = value;
3567}
3568
3569// bool cheapest_insertion_add_unperformed_entries = 40;
3571 ::google::protobuf::internal::TSanWrite(&_impl_);
3572 _impl_.cheapest_insertion_add_unperformed_entries_ = false;
3573 _impl_._has_bits_[0] &= ~0x20000000u;
3574}
3576 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.cheapest_insertion_add_unperformed_entries)
3577 return _internal_cheapest_insertion_add_unperformed_entries();
3578}
3580 _internal_set_cheapest_insertion_add_unperformed_entries(value);
3581 _impl_._has_bits_[0] |= 0x20000000u;
3582 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.cheapest_insertion_add_unperformed_entries)
3583}
3584inline bool RoutingSearchParameters::_internal_cheapest_insertion_add_unperformed_entries() const {
3585 ::google::protobuf::internal::TSanRead(&_impl_);
3586 return _impl_.cheapest_insertion_add_unperformed_entries_;
3587}
3588inline void RoutingSearchParameters::_internal_set_cheapest_insertion_add_unperformed_entries(bool value) {
3589 ::google::protobuf::internal::TSanWrite(&_impl_);
3590 _impl_.cheapest_insertion_add_unperformed_entries_ = value;
3591}
3592
3593// .operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_insertion_pickup_delivery_strategy = 49;
3595 ::google::protobuf::internal::TSanWrite(&_impl_);
3596 _impl_.local_cheapest_insertion_pickup_delivery_strategy_ = 0;
3597 _impl_._has_bits_[1] &= ~0x00000200u;
3598}
3599inline ::operations_research::RoutingSearchParameters_PairInsertionStrategy RoutingSearchParameters::local_cheapest_insertion_pickup_delivery_strategy() const {
3600 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_cheapest_insertion_pickup_delivery_strategy)
3601 return _internal_local_cheapest_insertion_pickup_delivery_strategy();
3602}
3604 _internal_set_local_cheapest_insertion_pickup_delivery_strategy(value);
3605 _impl_._has_bits_[1] |= 0x00000200u;
3606 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.local_cheapest_insertion_pickup_delivery_strategy)
3607}
3608inline ::operations_research::RoutingSearchParameters_PairInsertionStrategy RoutingSearchParameters::_internal_local_cheapest_insertion_pickup_delivery_strategy() const {
3609 ::google::protobuf::internal::TSanRead(&_impl_);
3610 return static_cast<::operations_research::RoutingSearchParameters_PairInsertionStrategy>(_impl_.local_cheapest_insertion_pickup_delivery_strategy_);
3611}
3612inline void RoutingSearchParameters::_internal_set_local_cheapest_insertion_pickup_delivery_strategy(::operations_research::RoutingSearchParameters_PairInsertionStrategy value) {
3613 ::google::protobuf::internal::TSanWrite(&_impl_);
3614 _impl_.local_cheapest_insertion_pickup_delivery_strategy_ = value;
3615}
3616
3617// .operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_cost_insertion_pickup_delivery_strategy = 55;
3619 ::google::protobuf::internal::TSanWrite(&_impl_);
3620 _impl_.local_cheapest_cost_insertion_pickup_delivery_strategy_ = 0;
3621 _impl_._has_bits_[1] &= ~0x00020000u;
3622}
3623inline ::operations_research::RoutingSearchParameters_PairInsertionStrategy RoutingSearchParameters::local_cheapest_cost_insertion_pickup_delivery_strategy() const {
3624 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_cheapest_cost_insertion_pickup_delivery_strategy)
3625 return _internal_local_cheapest_cost_insertion_pickup_delivery_strategy();
3626}
3628 _internal_set_local_cheapest_cost_insertion_pickup_delivery_strategy(value);
3629 _impl_._has_bits_[1] |= 0x00020000u;
3630 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.local_cheapest_cost_insertion_pickup_delivery_strategy)
3631}
3632inline ::operations_research::RoutingSearchParameters_PairInsertionStrategy RoutingSearchParameters::_internal_local_cheapest_cost_insertion_pickup_delivery_strategy() const {
3633 ::google::protobuf::internal::TSanRead(&_impl_);
3634 return static_cast<::operations_research::RoutingSearchParameters_PairInsertionStrategy>(_impl_.local_cheapest_cost_insertion_pickup_delivery_strategy_);
3635}
3636inline void RoutingSearchParameters::_internal_set_local_cheapest_cost_insertion_pickup_delivery_strategy(::operations_research::RoutingSearchParameters_PairInsertionStrategy value) {
3637 ::google::protobuf::internal::TSanWrite(&_impl_);
3638 _impl_.local_cheapest_cost_insertion_pickup_delivery_strategy_ = value;
3639}
3640
3641// repeated .operations_research.RoutingSearchParameters.InsertionSortingProperty local_cheapest_insertion_sorting_properties = 67;
3642inline int RoutingSearchParameters::_internal_local_cheapest_insertion_sorting_properties_size() const {
3643 return _internal_local_cheapest_insertion_sorting_properties().size();
3644}
3646 return _internal_local_cheapest_insertion_sorting_properties_size();
3647}
3649 ::google::protobuf::internal::TSanWrite(&_impl_);
3650 _impl_.local_cheapest_insertion_sorting_properties_.Clear();
3651}
3652inline ::operations_research::RoutingSearchParameters_InsertionSortingProperty RoutingSearchParameters::local_cheapest_insertion_sorting_properties(int index) const {
3653 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_cheapest_insertion_sorting_properties)
3654 return static_cast<::operations_research::RoutingSearchParameters_InsertionSortingProperty>(_internal_local_cheapest_insertion_sorting_properties().Get(index));
3657 _internal_mutable_local_cheapest_insertion_sorting_properties()->Set(index, value);
3658 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.local_cheapest_insertion_sorting_properties)
3659}
3661 ::google::protobuf::internal::TSanWrite(&_impl_);
3662 _internal_mutable_local_cheapest_insertion_sorting_properties()->Add(value);
3663 // @@protoc_insertion_point(field_add:operations_research.RoutingSearchParameters.local_cheapest_insertion_sorting_properties)
3664}
3665inline const ::google::protobuf::RepeatedField<int>& RoutingSearchParameters::local_cheapest_insertion_sorting_properties() const
3666 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3667 // @@protoc_insertion_point(field_list:operations_research.RoutingSearchParameters.local_cheapest_insertion_sorting_properties)
3668 return _internal_local_cheapest_insertion_sorting_properties();
3669}
3670inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL RoutingSearchParameters::mutable_local_cheapest_insertion_sorting_properties()
3671 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3672 // @@protoc_insertion_point(field_mutable_list:operations_research.RoutingSearchParameters.local_cheapest_insertion_sorting_properties)
3673 ::google::protobuf::internal::TSanWrite(&_impl_);
3674 return _internal_mutable_local_cheapest_insertion_sorting_properties();
3676inline const ::google::protobuf::RepeatedField<int>& RoutingSearchParameters::_internal_local_cheapest_insertion_sorting_properties()
3677 const {
3678 ::google::protobuf::internal::TSanRead(&_impl_);
3679 return _impl_.local_cheapest_insertion_sorting_properties_;
3681inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL
3682RoutingSearchParameters::_internal_mutable_local_cheapest_insertion_sorting_properties() {
3683 ::google::protobuf::internal::TSanRead(&_impl_);
3684 return &_impl_.local_cheapest_insertion_sorting_properties_;
3685}
3686
3687// bool christofides_use_minimum_matching = 30;
3689 ::google::protobuf::internal::TSanWrite(&_impl_);
3690 _impl_.christofides_use_minimum_matching_ = false;
3691 _impl_._has_bits_[0] &= ~0x10000000u;
3692}
3694 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.christofides_use_minimum_matching)
3695 return _internal_christofides_use_minimum_matching();
3696}
3698 _internal_set_christofides_use_minimum_matching(value);
3699 _impl_._has_bits_[0] |= 0x10000000u;
3700 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.christofides_use_minimum_matching)
3701}
3702inline bool RoutingSearchParameters::_internal_christofides_use_minimum_matching() const {
3703 ::google::protobuf::internal::TSanRead(&_impl_);
3704 return _impl_.christofides_use_minimum_matching_;
3705}
3706inline void RoutingSearchParameters::_internal_set_christofides_use_minimum_matching(bool value) {
3707 ::google::protobuf::internal::TSanWrite(&_impl_);
3708 _impl_.christofides_use_minimum_matching_ = value;
3709}
3710
3711// int32 first_solution_optimization_period = 59;
3713 ::google::protobuf::internal::TSanWrite(&_impl_);
3714 _impl_.first_solution_optimization_period_ = 0;
3715 _impl_._has_bits_[1] &= ~0x00080000u;
3716}
3718 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.first_solution_optimization_period)
3719 return _internal_first_solution_optimization_period();
3720}
3722 _internal_set_first_solution_optimization_period(value);
3723 _impl_._has_bits_[1] |= 0x00080000u;
3724 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.first_solution_optimization_period)
3725}
3726inline ::int32_t RoutingSearchParameters::_internal_first_solution_optimization_period() const {
3727 ::google::protobuf::internal::TSanRead(&_impl_);
3728 return _impl_.first_solution_optimization_period_;
3729}
3730inline void RoutingSearchParameters::_internal_set_first_solution_optimization_period(::int32_t value) {
3731 ::google::protobuf::internal::TSanWrite(&_impl_);
3732 _impl_.first_solution_optimization_period_ = value;
3733}
3734
3735// .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
3737 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
3738 PROTOBUF_ASSUME(!value || _impl_.local_search_operators_ != nullptr);
3739 return value;
3740}
3742 ::google::protobuf::internal::TSanWrite(&_impl_);
3743 if (_impl_.local_search_operators_ != nullptr) _impl_.local_search_operators_->Clear();
3744 _impl_._has_bits_[0] &= ~0x00000002u;
3745}
3746inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::_internal_local_search_operators() const {
3747 ::google::protobuf::internal::TSanRead(&_impl_);
3748 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* p = _impl_.local_search_operators_;
3750}
3751inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::local_search_operators() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3752 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_operators)
3753 return _internal_local_search_operators();
3754}
3757 ::google::protobuf::internal::TSanWrite(&_impl_);
3758 if (GetArena() == nullptr) {
3759 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.local_search_operators_);
3760 }
3762 if (value != nullptr) {
3763 _impl_._has_bits_[0] |= 0x00000002u;
3764 } else {
3765 _impl_._has_bits_[0] &= ~0x00000002u;
3766 }
3767 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
3768}
3769inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NULLABLE RoutingSearchParameters::release_local_search_operators() {
3770 ::google::protobuf::internal::TSanWrite(&_impl_);
3771
3772 _impl_._has_bits_[0] &= ~0x00000002u;
3774 _impl_.local_search_operators_ = nullptr;
3775 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
3776 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
3777 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3778 if (GetArena() == nullptr) {
3779 delete old;
3780 }
3781 } else {
3782 if (GetArena() != nullptr) {
3783 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
3784 }
3785 }
3786 return released;
3787}
3788inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_local_search_operators() {
3789 ::google::protobuf::internal::TSanWrite(&_impl_);
3790 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.local_search_operators)
3791
3792 _impl_._has_bits_[0] &= ~0x00000002u;
3793 ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* temp = _impl_.local_search_operators_;
3794 _impl_.local_search_operators_ = nullptr;
3795 return temp;
3796}
3797inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_local_search_operators() {
3798 ::google::protobuf::internal::TSanWrite(&_impl_);
3799 if (_impl_.local_search_operators_ == nullptr) {
3800 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(GetArena());
3801 _impl_.local_search_operators_ = reinterpret_cast<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(p);
3802 }
3803 return _impl_.local_search_operators_;
3804}
3805inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NONNULL RoutingSearchParameters::mutable_local_search_operators()
3806 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3807 _impl_._has_bits_[0] |= 0x00000002u;
3808 ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* _msg = _internal_mutable_local_search_operators();
3809 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.local_search_operators)
3810 return _msg;
3811}
3812inline void RoutingSearchParameters::set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* PROTOBUF_NULLABLE value) {
3813 ::google::protobuf::Arena* message_arena = GetArena();
3814 ::google::protobuf::internal::TSanWrite(&_impl_);
3815 if (message_arena == nullptr) {
3816 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.local_search_operators_);
3817 }
3818
3819 if (value != nullptr) {
3820 ::google::protobuf::Arena* submessage_arena = value->GetArena();
3821 if (message_arena != submessage_arena) {
3822 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
3823 }
3824 _impl_._has_bits_[0] |= 0x00000002u;
3825 } else {
3826 _impl_._has_bits_[0] &= ~0x00000002u;
3827 }
3828
3829 _impl_.local_search_operators_ = reinterpret_cast<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators*>(value);
3830 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.local_search_operators)
3831}
3832
3833// double ls_operator_neighbors_ratio = 53;
3835 ::google::protobuf::internal::TSanWrite(&_impl_);
3836 _impl_.ls_operator_neighbors_ratio_ = 0;
3837 _impl_._has_bits_[1] &= ~0x00008000u;
3838}
3840 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.ls_operator_neighbors_ratio)
3841 return _internal_ls_operator_neighbors_ratio();
3842}
3844 _internal_set_ls_operator_neighbors_ratio(value);
3845 _impl_._has_bits_[1] |= 0x00008000u;
3846 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.ls_operator_neighbors_ratio)
3847}
3848inline double RoutingSearchParameters::_internal_ls_operator_neighbors_ratio() const {
3849 ::google::protobuf::internal::TSanRead(&_impl_);
3850 return _impl_.ls_operator_neighbors_ratio_;
3851}
3852inline void RoutingSearchParameters::_internal_set_ls_operator_neighbors_ratio(double value) {
3853 ::google::protobuf::internal::TSanWrite(&_impl_);
3854 _impl_.ls_operator_neighbors_ratio_ = value;
3855}
3856
3857// int32 ls_operator_min_neighbors = 54;
3859 ::google::protobuf::internal::TSanWrite(&_impl_);
3860 _impl_.ls_operator_min_neighbors_ = 0;
3861 _impl_._has_bits_[1] &= ~0x00010000u;
3862}
3864 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.ls_operator_min_neighbors)
3865 return _internal_ls_operator_min_neighbors();
3866}
3867inline void RoutingSearchParameters::set_ls_operator_min_neighbors(::int32_t value) {
3868 _internal_set_ls_operator_min_neighbors(value);
3869 _impl_._has_bits_[1] |= 0x00010000u;
3870 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.ls_operator_min_neighbors)
3871}
3872inline ::int32_t RoutingSearchParameters::_internal_ls_operator_min_neighbors() const {
3873 ::google::protobuf::internal::TSanRead(&_impl_);
3874 return _impl_.ls_operator_min_neighbors_;
3875}
3876inline void RoutingSearchParameters::_internal_set_ls_operator_min_neighbors(::int32_t value) {
3877 ::google::protobuf::internal::TSanWrite(&_impl_);
3878 _impl_.ls_operator_min_neighbors_ = value;
3879}
3880
3881// bool use_multi_armed_bandit_concatenate_operators = 41;
3883 ::google::protobuf::internal::TSanWrite(&_impl_);
3884 _impl_.use_multi_armed_bandit_concatenate_operators_ = false;
3885 _impl_._has_bits_[0] &= ~0x40000000u;
3886}
3888 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_multi_armed_bandit_concatenate_operators)
3889 return _internal_use_multi_armed_bandit_concatenate_operators();
3890}
3892 _internal_set_use_multi_armed_bandit_concatenate_operators(value);
3893 _impl_._has_bits_[0] |= 0x40000000u;
3894 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_multi_armed_bandit_concatenate_operators)
3895}
3896inline bool RoutingSearchParameters::_internal_use_multi_armed_bandit_concatenate_operators() const {
3897 ::google::protobuf::internal::TSanRead(&_impl_);
3898 return _impl_.use_multi_armed_bandit_concatenate_operators_;
3899}
3900inline void RoutingSearchParameters::_internal_set_use_multi_armed_bandit_concatenate_operators(bool value) {
3901 ::google::protobuf::internal::TSanWrite(&_impl_);
3902 _impl_.use_multi_armed_bandit_concatenate_operators_ = value;
3903}
3904
3905// double multi_armed_bandit_compound_operator_memory_coefficient = 42;
3907 ::google::protobuf::internal::TSanWrite(&_impl_);
3908 _impl_.multi_armed_bandit_compound_operator_memory_coefficient_ = 0;
3909 _impl_._has_bits_[1] &= ~0x00000010u;
3910}
3912 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_memory_coefficient)
3913 return _internal_multi_armed_bandit_compound_operator_memory_coefficient();
3914}
3916 _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(value);
3917 _impl_._has_bits_[1] |= 0x00000010u;
3918 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_memory_coefficient)
3919}
3920inline double RoutingSearchParameters::_internal_multi_armed_bandit_compound_operator_memory_coefficient() const {
3921 ::google::protobuf::internal::TSanRead(&_impl_);
3922 return _impl_.multi_armed_bandit_compound_operator_memory_coefficient_;
3923}
3924inline void RoutingSearchParameters::_internal_set_multi_armed_bandit_compound_operator_memory_coefficient(double value) {
3925 ::google::protobuf::internal::TSanWrite(&_impl_);
3926 _impl_.multi_armed_bandit_compound_operator_memory_coefficient_ = value;
3927}
3928
3929// double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
3931 ::google::protobuf::internal::TSanWrite(&_impl_);
3932 _impl_.multi_armed_bandit_compound_operator_exploration_coefficient_ = 0;
3933 _impl_._has_bits_[1] &= ~0x00000020u;
3934}
3936 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_exploration_coefficient)
3937 return _internal_multi_armed_bandit_compound_operator_exploration_coefficient();
3938}
3940 _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(value);
3941 _impl_._has_bits_[1] |= 0x00000020u;
3942 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.multi_armed_bandit_compound_operator_exploration_coefficient)
3943}
3944inline double RoutingSearchParameters::_internal_multi_armed_bandit_compound_operator_exploration_coefficient() const {
3945 ::google::protobuf::internal::TSanRead(&_impl_);
3946 return _impl_.multi_armed_bandit_compound_operator_exploration_coefficient_;
3947}
3948inline void RoutingSearchParameters::_internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(double value) {
3949 ::google::protobuf::internal::TSanWrite(&_impl_);
3950 _impl_.multi_armed_bandit_compound_operator_exploration_coefficient_ = value;
3951}
3952
3953// int32 max_swap_active_chain_size = 66;
3955 ::google::protobuf::internal::TSanWrite(&_impl_);
3956 _impl_.max_swap_active_chain_size_ = 0;
3957 _impl_._has_bits_[1] &= ~0x01000000u;
3958}
3960 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.max_swap_active_chain_size)
3961 return _internal_max_swap_active_chain_size();
3962}
3964 _internal_set_max_swap_active_chain_size(value);
3965 _impl_._has_bits_[1] |= 0x01000000u;
3966 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.max_swap_active_chain_size)
3967}
3968inline ::int32_t RoutingSearchParameters::_internal_max_swap_active_chain_size() const {
3969 ::google::protobuf::internal::TSanRead(&_impl_);
3970 return _impl_.max_swap_active_chain_size_;
3971}
3972inline void RoutingSearchParameters::_internal_set_max_swap_active_chain_size(::int32_t value) {
3973 ::google::protobuf::internal::TSanWrite(&_impl_);
3974 _impl_.max_swap_active_chain_size_ = value;
3975}
3976
3977// int32 relocate_expensive_chain_num_arcs_to_consider = 20;
3979 ::google::protobuf::internal::TSanWrite(&_impl_);
3980 _impl_.relocate_expensive_chain_num_arcs_to_consider_ = 0;
3981 _impl_._has_bits_[0] &= ~0x00800000u;
3982}
3984 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
3985 return _internal_relocate_expensive_chain_num_arcs_to_consider();
3986}
3988 _internal_set_relocate_expensive_chain_num_arcs_to_consider(value);
3989 _impl_._has_bits_[0] |= 0x00800000u;
3990 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.relocate_expensive_chain_num_arcs_to_consider)
3991}
3992inline ::int32_t RoutingSearchParameters::_internal_relocate_expensive_chain_num_arcs_to_consider() const {
3993 ::google::protobuf::internal::TSanRead(&_impl_);
3994 return _impl_.relocate_expensive_chain_num_arcs_to_consider_;
3995}
3996inline void RoutingSearchParameters::_internal_set_relocate_expensive_chain_num_arcs_to_consider(::int32_t value) {
3997 ::google::protobuf::internal::TSanWrite(&_impl_);
3998 _impl_.relocate_expensive_chain_num_arcs_to_consider_ = value;
3999}
4000
4001// int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
4003 ::google::protobuf::internal::TSanWrite(&_impl_);
4004 _impl_.heuristic_expensive_chain_lns_num_arcs_to_consider_ = 0;
4005 _impl_._has_bits_[1] &= ~0x00000001u;
4006}
4008 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.heuristic_expensive_chain_lns_num_arcs_to_consider)
4009 return _internal_heuristic_expensive_chain_lns_num_arcs_to_consider();
4010}
4012 _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(value);
4013 _impl_._has_bits_[1] |= 0x00000001u;
4014 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.heuristic_expensive_chain_lns_num_arcs_to_consider)
4015}
4016inline ::int32_t RoutingSearchParameters::_internal_heuristic_expensive_chain_lns_num_arcs_to_consider() const {
4017 ::google::protobuf::internal::TSanRead(&_impl_);
4018 return _impl_.heuristic_expensive_chain_lns_num_arcs_to_consider_;
4019}
4020inline void RoutingSearchParameters::_internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(::int32_t value) {
4021 ::google::protobuf::internal::TSanWrite(&_impl_);
4022 _impl_.heuristic_expensive_chain_lns_num_arcs_to_consider_ = value;
4023}
4024
4025// int32 heuristic_close_nodes_lns_num_nodes = 35;
4027 ::google::protobuf::internal::TSanWrite(&_impl_);
4028 _impl_.heuristic_close_nodes_lns_num_nodes_ = 0;
4029 _impl_._has_bits_[1] &= ~0x00000008u;
4030}
4032 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.heuristic_close_nodes_lns_num_nodes)
4033 return _internal_heuristic_close_nodes_lns_num_nodes();
4034}
4036 _internal_set_heuristic_close_nodes_lns_num_nodes(value);
4037 _impl_._has_bits_[1] |= 0x00000008u;
4038 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.heuristic_close_nodes_lns_num_nodes)
4039}
4040inline ::int32_t RoutingSearchParameters::_internal_heuristic_close_nodes_lns_num_nodes() const {
4041 ::google::protobuf::internal::TSanRead(&_impl_);
4042 return _impl_.heuristic_close_nodes_lns_num_nodes_;
4043}
4044inline void RoutingSearchParameters::_internal_set_heuristic_close_nodes_lns_num_nodes(::int32_t value) {
4045 ::google::protobuf::internal::TSanWrite(&_impl_);
4046 _impl_.heuristic_close_nodes_lns_num_nodes_ = value;
4047}
4048
4049// .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
4051 ::google::protobuf::internal::TSanWrite(&_impl_);
4052 _impl_.local_search_metaheuristic_ = 0;
4053 _impl_._has_bits_[0] &= ~0x00000100u;
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 _impl_._has_bits_[0] |= 0x00000100u;
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}
4084inline ::operations_research::LocalSearchMetaheuristic_Value RoutingSearchParameters::local_search_metaheuristics(int index) const {
4085 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.local_search_metaheuristics)
4086 return static_cast<::operations_research::LocalSearchMetaheuristic_Value>(_internal_local_search_metaheuristics().Get(index));
4089 _internal_mutable_local_search_metaheuristics()->Set(index, value);
4090 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.local_search_metaheuristics)
4091}
4093 ::google::protobuf::internal::TSanWrite(&_impl_);
4094 _internal_mutable_local_search_metaheuristics()->Add(value);
4095 // @@protoc_insertion_point(field_add:operations_research.RoutingSearchParameters.local_search_metaheuristics)
4096}
4097inline const ::google::protobuf::RepeatedField<int>& RoutingSearchParameters::local_search_metaheuristics() const
4098 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4099 // @@protoc_insertion_point(field_list:operations_research.RoutingSearchParameters.local_search_metaheuristics)
4100 return _internal_local_search_metaheuristics();
4101}
4102inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL RoutingSearchParameters::mutable_local_search_metaheuristics()
4103 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4104 // @@protoc_insertion_point(field_mutable_list:operations_research.RoutingSearchParameters.local_search_metaheuristics)
4105 ::google::protobuf::internal::TSanWrite(&_impl_);
4106 return _internal_mutable_local_search_metaheuristics();
4108inline const ::google::protobuf::RepeatedField<int>& RoutingSearchParameters::_internal_local_search_metaheuristics()
4109 const {
4110 ::google::protobuf::internal::TSanRead(&_impl_);
4111 return _impl_.local_search_metaheuristics_;
4113inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL
4114RoutingSearchParameters::_internal_mutable_local_search_metaheuristics() {
4115 ::google::protobuf::internal::TSanRead(&_impl_);
4116 return &_impl_.local_search_metaheuristics_;
4117}
4118
4119// int32 num_max_local_optima_before_metaheuristic_switch = 64;
4121 ::google::protobuf::internal::TSanWrite(&_impl_);
4122 _impl_.num_max_local_optima_before_metaheuristic_switch_ = 0;
4123 _impl_._has_bits_[1] &= ~0x00800000u;
4124}
4126 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.num_max_local_optima_before_metaheuristic_switch)
4127 return _internal_num_max_local_optima_before_metaheuristic_switch();
4128}
4130 _internal_set_num_max_local_optima_before_metaheuristic_switch(value);
4131 _impl_._has_bits_[1] |= 0x00800000u;
4132 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.num_max_local_optima_before_metaheuristic_switch)
4133}
4134inline ::int32_t RoutingSearchParameters::_internal_num_max_local_optima_before_metaheuristic_switch() const {
4135 ::google::protobuf::internal::TSanRead(&_impl_);
4136 return _impl_.num_max_local_optima_before_metaheuristic_switch_;
4137}
4138inline void RoutingSearchParameters::_internal_set_num_max_local_optima_before_metaheuristic_switch(::int32_t value) {
4139 ::google::protobuf::internal::TSanWrite(&_impl_);
4140 _impl_.num_max_local_optima_before_metaheuristic_switch_ = value;
4141}
4142
4143// double guided_local_search_lambda_coefficient = 5;
4145 ::google::protobuf::internal::TSanWrite(&_impl_);
4146 _impl_.guided_local_search_lambda_coefficient_ = 0;
4147 _impl_._has_bits_[0] &= ~0x00000200u;
4148}
4150 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
4151 return _internal_guided_local_search_lambda_coefficient();
4152}
4154 _internal_set_guided_local_search_lambda_coefficient(value);
4155 _impl_._has_bits_[0] |= 0x00000200u;
4156 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.guided_local_search_lambda_coefficient)
4157}
4158inline double RoutingSearchParameters::_internal_guided_local_search_lambda_coefficient() const {
4159 ::google::protobuf::internal::TSanRead(&_impl_);
4160 return _impl_.guided_local_search_lambda_coefficient_;
4161}
4162inline void RoutingSearchParameters::_internal_set_guided_local_search_lambda_coefficient(double value) {
4163 ::google::protobuf::internal::TSanWrite(&_impl_);
4164 _impl_.guided_local_search_lambda_coefficient_ = value;
4165}
4166
4167// bool guided_local_search_reset_penalties_on_new_best_solution = 51;
4169 ::google::protobuf::internal::TSanWrite(&_impl_);
4170 _impl_.guided_local_search_reset_penalties_on_new_best_solution_ = false;
4171 _impl_._has_bits_[1] &= ~0x00001000u;
4172}
4174 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.guided_local_search_reset_penalties_on_new_best_solution)
4175 return _internal_guided_local_search_reset_penalties_on_new_best_solution();
4176}
4178 _internal_set_guided_local_search_reset_penalties_on_new_best_solution(value);
4179 _impl_._has_bits_[1] |= 0x00001000u;
4180 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.guided_local_search_reset_penalties_on_new_best_solution)
4181}
4182inline bool RoutingSearchParameters::_internal_guided_local_search_reset_penalties_on_new_best_solution() const {
4183 ::google::protobuf::internal::TSanRead(&_impl_);
4184 return _impl_.guided_local_search_reset_penalties_on_new_best_solution_;
4185}
4186inline void RoutingSearchParameters::_internal_set_guided_local_search_reset_penalties_on_new_best_solution(bool value) {
4187 ::google::protobuf::internal::TSanWrite(&_impl_);
4188 _impl_.guided_local_search_reset_penalties_on_new_best_solution_ = value;
4189}
4190
4191// bool guided_local_search_penalize_with_vehicle_classes = 61;
4193 ::google::protobuf::internal::TSanWrite(&_impl_);
4194 _impl_.guided_local_search_penalize_with_vehicle_classes_ = false;
4195 _impl_._has_bits_[1] &= ~0x00200000u;
4196}
4198 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.guided_local_search_penalize_with_vehicle_classes)
4199 return _internal_guided_local_search_penalize_with_vehicle_classes();
4200}
4202 _internal_set_guided_local_search_penalize_with_vehicle_classes(value);
4203 _impl_._has_bits_[1] |= 0x00200000u;
4204 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.guided_local_search_penalize_with_vehicle_classes)
4205}
4206inline bool RoutingSearchParameters::_internal_guided_local_search_penalize_with_vehicle_classes() const {
4207 ::google::protobuf::internal::TSanRead(&_impl_);
4208 return _impl_.guided_local_search_penalize_with_vehicle_classes_;
4209}
4210inline void RoutingSearchParameters::_internal_set_guided_local_search_penalize_with_vehicle_classes(bool value) {
4211 ::google::protobuf::internal::TSanWrite(&_impl_);
4212 _impl_.guided_local_search_penalize_with_vehicle_classes_ = value;
4213}
4214
4215// bool use_guided_local_search_penalties_in_local_search_operators = 62;
4217 ::google::protobuf::internal::TSanWrite(&_impl_);
4218 _impl_.use_guided_local_search_penalties_in_local_search_operators_ = false;
4219 _impl_._has_bits_[1] &= ~0x00400000u;
4220}
4222 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_guided_local_search_penalties_in_local_search_operators)
4223 return _internal_use_guided_local_search_penalties_in_local_search_operators();
4224}
4226 _internal_set_use_guided_local_search_penalties_in_local_search_operators(value);
4227 _impl_._has_bits_[1] |= 0x00400000u;
4228 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_guided_local_search_penalties_in_local_search_operators)
4229}
4230inline bool RoutingSearchParameters::_internal_use_guided_local_search_penalties_in_local_search_operators() const {
4231 ::google::protobuf::internal::TSanRead(&_impl_);
4232 return _impl_.use_guided_local_search_penalties_in_local_search_operators_;
4233}
4234inline void RoutingSearchParameters::_internal_set_use_guided_local_search_penalties_in_local_search_operators(bool value) {
4235 ::google::protobuf::internal::TSanWrite(&_impl_);
4236 _impl_.use_guided_local_search_penalties_in_local_search_operators_ = value;
4237}
4238
4239// bool use_depth_first_search = 6;
4241 ::google::protobuf::internal::TSanWrite(&_impl_);
4242 _impl_.use_depth_first_search_ = false;
4243 _impl_._has_bits_[0] &= ~0x00002000u;
4244}
4246 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_depth_first_search)
4247 return _internal_use_depth_first_search();
4248}
4250 _internal_set_use_depth_first_search(value);
4251 _impl_._has_bits_[0] |= 0x00002000u;
4252 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_depth_first_search)
4253}
4254inline bool RoutingSearchParameters::_internal_use_depth_first_search() const {
4255 ::google::protobuf::internal::TSanRead(&_impl_);
4256 return _impl_.use_depth_first_search_;
4257}
4258inline void RoutingSearchParameters::_internal_set_use_depth_first_search(bool value) {
4259 ::google::protobuf::internal::TSanWrite(&_impl_);
4260 _impl_.use_depth_first_search_ = value;
4261}
4262
4263// .operations_research.OptionalBoolean use_cp = 28;
4265 ::google::protobuf::internal::TSanWrite(&_impl_);
4266 _impl_.use_cp_ = 0;
4267 _impl_._has_bits_[0] &= ~0x04000000u;
4268}
4269inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp() const {
4270 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp)
4271 return _internal_use_cp();
4272}
4274 _internal_set_use_cp(value);
4275 _impl_._has_bits_[0] |= 0x04000000u;
4276 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp)
4277}
4278inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp() const {
4279 ::google::protobuf::internal::TSanRead(&_impl_);
4280 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_cp_);
4281}
4282inline void RoutingSearchParameters::_internal_set_use_cp(::operations_research::OptionalBoolean value) {
4283 ::google::protobuf::internal::TSanWrite(&_impl_);
4284 _impl_.use_cp_ = value;
4285}
4286
4287// .operations_research.OptionalBoolean use_cp_sat = 27;
4289 ::google::protobuf::internal::TSanWrite(&_impl_);
4290 _impl_.use_cp_sat_ = 0;
4291 _impl_._has_bits_[0] &= ~0x01000000u;
4292}
4293inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_cp_sat() const {
4294 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_cp_sat)
4295 return _internal_use_cp_sat();
4296}
4298 _internal_set_use_cp_sat(value);
4299 _impl_._has_bits_[0] |= 0x01000000u;
4300 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_cp_sat)
4301}
4302inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_cp_sat() const {
4303 ::google::protobuf::internal::TSanRead(&_impl_);
4304 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_cp_sat_);
4305}
4306inline void RoutingSearchParameters::_internal_set_use_cp_sat(::operations_research::OptionalBoolean value) {
4307 ::google::protobuf::internal::TSanWrite(&_impl_);
4308 _impl_.use_cp_sat_ = value;
4309}
4310
4311// .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
4313 ::google::protobuf::internal::TSanWrite(&_impl_);
4314 _impl_.use_generalized_cp_sat_ = 0;
4315 _impl_._has_bits_[1] &= ~0x00000100u;
4316}
4317inline ::operations_research::OptionalBoolean RoutingSearchParameters::use_generalized_cp_sat() const {
4318 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_generalized_cp_sat)
4319 return _internal_use_generalized_cp_sat();
4320}
4322 _internal_set_use_generalized_cp_sat(value);
4323 _impl_._has_bits_[1] |= 0x00000100u;
4324 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_generalized_cp_sat)
4325}
4326inline ::operations_research::OptionalBoolean RoutingSearchParameters::_internal_use_generalized_cp_sat() const {
4327 ::google::protobuf::internal::TSanRead(&_impl_);
4328 return static_cast<::operations_research::OptionalBoolean>(_impl_.use_generalized_cp_sat_);
4329}
4330inline void RoutingSearchParameters::_internal_set_use_generalized_cp_sat(::operations_research::OptionalBoolean value) {
4331 ::google::protobuf::internal::TSanWrite(&_impl_);
4332 _impl_.use_generalized_cp_sat_ = value;
4333}
4334
4335// .operations_research.sat.SatParameters sat_parameters = 48;
4337 bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
4338 PROTOBUF_ASSUME(!value || _impl_.sat_parameters_ != nullptr);
4339 return value;
4340}
4341inline const ::operations_research::sat::SatParameters& RoutingSearchParameters::_internal_sat_parameters() const {
4342 ::google::protobuf::internal::TSanRead(&_impl_);
4343 const ::operations_research::sat::SatParameters* p = _impl_.sat_parameters_;
4345}
4346inline const ::operations_research::sat::SatParameters& RoutingSearchParameters::sat_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4347 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.sat_parameters)
4348 return _internal_sat_parameters();
4349}
4351 ::operations_research::sat::SatParameters* PROTOBUF_NULLABLE value) {
4352 ::google::protobuf::internal::TSanWrite(&_impl_);
4353 if (GetArena() == nullptr) {
4354 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.sat_parameters_);
4355 }
4356 _impl_.sat_parameters_ = reinterpret_cast<::operations_research::sat::SatParameters*>(value);
4357 if (value != nullptr) {
4358 _impl_._has_bits_[0] |= 0x00000020u;
4359 } else {
4360 _impl_._has_bits_[0] &= ~0x00000020u;
4361 }
4362 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.sat_parameters)
4363}
4364inline ::operations_research::sat::SatParameters* PROTOBUF_NULLABLE RoutingSearchParameters::release_sat_parameters() {
4365 ::google::protobuf::internal::TSanWrite(&_impl_);
4366
4367 _impl_._has_bits_[0] &= ~0x00000020u;
4368 ::operations_research::sat::SatParameters* released = _impl_.sat_parameters_;
4369 _impl_.sat_parameters_ = nullptr;
4370 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4371 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
4372 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4373 if (GetArena() == nullptr) {
4374 delete old;
4375 }
4376 } else {
4377 if (GetArena() != nullptr) {
4378 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4379 }
4380 }
4381 return released;
4382}
4383inline ::operations_research::sat::SatParameters* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_sat_parameters() {
4384 ::google::protobuf::internal::TSanWrite(&_impl_);
4385 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.sat_parameters)
4386
4387 _impl_._has_bits_[0] &= ~0x00000020u;
4388 ::operations_research::sat::SatParameters* temp = _impl_.sat_parameters_;
4389 _impl_.sat_parameters_ = nullptr;
4390 return temp;
4391}
4392inline ::operations_research::sat::SatParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_sat_parameters() {
4393 ::google::protobuf::internal::TSanWrite(&_impl_);
4394 if (_impl_.sat_parameters_ == nullptr) {
4395 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::sat::SatParameters>(GetArena());
4396 _impl_.sat_parameters_ = reinterpret_cast<::operations_research::sat::SatParameters*>(p);
4397 }
4398 return _impl_.sat_parameters_;
4399}
4400inline ::operations_research::sat::SatParameters* PROTOBUF_NONNULL RoutingSearchParameters::mutable_sat_parameters()
4401 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4402 _impl_._has_bits_[0] |= 0x00000020u;
4403 ::operations_research::sat::SatParameters* _msg = _internal_mutable_sat_parameters();
4404 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.sat_parameters)
4405 return _msg;
4406}
4407inline void RoutingSearchParameters::set_allocated_sat_parameters(::operations_research::sat::SatParameters* PROTOBUF_NULLABLE value) {
4408 ::google::protobuf::Arena* message_arena = GetArena();
4409 ::google::protobuf::internal::TSanWrite(&_impl_);
4410 if (message_arena == nullptr) {
4411 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.sat_parameters_);
4412 }
4413
4414 if (value != nullptr) {
4415 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
4416 if (message_arena != submessage_arena) {
4417 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4418 }
4419 _impl_._has_bits_[0] |= 0x00000020u;
4420 } else {
4421 _impl_._has_bits_[0] &= ~0x00000020u;
4422 }
4423
4424 _impl_.sat_parameters_ = reinterpret_cast<::operations_research::sat::SatParameters*>(value);
4425 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.sat_parameters)
4426}
4427
4428// bool report_intermediate_cp_sat_solutions = 56;
4430 ::google::protobuf::internal::TSanWrite(&_impl_);
4431 _impl_.report_intermediate_cp_sat_solutions_ = false;
4432 _impl_._has_bits_[1] &= ~0x00002000u;
4433}
4435 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.report_intermediate_cp_sat_solutions)
4436 return _internal_report_intermediate_cp_sat_solutions();
4437}
4439 _internal_set_report_intermediate_cp_sat_solutions(value);
4440 _impl_._has_bits_[1] |= 0x00002000u;
4441 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.report_intermediate_cp_sat_solutions)
4442}
4443inline bool RoutingSearchParameters::_internal_report_intermediate_cp_sat_solutions() const {
4444 ::google::protobuf::internal::TSanRead(&_impl_);
4445 return _impl_.report_intermediate_cp_sat_solutions_;
4446}
4447inline void RoutingSearchParameters::_internal_set_report_intermediate_cp_sat_solutions(bool value) {
4448 ::google::protobuf::internal::TSanWrite(&_impl_);
4449 _impl_.report_intermediate_cp_sat_solutions_ = value;
4450}
4451
4452// int32 fallback_to_cp_sat_size_threshold = 52;
4454 ::google::protobuf::internal::TSanWrite(&_impl_);
4455 _impl_.fallback_to_cp_sat_size_threshold_ = 0;
4456 _impl_._has_bits_[1] &= ~0x00004000u;
4457}
4459 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.fallback_to_cp_sat_size_threshold)
4460 return _internal_fallback_to_cp_sat_size_threshold();
4461}
4463 _internal_set_fallback_to_cp_sat_size_threshold(value);
4464 _impl_._has_bits_[1] |= 0x00004000u;
4465 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.fallback_to_cp_sat_size_threshold)
4466}
4467inline ::int32_t RoutingSearchParameters::_internal_fallback_to_cp_sat_size_threshold() const {
4468 ::google::protobuf::internal::TSanRead(&_impl_);
4469 return _impl_.fallback_to_cp_sat_size_threshold_;
4470}
4471inline void RoutingSearchParameters::_internal_set_fallback_to_cp_sat_size_threshold(::int32_t value) {
4472 ::google::protobuf::internal::TSanWrite(&_impl_);
4473 _impl_.fallback_to_cp_sat_size_threshold_ = value;
4474}
4475
4476// .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
4478 ::google::protobuf::internal::TSanWrite(&_impl_);
4479 _impl_.continuous_scheduling_solver_ = 0;
4480 _impl_._has_bits_[1] &= ~0x00000002u;
4481}
4482inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::continuous_scheduling_solver() const {
4483 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.continuous_scheduling_solver)
4484 return _internal_continuous_scheduling_solver();
4485}
4487 _internal_set_continuous_scheduling_solver(value);
4488 _impl_._has_bits_[1] |= 0x00000002u;
4489 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.continuous_scheduling_solver)
4490}
4491inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_continuous_scheduling_solver() const {
4492 ::google::protobuf::internal::TSanRead(&_impl_);
4493 return static_cast<::operations_research::RoutingSearchParameters_SchedulingSolver>(_impl_.continuous_scheduling_solver_);
4494}
4495inline void RoutingSearchParameters::_internal_set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
4496 ::google::protobuf::internal::TSanWrite(&_impl_);
4497 _impl_.continuous_scheduling_solver_ = value;
4498}
4499
4500// .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
4502 ::google::protobuf::internal::TSanWrite(&_impl_);
4503 _impl_.mixed_integer_scheduling_solver_ = 0;
4504 _impl_._has_bits_[1] &= ~0x00000004u;
4505}
4506inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::mixed_integer_scheduling_solver() const {
4507 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.mixed_integer_scheduling_solver)
4508 return _internal_mixed_integer_scheduling_solver();
4509}
4511 _internal_set_mixed_integer_scheduling_solver(value);
4512 _impl_._has_bits_[1] |= 0x00000004u;
4513 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.mixed_integer_scheduling_solver)
4514}
4515inline ::operations_research::RoutingSearchParameters_SchedulingSolver RoutingSearchParameters::_internal_mixed_integer_scheduling_solver() const {
4516 ::google::protobuf::internal::TSanRead(&_impl_);
4517 return static_cast<::operations_research::RoutingSearchParameters_SchedulingSolver>(_impl_.mixed_integer_scheduling_solver_);
4518}
4519inline void RoutingSearchParameters::_internal_set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value) {
4520 ::google::protobuf::internal::TSanWrite(&_impl_);
4521 _impl_.mixed_integer_scheduling_solver_ = value;
4522}
4523
4524// optional bool disable_scheduling_beware_this_may_degrade_performance = 50;
4526 bool value = (_impl_._has_bits_[1] & 0x00000800u) != 0;
4527 return value;
4528}
4530 ::google::protobuf::internal::TSanWrite(&_impl_);
4531 _impl_.disable_scheduling_beware_this_may_degrade_performance_ = false;
4532 _impl_._has_bits_[1] &= ~0x00000800u;
4533}
4535 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.disable_scheduling_beware_this_may_degrade_performance)
4536 return _internal_disable_scheduling_beware_this_may_degrade_performance();
4537}
4539 _internal_set_disable_scheduling_beware_this_may_degrade_performance(value);
4540 _impl_._has_bits_[1] |= 0x00000800u;
4541 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.disable_scheduling_beware_this_may_degrade_performance)
4542}
4543inline bool RoutingSearchParameters::_internal_disable_scheduling_beware_this_may_degrade_performance() const {
4544 ::google::protobuf::internal::TSanRead(&_impl_);
4545 return _impl_.disable_scheduling_beware_this_may_degrade_performance_;
4546}
4547inline void RoutingSearchParameters::_internal_set_disable_scheduling_beware_this_may_degrade_performance(bool value) {
4548 ::google::protobuf::internal::TSanWrite(&_impl_);
4549 _impl_.disable_scheduling_beware_this_may_degrade_performance_ = value;
4550}
4551
4552// double optimization_step = 7;
4554 ::google::protobuf::internal::TSanWrite(&_impl_);
4555 _impl_.optimization_step_ = 0;
4556 _impl_._has_bits_[0] &= ~0x00000400u;
4557}
4558inline double RoutingSearchParameters::optimization_step() const {
4559 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.optimization_step)
4560 return _internal_optimization_step();
4561}
4562inline void RoutingSearchParameters::set_optimization_step(double value) {
4563 _internal_set_optimization_step(value);
4564 _impl_._has_bits_[0] |= 0x00000400u;
4565 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.optimization_step)
4566}
4567inline double RoutingSearchParameters::_internal_optimization_step() const {
4568 ::google::protobuf::internal::TSanRead(&_impl_);
4569 return _impl_.optimization_step_;
4570}
4571inline void RoutingSearchParameters::_internal_set_optimization_step(double value) {
4572 ::google::protobuf::internal::TSanWrite(&_impl_);
4573 _impl_.optimization_step_ = value;
4574}
4575
4576// int32 number_of_solutions_to_collect = 17;
4578 ::google::protobuf::internal::TSanWrite(&_impl_);
4579 _impl_.number_of_solutions_to_collect_ = 0;
4580 _impl_._has_bits_[0] &= ~0x00010000u;
4581}
4583 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
4584 return _internal_number_of_solutions_to_collect();
4585}
4587 _internal_set_number_of_solutions_to_collect(value);
4588 _impl_._has_bits_[0] |= 0x00010000u;
4589 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.number_of_solutions_to_collect)
4590}
4591inline ::int32_t RoutingSearchParameters::_internal_number_of_solutions_to_collect() const {
4592 ::google::protobuf::internal::TSanRead(&_impl_);
4593 return _impl_.number_of_solutions_to_collect_;
4594}
4595inline void RoutingSearchParameters::_internal_set_number_of_solutions_to_collect(::int32_t value) {
4596 ::google::protobuf::internal::TSanWrite(&_impl_);
4597 _impl_.number_of_solutions_to_collect_ = value;
4598}
4599
4600// int64 solution_limit = 8;
4602 ::google::protobuf::internal::TSanWrite(&_impl_);
4603 _impl_.solution_limit_ = ::int64_t{0};
4604 _impl_._has_bits_[0] &= ~0x00000800u;
4605}
4606inline ::int64_t RoutingSearchParameters::solution_limit() const {
4607 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.solution_limit)
4608 return _internal_solution_limit();
4609}
4610inline void RoutingSearchParameters::set_solution_limit(::int64_t value) {
4611 _internal_set_solution_limit(value);
4612 _impl_._has_bits_[0] |= 0x00000800u;
4613 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.solution_limit)
4614}
4615inline ::int64_t RoutingSearchParameters::_internal_solution_limit() const {
4616 ::google::protobuf::internal::TSanRead(&_impl_);
4617 return _impl_.solution_limit_;
4618}
4619inline void RoutingSearchParameters::_internal_set_solution_limit(::int64_t value) {
4620 ::google::protobuf::internal::TSanWrite(&_impl_);
4621 _impl_.solution_limit_ = value;
4622}
4623
4624// .google.protobuf.Duration time_limit = 9;
4625inline bool RoutingSearchParameters::has_time_limit() const {
4626 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
4627 PROTOBUF_ASSUME(!value || _impl_.time_limit_ != nullptr);
4628 return value;
4629}
4630inline const ::google::protobuf::Duration& RoutingSearchParameters::_internal_time_limit() const {
4631 ::google::protobuf::internal::TSanRead(&_impl_);
4632 const ::google::protobuf::Duration* p = _impl_.time_limit_;
4633 return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::Duration&>(::google::protobuf::_Duration_default_instance_);
4634}
4635inline const ::google::protobuf::Duration& RoutingSearchParameters::time_limit() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4636 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.time_limit)
4637 return _internal_time_limit();
4638}
4640 ::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
4641 ::google::protobuf::internal::TSanWrite(&_impl_);
4642 if (GetArena() == nullptr) {
4643 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.time_limit_);
4644 }
4645 _impl_.time_limit_ = reinterpret_cast<::google::protobuf::Duration*>(value);
4646 if (value != nullptr) {
4647 _impl_._has_bits_[0] |= 0x00000004u;
4648 } else {
4649 _impl_._has_bits_[0] &= ~0x00000004u;
4650 }
4651 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.time_limit)
4652}
4653inline ::google::protobuf::Duration* PROTOBUF_NULLABLE RoutingSearchParameters::release_time_limit() {
4654 ::google::protobuf::internal::TSanWrite(&_impl_);
4655
4656 _impl_._has_bits_[0] &= ~0x00000004u;
4657 ::google::protobuf::Duration* released = _impl_.time_limit_;
4658 _impl_.time_limit_ = nullptr;
4659 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4660 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
4661 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4662 if (GetArena() == nullptr) {
4663 delete old;
4664 }
4665 } else {
4666 if (GetArena() != nullptr) {
4667 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4668 }
4669 }
4670 return released;
4671}
4672inline ::google::protobuf::Duration* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_time_limit() {
4673 ::google::protobuf::internal::TSanWrite(&_impl_);
4674 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.time_limit)
4675
4676 _impl_._has_bits_[0] &= ~0x00000004u;
4677 ::google::protobuf::Duration* temp = _impl_.time_limit_;
4678 _impl_.time_limit_ = nullptr;
4679 return temp;
4680}
4681inline ::google::protobuf::Duration* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_time_limit() {
4682 ::google::protobuf::internal::TSanWrite(&_impl_);
4683 if (_impl_.time_limit_ == nullptr) {
4684 auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena());
4685 _impl_.time_limit_ = reinterpret_cast<::google::protobuf::Duration*>(p);
4686 }
4687 return _impl_.time_limit_;
4688}
4689inline ::google::protobuf::Duration* PROTOBUF_NONNULL RoutingSearchParameters::mutable_time_limit()
4690 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4691 _impl_._has_bits_[0] |= 0x00000004u;
4692 ::google::protobuf::Duration* _msg = _internal_mutable_time_limit();
4693 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.time_limit)
4694 return _msg;
4695}
4696inline void RoutingSearchParameters::set_allocated_time_limit(::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
4697 ::google::protobuf::Arena* message_arena = GetArena();
4698 ::google::protobuf::internal::TSanWrite(&_impl_);
4699 if (message_arena == nullptr) {
4700 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.time_limit_);
4701 }
4702
4703 if (value != nullptr) {
4704 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
4705 if (message_arena != submessage_arena) {
4706 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4707 }
4708 _impl_._has_bits_[0] |= 0x00000004u;
4709 } else {
4710 _impl_._has_bits_[0] &= ~0x00000004u;
4711 }
4712
4713 _impl_.time_limit_ = reinterpret_cast<::google::protobuf::Duration*>(value);
4714 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.time_limit)
4715}
4716
4717// .google.protobuf.Duration lns_time_limit = 10;
4719 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
4720 PROTOBUF_ASSUME(!value || _impl_.lns_time_limit_ != nullptr);
4721 return value;
4722}
4723inline const ::google::protobuf::Duration& RoutingSearchParameters::_internal_lns_time_limit() const {
4724 ::google::protobuf::internal::TSanRead(&_impl_);
4725 const ::google::protobuf::Duration* p = _impl_.lns_time_limit_;
4726 return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::Duration&>(::google::protobuf::_Duration_default_instance_);
4727}
4728inline const ::google::protobuf::Duration& RoutingSearchParameters::lns_time_limit() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4729 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.lns_time_limit)
4730 return _internal_lns_time_limit();
4731}
4733 ::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
4734 ::google::protobuf::internal::TSanWrite(&_impl_);
4735 if (GetArena() == nullptr) {
4736 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.lns_time_limit_);
4737 }
4738 _impl_.lns_time_limit_ = reinterpret_cast<::google::protobuf::Duration*>(value);
4739 if (value != nullptr) {
4740 _impl_._has_bits_[0] |= 0x00000008u;
4741 } else {
4742 _impl_._has_bits_[0] &= ~0x00000008u;
4743 }
4744 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
4745}
4746inline ::google::protobuf::Duration* PROTOBUF_NULLABLE RoutingSearchParameters::release_lns_time_limit() {
4747 ::google::protobuf::internal::TSanWrite(&_impl_);
4748
4749 _impl_._has_bits_[0] &= ~0x00000008u;
4750 ::google::protobuf::Duration* released = _impl_.lns_time_limit_;
4751 _impl_.lns_time_limit_ = nullptr;
4752 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4753 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
4754 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4755 if (GetArena() == nullptr) {
4756 delete old;
4757 }
4758 } else {
4759 if (GetArena() != nullptr) {
4760 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4761 }
4762 }
4763 return released;
4764}
4765inline ::google::protobuf::Duration* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_lns_time_limit() {
4766 ::google::protobuf::internal::TSanWrite(&_impl_);
4767 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.lns_time_limit)
4768
4769 _impl_._has_bits_[0] &= ~0x00000008u;
4770 ::google::protobuf::Duration* temp = _impl_.lns_time_limit_;
4771 _impl_.lns_time_limit_ = nullptr;
4772 return temp;
4773}
4774inline ::google::protobuf::Duration* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_lns_time_limit() {
4775 ::google::protobuf::internal::TSanWrite(&_impl_);
4776 if (_impl_.lns_time_limit_ == nullptr) {
4777 auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Duration>(GetArena());
4778 _impl_.lns_time_limit_ = reinterpret_cast<::google::protobuf::Duration*>(p);
4779 }
4780 return _impl_.lns_time_limit_;
4781}
4782inline ::google::protobuf::Duration* PROTOBUF_NONNULL RoutingSearchParameters::mutable_lns_time_limit()
4783 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4784 _impl_._has_bits_[0] |= 0x00000008u;
4785 ::google::protobuf::Duration* _msg = _internal_mutable_lns_time_limit();
4786 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.lns_time_limit)
4787 return _msg;
4788}
4789inline void RoutingSearchParameters::set_allocated_lns_time_limit(::google::protobuf::Duration* PROTOBUF_NULLABLE value) {
4790 ::google::protobuf::Arena* message_arena = GetArena();
4791 ::google::protobuf::internal::TSanWrite(&_impl_);
4792 if (message_arena == nullptr) {
4793 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.lns_time_limit_);
4794 }
4795
4796 if (value != nullptr) {
4797 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
4798 if (message_arena != submessage_arena) {
4799 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4800 }
4801 _impl_._has_bits_[0] |= 0x00000008u;
4802 } else {
4803 _impl_._has_bits_[0] &= ~0x00000008u;
4804 }
4805
4806 _impl_.lns_time_limit_ = reinterpret_cast<::google::protobuf::Duration*>(value);
4807 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.lns_time_limit)
4808}
4809
4810// double secondary_ls_time_limit_ratio = 57;
4812 ::google::protobuf::internal::TSanWrite(&_impl_);
4813 _impl_.secondary_ls_time_limit_ratio_ = 0;
4814 _impl_._has_bits_[1] &= ~0x00040000u;
4815}
4817 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.secondary_ls_time_limit_ratio)
4818 return _internal_secondary_ls_time_limit_ratio();
4819}
4821 _internal_set_secondary_ls_time_limit_ratio(value);
4822 _impl_._has_bits_[1] |= 0x00040000u;
4823 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.secondary_ls_time_limit_ratio)
4824}
4825inline double RoutingSearchParameters::_internal_secondary_ls_time_limit_ratio() const {
4826 ::google::protobuf::internal::TSanRead(&_impl_);
4827 return _impl_.secondary_ls_time_limit_ratio_;
4828}
4829inline void RoutingSearchParameters::_internal_set_secondary_ls_time_limit_ratio(double value) {
4830 ::google::protobuf::internal::TSanWrite(&_impl_);
4831 _impl_.secondary_ls_time_limit_ratio_ = value;
4832}
4833
4834// .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
4836 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
4837 PROTOBUF_ASSUME(!value || _impl_.improvement_limit_parameters_ != nullptr);
4838 return value;
4839}
4841 ::google::protobuf::internal::TSanWrite(&_impl_);
4842 if (_impl_.improvement_limit_parameters_ != nullptr) _impl_.improvement_limit_parameters_->Clear();
4843 _impl_._has_bits_[0] &= ~0x00000010u;
4844}
4845inline const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& RoutingSearchParameters::_internal_improvement_limit_parameters() const {
4846 ::google::protobuf::internal::TSanRead(&_impl_);
4847 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* p = _impl_.improvement_limit_parameters_;
4849}
4850inline const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& RoutingSearchParameters::improvement_limit_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4851 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.improvement_limit_parameters)
4852 return _internal_improvement_limit_parameters();
4853}
4856 ::google::protobuf::internal::TSanWrite(&_impl_);
4857 if (GetArena() == nullptr) {
4858 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.improvement_limit_parameters_);
4859 }
4860 _impl_.improvement_limit_parameters_ = reinterpret_cast<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters*>(value);
4861 if (value != nullptr) {
4862 _impl_._has_bits_[0] |= 0x00000010u;
4863 } else {
4864 _impl_._has_bits_[0] &= ~0x00000010u;
4865 }
4866 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.improvement_limit_parameters)
4867}
4868inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NULLABLE RoutingSearchParameters::release_improvement_limit_parameters() {
4869 ::google::protobuf::internal::TSanWrite(&_impl_);
4870
4871 _impl_._has_bits_[0] &= ~0x00000010u;
4873 _impl_.improvement_limit_parameters_ = nullptr;
4874 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4875 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
4876 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4877 if (GetArena() == nullptr) {
4878 delete old;
4879 }
4880 } else {
4881 if (GetArena() != nullptr) {
4882 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4883 }
4884 }
4885 return released;
4886}
4887inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_improvement_limit_parameters() {
4888 ::google::protobuf::internal::TSanWrite(&_impl_);
4889 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.improvement_limit_parameters)
4890
4891 _impl_._has_bits_[0] &= ~0x00000010u;
4892 ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* temp = _impl_.improvement_limit_parameters_;
4893 _impl_.improvement_limit_parameters_ = nullptr;
4894 return temp;
4895}
4896inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_improvement_limit_parameters() {
4897 ::google::protobuf::internal::TSanWrite(&_impl_);
4898 if (_impl_.improvement_limit_parameters_ == nullptr) {
4899 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters>(GetArena());
4900 _impl_.improvement_limit_parameters_ = reinterpret_cast<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters*>(p);
4901 }
4902 return _impl_.improvement_limit_parameters_;
4903}
4904inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NONNULL RoutingSearchParameters::mutable_improvement_limit_parameters()
4905 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4906 _impl_._has_bits_[0] |= 0x00000010u;
4907 ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* _msg = _internal_mutable_improvement_limit_parameters();
4908 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.improvement_limit_parameters)
4909 return _msg;
4910}
4911inline void RoutingSearchParameters::set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* PROTOBUF_NULLABLE value) {
4912 ::google::protobuf::Arena* message_arena = GetArena();
4913 ::google::protobuf::internal::TSanWrite(&_impl_);
4914 if (message_arena == nullptr) {
4915 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.improvement_limit_parameters_);
4916 }
4917
4918 if (value != nullptr) {
4919 ::google::protobuf::Arena* submessage_arena = value->GetArena();
4920 if (message_arena != submessage_arena) {
4921 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4922 }
4923 _impl_._has_bits_[0] |= 0x00000010u;
4924 } else {
4925 _impl_._has_bits_[0] &= ~0x00000010u;
4926 }
4927
4928 _impl_.improvement_limit_parameters_ = reinterpret_cast<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters*>(value);
4929 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.improvement_limit_parameters)
4930}
4931
4932// bool use_full_propagation = 11;
4934 ::google::protobuf::internal::TSanWrite(&_impl_);
4935 _impl_.use_full_propagation_ = false;
4936 _impl_._has_bits_[0] &= ~0x00004000u;
4937}
4939 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_full_propagation)
4940 return _internal_use_full_propagation();
4941}
4943 _internal_set_use_full_propagation(value);
4944 _impl_._has_bits_[0] |= 0x00004000u;
4945 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_full_propagation)
4946}
4947inline bool RoutingSearchParameters::_internal_use_full_propagation() const {
4948 ::google::protobuf::internal::TSanRead(&_impl_);
4949 return _impl_.use_full_propagation_;
4950}
4951inline void RoutingSearchParameters::_internal_set_use_full_propagation(bool value) {
4952 ::google::protobuf::internal::TSanWrite(&_impl_);
4953 _impl_.use_full_propagation_ = value;
4954}
4955
4956// bool log_search = 13;
4958 ::google::protobuf::internal::TSanWrite(&_impl_);
4959 _impl_.log_search_ = false;
4960 _impl_._has_bits_[0] &= ~0x00008000u;
4961}
4962inline bool RoutingSearchParameters::log_search() const {
4963 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_search)
4964 return _internal_log_search();
4965}
4966inline void RoutingSearchParameters::set_log_search(bool value) {
4967 _internal_set_log_search(value);
4968 _impl_._has_bits_[0] |= 0x00008000u;
4969 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_search)
4970}
4971inline bool RoutingSearchParameters::_internal_log_search() const {
4972 ::google::protobuf::internal::TSanRead(&_impl_);
4973 return _impl_.log_search_;
4974}
4975inline void RoutingSearchParameters::_internal_set_log_search(bool value) {
4976 ::google::protobuf::internal::TSanWrite(&_impl_);
4977 _impl_.log_search_ = value;
4978}
4979
4980// double log_cost_scaling_factor = 22;
4982 ::google::protobuf::internal::TSanWrite(&_impl_);
4983 _impl_.log_cost_scaling_factor_ = 0;
4984 _impl_._has_bits_[0] &= ~0x00200000u;
4985}
4987 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
4988 return _internal_log_cost_scaling_factor();
4989}
4991 _internal_set_log_cost_scaling_factor(value);
4992 _impl_._has_bits_[0] |= 0x00200000u;
4993 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_scaling_factor)
4994}
4995inline double RoutingSearchParameters::_internal_log_cost_scaling_factor() const {
4996 ::google::protobuf::internal::TSanRead(&_impl_);
4997 return _impl_.log_cost_scaling_factor_;
4998}
4999inline void RoutingSearchParameters::_internal_set_log_cost_scaling_factor(double value) {
5000 ::google::protobuf::internal::TSanWrite(&_impl_);
5001 _impl_.log_cost_scaling_factor_ = value;
5002}
5003
5004// double log_cost_offset = 29;
5006 ::google::protobuf::internal::TSanWrite(&_impl_);
5007 _impl_.log_cost_offset_ = 0;
5008 _impl_._has_bits_[0] &= ~0x02000000u;
5009}
5010inline double RoutingSearchParameters::log_cost_offset() const {
5011 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_cost_offset)
5012 return _internal_log_cost_offset();
5013}
5014inline void RoutingSearchParameters::set_log_cost_offset(double value) {
5015 _internal_set_log_cost_offset(value);
5016 _impl_._has_bits_[0] |= 0x02000000u;
5017 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_cost_offset)
5018}
5019inline double RoutingSearchParameters::_internal_log_cost_offset() const {
5020 ::google::protobuf::internal::TSanRead(&_impl_);
5021 return _impl_.log_cost_offset_;
5022}
5023inline void RoutingSearchParameters::_internal_set_log_cost_offset(double value) {
5024 ::google::protobuf::internal::TSanWrite(&_impl_);
5025 _impl_.log_cost_offset_ = value;
5026}
5027
5028// string log_tag = 36;
5030 ::google::protobuf::internal::TSanWrite(&_impl_);
5031 _impl_.log_tag_.ClearToEmpty();
5032 _impl_._has_bits_[0] &= ~0x00000001u;
5033}
5034inline const ::std::string& RoutingSearchParameters::log_tag() const
5035 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5036 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.log_tag)
5037 return _internal_log_tag();
5038}
5039template <typename Arg_, typename... Args_>
5040PROTOBUF_ALWAYS_INLINE void RoutingSearchParameters::set_log_tag(Arg_&& arg, Args_... args) {
5041 ::google::protobuf::internal::TSanWrite(&_impl_);
5042 _impl_._has_bits_[0] |= 0x00000001u;
5043 _impl_.log_tag_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
5044 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.log_tag)
5045}
5046inline ::std::string* PROTOBUF_NONNULL RoutingSearchParameters::mutable_log_tag()
5047 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5048 ::std::string* _s = _internal_mutable_log_tag();
5049 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.log_tag)
5050 return _s;
5051}
5052inline const ::std::string& RoutingSearchParameters::_internal_log_tag() const {
5053 ::google::protobuf::internal::TSanRead(&_impl_);
5054 return _impl_.log_tag_.Get();
5055}
5056inline void RoutingSearchParameters::_internal_set_log_tag(const ::std::string& value) {
5057 ::google::protobuf::internal::TSanWrite(&_impl_);
5058 _impl_._has_bits_[0] |= 0x00000001u;
5059 _impl_.log_tag_.Set(value, GetArena());
5060}
5061inline ::std::string* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_log_tag() {
5062 ::google::protobuf::internal::TSanWrite(&_impl_);
5063 _impl_._has_bits_[0] |= 0x00000001u;
5064 return _impl_.log_tag_.Mutable( GetArena());
5065}
5066inline ::std::string* PROTOBUF_NULLABLE RoutingSearchParameters::release_log_tag() {
5067 ::google::protobuf::internal::TSanWrite(&_impl_);
5068 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.log_tag)
5069 if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
5070 return nullptr;
5071 }
5072 _impl_._has_bits_[0] &= ~0x00000001u;
5073 auto* released = _impl_.log_tag_.Release();
5074 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
5075 _impl_.log_tag_.Set("", GetArena());
5077 return released;
5078}
5079inline void RoutingSearchParameters::set_allocated_log_tag(::std::string* PROTOBUF_NULLABLE value) {
5080 ::google::protobuf::internal::TSanWrite(&_impl_);
5081 if (value != nullptr) {
5082 _impl_._has_bits_[0] |= 0x00000001u;
5083 } else {
5084 _impl_._has_bits_[0] &= ~0x00000001u;
5085 }
5086 _impl_.log_tag_.SetAllocated(value, GetArena());
5087 if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.log_tag_.IsDefault()) {
5088 _impl_.log_tag_.Set("", GetArena());
5090 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.log_tag)
5091}
5092
5093// bool use_iterated_local_search = 58;
5095 ::google::protobuf::internal::TSanWrite(&_impl_);
5096 _impl_.use_iterated_local_search_ = false;
5097 _impl_._has_bits_[1] &= ~0x00100000u;
5098}
5100 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.use_iterated_local_search)
5101 return _internal_use_iterated_local_search();
5102}
5104 _internal_set_use_iterated_local_search(value);
5105 _impl_._has_bits_[1] |= 0x00100000u;
5106 // @@protoc_insertion_point(field_set:operations_research.RoutingSearchParameters.use_iterated_local_search)
5107}
5108inline bool RoutingSearchParameters::_internal_use_iterated_local_search() const {
5109 ::google::protobuf::internal::TSanRead(&_impl_);
5110 return _impl_.use_iterated_local_search_;
5111}
5112inline void RoutingSearchParameters::_internal_set_use_iterated_local_search(bool value) {
5113 ::google::protobuf::internal::TSanWrite(&_impl_);
5114 _impl_.use_iterated_local_search_ = value;
5115}
5116
5117// .operations_research.IteratedLocalSearchParameters iterated_local_search_parameters = 60;
5119 bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
5120 PROTOBUF_ASSUME(!value || _impl_.iterated_local_search_parameters_ != nullptr);
5121 return value;
5122}
5123inline const ::operations_research::IteratedLocalSearchParameters& RoutingSearchParameters::_internal_iterated_local_search_parameters() const {
5124 ::google::protobuf::internal::TSanRead(&_impl_);
5125 const ::operations_research::IteratedLocalSearchParameters* p = _impl_.iterated_local_search_parameters_;
5127}
5128inline const ::operations_research::IteratedLocalSearchParameters& RoutingSearchParameters::iterated_local_search_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5129 // @@protoc_insertion_point(field_get:operations_research.RoutingSearchParameters.iterated_local_search_parameters)
5130 return _internal_iterated_local_search_parameters();
5131}
5134 ::google::protobuf::internal::TSanWrite(&_impl_);
5135 if (GetArena() == nullptr) {
5136 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.iterated_local_search_parameters_);
5137 }
5138 _impl_.iterated_local_search_parameters_ = reinterpret_cast<::operations_research::IteratedLocalSearchParameters*>(value);
5139 if (value != nullptr) {
5140 _impl_._has_bits_[0] |= 0x00000040u;
5141 } else {
5142 _impl_._has_bits_[0] &= ~0x00000040u;
5143 }
5144 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingSearchParameters.iterated_local_search_parameters)
5145}
5146inline ::operations_research::IteratedLocalSearchParameters* PROTOBUF_NULLABLE RoutingSearchParameters::release_iterated_local_search_parameters() {
5147 ::google::protobuf::internal::TSanWrite(&_impl_);
5148
5149 _impl_._has_bits_[0] &= ~0x00000040u;
5150 ::operations_research::IteratedLocalSearchParameters* released = _impl_.iterated_local_search_parameters_;
5151 _impl_.iterated_local_search_parameters_ = nullptr;
5152 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
5153 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
5154 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5155 if (GetArena() == nullptr) {
5156 delete old;
5157 }
5158 } else {
5159 if (GetArena() != nullptr) {
5160 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5161 }
5162 }
5163 return released;
5164}
5165inline ::operations_research::IteratedLocalSearchParameters* PROTOBUF_NULLABLE RoutingSearchParameters::unsafe_arena_release_iterated_local_search_parameters() {
5166 ::google::protobuf::internal::TSanWrite(&_impl_);
5167 // @@protoc_insertion_point(field_release:operations_research.RoutingSearchParameters.iterated_local_search_parameters)
5168
5169 _impl_._has_bits_[0] &= ~0x00000040u;
5170 ::operations_research::IteratedLocalSearchParameters* temp = _impl_.iterated_local_search_parameters_;
5171 _impl_.iterated_local_search_parameters_ = nullptr;
5172 return temp;
5173}
5174inline ::operations_research::IteratedLocalSearchParameters* PROTOBUF_NONNULL RoutingSearchParameters::_internal_mutable_iterated_local_search_parameters() {
5175 ::google::protobuf::internal::TSanWrite(&_impl_);
5176 if (_impl_.iterated_local_search_parameters_ == nullptr) {
5177 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::IteratedLocalSearchParameters>(GetArena());
5178 _impl_.iterated_local_search_parameters_ = reinterpret_cast<::operations_research::IteratedLocalSearchParameters*>(p);
5179 }
5180 return _impl_.iterated_local_search_parameters_;
5181}
5182inline ::operations_research::IteratedLocalSearchParameters* PROTOBUF_NONNULL RoutingSearchParameters::mutable_iterated_local_search_parameters()
5183 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5184 _impl_._has_bits_[0] |= 0x00000040u;
5185 ::operations_research::IteratedLocalSearchParameters* _msg = _internal_mutable_iterated_local_search_parameters();
5186 // @@protoc_insertion_point(field_mutable:operations_research.RoutingSearchParameters.iterated_local_search_parameters)
5187 return _msg;
5188}
5189inline void RoutingSearchParameters::set_allocated_iterated_local_search_parameters(::operations_research::IteratedLocalSearchParameters* PROTOBUF_NULLABLE value) {
5190 ::google::protobuf::Arena* message_arena = GetArena();
5191 ::google::protobuf::internal::TSanWrite(&_impl_);
5192 if (message_arena == nullptr) {
5193 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.iterated_local_search_parameters_);
5194 }
5195
5196 if (value != nullptr) {
5197 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
5198 if (message_arena != submessage_arena) {
5199 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
5200 }
5201 _impl_._has_bits_[0] |= 0x00000040u;
5202 } else {
5203 _impl_._has_bits_[0] &= ~0x00000040u;
5204 }
5205
5206 _impl_.iterated_local_search_parameters_ = reinterpret_cast<::operations_research::IteratedLocalSearchParameters*>(value);
5207 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingSearchParameters.iterated_local_search_parameters)
5208}
5209
5210// -------------------------------------------------------------------
5211
5212// RoutingModelParameters
5213
5214// .operations_research.ConstraintSolverParameters solver_parameters = 1;
5216 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
5217 PROTOBUF_ASSUME(!value || _impl_.solver_parameters_ != nullptr);
5218 return value;
5219}
5220inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::_internal_solver_parameters() const {
5221 ::google::protobuf::internal::TSanRead(&_impl_);
5222 const ::operations_research::ConstraintSolverParameters* p = _impl_.solver_parameters_;
5223 return p != nullptr ? *p : reinterpret_cast<const ::operations_research::ConstraintSolverParameters&>(::operations_research::_ConstraintSolverParameters_default_instance_);
5224}
5225inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::solver_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5226 // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.solver_parameters)
5227 return _internal_solver_parameters();
5228}
5230 ::operations_research::ConstraintSolverParameters* PROTOBUF_NULLABLE value) {
5231 ::google::protobuf::internal::TSanWrite(&_impl_);
5232 if (GetArena() == nullptr) {
5233 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.solver_parameters_);
5234 }
5235 _impl_.solver_parameters_ = reinterpret_cast<::operations_research::ConstraintSolverParameters*>(value);
5236 if (value != nullptr) {
5237 _impl_._has_bits_[0] |= 0x00000001u;
5238 } else {
5239 _impl_._has_bits_[0] &= ~0x00000001u;
5241 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
5242}
5243inline ::operations_research::ConstraintSolverParameters* PROTOBUF_NULLABLE RoutingModelParameters::release_solver_parameters() {
5244 ::google::protobuf::internal::TSanWrite(&_impl_);
5245
5246 _impl_._has_bits_[0] &= ~0x00000001u;
5247 ::operations_research::ConstraintSolverParameters* released = _impl_.solver_parameters_;
5248 _impl_.solver_parameters_ = nullptr;
5249 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
5250 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
5251 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5252 if (GetArena() == nullptr) {
5253 delete old;
5255 } else {
5256 if (GetArena() != nullptr) {
5257 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5258 }
5259 }
5260 return released;
5261}
5262inline ::operations_research::ConstraintSolverParameters* PROTOBUF_NULLABLE RoutingModelParameters::unsafe_arena_release_solver_parameters() {
5263 ::google::protobuf::internal::TSanWrite(&_impl_);
5264 // @@protoc_insertion_point(field_release:operations_research.RoutingModelParameters.solver_parameters)
5265
5266 _impl_._has_bits_[0] &= ~0x00000001u;
5267 ::operations_research::ConstraintSolverParameters* temp = _impl_.solver_parameters_;
5268 _impl_.solver_parameters_ = nullptr;
5269 return temp;
5270}
5271inline ::operations_research::ConstraintSolverParameters* PROTOBUF_NONNULL RoutingModelParameters::_internal_mutable_solver_parameters() {
5272 ::google::protobuf::internal::TSanWrite(&_impl_);
5273 if (_impl_.solver_parameters_ == nullptr) {
5274 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::ConstraintSolverParameters>(GetArena());
5275 _impl_.solver_parameters_ = reinterpret_cast<::operations_research::ConstraintSolverParameters*>(p);
5276 }
5277 return _impl_.solver_parameters_;
5278}
5279inline ::operations_research::ConstraintSolverParameters* PROTOBUF_NONNULL RoutingModelParameters::mutable_solver_parameters()
5280 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5281 _impl_._has_bits_[0] |= 0x00000001u;
5282 ::operations_research::ConstraintSolverParameters* _msg = _internal_mutable_solver_parameters();
5283 // @@protoc_insertion_point(field_mutable:operations_research.RoutingModelParameters.solver_parameters)
5284 return _msg;
5285}
5286inline void RoutingModelParameters::set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters* PROTOBUF_NULLABLE value) {
5287 ::google::protobuf::Arena* message_arena = GetArena();
5288 ::google::protobuf::internal::TSanWrite(&_impl_);
5289 if (message_arena == nullptr) {
5290 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.solver_parameters_);
5291 }
5292
5293 if (value != nullptr) {
5294 ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
5295 if (message_arena != submessage_arena) {
5296 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
5298 _impl_._has_bits_[0] |= 0x00000001u;
5299 } else {
5300 _impl_._has_bits_[0] &= ~0x00000001u;
5301 }
5302
5303 _impl_.solver_parameters_ = reinterpret_cast<::operations_research::ConstraintSolverParameters*>(value);
5304 // @@protoc_insertion_point(field_set_allocated:operations_research.RoutingModelParameters.solver_parameters)
5305}
5306
5307// bool reduce_vehicle_cost_model = 2;
5309 ::google::protobuf::internal::TSanWrite(&_impl_);
5310 _impl_.reduce_vehicle_cost_model_ = false;
5311 _impl_._has_bits_[0] &= ~0x00000002u;
5312}
5314 // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
5315 return _internal_reduce_vehicle_cost_model();
5316}
5318 _internal_set_reduce_vehicle_cost_model(value);
5319 _impl_._has_bits_[0] |= 0x00000002u;
5320 // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.reduce_vehicle_cost_model)
5321}
5322inline bool RoutingModelParameters::_internal_reduce_vehicle_cost_model() const {
5323 ::google::protobuf::internal::TSanRead(&_impl_);
5324 return _impl_.reduce_vehicle_cost_model_;
5325}
5326inline void RoutingModelParameters::_internal_set_reduce_vehicle_cost_model(bool value) {
5327 ::google::protobuf::internal::TSanWrite(&_impl_);
5328 _impl_.reduce_vehicle_cost_model_ = value;
5329}
5330
5331// int32 max_callback_cache_size = 3;
5333 ::google::protobuf::internal::TSanWrite(&_impl_);
5334 _impl_.max_callback_cache_size_ = 0;
5335 _impl_._has_bits_[0] &= ~0x00000004u;
5336}
5337inline ::int32_t RoutingModelParameters::max_callback_cache_size() const {
5338 // @@protoc_insertion_point(field_get:operations_research.RoutingModelParameters.max_callback_cache_size)
5339 return _internal_max_callback_cache_size();
5340}
5341inline void RoutingModelParameters::set_max_callback_cache_size(::int32_t value) {
5342 _internal_set_max_callback_cache_size(value);
5343 _impl_._has_bits_[0] |= 0x00000004u;
5344 // @@protoc_insertion_point(field_set:operations_research.RoutingModelParameters.max_callback_cache_size)
5345}
5346inline ::int32_t RoutingModelParameters::_internal_max_callback_cache_size() const {
5347 ::google::protobuf::internal::TSanRead(&_impl_);
5348 return _impl_.max_callback_cache_size_;
5349}
5350inline void RoutingModelParameters::_internal_set_max_callback_cache_size(::int32_t value) {
5351 ::google::protobuf::internal::TSanWrite(&_impl_);
5352 _impl_.max_callback_cache_size_ = value;
5353}
5354
5355#ifdef __GNUC__
5356#pragma GCC diagnostic pop
5357#endif // __GNUC__
5358
5359// @@protoc_insertion_point(namespace_scope)
5360} // namespace operations_research
5361
5362
5363namespace google {
5364namespace protobuf {
5365
5366template <>
5367struct is_proto_enum<::operations_research::RoutingSearchParameters_PairInsertionStrategy> : std::true_type {};
5368template <>
5370 return ::operations_research::RoutingSearchParameters_PairInsertionStrategy_descriptor();
5371}
5372template <>
5373struct is_proto_enum<::operations_research::RoutingSearchParameters_InsertionSortingProperty> : std::true_type {};
5374template <>
5376 return ::operations_research::RoutingSearchParameters_InsertionSortingProperty_descriptor();
5377}
5378template <>
5379struct is_proto_enum<::operations_research::RoutingSearchParameters_SchedulingSolver> : std::true_type {};
5380template <>
5381inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::RoutingSearchParameters_SchedulingSolver>() {
5382 return ::operations_research::RoutingSearchParameters_SchedulingSolver_descriptor();
5383}
5385} // namespace protobuf
5386} // namespace google
5387
5388// @@protoc_insertion_point(global_scope)
5389
5390#include "google/protobuf/port_undef.inc"
5391
5392#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
void clear_max_callback_cache_size()
int32 max_callback_cache_size = 3;
::operations_research::ConstraintSolverParameters *PROTOBUF_NULLABLE release_solver_parameters()
void unsafe_arena_set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *PROTOBUF_NULLABLE value)
bool has_solver_parameters() const
.operations_research.ConstraintSolverParameters solver_parameters = 1;
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void clear_reduce_vehicle_cost_model()
bool reduce_vehicle_cost_model = 2;
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()
void clear_improvement_rate_solutions_distance()
int32 improvement_rate_solutions_distance = 39;
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_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
void clear_use_exchange_pair()
.operations_research.OptionalBoolean use_exchange_pair = 22;
void clear_use_global_cheapest_insertion_expensive_chain_lns()
.operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
void clear_use_node_pair_swap_active()
.operations_research.OptionalBoolean use_node_pair_swap_active = 20;
void clear_use_relocate_neighbors()
.operations_research.OptionalBoolean use_relocate_neighbors = 3;
::operations_research::OptionalBoolean use_local_cheapest_insertion_close_nodes_lns() const
void clear_use_relocate()
.operations_research.OptionalBoolean use_relocate = 1;
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)
void clear_use_relocate_pair()
.operations_research.OptionalBoolean use_relocate_pair = 2;
void clear_use_local_cheapest_insertion_path_lns()
.operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
RoutingSearchParameters_LocalSearchNeighborhoodOperators(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void clear_use_exchange_and_make_active()
.operations_research.OptionalBoolean use_exchange_and_make_active = 37;
::operations_research::OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns() const
void clear_use_exchange_subtrip()
.operations_research.OptionalBoolean use_exchange_subtrip = 26;
void clear_use_relocate_expensive_chain()
.operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
void set_use_relocate_and_make_active(::operations_research::OptionalBoolean value)
void clear_use_tsp_lns()
.operations_research.OptionalBoolean use_tsp_lns = 18;
void clear_use_exchange_path_start_ends_and_make_active()
.operations_research.OptionalBoolean use_exchange_path_start_ends_and_make_active = 38;
void set_use_extended_swap_active(::operations_research::OptionalBoolean value)
void clear_use_global_cheapest_insertion_close_nodes_lns()
.operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
void clear_use_relocate_path_global_cheapest_insertion_insert_unperformed()
.operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed =...
void clear_use_relocate_and_make_active()
.operations_research.OptionalBoolean use_relocate_and_make_active = 21;
void clear_use_global_cheapest_insertion_path_lns()
.operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
void clear_use_exchange()
.operations_research.OptionalBoolean use_exchange = 4;
void clear_use_cross()
.operations_research.OptionalBoolean use_cross = 5;
void clear_use_extended_swap_active()
.operations_research.OptionalBoolean use_extended_swap_active = 15;
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value)
void clear_use_shortest_path_swap_active()
.operations_research.OptionalBoolean use_shortest_path_swap_active = 34;
void clear_use_local_cheapest_insertion_expensive_chain_lns()
.operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
void set_use_exchange_and_make_active(::operations_research::OptionalBoolean value)
void clear_use_lin_kernighan()
.operations_research.OptionalBoolean use_lin_kernighan = 9;
::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 clear_use_swap_active()
.operations_research.OptionalBoolean use_swap_active = 14;
void clear_use_light_relocate_pair()
.operations_research.OptionalBoolean use_light_relocate_pair = 24;
RoutingSearchParameters_LocalSearchNeighborhoodOperators(::google::protobuf::Arena *PROTOBUF_NULLABLE arena, RoutingSearchParameters_LocalSearchNeighborhoodOperators &&from) noexcept
void set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value)
void clear_use_path_lns()
.operations_research.OptionalBoolean use_path_lns = 16;
void clear_use_make_active()
.operations_research.OptionalBoolean use_make_active = 11;
PROTOBUF_CONSTEXPR RoutingSearchParameters_LocalSearchNeighborhoodOperators(::google::protobuf::internal::ConstantInitialized)
void clear_use_or_opt()
.operations_research.OptionalBoolean use_or_opt = 8;
void clear_use_inactive_lns()
.operations_research.OptionalBoolean use_inactive_lns = 19;
void clear_use_swap_active_chain()
.operations_research.OptionalBoolean use_swap_active_chain = 35;
void clear_use_shortest_path_two_opt()
.operations_research.OptionalBoolean use_shortest_path_two_opt = 36;
void clear_use_full_path_lns()
.operations_research.OptionalBoolean use_full_path_lns = 17;
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 clear_use_make_inactive()
.operations_research.OptionalBoolean use_make_inactive = 12;
void clear_use_local_cheapest_insertion_close_nodes_lns()
.operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
void clear_use_cross_exchange()
.operations_research.OptionalBoolean use_cross_exchange = 6;
void clear_use_two_opt()
.operations_research.OptionalBoolean use_two_opt = 7;
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 clear_use_tsp_opt()
.operations_research.OptionalBoolean use_tsp_opt = 10;
void set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
void clear_use_make_chain_inactive()
.operations_research.OptionalBoolean use_make_chain_inactive = 13;
void set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value)
void clear_use_relocate_subtrip()
.operations_research.OptionalBoolean use_relocate_subtrip = 25;
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)
void clear_cheapest_insertion_first_solution_neighbors_ratio()
double cheapest_insertion_first_solution_neighbors_ratio = 21;
static constexpr PairInsertionStrategy PairInsertionStrategy_MIN
void clear_optimization_step()
double optimization_step = 7;
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::RoutingSearchParameters_PairInsertionStrategy local_cheapest_cost_insertion_pickup_delivery_strategy() const
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)
static constexpr SchedulingSolver SCHEDULING_GLOP
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NULLABLE unsafe_arena_release_local_search_operators()
void set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value)
void set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
static const ::std::string & PairInsertionStrategy_Name(T 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)
void clear_multi_armed_bandit_compound_operator_memory_coefficient()
double multi_armed_bandit_compound_operator_memory_coefficient = 42;
::operations_research::sat::SatParameters *PROTOBUF_NONNULL mutable_sat_parameters()
RoutingSearchParameters_LocalSearchNeighborhoodOperators LocalSearchNeighborhoodOperators
nested types -------------------------------------------------—
::operations_research::sat::SatParameters *PROTOBUF_NULLABLE unsafe_arena_release_sat_parameters()
::google::protobuf::RepeatedField< int > *PROTOBUF_NONNULL mutable_local_cheapest_insertion_sorting_properties()
void clear_local_search_metaheuristic()
.operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
::google::protobuf::Duration *PROTOBUF_NULLABLE release_lns_time_limit()
const ::operations_research::sat::SatParameters & sat_parameters() const
void clear_use_generalized_cp_sat()
.operations_research.OptionalBoolean use_generalized_cp_sat = 47;
void clear_number_of_solutions_to_collect()
int32 number_of_solutions_to_collect = 17;
void clear_cheapest_insertion_ls_operator_min_neighbors()
int32 cheapest_insertion_ls_operator_min_neighbors = 45;
void clear_guided_local_search_reset_penalties_on_new_best_solution()
bool guided_local_search_reset_penalties_on_new_best_solution = 51;
void unsafe_arena_set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NULLABLE value)
static constexpr InsertionSortingProperty SORTING_PROPERTY_LOWEST_MIN_ARC_COST_TO_VEHICLE_START_ENDS
void clear_cheapest_insertion_farthest_seeds_ratio()
double cheapest_insertion_farthest_seeds_ratio = 16;
void clear_local_cheapest_insertion_pickup_delivery_strategy()
.operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_insertion_pickup_de...
static void *PROTOBUF_NONNULL PlacementNew_(const void *PROTOBUF_NONNULL, void *PROTOBUF_NONNULL mem, ::google::protobuf::Arena *PROTOBUF_NULLABLE arena)
bool has_iterated_local_search_parameters() const
.operations_research.IteratedLocalSearchParameters iterated_local_search_parameters = 60;
void clear_use_guided_local_search_penalties_in_local_search_operators()
bool use_guided_local_search_penalties_in_local_search_operators = 62;
bool has_sat_parameters() const
.operations_research.sat.SatParameters sat_parameters = 48;
void set_local_cheapest_cost_insertion_pickup_delivery_strategy(::operations_research::RoutingSearchParameters_PairInsertionStrategy value)
void clear_cheapest_insertion_first_solution_min_neighbors()
int32 cheapest_insertion_first_solution_min_neighbors = 44;
::operations_research::RoutingSearchParameters_InsertionSortingProperty local_cheapest_insertion_sorting_properties(int index) const
void clear_cheapest_insertion_ls_operator_neighbors_ratio()
double cheapest_insertion_ls_operator_neighbors_ratio = 31;
::google::protobuf::Duration *PROTOBUF_NULLABLE release_time_limit()
static constexpr PairInsertionStrategy BEST_PICKUP_DELIVERY_PAIR_MULTITOUR
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void set_allocated_log_tag(::std::string *PROTOBUF_NULLABLE value)
void set_local_cheapest_insertion_pickup_delivery_strategy(::operations_research::RoutingSearchParameters_PairInsertionStrategy value)
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NULLABLE release_local_search_operators()
static constexpr InsertionSortingProperty SORTING_PROPERTY_UNSPECIFIED
RoutingSearchParameters_ImprovementSearchLimitParameters ImprovementSearchLimitParameters
void clear_log_cost_offset()
double log_cost_offset = 29;
void clear_savings_neighbors_ratio()
double savings_neighbors_ratio = 14;
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
::operations_research::LocalSearchMetaheuristic_Value local_search_metaheuristic() const
void clear_report_intermediate_cp_sat_solutions()
bool report_intermediate_cp_sat_solutions = 56;
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)
static constexpr InsertionSortingProperty SORTING_PROPERTY_ALLOWED_VEHICLES
::operations_research::OptionalBoolean use_cp_sat() const
void clear_max_swap_active_chain_size()
int32 max_swap_active_chain_size = 66;
::google::protobuf::RepeatedField< int > *PROTOBUF_NONNULL mutable_local_search_metaheuristics()
static constexpr PairInsertionStrategy BEST_PICKUP_THEN_BEST_DELIVERY
static constexpr InsertionSortingProperty SORTING_PROPERTY_PENALTY
void unsafe_arena_set_allocated_iterated_local_search_parameters(::operations_research::IteratedLocalSearchParameters *PROTOBUF_NULLABLE value)
void clear_savings_add_reverse_arcs()
bool savings_add_reverse_arcs = 15;
void set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value)
void clear_ls_operator_neighbors_ratio()
double ls_operator_neighbors_ratio = 53;
void set_heuristic_expensive_chain_lns_num_arcs_to_consider(::int32_t value)
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL PairInsertionStrategy_descriptor()
static constexpr PairInsertionStrategy BEST_PICKUP_DELIVERY_PAIR
::google::protobuf::Metadata GetMetadata() const
void clear_ls_operator_min_neighbors()
int32 ls_operator_min_neighbors = 54;
void clear_use_unfiltered_first_solution_strategy()
bool use_unfiltered_first_solution_strategy = 2;
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
static constexpr InsertionSortingProperty SORTING_PROPERTY_PENALTY_OVER_ALLOWED_VEHICLES_RATIO
static const ::std::string & InsertionSortingProperty_Name(T value)
RoutingSearchParameters_PairInsertionStrategy PairInsertionStrategy
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NONNULL mutable_improvement_limit_parameters()
const ::google::protobuf::RepeatedField< int > & local_search_metaheuristics() const
::std::string *PROTOBUF_NULLABLE release_log_tag()
void clear_use_depth_first_search()
bool use_depth_first_search = 6;
void clear_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization()
bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
static constexpr InsertionSortingProperty SORTING_PROPERTY_HIGHEST_DIMENSION_USAGE
static constexpr InsertionSortingProperty SORTING_PROPERTY_RANDOM
void MergeFrom(const RoutingSearchParameters &from)
static constexpr PairInsertionStrategy PairInsertionStrategy_MAX
void clear_num_max_local_optima_before_metaheuristic_switch()
int32 num_max_local_optima_before_metaheuristic_switch = 64;
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)
void clear_relocate_expensive_chain_num_arcs_to_consider()
int32 relocate_expensive_chain_num_arcs_to_consider = 20;
::google::protobuf::Duration *PROTOBUF_NULLABLE unsafe_arena_release_time_limit()
const ::operations_research::IteratedLocalSearchParameters & iterated_local_search_parameters() const
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL InsertionSortingProperty_descriptor()
int local_cheapest_insertion_sorting_properties_size() const
repeated .operations_research.RoutingSearchParameters.InsertionSortingProperty local_cheapest_inserti...
bool has_disable_scheduling_beware_this_may_degrade_performance() const
optional bool disable_scheduling_beware_this_may_degrade_performance = 50;
void clear_use_multi_armed_bandit_concatenate_operators()
bool use_multi_armed_bandit_concatenate_operators = 41;
void clear_solution_limit()
int64 solution_limit = 8;
bool has_time_limit() const
.google.protobuf.Duration time_limit = 9;
void clear_christofides_use_minimum_matching()
bool christofides_use_minimum_matching = 30;
void clear_savings_arc_coefficient()
double savings_arc_coefficient = 18;
static constexpr PairInsertionStrategy AUTOMATIC
static constexpr InsertionSortingProperty InsertionSortingProperty_MAX
void clear_guided_local_search_penalize_with_vehicle_classes()
bool guided_local_search_penalize_with_vehicle_classes = 61;
RoutingSearchParameters_InsertionSortingProperty InsertionSortingProperty
void clear_log_cost_scaling_factor()
double log_cost_scaling_factor = 22;
void set_allocated_iterated_local_search_parameters(::operations_research::IteratedLocalSearchParameters *PROTOBUF_NULLABLE value)
int local_search_metaheuristics_size() const
repeated .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristics = 63;
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NONNULL mutable_local_search_operators()
void clear_secondary_ls_time_limit_ratio()
double secondary_ls_time_limit_ratio = 57;
void clear_fallback_to_cp_sat_size_threshold()
int32 fallback_to_cp_sat_size_threshold = 52;
RoutingSearchParameters *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
implements Message -------------------------------------------—
void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NULLABLE value)
static constexpr SchedulingSolver SCHEDULING_UNSET
::operations_research::RoutingSearchParameters_SchedulingSolver continuous_scheduling_solver() const
void clear_guided_local_search_lambda_coefficient()
double guided_local_search_lambda_coefficient = 5;
::operations_research::OptionalBoolean use_cp() const
void clear_heuristic_close_nodes_lns_num_nodes()
int32 heuristic_close_nodes_lns_num_nodes = 35;
::operations_research::OptionalBoolean use_generalized_cp_sat() const
bool has_improvement_limit_parameters() const
.operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_param...
bool has_lns_time_limit() const
.google.protobuf.Duration lns_time_limit = 10;
void clear_cheapest_insertion_add_unperformed_entries()
bool cheapest_insertion_add_unperformed_entries = 40;
bool has_local_search_operators() const
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
void set_num_max_local_optima_before_metaheuristic_switch(::int32_t value)
static constexpr InsertionSortingProperty SORTING_PROPERTY_LOWEST_AVG_ARC_COST_TO_VEHICLE_START_ENDS
void clear_multi_armed_bandit_compound_operator_exploration_coefficient()
double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
void clear_continuous_scheduling_solver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
void Swap(RoutingSearchParameters *PROTOBUF_NONNULL other)
void clear_heuristic_expensive_chain_lns_num_arcs_to_consider()
int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
::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()
void clear_local_cheapest_cost_insertion_pickup_delivery_strategy()
.operations_research.RoutingSearchParameters.PairInsertionStrategy local_cheapest_cost_insertion_pick...
::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()
const ::google::protobuf::RepeatedField< int > & local_cheapest_insertion_sorting_properties() const
void clear_use_cp()
.operations_research.OptionalBoolean use_cp = 28;
::google::protobuf::Duration *PROTOBUF_NONNULL mutable_time_limit()
void set_multi_armed_bandit_compound_operator_memory_coefficient(double value)
::operations_research::RoutingSearchParameters_PairInsertionStrategy local_cheapest_insertion_pickup_delivery_strategy() const
static constexpr SchedulingSolver SCHEDULING_CP_SAT
friend void swap(RoutingSearchParameters &a, RoutingSearchParameters &b)
void set_multi_armed_bandit_compound_operator_exploration_coefficient(double value)
void clear_use_full_propagation()
bool use_full_propagation = 11;
static constexpr InsertionSortingProperty InsertionSortingProperty_MIN
void clear_use_iterated_local_search()
bool use_iterated_local_search = 58;
::std::string *PROTOBUF_NONNULL mutable_log_tag()
void clear_first_solution_strategy()
.operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
void clear_mixed_integer_scheduling_solver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
static constexpr InsertionSortingProperty SORTING_PROPERTY_HIGHEST_AVG_ARC_COST_TO_VEHICLE_START_ENDS
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 set_cheapest_insertion_first_solution_min_neighbors(::int32_t value)
void set_local_cheapest_insertion_sorting_properties(int index, ::operations_research::RoutingSearchParameters_InsertionSortingProperty value)
void unsafe_arena_set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *PROTOBUF_NULLABLE value)
::operations_research::FirstSolutionStrategy_Value first_solution_strategy() const
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *PROTOBUF_NULLABLE release_improvement_limit_parameters()
void clear_use_cp_sat()
.operations_research.OptionalBoolean use_cp_sat = 27;
void set_use_generalized_cp_sat(::operations_research::OptionalBoolean value)
const ::google::protobuf::internal::ClassData *PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL
void clear_savings_max_memory_usage_bytes()
double savings_max_memory_usage_bytes = 23;
const ::google::protobuf::Duration & lns_time_limit() const
void clear_first_solution_optimization_period()
int32 first_solution_optimization_period = 59;
static const ::std::string & SchedulingSolver_Name(T value)
void add_local_cheapest_insertion_sorting_properties(::operations_research::RoutingSearchParameters_InsertionSortingProperty value)
time_limit
Definition solve.cc:22
::absl::string_view GetAnyMessageName()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::RoutingSearchParameters_PairInsertionStrategy >()
const EnumDescriptor *PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::RoutingSearchParameters_InsertionSortingProperty >()
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_
In SWIG mode, we don't want anything besides these top-level includes.
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL RoutingSearchParameters_InsertionSortingProperty_descriptor()
constexpr int RoutingSearchParameters_PairInsertionStrategy_PairInsertionStrategy_ARRAYSIZE
@ RoutingSearchParameters_InsertionSortingProperty_SORTING_PROPERTY_RANDOM
@ RoutingSearchParameters_InsertionSortingProperty_SORTING_PROPERTY_ALLOWED_VEHICLES
@ RoutingSearchParameters_InsertionSortingProperty_SORTING_PROPERTY_LOWEST_AVG_ARC_COST_TO_VEHICLE_START_ENDS
@ RoutingSearchParameters_InsertionSortingProperty_SORTING_PROPERTY_HIGHEST_AVG_ARC_COST_TO_VEHICLE_START_ENDS
@ RoutingSearchParameters_InsertionSortingProperty_SORTING_PROPERTY_PENALTY_OVER_ALLOWED_VEHICLES_RATIO
@ RoutingSearchParameters_InsertionSortingProperty_RoutingSearchParameters_InsertionSortingProperty_INT_MAX_SENTINEL_DO_NOT_USE_
@ RoutingSearchParameters_InsertionSortingProperty_SORTING_PROPERTY_PENALTY
@ RoutingSearchParameters_InsertionSortingProperty_RoutingSearchParameters_InsertionSortingProperty_INT_MIN_SENTINEL_DO_NOT_USE_
@ RoutingSearchParameters_InsertionSortingProperty_SORTING_PROPERTY_LOWEST_MIN_ARC_COST_TO_VEHICLE_START_ENDS
@ RoutingSearchParameters_InsertionSortingProperty_SORTING_PROPERTY_HIGHEST_DIMENSION_USAGE
@ RoutingSearchParameters_InsertionSortingProperty_SORTING_PROPERTY_UNSPECIFIED
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_
constexpr RoutingSearchParameters_InsertionSortingProperty RoutingSearchParameters_InsertionSortingProperty_InsertionSortingProperty_MIN
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_[]
constexpr RoutingSearchParameters_PairInsertionStrategy RoutingSearchParameters_PairInsertionStrategy_PairInsertionStrategy_MIN
PROTOBUF_CONSTINIT const uint32_t RoutingSearchParameters_InsertionSortingProperty_internal_data_[]
bool RoutingSearchParameters_SchedulingSolver_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ConstraintSolverParametersDefaultTypeInternal _ConstraintSolverParameters_default_instance_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL RoutingSearchParameters_PairInsertionStrategy_descriptor()
constexpr int RoutingSearchParameters_SchedulingSolver_SchedulingSolver_ARRAYSIZE
@ 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_
bool RoutingSearchParameters_PairInsertionStrategy_Parse(::absl::string_view name, RoutingSearchParameters_PairInsertionStrategy *PROTOBUF_NONNULL value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_
bool RoutingSearchParameters_InsertionSortingProperty_IsValid(int value)
bool RoutingSearchParameters_SchedulingSolver_Parse(::absl::string_view name, RoutingSearchParameters_SchedulingSolver *PROTOBUF_NONNULL value)
const ::std::string & RoutingSearchParameters_InsertionSortingProperty_Name(T value)
bool RoutingSearchParameters_PairInsertionStrategy_IsValid(int value)
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL RoutingSearchParameters_SchedulingSolver_descriptor()
bool RoutingSearchParameters_InsertionSortingProperty_Parse(::absl::string_view name, RoutingSearchParameters_InsertionSortingProperty *PROTOBUF_NONNULL value)
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_InsertionSortingProperty RoutingSearchParameters_InsertionSortingProperty_InsertionSortingProperty_MAX
constexpr RoutingSearchParameters_PairInsertionStrategy RoutingSearchParameters_PairInsertionStrategy_PairInsertionStrategy_MAX
@ RoutingSearchParameters_PairInsertionStrategy_RoutingSearchParameters_PairInsertionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
@ RoutingSearchParameters_PairInsertionStrategy_BEST_PICKUP_THEN_BEST_DELIVERY
@ RoutingSearchParameters_PairInsertionStrategy_BEST_PICKUP_DELIVERY_PAIR_MULTITOUR
@ RoutingSearchParameters_PairInsertionStrategy_BEST_PICKUP_DELIVERY_PAIR
@ RoutingSearchParameters_PairInsertionStrategy_RoutingSearchParameters_PairInsertionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_
PROTOBUF_CONSTINIT const uint32_t RoutingSearchParameters_PairInsertionStrategy_internal_data_[]
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_
constexpr int RoutingSearchParameters_InsertionSortingProperty_InsertionSortingProperty_ARRAYSIZE
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_
const ::std::string & RoutingSearchParameters_PairInsertionStrategy_Name(T value)
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
Internal implementation detail – do not use these members.