4#ifndef GOOGLE_PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
5#define GOOGLE_PROTOBUF_INCLUDED_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
10#include <google/protobuf/port_def.inc>
11#if PROTOBUF_VERSION < 3019000
12#error This file was generated by a newer version of protoc which is
13#error incompatible with your Protocol Buffer headers. Please update
16#if 3019001 < PROTOBUF_MIN_PROTOC_VERSION
17#error This file was generated by an older version of protoc which is
18#error incompatible with your Protocol Buffer headers. Please
19#error regenerate this file with a newer version of protoc.
22#include <google/protobuf/port_undef.inc>
23#include <google/protobuf/io/coded_stream.h>
24#include <google/protobuf/arena.h>
25#include <google/protobuf/arenastring.h>
26#include <google/protobuf/generated_message_table_driven.h>
27#include <google/protobuf/generated_message_util.h>
28#include <google/protobuf/metadata_lite.h>
29#include <google/protobuf/generated_message_reflection.h>
30#include <google/protobuf/message.h>
31#include <google/protobuf/repeated_field.h>
32#include <google/protobuf/extension_set.h>
33#include <google/protobuf/generated_enum_reflection.h>
34#include <google/protobuf/unknown_field_set.h>
35#include <google/protobuf/duration.pb.h>
41#include <google/protobuf/port_def.inc>
42#define PROTOBUF_INTERNAL_EXPORT_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
43PROTOBUF_NAMESPACE_OPEN
47PROTOBUF_NAMESPACE_CLOSE
51 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
53 static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
55 static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4]
57 static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata
field_metadata[];
63class RoutingModelParameters;
64struct RoutingModelParametersDefaultTypeInternal;
66class RoutingSearchParameters;
67struct RoutingSearchParametersDefaultTypeInternal;
69class RoutingSearchParameters_ImprovementSearchLimitParameters;
70struct RoutingSearchParameters_ImprovementSearchLimitParametersDefaultTypeInternal;
72class RoutingSearchParameters_LocalSearchNeighborhoodOperators;
73struct RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal;
76PROTOBUF_NAMESPACE_OPEN
81PROTOBUF_NAMESPACE_CLOSE
101 "Incorrect type passed to function RoutingSearchParameters_SchedulingSolver_Name.");
102 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
107 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<RoutingSearchParameters_SchedulingSolver>(
113 public ::PROTOBUF_NAMESPACE_ID::Message {
122 *
this = ::std::move(from);
130 if (
this == &from)
return *
this;
131 if (GetOwningArena() == from.GetOwningArena()
132 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
133 && GetOwningArena() !=
nullptr
143 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
166 if (other ==
this)
return;
167 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
168 if (GetOwningArena() !=
nullptr &&
169 GetOwningArena() == other->GetOwningArena()) {
171 if (GetOwningArena() == other->GetOwningArena()) {
175 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
179 if (other ==
this)
return;
180 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
187 return CreateMaybeMessage<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(arena);
189 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
191 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
194 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
196 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
202 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
208 void SetCachedSize(
int size)
const final;
212 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
213 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
214 return "operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators";
218 bool is_message_owned =
false);
220 static void ArenaDtor(
void*
object);
221 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
225 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*
GetClassData() const final;
227 ::PROTOBUF_NAMESPACE_ID::Metadata
GetMetadata() const final;
569 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
570 typedef void InternalArenaConstructable_;
571 typedef void DestructorSkippable_;
573 int use_relocate_pair_;
574 int use_relocate_neighbors_;
577 int use_cross_exchange_;
580 int use_lin_kernighan_;
582 int use_make_active_;
583 int use_make_inactive_;
584 int use_make_chain_inactive_;
585 int use_swap_active_;
586 int use_extended_swap_active_;
588 int use_full_path_lns_;
590 int use_inactive_lns_;
591 int use_node_pair_swap_active_;
592 int use_relocate_and_make_active_;
593 int use_exchange_pair_;
594 int use_relocate_expensive_chain_;
595 int use_light_relocate_pair_;
596 int use_relocate_subtrip_;
597 int use_exchange_subtrip_;
598 int use_global_cheapest_insertion_path_lns_;
599 int use_local_cheapest_insertion_path_lns_;
600 int use_global_cheapest_insertion_expensive_chain_lns_;
601 int use_local_cheapest_insertion_expensive_chain_lns_;
602 int use_global_cheapest_insertion_close_nodes_lns_;
603 int use_local_cheapest_insertion_close_nodes_lns_;
604 int use_relocate_path_global_cheapest_insertion_insert_unperformed_;
605 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
606 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
611 public ::PROTOBUF_NAMESPACE_ID::Message {
620 *
this = ::std::move(from);
628 if (
this == &from)
return *
this;
629 if (GetOwningArena() == from.GetOwningArena()
630 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
631 && GetOwningArena() !=
nullptr
641 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
664 if (other ==
this)
return;
665 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
666 if (GetOwningArena() !=
nullptr &&
667 GetOwningArena() == other->GetOwningArena()) {
669 if (GetOwningArena() == other->GetOwningArena()) {
673 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
677 if (other ==
this)
return;
678 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
685 return CreateMaybeMessage<RoutingSearchParameters_ImprovementSearchLimitParameters>(arena);
687 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
689 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
692 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
694 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
700 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
706 void SetCachedSize(
int size)
const final;
710 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
711 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
712 return "operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters";
716 bool is_message_owned =
false);
718 static void ArenaDtor(
void*
object);
719 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
723 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*
GetClassData() const final;
725 ::PROTOBUF_NAMESPACE_ID::Metadata
GetMetadata() const final;
732 kImprovementRateSolutionsDistanceFieldNumber = 39,
733 kImprovementRateCoefficientFieldNumber = 38,
736 void clear_improvement_rate_solutions_distance();
737 int32_t improvement_rate_solutions_distance()
const;
738 void set_improvement_rate_solutions_distance(int32_t
value);
740 int32_t _internal_improvement_rate_solutions_distance()
const;
741 void _internal_set_improvement_rate_solutions_distance(int32_t
value);
745 void clear_improvement_rate_coefficient();
746 double improvement_rate_coefficient()
const;
747 void set_improvement_rate_coefficient(
double value);
749 double _internal_improvement_rate_coefficient()
const;
750 void _internal_set_improvement_rate_coefficient(
double value);
757 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
758 typedef void InternalArenaConstructable_;
759 typedef void DestructorSkippable_;
760 int32_t improvement_rate_solutions_distance_;
761 double improvement_rate_coefficient_;
762 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
763 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
768 public ::PROTOBUF_NAMESPACE_ID::Message {
777 *
this = ::std::move(from);
785 if (
this == &from)
return *
this;
786 if (GetOwningArena() == from.GetOwningArena()
787 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
788 && GetOwningArena() !=
nullptr
798 static const ::PROTOBUF_NAMESPACE_ID::Descriptor*
descriptor() {
821 if (other ==
this)
return;
822 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
823 if (GetOwningArena() !=
nullptr &&
824 GetOwningArena() == other->GetOwningArena()) {
826 if (GetOwningArena() == other->GetOwningArena()) {
830 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
834 if (other ==
this)
return;
835 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
842 return CreateMaybeMessage<RoutingSearchParameters>(arena);
844 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
846 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
849 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
851 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
857 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
863 void SetCachedSize(
int size)
const final;
867 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
868 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
869 return "operations_research.RoutingSearchParameters";
873 bool is_message_owned =
false);
875 static void ArenaDtor(
void*
object);
876 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
880 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*
GetClassData() const final;
882 ::PROTOBUF_NAMESPACE_ID::Metadata
GetMetadata() const final;
896 static inline
bool SchedulingSolver_IsValid(
int value) {
903 static constexpr int SchedulingSolver_ARRAYSIZE =
905 static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
913 "Incorrect type passed to function SchedulingSolver_Name.");
924 kLogTagFieldNumber = 36,
925 kLocalSearchOperatorsFieldNumber = 3,
926 kTimeLimitFieldNumber = 9,
927 kLnsTimeLimitFieldNumber = 10,
928 kImprovementLimitParametersFieldNumber = 37,
929 kSatParametersFieldNumber = 48,
930 kFirstSolutionStrategyFieldNumber = 1,
931 kLocalSearchMetaheuristicFieldNumber = 4,
932 kGuidedLocalSearchLambdaCoefficientFieldNumber = 5,
933 kOptimizationStepFieldNumber = 7,
934 kSolutionLimitFieldNumber = 8,
935 kUseFullPropagationFieldNumber = 11,
936 kLogSearchFieldNumber = 13,
937 kNumberOfSolutionsToCollectFieldNumber = 17,
938 kSavingsNeighborsRatioFieldNumber = 14,
939 kCheapestInsertionFarthestSeedsRatioFieldNumber = 16,
940 kSavingsArcCoefficientFieldNumber = 18,
941 kRelocateExpensiveChainNumArcsToConsiderFieldNumber = 20,
942 kUseUnfilteredFirstSolutionStrategyFieldNumber = 2,
943 kSavingsAddReverseArcsFieldNumber = 15,
944 kSavingsParallelRoutesFieldNumber = 19,
945 kCheapestInsertionFirstSolutionUseNeighborsRatioForInitializationFieldNumber = 46,
946 kCheapestInsertionFirstSolutionNeighborsRatioFieldNumber = 21,
947 kLogCostScalingFactorFieldNumber = 22,
948 kSavingsMaxMemoryUsageBytesFieldNumber = 23,
949 kUseCpSatFieldNumber = 27,
950 kUseCpFieldNumber = 28,
951 kLogCostOffsetFieldNumber = 29,
952 kCheapestInsertionAddUnperformedEntriesFieldNumber = 40,
953 kChristofidesUseMinimumMatchingFieldNumber = 30,
954 kUseMultiArmedBanditConcatenateOperatorsFieldNumber = 41,
955 kUseDepthFirstSearchFieldNumber = 6,
956 kHeuristicExpensiveChainLnsNumArcsToConsiderFieldNumber = 32,
957 kCheapestInsertionLsOperatorNeighborsRatioFieldNumber = 31,
958 kContinuousSchedulingSolverFieldNumber = 33,
959 kMixedIntegerSchedulingSolverFieldNumber = 34,
960 kHeuristicCloseNodesLnsNumNodesFieldNumber = 35,
961 kCheapestInsertionFirstSolutionMinNeighborsFieldNumber = 44,
962 kMultiArmedBanditCompoundOperatorMemoryCoefficientFieldNumber = 42,
963 kMultiArmedBanditCompoundOperatorExplorationCoefficientFieldNumber = 43,
964 kCheapestInsertionLsOperatorMinNeighborsFieldNumber = 45,
965 kUseGeneralizedCpSatFieldNumber = 47,
968 void clear_log_tag();
969 const std::string& log_tag()
const;
970 template <
typename ArgT0 =
const std::string&,
typename... ArgT>
972 std::string* mutable_log_tag();
973 PROTOBUF_NODISCARD std::string* release_log_tag();
974 void set_allocated_log_tag(std::string* log_tag);
976 const std::string& _internal_log_tag()
const;
977 inline PROTOBUF_ALWAYS_INLINE
void _internal_set_log_tag(
const std::string&
value);
978 std::string* _internal_mutable_log_tag();
982 bool has_local_search_operators()
const;
984 bool _internal_has_local_search_operators()
const;
986 void clear_local_search_operators();
987 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& local_search_operators()
const;
988 PROTOBUF_NODISCARD ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* release_local_search_operators();
992 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& _internal_local_search_operators()
const;
995 void unsafe_arena_set_allocated_local_search_operators(
1000 bool has_time_limit()
const;
1002 bool _internal_has_time_limit()
const;
1004 void clear_time_limit();
1005 const ::PROTOBUF_NAMESPACE_ID::Duration&
time_limit()
const;
1006 PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Duration* release_time_limit();
1007 ::PROTOBUF_NAMESPACE_ID::Duration* mutable_time_limit();
1008 void set_allocated_time_limit(::PROTOBUF_NAMESPACE_ID::Duration*
time_limit);
1010 const ::PROTOBUF_NAMESPACE_ID::Duration& _internal_time_limit()
const;
1011 ::PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_time_limit();
1013 void unsafe_arena_set_allocated_time_limit(
1014 ::PROTOBUF_NAMESPACE_ID::Duration*
time_limit);
1015 ::PROTOBUF_NAMESPACE_ID::Duration* unsafe_arena_release_time_limit();
1018 bool has_lns_time_limit()
const;
1020 bool _internal_has_lns_time_limit()
const;
1022 void clear_lns_time_limit();
1023 const ::PROTOBUF_NAMESPACE_ID::Duration& lns_time_limit()
const;
1024 PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Duration* release_lns_time_limit();
1025 ::PROTOBUF_NAMESPACE_ID::Duration* mutable_lns_time_limit();
1026 void set_allocated_lns_time_limit(::PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit);
1028 const ::PROTOBUF_NAMESPACE_ID::Duration& _internal_lns_time_limit()
const;
1029 ::PROTOBUF_NAMESPACE_ID::Duration* _internal_mutable_lns_time_limit();
1031 void unsafe_arena_set_allocated_lns_time_limit(
1032 ::PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit);
1033 ::PROTOBUF_NAMESPACE_ID::Duration* unsafe_arena_release_lns_time_limit();
1036 bool has_improvement_limit_parameters()
const;
1038 bool _internal_has_improvement_limit_parameters()
const;
1040 void clear_improvement_limit_parameters();
1041 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& improvement_limit_parameters()
const;
1042 PROTOBUF_NODISCARD ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* release_improvement_limit_parameters();
1046 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& _internal_improvement_limit_parameters()
const;
1049 void unsafe_arena_set_allocated_improvement_limit_parameters(
1054 bool has_sat_parameters()
const;
1056 bool _internal_has_sat_parameters()
const;
1058 void clear_sat_parameters();
1059 const ::operations_research::sat::SatParameters& sat_parameters()
const;
1060 PROTOBUF_NODISCARD ::operations_research::sat::SatParameters* release_sat_parameters();
1064 const ::operations_research::sat::SatParameters& _internal_sat_parameters()
const;
1067 void unsafe_arena_set_allocated_sat_parameters(
1072 void clear_first_solution_strategy();
1081 void clear_local_search_metaheuristic();
1090 void clear_guided_local_search_lambda_coefficient();
1091 double guided_local_search_lambda_coefficient()
const;
1092 void set_guided_local_search_lambda_coefficient(
double value);
1094 double _internal_guided_local_search_lambda_coefficient()
const;
1095 void _internal_set_guided_local_search_lambda_coefficient(
double value);
1099 void clear_optimization_step();
1100 double optimization_step()
const;
1101 void set_optimization_step(
double value);
1103 double _internal_optimization_step()
const;
1104 void _internal_set_optimization_step(
double value);
1108 void clear_solution_limit();
1109 int64_t solution_limit()
const;
1110 void set_solution_limit(int64_t
value);
1112 int64_t _internal_solution_limit()
const;
1113 void _internal_set_solution_limit(int64_t
value);
1117 void clear_use_full_propagation();
1118 bool use_full_propagation()
const;
1119 void set_use_full_propagation(
bool value);
1121 bool _internal_use_full_propagation()
const;
1122 void _internal_set_use_full_propagation(
bool value);
1126 void clear_log_search();
1127 bool log_search()
const;
1128 void set_log_search(
bool value);
1130 bool _internal_log_search()
const;
1131 void _internal_set_log_search(
bool value);
1135 void clear_number_of_solutions_to_collect();
1136 int32_t number_of_solutions_to_collect()
const;
1137 void set_number_of_solutions_to_collect(int32_t
value);
1139 int32_t _internal_number_of_solutions_to_collect()
const;
1140 void _internal_set_number_of_solutions_to_collect(int32_t
value);
1144 void clear_savings_neighbors_ratio();
1145 double savings_neighbors_ratio()
const;
1146 void set_savings_neighbors_ratio(
double value);
1148 double _internal_savings_neighbors_ratio()
const;
1149 void _internal_set_savings_neighbors_ratio(
double value);
1153 void clear_cheapest_insertion_farthest_seeds_ratio();
1154 double cheapest_insertion_farthest_seeds_ratio()
const;
1155 void set_cheapest_insertion_farthest_seeds_ratio(
double value);
1157 double _internal_cheapest_insertion_farthest_seeds_ratio()
const;
1158 void _internal_set_cheapest_insertion_farthest_seeds_ratio(
double value);
1162 void clear_savings_arc_coefficient();
1163 double savings_arc_coefficient()
const;
1164 void set_savings_arc_coefficient(
double value);
1166 double _internal_savings_arc_coefficient()
const;
1167 void _internal_set_savings_arc_coefficient(
double value);
1171 void clear_relocate_expensive_chain_num_arcs_to_consider();
1172 int32_t relocate_expensive_chain_num_arcs_to_consider()
const;
1173 void set_relocate_expensive_chain_num_arcs_to_consider(int32_t
value);
1175 int32_t _internal_relocate_expensive_chain_num_arcs_to_consider()
const;
1176 void _internal_set_relocate_expensive_chain_num_arcs_to_consider(int32_t
value);
1180 void clear_use_unfiltered_first_solution_strategy();
1181 bool use_unfiltered_first_solution_strategy()
const;
1182 void set_use_unfiltered_first_solution_strategy(
bool value);
1184 bool _internal_use_unfiltered_first_solution_strategy()
const;
1185 void _internal_set_use_unfiltered_first_solution_strategy(
bool value);
1189 void clear_savings_add_reverse_arcs();
1190 bool savings_add_reverse_arcs()
const;
1191 void set_savings_add_reverse_arcs(
bool value);
1193 bool _internal_savings_add_reverse_arcs()
const;
1194 void _internal_set_savings_add_reverse_arcs(
bool value);
1198 void clear_savings_parallel_routes();
1199 bool savings_parallel_routes()
const;
1200 void set_savings_parallel_routes(
bool value);
1202 bool _internal_savings_parallel_routes()
const;
1203 void _internal_set_savings_parallel_routes(
bool value);
1207 void clear_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization();
1208 bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization()
const;
1209 void set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(
bool value);
1211 bool _internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization()
const;
1212 void _internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(
bool value);
1216 void clear_cheapest_insertion_first_solution_neighbors_ratio();
1217 double cheapest_insertion_first_solution_neighbors_ratio()
const;
1218 void set_cheapest_insertion_first_solution_neighbors_ratio(
double value);
1220 double _internal_cheapest_insertion_first_solution_neighbors_ratio()
const;
1221 void _internal_set_cheapest_insertion_first_solution_neighbors_ratio(
double value);
1225 void clear_log_cost_scaling_factor();
1226 double log_cost_scaling_factor()
const;
1227 void set_log_cost_scaling_factor(
double value);
1229 double _internal_log_cost_scaling_factor()
const;
1230 void _internal_set_log_cost_scaling_factor(
double value);
1234 void clear_savings_max_memory_usage_bytes();
1235 double savings_max_memory_usage_bytes()
const;
1236 void set_savings_max_memory_usage_bytes(
double value);
1238 double _internal_savings_max_memory_usage_bytes()
const;
1239 void _internal_set_savings_max_memory_usage_bytes(
double value);
1243 void clear_use_cp_sat();
1252 void clear_use_cp();
1261 void clear_log_cost_offset();
1262 double log_cost_offset()
const;
1263 void set_log_cost_offset(
double value);
1265 double _internal_log_cost_offset()
const;
1266 void _internal_set_log_cost_offset(
double value);
1270 void clear_cheapest_insertion_add_unperformed_entries();
1271 bool cheapest_insertion_add_unperformed_entries()
const;
1272 void set_cheapest_insertion_add_unperformed_entries(
bool value);
1274 bool _internal_cheapest_insertion_add_unperformed_entries()
const;
1275 void _internal_set_cheapest_insertion_add_unperformed_entries(
bool value);
1279 void clear_christofides_use_minimum_matching();
1280 bool christofides_use_minimum_matching()
const;
1281 void set_christofides_use_minimum_matching(
bool value);
1283 bool _internal_christofides_use_minimum_matching()
const;
1284 void _internal_set_christofides_use_minimum_matching(
bool value);
1288 void clear_use_multi_armed_bandit_concatenate_operators();
1289 bool use_multi_armed_bandit_concatenate_operators()
const;
1290 void set_use_multi_armed_bandit_concatenate_operators(
bool value);
1292 bool _internal_use_multi_armed_bandit_concatenate_operators()
const;
1293 void _internal_set_use_multi_armed_bandit_concatenate_operators(
bool value);
1297 void clear_use_depth_first_search();
1298 bool use_depth_first_search()
const;
1299 void set_use_depth_first_search(
bool value);
1301 bool _internal_use_depth_first_search()
const;
1302 void _internal_set_use_depth_first_search(
bool value);
1306 void clear_heuristic_expensive_chain_lns_num_arcs_to_consider();
1307 int32_t heuristic_expensive_chain_lns_num_arcs_to_consider()
const;
1308 void set_heuristic_expensive_chain_lns_num_arcs_to_consider(int32_t
value);
1310 int32_t _internal_heuristic_expensive_chain_lns_num_arcs_to_consider()
const;
1311 void _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(int32_t
value);
1315 void clear_cheapest_insertion_ls_operator_neighbors_ratio();
1316 double cheapest_insertion_ls_operator_neighbors_ratio()
const;
1317 void set_cheapest_insertion_ls_operator_neighbors_ratio(
double value);
1319 double _internal_cheapest_insertion_ls_operator_neighbors_ratio()
const;
1320 void _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(
double value);
1324 void clear_continuous_scheduling_solver();
1333 void clear_mixed_integer_scheduling_solver();
1342 void clear_heuristic_close_nodes_lns_num_nodes();
1343 int32_t heuristic_close_nodes_lns_num_nodes()
const;
1344 void set_heuristic_close_nodes_lns_num_nodes(int32_t
value);
1346 int32_t _internal_heuristic_close_nodes_lns_num_nodes()
const;
1347 void _internal_set_heuristic_close_nodes_lns_num_nodes(int32_t
value);
1351 void clear_cheapest_insertion_first_solution_min_neighbors();
1352 int32_t cheapest_insertion_first_solution_min_neighbors()
const;
1353 void set_cheapest_insertion_first_solution_min_neighbors(int32_t
value);
1355 int32_t _internal_cheapest_insertion_first_solution_min_neighbors()
const;
1356 void _internal_set_cheapest_insertion_first_solution_min_neighbors(int32_t
value);
1360 void clear_multi_armed_bandit_compound_operator_memory_coefficient();
1361 double multi_armed_bandit_compound_operator_memory_coefficient()
const;
1362 void set_multi_armed_bandit_compound_operator_memory_coefficient(
double value);
1364 double _internal_multi_armed_bandit_compound_operator_memory_coefficient()
const;
1365 void _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(
double value);
1369 void clear_multi_armed_bandit_compound_operator_exploration_coefficient();
1370 double multi_armed_bandit_compound_operator_exploration_coefficient()
const;
1371 void set_multi_armed_bandit_compound_operator_exploration_coefficient(
double value);
1373 double _internal_multi_armed_bandit_compound_operator_exploration_coefficient()
const;
1374 void _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(
double value);
1378 void clear_cheapest_insertion_ls_operator_min_neighbors();
1379 int32_t cheapest_insertion_ls_operator_min_neighbors()
const;
1380 void set_cheapest_insertion_ls_operator_min_neighbors(int32_t
value);
1382 int32_t _internal_cheapest_insertion_ls_operator_min_neighbors()
const;
1383 void _internal_set_cheapest_insertion_ls_operator_min_neighbors(int32_t
value);
1387 void clear_use_generalized_cp_sat();
1399 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1400 typedef void InternalArenaConstructable_;
1401 typedef void DestructorSkippable_;
1402 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr log_tag_;
1404 ::PROTOBUF_NAMESPACE_ID::Duration* time_limit_;
1405 ::PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit_;
1408 int first_solution_strategy_;
1409 int local_search_metaheuristic_;
1410 double guided_local_search_lambda_coefficient_;
1411 double optimization_step_;
1412 int64_t solution_limit_;
1413 bool use_full_propagation_;
1415 int32_t number_of_solutions_to_collect_;
1416 double savings_neighbors_ratio_;
1417 double cheapest_insertion_farthest_seeds_ratio_;
1418 double savings_arc_coefficient_;
1419 int32_t relocate_expensive_chain_num_arcs_to_consider_;
1420 bool use_unfiltered_first_solution_strategy_;
1421 bool savings_add_reverse_arcs_;
1422 bool savings_parallel_routes_;
1423 bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_;
1424 double cheapest_insertion_first_solution_neighbors_ratio_;
1425 double log_cost_scaling_factor_;
1426 double savings_max_memory_usage_bytes_;
1429 double log_cost_offset_;
1430 bool cheapest_insertion_add_unperformed_entries_;
1431 bool christofides_use_minimum_matching_;
1432 bool use_multi_armed_bandit_concatenate_operators_;
1433 bool use_depth_first_search_;
1434 int32_t heuristic_expensive_chain_lns_num_arcs_to_consider_;
1435 double cheapest_insertion_ls_operator_neighbors_ratio_;
1436 int continuous_scheduling_solver_;
1437 int mixed_integer_scheduling_solver_;
1438 int32_t heuristic_close_nodes_lns_num_nodes_;
1439 int32_t cheapest_insertion_first_solution_min_neighbors_;
1440 double multi_armed_bandit_compound_operator_memory_coefficient_;
1441 double multi_armed_bandit_compound_operator_exploration_coefficient_;
1442 int32_t cheapest_insertion_ls_operator_min_neighbors_;
1443 int use_generalized_cp_sat_;
1444 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1445 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1450 public ::PROTOBUF_NAMESPACE_ID::Message {
1459 *
this = ::std::move(from);
1467 if (
this == &from)
return *
this;
1468 if (GetOwningArena() == from.GetOwningArena()
1469 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1470 && GetOwningArena() !=
nullptr
1473 InternalSwap(&from);
1503 if (other ==
this)
return;
1504 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1505 if (GetOwningArena() !=
nullptr &&
1506 GetOwningArena() == other->GetOwningArena()) {
1508 if (GetOwningArena() == other->GetOwningArena()) {
1510 InternalSwap(other);
1512 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(
this, other);
1516 if (other ==
this)
return;
1517 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1518 InternalSwap(other);
1524 return CreateMaybeMessage<RoutingModelParameters>(arena);
1526 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1528 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1531 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
1533 PROTOBUF_ATTRIBUTE_REINITIALIZES
void Clear() final;
1539 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1545 void SetCachedSize(
int size)
const final;
1549 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1550 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1551 return "operations_research.RoutingModelParameters";
1555 bool is_message_owned =
false);
1557 static void ArenaDtor(
void*
object);
1558 inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
1562 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*
GetClassData() const final;
1564 ::PROTOBUF_NAMESPACE_ID::Metadata
GetMetadata() const final;
1571 kSolverParametersFieldNumber = 1,
1572 kReduceVehicleCostModelFieldNumber = 2,
1573 kMaxCallbackCacheSizeFieldNumber = 3,
1576 bool has_solver_parameters()
const;
1578 bool _internal_has_solver_parameters()
const;
1580 void clear_solver_parameters();
1581 const ::operations_research::ConstraintSolverParameters& solver_parameters()
const;
1582 PROTOBUF_NODISCARD ::operations_research::ConstraintSolverParameters* release_solver_parameters();
1586 const ::operations_research::ConstraintSolverParameters& _internal_solver_parameters()
const;
1589 void unsafe_arena_set_allocated_solver_parameters(
1594 void clear_reduce_vehicle_cost_model();
1595 bool reduce_vehicle_cost_model()
const;
1596 void set_reduce_vehicle_cost_model(
bool value);
1598 bool _internal_reduce_vehicle_cost_model()
const;
1599 void _internal_set_reduce_vehicle_cost_model(
bool value);
1603 void clear_max_callback_cache_size();
1604 int32_t max_callback_cache_size()
const;
1605 void set_max_callback_cache_size(int32_t
value);
1607 int32_t _internal_max_callback_cache_size()
const;
1608 void _internal_set_max_callback_cache_size(int32_t
value);
1615 template <
typename T>
friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1616 typedef void InternalArenaConstructable_;
1617 typedef void DestructorSkippable_;
1619 bool reduce_vehicle_cost_model_;
1620 int32_t max_callback_cache_size_;
1621 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1622 friend struct ::TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto;
1630 #pragma GCC diagnostic push
1631 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1644 return _internal_use_relocate();
1648 use_relocate_ =
value;
1651 _internal_set_use_relocate(
value);
1657 use_relocate_pair_ = 0;
1664 return _internal_use_relocate_pair();
1668 use_relocate_pair_ =
value;
1671 _internal_set_use_relocate_pair(
value);
1677 use_light_relocate_pair_ = 0;
1684 return _internal_use_light_relocate_pair();
1688 use_light_relocate_pair_ =
value;
1691 _internal_set_use_light_relocate_pair(
value);
1697 use_relocate_neighbors_ = 0;
1704 return _internal_use_relocate_neighbors();
1708 use_relocate_neighbors_ =
value;
1711 _internal_set_use_relocate_neighbors(
value);
1717 use_relocate_subtrip_ = 0;
1724 return _internal_use_relocate_subtrip();
1728 use_relocate_subtrip_ =
value;
1731 _internal_set_use_relocate_subtrip(
value);
1744 return _internal_use_exchange();
1748 use_exchange_ =
value;
1751 _internal_set_use_exchange(
value);
1757 use_exchange_pair_ = 0;
1764 return _internal_use_exchange_pair();
1768 use_exchange_pair_ =
value;
1771 _internal_set_use_exchange_pair(
value);
1777 use_exchange_subtrip_ = 0;
1784 return _internal_use_exchange_subtrip();
1788 use_exchange_subtrip_ =
value;
1791 _internal_set_use_exchange_subtrip(
value);
1804 return _internal_use_cross();
1811 _internal_set_use_cross(
value);
1817 use_cross_exchange_ = 0;
1824 return _internal_use_cross_exchange();
1828 use_cross_exchange_ =
value;
1831 _internal_set_use_cross_exchange(
value);
1837 use_relocate_expensive_chain_ = 0;
1844 return _internal_use_relocate_expensive_chain();
1848 use_relocate_expensive_chain_ =
value;
1851 _internal_set_use_relocate_expensive_chain(
value);
1864 return _internal_use_two_opt();
1868 use_two_opt_ =
value;
1871 _internal_set_use_two_opt(
value);
1884 return _internal_use_or_opt();
1888 use_or_opt_ =
value;
1891 _internal_set_use_or_opt(
value);
1897 use_lin_kernighan_ = 0;
1904 return _internal_use_lin_kernighan();
1908 use_lin_kernighan_ =
value;
1911 _internal_set_use_lin_kernighan(
value);
1924 return _internal_use_tsp_opt();
1928 use_tsp_opt_ =
value;
1931 _internal_set_use_tsp_opt(
value);
1937 use_make_active_ = 0;
1944 return _internal_use_make_active();
1948 use_make_active_ =
value;
1951 _internal_set_use_make_active(
value);
1957 use_relocate_and_make_active_ = 0;
1964 return _internal_use_relocate_and_make_active();
1968 use_relocate_and_make_active_ =
value;
1971 _internal_set_use_relocate_and_make_active(
value);
1977 use_make_inactive_ = 0;
1984 return _internal_use_make_inactive();
1988 use_make_inactive_ =
value;
1991 _internal_set_use_make_inactive(
value);
1997 use_make_chain_inactive_ = 0;
2004 return _internal_use_make_chain_inactive();
2008 use_make_chain_inactive_ =
value;
2011 _internal_set_use_make_chain_inactive(
value);
2017 use_swap_active_ = 0;
2024 return _internal_use_swap_active();
2028 use_swap_active_ =
value;
2031 _internal_set_use_swap_active(
value);
2037 use_extended_swap_active_ = 0;
2044 return _internal_use_extended_swap_active();
2048 use_extended_swap_active_ =
value;
2051 _internal_set_use_extended_swap_active(
value);
2057 use_node_pair_swap_active_ = 0;
2064 return _internal_use_node_pair_swap_active();
2068 use_node_pair_swap_active_ =
value;
2071 _internal_set_use_node_pair_swap_active(
value);
2084 return _internal_use_path_lns();
2088 use_path_lns_ =
value;
2091 _internal_set_use_path_lns(
value);
2097 use_full_path_lns_ = 0;
2104 return _internal_use_full_path_lns();
2108 use_full_path_lns_ =
value;
2111 _internal_set_use_full_path_lns(
value);
2124 return _internal_use_tsp_lns();
2128 use_tsp_lns_ =
value;
2131 _internal_set_use_tsp_lns(
value);
2137 use_inactive_lns_ = 0;
2144 return _internal_use_inactive_lns();
2148 use_inactive_lns_ =
value;
2151 _internal_set_use_inactive_lns(
value);
2157 use_global_cheapest_insertion_path_lns_ = 0;
2164 return _internal_use_global_cheapest_insertion_path_lns();
2168 use_global_cheapest_insertion_path_lns_ =
value;
2171 _internal_set_use_global_cheapest_insertion_path_lns(
value);
2177 use_local_cheapest_insertion_path_lns_ = 0;
2184 return _internal_use_local_cheapest_insertion_path_lns();
2188 use_local_cheapest_insertion_path_lns_ =
value;
2191 _internal_set_use_local_cheapest_insertion_path_lns(
value);
2197 use_relocate_path_global_cheapest_insertion_insert_unperformed_ = 0;
2204 return _internal_use_relocate_path_global_cheapest_insertion_insert_unperformed();
2208 use_relocate_path_global_cheapest_insertion_insert_unperformed_ =
value;
2211 _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(
value);
2217 use_global_cheapest_insertion_expensive_chain_lns_ = 0;
2224 return _internal_use_global_cheapest_insertion_expensive_chain_lns();
2228 use_global_cheapest_insertion_expensive_chain_lns_ =
value;
2231 _internal_set_use_global_cheapest_insertion_expensive_chain_lns(
value);
2237 use_local_cheapest_insertion_expensive_chain_lns_ = 0;
2244 return _internal_use_local_cheapest_insertion_expensive_chain_lns();
2248 use_local_cheapest_insertion_expensive_chain_lns_ =
value;
2251 _internal_set_use_local_cheapest_insertion_expensive_chain_lns(
value);
2257 use_global_cheapest_insertion_close_nodes_lns_ = 0;
2264 return _internal_use_global_cheapest_insertion_close_nodes_lns();
2268 use_global_cheapest_insertion_close_nodes_lns_ =
value;
2271 _internal_set_use_global_cheapest_insertion_close_nodes_lns(
value);
2277 use_local_cheapest_insertion_close_nodes_lns_ = 0;
2284 return _internal_use_local_cheapest_insertion_close_nodes_lns();
2288 use_local_cheapest_insertion_close_nodes_lns_ =
value;
2291 _internal_set_use_local_cheapest_insertion_close_nodes_lns(
value);
2301 improvement_rate_coefficient_ = 0;
2303inline double RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_improvement_rate_coefficient()
const {
2304 return improvement_rate_coefficient_;
2308 return _internal_improvement_rate_coefficient();
2310inline void RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_set_improvement_rate_coefficient(
double value) {
2312 improvement_rate_coefficient_ =
value;
2315 _internal_set_improvement_rate_coefficient(
value);
2321 improvement_rate_solutions_distance_ = 0;
2323inline int32_t RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_improvement_rate_solutions_distance()
const {
2324 return improvement_rate_solutions_distance_;
2328 return _internal_improvement_rate_solutions_distance();
2330inline void RoutingSearchParameters_ImprovementSearchLimitParameters::_internal_set_improvement_rate_solutions_distance(int32_t
value) {
2332 improvement_rate_solutions_distance_ =
value;
2335 _internal_set_improvement_rate_solutions_distance(
value);
2345 first_solution_strategy_ = 0;
2352 return _internal_first_solution_strategy();
2356 first_solution_strategy_ =
value;
2359 _internal_set_first_solution_strategy(
value);
2365 use_unfiltered_first_solution_strategy_ =
false;
2367inline bool RoutingSearchParameters::_internal_use_unfiltered_first_solution_strategy()
const {
2368 return use_unfiltered_first_solution_strategy_;
2372 return _internal_use_unfiltered_first_solution_strategy();
2374inline void RoutingSearchParameters::_internal_set_use_unfiltered_first_solution_strategy(
bool value) {
2376 use_unfiltered_first_solution_strategy_ =
value;
2379 _internal_set_use_unfiltered_first_solution_strategy(
value);
2385 savings_neighbors_ratio_ = 0;
2387inline double RoutingSearchParameters::_internal_savings_neighbors_ratio()
const {
2388 return savings_neighbors_ratio_;
2392 return _internal_savings_neighbors_ratio();
2394inline void RoutingSearchParameters::_internal_set_savings_neighbors_ratio(
double value) {
2396 savings_neighbors_ratio_ =
value;
2399 _internal_set_savings_neighbors_ratio(
value);
2405 savings_max_memory_usage_bytes_ = 0;
2407inline double RoutingSearchParameters::_internal_savings_max_memory_usage_bytes()
const {
2408 return savings_max_memory_usage_bytes_;
2412 return _internal_savings_max_memory_usage_bytes();
2414inline void RoutingSearchParameters::_internal_set_savings_max_memory_usage_bytes(
double value) {
2416 savings_max_memory_usage_bytes_ =
value;
2419 _internal_set_savings_max_memory_usage_bytes(
value);
2425 savings_add_reverse_arcs_ =
false;
2427inline bool RoutingSearchParameters::_internal_savings_add_reverse_arcs()
const {
2428 return savings_add_reverse_arcs_;
2432 return _internal_savings_add_reverse_arcs();
2434inline void RoutingSearchParameters::_internal_set_savings_add_reverse_arcs(
bool value) {
2436 savings_add_reverse_arcs_ =
value;
2439 _internal_set_savings_add_reverse_arcs(
value);
2445 savings_arc_coefficient_ = 0;
2447inline double RoutingSearchParameters::_internal_savings_arc_coefficient()
const {
2448 return savings_arc_coefficient_;
2452 return _internal_savings_arc_coefficient();
2454inline void RoutingSearchParameters::_internal_set_savings_arc_coefficient(
double value) {
2456 savings_arc_coefficient_ =
value;
2459 _internal_set_savings_arc_coefficient(
value);
2465 savings_parallel_routes_ =
false;
2467inline bool RoutingSearchParameters::_internal_savings_parallel_routes()
const {
2468 return savings_parallel_routes_;
2472 return _internal_savings_parallel_routes();
2474inline void RoutingSearchParameters::_internal_set_savings_parallel_routes(
bool value) {
2476 savings_parallel_routes_ =
value;
2479 _internal_set_savings_parallel_routes(
value);
2485 cheapest_insertion_farthest_seeds_ratio_ = 0;
2487inline double RoutingSearchParameters::_internal_cheapest_insertion_farthest_seeds_ratio()
const {
2488 return cheapest_insertion_farthest_seeds_ratio_;
2492 return _internal_cheapest_insertion_farthest_seeds_ratio();
2494inline void RoutingSearchParameters::_internal_set_cheapest_insertion_farthest_seeds_ratio(
double value) {
2496 cheapest_insertion_farthest_seeds_ratio_ =
value;
2499 _internal_set_cheapest_insertion_farthest_seeds_ratio(
value);
2505 cheapest_insertion_first_solution_neighbors_ratio_ = 0;
2507inline double RoutingSearchParameters::_internal_cheapest_insertion_first_solution_neighbors_ratio()
const {
2508 return cheapest_insertion_first_solution_neighbors_ratio_;
2512 return _internal_cheapest_insertion_first_solution_neighbors_ratio();
2514inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_neighbors_ratio(
double value) {
2516 cheapest_insertion_first_solution_neighbors_ratio_ =
value;
2519 _internal_set_cheapest_insertion_first_solution_neighbors_ratio(
value);
2525 cheapest_insertion_first_solution_min_neighbors_ = 0;
2527inline int32_t RoutingSearchParameters::_internal_cheapest_insertion_first_solution_min_neighbors()
const {
2528 return cheapest_insertion_first_solution_min_neighbors_;
2532 return _internal_cheapest_insertion_first_solution_min_neighbors();
2534inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_min_neighbors(int32_t
value) {
2536 cheapest_insertion_first_solution_min_neighbors_ =
value;
2539 _internal_set_cheapest_insertion_first_solution_min_neighbors(
value);
2545 cheapest_insertion_ls_operator_neighbors_ratio_ = 0;
2547inline double RoutingSearchParameters::_internal_cheapest_insertion_ls_operator_neighbors_ratio()
const {
2548 return cheapest_insertion_ls_operator_neighbors_ratio_;
2552 return _internal_cheapest_insertion_ls_operator_neighbors_ratio();
2554inline void RoutingSearchParameters::_internal_set_cheapest_insertion_ls_operator_neighbors_ratio(
double value) {
2556 cheapest_insertion_ls_operator_neighbors_ratio_ =
value;
2559 _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(
value);
2565 cheapest_insertion_ls_operator_min_neighbors_ = 0;
2567inline int32_t RoutingSearchParameters::_internal_cheapest_insertion_ls_operator_min_neighbors()
const {
2568 return cheapest_insertion_ls_operator_min_neighbors_;
2572 return _internal_cheapest_insertion_ls_operator_min_neighbors();
2574inline void RoutingSearchParameters::_internal_set_cheapest_insertion_ls_operator_min_neighbors(int32_t
value) {
2576 cheapest_insertion_ls_operator_min_neighbors_ =
value;
2579 _internal_set_cheapest_insertion_ls_operator_min_neighbors(
value);
2585 cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_ =
false;
2587inline bool RoutingSearchParameters::_internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization()
const {
2588 return cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_;
2592 return _internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization();
2594inline void RoutingSearchParameters::_internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(
bool value) {
2596 cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_ =
value;
2599 _internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(
value);
2605 cheapest_insertion_add_unperformed_entries_ =
false;
2607inline bool RoutingSearchParameters::_internal_cheapest_insertion_add_unperformed_entries()
const {
2608 return cheapest_insertion_add_unperformed_entries_;
2612 return _internal_cheapest_insertion_add_unperformed_entries();
2614inline void RoutingSearchParameters::_internal_set_cheapest_insertion_add_unperformed_entries(
bool value) {
2616 cheapest_insertion_add_unperformed_entries_ =
value;
2619 _internal_set_cheapest_insertion_add_unperformed_entries(
value);
2625 christofides_use_minimum_matching_ =
false;
2627inline bool RoutingSearchParameters::_internal_christofides_use_minimum_matching()
const {
2628 return christofides_use_minimum_matching_;
2632 return _internal_christofides_use_minimum_matching();
2634inline void RoutingSearchParameters::_internal_set_christofides_use_minimum_matching(
bool value) {
2636 christofides_use_minimum_matching_ =
value;
2639 _internal_set_christofides_use_minimum_matching(
value);
2644inline bool RoutingSearchParameters::_internal_has_local_search_operators()
const {
2648 return _internal_has_local_search_operators();
2651 if (GetArenaForAllocation() ==
nullptr && local_search_operators_ !=
nullptr) {
2652 delete local_search_operators_;
2654 local_search_operators_ =
nullptr;
2656inline const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& RoutingSearchParameters::_internal_local_search_operators()
const {
2657 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* p = local_search_operators_;
2663 return _internal_local_search_operators();
2667 if (GetArenaForAllocation() ==
nullptr) {
2668 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(local_search_operators_);
2670 local_search_operators_ = local_search_operators;
2671 if (local_search_operators) {
2681 local_search_operators_ =
nullptr;
2682#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
2683 auto* old =
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(temp);
2684 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2685 if (GetArenaForAllocation() ==
nullptr) {
delete old; }
2687 if (GetArenaForAllocation() !=
nullptr) {
2688 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2697 local_search_operators_ =
nullptr;
2700inline ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* RoutingSearchParameters::_internal_mutable_local_search_operators() {
2702 if (local_search_operators_ ==
nullptr) {
2703 auto* p = CreateMaybeMessage<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>(GetArenaForAllocation());
2704 local_search_operators_ = p;
2706 return local_search_operators_;
2714 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
2715 if (message_arena ==
nullptr) {
2716 delete local_search_operators_;
2718 if (local_search_operators) {
2719 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2720 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators>::GetOwningArena(local_search_operators);
2721 if (message_arena != submessage_arena) {
2722 local_search_operators = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2723 message_arena, local_search_operators, submessage_arena);
2729 local_search_operators_ = local_search_operators;
2735 use_multi_armed_bandit_concatenate_operators_ =
false;
2737inline bool RoutingSearchParameters::_internal_use_multi_armed_bandit_concatenate_operators()
const {
2738 return use_multi_armed_bandit_concatenate_operators_;
2742 return _internal_use_multi_armed_bandit_concatenate_operators();
2744inline void RoutingSearchParameters::_internal_set_use_multi_armed_bandit_concatenate_operators(
bool value) {
2746 use_multi_armed_bandit_concatenate_operators_ =
value;
2749 _internal_set_use_multi_armed_bandit_concatenate_operators(
value);
2755 multi_armed_bandit_compound_operator_memory_coefficient_ = 0;
2757inline double RoutingSearchParameters::_internal_multi_armed_bandit_compound_operator_memory_coefficient()
const {
2758 return multi_armed_bandit_compound_operator_memory_coefficient_;
2762 return _internal_multi_armed_bandit_compound_operator_memory_coefficient();
2764inline void RoutingSearchParameters::_internal_set_multi_armed_bandit_compound_operator_memory_coefficient(
double value) {
2766 multi_armed_bandit_compound_operator_memory_coefficient_ =
value;
2769 _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(
value);
2775 multi_armed_bandit_compound_operator_exploration_coefficient_ = 0;
2777inline double RoutingSearchParameters::_internal_multi_armed_bandit_compound_operator_exploration_coefficient()
const {
2778 return multi_armed_bandit_compound_operator_exploration_coefficient_;
2782 return _internal_multi_armed_bandit_compound_operator_exploration_coefficient();
2784inline void RoutingSearchParameters::_internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(
double value) {
2786 multi_armed_bandit_compound_operator_exploration_coefficient_ =
value;
2789 _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(
value);
2795 relocate_expensive_chain_num_arcs_to_consider_ = 0;
2797inline int32_t RoutingSearchParameters::_internal_relocate_expensive_chain_num_arcs_to_consider()
const {
2798 return relocate_expensive_chain_num_arcs_to_consider_;
2802 return _internal_relocate_expensive_chain_num_arcs_to_consider();
2804inline void RoutingSearchParameters::_internal_set_relocate_expensive_chain_num_arcs_to_consider(int32_t
value) {
2806 relocate_expensive_chain_num_arcs_to_consider_ =
value;
2809 _internal_set_relocate_expensive_chain_num_arcs_to_consider(
value);
2815 heuristic_expensive_chain_lns_num_arcs_to_consider_ = 0;
2817inline int32_t RoutingSearchParameters::_internal_heuristic_expensive_chain_lns_num_arcs_to_consider()
const {
2818 return heuristic_expensive_chain_lns_num_arcs_to_consider_;
2822 return _internal_heuristic_expensive_chain_lns_num_arcs_to_consider();
2824inline void RoutingSearchParameters::_internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(int32_t
value) {
2826 heuristic_expensive_chain_lns_num_arcs_to_consider_ =
value;
2829 _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(
value);
2835 heuristic_close_nodes_lns_num_nodes_ = 0;
2837inline int32_t RoutingSearchParameters::_internal_heuristic_close_nodes_lns_num_nodes()
const {
2838 return heuristic_close_nodes_lns_num_nodes_;
2842 return _internal_heuristic_close_nodes_lns_num_nodes();
2844inline void RoutingSearchParameters::_internal_set_heuristic_close_nodes_lns_num_nodes(int32_t
value) {
2846 heuristic_close_nodes_lns_num_nodes_ =
value;
2849 _internal_set_heuristic_close_nodes_lns_num_nodes(
value);
2855 local_search_metaheuristic_ = 0;
2862 return _internal_local_search_metaheuristic();
2866 local_search_metaheuristic_ =
value;
2869 _internal_set_local_search_metaheuristic(
value);
2875 guided_local_search_lambda_coefficient_ = 0;
2877inline double RoutingSearchParameters::_internal_guided_local_search_lambda_coefficient()
const {
2878 return guided_local_search_lambda_coefficient_;
2882 return _internal_guided_local_search_lambda_coefficient();
2884inline void RoutingSearchParameters::_internal_set_guided_local_search_lambda_coefficient(
double value) {
2886 guided_local_search_lambda_coefficient_ =
value;
2889 _internal_set_guided_local_search_lambda_coefficient(
value);
2895 use_depth_first_search_ =
false;
2897inline bool RoutingSearchParameters::_internal_use_depth_first_search()
const {
2898 return use_depth_first_search_;
2902 return _internal_use_depth_first_search();
2904inline void RoutingSearchParameters::_internal_set_use_depth_first_search(
bool value) {
2906 use_depth_first_search_ =
value;
2909 _internal_set_use_depth_first_search(
value);
2922 return _internal_use_cp();
2929 _internal_set_use_cp(
value);
2942 return _internal_use_cp_sat();
2946 use_cp_sat_ =
value;
2949 _internal_set_use_cp_sat(
value);
2955 use_generalized_cp_sat_ = 0;
2962 return _internal_use_generalized_cp_sat();
2966 use_generalized_cp_sat_ =
value;
2969 _internal_set_use_generalized_cp_sat(
value);
2974inline bool RoutingSearchParameters::_internal_has_sat_parameters()
const {
2978 return _internal_has_sat_parameters();
2980inline const ::operations_research::sat::SatParameters& RoutingSearchParameters::_internal_sat_parameters()
const {
2981 const ::operations_research::sat::SatParameters* p = sat_parameters_;
2987 return _internal_sat_parameters();
2991 if (GetArenaForAllocation() ==
nullptr) {
2992 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(sat_parameters_);
2994 sat_parameters_ = sat_parameters;
2995 if (sat_parameters) {
3005 sat_parameters_ =
nullptr;
3006#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3007 auto* old =
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(temp);
3008 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3009 if (GetArenaForAllocation() ==
nullptr) {
delete old; }
3011 if (GetArenaForAllocation() !=
nullptr) {
3012 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3021 sat_parameters_ =
nullptr;
3024inline ::operations_research::sat::SatParameters* RoutingSearchParameters::_internal_mutable_sat_parameters() {
3026 if (sat_parameters_ ==
nullptr) {
3027 auto* p = CreateMaybeMessage<::operations_research::sat::SatParameters>(GetArenaForAllocation());
3028 sat_parameters_ = p;
3030 return sat_parameters_;
3038 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3039 if (message_arena ==
nullptr) {
3040 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*
>(sat_parameters_);
3042 if (sat_parameters) {
3043 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3044 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
3045 ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
3046 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(sat_parameters));
3047 if (message_arena != submessage_arena) {
3048 sat_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3049 message_arena, sat_parameters, submessage_arena);
3055 sat_parameters_ = sat_parameters;
3061 continuous_scheduling_solver_ = 0;
3068 return _internal_continuous_scheduling_solver();
3072 continuous_scheduling_solver_ =
value;
3075 _internal_set_continuous_scheduling_solver(
value);
3081 mixed_integer_scheduling_solver_ = 0;
3088 return _internal_mixed_integer_scheduling_solver();
3092 mixed_integer_scheduling_solver_ =
value;
3095 _internal_set_mixed_integer_scheduling_solver(
value);
3101 optimization_step_ = 0;
3103inline double RoutingSearchParameters::_internal_optimization_step()
const {
3104 return optimization_step_;
3108 return _internal_optimization_step();
3110inline void RoutingSearchParameters::_internal_set_optimization_step(
double value) {
3112 optimization_step_ =
value;
3115 _internal_set_optimization_step(
value);
3121 number_of_solutions_to_collect_ = 0;
3123inline int32_t RoutingSearchParameters::_internal_number_of_solutions_to_collect()
const {
3124 return number_of_solutions_to_collect_;
3128 return _internal_number_of_solutions_to_collect();
3130inline void RoutingSearchParameters::_internal_set_number_of_solutions_to_collect(int32_t
value) {
3132 number_of_solutions_to_collect_ =
value;
3135 _internal_set_number_of_solutions_to_collect(
value);
3141 solution_limit_ = int64_t{0};
3143inline int64_t RoutingSearchParameters::_internal_solution_limit()
const {
3144 return solution_limit_;
3148 return _internal_solution_limit();
3150inline void RoutingSearchParameters::_internal_set_solution_limit(int64_t
value) {
3152 solution_limit_ =
value;
3155 _internal_set_solution_limit(
value);
3160inline bool RoutingSearchParameters::_internal_has_time_limit()
const {
3164 return _internal_has_time_limit();
3166inline const ::PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::_internal_time_limit()
const {
3167 const ::PROTOBUF_NAMESPACE_ID::Duration* p = time_limit_;
3168 return p !=
nullptr ? *p :
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Duration&
>(
3169 ::PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
3173 return _internal_time_limit();
3176 ::PROTOBUF_NAMESPACE_ID::Duration*
time_limit) {
3177 if (GetArenaForAllocation() ==
nullptr) {
3178 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(time_limit_);
3190 ::PROTOBUF_NAMESPACE_ID::Duration* temp = time_limit_;
3191 time_limit_ =
nullptr;
3192#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3193 auto* old =
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(temp);
3194 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3195 if (GetArenaForAllocation() ==
nullptr) {
delete old; }
3197 if (GetArenaForAllocation() !=
nullptr) {
3198 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3206 ::PROTOBUF_NAMESPACE_ID::Duration* temp = time_limit_;
3207 time_limit_ =
nullptr;
3210inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::_internal_mutable_time_limit() {
3212 if (time_limit_ ==
nullptr) {
3213 auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Duration>(GetArenaForAllocation());
3219 ::PROTOBUF_NAMESPACE_ID::Duration* _msg = _internal_mutable_time_limit();
3224 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3225 if (message_arena ==
nullptr) {
3226 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*
>(time_limit_);
3229 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3230 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
3231 ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
3232 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(
time_limit));
3233 if (message_arena != submessage_arena) {
3234 time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3235 message_arena,
time_limit, submessage_arena);
3246inline bool RoutingSearchParameters::_internal_has_lns_time_limit()
const {
3250 return _internal_has_lns_time_limit();
3252inline const ::PROTOBUF_NAMESPACE_ID::Duration& RoutingSearchParameters::_internal_lns_time_limit()
const {
3253 const ::PROTOBUF_NAMESPACE_ID::Duration* p = lns_time_limit_;
3254 return p !=
nullptr ? *p :
reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Duration&
>(
3255 ::PROTOBUF_NAMESPACE_ID::_Duration_default_instance_);
3259 return _internal_lns_time_limit();
3262 ::PROTOBUF_NAMESPACE_ID::Duration* lns_time_limit) {
3263 if (GetArenaForAllocation() ==
nullptr) {
3264 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(lns_time_limit_);
3266 lns_time_limit_ = lns_time_limit;
3267 if (lns_time_limit) {
3276 ::PROTOBUF_NAMESPACE_ID::Duration* temp = lns_time_limit_;
3277 lns_time_limit_ =
nullptr;
3278#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3279 auto* old =
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(temp);
3280 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3281 if (GetArenaForAllocation() ==
nullptr) {
delete old; }
3283 if (GetArenaForAllocation() !=
nullptr) {
3284 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3292 ::PROTOBUF_NAMESPACE_ID::Duration* temp = lns_time_limit_;
3293 lns_time_limit_ =
nullptr;
3296inline ::PROTOBUF_NAMESPACE_ID::Duration* RoutingSearchParameters::_internal_mutable_lns_time_limit() {
3298 if (lns_time_limit_ ==
nullptr) {
3299 auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Duration>(GetArenaForAllocation());
3300 lns_time_limit_ = p;
3302 return lns_time_limit_;
3305 ::PROTOBUF_NAMESPACE_ID::Duration* _msg = _internal_mutable_lns_time_limit();
3310 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3311 if (message_arena ==
nullptr) {
3312 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*
>(lns_time_limit_);
3314 if (lns_time_limit) {
3315 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3316 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
3317 ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
3318 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(lns_time_limit));
3319 if (message_arena != submessage_arena) {
3320 lns_time_limit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3321 message_arena, lns_time_limit, submessage_arena);
3327 lns_time_limit_ = lns_time_limit;
3332inline bool RoutingSearchParameters::_internal_has_improvement_limit_parameters()
const {
3336 return _internal_has_improvement_limit_parameters();
3339 if (GetArenaForAllocation() ==
nullptr && improvement_limit_parameters_ !=
nullptr) {
3340 delete improvement_limit_parameters_;
3342 improvement_limit_parameters_ =
nullptr;
3344inline const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& RoutingSearchParameters::_internal_improvement_limit_parameters()
const {
3345 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* p = improvement_limit_parameters_;
3351 return _internal_improvement_limit_parameters();
3355 if (GetArenaForAllocation() ==
nullptr) {
3356 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(improvement_limit_parameters_);
3358 improvement_limit_parameters_ = improvement_limit_parameters;
3359 if (improvement_limit_parameters) {
3369 improvement_limit_parameters_ =
nullptr;
3370#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3371 auto* old =
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(temp);
3372 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3373 if (GetArenaForAllocation() ==
nullptr) {
delete old; }
3375 if (GetArenaForAllocation() !=
nullptr) {
3376 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3385 improvement_limit_parameters_ =
nullptr;
3388inline ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* RoutingSearchParameters::_internal_mutable_improvement_limit_parameters() {
3390 if (improvement_limit_parameters_ ==
nullptr) {
3391 auto* p = CreateMaybeMessage<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters>(GetArenaForAllocation());
3392 improvement_limit_parameters_ = p;
3394 return improvement_limit_parameters_;
3402 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3403 if (message_arena ==
nullptr) {
3404 delete improvement_limit_parameters_;
3406 if (improvement_limit_parameters) {
3407 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3408 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters>::GetOwningArena(improvement_limit_parameters);
3409 if (message_arena != submessage_arena) {
3410 improvement_limit_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3411 message_arena, improvement_limit_parameters, submessage_arena);
3417 improvement_limit_parameters_ = improvement_limit_parameters;
3423 use_full_propagation_ =
false;
3425inline bool RoutingSearchParameters::_internal_use_full_propagation()
const {
3426 return use_full_propagation_;
3430 return _internal_use_full_propagation();
3432inline void RoutingSearchParameters::_internal_set_use_full_propagation(
bool value) {
3434 use_full_propagation_ =
value;
3437 _internal_set_use_full_propagation(
value);
3443 log_search_ =
false;
3445inline bool RoutingSearchParameters::_internal_log_search()
const {
3450 return _internal_log_search();
3452inline void RoutingSearchParameters::_internal_set_log_search(
bool value) {
3454 log_search_ =
value;
3457 _internal_set_log_search(
value);
3463 log_cost_scaling_factor_ = 0;
3465inline double RoutingSearchParameters::_internal_log_cost_scaling_factor()
const {
3466 return log_cost_scaling_factor_;
3470 return _internal_log_cost_scaling_factor();
3472inline void RoutingSearchParameters::_internal_set_log_cost_scaling_factor(
double value) {
3474 log_cost_scaling_factor_ =
value;
3477 _internal_set_log_cost_scaling_factor(
value);
3483 log_cost_offset_ = 0;
3485inline double RoutingSearchParameters::_internal_log_cost_offset()
const {
3486 return log_cost_offset_;
3490 return _internal_log_cost_offset();
3492inline void RoutingSearchParameters::_internal_set_log_cost_offset(
double value) {
3494 log_cost_offset_ =
value;
3497 _internal_set_log_cost_offset(
value);
3503 log_tag_.ClearToEmpty();
3507 return _internal_log_tag();
3509template <
typename ArgT0,
typename... ArgT>
3510inline PROTOBUF_ALWAYS_INLINE
3513 log_tag_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
static_cast<ArgT0 &&
>(arg0), args..., GetArenaForAllocation());
3517 std::string* _s = _internal_mutable_log_tag();
3521inline const std::string& RoutingSearchParameters::_internal_log_tag()
const {
3522 return log_tag_.Get();
3524inline void RoutingSearchParameters::_internal_set_log_tag(
const std::string&
value) {
3526 log_tag_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
value, GetArenaForAllocation());
3528inline std::string* RoutingSearchParameters::_internal_mutable_log_tag() {
3530 return log_tag_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
3534 return log_tag_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
3537 if (log_tag !=
nullptr) {
3542 log_tag_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), log_tag,
3543 GetArenaForAllocation());
3544#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
3545 if (log_tag_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
3546 log_tag_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
"", GetArenaForAllocation());
3557inline bool RoutingModelParameters::_internal_has_solver_parameters()
const {
3561 return _internal_has_solver_parameters();
3563inline const ::operations_research::ConstraintSolverParameters& RoutingModelParameters::_internal_solver_parameters()
const {
3564 const ::operations_research::ConstraintSolverParameters* p = solver_parameters_;
3570 return _internal_solver_parameters();
3574 if (GetArenaForAllocation() ==
nullptr) {
3575 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(solver_parameters_);
3577 solver_parameters_ = solver_parameters;
3578 if (solver_parameters) {
3588 solver_parameters_ =
nullptr;
3589#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3590 auto* old =
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(temp);
3591 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3592 if (GetArenaForAllocation() ==
nullptr) {
delete old; }
3594 if (GetArenaForAllocation() !=
nullptr) {
3595 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3604 solver_parameters_ =
nullptr;
3607inline ::operations_research::ConstraintSolverParameters* RoutingModelParameters::_internal_mutable_solver_parameters() {
3609 if (solver_parameters_ ==
nullptr) {
3610 auto* p = CreateMaybeMessage<::operations_research::ConstraintSolverParameters>(GetArenaForAllocation());
3611 solver_parameters_ = p;
3613 return solver_parameters_;
3621 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3622 if (message_arena ==
nullptr) {
3623 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*
>(solver_parameters_);
3625 if (solver_parameters) {
3626 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3627 ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
3628 ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
3629 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*
>(solver_parameters));
3630 if (message_arena != submessage_arena) {
3631 solver_parameters = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3632 message_arena, solver_parameters, submessage_arena);
3638 solver_parameters_ = solver_parameters;
3644 reduce_vehicle_cost_model_ =
false;
3646inline bool RoutingModelParameters::_internal_reduce_vehicle_cost_model()
const {
3647 return reduce_vehicle_cost_model_;
3651 return _internal_reduce_vehicle_cost_model();
3653inline void RoutingModelParameters::_internal_set_reduce_vehicle_cost_model(
bool value) {
3655 reduce_vehicle_cost_model_ =
value;
3658 _internal_set_reduce_vehicle_cost_model(
value);
3664 max_callback_cache_size_ = 0;
3666inline int32_t RoutingModelParameters::_internal_max_callback_cache_size()
const {
3667 return max_callback_cache_size_;
3671 return _internal_max_callback_cache_size();
3673inline void RoutingModelParameters::_internal_set_max_callback_cache_size(int32_t
value) {
3675 max_callback_cache_size_ =
value;
3678 _internal_set_max_callback_cache_size(
value);
3683 #pragma GCC diagnostic pop
3696PROTOBUF_NAMESPACE_OPEN
3700inline const EnumDescriptor* GetEnumDescriptor< ::operations_research::RoutingSearchParameters_SchedulingSolver>() {
3704PROTOBUF_NAMESPACE_CLOSE
3708#include <google/protobuf/port_undef.inc>
int32_t max_callback_cache_size() const
void set_max_callback_cache_size(int32_t value)
static const RoutingModelParameters & default_instance()
void set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *solver_parameters)
static const ClassData _class_data_
static const RoutingModelParameters * internal_default_instance()
void clear_max_callback_cache_size()
void UnsafeArenaSwap(RoutingModelParameters *other)
friend void swap(RoutingModelParameters &a, RoutingModelParameters &b)
void set_reduce_vehicle_cost_model(bool value)
void Swap(RoutingModelParameters *other)
::operations_research::ConstraintSolverParameters * unsafe_arena_release_solver_parameters()
PROTOBUF_NODISCARD::operations_research::ConstraintSolverParameters * release_solver_parameters()
bool reduce_vehicle_cost_model() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
const ::operations_research::ConstraintSolverParameters & solver_parameters() const
::operations_research::ConstraintSolverParameters * mutable_solver_parameters()
bool has_solver_parameters() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
RoutingModelParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
void clear_reduce_vehicle_cost_model()
RoutingModelParameters & operator=(RoutingModelParameters &&from) noexcept
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
RoutingModelParameters(RoutingModelParameters &&from) noexcept
void unsafe_arena_set_allocated_solver_parameters(::operations_research::ConstraintSolverParameters *solver_parameters)
RoutingModelParameters & operator=(const RoutingModelParameters &from)
RoutingSearchParameters_ImprovementSearchLimitParameters & operator=(RoutingSearchParameters_ImprovementSearchLimitParameters &&from) noexcept
RoutingSearchParameters_ImprovementSearchLimitParameters()
void clear_improvement_rate_solutions_distance()
static const ClassData _class_data_
static const RoutingSearchParameters_ImprovementSearchLimitParameters * internal_default_instance()
int32_t improvement_rate_solutions_distance() const
double improvement_rate_coefficient() const
void set_improvement_rate_solutions_distance(int32_t value)
void UnsafeArenaSwap(RoutingSearchParameters_ImprovementSearchLimitParameters *other)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
void Swap(RoutingSearchParameters_ImprovementSearchLimitParameters *other)
RoutingSearchParameters_ImprovementSearchLimitParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void set_improvement_rate_coefficient(double value)
friend void swap(RoutingSearchParameters_ImprovementSearchLimitParameters &a, RoutingSearchParameters_ImprovementSearchLimitParameters &b)
void clear_improvement_rate_coefficient()
RoutingSearchParameters_ImprovementSearchLimitParameters(RoutingSearchParameters_ImprovementSearchLimitParameters &&from) noexcept
RoutingSearchParameters_ImprovementSearchLimitParameters & operator=(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static const RoutingSearchParameters_ImprovementSearchLimitParameters & default_instance()
~RoutingSearchParameters_LocalSearchNeighborhoodOperators() override
void clear_use_exchange_subtrip()
::operations_research::OptionalBoolean use_swap_active() const
void set_use_exchange_subtrip(::operations_research::OptionalBoolean value)
void set_use_node_pair_swap_active(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_tsp_lns() const
void Swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators *other)
::operations_research::OptionalBoolean use_make_chain_inactive() const
void clear_use_extended_swap_active()
::operations_research::OptionalBoolean use_tsp_opt() const
void clear_use_path_lns()
void UnsafeArenaSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators *other)
::operations_research::OptionalBoolean use_relocate_expensive_chain() const
void set_use_make_inactive(::operations_research::OptionalBoolean value)
void set_use_cross_exchange(::operations_research::OptionalBoolean value)
void clear_use_relocate_path_global_cheapest_insertion_insert_unperformed()
void set_use_make_chain_inactive(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_extended_swap_active() const
::operations_research::OptionalBoolean use_relocate_neighbors() const
void set_use_light_relocate_pair(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_path_lns() const
int GetCachedSize() const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void clear_use_local_cheapest_insertion_close_nodes_lns()
void clear_use_relocate_and_make_active()
void set_use_local_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value)
void clear_use_make_inactive()
static const ClassData _class_data_
void set_use_relocate_path_global_cheapest_insertion_insert_unperformed(::operations_research::OptionalBoolean value)
void set_use_make_active(::operations_research::OptionalBoolean value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators()
::operations_research::OptionalBoolean use_lin_kernighan() const
::operations_research::OptionalBoolean use_local_cheapest_insertion_close_nodes_lns() const
::operations_research::OptionalBoolean use_inactive_lns() const
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators & default_instance()
void set_use_exchange_pair(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_exchange_pair() const
::operations_research::OptionalBoolean use_full_path_lns() const
::operations_research::OptionalBoolean use_node_pair_swap_active() const
void clear_use_exchange_pair()
void clear_use_global_cheapest_insertion_path_lns()
void clear_use_light_relocate_pair()
void set_use_tsp_lns(::operations_research::OptionalBoolean value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators(RoutingSearchParameters_LocalSearchNeighborhoodOperators &&from) noexcept
void set_use_cross(::operations_research::OptionalBoolean value)
void clear_use_full_path_lns()
void set_use_relocate_subtrip(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed() const
::operations_research::OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns() const
static const RoutingSearchParameters_LocalSearchNeighborhoodOperators * internal_default_instance()
void clear_use_make_active()
void set_use_relocate(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_light_relocate_pair() const
void set_use_global_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value)
void set_use_tsp_opt(::operations_research::OptionalBoolean value)
void clear_use_node_pair_swap_active()
::operations_research::OptionalBoolean use_exchange_subtrip() const
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(RoutingSearchParameters_LocalSearchNeighborhoodOperators &&from) noexcept
void set_use_global_cheapest_insertion_expensive_chain_lns(::operations_research::OptionalBoolean value)
void clear_use_relocate_pair()
::operations_research::OptionalBoolean use_global_cheapest_insertion_close_nodes_lns() const
void clear_use_cross_exchange()
void clear_use_global_cheapest_insertion_close_nodes_lns()
void set_use_global_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
void set_use_extended_swap_active(::operations_research::OptionalBoolean value)
RoutingSearchParameters_LocalSearchNeighborhoodOperators & operator=(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
::operations_research::OptionalBoolean use_or_opt() const
bool IsInitialized() const final
static constexpr int kIndexInFileMessages
void set_use_relocate_expensive_chain(::operations_research::OptionalBoolean value)
void clear_use_make_chain_inactive()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
void clear_use_lin_kernighan()
void clear_use_inactive_lns()
@ kUseRelocateExpensiveChainFieldNumber
@ kUseLinKernighanFieldNumber
@ kUseLocalCheapestInsertionPathLnsFieldNumber
@ kUseLightRelocatePairFieldNumber
@ kUseExchangeSubtripFieldNumber
@ kUseSwapActiveFieldNumber
@ kUseLocalCheapestInsertionCloseNodesLnsFieldNumber
@ kUseExchangePairFieldNumber
@ kUseGlobalCheapestInsertionCloseNodesLnsFieldNumber
@ kUseRelocatePairFieldNumber
@ kUseExtendedSwapActiveFieldNumber
@ kUseCrossExchangeFieldNumber
@ kUseExchangeFieldNumber
@ kUseGlobalCheapestInsertionExpensiveChainLnsFieldNumber
@ kUseRelocatePathGlobalCheapestInsertionInsertUnperformedFieldNumber
@ kUseLocalCheapestInsertionExpensiveChainLnsFieldNumber
@ kUseNodePairSwapActiveFieldNumber
@ kUseMakeChainInactiveFieldNumber
@ kUseGlobalCheapestInsertionPathLnsFieldNumber
@ kUseRelocateNeighborsFieldNumber
@ kUseRelocateSubtripFieldNumber
@ kUseRelocateAndMakeActiveFieldNumber
@ kUseRelocateFieldNumber
@ kUseMakeInactiveFieldNumber
@ kUseInactiveLnsFieldNumber
@ kUseFullPathLnsFieldNumber
@ kUseMakeActiveFieldNumber
void clear_use_exchange()
void clear_use_local_cheapest_insertion_path_lns()
void set_use_swap_active(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_make_inactive() const
void clear_use_relocate()
void set_use_relocate_pair(::operations_research::OptionalBoolean value)
void clear_use_swap_active()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void clear_use_global_cheapest_insertion_expensive_chain_lns()
void set_use_inactive_lns(::operations_research::OptionalBoolean value)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::operations_research::OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns() const
void set_use_full_path_lns(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_cross() const
void set_use_exchange(::operations_research::OptionalBoolean value)
void CopyFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
::operations_research::OptionalBoolean use_relocate_and_make_active() const
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
::operations_research::OptionalBoolean use_cross_exchange() const
void set_use_local_cheapest_insertion_path_lns(::operations_research::OptionalBoolean value)
void clear_use_relocate_expensive_chain()
::operations_research::OptionalBoolean use_local_cheapest_insertion_path_lns() const
void MergeFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void set_use_relocate_and_make_active(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_relocate_pair() const
::operations_research::OptionalBoolean use_global_cheapest_insertion_path_lns() const
void clear_use_relocate_subtrip()
RoutingSearchParameters_LocalSearchNeighborhoodOperators * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
friend void swap(RoutingSearchParameters_LocalSearchNeighborhoodOperators &a, RoutingSearchParameters_LocalSearchNeighborhoodOperators &b)
void set_use_lin_kernighan(::operations_research::OptionalBoolean value)
void set_use_relocate_neighbors(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_two_opt() const
void set_use_or_opt(::operations_research::OptionalBoolean value)
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
void clear_use_local_cheapest_insertion_expensive_chain_lns()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
::operations_research::OptionalBoolean use_exchange() const
size_t ByteSizeLong() const final
void clear_use_relocate_neighbors()
::operations_research::OptionalBoolean use_make_active() const
::operations_research::OptionalBoolean use_relocate_subtrip() const
void set_use_two_opt(::operations_research::OptionalBoolean value)
void set_use_local_cheapest_insertion_close_nodes_lns(::operations_research::OptionalBoolean value)
void set_use_path_lns(::operations_research::OptionalBoolean value)
::operations_research::OptionalBoolean use_relocate() const
void set_multi_armed_bandit_compound_operator_memory_coefficient(double value)
double cheapest_insertion_first_solution_neighbors_ratio() const
int32_t heuristic_close_nodes_lns_num_nodes() const
std::string * mutable_log_tag()
void set_log_cost_offset(double value)
void set_allocated_time_limit(::PROTOBUF_NAMESPACE_ID::Duration *time_limit)
void Swap(RoutingSearchParameters *other)
bool cheapest_insertion_add_unperformed_entries() const
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters * mutable_improvement_limit_parameters()
void set_optimization_step(double value)
void set_savings_add_reverse_arcs(bool value)
double savings_max_memory_usage_bytes() const
void clear_multi_armed_bandit_compound_operator_exploration_coefficient()
bool has_local_search_operators() const
void set_solution_limit(int64_t value)
void clear_use_generalized_cp_sat()
void set_allocated_log_tag(std::string *log_tag)
void clear_savings_add_reverse_arcs()
void set_cheapest_insertion_add_unperformed_entries(bool value)
PROTOBUF_NODISCARD std::string * release_log_tag()
void clear_improvement_limit_parameters()
void clear_cheapest_insertion_first_solution_min_neighbors()
bool has_time_limit() const
static const RoutingSearchParameters * internal_default_instance()
RoutingSearchParameters()
double savings_neighbors_ratio() const
PROTOBUF_NODISCARD::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters * release_improvement_limit_parameters()
const std::string & log_tag() const
::operations_research::FirstSolutionStrategy_Value first_solution_strategy() const
void set_allocated_sat_parameters(::operations_research::sat::SatParameters *sat_parameters)
void set_cheapest_insertion_first_solution_min_neighbors(int32_t value)
void set_savings_arc_coefficient(double value)
double cheapest_insertion_farthest_seeds_ratio() const
::operations_research::OptionalBoolean use_generalized_cp_sat() const
double multi_armed_bandit_compound_operator_exploration_coefficient() const
bool savings_parallel_routes() const
static const ClassData _class_data_
double optimization_step() const
PROTOBUF_NODISCARD::operations_research::sat::SatParameters * release_sat_parameters()
::operations_research::sat::SatParameters * unsafe_arena_release_sat_parameters()
void clear_log_cost_scaling_factor()
void set_cheapest_insertion_farthest_seeds_ratio(double value)
const ::PROTOBUF_NAMESPACE_ID::Duration & time_limit() const
void unsafe_arena_set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *improvement_limit_parameters)
RoutingSearchParameters & operator=(const RoutingSearchParameters &from)
void set_allocated_lns_time_limit(::PROTOBUF_NAMESPACE_ID::Duration *lns_time_limit)
bool savings_add_reverse_arcs() const
void clear_solution_limit()
::PROTOBUF_NAMESPACE_ID::Duration * mutable_lns_time_limit()
void set_savings_neighbors_ratio(double value)
void clear_relocate_expensive_chain_num_arcs_to_consider()
void set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(bool value)
int32_t relocate_expensive_chain_num_arcs_to_consider() const
void unsafe_arena_set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *local_search_operators)
void unsafe_arena_set_allocated_sat_parameters(::operations_research::sat::SatParameters *sat_parameters)
void clear_use_full_propagation()
void clear_optimization_step()
void set_cheapest_insertion_first_solution_neighbors_ratio(double value)
void clear_savings_neighbors_ratio()
bool use_multi_armed_bandit_concatenate_operators() const
void clear_cheapest_insertion_first_solution_neighbors_ratio()
void clear_use_depth_first_search()
void set_guided_local_search_lambda_coefficient(double value)
RoutingSearchParameters(RoutingSearchParameters &&from) noexcept
static const RoutingSearchParameters & default_instance()
const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators & local_search_operators() const
void set_use_full_propagation(bool value)
::operations_research::LocalSearchMetaheuristic_Value local_search_metaheuristic() const
::PROTOBUF_NAMESPACE_ID::Duration * unsafe_arena_release_lns_time_limit()
RoutingSearchParameters & operator=(RoutingSearchParameters &&from) noexcept
void clear_continuous_scheduling_solver()
bool has_lns_time_limit() const
void set_heuristic_close_nodes_lns_num_nodes(int32_t value)
static bool SchedulingSolver_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SchedulingSolver *value)
void set_local_search_metaheuristic(::operations_research::LocalSearchMetaheuristic_Value value)
::operations_research::OptionalBoolean use_cp_sat() const
void set_cheapest_insertion_ls_operator_neighbors_ratio(double value)
void set_first_solution_strategy(::operations_research::FirstSolutionStrategy_Value value)
PROTOBUF_NODISCARD::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * release_local_search_operators()
void clear_cheapest_insertion_add_unperformed_entries()
void clear_number_of_solutions_to_collect()
void clear_heuristic_close_nodes_lns_num_nodes()
void clear_guided_local_search_lambda_coefficient()
void UnsafeArenaSwap(RoutingSearchParameters *other)
double guided_local_search_lambda_coefficient() const
::operations_research::OptionalBoolean use_cp() const
void clear_savings_max_memory_usage_bytes()
bool use_depth_first_search() const
void set_relocate_expensive_chain_num_arcs_to_consider(int32_t value)
::PROTOBUF_NAMESPACE_ID::Duration * unsafe_arena_release_time_limit()
void clear_savings_parallel_routes()
bool use_full_propagation() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() const
const ::operations_research::sat::SatParameters & sat_parameters() const
void clear_log_cost_offset()
void clear_savings_arc_coefficient()
void unsafe_arena_set_allocated_lns_time_limit(::PROTOBUF_NAMESPACE_ID::Duration *lns_time_limit)
void clear_local_search_metaheuristic()
bool use_unfiltered_first_solution_strategy() const
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * mutable_local_search_operators()
void set_multi_armed_bandit_compound_operator_exploration_coefficient(double value)
void clear_cheapest_insertion_ls_operator_neighbors_ratio()
void set_savings_parallel_routes(bool value)
::PROTOBUF_NAMESPACE_ID::Duration * mutable_time_limit()
RoutingSearchParameters * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
bool has_sat_parameters() const
void set_number_of_solutions_to_collect(int32_t value)
double log_cost_offset() const
bool christofides_use_minimum_matching() const
void set_allocated_local_search_operators(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators *local_search_operators)
void clear_first_solution_strategy()
PROTOBUF_NODISCARD::PROTOBUF_NAMESPACE_ID::Duration * release_time_limit()
void clear_use_unfiltered_first_solution_strategy()
int32_t number_of_solutions_to_collect() const
double savings_arc_coefficient() const
void clear_heuristic_expensive_chain_lns_num_arcs_to_consider()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
void clear_christofides_use_minimum_matching()
void set_use_multi_armed_bandit_concatenate_operators(bool value)
::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * unsafe_arena_release_local_search_operators()
void set_use_cp_sat(::operations_research::OptionalBoolean value)
void set_use_depth_first_search(bool value)
double cheapest_insertion_ls_operator_neighbors_ratio() const
void clear_local_search_operators()
int64_t solution_limit() const
PROTOBUF_NODISCARD::PROTOBUF_NAMESPACE_ID::Duration * release_lns_time_limit()
void set_heuristic_expensive_chain_lns_num_arcs_to_consider(int32_t value)
::operations_research::sat::SatParameters * mutable_sat_parameters()
void set_mixed_integer_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
void set_savings_max_memory_usage_bytes(double value)
double multi_armed_bandit_compound_operator_memory_coefficient() const
void clear_multi_armed_bandit_compound_operator_memory_coefficient()
void set_use_unfiltered_first_solution_strategy(bool value)
void clear_mixed_integer_scheduling_solver()
::operations_research::RoutingSearchParameters_SchedulingSolver mixed_integer_scheduling_solver() const
int32_t cheapest_insertion_first_solution_min_neighbors() const
void unsafe_arena_set_allocated_time_limit(::PROTOBUF_NAMESPACE_ID::Duration *time_limit)
void set_log_search(bool value)
void clear_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization()
int32_t cheapest_insertion_ls_operator_min_neighbors() const
void set_use_generalized_cp_sat(::operations_research::OptionalBoolean value)
void set_cheapest_insertion_ls_operator_min_neighbors(int32_t value)
void clear_cheapest_insertion_ls_operator_min_neighbors()
void set_allocated_improvement_limit_parameters(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters *improvement_limit_parameters)
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SchedulingSolver_descriptor()
friend void swap(RoutingSearchParameters &a, RoutingSearchParameters &b)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
int32_t heuristic_expensive_chain_lns_num_arcs_to_consider() const
const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters & improvement_limit_parameters() const
double log_cost_scaling_factor() const
static const std::string & SchedulingSolver_Name(T enum_t_value)
void set_christofides_use_minimum_matching(bool value)
void clear_cheapest_insertion_farthest_seeds_ratio()
void set_log_cost_scaling_factor(double value)
void clear_use_multi_armed_bandit_concatenate_operators()
void set_continuous_scheduling_solver(::operations_research::RoutingSearchParameters_SchedulingSolver value)
const ::PROTOBUF_NAMESPACE_ID::Duration & lns_time_limit() const
bool has_improvement_limit_parameters() const
::operations_research::RoutingSearchParameters_SchedulingSolver continuous_scheduling_solver() const
::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters * unsafe_arena_release_improvement_limit_parameters()
void set_log_tag(ArgT0 &&arg0, ArgT... args)
void set_use_cp(::operations_research::OptionalBoolean value)
ModelSharedTimeLimit * time_limit
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SatParametersDefaultTypeInternal _SatParameters_default_instance_
Collection of objects used to extend the Constraint Solver library.
const std::string & RoutingSearchParameters_SchedulingSolver_Name(T enum_t_value)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * RoutingSearchParameters_SchedulingSolver_descriptor()
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ConstraintSolverParametersDefaultTypeInternal _ConstraintSolverParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingSearchParameters_ImprovementSearchLimitParametersDefaultTypeInternal _RoutingSearchParameters_ImprovementSearchLimitParameters_default_instance_
FirstSolutionStrategy_Value
bool RoutingSearchParameters_SchedulingSolver_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_
RoutingSearchParameters_SchedulingSolver
@ RoutingSearchParameters_SchedulingSolver_UNSET
@ RoutingSearchParameters_SchedulingSolver_RoutingSearchParameters_SchedulingSolver_INT_MIN_SENTINEL_DO_NOT_USE_
@ RoutingSearchParameters_SchedulingSolver_CP_SAT
@ RoutingSearchParameters_SchedulingSolver_GLOP
@ RoutingSearchParameters_SchedulingSolver_RoutingSearchParameters_SchedulingSolver_INT_MAX_SENTINEL_DO_NOT_USE_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_
constexpr RoutingSearchParameters_SchedulingSolver RoutingSearchParameters_SchedulingSolver_SchedulingSolver_MAX
bool RoutingSearchParameters_SchedulingSolver_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RoutingSearchParameters_SchedulingSolver *value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_
constexpr int RoutingSearchParameters_SchedulingSolver_SchedulingSolver_ARRAYSIZE
LocalSearchMetaheuristic_Value
constexpr RoutingSearchParameters_SchedulingSolver RoutingSearchParameters_SchedulingSolver_SchedulingSolver_MIN
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto