8 #include <google/protobuf/io/coded_stream.h>
9 #include <google/protobuf/extension_set.h>
10 #include <google/protobuf/wire_format_lite.h>
11 #include <google/protobuf/descriptor.h>
12 #include <google/protobuf/generated_message_reflection.h>
13 #include <google/protobuf/reflection_ops.h>
14 #include <google/protobuf/wire_format.h>
16 #include <google/protobuf/port_def.inc>
18 PROTOBUF_PRAGMA_INIT_SEG
20 constexpr RoutingSearchParameters_LocalSearchNeighborhoodOperators::RoutingSearchParameters_LocalSearchNeighborhoodOperators(
21 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
24 , use_relocate_pair_(0)
26 , use_relocate_neighbors_(0)
32 , use_cross_exchange_(0)
38 , use_lin_kernighan_(0)
44 , use_make_inactive_(0)
46 , use_make_chain_inactive_(0)
50 , use_extended_swap_active_(0)
54 , use_full_path_lns_(0)
58 , use_inactive_lns_(0)
60 , use_node_pair_swap_active_(0)
62 , use_relocate_and_make_active_(0)
64 , use_exchange_pair_(0)
66 , use_relocate_expensive_chain_(0)
68 , use_light_relocate_pair_(0)
70 , use_relocate_subtrip_(0)
72 , use_exchange_subtrip_(0)
74 , use_global_cheapest_insertion_path_lns_(0)
76 , use_local_cheapest_insertion_path_lns_(0)
78 , use_global_cheapest_insertion_expensive_chain_lns_(0)
80 , use_local_cheapest_insertion_expensive_chain_lns_(0)
82 , use_global_cheapest_insertion_close_nodes_lns_(0)
84 , use_local_cheapest_insertion_close_nodes_lns_(0)
86 , use_relocate_path_global_cheapest_insertion_insert_unperformed_(0)
90 : _instance(::PROTOBUF_NAMESPACE_ID::
internal::ConstantInitialized{}) {}
93 RoutingSearchParameters_LocalSearchNeighborhoodOperators
_instance;
97 constexpr RoutingSearchParameters_ImprovementSearchLimitParameters::RoutingSearchParameters_ImprovementSearchLimitParameters(
98 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
99 : improvement_rate_solutions_distance_(0)
100 , improvement_rate_coefficient_(0){}
103 : _instance(::PROTOBUF_NAMESPACE_ID::
internal::ConstantInitialized{}) {}
106 RoutingSearchParameters_ImprovementSearchLimitParameters
_instance;
110 constexpr RoutingSearchParameters::RoutingSearchParameters(
111 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
112 : log_tag_(&::PROTOBUF_NAMESPACE_ID::
internal::fixed_address_empty_string)
113 , local_search_operators_(nullptr)
114 , time_limit_(nullptr)
115 , lns_time_limit_(nullptr)
116 , improvement_limit_parameters_(nullptr)
117 , first_solution_strategy_(0)
119 , local_search_metaheuristic_(0)
121 , guided_local_search_lambda_coefficient_(0)
122 , optimization_step_(0)
123 , solution_limit_(PROTOBUF_LONGLONG(0))
124 , use_full_propagation_(false)
126 , number_of_solutions_to_collect_(0)
127 , savings_neighbors_ratio_(0)
128 , cheapest_insertion_farthest_seeds_ratio_(0)
129 , savings_arc_coefficient_(0)
130 , relocate_expensive_chain_num_arcs_to_consider_(0)
131 , use_unfiltered_first_solution_strategy_(false)
132 , savings_add_reverse_arcs_(false)
133 , savings_parallel_routes_(false)
134 , cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_(false)
135 , cheapest_insertion_first_solution_neighbors_ratio_(0)
136 , log_cost_scaling_factor_(0)
137 , savings_max_memory_usage_bytes_(0)
142 , log_cost_offset_(0)
143 , cheapest_insertion_add_unperformed_entries_(false)
144 , christofides_use_minimum_matching_(false)
145 , use_multi_armed_bandit_concatenate_operators_(false)
146 , use_depth_first_search_(false)
147 , heuristic_expensive_chain_lns_num_arcs_to_consider_(0)
148 , cheapest_insertion_ls_operator_neighbors_ratio_(0)
149 , continuous_scheduling_solver_(0)
151 , mixed_integer_scheduling_solver_(0)
153 , heuristic_close_nodes_lns_num_nodes_(0)
154 , cheapest_insertion_first_solution_min_neighbors_(0)
155 , cheapest_insertion_ls_operator_min_neighbors_(0)
156 , multi_armed_bandit_compound_operator_memory_coefficient_(0)
157 , multi_armed_bandit_compound_operator_exploration_coefficient_(0){}
160 : _instance(::PROTOBUF_NAMESPACE_ID::
internal::ConstantInitialized{}) {}
167 constexpr RoutingModelParameters::RoutingModelParameters(
168 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
169 : solver_parameters_(nullptr)
170 , reduce_vehicle_cost_model_(false)
171 , max_callback_cache_size_(0){}
174 : _instance(::PROTOBUF_NAMESPACE_ID::
internal::ConstantInitialized{}) {}
188 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, _internal_metadata_),
192 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_),
193 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_pair_),
194 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_light_relocate_pair_),
195 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_neighbors_),
196 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_subtrip_),
197 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_exchange_),
198 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_exchange_pair_),
199 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_exchange_subtrip_),
200 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_cross_),
201 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_cross_exchange_),
202 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_expensive_chain_),
203 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_two_opt_),
204 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_or_opt_),
205 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_lin_kernighan_),
206 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_tsp_opt_),
207 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_make_active_),
208 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_and_make_active_),
209 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_make_inactive_),
210 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_make_chain_inactive_),
211 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_swap_active_),
212 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_extended_swap_active_),
213 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_node_pair_swap_active_),
214 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_path_lns_),
215 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_full_path_lns_),
216 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_tsp_lns_),
217 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_inactive_lns_),
218 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_global_cheapest_insertion_path_lns_),
219 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_local_cheapest_insertion_path_lns_),
220 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_path_global_cheapest_insertion_insert_unperformed_),
221 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_global_cheapest_insertion_expensive_chain_lns_),
222 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_local_cheapest_insertion_expensive_chain_lns_),
223 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_global_cheapest_insertion_close_nodes_lns_),
224 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_local_cheapest_insertion_close_nodes_lns_),
226 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters, _internal_metadata_),
230 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters, improvement_rate_coefficient_),
231 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters, improvement_rate_solutions_distance_),
233 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, _internal_metadata_),
237 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, first_solution_strategy_),
238 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, use_unfiltered_first_solution_strategy_),
239 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, savings_neighbors_ratio_),
240 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, savings_max_memory_usage_bytes_),
241 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, savings_add_reverse_arcs_),
242 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, savings_arc_coefficient_),
243 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, savings_parallel_routes_),
244 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, cheapest_insertion_farthest_seeds_ratio_),
245 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, cheapest_insertion_first_solution_neighbors_ratio_),
246 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, cheapest_insertion_first_solution_min_neighbors_),
247 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, cheapest_insertion_ls_operator_neighbors_ratio_),
248 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, cheapest_insertion_ls_operator_min_neighbors_),
249 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_),
250 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, cheapest_insertion_add_unperformed_entries_),
251 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, christofides_use_minimum_matching_),
252 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, local_search_operators_),
253 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, use_multi_armed_bandit_concatenate_operators_),
254 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, multi_armed_bandit_compound_operator_memory_coefficient_),
255 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, multi_armed_bandit_compound_operator_exploration_coefficient_),
256 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, relocate_expensive_chain_num_arcs_to_consider_),
257 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, heuristic_expensive_chain_lns_num_arcs_to_consider_),
258 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, heuristic_close_nodes_lns_num_nodes_),
259 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, local_search_metaheuristic_),
260 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, guided_local_search_lambda_coefficient_),
261 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, use_depth_first_search_),
262 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, use_cp_),
263 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, use_cp_sat_),
264 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, continuous_scheduling_solver_),
265 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, mixed_integer_scheduling_solver_),
266 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, optimization_step_),
267 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, number_of_solutions_to_collect_),
268 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, solution_limit_),
269 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, time_limit_),
270 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, lns_time_limit_),
271 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, improvement_limit_parameters_),
272 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, use_full_propagation_),
273 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, log_search_),
274 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, log_cost_scaling_factor_),
275 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, log_cost_offset_),
276 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, log_tag_),
278 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingModelParameters, _internal_metadata_),
282 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingModelParameters, solver_parameters_),
283 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingModelParameters, reduce_vehicle_cost_model_),
284 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingModelParameters, max_callback_cache_size_),
287 { 0, -1,
sizeof(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators)},
288 { 38, -1,
sizeof(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters)},
289 { 45, -1,
sizeof(::operations_research::RoutingSearchParameters)},
290 { 90, -1,
sizeof(::operations_research::RoutingModelParameters)},
300 const char descriptor_table_protodef_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto[]
PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
301 "\n2ortools/constraint_solver/routing_para"
302 "meters.proto\022\023operations_research\032\036googl"
303 "e/protobuf/duration.proto\032-ortools/const"
304 "raint_solver/routing_enums.proto\0321ortool"
305 "s/constraint_solver/solver_parameters.pr"
306 "oto\032#ortools/util/optional_boolean.proto"
307 "\"\364$\n\027RoutingSearchParameters\022Q\n\027first_so"
308 "lution_strategy\030\001 \001(\01620.operations_resea"
309 "rch.FirstSolutionStrategy.Value\022.\n&use_u"
310 "nfiltered_first_solution_strategy\030\002 \001(\010\022"
311 "\037\n\027savings_neighbors_ratio\030\016 \001(\001\022&\n\036savi"
312 "ngs_max_memory_usage_bytes\030\027 \001(\001\022 \n\030savi"
313 "ngs_add_reverse_arcs\030\017 \001(\010\022\037\n\027savings_ar"
314 "c_coefficient\030\022 \001(\001\022\037\n\027savings_parallel_"
315 "routes\030\023 \001(\010\022/\n\'cheapest_insertion_farth"
316 "est_seeds_ratio\030\020 \001(\001\0229\n1cheapest_insert"
317 "ion_first_solution_neighbors_ratio\030\025 \001(\001"
318 "\0227\n/cheapest_insertion_first_solution_mi"
319 "n_neighbors\030, \001(\005\0226\n.cheapest_insertion_"
320 "ls_operator_neighbors_ratio\030\037 \001(\001\0224\n,che"
321 "apest_insertion_ls_operator_min_neighbor"
322 "s\030- \001(\005\022P\nHcheapest_insertion_first_solu"
323 "tion_use_neighbors_ratio_for_initializat"
324 "ion\030. \001(\010\0222\n*cheapest_insertion_add_unpe"
325 "rformed_entries\030( \001(\010\022)\n!christofides_us"
326 "e_minimum_matching\030\036 \001(\010\022m\n\026local_search"
327 "_operators\030\003 \001(\0132M.operations_research.R"
328 "outingSearchParameters.LocalSearchNeighb"
329 "orhoodOperators\0224\n,use_multi_armed_bandi"
330 "t_concatenate_operators\030) \001(\010\022\?\n7multi_a"
331 "rmed_bandit_compound_operator_memory_coe"
332 "fficient\030* \001(\001\022D\n<multi_armed_bandit_com"
333 "pound_operator_exploration_coefficient\030+"
334 " \001(\001\0225\n-relocate_expensive_chain_num_arc"
335 "s_to_consider\030\024 \001(\005\022:\n2heuristic_expensi"
336 "ve_chain_lns_num_arcs_to_consider\030 \001(\005\022"
337 "+\n#heuristic_close_nodes_lns_num_nodes\030#"
338 " \001(\005\022W\n\032local_search_metaheuristic\030\004 \001(\016"
339 "23.operations_research.LocalSearchMetahe"
340 "uristic.Value\022.\n&guided_local_search_lam"
341 "bda_coefficient\030\005 \001(\001\022\036\n\026use_depth_first"
342 "_search\030\006 \001(\010\0224\n\006use_cp\030\034 \001(\0162$.operatio"
343 "ns_research.OptionalBoolean\0228\n\nuse_cp_sa"
344 "t\030\033 \001(\0162$.operations_research.OptionalBo"
345 "olean\022c\n\034continuous_scheduling_solver\030! "
346 "\001(\0162=.operations_research.RoutingSearchP"
347 "arameters.SchedulingSolver\022f\n\037mixed_inte"
348 "ger_scheduling_solver\030\" \001(\0162=.operations"
349 "_research.RoutingSearchParameters.Schedu"
350 "lingSolver\022\031\n\021optimization_step\030\007 \001(\001\022&\n"
351 "\036number_of_solutions_to_collect\030\021 \001(\005\022\026\n"
352 "\016solution_limit\030\010 \001(\003\022-\n\ntime_limit\030\t \001("
353 "\0132\031.google.protobuf.Duration\0221\n\016lns_time"
354 "_limit\030\n \001(\0132\031.google.protobuf.Duration\022"
355 "s\n\034improvement_limit_parameters\030% \001(\0132M."
356 "operations_research.RoutingSearchParamet"
357 "ers.ImprovementSearchLimitParameters\022\034\n\024"
358 "use_full_propagation\030\013 \001(\010\022\022\n\nlog_search"
359 "\030\r \001(\010\022\037\n\027log_cost_scaling_factor\030\026 \001(\001\022"
360 "\027\n\017log_cost_offset\030\035 \001(\001\022\017\n\007log_tag\030$ \001("
361 "\t\032\327\022\n LocalSearchNeighborhoodOperators\022:"
362 "\n\014use_relocate\030\001 \001(\0162$.operations_resear"
363 "ch.OptionalBoolean\022\?\n\021use_relocate_pair\030"
364 "\002 \001(\0162$.operations_research.OptionalBool"
365 "ean\022E\n\027use_light_relocate_pair\030\030 \001(\0162$.o"
366 "perations_research.OptionalBoolean\022D\n\026us"
367 "e_relocate_neighbors\030\003 \001(\0162$.operations_"
368 "research.OptionalBoolean\022B\n\024use_relocate"
369 "_subtrip\030\031 \001(\0162$.operations_research.Opt"
370 "ionalBoolean\022:\n\014use_exchange\030\004 \001(\0162$.ope"
371 "rations_research.OptionalBoolean\022\?\n\021use_"
372 "exchange_pair\030\026 \001(\0162$.operations_researc"
373 "h.OptionalBoolean\022B\n\024use_exchange_subtri"
374 "p\030\032 \001(\0162$.operations_research.OptionalBo"
375 "olean\0227\n\tuse_cross\030\005 \001(\0162$.operations_re"
376 "search.OptionalBoolean\022@\n\022use_cross_exch"
377 "ange\030\006 \001(\0162$.operations_research.Optiona"
378 "lBoolean\022J\n\034use_relocate_expensive_chain"
379 "\030\027 \001(\0162$.operations_research.OptionalBoo"
380 "lean\0229\n\013use_two_opt\030\007 \001(\0162$.operations_r"
381 "esearch.OptionalBoolean\0228\n\nuse_or_opt\030\010 "
382 "\001(\0162$.operations_research.OptionalBoolea"
383 "n\022\?\n\021use_lin_kernighan\030\t \001(\0162$.operation"
384 "s_research.OptionalBoolean\0229\n\013use_tsp_op"
385 "t\030\n \001(\0162$.operations_research.OptionalBo"
386 "olean\022=\n\017use_make_active\030\013 \001(\0162$.operati"
387 "ons_research.OptionalBoolean\022J\n\034use_relo"
388 "cate_and_make_active\030\025 \001(\0162$.operations_"
389 "research.OptionalBoolean\022\?\n\021use_make_ina"
390 "ctive\030\014 \001(\0162$.operations_research.Option"
391 "alBoolean\022E\n\027use_make_chain_inactive\030\r \001"
392 "(\0162$.operations_research.OptionalBoolean"
393 "\022=\n\017use_swap_active\030\016 \001(\0162$.operations_r"
394 "esearch.OptionalBoolean\022F\n\030use_extended_"
395 "swap_active\030\017 \001(\0162$.operations_research."
396 "OptionalBoolean\022G\n\031use_node_pair_swap_ac"
397 "tive\030\024 \001(\0162$.operations_research.Optiona"
398 "lBoolean\022:\n\014use_path_lns\030\020 \001(\0162$.operati"
399 "ons_research.OptionalBoolean\022\?\n\021use_full"
400 "_path_lns\030\021 \001(\0162$.operations_research.Op"
401 "tionalBoolean\0229\n\013use_tsp_lns\030\022 \001(\0162$.ope"
402 "rations_research.OptionalBoolean\022>\n\020use_"
403 "inactive_lns\030\023 \001(\0162$.operations_research"
404 ".OptionalBoolean\022T\n&use_global_cheapest_"
405 "insertion_path_lns\030\033 \001(\0162$.operations_re"
406 "search.OptionalBoolean\022S\n%use_local_chea"
407 "pest_insertion_path_lns\030\034 \001(\0162$.operatio"
408 "ns_research.OptionalBoolean\022l\n>use_reloc"
409 "ate_path_global_cheapest_insertion_inser"
410 "t_unperformed\030! \001(\0162$.operations_researc"
411 "h.OptionalBoolean\022_\n1use_global_cheapest"
412 "_insertion_expensive_chain_lns\030\035 \001(\0162$.o"
413 "perations_research.OptionalBoolean\022^\n0us"
414 "e_local_cheapest_insertion_expensive_cha"
415 "in_lns\030\036 \001(\0162$.operations_research.Optio"
416 "nalBoolean\022[\n-use_global_cheapest_insert"
417 "ion_close_nodes_lns\030\037 \001(\0162$.operations_r"
418 "esearch.OptionalBoolean\022Z\n,use_local_che"
419 "apest_insertion_close_nodes_lns\030 \001(\0162$."
420 "operations_research.OptionalBoolean\032u\n I"
421 "mprovementSearchLimitParameters\022$\n\034impro"
422 "vement_rate_coefficient\030& \001(\001\022+\n#improve"
423 "ment_rate_solutions_distance\030\' \001(\005\"3\n\020Sc"
424 "hedulingSolver\022\t\n\005UNSET\020\000\022\010\n\004GLOP\020\001\022\n\n\006C"
425 "P_SAT\020\002\"\250\001\n\026RoutingModelParameters\022J\n\021so"
426 "lver_parameters\030\001 \001(\0132/.operations_resea"
427 "rch.ConstraintSolverParameters\022!\n\031reduce"
428 "_vehicle_cost_model\030\002 \001(\010\022\037\n\027max_callbac"
429 "k_cache_size\030\003 \001(\005BI\n#com.google.ortools"
430 ".constraintsolverP\001\252\002\037Google.OrTools.Con"
431 "straintSolverb\006proto3"
434 &::descriptor_table_google_2fprotobuf_2fduration_2eproto,
441 false,
false, 5221, descriptor_table_protodef_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto,
"ortools/constraint_solver/routing_parameters.proto",
446 PROTOBUF_ATTRIBUTE_WEAK ::PROTOBUF_NAMESPACE_ID::Metadata
470 #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
476 constexpr
int RoutingSearchParameters::SchedulingSolver_ARRAYSIZE;
485 RoutingSearchParameters_LocalSearchNeighborhoodOperators::RoutingSearchParameters_LocalSearchNeighborhoodOperators(::PROTOBUF_NAMESPACE_ID::Arena* arena)
486 : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
488 RegisterArenaDtor(arena);
491 RoutingSearchParameters_LocalSearchNeighborhoodOperators::RoutingSearchParameters_LocalSearchNeighborhoodOperators(
const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from)
492 : ::PROTOBUF_NAMESPACE_ID::Message() {
493 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
494 ::memcpy(&use_relocate_, &from.use_relocate_,
495 static_cast<size_t>(
reinterpret_cast<char*
>(&use_relocate_path_global_cheapest_insertion_insert_unperformed_) -
496 reinterpret_cast<char*
>(&use_relocate_)) +
sizeof(use_relocate_path_global_cheapest_insertion_insert_unperformed_));
500 void RoutingSearchParameters_LocalSearchNeighborhoodOperators::SharedCtor() {
501 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
502 reinterpret_cast<char*
>(&use_relocate_) -
reinterpret_cast<char*
>(
this)),
503 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&use_relocate_path_global_cheapest_insertion_insert_unperformed_) -
504 reinterpret_cast<char*
>(&use_relocate_)) +
sizeof(use_relocate_path_global_cheapest_insertion_insert_unperformed_));
507 RoutingSearchParameters_LocalSearchNeighborhoodOperators::~RoutingSearchParameters_LocalSearchNeighborhoodOperators() {
510 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
513 void RoutingSearchParameters_LocalSearchNeighborhoodOperators::SharedDtor() {
514 GOOGLE_DCHECK(GetArena() ==
nullptr);
517 void RoutingSearchParameters_LocalSearchNeighborhoodOperators::ArenaDtor(
void*
object) {
518 RoutingSearchParameters_LocalSearchNeighborhoodOperators* _this =
reinterpret_cast< RoutingSearchParameters_LocalSearchNeighborhoodOperators*
>(object);
521 void RoutingSearchParameters_LocalSearchNeighborhoodOperators::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
523 void RoutingSearchParameters_LocalSearchNeighborhoodOperators::SetCachedSize(
int size)
const {
524 _cached_size_.Set(size);
527 void RoutingSearchParameters_LocalSearchNeighborhoodOperators::Clear() {
529 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
531 (void) cached_has_bits;
533 ::memset(&use_relocate_, 0,
static_cast<size_t>(
534 reinterpret_cast<char*
>(&use_relocate_path_global_cheapest_insertion_insert_unperformed_) -
535 reinterpret_cast<char*
>(&use_relocate_)) +
sizeof(use_relocate_path_global_cheapest_insertion_insert_unperformed_));
536 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
539 const char* RoutingSearchParameters_LocalSearchNeighborhoodOperators::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
540 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
541 while (!ctx->Done(&ptr)) {
542 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
543 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
548 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
549 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
552 }
else goto handle_unusual;
556 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
557 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
560 }
else goto handle_unusual;
564 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 24)) {
565 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
568 }
else goto handle_unusual;
572 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 32)) {
573 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
576 }
else goto handle_unusual;
580 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 40)) {
581 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
584 }
else goto handle_unusual;
588 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 48)) {
589 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
592 }
else goto handle_unusual;
596 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 56)) {
597 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
600 }
else goto handle_unusual;
604 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 64)) {
605 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
608 }
else goto handle_unusual;
612 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 72)) {
613 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
616 }
else goto handle_unusual;
620 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 80)) {
621 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
624 }
else goto handle_unusual;
628 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 88)) {
629 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
632 }
else goto handle_unusual;
636 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 96)) {
637 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
640 }
else goto handle_unusual;
644 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 104)) {
645 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
648 }
else goto handle_unusual;
652 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 112)) {
653 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
656 }
else goto handle_unusual;
660 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 120)) {
661 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
664 }
else goto handle_unusual;
668 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 128)) {
669 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
672 }
else goto handle_unusual;
676 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 136)) {
677 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
680 }
else goto handle_unusual;
684 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 144)) {
685 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
688 }
else goto handle_unusual;
692 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 152)) {
693 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
696 }
else goto handle_unusual;
700 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 160)) {
701 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
704 }
else goto handle_unusual;
708 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 168)) {
709 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
712 }
else goto handle_unusual;
716 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 176)) {
717 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
720 }
else goto handle_unusual;
724 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 184)) {
725 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
728 }
else goto handle_unusual;
732 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 192)) {
733 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
736 }
else goto handle_unusual;
740 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 200)) {
741 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
744 }
else goto handle_unusual;
748 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 208)) {
749 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
752 }
else goto handle_unusual;
756 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 216)) {
757 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
760 }
else goto handle_unusual;
764 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 224)) {
765 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
768 }
else goto handle_unusual;
772 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 232)) {
773 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
776 }
else goto handle_unusual;
780 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 240)) {
781 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
784 }
else goto handle_unusual;
788 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 248)) {
789 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
792 }
else goto handle_unusual;
796 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 0)) {
797 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
800 }
else goto handle_unusual;
804 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
805 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
808 }
else goto handle_unusual;
812 if ((tag & 7) == 4 || tag == 0) {
813 ctx->SetLastTag(tag);
816 ptr = UnknownFieldParse(tag,
817 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
819 CHK_(ptr !=
nullptr);
832 ::PROTOBUF_NAMESPACE_ID::uint8* RoutingSearchParameters_LocalSearchNeighborhoodOperators::_InternalSerialize(
833 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
835 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
836 (void) cached_has_bits;
839 if (this->use_relocate() != 0) {
840 target = stream->EnsureSpace(target);
841 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
842 1, this->_internal_use_relocate(), target);
846 if (this->use_relocate_pair() != 0) {
847 target = stream->EnsureSpace(target);
848 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
849 2, this->_internal_use_relocate_pair(), target);
853 if (this->use_relocate_neighbors() != 0) {
854 target = stream->EnsureSpace(target);
855 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
856 3, this->_internal_use_relocate_neighbors(), target);
860 if (this->use_exchange() != 0) {
861 target = stream->EnsureSpace(target);
862 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
863 4, this->_internal_use_exchange(), target);
867 if (this->use_cross() != 0) {
868 target = stream->EnsureSpace(target);
869 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
870 5, this->_internal_use_cross(), target);
874 if (this->use_cross_exchange() != 0) {
875 target = stream->EnsureSpace(target);
876 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
877 6, this->_internal_use_cross_exchange(), target);
881 if (this->use_two_opt() != 0) {
882 target = stream->EnsureSpace(target);
883 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
884 7, this->_internal_use_two_opt(), target);
888 if (this->use_or_opt() != 0) {
889 target = stream->EnsureSpace(target);
890 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
891 8, this->_internal_use_or_opt(), target);
895 if (this->use_lin_kernighan() != 0) {
896 target = stream->EnsureSpace(target);
897 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
898 9, this->_internal_use_lin_kernighan(), target);
902 if (this->use_tsp_opt() != 0) {
903 target = stream->EnsureSpace(target);
904 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
905 10, this->_internal_use_tsp_opt(), target);
909 if (this->use_make_active() != 0) {
910 target = stream->EnsureSpace(target);
911 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
912 11, this->_internal_use_make_active(), target);
916 if (this->use_make_inactive() != 0) {
917 target = stream->EnsureSpace(target);
918 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
919 12, this->_internal_use_make_inactive(), target);
923 if (this->use_make_chain_inactive() != 0) {
924 target = stream->EnsureSpace(target);
925 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
926 13, this->_internal_use_make_chain_inactive(), target);
930 if (this->use_swap_active() != 0) {
931 target = stream->EnsureSpace(target);
932 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
933 14, this->_internal_use_swap_active(), target);
937 if (this->use_extended_swap_active() != 0) {
938 target = stream->EnsureSpace(target);
939 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
940 15, this->_internal_use_extended_swap_active(), target);
944 if (this->use_path_lns() != 0) {
945 target = stream->EnsureSpace(target);
946 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
947 16, this->_internal_use_path_lns(), target);
951 if (this->use_full_path_lns() != 0) {
952 target = stream->EnsureSpace(target);
953 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
954 17, this->_internal_use_full_path_lns(), target);
958 if (this->use_tsp_lns() != 0) {
959 target = stream->EnsureSpace(target);
960 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
961 18, this->_internal_use_tsp_lns(), target);
965 if (this->use_inactive_lns() != 0) {
966 target = stream->EnsureSpace(target);
967 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
968 19, this->_internal_use_inactive_lns(), target);
972 if (this->use_node_pair_swap_active() != 0) {
973 target = stream->EnsureSpace(target);
974 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
975 20, this->_internal_use_node_pair_swap_active(), target);
979 if (this->use_relocate_and_make_active() != 0) {
980 target = stream->EnsureSpace(target);
981 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
982 21, this->_internal_use_relocate_and_make_active(), target);
986 if (this->use_exchange_pair() != 0) {
987 target = stream->EnsureSpace(target);
988 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
989 22, this->_internal_use_exchange_pair(), target);
993 if (this->use_relocate_expensive_chain() != 0) {
994 target = stream->EnsureSpace(target);
995 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
996 23, this->_internal_use_relocate_expensive_chain(), target);
1000 if (this->use_light_relocate_pair() != 0) {
1001 target = stream->EnsureSpace(target);
1002 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1003 24, this->_internal_use_light_relocate_pair(), target);
1007 if (this->use_relocate_subtrip() != 0) {
1008 target = stream->EnsureSpace(target);
1009 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1010 25, this->_internal_use_relocate_subtrip(), target);
1014 if (this->use_exchange_subtrip() != 0) {
1015 target = stream->EnsureSpace(target);
1016 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1017 26, this->_internal_use_exchange_subtrip(), target);
1021 if (this->use_global_cheapest_insertion_path_lns() != 0) {
1022 target = stream->EnsureSpace(target);
1023 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1024 27, this->_internal_use_global_cheapest_insertion_path_lns(), target);
1028 if (this->use_local_cheapest_insertion_path_lns() != 0) {
1029 target = stream->EnsureSpace(target);
1030 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1031 28, this->_internal_use_local_cheapest_insertion_path_lns(), target);
1035 if (this->use_global_cheapest_insertion_expensive_chain_lns() != 0) {
1036 target = stream->EnsureSpace(target);
1037 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1038 29, this->_internal_use_global_cheapest_insertion_expensive_chain_lns(), target);
1042 if (this->use_local_cheapest_insertion_expensive_chain_lns() != 0) {
1043 target = stream->EnsureSpace(target);
1044 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1045 30, this->_internal_use_local_cheapest_insertion_expensive_chain_lns(), target);
1049 if (this->use_global_cheapest_insertion_close_nodes_lns() != 0) {
1050 target = stream->EnsureSpace(target);
1051 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1052 31, this->_internal_use_global_cheapest_insertion_close_nodes_lns(), target);
1056 if (this->use_local_cheapest_insertion_close_nodes_lns() != 0) {
1057 target = stream->EnsureSpace(target);
1058 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1059 32, this->_internal_use_local_cheapest_insertion_close_nodes_lns(), target);
1063 if (this->use_relocate_path_global_cheapest_insertion_insert_unperformed() != 0) {
1064 target = stream->EnsureSpace(target);
1065 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1066 33, this->_internal_use_relocate_path_global_cheapest_insertion_insert_unperformed(), target);
1069 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1070 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1071 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1077 size_t RoutingSearchParameters_LocalSearchNeighborhoodOperators::ByteSizeLong()
const {
1079 size_t total_size = 0;
1081 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1083 (void) cached_has_bits;
1086 if (this->use_relocate() != 0) {
1088 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_relocate());
1092 if (this->use_relocate_pair() != 0) {
1094 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_relocate_pair());
1098 if (this->use_relocate_neighbors() != 0) {
1100 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_relocate_neighbors());
1104 if (this->use_exchange() != 0) {
1106 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_exchange());
1110 if (this->use_cross() != 0) {
1112 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_cross());
1116 if (this->use_cross_exchange() != 0) {
1118 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_cross_exchange());
1122 if (this->use_two_opt() != 0) {
1124 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_two_opt());
1128 if (this->use_or_opt() != 0) {
1130 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_or_opt());
1134 if (this->use_lin_kernighan() != 0) {
1136 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_lin_kernighan());
1140 if (this->use_tsp_opt() != 0) {
1142 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_tsp_opt());
1146 if (this->use_make_active() != 0) {
1148 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_make_active());
1152 if (this->use_make_inactive() != 0) {
1154 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_make_inactive());
1158 if (this->use_make_chain_inactive() != 0) {
1160 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_make_chain_inactive());
1164 if (this->use_swap_active() != 0) {
1166 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_swap_active());
1170 if (this->use_extended_swap_active() != 0) {
1172 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_extended_swap_active());
1176 if (this->use_path_lns() != 0) {
1178 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_path_lns());
1182 if (this->use_full_path_lns() != 0) {
1184 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_full_path_lns());
1188 if (this->use_tsp_lns() != 0) {
1190 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_tsp_lns());
1194 if (this->use_inactive_lns() != 0) {
1196 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_inactive_lns());
1200 if (this->use_node_pair_swap_active() != 0) {
1202 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_node_pair_swap_active());
1206 if (this->use_relocate_and_make_active() != 0) {
1208 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_relocate_and_make_active());
1212 if (this->use_exchange_pair() != 0) {
1214 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_exchange_pair());
1218 if (this->use_relocate_expensive_chain() != 0) {
1220 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_relocate_expensive_chain());
1224 if (this->use_light_relocate_pair() != 0) {
1226 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_light_relocate_pair());
1230 if (this->use_relocate_subtrip() != 0) {
1232 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_relocate_subtrip());
1236 if (this->use_exchange_subtrip() != 0) {
1238 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_exchange_subtrip());
1242 if (this->use_global_cheapest_insertion_path_lns() != 0) {
1244 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_global_cheapest_insertion_path_lns());
1248 if (this->use_local_cheapest_insertion_path_lns() != 0) {
1250 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_local_cheapest_insertion_path_lns());
1254 if (this->use_global_cheapest_insertion_expensive_chain_lns() != 0) {
1256 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_global_cheapest_insertion_expensive_chain_lns());
1260 if (this->use_local_cheapest_insertion_expensive_chain_lns() != 0) {
1262 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_local_cheapest_insertion_expensive_chain_lns());
1266 if (this->use_global_cheapest_insertion_close_nodes_lns() != 0) {
1268 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_global_cheapest_insertion_close_nodes_lns());
1272 if (this->use_local_cheapest_insertion_close_nodes_lns() != 0) {
1274 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_local_cheapest_insertion_close_nodes_lns());
1278 if (this->use_relocate_path_global_cheapest_insertion_insert_unperformed() != 0) {
1280 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_relocate_path_global_cheapest_insertion_insert_unperformed());
1283 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1284 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1285 _internal_metadata_, total_size, &_cached_size_);
1287 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1288 SetCachedSize(cached_size);
1292 void RoutingSearchParameters_LocalSearchNeighborhoodOperators::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1294 GOOGLE_DCHECK_NE(&from,
this);
1295 const RoutingSearchParameters_LocalSearchNeighborhoodOperators* source =
1296 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RoutingSearchParameters_LocalSearchNeighborhoodOperators>(
1298 if (source ==
nullptr) {
1300 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
1307 void RoutingSearchParameters_LocalSearchNeighborhoodOperators::MergeFrom(
const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from) {
1309 GOOGLE_DCHECK_NE(&from,
this);
1310 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1311 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1312 (void) cached_has_bits;
1314 if (from.use_relocate() != 0) {
1315 _internal_set_use_relocate(from._internal_use_relocate());
1317 if (from.use_relocate_pair() != 0) {
1318 _internal_set_use_relocate_pair(from._internal_use_relocate_pair());
1320 if (from.use_relocate_neighbors() != 0) {
1321 _internal_set_use_relocate_neighbors(from._internal_use_relocate_neighbors());
1323 if (from.use_exchange() != 0) {
1324 _internal_set_use_exchange(from._internal_use_exchange());
1326 if (from.use_cross() != 0) {
1327 _internal_set_use_cross(from._internal_use_cross());
1329 if (from.use_cross_exchange() != 0) {
1330 _internal_set_use_cross_exchange(from._internal_use_cross_exchange());
1332 if (from.use_two_opt() != 0) {
1333 _internal_set_use_two_opt(from._internal_use_two_opt());
1335 if (from.use_or_opt() != 0) {
1336 _internal_set_use_or_opt(from._internal_use_or_opt());
1338 if (from.use_lin_kernighan() != 0) {
1339 _internal_set_use_lin_kernighan(from._internal_use_lin_kernighan());
1341 if (from.use_tsp_opt() != 0) {
1342 _internal_set_use_tsp_opt(from._internal_use_tsp_opt());
1344 if (from.use_make_active() != 0) {
1345 _internal_set_use_make_active(from._internal_use_make_active());
1347 if (from.use_make_inactive() != 0) {
1348 _internal_set_use_make_inactive(from._internal_use_make_inactive());
1350 if (from.use_make_chain_inactive() != 0) {
1351 _internal_set_use_make_chain_inactive(from._internal_use_make_chain_inactive());
1353 if (from.use_swap_active() != 0) {
1354 _internal_set_use_swap_active(from._internal_use_swap_active());
1356 if (from.use_extended_swap_active() != 0) {
1357 _internal_set_use_extended_swap_active(from._internal_use_extended_swap_active());
1359 if (from.use_path_lns() != 0) {
1360 _internal_set_use_path_lns(from._internal_use_path_lns());
1362 if (from.use_full_path_lns() != 0) {
1363 _internal_set_use_full_path_lns(from._internal_use_full_path_lns());
1365 if (from.use_tsp_lns() != 0) {
1366 _internal_set_use_tsp_lns(from._internal_use_tsp_lns());
1368 if (from.use_inactive_lns() != 0) {
1369 _internal_set_use_inactive_lns(from._internal_use_inactive_lns());
1371 if (from.use_node_pair_swap_active() != 0) {
1372 _internal_set_use_node_pair_swap_active(from._internal_use_node_pair_swap_active());
1374 if (from.use_relocate_and_make_active() != 0) {
1375 _internal_set_use_relocate_and_make_active(from._internal_use_relocate_and_make_active());
1377 if (from.use_exchange_pair() != 0) {
1378 _internal_set_use_exchange_pair(from._internal_use_exchange_pair());
1380 if (from.use_relocate_expensive_chain() != 0) {
1381 _internal_set_use_relocate_expensive_chain(from._internal_use_relocate_expensive_chain());
1383 if (from.use_light_relocate_pair() != 0) {
1384 _internal_set_use_light_relocate_pair(from._internal_use_light_relocate_pair());
1386 if (from.use_relocate_subtrip() != 0) {
1387 _internal_set_use_relocate_subtrip(from._internal_use_relocate_subtrip());
1389 if (from.use_exchange_subtrip() != 0) {
1390 _internal_set_use_exchange_subtrip(from._internal_use_exchange_subtrip());
1392 if (from.use_global_cheapest_insertion_path_lns() != 0) {
1393 _internal_set_use_global_cheapest_insertion_path_lns(from._internal_use_global_cheapest_insertion_path_lns());
1395 if (from.use_local_cheapest_insertion_path_lns() != 0) {
1396 _internal_set_use_local_cheapest_insertion_path_lns(from._internal_use_local_cheapest_insertion_path_lns());
1398 if (from.use_global_cheapest_insertion_expensive_chain_lns() != 0) {
1399 _internal_set_use_global_cheapest_insertion_expensive_chain_lns(from._internal_use_global_cheapest_insertion_expensive_chain_lns());
1401 if (from.use_local_cheapest_insertion_expensive_chain_lns() != 0) {
1402 _internal_set_use_local_cheapest_insertion_expensive_chain_lns(from._internal_use_local_cheapest_insertion_expensive_chain_lns());
1404 if (from.use_global_cheapest_insertion_close_nodes_lns() != 0) {
1405 _internal_set_use_global_cheapest_insertion_close_nodes_lns(from._internal_use_global_cheapest_insertion_close_nodes_lns());
1407 if (from.use_local_cheapest_insertion_close_nodes_lns() != 0) {
1408 _internal_set_use_local_cheapest_insertion_close_nodes_lns(from._internal_use_local_cheapest_insertion_close_nodes_lns());
1410 if (from.use_relocate_path_global_cheapest_insertion_insert_unperformed() != 0) {
1411 _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(from._internal_use_relocate_path_global_cheapest_insertion_insert_unperformed());
1415 void RoutingSearchParameters_LocalSearchNeighborhoodOperators::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1417 if (&from ==
this)
return;
1422 void RoutingSearchParameters_LocalSearchNeighborhoodOperators::CopyFrom(
const RoutingSearchParameters_LocalSearchNeighborhoodOperators& from) {
1424 if (&from ==
this)
return;
1429 bool RoutingSearchParameters_LocalSearchNeighborhoodOperators::IsInitialized()
const {
1433 void RoutingSearchParameters_LocalSearchNeighborhoodOperators::InternalSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* other) {
1435 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
1436 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1437 PROTOBUF_FIELD_OFFSET(RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_path_global_cheapest_insertion_insert_unperformed_)
1438 +
sizeof(RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_path_global_cheapest_insertion_insert_unperformed_)
1439 - PROTOBUF_FIELD_OFFSET(RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_)>(
1440 reinterpret_cast<char*
>(&use_relocate_),
1441 reinterpret_cast<char*
>(&other->use_relocate_));
1444 ::PROTOBUF_NAMESPACE_ID::Metadata RoutingSearchParameters_LocalSearchNeighborhoodOperators::GetMetadata()
const {
1445 return GetMetadataStatic();
1455 RoutingSearchParameters_ImprovementSearchLimitParameters::RoutingSearchParameters_ImprovementSearchLimitParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1456 : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
1458 RegisterArenaDtor(arena);
1461 RoutingSearchParameters_ImprovementSearchLimitParameters::RoutingSearchParameters_ImprovementSearchLimitParameters(
const RoutingSearchParameters_ImprovementSearchLimitParameters& from)
1462 : ::PROTOBUF_NAMESPACE_ID::Message() {
1463 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1464 ::memcpy(&improvement_rate_solutions_distance_, &from.improvement_rate_solutions_distance_,
1465 static_cast<size_t>(
reinterpret_cast<char*
>(&improvement_rate_coefficient_) -
1466 reinterpret_cast<char*
>(&improvement_rate_solutions_distance_)) +
sizeof(improvement_rate_coefficient_));
1470 void RoutingSearchParameters_ImprovementSearchLimitParameters::SharedCtor() {
1471 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
1472 reinterpret_cast<char*
>(&improvement_rate_solutions_distance_) -
reinterpret_cast<char*
>(
this)),
1473 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&improvement_rate_coefficient_) -
1474 reinterpret_cast<char*
>(&improvement_rate_solutions_distance_)) +
sizeof(improvement_rate_coefficient_));
1477 RoutingSearchParameters_ImprovementSearchLimitParameters::~RoutingSearchParameters_ImprovementSearchLimitParameters() {
1480 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1483 void RoutingSearchParameters_ImprovementSearchLimitParameters::SharedDtor() {
1484 GOOGLE_DCHECK(GetArena() ==
nullptr);
1487 void RoutingSearchParameters_ImprovementSearchLimitParameters::ArenaDtor(
void*
object) {
1488 RoutingSearchParameters_ImprovementSearchLimitParameters* _this =
reinterpret_cast< RoutingSearchParameters_ImprovementSearchLimitParameters*
>(object);
1491 void RoutingSearchParameters_ImprovementSearchLimitParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1493 void RoutingSearchParameters_ImprovementSearchLimitParameters::SetCachedSize(
int size)
const {
1494 _cached_size_.Set(size);
1497 void RoutingSearchParameters_ImprovementSearchLimitParameters::Clear() {
1499 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1501 (void) cached_has_bits;
1503 ::memset(&improvement_rate_solutions_distance_, 0,
static_cast<size_t>(
1504 reinterpret_cast<char*
>(&improvement_rate_coefficient_) -
1505 reinterpret_cast<char*
>(&improvement_rate_solutions_distance_)) +
sizeof(improvement_rate_coefficient_));
1506 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1509 const char* RoutingSearchParameters_ImprovementSearchLimitParameters::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1510 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1511 while (!ctx->Done(&ptr)) {
1512 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1513 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1518 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 49)) {
1519 improvement_rate_coefficient_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1520 ptr +=
sizeof(double);
1521 }
else goto handle_unusual;
1525 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 56)) {
1526 improvement_rate_solutions_distance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1528 }
else goto handle_unusual;
1532 if ((tag & 7) == 4 || tag == 0) {
1533 ctx->SetLastTag(tag);
1536 ptr = UnknownFieldParse(tag,
1537 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1539 CHK_(ptr !=
nullptr);
1552 ::PROTOBUF_NAMESPACE_ID::uint8* RoutingSearchParameters_ImprovementSearchLimitParameters::_InternalSerialize(
1553 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
1555 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1556 (void) cached_has_bits;
1559 if (!(this->improvement_rate_coefficient() <= 0 && this->improvement_rate_coefficient() >= 0)) {
1560 target = stream->EnsureSpace(target);
1561 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(38, this->_internal_improvement_rate_coefficient(), target);
1565 if (this->improvement_rate_solutions_distance() != 0) {
1566 target = stream->EnsureSpace(target);
1567 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(39, this->_internal_improvement_rate_solutions_distance(), target);
1570 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1571 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1572 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1578 size_t RoutingSearchParameters_ImprovementSearchLimitParameters::ByteSizeLong()
const {
1580 size_t total_size = 0;
1582 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1584 (void) cached_has_bits;
1587 if (this->improvement_rate_solutions_distance() != 0) {
1589 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1590 this->_internal_improvement_rate_solutions_distance());
1594 if (!(this->improvement_rate_coefficient() <= 0 && this->improvement_rate_coefficient() >= 0)) {
1595 total_size += 2 + 8;
1598 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1599 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
1600 _internal_metadata_, total_size, &_cached_size_);
1602 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
1603 SetCachedSize(cached_size);
1607 void RoutingSearchParameters_ImprovementSearchLimitParameters::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1609 GOOGLE_DCHECK_NE(&from,
this);
1610 const RoutingSearchParameters_ImprovementSearchLimitParameters* source =
1611 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RoutingSearchParameters_ImprovementSearchLimitParameters>(
1613 if (source ==
nullptr) {
1615 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
1622 void RoutingSearchParameters_ImprovementSearchLimitParameters::MergeFrom(
const RoutingSearchParameters_ImprovementSearchLimitParameters& from) {
1624 GOOGLE_DCHECK_NE(&from,
this);
1625 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1626 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1627 (void) cached_has_bits;
1629 if (from.improvement_rate_solutions_distance() != 0) {
1630 _internal_set_improvement_rate_solutions_distance(from._internal_improvement_rate_solutions_distance());
1632 if (!(from.improvement_rate_coefficient() <= 0 && from.improvement_rate_coefficient() >= 0)) {
1633 _internal_set_improvement_rate_coefficient(from._internal_improvement_rate_coefficient());
1637 void RoutingSearchParameters_ImprovementSearchLimitParameters::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1639 if (&from ==
this)
return;
1644 void RoutingSearchParameters_ImprovementSearchLimitParameters::CopyFrom(
const RoutingSearchParameters_ImprovementSearchLimitParameters& from) {
1646 if (&from ==
this)
return;
1651 bool RoutingSearchParameters_ImprovementSearchLimitParameters::IsInitialized()
const {
1655 void RoutingSearchParameters_ImprovementSearchLimitParameters::InternalSwap(RoutingSearchParameters_ImprovementSearchLimitParameters* other) {
1657 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
1658 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1659 PROTOBUF_FIELD_OFFSET(RoutingSearchParameters_ImprovementSearchLimitParameters, improvement_rate_coefficient_)
1660 +
sizeof(RoutingSearchParameters_ImprovementSearchLimitParameters::improvement_rate_coefficient_)
1661 - PROTOBUF_FIELD_OFFSET(RoutingSearchParameters_ImprovementSearchLimitParameters, improvement_rate_solutions_distance_)>(
1662 reinterpret_cast<char*
>(&improvement_rate_solutions_distance_),
1663 reinterpret_cast<char*
>(&other->improvement_rate_solutions_distance_));
1666 ::PROTOBUF_NAMESPACE_ID::Metadata RoutingSearchParameters_ImprovementSearchLimitParameters::GetMetadata()
const {
1667 return GetMetadataStatic();
1675 static const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& local_search_operators(
const RoutingSearchParameters* msg);
1676 static const PROTOBUF_NAMESPACE_ID::Duration&
time_limit(
const RoutingSearchParameters* msg);
1677 static const PROTOBUF_NAMESPACE_ID::Duration& lns_time_limit(
const RoutingSearchParameters* msg);
1678 static const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& improvement_limit_parameters(
const RoutingSearchParameters* msg);
1681 const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators&
1683 return *msg->local_search_operators_;
1685 const PROTOBUF_NAMESPACE_ID::Duration&
1687 return *msg->time_limit_;
1689 const PROTOBUF_NAMESPACE_ID::Duration&
1691 return *msg->lns_time_limit_;
1693 const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters&
1695 return *msg->improvement_limit_parameters_;
1697 void RoutingSearchParameters::clear_time_limit() {
1698 if (GetArena() ==
nullptr && time_limit_ !=
nullptr) {
1701 time_limit_ =
nullptr;
1703 void RoutingSearchParameters::clear_lns_time_limit() {
1704 if (GetArena() ==
nullptr && lns_time_limit_ !=
nullptr) {
1705 delete lns_time_limit_;
1707 lns_time_limit_ =
nullptr;
1709 RoutingSearchParameters::RoutingSearchParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena)
1710 : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
1712 RegisterArenaDtor(arena);
1715 RoutingSearchParameters::RoutingSearchParameters(
const RoutingSearchParameters& from)
1716 : ::PROTOBUF_NAMESPACE_ID::Message() {
1717 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1718 log_tag_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1719 if (!from._internal_log_tag().empty()) {
1720 log_tag_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_log_tag(),
1723 if (from._internal_has_local_search_operators()) {
1724 local_search_operators_ = new ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators(*from.local_search_operators_);
1726 local_search_operators_ =
nullptr;
1728 if (from._internal_has_time_limit()) {
1729 time_limit_ =
new PROTOBUF_NAMESPACE_ID::Duration(*from.time_limit_);
1731 time_limit_ =
nullptr;
1733 if (from._internal_has_lns_time_limit()) {
1734 lns_time_limit_ =
new PROTOBUF_NAMESPACE_ID::Duration(*from.lns_time_limit_);
1736 lns_time_limit_ =
nullptr;
1738 if (from._internal_has_improvement_limit_parameters()) {
1739 improvement_limit_parameters_ = new ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters(*from.improvement_limit_parameters_);
1741 improvement_limit_parameters_ =
nullptr;
1743 ::memcpy(&first_solution_strategy_, &from.first_solution_strategy_,
1744 static_cast<size_t>(
reinterpret_cast<char*
>(&multi_armed_bandit_compound_operator_exploration_coefficient_) -
1745 reinterpret_cast<char*
>(&first_solution_strategy_)) +
sizeof(multi_armed_bandit_compound_operator_exploration_coefficient_));
1749 void RoutingSearchParameters::SharedCtor() {
1750 log_tag_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1751 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
1752 reinterpret_cast<char*
>(&local_search_operators_) -
reinterpret_cast<char*
>(
this)),
1753 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&multi_armed_bandit_compound_operator_exploration_coefficient_) -
1754 reinterpret_cast<char*
>(&local_search_operators_)) +
sizeof(multi_armed_bandit_compound_operator_exploration_coefficient_));
1757 RoutingSearchParameters::~RoutingSearchParameters() {
1760 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1763 void RoutingSearchParameters::SharedDtor() {
1764 GOOGLE_DCHECK(GetArena() ==
nullptr);
1765 log_tag_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1766 if (
this != internal_default_instance())
delete local_search_operators_;
1767 if (
this != internal_default_instance())
delete time_limit_;
1768 if (
this != internal_default_instance())
delete lns_time_limit_;
1769 if (
this != internal_default_instance())
delete improvement_limit_parameters_;
1772 void RoutingSearchParameters::ArenaDtor(
void*
object) {
1773 RoutingSearchParameters* _this =
reinterpret_cast< RoutingSearchParameters*
>(object);
1776 void RoutingSearchParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1778 void RoutingSearchParameters::SetCachedSize(
int size)
const {
1779 _cached_size_.Set(size);
1782 void RoutingSearchParameters::Clear() {
1784 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1786 (void) cached_has_bits;
1788 log_tag_.ClearToEmpty();
1789 if (GetArena() ==
nullptr && local_search_operators_ !=
nullptr) {
1790 delete local_search_operators_;
1792 local_search_operators_ =
nullptr;
1793 if (GetArena() ==
nullptr && time_limit_ !=
nullptr) {
1796 time_limit_ =
nullptr;
1797 if (GetArena() ==
nullptr && lns_time_limit_ !=
nullptr) {
1798 delete lns_time_limit_;
1800 lns_time_limit_ =
nullptr;
1801 if (GetArena() ==
nullptr && improvement_limit_parameters_ !=
nullptr) {
1802 delete improvement_limit_parameters_;
1804 improvement_limit_parameters_ =
nullptr;
1805 ::memset(&first_solution_strategy_, 0,
static_cast<size_t>(
1806 reinterpret_cast<char*
>(&multi_armed_bandit_compound_operator_exploration_coefficient_) -
1807 reinterpret_cast<char*
>(&first_solution_strategy_)) +
sizeof(multi_armed_bandit_compound_operator_exploration_coefficient_));
1808 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1811 const char* RoutingSearchParameters::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1812 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1813 while (!ctx->Done(&ptr)) {
1814 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1815 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1820 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
1821 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1824 }
else goto handle_unusual;
1828 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
1829 use_unfiltered_first_solution_strategy_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1831 }
else goto handle_unusual;
1835 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 26)) {
1836 ptr = ctx->ParseMessage(_internal_mutable_local_search_operators(), ptr);
1838 }
else goto handle_unusual;
1842 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 32)) {
1843 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1846 }
else goto handle_unusual;
1850 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 41)) {
1851 guided_local_search_lambda_coefficient_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1852 ptr +=
sizeof(double);
1853 }
else goto handle_unusual;
1857 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 48)) {
1858 use_depth_first_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1860 }
else goto handle_unusual;
1864 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 57)) {
1865 optimization_step_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1866 ptr +=
sizeof(double);
1867 }
else goto handle_unusual;
1871 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 64)) {
1872 solution_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1874 }
else goto handle_unusual;
1878 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 74)) {
1879 ptr = ctx->ParseMessage(_internal_mutable_time_limit(), ptr);
1881 }
else goto handle_unusual;
1885 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 82)) {
1886 ptr = ctx->ParseMessage(_internal_mutable_lns_time_limit(), ptr);
1888 }
else goto handle_unusual;
1892 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 88)) {
1893 use_full_propagation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1895 }
else goto handle_unusual;
1899 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 104)) {
1900 log_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1902 }
else goto handle_unusual;
1906 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 113)) {
1907 savings_neighbors_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1908 ptr +=
sizeof(double);
1909 }
else goto handle_unusual;
1913 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 120)) {
1914 savings_add_reverse_arcs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1916 }
else goto handle_unusual;
1920 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 129)) {
1921 cheapest_insertion_farthest_seeds_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1922 ptr +=
sizeof(double);
1923 }
else goto handle_unusual;
1927 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 136)) {
1928 number_of_solutions_to_collect_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1930 }
else goto handle_unusual;
1934 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 145)) {
1935 savings_arc_coefficient_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1936 ptr +=
sizeof(double);
1937 }
else goto handle_unusual;
1941 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 152)) {
1942 savings_parallel_routes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1944 }
else goto handle_unusual;
1948 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 160)) {
1949 relocate_expensive_chain_num_arcs_to_consider_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1951 }
else goto handle_unusual;
1955 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 169)) {
1956 cheapest_insertion_first_solution_neighbors_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1957 ptr +=
sizeof(double);
1958 }
else goto handle_unusual;
1962 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 177)) {
1963 log_cost_scaling_factor_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1964 ptr +=
sizeof(double);
1965 }
else goto handle_unusual;
1969 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 185)) {
1970 savings_max_memory_usage_bytes_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1971 ptr +=
sizeof(double);
1972 }
else goto handle_unusual;
1976 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 216)) {
1977 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1980 }
else goto handle_unusual;
1984 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 224)) {
1985 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1988 }
else goto handle_unusual;
1992 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 233)) {
1993 log_cost_offset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1994 ptr +=
sizeof(double);
1995 }
else goto handle_unusual;
1999 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 240)) {
2000 christofides_use_minimum_matching_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2002 }
else goto handle_unusual;
2006 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 249)) {
2007 cheapest_insertion_ls_operator_neighbors_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2008 ptr +=
sizeof(double);
2009 }
else goto handle_unusual;
2013 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 0)) {
2014 heuristic_expensive_chain_lns_num_arcs_to_consider_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2016 }
else goto handle_unusual;
2020 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 8)) {
2021 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2024 }
else goto handle_unusual;
2028 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
2029 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2032 }
else goto handle_unusual;
2036 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 24)) {
2037 heuristic_close_nodes_lns_num_nodes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2039 }
else goto handle_unusual;
2043 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 34)) {
2044 auto str = _internal_mutable_log_tag();
2045 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2046 CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str,
"operations_research.RoutingSearchParameters.log_tag"));
2048 }
else goto handle_unusual;
2052 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 42)) {
2053 ptr = ctx->ParseMessage(_internal_mutable_improvement_limit_parameters(), ptr);
2055 }
else goto handle_unusual;
2059 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 64)) {
2060 cheapest_insertion_add_unperformed_entries_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2062 }
else goto handle_unusual;
2066 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 72)) {
2067 use_multi_armed_bandit_concatenate_operators_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2069 }
else goto handle_unusual;
2073 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 81)) {
2074 multi_armed_bandit_compound_operator_memory_coefficient_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2075 ptr +=
sizeof(double);
2076 }
else goto handle_unusual;
2080 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 89)) {
2081 multi_armed_bandit_compound_operator_exploration_coefficient_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2082 ptr +=
sizeof(double);
2083 }
else goto handle_unusual;
2087 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 96)) {
2088 cheapest_insertion_first_solution_min_neighbors_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2090 }
else goto handle_unusual;
2094 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 104)) {
2095 cheapest_insertion_ls_operator_min_neighbors_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2097 }
else goto handle_unusual;
2101 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 112)) {
2102 cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2104 }
else goto handle_unusual;
2108 if ((tag & 7) == 4 || tag == 0) {
2109 ctx->SetLastTag(tag);
2112 ptr = UnknownFieldParse(tag,
2113 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2115 CHK_(ptr !=
nullptr);
2128 ::PROTOBUF_NAMESPACE_ID::uint8* RoutingSearchParameters::_InternalSerialize(
2129 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
2131 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2132 (void) cached_has_bits;
2135 if (this->first_solution_strategy() != 0) {
2136 target = stream->EnsureSpace(target);
2137 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2138 1, this->_internal_first_solution_strategy(), target);
2142 if (this->use_unfiltered_first_solution_strategy() != 0) {
2143 target = stream->EnsureSpace(target);
2144 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_use_unfiltered_first_solution_strategy(), target);
2148 if (this->has_local_search_operators()) {
2149 target = stream->EnsureSpace(target);
2150 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2151 InternalWriteMessage(
2156 if (this->local_search_metaheuristic() != 0) {
2157 target = stream->EnsureSpace(target);
2158 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2159 4, this->_internal_local_search_metaheuristic(), target);
2163 if (!(this->guided_local_search_lambda_coefficient() <= 0 && this->guided_local_search_lambda_coefficient() >= 0)) {
2164 target = stream->EnsureSpace(target);
2165 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(5, this->_internal_guided_local_search_lambda_coefficient(), target);
2169 if (this->use_depth_first_search() != 0) {
2170 target = stream->EnsureSpace(target);
2171 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_use_depth_first_search(), target);
2175 if (!(this->optimization_step() <= 0 && this->optimization_step() >= 0)) {
2176 target = stream->EnsureSpace(target);
2177 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(7, this->_internal_optimization_step(), target);
2181 if (this->solution_limit() != 0) {
2182 target = stream->EnsureSpace(target);
2183 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(8, this->_internal_solution_limit(), target);
2187 if (this->has_time_limit()) {
2188 target = stream->EnsureSpace(target);
2189 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2190 InternalWriteMessage(
2195 if (this->has_lns_time_limit()) {
2196 target = stream->EnsureSpace(target);
2197 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2198 InternalWriteMessage(
2203 if (this->use_full_propagation() != 0) {
2204 target = stream->EnsureSpace(target);
2205 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(11, this->_internal_use_full_propagation(), target);
2209 if (this->log_search() != 0) {
2210 target = stream->EnsureSpace(target);
2211 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(13, this->_internal_log_search(), target);
2215 if (!(this->savings_neighbors_ratio() <= 0 && this->savings_neighbors_ratio() >= 0)) {
2216 target = stream->EnsureSpace(target);
2217 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(14, this->_internal_savings_neighbors_ratio(), target);
2221 if (this->savings_add_reverse_arcs() != 0) {
2222 target = stream->EnsureSpace(target);
2223 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(15, this->_internal_savings_add_reverse_arcs(), target);
2227 if (!(this->cheapest_insertion_farthest_seeds_ratio() <= 0 && this->cheapest_insertion_farthest_seeds_ratio() >= 0)) {
2228 target = stream->EnsureSpace(target);
2229 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_cheapest_insertion_farthest_seeds_ratio(), target);
2233 if (this->number_of_solutions_to_collect() != 0) {
2234 target = stream->EnsureSpace(target);
2235 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(17, this->_internal_number_of_solutions_to_collect(), target);
2239 if (!(this->savings_arc_coefficient() <= 0 && this->savings_arc_coefficient() >= 0)) {
2240 target = stream->EnsureSpace(target);
2241 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(18, this->_internal_savings_arc_coefficient(), target);
2245 if (this->savings_parallel_routes() != 0) {
2246 target = stream->EnsureSpace(target);
2247 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(19, this->_internal_savings_parallel_routes(), target);
2251 if (this->relocate_expensive_chain_num_arcs_to_consider() != 0) {
2252 target = stream->EnsureSpace(target);
2253 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(20, this->_internal_relocate_expensive_chain_num_arcs_to_consider(), target);
2257 if (!(this->cheapest_insertion_first_solution_neighbors_ratio() <= 0 && this->cheapest_insertion_first_solution_neighbors_ratio() >= 0)) {
2258 target = stream->EnsureSpace(target);
2259 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(21, this->_internal_cheapest_insertion_first_solution_neighbors_ratio(), target);
2263 if (!(this->log_cost_scaling_factor() <= 0 && this->log_cost_scaling_factor() >= 0)) {
2264 target = stream->EnsureSpace(target);
2265 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_log_cost_scaling_factor(), target);
2269 if (!(this->savings_max_memory_usage_bytes() <= 0 && this->savings_max_memory_usage_bytes() >= 0)) {
2270 target = stream->EnsureSpace(target);
2271 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(23, this->_internal_savings_max_memory_usage_bytes(), target);
2275 if (this->use_cp_sat() != 0) {
2276 target = stream->EnsureSpace(target);
2277 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2278 27, this->_internal_use_cp_sat(), target);
2282 if (this->use_cp() != 0) {
2283 target = stream->EnsureSpace(target);
2284 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2285 28, this->_internal_use_cp(), target);
2289 if (!(this->log_cost_offset() <= 0 && this->log_cost_offset() >= 0)) {
2290 target = stream->EnsureSpace(target);
2291 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(29, this->_internal_log_cost_offset(), target);
2295 if (this->christofides_use_minimum_matching() != 0) {
2296 target = stream->EnsureSpace(target);
2297 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(30, this->_internal_christofides_use_minimum_matching(), target);
2301 if (!(this->cheapest_insertion_ls_operator_neighbors_ratio() <= 0 && this->cheapest_insertion_ls_operator_neighbors_ratio() >= 0)) {
2302 target = stream->EnsureSpace(target);
2303 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(31, this->_internal_cheapest_insertion_ls_operator_neighbors_ratio(), target);
2307 if (this->heuristic_expensive_chain_lns_num_arcs_to_consider() != 0) {
2308 target = stream->EnsureSpace(target);
2309 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(32, this->_internal_heuristic_expensive_chain_lns_num_arcs_to_consider(), target);
2313 if (this->continuous_scheduling_solver() != 0) {
2314 target = stream->EnsureSpace(target);
2315 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2316 33, this->_internal_continuous_scheduling_solver(), target);
2320 if (this->mixed_integer_scheduling_solver() != 0) {
2321 target = stream->EnsureSpace(target);
2322 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2323 34, this->_internal_mixed_integer_scheduling_solver(), target);
2327 if (this->heuristic_close_nodes_lns_num_nodes() != 0) {
2328 target = stream->EnsureSpace(target);
2329 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(35, this->_internal_heuristic_close_nodes_lns_num_nodes(), target);
2333 if (this->log_tag().size() > 0) {
2334 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
2335 this->_internal_log_tag().data(),
static_cast<int>(this->_internal_log_tag().length()),
2336 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
2337 "operations_research.RoutingSearchParameters.log_tag");
2338 target = stream->WriteStringMaybeAliased(
2339 36, this->_internal_log_tag(), target);
2343 if (this->has_improvement_limit_parameters()) {
2344 target = stream->EnsureSpace(target);
2345 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2346 InternalWriteMessage(
2351 if (this->cheapest_insertion_add_unperformed_entries() != 0) {
2352 target = stream->EnsureSpace(target);
2353 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(40, this->_internal_cheapest_insertion_add_unperformed_entries(), target);
2357 if (this->use_multi_armed_bandit_concatenate_operators() != 0) {
2358 target = stream->EnsureSpace(target);
2359 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(41, this->_internal_use_multi_armed_bandit_concatenate_operators(), target);
2363 if (!(this->multi_armed_bandit_compound_operator_memory_coefficient() <= 0 && this->multi_armed_bandit_compound_operator_memory_coefficient() >= 0)) {
2364 target = stream->EnsureSpace(target);
2365 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(42, this->_internal_multi_armed_bandit_compound_operator_memory_coefficient(), target);
2369 if (!(this->multi_armed_bandit_compound_operator_exploration_coefficient() <= 0 && this->multi_armed_bandit_compound_operator_exploration_coefficient() >= 0)) {
2370 target = stream->EnsureSpace(target);
2371 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(43, this->_internal_multi_armed_bandit_compound_operator_exploration_coefficient(), target);
2375 if (this->cheapest_insertion_first_solution_min_neighbors() != 0) {
2376 target = stream->EnsureSpace(target);
2377 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(44, this->_internal_cheapest_insertion_first_solution_min_neighbors(), target);
2381 if (this->cheapest_insertion_ls_operator_min_neighbors() != 0) {
2382 target = stream->EnsureSpace(target);
2383 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(45, this->_internal_cheapest_insertion_ls_operator_min_neighbors(), target);
2387 if (this->cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() != 0) {
2388 target = stream->EnsureSpace(target);
2389 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(46, this->_internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(), target);
2392 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2393 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2394 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2400 size_t RoutingSearchParameters::ByteSizeLong()
const {
2402 size_t total_size = 0;
2404 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2406 (void) cached_has_bits;
2409 if (this->log_tag().size() > 0) {
2411 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
2412 this->_internal_log_tag());
2416 if (this->has_local_search_operators()) {
2418 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2419 *local_search_operators_);
2423 if (this->has_time_limit()) {
2425 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2430 if (this->has_lns_time_limit()) {
2432 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2437 if (this->has_improvement_limit_parameters()) {
2439 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2440 *improvement_limit_parameters_);
2444 if (this->first_solution_strategy() != 0) {
2446 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_first_solution_strategy());
2450 if (this->local_search_metaheuristic() != 0) {
2452 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_local_search_metaheuristic());
2456 if (!(this->guided_local_search_lambda_coefficient() <= 0 && this->guided_local_search_lambda_coefficient() >= 0)) {
2457 total_size += 1 + 8;
2461 if (!(this->optimization_step() <= 0 && this->optimization_step() >= 0)) {
2462 total_size += 1 + 8;
2466 if (this->solution_limit() != 0) {
2468 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
2469 this->_internal_solution_limit());
2473 if (this->use_full_propagation() != 0) {
2474 total_size += 1 + 1;
2478 if (this->log_search() != 0) {
2479 total_size += 1 + 1;
2483 if (this->number_of_solutions_to_collect() != 0) {
2485 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2486 this->_internal_number_of_solutions_to_collect());
2490 if (!(this->savings_neighbors_ratio() <= 0 && this->savings_neighbors_ratio() >= 0)) {
2491 total_size += 1 + 8;
2495 if (!(this->cheapest_insertion_farthest_seeds_ratio() <= 0 && this->cheapest_insertion_farthest_seeds_ratio() >= 0)) {
2496 total_size += 2 + 8;
2500 if (!(this->savings_arc_coefficient() <= 0 && this->savings_arc_coefficient() >= 0)) {
2501 total_size += 2 + 8;
2505 if (this->relocate_expensive_chain_num_arcs_to_consider() != 0) {
2507 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2508 this->_internal_relocate_expensive_chain_num_arcs_to_consider());
2512 if (this->use_unfiltered_first_solution_strategy() != 0) {
2513 total_size += 1 + 1;
2517 if (this->savings_add_reverse_arcs() != 0) {
2518 total_size += 1 + 1;
2522 if (this->savings_parallel_routes() != 0) {
2523 total_size += 2 + 1;
2527 if (this->cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() != 0) {
2528 total_size += 2 + 1;
2532 if (!(this->cheapest_insertion_first_solution_neighbors_ratio() <= 0 && this->cheapest_insertion_first_solution_neighbors_ratio() >= 0)) {
2533 total_size += 2 + 8;
2537 if (!(this->log_cost_scaling_factor() <= 0 && this->log_cost_scaling_factor() >= 0)) {
2538 total_size += 2 + 8;
2542 if (!(this->savings_max_memory_usage_bytes() <= 0 && this->savings_max_memory_usage_bytes() >= 0)) {
2543 total_size += 2 + 8;
2547 if (this->use_cp_sat() != 0) {
2549 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_cp_sat());
2553 if (this->use_cp() != 0) {
2555 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_cp());
2559 if (!(this->log_cost_offset() <= 0 && this->log_cost_offset() >= 0)) {
2560 total_size += 2 + 8;
2564 if (this->cheapest_insertion_add_unperformed_entries() != 0) {
2565 total_size += 2 + 1;
2569 if (this->christofides_use_minimum_matching() != 0) {
2570 total_size += 2 + 1;
2574 if (this->use_multi_armed_bandit_concatenate_operators() != 0) {
2575 total_size += 2 + 1;
2579 if (this->use_depth_first_search() != 0) {
2580 total_size += 1 + 1;
2584 if (this->heuristic_expensive_chain_lns_num_arcs_to_consider() != 0) {
2586 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2587 this->_internal_heuristic_expensive_chain_lns_num_arcs_to_consider());
2591 if (!(this->cheapest_insertion_ls_operator_neighbors_ratio() <= 0 && this->cheapest_insertion_ls_operator_neighbors_ratio() >= 0)) {
2592 total_size += 2 + 8;
2596 if (this->continuous_scheduling_solver() != 0) {
2598 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_continuous_scheduling_solver());
2602 if (this->mixed_integer_scheduling_solver() != 0) {
2604 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_mixed_integer_scheduling_solver());
2608 if (this->heuristic_close_nodes_lns_num_nodes() != 0) {
2610 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2611 this->_internal_heuristic_close_nodes_lns_num_nodes());
2615 if (this->cheapest_insertion_first_solution_min_neighbors() != 0) {
2617 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2618 this->_internal_cheapest_insertion_first_solution_min_neighbors());
2622 if (this->cheapest_insertion_ls_operator_min_neighbors() != 0) {
2624 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2625 this->_internal_cheapest_insertion_ls_operator_min_neighbors());
2629 if (!(this->multi_armed_bandit_compound_operator_memory_coefficient() <= 0 && this->multi_armed_bandit_compound_operator_memory_coefficient() >= 0)) {
2630 total_size += 2 + 8;
2634 if (!(this->multi_armed_bandit_compound_operator_exploration_coefficient() <= 0 && this->multi_armed_bandit_compound_operator_exploration_coefficient() >= 0)) {
2635 total_size += 2 + 8;
2638 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2639 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
2640 _internal_metadata_, total_size, &_cached_size_);
2642 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
2643 SetCachedSize(cached_size);
2647 void RoutingSearchParameters::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2649 GOOGLE_DCHECK_NE(&from,
this);
2650 const RoutingSearchParameters* source =
2651 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RoutingSearchParameters>(
2653 if (source ==
nullptr) {
2655 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
2662 void RoutingSearchParameters::MergeFrom(
const RoutingSearchParameters& from) {
2664 GOOGLE_DCHECK_NE(&from,
this);
2665 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2666 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2667 (void) cached_has_bits;
2669 if (from.log_tag().size() > 0) {
2670 _internal_set_log_tag(from._internal_log_tag());
2672 if (from.has_local_search_operators()) {
2673 _internal_mutable_local_search_operators()->::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators::MergeFrom(from._internal_local_search_operators());
2675 if (from.has_time_limit()) {
2676 _internal_mutable_time_limit()->PROTOBUF_NAMESPACE_ID::Duration::MergeFrom(from._internal_time_limit());
2678 if (from.has_lns_time_limit()) {
2679 _internal_mutable_lns_time_limit()->PROTOBUF_NAMESPACE_ID::Duration::MergeFrom(from._internal_lns_time_limit());
2681 if (from.has_improvement_limit_parameters()) {
2682 _internal_mutable_improvement_limit_parameters()->::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters::MergeFrom(from._internal_improvement_limit_parameters());
2684 if (from.first_solution_strategy() != 0) {
2685 _internal_set_first_solution_strategy(from._internal_first_solution_strategy());
2687 if (from.local_search_metaheuristic() != 0) {
2688 _internal_set_local_search_metaheuristic(from._internal_local_search_metaheuristic());
2690 if (!(from.guided_local_search_lambda_coefficient() <= 0 && from.guided_local_search_lambda_coefficient() >= 0)) {
2691 _internal_set_guided_local_search_lambda_coefficient(from._internal_guided_local_search_lambda_coefficient());
2693 if (!(from.optimization_step() <= 0 && from.optimization_step() >= 0)) {
2694 _internal_set_optimization_step(from._internal_optimization_step());
2696 if (from.solution_limit() != 0) {
2697 _internal_set_solution_limit(from._internal_solution_limit());
2699 if (from.use_full_propagation() != 0) {
2700 _internal_set_use_full_propagation(from._internal_use_full_propagation());
2702 if (from.log_search() != 0) {
2703 _internal_set_log_search(from._internal_log_search());
2705 if (from.number_of_solutions_to_collect() != 0) {
2706 _internal_set_number_of_solutions_to_collect(from._internal_number_of_solutions_to_collect());
2708 if (!(from.savings_neighbors_ratio() <= 0 && from.savings_neighbors_ratio() >= 0)) {
2709 _internal_set_savings_neighbors_ratio(from._internal_savings_neighbors_ratio());
2711 if (!(from.cheapest_insertion_farthest_seeds_ratio() <= 0 && from.cheapest_insertion_farthest_seeds_ratio() >= 0)) {
2712 _internal_set_cheapest_insertion_farthest_seeds_ratio(from._internal_cheapest_insertion_farthest_seeds_ratio());
2714 if (!(from.savings_arc_coefficient() <= 0 && from.savings_arc_coefficient() >= 0)) {
2715 _internal_set_savings_arc_coefficient(from._internal_savings_arc_coefficient());
2717 if (from.relocate_expensive_chain_num_arcs_to_consider() != 0) {
2718 _internal_set_relocate_expensive_chain_num_arcs_to_consider(from._internal_relocate_expensive_chain_num_arcs_to_consider());
2720 if (from.use_unfiltered_first_solution_strategy() != 0) {
2721 _internal_set_use_unfiltered_first_solution_strategy(from._internal_use_unfiltered_first_solution_strategy());
2723 if (from.savings_add_reverse_arcs() != 0) {
2724 _internal_set_savings_add_reverse_arcs(from._internal_savings_add_reverse_arcs());
2726 if (from.savings_parallel_routes() != 0) {
2727 _internal_set_savings_parallel_routes(from._internal_savings_parallel_routes());
2729 if (from.cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() != 0) {
2730 _internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(from._internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization());
2732 if (!(from.cheapest_insertion_first_solution_neighbors_ratio() <= 0 && from.cheapest_insertion_first_solution_neighbors_ratio() >= 0)) {
2733 _internal_set_cheapest_insertion_first_solution_neighbors_ratio(from._internal_cheapest_insertion_first_solution_neighbors_ratio());
2735 if (!(from.log_cost_scaling_factor() <= 0 && from.log_cost_scaling_factor() >= 0)) {
2736 _internal_set_log_cost_scaling_factor(from._internal_log_cost_scaling_factor());
2738 if (!(from.savings_max_memory_usage_bytes() <= 0 && from.savings_max_memory_usage_bytes() >= 0)) {
2739 _internal_set_savings_max_memory_usage_bytes(from._internal_savings_max_memory_usage_bytes());
2741 if (from.use_cp_sat() != 0) {
2742 _internal_set_use_cp_sat(from._internal_use_cp_sat());
2744 if (from.use_cp() != 0) {
2745 _internal_set_use_cp(from._internal_use_cp());
2747 if (!(from.log_cost_offset() <= 0 && from.log_cost_offset() >= 0)) {
2748 _internal_set_log_cost_offset(from._internal_log_cost_offset());
2750 if (from.cheapest_insertion_add_unperformed_entries() != 0) {
2751 _internal_set_cheapest_insertion_add_unperformed_entries(from._internal_cheapest_insertion_add_unperformed_entries());
2753 if (from.christofides_use_minimum_matching() != 0) {
2754 _internal_set_christofides_use_minimum_matching(from._internal_christofides_use_minimum_matching());
2756 if (from.use_multi_armed_bandit_concatenate_operators() != 0) {
2757 _internal_set_use_multi_armed_bandit_concatenate_operators(from._internal_use_multi_armed_bandit_concatenate_operators());
2759 if (from.use_depth_first_search() != 0) {
2760 _internal_set_use_depth_first_search(from._internal_use_depth_first_search());
2762 if (from.heuristic_expensive_chain_lns_num_arcs_to_consider() != 0) {
2763 _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(from._internal_heuristic_expensive_chain_lns_num_arcs_to_consider());
2765 if (!(from.cheapest_insertion_ls_operator_neighbors_ratio() <= 0 && from.cheapest_insertion_ls_operator_neighbors_ratio() >= 0)) {
2766 _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(from._internal_cheapest_insertion_ls_operator_neighbors_ratio());
2768 if (from.continuous_scheduling_solver() != 0) {
2769 _internal_set_continuous_scheduling_solver(from._internal_continuous_scheduling_solver());
2771 if (from.mixed_integer_scheduling_solver() != 0) {
2772 _internal_set_mixed_integer_scheduling_solver(from._internal_mixed_integer_scheduling_solver());
2774 if (from.heuristic_close_nodes_lns_num_nodes() != 0) {
2775 _internal_set_heuristic_close_nodes_lns_num_nodes(from._internal_heuristic_close_nodes_lns_num_nodes());
2777 if (from.cheapest_insertion_first_solution_min_neighbors() != 0) {
2778 _internal_set_cheapest_insertion_first_solution_min_neighbors(from._internal_cheapest_insertion_first_solution_min_neighbors());
2780 if (from.cheapest_insertion_ls_operator_min_neighbors() != 0) {
2781 _internal_set_cheapest_insertion_ls_operator_min_neighbors(from._internal_cheapest_insertion_ls_operator_min_neighbors());
2783 if (!(from.multi_armed_bandit_compound_operator_memory_coefficient() <= 0 && from.multi_armed_bandit_compound_operator_memory_coefficient() >= 0)) {
2784 _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(from._internal_multi_armed_bandit_compound_operator_memory_coefficient());
2786 if (!(from.multi_armed_bandit_compound_operator_exploration_coefficient() <= 0 && from.multi_armed_bandit_compound_operator_exploration_coefficient() >= 0)) {
2787 _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(from._internal_multi_armed_bandit_compound_operator_exploration_coefficient());
2791 void RoutingSearchParameters::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2793 if (&from ==
this)
return;
2798 void RoutingSearchParameters::CopyFrom(
const RoutingSearchParameters& from) {
2800 if (&from ==
this)
return;
2805 bool RoutingSearchParameters::IsInitialized()
const {
2809 void RoutingSearchParameters::InternalSwap(RoutingSearchParameters* other) {
2811 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
2812 log_tag_.Swap(&other->log_tag_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
2813 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
2814 PROTOBUF_FIELD_OFFSET(RoutingSearchParameters, multi_armed_bandit_compound_operator_exploration_coefficient_)
2815 +
sizeof(RoutingSearchParameters::multi_armed_bandit_compound_operator_exploration_coefficient_)
2816 - PROTOBUF_FIELD_OFFSET(RoutingSearchParameters, local_search_operators_)>(
2817 reinterpret_cast<char*
>(&local_search_operators_),
2818 reinterpret_cast<char*
>(&other->local_search_operators_));
2821 ::PROTOBUF_NAMESPACE_ID::Metadata RoutingSearchParameters::GetMetadata()
const {
2822 return GetMetadataStatic();
2830 static const ::operations_research::ConstraintSolverParameters& solver_parameters(
const RoutingModelParameters* msg);
2833 const ::operations_research::ConstraintSolverParameters&
2835 return *msg->solver_parameters_;
2837 void RoutingModelParameters::clear_solver_parameters() {
2838 if (GetArena() ==
nullptr && solver_parameters_ !=
nullptr) {
2839 delete solver_parameters_;
2841 solver_parameters_ =
nullptr;
2843 RoutingModelParameters::RoutingModelParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena)
2844 : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
2846 RegisterArenaDtor(arena);
2849 RoutingModelParameters::RoutingModelParameters(
const RoutingModelParameters& from)
2850 : ::PROTOBUF_NAMESPACE_ID::Message() {
2851 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2852 if (from._internal_has_solver_parameters()) {
2853 solver_parameters_ = new ::operations_research::ConstraintSolverParameters(*from.solver_parameters_);
2855 solver_parameters_ =
nullptr;
2857 ::memcpy(&reduce_vehicle_cost_model_, &from.reduce_vehicle_cost_model_,
2858 static_cast<size_t>(
reinterpret_cast<char*
>(&max_callback_cache_size_) -
2859 reinterpret_cast<char*
>(&reduce_vehicle_cost_model_)) +
sizeof(max_callback_cache_size_));
2863 void RoutingModelParameters::SharedCtor() {
2864 ::memset(
reinterpret_cast<char*
>(
this) +
static_cast<size_t>(
2865 reinterpret_cast<char*
>(&solver_parameters_) -
reinterpret_cast<char*
>(
this)),
2866 0,
static_cast<size_t>(
reinterpret_cast<char*
>(&max_callback_cache_size_) -
2867 reinterpret_cast<char*
>(&solver_parameters_)) +
sizeof(max_callback_cache_size_));
2870 RoutingModelParameters::~RoutingModelParameters() {
2873 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2876 void RoutingModelParameters::SharedDtor() {
2877 GOOGLE_DCHECK(GetArena() ==
nullptr);
2878 if (
this != internal_default_instance())
delete solver_parameters_;
2881 void RoutingModelParameters::ArenaDtor(
void*
object) {
2882 RoutingModelParameters* _this =
reinterpret_cast< RoutingModelParameters*
>(object);
2885 void RoutingModelParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
2887 void RoutingModelParameters::SetCachedSize(
int size)
const {
2888 _cached_size_.Set(size);
2891 void RoutingModelParameters::Clear() {
2893 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2895 (void) cached_has_bits;
2897 if (GetArena() ==
nullptr && solver_parameters_ !=
nullptr) {
2898 delete solver_parameters_;
2900 solver_parameters_ =
nullptr;
2901 ::memset(&reduce_vehicle_cost_model_, 0,
static_cast<size_t>(
2902 reinterpret_cast<char*
>(&max_callback_cache_size_) -
2903 reinterpret_cast<char*
>(&reduce_vehicle_cost_model_)) +
sizeof(max_callback_cache_size_));
2904 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
2907 const char* RoutingModelParameters::_InternalParse(
const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
2908 #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
2909 while (!ctx->Done(&ptr)) {
2910 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
2911 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
2916 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 10)) {
2917 ptr = ctx->ParseMessage(_internal_mutable_solver_parameters(), ptr);
2919 }
else goto handle_unusual;
2923 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 16)) {
2924 reduce_vehicle_cost_model_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2926 }
else goto handle_unusual;
2930 if (PROTOBUF_PREDICT_TRUE(
static_cast<::PROTOBUF_NAMESPACE_ID::uint8
>(tag) == 24)) {
2931 max_callback_cache_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2933 }
else goto handle_unusual;
2937 if ((tag & 7) == 4 || tag == 0) {
2938 ctx->SetLastTag(tag);
2941 ptr = UnknownFieldParse(tag,
2942 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2944 CHK_(ptr !=
nullptr);
2957 ::PROTOBUF_NAMESPACE_ID::uint8* RoutingModelParameters::_InternalSerialize(
2958 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream)
const {
2960 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2961 (void) cached_has_bits;
2964 if (this->has_solver_parameters()) {
2965 target = stream->EnsureSpace(target);
2966 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2967 InternalWriteMessage(
2972 if (this->reduce_vehicle_cost_model() != 0) {
2973 target = stream->EnsureSpace(target);
2974 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_reduce_vehicle_cost_model(), target);
2978 if (this->max_callback_cache_size() != 0) {
2979 target = stream->EnsureSpace(target);
2980 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_max_callback_cache_size(), target);
2983 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2984 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2985 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2991 size_t RoutingModelParameters::ByteSizeLong()
const {
2993 size_t total_size = 0;
2995 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2997 (void) cached_has_bits;
3000 if (this->has_solver_parameters()) {
3002 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
3003 *solver_parameters_);
3007 if (this->reduce_vehicle_cost_model() != 0) {
3008 total_size += 1 + 1;
3012 if (this->max_callback_cache_size() != 0) {
3014 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
3015 this->_internal_max_callback_cache_size());
3018 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3019 return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
3020 _internal_metadata_, total_size, &_cached_size_);
3022 int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
3023 SetCachedSize(cached_size);
3027 void RoutingModelParameters::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3029 GOOGLE_DCHECK_NE(&from,
this);
3030 const RoutingModelParameters* source =
3031 ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RoutingModelParameters>(
3033 if (source ==
nullptr) {
3035 ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from,
this);
3042 void RoutingModelParameters::MergeFrom(
const RoutingModelParameters& from) {
3044 GOOGLE_DCHECK_NE(&from,
this);
3045 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3046 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3047 (void) cached_has_bits;
3049 if (from.has_solver_parameters()) {
3050 _internal_mutable_solver_parameters()->::operations_research::ConstraintSolverParameters::MergeFrom(from._internal_solver_parameters());
3052 if (from.reduce_vehicle_cost_model() != 0) {
3053 _internal_set_reduce_vehicle_cost_model(from._internal_reduce_vehicle_cost_model());
3055 if (from.max_callback_cache_size() != 0) {
3056 _internal_set_max_callback_cache_size(from._internal_max_callback_cache_size());
3060 void RoutingModelParameters::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3062 if (&from ==
this)
return;
3067 void RoutingModelParameters::CopyFrom(
const RoutingModelParameters& from) {
3069 if (&from ==
this)
return;
3074 bool RoutingModelParameters::IsInitialized()
const {
3078 void RoutingModelParameters::InternalSwap(RoutingModelParameters* other) {
3080 _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
3081 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
3082 PROTOBUF_FIELD_OFFSET(RoutingModelParameters, max_callback_cache_size_)
3083 +
sizeof(RoutingModelParameters::max_callback_cache_size_)
3084 - PROTOBUF_FIELD_OFFSET(RoutingModelParameters, solver_parameters_)>(
3085 reinterpret_cast<char*
>(&solver_parameters_),
3086 reinterpret_cast<char*
>(&other->solver_parameters_));
3089 ::PROTOBUF_NAMESPACE_ID::Metadata RoutingModelParameters::GetMetadata()
const {
3090 return GetMetadataStatic();
3096 PROTOBUF_NAMESPACE_OPEN
3098 return Arena::CreateMessageInternal< ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators >(arena);
3101 return Arena::CreateMessageInternal< ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters >(arena);
3104 return Arena::CreateMessageInternal< ::operations_research::RoutingSearchParameters >(arena);
3107 return Arena::CreateMessageInternal< ::operations_research::RoutingModelParameters >(arena);
3109 PROTOBUF_NAMESPACE_CLOSE
3112 #include <google/protobuf/port_undef.inc>
static const ::operations_research::ConstraintSolverParameters & solver_parameters(const RoutingModelParameters *msg)
static const PROTOBUF_NAMESPACE_ID::Duration & lns_time_limit(const RoutingSearchParameters *msg)
static const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators & local_search_operators(const RoutingSearchParameters *msg)
static const PROTOBUF_NAMESPACE_ID::Duration & time_limit(const RoutingSearchParameters *msg)
static const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters & improvement_limit_parameters(const RoutingSearchParameters *msg)
SharedTimeLimit * time_limit
void swap(IdMap< K, V > &a, IdMap< K, V > &b)
Collection of objects used to extend the Constraint Solver library.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * RoutingSearchParameters_SchedulingSolver_descriptor()
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
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_
LocalSearchMetaheuristic_Value
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2futil_2foptional_5fboolean_2eproto
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema * schemas
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fenums_2eproto
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
PROTOBUF_NOINLINE ::operations_research::RoutingSearchParameters * Arena::CreateMaybeMessage< ::operations_research::RoutingSearchParameters >(Arena *arena)
PROTOBUF_NOINLINE ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters * Arena::CreateMaybeMessage< ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters >(Arena *arena)
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * file_level_enum_descriptors_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto[1]
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto[4]
PROTOBUF_ATTRIBUTE_WEAK ::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto_metadata_getter(int index)
::PROTOBUF_NAMESPACE_ID::Message const *const file_default_instances[]
PROTOBUF_NAMESPACE_OPEN PROTOBUF_NOINLINE ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators * Arena::CreateMaybeMessage< ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators >(Arena *arena)
PROTOBUF_NOINLINE ::operations_research::RoutingModelParameters * Arena::CreateMaybeMessage< ::operations_research::RoutingModelParameters >(Arena *arena)
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto_once
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable *const descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto_deps[4]
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2fsolver_5fparameters_2eproto
constexpr RoutingModelParametersDefaultTypeInternal()
~RoutingModelParametersDefaultTypeInternal()
RoutingModelParameters _instance
constexpr RoutingSearchParameters_ImprovementSearchLimitParametersDefaultTypeInternal()
RoutingSearchParameters_ImprovementSearchLimitParameters _instance
~RoutingSearchParameters_ImprovementSearchLimitParametersDefaultTypeInternal()
RoutingSearchParameters_LocalSearchNeighborhoodOperators _instance
~RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal()
constexpr RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal()
RoutingSearchParameters _instance
~RoutingSearchParametersDefaultTypeInternal()
constexpr RoutingSearchParametersDefaultTypeInternal()