Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
routing_ils.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_ils.proto
4// Protobuf C++ Version: 6.33.1
5
6#ifndef ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto_2epb_2eh
7#define ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto_2epb_2eh
8
9#include <limits>
10#include <string>
11#include <type_traits>
12#include <utility>
13
14#include "google/protobuf/runtime_version.h"
15#if PROTOBUF_VERSION != 6033001
16#error "Protobuf C++ gencode is built with an incompatible version of"
17#error "Protobuf C++ headers/runtime. See"
18#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
19#endif
20#include "google/protobuf/io/coded_stream.h"
21#include "google/protobuf/arena.h"
22#include "google/protobuf/arenastring.h"
23#include "google/protobuf/generated_message_bases.h"
24#include "google/protobuf/generated_message_tctable_decl.h"
25#include "google/protobuf/generated_message_util.h"
26#include "google/protobuf/metadata_lite.h"
27#include "google/protobuf/generated_message_reflection.h"
28#include "google/protobuf/message.h"
29#include "google/protobuf/message_lite.h"
30#include "google/protobuf/repeated_field.h" // IWYU pragma: export
31#include "google/protobuf/extension_set.h" // IWYU pragma: export
32#include "google/protobuf/generated_enum_reflection.h"
33#include "google/protobuf/unknown_field_set.h"
36// @@protoc_insertion_point(includes)
37
38// Must be included last.
39#include "google/protobuf/port_def.inc"
40
41#define PROTOBUF_INTERNAL_EXPORT_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto OR_PROTO_DLL
42
43namespace google {
44namespace protobuf {
45namespace internal {
46template <typename T>
47::absl::string_view GetAnyMessageName();
48} // namespace internal
49} // namespace protobuf
50} // namespace google
51
52// Internal implementation detail -- do not use these members.
54 static const ::uint32_t offsets[];
55};
56extern "C" {
57OR_PROTO_DLL extern const ::google::protobuf::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
58} // extern "C"
59namespace operations_research {
61OR_PROTO_DLL extern const uint32_t CoolingScheduleStrategy_Value_internal_data_[];
63OR_PROTO_DLL extern const uint32_t PerturbationStrategy_Value_internal_data_[];
65OR_PROTO_DLL extern const uint32_t RuinCompositionStrategy_Value_internal_data_[];
69OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AbsencesBasedAcceptanceStrategy_class_data_;
73OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AcceptanceStrategy_class_data_;
77OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AllNodesPerformedAcceptanceStrategy_class_data_;
81OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CoolingScheduleStrategy_class_data_;
85OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull GreedyDescentAcceptanceStrategy_class_data_;
89OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull IteratedLocalSearchParameters_class_data_;
93OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull MoreNodesPerformedAcceptanceStrategy_class_data_;
97OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull PerturbationStrategy_class_data_;
101OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RandomWalkRuinStrategy_class_data_;
105OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RecreateParameters_class_data_;
106class RecreateStrategy;
109OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RecreateStrategy_class_data_;
113OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RuinCompositionStrategy_class_data_;
117OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RuinRecreateParameters_class_data_;
118class RuinStrategy;
121OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RuinStrategy_class_data_;
122class SISRRuinStrategy;
125OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull SISRRuinStrategy_class_data_;
129OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull SimulatedAnnealingAcceptanceStrategy_class_data_;
133OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull SpatiallyCloseRoutesRuinStrategy_class_data_;
134} // namespace operations_research
135namespace google {
136namespace protobuf {
137template <>
138internal::EnumTraitsT<::operations_research::CoolingScheduleStrategy_Value_internal_data_>
139 internal::EnumTraitsImpl::value<::operations_research::CoolingScheduleStrategy_Value>;
140template <>
141internal::EnumTraitsT<::operations_research::PerturbationStrategy_Value_internal_data_>
142 internal::EnumTraitsImpl::value<::operations_research::PerturbationStrategy_Value>;
143template <>
144internal::EnumTraitsT<::operations_research::RuinCompositionStrategy_Value_internal_data_>
145 internal::EnumTraitsImpl::value<::operations_research::RuinCompositionStrategy_Value>;
146} // namespace protobuf
147} // namespace google
148
149namespace operations_research {
160
161OR_PROTO_DLL extern const uint32_t RuinCompositionStrategy_Value_internal_data_[];
163 static_cast<RuinCompositionStrategy_Value>(0);
165 static_cast<RuinCompositionStrategy_Value>(3);
167 return 0 <= value && value <= 3;
168}
170OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL RuinCompositionStrategy_Value_descriptor();
171template <typename T>
172const ::std::string& RuinCompositionStrategy_Value_Name(T value) {
173 static_assert(::std::is_same<T, RuinCompositionStrategy_Value>::value ||
174 ::std::is_integral<T>::value,
175 "Incorrect type passed to Value_Name().");
177}
178template <>
180 return ::google::protobuf::internal::NameOfDenseEnum<RuinCompositionStrategy_Value_descriptor, 0, 3>(
181 static_cast<int>(value));
182}
184 ::absl::string_view name, RuinCompositionStrategy_Value* PROTOBUF_NONNULL value) {
185 return ::google::protobuf::internal::ParseNamedEnum<RuinCompositionStrategy_Value>(RuinCompositionStrategy_Value_descriptor(), name,
186 value);
187}
196
197OR_PROTO_DLL extern const uint32_t PerturbationStrategy_Value_internal_data_[];
199 static_cast<PerturbationStrategy_Value>(0);
201 static_cast<PerturbationStrategy_Value>(1);
203 return 0 <= value && value <= 1;
204}
206OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL PerturbationStrategy_Value_descriptor();
207template <typename T>
208const ::std::string& PerturbationStrategy_Value_Name(T value) {
209 static_assert(::std::is_same<T, PerturbationStrategy_Value>::value ||
210 ::std::is_integral<T>::value,
211 "Incorrect type passed to Value_Name().");
213}
214template <>
216 return ::google::protobuf::internal::NameOfDenseEnum<PerturbationStrategy_Value_descriptor, 0, 1>(
217 static_cast<int>(value));
218}
220 ::absl::string_view name, PerturbationStrategy_Value* PROTOBUF_NONNULL value) {
221 return ::google::protobuf::internal::ParseNamedEnum<PerturbationStrategy_Value>(PerturbationStrategy_Value_descriptor(), name,
222 value);
223}
233
234OR_PROTO_DLL extern const uint32_t CoolingScheduleStrategy_Value_internal_data_[];
236 static_cast<CoolingScheduleStrategy_Value>(0);
238 static_cast<CoolingScheduleStrategy_Value>(2);
240 return 0 <= value && value <= 2;
241}
243OR_PROTO_DLL const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL CoolingScheduleStrategy_Value_descriptor();
244template <typename T>
245const ::std::string& CoolingScheduleStrategy_Value_Name(T value) {
246 static_assert(::std::is_same<T, CoolingScheduleStrategy_Value>::value ||
247 ::std::is_integral<T>::value,
248 "Incorrect type passed to Value_Name().");
250}
251template <>
253 return ::google::protobuf::internal::NameOfDenseEnum<CoolingScheduleStrategy_Value_descriptor, 0, 2>(
254 static_cast<int>(value));
255}
257 ::absl::string_view name, CoolingScheduleStrategy_Value* PROTOBUF_NONNULL value) {
258 return ::google::protobuf::internal::ParseNamedEnum<CoolingScheduleStrategy_Value>(CoolingScheduleStrategy_Value_descriptor(), name,
259 value);
260}
261
262// ===================================================================
263
264
265// -------------------------------------------------------------------
266
267class OR_PROTO_DLL SpatiallyCloseRoutesRuinStrategy final : public ::google::protobuf::Message
268/* @@protoc_insertion_point(class_definition:operations_research.SpatiallyCloseRoutesRuinStrategy) */ {
269 public:
271 ~SpatiallyCloseRoutesRuinStrategy() PROTOBUF_FINAL;
273#if defined(PROTOBUF_CUSTOM_VTABLE)
274 void operator delete(SpatiallyCloseRoutesRuinStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
275 SharedDtor(*msg);
276 ::google::protobuf::internal::SizedDelete(msg, sizeof(SpatiallyCloseRoutesRuinStrategy));
277 }
278#endif
279
280 template <typename = void>
281 explicit PROTOBUF_CONSTEXPR SpatiallyCloseRoutesRuinStrategy(::google::protobuf::internal::ConstantInitialized);
282
285 : SpatiallyCloseRoutesRuinStrategy(nullptr, ::std::move(from)) {}
288 return *this;
289 }
290 inline SpatiallyCloseRoutesRuinStrategy& operator=(SpatiallyCloseRoutesRuinStrategy&& from) noexcept {
291 if (this == &from) return *this;
292 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
293 InternalSwap(&from);
294 } else {
295 CopyFrom(from);
296 }
297 return *this;
298 }
299
300 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
301 ABSL_ATTRIBUTE_LIFETIME_BOUND {
302 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
303 }
304 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
305 ABSL_ATTRIBUTE_LIFETIME_BOUND {
306 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
307 }
308
309 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
310 return GetDescriptor();
312 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
313 return default_instance().GetMetadata().descriptor;
315 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
316 return default_instance().GetMetadata().reflection;
318 static const SpatiallyCloseRoutesRuinStrategy& default_instance() {
319 return *reinterpret_cast<const SpatiallyCloseRoutesRuinStrategy*>(
321 }
322 static constexpr int kIndexInFileMessages = 0;
324 inline void Swap(SpatiallyCloseRoutesRuinStrategy* PROTOBUF_NONNULL other) {
325 if (other == this) return;
326 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
327 InternalSwap(other);
328 } else {
329 ::google::protobuf::internal::GenericSwap(this, other);
330 }
331 }
332 void UnsafeArenaSwap(SpatiallyCloseRoutesRuinStrategy* PROTOBUF_NONNULL other) {
333 if (other == this) return;
334 ABSL_DCHECK(GetArena() == other->GetArena());
335 InternalSwap(other);
336 }
337
338 // implements Message ----------------------------------------------
339
340 SpatiallyCloseRoutesRuinStrategy* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
341 return ::google::protobuf::Message::DefaultConstruct<SpatiallyCloseRoutesRuinStrategy>(arena);
343 using ::google::protobuf::Message::CopyFrom;
344 void CopyFrom(const SpatiallyCloseRoutesRuinStrategy& from);
345 using ::google::protobuf::Message::MergeFrom;
346 void MergeFrom(const SpatiallyCloseRoutesRuinStrategy& from) { SpatiallyCloseRoutesRuinStrategy::MergeImpl(*this, from); }
347
348 private:
349 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
350 const ::google::protobuf::MessageLite& from_msg);
351
352 public:
353 bool IsInitialized() const {
354 return true;
356 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
357 #if defined(PROTOBUF_CUSTOM_VTABLE)
358 private:
359 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
360 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
361 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
362 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
363
364 public:
365 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
366 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
367 ::uint8_t* PROTOBUF_NONNULL target,
368 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
369 return _InternalSerialize(*this, target, stream);
370 }
371 #else // PROTOBUF_CUSTOM_VTABLE
372 ::size_t ByteSizeLong() const final;
373 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
374 ::uint8_t* PROTOBUF_NONNULL target,
375 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
376 #endif // PROTOBUF_CUSTOM_VTABLE
377 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
378
379 private:
380 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
381 static void SharedDtor(MessageLite& self);
382 void InternalSwap(SpatiallyCloseRoutesRuinStrategy* PROTOBUF_NONNULL other);
383 private:
384 template <typename T>
385 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
386 static ::absl::string_view FullMessageName() { return "operations_research.SpatiallyCloseRoutesRuinStrategy"; }
387
388 explicit SpatiallyCloseRoutesRuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
389 SpatiallyCloseRoutesRuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SpatiallyCloseRoutesRuinStrategy& from);
391 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SpatiallyCloseRoutesRuinStrategy&& from) noexcept
393 *this = ::std::move(from);
394 }
395 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
396 static void* PROTOBUF_NONNULL PlacementNew_(
397 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
398 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
399 static constexpr auto InternalNewImpl_();
400
401 public:
402 static constexpr auto InternalGenerateClassData_();
403
404 ::google::protobuf::Metadata GetMetadata() const;
405 // nested types ----------------------------------------------------
406
407 // accessors -------------------------------------------------------
408 enum : int {
409 kNumRuinedRoutesFieldNumber = 3,
410 };
411 // optional uint32 num_ruined_routes = 3;
412 bool has_num_ruined_routes() const;
414 ::uint32_t num_ruined_routes() const;
415 void set_num_ruined_routes(::uint32_t value);
416
417 private:
418 ::uint32_t _internal_num_ruined_routes() const;
419 void _internal_set_num_ruined_routes(::uint32_t value);
420
421 public:
422 // @@protoc_insertion_point(class_scope:operations_research.SpatiallyCloseRoutesRuinStrategy)
423 private:
424 class _Internal;
425 friend class ::google::protobuf::internal::TcParser;
426 static const ::google::protobuf::internal::TcParseTable<0, 1,
427 0, 0,
428 2>
429 _table_;
430
431 friend class ::google::protobuf::MessageLite;
432 friend class ::google::protobuf::Arena;
433 template <typename T>
434 friend class ::google::protobuf::Arena::InternalHelper;
435 using InternalArenaConstructable_ = void;
436 using DestructorSkippable_ = void;
437 struct Impl_ {
438 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
439 inline explicit Impl_(
440 ::google::protobuf::internal::InternalVisibility visibility,
441 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
442 inline explicit Impl_(
443 ::google::protobuf::internal::InternalVisibility visibility,
444 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
445 const SpatiallyCloseRoutesRuinStrategy& from_msg);
446 ::google::protobuf::internal::HasBits<1> _has_bits_;
447 ::google::protobuf::internal::CachedSize _cached_size_;
448 ::uint32_t num_ruined_routes_;
449 PROTOBUF_TSAN_DECLARE_MEMBER
450 };
451 union { Impl_ _impl_; };
452 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
455OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull SpatiallyCloseRoutesRuinStrategy_class_data_;
456// -------------------------------------------------------------------
457
458class OR_PROTO_DLL SimulatedAnnealingAcceptanceStrategy final : public ::google::protobuf::Message
459/* @@protoc_insertion_point(class_definition:operations_research.SimulatedAnnealingAcceptanceStrategy) */ {
460 public:
463
464#if defined(PROTOBUF_CUSTOM_VTABLE)
465 void operator delete(SimulatedAnnealingAcceptanceStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
466 SharedDtor(*msg);
467 ::google::protobuf::internal::SizedDelete(msg, sizeof(SimulatedAnnealingAcceptanceStrategy));
468 }
469#endif
470
471 template <typename = void>
472 explicit PROTOBUF_CONSTEXPR SimulatedAnnealingAcceptanceStrategy(::google::protobuf::internal::ConstantInitialized);
473
476 : SimulatedAnnealingAcceptanceStrategy(nullptr, ::std::move(from)) {}
478 CopyFrom(from);
479 return *this;
482 if (this == &from) return *this;
483 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
484 InternalSwap(&from);
485 } else {
486 CopyFrom(from);
487 }
488 return *this;
489 }
490
491 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
492 ABSL_ATTRIBUTE_LIFETIME_BOUND {
493 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
495 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
496 ABSL_ATTRIBUTE_LIFETIME_BOUND {
497 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
499
500 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
501 return GetDescriptor();
502 }
503 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
504 return default_instance().GetMetadata().descriptor;
505 }
506 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
507 return default_instance().GetMetadata().reflection;
508 }
513 static constexpr int kIndexInFileMessages = 11;
515 inline void Swap(SimulatedAnnealingAcceptanceStrategy* PROTOBUF_NONNULL other) {
516 if (other == this) return;
517 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
518 InternalSwap(other);
519 } else {
520 ::google::protobuf::internal::GenericSwap(this, other);
521 }
522 }
523 void UnsafeArenaSwap(SimulatedAnnealingAcceptanceStrategy* PROTOBUF_NONNULL other) {
524 if (other == this) return;
525 ABSL_DCHECK(GetArena() == other->GetArena());
526 InternalSwap(other);
527 }
528
529 // implements Message ----------------------------------------------
530
531 SimulatedAnnealingAcceptanceStrategy* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
532 return ::google::protobuf::Message::DefaultConstruct<SimulatedAnnealingAcceptanceStrategy>(arena);
533 }
534 using ::google::protobuf::Message::CopyFrom;
536 using ::google::protobuf::Message::MergeFrom;
537 void MergeFrom(const SimulatedAnnealingAcceptanceStrategy& from) { SimulatedAnnealingAcceptanceStrategy::MergeImpl(*this, from); }
538
539 private:
540 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
541 const ::google::protobuf::MessageLite& from_msg);
542
543 public:
544 bool IsInitialized() const {
545 return true;
546 }
547 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
548 #if defined(PROTOBUF_CUSTOM_VTABLE)
549 private:
550 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
551 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
552 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
553 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
554
555 public:
556 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
557 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
558 ::uint8_t* PROTOBUF_NONNULL target,
559 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
560 return _InternalSerialize(*this, target, stream);
561 }
562 #else // PROTOBUF_CUSTOM_VTABLE
563 ::size_t ByteSizeLong() const final;
564 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
565 ::uint8_t* PROTOBUF_NONNULL target,
566 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
567 #endif // PROTOBUF_CUSTOM_VTABLE
568 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
569
570 private:
571 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
572 static void SharedDtor(MessageLite& self);
573 void InternalSwap(SimulatedAnnealingAcceptanceStrategy* PROTOBUF_NONNULL other);
574 private:
575 template <typename T>
576 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
577 static ::absl::string_view FullMessageName() { return "operations_research.SimulatedAnnealingAcceptanceStrategy"; }
578
579 explicit SimulatedAnnealingAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
580 SimulatedAnnealingAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SimulatedAnnealingAcceptanceStrategy& from);
582 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SimulatedAnnealingAcceptanceStrategy&& from) noexcept
584 *this = ::std::move(from);
585 }
586 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
587 static void* PROTOBUF_NONNULL PlacementNew_(
588 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
589 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
590 static constexpr auto InternalNewImpl_();
591
592 public:
593 static constexpr auto InternalGenerateClassData_();
594
595 ::google::protobuf::Metadata GetMetadata() const;
596 // nested types ----------------------------------------------------
597
598 // accessors -------------------------------------------------------
599 enum : int {
600 kInitialTemperatureFieldNumber = 2,
601 kCoolingScheduleStrategyFieldNumber = 1,
602 kAutomaticTemperaturesFieldNumber = 4,
604 };
605 // optional double initial_temperature = 2;
608 double initial_temperature() const;
609 void set_initial_temperature(double value);
610
611 private:
612 double _internal_initial_temperature() const;
613 void _internal_set_initial_temperature(double value);
614
615 public:
616 // .operations_research.CoolingScheduleStrategy.Value cooling_schedule_strategy = 1;
620
621 private:
622 ::operations_research::CoolingScheduleStrategy_Value _internal_cooling_schedule_strategy() const;
623 void _internal_set_cooling_schedule_strategy(::operations_research::CoolingScheduleStrategy_Value value);
624
625 public:
626 // optional bool automatic_temperatures = 4;
627 bool has_automatic_temperatures() const;
629 bool automatic_temperatures() const;
630 void set_automatic_temperatures(bool value);
631
632 private:
633 bool _internal_automatic_temperatures() const;
634 void _internal_set_automatic_temperatures(bool value);
635
636 public:
637 // optional double final_temperature = 3;
638 bool has_final_temperature() const;
640 double final_temperature() const;
641 void set_final_temperature(double value);
642
643 private:
644 double _internal_final_temperature() const;
645 void _internal_set_final_temperature(double value);
646
647 public:
648 // @@protoc_insertion_point(class_scope:operations_research.SimulatedAnnealingAcceptanceStrategy)
649 private:
650 class _Internal;
651 friend class ::google::protobuf::internal::TcParser;
652 static const ::google::protobuf::internal::TcParseTable<2, 4,
653 0, 0,
654 2>
655 _table_;
656
657 friend class ::google::protobuf::MessageLite;
658 friend class ::google::protobuf::Arena;
659 template <typename T>
660 friend class ::google::protobuf::Arena::InternalHelper;
661 using InternalArenaConstructable_ = void;
662 using DestructorSkippable_ = void;
663 struct Impl_ {
664 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
665 inline explicit Impl_(
666 ::google::protobuf::internal::InternalVisibility visibility,
667 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
668 inline explicit Impl_(
669 ::google::protobuf::internal::InternalVisibility visibility,
670 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
672 ::google::protobuf::internal::HasBits<1> _has_bits_;
673 ::google::protobuf::internal::CachedSize _cached_size_;
674 double initial_temperature_;
675 int cooling_schedule_strategy_;
676 bool automatic_temperatures_;
677 double final_temperature_;
678 PROTOBUF_TSAN_DECLARE_MEMBER
679 };
680 union { Impl_ _impl_; };
681 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
682};
684OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull SimulatedAnnealingAcceptanceStrategy_class_data_;
685// -------------------------------------------------------------------
686
687class OR_PROTO_DLL SISRRuinStrategy final : public ::google::protobuf::Message
688/* @@protoc_insertion_point(class_definition:operations_research.SISRRuinStrategy) */ {
689 public:
690 inline SISRRuinStrategy() : SISRRuinStrategy(nullptr) {}
691 ~SISRRuinStrategy() PROTOBUF_FINAL;
692
693#if defined(PROTOBUF_CUSTOM_VTABLE)
694 void operator delete(SISRRuinStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
695 SharedDtor(*msg);
696 ::google::protobuf::internal::SizedDelete(msg, sizeof(SISRRuinStrategy));
697 }
698#endif
699
700 template <typename = void>
701 explicit PROTOBUF_CONSTEXPR SISRRuinStrategy(::google::protobuf::internal::ConstantInitialized);
702
703 inline SISRRuinStrategy(const SISRRuinStrategy& from) : SISRRuinStrategy(nullptr, from) {}
704 inline SISRRuinStrategy(SISRRuinStrategy&& from) noexcept
705 : SISRRuinStrategy(nullptr, ::std::move(from)) {}
706 inline SISRRuinStrategy& operator=(const SISRRuinStrategy& from) {
707 CopyFrom(from);
708 return *this;
709 }
710 inline SISRRuinStrategy& operator=(SISRRuinStrategy&& from) noexcept {
711 if (this == &from) return *this;
712 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
713 InternalSwap(&from);
714 } else {
715 CopyFrom(from);
716 }
717 return *this;
718 }
719
720 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
721 ABSL_ATTRIBUTE_LIFETIME_BOUND {
722 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
723 }
724 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
725 ABSL_ATTRIBUTE_LIFETIME_BOUND {
726 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
727 }
729 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
730 return GetDescriptor();
731 }
732 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
733 return default_instance().GetMetadata().descriptor;
734 }
735 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
736 return default_instance().GetMetadata().reflection;
737 }
738 static const SISRRuinStrategy& default_instance() {
739 return *reinterpret_cast<const SISRRuinStrategy*>(
741 }
742 static constexpr int kIndexInFileMessages = 2;
743 friend void swap(SISRRuinStrategy& a, SISRRuinStrategy& b) { a.Swap(&b); }
744 inline void Swap(SISRRuinStrategy* PROTOBUF_NONNULL other) {
745 if (other == this) return;
746 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
747 InternalSwap(other);
748 } else {
749 ::google::protobuf::internal::GenericSwap(this, other);
750 }
751 }
752 void UnsafeArenaSwap(SISRRuinStrategy* PROTOBUF_NONNULL other) {
753 if (other == this) return;
754 ABSL_DCHECK(GetArena() == other->GetArena());
755 InternalSwap(other);
757
758 // implements Message ----------------------------------------------
759
760 SISRRuinStrategy* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
761 return ::google::protobuf::Message::DefaultConstruct<SISRRuinStrategy>(arena);
762 }
763 using ::google::protobuf::Message::CopyFrom;
764 void CopyFrom(const SISRRuinStrategy& from);
765 using ::google::protobuf::Message::MergeFrom;
766 void MergeFrom(const SISRRuinStrategy& from) { SISRRuinStrategy::MergeImpl(*this, from); }
767
768 private:
769 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
770 const ::google::protobuf::MessageLite& from_msg);
771
772 public:
773 bool IsInitialized() const {
774 return true;
775 }
776 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
777 #if defined(PROTOBUF_CUSTOM_VTABLE)
778 private:
779 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
780 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
781 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
782 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
783
784 public:
785 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
786 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
787 ::uint8_t* PROTOBUF_NONNULL target,
788 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
789 return _InternalSerialize(*this, target, stream);
790 }
791 #else // PROTOBUF_CUSTOM_VTABLE
792 ::size_t ByteSizeLong() const final;
793 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
794 ::uint8_t* PROTOBUF_NONNULL target,
795 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
796 #endif // PROTOBUF_CUSTOM_VTABLE
797 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
798
799 private:
800 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
801 static void SharedDtor(MessageLite& self);
802 void InternalSwap(SISRRuinStrategy* PROTOBUF_NONNULL other);
803 private:
804 template <typename T>
805 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
806 static ::absl::string_view FullMessageName() { return "operations_research.SISRRuinStrategy"; }
807
808 explicit SISRRuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
809 SISRRuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SISRRuinStrategy& from);
811 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SISRRuinStrategy&& from) noexcept
812 : SISRRuinStrategy(arena) {
813 *this = ::std::move(from);
814 }
815 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
816 static void* PROTOBUF_NONNULL PlacementNew_(
817 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
818 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
819 static constexpr auto InternalNewImpl_();
820
821 public:
822 static constexpr auto InternalGenerateClassData_();
823
824 ::google::protobuf::Metadata GetMetadata() const;
825 // nested types ----------------------------------------------------
826
827 // accessors -------------------------------------------------------
828 enum : int {
829 kMaxRemovedSequenceSizeFieldNumber = 1,
830 kAvgNumRemovedVisitsFieldNumber = 2,
831 kBypassFactorFieldNumber = 3,
832 };
833 // optional uint32 max_removed_sequence_size = 1;
836 ::uint32_t max_removed_sequence_size() const;
837 void set_max_removed_sequence_size(::uint32_t value);
838
839 private:
840 ::uint32_t _internal_max_removed_sequence_size() const;
841 void _internal_set_max_removed_sequence_size(::uint32_t value);
842
843 public:
844 // optional uint32 avg_num_removed_visits = 2;
845 bool has_avg_num_removed_visits() const;
847 ::uint32_t avg_num_removed_visits() const;
848 void set_avg_num_removed_visits(::uint32_t value);
849
850 private:
851 ::uint32_t _internal_avg_num_removed_visits() const;
852 void _internal_set_avg_num_removed_visits(::uint32_t value);
853
854 public:
855 // optional double bypass_factor = 3;
856 bool has_bypass_factor() const;
857 void clear_bypass_factor() ;
858 double bypass_factor() const;
859 void set_bypass_factor(double value);
860
861 private:
862 double _internal_bypass_factor() const;
863 void _internal_set_bypass_factor(double value);
864
865 public:
866 // @@protoc_insertion_point(class_scope:operations_research.SISRRuinStrategy)
867 private:
868 class _Internal;
869 friend class ::google::protobuf::internal::TcParser;
870 static const ::google::protobuf::internal::TcParseTable<2, 3,
871 0, 0,
872 2>
873 _table_;
874
875 friend class ::google::protobuf::MessageLite;
876 friend class ::google::protobuf::Arena;
877 template <typename T>
878 friend class ::google::protobuf::Arena::InternalHelper;
879 using InternalArenaConstructable_ = void;
880 using DestructorSkippable_ = void;
881 struct Impl_ {
882 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
883 inline explicit Impl_(
884 ::google::protobuf::internal::InternalVisibility visibility,
885 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
886 inline explicit Impl_(
887 ::google::protobuf::internal::InternalVisibility visibility,
888 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
889 const SISRRuinStrategy& from_msg);
890 ::google::protobuf::internal::HasBits<1> _has_bits_;
891 ::google::protobuf::internal::CachedSize _cached_size_;
892 ::uint32_t max_removed_sequence_size_;
893 ::uint32_t avg_num_removed_visits_;
894 double bypass_factor_;
895 PROTOBUF_TSAN_DECLARE_MEMBER
896 };
897 union { Impl_ _impl_; };
898 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
899};
900
901OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull SISRRuinStrategy_class_data_;
902// -------------------------------------------------------------------
903
904class OR_PROTO_DLL RuinCompositionStrategy final : public ::google::protobuf::internal::ZeroFieldsBase
905/* @@protoc_insertion_point(class_definition:operations_research.RuinCompositionStrategy) */ {
906 public:
908
909#if defined(PROTOBUF_CUSTOM_VTABLE)
910 void operator delete(RuinCompositionStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
911 SharedDtor(*msg);
912 ::google::protobuf::internal::SizedDelete(msg, sizeof(RuinCompositionStrategy));
913 }
914#endif
915
916 template <typename = void>
917 explicit PROTOBUF_CONSTEXPR RuinCompositionStrategy(::google::protobuf::internal::ConstantInitialized);
918
919 inline RuinCompositionStrategy(const RuinCompositionStrategy& from) : RuinCompositionStrategy(nullptr, from) {}
920 inline RuinCompositionStrategy(RuinCompositionStrategy&& from) noexcept
921 : RuinCompositionStrategy(nullptr, ::std::move(from)) {}
923 CopyFrom(from);
924 return *this;
926 inline RuinCompositionStrategy& operator=(RuinCompositionStrategy&& from) noexcept {
927 if (this == &from) return *this;
928 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
929 InternalSwap(&from);
930 } else {
931 CopyFrom(from);
932 }
933 return *this;
934 }
935
936 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
937 ABSL_ATTRIBUTE_LIFETIME_BOUND {
938 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
939 }
940 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
941 ABSL_ATTRIBUTE_LIFETIME_BOUND {
942 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
943 }
944
945 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
946 return GetDescriptor();
947 }
948 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
949 return default_instance().GetMetadata().descriptor;
951 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
952 return default_instance().GetMetadata().reflection;
954 static const RuinCompositionStrategy& default_instance() {
955 return *reinterpret_cast<const RuinCompositionStrategy*>(
957 }
958 static constexpr int kIndexInFileMessages = 6;
960 inline void Swap(RuinCompositionStrategy* PROTOBUF_NONNULL other) {
961 if (other == this) return;
962 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
963 InternalSwap(other);
964 } else {
965 ::google::protobuf::internal::GenericSwap(this, other);
966 }
967 }
968 void UnsafeArenaSwap(RuinCompositionStrategy* PROTOBUF_NONNULL other) {
969 if (other == this) return;
970 ABSL_DCHECK(GetArena() == other->GetArena());
971 InternalSwap(other);
972 }
974 // implements Message ----------------------------------------------
975
976 RuinCompositionStrategy* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
977 return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<RuinCompositionStrategy>(arena);
978 }
979 using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
980 inline void CopyFrom(const RuinCompositionStrategy& from) {
981 ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from);
982 }
983 using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
984 void MergeFrom(const RuinCompositionStrategy& from) {
985 ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from);
986 }
987
988 public:
989 bool IsInitialized() const {
990 return true;
991 }
992 private:
993 template <typename T>
995 static ::absl::string_view FullMessageName() { return "operations_research.RuinCompositionStrategy"; }
996
997 explicit RuinCompositionStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
998 RuinCompositionStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RuinCompositionStrategy& from);
1000 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RuinCompositionStrategy&& from) noexcept
1001 : RuinCompositionStrategy(arena) {
1002 *this = ::std::move(from);
1003 }
1004 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1005 static void* PROTOBUF_NONNULL PlacementNew_(
1006 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1007 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1008 static constexpr auto InternalNewImpl_();
1009
1010 public:
1011 static constexpr auto InternalGenerateClassData_();
1012
1013 ::google::protobuf::Metadata GetMetadata() const;
1014 // nested types ----------------------------------------------------
1015 using Value = RuinCompositionStrategy_Value;
1016 static constexpr Value UNSET = RuinCompositionStrategy_Value_UNSET;
1017 static constexpr Value RUN_ALL_SEQUENTIALLY = RuinCompositionStrategy_Value_RUN_ALL_SEQUENTIALLY;
1018 static constexpr Value RUN_ALL_RANDOMLY = RuinCompositionStrategy_Value_RUN_ALL_RANDOMLY;
1019 static constexpr Value RUN_ONE_RANDOMLY = RuinCompositionStrategy_Value_RUN_ONE_RANDOMLY;
1020 static inline bool Value_IsValid(int value) {
1026 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Value_descriptor() {
1029 template <typename T>
1030 static inline const ::std::string& Value_Name(T value) {
1032 }
1033 static inline bool Value_Parse(
1034 ::absl::string_view name, Value* PROTOBUF_NONNULL value) {
1036 }
1037
1038 // accessors -------------------------------------------------------
1039 // @@protoc_insertion_point(class_scope:operations_research.RuinCompositionStrategy)
1040 private:
1041 class _Internal;
1042 friend class ::google::protobuf::internal::TcParser;
1043 static const ::google::protobuf::internal::TcParseTable<0, 0,
1044 0, 0,
1045 2>
1046 _table_;
1048 friend class ::google::protobuf::MessageLite;
1049 friend class ::google::protobuf::Arena;
1050 template <typename T>
1051 friend class ::google::protobuf::Arena::InternalHelper;
1052 using InternalArenaConstructable_ = void;
1053 using DestructorSkippable_ = void;
1054 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
1055};
1057OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RuinCompositionStrategy_class_data_;
1058// -------------------------------------------------------------------
1060class OR_PROTO_DLL RandomWalkRuinStrategy final : public ::google::protobuf::Message
1061/* @@protoc_insertion_point(class_definition:operations_research.RandomWalkRuinStrategy) */ {
1062 public:
1063 inline RandomWalkRuinStrategy() : RandomWalkRuinStrategy(nullptr) {}
1064 ~RandomWalkRuinStrategy() PROTOBUF_FINAL;
1065
1066#if defined(PROTOBUF_CUSTOM_VTABLE)
1067 void operator delete(RandomWalkRuinStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1068 SharedDtor(*msg);
1069 ::google::protobuf::internal::SizedDelete(msg, sizeof(RandomWalkRuinStrategy));
1070 }
1071#endif
1072
1073 template <typename = void>
1074 explicit PROTOBUF_CONSTEXPR RandomWalkRuinStrategy(::google::protobuf::internal::ConstantInitialized);
1075
1076 inline RandomWalkRuinStrategy(const RandomWalkRuinStrategy& from) : RandomWalkRuinStrategy(nullptr, from) {}
1077 inline RandomWalkRuinStrategy(RandomWalkRuinStrategy&& from) noexcept
1078 : RandomWalkRuinStrategy(nullptr, ::std::move(from)) {}
1079 inline RandomWalkRuinStrategy& operator=(const RandomWalkRuinStrategy& from) {
1081 return *this;
1084 if (this == &from) return *this;
1085 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1086 InternalSwap(&from);
1087 } else {
1088 CopyFrom(from);
1090 return *this;
1091 }
1092
1093 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1094 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1095 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1096 }
1097 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1098 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1099 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1100 }
1101
1102 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1104 }
1105 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1106 return default_instance().GetMetadata().descriptor;
1107 }
1108 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1109 return default_instance().GetMetadata().reflection;
1110 }
1115 static constexpr int kIndexInFileMessages = 1;
1116 friend void swap(RandomWalkRuinStrategy& a, RandomWalkRuinStrategy& b) { a.Swap(&b); }
1117 inline void Swap(RandomWalkRuinStrategy* PROTOBUF_NONNULL other) {
1118 if (other == this) return;
1119 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1120 InternalSwap(other);
1121 } else {
1122 ::google::protobuf::internal::GenericSwap(this, other);
1124 }
1125 void UnsafeArenaSwap(RandomWalkRuinStrategy* PROTOBUF_NONNULL other) {
1126 if (other == this) return;
1127 ABSL_DCHECK(GetArena() == other->GetArena());
1128 InternalSwap(other);
1129 }
1130
1131 // implements Message ----------------------------------------------
1132
1133 RandomWalkRuinStrategy* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1134 return ::google::protobuf::Message::DefaultConstruct<RandomWalkRuinStrategy>(arena);
1135 }
1136 using ::google::protobuf::Message::CopyFrom;
1137 void CopyFrom(const RandomWalkRuinStrategy& from);
1138 using ::google::protobuf::Message::MergeFrom;
1139 void MergeFrom(const RandomWalkRuinStrategy& from) { RandomWalkRuinStrategy::MergeImpl(*this, from); }
1140
1141 private:
1142 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
1143 const ::google::protobuf::MessageLite& from_msg);
1144
1145 public:
1146 bool IsInitialized() const {
1147 return true;
1148 }
1149 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1150 #if defined(PROTOBUF_CUSTOM_VTABLE)
1151 private:
1152 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1153 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1154 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
1155 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
1156
1157 public:
1158 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1159 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1160 ::uint8_t* PROTOBUF_NONNULL target,
1161 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
1162 return _InternalSerialize(*this, target, stream);
1163 }
1164 #else // PROTOBUF_CUSTOM_VTABLE
1165 ::size_t ByteSizeLong() const final;
1166 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
1167 ::uint8_t* PROTOBUF_NONNULL target,
1168 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
1169 #endif // PROTOBUF_CUSTOM_VTABLE
1170 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1171
1172 private:
1173 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1174 static void SharedDtor(MessageLite& self);
1175 void InternalSwap(RandomWalkRuinStrategy* PROTOBUF_NONNULL other);
1176 private:
1177 template <typename T>
1178 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1179 static ::absl::string_view FullMessageName() { return "operations_research.RandomWalkRuinStrategy"; }
1180
1181 explicit RandomWalkRuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1182 RandomWalkRuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RandomWalkRuinStrategy& from);
1184 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RandomWalkRuinStrategy&& from) noexcept
1185 : RandomWalkRuinStrategy(arena) {
1186 *this = ::std::move(from);
1187 }
1188 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1189 static void* PROTOBUF_NONNULL PlacementNew_(
1190 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1191 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1192 static constexpr auto InternalNewImpl_();
1193
1194 public:
1195 static constexpr auto InternalGenerateClassData_();
1196
1197 ::google::protobuf::Metadata GetMetadata() const;
1198 // nested types ----------------------------------------------------
1199
1200 // accessors -------------------------------------------------------
1201 enum : int {
1202 kNumRemovedVisitsFieldNumber = 7,
1203 };
1204 // optional uint32 num_removed_visits = 7;
1205 bool has_num_removed_visits() const;
1206 void clear_num_removed_visits() ;
1207 ::uint32_t num_removed_visits() const;
1208 void set_num_removed_visits(::uint32_t value);
1209
1210 private:
1211 ::uint32_t _internal_num_removed_visits() const;
1212 void _internal_set_num_removed_visits(::uint32_t value);
1213
1214 public:
1215 // @@protoc_insertion_point(class_scope:operations_research.RandomWalkRuinStrategy)
1216 private:
1217 class _Internal;
1218 friend class ::google::protobuf::internal::TcParser;
1219 static const ::google::protobuf::internal::TcParseTable<0, 1,
1220 0, 0,
1221 2>
1222 _table_;
1223
1224 friend class ::google::protobuf::MessageLite;
1225 friend class ::google::protobuf::Arena;
1226 template <typename T>
1227 friend class ::google::protobuf::Arena::InternalHelper;
1228 using InternalArenaConstructable_ = void;
1229 using DestructorSkippable_ = void;
1230 struct Impl_ {
1231 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
1232 inline explicit Impl_(
1233 ::google::protobuf::internal::InternalVisibility visibility,
1234 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1235 inline explicit Impl_(
1236 ::google::protobuf::internal::InternalVisibility visibility,
1237 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
1238 const RandomWalkRuinStrategy& from_msg);
1239 ::google::protobuf::internal::HasBits<1> _has_bits_;
1240 ::google::protobuf::internal::CachedSize _cached_size_;
1241 ::uint32_t num_removed_visits_;
1242 PROTOBUF_TSAN_DECLARE_MEMBER
1243 };
1244 union { Impl_ _impl_; };
1245 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
1246};
1247
1248OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RandomWalkRuinStrategy_class_data_;
1249// -------------------------------------------------------------------
1251class OR_PROTO_DLL PerturbationStrategy final : public ::google::protobuf::internal::ZeroFieldsBase
1252/* @@protoc_insertion_point(class_definition:operations_research.PerturbationStrategy) */ {
1253 public:
1254 inline PerturbationStrategy() : PerturbationStrategy(nullptr) {}
1255
1256#if defined(PROTOBUF_CUSTOM_VTABLE)
1257 void operator delete(PerturbationStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1258 SharedDtor(*msg);
1259 ::google::protobuf::internal::SizedDelete(msg, sizeof(PerturbationStrategy));
1260 }
1261#endif
1262
1263 template <typename = void>
1264 explicit PROTOBUF_CONSTEXPR PerturbationStrategy(::google::protobuf::internal::ConstantInitialized);
1265
1266 inline PerturbationStrategy(const PerturbationStrategy& from) : PerturbationStrategy(nullptr, from) {}
1267 inline PerturbationStrategy(PerturbationStrategy&& from) noexcept
1268 : PerturbationStrategy(nullptr, ::std::move(from)) {}
1269 inline PerturbationStrategy& operator=(const PerturbationStrategy& from) {
1270 CopyFrom(from);
1271 return *this;
1272 }
1274 if (this == &from) return *this;
1275 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1276 InternalSwap(&from);
1277 } else {
1278 CopyFrom(from);
1279 }
1280 return *this;
1281 }
1282
1283 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1284 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1285 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1286 }
1287 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1288 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1289 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1291
1292 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1293 return GetDescriptor();
1295 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1296 return default_instance().GetMetadata().descriptor;
1297 }
1298 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1299 return default_instance().GetMetadata().reflection;
1300 }
1301 static const PerturbationStrategy& default_instance() {
1302 return *reinterpret_cast<const PerturbationStrategy*>(
1304 }
1305 static constexpr int kIndexInFileMessages = 8;
1306 friend void swap(PerturbationStrategy& a, PerturbationStrategy& b) { a.Swap(&b); }
1307 inline void Swap(PerturbationStrategy* PROTOBUF_NONNULL other) {
1308 if (other == this) return;
1309 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1310 InternalSwap(other);
1311 } else {
1312 ::google::protobuf::internal::GenericSwap(this, other);
1315 void UnsafeArenaSwap(PerturbationStrategy* PROTOBUF_NONNULL other) {
1316 if (other == this) return;
1317 ABSL_DCHECK(GetArena() == other->GetArena());
1318 InternalSwap(other);
1319 }
1320
1321 // implements Message ----------------------------------------------
1323 PerturbationStrategy* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1324 return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<PerturbationStrategy>(arena);
1325 }
1326 using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
1327 inline void CopyFrom(const PerturbationStrategy& from) {
1328 ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from);
1329 }
1330 using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
1331 void MergeFrom(const PerturbationStrategy& from) {
1332 ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from);
1333 }
1335 public:
1336 bool IsInitialized() const {
1337 return true;
1339 private:
1340 template <typename T>
1341 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1342 static ::absl::string_view FullMessageName() { return "operations_research.PerturbationStrategy"; }
1344 explicit PerturbationStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1345 PerturbationStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PerturbationStrategy& from);
1347 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, PerturbationStrategy&& from) noexcept
1348 : PerturbationStrategy(arena) {
1349 *this = ::std::move(from);
1350 }
1351 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1352 static void* PROTOBUF_NONNULL PlacementNew_(
1353 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1354 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1355 static constexpr auto InternalNewImpl_();
1356
1357 public:
1358 static constexpr auto InternalGenerateClassData_();
1359
1360 ::google::protobuf::Metadata GetMetadata() const;
1361 // nested types ----------------------------------------------------
1362 using Value = PerturbationStrategy_Value;
1363 static constexpr Value UNSET = PerturbationStrategy_Value_UNSET;
1364 static constexpr Value RUIN_AND_RECREATE = PerturbationStrategy_Value_RUIN_AND_RECREATE;
1365 static inline bool Value_IsValid(int value) {
1367 }
1368 static constexpr Value Value_MIN = PerturbationStrategy_Value_Value_MIN;
1371 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Value_descriptor() {
1373 }
1374 template <typename T>
1375 static inline const ::std::string& Value_Name(T value) {
1378 static inline bool Value_Parse(
1379 ::absl::string_view name, Value* PROTOBUF_NONNULL value) {
1380 return PerturbationStrategy_Value_Parse(name, value);
1381 }
1383 // accessors -------------------------------------------------------
1384 // @@protoc_insertion_point(class_scope:operations_research.PerturbationStrategy)
1385 private:
1386 class _Internal;
1387 friend class ::google::protobuf::internal::TcParser;
1388 static const ::google::protobuf::internal::TcParseTable<0, 0,
1389 0, 0,
1390 2>
1391 _table_;
1392
1393 friend class ::google::protobuf::MessageLite;
1394 friend class ::google::protobuf::Arena;
1395 template <typename T>
1396 friend class ::google::protobuf::Arena::InternalHelper;
1397 using InternalArenaConstructable_ = void;
1398 using DestructorSkippable_ = void;
1399 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
1402OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull PerturbationStrategy_class_data_;
1403// -------------------------------------------------------------------
1404
1405class OR_PROTO_DLL MoreNodesPerformedAcceptanceStrategy final : public ::google::protobuf::internal::ZeroFieldsBase
1406/* @@protoc_insertion_point(class_definition:operations_research.MoreNodesPerformedAcceptanceStrategy) */ {
1407 public:
1409
1410#if defined(PROTOBUF_CUSTOM_VTABLE)
1411 void operator delete(MoreNodesPerformedAcceptanceStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1412 SharedDtor(*msg);
1413 ::google::protobuf::internal::SizedDelete(msg, sizeof(MoreNodesPerformedAcceptanceStrategy));
1414 }
1415#endif
1417 template <typename = void>
1418 explicit PROTOBUF_CONSTEXPR MoreNodesPerformedAcceptanceStrategy(::google::protobuf::internal::ConstantInitialized);
1419
1422 : MoreNodesPerformedAcceptanceStrategy(nullptr, ::std::move(from)) {}
1423 inline MoreNodesPerformedAcceptanceStrategy& operator=(const MoreNodesPerformedAcceptanceStrategy& from) {
1424 CopyFrom(from);
1425 return *this;
1428 if (this == &from) return *this;
1429 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1430 InternalSwap(&from);
1431 } else {
1432 CopyFrom(from);
1433 }
1434 return *this;
1436
1437 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1438 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1439 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1440 }
1441 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1442 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1443 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1444 }
1446 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1447 return GetDescriptor();
1448 }
1449 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1450 return default_instance().GetMetadata().descriptor;
1451 }
1452 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1453 return default_instance().GetMetadata().reflection;
1455 static const MoreNodesPerformedAcceptanceStrategy& default_instance() {
1456 return *reinterpret_cast<const MoreNodesPerformedAcceptanceStrategy*>(
1458 }
1459 static constexpr int kIndexInFileMessages = 13;
1461 inline void Swap(MoreNodesPerformedAcceptanceStrategy* PROTOBUF_NONNULL other) {
1462 if (other == this) return;
1463 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1464 InternalSwap(other);
1465 } else {
1466 ::google::protobuf::internal::GenericSwap(this, other);
1470 if (other == this) return;
1471 ABSL_DCHECK(GetArena() == other->GetArena());
1472 InternalSwap(other);
1473 }
1474
1475 // implements Message ----------------------------------------------
1476
1477 MoreNodesPerformedAcceptanceStrategy* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1478 return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<MoreNodesPerformedAcceptanceStrategy>(arena);
1479 }
1480 using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
1481 inline void CopyFrom(const MoreNodesPerformedAcceptanceStrategy& from) {
1482 ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from);
1483 }
1484 using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
1486 ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from);
1487 }
1488
1489 public:
1490 bool IsInitialized() const {
1491 return true;
1492 }
1493 private:
1494 template <typename T>
1495 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1496 static ::absl::string_view FullMessageName() { return "operations_research.MoreNodesPerformedAcceptanceStrategy"; }
1497
1498 explicit MoreNodesPerformedAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1499 MoreNodesPerformedAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MoreNodesPerformedAcceptanceStrategy& from);
1501 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MoreNodesPerformedAcceptanceStrategy&& from) noexcept
1503 *this = ::std::move(from);
1504 }
1505 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1506 static void* PROTOBUF_NONNULL PlacementNew_(
1507 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1508 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1509 static constexpr auto InternalNewImpl_();
1510
1511 public:
1512 static constexpr auto InternalGenerateClassData_();
1513
1514 ::google::protobuf::Metadata GetMetadata() const;
1515 // nested types ----------------------------------------------------
1516
1517 // accessors -------------------------------------------------------
1518 // @@protoc_insertion_point(class_scope:operations_research.MoreNodesPerformedAcceptanceStrategy)
1519 private:
1520 class _Internal;
1521 friend class ::google::protobuf::internal::TcParser;
1522 static const ::google::protobuf::internal::TcParseTable<0, 0,
1523 0, 0,
1524 2>
1525 _table_;
1526
1527 friend class ::google::protobuf::MessageLite;
1528 friend class ::google::protobuf::Arena;
1529 template <typename T>
1530 friend class ::google::protobuf::Arena::InternalHelper;
1531 using InternalArenaConstructable_ = void;
1532 using DestructorSkippable_ = void;
1534};
1536OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull MoreNodesPerformedAcceptanceStrategy_class_data_;
1537// -------------------------------------------------------------------
1539class OR_PROTO_DLL GreedyDescentAcceptanceStrategy final : public ::google::protobuf::internal::ZeroFieldsBase
1540/* @@protoc_insertion_point(class_definition:operations_research.GreedyDescentAcceptanceStrategy) */ {
1541 public:
1543
1544#if defined(PROTOBUF_CUSTOM_VTABLE)
1545 void operator delete(GreedyDescentAcceptanceStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1546 SharedDtor(*msg);
1547 ::google::protobuf::internal::SizedDelete(msg, sizeof(GreedyDescentAcceptanceStrategy));
1549#endif
1550
1551 template <typename = void>
1552 explicit PROTOBUF_CONSTEXPR GreedyDescentAcceptanceStrategy(::google::protobuf::internal::ConstantInitialized);
1553
1556 : GreedyDescentAcceptanceStrategy(nullptr, ::std::move(from)) {}
1557 inline GreedyDescentAcceptanceStrategy& operator=(const GreedyDescentAcceptanceStrategy& from) {
1558 CopyFrom(from);
1559 return *this;
1560 }
1562 if (this == &from) return *this;
1563 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1564 InternalSwap(&from);
1565 } else {
1567 }
1568 return *this;
1569 }
1571 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1572 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1573 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1574 }
1575 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1576 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1577 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1578 }
1579
1580 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1581 return GetDescriptor();
1582 }
1583 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1584 return default_instance().GetMetadata().descriptor;
1585 }
1586 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1587 return default_instance().GetMetadata().reflection;
1588 }
1593 static constexpr int kIndexInFileMessages = 10;
1594 friend void swap(GreedyDescentAcceptanceStrategy& a, GreedyDescentAcceptanceStrategy& b) { a.Swap(&b); }
1595 inline void Swap(GreedyDescentAcceptanceStrategy* PROTOBUF_NONNULL other) {
1596 if (other == this) return;
1597 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1598 InternalSwap(other);
1599 } else {
1600 ::google::protobuf::internal::GenericSwap(this, other);
1601 }
1603 void UnsafeArenaSwap(GreedyDescentAcceptanceStrategy* PROTOBUF_NONNULL other) {
1604 if (other == this) return;
1605 ABSL_DCHECK(GetArena() == other->GetArena());
1606 InternalSwap(other);
1607 }
1608
1609 // implements Message ----------------------------------------------
1610
1611 GreedyDescentAcceptanceStrategy* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1612 return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<GreedyDescentAcceptanceStrategy>(arena);
1613 }
1614 using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
1615 inline void CopyFrom(const GreedyDescentAcceptanceStrategy& from) {
1616 ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from);
1617 }
1618 using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
1619 void MergeFrom(const GreedyDescentAcceptanceStrategy& from) {
1620 ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from);
1621 }
1622
1623 public:
1624 bool IsInitialized() const {
1625 return true;
1626 }
1627 private:
1628 template <typename T>
1629 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1630 static ::absl::string_view FullMessageName() { return "operations_research.GreedyDescentAcceptanceStrategy"; }
1631
1632 explicit GreedyDescentAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1633 GreedyDescentAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GreedyDescentAcceptanceStrategy& from);
1635 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GreedyDescentAcceptanceStrategy&& from) noexcept
1637 *this = ::std::move(from);
1638 }
1639 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1640 static void* PROTOBUF_NONNULL PlacementNew_(
1641 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1642 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1643 static constexpr auto InternalNewImpl_();
1644
1645 public:
1646 static constexpr auto InternalGenerateClassData_();
1647
1648 ::google::protobuf::Metadata GetMetadata() const;
1649 // nested types ----------------------------------------------------
1650
1651 // accessors -------------------------------------------------------
1652 // @@protoc_insertion_point(class_scope:operations_research.GreedyDescentAcceptanceStrategy)
1653 private:
1654 class _Internal;
1655 friend class ::google::protobuf::internal::TcParser;
1656 static const ::google::protobuf::internal::TcParseTable<0, 0,
1657 0, 0,
1658 2>
1659 _table_;
1660
1661 friend class ::google::protobuf::MessageLite;
1662 friend class ::google::protobuf::Arena;
1663 template <typename T>
1664 friend class ::google::protobuf::Arena::InternalHelper;
1665 using InternalArenaConstructable_ = void;
1666 using DestructorSkippable_ = void;
1668};
1669
1670OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull GreedyDescentAcceptanceStrategy_class_data_;
1671// -------------------------------------------------------------------
1672
1673class OR_PROTO_DLL CoolingScheduleStrategy final : public ::google::protobuf::internal::ZeroFieldsBase
1674/* @@protoc_insertion_point(class_definition:operations_research.CoolingScheduleStrategy) */ {
1675 public:
1677
1678#if defined(PROTOBUF_CUSTOM_VTABLE)
1679 void operator delete(CoolingScheduleStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1680 SharedDtor(*msg);
1681 ::google::protobuf::internal::SizedDelete(msg, sizeof(CoolingScheduleStrategy));
1682 }
1683#endif
1684
1685 template <typename = void>
1686 explicit PROTOBUF_CONSTEXPR CoolingScheduleStrategy(::google::protobuf::internal::ConstantInitialized);
1687
1688 inline CoolingScheduleStrategy(const CoolingScheduleStrategy& from) : CoolingScheduleStrategy(nullptr, from) {}
1689 inline CoolingScheduleStrategy(CoolingScheduleStrategy&& from) noexcept
1690 : CoolingScheduleStrategy(nullptr, ::std::move(from)) {}
1691 inline CoolingScheduleStrategy& operator=(const CoolingScheduleStrategy& from) {
1692 CopyFrom(from);
1693 return *this;
1694 }
1695 inline CoolingScheduleStrategy& operator=(CoolingScheduleStrategy&& from) noexcept {
1696 if (this == &from) return *this;
1697 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1698 InternalSwap(&from);
1699 } else {
1700 CopyFrom(from);
1702 return *this;
1703 }
1704
1705 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1706 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1707 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1708 }
1709 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1710 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1711 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1712 }
1713
1714 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1716 }
1717 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1718 return default_instance().GetMetadata().descriptor;
1720 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1721 return default_instance().GetMetadata().reflection;
1722 }
1723 static const CoolingScheduleStrategy& default_instance() {
1724 return *reinterpret_cast<const CoolingScheduleStrategy*>(
1726 }
1727 static constexpr int kIndexInFileMessages = 9;
1728 friend void swap(CoolingScheduleStrategy& a, CoolingScheduleStrategy& b) { a.Swap(&b); }
1729 inline void Swap(CoolingScheduleStrategy* PROTOBUF_NONNULL other) {
1730 if (other == this) return;
1731 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1732 InternalSwap(other);
1733 } else {
1734 ::google::protobuf::internal::GenericSwap(this, other);
1735 }
1736 }
1737 void UnsafeArenaSwap(CoolingScheduleStrategy* PROTOBUF_NONNULL other) {
1738 if (other == this) return;
1739 ABSL_DCHECK(GetArena() == other->GetArena());
1740 InternalSwap(other);
1741 }
1742
1743 // implements Message ----------------------------------------------
1744
1745 CoolingScheduleStrategy* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1746 return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<CoolingScheduleStrategy>(arena);
1748 using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
1749 inline void CopyFrom(const CoolingScheduleStrategy& from) {
1750 ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from);
1751 }
1752 using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
1753 void MergeFrom(const CoolingScheduleStrategy& from) {
1754 ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from);
1756
1757 public:
1758 bool IsInitialized() const {
1759 return true;
1760 }
1761 private:
1762 template <typename T>
1764 static ::absl::string_view FullMessageName() { return "operations_research.CoolingScheduleStrategy"; }
1765
1766 explicit CoolingScheduleStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1767 CoolingScheduleStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CoolingScheduleStrategy& from);
1769 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CoolingScheduleStrategy&& from) noexcept
1770 : CoolingScheduleStrategy(arena) {
1771 *this = ::std::move(from);
1772 }
1773 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1774 static void* PROTOBUF_NONNULL PlacementNew_(
1775 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1776 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1777 static constexpr auto InternalNewImpl_();
1778
1779 public:
1780 static constexpr auto InternalGenerateClassData_();
1781
1782 ::google::protobuf::Metadata GetMetadata() const;
1783 // nested types ----------------------------------------------------
1784 using Value = CoolingScheduleStrategy_Value;
1785 static constexpr Value UNSET = CoolingScheduleStrategy_Value_UNSET;
1786 static constexpr Value EXPONENTIAL = CoolingScheduleStrategy_Value_EXPONENTIAL;
1787 static constexpr Value LINEAR = CoolingScheduleStrategy_Value_LINEAR;
1788 static inline bool Value_IsValid(int value) {
1790 }
1791 static constexpr Value Value_MIN = CoolingScheduleStrategy_Value_Value_MIN;
1792 static constexpr Value Value_MAX = CoolingScheduleStrategy_Value_Value_MAX;
1793 static constexpr int Value_ARRAYSIZE = CoolingScheduleStrategy_Value_Value_ARRAYSIZE;
1794 static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Value_descriptor() {
1797 template <typename T>
1798 static inline const ::std::string& Value_Name(T value) {
1800 }
1801 static inline bool Value_Parse(
1802 ::absl::string_view name, Value* PROTOBUF_NONNULL value) {
1805
1806 // accessors -------------------------------------------------------
1807 // @@protoc_insertion_point(class_scope:operations_research.CoolingScheduleStrategy)
1808 private:
1809 class _Internal;
1810 friend class ::google::protobuf::internal::TcParser;
1811 static const ::google::protobuf::internal::TcParseTable<0, 0,
1812 0, 0,
1813 2>
1814 _table_;
1815
1816 friend class ::google::protobuf::MessageLite;
1817 friend class ::google::protobuf::Arena;
1818 template <typename T>
1819 friend class ::google::protobuf::Arena::InternalHelper;
1820 using InternalArenaConstructable_ = void;
1821 using DestructorSkippable_ = void;
1822 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
1823};
1824
1825OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull CoolingScheduleStrategy_class_data_;
1826// -------------------------------------------------------------------
1828class OR_PROTO_DLL AllNodesPerformedAcceptanceStrategy final : public ::google::protobuf::internal::ZeroFieldsBase
1829/* @@protoc_insertion_point(class_definition:operations_research.AllNodesPerformedAcceptanceStrategy) */ {
1830 public:
1833#if defined(PROTOBUF_CUSTOM_VTABLE)
1834 void operator delete(AllNodesPerformedAcceptanceStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1835 SharedDtor(*msg);
1836 ::google::protobuf::internal::SizedDelete(msg, sizeof(AllNodesPerformedAcceptanceStrategy));
1837 }
1838#endif
1840 template <typename = void>
1841 explicit PROTOBUF_CONSTEXPR AllNodesPerformedAcceptanceStrategy(::google::protobuf::internal::ConstantInitialized);
1845 : AllNodesPerformedAcceptanceStrategy(nullptr, ::std::move(from)) {}
1846 inline AllNodesPerformedAcceptanceStrategy& operator=(const AllNodesPerformedAcceptanceStrategy& from) {
1847 CopyFrom(from);
1848 return *this;
1849 }
1850 inline AllNodesPerformedAcceptanceStrategy& operator=(AllNodesPerformedAcceptanceStrategy&& from) noexcept {
1851 if (this == &from) return *this;
1852 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1853 InternalSwap(&from);
1854 } else {
1856 }
1857 return *this;
1858 }
1859
1860 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1861 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1862 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1863 }
1864 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
1865 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1866 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1867 }
1868
1869 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
1870 return GetDescriptor();
1872 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
1873 return default_instance().GetMetadata().descriptor;
1874 }
1875 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
1876 return default_instance().GetMetadata().reflection;
1877 }
1878 static const AllNodesPerformedAcceptanceStrategy& default_instance() {
1879 return *reinterpret_cast<const AllNodesPerformedAcceptanceStrategy*>(
1881 }
1882 static constexpr int kIndexInFileMessages = 12;
1884 inline void Swap(AllNodesPerformedAcceptanceStrategy* PROTOBUF_NONNULL other) {
1885 if (other == this) return;
1886 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
1887 InternalSwap(other);
1888 } else {
1889 ::google::protobuf::internal::GenericSwap(this, other);
1890 }
1891 }
1892 void UnsafeArenaSwap(AllNodesPerformedAcceptanceStrategy* PROTOBUF_NONNULL other) {
1893 if (other == this) return;
1894 ABSL_DCHECK(GetArena() == other->GetArena());
1895 InternalSwap(other);
1896 }
1897
1898 // implements Message ----------------------------------------------
1899
1900 AllNodesPerformedAcceptanceStrategy* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
1901 return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<AllNodesPerformedAcceptanceStrategy>(arena);
1902 }
1903 using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
1904 inline void CopyFrom(const AllNodesPerformedAcceptanceStrategy& from) {
1905 ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from);
1906 }
1907 using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
1908 void MergeFrom(const AllNodesPerformedAcceptanceStrategy& from) {
1909 ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from);
1910 }
1912 public:
1913 bool IsInitialized() const {
1914 return true;
1916 private:
1917 template <typename T>
1918 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
1919 static ::absl::string_view FullMessageName() { return "operations_research.AllNodesPerformedAcceptanceStrategy"; }
1920
1921 explicit AllNodesPerformedAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1922 AllNodesPerformedAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AllNodesPerformedAcceptanceStrategy& from);
1924 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AllNodesPerformedAcceptanceStrategy&& from) noexcept
1926 *this = ::std::move(from);
1927 }
1928 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
1929 static void* PROTOBUF_NONNULL PlacementNew_(
1930 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
1931 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
1932 static constexpr auto InternalNewImpl_();
1933
1934 public:
1935 static constexpr auto InternalGenerateClassData_();
1936
1937 ::google::protobuf::Metadata GetMetadata() const;
1938 // nested types ----------------------------------------------------
1939
1940 // accessors -------------------------------------------------------
1941 // @@protoc_insertion_point(class_scope:operations_research.AllNodesPerformedAcceptanceStrategy)
1942 private:
1943 class _Internal;
1944 friend class ::google::protobuf::internal::TcParser;
1945 static const ::google::protobuf::internal::TcParseTable<0, 0,
1946 0, 0,
1947 2>
1948 _table_;
1949
1950 friend class ::google::protobuf::MessageLite;
1951 friend class ::google::protobuf::Arena;
1952 template <typename T>
1953 friend class ::google::protobuf::Arena::InternalHelper;
1954 using InternalArenaConstructable_ = void;
1955 using DestructorSkippable_ = void;
1957};
1958
1959OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AllNodesPerformedAcceptanceStrategy_class_data_;
1960// -------------------------------------------------------------------
1962class OR_PROTO_DLL AbsencesBasedAcceptanceStrategy final : public ::google::protobuf::Message
1963/* @@protoc_insertion_point(class_definition:operations_research.AbsencesBasedAcceptanceStrategy) */ {
1964 public:
1966 ~AbsencesBasedAcceptanceStrategy() PROTOBUF_FINAL;
1968#if defined(PROTOBUF_CUSTOM_VTABLE)
1969 void operator delete(AbsencesBasedAcceptanceStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
1970 SharedDtor(*msg);
1971 ::google::protobuf::internal::SizedDelete(msg, sizeof(AbsencesBasedAcceptanceStrategy));
1972 }
1973#endif
1975 template <typename = void>
1976 explicit PROTOBUF_CONSTEXPR AbsencesBasedAcceptanceStrategy(::google::protobuf::internal::ConstantInitialized);
1980 : AbsencesBasedAcceptanceStrategy(nullptr, ::std::move(from)) {}
1981 inline AbsencesBasedAcceptanceStrategy& operator=(const AbsencesBasedAcceptanceStrategy& from) {
1982 CopyFrom(from);
1983 return *this;
1984 }
1985 inline AbsencesBasedAcceptanceStrategy& operator=(AbsencesBasedAcceptanceStrategy&& from) noexcept {
1986 if (this == &from) return *this;
1987 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
1988 InternalSwap(&from);
1989 } else {
1992 return *this;
1994
1995 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1996 ABSL_ATTRIBUTE_LIFETIME_BOUND {
1997 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1998 }
1999 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2000 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2001 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2002 }
2003
2004 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2005 return GetDescriptor();
2006 }
2007 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2008 return default_instance().GetMetadata().descriptor;
2009 }
2010 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2011 return default_instance().GetMetadata().reflection;
2012 }
2013 static const AbsencesBasedAcceptanceStrategy& default_instance() {
2014 return *reinterpret_cast<const AbsencesBasedAcceptanceStrategy*>(
2017 static constexpr int kIndexInFileMessages = 14;
2018 friend void swap(AbsencesBasedAcceptanceStrategy& a, AbsencesBasedAcceptanceStrategy& b) { a.Swap(&b); }
2019 inline void Swap(AbsencesBasedAcceptanceStrategy* PROTOBUF_NONNULL other) {
2020 if (other == this) return;
2021 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2022 InternalSwap(other);
2023 } else {
2024 ::google::protobuf::internal::GenericSwap(this, other);
2026 }
2027 void UnsafeArenaSwap(AbsencesBasedAcceptanceStrategy* PROTOBUF_NONNULL other) {
2028 if (other == this) return;
2029 ABSL_DCHECK(GetArena() == other->GetArena());
2030 InternalSwap(other);
2032
2033 // implements Message ----------------------------------------------
2034
2035 AbsencesBasedAcceptanceStrategy* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2036 return ::google::protobuf::Message::DefaultConstruct<AbsencesBasedAcceptanceStrategy>(arena);
2037 }
2038 using ::google::protobuf::Message::CopyFrom;
2040 using ::google::protobuf::Message::MergeFrom;
2041 void MergeFrom(const AbsencesBasedAcceptanceStrategy& from) { AbsencesBasedAcceptanceStrategy::MergeImpl(*this, from); }
2042
2043 private:
2044 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
2045 const ::google::protobuf::MessageLite& from_msg);
2046
2047 public:
2048 bool IsInitialized() const {
2049 return true;
2050 }
2051 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2052 #if defined(PROTOBUF_CUSTOM_VTABLE)
2053 private:
2054 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2055 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2056 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
2057 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
2058
2059 public:
2060 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2061 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2062 ::uint8_t* PROTOBUF_NONNULL target,
2063 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2064 return _InternalSerialize(*this, target, stream);
2065 }
2066 #else // PROTOBUF_CUSTOM_VTABLE
2067 ::size_t ByteSizeLong() const final;
2068 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2069 ::uint8_t* PROTOBUF_NONNULL target,
2070 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
2071 #endif // PROTOBUF_CUSTOM_VTABLE
2072 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2073
2074 private:
2075 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2076 static void SharedDtor(MessageLite& self);
2077 void InternalSwap(AbsencesBasedAcceptanceStrategy* PROTOBUF_NONNULL other);
2078 private:
2079 template <typename T>
2080 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2081 static ::absl::string_view FullMessageName() { return "operations_research.AbsencesBasedAcceptanceStrategy"; }
2082
2083 explicit AbsencesBasedAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2084 AbsencesBasedAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AbsencesBasedAcceptanceStrategy& from);
2086 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AbsencesBasedAcceptanceStrategy&& from) noexcept
2088 *this = ::std::move(from);
2089 }
2090 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2091 static void* PROTOBUF_NONNULL PlacementNew_(
2092 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2093 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2094 static constexpr auto InternalNewImpl_();
2095
2096 public:
2097 static constexpr auto InternalGenerateClassData_();
2098
2099 ::google::protobuf::Metadata GetMetadata() const;
2100 // nested types ----------------------------------------------------
2101
2102 // accessors -------------------------------------------------------
2103 enum : int {
2104 kRemoveRouteWithLowestAbsencesFieldNumber = 1,
2105 };
2106 // optional bool remove_route_with_lowest_absences = 1;
2107 bool has_remove_route_with_lowest_absences() const;
2108 void clear_remove_route_with_lowest_absences() ;
2109 bool remove_route_with_lowest_absences() const;
2110 void set_remove_route_with_lowest_absences(bool value);
2111
2112 private:
2113 bool _internal_remove_route_with_lowest_absences() const;
2114 void _internal_set_remove_route_with_lowest_absences(bool value);
2115
2116 public:
2117 // @@protoc_insertion_point(class_scope:operations_research.AbsencesBasedAcceptanceStrategy)
2118 private:
2119 class _Internal;
2120 friend class ::google::protobuf::internal::TcParser;
2121 static const ::google::protobuf::internal::TcParseTable<0, 1,
2122 0, 0,
2123 2>
2124 _table_;
2125
2126 friend class ::google::protobuf::MessageLite;
2127 friend class ::google::protobuf::Arena;
2128 template <typename T>
2129 friend class ::google::protobuf::Arena::InternalHelper;
2130 using InternalArenaConstructable_ = void;
2131 using DestructorSkippable_ = void;
2132 struct Impl_ {
2133 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2134 inline explicit Impl_(
2135 ::google::protobuf::internal::InternalVisibility visibility,
2136 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2137 inline explicit Impl_(
2138 ::google::protobuf::internal::InternalVisibility visibility,
2139 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2140 const AbsencesBasedAcceptanceStrategy& from_msg);
2141 ::google::protobuf::internal::HasBits<1> _has_bits_;
2142 ::google::protobuf::internal::CachedSize _cached_size_;
2143 bool remove_route_with_lowest_absences_;
2144 PROTOBUF_TSAN_DECLARE_MEMBER
2145 };
2146 union { Impl_ _impl_; };
2147 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
2148};
2149
2150OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AbsencesBasedAcceptanceStrategy_class_data_;
2151// -------------------------------------------------------------------
2152
2153class OR_PROTO_DLL RuinStrategy final : public ::google::protobuf::Message
2154/* @@protoc_insertion_point(class_definition:operations_research.RuinStrategy) */ {
2155 public:
2156 inline RuinStrategy() : RuinStrategy(nullptr) {}
2157 ~RuinStrategy() PROTOBUF_FINAL;
2159#if defined(PROTOBUF_CUSTOM_VTABLE)
2160 void operator delete(RuinStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
2161 SharedDtor(*msg);
2162 ::google::protobuf::internal::SizedDelete(msg, sizeof(RuinStrategy));
2163 }
2164#endif
2165
2166 template <typename = void>
2167 explicit PROTOBUF_CONSTEXPR RuinStrategy(::google::protobuf::internal::ConstantInitialized);
2168
2169 inline RuinStrategy(const RuinStrategy& from) : RuinStrategy(nullptr, from) {}
2170 inline RuinStrategy(RuinStrategy&& from) noexcept
2171 : RuinStrategy(nullptr, ::std::move(from)) {}
2172 inline RuinStrategy& operator=(const RuinStrategy& from) {
2173 CopyFrom(from);
2174 return *this;
2175 }
2176 inline RuinStrategy& operator=(RuinStrategy&& from) noexcept {
2177 if (this == &from) return *this;
2178 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2179 InternalSwap(&from);
2180 } else {
2181 CopyFrom(from);
2183 return *this;
2184 }
2186 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2187 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2188 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2190 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2191 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2192 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2193 }
2194
2195 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2196 return GetDescriptor();
2197 }
2198 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2199 return default_instance().GetMetadata().descriptor;
2200 }
2201 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2202 return default_instance().GetMetadata().reflection;
2204 static const RuinStrategy& default_instance() {
2205 return *reinterpret_cast<const RuinStrategy*>(
2207 }
2212 STRATEGY_NOT_SET = 0,
2213 };
2214 static constexpr int kIndexInFileMessages = 3;
2215 friend void swap(RuinStrategy& a, RuinStrategy& b) { a.Swap(&b); }
2216 inline void Swap(RuinStrategy* PROTOBUF_NONNULL other) {
2217 if (other == this) return;
2218 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2219 InternalSwap(other);
2220 } else {
2221 ::google::protobuf::internal::GenericSwap(this, other);
2224 void UnsafeArenaSwap(RuinStrategy* PROTOBUF_NONNULL other) {
2225 if (other == this) return;
2226 ABSL_DCHECK(GetArena() == other->GetArena());
2227 InternalSwap(other);
2230 // implements Message ----------------------------------------------
2231
2232 RuinStrategy* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2233 return ::google::protobuf::Message::DefaultConstruct<RuinStrategy>(arena);
2234 }
2235 using ::google::protobuf::Message::CopyFrom;
2236 void CopyFrom(const RuinStrategy& from);
2237 using ::google::protobuf::Message::MergeFrom;
2238 void MergeFrom(const RuinStrategy& from) { RuinStrategy::MergeImpl(*this, from); }
2239
2240 private:
2241 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
2242 const ::google::protobuf::MessageLite& from_msg);
2243
2244 public:
2245 bool IsInitialized() const {
2246 return true;
2247 }
2248 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2249 #if defined(PROTOBUF_CUSTOM_VTABLE)
2250 private:
2251 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2252 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2253 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
2254 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
2255
2256 public:
2257 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2258 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2259 ::uint8_t* PROTOBUF_NONNULL target,
2260 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2261 return _InternalSerialize(*this, target, stream);
2262 }
2263 #else // PROTOBUF_CUSTOM_VTABLE
2264 ::size_t ByteSizeLong() const final;
2265 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2266 ::uint8_t* PROTOBUF_NONNULL target,
2267 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
2268 #endif // PROTOBUF_CUSTOM_VTABLE
2269 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2270
2271 private:
2272 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2273 static void SharedDtor(MessageLite& self);
2274 void InternalSwap(RuinStrategy* PROTOBUF_NONNULL other);
2275 private:
2276 template <typename T>
2277 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2278 static ::absl::string_view FullMessageName() { return "operations_research.RuinStrategy"; }
2279
2280 explicit RuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2281 RuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RuinStrategy& from);
2283 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RuinStrategy&& from) noexcept
2284 : RuinStrategy(arena) {
2285 *this = ::std::move(from);
2286 }
2287 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2288 static void* PROTOBUF_NONNULL PlacementNew_(
2289 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2290 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2291 static constexpr auto InternalNewImpl_();
2292
2293 public:
2294 static constexpr auto InternalGenerateClassData_();
2295
2296 ::google::protobuf::Metadata GetMetadata() const;
2297 // nested types ----------------------------------------------------
2298
2299 // accessors -------------------------------------------------------
2300 enum : int {
2301 kSpatiallyCloseRoutesFieldNumber = 1,
2302 kRandomWalkFieldNumber = 2,
2303 kSisrFieldNumber = 3,
2304 };
2305 // .operations_research.SpatiallyCloseRoutesRuinStrategy spatially_close_routes = 1;
2306 bool has_spatially_close_routes() const;
2307 private:
2308 bool _internal_has_spatially_close_routes() const;
2309
2310 public:
2311 void clear_spatially_close_routes() ;
2312 const ::operations_research::SpatiallyCloseRoutesRuinStrategy& spatially_close_routes() const;
2313 [[nodiscard]] ::operations_research::SpatiallyCloseRoutesRuinStrategy* PROTOBUF_NULLABLE release_spatially_close_routes();
2318
2319 private:
2320 const ::operations_research::SpatiallyCloseRoutesRuinStrategy& _internal_spatially_close_routes() const;
2321 ::operations_research::SpatiallyCloseRoutesRuinStrategy* PROTOBUF_NONNULL _internal_mutable_spatially_close_routes();
2322
2323 public:
2324 // .operations_research.RandomWalkRuinStrategy random_walk = 2;
2325 bool has_random_walk() const;
2326 private:
2327 bool _internal_has_random_walk() const;
2328
2329 public:
2330 void clear_random_walk() ;
2331 const ::operations_research::RandomWalkRuinStrategy& random_walk() const;
2332 [[nodiscard]] ::operations_research::RandomWalkRuinStrategy* PROTOBUF_NULLABLE release_random_walk();
2337
2338 private:
2339 const ::operations_research::RandomWalkRuinStrategy& _internal_random_walk() const;
2340 ::operations_research::RandomWalkRuinStrategy* PROTOBUF_NONNULL _internal_mutable_random_walk();
2341
2342 public:
2343 // .operations_research.SISRRuinStrategy sisr = 3;
2344 bool has_sisr() const;
2345 private:
2346 bool _internal_has_sisr() const;
2347
2348 public:
2349 void clear_sisr() ;
2350 const ::operations_research::SISRRuinStrategy& sisr() const;
2351 [[nodiscard]] ::operations_research::SISRRuinStrategy* PROTOBUF_NULLABLE release_sisr();
2353 void set_allocated_sisr(::operations_research::SISRRuinStrategy* PROTOBUF_NULLABLE value);
2356
2357 private:
2358 const ::operations_research::SISRRuinStrategy& _internal_sisr() const;
2359 ::operations_research::SISRRuinStrategy* PROTOBUF_NONNULL _internal_mutable_sisr();
2360
2361 public:
2362 void clear_strategy();
2364 // @@protoc_insertion_point(class_scope:operations_research.RuinStrategy)
2365 private:
2366 class _Internal;
2367 void set_has_spatially_close_routes();
2368 void set_has_random_walk();
2369 void set_has_sisr();
2370 inline bool has_strategy() const;
2371 inline void clear_has_strategy();
2372 friend class ::google::protobuf::internal::TcParser;
2373 static const ::google::protobuf::internal::TcParseTable<0, 3,
2374 3, 0,
2375 2>
2376 _table_;
2377
2378 friend class ::google::protobuf::MessageLite;
2379 friend class ::google::protobuf::Arena;
2380 template <typename T>
2381 friend class ::google::protobuf::Arena::InternalHelper;
2382 using InternalArenaConstructable_ = void;
2383 using DestructorSkippable_ = void;
2384 struct Impl_ {
2385 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2386 inline explicit Impl_(
2387 ::google::protobuf::internal::InternalVisibility visibility,
2388 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2389 inline explicit Impl_(
2390 ::google::protobuf::internal::InternalVisibility visibility,
2391 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2392 const RuinStrategy& from_msg);
2393 union StrategyUnion {
2394 constexpr StrategyUnion() : _constinit_{} {}
2395 ::google::protobuf::internal::ConstantInitialized _constinit_;
2396 ::google::protobuf::Message* PROTOBUF_NULLABLE spatially_close_routes_;
2397 ::google::protobuf::Message* PROTOBUF_NULLABLE random_walk_;
2398 ::google::protobuf::Message* PROTOBUF_NULLABLE sisr_;
2399 } strategy_;
2400 ::google::protobuf::internal::CachedSize _cached_size_;
2401 ::uint32_t _oneof_case_[1];
2402 PROTOBUF_TSAN_DECLARE_MEMBER
2403 };
2404 union { Impl_ _impl_; };
2405 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
2408OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RuinStrategy_class_data_;
2409// -------------------------------------------------------------------
2411class OR_PROTO_DLL RecreateParameters final : public ::google::protobuf::Message
2412/* @@protoc_insertion_point(class_definition:operations_research.RecreateParameters) */ {
2413 public:
2414 inline RecreateParameters() : RecreateParameters(nullptr) {}
2415 ~RecreateParameters() PROTOBUF_FINAL;
2416
2417#if defined(PROTOBUF_CUSTOM_VTABLE)
2418 void operator delete(RecreateParameters* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
2419 SharedDtor(*msg);
2420 ::google::protobuf::internal::SizedDelete(msg, sizeof(RecreateParameters));
2421 }
2422#endif
2423
2424 template <typename = void>
2425 explicit PROTOBUF_CONSTEXPR RecreateParameters(::google::protobuf::internal::ConstantInitialized);
2426
2427 inline RecreateParameters(const RecreateParameters& from) : RecreateParameters(nullptr, from) {}
2429 : RecreateParameters(nullptr, ::std::move(from)) {}
2430 inline RecreateParameters& operator=(const RecreateParameters& from) {
2431 CopyFrom(from);
2432 return *this;
2433 }
2434 inline RecreateParameters& operator=(RecreateParameters&& from) noexcept {
2435 if (this == &from) return *this;
2436 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2437 InternalSwap(&from);
2438 } else {
2440 }
2441 return *this;
2443
2444 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2445 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2446 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2447 }
2448 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2449 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2450 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2451 }
2452
2453 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2454 return GetDescriptor();
2455 }
2456 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2457 return default_instance().GetMetadata().descriptor;
2459 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2460 return default_instance().GetMetadata().reflection;
2461 }
2463 return *reinterpret_cast<const RecreateParameters*>(
2465 }
2466 enum ParametersCase {
2471 };
2472 static constexpr int kIndexInFileMessages = 4;
2473 friend void swap(RecreateParameters& a, RecreateParameters& b) { a.Swap(&b); }
2474 inline void Swap(RecreateParameters* PROTOBUF_NONNULL other) {
2475 if (other == this) return;
2476 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2477 InternalSwap(other);
2478 } else {
2479 ::google::protobuf::internal::GenericSwap(this, other);
2482 void UnsafeArenaSwap(RecreateParameters* PROTOBUF_NONNULL other) {
2483 if (other == this) return;
2484 ABSL_DCHECK(GetArena() == other->GetArena());
2485 InternalSwap(other);
2488 // implements Message ----------------------------------------------
2489
2490 RecreateParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2491 return ::google::protobuf::Message::DefaultConstruct<RecreateParameters>(arena);
2492 }
2493 using ::google::protobuf::Message::CopyFrom;
2494 void CopyFrom(const RecreateParameters& from);
2495 using ::google::protobuf::Message::MergeFrom;
2496 void MergeFrom(const RecreateParameters& from) { RecreateParameters::MergeImpl(*this, from); }
2497
2498 private:
2499 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
2500 const ::google::protobuf::MessageLite& from_msg);
2501
2502 public:
2503 bool IsInitialized() const {
2504 return true;
2505 }
2506 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2507 #if defined(PROTOBUF_CUSTOM_VTABLE)
2508 private:
2509 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2510 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2511 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
2512 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
2513
2514 public:
2515 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2516 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2517 ::uint8_t* PROTOBUF_NONNULL target,
2518 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2519 return _InternalSerialize(*this, target, stream);
2520 }
2521 #else // PROTOBUF_CUSTOM_VTABLE
2522 ::size_t ByteSizeLong() const final;
2523 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2524 ::uint8_t* PROTOBUF_NONNULL target,
2525 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
2526 #endif // PROTOBUF_CUSTOM_VTABLE
2527 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2528
2529 private:
2530 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2531 static void SharedDtor(MessageLite& self);
2532 void InternalSwap(RecreateParameters* PROTOBUF_NONNULL other);
2533 private:
2534 template <typename T>
2535 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2536 static ::absl::string_view FullMessageName() { return "operations_research.RecreateParameters"; }
2537
2538 explicit RecreateParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2539 RecreateParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RecreateParameters& from);
2540 RecreateParameters(
2541 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RecreateParameters&& from) noexcept
2542 : RecreateParameters(arena) {
2543 *this = ::std::move(from);
2544 }
2545 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2546 static void* PROTOBUF_NONNULL PlacementNew_(
2547 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2548 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2549 static constexpr auto InternalNewImpl_();
2550
2551 public:
2552 static constexpr auto InternalGenerateClassData_();
2553
2554 ::google::protobuf::Metadata GetMetadata() const;
2555 // nested types ----------------------------------------------------
2556
2557 // accessors -------------------------------------------------------
2558 enum : int {
2559 kLocalCheapestInsertionFieldNumber = 1,
2560 kSavingsFieldNumber = 2,
2561 kGlobalCheapestInsertionFieldNumber = 3,
2562 };
2563 // .operations_research.LocalCheapestInsertionParameters local_cheapest_insertion = 1;
2564 bool has_local_cheapest_insertion() const;
2565 private:
2566 bool _internal_has_local_cheapest_insertion() const;
2567
2568 public:
2569 void clear_local_cheapest_insertion() ;
2570 const ::operations_research::LocalCheapestInsertionParameters& local_cheapest_insertion() const;
2571 [[nodiscard]] ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NULLABLE release_local_cheapest_insertion();
2572 ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NONNULL mutable_local_cheapest_insertion();
2576
2577 private:
2578 const ::operations_research::LocalCheapestInsertionParameters& _internal_local_cheapest_insertion() const;
2579 ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NONNULL _internal_mutable_local_cheapest_insertion();
2580
2581 public:
2582 // .operations_research.SavingsParameters savings = 2;
2583 bool has_savings() const;
2584 private:
2585 bool _internal_has_savings() const;
2586
2587 public:
2588 void clear_savings() ;
2589 const ::operations_research::SavingsParameters& savings() const;
2590 [[nodiscard]] ::operations_research::SavingsParameters* PROTOBUF_NULLABLE release_savings();
2595
2596 private:
2597 const ::operations_research::SavingsParameters& _internal_savings() const;
2598 ::operations_research::SavingsParameters* PROTOBUF_NONNULL _internal_mutable_savings();
2599
2600 public:
2601 // .operations_research.GlobalCheapestInsertionParameters global_cheapest_insertion = 3;
2602 bool has_global_cheapest_insertion() const;
2603 private:
2604 bool _internal_has_global_cheapest_insertion() const;
2605
2606 public:
2608 const ::operations_research::GlobalCheapestInsertionParameters& global_cheapest_insertion() const;
2614
2615 private:
2616 const ::operations_research::GlobalCheapestInsertionParameters& _internal_global_cheapest_insertion() const;
2617 ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NONNULL _internal_mutable_global_cheapest_insertion();
2618
2619 public:
2620 void clear_parameters();
2622 // @@protoc_insertion_point(class_scope:operations_research.RecreateParameters)
2623 private:
2624 class _Internal;
2625 void set_has_local_cheapest_insertion();
2626 void set_has_savings();
2627 void set_has_global_cheapest_insertion();
2628 inline bool has_parameters() const;
2629 inline void clear_has_parameters();
2630 friend class ::google::protobuf::internal::TcParser;
2631 static const ::google::protobuf::internal::TcParseTable<0, 3,
2632 3, 0,
2633 2>
2634 _table_;
2635
2636 friend class ::google::protobuf::MessageLite;
2637 friend class ::google::protobuf::Arena;
2638 template <typename T>
2639 friend class ::google::protobuf::Arena::InternalHelper;
2640 using InternalArenaConstructable_ = void;
2641 using DestructorSkippable_ = void;
2642 struct Impl_ {
2643 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2644 inline explicit Impl_(
2645 ::google::protobuf::internal::InternalVisibility visibility,
2646 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2647 inline explicit Impl_(
2648 ::google::protobuf::internal::InternalVisibility visibility,
2649 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2650 const RecreateParameters& from_msg);
2651 union ParametersUnion {
2652 constexpr ParametersUnion() : _constinit_{} {}
2653 ::google::protobuf::internal::ConstantInitialized _constinit_;
2654 ::google::protobuf::Message* PROTOBUF_NULLABLE local_cheapest_insertion_;
2655 ::google::protobuf::Message* PROTOBUF_NULLABLE savings_;
2656 ::google::protobuf::Message* PROTOBUF_NULLABLE global_cheapest_insertion_;
2657 } parameters_;
2658 ::google::protobuf::internal::CachedSize _cached_size_;
2659 ::uint32_t _oneof_case_[1];
2660 PROTOBUF_TSAN_DECLARE_MEMBER
2661 };
2662 union { Impl_ _impl_; };
2663 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
2664};
2666OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RecreateParameters_class_data_;
2667// -------------------------------------------------------------------
2669class OR_PROTO_DLL AcceptanceStrategy final : public ::google::protobuf::Message
2670/* @@protoc_insertion_point(class_definition:operations_research.AcceptanceStrategy) */ {
2671 public:
2672 inline AcceptanceStrategy() : AcceptanceStrategy(nullptr) {}
2673 ~AcceptanceStrategy() PROTOBUF_FINAL;
2674
2675#if defined(PROTOBUF_CUSTOM_VTABLE)
2676 void operator delete(AcceptanceStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
2677 SharedDtor(*msg);
2678 ::google::protobuf::internal::SizedDelete(msg, sizeof(AcceptanceStrategy));
2679 }
2680#endif
2681
2682 template <typename = void>
2683 explicit PROTOBUF_CONSTEXPR AcceptanceStrategy(::google::protobuf::internal::ConstantInitialized);
2685 inline AcceptanceStrategy(const AcceptanceStrategy& from) : AcceptanceStrategy(nullptr, from) {}
2686 inline AcceptanceStrategy(AcceptanceStrategy&& from) noexcept
2687 : AcceptanceStrategy(nullptr, ::std::move(from)) {}
2688 inline AcceptanceStrategy& operator=(const AcceptanceStrategy& from) {
2689 CopyFrom(from);
2690 return *this;
2691 }
2692 inline AcceptanceStrategy& operator=(AcceptanceStrategy&& from) noexcept {
2693 if (this == &from) return *this;
2694 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2695 InternalSwap(&from);
2696 } else {
2697 CopyFrom(from);
2699 return *this;
2702 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2703 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2704 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2705 }
2706 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
2707 ABSL_ATTRIBUTE_LIFETIME_BOUND {
2708 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2709 }
2710
2711 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
2712 return GetDescriptor();
2713 }
2714 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
2715 return default_instance().GetMetadata().descriptor;
2716 }
2717 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
2718 return default_instance().GetMetadata().reflection;
2719 }
2720 static const AcceptanceStrategy& default_instance() {
2721 return *reinterpret_cast<const AcceptanceStrategy*>(
2723 }
2724 enum StrategyCase {
2725 kGreedyDescent = 1,
2730 STRATEGY_NOT_SET = 0,
2731 };
2732 static constexpr int kIndexInFileMessages = 15;
2733 friend void swap(AcceptanceStrategy& a, AcceptanceStrategy& b) { a.Swap(&b); }
2734 inline void Swap(AcceptanceStrategy* PROTOBUF_NONNULL other) {
2735 if (other == this) return;
2736 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
2737 InternalSwap(other);
2738 } else {
2739 ::google::protobuf::internal::GenericSwap(this, other);
2742 void UnsafeArenaSwap(AcceptanceStrategy* PROTOBUF_NONNULL other) {
2743 if (other == this) return;
2744 ABSL_DCHECK(GetArena() == other->GetArena());
2745 InternalSwap(other);
2746 }
2748 // implements Message ----------------------------------------------
2750 AcceptanceStrategy* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
2751 return ::google::protobuf::Message::DefaultConstruct<AcceptanceStrategy>(arena);
2752 }
2753 using ::google::protobuf::Message::CopyFrom;
2754 void CopyFrom(const AcceptanceStrategy& from);
2755 using ::google::protobuf::Message::MergeFrom;
2756 void MergeFrom(const AcceptanceStrategy& from) { AcceptanceStrategy::MergeImpl(*this, from); }
2758 private:
2759 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
2760 const ::google::protobuf::MessageLite& from_msg);
2761
2762 public:
2763 bool IsInitialized() const {
2764 return true;
2766 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2767 #if defined(PROTOBUF_CUSTOM_VTABLE)
2768 private:
2769 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2770 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2771 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
2772 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
2773
2774 public:
2775 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2776 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2777 ::uint8_t* PROTOBUF_NONNULL target,
2778 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
2779 return _InternalSerialize(*this, target, stream);
2780 }
2781 #else // PROTOBUF_CUSTOM_VTABLE
2782 ::size_t ByteSizeLong() const final;
2783 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
2784 ::uint8_t* PROTOBUF_NONNULL target,
2785 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
2786 #endif // PROTOBUF_CUSTOM_VTABLE
2787 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2788
2789 private:
2790 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2791 static void SharedDtor(MessageLite& self);
2792 void InternalSwap(AcceptanceStrategy* PROTOBUF_NONNULL other);
2793 private:
2794 template <typename T>
2795 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
2796 static ::absl::string_view FullMessageName() { return "operations_research.AcceptanceStrategy"; }
2797
2798 explicit AcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2799 AcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AcceptanceStrategy& from);
2800 AcceptanceStrategy(
2801 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, AcceptanceStrategy&& from) noexcept
2803 *this = ::std::move(from);
2804 }
2805 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
2806 static void* PROTOBUF_NONNULL PlacementNew_(
2807 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
2808 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2809 static constexpr auto InternalNewImpl_();
2810
2811 public:
2812 static constexpr auto InternalGenerateClassData_();
2813
2814 ::google::protobuf::Metadata GetMetadata() const;
2815 // nested types ----------------------------------------------------
2816
2817 // accessors -------------------------------------------------------
2818 enum : int {
2819 kGreedyDescentFieldNumber = 1,
2820 kSimulatedAnnealingFieldNumber = 2,
2821 kAllNodesPerformedFieldNumber = 3,
2822 kMoreNodesPerformedFieldNumber = 4,
2823 kAbsencesBasedFieldNumber = 5,
2824 };
2825 // .operations_research.GreedyDescentAcceptanceStrategy greedy_descent = 1;
2826 bool has_greedy_descent() const;
2827 private:
2828 bool _internal_has_greedy_descent() const;
2829
2830 public:
2831 void clear_greedy_descent() ;
2832 const ::operations_research::GreedyDescentAcceptanceStrategy& greedy_descent() const;
2833 [[nodiscard]] ::operations_research::GreedyDescentAcceptanceStrategy* PROTOBUF_NULLABLE release_greedy_descent();
2839 private:
2840 const ::operations_research::GreedyDescentAcceptanceStrategy& _internal_greedy_descent() const;
2841 ::operations_research::GreedyDescentAcceptanceStrategy* PROTOBUF_NONNULL _internal_mutable_greedy_descent();
2842
2843 public:
2844 // .operations_research.SimulatedAnnealingAcceptanceStrategy simulated_annealing = 2;
2845 bool has_simulated_annealing() const;
2846 private:
2847 bool _internal_has_simulated_annealing() const;
2848
2849 public:
2851 const ::operations_research::SimulatedAnnealingAcceptanceStrategy& simulated_annealing() const;
2857
2858 private:
2859 const ::operations_research::SimulatedAnnealingAcceptanceStrategy& _internal_simulated_annealing() const;
2860 ::operations_research::SimulatedAnnealingAcceptanceStrategy* PROTOBUF_NONNULL _internal_mutable_simulated_annealing();
2861
2862 public:
2863 // .operations_research.AllNodesPerformedAcceptanceStrategy all_nodes_performed = 3;
2864 bool has_all_nodes_performed() const;
2865 private:
2866 bool _internal_has_all_nodes_performed() const;
2867
2868 public:
2870 const ::operations_research::AllNodesPerformedAcceptanceStrategy& all_nodes_performed() const;
2876
2877 private:
2878 const ::operations_research::AllNodesPerformedAcceptanceStrategy& _internal_all_nodes_performed() const;
2879 ::operations_research::AllNodesPerformedAcceptanceStrategy* PROTOBUF_NONNULL _internal_mutable_all_nodes_performed();
2880
2881 public:
2882 // .operations_research.MoreNodesPerformedAcceptanceStrategy more_nodes_performed = 4;
2883 bool has_more_nodes_performed() const;
2884 private:
2885 bool _internal_has_more_nodes_performed() const;
2886
2887 public:
2889 const ::operations_research::MoreNodesPerformedAcceptanceStrategy& more_nodes_performed() const;
2895
2896 private:
2897 const ::operations_research::MoreNodesPerformedAcceptanceStrategy& _internal_more_nodes_performed() const;
2898 ::operations_research::MoreNodesPerformedAcceptanceStrategy* PROTOBUF_NONNULL _internal_mutable_more_nodes_performed();
2899
2900 public:
2901 // .operations_research.AbsencesBasedAcceptanceStrategy absences_based = 5;
2902 bool has_absences_based() const;
2903 private:
2904 bool _internal_has_absences_based() const;
2905
2906 public:
2907 void clear_absences_based() ;
2908 const ::operations_research::AbsencesBasedAcceptanceStrategy& absences_based() const;
2914
2915 private:
2916 const ::operations_research::AbsencesBasedAcceptanceStrategy& _internal_absences_based() const;
2917 ::operations_research::AbsencesBasedAcceptanceStrategy* PROTOBUF_NONNULL _internal_mutable_absences_based();
2918
2919 public:
2920 void clear_strategy();
2922 // @@protoc_insertion_point(class_scope:operations_research.AcceptanceStrategy)
2923 private:
2924 class _Internal;
2925 void set_has_greedy_descent();
2926 void set_has_simulated_annealing();
2927 void set_has_all_nodes_performed();
2928 void set_has_more_nodes_performed();
2929 void set_has_absences_based();
2930 inline bool has_strategy() const;
2931 inline void clear_has_strategy();
2932 friend class ::google::protobuf::internal::TcParser;
2933 static const ::google::protobuf::internal::TcParseTable<0, 5,
2934 5, 0,
2935 2>
2936 _table_;
2937
2938 friend class ::google::protobuf::MessageLite;
2939 friend class ::google::protobuf::Arena;
2940 template <typename T>
2941 friend class ::google::protobuf::Arena::InternalHelper;
2942 using InternalArenaConstructable_ = void;
2943 using DestructorSkippable_ = void;
2944 struct Impl_ {
2945 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
2946 inline explicit Impl_(
2947 ::google::protobuf::internal::InternalVisibility visibility,
2948 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
2949 inline explicit Impl_(
2950 ::google::protobuf::internal::InternalVisibility visibility,
2951 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
2952 const AcceptanceStrategy& from_msg);
2953 union StrategyUnion {
2954 constexpr StrategyUnion() : _constinit_{} {}
2955 ::google::protobuf::internal::ConstantInitialized _constinit_;
2956 ::google::protobuf::Message* PROTOBUF_NULLABLE greedy_descent_;
2957 ::google::protobuf::Message* PROTOBUF_NULLABLE simulated_annealing_;
2958 ::google::protobuf::Message* PROTOBUF_NULLABLE all_nodes_performed_;
2959 ::google::protobuf::Message* PROTOBUF_NULLABLE more_nodes_performed_;
2960 ::google::protobuf::Message* PROTOBUF_NULLABLE absences_based_;
2961 } strategy_;
2962 ::google::protobuf::internal::CachedSize _cached_size_;
2963 ::uint32_t _oneof_case_[1];
2964 PROTOBUF_TSAN_DECLARE_MEMBER
2965 };
2966 union { Impl_ _impl_; };
2967 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
2970OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull AcceptanceStrategy_class_data_;
2971// -------------------------------------------------------------------
2973class OR_PROTO_DLL RecreateStrategy final : public ::google::protobuf::Message
2974/* @@protoc_insertion_point(class_definition:operations_research.RecreateStrategy) */ {
2975 public:
2976 inline RecreateStrategy() : RecreateStrategy(nullptr) {}
2977 ~RecreateStrategy() PROTOBUF_FINAL;
2978
2979#if defined(PROTOBUF_CUSTOM_VTABLE)
2980 void operator delete(RecreateStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
2981 SharedDtor(*msg);
2982 ::google::protobuf::internal::SizedDelete(msg, sizeof(RecreateStrategy));
2983 }
2984#endif
2985
2986 template <typename = void>
2987 explicit PROTOBUF_CONSTEXPR RecreateStrategy(::google::protobuf::internal::ConstantInitialized);
2988
2989 inline RecreateStrategy(const RecreateStrategy& from) : RecreateStrategy(nullptr, from) {}
2990 inline RecreateStrategy(RecreateStrategy&& from) noexcept
2991 : RecreateStrategy(nullptr, ::std::move(from)) {}
2993 CopyFrom(from);
2994 return *this;
2995 }
2996 inline RecreateStrategy& operator=(RecreateStrategy&& from) noexcept {
2997 if (this == &from) return *this;
2998 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
2999 InternalSwap(&from);
3000 } else {
3001 CopyFrom(from);
3002 }
3003 return *this;
3004 }
3006 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3007 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3008 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3009 }
3010 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3011 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3012 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3013 }
3014
3015 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3016 return GetDescriptor();
3017 }
3018 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3019 return default_instance().GetMetadata().descriptor;
3020 }
3021 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3022 return default_instance().GetMetadata().reflection;
3023 }
3024 static const RecreateStrategy& default_instance() {
3025 return *reinterpret_cast<const RecreateStrategy*>(
3027 }
3028 static constexpr int kIndexInFileMessages = 5;
3029 friend void swap(RecreateStrategy& a, RecreateStrategy& b) { a.Swap(&b); }
3030 inline void Swap(RecreateStrategy* PROTOBUF_NONNULL other) {
3031 if (other == this) return;
3032 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3033 InternalSwap(other);
3034 } else {
3035 ::google::protobuf::internal::GenericSwap(this, other);
3036 }
3038 void UnsafeArenaSwap(RecreateStrategy* PROTOBUF_NONNULL other) {
3039 if (other == this) return;
3040 ABSL_DCHECK(GetArena() == other->GetArena());
3041 InternalSwap(other);
3042 }
3043
3044 // implements Message ----------------------------------------------
3046 RecreateStrategy* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3047 return ::google::protobuf::Message::DefaultConstruct<RecreateStrategy>(arena);
3048 }
3049 using ::google::protobuf::Message::CopyFrom;
3050 void CopyFrom(const RecreateStrategy& from);
3051 using ::google::protobuf::Message::MergeFrom;
3052 void MergeFrom(const RecreateStrategy& from) { RecreateStrategy::MergeImpl(*this, from); }
3053
3054 private:
3055 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3056 const ::google::protobuf::MessageLite& from_msg);
3057
3058 public:
3059 bool IsInitialized() const {
3060 return true;
3061 }
3062 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3063 #if defined(PROTOBUF_CUSTOM_VTABLE)
3064 private:
3065 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3066 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3067 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3068 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3069
3070 public:
3071 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3072 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3073 ::uint8_t* PROTOBUF_NONNULL target,
3074 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3075 return _InternalSerialize(*this, target, stream);
3076 }
3077 #else // PROTOBUF_CUSTOM_VTABLE
3078 ::size_t ByteSizeLong() const final;
3079 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3080 ::uint8_t* PROTOBUF_NONNULL target,
3081 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3082 #endif // PROTOBUF_CUSTOM_VTABLE
3083 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3084
3085 private:
3086 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3087 static void SharedDtor(MessageLite& self);
3088 void InternalSwap(RecreateStrategy* PROTOBUF_NONNULL other);
3089 private:
3090 template <typename T>
3091 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3092 static ::absl::string_view FullMessageName() { return "operations_research.RecreateStrategy"; }
3093
3094 explicit RecreateStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3095 RecreateStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RecreateStrategy& from);
3096 RecreateStrategy(
3097 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RecreateStrategy&& from) noexcept
3098 : RecreateStrategy(arena) {
3099 *this = ::std::move(from);
3100 }
3101 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3102 static void* PROTOBUF_NONNULL PlacementNew_(
3103 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3104 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3105 static constexpr auto InternalNewImpl_();
3106
3107 public:
3108 static constexpr auto InternalGenerateClassData_();
3109
3110 ::google::protobuf::Metadata GetMetadata() const;
3111 // nested types ----------------------------------------------------
3112
3113 // accessors -------------------------------------------------------
3114 enum : int {
3115 kParametersFieldNumber = 2,
3116 kHeuristicFieldNumber = 1,
3117 };
3118 // optional .operations_research.RecreateParameters parameters = 2;
3119 bool has_parameters() const;
3120 void clear_parameters() ;
3121 const ::operations_research::RecreateParameters& parameters() const;
3122 [[nodiscard]] ::operations_research::RecreateParameters* PROTOBUF_NULLABLE release_parameters();
3123 ::operations_research::RecreateParameters* PROTOBUF_NONNULL mutable_parameters();
3124 void set_allocated_parameters(::operations_research::RecreateParameters* PROTOBUF_NULLABLE value);
3125 void unsafe_arena_set_allocated_parameters(::operations_research::RecreateParameters* PROTOBUF_NULLABLE value);
3126 ::operations_research::RecreateParameters* PROTOBUF_NULLABLE unsafe_arena_release_parameters();
3127
3128 private:
3129 const ::operations_research::RecreateParameters& _internal_parameters() const;
3130 ::operations_research::RecreateParameters* PROTOBUF_NONNULL _internal_mutable_parameters();
3132 public:
3133 // optional .operations_research.FirstSolutionStrategy.Value heuristic = 1;
3134 bool has_heuristic() const;
3135 void clear_heuristic() ;
3138
3139 private:
3140 ::operations_research::FirstSolutionStrategy_Value _internal_heuristic() const;
3141 void _internal_set_heuristic(::operations_research::FirstSolutionStrategy_Value value);
3142
3143 public:
3144 // @@protoc_insertion_point(class_scope:operations_research.RecreateStrategy)
3145 private:
3146 class _Internal;
3147 friend class ::google::protobuf::internal::TcParser;
3148 static const ::google::protobuf::internal::TcParseTable<1, 2,
3149 1, 0,
3150 2>
3151 _table_;
3152
3153 friend class ::google::protobuf::MessageLite;
3154 friend class ::google::protobuf::Arena;
3155 template <typename T>
3156 friend class ::google::protobuf::Arena::InternalHelper;
3157 using InternalArenaConstructable_ = void;
3158 using DestructorSkippable_ = void;
3159 struct Impl_ {
3160 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3161 inline explicit Impl_(
3162 ::google::protobuf::internal::InternalVisibility visibility,
3163 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3164 inline explicit Impl_(
3165 ::google::protobuf::internal::InternalVisibility visibility,
3166 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3167 const RecreateStrategy& from_msg);
3168 ::google::protobuf::internal::HasBits<1> _has_bits_;
3169 ::google::protobuf::internal::CachedSize _cached_size_;
3170 ::operations_research::RecreateParameters* PROTOBUF_NULLABLE parameters_;
3171 int heuristic_;
3172 PROTOBUF_TSAN_DECLARE_MEMBER
3173 };
3174 union { Impl_ _impl_; };
3175 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
3176};
3177
3178OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RecreateStrategy_class_data_;
3179// -------------------------------------------------------------------
3180
3181class OR_PROTO_DLL RuinRecreateParameters final : public ::google::protobuf::Message
3182/* @@protoc_insertion_point(class_definition:operations_research.RuinRecreateParameters) */ {
3183 public:
3184 inline RuinRecreateParameters() : RuinRecreateParameters(nullptr) {}
3185 ~RuinRecreateParameters() PROTOBUF_FINAL;
3186
3187#if defined(PROTOBUF_CUSTOM_VTABLE)
3188 void operator delete(RuinRecreateParameters* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
3189 SharedDtor(*msg);
3190 ::google::protobuf::internal::SizedDelete(msg, sizeof(RuinRecreateParameters));
3192#endif
3193
3194 template <typename = void>
3195 explicit PROTOBUF_CONSTEXPR RuinRecreateParameters(::google::protobuf::internal::ConstantInitialized);
3196
3197 inline RuinRecreateParameters(const RuinRecreateParameters& from) : RuinRecreateParameters(nullptr, from) {}
3199 : RuinRecreateParameters(nullptr, ::std::move(from)) {}
3200 inline RuinRecreateParameters& operator=(const RuinRecreateParameters& from) {
3202 return *this;
3203 }
3204 inline RuinRecreateParameters& operator=(RuinRecreateParameters&& from) noexcept {
3205 if (this == &from) return *this;
3206 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3207 InternalSwap(&from);
3208 } else {
3209 CopyFrom(from);
3210 }
3211 return *this;
3213
3214 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3215 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3216 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3218 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3219 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3220 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3222
3223 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3224 return GetDescriptor();
3225 }
3226 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3227 return default_instance().GetMetadata().descriptor;
3228 }
3229 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3230 return default_instance().GetMetadata().reflection;
3232 static const RuinRecreateParameters& default_instance() {
3233 return *reinterpret_cast<const RuinRecreateParameters*>(
3236 static constexpr int kIndexInFileMessages = 7;
3237 friend void swap(RuinRecreateParameters& a, RuinRecreateParameters& b) { a.Swap(&b); }
3238 inline void Swap(RuinRecreateParameters* PROTOBUF_NONNULL other) {
3239 if (other == this) return;
3240 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3241 InternalSwap(other);
3242 } else {
3243 ::google::protobuf::internal::GenericSwap(this, other);
3244 }
3245 }
3246 void UnsafeArenaSwap(RuinRecreateParameters* PROTOBUF_NONNULL other) {
3247 if (other == this) return;
3248 ABSL_DCHECK(GetArena() == other->GetArena());
3249 InternalSwap(other);
3250 }
3251
3252 // implements Message ----------------------------------------------
3254 RuinRecreateParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3255 return ::google::protobuf::Message::DefaultConstruct<RuinRecreateParameters>(arena);
3256 }
3257 using ::google::protobuf::Message::CopyFrom;
3258 void CopyFrom(const RuinRecreateParameters& from);
3259 using ::google::protobuf::Message::MergeFrom;
3260 void MergeFrom(const RuinRecreateParameters& from) { RuinRecreateParameters::MergeImpl(*this, from); }
3261
3262 private:
3263 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3264 const ::google::protobuf::MessageLite& from_msg);
3265
3266 public:
3267 bool IsInitialized() const {
3268 return true;
3269 }
3270 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3271 #if defined(PROTOBUF_CUSTOM_VTABLE)
3272 private:
3273 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3274 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3275 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3276 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3278 public:
3279 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3280 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3281 ::uint8_t* PROTOBUF_NONNULL target,
3282 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3283 return _InternalSerialize(*this, target, stream);
3285 #else // PROTOBUF_CUSTOM_VTABLE
3286 ::size_t ByteSizeLong() const final;
3287 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3288 ::uint8_t* PROTOBUF_NONNULL target,
3289 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3290 #endif // PROTOBUF_CUSTOM_VTABLE
3291 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3292
3293 private:
3294 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3295 static void SharedDtor(MessageLite& self);
3296 void InternalSwap(RuinRecreateParameters* PROTOBUF_NONNULL other);
3297 private:
3298 template <typename T>
3299 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3300 static ::absl::string_view FullMessageName() { return "operations_research.RuinRecreateParameters"; }
3301
3302 explicit RuinRecreateParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3303 RuinRecreateParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RuinRecreateParameters& from);
3304 RuinRecreateParameters(
3305 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RuinRecreateParameters&& from) noexcept
3306 : RuinRecreateParameters(arena) {
3307 *this = ::std::move(from);
3309 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3310 static void* PROTOBUF_NONNULL PlacementNew_(
3311 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3312 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3313 static constexpr auto InternalNewImpl_();
3314
3315 public:
3316 static constexpr auto InternalGenerateClassData_();
3317
3318 ::google::protobuf::Metadata GetMetadata() const;
3319 // nested types ----------------------------------------------------
3320
3321 // accessors -------------------------------------------------------
3322 enum : int {
3323 kRuinStrategiesFieldNumber = 1,
3324 kRecreateStrategyFieldNumber = 3,
3325 kRuinCompositionStrategyFieldNumber = 2,
3326 kRouteSelectionMinNeighborsFieldNumber = 5,
3327 kRouteSelectionNeighborsRatioFieldNumber = 4,
3328 kRouteSelectionMaxNeighborsFieldNumber = 6,
3329 };
3330 // repeated .operations_research.RuinStrategy ruin_strategies = 1;
3331 int ruin_strategies_size() const;
3332 private:
3333 int _internal_ruin_strategies_size() const;
3334
3335 public:
3336 void clear_ruin_strategies() ;
3337 ::operations_research::RuinStrategy* PROTOBUF_NONNULL mutable_ruin_strategies(int index);
3338 ::google::protobuf::RepeatedPtrField<::operations_research::RuinStrategy>* PROTOBUF_NONNULL mutable_ruin_strategies();
3339
3340 private:
3341 const ::google::protobuf::RepeatedPtrField<::operations_research::RuinStrategy>& _internal_ruin_strategies() const;
3342 ::google::protobuf::RepeatedPtrField<::operations_research::RuinStrategy>* PROTOBUF_NONNULL _internal_mutable_ruin_strategies();
3343 public:
3344 const ::operations_research::RuinStrategy& ruin_strategies(int index) const;
3346 const ::google::protobuf::RepeatedPtrField<::operations_research::RuinStrategy>& ruin_strategies() const;
3347 // .operations_research.RecreateStrategy recreate_strategy = 3;
3348 bool has_recreate_strategy() const;
3350 const ::operations_research::RecreateStrategy& recreate_strategy() const;
3351 [[nodiscard]] ::operations_research::RecreateStrategy* PROTOBUF_NULLABLE release_recreate_strategy();
3356
3357 private:
3358 const ::operations_research::RecreateStrategy& _internal_recreate_strategy() const;
3359 ::operations_research::RecreateStrategy* PROTOBUF_NONNULL _internal_mutable_recreate_strategy();
3360
3361 public:
3362 // .operations_research.RuinCompositionStrategy.Value ruin_composition_strategy = 2;
3366
3367 private:
3368 ::operations_research::RuinCompositionStrategy_Value _internal_ruin_composition_strategy() const;
3369 void _internal_set_ruin_composition_strategy(::operations_research::RuinCompositionStrategy_Value value);
3370
3371 public:
3372 // optional uint32 route_selection_min_neighbors = 5;
3375 ::uint32_t route_selection_min_neighbors() const;
3376 void set_route_selection_min_neighbors(::uint32_t value);
3377
3378 private:
3379 ::uint32_t _internal_route_selection_min_neighbors() const;
3380 void _internal_set_route_selection_min_neighbors(::uint32_t value);
3381
3382 public:
3383 // optional double route_selection_neighbors_ratio = 4;
3386 double route_selection_neighbors_ratio() const;
3387 void set_route_selection_neighbors_ratio(double value);
3388
3389 private:
3390 double _internal_route_selection_neighbors_ratio() const;
3391 void _internal_set_route_selection_neighbors_ratio(double value);
3392
3393 public:
3394 // optional uint32 route_selection_max_neighbors = 6;
3397 ::uint32_t route_selection_max_neighbors() const;
3398 void set_route_selection_max_neighbors(::uint32_t value);
3399
3400 private:
3401 ::uint32_t _internal_route_selection_max_neighbors() const;
3402 void _internal_set_route_selection_max_neighbors(::uint32_t value);
3403
3404 public:
3405 // @@protoc_insertion_point(class_scope:operations_research.RuinRecreateParameters)
3406 private:
3407 class _Internal;
3408 friend class ::google::protobuf::internal::TcParser;
3409 static const ::google::protobuf::internal::TcParseTable<3, 6,
3410 2, 0,
3411 2>
3412 _table_;
3413
3414 friend class ::google::protobuf::MessageLite;
3415 friend class ::google::protobuf::Arena;
3416 template <typename T>
3417 friend class ::google::protobuf::Arena::InternalHelper;
3418 using InternalArenaConstructable_ = void;
3419 using DestructorSkippable_ = void;
3420 struct Impl_ {
3421 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3422 inline explicit Impl_(
3423 ::google::protobuf::internal::InternalVisibility visibility,
3424 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3425 inline explicit Impl_(
3426 ::google::protobuf::internal::InternalVisibility visibility,
3427 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3428 const RuinRecreateParameters& from_msg);
3429 ::google::protobuf::internal::HasBits<1> _has_bits_;
3430 ::google::protobuf::internal::CachedSize _cached_size_;
3431 ::google::protobuf::RepeatedPtrField< ::operations_research::RuinStrategy > ruin_strategies_;
3432 ::operations_research::RecreateStrategy* PROTOBUF_NULLABLE recreate_strategy_;
3433 int ruin_composition_strategy_;
3434 ::uint32_t route_selection_min_neighbors_;
3435 double route_selection_neighbors_ratio_;
3436 ::uint32_t route_selection_max_neighbors_;
3437 PROTOBUF_TSAN_DECLARE_MEMBER
3438 };
3439 union { Impl_ _impl_; };
3440 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
3441};
3442
3443OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RuinRecreateParameters_class_data_;
3444// -------------------------------------------------------------------
3445
3446class OR_PROTO_DLL IteratedLocalSearchParameters final : public ::google::protobuf::Message
3447/* @@protoc_insertion_point(class_definition:operations_research.IteratedLocalSearchParameters) */ {
3448 public:
3449 inline IteratedLocalSearchParameters() : IteratedLocalSearchParameters(nullptr) {}
3450 ~IteratedLocalSearchParameters() PROTOBUF_FINAL;
3451
3452#if defined(PROTOBUF_CUSTOM_VTABLE)
3453 void operator delete(IteratedLocalSearchParameters* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
3454 SharedDtor(*msg);
3455 ::google::protobuf::internal::SizedDelete(msg, sizeof(IteratedLocalSearchParameters));
3457#endif
3458
3459 template <typename = void>
3460 explicit PROTOBUF_CONSTEXPR IteratedLocalSearchParameters(::google::protobuf::internal::ConstantInitialized);
3461
3464 : IteratedLocalSearchParameters(nullptr, ::std::move(from)) {}
3465 inline IteratedLocalSearchParameters& operator=(const IteratedLocalSearchParameters& from) {
3466 CopyFrom(from);
3467 return *this;
3468 }
3469 inline IteratedLocalSearchParameters& operator=(IteratedLocalSearchParameters&& from) noexcept {
3470 if (this == &from) return *this;
3471 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
3472 InternalSwap(&from);
3473 } else {
3474 CopyFrom(from);
3475 }
3476 return *this;
3477 }
3479 inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3480 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3481 return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3482 }
3483 inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
3484 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3485 return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3486 }
3488 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
3489 return GetDescriptor();
3490 }
3491 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
3492 return default_instance().GetMetadata().descriptor;
3493 }
3494 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
3495 return default_instance().GetMetadata().reflection;
3496 }
3501 static constexpr int kIndexInFileMessages = 16;
3503 inline void Swap(IteratedLocalSearchParameters* PROTOBUF_NONNULL other) {
3504 if (other == this) return;
3505 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
3506 InternalSwap(other);
3507 } else {
3508 ::google::protobuf::internal::GenericSwap(this, other);
3510 }
3511 void UnsafeArenaSwap(IteratedLocalSearchParameters* PROTOBUF_NONNULL other) {
3512 if (other == this) return;
3513 ABSL_DCHECK(GetArena() == other->GetArena());
3514 InternalSwap(other);
3516
3517 // implements Message ----------------------------------------------
3518
3519 IteratedLocalSearchParameters* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
3520 return ::google::protobuf::Message::DefaultConstruct<IteratedLocalSearchParameters>(arena);
3522 using ::google::protobuf::Message::CopyFrom;
3523 void CopyFrom(const IteratedLocalSearchParameters& from);
3524 using ::google::protobuf::Message::MergeFrom;
3525 void MergeFrom(const IteratedLocalSearchParameters& from) { IteratedLocalSearchParameters::MergeImpl(*this, from); }
3526
3527 private:
3528 static void MergeImpl(::google::protobuf::MessageLite& to_msg,
3529 const ::google::protobuf::MessageLite& from_msg);
3530
3531 public:
3532 bool IsInitialized() const {
3533 return true;
3534 }
3535 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3536 #if defined(PROTOBUF_CUSTOM_VTABLE)
3537 private:
3538 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3539 static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3540 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
3541 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
3542
3543 public:
3544 ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3545 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3546 ::uint8_t* PROTOBUF_NONNULL target,
3547 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
3548 return _InternalSerialize(*this, target, stream);
3549 }
3550 #else // PROTOBUF_CUSTOM_VTABLE
3551 ::size_t ByteSizeLong() const final;
3552 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
3553 ::uint8_t* PROTOBUF_NONNULL target,
3554 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
3555 #endif // PROTOBUF_CUSTOM_VTABLE
3556 int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3557
3558 private:
3559 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3560 static void SharedDtor(MessageLite& self);
3561 void InternalSwap(IteratedLocalSearchParameters* PROTOBUF_NONNULL other);
3562 private:
3563 template <typename T>
3564 friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
3565 static ::absl::string_view FullMessageName() { return "operations_research.IteratedLocalSearchParameters"; }
3566
3567 explicit IteratedLocalSearchParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3568 IteratedLocalSearchParameters(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const IteratedLocalSearchParameters& from);
3569 IteratedLocalSearchParameters(
3570 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, IteratedLocalSearchParameters&& from) noexcept
3571 : IteratedLocalSearchParameters(arena) {
3572 *this = ::std::move(from);
3573 }
3574 const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
3575 static void* PROTOBUF_NONNULL PlacementNew_(
3576 const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
3577 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3578 static constexpr auto InternalNewImpl_();
3579
3580 public:
3581 static constexpr auto InternalGenerateClassData_();
3582
3583 ::google::protobuf::Metadata GetMetadata() const;
3584 // nested types ----------------------------------------------------
3585
3586 // accessors -------------------------------------------------------
3587 enum : int {
3593 };
3594 // .operations_research.RuinRecreateParameters ruin_recreate_parameters = 2;
3595 bool has_ruin_recreate_parameters() const;
3596 void clear_ruin_recreate_parameters() ;
3597 const ::operations_research::RuinRecreateParameters& ruin_recreate_parameters() const;
3598 [[nodiscard]] ::operations_research::RuinRecreateParameters* PROTOBUF_NULLABLE release_ruin_recreate_parameters();
3599 ::operations_research::RuinRecreateParameters* PROTOBUF_NONNULL mutable_ruin_recreate_parameters();
3600 void set_allocated_ruin_recreate_parameters(::operations_research::RuinRecreateParameters* PROTOBUF_NULLABLE value);
3601 void unsafe_arena_set_allocated_ruin_recreate_parameters(::operations_research::RuinRecreateParameters* PROTOBUF_NULLABLE value);
3602 ::operations_research::RuinRecreateParameters* PROTOBUF_NULLABLE unsafe_arena_release_ruin_recreate_parameters();
3603
3604 private:
3605 const ::operations_research::RuinRecreateParameters& _internal_ruin_recreate_parameters() const;
3606 ::operations_research::RuinRecreateParameters* PROTOBUF_NONNULL _internal_mutable_ruin_recreate_parameters();
3608 public:
3609 // .operations_research.AcceptanceStrategy reference_solution_acceptance_strategy = 4;
3612 const ::operations_research::AcceptanceStrategy& reference_solution_acceptance_strategy() const;
3618
3619 private:
3620 const ::operations_research::AcceptanceStrategy& _internal_reference_solution_acceptance_strategy() const;
3621 ::operations_research::AcceptanceStrategy* PROTOBUF_NONNULL _internal_mutable_reference_solution_acceptance_strategy();
3622
3623 public:
3624 // .operations_research.AcceptanceStrategy best_solution_acceptance_strategy = 5;
3627 const ::operations_research::AcceptanceStrategy& best_solution_acceptance_strategy() const;
3633
3634 private:
3635 const ::operations_research::AcceptanceStrategy& _internal_best_solution_acceptance_strategy() const;
3636 ::operations_research::AcceptanceStrategy* PROTOBUF_NONNULL _internal_mutable_best_solution_acceptance_strategy();
3637
3638 public:
3639 // .operations_research.PerturbationStrategy.Value perturbation_strategy = 1;
3643
3644 private:
3645 ::operations_research::PerturbationStrategy_Value _internal_perturbation_strategy() const;
3646 void _internal_set_perturbation_strategy(::operations_research::PerturbationStrategy_Value value);
3647
3648 public:
3649 // optional bool improve_perturbed_solution = 3;
3650 bool has_improve_perturbed_solution() const;
3652 bool improve_perturbed_solution() const;
3653 void set_improve_perturbed_solution(bool value);
3654
3655 private:
3656 bool _internal_improve_perturbed_solution() const;
3657 void _internal_set_improve_perturbed_solution(bool value);
3658
3659 public:
3660 // @@protoc_insertion_point(class_scope:operations_research.IteratedLocalSearchParameters)
3661 private:
3662 class _Internal;
3663 friend class ::google::protobuf::internal::TcParser;
3664 static const ::google::protobuf::internal::TcParseTable<3, 5,
3665 3, 0,
3666 2>
3667 _table_;
3668
3669 friend class ::google::protobuf::MessageLite;
3670 friend class ::google::protobuf::Arena;
3671 template <typename T>
3672 friend class ::google::protobuf::Arena::InternalHelper;
3673 using InternalArenaConstructable_ = void;
3674 using DestructorSkippable_ = void;
3675 struct Impl_ {
3676 inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
3677 inline explicit Impl_(
3678 ::google::protobuf::internal::InternalVisibility visibility,
3679 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
3680 inline explicit Impl_(
3681 ::google::protobuf::internal::InternalVisibility visibility,
3682 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
3683 const IteratedLocalSearchParameters& from_msg);
3684 ::google::protobuf::internal::HasBits<1> _has_bits_;
3685 ::google::protobuf::internal::CachedSize _cached_size_;
3686 ::operations_research::RuinRecreateParameters* PROTOBUF_NULLABLE ruin_recreate_parameters_;
3687 ::operations_research::AcceptanceStrategy* PROTOBUF_NULLABLE reference_solution_acceptance_strategy_;
3688 ::operations_research::AcceptanceStrategy* PROTOBUF_NULLABLE best_solution_acceptance_strategy_;
3689 int perturbation_strategy_;
3690 bool improve_perturbed_solution_;
3691 PROTOBUF_TSAN_DECLARE_MEMBER
3692 };
3693 union { Impl_ _impl_; };
3694 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto;
3695};
3696
3697OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull IteratedLocalSearchParameters_class_data_;
3698
3699// ===================================================================
3700
3701
3702
3703
3704// ===================================================================
3705
3706
3707#ifdef __GNUC__
3708#pragma GCC diagnostic push
3709#pragma GCC diagnostic ignored "-Wstrict-aliasing"
3710#endif // __GNUC__
3711// -------------------------------------------------------------------
3713// SpatiallyCloseRoutesRuinStrategy
3714
3715// optional uint32 num_ruined_routes = 3;
3717 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
3718 return value;
3719}
3721 ::google::protobuf::internal::TSanWrite(&_impl_);
3722 _impl_.num_ruined_routes_ = 0u;
3723 ClearHasBit(_impl_._has_bits_[0],
3724 0x00000001U);
3725}
3726inline ::uint32_t SpatiallyCloseRoutesRuinStrategy::num_ruined_routes() const {
3727 // @@protoc_insertion_point(field_get:operations_research.SpatiallyCloseRoutesRuinStrategy.num_ruined_routes)
3728 return _internal_num_ruined_routes();
3729}
3730inline void SpatiallyCloseRoutesRuinStrategy::set_num_ruined_routes(::uint32_t value) {
3731 _internal_set_num_ruined_routes(value);
3732 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
3733 // @@protoc_insertion_point(field_set:operations_research.SpatiallyCloseRoutesRuinStrategy.num_ruined_routes)
3734}
3735inline ::uint32_t SpatiallyCloseRoutesRuinStrategy::_internal_num_ruined_routes() const {
3736 ::google::protobuf::internal::TSanRead(&_impl_);
3737 return _impl_.num_ruined_routes_;
3738}
3739inline void SpatiallyCloseRoutesRuinStrategy::_internal_set_num_ruined_routes(::uint32_t value) {
3740 ::google::protobuf::internal::TSanWrite(&_impl_);
3741 _impl_.num_ruined_routes_ = value;
3742}
3743
3744// -------------------------------------------------------------------
3745
3746// RandomWalkRuinStrategy
3748// optional uint32 num_removed_visits = 7;
3750 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
3751 return value;
3752}
3754 ::google::protobuf::internal::TSanWrite(&_impl_);
3755 _impl_.num_removed_visits_ = 0u;
3756 ClearHasBit(_impl_._has_bits_[0],
3757 0x00000001U);
3758}
3759inline ::uint32_t RandomWalkRuinStrategy::num_removed_visits() const {
3760 // @@protoc_insertion_point(field_get:operations_research.RandomWalkRuinStrategy.num_removed_visits)
3761 return _internal_num_removed_visits();
3762}
3763inline void RandomWalkRuinStrategy::set_num_removed_visits(::uint32_t value) {
3764 _internal_set_num_removed_visits(value);
3765 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
3766 // @@protoc_insertion_point(field_set:operations_research.RandomWalkRuinStrategy.num_removed_visits)
3767}
3768inline ::uint32_t RandomWalkRuinStrategy::_internal_num_removed_visits() const {
3769 ::google::protobuf::internal::TSanRead(&_impl_);
3770 return _impl_.num_removed_visits_;
3772inline void RandomWalkRuinStrategy::_internal_set_num_removed_visits(::uint32_t value) {
3773 ::google::protobuf::internal::TSanWrite(&_impl_);
3774 _impl_.num_removed_visits_ = value;
3776
3777// -------------------------------------------------------------------
3778
3779// SISRRuinStrategy
3780
3781// optional uint32 max_removed_sequence_size = 1;
3783 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
3784 return value;
3787 ::google::protobuf::internal::TSanWrite(&_impl_);
3788 _impl_.max_removed_sequence_size_ = 0u;
3789 ClearHasBit(_impl_._has_bits_[0],
3790 0x00000001U);
3791}
3792inline ::uint32_t SISRRuinStrategy::max_removed_sequence_size() const {
3793 // @@protoc_insertion_point(field_get:operations_research.SISRRuinStrategy.max_removed_sequence_size)
3794 return _internal_max_removed_sequence_size();
3795}
3796inline void SISRRuinStrategy::set_max_removed_sequence_size(::uint32_t value) {
3797 _internal_set_max_removed_sequence_size(value);
3798 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
3799 // @@protoc_insertion_point(field_set:operations_research.SISRRuinStrategy.max_removed_sequence_size)
3800}
3801inline ::uint32_t SISRRuinStrategy::_internal_max_removed_sequence_size() const {
3802 ::google::protobuf::internal::TSanRead(&_impl_);
3803 return _impl_.max_removed_sequence_size_;
3804}
3805inline void SISRRuinStrategy::_internal_set_max_removed_sequence_size(::uint32_t value) {
3806 ::google::protobuf::internal::TSanWrite(&_impl_);
3807 _impl_.max_removed_sequence_size_ = value;
3808}
3810// optional uint32 avg_num_removed_visits = 2;
3812 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
3813 return value;
3814}
3816 ::google::protobuf::internal::TSanWrite(&_impl_);
3817 _impl_.avg_num_removed_visits_ = 0u;
3818 ClearHasBit(_impl_._has_bits_[0],
3819 0x00000002U);
3820}
3821inline ::uint32_t SISRRuinStrategy::avg_num_removed_visits() const {
3822 // @@protoc_insertion_point(field_get:operations_research.SISRRuinStrategy.avg_num_removed_visits)
3823 return _internal_avg_num_removed_visits();
3824}
3825inline void SISRRuinStrategy::set_avg_num_removed_visits(::uint32_t value) {
3826 _internal_set_avg_num_removed_visits(value);
3827 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
3828 // @@protoc_insertion_point(field_set:operations_research.SISRRuinStrategy.avg_num_removed_visits)
3829}
3830inline ::uint32_t SISRRuinStrategy::_internal_avg_num_removed_visits() const {
3831 ::google::protobuf::internal::TSanRead(&_impl_);
3832 return _impl_.avg_num_removed_visits_;
3833}
3834inline void SISRRuinStrategy::_internal_set_avg_num_removed_visits(::uint32_t value) {
3835 ::google::protobuf::internal::TSanWrite(&_impl_);
3836 _impl_.avg_num_removed_visits_ = value;
3837}
3839// optional double bypass_factor = 3;
3840inline bool SISRRuinStrategy::has_bypass_factor() const {
3841 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
3842 return value;
3843}
3845 ::google::protobuf::internal::TSanWrite(&_impl_);
3846 _impl_.bypass_factor_ = 0;
3847 ClearHasBit(_impl_._has_bits_[0],
3848 0x00000004U);
3849}
3850inline double SISRRuinStrategy::bypass_factor() const {
3851 // @@protoc_insertion_point(field_get:operations_research.SISRRuinStrategy.bypass_factor)
3852 return _internal_bypass_factor();
3853}
3854inline void SISRRuinStrategy::set_bypass_factor(double value) {
3855 _internal_set_bypass_factor(value);
3856 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
3857 // @@protoc_insertion_point(field_set:operations_research.SISRRuinStrategy.bypass_factor)
3858}
3859inline double SISRRuinStrategy::_internal_bypass_factor() const {
3860 ::google::protobuf::internal::TSanRead(&_impl_);
3861 return _impl_.bypass_factor_;
3862}
3863inline void SISRRuinStrategy::_internal_set_bypass_factor(double value) {
3864 ::google::protobuf::internal::TSanWrite(&_impl_);
3865 _impl_.bypass_factor_ = value;
3866}
3868// -------------------------------------------------------------------
3869
3870// RuinStrategy
3871
3872// .operations_research.SpatiallyCloseRoutesRuinStrategy spatially_close_routes = 1;
3874 return strategy_case() == kSpatiallyCloseRoutes;
3875}
3876inline bool RuinStrategy::_internal_has_spatially_close_routes() const {
3877 return strategy_case() == kSpatiallyCloseRoutes;
3878}
3879inline void RuinStrategy::set_has_spatially_close_routes() {
3880 _impl_._oneof_case_[0] = kSpatiallyCloseRoutes;
3881}
3882inline void RuinStrategy::clear_spatially_close_routes() {
3883 ::google::protobuf::internal::TSanWrite(&_impl_);
3884 if (strategy_case() == kSpatiallyCloseRoutes) {
3885 if (GetArena() == nullptr) {
3886 delete _impl_.strategy_.spatially_close_routes_;
3887 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
3888 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.spatially_close_routes_);
3889 }
3890 clear_has_strategy();
3891 }
3892}
3893inline ::operations_research::SpatiallyCloseRoutesRuinStrategy* PROTOBUF_NULLABLE RuinStrategy::release_spatially_close_routes() {
3894 // @@protoc_insertion_point(field_release:operations_research.RuinStrategy.spatially_close_routes)
3895 if (strategy_case() == kSpatiallyCloseRoutes) {
3896 clear_has_strategy();
3897 auto* temp = reinterpret_cast<::operations_research::SpatiallyCloseRoutesRuinStrategy*>(_impl_.strategy_.spatially_close_routes_);
3898 if (GetArena() != nullptr) {
3899 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
3900 }
3901 _impl_.strategy_.spatially_close_routes_ = nullptr;
3902 return temp;
3903 } else {
3904 return nullptr;
3905 }
3907inline const ::operations_research::SpatiallyCloseRoutesRuinStrategy& RuinStrategy::_internal_spatially_close_routes() const {
3908 return strategy_case() == kSpatiallyCloseRoutes ? static_cast<const ::operations_research::SpatiallyCloseRoutesRuinStrategy&>(*reinterpret_cast<::operations_research::SpatiallyCloseRoutesRuinStrategy*>(_impl_.strategy_.spatially_close_routes_))
3910}
3911inline const ::operations_research::SpatiallyCloseRoutesRuinStrategy& RuinStrategy::spatially_close_routes() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3912 // @@protoc_insertion_point(field_get:operations_research.RuinStrategy.spatially_close_routes)
3913 return _internal_spatially_close_routes();
3914}
3915inline ::operations_research::SpatiallyCloseRoutesRuinStrategy* PROTOBUF_NULLABLE RuinStrategy::unsafe_arena_release_spatially_close_routes() {
3916 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.RuinStrategy.spatially_close_routes)
3918 clear_has_strategy();
3919 auto* temp = reinterpret_cast<::operations_research::SpatiallyCloseRoutesRuinStrategy*>(_impl_.strategy_.spatially_close_routes_);
3920 _impl_.strategy_.spatially_close_routes_ = nullptr;
3921 return temp;
3922 } else {
3923 return nullptr;
3924 }
3925}
3926inline void RuinStrategy::unsafe_arena_set_allocated_spatially_close_routes(
3927 ::operations_research::SpatiallyCloseRoutesRuinStrategy* PROTOBUF_NULLABLE value) {
3928 // We rely on the oneof clear method to free the earlier contents
3929 // of this oneof. We can directly use the pointer we're given to
3930 // set the new value.
3931 clear_strategy();
3932 if (value) {
3933 set_has_spatially_close_routes();
3934 _impl_.strategy_.spatially_close_routes_ = reinterpret_cast<::google::protobuf::Message*>(value);
3936 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RuinStrategy.spatially_close_routes)
3937}
3938inline ::operations_research::SpatiallyCloseRoutesRuinStrategy* PROTOBUF_NONNULL RuinStrategy::_internal_mutable_spatially_close_routes() {
3941 set_has_spatially_close_routes();
3942 _impl_.strategy_.spatially_close_routes_ = reinterpret_cast<::google::protobuf::Message*>(
3943 ::google::protobuf::Message::DefaultConstruct<::operations_research::SpatiallyCloseRoutesRuinStrategy>(GetArena()));
3944 }
3945 return reinterpret_cast<::operations_research::SpatiallyCloseRoutesRuinStrategy*>(_impl_.strategy_.spatially_close_routes_);
3946}
3947inline ::operations_research::SpatiallyCloseRoutesRuinStrategy* PROTOBUF_NONNULL RuinStrategy::mutable_spatially_close_routes()
3948 ABSL_ATTRIBUTE_LIFETIME_BOUND {
3949 ::operations_research::SpatiallyCloseRoutesRuinStrategy* _msg = _internal_mutable_spatially_close_routes();
3950 // @@protoc_insertion_point(field_mutable:operations_research.RuinStrategy.spatially_close_routes)
3951 return _msg;
3952}
3953
3954// .operations_research.RandomWalkRuinStrategy random_walk = 2;
3955inline bool RuinStrategy::has_random_walk() const {
3956 return strategy_case() == kRandomWalk;
3957}
3958inline bool RuinStrategy::_internal_has_random_walk() const {
3959 return strategy_case() == kRandomWalk;
3960}
3961inline void RuinStrategy::set_has_random_walk() {
3962 _impl_._oneof_case_[0] = kRandomWalk;
3963}
3964inline void RuinStrategy::clear_random_walk() {
3965 ::google::protobuf::internal::TSanWrite(&_impl_);
3966 if (strategy_case() == kRandomWalk) {
3967 if (GetArena() == nullptr) {
3968 delete _impl_.strategy_.random_walk_;
3969 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
3970 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.random_walk_);
3972 clear_has_strategy();
3973 }
3974}
3975inline ::operations_research::RandomWalkRuinStrategy* PROTOBUF_NULLABLE RuinStrategy::release_random_walk() {
3976 // @@protoc_insertion_point(field_release:operations_research.RuinStrategy.random_walk)
3977 if (strategy_case() == kRandomWalk) {
3978 clear_has_strategy();
3979 auto* temp = reinterpret_cast<::operations_research::RandomWalkRuinStrategy*>(_impl_.strategy_.random_walk_);
3980 if (GetArena() != nullptr) {
3981 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
3982 }
3983 _impl_.strategy_.random_walk_ = nullptr;
3984 return temp;
3985 } else {
3986 return nullptr;
3987 }
3989inline const ::operations_research::RandomWalkRuinStrategy& RuinStrategy::_internal_random_walk() const {
3990 return strategy_case() == kRandomWalk ? static_cast<const ::operations_research::RandomWalkRuinStrategy&>(*reinterpret_cast<::operations_research::RandomWalkRuinStrategy*>(_impl_.strategy_.random_walk_))
3992}
3993inline const ::operations_research::RandomWalkRuinStrategy& RuinStrategy::random_walk() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
3994 // @@protoc_insertion_point(field_get:operations_research.RuinStrategy.random_walk)
3995 return _internal_random_walk();
3996}
3997inline ::operations_research::RandomWalkRuinStrategy* PROTOBUF_NULLABLE RuinStrategy::unsafe_arena_release_random_walk() {
3998 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.RuinStrategy.random_walk)
4000 clear_has_strategy();
4001 auto* temp = reinterpret_cast<::operations_research::RandomWalkRuinStrategy*>(_impl_.strategy_.random_walk_);
4002 _impl_.strategy_.random_walk_ = nullptr;
4003 return temp;
4004 } else {
4005 return nullptr;
4006 }
4007}
4008inline void RuinStrategy::unsafe_arena_set_allocated_random_walk(
4009 ::operations_research::RandomWalkRuinStrategy* PROTOBUF_NULLABLE value) {
4010 // We rely on the oneof clear method to free the earlier contents
4011 // of this oneof. We can directly use the pointer we're given to
4012 // set the new value.
4013 clear_strategy();
4014 if (value) {
4015 set_has_random_walk();
4016 _impl_.strategy_.random_walk_ = reinterpret_cast<::google::protobuf::Message*>(value);
4018 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RuinStrategy.random_walk)
4019}
4020inline ::operations_research::RandomWalkRuinStrategy* PROTOBUF_NONNULL RuinStrategy::_internal_mutable_random_walk() {
4023 set_has_random_walk();
4024 _impl_.strategy_.random_walk_ = reinterpret_cast<::google::protobuf::Message*>(
4025 ::google::protobuf::Message::DefaultConstruct<::operations_research::RandomWalkRuinStrategy>(GetArena()));
4026 }
4027 return reinterpret_cast<::operations_research::RandomWalkRuinStrategy*>(_impl_.strategy_.random_walk_);
4028}
4029inline ::operations_research::RandomWalkRuinStrategy* PROTOBUF_NONNULL RuinStrategy::mutable_random_walk()
4030 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4031 ::operations_research::RandomWalkRuinStrategy* _msg = _internal_mutable_random_walk();
4032 // @@protoc_insertion_point(field_mutable:operations_research.RuinStrategy.random_walk)
4033 return _msg;
4034}
4035
4036// .operations_research.SISRRuinStrategy sisr = 3;
4037inline bool RuinStrategy::has_sisr() const {
4038 return strategy_case() == kSisr;
4039}
4040inline bool RuinStrategy::_internal_has_sisr() const {
4041 return strategy_case() == kSisr;
4042}
4043inline void RuinStrategy::set_has_sisr() {
4044 _impl_._oneof_case_[0] = kSisr;
4045}
4046inline void RuinStrategy::clear_sisr() {
4047 ::google::protobuf::internal::TSanWrite(&_impl_);
4048 if (strategy_case() == kSisr) {
4049 if (GetArena() == nullptr) {
4050 delete _impl_.strategy_.sisr_;
4051 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
4052 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.sisr_);
4054 clear_has_strategy();
4055 }
4056}
4057inline ::operations_research::SISRRuinStrategy* PROTOBUF_NULLABLE RuinStrategy::release_sisr() {
4058 // @@protoc_insertion_point(field_release:operations_research.RuinStrategy.sisr)
4059 if (strategy_case() == kSisr) {
4060 clear_has_strategy();
4061 auto* temp = reinterpret_cast<::operations_research::SISRRuinStrategy*>(_impl_.strategy_.sisr_);
4062 if (GetArena() != nullptr) {
4063 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
4064 }
4065 _impl_.strategy_.sisr_ = nullptr;
4066 return temp;
4067 } else {
4068 return nullptr;
4069 }
4071inline const ::operations_research::SISRRuinStrategy& RuinStrategy::_internal_sisr() const {
4072 return strategy_case() == kSisr ? static_cast<const ::operations_research::SISRRuinStrategy&>(*reinterpret_cast<::operations_research::SISRRuinStrategy*>(_impl_.strategy_.sisr_))
4074}
4075inline const ::operations_research::SISRRuinStrategy& RuinStrategy::sisr() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4076 // @@protoc_insertion_point(field_get:operations_research.RuinStrategy.sisr)
4077 return _internal_sisr();
4078}
4079inline ::operations_research::SISRRuinStrategy* PROTOBUF_NULLABLE RuinStrategy::unsafe_arena_release_sisr() {
4080 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.RuinStrategy.sisr)
4082 clear_has_strategy();
4083 auto* temp = reinterpret_cast<::operations_research::SISRRuinStrategy*>(_impl_.strategy_.sisr_);
4084 _impl_.strategy_.sisr_ = nullptr;
4085 return temp;
4086 } else {
4087 return nullptr;
4088 }
4089}
4090inline void RuinStrategy::unsafe_arena_set_allocated_sisr(
4091 ::operations_research::SISRRuinStrategy* PROTOBUF_NULLABLE value) {
4092 // We rely on the oneof clear method to free the earlier contents
4093 // of this oneof. We can directly use the pointer we're given to
4094 // set the new value.
4095 clear_strategy();
4096 if (value) {
4097 set_has_sisr();
4098 _impl_.strategy_.sisr_ = reinterpret_cast<::google::protobuf::Message*>(value);
4100 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RuinStrategy.sisr)
4101}
4102inline ::operations_research::SISRRuinStrategy* PROTOBUF_NONNULL RuinStrategy::_internal_mutable_sisr() {
4105 set_has_sisr();
4106 _impl_.strategy_.sisr_ = reinterpret_cast<::google::protobuf::Message*>(
4107 ::google::protobuf::Message::DefaultConstruct<::operations_research::SISRRuinStrategy>(GetArena()));
4108 }
4109 return reinterpret_cast<::operations_research::SISRRuinStrategy*>(_impl_.strategy_.sisr_);
4110}
4111inline ::operations_research::SISRRuinStrategy* PROTOBUF_NONNULL RuinStrategy::mutable_sisr()
4112 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4113 ::operations_research::SISRRuinStrategy* _msg = _internal_mutable_sisr();
4114 // @@protoc_insertion_point(field_mutable:operations_research.RuinStrategy.sisr)
4115 return _msg;
4116}
4117
4118inline bool RuinStrategy::has_strategy() const {
4119 return strategy_case() != STRATEGY_NOT_SET;
4120}
4121inline void RuinStrategy::clear_has_strategy() {
4122 _impl_._oneof_case_[0] = STRATEGY_NOT_SET;
4123}
4124inline RuinStrategy::StrategyCase RuinStrategy::strategy_case() const {
4125 return RuinStrategy::StrategyCase(_impl_._oneof_case_[0]);
4126}
4127// -------------------------------------------------------------------
4128
4129// RecreateParameters
4130
4131// .operations_research.LocalCheapestInsertionParameters local_cheapest_insertion = 1;
4132inline bool RecreateParameters::has_local_cheapest_insertion() const {
4133 return parameters_case() == kLocalCheapestInsertion;
4134}
4135inline bool RecreateParameters::_internal_has_local_cheapest_insertion() const {
4136 return parameters_case() == kLocalCheapestInsertion;
4137}
4138inline void RecreateParameters::set_has_local_cheapest_insertion() {
4139 _impl_._oneof_case_[0] = kLocalCheapestInsertion;
4140}
4141inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NULLABLE RecreateParameters::release_local_cheapest_insertion() {
4142 // @@protoc_insertion_point(field_release:operations_research.RecreateParameters.local_cheapest_insertion)
4143 if (parameters_case() == kLocalCheapestInsertion) {
4144 clear_has_parameters();
4145 auto* temp = reinterpret_cast<::operations_research::LocalCheapestInsertionParameters*>(_impl_.parameters_.local_cheapest_insertion_);
4146 if (GetArena() != nullptr) {
4147 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
4149 _impl_.parameters_.local_cheapest_insertion_ = nullptr;
4150 return temp;
4151 } else {
4152 return nullptr;
4153 }
4154}
4155inline const ::operations_research::LocalCheapestInsertionParameters& RecreateParameters::_internal_local_cheapest_insertion() const {
4156 return parameters_case() == kLocalCheapestInsertion ? static_cast<const ::operations_research::LocalCheapestInsertionParameters&>(*reinterpret_cast<::operations_research::LocalCheapestInsertionParameters*>(_impl_.parameters_.local_cheapest_insertion_))
4158}
4159inline const ::operations_research::LocalCheapestInsertionParameters& RecreateParameters::local_cheapest_insertion() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4160 // @@protoc_insertion_point(field_get:operations_research.RecreateParameters.local_cheapest_insertion)
4161 return _internal_local_cheapest_insertion();
4162}
4163inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NULLABLE RecreateParameters::unsafe_arena_release_local_cheapest_insertion() {
4164 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.RecreateParameters.local_cheapest_insertion)
4165 if (parameters_case() == kLocalCheapestInsertion) {
4166 clear_has_parameters();
4167 auto* temp = reinterpret_cast<::operations_research::LocalCheapestInsertionParameters*>(_impl_.parameters_.local_cheapest_insertion_);
4168 _impl_.parameters_.local_cheapest_insertion_ = nullptr;
4169 return temp;
4170 } else {
4171 return nullptr;
4172 }
4173}
4174inline void RecreateParameters::unsafe_arena_set_allocated_local_cheapest_insertion(
4175 ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NULLABLE value) {
4176 // We rely on the oneof clear method to free the earlier contents
4177 // of this oneof. We can directly use the pointer we're given to
4178 // set the new value.
4179 clear_parameters();
4180 if (value) {
4181 set_has_local_cheapest_insertion();
4182 _impl_.parameters_.local_cheapest_insertion_ = reinterpret_cast<::google::protobuf::Message*>(value);
4183 }
4184 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RecreateParameters.local_cheapest_insertion)
4185}
4186inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NONNULL RecreateParameters::_internal_mutable_local_cheapest_insertion() {
4187 if (parameters_case() != kLocalCheapestInsertion) {
4189 set_has_local_cheapest_insertion();
4190 _impl_.parameters_.local_cheapest_insertion_ = reinterpret_cast<::google::protobuf::Message*>(
4191 ::google::protobuf::Message::DefaultConstruct<::operations_research::LocalCheapestInsertionParameters>(GetArena()));
4192 }
4193 return reinterpret_cast<::operations_research::LocalCheapestInsertionParameters*>(_impl_.parameters_.local_cheapest_insertion_);
4194}
4195inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NONNULL RecreateParameters::mutable_local_cheapest_insertion()
4196 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4197 ::operations_research::LocalCheapestInsertionParameters* _msg = _internal_mutable_local_cheapest_insertion();
4198 // @@protoc_insertion_point(field_mutable:operations_research.RecreateParameters.local_cheapest_insertion)
4199 return _msg;
4200}
4201
4202// .operations_research.SavingsParameters savings = 2;
4203inline bool RecreateParameters::has_savings() const {
4204 return parameters_case() == kSavings;
4205}
4206inline bool RecreateParameters::_internal_has_savings() const {
4207 return parameters_case() == kSavings;
4208}
4209inline void RecreateParameters::set_has_savings() {
4210 _impl_._oneof_case_[0] = kSavings;
4211}
4212inline ::operations_research::SavingsParameters* PROTOBUF_NULLABLE RecreateParameters::release_savings() {
4213 // @@protoc_insertion_point(field_release:operations_research.RecreateParameters.savings)
4214 if (parameters_case() == kSavings) {
4215 clear_has_parameters();
4216 auto* temp = reinterpret_cast<::operations_research::SavingsParameters*>(_impl_.parameters_.savings_);
4217 if (GetArena() != nullptr) {
4218 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
4219 }
4220 _impl_.parameters_.savings_ = nullptr;
4221 return temp;
4222 } else {
4223 return nullptr;
4224 }
4225}
4226inline const ::operations_research::SavingsParameters& RecreateParameters::_internal_savings() const {
4227 return parameters_case() == kSavings ? static_cast<const ::operations_research::SavingsParameters&>(*reinterpret_cast<::operations_research::SavingsParameters*>(_impl_.parameters_.savings_))
4229}
4230inline const ::operations_research::SavingsParameters& RecreateParameters::savings() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4231 // @@protoc_insertion_point(field_get:operations_research.RecreateParameters.savings)
4232 return _internal_savings();
4233}
4234inline ::operations_research::SavingsParameters* PROTOBUF_NULLABLE RecreateParameters::unsafe_arena_release_savings() {
4235 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.RecreateParameters.savings)
4236 if (parameters_case() == kSavings) {
4237 clear_has_parameters();
4238 auto* temp = reinterpret_cast<::operations_research::SavingsParameters*>(_impl_.parameters_.savings_);
4239 _impl_.parameters_.savings_ = nullptr;
4240 return temp;
4241 } else {
4242 return nullptr;
4243 }
4244}
4245inline void RecreateParameters::unsafe_arena_set_allocated_savings(
4246 ::operations_research::SavingsParameters* PROTOBUF_NULLABLE value) {
4247 // We rely on the oneof clear method to free the earlier contents
4248 // of this oneof. We can directly use the pointer we're given to
4249 // set the new value.
4250 clear_parameters();
4251 if (value) {
4252 set_has_savings();
4253 _impl_.parameters_.savings_ = reinterpret_cast<::google::protobuf::Message*>(value);
4254 }
4255 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RecreateParameters.savings)
4256}
4257inline ::operations_research::SavingsParameters* PROTOBUF_NONNULL RecreateParameters::_internal_mutable_savings() {
4258 if (parameters_case() != kSavings) {
4260 set_has_savings();
4261 _impl_.parameters_.savings_ = reinterpret_cast<::google::protobuf::Message*>(
4262 ::google::protobuf::Message::DefaultConstruct<::operations_research::SavingsParameters>(GetArena()));
4263 }
4264 return reinterpret_cast<::operations_research::SavingsParameters*>(_impl_.parameters_.savings_);
4265}
4266inline ::operations_research::SavingsParameters* PROTOBUF_NONNULL RecreateParameters::mutable_savings()
4267 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4268 ::operations_research::SavingsParameters* _msg = _internal_mutable_savings();
4269 // @@protoc_insertion_point(field_mutable:operations_research.RecreateParameters.savings)
4270 return _msg;
4271}
4272
4273// .operations_research.GlobalCheapestInsertionParameters global_cheapest_insertion = 3;
4275 return parameters_case() == kGlobalCheapestInsertion;
4276}
4277inline bool RecreateParameters::_internal_has_global_cheapest_insertion() const {
4278 return parameters_case() == kGlobalCheapestInsertion;
4279}
4280inline void RecreateParameters::set_has_global_cheapest_insertion() {
4281 _impl_._oneof_case_[0] = kGlobalCheapestInsertion;
4282}
4283inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NULLABLE RecreateParameters::release_global_cheapest_insertion() {
4284 // @@protoc_insertion_point(field_release:operations_research.RecreateParameters.global_cheapest_insertion)
4285 if (parameters_case() == kGlobalCheapestInsertion) {
4286 clear_has_parameters();
4287 auto* temp = reinterpret_cast<::operations_research::GlobalCheapestInsertionParameters*>(_impl_.parameters_.global_cheapest_insertion_);
4288 if (GetArena() != nullptr) {
4289 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
4290 }
4291 _impl_.parameters_.global_cheapest_insertion_ = nullptr;
4292 return temp;
4293 } else {
4294 return nullptr;
4295 }
4296}
4297inline const ::operations_research::GlobalCheapestInsertionParameters& RecreateParameters::_internal_global_cheapest_insertion() const {
4298 return parameters_case() == kGlobalCheapestInsertion ? static_cast<const ::operations_research::GlobalCheapestInsertionParameters&>(*reinterpret_cast<::operations_research::GlobalCheapestInsertionParameters*>(_impl_.parameters_.global_cheapest_insertion_))
4300}
4301inline const ::operations_research::GlobalCheapestInsertionParameters& RecreateParameters::global_cheapest_insertion() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4302 // @@protoc_insertion_point(field_get:operations_research.RecreateParameters.global_cheapest_insertion)
4303 return _internal_global_cheapest_insertion();
4304}
4305inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NULLABLE RecreateParameters::unsafe_arena_release_global_cheapest_insertion() {
4306 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.RecreateParameters.global_cheapest_insertion)
4307 if (parameters_case() == kGlobalCheapestInsertion) {
4308 clear_has_parameters();
4309 auto* temp = reinterpret_cast<::operations_research::GlobalCheapestInsertionParameters*>(_impl_.parameters_.global_cheapest_insertion_);
4310 _impl_.parameters_.global_cheapest_insertion_ = nullptr;
4311 return temp;
4312 } else {
4313 return nullptr;
4314 }
4315}
4316inline void RecreateParameters::unsafe_arena_set_allocated_global_cheapest_insertion(
4317 ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NULLABLE value) {
4318 // We rely on the oneof clear method to free the earlier contents
4319 // of this oneof. We can directly use the pointer we're given to
4320 // set the new value.
4321 clear_parameters();
4322 if (value) {
4323 set_has_global_cheapest_insertion();
4324 _impl_.parameters_.global_cheapest_insertion_ = reinterpret_cast<::google::protobuf::Message*>(value);
4325 }
4326 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RecreateParameters.global_cheapest_insertion)
4327}
4328inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NONNULL RecreateParameters::_internal_mutable_global_cheapest_insertion() {
4329 if (parameters_case() != kGlobalCheapestInsertion) {
4331 set_has_global_cheapest_insertion();
4332 _impl_.parameters_.global_cheapest_insertion_ = reinterpret_cast<::google::protobuf::Message*>(
4333 ::google::protobuf::Message::DefaultConstruct<::operations_research::GlobalCheapestInsertionParameters>(GetArena()));
4334 }
4335 return reinterpret_cast<::operations_research::GlobalCheapestInsertionParameters*>(_impl_.parameters_.global_cheapest_insertion_);
4336}
4337inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NONNULL RecreateParameters::mutable_global_cheapest_insertion()
4338 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4339 ::operations_research::GlobalCheapestInsertionParameters* _msg = _internal_mutable_global_cheapest_insertion();
4340 // @@protoc_insertion_point(field_mutable:operations_research.RecreateParameters.global_cheapest_insertion)
4341 return _msg;
4342}
4343
4344inline bool RecreateParameters::has_parameters() const {
4345 return parameters_case() != PARAMETERS_NOT_SET;
4346}
4347inline void RecreateParameters::clear_has_parameters() {
4348 _impl_._oneof_case_[0] = PARAMETERS_NOT_SET;
4349}
4350inline RecreateParameters::ParametersCase RecreateParameters::parameters_case() const {
4351 return RecreateParameters::ParametersCase(_impl_._oneof_case_[0]);
4352}
4353// -------------------------------------------------------------------
4354
4355// RecreateStrategy
4356
4357// optional .operations_research.FirstSolutionStrategy.Value heuristic = 1;
4358inline bool RecreateStrategy::has_heuristic() const {
4359 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
4360 return value;
4361}
4363 ::google::protobuf::internal::TSanWrite(&_impl_);
4364 _impl_.heuristic_ = 0;
4365 ClearHasBit(_impl_._has_bits_[0],
4366 0x00000002U);
4367}
4368inline ::operations_research::FirstSolutionStrategy_Value RecreateStrategy::heuristic() const {
4369 // @@protoc_insertion_point(field_get:operations_research.RecreateStrategy.heuristic)
4370 return _internal_heuristic();
4371}
4372inline void RecreateStrategy::set_heuristic(::operations_research::FirstSolutionStrategy_Value value) {
4373 _internal_set_heuristic(value);
4374 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
4375 // @@protoc_insertion_point(field_set:operations_research.RecreateStrategy.heuristic)
4376}
4377inline ::operations_research::FirstSolutionStrategy_Value RecreateStrategy::_internal_heuristic() const {
4378 ::google::protobuf::internal::TSanRead(&_impl_);
4379 return static_cast<::operations_research::FirstSolutionStrategy_Value>(_impl_.heuristic_);
4380}
4381inline void RecreateStrategy::_internal_set_heuristic(::operations_research::FirstSolutionStrategy_Value value) {
4382 ::google::protobuf::internal::TSanWrite(&_impl_);
4383 _impl_.heuristic_ = value;
4385
4386// optional .operations_research.RecreateParameters parameters = 2;
4387inline bool RecreateStrategy::has_parameters() const {
4388 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
4389 PROTOBUF_ASSUME(!value || _impl_.parameters_ != nullptr);
4390 return value;
4391}
4393 ::google::protobuf::internal::TSanWrite(&_impl_);
4394 if (_impl_.parameters_ != nullptr) _impl_.parameters_->Clear();
4395 ClearHasBit(_impl_._has_bits_[0],
4396 0x00000001U);
4397}
4398inline const ::operations_research::RecreateParameters& RecreateStrategy::_internal_parameters() const {
4399 ::google::protobuf::internal::TSanRead(&_impl_);
4400 const ::operations_research::RecreateParameters* p = _impl_.parameters_;
4402}
4403inline const ::operations_research::RecreateParameters& RecreateStrategy::parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4404 // @@protoc_insertion_point(field_get:operations_research.RecreateStrategy.parameters)
4405 return _internal_parameters();
4406}
4407inline void RecreateStrategy::unsafe_arena_set_allocated_parameters(
4408 ::operations_research::RecreateParameters* PROTOBUF_NULLABLE value) {
4409 ::google::protobuf::internal::TSanWrite(&_impl_);
4410 if (GetArena() == nullptr) {
4411 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.parameters_);
4412 }
4413 _impl_.parameters_ = reinterpret_cast<::operations_research::RecreateParameters*>(value);
4414 if (value != nullptr) {
4415 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
4416 } else {
4417 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
4419 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RecreateStrategy.parameters)
4420}
4421inline ::operations_research::RecreateParameters* PROTOBUF_NULLABLE RecreateStrategy::release_parameters() {
4422 ::google::protobuf::internal::TSanWrite(&_impl_);
4423
4424 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
4425 ::operations_research::RecreateParameters* released = _impl_.parameters_;
4426 _impl_.parameters_ = nullptr;
4427 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4428 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
4429 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4430 if (GetArena() == nullptr) {
4431 delete old;
4432 }
4433 } else {
4434 if (GetArena() != nullptr) {
4435 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4436 }
4437 }
4438 return released;
4439}
4440inline ::operations_research::RecreateParameters* PROTOBUF_NULLABLE RecreateStrategy::unsafe_arena_release_parameters() {
4441 ::google::protobuf::internal::TSanWrite(&_impl_);
4442 // @@protoc_insertion_point(field_release:operations_research.RecreateStrategy.parameters)
4443
4444 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
4445 ::operations_research::RecreateParameters* temp = _impl_.parameters_;
4446 _impl_.parameters_ = nullptr;
4447 return temp;
4448}
4449inline ::operations_research::RecreateParameters* PROTOBUF_NONNULL RecreateStrategy::_internal_mutable_parameters() {
4450 ::google::protobuf::internal::TSanWrite(&_impl_);
4451 if (_impl_.parameters_ == nullptr) {
4452 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::RecreateParameters>(GetArena());
4453 _impl_.parameters_ = reinterpret_cast<::operations_research::RecreateParameters*>(p);
4454 }
4455 return _impl_.parameters_;
4456}
4457inline ::operations_research::RecreateParameters* PROTOBUF_NONNULL RecreateStrategy::mutable_parameters()
4458 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4459 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
4460 ::operations_research::RecreateParameters* _msg = _internal_mutable_parameters();
4461 // @@protoc_insertion_point(field_mutable:operations_research.RecreateStrategy.parameters)
4462 return _msg;
4463}
4464inline void RecreateStrategy::set_allocated_parameters(::operations_research::RecreateParameters* PROTOBUF_NULLABLE value) {
4465 ::google::protobuf::Arena* message_arena = GetArena();
4466 ::google::protobuf::internal::TSanWrite(&_impl_);
4467 if (message_arena == nullptr) {
4468 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.parameters_);
4469 }
4470
4471 if (value != nullptr) {
4472 ::google::protobuf::Arena* submessage_arena = value->GetArena();
4473 if (message_arena != submessage_arena) {
4474 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4475 }
4476 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
4477 } else {
4478 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
4479 }
4480
4481 _impl_.parameters_ = reinterpret_cast<::operations_research::RecreateParameters*>(value);
4482 // @@protoc_insertion_point(field_set_allocated:operations_research.RecreateStrategy.parameters)
4484
4485// -------------------------------------------------------------------
4486
4487// RuinCompositionStrategy
4488
4489// -------------------------------------------------------------------
4491// RuinRecreateParameters
4492
4493// repeated .operations_research.RuinStrategy ruin_strategies = 1;
4494inline int RuinRecreateParameters::_internal_ruin_strategies_size() const {
4495 return _internal_ruin_strategies().size();
4496}
4498 return _internal_ruin_strategies_size();
4499}
4500inline void RuinRecreateParameters::clear_ruin_strategies() {
4501 ::google::protobuf::internal::TSanWrite(&_impl_);
4502 _impl_.ruin_strategies_.Clear();
4503 ClearHasBitForRepeated(_impl_._has_bits_[0],
4504 0x00000001U);
4505}
4506inline ::operations_research::RuinStrategy* PROTOBUF_NONNULL RuinRecreateParameters::mutable_ruin_strategies(int index)
4507 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4508 // @@protoc_insertion_point(field_mutable:operations_research.RuinRecreateParameters.ruin_strategies)
4509 return _internal_mutable_ruin_strategies()->Mutable(index);
4510}
4511inline ::google::protobuf::RepeatedPtrField<::operations_research::RuinStrategy>* PROTOBUF_NONNULL RuinRecreateParameters::mutable_ruin_strategies()
4512 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4513 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
4514 // @@protoc_insertion_point(field_mutable_list:operations_research.RuinRecreateParameters.ruin_strategies)
4515 ::google::protobuf::internal::TSanWrite(&_impl_);
4516 return _internal_mutable_ruin_strategies();
4517}
4518inline const ::operations_research::RuinStrategy& RuinRecreateParameters::ruin_strategies(int index) const
4519 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4520 // @@protoc_insertion_point(field_get:operations_research.RuinRecreateParameters.ruin_strategies)
4521 return _internal_ruin_strategies().Get(index);
4522}
4523inline ::operations_research::RuinStrategy* PROTOBUF_NONNULL RuinRecreateParameters::add_ruin_strategies()
4524 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4525 ::google::protobuf::internal::TSanWrite(&_impl_);
4527 _internal_mutable_ruin_strategies()->InternalAddWithArena(
4528 ::google::protobuf::MessageLite::internal_visibility(), GetArena());
4529 SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
4530 // @@protoc_insertion_point(field_add:operations_research.RuinRecreateParameters.ruin_strategies)
4531 return _add;
4532}
4533inline const ::google::protobuf::RepeatedPtrField<::operations_research::RuinStrategy>& RuinRecreateParameters::ruin_strategies() const
4534 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4535 // @@protoc_insertion_point(field_list:operations_research.RuinRecreateParameters.ruin_strategies)
4536 return _internal_ruin_strategies();
4537}
4538inline const ::google::protobuf::RepeatedPtrField<::operations_research::RuinStrategy>&
4539RuinRecreateParameters::_internal_ruin_strategies() const {
4540 ::google::protobuf::internal::TSanRead(&_impl_);
4541 return _impl_.ruin_strategies_;
4542}
4543inline ::google::protobuf::RepeatedPtrField<::operations_research::RuinStrategy>* PROTOBUF_NONNULL
4544RuinRecreateParameters::_internal_mutable_ruin_strategies() {
4545 ::google::protobuf::internal::TSanRead(&_impl_);
4546 return &_impl_.ruin_strategies_;
4547}
4548
4549// .operations_research.RuinCompositionStrategy.Value ruin_composition_strategy = 2;
4551 ::google::protobuf::internal::TSanWrite(&_impl_);
4552 _impl_.ruin_composition_strategy_ = 0;
4553 ClearHasBit(_impl_._has_bits_[0],
4554 0x00000004U);
4555}
4556inline ::operations_research::RuinCompositionStrategy_Value RuinRecreateParameters::ruin_composition_strategy() const {
4557 // @@protoc_insertion_point(field_get:operations_research.RuinRecreateParameters.ruin_composition_strategy)
4558 return _internal_ruin_composition_strategy();
4559}
4560inline void RuinRecreateParameters::set_ruin_composition_strategy(::operations_research::RuinCompositionStrategy_Value value) {
4561 _internal_set_ruin_composition_strategy(value);
4562 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
4563 // @@protoc_insertion_point(field_set:operations_research.RuinRecreateParameters.ruin_composition_strategy)
4564}
4565inline ::operations_research::RuinCompositionStrategy_Value RuinRecreateParameters::_internal_ruin_composition_strategy() const {
4566 ::google::protobuf::internal::TSanRead(&_impl_);
4567 return static_cast<::operations_research::RuinCompositionStrategy_Value>(_impl_.ruin_composition_strategy_);
4568}
4569inline void RuinRecreateParameters::_internal_set_ruin_composition_strategy(::operations_research::RuinCompositionStrategy_Value value) {
4570 ::google::protobuf::internal::TSanWrite(&_impl_);
4571 _impl_.ruin_composition_strategy_ = value;
4572}
4573
4574// .operations_research.RecreateStrategy recreate_strategy = 3;
4575inline bool RuinRecreateParameters::has_recreate_strategy() const {
4576 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
4577 PROTOBUF_ASSUME(!value || _impl_.recreate_strategy_ != nullptr);
4578 return value;
4579}
4581 ::google::protobuf::internal::TSanWrite(&_impl_);
4582 if (_impl_.recreate_strategy_ != nullptr) _impl_.recreate_strategy_->Clear();
4583 ClearHasBit(_impl_._has_bits_[0],
4584 0x00000002U);
4585}
4586inline const ::operations_research::RecreateStrategy& RuinRecreateParameters::_internal_recreate_strategy() const {
4587 ::google::protobuf::internal::TSanRead(&_impl_);
4588 const ::operations_research::RecreateStrategy* p = _impl_.recreate_strategy_;
4590}
4591inline const ::operations_research::RecreateStrategy& RuinRecreateParameters::recreate_strategy() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4592 // @@protoc_insertion_point(field_get:operations_research.RuinRecreateParameters.recreate_strategy)
4593 return _internal_recreate_strategy();
4594}
4595inline void RuinRecreateParameters::unsafe_arena_set_allocated_recreate_strategy(
4596 ::operations_research::RecreateStrategy* PROTOBUF_NULLABLE value) {
4597 ::google::protobuf::internal::TSanWrite(&_impl_);
4598 if (GetArena() == nullptr) {
4599 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.recreate_strategy_);
4600 }
4601 _impl_.recreate_strategy_ = reinterpret_cast<::operations_research::RecreateStrategy*>(value);
4602 if (value != nullptr) {
4603 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
4604 } else {
4605 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
4606 }
4607 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.RuinRecreateParameters.recreate_strategy)
4609inline ::operations_research::RecreateStrategy* PROTOBUF_NULLABLE RuinRecreateParameters::release_recreate_strategy() {
4610 ::google::protobuf::internal::TSanWrite(&_impl_);
4611
4612 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
4613 ::operations_research::RecreateStrategy* released = _impl_.recreate_strategy_;
4614 _impl_.recreate_strategy_ = nullptr;
4615 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
4616 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
4617 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4618 if (GetArena() == nullptr) {
4619 delete old;
4620 }
4621 } else {
4622 if (GetArena() != nullptr) {
4623 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
4624 }
4625 }
4626 return released;
4627}
4628inline ::operations_research::RecreateStrategy* PROTOBUF_NULLABLE RuinRecreateParameters::unsafe_arena_release_recreate_strategy() {
4629 ::google::protobuf::internal::TSanWrite(&_impl_);
4630 // @@protoc_insertion_point(field_release:operations_research.RuinRecreateParameters.recreate_strategy)
4631
4632 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
4633 ::operations_research::RecreateStrategy* temp = _impl_.recreate_strategy_;
4634 _impl_.recreate_strategy_ = nullptr;
4635 return temp;
4636}
4637inline ::operations_research::RecreateStrategy* PROTOBUF_NONNULL RuinRecreateParameters::_internal_mutable_recreate_strategy() {
4638 ::google::protobuf::internal::TSanWrite(&_impl_);
4639 if (_impl_.recreate_strategy_ == nullptr) {
4640 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::RecreateStrategy>(GetArena());
4641 _impl_.recreate_strategy_ = reinterpret_cast<::operations_research::RecreateStrategy*>(p);
4642 }
4643 return _impl_.recreate_strategy_;
4644}
4645inline ::operations_research::RecreateStrategy* PROTOBUF_NONNULL RuinRecreateParameters::mutable_recreate_strategy()
4646 ABSL_ATTRIBUTE_LIFETIME_BOUND {
4647 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
4648 ::operations_research::RecreateStrategy* _msg = _internal_mutable_recreate_strategy();
4649 // @@protoc_insertion_point(field_mutable:operations_research.RuinRecreateParameters.recreate_strategy)
4650 return _msg;
4651}
4652inline void RuinRecreateParameters::set_allocated_recreate_strategy(::operations_research::RecreateStrategy* PROTOBUF_NULLABLE value) {
4653 ::google::protobuf::Arena* message_arena = GetArena();
4654 ::google::protobuf::internal::TSanWrite(&_impl_);
4655 if (message_arena == nullptr) {
4656 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.recreate_strategy_);
4657 }
4658
4659 if (value != nullptr) {
4660 ::google::protobuf::Arena* submessage_arena = value->GetArena();
4661 if (message_arena != submessage_arena) {
4662 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
4663 }
4664 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
4665 } else {
4666 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
4667 }
4668
4669 _impl_.recreate_strategy_ = reinterpret_cast<::operations_research::RecreateStrategy*>(value);
4670 // @@protoc_insertion_point(field_set_allocated:operations_research.RuinRecreateParameters.recreate_strategy)
4671}
4672
4673// optional double route_selection_neighbors_ratio = 4;
4675 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
4676 return value;
4677}
4679 ::google::protobuf::internal::TSanWrite(&_impl_);
4680 _impl_.route_selection_neighbors_ratio_ = 0;
4681 ClearHasBit(_impl_._has_bits_[0],
4682 0x00000010U);
4683}
4685 // @@protoc_insertion_point(field_get:operations_research.RuinRecreateParameters.route_selection_neighbors_ratio)
4686 return _internal_route_selection_neighbors_ratio();
4687}
4688inline void RuinRecreateParameters::set_route_selection_neighbors_ratio(double value) {
4689 _internal_set_route_selection_neighbors_ratio(value);
4690 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
4691 // @@protoc_insertion_point(field_set:operations_research.RuinRecreateParameters.route_selection_neighbors_ratio)
4692}
4693inline double RuinRecreateParameters::_internal_route_selection_neighbors_ratio() const {
4694 ::google::protobuf::internal::TSanRead(&_impl_);
4695 return _impl_.route_selection_neighbors_ratio_;
4696}
4697inline void RuinRecreateParameters::_internal_set_route_selection_neighbors_ratio(double value) {
4698 ::google::protobuf::internal::TSanWrite(&_impl_);
4699 _impl_.route_selection_neighbors_ratio_ = value;
4700}
4701
4702// optional uint32 route_selection_min_neighbors = 5;
4704 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
4705 return value;
4708 ::google::protobuf::internal::TSanWrite(&_impl_);
4709 _impl_.route_selection_min_neighbors_ = 0u;
4710 ClearHasBit(_impl_._has_bits_[0],
4711 0x00000008U);
4714 // @@protoc_insertion_point(field_get:operations_research.RuinRecreateParameters.route_selection_min_neighbors)
4715 return _internal_route_selection_min_neighbors();
4718 _internal_set_route_selection_min_neighbors(value);
4719 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
4720 // @@protoc_insertion_point(field_set:operations_research.RuinRecreateParameters.route_selection_min_neighbors)
4721}
4722inline ::uint32_t RuinRecreateParameters::_internal_route_selection_min_neighbors() const {
4723 ::google::protobuf::internal::TSanRead(&_impl_);
4724 return _impl_.route_selection_min_neighbors_;
4725}
4726inline void RuinRecreateParameters::_internal_set_route_selection_min_neighbors(::uint32_t value) {
4727 ::google::protobuf::internal::TSanWrite(&_impl_);
4728 _impl_.route_selection_min_neighbors_ = value;
4729}
4730
4731// optional uint32 route_selection_max_neighbors = 6;
4733 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
4734 return value;
4737 ::google::protobuf::internal::TSanWrite(&_impl_);
4738 _impl_.route_selection_max_neighbors_ = 0u;
4739 ClearHasBit(_impl_._has_bits_[0],
4740 0x00000020U);
4743 // @@protoc_insertion_point(field_get:operations_research.RuinRecreateParameters.route_selection_max_neighbors)
4744 return _internal_route_selection_max_neighbors();
4747 _internal_set_route_selection_max_neighbors(value);
4748 SetHasBit(_impl_._has_bits_[0], 0x00000020U);
4749 // @@protoc_insertion_point(field_set:operations_research.RuinRecreateParameters.route_selection_max_neighbors)
4750}
4751inline ::uint32_t RuinRecreateParameters::_internal_route_selection_max_neighbors() const {
4752 ::google::protobuf::internal::TSanRead(&_impl_);
4753 return _impl_.route_selection_max_neighbors_;
4754}
4755inline void RuinRecreateParameters::_internal_set_route_selection_max_neighbors(::uint32_t value) {
4756 ::google::protobuf::internal::TSanWrite(&_impl_);
4757 _impl_.route_selection_max_neighbors_ = value;
4758}
4759
4760// -------------------------------------------------------------------
4761
4762// PerturbationStrategy
4763
4764// -------------------------------------------------------------------
4765
4766// CoolingScheduleStrategy
4767
4768// -------------------------------------------------------------------
4769
4770// GreedyDescentAcceptanceStrategy
4771
4772// -------------------------------------------------------------------
4773
4774// SimulatedAnnealingAcceptanceStrategy
4775
4776// .operations_research.CoolingScheduleStrategy.Value cooling_schedule_strategy = 1;
4778 ::google::protobuf::internal::TSanWrite(&_impl_);
4779 _impl_.cooling_schedule_strategy_ = 0;
4780 ClearHasBit(_impl_._has_bits_[0],
4781 0x00000002U);
4782}
4783inline ::operations_research::CoolingScheduleStrategy_Value SimulatedAnnealingAcceptanceStrategy::cooling_schedule_strategy() const {
4784 // @@protoc_insertion_point(field_get:operations_research.SimulatedAnnealingAcceptanceStrategy.cooling_schedule_strategy)
4785 return _internal_cooling_schedule_strategy();
4786}
4787inline void SimulatedAnnealingAcceptanceStrategy::set_cooling_schedule_strategy(::operations_research::CoolingScheduleStrategy_Value value) {
4788 _internal_set_cooling_schedule_strategy(value);
4789 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
4790 // @@protoc_insertion_point(field_set:operations_research.SimulatedAnnealingAcceptanceStrategy.cooling_schedule_strategy)
4791}
4792inline ::operations_research::CoolingScheduleStrategy_Value SimulatedAnnealingAcceptanceStrategy::_internal_cooling_schedule_strategy() const {
4793 ::google::protobuf::internal::TSanRead(&_impl_);
4794 return static_cast<::operations_research::CoolingScheduleStrategy_Value>(_impl_.cooling_schedule_strategy_);
4795}
4796inline void SimulatedAnnealingAcceptanceStrategy::_internal_set_cooling_schedule_strategy(::operations_research::CoolingScheduleStrategy_Value value) {
4797 ::google::protobuf::internal::TSanWrite(&_impl_);
4798 _impl_.cooling_schedule_strategy_ = value;
4799}
4800
4801// optional double initial_temperature = 2;
4802inline bool SimulatedAnnealingAcceptanceStrategy::has_initial_temperature() const {
4803 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
4804 return value;
4805}
4806inline void SimulatedAnnealingAcceptanceStrategy::clear_initial_temperature() {
4807 ::google::protobuf::internal::TSanWrite(&_impl_);
4808 _impl_.initial_temperature_ = 0;
4809 ClearHasBit(_impl_._has_bits_[0],
4810 0x00000001U);
4811}
4813 // @@protoc_insertion_point(field_get:operations_research.SimulatedAnnealingAcceptanceStrategy.initial_temperature)
4814 return _internal_initial_temperature();
4817 _internal_set_initial_temperature(value);
4818 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
4819 // @@protoc_insertion_point(field_set:operations_research.SimulatedAnnealingAcceptanceStrategy.initial_temperature)
4820}
4821inline double SimulatedAnnealingAcceptanceStrategy::_internal_initial_temperature() const {
4822 ::google::protobuf::internal::TSanRead(&_impl_);
4823 return _impl_.initial_temperature_;
4824}
4825inline void SimulatedAnnealingAcceptanceStrategy::_internal_set_initial_temperature(double value) {
4826 ::google::protobuf::internal::TSanWrite(&_impl_);
4827 _impl_.initial_temperature_ = value;
4828}
4829
4830// optional double final_temperature = 3;
4831inline bool SimulatedAnnealingAcceptanceStrategy::has_final_temperature() const {
4832 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
4833 return value;
4836 ::google::protobuf::internal::TSanWrite(&_impl_);
4837 _impl_.final_temperature_ = 0;
4838 ClearHasBit(_impl_._has_bits_[0],
4839 0x00000008U);
4840}
4842 // @@protoc_insertion_point(field_get:operations_research.SimulatedAnnealingAcceptanceStrategy.final_temperature)
4843 return _internal_final_temperature();
4846 _internal_set_final_temperature(value);
4847 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
4848 // @@protoc_insertion_point(field_set:operations_research.SimulatedAnnealingAcceptanceStrategy.final_temperature)
4849}
4850inline double SimulatedAnnealingAcceptanceStrategy::_internal_final_temperature() const {
4851 ::google::protobuf::internal::TSanRead(&_impl_);
4852 return _impl_.final_temperature_;
4853}
4854inline void SimulatedAnnealingAcceptanceStrategy::_internal_set_final_temperature(double value) {
4855 ::google::protobuf::internal::TSanWrite(&_impl_);
4856 _impl_.final_temperature_ = value;
4857}
4858
4859// optional bool automatic_temperatures = 4;
4860inline bool SimulatedAnnealingAcceptanceStrategy::has_automatic_temperatures() const {
4861 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
4862 return value;
4865 ::google::protobuf::internal::TSanWrite(&_impl_);
4866 _impl_.automatic_temperatures_ = false;
4867 ClearHasBit(_impl_._has_bits_[0],
4868 0x00000004U);
4869}
4871 // @@protoc_insertion_point(field_get:operations_research.SimulatedAnnealingAcceptanceStrategy.automatic_temperatures)
4872 return _internal_automatic_temperatures();
4875 _internal_set_automatic_temperatures(value);
4876 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
4877 // @@protoc_insertion_point(field_set:operations_research.SimulatedAnnealingAcceptanceStrategy.automatic_temperatures)
4878}
4879inline bool SimulatedAnnealingAcceptanceStrategy::_internal_automatic_temperatures() const {
4880 ::google::protobuf::internal::TSanRead(&_impl_);
4881 return _impl_.automatic_temperatures_;
4882}
4883inline void SimulatedAnnealingAcceptanceStrategy::_internal_set_automatic_temperatures(bool value) {
4884 ::google::protobuf::internal::TSanWrite(&_impl_);
4885 _impl_.automatic_temperatures_ = value;
4886}
4887
4888// -------------------------------------------------------------------
4889
4890// AllNodesPerformedAcceptanceStrategy
4891
4892// -------------------------------------------------------------------
4893
4894// MoreNodesPerformedAcceptanceStrategy
4895
4896// -------------------------------------------------------------------
4897
4898// AbsencesBasedAcceptanceStrategy
4899
4900// optional bool remove_route_with_lowest_absences = 1;
4902 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
4903 return value;
4904}
4906 ::google::protobuf::internal::TSanWrite(&_impl_);
4907 _impl_.remove_route_with_lowest_absences_ = false;
4908 ClearHasBit(_impl_._has_bits_[0],
4909 0x00000001U);
4910}
4912 // @@protoc_insertion_point(field_get:operations_research.AbsencesBasedAcceptanceStrategy.remove_route_with_lowest_absences)
4913 return _internal_remove_route_with_lowest_absences();
4914}
4915inline void AbsencesBasedAcceptanceStrategy::set_remove_route_with_lowest_absences(bool value) {
4916 _internal_set_remove_route_with_lowest_absences(value);
4917 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
4918 // @@protoc_insertion_point(field_set:operations_research.AbsencesBasedAcceptanceStrategy.remove_route_with_lowest_absences)
4919}
4920inline bool AbsencesBasedAcceptanceStrategy::_internal_remove_route_with_lowest_absences() const {
4921 ::google::protobuf::internal::TSanRead(&_impl_);
4922 return _impl_.remove_route_with_lowest_absences_;
4923}
4924inline void AbsencesBasedAcceptanceStrategy::_internal_set_remove_route_with_lowest_absences(bool value) {
4925 ::google::protobuf::internal::TSanWrite(&_impl_);
4926 _impl_.remove_route_with_lowest_absences_ = value;
4927}
4928
4929// -------------------------------------------------------------------
4930
4931// AcceptanceStrategy
4932
4933// .operations_research.GreedyDescentAcceptanceStrategy greedy_descent = 1;
4934inline bool AcceptanceStrategy::has_greedy_descent() const {
4935 return strategy_case() == kGreedyDescent;
4937inline bool AcceptanceStrategy::_internal_has_greedy_descent() const {
4938 return strategy_case() == kGreedyDescent;
4939}
4940inline void AcceptanceStrategy::set_has_greedy_descent() {
4941 _impl_._oneof_case_[0] = kGreedyDescent;
4942}
4944 ::google::protobuf::internal::TSanWrite(&_impl_);
4945 if (strategy_case() == kGreedyDescent) {
4946 if (GetArena() == nullptr) {
4947 delete _impl_.strategy_.greedy_descent_;
4948 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
4949 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.greedy_descent_);
4951 clear_has_strategy();
4952 }
4953}
4954inline ::operations_research::GreedyDescentAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::release_greedy_descent() {
4955 // @@protoc_insertion_point(field_release:operations_research.AcceptanceStrategy.greedy_descent)
4956 if (strategy_case() == kGreedyDescent) {
4957 clear_has_strategy();
4958 auto* temp = reinterpret_cast<::operations_research::GreedyDescentAcceptanceStrategy*>(_impl_.strategy_.greedy_descent_);
4959 if (GetArena() != nullptr) {
4960 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
4961 }
4962 _impl_.strategy_.greedy_descent_ = nullptr;
4963 return temp;
4964 } else {
4965 return nullptr;
4966 }
4967}
4968inline const ::operations_research::GreedyDescentAcceptanceStrategy& AcceptanceStrategy::_internal_greedy_descent() const {
4969 return strategy_case() == kGreedyDescent ? static_cast<const ::operations_research::GreedyDescentAcceptanceStrategy&>(*reinterpret_cast<::operations_research::GreedyDescentAcceptanceStrategy*>(_impl_.strategy_.greedy_descent_))
4971}
4972inline const ::operations_research::GreedyDescentAcceptanceStrategy& AcceptanceStrategy::greedy_descent() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4973 // @@protoc_insertion_point(field_get:operations_research.AcceptanceStrategy.greedy_descent)
4974 return _internal_greedy_descent();
4975}
4976inline ::operations_research::GreedyDescentAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::unsafe_arena_release_greedy_descent() {
4977 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.AcceptanceStrategy.greedy_descent)
4978 if (strategy_case() == kGreedyDescent) {
4979 clear_has_strategy();
4980 auto* temp = reinterpret_cast<::operations_research::GreedyDescentAcceptanceStrategy*>(_impl_.strategy_.greedy_descent_);
4981 _impl_.strategy_.greedy_descent_ = nullptr;
4982 return temp;
4983 } else {
4984 return nullptr;
4985 }
4986}
4987inline void AcceptanceStrategy::unsafe_arena_set_allocated_greedy_descent(
4988 ::operations_research::GreedyDescentAcceptanceStrategy* PROTOBUF_NULLABLE value) {
4989 // We rely on the oneof clear method to free the earlier contents
4990 // of this oneof. We can directly use the pointer we're given to
4991 // set the new value.
4993 if (value) {
4994 set_has_greedy_descent();
4995 _impl_.strategy_.greedy_descent_ = reinterpret_cast<::google::protobuf::Message*>(value);
4996 }
4997 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.AcceptanceStrategy.greedy_descent)
4998}
4999inline ::operations_research::GreedyDescentAcceptanceStrategy* PROTOBUF_NONNULL AcceptanceStrategy::_internal_mutable_greedy_descent() {
5000 if (strategy_case() != kGreedyDescent) {
5001 clear_strategy();
5002 set_has_greedy_descent();
5003 _impl_.strategy_.greedy_descent_ = reinterpret_cast<::google::protobuf::Message*>(
5004 ::google::protobuf::Message::DefaultConstruct<::operations_research::GreedyDescentAcceptanceStrategy>(GetArena()));
5005 }
5006 return reinterpret_cast<::operations_research::GreedyDescentAcceptanceStrategy*>(_impl_.strategy_.greedy_descent_);
5007}
5008inline ::operations_research::GreedyDescentAcceptanceStrategy* PROTOBUF_NONNULL AcceptanceStrategy::mutable_greedy_descent()
5009 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5010 ::operations_research::GreedyDescentAcceptanceStrategy* _msg = _internal_mutable_greedy_descent();
5011 // @@protoc_insertion_point(field_mutable:operations_research.AcceptanceStrategy.greedy_descent)
5012 return _msg;
5013}
5014
5015// .operations_research.SimulatedAnnealingAcceptanceStrategy simulated_annealing = 2;
5017 return strategy_case() == kSimulatedAnnealing;
5018}
5019inline bool AcceptanceStrategy::_internal_has_simulated_annealing() const {
5020 return strategy_case() == kSimulatedAnnealing;
5021}
5022inline void AcceptanceStrategy::set_has_simulated_annealing() {
5023 _impl_._oneof_case_[0] = kSimulatedAnnealing;
5024}
5026 ::google::protobuf::internal::TSanWrite(&_impl_);
5027 if (strategy_case() == kSimulatedAnnealing) {
5028 if (GetArena() == nullptr) {
5029 delete _impl_.strategy_.simulated_annealing_;
5030 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
5031 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.simulated_annealing_);
5032 }
5033 clear_has_strategy();
5034 }
5035}
5036inline ::operations_research::SimulatedAnnealingAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::release_simulated_annealing() {
5037 // @@protoc_insertion_point(field_release:operations_research.AcceptanceStrategy.simulated_annealing)
5038 if (strategy_case() == kSimulatedAnnealing) {
5039 clear_has_strategy();
5040 auto* temp = reinterpret_cast<::operations_research::SimulatedAnnealingAcceptanceStrategy*>(_impl_.strategy_.simulated_annealing_);
5041 if (GetArena() != nullptr) {
5042 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
5043 }
5044 _impl_.strategy_.simulated_annealing_ = nullptr;
5045 return temp;
5046 } else {
5047 return nullptr;
5048 }
5049}
5050inline const ::operations_research::SimulatedAnnealingAcceptanceStrategy& AcceptanceStrategy::_internal_simulated_annealing() const {
5051 return strategy_case() == kSimulatedAnnealing ? static_cast<const ::operations_research::SimulatedAnnealingAcceptanceStrategy&>(*reinterpret_cast<::operations_research::SimulatedAnnealingAcceptanceStrategy*>(_impl_.strategy_.simulated_annealing_))
5053}
5054inline const ::operations_research::SimulatedAnnealingAcceptanceStrategy& AcceptanceStrategy::simulated_annealing() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5055 // @@protoc_insertion_point(field_get:operations_research.AcceptanceStrategy.simulated_annealing)
5056 return _internal_simulated_annealing();
5057}
5058inline ::operations_research::SimulatedAnnealingAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::unsafe_arena_release_simulated_annealing() {
5059 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.AcceptanceStrategy.simulated_annealing)
5060 if (strategy_case() == kSimulatedAnnealing) {
5061 clear_has_strategy();
5062 auto* temp = reinterpret_cast<::operations_research::SimulatedAnnealingAcceptanceStrategy*>(_impl_.strategy_.simulated_annealing_);
5063 _impl_.strategy_.simulated_annealing_ = nullptr;
5064 return temp;
5065 } else {
5066 return nullptr;
5067 }
5068}
5069inline void AcceptanceStrategy::unsafe_arena_set_allocated_simulated_annealing(
5070 ::operations_research::SimulatedAnnealingAcceptanceStrategy* PROTOBUF_NULLABLE value) {
5071 // We rely on the oneof clear method to free the earlier contents
5072 // of this oneof. We can directly use the pointer we're given to
5073 // set the new value.
5075 if (value) {
5076 set_has_simulated_annealing();
5077 _impl_.strategy_.simulated_annealing_ = reinterpret_cast<::google::protobuf::Message*>(value);
5078 }
5079 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.AcceptanceStrategy.simulated_annealing)
5080}
5081inline ::operations_research::SimulatedAnnealingAcceptanceStrategy* PROTOBUF_NONNULL AcceptanceStrategy::_internal_mutable_simulated_annealing() {
5082 if (strategy_case() != kSimulatedAnnealing) {
5083 clear_strategy();
5084 set_has_simulated_annealing();
5085 _impl_.strategy_.simulated_annealing_ = reinterpret_cast<::google::protobuf::Message*>(
5086 ::google::protobuf::Message::DefaultConstruct<::operations_research::SimulatedAnnealingAcceptanceStrategy>(GetArena()));
5087 }
5088 return reinterpret_cast<::operations_research::SimulatedAnnealingAcceptanceStrategy*>(_impl_.strategy_.simulated_annealing_);
5089}
5090inline ::operations_research::SimulatedAnnealingAcceptanceStrategy* PROTOBUF_NONNULL AcceptanceStrategy::mutable_simulated_annealing()
5091 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5092 ::operations_research::SimulatedAnnealingAcceptanceStrategy* _msg = _internal_mutable_simulated_annealing();
5093 // @@protoc_insertion_point(field_mutable:operations_research.AcceptanceStrategy.simulated_annealing)
5094 return _msg;
5095}
5096
5097// .operations_research.AllNodesPerformedAcceptanceStrategy all_nodes_performed = 3;
5099 return strategy_case() == kAllNodesPerformed;
5100}
5101inline bool AcceptanceStrategy::_internal_has_all_nodes_performed() const {
5102 return strategy_case() == kAllNodesPerformed;
5103}
5104inline void AcceptanceStrategy::set_has_all_nodes_performed() {
5105 _impl_._oneof_case_[0] = kAllNodesPerformed;
5106}
5108 ::google::protobuf::internal::TSanWrite(&_impl_);
5109 if (strategy_case() == kAllNodesPerformed) {
5110 if (GetArena() == nullptr) {
5111 delete _impl_.strategy_.all_nodes_performed_;
5112 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
5113 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.all_nodes_performed_);
5114 }
5115 clear_has_strategy();
5116 }
5117}
5118inline ::operations_research::AllNodesPerformedAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::release_all_nodes_performed() {
5119 // @@protoc_insertion_point(field_release:operations_research.AcceptanceStrategy.all_nodes_performed)
5120 if (strategy_case() == kAllNodesPerformed) {
5121 clear_has_strategy();
5122 auto* temp = reinterpret_cast<::operations_research::AllNodesPerformedAcceptanceStrategy*>(_impl_.strategy_.all_nodes_performed_);
5123 if (GetArena() != nullptr) {
5124 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
5125 }
5126 _impl_.strategy_.all_nodes_performed_ = nullptr;
5127 return temp;
5128 } else {
5129 return nullptr;
5130 }
5131}
5132inline const ::operations_research::AllNodesPerformedAcceptanceStrategy& AcceptanceStrategy::_internal_all_nodes_performed() const {
5133 return strategy_case() == kAllNodesPerformed ? static_cast<const ::operations_research::AllNodesPerformedAcceptanceStrategy&>(*reinterpret_cast<::operations_research::AllNodesPerformedAcceptanceStrategy*>(_impl_.strategy_.all_nodes_performed_))
5135}
5136inline const ::operations_research::AllNodesPerformedAcceptanceStrategy& AcceptanceStrategy::all_nodes_performed() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5137 // @@protoc_insertion_point(field_get:operations_research.AcceptanceStrategy.all_nodes_performed)
5138 return _internal_all_nodes_performed();
5139}
5140inline ::operations_research::AllNodesPerformedAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::unsafe_arena_release_all_nodes_performed() {
5141 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.AcceptanceStrategy.all_nodes_performed)
5142 if (strategy_case() == kAllNodesPerformed) {
5143 clear_has_strategy();
5144 auto* temp = reinterpret_cast<::operations_research::AllNodesPerformedAcceptanceStrategy*>(_impl_.strategy_.all_nodes_performed_);
5145 _impl_.strategy_.all_nodes_performed_ = nullptr;
5146 return temp;
5147 } else {
5148 return nullptr;
5149 }
5150}
5151inline void AcceptanceStrategy::unsafe_arena_set_allocated_all_nodes_performed(
5152 ::operations_research::AllNodesPerformedAcceptanceStrategy* PROTOBUF_NULLABLE value) {
5153 // We rely on the oneof clear method to free the earlier contents
5154 // of this oneof. We can directly use the pointer we're given to
5155 // set the new value.
5157 if (value) {
5158 set_has_all_nodes_performed();
5159 _impl_.strategy_.all_nodes_performed_ = reinterpret_cast<::google::protobuf::Message*>(value);
5160 }
5161 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.AcceptanceStrategy.all_nodes_performed)
5162}
5163inline ::operations_research::AllNodesPerformedAcceptanceStrategy* PROTOBUF_NONNULL AcceptanceStrategy::_internal_mutable_all_nodes_performed() {
5164 if (strategy_case() != kAllNodesPerformed) {
5165 clear_strategy();
5166 set_has_all_nodes_performed();
5167 _impl_.strategy_.all_nodes_performed_ = reinterpret_cast<::google::protobuf::Message*>(
5168 ::google::protobuf::Message::DefaultConstruct<::operations_research::AllNodesPerformedAcceptanceStrategy>(GetArena()));
5169 }
5170 return reinterpret_cast<::operations_research::AllNodesPerformedAcceptanceStrategy*>(_impl_.strategy_.all_nodes_performed_);
5171}
5172inline ::operations_research::AllNodesPerformedAcceptanceStrategy* PROTOBUF_NONNULL AcceptanceStrategy::mutable_all_nodes_performed()
5173 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5174 ::operations_research::AllNodesPerformedAcceptanceStrategy* _msg = _internal_mutable_all_nodes_performed();
5175 // @@protoc_insertion_point(field_mutable:operations_research.AcceptanceStrategy.all_nodes_performed)
5176 return _msg;
5177}
5178
5179// .operations_research.MoreNodesPerformedAcceptanceStrategy more_nodes_performed = 4;
5181 return strategy_case() == kMoreNodesPerformed;
5182}
5183inline bool AcceptanceStrategy::_internal_has_more_nodes_performed() const {
5184 return strategy_case() == kMoreNodesPerformed;
5185}
5186inline void AcceptanceStrategy::set_has_more_nodes_performed() {
5187 _impl_._oneof_case_[0] = kMoreNodesPerformed;
5188}
5190 ::google::protobuf::internal::TSanWrite(&_impl_);
5191 if (strategy_case() == kMoreNodesPerformed) {
5192 if (GetArena() == nullptr) {
5193 delete _impl_.strategy_.more_nodes_performed_;
5194 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
5195 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.more_nodes_performed_);
5196 }
5197 clear_has_strategy();
5198 }
5199}
5200inline ::operations_research::MoreNodesPerformedAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::release_more_nodes_performed() {
5201 // @@protoc_insertion_point(field_release:operations_research.AcceptanceStrategy.more_nodes_performed)
5202 if (strategy_case() == kMoreNodesPerformed) {
5203 clear_has_strategy();
5204 auto* temp = reinterpret_cast<::operations_research::MoreNodesPerformedAcceptanceStrategy*>(_impl_.strategy_.more_nodes_performed_);
5205 if (GetArena() != nullptr) {
5206 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
5207 }
5208 _impl_.strategy_.more_nodes_performed_ = nullptr;
5209 return temp;
5210 } else {
5211 return nullptr;
5212 }
5213}
5214inline const ::operations_research::MoreNodesPerformedAcceptanceStrategy& AcceptanceStrategy::_internal_more_nodes_performed() const {
5215 return strategy_case() == kMoreNodesPerformed ? static_cast<const ::operations_research::MoreNodesPerformedAcceptanceStrategy&>(*reinterpret_cast<::operations_research::MoreNodesPerformedAcceptanceStrategy*>(_impl_.strategy_.more_nodes_performed_))
5217}
5218inline const ::operations_research::MoreNodesPerformedAcceptanceStrategy& AcceptanceStrategy::more_nodes_performed() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5219 // @@protoc_insertion_point(field_get:operations_research.AcceptanceStrategy.more_nodes_performed)
5220 return _internal_more_nodes_performed();
5221}
5222inline ::operations_research::MoreNodesPerformedAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::unsafe_arena_release_more_nodes_performed() {
5223 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.AcceptanceStrategy.more_nodes_performed)
5224 if (strategy_case() == kMoreNodesPerformed) {
5225 clear_has_strategy();
5226 auto* temp = reinterpret_cast<::operations_research::MoreNodesPerformedAcceptanceStrategy*>(_impl_.strategy_.more_nodes_performed_);
5227 _impl_.strategy_.more_nodes_performed_ = nullptr;
5228 return temp;
5229 } else {
5230 return nullptr;
5231 }
5232}
5233inline void AcceptanceStrategy::unsafe_arena_set_allocated_more_nodes_performed(
5234 ::operations_research::MoreNodesPerformedAcceptanceStrategy* PROTOBUF_NULLABLE value) {
5235 // We rely on the oneof clear method to free the earlier contents
5236 // of this oneof. We can directly use the pointer we're given to
5237 // set the new value.
5239 if (value) {
5240 set_has_more_nodes_performed();
5241 _impl_.strategy_.more_nodes_performed_ = reinterpret_cast<::google::protobuf::Message*>(value);
5242 }
5243 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.AcceptanceStrategy.more_nodes_performed)
5244}
5245inline ::operations_research::MoreNodesPerformedAcceptanceStrategy* PROTOBUF_NONNULL AcceptanceStrategy::_internal_mutable_more_nodes_performed() {
5246 if (strategy_case() != kMoreNodesPerformed) {
5247 clear_strategy();
5248 set_has_more_nodes_performed();
5249 _impl_.strategy_.more_nodes_performed_ = reinterpret_cast<::google::protobuf::Message*>(
5250 ::google::protobuf::Message::DefaultConstruct<::operations_research::MoreNodesPerformedAcceptanceStrategy>(GetArena()));
5251 }
5252 return reinterpret_cast<::operations_research::MoreNodesPerformedAcceptanceStrategy*>(_impl_.strategy_.more_nodes_performed_);
5253}
5254inline ::operations_research::MoreNodesPerformedAcceptanceStrategy* PROTOBUF_NONNULL AcceptanceStrategy::mutable_more_nodes_performed()
5255 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5256 ::operations_research::MoreNodesPerformedAcceptanceStrategy* _msg = _internal_mutable_more_nodes_performed();
5257 // @@protoc_insertion_point(field_mutable:operations_research.AcceptanceStrategy.more_nodes_performed)
5258 return _msg;
5259}
5260
5261// .operations_research.AbsencesBasedAcceptanceStrategy absences_based = 5;
5262inline bool AcceptanceStrategy::has_absences_based() const {
5263 return strategy_case() == kAbsencesBased;
5264}
5265inline bool AcceptanceStrategy::_internal_has_absences_based() const {
5266 return strategy_case() == kAbsencesBased;
5267}
5268inline void AcceptanceStrategy::set_has_absences_based() {
5269 _impl_._oneof_case_[0] = kAbsencesBased;
5270}
5272 ::google::protobuf::internal::TSanWrite(&_impl_);
5273 if (strategy_case() == kAbsencesBased) {
5274 if (GetArena() == nullptr) {
5275 delete _impl_.strategy_.absences_based_;
5276 } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
5277 ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.strategy_.absences_based_);
5278 }
5279 clear_has_strategy();
5280 }
5281}
5282inline ::operations_research::AbsencesBasedAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::release_absences_based() {
5283 // @@protoc_insertion_point(field_release:operations_research.AcceptanceStrategy.absences_based)
5284 if (strategy_case() == kAbsencesBased) {
5285 clear_has_strategy();
5286 auto* temp = reinterpret_cast<::operations_research::AbsencesBasedAcceptanceStrategy*>(_impl_.strategy_.absences_based_);
5287 if (GetArena() != nullptr) {
5288 temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
5289 }
5290 _impl_.strategy_.absences_based_ = nullptr;
5291 return temp;
5292 } else {
5293 return nullptr;
5294 }
5295}
5296inline const ::operations_research::AbsencesBasedAcceptanceStrategy& AcceptanceStrategy::_internal_absences_based() const {
5297 return strategy_case() == kAbsencesBased ? static_cast<const ::operations_research::AbsencesBasedAcceptanceStrategy&>(*reinterpret_cast<::operations_research::AbsencesBasedAcceptanceStrategy*>(_impl_.strategy_.absences_based_))
5299}
5300inline const ::operations_research::AbsencesBasedAcceptanceStrategy& AcceptanceStrategy::absences_based() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5301 // @@protoc_insertion_point(field_get:operations_research.AcceptanceStrategy.absences_based)
5302 return _internal_absences_based();
5303}
5304inline ::operations_research::AbsencesBasedAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::unsafe_arena_release_absences_based() {
5305 // @@protoc_insertion_point(field_unsafe_arena_release:operations_research.AcceptanceStrategy.absences_based)
5306 if (strategy_case() == kAbsencesBased) {
5307 clear_has_strategy();
5308 auto* temp = reinterpret_cast<::operations_research::AbsencesBasedAcceptanceStrategy*>(_impl_.strategy_.absences_based_);
5309 _impl_.strategy_.absences_based_ = nullptr;
5310 return temp;
5311 } else {
5312 return nullptr;
5313 }
5314}
5315inline void AcceptanceStrategy::unsafe_arena_set_allocated_absences_based(
5316 ::operations_research::AbsencesBasedAcceptanceStrategy* PROTOBUF_NULLABLE value) {
5317 // We rely on the oneof clear method to free the earlier contents
5318 // of this oneof. We can directly use the pointer we're given to
5319 // set the new value.
5321 if (value) {
5322 set_has_absences_based();
5323 _impl_.strategy_.absences_based_ = reinterpret_cast<::google::protobuf::Message*>(value);
5324 }
5325 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.AcceptanceStrategy.absences_based)
5326}
5327inline ::operations_research::AbsencesBasedAcceptanceStrategy* PROTOBUF_NONNULL AcceptanceStrategy::_internal_mutable_absences_based() {
5328 if (strategy_case() != kAbsencesBased) {
5329 clear_strategy();
5330 set_has_absences_based();
5331 _impl_.strategy_.absences_based_ = reinterpret_cast<::google::protobuf::Message*>(
5332 ::google::protobuf::Message::DefaultConstruct<::operations_research::AbsencesBasedAcceptanceStrategy>(GetArena()));
5333 }
5334 return reinterpret_cast<::operations_research::AbsencesBasedAcceptanceStrategy*>(_impl_.strategy_.absences_based_);
5335}
5336inline ::operations_research::AbsencesBasedAcceptanceStrategy* PROTOBUF_NONNULL AcceptanceStrategy::mutable_absences_based()
5337 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5338 ::operations_research::AbsencesBasedAcceptanceStrategy* _msg = _internal_mutable_absences_based();
5339 // @@protoc_insertion_point(field_mutable:operations_research.AcceptanceStrategy.absences_based)
5340 return _msg;
5341}
5342
5343inline bool AcceptanceStrategy::has_strategy() const {
5344 return strategy_case() != STRATEGY_NOT_SET;
5345}
5346inline void AcceptanceStrategy::clear_has_strategy() {
5347 _impl_._oneof_case_[0] = STRATEGY_NOT_SET;
5348}
5349inline AcceptanceStrategy::StrategyCase AcceptanceStrategy::strategy_case() const {
5350 return AcceptanceStrategy::StrategyCase(_impl_._oneof_case_[0]);
5352// -------------------------------------------------------------------
5353
5354// IteratedLocalSearchParameters
5355
5356// .operations_research.PerturbationStrategy.Value perturbation_strategy = 1;
5358 ::google::protobuf::internal::TSanWrite(&_impl_);
5359 _impl_.perturbation_strategy_ = 0;
5360 ClearHasBit(_impl_._has_bits_[0],
5361 0x00000008U);
5362}
5363inline ::operations_research::PerturbationStrategy_Value IteratedLocalSearchParameters::perturbation_strategy() const {
5364 // @@protoc_insertion_point(field_get:operations_research.IteratedLocalSearchParameters.perturbation_strategy)
5365 return _internal_perturbation_strategy();
5366}
5367inline void IteratedLocalSearchParameters::set_perturbation_strategy(::operations_research::PerturbationStrategy_Value value) {
5368 _internal_set_perturbation_strategy(value);
5369 SetHasBit(_impl_._has_bits_[0], 0x00000008U);
5370 // @@protoc_insertion_point(field_set:operations_research.IteratedLocalSearchParameters.perturbation_strategy)
5371}
5372inline ::operations_research::PerturbationStrategy_Value IteratedLocalSearchParameters::_internal_perturbation_strategy() const {
5373 ::google::protobuf::internal::TSanRead(&_impl_);
5374 return static_cast<::operations_research::PerturbationStrategy_Value>(_impl_.perturbation_strategy_);
5375}
5376inline void IteratedLocalSearchParameters::_internal_set_perturbation_strategy(::operations_research::PerturbationStrategy_Value value) {
5377 ::google::protobuf::internal::TSanWrite(&_impl_);
5378 _impl_.perturbation_strategy_ = value;
5379}
5380
5381// .operations_research.RuinRecreateParameters ruin_recreate_parameters = 2;
5382inline bool IteratedLocalSearchParameters::has_ruin_recreate_parameters() const {
5383 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
5384 PROTOBUF_ASSUME(!value || _impl_.ruin_recreate_parameters_ != nullptr);
5388 ::google::protobuf::internal::TSanWrite(&_impl_);
5389 if (_impl_.ruin_recreate_parameters_ != nullptr) _impl_.ruin_recreate_parameters_->Clear();
5390 ClearHasBit(_impl_._has_bits_[0],
5391 0x00000001U);
5392}
5393inline const ::operations_research::RuinRecreateParameters& IteratedLocalSearchParameters::_internal_ruin_recreate_parameters() const {
5394 ::google::protobuf::internal::TSanRead(&_impl_);
5395 const ::operations_research::RuinRecreateParameters* p = _impl_.ruin_recreate_parameters_;
5397}
5398inline const ::operations_research::RuinRecreateParameters& IteratedLocalSearchParameters::ruin_recreate_parameters() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5399 // @@protoc_insertion_point(field_get:operations_research.IteratedLocalSearchParameters.ruin_recreate_parameters)
5400 return _internal_ruin_recreate_parameters();
5401}
5403 ::operations_research::RuinRecreateParameters* PROTOBUF_NULLABLE value) {
5404 ::google::protobuf::internal::TSanWrite(&_impl_);
5405 if (GetArena() == nullptr) {
5406 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ruin_recreate_parameters_);
5407 }
5408 _impl_.ruin_recreate_parameters_ = reinterpret_cast<::operations_research::RuinRecreateParameters*>(value);
5409 if (value != nullptr) {
5410 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
5411 } else {
5412 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
5413 }
5414 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.IteratedLocalSearchParameters.ruin_recreate_parameters)
5415}
5416inline ::operations_research::RuinRecreateParameters* PROTOBUF_NULLABLE IteratedLocalSearchParameters::release_ruin_recreate_parameters() {
5417 ::google::protobuf::internal::TSanWrite(&_impl_);
5418
5419 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
5420 ::operations_research::RuinRecreateParameters* released = _impl_.ruin_recreate_parameters_;
5421 _impl_.ruin_recreate_parameters_ = nullptr;
5422 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
5423 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
5424 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5425 if (GetArena() == nullptr) {
5426 delete old;
5427 }
5428 } else {
5429 if (GetArena() != nullptr) {
5430 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5431 }
5432 }
5433 return released;
5434}
5435inline ::operations_research::RuinRecreateParameters* PROTOBUF_NULLABLE IteratedLocalSearchParameters::unsafe_arena_release_ruin_recreate_parameters() {
5436 ::google::protobuf::internal::TSanWrite(&_impl_);
5437 // @@protoc_insertion_point(field_release:operations_research.IteratedLocalSearchParameters.ruin_recreate_parameters)
5438
5439 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
5440 ::operations_research::RuinRecreateParameters* temp = _impl_.ruin_recreate_parameters_;
5441 _impl_.ruin_recreate_parameters_ = nullptr;
5442 return temp;
5443}
5444inline ::operations_research::RuinRecreateParameters* PROTOBUF_NONNULL IteratedLocalSearchParameters::_internal_mutable_ruin_recreate_parameters() {
5445 ::google::protobuf::internal::TSanWrite(&_impl_);
5446 if (_impl_.ruin_recreate_parameters_ == nullptr) {
5447 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::RuinRecreateParameters>(GetArena());
5448 _impl_.ruin_recreate_parameters_ = reinterpret_cast<::operations_research::RuinRecreateParameters*>(p);
5449 }
5450 return _impl_.ruin_recreate_parameters_;
5451}
5452inline ::operations_research::RuinRecreateParameters* PROTOBUF_NONNULL IteratedLocalSearchParameters::mutable_ruin_recreate_parameters()
5453 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5454 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
5455 ::operations_research::RuinRecreateParameters* _msg = _internal_mutable_ruin_recreate_parameters();
5456 // @@protoc_insertion_point(field_mutable:operations_research.IteratedLocalSearchParameters.ruin_recreate_parameters)
5457 return _msg;
5458}
5460 ::google::protobuf::Arena* message_arena = GetArena();
5461 ::google::protobuf::internal::TSanWrite(&_impl_);
5462 if (message_arena == nullptr) {
5463 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ruin_recreate_parameters_);
5464 }
5465
5466 if (value != nullptr) {
5467 ::google::protobuf::Arena* submessage_arena = value->GetArena();
5468 if (message_arena != submessage_arena) {
5469 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
5470 }
5471 SetHasBit(_impl_._has_bits_[0], 0x00000001U);
5472 } else {
5473 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
5474 }
5475
5476 _impl_.ruin_recreate_parameters_ = reinterpret_cast<::operations_research::RuinRecreateParameters*>(value);
5477 // @@protoc_insertion_point(field_set_allocated:operations_research.IteratedLocalSearchParameters.ruin_recreate_parameters)
5478}
5479
5480// optional bool improve_perturbed_solution = 3;
5481inline bool IteratedLocalSearchParameters::has_improve_perturbed_solution() const {
5482 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
5483 return value;
5484}
5485inline void IteratedLocalSearchParameters::clear_improve_perturbed_solution() {
5486 ::google::protobuf::internal::TSanWrite(&_impl_);
5487 _impl_.improve_perturbed_solution_ = false;
5488 ClearHasBit(_impl_._has_bits_[0],
5489 0x00000010U);
5490}
5492 // @@protoc_insertion_point(field_get:operations_research.IteratedLocalSearchParameters.improve_perturbed_solution)
5493 return _internal_improve_perturbed_solution();
5494}
5495inline void IteratedLocalSearchParameters::set_improve_perturbed_solution(bool value) {
5496 _internal_set_improve_perturbed_solution(value);
5497 SetHasBit(_impl_._has_bits_[0], 0x00000010U);
5498 // @@protoc_insertion_point(field_set:operations_research.IteratedLocalSearchParameters.improve_perturbed_solution)
5499}
5500inline bool IteratedLocalSearchParameters::_internal_improve_perturbed_solution() const {
5501 ::google::protobuf::internal::TSanRead(&_impl_);
5502 return _impl_.improve_perturbed_solution_;
5503}
5504inline void IteratedLocalSearchParameters::_internal_set_improve_perturbed_solution(bool value) {
5505 ::google::protobuf::internal::TSanWrite(&_impl_);
5506 _impl_.improve_perturbed_solution_ = value;
5507}
5508
5509// .operations_research.AcceptanceStrategy reference_solution_acceptance_strategy = 4;
5510inline bool IteratedLocalSearchParameters::has_reference_solution_acceptance_strategy() const {
5511 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
5512 PROTOBUF_ASSUME(!value || _impl_.reference_solution_acceptance_strategy_ != nullptr);
5513 return value;
5514}
5515inline void IteratedLocalSearchParameters::clear_reference_solution_acceptance_strategy() {
5516 ::google::protobuf::internal::TSanWrite(&_impl_);
5517 if (_impl_.reference_solution_acceptance_strategy_ != nullptr) _impl_.reference_solution_acceptance_strategy_->Clear();
5518 ClearHasBit(_impl_._has_bits_[0],
5519 0x00000002U);
5520}
5521inline const ::operations_research::AcceptanceStrategy& IteratedLocalSearchParameters::_internal_reference_solution_acceptance_strategy() const {
5522 ::google::protobuf::internal::TSanRead(&_impl_);
5523 const ::operations_research::AcceptanceStrategy* p = _impl_.reference_solution_acceptance_strategy_;
5525}
5526inline const ::operations_research::AcceptanceStrategy& IteratedLocalSearchParameters::reference_solution_acceptance_strategy() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5527 // @@protoc_insertion_point(field_get:operations_research.IteratedLocalSearchParameters.reference_solution_acceptance_strategy)
5528 return _internal_reference_solution_acceptance_strategy();
5529}
5531 ::operations_research::AcceptanceStrategy* PROTOBUF_NULLABLE value) {
5532 ::google::protobuf::internal::TSanWrite(&_impl_);
5533 if (GetArena() == nullptr) {
5534 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.reference_solution_acceptance_strategy_);
5535 }
5536 _impl_.reference_solution_acceptance_strategy_ = reinterpret_cast<::operations_research::AcceptanceStrategy*>(value);
5537 if (value != nullptr) {
5538 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
5539 } else {
5540 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
5541 }
5542 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.IteratedLocalSearchParameters.reference_solution_acceptance_strategy)
5543}
5544inline ::operations_research::AcceptanceStrategy* PROTOBUF_NULLABLE IteratedLocalSearchParameters::release_reference_solution_acceptance_strategy() {
5545 ::google::protobuf::internal::TSanWrite(&_impl_);
5546
5547 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
5548 ::operations_research::AcceptanceStrategy* released = _impl_.reference_solution_acceptance_strategy_;
5549 _impl_.reference_solution_acceptance_strategy_ = nullptr;
5550 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
5551 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
5552 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5553 if (GetArena() == nullptr) {
5554 delete old;
5555 }
5556 } else {
5557 if (GetArena() != nullptr) {
5558 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5559 }
5560 }
5561 return released;
5562}
5563inline ::operations_research::AcceptanceStrategy* PROTOBUF_NULLABLE IteratedLocalSearchParameters::unsafe_arena_release_reference_solution_acceptance_strategy() {
5564 ::google::protobuf::internal::TSanWrite(&_impl_);
5565 // @@protoc_insertion_point(field_release:operations_research.IteratedLocalSearchParameters.reference_solution_acceptance_strategy)
5566
5567 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
5568 ::operations_research::AcceptanceStrategy* temp = _impl_.reference_solution_acceptance_strategy_;
5569 _impl_.reference_solution_acceptance_strategy_ = nullptr;
5570 return temp;
5571}
5572inline ::operations_research::AcceptanceStrategy* PROTOBUF_NONNULL IteratedLocalSearchParameters::_internal_mutable_reference_solution_acceptance_strategy() {
5573 ::google::protobuf::internal::TSanWrite(&_impl_);
5574 if (_impl_.reference_solution_acceptance_strategy_ == nullptr) {
5575 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::AcceptanceStrategy>(GetArena());
5576 _impl_.reference_solution_acceptance_strategy_ = reinterpret_cast<::operations_research::AcceptanceStrategy*>(p);
5577 }
5578 return _impl_.reference_solution_acceptance_strategy_;
5579}
5580inline ::operations_research::AcceptanceStrategy* PROTOBUF_NONNULL IteratedLocalSearchParameters::mutable_reference_solution_acceptance_strategy()
5581 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5582 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
5583 ::operations_research::AcceptanceStrategy* _msg = _internal_mutable_reference_solution_acceptance_strategy();
5584 // @@protoc_insertion_point(field_mutable:operations_research.IteratedLocalSearchParameters.reference_solution_acceptance_strategy)
5585 return _msg;
5586}
5588 ::google::protobuf::Arena* message_arena = GetArena();
5589 ::google::protobuf::internal::TSanWrite(&_impl_);
5590 if (message_arena == nullptr) {
5591 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.reference_solution_acceptance_strategy_);
5592 }
5593
5594 if (value != nullptr) {
5595 ::google::protobuf::Arena* submessage_arena = value->GetArena();
5596 if (message_arena != submessage_arena) {
5597 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
5598 }
5599 SetHasBit(_impl_._has_bits_[0], 0x00000002U);
5600 } else {
5601 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
5602 }
5603
5604 _impl_.reference_solution_acceptance_strategy_ = reinterpret_cast<::operations_research::AcceptanceStrategy*>(value);
5605 // @@protoc_insertion_point(field_set_allocated:operations_research.IteratedLocalSearchParameters.reference_solution_acceptance_strategy)
5606}
5607
5608// .operations_research.AcceptanceStrategy best_solution_acceptance_strategy = 5;
5609inline bool IteratedLocalSearchParameters::has_best_solution_acceptance_strategy() const {
5610 bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
5611 PROTOBUF_ASSUME(!value || _impl_.best_solution_acceptance_strategy_ != nullptr);
5612 return value;
5613}
5614inline void IteratedLocalSearchParameters::clear_best_solution_acceptance_strategy() {
5615 ::google::protobuf::internal::TSanWrite(&_impl_);
5616 if (_impl_.best_solution_acceptance_strategy_ != nullptr) _impl_.best_solution_acceptance_strategy_->Clear();
5617 ClearHasBit(_impl_._has_bits_[0],
5618 0x00000004U);
5619}
5620inline const ::operations_research::AcceptanceStrategy& IteratedLocalSearchParameters::_internal_best_solution_acceptance_strategy() const {
5621 ::google::protobuf::internal::TSanRead(&_impl_);
5622 const ::operations_research::AcceptanceStrategy* p = _impl_.best_solution_acceptance_strategy_;
5625inline const ::operations_research::AcceptanceStrategy& IteratedLocalSearchParameters::best_solution_acceptance_strategy() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5626 // @@protoc_insertion_point(field_get:operations_research.IteratedLocalSearchParameters.best_solution_acceptance_strategy)
5627 return _internal_best_solution_acceptance_strategy();
5628}
5629inline void IteratedLocalSearchParameters::unsafe_arena_set_allocated_best_solution_acceptance_strategy(
5630 ::operations_research::AcceptanceStrategy* PROTOBUF_NULLABLE value) {
5631 ::google::protobuf::internal::TSanWrite(&_impl_);
5632 if (GetArena() == nullptr) {
5633 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.best_solution_acceptance_strategy_);
5634 }
5635 _impl_.best_solution_acceptance_strategy_ = reinterpret_cast<::operations_research::AcceptanceStrategy*>(value);
5636 if (value != nullptr) {
5637 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
5638 } else {
5639 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
5640 }
5641 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:operations_research.IteratedLocalSearchParameters.best_solution_acceptance_strategy)
5642}
5643inline ::operations_research::AcceptanceStrategy* PROTOBUF_NULLABLE IteratedLocalSearchParameters::release_best_solution_acceptance_strategy() {
5644 ::google::protobuf::internal::TSanWrite(&_impl_);
5645
5646 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
5647 ::operations_research::AcceptanceStrategy* released = _impl_.best_solution_acceptance_strategy_;
5648 _impl_.best_solution_acceptance_strategy_ = nullptr;
5649 if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
5650 auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
5651 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5652 if (GetArena() == nullptr) {
5653 delete old;
5654 }
5655 } else {
5656 if (GetArena() != nullptr) {
5657 released = ::google::protobuf::internal::DuplicateIfNonNull(released);
5658 }
5659 }
5660 return released;
5661}
5662inline ::operations_research::AcceptanceStrategy* PROTOBUF_NULLABLE IteratedLocalSearchParameters::unsafe_arena_release_best_solution_acceptance_strategy() {
5663 ::google::protobuf::internal::TSanWrite(&_impl_);
5664 // @@protoc_insertion_point(field_release:operations_research.IteratedLocalSearchParameters.best_solution_acceptance_strategy)
5665
5666 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
5667 ::operations_research::AcceptanceStrategy* temp = _impl_.best_solution_acceptance_strategy_;
5668 _impl_.best_solution_acceptance_strategy_ = nullptr;
5669 return temp;
5670}
5671inline ::operations_research::AcceptanceStrategy* PROTOBUF_NONNULL IteratedLocalSearchParameters::_internal_mutable_best_solution_acceptance_strategy() {
5672 ::google::protobuf::internal::TSanWrite(&_impl_);
5673 if (_impl_.best_solution_acceptance_strategy_ == nullptr) {
5674 auto* p = ::google::protobuf::Message::DefaultConstruct<::operations_research::AcceptanceStrategy>(GetArena());
5675 _impl_.best_solution_acceptance_strategy_ = reinterpret_cast<::operations_research::AcceptanceStrategy*>(p);
5676 }
5677 return _impl_.best_solution_acceptance_strategy_;
5678}
5679inline ::operations_research::AcceptanceStrategy* PROTOBUF_NONNULL IteratedLocalSearchParameters::mutable_best_solution_acceptance_strategy()
5680 ABSL_ATTRIBUTE_LIFETIME_BOUND {
5681 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
5682 ::operations_research::AcceptanceStrategy* _msg = _internal_mutable_best_solution_acceptance_strategy();
5683 // @@protoc_insertion_point(field_mutable:operations_research.IteratedLocalSearchParameters.best_solution_acceptance_strategy)
5684 return _msg;
5685}
5687 ::google::protobuf::Arena* message_arena = GetArena();
5688 ::google::protobuf::internal::TSanWrite(&_impl_);
5689 if (message_arena == nullptr) {
5690 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.best_solution_acceptance_strategy_);
5691 }
5692
5693 if (value != nullptr) {
5694 ::google::protobuf::Arena* submessage_arena = value->GetArena();
5695 if (message_arena != submessage_arena) {
5696 value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
5697 }
5698 SetHasBit(_impl_._has_bits_[0], 0x00000004U);
5699 } else {
5700 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
5701 }
5702
5703 _impl_.best_solution_acceptance_strategy_ = reinterpret_cast<::operations_research::AcceptanceStrategy*>(value);
5704 // @@protoc_insertion_point(field_set_allocated:operations_research.IteratedLocalSearchParameters.best_solution_acceptance_strategy)
5705}
5706
5707#ifdef __GNUC__
5708#pragma GCC diagnostic pop
5709#endif // __GNUC__
5710
5711// @@protoc_insertion_point(namespace_scope)
5712} // namespace operations_research
5713
5714
5715namespace google {
5716namespace protobuf {
5717
5718template <>
5719struct is_proto_enum<::operations_research::RuinCompositionStrategy_Value> : std::true_type {};
5720template <>
5721inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::RuinCompositionStrategy_Value>() {
5722 return ::operations_research::RuinCompositionStrategy_Value_descriptor();
5724template <>
5725struct is_proto_enum<::operations_research::PerturbationStrategy_Value> : std::true_type {};
5726template <>
5727inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::PerturbationStrategy_Value>() {
5728 return ::operations_research::PerturbationStrategy_Value_descriptor();
5729}
5730template <>
5731struct is_proto_enum<::operations_research::CoolingScheduleStrategy_Value> : std::true_type {};
5732template <>
5733inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::CoolingScheduleStrategy_Value>() {
5734 return ::operations_research::CoolingScheduleStrategy_Value_descriptor();
5735}
5736
5737} // namespace protobuf
5738} // namespace google
5739
5740// @@protoc_insertion_point(global_scope)
5741
5742#include "google/protobuf/port_undef.inc"
5743
5744#endif // ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto_2epb_2eh
static const AbsencesBasedAcceptanceStrategy & default_instance()
void MergeFrom(const AbsencesBasedAcceptanceStrategy &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void Swap(AbsencesBasedAcceptanceStrategy *PROTOBUF_NONNULL other)
void CopyFrom(const AbsencesBasedAcceptanceStrategy &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
::operations_research::MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NONNULL mutable_more_nodes_performed()
static const AcceptanceStrategy & default_instance()
void unsafe_arena_set_allocated_absences_based(::operations_research::AbsencesBasedAcceptanceStrategy *PROTOBUF_NULLABLE value)
void set_allocated_more_nodes_performed(::operations_research::MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE value)
const ::operations_research::AbsencesBasedAcceptanceStrategy & absences_based() const
void unsafe_arena_set_allocated_more_nodes_performed(::operations_research::MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE value)
::operations_research::SimulatedAnnealingAcceptanceStrategy *PROTOBUF_NULLABLE release_simulated_annealing()
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
::operations_research::SimulatedAnnealingAcceptanceStrategy *PROTOBUF_NULLABLE unsafe_arena_release_simulated_annealing()
const ::operations_research::MoreNodesPerformedAcceptanceStrategy & more_nodes_performed() const
const ::operations_research::GreedyDescentAcceptanceStrategy & greedy_descent() const
::operations_research::AllNodesPerformedAcceptanceStrategy *PROTOBUF_NONNULL mutable_all_nodes_performed()
::operations_research::AbsencesBasedAcceptanceStrategy *PROTOBUF_NULLABLE release_absences_based()
::operations_research::GreedyDescentAcceptanceStrategy *PROTOBUF_NONNULL mutable_greedy_descent()
::operations_research::SimulatedAnnealingAcceptanceStrategy *PROTOBUF_NONNULL mutable_simulated_annealing()
void unsafe_arena_set_allocated_greedy_descent(::operations_research::GreedyDescentAcceptanceStrategy *PROTOBUF_NULLABLE value)
void Swap(AcceptanceStrategy *PROTOBUF_NONNULL other)
void unsafe_arena_set_allocated_simulated_annealing(::operations_research::SimulatedAnnealingAcceptanceStrategy *PROTOBUF_NULLABLE value)
const ::operations_research::AllNodesPerformedAcceptanceStrategy & all_nodes_performed() const
::operations_research::AbsencesBasedAcceptanceStrategy *PROTOBUF_NULLABLE unsafe_arena_release_absences_based()
::operations_research::GreedyDescentAcceptanceStrategy *PROTOBUF_NULLABLE unsafe_arena_release_greedy_descent()
void set_allocated_absences_based(::operations_research::AbsencesBasedAcceptanceStrategy *PROTOBUF_NULLABLE value)
::operations_research::AbsencesBasedAcceptanceStrategy *PROTOBUF_NONNULL mutable_absences_based()
void set_allocated_all_nodes_performed(::operations_research::AllNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE value)
::operations_research::AllNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE release_all_nodes_performed()
const ::operations_research::SimulatedAnnealingAcceptanceStrategy & simulated_annealing() const
AcceptanceStrategy *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
::operations_research::AllNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE unsafe_arena_release_all_nodes_performed()
void set_allocated_greedy_descent(::operations_research::GreedyDescentAcceptanceStrategy *PROTOBUF_NULLABLE value)
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
friend void swap(AcceptanceStrategy &a, AcceptanceStrategy &b)
void set_allocated_simulated_annealing(::operations_research::SimulatedAnnealingAcceptanceStrategy *PROTOBUF_NULLABLE value)
::operations_research::MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE release_more_nodes_performed()
::operations_research::MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE unsafe_arena_release_more_nodes_performed()
void unsafe_arena_set_allocated_all_nodes_performed(::operations_research::AllNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE value)
void UnsafeArenaSwap(AcceptanceStrategy *PROTOBUF_NONNULL other)
void Swap(AllNodesPerformedAcceptanceStrategy *PROTOBUF_NONNULL other)
static const AllNodesPerformedAcceptanceStrategy & default_instance()
void CopyFrom(const AllNodesPerformedAcceptanceStrategy &from)
friend void swap(AllNodesPerformedAcceptanceStrategy &a, AllNodesPerformedAcceptanceStrategy &b)
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL Value_descriptor()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void UnsafeArenaSwap(CoolingScheduleStrategy *PROTOBUF_NONNULL other)
void Swap(CoolingScheduleStrategy *PROTOBUF_NONNULL other)
static bool Value_Parse(::absl::string_view name, Value *PROTOBUF_NONNULL value)
static const ::std::string & Value_Name(T value)
friend void swap(CoolingScheduleStrategy &a, CoolingScheduleStrategy &b)
void Swap(GreedyDescentAcceptanceStrategy *PROTOBUF_NONNULL other)
GreedyDescentAcceptanceStrategy & operator=(const GreedyDescentAcceptanceStrategy &from)
void CopyFrom(const GreedyDescentAcceptanceStrategy &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void UnsafeArenaSwap(GreedyDescentAcceptanceStrategy *PROTOBUF_NONNULL other)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
static const GreedyDescentAcceptanceStrategy & default_instance()
friend class ::google::protobuf::Arena::InternalHelper
::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE release_reference_solution_acceptance_strategy()
void set_perturbation_strategy(::operations_research::PerturbationStrategy_Value value)
static const IteratedLocalSearchParameters & default_instance()
void unsafe_arena_set_allocated_best_solution_acceptance_strategy(::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE value)
::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE unsafe_arena_release_reference_solution_acceptance_strategy()
void unsafe_arena_set_allocated_reference_solution_acceptance_strategy(::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE value)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void set_allocated_best_solution_acceptance_strategy(::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE value)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
friend void swap(IteratedLocalSearchParameters &a, IteratedLocalSearchParameters &b)
::operations_research::RuinRecreateParameters *PROTOBUF_NULLABLE unsafe_arena_release_ruin_recreate_parameters()
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
void set_allocated_ruin_recreate_parameters(::operations_research::RuinRecreateParameters *PROTOBUF_NULLABLE value)
void set_allocated_reference_solution_acceptance_strategy(::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE value)
::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE release_best_solution_acceptance_strategy()
IteratedLocalSearchParameters *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE unsafe_arena_release_best_solution_acceptance_strategy()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::operations_research::AcceptanceStrategy & best_solution_acceptance_strategy() const
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
::google::protobuf::Metadata GetMetadata() const
void unsafe_arena_set_allocated_ruin_recreate_parameters(::operations_research::RuinRecreateParameters *PROTOBUF_NULLABLE value)
const ::operations_research::AcceptanceStrategy & reference_solution_acceptance_strategy() const
::operations_research::AcceptanceStrategy *PROTOBUF_NONNULL mutable_reference_solution_acceptance_strategy()
void Swap(IteratedLocalSearchParameters *PROTOBUF_NONNULL other)
::operations_research::AcceptanceStrategy *PROTOBUF_NONNULL mutable_best_solution_acceptance_strategy()
const ::operations_research::RuinRecreateParameters & ruin_recreate_parameters() const
::operations_research::PerturbationStrategy_Value perturbation_strategy() const
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void MergeFrom(const MoreNodesPerformedAcceptanceStrategy &from)
friend void swap(MoreNodesPerformedAcceptanceStrategy &a, MoreNodesPerformedAcceptanceStrategy &b)
void Swap(MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NONNULL other)
void UnsafeArenaSwap(MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NONNULL other)
MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
static const MoreNodesPerformedAcceptanceStrategy & default_instance()
friend class ::google::protobuf::Arena::InternalHelper
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void Swap(PerturbationStrategy *PROTOBUF_NONNULL other)
PerturbationStrategy & operator=(const PerturbationStrategy &from)
void MergeFrom(const PerturbationStrategy &from)
static bool Value_Parse(::absl::string_view name, Value *PROTOBUF_NONNULL value)
static const ::std::string & Value_Name(T value)
PerturbationStrategy *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL Value_descriptor()
static const PerturbationStrategy & default_instance()
friend void swap(PerturbationStrategy &a, PerturbationStrategy &b)
RandomWalkRuinStrategy & operator=(const RandomWalkRuinStrategy &from)
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
void MergeFrom(const RandomWalkRuinStrategy &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
static const RandomWalkRuinStrategy & default_instance()
void CopyFrom(const RandomWalkRuinStrategy &from)
RandomWalkRuinStrategy *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
void Swap(RandomWalkRuinStrategy *PROTOBUF_NONNULL other)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
friend void swap(RecreateParameters &a, RecreateParameters &b)
void set_allocated_savings(::operations_research::SavingsParameters *PROTOBUF_NULLABLE value)
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
RecreateParameters *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
void set_allocated_global_cheapest_insertion(::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
const ::operations_research::SavingsParameters & savings() const
::operations_research::SavingsParameters *PROTOBUF_NULLABLE unsafe_arena_release_savings()
::operations_research::SavingsParameters *PROTOBUF_NULLABLE release_savings()
const ::operations_research::GlobalCheapestInsertionParameters & global_cheapest_insertion() const
void set_allocated_local_cheapest_insertion(::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
void unsafe_arena_set_allocated_savings(::operations_research::SavingsParameters *PROTOBUF_NULLABLE value)
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE unsafe_arena_release_global_cheapest_insertion()
void unsafe_arena_set_allocated_local_cheapest_insertion(::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
void MergeFrom(const RecreateParameters &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void CopyFrom(const RecreateParameters &from)
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NONNULL mutable_global_cheapest_insertion()
void Swap(RecreateParameters *PROTOBUF_NONNULL other)
void unsafe_arena_set_allocated_global_cheapest_insertion(::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE value)
void UnsafeArenaSwap(RecreateParameters *PROTOBUF_NONNULL other)
const ::operations_research::LocalCheapestInsertionParameters & local_cheapest_insertion() const
::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE unsafe_arena_release_local_cheapest_insertion()
static const RecreateParameters & default_instance()
::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE release_global_cheapest_insertion()
::operations_research::SavingsParameters *PROTOBUF_NONNULL mutable_savings()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void set_heuristic(::operations_research::FirstSolutionStrategy_Value value)
const ::operations_research::RecreateParameters & parameters() const
static const RecreateStrategy & default_instance()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
RecreateStrategy & operator=(const RecreateStrategy &from)
::operations_research::FirstSolutionStrategy_Value heuristic() const
void Swap(RecreateStrategy *PROTOBUF_NONNULL other)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void CopyFrom(const RecreateStrategy &from)
RecreateStrategy *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
void Swap(RuinCompositionStrategy *PROTOBUF_NONNULL other)
static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL Value_descriptor()
RuinCompositionStrategy *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
static const ::std::string & Value_Name(T value)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
RuinCompositionStrategy & operator=(const RuinCompositionStrategy &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void CopyFrom(const RuinCompositionStrategy &from)
friend void swap(RuinCompositionStrategy &a, RuinCompositionStrategy &b)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
::operations_research::RecreateStrategy *PROTOBUF_NULLABLE unsafe_arena_release_recreate_strategy()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void set_route_selection_min_neighbors(::uint32_t value)
const ::operations_research::RuinStrategy & ruin_strategies(int index) const
RuinRecreateParameters *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
::operations_research::RecreateStrategy *PROTOBUF_NULLABLE release_recreate_strategy()
void CopyFrom(const RuinRecreateParameters &from)
void Swap(RuinRecreateParameters *PROTOBUF_NONNULL other)
void UnsafeArenaSwap(RuinRecreateParameters *PROTOBUF_NONNULL other)
void set_route_selection_max_neighbors(::uint32_t value)
::operations_research::RecreateStrategy *PROTOBUF_NONNULL mutable_recreate_strategy()
void unsafe_arena_set_allocated_recreate_strategy(::operations_research::RecreateStrategy *PROTOBUF_NULLABLE value)
void set_allocated_recreate_strategy(::operations_research::RecreateStrategy *PROTOBUF_NULLABLE value)
::operations_research::RuinStrategy *PROTOBUF_NONNULL add_ruin_strategies()
void set_ruin_composition_strategy(::operations_research::RuinCompositionStrategy_Value value)
::operations_research::RuinCompositionStrategy_Value ruin_composition_strategy() const
const ::operations_research::RecreateStrategy & recreate_strategy() const
::operations_research::SISRRuinStrategy *PROTOBUF_NULLABLE release_sisr()
::operations_research::SISRRuinStrategy *PROTOBUF_NONNULL mutable_sisr()
::operations_research::RandomWalkRuinStrategy *PROTOBUF_NONNULL mutable_random_walk()
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void set_allocated_random_walk(::operations_research::RandomWalkRuinStrategy *PROTOBUF_NULLABLE value)
void unsafe_arena_set_allocated_random_walk(::operations_research::RandomWalkRuinStrategy *PROTOBUF_NULLABLE value)
void MergeFrom(const RuinStrategy &from)
::size_t ByteSizeLong() const final
::operations_research::SISRRuinStrategy *PROTOBUF_NULLABLE unsafe_arena_release_sisr()
void set_allocated_sisr(::operations_research::SISRRuinStrategy *PROTOBUF_NULLABLE value)
const ::operations_research::SISRRuinStrategy & sisr() const
void unsafe_arena_set_allocated_sisr(::operations_research::SISRRuinStrategy *PROTOBUF_NULLABLE value)
void Swap(RuinStrategy *PROTOBUF_NONNULL other)
const ::operations_research::RandomWalkRuinStrategy & random_walk() const
RuinStrategy *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const
void set_allocated_spatially_close_routes(::operations_research::SpatiallyCloseRoutesRuinStrategy *PROTOBUF_NULLABLE value)
static constexpr int kIndexInFileMessages
static const RuinStrategy & default_instance()
::operations_research::SpatiallyCloseRoutesRuinStrategy *PROTOBUF_NULLABLE unsafe_arena_release_spatially_close_routes()
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void unsafe_arena_set_allocated_spatially_close_routes(::operations_research::SpatiallyCloseRoutesRuinStrategy *PROTOBUF_NULLABLE value)
::operations_research::RandomWalkRuinStrategy *PROTOBUF_NULLABLE unsafe_arena_release_random_walk()
::operations_research::RandomWalkRuinStrategy *PROTOBUF_NULLABLE release_random_walk()
void UnsafeArenaSwap(RuinStrategy *PROTOBUF_NONNULL other)
::operations_research::SpatiallyCloseRoutesRuinStrategy *PROTOBUF_NONNULL mutable_spatially_close_routes()
friend void swap(RuinStrategy &a, RuinStrategy &b)
friend class ::google::protobuf::MessageLite
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()
void Swap(SISRRuinStrategy *PROTOBUF_NONNULL other)
inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND
static const SISRRuinStrategy & default_instance()
void set_avg_num_removed_visits(::uint32_t value)
friend void swap(SISRRuinStrategy &a, SISRRuinStrategy &b)
SISRRuinStrategy & operator=(const SISRRuinStrategy &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
void set_max_removed_sequence_size(::uint32_t value)
PROTOBUF_CONSTEXPR SISRRuinStrategy(::google::protobuf::internal::ConstantInitialized)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void MergeFrom(const SISRRuinStrategy &from)
void CopyFrom(const SISRRuinStrategy &from)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
void CopyFrom(const SimulatedAnnealingAcceptanceStrategy &from)
void MergeFrom(const SimulatedAnnealingAcceptanceStrategy &from)
::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final
void Swap(SimulatedAnnealingAcceptanceStrategy *PROTOBUF_NONNULL other)
static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()
PROTOBUF_CONSTEXPR SimulatedAnnealingAcceptanceStrategy(::google::protobuf::internal::ConstantInitialized)
::operations_research::CoolingScheduleStrategy_Value cooling_schedule_strategy() const
void set_cooling_schedule_strategy(::operations_research::CoolingScheduleStrategy_Value value)
SimulatedAnnealingAcceptanceStrategy & operator=(const SimulatedAnnealingAcceptanceStrategy &from)
static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()
ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
static const SimulatedAnnealingAcceptanceStrategy & default_instance()
void Swap(SpatiallyCloseRoutesRuinStrategy *PROTOBUF_NONNULL other)
PROTOBUF_CONSTEXPR SpatiallyCloseRoutesRuinStrategy(::google::protobuf::internal::ConstantInitialized)
SpatiallyCloseRoutesRuinStrategy & operator=(const SpatiallyCloseRoutesRuinStrategy &from)
const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND
SpatiallyCloseRoutesRuinStrategy(const SpatiallyCloseRoutesRuinStrategy &from)
void CopyFrom(const SpatiallyCloseRoutesRuinStrategy &from)
::absl::string_view GetAnyMessageName()
OR-Tools root namespace.
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RecreateParametersDefaultTypeInternal _RecreateParameters_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RuinCompositionStrategy_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CoolingScheduleStrategy_class_data_
PROTOBUF_CONSTINIT const uint32_t PerturbationStrategy_Value_internal_data_[]
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RuinStrategyDefaultTypeInternal _RuinStrategy_default_instance_
constexpr PerturbationStrategy_Value PerturbationStrategy_Value_Value_MIN
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AllNodesPerformedAcceptanceStrategyDefaultTypeInternal _AllNodesPerformedAcceptanceStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RuinCompositionStrategyDefaultTypeInternal _RuinCompositionStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SISRRuinStrategy_class_data_
bool RuinCompositionStrategy_Value_Parse(::absl::string_view name, RuinCompositionStrategy_Value *PROTOBUF_NONNULL value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SISRRuinStrategyDefaultTypeInternal _SISRRuinStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IteratedLocalSearchParametersDefaultTypeInternal _IteratedLocalSearchParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SimulatedAnnealingAcceptanceStrategyDefaultTypeInternal _SimulatedAnnealingAcceptanceStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GlobalCheapestInsertionParametersDefaultTypeInternal _GlobalCheapestInsertionParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AbsencesBasedAcceptanceStrategyDefaultTypeInternal _AbsencesBasedAcceptanceStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull PerturbationStrategy_class_data_
bool CoolingScheduleStrategy_Value_Parse(::absl::string_view name, CoolingScheduleStrategy_Value *PROTOBUF_NONNULL value)
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RuinRecreateParameters_class_data_
bool PerturbationStrategy_Value_Parse(::absl::string_view name, PerturbationStrategy_Value *PROTOBUF_NONNULL value)
constexpr int CoolingScheduleStrategy_Value_Value_ARRAYSIZE
bool CoolingScheduleStrategy_Value_IsValid(int value)
constexpr RuinCompositionStrategy_Value RuinCompositionStrategy_Value_Value_MAX
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AllNodesPerformedAcceptanceStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RuinRecreateParametersDefaultTypeInternal _RuinRecreateParameters_default_instance_
constexpr CoolingScheduleStrategy_Value CoolingScheduleStrategy_Value_Value_MIN
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL RuinCompositionStrategy_Value_descriptor()
PROTOBUF_CONSTINIT const uint32_t CoolingScheduleStrategy_Value_internal_data_[]
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RecreateParameters_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RandomWalkRuinStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AcceptanceStrategyDefaultTypeInternal _AcceptanceStrategy_default_instance_
constexpr RuinCompositionStrategy_Value RuinCompositionStrategy_Value_Value_MIN
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull IteratedLocalSearchParameters_class_data_
const ::std::string & CoolingScheduleStrategy_Value_Name(T value)
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull GreedyDescentAcceptanceStrategy_class_data_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL PerturbationStrategy_Value_descriptor()
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull MoreNodesPerformedAcceptanceStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SavingsParametersDefaultTypeInternal _SavingsParameters_default_instance_
const ::std::string & RuinCompositionStrategy_Value_Name(T value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GreedyDescentAcceptanceStrategyDefaultTypeInternal _GreedyDescentAcceptanceStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MoreNodesPerformedAcceptanceStrategyDefaultTypeInternal _MoreNodesPerformedAcceptanceStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RuinStrategy_class_data_
constexpr CoolingScheduleStrategy_Value CoolingScheduleStrategy_Value_Value_MAX
const ::std::string & PerturbationStrategy_Value_Name(T value)
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AbsencesBasedAcceptanceStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RandomWalkRuinStrategyDefaultTypeInternal _RandomWalkRuinStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AcceptanceStrategy_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PerturbationStrategyDefaultTypeInternal _PerturbationStrategy_default_instance_
@ PerturbationStrategy_Value_PerturbationStrategy_Value_INT_MAX_SENTINEL_DO_NOT_USE_
@ PerturbationStrategy_Value_PerturbationStrategy_Value_INT_MIN_SENTINEL_DO_NOT_USE_
@ PerturbationStrategy_Value_RUIN_AND_RECREATE
bool PerturbationStrategy_Value_IsValid(int value)
bool RuinCompositionStrategy_Value_IsValid(int value)
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SpatiallyCloseRoutesRuinStrategy_class_data_
constexpr int PerturbationStrategy_Value_Value_ARRAYSIZE
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SimulatedAnnealingAcceptanceStrategy_class_data_
PROTOBUF_CONSTINIT const uint32_t RuinCompositionStrategy_Value_internal_data_[]
@ CoolingScheduleStrategy_Value_CoolingScheduleStrategy_Value_INT_MAX_SENTINEL_DO_NOT_USE_
@ CoolingScheduleStrategy_Value_CoolingScheduleStrategy_Value_INT_MIN_SENTINEL_DO_NOT_USE_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LocalCheapestInsertionParametersDefaultTypeInternal _LocalCheapestInsertionParameters_default_instance_
constexpr int RuinCompositionStrategy_Value_Value_ARRAYSIZE
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SpatiallyCloseRoutesRuinStrategyDefaultTypeInternal _SpatiallyCloseRoutesRuinStrategy_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RecreateStrategyDefaultTypeInternal _RecreateStrategy_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RecreateStrategy_class_data_
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL CoolingScheduleStrategy_Value_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CoolingScheduleStrategyDefaultTypeInternal _CoolingScheduleStrategy_default_instance_
@ RuinCompositionStrategy_Value_RuinCompositionStrategy_Value_INT_MIN_SENTINEL_DO_NOT_USE_
@ RuinCompositionStrategy_Value_RuinCompositionStrategy_Value_INT_MAX_SENTINEL_DO_NOT_USE_
@ RuinCompositionStrategy_Value_RUN_ALL_SEQUENTIALLY
@ RuinCompositionStrategy_Value_RUN_ALL_RANDOMLY
@ RuinCompositionStrategy_Value_RUN_ONE_RANDOMLY
constexpr PerturbationStrategy_Value PerturbationStrategy_Value_Value_MAX
PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto