Google OR-Tools: build/ortools/constraint_solver/routing_ils.pb.h Source File

1

2

3

4

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"

31#include "google/protobuf/extension_set.h"

32#include "google/protobuf/generated_enum_reflection.h"

33#include "google/protobuf/unknown_field_set.h"

36

37

38

39#include "google/protobuf/port_def.inc"

40

41#define PROTOBUF_INTERNAL_EXPORT_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto OR_PROTO_DLL

42

44namespace protobuf {

46template <typename T>

48}

49}

50}

51

52

56extern "C" {

58}

121OR_PROTO_DLL extern const ::google::protobuf::internal::ClassDataFull RuinStrategy_class_data_;

134}

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}

147}

148

156 ::std::numeric_limits<::int32_t>::min(),

158 ::std::numeric_limits<::int32_t>::max(),

159};

160

167 return 0 <= value && value <= 3;

168}

171template <typename T>

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}

192 ::std::numeric_limits<::int32_t>::min(),

194 ::std::numeric_limits<::int32_t>::max(),

195};

196

203 return 0 <= value && value <= 1;

204}

207template <typename T>

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}

229 ::std::numeric_limits<::int32_t>::min(),

231 ::std::numeric_limits<::int32_t>::max(),

232};

233

240 return 0 <= value && value <= 2;

241}

244template <typename T>

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}

261

262

263

264

265

266

267class OR_PROTO_DLL SpatiallyCloseRoutesRuinStrategy final : public ::google::protobuf::Message

268 {

273#if defined(PROTOBUF_CUSTOM_VTABLE)

275 SharedDtor(*msg);

277 }

278#endif

279

280 template <typename = void>

282

288 return *this;

289 }

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;

321 }

322 static constexpr int kIndexInFileMessages = 0;

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

339

341 return ::google::protobuf::Message::DefaultConstruct<SpatiallyCloseRoutesRuinStrategy>(arena);

343 using ::google::protobuf::Message::CopyFrom;

345 using ::google::protobuf::Message::MergeFrom;

347

349 static void MergeImpl(::google::protobuf::MessageLite& to_msg,

350 const ::google::protobuf::MessageLite& from_msg);

351

352 public:

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

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

377 int GetCachedSize() const { return _impl_._cached_size_.Get(); }

378

380 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);

381 static void SharedDtor(MessageLite& self);

383 private:

384 template <typename T>

386 static ::absl::string_view FullMessageName() { return "operations_research.SpatiallyCloseRoutesRuinStrategy"; }

387

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

406

407

408 enum : int {

409 kNumRuinedRoutesFieldNumber = 3,

410 };

411

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

423 private:

425 friend class ::google::protobuf::internal::TcParser;

426 static const ::google::protobuf::internal::TcParseTable<0, 1,

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,

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;

456

457

459 {

460 public:

463

464#if defined(PROTOBUF_CUSTOM_VTABLE)

466 SharedDtor(*msg);

468 }

469#endif

470

471 template <typename = void>

473

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() {

505 }

506 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {

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

530

532 return ::google::protobuf::Message::DefaultConstruct<SimulatedAnnealingAcceptanceStrategy>(arena);

533 }

534 using ::google::protobuf::Message::CopyFrom;

536 using ::google::protobuf::Message::MergeFrom;

538

539 private:

540 static void MergeImpl(::google::protobuf::MessageLite& to_msg,

541 const ::google::protobuf::MessageLite& from_msg);

542

543 public:

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);

552 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,

553 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

554

555 public:

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

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

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);

574 private:

575 template <typename T>

577 static ::absl::string_view FullMessageName() { return "operations_research.SimulatedAnnealingAcceptanceStrategy"; }

578

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

597

598

599 enum : int {

600 kInitialTemperatureFieldNumber = 2,

601 kCoolingScheduleStrategyFieldNumber = 1,

602 kAutomaticTemperaturesFieldNumber = 4,

605

610

611 private:

612 double _internal_initial_temperature() const;

613 void _internal_set_initial_temperature(double value);

614

615 public:

616

620

621 private:

624

625 public:

626

631

632 private:

633 bool _internal_automatic_temperatures() const;

634 void _internal_set_automatic_temperatures(bool value);

635

636 public:

637

642

643 private:

644 double _internal_final_temperature() const;

645 void _internal_set_final_temperature(double value);

646

647 public:

648

649 private:

651 friend class ::google::protobuf::internal::TcParser;

652 static const ::google::protobuf::internal::TcParseTable<2, 4,

653 0, 0,

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};

685

686

687class OR_PROTO_DLL SISRRuinStrategy final : public ::google::protobuf::Message

688 {

689 public:

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

704 inline SISRRuinStrategy(SISRRuinStrategy&& from) noexcept

711 if (this == &from) return *this;

712 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {

713 InternalSwap(&from);

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 }

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() {

731 }

732 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {

734 }

735 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {

745 if (other == this) return;

746 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {

747 InternalSwap(other);

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

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;

765 using ::google::protobuf::Message::MergeFrom;

767

768 private:

769 static void MergeImpl(::google::protobuf::MessageLite& to_msg,

770 const ::google::protobuf::MessageLite& from_msg);

771

772 public:

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);

781 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,

782 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

783

784 public:

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

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

797 int GetCachedSize() const { return _impl_._cached_size_.Get(); }

798

799 private:

800 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);

803 private:

804 template <typename T>

806 static ::absl::string_view FullMessageName() { return "operations_research.SISRRuinStrategy"; }

807

808 explicit SISRRuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);

811 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SISRRuinStrategy&& from) noexcept

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

826

827

828 enum : int {

829 kMaxRemovedSequenceSizeFieldNumber = 1,

830 kAvgNumRemovedVisitsFieldNumber = 2,

831 kBypassFactorFieldNumber = 3,

832 };

833

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

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

860

861 private:

862 double _internal_bypass_factor() const;

863 void _internal_set_bypass_factor(double value);

864

865 public:

866

867 private:

869 friend class ::google::protobuf::internal::TcParser;

870 static const ::google::protobuf::internal::TcParseTable<2, 3,

871 0, 0,

872 2>

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,

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

902

903

904class OR_PROTO_DLL RuinCompositionStrategy final : public ::google::protobuf::internal::ZeroFieldsBase

905 {

906 public:

908

909#if defined(PROTOBUF_CUSTOM_VTABLE)

910 void operator delete(RuinCompositionStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {

911 SharedDtor(*msg);

913 }

914#endif

915

916 template <typename = void>

917 explicit PROTOBUF_CONSTEXPR RuinCompositionStrategy(::google::protobuf::internal::ConstantInitialized);

918

920 inline RuinCompositionStrategy(RuinCompositionStrategy&& from) noexcept

921 : RuinCompositionStrategy(nullptr, ::std::move(from)) {}

924 return *this;

927 if (this == &from) return *this;

928 if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {

929 InternalSwap(&from);

930 } else {

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() {

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;

957 }

958 static constexpr int kIndexInFileMessages = 6;

961 if (other == this) return;

962 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {

963 InternalSwap(other);

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

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;

981 ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from);

982 }

983 using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;

985 ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from);

986 }

987

988 public:

992 private:

993 template <typename T>

995 static ::absl::string_view FullMessageName() { return "operations_research.RuinCompositionStrategy"; }

996

1000 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RuinCompositionStrategy&& from) noexcept

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

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;

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) {

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};

1058

1061 {

1062 public:

1065

1066#if defined(PROTOBUF_CUSTOM_VTABLE)

1067 void operator delete(RandomWalkRuinStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {

1068 SharedDtor(*msg);

1070 }

1071#endif

1072

1073 template <typename = void>

1074 explicit PROTOBUF_CONSTEXPR RandomWalkRuinStrategy(::google::protobuf::internal::ConstantInitialized);

1075

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() {

1110 }

1115 static constexpr int kIndexInFileMessages = 1;

1118 if (other == this) return;

1119 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {

1120 InternalSwap(other);

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

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;

1138 using ::google::protobuf::Message::MergeFrom;

1142 static void MergeImpl(::google::protobuf::MessageLite& to_msg,

1143 const ::google::protobuf::MessageLite& from_msg);

1144

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);

1154 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,

1155 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

1156

1157 public:

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

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

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);

1177 template <typename T>

1179 static ::absl::string_view FullMessageName() { return "operations_research.RandomWalkRuinStrategy"; }

1180

1181 explicit RandomWalkRuinStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);

1184 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RandomWalkRuinStrategy&& from) noexcept

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

1199

1200

1201 enum : int {

1202 kNumRemovedVisitsFieldNumber = 7,

1203 };

1204

1205 bool has_num_removed_visits() const;

1206 void clear_num_removed_visits() ;

1207 ::uint32_t num_removed_visits() const;

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

1216 private:

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,

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

1249

1251class OR_PROTO_DLL PerturbationStrategy final : public ::google::protobuf::internal::ZeroFieldsBase

1252 {

1253 public:

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 }

1262

1263 template <typename = void>

1264 explicit PROTOBUF_CONSTEXPR PerturbationStrategy(::google::protobuf::internal::ConstantInitialized);

1265

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() {

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);

1316 if (other == this) return;

1317 ABSL_DCHECK(GetArena() == other->GetArena());

1318 InternalSwap(other);

1319 }

1320

1321

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;

1328 ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from);

1329 }

1330 using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;

1332 ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from);

1333 }

1337 return true;

1339 private:

1340 template <typename T>

1342 static ::absl::string_view FullMessageName() { return "operations_research.PerturbationStrategy"; }

1347 ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, PerturbationStrategy&& from) noexcept

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

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) {

1379 ::absl::string_view name, Value* PROTOBUF_NONNULL value) {

1381 }

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;

1403

1404

1406 {

1407 public:

1409

1410#if defined(PROTOBUF_CUSTOM_VTABLE)

1412 SharedDtor(*msg);

1414 }

1415#endif

1417 template <typename = void>

1419

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);

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() {

1448 }

1449 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {

1451 }

1452 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {

1453 return default_instance().GetMetadata().reflection;

1458 }

1459 static constexpr int kIndexInFileMessages = 13;

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

1476

1478 return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<MoreNodesPerformedAcceptanceStrategy>(arena);

1479 }

1480 using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;

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

1492 }

1494 template <typename T>

1496 static ::absl::string_view FullMessageName() { return "operations_research.MoreNodesPerformedAcceptanceStrategy"; }

1497

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

1516

1517

1518

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>

1531 using InternalArenaConstructable_ = void;

1532 using DestructorSkippable_ = void;

1534};

1537

1540 {

1543

1544#if defined(PROTOBUF_CUSTOM_VTABLE)

1546 SharedDtor(*msg);

1549#endif

1550

1551 template <typename = void>

1553

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() {

1582 }

1583 static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {

1585 }

1586 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {

1587 return default_instance().GetMetadata().reflection;

1588 }

1593 static constexpr int kIndexInFileMessages = 10;

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 }

1604 if (other == this) return;

1605 ABSL_DCHECK(GetArena() == other->GetArena());

1606 InternalSwap(other);

1607 }

1608

1609

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;

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:

1627 private:

1628 template <typename T>

1630 static ::absl::string_view FullMessageName() { return "operations_research.GreedyDescentAcceptanceStrategy"; }

1631

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

1650

1651

1652

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>

1665 using InternalArenaConstructable_ = void;

1666 using DestructorSkippable_ = void;

1668};

1669

1671

1672

1674 {

1675 public:

1677

1678#if defined(PROTOBUF_CUSTOM_VTABLE)

1679 void operator delete(CoolingScheduleStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {

1680 SharedDtor(*msg);

1682 }

1684

1685 template <typename = void>

1687

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);

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() {

1730 if (other == this) return;

1731 if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {

1732 InternalSwap(other);

1734 ::google::protobuf::internal::GenericSwap(this, other);

1735 }

1736 }

1738 if (other == this) return;

1739 ABSL_DCHECK(GetArena() == other->GetArena());

1740 InternalSwap(other);

1741 }

1742

1743

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;

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);

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

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

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>

1802 ::absl::string_view name, Value* PROTOBUF_NONNULL value) {

1807

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

1826

1829 {

1830 public:

1833#if defined(PROTOBUF_CUSTOM_VTABLE)

1835 SharedDtor(*msg);

1837 }

1838#endif

1840 template <typename = void>

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);

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() {

1877 }

1881 }

1882 static constexpr int kIndexInFileMessages = 12;

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

1899

1901 return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<AllNodesPerformedAcceptanceStrategy>(arena);

1902 }

1903 using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;

1905 ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from);

1906 }

1907 using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;

1909 ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from);

1910 }

1914 return true;

1916 private:

1917 template <typename T>

1919 static ::absl::string_view FullMessageName() { return "operations_research.AllNodesPerformedAcceptanceStrategy"; }

1920

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

1939

1940

1941

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

1960

1963 {

1968#if defined(PROTOBUF_CUSTOM_VTABLE)

1970 SharedDtor(*msg);

1972 }

1973#endif

1975 template <typename = void>

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 {

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() {

2009 }

2010 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {

2017 static constexpr int kIndexInFileMessages = 14;

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

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;

2042

2043 private:

2044 static void MergeImpl(::google::protobuf::MessageLite& to_msg,

2045 const ::google::protobuf::MessageLite& from_msg);

2046

2050 }

2051 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;

2052 #if defined(PROTOBUF_CUSTOM_VTABLE)

2054 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);

2056 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,

2057 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

2058

2059 public:

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

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

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>

2081 static ::absl::string_view FullMessageName() { return "operations_research.AbsencesBasedAcceptanceStrategy"; }

2082

2083 explicit AbsencesBasedAcceptanceStrategy(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);

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

2101

2102

2103 enum : int {

2104 kRemoveRouteWithLowestAbsencesFieldNumber = 1,

2105 };

2106

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

2117

2118 private:

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,

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

2151

2152

2153class OR_PROTO_DLL RuinStrategy final : public ::google::protobuf::Message

2154 {

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

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);

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() {

2200 }

2201 static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {

2202 return default_instance().GetMetadata().reflection;

2207 }

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);

2225 if (other == this) return;

2226 ABSL_DCHECK(GetArena() == other->GetArena());

2227 InternalSwap(other);

2230

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;

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:

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);

2253 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,

2254 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

2255

2256 public:

2259 ::uint8_t* PROTOBUF_NONNULL target,

2260 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {

2262 }

2263 #else

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

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>

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

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

2298

2299

2300 enum : int {

2301 kSpatiallyCloseRoutesFieldNumber = 1,

2302 kRandomWalkFieldNumber = 2,

2303 kSisrFieldNumber = 3,

2304 };

2305

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;

2318

2319 private:

2320 const ::operations_research::SpatiallyCloseRoutesRuinStrategy& _internal_spatially_close_routes() const;

2322

2323 public:

2324

2326 private:

2327 bool _internal_has_random_walk() const;

2328

2329 public:

2331 const ::operations_research::RandomWalkRuinStrategy& random_walk() const;

2337

2338 private:

2339 const ::operations_research::RandomWalkRuinStrategy& _internal_random_walk() const;

2341

2342 public:

2343

2345 private:

2346 bool _internal_has_sisr() const;

2347

2348 public:

2350 const ::operations_research::SISRRuinStrategy& sisr() const;

2356

2357 private:

2358 const ::operations_research::SISRRuinStrategy& _internal_sisr() const;

2360

2361 public:

2364

2365 private:

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,

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;

2413 public:

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

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;

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 }

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 }

2466 enum ParametersCase {

2471 };

2472 static constexpr int kIndexInFileMessages = 4;

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);

2483 if (other == this) return;

2484 ABSL_DCHECK(GetArena() == other->GetArena());

2485 InternalSwap(other);

2488

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;

2495 using ::google::protobuf::Message::MergeFrom;

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);

2511 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,

2512 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

2513

2514 public:

2516 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(

2517 ::uint8_t* PROTOBUF_NONNULL target,

2518 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {

2520 }

2521 #else

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

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>

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

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

2556

2557

2558 enum : int {

2559 kLocalCheapestInsertionFieldNumber = 1,

2560 kSavingsFieldNumber = 2,

2561 kGlobalCheapestInsertionFieldNumber = 3,

2562 };

2563

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;

2576

2577 private:

2578 const ::operations_research::LocalCheapestInsertionParameters& _internal_local_cheapest_insertion() const;

2580

2581 public:

2582

2584 private:

2585 bool _internal_has_savings() const;

2586

2587 public:

2589 const ::operations_research::SavingsParameters& savings() const;

2595

2596 private:

2597 const ::operations_research::SavingsParameters& _internal_savings() const;

2599

2600 public:

2601

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;

2618

2619 public:

2622

2623 private:

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,

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};

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);

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() {

2719 }

2723 }

2724 enum StrategyCase {

2725 kGreedyDescent = 1,

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);

2743 if (other == this) return;

2744 ABSL_DCHECK(GetArena() == other->GetArena());

2745 InternalSwap(other);

2746 }

2748

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;

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:

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:

2776 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(

2777 ::uint8_t* PROTOBUF_NONNULL target,

2778 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {

2780 }

2781 #else

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

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>

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

2816

2817

2818 enum : int {

2819 kGreedyDescentFieldNumber = 1,

2820 kSimulatedAnnealingFieldNumber = 2,

2821 kAllNodesPerformedFieldNumber = 3,

2822 kMoreNodesPerformedFieldNumber = 4,

2823 kAbsencesBasedFieldNumber = 5,

2824 };

2825

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;

2839 private:

2840 const ::operations_research::GreedyDescentAcceptanceStrategy& _internal_greedy_descent() const;

2842

2843 public:

2844

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;

2861

2862 public:

2863

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;

2880

2881 public:

2882

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;

2899

2900 public:

2901

2903 private:

2904 bool _internal_has_absences_based() const;

2905

2906 public:

2908 const ::operations_research::AbsencesBasedAcceptanceStrategy& absences_based() const;

2914

2915 private:

2916 const ::operations_research::AbsencesBasedAcceptanceStrategy& _internal_absences_based() const;

2918

2919 public:

2922

2923 private:

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,

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;

2978

2979#if defined(PROTOBUF_CUSTOM_VTABLE)

2980 void operator delete(RecreateStrategy* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {

2981 SharedDtor(*msg);

2983 }

2984#endif

2985

2986 template <typename = void>

2987 explicit PROTOBUF_CONSTEXPR RecreateStrategy(::google::protobuf::internal::ConstantInitialized);

2988

2994 return *this;

2995 }

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() {

3027 }

3028 static constexpr int kIndexInFileMessages = 5;

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);

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

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;

3051 using ::google::protobuf::Message::MergeFrom;

3052 void MergeFrom(const RecreateStrategy& from) { RecreateStrategy::MergeImpl(*this, from); }

3053

3055 static void MergeImpl(::google::protobuf::MessageLite& to_msg,

3056 const ::google::protobuf::MessageLite& from_msg);

3057

3058 public:

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);

3067 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,

3068 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

3069

3070 public:

3072 ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(

3073 ::uint8_t* PROTOBUF_NONNULL target,

3074 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {

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

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>

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

3112

3113

3114 enum : int {

3115 kParametersFieldNumber = 2,

3116 kHeuristicFieldNumber = 1,

3117 };

3118

3119 bool has_parameters() const;

3120 void clear_parameters() ;

3121 const ::operations_research::RecreateParameters& parameters() const;

3127

3128 private:

3129 const ::operations_research::RecreateParameters& _internal_parameters() const;

3133

3138

3139 private:

3142

3143 public:

3144

3145 private:

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,

3168 ::google::protobuf::internal::HasBits<1> _has_bits_;

3169 ::google::protobuf::internal::CachedSize _cached_size_;

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

3179

3180

3181class OR_PROTO_DLL RuinRecreateParameters final : public ::google::protobuf::Message

3182 {

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);

3192#endif

3193

3194 template <typename = void>

3195 explicit PROTOBUF_CONSTEXPR RuinRecreateParameters(::google::protobuf::internal::ConstantInitialized);

3196

3202 return *this;

3203 }

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;

3236 static constexpr int kIndexInFileMessages = 7;

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 }

3247 if (other == this) return;

3248 ABSL_DCHECK(GetArena() == other->GetArena());

3249 InternalSwap(other);

3250 }

3251

3252

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;

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:

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);

3275 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,

3276 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

3278 public:

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

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

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>

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

3320

3321

3322 enum : int {

3323 kRuinStrategiesFieldNumber = 1,

3324 kRecreateStrategyFieldNumber = 3,

3325 kRuinCompositionStrategyFieldNumber = 2,

3326 kRouteSelectionMinNeighborsFieldNumber = 5,

3327 kRouteSelectionNeighborsRatioFieldNumber = 4,

3328 kRouteSelectionMaxNeighborsFieldNumber = 6,

3329 };

3330

3331 int ruin_strategies_size() const;

3332 private:

3333 int _internal_ruin_strategies_size() const;

3334

3335 public:

3336 void clear_ruin_strategies() ;

3338 ::google::protobuf::RepeatedPtrField<::operations_research::RuinStrategy>* PROTOBUF_NONNULL mutable_ruin_strategies();

3339

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();

3344 const ::operations_research::RuinStrategy& ruin_strategies(int index) const;

3346 const ::google::protobuf::RepeatedPtrField<::operations_research::RuinStrategy>& ruin_strategies() const;

3347

3350 const ::operations_research::RecreateStrategy& recreate_strategy() const;

3356

3357 private:

3358 const ::operations_research::RecreateStrategy& _internal_recreate_strategy() const;

3360

3361 public:

3362

3366

3367 private:

3370

3371 public:

3372

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

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

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

3406 private:

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,

3429 ::google::protobuf::internal::HasBits<1> _has_bits_;

3430 ::google::protobuf::internal::CachedSize _cached_size_;

3431 ::google::protobuf::RepeatedPtrField< ::operations_research::RuinStrategy > ruin_strategies_;

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

3444

3445

3446class OR_PROTO_DLL IteratedLocalSearchParameters final : public ::google::protobuf::Message

3447 {

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));

3458

3459 template <typename = void>

3461

3466 CopyFrom(from);

3467 return *this;

3468 }

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 }

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() {

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 }

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);

3520 return ::google::protobuf::Message::DefaultConstruct<IteratedLocalSearchParameters>(arena);

3522 using ::google::protobuf::Message::CopyFrom;

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:

3533 return true;

3534 }

3535 ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;

3536 #if defined(PROTOBUF_CUSTOM_VTABLE)

3538 static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);

3540 const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,

3541 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

3542

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 }

3553 ::uint8_t* PROTOBUF_NONNULL target,

3554 ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;

3555 #endif

3557

3558 private:

3559 void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);

3560 static void SharedDtor(MessageLite& self);

3562 private:

3563 template <typename T>

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:

3582

3584

3585

3586

3587 enum : int {

3593 };

3594

3595 bool has_ruin_recreate_parameters() const;

3596 void clear_ruin_recreate_parameters() ;

3597 const ::operations_research::RuinRecreateParameters& ruin_recreate_parameters() const;

3603

3604 private:

3605 const ::operations_research::RuinRecreateParameters& _internal_ruin_recreate_parameters() const;

3609

3618

3619 private:

3620 const ::operations_research::AcceptanceStrategy& _internal_reference_solution_acceptance_strategy() const;

3622

3623 public:

3624

3633

3634 private:

3635 const ::operations_research::AcceptanceStrategy& _internal_best_solution_acceptance_strategy() const;

3637

3638 public:

3639

3643

3644 private:

3647

3648 public:

3649

3654

3655 private:

3656 bool _internal_improve_perturbed_solution() const;

3657 void _internal_set_improve_perturbed_solution(bool value);

3658

3659 public:

3660

3661 private:

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,

3684 ::google::protobuf::internal::HasBits<1> _has_bits_;

3685 ::google::protobuf::internal::CachedSize _cached_size_;

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

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

3711

3713

3714

3715

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

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

3734}

3735inline ::uint32_t SpatiallyCloseRoutesRuinStrategy::_internal_num_ruined_routes() const {

3736 ::google::protobuf::internal::TSanRead(&_impl_);

3738}

3739inline void SpatiallyCloseRoutesRuinStrategy::_internal_set_num_ruined_routes(::uint32_t value) {

3740 ::google::protobuf::internal::TSanWrite(&_impl_);

3742}

3743

3744

3745

3746

3748

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

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

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;

3781

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

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

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

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}

3822

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

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

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}

3851

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

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}

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

3895 if (strategy_case() == kSpatiallyCloseRoutes) {

3896 clear_has_strategy();

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 {

3910}

3911inline const ::operations_research::SpatiallyCloseRoutesRuinStrategy& RuinStrategy::spatially_close_routes() const ABSL_ATTRIBUTE_LIFETIME_BOUND {

3912

3913 return _internal_spatially_close_routes();

3914}

3915inline ::operations_research::SpatiallyCloseRoutesRuinStrategy* PROTOBUF_NULLABLE RuinStrategy::unsafe_arena_release_spatially_close_routes() {

3916

3918 clear_has_strategy();

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

3929

3930

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

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 }

3946}

3947inline ::operations_research::SpatiallyCloseRoutesRuinStrategy* PROTOBUF_NONNULL RuinStrategy::mutable_spatially_close_routes()

3948 ABSL_ATTRIBUTE_LIFETIME_BOUND {

3950

3951 return _msg;

3952}

3953

3954

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

3977 if (strategy_case() == kRandomWalk) {

3978 clear_has_strategy();

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 {

3992}

3993inline const ::operations_research::RandomWalkRuinStrategy& RuinStrategy::random_walk() const ABSL_ATTRIBUTE_LIFETIME_BOUND {

3994

3995 return _internal_random_walk();

3996}

3997inline ::operations_research::RandomWalkRuinStrategy* PROTOBUF_NULLABLE RuinStrategy::unsafe_arena_release_random_walk() {

3998

4000 clear_has_strategy();

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

4011

4012

4013 clear_strategy();

4014 if (value) {

4015 set_has_random_walk();

4016 _impl_.strategy_.random_walk_ = reinterpret_cast<::google::protobuf::Message*>(value);

4018

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 }

4028}

4029inline ::operations_research::RandomWalkRuinStrategy* PROTOBUF_NONNULL RuinStrategy::mutable_random_walk()

4030 ABSL_ATTRIBUTE_LIFETIME_BOUND {

4032

4033 return _msg;

4034}

4035

4036

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

4059 if (strategy_case() == kSisr) {

4060 clear_has_strategy();

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 {

4074}

4075inline const ::operations_research::SISRRuinStrategy& RuinStrategy::sisr() const ABSL_ATTRIBUTE_LIFETIME_BOUND {

4076

4077 return _internal_sisr();

4078}

4079inline ::operations_research::SISRRuinStrategy* PROTOBUF_NULLABLE RuinStrategy::unsafe_arena_release_sisr() {

4080

4082 clear_has_strategy();

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

4093

4094

4095 clear_strategy();

4096 if (value) {

4097 set_has_sisr();

4098 _impl_.strategy_.sisr_ = reinterpret_cast<::google::protobuf::Message*>(value);

4100

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 }

4110}

4111inline ::operations_research::SISRRuinStrategy* PROTOBUF_NONNULL RuinStrategy::mutable_sisr()

4112 ABSL_ATTRIBUTE_LIFETIME_BOUND {

4114

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

4130

4131

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

4143 if (parameters_case() == kLocalCheapestInsertion) {

4144 clear_has_parameters();

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_))

4160

4161 return _internal_local_cheapest_insertion();

4162}

4163inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NULLABLE RecreateParameters::unsafe_arena_release_local_cheapest_insertion() {

4164

4165 if (parameters_case() == kLocalCheapestInsertion) {

4166 clear_has_parameters();

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

4177

4178

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

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 }

4194}

4195inline ::operations_research::LocalCheapestInsertionParameters* PROTOBUF_NONNULL RecreateParameters::mutable_local_cheapest_insertion()

4196 ABSL_ATTRIBUTE_LIFETIME_BOUND {

4198

4199 return _msg;

4200}

4201

4202

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

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_))

4231

4232 return _internal_savings();

4233}

4234inline ::operations_research::SavingsParameters* PROTOBUF_NULLABLE RecreateParameters::unsafe_arena_release_savings() {

4235

4236 if (parameters_case() == kSavings) {

4237 clear_has_parameters();

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

4248

4249

4250 clear_parameters();

4251 if (value) {

4252 set_has_savings();

4253 _impl_.parameters_.savings_ = reinterpret_cast<::google::protobuf::Message*>(value);

4254 }

4255

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 }

4265}

4266inline ::operations_research::SavingsParameters* PROTOBUF_NONNULL RecreateParameters::mutable_savings()

4267 ABSL_ATTRIBUTE_LIFETIME_BOUND {

4269

4270 return _msg;

4271}

4272

4273

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

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_))

4302

4303 return _internal_global_cheapest_insertion();

4304}

4305inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NULLABLE RecreateParameters::unsafe_arena_release_global_cheapest_insertion() {

4306

4307 if (parameters_case() == kGlobalCheapestInsertion) {

4308 clear_has_parameters();

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

4319

4320

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

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 }

4336}

4337inline ::operations_research::GlobalCheapestInsertionParameters* PROTOBUF_NONNULL RecreateParameters::mutable_global_cheapest_insertion()

4338 ABSL_ATTRIBUTE_LIFETIME_BOUND {

4340

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

4356

4357

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}

4369

4370 return _internal_heuristic();

4371}

4373 _internal_set_heuristic(value);

4374 SetHasBit(_impl_._has_bits_[0], 0x00000002U);

4375

4376}

4377inline ::operations_research::FirstSolutionStrategy_Value RecreateStrategy::_internal_heuristic() const {

4378 ::google::protobuf::internal::TSanRead(&_impl_);

4380}

4382 ::google::protobuf::internal::TSanWrite(&_impl_);

4383 _impl_.heuristic_ = value;

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

4405 return _internal_parameters();

4406}

4407inline void RecreateStrategy::unsafe_arena_set_allocated_parameters(

4409 ::google::protobuf::internal::TSanWrite(&_impl_);

4410 if (GetArena() == nullptr) {

4411 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.parameters_);

4412 }

4414 if (value != nullptr) {

4415 SetHasBit(_impl_._has_bits_[0], 0x00000001U);

4416 } else {

4417 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);

4419

4420}

4421inline ::operations_research::RecreateParameters* PROTOBUF_NULLABLE RecreateStrategy::release_parameters() {

4422 ::google::protobuf::internal::TSanWrite(&_impl_);

4423

4424 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);

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 }

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

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());

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

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

4484

4485

4486

4487

4488

4489

4491

4492

4493

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

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

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

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

4531 return _add;

4532}

4534 ABSL_ATTRIBUTE_LIFETIME_BOUND {

4535

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_);

4551 ::google::protobuf::internal::TSanWrite(&_impl_);

4552 _impl_.ruin_composition_strategy_ = 0;

4553 ClearHasBit(_impl_._has_bits_[0],

4554 0x00000004U);

4555}

4557

4558 return _internal_ruin_composition_strategy();

4559}

4561 _internal_set_ruin_composition_strategy(value);

4562 SetHasBit(_impl_._has_bits_[0], 0x00000004U);

4563

4564}

4565inline ::operations_research::RuinCompositionStrategy_Value RuinRecreateParameters::_internal_ruin_composition_strategy() const {

4566 ::google::protobuf::internal::TSanRead(&_impl_);

4568}

4570 ::google::protobuf::internal::TSanWrite(&_impl_);

4571 _impl_.ruin_composition_strategy_ = value;

4572}

4573

4574

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}

4592

4593 return _internal_recreate_strategy();

4594}

4595inline void RuinRecreateParameters::unsafe_arena_set_allocated_recreate_strategy(

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

4610 ::google::protobuf::internal::TSanWrite(&_impl_);

4611

4612 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);

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) {

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

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());

4642 }

4643 return _impl_.recreate_strategy_;

4644}

4646 ABSL_ATTRIBUTE_LIFETIME_BOUND {

4647 SetHasBit(_impl_._has_bits_[0], 0x00000002U);

4649

4650 return _msg;

4651}

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

4671}

4672

4673

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

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

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

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

4715 return _internal_route_selection_min_neighbors();

4718 _internal_set_route_selection_min_neighbors(value);

4719 SetHasBit(_impl_._has_bits_[0], 0x00000008U);

4720

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

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

4744 return _internal_route_selection_max_neighbors();

4747 _internal_set_route_selection_max_neighbors(value);

4748 SetHasBit(_impl_._has_bits_[0], 0x00000020U);

4749

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

4764

4765

4766

4767

4768

4769

4774

4775

4776

4778 ::google::protobuf::internal::TSanWrite(&_impl_);

4779 _impl_.cooling_schedule_strategy_ = 0;

4780 ClearHasBit(_impl_._has_bits_[0],

4781 0x00000002U);

4782}

4784

4785 return _internal_cooling_schedule_strategy();

4786}

4788 _internal_set_cooling_schedule_strategy(value);

4789 SetHasBit(_impl_._has_bits_[0], 0x00000002U);

4790

4791}

4792inline ::operations_research::CoolingScheduleStrategy_Value SimulatedAnnealingAcceptanceStrategy::_internal_cooling_schedule_strategy() const {

4793 ::google::protobuf::internal::TSanRead(&_impl_);

4795}

4797 ::google::protobuf::internal::TSanWrite(&_impl_);

4798 _impl_.cooling_schedule_strategy_ = value;

4799}

4800

4801

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;

4810 0x00000001U);

4811}

4813

4814 return _internal_initial_temperature();

4817 _internal_set_initial_temperature(value);

4818 SetHasBit(_impl_._has_bits_[0], 0x00000001U);

4819

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

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;

4839 0x00000008U);

4840}

4842

4843 return _internal_final_temperature();

4846 _internal_set_final_temperature(value);

4847 SetHasBit(_impl_._has_bits_[0], 0x00000008U);

4848

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

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;

4868 0x00000004U);

4869}

4871

4872 return _internal_automatic_temperatures();

4875 _internal_set_automatic_temperatures(value);

4876 SetHasBit(_impl_._has_bits_[0], 0x00000004U);

4877

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

4891

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

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

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

4932

4933

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

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_))

4973

4974 return _internal_greedy_descent();

4975}

4976inline ::operations_research::GreedyDescentAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::unsafe_arena_release_greedy_descent() {

4977

4978 if (strategy_case() == kGreedyDescent) {

4979 clear_has_strategy();

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

4990

4991

4993 if (value) {

4994 set_has_greedy_descent();

4995 _impl_.strategy_.greedy_descent_ = reinterpret_cast<::google::protobuf::Message*>(value);

4996 }

4997

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}

5009 ABSL_ATTRIBUTE_LIFETIME_BOUND {

5011

5012 return _msg;

5013}

5014

5015

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() {

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

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_))

5055

5056 return _internal_simulated_annealing();

5057}

5058inline ::operations_research::SimulatedAnnealingAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::unsafe_arena_release_simulated_annealing() {

5059

5060 if (strategy_case() == kSimulatedAnnealing) {

5061 clear_has_strategy();

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

5072

5073

5075 if (value) {

5076 set_has_simulated_annealing();

5077 _impl_.strategy_.simulated_annealing_ = reinterpret_cast<::google::protobuf::Message*>(value);

5078 }

5079

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}

5091 ABSL_ATTRIBUTE_LIFETIME_BOUND {

5093

5094 return _msg;

5095}

5096

5097

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() {

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

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_))

5137

5138 return _internal_all_nodes_performed();

5139}

5140inline ::operations_research::AllNodesPerformedAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::unsafe_arena_release_all_nodes_performed() {

5141

5142 if (strategy_case() == kAllNodesPerformed) {

5143 clear_has_strategy();

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

5154

5155

5157 if (value) {

5158 set_has_all_nodes_performed();

5159 _impl_.strategy_.all_nodes_performed_ = reinterpret_cast<::google::protobuf::Message*>(value);

5160 }

5161

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}

5173 ABSL_ATTRIBUTE_LIFETIME_BOUND {

5175

5176 return _msg;

5177}

5178

5179

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() {

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

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_))

5219

5220 return _internal_more_nodes_performed();

5221}

5222inline ::operations_research::MoreNodesPerformedAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::unsafe_arena_release_more_nodes_performed() {

5223

5224 if (strategy_case() == kMoreNodesPerformed) {

5225 clear_has_strategy();

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

5236

5237

5239 if (value) {

5240 set_has_more_nodes_performed();

5241 _impl_.strategy_.more_nodes_performed_ = reinterpret_cast<::google::protobuf::Message*>(value);

5242 }

5243

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}

5255 ABSL_ATTRIBUTE_LIFETIME_BOUND {

5257

5258 return _msg;

5259}

5260

5261

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() {

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

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_))

5301

5302 return _internal_absences_based();

5303}

5304inline ::operations_research::AbsencesBasedAcceptanceStrategy* PROTOBUF_NULLABLE AcceptanceStrategy::unsafe_arena_release_absences_based() {

5305

5306 if (strategy_case() == kAbsencesBased) {

5307 clear_has_strategy();

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

5318

5319

5321 if (value) {

5322 set_has_absences_based();

5323 _impl_.strategy_.absences_based_ = reinterpret_cast<::google::protobuf::Message*>(value);

5324 }

5325

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}

5337 ABSL_ATTRIBUTE_LIFETIME_BOUND {

5339

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

5355

5356

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

5365 return _internal_perturbation_strategy();

5366}

5368 _internal_set_perturbation_strategy(value);

5369 SetHasBit(_impl_._has_bits_[0], 0x00000008U);

5370

5371}

5372inline ::operations_research::PerturbationStrategy_Value IteratedLocalSearchParameters::_internal_perturbation_strategy() const {

5373 ::google::protobuf::internal::TSanRead(&_impl_);

5375}

5377 ::google::protobuf::internal::TSanWrite(&_impl_);

5378 _impl_.perturbation_strategy_ = value;

5379}

5380

5381

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}

5399

5400 return _internal_ruin_recreate_parameters();

5401}

5404 ::google::protobuf::internal::TSanWrite(&_impl_);

5405 if (GetArena() == nullptr) {

5406 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ruin_recreate_parameters_);

5407 }

5409 if (value != nullptr) {

5410 SetHasBit(_impl_._has_bits_[0], 0x00000001U);

5411 } else {

5412 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);

5413 }

5414

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);

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}

5436 ::google::protobuf::internal::TSanWrite(&_impl_);

5437

5438

5439 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);

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());

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);

5456

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);

5473 ClearHasBit(_impl_._has_bits_[0], 0x00000001U);

5474 }

5475

5477

5478}

5479

5480

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

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

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

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();

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}

5527

5528 return _internal_reference_solution_acceptance_strategy();

5529}

5532 ::google::protobuf::internal::TSanWrite(&_impl_);

5533 if (GetArena() == nullptr) {

5534 delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.reference_solution_acceptance_strategy_);

5535 }

5537 if (value != nullptr) {

5538 SetHasBit(_impl_._has_bits_[0], 0x00000002U);

5539 } else {

5540 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);

5541 }

5542

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);

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}

5564 ::google::protobuf::internal::TSanWrite(&_impl_);

5565

5566

5567 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);

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());

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);

5584

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);

5601 ClearHasBit(_impl_._has_bits_[0], 0x00000002U);

5602 }

5603

5605

5606}

5607

5608

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();

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_;

5626

5627 return _internal_best_solution_acceptance_strategy();

5628}

5629inline void IteratedLocalSearchParameters::unsafe_arena_set_allocated_best_solution_acceptance_strategy(

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

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);

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}

5663 ::google::protobuf::internal::TSanWrite(&_impl_);

5664

5665

5666 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);

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());

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);

5683

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);

5700 ClearHasBit(_impl_._has_bits_[0], 0x00000004U);

5701 }

5702

5704

5705}

5706

5707#ifdef __GNUC__

5708#pragma GCC diagnostic pop

5709#endif

5710

5711

5712}

5713

5714

5715namespace google {

5716namespace protobuf {

5717

5718template <>

5720template <>

5721inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::RuinCompositionStrategy_Value>() {

5722 return ::operations_research::RuinCompositionStrategy_Value_descriptor();

5724template <>

5726template <>

5727inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::PerturbationStrategy_Value>() {

5728 return ::operations_research::PerturbationStrategy_Value_descriptor();

5729}

5730template <>

5732template <>

5733inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::operations_research::CoolingScheduleStrategy_Value>() {

5734 return ::operations_research::CoolingScheduleStrategy_Value_descriptor();

5735}

5736

5737}

5738}

5739

5740

5741

5742#include "google/protobuf/port_undef.inc"

5743

5744#endif

static const AbsencesBasedAcceptanceStrategy & default_instance()

Definition routing_ils.pb.h:2025

AbsencesBasedAcceptanceStrategy()

Definition routing_ils.pb.h:1977

bool IsInitialized() const

Definition routing_ils.pb.h:2060

void MergeFrom(const AbsencesBasedAcceptanceStrategy &from)

Definition routing_ils.pb.h:2053

::size_t ByteSizeLong() const final

static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()

Definition routing_ils.pb.h:2019

bool has_remove_route_with_lowest_absences() const

Definition routing_ils.pb.h:4936

Impl_ _impl_

Definition routing_ils.pb.h:2158

void clear_remove_route_with_lowest_absences()

Definition routing_ils.pb.h:4940

void Swap(AbsencesBasedAcceptanceStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:2031

void CopyFrom(const AbsencesBasedAcceptanceStrategy &from)

bool remove_route_with_lowest_absences() const

Definition routing_ils.pb.h:4946

::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final

bool has_more_nodes_performed() const

Definition routing_ils.pb.h:5216

bool has_all_nodes_performed() const

Definition routing_ils.pb.h:5134

AcceptanceStrategy()

Definition routing_ils.pb.h:2687

::operations_research::MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NONNULL mutable_more_nodes_performed()

Definition routing_ils.pb.h:5290

void clear_simulated_annealing()

Definition routing_ils.pb.h:5061

bool has_simulated_annealing() const

Definition routing_ils.pb.h:5052

bool IsInitialized() const

Definition routing_ils.pb.h:2778

static const AcceptanceStrategy & default_instance()

Definition routing_ils.pb.h:2735

StrategyCase strategy_case() const

Definition routing_ils.pb.h:5385

void unsafe_arena_set_allocated_absences_based(::operations_research::AbsencesBasedAcceptanceStrategy *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:5351

void set_allocated_more_nodes_performed(::operations_research::MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE value)

const ::operations_research::AbsencesBasedAcceptanceStrategy & absences_based() const

Definition routing_ils.pb.h:5336

void unsafe_arena_set_allocated_more_nodes_performed(::operations_research::MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:5269

::operations_research::SimulatedAnnealingAcceptanceStrategy *PROTOBUF_NULLABLE release_simulated_annealing()

Definition routing_ils.pb.h:5072

const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:2717

::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()

Definition routing_ils.pb.h:5094

const ::operations_research::MoreNodesPerformedAcceptanceStrategy & more_nodes_performed() const

Definition routing_ils.pb.h:5254

const ::operations_research::GreedyDescentAcceptanceStrategy & greedy_descent() const

Definition routing_ils.pb.h:5008

StrategyCase

Definition routing_ils.pb.h:2739

@ STRATEGY_NOT_SET

Definition routing_ils.pb.h:2745

@ kMoreNodesPerformed

Definition routing_ils.pb.h:2743

@ kAllNodesPerformed

Definition routing_ils.pb.h:2742

@ kSimulatedAnnealing

Definition routing_ils.pb.h:2741

@ kAbsencesBased

Definition routing_ils.pb.h:2744

void clear_absences_based()

Definition routing_ils.pb.h:5307

::operations_research::AllNodesPerformedAcceptanceStrategy *PROTOBUF_NONNULL mutable_all_nodes_performed()

Definition routing_ils.pb.h:5208

::operations_research::AbsencesBasedAcceptanceStrategy *PROTOBUF_NULLABLE release_absences_based()

Definition routing_ils.pb.h:5318

::size_t ByteSizeLong() const final

::operations_research::GreedyDescentAcceptanceStrategy *PROTOBUF_NONNULL mutable_greedy_descent()

Definition routing_ils.pb.h:5044

::operations_research::SimulatedAnnealingAcceptanceStrategy *PROTOBUF_NONNULL mutable_simulated_annealing()

Definition routing_ils.pb.h:5126

void clear_all_nodes_performed()

Definition routing_ils.pb.h:5143

void unsafe_arena_set_allocated_greedy_descent(::operations_research::GreedyDescentAcceptanceStrategy *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:5023

static constexpr int kIndexInFileMessages

Definition routing_ils.pb.h:2747

void Swap(AcceptanceStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:2749

void unsafe_arena_set_allocated_simulated_annealing(::operations_research::SimulatedAnnealingAcceptanceStrategy *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:5105

const ::operations_research::AllNodesPerformedAcceptanceStrategy & all_nodes_performed() const

Definition routing_ils.pb.h:5172

::operations_research::AbsencesBasedAcceptanceStrategy *PROTOBUF_NULLABLE unsafe_arena_release_absences_based()

Definition routing_ils.pb.h:5340

Impl_ _impl_

Definition routing_ils.pb.h:2981

::operations_research::GreedyDescentAcceptanceStrategy *PROTOBUF_NULLABLE unsafe_arena_release_greedy_descent()

Definition routing_ils.pb.h:5012

void set_allocated_absences_based(::operations_research::AbsencesBasedAcceptanceStrategy *PROTOBUF_NULLABLE value)

::operations_research::AbsencesBasedAcceptanceStrategy *PROTOBUF_NONNULL mutable_absences_based()

Definition routing_ils.pb.h:5372

void set_allocated_all_nodes_performed(::operations_research::AllNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE value)

::operations_research::AllNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE release_all_nodes_performed()

Definition routing_ils.pb.h:5154

void clear_greedy_descent()

Definition routing_ils.pb.h:4979

void clear_more_nodes_performed()

Definition routing_ils.pb.h:5225

const ::operations_research::SimulatedAnnealingAcceptanceStrategy & simulated_annealing() const

Definition routing_ils.pb.h:5090

AcceptanceStrategy *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const

Definition routing_ils.pb.h:2765

bool has_absences_based() const

Definition routing_ils.pb.h:5298

::operations_research::AllNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE unsafe_arena_release_all_nodes_performed()

Definition routing_ils.pb.h:5176

void set_allocated_greedy_descent(::operations_research::GreedyDescentAcceptanceStrategy *PROTOBUF_NULLABLE value)

static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()

Definition routing_ils.pb.h:2732

friend void swap(AcceptanceStrategy &a, AcceptanceStrategy &b)

Definition routing_ils.pb.h:2748

void set_allocated_simulated_annealing(::operations_research::SimulatedAnnealingAcceptanceStrategy *PROTOBUF_NULLABLE value)

::operations_research::MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE release_more_nodes_performed()

Definition routing_ils.pb.h:5236

::operations_research::MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE unsafe_arena_release_more_nodes_performed()

Definition routing_ils.pb.h:5258

void unsafe_arena_set_allocated_all_nodes_performed(::operations_research::AllNodesPerformedAcceptanceStrategy *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:5187

void UnsafeArenaSwap(AcceptanceStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:2757

void Swap(AllNodesPerformedAcceptanceStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:1895

static const AllNodesPerformedAcceptanceStrategy & default_instance()

Definition routing_ils.pb.h:1889

friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto

Definition routing_ils.pb.h:1967

AllNodesPerformedAcceptanceStrategy()

Definition routing_ils.pb.h:1842

void CopyFrom(const AllNodesPerformedAcceptanceStrategy &from)

Definition routing_ils.pb.h:1915

friend void swap(AllNodesPerformedAcceptanceStrategy &a, AllNodesPerformedAcceptanceStrategy &b)

Definition routing_ils.pb.h:1894

bool IsInitialized() const

Definition routing_ils.pb.h:1924

static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()

Definition routing_ils.pb.h:1886

static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL Value_descriptor()

Definition routing_ils.pb.h:1804

const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:1715

static constexpr int kIndexInFileMessages

Definition routing_ils.pb.h:1737

static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()

Definition routing_ils.pb.h:1727

void UnsafeArenaSwap(CoolingScheduleStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:1747

void Swap(CoolingScheduleStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:1739

static bool Value_Parse(::absl::string_view name, Value *PROTOBUF_NONNULL value)

Definition routing_ils.pb.h:1811

CoolingScheduleStrategy()

Definition routing_ils.pb.h:1686

static const ::std::string & Value_Name(T value)

Definition routing_ils.pb.h:1808

CoolingScheduleStrategy_Value Value

Definition routing_ils.pb.h:1794

friend void swap(CoolingScheduleStrategy &a, CoolingScheduleStrategy &b)

Definition routing_ils.pb.h:1738

void Swap(GreedyDescentAcceptanceStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:1604

GreedyDescentAcceptanceStrategy & operator=(const GreedyDescentAcceptanceStrategy &from)

Definition routing_ils.pb.h:1566

void CopyFrom(const GreedyDescentAcceptanceStrategy &from)

Definition routing_ils.pb.h:1624

static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()

Definition routing_ils.pb.h:1592

friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto

Definition routing_ils.pb.h:1676

void UnsafeArenaSwap(GreedyDescentAcceptanceStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:1612

bool IsInitialized() const

Definition routing_ils.pb.h:1633

static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()

Definition routing_ils.pb.h:1589

const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:1580

GreedyDescentAcceptanceStrategy()

Definition routing_ils.pb.h:1551

static const GreedyDescentAcceptanceStrategy & default_instance()

Definition routing_ils.pb.h:1598

friend class ::google::protobuf::Arena::InternalHelper

Definition routing_ils.pb.h:1673

friend class ::google::protobuf::Arena

Definition routing_ils.pb.h:1671

void clear_best_solution_acceptance_strategy()

Definition routing_ils.pb.h:5651

::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE release_reference_solution_acceptance_strategy()

Definition routing_ils.pb.h:5581

void set_perturbation_strategy(::operations_research::PerturbationStrategy_Value value)

Definition routing_ils.pb.h:5404

static const IteratedLocalSearchParameters & default_instance()

Definition routing_ils.pb.h:3515

bool has_reference_solution_acceptance_strategy() const

Definition routing_ils.pb.h:5547

static constexpr auto InternalGenerateClassData_()

void unsafe_arena_set_allocated_best_solution_acceptance_strategy(::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:5666

::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE unsafe_arena_release_reference_solution_acceptance_strategy()

Definition routing_ils.pb.h:5600

void unsafe_arena_set_allocated_reference_solution_acceptance_strategy(::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:5567

static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()

Definition routing_ils.pb.h:3509

IteratedLocalSearchParameters()

Definition routing_ils.pb.h:3467

bool IsInitialized() const

Definition routing_ils.pb.h:3550

static constexpr int kIndexInFileMessages

Definition routing_ils.pb.h:3519

void clear_reference_solution_acceptance_strategy()

Definition routing_ils.pb.h:5552

void set_allocated_best_solution_acceptance_strategy(::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:5723

void clear_perturbation_strategy()

Definition routing_ils.pb.h:5394

const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:3497

friend void swap(IteratedLocalSearchParameters &a, IteratedLocalSearchParameters &b)

Definition routing_ils.pb.h:3520

::operations_research::RuinRecreateParameters *PROTOBUF_NULLABLE unsafe_arena_release_ruin_recreate_parameters()

Definition routing_ils.pb.h:5472

static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()

Definition routing_ils.pb.h:3506

bool has_best_solution_acceptance_strategy() const

Definition routing_ils.pb.h:5646

void set_allocated_ruin_recreate_parameters(::operations_research::RuinRecreateParameters *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:5496

void set_allocated_reference_solution_acceptance_strategy(::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:5624

::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE release_best_solution_acceptance_strategy()

Definition routing_ils.pb.h:5680

::size_t ByteSizeLong() const final

IteratedLocalSearchParameters *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const

Definition routing_ils.pb.h:3537

::operations_research::AcceptanceStrategy *PROTOBUF_NULLABLE unsafe_arena_release_best_solution_acceptance_strategy()

Definition routing_ils.pb.h:5699

::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final

void clear_ruin_recreate_parameters()

Definition routing_ils.pb.h:5424

const ::operations_research::AcceptanceStrategy & best_solution_acceptance_strategy() const

Definition routing_ils.pb.h:5662

inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:3501

bool improve_perturbed_solution() const

Definition routing_ils.pb.h:5528

::google::protobuf::Metadata GetMetadata() const

void set_improve_perturbed_solution(bool value)

Definition routing_ils.pb.h:5532

Impl_ _impl_

Definition routing_ils.pb.h:3711

bool has_improve_perturbed_solution() const

Definition routing_ils.pb.h:5518

void unsafe_arena_set_allocated_ruin_recreate_parameters(::operations_research::RuinRecreateParameters *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:5439

const ::operations_research::AcceptanceStrategy & reference_solution_acceptance_strategy() const

Definition routing_ils.pb.h:5563

@ kImprovePerturbedSolutionFieldNumber

Definition routing_ils.pb.h:3610

@ kReferenceSolutionAcceptanceStrategyFieldNumber

Definition routing_ils.pb.h:3607

@ kBestSolutionAcceptanceStrategyFieldNumber

Definition routing_ils.pb.h:3608

@ kRuinRecreateParametersFieldNumber

Definition routing_ils.pb.h:3606

@ kPerturbationStrategyFieldNumber

Definition routing_ils.pb.h:3609

::operations_research::AcceptanceStrategy *PROTOBUF_NONNULL mutable_reference_solution_acceptance_strategy()

Definition routing_ils.pb.h:5617

void Swap(IteratedLocalSearchParameters *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:3521

::operations_research::AcceptanceStrategy *PROTOBUF_NONNULL mutable_best_solution_acceptance_strategy()

Definition routing_ils.pb.h:5716

void clear_improve_perturbed_solution()

Definition routing_ils.pb.h:5522

int GetCachedSize() const

Definition routing_ils.pb.h:3574

const ::operations_research::RuinRecreateParameters & ruin_recreate_parameters() const

Definition routing_ils.pb.h:5435

friend class ::google::protobuf::Arena

Definition routing_ils.pb.h:3688

::operations_research::PerturbationStrategy_Value perturbation_strategy() const

Definition routing_ils.pb.h:5400

static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()

Definition routing_ils.pb.h:1454

static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()

Definition routing_ils.pb.h:1457

void MergeFrom(const MoreNodesPerformedAcceptanceStrategy &from)

Definition routing_ils.pb.h:1493

bool IsInitialized() const

Definition routing_ils.pb.h:1498

friend void swap(MoreNodesPerformedAcceptanceStrategy &a, MoreNodesPerformedAcceptanceStrategy &b)

Definition routing_ils.pb.h:1468

void Swap(MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:1469

friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto

Definition routing_ils.pb.h:1541

void UnsafeArenaSwap(MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:1477

MoreNodesPerformedAcceptanceStrategy *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const

Definition routing_ils.pb.h:1485

static const MoreNodesPerformedAcceptanceStrategy & default_instance()

Definition routing_ils.pb.h:1463

MoreNodesPerformedAcceptanceStrategy()

Definition routing_ils.pb.h:1416

friend class ::google::protobuf::Arena::InternalHelper

Definition routing_ils.pb.h:1538

const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:1445

friend class ::google::protobuf::Arena

Definition routing_ils.pb.h:1536

void Swap(PerturbationStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:1314

PerturbationStrategy & operator=(const PerturbationStrategy &from)

Definition routing_ils.pb.h:1276

void MergeFrom(const PerturbationStrategy &from)

Definition routing_ils.pb.h:1338

static bool Value_Parse(::absl::string_view name, Value *PROTOBUF_NONNULL value)

Definition routing_ils.pb.h:1385

static constexpr int Value_ARRAYSIZE

Definition routing_ils.pb.h:1377

static const ::std::string & Value_Name(T value)

Definition routing_ils.pb.h:1382

PerturbationStrategy()

Definition routing_ils.pb.h:1261

PerturbationStrategy *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const

Definition routing_ils.pb.h:1330

static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL Value_descriptor()

Definition routing_ils.pb.h:1378

static const PerturbationStrategy & default_instance()

Definition routing_ils.pb.h:1308

friend void swap(PerturbationStrategy &a, PerturbationStrategy &b)

Definition routing_ils.pb.h:1313

static constexpr Value Value_MAX

Definition routing_ils.pb.h:1376

bool IsInitialized() const

Definition routing_ils.pb.h:1343

PerturbationStrategy_Value Value

Definition routing_ils.pb.h:1369

static constexpr int kIndexInFileMessages

Definition routing_ils.pb.h:1312

::size_t ByteSizeLong() const final

bool has_num_removed_visits() const

Definition routing_ils.pb.h:3771

void clear_num_removed_visits()

Definition routing_ils.pb.h:3775

RandomWalkRuinStrategy & operator=(const RandomWalkRuinStrategy &from)

Definition routing_ils.pb.h:1085

static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()

Definition routing_ils.pb.h:1114

void set_num_removed_visits(::uint32_t value)

Definition routing_ils.pb.h:3785

void MergeFrom(const RandomWalkRuinStrategy &from)

Definition routing_ils.pb.h:1145

static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()

Definition routing_ils.pb.h:1111

Impl_ _impl_

Definition routing_ils.pb.h:1250

static const RandomWalkRuinStrategy & default_instance()

Definition routing_ils.pb.h:1117

void CopyFrom(const RandomWalkRuinStrategy &from)

RandomWalkRuinStrategy *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const

Definition routing_ils.pb.h:1139

void Swap(RandomWalkRuinStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:1123

RandomWalkRuinStrategy()

Definition routing_ils.pb.h:1069

bool IsInitialized() const

Definition routing_ils.pb.h:1152

::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final

RecreateParameters()

Definition routing_ils.pb.h:2428

friend void swap(RecreateParameters &a, RecreateParameters &b)

Definition routing_ils.pb.h:2487

Impl_ _impl_

Definition routing_ils.pb.h:2676

void set_allocated_savings(::operations_research::SavingsParameters *PROTOBUF_NULLABLE value)

inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:2462

ParametersCase parameters_case() const

Definition routing_ils.pb.h:4375

RecreateParameters *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const

Definition routing_ils.pb.h:2504

ParametersCase

Definition routing_ils.pb.h:2480

@ kGlobalCheapestInsertion

Definition routing_ils.pb.h:2483

@ kLocalCheapestInsertion

Definition routing_ils.pb.h:2481

@ kSavings

Definition routing_ils.pb.h:2482

@ PARAMETERS_NOT_SET

Definition routing_ils.pb.h:2484

void clear_global_cheapest_insertion()

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

Definition routing_ils.pb.h:4255

::operations_research::SavingsParameters *PROTOBUF_NULLABLE unsafe_arena_release_savings()

Definition routing_ils.pb.h:4259

::operations_research::SavingsParameters *PROTOBUF_NULLABLE release_savings()

Definition routing_ils.pb.h:4237

const ::operations_research::GlobalCheapestInsertionParameters & global_cheapest_insertion() const

Definition routing_ils.pb.h:4326

void set_allocated_local_cheapest_insertion(::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE value)

bool has_savings() const

Definition routing_ils.pb.h:4228

bool has_global_cheapest_insertion() const

Definition routing_ils.pb.h:4299

void unsafe_arena_set_allocated_savings(::operations_research::SavingsParameters *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:4270

::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE unsafe_arena_release_global_cheapest_insertion()

Definition routing_ils.pb.h:4330

void unsafe_arena_set_allocated_local_cheapest_insertion(::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:4199

::size_t ByteSizeLong() const final

void MergeFrom(const RecreateParameters &from)

Definition routing_ils.pb.h:2510

const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:2458

void CopyFrom(const RecreateParameters &from)

::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NONNULL mutable_global_cheapest_insertion()

Definition routing_ils.pb.h:4362

void Swap(RecreateParameters *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:2488

void unsafe_arena_set_allocated_global_cheapest_insertion(::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:4341

void UnsafeArenaSwap(RecreateParameters *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:2496

const ::operations_research::LocalCheapestInsertionParameters & local_cheapest_insertion() const

Definition routing_ils.pb.h:4184

::operations_research::LocalCheapestInsertionParameters *PROTOBUF_NULLABLE unsafe_arena_release_local_cheapest_insertion()

Definition routing_ils.pb.h:4188

static const RecreateParameters & default_instance()

Definition routing_ils.pb.h:2476

::operations_research::GlobalCheapestInsertionParameters *PROTOBUF_NULLABLE release_global_cheapest_insertion()

Definition routing_ils.pb.h:4308

::operations_research::SavingsParameters *PROTOBUF_NONNULL mutable_savings()

Definition routing_ils.pb.h:4291

const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:3022

void clear_parameters()

Definition routing_ils.pb.h:4418

void set_heuristic(::operations_research::FirstSolutionStrategy_Value value)

Definition routing_ils.pb.h:4398

const ::operations_research::RecreateParameters & parameters() const

Definition routing_ils.pb.h:4429

::size_t ByteSizeLong() const final

static const RecreateStrategy & default_instance()

Definition routing_ils.pb.h:3040

bool has_parameters() const

Definition routing_ils.pb.h:4413

ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL

bool has_heuristic() const

Definition routing_ils.pb.h:4384

void clear_heuristic()

Definition routing_ils.pb.h:4388

bool IsInitialized() const

Definition routing_ils.pb.h:3075

RecreateStrategy()

Definition routing_ils.pb.h:2992

RecreateStrategy & operator=(const RecreateStrategy &from)

Definition routing_ils.pb.h:3008

::operations_research::FirstSolutionStrategy_Value heuristic() const

Definition routing_ils.pb.h:4394

void Swap(RecreateStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:3046

Impl_ _impl_

Definition routing_ils.pb.h:3190

::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

Definition routing_ils.pb.h:3062

void Swap(RuinCompositionStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:965

static constexpr Value Value_MIN

Definition routing_ils.pb.h:1028

static constexpr int Value_ARRAYSIZE

Definition routing_ils.pb.h:1030

static const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL Value_descriptor()

Definition routing_ils.pb.h:1031

RuinCompositionStrategy *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const

Definition routing_ils.pb.h:981

static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()

Definition routing_ils.pb.h:953

static const ::std::string & Value_Name(T value)

Definition routing_ils.pb.h:1035

static bool Value_IsValid(int value)

Definition routing_ils.pb.h:1025

static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()

Definition routing_ils.pb.h:950

RuinCompositionStrategy_Value Value

Definition routing_ils.pb.h:1020

static constexpr Value Value_MAX

Definition routing_ils.pb.h:1029

RuinCompositionStrategy()

Definition routing_ils.pb.h:912

RuinCompositionStrategy & operator=(const RuinCompositionStrategy &from)

Definition routing_ils.pb.h:927

const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:941

void CopyFrom(const RuinCompositionStrategy &from)

Definition routing_ils.pb.h:985

bool IsInitialized() const

Definition routing_ils.pb.h:994

friend void swap(RuinCompositionStrategy &a, RuinCompositionStrategy &b)

Definition routing_ils.pb.h:964

double route_selection_neighbors_ratio() const

Definition routing_ils.pb.h:4712

const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:3231

::operations_research::RecreateStrategy *PROTOBUF_NULLABLE unsafe_arena_release_recreate_strategy()

Definition routing_ils.pb.h:4656

::size_t ByteSizeLong() const final

::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final

bool has_recreate_strategy() const

Definition routing_ils.pb.h:4603

bool has_route_selection_min_neighbors() const

Definition routing_ils.pb.h:4731

Impl_ _impl_

Definition routing_ils.pb.h:3456

void set_route_selection_min_neighbors(::uint32_t value)

Definition routing_ils.pb.h:4745

RuinRecreateParameters()

Definition routing_ils.pb.h:3201

const ::operations_research::RuinStrategy & ruin_strategies(int index) const

Definition routing_ils.pb.h:4546

void clear_route_selection_max_neighbors()

Definition routing_ils.pb.h:4764

RuinRecreateParameters *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const

Definition routing_ils.pb.h:3271

::operations_research::RecreateStrategy *PROTOBUF_NULLABLE release_recreate_strategy()

Definition routing_ils.pb.h:4637

bool IsInitialized() const

Definition routing_ils.pb.h:3284

void clear_route_selection_min_neighbors()

Definition routing_ils.pb.h:4735

::uint32_t route_selection_max_neighbors() const

Definition routing_ils.pb.h:4770

bool has_route_selection_neighbors_ratio() const

Definition routing_ils.pb.h:4702

void CopyFrom(const RuinRecreateParameters &from)

void clear_recreate_strategy()

Definition routing_ils.pb.h:4608

void clear_route_selection_neighbors_ratio()

Definition routing_ils.pb.h:4706

void clear_ruin_composition_strategy()

Definition routing_ils.pb.h:4578

int ruin_strategies_size() const

Definition routing_ils.pb.h:4525

::uint32_t route_selection_min_neighbors() const

Definition routing_ils.pb.h:4741

void Swap(RuinRecreateParameters *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:3255

void UnsafeArenaSwap(RuinRecreateParameters *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:3263

void set_route_selection_neighbors_ratio(double value)

Definition routing_ils.pb.h:4716

void set_route_selection_max_neighbors(::uint32_t value)

Definition routing_ils.pb.h:4774

::operations_research::RecreateStrategy *PROTOBUF_NONNULL mutable_recreate_strategy()

Definition routing_ils.pb.h:4673

void unsafe_arena_set_allocated_recreate_strategy(::operations_research::RecreateStrategy *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:4623

void set_allocated_recreate_strategy(::operations_research::RecreateStrategy *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:4680

::operations_research::RuinStrategy *PROTOBUF_NONNULL add_ruin_strategies()

Definition routing_ils.pb.h:4551

void set_ruin_composition_strategy(::operations_research::RuinCompositionStrategy_Value value)

Definition routing_ils.pb.h:4588

::operations_research::RuinCompositionStrategy_Value ruin_composition_strategy() const

Definition routing_ils.pb.h:4584

const ::operations_research::RecreateStrategy & recreate_strategy() const

Definition routing_ils.pb.h:4619

bool has_route_selection_max_neighbors() const

Definition routing_ils.pb.h:4760

::operations_research::SISRRuinStrategy *PROTOBUF_NULLABLE release_sisr()

Definition routing_ils.pb.h:4081

RuinStrategy()

Definition routing_ils.pb.h:2169

::operations_research::SISRRuinStrategy *PROTOBUF_NONNULL mutable_sisr()

Definition routing_ils.pb.h:4135

::operations_research::RandomWalkRuinStrategy *PROTOBUF_NONNULL mutable_random_walk()

Definition routing_ils.pb.h:4053

void clear_sisr()

Definition routing_ils.pb.h:4070

Impl_ _impl_

Definition routing_ils.pb.h:2417

bool IsInitialized() const

Definition routing_ils.pb.h:2258

::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final

bool has_sisr() const

Definition routing_ils.pb.h:4061

bool has_spatially_close_routes() const

Definition routing_ils.pb.h:3897

void set_allocated_random_walk(::operations_research::RandomWalkRuinStrategy *PROTOBUF_NULLABLE value)

StrategyCase

Definition routing_ils.pb.h:2221

@ kSisr

Definition routing_ils.pb.h:2224

@ STRATEGY_NOT_SET

Definition routing_ils.pb.h:2225

@ kRandomWalk

Definition routing_ils.pb.h:2223

@ kSpatiallyCloseRoutes

Definition routing_ils.pb.h:2222

void unsafe_arena_set_allocated_random_walk(::operations_research::RandomWalkRuinStrategy *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:4032

void MergeFrom(const RuinStrategy &from)

Definition routing_ils.pb.h:2251

::size_t ByteSizeLong() const final

::operations_research::SISRRuinStrategy *PROTOBUF_NULLABLE unsafe_arena_release_sisr()

Definition routing_ils.pb.h:4103

void set_allocated_sisr(::operations_research::SISRRuinStrategy *PROTOBUF_NULLABLE value)

const ::operations_research::SISRRuinStrategy & sisr() const

Definition routing_ils.pb.h:4099

void unsafe_arena_set_allocated_sisr(::operations_research::SISRRuinStrategy *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:4114

StrategyCase strategy_case() const

Definition routing_ils.pb.h:4148

void Swap(RuinStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:2229

bool has_random_walk() const

Definition routing_ils.pb.h:3979

const ::operations_research::RandomWalkRuinStrategy & random_walk() const

Definition routing_ils.pb.h:4017

RuinStrategy *PROTOBUF_NONNULL New(::google::protobuf::Arena *PROTOBUF_NULLABLE arena=nullptr) const

Definition routing_ils.pb.h:2245

void set_allocated_spatially_close_routes(::operations_research::SpatiallyCloseRoutesRuinStrategy *PROTOBUF_NULLABLE value)

static constexpr int kIndexInFileMessages

Definition routing_ils.pb.h:2227

static const RuinStrategy & default_instance()

Definition routing_ils.pb.h:2217

::operations_research::SpatiallyCloseRoutesRuinStrategy *PROTOBUF_NULLABLE unsafe_arena_release_spatially_close_routes()

Definition routing_ils.pb.h:3939

const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:2199

void unsafe_arena_set_allocated_spatially_close_routes(::operations_research::SpatiallyCloseRoutesRuinStrategy *PROTOBUF_NULLABLE value)

Definition routing_ils.pb.h:3950

void clear_random_walk()

Definition routing_ils.pb.h:3988

::operations_research::RandomWalkRuinStrategy *PROTOBUF_NULLABLE unsafe_arena_release_random_walk()

Definition routing_ils.pb.h:4021

::operations_research::RandomWalkRuinStrategy *PROTOBUF_NULLABLE release_random_walk()

Definition routing_ils.pb.h:3999

void UnsafeArenaSwap(RuinStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:2237

::operations_research::SpatiallyCloseRoutesRuinStrategy *PROTOBUF_NONNULL mutable_spatially_close_routes()

Definition routing_ils.pb.h:3971

friend void swap(RuinStrategy &a, RuinStrategy &b)

Definition routing_ils.pb.h:2228

::uint32_t max_removed_sequence_size() const

Definition routing_ils.pb.h:3815

friend class ::google::protobuf::MessageLite

Definition routing_ils.pb.h:879

static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL descriptor()

Definition routing_ils.pb.h:733

void clear_bypass_factor()

Definition routing_ils.pb.h:3867

void Swap(SISRRuinStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:748

bool has_avg_num_removed_visits() const

Definition routing_ils.pb.h:3834

inline ::google::protobuf::UnknownFieldSet *PROTOBUF_NONNULL mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:728

static const SISRRuinStrategy & default_instance()

Definition routing_ils.pb.h:742

static constexpr int kIndexInFileMessages

Definition routing_ils.pb.h:746

void set_avg_num_removed_visits(::uint32_t value)

Definition routing_ils.pb.h:3848

bool has_bypass_factor() const

Definition routing_ils.pb.h:3863

void clear_avg_num_removed_visits()

Definition routing_ils.pb.h:3838

SISRRuinStrategy()

Definition routing_ils.pb.h:694

friend void swap(SISRRuinStrategy &a, SISRRuinStrategy &b)

Definition routing_ils.pb.h:747

bool IsInitialized() const

Definition routing_ils.pb.h:777

double bypass_factor() const

Definition routing_ils.pb.h:3873

void set_bypass_factor(double value)

Definition routing_ils.pb.h:3877

::uint32_t avg_num_removed_visits() const

Definition routing_ils.pb.h:3844

::size_t ByteSizeLong() const final

Impl_ _impl_

Definition routing_ils.pb.h:901

SISRRuinStrategy & operator=(const SISRRuinStrategy &from)

Definition routing_ils.pb.h:710

bool has_max_removed_sequence_size() const

Definition routing_ils.pb.h:3805

const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:724

void clear_max_removed_sequence_size()

Definition routing_ils.pb.h:3809

void set_max_removed_sequence_size(::uint32_t value)

Definition routing_ils.pb.h:3819

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)

Definition routing_ils.pb.h:770

void CopyFrom(const SISRRuinStrategy &from)

static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()

Definition routing_ils.pb.h:736

void CopyFrom(const SimulatedAnnealingAcceptanceStrategy &from)

friend class ::google::protobuf::MessageLite

Definition routing_ils.pb.h:660

void MergeFrom(const SimulatedAnnealingAcceptanceStrategy &from)

Definition routing_ils.pb.h:540

@ kFinalTemperatureFieldNumber

Definition routing_ils.pb.h:606

::uint8_t *PROTOBUF_NONNULL _InternalSerialize(::uint8_t *PROTOBUF_NONNULL target, ::google::protobuf::io::EpsCopyOutputStream *PROTOBUF_NONNULL stream) const final

void clear_automatic_temperatures()

Definition routing_ils.pb.h:4896

void Swap(SimulatedAnnealingAcceptanceStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:518

static const ::google::protobuf::Descriptor *PROTOBUF_NONNULL GetDescriptor()

Definition routing_ils.pb.h:506

bool automatic_temperatures() const

Definition routing_ils.pb.h:4902

bool IsInitialized() const

Definition routing_ils.pb.h:547

bool has_initial_temperature() const

Definition routing_ils.pb.h:4834

PROTOBUF_CONSTEXPR SimulatedAnnealingAcceptanceStrategy(::google::protobuf::internal::ConstantInitialized)

void set_final_temperature(double value)

Definition routing_ils.pb.h:4877

void clear_cooling_schedule_strategy()

Definition routing_ils.pb.h:4809

::size_t ByteSizeLong() const final

Impl_ _impl_

Definition routing_ils.pb.h:683

void clear_initial_temperature()

Definition routing_ils.pb.h:4838

::operations_research::CoolingScheduleStrategy_Value cooling_schedule_strategy() const

Definition routing_ils.pb.h:4815

bool has_automatic_temperatures() const

Definition routing_ils.pb.h:4892

void set_initial_temperature(double value)

Definition routing_ils.pb.h:4848

void set_cooling_schedule_strategy(::operations_research::CoolingScheduleStrategy_Value value)

Definition routing_ils.pb.h:4819

bool has_final_temperature() const

Definition routing_ils.pb.h:4863

double final_temperature() const

Definition routing_ils.pb.h:4873

void set_automatic_temperatures(bool value)

Definition routing_ils.pb.h:4906

SimulatedAnnealingAcceptanceStrategy & operator=(const SimulatedAnnealingAcceptanceStrategy &from)

Definition routing_ils.pb.h:480

static const ::google::protobuf::Reflection *PROTOBUF_NONNULL GetReflection()

Definition routing_ils.pb.h:509

SimulatedAnnealingAcceptanceStrategy()

Definition routing_ils.pb.h:464

double initial_temperature() const

Definition routing_ils.pb.h:4844

ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL

const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:494

void clear_final_temperature()

Definition routing_ils.pb.h:4867

static const SimulatedAnnealingAcceptanceStrategy & default_instance()

Definition routing_ils.pb.h:512

friend class ::google::protobuf::MessageLite

Definition routing_ils.pb.h:433

void Swap(SpatiallyCloseRoutesRuinStrategy *PROTOBUF_NONNULL other)

Definition routing_ils.pb.h:326

PROTOBUF_CONSTEXPR SpatiallyCloseRoutesRuinStrategy(::google::protobuf::internal::ConstantInitialized)

SpatiallyCloseRoutesRuinStrategy & operator=(const SpatiallyCloseRoutesRuinStrategy &from)

Definition routing_ils.pb.h:288

bool IsInitialized() const

Definition routing_ils.pb.h:355

SpatiallyCloseRoutesRuinStrategy()

Definition routing_ils.pb.h:272

Impl_ _impl_

Definition routing_ils.pb.h:453

::uint32_t num_ruined_routes() const

Definition routing_ils.pb.h:3747

const ::google::protobuf::UnknownFieldSet & unknown_fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND

Definition routing_ils.pb.h:302

SpatiallyCloseRoutesRuinStrategy(const SpatiallyCloseRoutesRuinStrategy &from)

Definition routing_ils.pb.h:285

void CopyFrom(const SpatiallyCloseRoutesRuinStrategy &from)

bool has_num_ruined_routes() const

Definition routing_ils.pb.h:3737

void clear_num_ruined_routes()

Definition routing_ils.pb.h:3741

void set_num_ruined_routes(::uint32_t value)

Definition routing_ils.pb.h:3751

::absl::string_view GetAnyMessageName()

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

Definition routing_ils.pb.h:198

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)

Definition routing_ils.pb.h:183

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)

Definition routing_ils.pb.h:256

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)

Definition routing_ils.pb.h:219

constexpr int CoolingScheduleStrategy_Value_Value_ARRAYSIZE

Definition routing_ils.pb.h:242

bool CoolingScheduleStrategy_Value_IsValid(int value)

Definition routing_ils.pb.h:239

constexpr RuinCompositionStrategy_Value RuinCompositionStrategy_Value_Value_MAX

Definition routing_ils.pb.h:164

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

Definition routing_ils.pb.h:235

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

Definition routing_ils.pb.h:162

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull IteratedLocalSearchParameters_class_data_

const ::std::string & CoolingScheduleStrategy_Value_Name(T value)

Definition routing_ils.pb.h:245

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)

Definition routing_ils.pb.h:172

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

Definition routing_ils.pb.h:237

const ::std::string & PerturbationStrategy_Value_Name(T value)

Definition routing_ils.pb.h:208

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

Definition routing_ils.pb.h:188

@ PerturbationStrategy_Value_UNSET

Definition routing_ils.pb.h:189

@ PerturbationStrategy_Value_PerturbationStrategy_Value_INT_MAX_SENTINEL_DO_NOT_USE_

Definition routing_ils.pb.h:193

@ PerturbationStrategy_Value_PerturbationStrategy_Value_INT_MIN_SENTINEL_DO_NOT_USE_

Definition routing_ils.pb.h:191

@ PerturbationStrategy_Value_RUIN_AND_RECREATE

Definition routing_ils.pb.h:190

bool PerturbationStrategy_Value_IsValid(int value)

Definition routing_ils.pb.h:202

bool RuinCompositionStrategy_Value_IsValid(int value)

Definition routing_ils.pb.h:166

PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SpatiallyCloseRoutesRuinStrategy_class_data_

constexpr int PerturbationStrategy_Value_Value_ARRAYSIZE

Definition routing_ils.pb.h:205

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

Definition routing_ils.pb.h:224

@ CoolingScheduleStrategy_Value_LINEAR

Definition routing_ils.pb.h:227

@ CoolingScheduleStrategy_Value_EXPONENTIAL

Definition routing_ils.pb.h:226

@ CoolingScheduleStrategy_Value_UNSET

Definition routing_ils.pb.h:225

@ CoolingScheduleStrategy_Value_CoolingScheduleStrategy_Value_INT_MAX_SENTINEL_DO_NOT_USE_

Definition routing_ils.pb.h:230

@ CoolingScheduleStrategy_Value_CoolingScheduleStrategy_Value_INT_MIN_SENTINEL_DO_NOT_USE_

Definition routing_ils.pb.h:228

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LocalCheapestInsertionParametersDefaultTypeInternal _LocalCheapestInsertionParameters_default_instance_

constexpr int RuinCompositionStrategy_Value_Value_ARRAYSIZE

Definition routing_ils.pb.h:169

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_

FirstSolutionStrategy_Value

RuinCompositionStrategy_Value

Definition routing_ils.pb.h:150

@ RuinCompositionStrategy_Value_RuinCompositionStrategy_Value_INT_MIN_SENTINEL_DO_NOT_USE_

Definition routing_ils.pb.h:155

@ RuinCompositionStrategy_Value_UNSET

Definition routing_ils.pb.h:151

@ RuinCompositionStrategy_Value_RuinCompositionStrategy_Value_INT_MAX_SENTINEL_DO_NOT_USE_

Definition routing_ils.pb.h:157

@ RuinCompositionStrategy_Value_RUN_ALL_SEQUENTIALLY

Definition routing_ils.pb.h:152

@ RuinCompositionStrategy_Value_RUN_ALL_RANDOMLY

Definition routing_ils.pb.h:153

@ RuinCompositionStrategy_Value_RUN_ONE_RANDOMLY

Definition routing_ils.pb.h:154

constexpr PerturbationStrategy_Value PerturbationStrategy_Value_Value_MAX

Definition routing_ils.pb.h:200

PROTOBUF_CONSTINITconst ::_pbi::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fils_2eproto