OR-Tools  9.1
routing_parameters.pb.cc
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// source: ortools/constraint_solver/routing_parameters.proto
3
5
6#include <algorithm>
7
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>
15// @@protoc_insertion_point(includes)
16#include <google/protobuf/port_def.inc>
17
18PROTOBUF_PRAGMA_INIT_SEG
19namespace operations_research {
21 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
22 : use_relocate_(0)
23
24 , use_relocate_pair_(0)
25
26 , use_relocate_neighbors_(0)
27
28 , use_exchange_(0)
29
30 , use_cross_(0)
31
32 , use_cross_exchange_(0)
33
34 , use_two_opt_(0)
35
36 , use_or_opt_(0)
37
38 , use_lin_kernighan_(0)
39
40 , use_tsp_opt_(0)
41
42 , use_make_active_(0)
43
44 , use_make_inactive_(0)
45
46 , use_make_chain_inactive_(0)
47
48 , use_swap_active_(0)
49
50 , use_extended_swap_active_(0)
51
52 , use_path_lns_(0)
53
54 , use_full_path_lns_(0)
55
56 , use_tsp_lns_(0)
57
58 , use_inactive_lns_(0)
59
60 , use_node_pair_swap_active_(0)
61
62 , use_relocate_and_make_active_(0)
63
64 , use_exchange_pair_(0)
65
66 , use_relocate_expensive_chain_(0)
67
68 , use_light_relocate_pair_(0)
69
70 , use_relocate_subtrip_(0)
71
72 , use_exchange_subtrip_(0)
73
74 , use_global_cheapest_insertion_path_lns_(0)
75
76 , use_local_cheapest_insertion_path_lns_(0)
77
78 , use_global_cheapest_insertion_expensive_chain_lns_(0)
79
80 , use_local_cheapest_insertion_expensive_chain_lns_(0)
81
82 , use_global_cheapest_insertion_close_nodes_lns_(0)
83
84 , use_local_cheapest_insertion_close_nodes_lns_(0)
85
86 , use_relocate_path_global_cheapest_insertion_insert_unperformed_(0)
87{}
90 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
92 union {
94 };
95};
98 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
99 : improvement_rate_solutions_distance_(0)
100 , improvement_rate_coefficient_(0){}
103 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
105 union {
107 };
108};
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 , sat_parameters_(nullptr)
118 , first_solution_strategy_(0)
119
120 , local_search_metaheuristic_(0)
121
122 , guided_local_search_lambda_coefficient_(0)
123 , optimization_step_(0)
124 , solution_limit_(int64_t{0})
125 , use_full_propagation_(false)
126 , log_search_(false)
127 , number_of_solutions_to_collect_(0)
128 , savings_neighbors_ratio_(0)
129 , cheapest_insertion_farthest_seeds_ratio_(0)
130 , savings_arc_coefficient_(0)
131 , relocate_expensive_chain_num_arcs_to_consider_(0)
132 , use_unfiltered_first_solution_strategy_(false)
133 , savings_add_reverse_arcs_(false)
134 , savings_parallel_routes_(false)
135 , cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_(false)
136 , cheapest_insertion_first_solution_neighbors_ratio_(0)
137 , log_cost_scaling_factor_(0)
138 , savings_max_memory_usage_bytes_(0)
139 , use_cp_sat_(0)
140
141 , use_cp_(0)
142
143 , log_cost_offset_(0)
144 , cheapest_insertion_add_unperformed_entries_(false)
145 , christofides_use_minimum_matching_(false)
146 , use_multi_armed_bandit_concatenate_operators_(false)
147 , use_depth_first_search_(false)
148 , heuristic_expensive_chain_lns_num_arcs_to_consider_(0)
149 , cheapest_insertion_ls_operator_neighbors_ratio_(0)
150 , continuous_scheduling_solver_(0)
151
152 , mixed_integer_scheduling_solver_(0)
153
154 , heuristic_close_nodes_lns_num_nodes_(0)
155 , cheapest_insertion_first_solution_min_neighbors_(0)
156 , multi_armed_bandit_compound_operator_memory_coefficient_(0)
157 , multi_armed_bandit_compound_operator_exploration_coefficient_(0)
158 , cheapest_insertion_ls_operator_min_neighbors_(0)
159 , use_generalized_cp_sat_(0)
160{}
163 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
165 union {
167 };
168};
171 ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
172 : solver_parameters_(nullptr)
173 , reduce_vehicle_cost_model_(false)
174 , max_callback_cache_size_(0){}
177 : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
179 union {
181 };
182};
184} // namespace operations_research
187static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto = nullptr;
188
190 ~0u, // no _has_bits_
191 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, _internal_metadata_),
192 ~0u, // no _extensions_
193 ~0u, // no _oneof_case_
194 ~0u, // no _weak_field_map_
195 ~0u, // no _inlined_string_donated_
198 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_light_relocate_pair_),
199 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_neighbors_),
200 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_subtrip_),
203 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_exchange_subtrip_),
205 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_cross_exchange_),
206 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_expensive_chain_),
212 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_and_make_active_),
214 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_make_chain_inactive_),
216 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_extended_swap_active_),
217 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_node_pair_swap_active_),
222 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_global_cheapest_insertion_path_lns_),
223 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_local_cheapest_insertion_path_lns_),
224 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_path_global_cheapest_insertion_insert_unperformed_),
225 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_global_cheapest_insertion_expensive_chain_lns_),
226 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_local_cheapest_insertion_expensive_chain_lns_),
227 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_global_cheapest_insertion_close_nodes_lns_),
228 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_local_cheapest_insertion_close_nodes_lns_),
229 ~0u, // no _has_bits_
230 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters, _internal_metadata_),
231 ~0u, // no _extensions_
232 ~0u, // no _oneof_case_
233 ~0u, // no _weak_field_map_
234 ~0u, // no _inlined_string_donated_
235 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters, improvement_rate_coefficient_),
236 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters, improvement_rate_solutions_distance_),
237 ~0u, // no _has_bits_
238 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, _internal_metadata_),
239 ~0u, // no _extensions_
240 ~0u, // no _oneof_case_
241 ~0u, // no _weak_field_map_
242 ~0u, // no _inlined_string_donated_
243 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, first_solution_strategy_),
244 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, use_unfiltered_first_solution_strategy_),
245 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, savings_neighbors_ratio_),
246 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, savings_max_memory_usage_bytes_),
247 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, savings_add_reverse_arcs_),
248 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, savings_arc_coefficient_),
249 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, savings_parallel_routes_),
250 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, cheapest_insertion_farthest_seeds_ratio_),
251 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, cheapest_insertion_first_solution_neighbors_ratio_),
252 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, cheapest_insertion_first_solution_min_neighbors_),
253 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, cheapest_insertion_ls_operator_neighbors_ratio_),
254 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, cheapest_insertion_ls_operator_min_neighbors_),
255 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_),
256 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, cheapest_insertion_add_unperformed_entries_),
257 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, christofides_use_minimum_matching_),
258 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, local_search_operators_),
259 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, use_multi_armed_bandit_concatenate_operators_),
260 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, multi_armed_bandit_compound_operator_memory_coefficient_),
261 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, multi_armed_bandit_compound_operator_exploration_coefficient_),
262 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, relocate_expensive_chain_num_arcs_to_consider_),
263 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, heuristic_expensive_chain_lns_num_arcs_to_consider_),
264 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, heuristic_close_nodes_lns_num_nodes_),
265 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, local_search_metaheuristic_),
266 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, guided_local_search_lambda_coefficient_),
267 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, use_depth_first_search_),
268 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, use_cp_),
269 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, use_cp_sat_),
270 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, use_generalized_cp_sat_),
271 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, sat_parameters_),
272 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, continuous_scheduling_solver_),
273 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, mixed_integer_scheduling_solver_),
274 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, optimization_step_),
275 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, number_of_solutions_to_collect_),
276 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, solution_limit_),
277 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, time_limit_),
278 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, lns_time_limit_),
279 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, improvement_limit_parameters_),
280 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, use_full_propagation_),
281 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, log_search_),
282 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, log_cost_scaling_factor_),
283 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, log_cost_offset_),
284 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingSearchParameters, log_tag_),
285 ~0u, // no _has_bits_
286 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingModelParameters, _internal_metadata_),
287 ~0u, // no _extensions_
288 ~0u, // no _oneof_case_
289 ~0u, // no _weak_field_map_
290 ~0u, // no _inlined_string_donated_
291 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingModelParameters, solver_parameters_),
292 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingModelParameters, reduce_vehicle_cost_model_),
293 PROTOBUF_FIELD_OFFSET(::operations_research::RoutingModelParameters, max_callback_cache_size_),
294};
295static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
300};
301
302static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
303 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_),
304 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_RoutingSearchParameters_ImprovementSearchLimitParameters_default_instance_),
305 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_RoutingSearchParameters_default_instance_),
306 reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::operations_research::_RoutingModelParameters_default_instance_),
307};
308
309const char descriptor_table_protodef_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
310 "\n2ortools/constraint_solver/routing_para"
311 "meters.proto\022\023operations_research\032\036googl"
312 "e/protobuf/duration.proto\032-ortools/const"
313 "raint_solver/routing_enums.proto\0321ortool"
314 "s/constraint_solver/solver_parameters.pr"
315 "oto\032 ortools/sat/sat_parameters.proto\032#o"
316 "rtools/util/optional_boolean.proto\"\372%\n\027R"
317 "outingSearchParameters\022Q\n\027first_solution"
318 "_strategy\030\001 \001(\01620.operations_research.Fi"
319 "rstSolutionStrategy.Value\022.\n&use_unfilte"
320 "red_first_solution_strategy\030\002 \001(\010\022\037\n\027sav"
321 "ings_neighbors_ratio\030\016 \001(\001\022&\n\036savings_ma"
322 "x_memory_usage_bytes\030\027 \001(\001\022 \n\030savings_ad"
323 "d_reverse_arcs\030\017 \001(\010\022\037\n\027savings_arc_coef"
324 "ficient\030\022 \001(\001\022\037\n\027savings_parallel_routes"
325 "\030\023 \001(\010\022/\n\'cheapest_insertion_farthest_se"
326 "eds_ratio\030\020 \001(\001\0229\n1cheapest_insertion_fi"
327 "rst_solution_neighbors_ratio\030\025 \001(\001\0227\n/ch"
328 "eapest_insertion_first_solution_min_neig"
329 "hbors\030, \001(\005\0226\n.cheapest_insertion_ls_ope"
330 "rator_neighbors_ratio\030\037 \001(\001\0224\n,cheapest_"
331 "insertion_ls_operator_min_neighbors\030- \001("
332 "\005\022P\nHcheapest_insertion_first_solution_u"
333 "se_neighbors_ratio_for_initialization\030. "
334 "\001(\010\0222\n*cheapest_insertion_add_unperforme"
335 "d_entries\030( \001(\010\022)\n!christofides_use_mini"
336 "mum_matching\030\036 \001(\010\022m\n\026local_search_opera"
337 "tors\030\003 \001(\0132M.operations_research.Routing"
338 "SearchParameters.LocalSearchNeighborhood"
339 "Operators\0224\n,use_multi_armed_bandit_conc"
340 "atenate_operators\030) \001(\010\022\?\n7multi_armed_b"
341 "andit_compound_operator_memory_coefficie"
342 "nt\030* \001(\001\022D\n<multi_armed_bandit_compound_"
343 "operator_exploration_coefficient\030+ \001(\001\0225"
344 "\n-relocate_expensive_chain_num_arcs_to_c"
345 "onsider\030\024 \001(\005\022:\n2heuristic_expensive_cha"
346 "in_lns_num_arcs_to_consider\030 \001(\005\022+\n#heu"
347 "ristic_close_nodes_lns_num_nodes\030# \001(\005\022W"
348 "\n\032local_search_metaheuristic\030\004 \001(\01623.ope"
349 "rations_research.LocalSearchMetaheuristi"
350 "c.Value\022.\n&guided_local_search_lambda_co"
351 "efficient\030\005 \001(\001\022\036\n\026use_depth_first_searc"
352 "h\030\006 \001(\010\0224\n\006use_cp\030\034 \001(\0162$.operations_res"
353 "earch.OptionalBoolean\0228\n\nuse_cp_sat\030\033 \001("
354 "\0162$.operations_research.OptionalBoolean\022"
355 "D\n\026use_generalized_cp_sat\030/ \001(\0162$.operat"
356 "ions_research.OptionalBoolean\022>\n\016sat_par"
357 "ameters\0300 \001(\0132&.operations_research.sat."
358 "SatParameters\022c\n\034continuous_scheduling_s"
359 "olver\030! \001(\0162=.operations_research.Routin"
360 "gSearchParameters.SchedulingSolver\022f\n\037mi"
361 "xed_integer_scheduling_solver\030\" \001(\0162=.op"
362 "erations_research.RoutingSearchParameter"
363 "s.SchedulingSolver\022\031\n\021optimization_step\030"
364 "\007 \001(\001\022&\n\036number_of_solutions_to_collect\030"
365 "\021 \001(\005\022\026\n\016solution_limit\030\010 \001(\003\022-\n\ntime_li"
366 "mit\030\t \001(\0132\031.google.protobuf.Duration\0221\n\016"
367 "lns_time_limit\030\n \001(\0132\031.google.protobuf.D"
368 "uration\022s\n\034improvement_limit_parameters\030"
369 "% \001(\0132M.operations_research.RoutingSearc"
370 "hParameters.ImprovementSearchLimitParame"
371 "ters\022\034\n\024use_full_propagation\030\013 \001(\010\022\022\n\nlo"
372 "g_search\030\r \001(\010\022\037\n\027log_cost_scaling_facto"
373 "r\030\026 \001(\001\022\027\n\017log_cost_offset\030\035 \001(\001\022\017\n\007log_"
374 "tag\030$ \001(\t\032\327\022\n LocalSearchNeighborhoodOpe"
375 "rators\022:\n\014use_relocate\030\001 \001(\0162$.operation"
376 "s_research.OptionalBoolean\022\?\n\021use_reloca"
377 "te_pair\030\002 \001(\0162$.operations_research.Opti"
378 "onalBoolean\022E\n\027use_light_relocate_pair\030\030"
379 " \001(\0162$.operations_research.OptionalBoole"
380 "an\022D\n\026use_relocate_neighbors\030\003 \001(\0162$.ope"
381 "rations_research.OptionalBoolean\022B\n\024use_"
382 "relocate_subtrip\030\031 \001(\0162$.operations_rese"
383 "arch.OptionalBoolean\022:\n\014use_exchange\030\004 \001"
384 "(\0162$.operations_research.OptionalBoolean"
385 "\022\?\n\021use_exchange_pair\030\026 \001(\0162$.operations"
386 "_research.OptionalBoolean\022B\n\024use_exchang"
387 "e_subtrip\030\032 \001(\0162$.operations_research.Op"
388 "tionalBoolean\0227\n\tuse_cross\030\005 \001(\0162$.opera"
389 "tions_research.OptionalBoolean\022@\n\022use_cr"
390 "oss_exchange\030\006 \001(\0162$.operations_research"
391 ".OptionalBoolean\022J\n\034use_relocate_expensi"
392 "ve_chain\030\027 \001(\0162$.operations_research.Opt"
393 "ionalBoolean\0229\n\013use_two_opt\030\007 \001(\0162$.oper"
394 "ations_research.OptionalBoolean\0228\n\nuse_o"
395 "r_opt\030\010 \001(\0162$.operations_research.Option"
396 "alBoolean\022\?\n\021use_lin_kernighan\030\t \001(\0162$.o"
397 "perations_research.OptionalBoolean\0229\n\013us"
398 "e_tsp_opt\030\n \001(\0162$.operations_research.Op"
399 "tionalBoolean\022=\n\017use_make_active\030\013 \001(\0162$"
400 ".operations_research.OptionalBoolean\022J\n\034"
401 "use_relocate_and_make_active\030\025 \001(\0162$.ope"
402 "rations_research.OptionalBoolean\022\?\n\021use_"
403 "make_inactive\030\014 \001(\0162$.operations_researc"
404 "h.OptionalBoolean\022E\n\027use_make_chain_inac"
405 "tive\030\r \001(\0162$.operations_research.Optiona"
406 "lBoolean\022=\n\017use_swap_active\030\016 \001(\0162$.oper"
407 "ations_research.OptionalBoolean\022F\n\030use_e"
408 "xtended_swap_active\030\017 \001(\0162$.operations_r"
409 "esearch.OptionalBoolean\022G\n\031use_node_pair"
410 "_swap_active\030\024 \001(\0162$.operations_research"
411 ".OptionalBoolean\022:\n\014use_path_lns\030\020 \001(\0162$"
412 ".operations_research.OptionalBoolean\022\?\n\021"
413 "use_full_path_lns\030\021 \001(\0162$.operations_res"
414 "earch.OptionalBoolean\0229\n\013use_tsp_lns\030\022 \001"
415 "(\0162$.operations_research.OptionalBoolean"
416 "\022>\n\020use_inactive_lns\030\023 \001(\0162$.operations_"
417 "research.OptionalBoolean\022T\n&use_global_c"
418 "heapest_insertion_path_lns\030\033 \001(\0162$.opera"
419 "tions_research.OptionalBoolean\022S\n%use_lo"
420 "cal_cheapest_insertion_path_lns\030\034 \001(\0162$."
421 "operations_research.OptionalBoolean\022l\n>u"
422 "se_relocate_path_global_cheapest_inserti"
423 "on_insert_unperformed\030! \001(\0162$.operations"
424 "_research.OptionalBoolean\022_\n1use_global_"
425 "cheapest_insertion_expensive_chain_lns\030\035"
426 " \001(\0162$.operations_research.OptionalBoole"
427 "an\022^\n0use_local_cheapest_insertion_expen"
428 "sive_chain_lns\030\036 \001(\0162$.operations_resear"
429 "ch.OptionalBoolean\022[\n-use_global_cheapes"
430 "t_insertion_close_nodes_lns\030\037 \001(\0162$.oper"
431 "ations_research.OptionalBoolean\022Z\n,use_l"
432 "ocal_cheapest_insertion_close_nodes_lns\030"
433 " \001(\0162$.operations_research.OptionalBool"
434 "ean\032u\n ImprovementSearchLimitParameters\022"
435 "$\n\034improvement_rate_coefficient\030& \001(\001\022+\n"
436 "#improvement_rate_solutions_distance\030\' \001"
437 "(\005\"3\n\020SchedulingSolver\022\t\n\005UNSET\020\000\022\010\n\004GLO"
438 "P\020\001\022\n\n\006CP_SAT\020\002\"\250\001\n\026RoutingModelParamete"
439 "rs\022J\n\021solver_parameters\030\001 \001(\0132/.operatio"
440 "ns_research.ConstraintSolverParameters\022!"
441 "\n\031reduce_vehicle_cost_model\030\002 \001(\010\022\037\n\027max"
442 "_callback_cache_size\030\003 \001(\005BI\n#com.google"
443 ".ortools.constraintsolverP\001\252\002\037Google.OrT"
444 "ools.ConstraintSolverb\006proto3"
445 ;
446static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto_deps[5] = {
447 &::descriptor_table_google_2fprotobuf_2fduration_2eproto,
452};
454const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto = {
455 false, false, 5389, descriptor_table_protodef_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto, "ortools/constraint_solver/routing_parameters.proto",
459};
460PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto_getter() {
462}
463
464// Force running AddDescriptors() at dynamic initialization time.
465PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto(&descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto);
466namespace operations_research {
467const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RoutingSearchParameters_SchedulingSolver_descriptor() {
468 ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto);
470}
472 switch (value) {
473 case 0:
474 case 1:
475 case 2:
476 return true;
477 default:
478 return false;
479 }
480}
481
482#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
489#endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
490
491// ===================================================================
492
494 public:
495};
496
498 bool is_message_owned)
499 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
500 SharedCtor();
501 if (!is_message_owned) {
502 RegisterArenaDtor(arena);
503 }
504 // @@protoc_insertion_point(arena_constructor:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
505}
507 : ::PROTOBUF_NAMESPACE_ID::Message() {
508 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
509 ::memcpy(&use_relocate_, &from.use_relocate_,
510 static_cast<size_t>(reinterpret_cast<char*>(&use_relocate_path_global_cheapest_insertion_insert_unperformed_) -
511 reinterpret_cast<char*>(&use_relocate_)) + sizeof(use_relocate_path_global_cheapest_insertion_insert_unperformed_));
512 // @@protoc_insertion_point(copy_constructor:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
513}
514
515void RoutingSearchParameters_LocalSearchNeighborhoodOperators::SharedCtor() {
516::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
517 reinterpret_cast<char*>(&use_relocate_) - reinterpret_cast<char*>(this)),
518 0, static_cast<size_t>(reinterpret_cast<char*>(&use_relocate_path_global_cheapest_insertion_insert_unperformed_) -
519 reinterpret_cast<char*>(&use_relocate_)) + sizeof(use_relocate_path_global_cheapest_insertion_insert_unperformed_));
520}
521
523 // @@protoc_insertion_point(destructor:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
524 if (GetArenaForAllocation() != nullptr) return;
525 SharedDtor();
526 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
527}
528
529inline void RoutingSearchParameters_LocalSearchNeighborhoodOperators::SharedDtor() {
530 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
531}
532
533void RoutingSearchParameters_LocalSearchNeighborhoodOperators::ArenaDtor(void* object) {
535 (void)_this;
536}
537void RoutingSearchParameters_LocalSearchNeighborhoodOperators::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
538}
539void RoutingSearchParameters_LocalSearchNeighborhoodOperators::SetCachedSize(int size) const {
540 _cached_size_.Set(size);
541}
542
544// @@protoc_insertion_point(message_clear_start:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
545 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
546 // Prevent compiler warnings about cached_has_bits being unused
547 (void) cached_has_bits;
548
549 ::memset(&use_relocate_, 0, static_cast<size_t>(
550 reinterpret_cast<char*>(&use_relocate_path_global_cheapest_insertion_insert_unperformed_) -
551 reinterpret_cast<char*>(&use_relocate_)) + sizeof(use_relocate_path_global_cheapest_insertion_insert_unperformed_));
552 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
553}
554
555const char* RoutingSearchParameters_LocalSearchNeighborhoodOperators::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
556#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
557 while (!ctx->Done(&ptr)) {
558 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
559 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
560 switch (tag >> 3) {
561 // .operations_research.OptionalBoolean use_relocate = 1;
562 case 1:
563 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
564 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
565 CHK_(ptr);
566 _internal_set_use_relocate(static_cast<::operations_research::OptionalBoolean>(val));
567 } else
568 goto handle_unusual;
569 continue;
570 // .operations_research.OptionalBoolean use_relocate_pair = 2;
571 case 2:
572 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
573 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
574 CHK_(ptr);
575 _internal_set_use_relocate_pair(static_cast<::operations_research::OptionalBoolean>(val));
576 } else
577 goto handle_unusual;
578 continue;
579 // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
580 case 3:
581 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
582 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
583 CHK_(ptr);
584 _internal_set_use_relocate_neighbors(static_cast<::operations_research::OptionalBoolean>(val));
585 } else
586 goto handle_unusual;
587 continue;
588 // .operations_research.OptionalBoolean use_exchange = 4;
589 case 4:
590 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
591 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
592 CHK_(ptr);
593 _internal_set_use_exchange(static_cast<::operations_research::OptionalBoolean>(val));
594 } else
595 goto handle_unusual;
596 continue;
597 // .operations_research.OptionalBoolean use_cross = 5;
598 case 5:
599 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
600 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
601 CHK_(ptr);
602 _internal_set_use_cross(static_cast<::operations_research::OptionalBoolean>(val));
603 } else
604 goto handle_unusual;
605 continue;
606 // .operations_research.OptionalBoolean use_cross_exchange = 6;
607 case 6:
608 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
609 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
610 CHK_(ptr);
611 _internal_set_use_cross_exchange(static_cast<::operations_research::OptionalBoolean>(val));
612 } else
613 goto handle_unusual;
614 continue;
615 // .operations_research.OptionalBoolean use_two_opt = 7;
616 case 7:
617 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
618 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
619 CHK_(ptr);
620 _internal_set_use_two_opt(static_cast<::operations_research::OptionalBoolean>(val));
621 } else
622 goto handle_unusual;
623 continue;
624 // .operations_research.OptionalBoolean use_or_opt = 8;
625 case 8:
626 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
627 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
628 CHK_(ptr);
629 _internal_set_use_or_opt(static_cast<::operations_research::OptionalBoolean>(val));
630 } else
631 goto handle_unusual;
632 continue;
633 // .operations_research.OptionalBoolean use_lin_kernighan = 9;
634 case 9:
635 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
636 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
637 CHK_(ptr);
638 _internal_set_use_lin_kernighan(static_cast<::operations_research::OptionalBoolean>(val));
639 } else
640 goto handle_unusual;
641 continue;
642 // .operations_research.OptionalBoolean use_tsp_opt = 10;
643 case 10:
644 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
645 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
646 CHK_(ptr);
647 _internal_set_use_tsp_opt(static_cast<::operations_research::OptionalBoolean>(val));
648 } else
649 goto handle_unusual;
650 continue;
651 // .operations_research.OptionalBoolean use_make_active = 11;
652 case 11:
653 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
654 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
655 CHK_(ptr);
656 _internal_set_use_make_active(static_cast<::operations_research::OptionalBoolean>(val));
657 } else
658 goto handle_unusual;
659 continue;
660 // .operations_research.OptionalBoolean use_make_inactive = 12;
661 case 12:
662 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
663 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
664 CHK_(ptr);
665 _internal_set_use_make_inactive(static_cast<::operations_research::OptionalBoolean>(val));
666 } else
667 goto handle_unusual;
668 continue;
669 // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
670 case 13:
671 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
672 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
673 CHK_(ptr);
674 _internal_set_use_make_chain_inactive(static_cast<::operations_research::OptionalBoolean>(val));
675 } else
676 goto handle_unusual;
677 continue;
678 // .operations_research.OptionalBoolean use_swap_active = 14;
679 case 14:
680 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
681 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
682 CHK_(ptr);
683 _internal_set_use_swap_active(static_cast<::operations_research::OptionalBoolean>(val));
684 } else
685 goto handle_unusual;
686 continue;
687 // .operations_research.OptionalBoolean use_extended_swap_active = 15;
688 case 15:
689 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 120)) {
690 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
691 CHK_(ptr);
692 _internal_set_use_extended_swap_active(static_cast<::operations_research::OptionalBoolean>(val));
693 } else
694 goto handle_unusual;
695 continue;
696 // .operations_research.OptionalBoolean use_path_lns = 16;
697 case 16:
698 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
699 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
700 CHK_(ptr);
701 _internal_set_use_path_lns(static_cast<::operations_research::OptionalBoolean>(val));
702 } else
703 goto handle_unusual;
704 continue;
705 // .operations_research.OptionalBoolean use_full_path_lns = 17;
706 case 17:
707 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
708 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
709 CHK_(ptr);
710 _internal_set_use_full_path_lns(static_cast<::operations_research::OptionalBoolean>(val));
711 } else
712 goto handle_unusual;
713 continue;
714 // .operations_research.OptionalBoolean use_tsp_lns = 18;
715 case 18:
716 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144)) {
717 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
718 CHK_(ptr);
719 _internal_set_use_tsp_lns(static_cast<::operations_research::OptionalBoolean>(val));
720 } else
721 goto handle_unusual;
722 continue;
723 // .operations_research.OptionalBoolean use_inactive_lns = 19;
724 case 19:
725 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 152)) {
726 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
727 CHK_(ptr);
728 _internal_set_use_inactive_lns(static_cast<::operations_research::OptionalBoolean>(val));
729 } else
730 goto handle_unusual;
731 continue;
732 // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
733 case 20:
734 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
735 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
736 CHK_(ptr);
737 _internal_set_use_node_pair_swap_active(static_cast<::operations_research::OptionalBoolean>(val));
738 } else
739 goto handle_unusual;
740 continue;
741 // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
742 case 21:
743 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 168)) {
744 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
745 CHK_(ptr);
746 _internal_set_use_relocate_and_make_active(static_cast<::operations_research::OptionalBoolean>(val));
747 } else
748 goto handle_unusual;
749 continue;
750 // .operations_research.OptionalBoolean use_exchange_pair = 22;
751 case 22:
752 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 176)) {
753 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
754 CHK_(ptr);
755 _internal_set_use_exchange_pair(static_cast<::operations_research::OptionalBoolean>(val));
756 } else
757 goto handle_unusual;
758 continue;
759 // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
760 case 23:
761 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184)) {
762 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
763 CHK_(ptr);
764 _internal_set_use_relocate_expensive_chain(static_cast<::operations_research::OptionalBoolean>(val));
765 } else
766 goto handle_unusual;
767 continue;
768 // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
769 case 24:
770 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
771 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
772 CHK_(ptr);
773 _internal_set_use_light_relocate_pair(static_cast<::operations_research::OptionalBoolean>(val));
774 } else
775 goto handle_unusual;
776 continue;
777 // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
778 case 25:
779 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 200)) {
780 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
781 CHK_(ptr);
782 _internal_set_use_relocate_subtrip(static_cast<::operations_research::OptionalBoolean>(val));
783 } else
784 goto handle_unusual;
785 continue;
786 // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
787 case 26:
788 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 208)) {
789 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
790 CHK_(ptr);
791 _internal_set_use_exchange_subtrip(static_cast<::operations_research::OptionalBoolean>(val));
792 } else
793 goto handle_unusual;
794 continue;
795 // .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
796 case 27:
797 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 216)) {
798 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
799 CHK_(ptr);
800 _internal_set_use_global_cheapest_insertion_path_lns(static_cast<::operations_research::OptionalBoolean>(val));
801 } else
802 goto handle_unusual;
803 continue;
804 // .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
805 case 28:
806 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 224)) {
807 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
808 CHK_(ptr);
809 _internal_set_use_local_cheapest_insertion_path_lns(static_cast<::operations_research::OptionalBoolean>(val));
810 } else
811 goto handle_unusual;
812 continue;
813 // .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
814 case 29:
815 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 232)) {
816 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
817 CHK_(ptr);
818 _internal_set_use_global_cheapest_insertion_expensive_chain_lns(static_cast<::operations_research::OptionalBoolean>(val));
819 } else
820 goto handle_unusual;
821 continue;
822 // .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
823 case 30:
824 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 240)) {
825 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
826 CHK_(ptr);
827 _internal_set_use_local_cheapest_insertion_expensive_chain_lns(static_cast<::operations_research::OptionalBoolean>(val));
828 } else
829 goto handle_unusual;
830 continue;
831 // .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
832 case 31:
833 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 248)) {
834 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
835 CHK_(ptr);
836 _internal_set_use_global_cheapest_insertion_close_nodes_lns(static_cast<::operations_research::OptionalBoolean>(val));
837 } else
838 goto handle_unusual;
839 continue;
840 // .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
841 case 32:
842 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 0)) {
843 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
844 CHK_(ptr);
845 _internal_set_use_local_cheapest_insertion_close_nodes_lns(static_cast<::operations_research::OptionalBoolean>(val));
846 } else
847 goto handle_unusual;
848 continue;
849 // .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
850 case 33:
851 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
852 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
853 CHK_(ptr);
854 _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(static_cast<::operations_research::OptionalBoolean>(val));
855 } else
856 goto handle_unusual;
857 continue;
858 default:
859 goto handle_unusual;
860 } // switch
861 handle_unusual:
862 if ((tag == 0) || ((tag & 7) == 4)) {
863 CHK_(ptr);
864 ctx->SetLastTag(tag);
865 goto message_done;
866 }
867 ptr = UnknownFieldParse(
868 tag,
869 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
870 ptr, ctx);
871 CHK_(ptr != nullptr);
872 } // while
873message_done:
874 return ptr;
875failure:
876 ptr = nullptr;
877 goto message_done;
878#undef CHK_
879}
880
882 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
883 // @@protoc_insertion_point(serialize_to_array_start:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
884 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
885 (void) cached_has_bits;
886
887 // .operations_research.OptionalBoolean use_relocate = 1;
888 if (this->_internal_use_relocate() != 0) {
889 target = stream->EnsureSpace(target);
890 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
891 1, this->_internal_use_relocate(), target);
892 }
893
894 // .operations_research.OptionalBoolean use_relocate_pair = 2;
895 if (this->_internal_use_relocate_pair() != 0) {
896 target = stream->EnsureSpace(target);
897 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
898 2, this->_internal_use_relocate_pair(), target);
899 }
900
901 // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
902 if (this->_internal_use_relocate_neighbors() != 0) {
903 target = stream->EnsureSpace(target);
904 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
905 3, this->_internal_use_relocate_neighbors(), target);
906 }
907
908 // .operations_research.OptionalBoolean use_exchange = 4;
909 if (this->_internal_use_exchange() != 0) {
910 target = stream->EnsureSpace(target);
911 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
912 4, this->_internal_use_exchange(), target);
913 }
914
915 // .operations_research.OptionalBoolean use_cross = 5;
916 if (this->_internal_use_cross() != 0) {
917 target = stream->EnsureSpace(target);
918 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
919 5, this->_internal_use_cross(), target);
920 }
921
922 // .operations_research.OptionalBoolean use_cross_exchange = 6;
923 if (this->_internal_use_cross_exchange() != 0) {
924 target = stream->EnsureSpace(target);
925 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
926 6, this->_internal_use_cross_exchange(), target);
927 }
928
929 // .operations_research.OptionalBoolean use_two_opt = 7;
930 if (this->_internal_use_two_opt() != 0) {
931 target = stream->EnsureSpace(target);
932 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
933 7, this->_internal_use_two_opt(), target);
934 }
935
936 // .operations_research.OptionalBoolean use_or_opt = 8;
937 if (this->_internal_use_or_opt() != 0) {
938 target = stream->EnsureSpace(target);
939 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
940 8, this->_internal_use_or_opt(), target);
941 }
942
943 // .operations_research.OptionalBoolean use_lin_kernighan = 9;
944 if (this->_internal_use_lin_kernighan() != 0) {
945 target = stream->EnsureSpace(target);
946 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
947 9, this->_internal_use_lin_kernighan(), target);
948 }
949
950 // .operations_research.OptionalBoolean use_tsp_opt = 10;
951 if (this->_internal_use_tsp_opt() != 0) {
952 target = stream->EnsureSpace(target);
953 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
954 10, this->_internal_use_tsp_opt(), target);
955 }
956
957 // .operations_research.OptionalBoolean use_make_active = 11;
958 if (this->_internal_use_make_active() != 0) {
959 target = stream->EnsureSpace(target);
960 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
961 11, this->_internal_use_make_active(), target);
962 }
963
964 // .operations_research.OptionalBoolean use_make_inactive = 12;
965 if (this->_internal_use_make_inactive() != 0) {
966 target = stream->EnsureSpace(target);
967 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
968 12, this->_internal_use_make_inactive(), target);
969 }
970
971 // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
972 if (this->_internal_use_make_chain_inactive() != 0) {
973 target = stream->EnsureSpace(target);
974 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
975 13, this->_internal_use_make_chain_inactive(), target);
976 }
977
978 // .operations_research.OptionalBoolean use_swap_active = 14;
979 if (this->_internal_use_swap_active() != 0) {
980 target = stream->EnsureSpace(target);
981 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
982 14, this->_internal_use_swap_active(), target);
983 }
984
985 // .operations_research.OptionalBoolean use_extended_swap_active = 15;
986 if (this->_internal_use_extended_swap_active() != 0) {
987 target = stream->EnsureSpace(target);
988 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
989 15, this->_internal_use_extended_swap_active(), target);
990 }
991
992 // .operations_research.OptionalBoolean use_path_lns = 16;
993 if (this->_internal_use_path_lns() != 0) {
994 target = stream->EnsureSpace(target);
995 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
996 16, this->_internal_use_path_lns(), target);
997 }
998
999 // .operations_research.OptionalBoolean use_full_path_lns = 17;
1000 if (this->_internal_use_full_path_lns() != 0) {
1001 target = stream->EnsureSpace(target);
1002 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1003 17, this->_internal_use_full_path_lns(), target);
1004 }
1005
1006 // .operations_research.OptionalBoolean use_tsp_lns = 18;
1007 if (this->_internal_use_tsp_lns() != 0) {
1008 target = stream->EnsureSpace(target);
1009 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1010 18, this->_internal_use_tsp_lns(), target);
1011 }
1012
1013 // .operations_research.OptionalBoolean use_inactive_lns = 19;
1014 if (this->_internal_use_inactive_lns() != 0) {
1015 target = stream->EnsureSpace(target);
1016 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1017 19, this->_internal_use_inactive_lns(), target);
1018 }
1019
1020 // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
1021 if (this->_internal_use_node_pair_swap_active() != 0) {
1022 target = stream->EnsureSpace(target);
1023 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1024 20, this->_internal_use_node_pair_swap_active(), target);
1025 }
1026
1027 // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
1028 if (this->_internal_use_relocate_and_make_active() != 0) {
1029 target = stream->EnsureSpace(target);
1030 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1031 21, this->_internal_use_relocate_and_make_active(), target);
1032 }
1033
1034 // .operations_research.OptionalBoolean use_exchange_pair = 22;
1035 if (this->_internal_use_exchange_pair() != 0) {
1036 target = stream->EnsureSpace(target);
1037 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1038 22, this->_internal_use_exchange_pair(), target);
1039 }
1040
1041 // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
1042 if (this->_internal_use_relocate_expensive_chain() != 0) {
1043 target = stream->EnsureSpace(target);
1044 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1045 23, this->_internal_use_relocate_expensive_chain(), target);
1046 }
1047
1048 // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
1049 if (this->_internal_use_light_relocate_pair() != 0) {
1050 target = stream->EnsureSpace(target);
1051 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1052 24, this->_internal_use_light_relocate_pair(), target);
1053 }
1054
1055 // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
1056 if (this->_internal_use_relocate_subtrip() != 0) {
1057 target = stream->EnsureSpace(target);
1058 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1059 25, this->_internal_use_relocate_subtrip(), target);
1060 }
1061
1062 // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
1063 if (this->_internal_use_exchange_subtrip() != 0) {
1064 target = stream->EnsureSpace(target);
1065 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1066 26, this->_internal_use_exchange_subtrip(), target);
1067 }
1068
1069 // .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
1070 if (this->_internal_use_global_cheapest_insertion_path_lns() != 0) {
1071 target = stream->EnsureSpace(target);
1072 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1073 27, this->_internal_use_global_cheapest_insertion_path_lns(), target);
1074 }
1075
1076 // .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
1077 if (this->_internal_use_local_cheapest_insertion_path_lns() != 0) {
1078 target = stream->EnsureSpace(target);
1079 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1080 28, this->_internal_use_local_cheapest_insertion_path_lns(), target);
1081 }
1082
1083 // .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
1084 if (this->_internal_use_global_cheapest_insertion_expensive_chain_lns() != 0) {
1085 target = stream->EnsureSpace(target);
1086 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1087 29, this->_internal_use_global_cheapest_insertion_expensive_chain_lns(), target);
1088 }
1089
1090 // .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
1091 if (this->_internal_use_local_cheapest_insertion_expensive_chain_lns() != 0) {
1092 target = stream->EnsureSpace(target);
1093 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1094 30, this->_internal_use_local_cheapest_insertion_expensive_chain_lns(), target);
1095 }
1096
1097 // .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
1098 if (this->_internal_use_global_cheapest_insertion_close_nodes_lns() != 0) {
1099 target = stream->EnsureSpace(target);
1100 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1101 31, this->_internal_use_global_cheapest_insertion_close_nodes_lns(), target);
1102 }
1103
1104 // .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
1105 if (this->_internal_use_local_cheapest_insertion_close_nodes_lns() != 0) {
1106 target = stream->EnsureSpace(target);
1107 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1108 32, this->_internal_use_local_cheapest_insertion_close_nodes_lns(), target);
1109 }
1110
1111 // .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
1112 if (this->_internal_use_relocate_path_global_cheapest_insertion_insert_unperformed() != 0) {
1113 target = stream->EnsureSpace(target);
1114 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
1115 33, this->_internal_use_relocate_path_global_cheapest_insertion_insert_unperformed(), target);
1116 }
1117
1118 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1119 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1120 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1121 }
1122 // @@protoc_insertion_point(serialize_to_array_end:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
1123 return target;
1124}
1125
1127// @@protoc_insertion_point(message_byte_size_start:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
1128 size_t total_size = 0;
1129
1130 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1131 // Prevent compiler warnings about cached_has_bits being unused
1132 (void) cached_has_bits;
1133
1134 // .operations_research.OptionalBoolean use_relocate = 1;
1135 if (this->_internal_use_relocate() != 0) {
1136 total_size += 1 +
1137 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_relocate());
1138 }
1139
1140 // .operations_research.OptionalBoolean use_relocate_pair = 2;
1141 if (this->_internal_use_relocate_pair() != 0) {
1142 total_size += 1 +
1143 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_relocate_pair());
1144 }
1145
1146 // .operations_research.OptionalBoolean use_relocate_neighbors = 3;
1147 if (this->_internal_use_relocate_neighbors() != 0) {
1148 total_size += 1 +
1149 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_relocate_neighbors());
1150 }
1151
1152 // .operations_research.OptionalBoolean use_exchange = 4;
1153 if (this->_internal_use_exchange() != 0) {
1154 total_size += 1 +
1155 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_exchange());
1156 }
1157
1158 // .operations_research.OptionalBoolean use_cross = 5;
1159 if (this->_internal_use_cross() != 0) {
1160 total_size += 1 +
1161 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_cross());
1162 }
1163
1164 // .operations_research.OptionalBoolean use_cross_exchange = 6;
1165 if (this->_internal_use_cross_exchange() != 0) {
1166 total_size += 1 +
1167 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_cross_exchange());
1168 }
1169
1170 // .operations_research.OptionalBoolean use_two_opt = 7;
1171 if (this->_internal_use_two_opt() != 0) {
1172 total_size += 1 +
1173 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_two_opt());
1174 }
1175
1176 // .operations_research.OptionalBoolean use_or_opt = 8;
1177 if (this->_internal_use_or_opt() != 0) {
1178 total_size += 1 +
1179 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_or_opt());
1180 }
1181
1182 // .operations_research.OptionalBoolean use_lin_kernighan = 9;
1183 if (this->_internal_use_lin_kernighan() != 0) {
1184 total_size += 1 +
1185 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_lin_kernighan());
1186 }
1187
1188 // .operations_research.OptionalBoolean use_tsp_opt = 10;
1189 if (this->_internal_use_tsp_opt() != 0) {
1190 total_size += 1 +
1191 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_tsp_opt());
1192 }
1193
1194 // .operations_research.OptionalBoolean use_make_active = 11;
1195 if (this->_internal_use_make_active() != 0) {
1196 total_size += 1 +
1197 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_make_active());
1198 }
1199
1200 // .operations_research.OptionalBoolean use_make_inactive = 12;
1201 if (this->_internal_use_make_inactive() != 0) {
1202 total_size += 1 +
1203 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_make_inactive());
1204 }
1205
1206 // .operations_research.OptionalBoolean use_make_chain_inactive = 13;
1207 if (this->_internal_use_make_chain_inactive() != 0) {
1208 total_size += 1 +
1209 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_make_chain_inactive());
1210 }
1211
1212 // .operations_research.OptionalBoolean use_swap_active = 14;
1213 if (this->_internal_use_swap_active() != 0) {
1214 total_size += 1 +
1215 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_swap_active());
1216 }
1217
1218 // .operations_research.OptionalBoolean use_extended_swap_active = 15;
1219 if (this->_internal_use_extended_swap_active() != 0) {
1220 total_size += 1 +
1221 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_extended_swap_active());
1222 }
1223
1224 // .operations_research.OptionalBoolean use_path_lns = 16;
1225 if (this->_internal_use_path_lns() != 0) {
1226 total_size += 2 +
1227 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_path_lns());
1228 }
1229
1230 // .operations_research.OptionalBoolean use_full_path_lns = 17;
1231 if (this->_internal_use_full_path_lns() != 0) {
1232 total_size += 2 +
1233 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_full_path_lns());
1234 }
1235
1236 // .operations_research.OptionalBoolean use_tsp_lns = 18;
1237 if (this->_internal_use_tsp_lns() != 0) {
1238 total_size += 2 +
1239 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_tsp_lns());
1240 }
1241
1242 // .operations_research.OptionalBoolean use_inactive_lns = 19;
1243 if (this->_internal_use_inactive_lns() != 0) {
1244 total_size += 2 +
1245 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_inactive_lns());
1246 }
1247
1248 // .operations_research.OptionalBoolean use_node_pair_swap_active = 20;
1249 if (this->_internal_use_node_pair_swap_active() != 0) {
1250 total_size += 2 +
1251 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_node_pair_swap_active());
1252 }
1253
1254 // .operations_research.OptionalBoolean use_relocate_and_make_active = 21;
1255 if (this->_internal_use_relocate_and_make_active() != 0) {
1256 total_size += 2 +
1257 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_relocate_and_make_active());
1258 }
1259
1260 // .operations_research.OptionalBoolean use_exchange_pair = 22;
1261 if (this->_internal_use_exchange_pair() != 0) {
1262 total_size += 2 +
1263 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_exchange_pair());
1264 }
1265
1266 // .operations_research.OptionalBoolean use_relocate_expensive_chain = 23;
1267 if (this->_internal_use_relocate_expensive_chain() != 0) {
1268 total_size += 2 +
1269 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_relocate_expensive_chain());
1270 }
1271
1272 // .operations_research.OptionalBoolean use_light_relocate_pair = 24;
1273 if (this->_internal_use_light_relocate_pair() != 0) {
1274 total_size += 2 +
1275 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_light_relocate_pair());
1276 }
1277
1278 // .operations_research.OptionalBoolean use_relocate_subtrip = 25;
1279 if (this->_internal_use_relocate_subtrip() != 0) {
1280 total_size += 2 +
1281 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_relocate_subtrip());
1282 }
1283
1284 // .operations_research.OptionalBoolean use_exchange_subtrip = 26;
1285 if (this->_internal_use_exchange_subtrip() != 0) {
1286 total_size += 2 +
1287 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_exchange_subtrip());
1288 }
1289
1290 // .operations_research.OptionalBoolean use_global_cheapest_insertion_path_lns = 27;
1291 if (this->_internal_use_global_cheapest_insertion_path_lns() != 0) {
1292 total_size += 2 +
1293 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_global_cheapest_insertion_path_lns());
1294 }
1295
1296 // .operations_research.OptionalBoolean use_local_cheapest_insertion_path_lns = 28;
1297 if (this->_internal_use_local_cheapest_insertion_path_lns() != 0) {
1298 total_size += 2 +
1299 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_local_cheapest_insertion_path_lns());
1300 }
1301
1302 // .operations_research.OptionalBoolean use_global_cheapest_insertion_expensive_chain_lns = 29;
1303 if (this->_internal_use_global_cheapest_insertion_expensive_chain_lns() != 0) {
1304 total_size += 2 +
1305 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_global_cheapest_insertion_expensive_chain_lns());
1306 }
1307
1308 // .operations_research.OptionalBoolean use_local_cheapest_insertion_expensive_chain_lns = 30;
1309 if (this->_internal_use_local_cheapest_insertion_expensive_chain_lns() != 0) {
1310 total_size += 2 +
1311 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_local_cheapest_insertion_expensive_chain_lns());
1312 }
1313
1314 // .operations_research.OptionalBoolean use_global_cheapest_insertion_close_nodes_lns = 31;
1315 if (this->_internal_use_global_cheapest_insertion_close_nodes_lns() != 0) {
1316 total_size += 2 +
1317 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_global_cheapest_insertion_close_nodes_lns());
1318 }
1319
1320 // .operations_research.OptionalBoolean use_local_cheapest_insertion_close_nodes_lns = 32;
1321 if (this->_internal_use_local_cheapest_insertion_close_nodes_lns() != 0) {
1322 total_size += 2 +
1323 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_local_cheapest_insertion_close_nodes_lns());
1324 }
1325
1326 // .operations_research.OptionalBoolean use_relocate_path_global_cheapest_insertion_insert_unperformed = 33;
1327 if (this->_internal_use_relocate_path_global_cheapest_insertion_insert_unperformed() != 0) {
1328 total_size += 2 +
1329 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_relocate_path_global_cheapest_insertion_insert_unperformed());
1330 }
1331
1332 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1333}
1334
1335const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RoutingSearchParameters_LocalSearchNeighborhoodOperators::_class_data_ = {
1336 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1337 RoutingSearchParameters_LocalSearchNeighborhoodOperators::MergeImpl
1338};
1339const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RoutingSearchParameters_LocalSearchNeighborhoodOperators::GetClassData() const { return &_class_data_; }
1340
1341void RoutingSearchParameters_LocalSearchNeighborhoodOperators::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1342 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1345}
1346
1347
1349// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
1350 GOOGLE_DCHECK_NE(&from, this);
1351 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1352 (void) cached_has_bits;
1353
1354 if (from._internal_use_relocate() != 0) {
1355 _internal_set_use_relocate(from._internal_use_relocate());
1356 }
1357 if (from._internal_use_relocate_pair() != 0) {
1358 _internal_set_use_relocate_pair(from._internal_use_relocate_pair());
1359 }
1360 if (from._internal_use_relocate_neighbors() != 0) {
1361 _internal_set_use_relocate_neighbors(from._internal_use_relocate_neighbors());
1362 }
1363 if (from._internal_use_exchange() != 0) {
1364 _internal_set_use_exchange(from._internal_use_exchange());
1365 }
1366 if (from._internal_use_cross() != 0) {
1367 _internal_set_use_cross(from._internal_use_cross());
1368 }
1369 if (from._internal_use_cross_exchange() != 0) {
1370 _internal_set_use_cross_exchange(from._internal_use_cross_exchange());
1371 }
1372 if (from._internal_use_two_opt() != 0) {
1373 _internal_set_use_two_opt(from._internal_use_two_opt());
1374 }
1375 if (from._internal_use_or_opt() != 0) {
1376 _internal_set_use_or_opt(from._internal_use_or_opt());
1377 }
1378 if (from._internal_use_lin_kernighan() != 0) {
1379 _internal_set_use_lin_kernighan(from._internal_use_lin_kernighan());
1380 }
1381 if (from._internal_use_tsp_opt() != 0) {
1382 _internal_set_use_tsp_opt(from._internal_use_tsp_opt());
1383 }
1384 if (from._internal_use_make_active() != 0) {
1385 _internal_set_use_make_active(from._internal_use_make_active());
1386 }
1387 if (from._internal_use_make_inactive() != 0) {
1388 _internal_set_use_make_inactive(from._internal_use_make_inactive());
1389 }
1390 if (from._internal_use_make_chain_inactive() != 0) {
1391 _internal_set_use_make_chain_inactive(from._internal_use_make_chain_inactive());
1392 }
1393 if (from._internal_use_swap_active() != 0) {
1394 _internal_set_use_swap_active(from._internal_use_swap_active());
1395 }
1396 if (from._internal_use_extended_swap_active() != 0) {
1397 _internal_set_use_extended_swap_active(from._internal_use_extended_swap_active());
1398 }
1399 if (from._internal_use_path_lns() != 0) {
1400 _internal_set_use_path_lns(from._internal_use_path_lns());
1401 }
1402 if (from._internal_use_full_path_lns() != 0) {
1403 _internal_set_use_full_path_lns(from._internal_use_full_path_lns());
1404 }
1405 if (from._internal_use_tsp_lns() != 0) {
1406 _internal_set_use_tsp_lns(from._internal_use_tsp_lns());
1407 }
1408 if (from._internal_use_inactive_lns() != 0) {
1409 _internal_set_use_inactive_lns(from._internal_use_inactive_lns());
1410 }
1411 if (from._internal_use_node_pair_swap_active() != 0) {
1412 _internal_set_use_node_pair_swap_active(from._internal_use_node_pair_swap_active());
1413 }
1414 if (from._internal_use_relocate_and_make_active() != 0) {
1415 _internal_set_use_relocate_and_make_active(from._internal_use_relocate_and_make_active());
1416 }
1417 if (from._internal_use_exchange_pair() != 0) {
1418 _internal_set_use_exchange_pair(from._internal_use_exchange_pair());
1419 }
1420 if (from._internal_use_relocate_expensive_chain() != 0) {
1421 _internal_set_use_relocate_expensive_chain(from._internal_use_relocate_expensive_chain());
1422 }
1423 if (from._internal_use_light_relocate_pair() != 0) {
1424 _internal_set_use_light_relocate_pair(from._internal_use_light_relocate_pair());
1425 }
1426 if (from._internal_use_relocate_subtrip() != 0) {
1427 _internal_set_use_relocate_subtrip(from._internal_use_relocate_subtrip());
1428 }
1429 if (from._internal_use_exchange_subtrip() != 0) {
1430 _internal_set_use_exchange_subtrip(from._internal_use_exchange_subtrip());
1431 }
1432 if (from._internal_use_global_cheapest_insertion_path_lns() != 0) {
1433 _internal_set_use_global_cheapest_insertion_path_lns(from._internal_use_global_cheapest_insertion_path_lns());
1434 }
1435 if (from._internal_use_local_cheapest_insertion_path_lns() != 0) {
1436 _internal_set_use_local_cheapest_insertion_path_lns(from._internal_use_local_cheapest_insertion_path_lns());
1437 }
1438 if (from._internal_use_global_cheapest_insertion_expensive_chain_lns() != 0) {
1439 _internal_set_use_global_cheapest_insertion_expensive_chain_lns(from._internal_use_global_cheapest_insertion_expensive_chain_lns());
1440 }
1441 if (from._internal_use_local_cheapest_insertion_expensive_chain_lns() != 0) {
1442 _internal_set_use_local_cheapest_insertion_expensive_chain_lns(from._internal_use_local_cheapest_insertion_expensive_chain_lns());
1443 }
1444 if (from._internal_use_global_cheapest_insertion_close_nodes_lns() != 0) {
1445 _internal_set_use_global_cheapest_insertion_close_nodes_lns(from._internal_use_global_cheapest_insertion_close_nodes_lns());
1446 }
1447 if (from._internal_use_local_cheapest_insertion_close_nodes_lns() != 0) {
1448 _internal_set_use_local_cheapest_insertion_close_nodes_lns(from._internal_use_local_cheapest_insertion_close_nodes_lns());
1449 }
1450 if (from._internal_use_relocate_path_global_cheapest_insertion_insert_unperformed() != 0) {
1451 _internal_set_use_relocate_path_global_cheapest_insertion_insert_unperformed(from._internal_use_relocate_path_global_cheapest_insertion_insert_unperformed());
1452 }
1453 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1454}
1455
1457// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
1458 if (&from == this) return;
1459 Clear();
1460 MergeFrom(from);
1461}
1462
1464 return true;
1465}
1466
1467void RoutingSearchParameters_LocalSearchNeighborhoodOperators::InternalSwap(RoutingSearchParameters_LocalSearchNeighborhoodOperators* other) {
1468 using std::swap;
1469 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1470 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1471 PROTOBUF_FIELD_OFFSET(RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_path_global_cheapest_insertion_insert_unperformed_)
1472 + sizeof(RoutingSearchParameters_LocalSearchNeighborhoodOperators::use_relocate_path_global_cheapest_insertion_insert_unperformed_)
1473 - PROTOBUF_FIELD_OFFSET(RoutingSearchParameters_LocalSearchNeighborhoodOperators, use_relocate_)>(
1474 reinterpret_cast<char*>(&use_relocate_),
1475 reinterpret_cast<char*>(&other->use_relocate_));
1476}
1477
1479 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1482}
1483
1484// ===================================================================
1485
1487 public:
1488};
1489
1491 bool is_message_owned)
1492 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
1493 SharedCtor();
1494 if (!is_message_owned) {
1495 RegisterArenaDtor(arena);
1496 }
1497 // @@protoc_insertion_point(arena_constructor:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
1498}
1500 : ::PROTOBUF_NAMESPACE_ID::Message() {
1501 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1502 ::memcpy(&improvement_rate_solutions_distance_, &from.improvement_rate_solutions_distance_,
1503 static_cast<size_t>(reinterpret_cast<char*>(&improvement_rate_coefficient_) -
1504 reinterpret_cast<char*>(&improvement_rate_solutions_distance_)) + sizeof(improvement_rate_coefficient_));
1505 // @@protoc_insertion_point(copy_constructor:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
1506}
1507
1508void RoutingSearchParameters_ImprovementSearchLimitParameters::SharedCtor() {
1509::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
1510 reinterpret_cast<char*>(&improvement_rate_solutions_distance_) - reinterpret_cast<char*>(this)),
1511 0, static_cast<size_t>(reinterpret_cast<char*>(&improvement_rate_coefficient_) -
1512 reinterpret_cast<char*>(&improvement_rate_solutions_distance_)) + sizeof(improvement_rate_coefficient_));
1513}
1514
1516 // @@protoc_insertion_point(destructor:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
1517 if (GetArenaForAllocation() != nullptr) return;
1518 SharedDtor();
1519 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1520}
1521
1522inline void RoutingSearchParameters_ImprovementSearchLimitParameters::SharedDtor() {
1523 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1524}
1525
1526void RoutingSearchParameters_ImprovementSearchLimitParameters::ArenaDtor(void* object) {
1528 (void)_this;
1529}
1530void RoutingSearchParameters_ImprovementSearchLimitParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1531}
1532void RoutingSearchParameters_ImprovementSearchLimitParameters::SetCachedSize(int size) const {
1533 _cached_size_.Set(size);
1534}
1535
1537// @@protoc_insertion_point(message_clear_start:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
1538 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1539 // Prevent compiler warnings about cached_has_bits being unused
1540 (void) cached_has_bits;
1541
1542 ::memset(&improvement_rate_solutions_distance_, 0, static_cast<size_t>(
1543 reinterpret_cast<char*>(&improvement_rate_coefficient_) -
1544 reinterpret_cast<char*>(&improvement_rate_solutions_distance_)) + sizeof(improvement_rate_coefficient_));
1545 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1546}
1547
1548const char* RoutingSearchParameters_ImprovementSearchLimitParameters::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1549#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1550 while (!ctx->Done(&ptr)) {
1551 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1552 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1553 switch (tag >> 3) {
1554 // double improvement_rate_coefficient = 38;
1555 case 38:
1556 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 49)) {
1557 improvement_rate_coefficient_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1558 ptr += sizeof(double);
1559 } else
1560 goto handle_unusual;
1561 continue;
1562 // int32 improvement_rate_solutions_distance = 39;
1563 case 39:
1564 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
1565 improvement_rate_solutions_distance_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1566 CHK_(ptr);
1567 } else
1568 goto handle_unusual;
1569 continue;
1570 default:
1571 goto handle_unusual;
1572 } // switch
1573 handle_unusual:
1574 if ((tag == 0) || ((tag & 7) == 4)) {
1575 CHK_(ptr);
1576 ctx->SetLastTag(tag);
1577 goto message_done;
1578 }
1579 ptr = UnknownFieldParse(
1580 tag,
1581 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
1582 ptr, ctx);
1583 CHK_(ptr != nullptr);
1584 } // while
1585message_done:
1586 return ptr;
1587failure:
1588 ptr = nullptr;
1589 goto message_done;
1590#undef CHK_
1591}
1592
1594 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
1595 // @@protoc_insertion_point(serialize_to_array_start:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
1596 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1597 (void) cached_has_bits;
1598
1599 // double improvement_rate_coefficient = 38;
1600 if (!(this->_internal_improvement_rate_coefficient() <= 0 && this->_internal_improvement_rate_coefficient() >= 0)) {
1601 target = stream->EnsureSpace(target);
1602 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(38, this->_internal_improvement_rate_coefficient(), target);
1603 }
1604
1605 // int32 improvement_rate_solutions_distance = 39;
1606 if (this->_internal_improvement_rate_solutions_distance() != 0) {
1607 target = stream->EnsureSpace(target);
1608 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(39, this->_internal_improvement_rate_solutions_distance(), target);
1609 }
1610
1611 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
1612 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
1613 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
1614 }
1615 // @@protoc_insertion_point(serialize_to_array_end:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
1616 return target;
1617}
1618
1620// @@protoc_insertion_point(message_byte_size_start:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
1621 size_t total_size = 0;
1622
1623 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1624 // Prevent compiler warnings about cached_has_bits being unused
1625 (void) cached_has_bits;
1626
1627 // int32 improvement_rate_solutions_distance = 39;
1628 if (this->_internal_improvement_rate_solutions_distance() != 0) {
1629 total_size += 2 +
1630 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
1631 this->_internal_improvement_rate_solutions_distance());
1632 }
1633
1634 // double improvement_rate_coefficient = 38;
1635 if (!(this->_internal_improvement_rate_coefficient() <= 0 && this->_internal_improvement_rate_coefficient() >= 0)) {
1636 total_size += 2 + 8;
1637 }
1638
1639 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
1640}
1641
1642const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RoutingSearchParameters_ImprovementSearchLimitParameters::_class_data_ = {
1643 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
1644 RoutingSearchParameters_ImprovementSearchLimitParameters::MergeImpl
1645};
1646const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RoutingSearchParameters_ImprovementSearchLimitParameters::GetClassData() const { return &_class_data_; }
1647
1648void RoutingSearchParameters_ImprovementSearchLimitParameters::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
1649 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
1652}
1653
1654
1656// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
1657 GOOGLE_DCHECK_NE(&from, this);
1658 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1659 (void) cached_has_bits;
1660
1661 if (from._internal_improvement_rate_solutions_distance() != 0) {
1662 _internal_set_improvement_rate_solutions_distance(from._internal_improvement_rate_solutions_distance());
1663 }
1664 if (!(from._internal_improvement_rate_coefficient() <= 0 && from._internal_improvement_rate_coefficient() >= 0)) {
1665 _internal_set_improvement_rate_coefficient(from._internal_improvement_rate_coefficient());
1666 }
1667 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1668}
1669
1671// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
1672 if (&from == this) return;
1673 Clear();
1674 MergeFrom(from);
1675}
1676
1678 return true;
1679}
1680
1681void RoutingSearchParameters_ImprovementSearchLimitParameters::InternalSwap(RoutingSearchParameters_ImprovementSearchLimitParameters* other) {
1682 using std::swap;
1683 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
1684 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
1685 PROTOBUF_FIELD_OFFSET(RoutingSearchParameters_ImprovementSearchLimitParameters, improvement_rate_coefficient_)
1686 + sizeof(RoutingSearchParameters_ImprovementSearchLimitParameters::improvement_rate_coefficient_)
1687 - PROTOBUF_FIELD_OFFSET(RoutingSearchParameters_ImprovementSearchLimitParameters, improvement_rate_solutions_distance_)>(
1688 reinterpret_cast<char*>(&improvement_rate_solutions_distance_),
1689 reinterpret_cast<char*>(&other->improvement_rate_solutions_distance_));
1690}
1691
1693 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
1696}
1697
1698// ===================================================================
1699
1701 public:
1702 static const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators& local_search_operators(const RoutingSearchParameters* msg);
1703 static const ::operations_research::sat::SatParameters& sat_parameters(const RoutingSearchParameters* msg);
1704 static const ::PROTOBUF_NAMESPACE_ID::Duration& time_limit(const RoutingSearchParameters* msg);
1705 static const ::PROTOBUF_NAMESPACE_ID::Duration& lns_time_limit(const RoutingSearchParameters* msg);
1706 static const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters& improvement_limit_parameters(const RoutingSearchParameters* msg);
1707};
1708
1709const ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators&
1711 return *msg->local_search_operators_;
1712}
1713const ::operations_research::sat::SatParameters&
1715 return *msg->sat_parameters_;
1716}
1717const ::PROTOBUF_NAMESPACE_ID::Duration&
1719 return *msg->time_limit_;
1720}
1721const ::PROTOBUF_NAMESPACE_ID::Duration&
1723 return *msg->lns_time_limit_;
1724}
1725const ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters&
1727 return *msg->improvement_limit_parameters_;
1728}
1730 if (GetArenaForAllocation() == nullptr && sat_parameters_ != nullptr) {
1731 delete sat_parameters_;
1732 }
1733 sat_parameters_ = nullptr;
1734}
1736 if (GetArenaForAllocation() == nullptr && time_limit_ != nullptr) {
1737 delete time_limit_;
1738 }
1739 time_limit_ = nullptr;
1740}
1742 if (GetArenaForAllocation() == nullptr && lns_time_limit_ != nullptr) {
1743 delete lns_time_limit_;
1744 }
1745 lns_time_limit_ = nullptr;
1746}
1747RoutingSearchParameters::RoutingSearchParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1748 bool is_message_owned)
1749 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
1750 SharedCtor();
1751 if (!is_message_owned) {
1752 RegisterArenaDtor(arena);
1753 }
1754 // @@protoc_insertion_point(arena_constructor:operations_research.RoutingSearchParameters)
1755}
1757 : ::PROTOBUF_NAMESPACE_ID::Message() {
1758 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
1759 log_tag_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1760 if (!from._internal_log_tag().empty()) {
1761 log_tag_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_log_tag(),
1762 GetArenaForAllocation());
1763 }
1764 if (from._internal_has_local_search_operators()) {
1765 local_search_operators_ = new ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators(*from.local_search_operators_);
1766 } else {
1767 local_search_operators_ = nullptr;
1768 }
1769 if (from._internal_has_time_limit()) {
1770 time_limit_ = new ::PROTOBUF_NAMESPACE_ID::Duration(*from.time_limit_);
1771 } else {
1772 time_limit_ = nullptr;
1773 }
1774 if (from._internal_has_lns_time_limit()) {
1775 lns_time_limit_ = new ::PROTOBUF_NAMESPACE_ID::Duration(*from.lns_time_limit_);
1776 } else {
1777 lns_time_limit_ = nullptr;
1778 }
1779 if (from._internal_has_improvement_limit_parameters()) {
1780 improvement_limit_parameters_ = new ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters(*from.improvement_limit_parameters_);
1781 } else {
1782 improvement_limit_parameters_ = nullptr;
1783 }
1784 if (from._internal_has_sat_parameters()) {
1785 sat_parameters_ = new ::operations_research::sat::SatParameters(*from.sat_parameters_);
1786 } else {
1787 sat_parameters_ = nullptr;
1788 }
1789 ::memcpy(&first_solution_strategy_, &from.first_solution_strategy_,
1790 static_cast<size_t>(reinterpret_cast<char*>(&use_generalized_cp_sat_) -
1791 reinterpret_cast<char*>(&first_solution_strategy_)) + sizeof(use_generalized_cp_sat_));
1792 // @@protoc_insertion_point(copy_constructor:operations_research.RoutingSearchParameters)
1793}
1794
1795void RoutingSearchParameters::SharedCtor() {
1796log_tag_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1797::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
1798 reinterpret_cast<char*>(&local_search_operators_) - reinterpret_cast<char*>(this)),
1799 0, static_cast<size_t>(reinterpret_cast<char*>(&use_generalized_cp_sat_) -
1800 reinterpret_cast<char*>(&local_search_operators_)) + sizeof(use_generalized_cp_sat_));
1801}
1802
1804 // @@protoc_insertion_point(destructor:operations_research.RoutingSearchParameters)
1805 if (GetArenaForAllocation() != nullptr) return;
1806 SharedDtor();
1807 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1808}
1809
1810inline void RoutingSearchParameters::SharedDtor() {
1811 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
1812 log_tag_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
1813 if (this != internal_default_instance()) delete local_search_operators_;
1814 if (this != internal_default_instance()) delete time_limit_;
1815 if (this != internal_default_instance()) delete lns_time_limit_;
1816 if (this != internal_default_instance()) delete improvement_limit_parameters_;
1817 if (this != internal_default_instance()) delete sat_parameters_;
1818}
1819
1820void RoutingSearchParameters::ArenaDtor(void* object) {
1821 RoutingSearchParameters* _this = reinterpret_cast< RoutingSearchParameters* >(object);
1822 (void)_this;
1823}
1824void RoutingSearchParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
1825}
1826void RoutingSearchParameters::SetCachedSize(int size) const {
1827 _cached_size_.Set(size);
1828}
1829
1831// @@protoc_insertion_point(message_clear_start:operations_research.RoutingSearchParameters)
1832 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
1833 // Prevent compiler warnings about cached_has_bits being unused
1834 (void) cached_has_bits;
1835
1836 log_tag_.ClearToEmpty();
1837 if (GetArenaForAllocation() == nullptr && local_search_operators_ != nullptr) {
1838 delete local_search_operators_;
1839 }
1840 local_search_operators_ = nullptr;
1841 if (GetArenaForAllocation() == nullptr && time_limit_ != nullptr) {
1842 delete time_limit_;
1843 }
1844 time_limit_ = nullptr;
1845 if (GetArenaForAllocation() == nullptr && lns_time_limit_ != nullptr) {
1846 delete lns_time_limit_;
1847 }
1848 lns_time_limit_ = nullptr;
1849 if (GetArenaForAllocation() == nullptr && improvement_limit_parameters_ != nullptr) {
1850 delete improvement_limit_parameters_;
1851 }
1852 improvement_limit_parameters_ = nullptr;
1853 if (GetArenaForAllocation() == nullptr && sat_parameters_ != nullptr) {
1854 delete sat_parameters_;
1855 }
1856 sat_parameters_ = nullptr;
1857 ::memset(&first_solution_strategy_, 0, static_cast<size_t>(
1858 reinterpret_cast<char*>(&use_generalized_cp_sat_) -
1859 reinterpret_cast<char*>(&first_solution_strategy_)) + sizeof(use_generalized_cp_sat_));
1860 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1861}
1862
1863const char* RoutingSearchParameters::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
1864#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
1865 while (!ctx->Done(&ptr)) {
1866 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
1867 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
1868 switch (tag >> 3) {
1869 // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
1870 case 1:
1871 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
1872 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1873 CHK_(ptr);
1874 _internal_set_first_solution_strategy(static_cast<::operations_research::FirstSolutionStrategy_Value>(val));
1875 } else
1876 goto handle_unusual;
1877 continue;
1878 // bool use_unfiltered_first_solution_strategy = 2;
1879 case 2:
1880 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
1881 use_unfiltered_first_solution_strategy_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1882 CHK_(ptr);
1883 } else
1884 goto handle_unusual;
1885 continue;
1886 // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
1887 case 3:
1888 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
1889 ptr = ctx->ParseMessage(_internal_mutable_local_search_operators(), ptr);
1890 CHK_(ptr);
1891 } else
1892 goto handle_unusual;
1893 continue;
1894 // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
1895 case 4:
1896 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
1897 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1898 CHK_(ptr);
1899 _internal_set_local_search_metaheuristic(static_cast<::operations_research::LocalSearchMetaheuristic_Value>(val));
1900 } else
1901 goto handle_unusual;
1902 continue;
1903 // double guided_local_search_lambda_coefficient = 5;
1904 case 5:
1905 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 41)) {
1906 guided_local_search_lambda_coefficient_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1907 ptr += sizeof(double);
1908 } else
1909 goto handle_unusual;
1910 continue;
1911 // bool use_depth_first_search = 6;
1912 case 6:
1913 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
1914 use_depth_first_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1915 CHK_(ptr);
1916 } else
1917 goto handle_unusual;
1918 continue;
1919 // double optimization_step = 7;
1920 case 7:
1921 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 57)) {
1922 optimization_step_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1923 ptr += sizeof(double);
1924 } else
1925 goto handle_unusual;
1926 continue;
1927 // int64 solution_limit = 8;
1928 case 8:
1929 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
1930 solution_limit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1931 CHK_(ptr);
1932 } else
1933 goto handle_unusual;
1934 continue;
1935 // .google.protobuf.Duration time_limit = 9;
1936 case 9:
1937 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
1938 ptr = ctx->ParseMessage(_internal_mutable_time_limit(), ptr);
1939 CHK_(ptr);
1940 } else
1941 goto handle_unusual;
1942 continue;
1943 // .google.protobuf.Duration lns_time_limit = 10;
1944 case 10:
1945 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
1946 ptr = ctx->ParseMessage(_internal_mutable_lns_time_limit(), ptr);
1947 CHK_(ptr);
1948 } else
1949 goto handle_unusual;
1950 continue;
1951 // bool use_full_propagation = 11;
1952 case 11:
1953 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
1954 use_full_propagation_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1955 CHK_(ptr);
1956 } else
1957 goto handle_unusual;
1958 continue;
1959 // bool log_search = 13;
1960 case 13:
1961 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
1962 log_search_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1963 CHK_(ptr);
1964 } else
1965 goto handle_unusual;
1966 continue;
1967 // double savings_neighbors_ratio = 14;
1968 case 14:
1969 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 113)) {
1970 savings_neighbors_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1971 ptr += sizeof(double);
1972 } else
1973 goto handle_unusual;
1974 continue;
1975 // bool savings_add_reverse_arcs = 15;
1976 case 15:
1977 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 120)) {
1978 savings_add_reverse_arcs_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1979 CHK_(ptr);
1980 } else
1981 goto handle_unusual;
1982 continue;
1983 // double cheapest_insertion_farthest_seeds_ratio = 16;
1984 case 16:
1985 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 129)) {
1986 cheapest_insertion_farthest_seeds_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
1987 ptr += sizeof(double);
1988 } else
1989 goto handle_unusual;
1990 continue;
1991 // int32 number_of_solutions_to_collect = 17;
1992 case 17:
1993 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
1994 number_of_solutions_to_collect_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
1995 CHK_(ptr);
1996 } else
1997 goto handle_unusual;
1998 continue;
1999 // double savings_arc_coefficient = 18;
2000 case 18:
2001 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 145)) {
2002 savings_arc_coefficient_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2003 ptr += sizeof(double);
2004 } else
2005 goto handle_unusual;
2006 continue;
2007 // bool savings_parallel_routes = 19;
2008 case 19:
2009 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 152)) {
2010 savings_parallel_routes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2011 CHK_(ptr);
2012 } else
2013 goto handle_unusual;
2014 continue;
2015 // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
2016 case 20:
2017 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
2018 relocate_expensive_chain_num_arcs_to_consider_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2019 CHK_(ptr);
2020 } else
2021 goto handle_unusual;
2022 continue;
2023 // double cheapest_insertion_first_solution_neighbors_ratio = 21;
2024 case 21:
2025 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 169)) {
2026 cheapest_insertion_first_solution_neighbors_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2027 ptr += sizeof(double);
2028 } else
2029 goto handle_unusual;
2030 continue;
2031 // double log_cost_scaling_factor = 22;
2032 case 22:
2033 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 177)) {
2034 log_cost_scaling_factor_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2035 ptr += sizeof(double);
2036 } else
2037 goto handle_unusual;
2038 continue;
2039 // double savings_max_memory_usage_bytes = 23;
2040 case 23:
2041 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 185)) {
2042 savings_max_memory_usage_bytes_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2043 ptr += sizeof(double);
2044 } else
2045 goto handle_unusual;
2046 continue;
2047 // .operations_research.OptionalBoolean use_cp_sat = 27;
2048 case 27:
2049 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 216)) {
2050 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2051 CHK_(ptr);
2052 _internal_set_use_cp_sat(static_cast<::operations_research::OptionalBoolean>(val));
2053 } else
2054 goto handle_unusual;
2055 continue;
2056 // .operations_research.OptionalBoolean use_cp = 28;
2057 case 28:
2058 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 224)) {
2059 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2060 CHK_(ptr);
2061 _internal_set_use_cp(static_cast<::operations_research::OptionalBoolean>(val));
2062 } else
2063 goto handle_unusual;
2064 continue;
2065 // double log_cost_offset = 29;
2066 case 29:
2067 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 233)) {
2068 log_cost_offset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2069 ptr += sizeof(double);
2070 } else
2071 goto handle_unusual;
2072 continue;
2073 // bool christofides_use_minimum_matching = 30;
2074 case 30:
2075 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 240)) {
2076 christofides_use_minimum_matching_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2077 CHK_(ptr);
2078 } else
2079 goto handle_unusual;
2080 continue;
2081 // double cheapest_insertion_ls_operator_neighbors_ratio = 31;
2082 case 31:
2083 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 249)) {
2084 cheapest_insertion_ls_operator_neighbors_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2085 ptr += sizeof(double);
2086 } else
2087 goto handle_unusual;
2088 continue;
2089 // int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
2090 case 32:
2091 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 0)) {
2092 heuristic_expensive_chain_lns_num_arcs_to_consider_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2093 CHK_(ptr);
2094 } else
2095 goto handle_unusual;
2096 continue;
2097 // .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
2098 case 33:
2099 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
2100 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2101 CHK_(ptr);
2102 _internal_set_continuous_scheduling_solver(static_cast<::operations_research::RoutingSearchParameters_SchedulingSolver>(val));
2103 } else
2104 goto handle_unusual;
2105 continue;
2106 // .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
2107 case 34:
2108 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
2109 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2110 CHK_(ptr);
2111 _internal_set_mixed_integer_scheduling_solver(static_cast<::operations_research::RoutingSearchParameters_SchedulingSolver>(val));
2112 } else
2113 goto handle_unusual;
2114 continue;
2115 // int32 heuristic_close_nodes_lns_num_nodes = 35;
2116 case 35:
2117 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
2118 heuristic_close_nodes_lns_num_nodes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2119 CHK_(ptr);
2120 } else
2121 goto handle_unusual;
2122 continue;
2123 // string log_tag = 36;
2124 case 36:
2125 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
2126 auto str = _internal_mutable_log_tag();
2127 ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
2128 CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "operations_research.RoutingSearchParameters.log_tag"));
2129 CHK_(ptr);
2130 } else
2131 goto handle_unusual;
2132 continue;
2133 // .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
2134 case 37:
2135 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
2136 ptr = ctx->ParseMessage(_internal_mutable_improvement_limit_parameters(), ptr);
2137 CHK_(ptr);
2138 } else
2139 goto handle_unusual;
2140 continue;
2141 // bool cheapest_insertion_add_unperformed_entries = 40;
2142 case 40:
2143 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
2144 cheapest_insertion_add_unperformed_entries_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2145 CHK_(ptr);
2146 } else
2147 goto handle_unusual;
2148 continue;
2149 // bool use_multi_armed_bandit_concatenate_operators = 41;
2150 case 41:
2151 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
2152 use_multi_armed_bandit_concatenate_operators_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2153 CHK_(ptr);
2154 } else
2155 goto handle_unusual;
2156 continue;
2157 // double multi_armed_bandit_compound_operator_memory_coefficient = 42;
2158 case 42:
2159 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 81)) {
2160 multi_armed_bandit_compound_operator_memory_coefficient_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2161 ptr += sizeof(double);
2162 } else
2163 goto handle_unusual;
2164 continue;
2165 // double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
2166 case 43:
2167 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 89)) {
2168 multi_armed_bandit_compound_operator_exploration_coefficient_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
2169 ptr += sizeof(double);
2170 } else
2171 goto handle_unusual;
2172 continue;
2173 // int32 cheapest_insertion_first_solution_min_neighbors = 44;
2174 case 44:
2175 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
2176 cheapest_insertion_first_solution_min_neighbors_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2177 CHK_(ptr);
2178 } else
2179 goto handle_unusual;
2180 continue;
2181 // int32 cheapest_insertion_ls_operator_min_neighbors = 45;
2182 case 45:
2183 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
2184 cheapest_insertion_ls_operator_min_neighbors_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2185 CHK_(ptr);
2186 } else
2187 goto handle_unusual;
2188 continue;
2189 // bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
2190 case 46:
2191 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
2192 cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2193 CHK_(ptr);
2194 } else
2195 goto handle_unusual;
2196 continue;
2197 // .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
2198 case 47:
2199 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 120)) {
2200 ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
2201 CHK_(ptr);
2202 _internal_set_use_generalized_cp_sat(static_cast<::operations_research::OptionalBoolean>(val));
2203 } else
2204 goto handle_unusual;
2205 continue;
2206 // .operations_research.sat.SatParameters sat_parameters = 48;
2207 case 48:
2208 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
2209 ptr = ctx->ParseMessage(_internal_mutable_sat_parameters(), ptr);
2210 CHK_(ptr);
2211 } else
2212 goto handle_unusual;
2213 continue;
2214 default:
2215 goto handle_unusual;
2216 } // switch
2217 handle_unusual:
2218 if ((tag == 0) || ((tag & 7) == 4)) {
2219 CHK_(ptr);
2220 ctx->SetLastTag(tag);
2221 goto message_done;
2222 }
2223 ptr = UnknownFieldParse(
2224 tag,
2225 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
2226 ptr, ctx);
2227 CHK_(ptr != nullptr);
2228 } // while
2229message_done:
2230 return ptr;
2231failure:
2232 ptr = nullptr;
2233 goto message_done;
2234#undef CHK_
2235}
2236
2237::PROTOBUF_NAMESPACE_ID::uint8* RoutingSearchParameters::_InternalSerialize(
2238 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
2239 // @@protoc_insertion_point(serialize_to_array_start:operations_research.RoutingSearchParameters)
2240 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2241 (void) cached_has_bits;
2242
2243 // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
2244 if (this->_internal_first_solution_strategy() != 0) {
2245 target = stream->EnsureSpace(target);
2246 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2247 1, this->_internal_first_solution_strategy(), target);
2248 }
2249
2250 // bool use_unfiltered_first_solution_strategy = 2;
2251 if (this->_internal_use_unfiltered_first_solution_strategy() != 0) {
2252 target = stream->EnsureSpace(target);
2253 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_use_unfiltered_first_solution_strategy(), target);
2254 }
2255
2256 // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
2257 if (this->_internal_has_local_search_operators()) {
2258 target = stream->EnsureSpace(target);
2259 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2260 InternalWriteMessage(
2261 3, _Internal::local_search_operators(this), target, stream);
2262 }
2263
2264 // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
2265 if (this->_internal_local_search_metaheuristic() != 0) {
2266 target = stream->EnsureSpace(target);
2267 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2268 4, this->_internal_local_search_metaheuristic(), target);
2269 }
2270
2271 // double guided_local_search_lambda_coefficient = 5;
2272 if (!(this->_internal_guided_local_search_lambda_coefficient() <= 0 && this->_internal_guided_local_search_lambda_coefficient() >= 0)) {
2273 target = stream->EnsureSpace(target);
2274 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(5, this->_internal_guided_local_search_lambda_coefficient(), target);
2275 }
2276
2277 // bool use_depth_first_search = 6;
2278 if (this->_internal_use_depth_first_search() != 0) {
2279 target = stream->EnsureSpace(target);
2280 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_use_depth_first_search(), target);
2281 }
2282
2283 // double optimization_step = 7;
2284 if (!(this->_internal_optimization_step() <= 0 && this->_internal_optimization_step() >= 0)) {
2285 target = stream->EnsureSpace(target);
2286 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(7, this->_internal_optimization_step(), target);
2287 }
2288
2289 // int64 solution_limit = 8;
2290 if (this->_internal_solution_limit() != 0) {
2291 target = stream->EnsureSpace(target);
2292 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(8, this->_internal_solution_limit(), target);
2293 }
2294
2295 // .google.protobuf.Duration time_limit = 9;
2296 if (this->_internal_has_time_limit()) {
2297 target = stream->EnsureSpace(target);
2298 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2299 InternalWriteMessage(
2300 9, _Internal::time_limit(this), target, stream);
2301 }
2302
2303 // .google.protobuf.Duration lns_time_limit = 10;
2304 if (this->_internal_has_lns_time_limit()) {
2305 target = stream->EnsureSpace(target);
2306 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2307 InternalWriteMessage(
2308 10, _Internal::lns_time_limit(this), target, stream);
2309 }
2310
2311 // bool use_full_propagation = 11;
2312 if (this->_internal_use_full_propagation() != 0) {
2313 target = stream->EnsureSpace(target);
2314 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(11, this->_internal_use_full_propagation(), target);
2315 }
2316
2317 // bool log_search = 13;
2318 if (this->_internal_log_search() != 0) {
2319 target = stream->EnsureSpace(target);
2320 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(13, this->_internal_log_search(), target);
2321 }
2322
2323 // double savings_neighbors_ratio = 14;
2324 if (!(this->_internal_savings_neighbors_ratio() <= 0 && this->_internal_savings_neighbors_ratio() >= 0)) {
2325 target = stream->EnsureSpace(target);
2326 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(14, this->_internal_savings_neighbors_ratio(), target);
2327 }
2328
2329 // bool savings_add_reverse_arcs = 15;
2330 if (this->_internal_savings_add_reverse_arcs() != 0) {
2331 target = stream->EnsureSpace(target);
2332 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(15, this->_internal_savings_add_reverse_arcs(), target);
2333 }
2334
2335 // double cheapest_insertion_farthest_seeds_ratio = 16;
2336 if (!(this->_internal_cheapest_insertion_farthest_seeds_ratio() <= 0 && this->_internal_cheapest_insertion_farthest_seeds_ratio() >= 0)) {
2337 target = stream->EnsureSpace(target);
2338 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(16, this->_internal_cheapest_insertion_farthest_seeds_ratio(), target);
2339 }
2340
2341 // int32 number_of_solutions_to_collect = 17;
2342 if (this->_internal_number_of_solutions_to_collect() != 0) {
2343 target = stream->EnsureSpace(target);
2344 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(17, this->_internal_number_of_solutions_to_collect(), target);
2345 }
2346
2347 // double savings_arc_coefficient = 18;
2348 if (!(this->_internal_savings_arc_coefficient() <= 0 && this->_internal_savings_arc_coefficient() >= 0)) {
2349 target = stream->EnsureSpace(target);
2350 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(18, this->_internal_savings_arc_coefficient(), target);
2351 }
2352
2353 // bool savings_parallel_routes = 19;
2354 if (this->_internal_savings_parallel_routes() != 0) {
2355 target = stream->EnsureSpace(target);
2356 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(19, this->_internal_savings_parallel_routes(), target);
2357 }
2358
2359 // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
2360 if (this->_internal_relocate_expensive_chain_num_arcs_to_consider() != 0) {
2361 target = stream->EnsureSpace(target);
2362 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(20, this->_internal_relocate_expensive_chain_num_arcs_to_consider(), target);
2363 }
2364
2365 // double cheapest_insertion_first_solution_neighbors_ratio = 21;
2366 if (!(this->_internal_cheapest_insertion_first_solution_neighbors_ratio() <= 0 && this->_internal_cheapest_insertion_first_solution_neighbors_ratio() >= 0)) {
2367 target = stream->EnsureSpace(target);
2368 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(21, this->_internal_cheapest_insertion_first_solution_neighbors_ratio(), target);
2369 }
2370
2371 // double log_cost_scaling_factor = 22;
2372 if (!(this->_internal_log_cost_scaling_factor() <= 0 && this->_internal_log_cost_scaling_factor() >= 0)) {
2373 target = stream->EnsureSpace(target);
2374 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_log_cost_scaling_factor(), target);
2375 }
2376
2377 // double savings_max_memory_usage_bytes = 23;
2378 if (!(this->_internal_savings_max_memory_usage_bytes() <= 0 && this->_internal_savings_max_memory_usage_bytes() >= 0)) {
2379 target = stream->EnsureSpace(target);
2380 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(23, this->_internal_savings_max_memory_usage_bytes(), target);
2381 }
2382
2383 // .operations_research.OptionalBoolean use_cp_sat = 27;
2384 if (this->_internal_use_cp_sat() != 0) {
2385 target = stream->EnsureSpace(target);
2386 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2387 27, this->_internal_use_cp_sat(), target);
2388 }
2389
2390 // .operations_research.OptionalBoolean use_cp = 28;
2391 if (this->_internal_use_cp() != 0) {
2392 target = stream->EnsureSpace(target);
2393 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2394 28, this->_internal_use_cp(), target);
2395 }
2396
2397 // double log_cost_offset = 29;
2398 if (!(this->_internal_log_cost_offset() <= 0 && this->_internal_log_cost_offset() >= 0)) {
2399 target = stream->EnsureSpace(target);
2400 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(29, this->_internal_log_cost_offset(), target);
2401 }
2402
2403 // bool christofides_use_minimum_matching = 30;
2404 if (this->_internal_christofides_use_minimum_matching() != 0) {
2405 target = stream->EnsureSpace(target);
2406 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(30, this->_internal_christofides_use_minimum_matching(), target);
2407 }
2408
2409 // double cheapest_insertion_ls_operator_neighbors_ratio = 31;
2410 if (!(this->_internal_cheapest_insertion_ls_operator_neighbors_ratio() <= 0 && this->_internal_cheapest_insertion_ls_operator_neighbors_ratio() >= 0)) {
2411 target = stream->EnsureSpace(target);
2412 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(31, this->_internal_cheapest_insertion_ls_operator_neighbors_ratio(), target);
2413 }
2414
2415 // int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
2416 if (this->_internal_heuristic_expensive_chain_lns_num_arcs_to_consider() != 0) {
2417 target = stream->EnsureSpace(target);
2418 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(32, this->_internal_heuristic_expensive_chain_lns_num_arcs_to_consider(), target);
2419 }
2420
2421 // .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
2422 if (this->_internal_continuous_scheduling_solver() != 0) {
2423 target = stream->EnsureSpace(target);
2424 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2425 33, this->_internal_continuous_scheduling_solver(), target);
2426 }
2427
2428 // .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
2429 if (this->_internal_mixed_integer_scheduling_solver() != 0) {
2430 target = stream->EnsureSpace(target);
2431 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2432 34, this->_internal_mixed_integer_scheduling_solver(), target);
2433 }
2434
2435 // int32 heuristic_close_nodes_lns_num_nodes = 35;
2436 if (this->_internal_heuristic_close_nodes_lns_num_nodes() != 0) {
2437 target = stream->EnsureSpace(target);
2438 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(35, this->_internal_heuristic_close_nodes_lns_num_nodes(), target);
2439 }
2440
2441 // string log_tag = 36;
2442 if (!this->_internal_log_tag().empty()) {
2443 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
2444 this->_internal_log_tag().data(), static_cast<int>(this->_internal_log_tag().length()),
2445 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
2446 "operations_research.RoutingSearchParameters.log_tag");
2447 target = stream->WriteStringMaybeAliased(
2448 36, this->_internal_log_tag(), target);
2449 }
2450
2451 // .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
2452 if (this->_internal_has_improvement_limit_parameters()) {
2453 target = stream->EnsureSpace(target);
2454 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2455 InternalWriteMessage(
2456 37, _Internal::improvement_limit_parameters(this), target, stream);
2457 }
2458
2459 // bool cheapest_insertion_add_unperformed_entries = 40;
2460 if (this->_internal_cheapest_insertion_add_unperformed_entries() != 0) {
2461 target = stream->EnsureSpace(target);
2462 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(40, this->_internal_cheapest_insertion_add_unperformed_entries(), target);
2463 }
2464
2465 // bool use_multi_armed_bandit_concatenate_operators = 41;
2466 if (this->_internal_use_multi_armed_bandit_concatenate_operators() != 0) {
2467 target = stream->EnsureSpace(target);
2468 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(41, this->_internal_use_multi_armed_bandit_concatenate_operators(), target);
2469 }
2470
2471 // double multi_armed_bandit_compound_operator_memory_coefficient = 42;
2472 if (!(this->_internal_multi_armed_bandit_compound_operator_memory_coefficient() <= 0 && this->_internal_multi_armed_bandit_compound_operator_memory_coefficient() >= 0)) {
2473 target = stream->EnsureSpace(target);
2474 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(42, this->_internal_multi_armed_bandit_compound_operator_memory_coefficient(), target);
2475 }
2476
2477 // double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
2478 if (!(this->_internal_multi_armed_bandit_compound_operator_exploration_coefficient() <= 0 && this->_internal_multi_armed_bandit_compound_operator_exploration_coefficient() >= 0)) {
2479 target = stream->EnsureSpace(target);
2480 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(43, this->_internal_multi_armed_bandit_compound_operator_exploration_coefficient(), target);
2481 }
2482
2483 // int32 cheapest_insertion_first_solution_min_neighbors = 44;
2484 if (this->_internal_cheapest_insertion_first_solution_min_neighbors() != 0) {
2485 target = stream->EnsureSpace(target);
2486 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(44, this->_internal_cheapest_insertion_first_solution_min_neighbors(), target);
2487 }
2488
2489 // int32 cheapest_insertion_ls_operator_min_neighbors = 45;
2490 if (this->_internal_cheapest_insertion_ls_operator_min_neighbors() != 0) {
2491 target = stream->EnsureSpace(target);
2492 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(45, this->_internal_cheapest_insertion_ls_operator_min_neighbors(), target);
2493 }
2494
2495 // bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
2496 if (this->_internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() != 0) {
2497 target = stream->EnsureSpace(target);
2498 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(46, this->_internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(), target);
2499 }
2500
2501 // .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
2502 if (this->_internal_use_generalized_cp_sat() != 0) {
2503 target = stream->EnsureSpace(target);
2504 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
2505 47, this->_internal_use_generalized_cp_sat(), target);
2506 }
2507
2508 // .operations_research.sat.SatParameters sat_parameters = 48;
2509 if (this->_internal_has_sat_parameters()) {
2510 target = stream->EnsureSpace(target);
2511 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
2512 InternalWriteMessage(
2513 48, _Internal::sat_parameters(this), target, stream);
2514 }
2515
2516 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
2517 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
2518 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
2519 }
2520 // @@protoc_insertion_point(serialize_to_array_end:operations_research.RoutingSearchParameters)
2521 return target;
2522}
2523
2525// @@protoc_insertion_point(message_byte_size_start:operations_research.RoutingSearchParameters)
2526 size_t total_size = 0;
2527
2528 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2529 // Prevent compiler warnings about cached_has_bits being unused
2530 (void) cached_has_bits;
2531
2532 // string log_tag = 36;
2533 if (!this->_internal_log_tag().empty()) {
2534 total_size += 2 +
2535 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
2536 this->_internal_log_tag());
2537 }
2538
2539 // .operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators = 3;
2540 if (this->_internal_has_local_search_operators()) {
2541 total_size += 1 +
2542 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2543 *local_search_operators_);
2544 }
2545
2546 // .google.protobuf.Duration time_limit = 9;
2547 if (this->_internal_has_time_limit()) {
2548 total_size += 1 +
2549 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2550 *time_limit_);
2551 }
2552
2553 // .google.protobuf.Duration lns_time_limit = 10;
2554 if (this->_internal_has_lns_time_limit()) {
2555 total_size += 1 +
2556 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2557 *lns_time_limit_);
2558 }
2559
2560 // .operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters improvement_limit_parameters = 37;
2561 if (this->_internal_has_improvement_limit_parameters()) {
2562 total_size += 2 +
2563 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2564 *improvement_limit_parameters_);
2565 }
2566
2567 // .operations_research.sat.SatParameters sat_parameters = 48;
2568 if (this->_internal_has_sat_parameters()) {
2569 total_size += 2 +
2570 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
2571 *sat_parameters_);
2572 }
2573
2574 // .operations_research.FirstSolutionStrategy.Value first_solution_strategy = 1;
2575 if (this->_internal_first_solution_strategy() != 0) {
2576 total_size += 1 +
2577 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_first_solution_strategy());
2578 }
2579
2580 // .operations_research.LocalSearchMetaheuristic.Value local_search_metaheuristic = 4;
2581 if (this->_internal_local_search_metaheuristic() != 0) {
2582 total_size += 1 +
2583 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_local_search_metaheuristic());
2584 }
2585
2586 // double guided_local_search_lambda_coefficient = 5;
2587 if (!(this->_internal_guided_local_search_lambda_coefficient() <= 0 && this->_internal_guided_local_search_lambda_coefficient() >= 0)) {
2588 total_size += 1 + 8;
2589 }
2590
2591 // double optimization_step = 7;
2592 if (!(this->_internal_optimization_step() <= 0 && this->_internal_optimization_step() >= 0)) {
2593 total_size += 1 + 8;
2594 }
2595
2596 // int64 solution_limit = 8;
2597 if (this->_internal_solution_limit() != 0) {
2598 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64SizePlusOne(this->_internal_solution_limit());
2599 }
2600
2601 // bool use_full_propagation = 11;
2602 if (this->_internal_use_full_propagation() != 0) {
2603 total_size += 1 + 1;
2604 }
2605
2606 // bool log_search = 13;
2607 if (this->_internal_log_search() != 0) {
2608 total_size += 1 + 1;
2609 }
2610
2611 // int32 number_of_solutions_to_collect = 17;
2612 if (this->_internal_number_of_solutions_to_collect() != 0) {
2613 total_size += 2 +
2614 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2615 this->_internal_number_of_solutions_to_collect());
2616 }
2617
2618 // double savings_neighbors_ratio = 14;
2619 if (!(this->_internal_savings_neighbors_ratio() <= 0 && this->_internal_savings_neighbors_ratio() >= 0)) {
2620 total_size += 1 + 8;
2621 }
2622
2623 // double cheapest_insertion_farthest_seeds_ratio = 16;
2624 if (!(this->_internal_cheapest_insertion_farthest_seeds_ratio() <= 0 && this->_internal_cheapest_insertion_farthest_seeds_ratio() >= 0)) {
2625 total_size += 2 + 8;
2626 }
2627
2628 // double savings_arc_coefficient = 18;
2629 if (!(this->_internal_savings_arc_coefficient() <= 0 && this->_internal_savings_arc_coefficient() >= 0)) {
2630 total_size += 2 + 8;
2631 }
2632
2633 // int32 relocate_expensive_chain_num_arcs_to_consider = 20;
2634 if (this->_internal_relocate_expensive_chain_num_arcs_to_consider() != 0) {
2635 total_size += 2 +
2636 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2637 this->_internal_relocate_expensive_chain_num_arcs_to_consider());
2638 }
2639
2640 // bool use_unfiltered_first_solution_strategy = 2;
2641 if (this->_internal_use_unfiltered_first_solution_strategy() != 0) {
2642 total_size += 1 + 1;
2643 }
2644
2645 // bool savings_add_reverse_arcs = 15;
2646 if (this->_internal_savings_add_reverse_arcs() != 0) {
2647 total_size += 1 + 1;
2648 }
2649
2650 // bool savings_parallel_routes = 19;
2651 if (this->_internal_savings_parallel_routes() != 0) {
2652 total_size += 2 + 1;
2653 }
2654
2655 // bool cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization = 46;
2656 if (this->_internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() != 0) {
2657 total_size += 2 + 1;
2658 }
2659
2660 // double cheapest_insertion_first_solution_neighbors_ratio = 21;
2661 if (!(this->_internal_cheapest_insertion_first_solution_neighbors_ratio() <= 0 && this->_internal_cheapest_insertion_first_solution_neighbors_ratio() >= 0)) {
2662 total_size += 2 + 8;
2663 }
2664
2665 // double log_cost_scaling_factor = 22;
2666 if (!(this->_internal_log_cost_scaling_factor() <= 0 && this->_internal_log_cost_scaling_factor() >= 0)) {
2667 total_size += 2 + 8;
2668 }
2669
2670 // double savings_max_memory_usage_bytes = 23;
2671 if (!(this->_internal_savings_max_memory_usage_bytes() <= 0 && this->_internal_savings_max_memory_usage_bytes() >= 0)) {
2672 total_size += 2 + 8;
2673 }
2674
2675 // .operations_research.OptionalBoolean use_cp_sat = 27;
2676 if (this->_internal_use_cp_sat() != 0) {
2677 total_size += 2 +
2678 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_cp_sat());
2679 }
2680
2681 // .operations_research.OptionalBoolean use_cp = 28;
2682 if (this->_internal_use_cp() != 0) {
2683 total_size += 2 +
2684 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_cp());
2685 }
2686
2687 // double log_cost_offset = 29;
2688 if (!(this->_internal_log_cost_offset() <= 0 && this->_internal_log_cost_offset() >= 0)) {
2689 total_size += 2 + 8;
2690 }
2691
2692 // bool cheapest_insertion_add_unperformed_entries = 40;
2693 if (this->_internal_cheapest_insertion_add_unperformed_entries() != 0) {
2694 total_size += 2 + 1;
2695 }
2696
2697 // bool christofides_use_minimum_matching = 30;
2698 if (this->_internal_christofides_use_minimum_matching() != 0) {
2699 total_size += 2 + 1;
2700 }
2701
2702 // bool use_multi_armed_bandit_concatenate_operators = 41;
2703 if (this->_internal_use_multi_armed_bandit_concatenate_operators() != 0) {
2704 total_size += 2 + 1;
2705 }
2706
2707 // bool use_depth_first_search = 6;
2708 if (this->_internal_use_depth_first_search() != 0) {
2709 total_size += 1 + 1;
2710 }
2711
2712 // int32 heuristic_expensive_chain_lns_num_arcs_to_consider = 32;
2713 if (this->_internal_heuristic_expensive_chain_lns_num_arcs_to_consider() != 0) {
2714 total_size += 2 +
2715 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2716 this->_internal_heuristic_expensive_chain_lns_num_arcs_to_consider());
2717 }
2718
2719 // double cheapest_insertion_ls_operator_neighbors_ratio = 31;
2720 if (!(this->_internal_cheapest_insertion_ls_operator_neighbors_ratio() <= 0 && this->_internal_cheapest_insertion_ls_operator_neighbors_ratio() >= 0)) {
2721 total_size += 2 + 8;
2722 }
2723
2724 // .operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
2725 if (this->_internal_continuous_scheduling_solver() != 0) {
2726 total_size += 2 +
2727 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_continuous_scheduling_solver());
2728 }
2729
2730 // .operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
2731 if (this->_internal_mixed_integer_scheduling_solver() != 0) {
2732 total_size += 2 +
2733 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_mixed_integer_scheduling_solver());
2734 }
2735
2736 // int32 heuristic_close_nodes_lns_num_nodes = 35;
2737 if (this->_internal_heuristic_close_nodes_lns_num_nodes() != 0) {
2738 total_size += 2 +
2739 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2740 this->_internal_heuristic_close_nodes_lns_num_nodes());
2741 }
2742
2743 // int32 cheapest_insertion_first_solution_min_neighbors = 44;
2744 if (this->_internal_cheapest_insertion_first_solution_min_neighbors() != 0) {
2745 total_size += 2 +
2746 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2747 this->_internal_cheapest_insertion_first_solution_min_neighbors());
2748 }
2749
2750 // double multi_armed_bandit_compound_operator_memory_coefficient = 42;
2751 if (!(this->_internal_multi_armed_bandit_compound_operator_memory_coefficient() <= 0 && this->_internal_multi_armed_bandit_compound_operator_memory_coefficient() >= 0)) {
2752 total_size += 2 + 8;
2753 }
2754
2755 // double multi_armed_bandit_compound_operator_exploration_coefficient = 43;
2756 if (!(this->_internal_multi_armed_bandit_compound_operator_exploration_coefficient() <= 0 && this->_internal_multi_armed_bandit_compound_operator_exploration_coefficient() >= 0)) {
2757 total_size += 2 + 8;
2758 }
2759
2760 // int32 cheapest_insertion_ls_operator_min_neighbors = 45;
2761 if (this->_internal_cheapest_insertion_ls_operator_min_neighbors() != 0) {
2762 total_size += 2 +
2763 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
2764 this->_internal_cheapest_insertion_ls_operator_min_neighbors());
2765 }
2766
2767 // .operations_research.OptionalBoolean use_generalized_cp_sat = 47;
2768 if (this->_internal_use_generalized_cp_sat() != 0) {
2769 total_size += 2 +
2770 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_use_generalized_cp_sat());
2771 }
2772
2773 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
2774}
2775
2776const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RoutingSearchParameters::_class_data_ = {
2777 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
2778 RoutingSearchParameters::MergeImpl
2779};
2780const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RoutingSearchParameters::GetClassData() const { return &_class_data_; }
2781
2782void RoutingSearchParameters::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
2783 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
2784 static_cast<RoutingSearchParameters *>(to)->MergeFrom(
2785 static_cast<const RoutingSearchParameters &>(from));
2786}
2787
2788
2790// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.RoutingSearchParameters)
2791 GOOGLE_DCHECK_NE(&from, this);
2792 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
2793 (void) cached_has_bits;
2794
2795 if (!from._internal_log_tag().empty()) {
2796 _internal_set_log_tag(from._internal_log_tag());
2797 }
2798 if (from._internal_has_local_search_operators()) {
2799 _internal_mutable_local_search_operators()->::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators::MergeFrom(from._internal_local_search_operators());
2800 }
2801 if (from._internal_has_time_limit()) {
2802 _internal_mutable_time_limit()->::PROTOBUF_NAMESPACE_ID::Duration::MergeFrom(from._internal_time_limit());
2803 }
2804 if (from._internal_has_lns_time_limit()) {
2805 _internal_mutable_lns_time_limit()->::PROTOBUF_NAMESPACE_ID::Duration::MergeFrom(from._internal_lns_time_limit());
2806 }
2807 if (from._internal_has_improvement_limit_parameters()) {
2808 _internal_mutable_improvement_limit_parameters()->::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters::MergeFrom(from._internal_improvement_limit_parameters());
2809 }
2810 if (from._internal_has_sat_parameters()) {
2811 _internal_mutable_sat_parameters()->::operations_research::sat::SatParameters::MergeFrom(from._internal_sat_parameters());
2812 }
2813 if (from._internal_first_solution_strategy() != 0) {
2814 _internal_set_first_solution_strategy(from._internal_first_solution_strategy());
2815 }
2816 if (from._internal_local_search_metaheuristic() != 0) {
2817 _internal_set_local_search_metaheuristic(from._internal_local_search_metaheuristic());
2818 }
2819 if (!(from._internal_guided_local_search_lambda_coefficient() <= 0 && from._internal_guided_local_search_lambda_coefficient() >= 0)) {
2820 _internal_set_guided_local_search_lambda_coefficient(from._internal_guided_local_search_lambda_coefficient());
2821 }
2822 if (!(from._internal_optimization_step() <= 0 && from._internal_optimization_step() >= 0)) {
2823 _internal_set_optimization_step(from._internal_optimization_step());
2824 }
2825 if (from._internal_solution_limit() != 0) {
2826 _internal_set_solution_limit(from._internal_solution_limit());
2827 }
2828 if (from._internal_use_full_propagation() != 0) {
2829 _internal_set_use_full_propagation(from._internal_use_full_propagation());
2830 }
2831 if (from._internal_log_search() != 0) {
2832 _internal_set_log_search(from._internal_log_search());
2833 }
2834 if (from._internal_number_of_solutions_to_collect() != 0) {
2835 _internal_set_number_of_solutions_to_collect(from._internal_number_of_solutions_to_collect());
2836 }
2837 if (!(from._internal_savings_neighbors_ratio() <= 0 && from._internal_savings_neighbors_ratio() >= 0)) {
2838 _internal_set_savings_neighbors_ratio(from._internal_savings_neighbors_ratio());
2839 }
2840 if (!(from._internal_cheapest_insertion_farthest_seeds_ratio() <= 0 && from._internal_cheapest_insertion_farthest_seeds_ratio() >= 0)) {
2841 _internal_set_cheapest_insertion_farthest_seeds_ratio(from._internal_cheapest_insertion_farthest_seeds_ratio());
2842 }
2843 if (!(from._internal_savings_arc_coefficient() <= 0 && from._internal_savings_arc_coefficient() >= 0)) {
2844 _internal_set_savings_arc_coefficient(from._internal_savings_arc_coefficient());
2845 }
2846 if (from._internal_relocate_expensive_chain_num_arcs_to_consider() != 0) {
2847 _internal_set_relocate_expensive_chain_num_arcs_to_consider(from._internal_relocate_expensive_chain_num_arcs_to_consider());
2848 }
2849 if (from._internal_use_unfiltered_first_solution_strategy() != 0) {
2850 _internal_set_use_unfiltered_first_solution_strategy(from._internal_use_unfiltered_first_solution_strategy());
2851 }
2852 if (from._internal_savings_add_reverse_arcs() != 0) {
2853 _internal_set_savings_add_reverse_arcs(from._internal_savings_add_reverse_arcs());
2854 }
2855 if (from._internal_savings_parallel_routes() != 0) {
2856 _internal_set_savings_parallel_routes(from._internal_savings_parallel_routes());
2857 }
2858 if (from._internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization() != 0) {
2859 _internal_set_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization(from._internal_cheapest_insertion_first_solution_use_neighbors_ratio_for_initialization());
2860 }
2861 if (!(from._internal_cheapest_insertion_first_solution_neighbors_ratio() <= 0 && from._internal_cheapest_insertion_first_solution_neighbors_ratio() >= 0)) {
2862 _internal_set_cheapest_insertion_first_solution_neighbors_ratio(from._internal_cheapest_insertion_first_solution_neighbors_ratio());
2863 }
2864 if (!(from._internal_log_cost_scaling_factor() <= 0 && from._internal_log_cost_scaling_factor() >= 0)) {
2865 _internal_set_log_cost_scaling_factor(from._internal_log_cost_scaling_factor());
2866 }
2867 if (!(from._internal_savings_max_memory_usage_bytes() <= 0 && from._internal_savings_max_memory_usage_bytes() >= 0)) {
2868 _internal_set_savings_max_memory_usage_bytes(from._internal_savings_max_memory_usage_bytes());
2869 }
2870 if (from._internal_use_cp_sat() != 0) {
2871 _internal_set_use_cp_sat(from._internal_use_cp_sat());
2872 }
2873 if (from._internal_use_cp() != 0) {
2874 _internal_set_use_cp(from._internal_use_cp());
2875 }
2876 if (!(from._internal_log_cost_offset() <= 0 && from._internal_log_cost_offset() >= 0)) {
2877 _internal_set_log_cost_offset(from._internal_log_cost_offset());
2878 }
2879 if (from._internal_cheapest_insertion_add_unperformed_entries() != 0) {
2880 _internal_set_cheapest_insertion_add_unperformed_entries(from._internal_cheapest_insertion_add_unperformed_entries());
2881 }
2882 if (from._internal_christofides_use_minimum_matching() != 0) {
2883 _internal_set_christofides_use_minimum_matching(from._internal_christofides_use_minimum_matching());
2884 }
2885 if (from._internal_use_multi_armed_bandit_concatenate_operators() != 0) {
2886 _internal_set_use_multi_armed_bandit_concatenate_operators(from._internal_use_multi_armed_bandit_concatenate_operators());
2887 }
2888 if (from._internal_use_depth_first_search() != 0) {
2889 _internal_set_use_depth_first_search(from._internal_use_depth_first_search());
2890 }
2891 if (from._internal_heuristic_expensive_chain_lns_num_arcs_to_consider() != 0) {
2892 _internal_set_heuristic_expensive_chain_lns_num_arcs_to_consider(from._internal_heuristic_expensive_chain_lns_num_arcs_to_consider());
2893 }
2894 if (!(from._internal_cheapest_insertion_ls_operator_neighbors_ratio() <= 0 && from._internal_cheapest_insertion_ls_operator_neighbors_ratio() >= 0)) {
2895 _internal_set_cheapest_insertion_ls_operator_neighbors_ratio(from._internal_cheapest_insertion_ls_operator_neighbors_ratio());
2896 }
2897 if (from._internal_continuous_scheduling_solver() != 0) {
2898 _internal_set_continuous_scheduling_solver(from._internal_continuous_scheduling_solver());
2899 }
2900 if (from._internal_mixed_integer_scheduling_solver() != 0) {
2901 _internal_set_mixed_integer_scheduling_solver(from._internal_mixed_integer_scheduling_solver());
2902 }
2903 if (from._internal_heuristic_close_nodes_lns_num_nodes() != 0) {
2904 _internal_set_heuristic_close_nodes_lns_num_nodes(from._internal_heuristic_close_nodes_lns_num_nodes());
2905 }
2906 if (from._internal_cheapest_insertion_first_solution_min_neighbors() != 0) {
2907 _internal_set_cheapest_insertion_first_solution_min_neighbors(from._internal_cheapest_insertion_first_solution_min_neighbors());
2908 }
2909 if (!(from._internal_multi_armed_bandit_compound_operator_memory_coefficient() <= 0 && from._internal_multi_armed_bandit_compound_operator_memory_coefficient() >= 0)) {
2910 _internal_set_multi_armed_bandit_compound_operator_memory_coefficient(from._internal_multi_armed_bandit_compound_operator_memory_coefficient());
2911 }
2912 if (!(from._internal_multi_armed_bandit_compound_operator_exploration_coefficient() <= 0 && from._internal_multi_armed_bandit_compound_operator_exploration_coefficient() >= 0)) {
2913 _internal_set_multi_armed_bandit_compound_operator_exploration_coefficient(from._internal_multi_armed_bandit_compound_operator_exploration_coefficient());
2914 }
2915 if (from._internal_cheapest_insertion_ls_operator_min_neighbors() != 0) {
2916 _internal_set_cheapest_insertion_ls_operator_min_neighbors(from._internal_cheapest_insertion_ls_operator_min_neighbors());
2917 }
2918 if (from._internal_use_generalized_cp_sat() != 0) {
2919 _internal_set_use_generalized_cp_sat(from._internal_use_generalized_cp_sat());
2920 }
2921 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2922}
2923
2925// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.RoutingSearchParameters)
2926 if (&from == this) return;
2927 Clear();
2928 MergeFrom(from);
2929}
2930
2932 return true;
2933}
2934
2935void RoutingSearchParameters::InternalSwap(RoutingSearchParameters* other) {
2936 using std::swap;
2937 auto* lhs_arena = GetArenaForAllocation();
2938 auto* rhs_arena = other->GetArenaForAllocation();
2939 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
2940 ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
2941 &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
2942 &log_tag_, lhs_arena,
2943 &other->log_tag_, rhs_arena
2944 );
2945 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
2946 PROTOBUF_FIELD_OFFSET(RoutingSearchParameters, use_generalized_cp_sat_)
2947 + sizeof(RoutingSearchParameters::use_generalized_cp_sat_)
2948 - PROTOBUF_FIELD_OFFSET(RoutingSearchParameters, local_search_operators_)>(
2949 reinterpret_cast<char*>(&local_search_operators_),
2950 reinterpret_cast<char*>(&other->local_search_operators_));
2951}
2952
2953::PROTOBUF_NAMESPACE_ID::Metadata RoutingSearchParameters::GetMetadata() const {
2954 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
2957}
2958
2959// ===================================================================
2960
2962 public:
2963 static const ::operations_research::ConstraintSolverParameters& solver_parameters(const RoutingModelParameters* msg);
2964};
2965
2966const ::operations_research::ConstraintSolverParameters&
2968 return *msg->solver_parameters_;
2969}
2971 if (GetArenaForAllocation() == nullptr && solver_parameters_ != nullptr) {
2972 delete solver_parameters_;
2973 }
2974 solver_parameters_ = nullptr;
2975}
2976RoutingModelParameters::RoutingModelParameters(::PROTOBUF_NAMESPACE_ID::Arena* arena,
2977 bool is_message_owned)
2978 : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
2979 SharedCtor();
2980 if (!is_message_owned) {
2981 RegisterArenaDtor(arena);
2982 }
2983 // @@protoc_insertion_point(arena_constructor:operations_research.RoutingModelParameters)
2984}
2986 : ::PROTOBUF_NAMESPACE_ID::Message() {
2987 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
2988 if (from._internal_has_solver_parameters()) {
2989 solver_parameters_ = new ::operations_research::ConstraintSolverParameters(*from.solver_parameters_);
2990 } else {
2991 solver_parameters_ = nullptr;
2992 }
2993 ::memcpy(&reduce_vehicle_cost_model_, &from.reduce_vehicle_cost_model_,
2994 static_cast<size_t>(reinterpret_cast<char*>(&max_callback_cache_size_) -
2995 reinterpret_cast<char*>(&reduce_vehicle_cost_model_)) + sizeof(max_callback_cache_size_));
2996 // @@protoc_insertion_point(copy_constructor:operations_research.RoutingModelParameters)
2997}
2998
2999void RoutingModelParameters::SharedCtor() {
3000::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
3001 reinterpret_cast<char*>(&solver_parameters_) - reinterpret_cast<char*>(this)),
3002 0, static_cast<size_t>(reinterpret_cast<char*>(&max_callback_cache_size_) -
3003 reinterpret_cast<char*>(&solver_parameters_)) + sizeof(max_callback_cache_size_));
3004}
3005
3007 // @@protoc_insertion_point(destructor:operations_research.RoutingModelParameters)
3008 if (GetArenaForAllocation() != nullptr) return;
3009 SharedDtor();
3010 _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3011}
3012
3013inline void RoutingModelParameters::SharedDtor() {
3014 GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
3015 if (this != internal_default_instance()) delete solver_parameters_;
3016}
3017
3018void RoutingModelParameters::ArenaDtor(void* object) {
3019 RoutingModelParameters* _this = reinterpret_cast< RoutingModelParameters* >(object);
3020 (void)_this;
3021}
3022void RoutingModelParameters::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
3023}
3024void RoutingModelParameters::SetCachedSize(int size) const {
3025 _cached_size_.Set(size);
3026}
3027
3029// @@protoc_insertion_point(message_clear_start:operations_research.RoutingModelParameters)
3030 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3031 // Prevent compiler warnings about cached_has_bits being unused
3032 (void) cached_has_bits;
3033
3034 if (GetArenaForAllocation() == nullptr && solver_parameters_ != nullptr) {
3035 delete solver_parameters_;
3036 }
3037 solver_parameters_ = nullptr;
3038 ::memset(&reduce_vehicle_cost_model_, 0, static_cast<size_t>(
3039 reinterpret_cast<char*>(&max_callback_cache_size_) -
3040 reinterpret_cast<char*>(&reduce_vehicle_cost_model_)) + sizeof(max_callback_cache_size_));
3041 _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
3042}
3043
3044const char* RoutingModelParameters::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
3045#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
3046 while (!ctx->Done(&ptr)) {
3047 ::PROTOBUF_NAMESPACE_ID::uint32 tag;
3048 ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
3049 switch (tag >> 3) {
3050 // .operations_research.ConstraintSolverParameters solver_parameters = 1;
3051 case 1:
3052 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
3053 ptr = ctx->ParseMessage(_internal_mutable_solver_parameters(), ptr);
3054 CHK_(ptr);
3055 } else
3056 goto handle_unusual;
3057 continue;
3058 // bool reduce_vehicle_cost_model = 2;
3059 case 2:
3060 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
3061 reduce_vehicle_cost_model_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3062 CHK_(ptr);
3063 } else
3064 goto handle_unusual;
3065 continue;
3066 // int32 max_callback_cache_size = 3;
3067 case 3:
3068 if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
3069 max_callback_cache_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
3070 CHK_(ptr);
3071 } else
3072 goto handle_unusual;
3073 continue;
3074 default:
3075 goto handle_unusual;
3076 } // switch
3077 handle_unusual:
3078 if ((tag == 0) || ((tag & 7) == 4)) {
3079 CHK_(ptr);
3080 ctx->SetLastTag(tag);
3081 goto message_done;
3082 }
3083 ptr = UnknownFieldParse(
3084 tag,
3085 _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
3086 ptr, ctx);
3087 CHK_(ptr != nullptr);
3088 } // while
3089message_done:
3090 return ptr;
3091failure:
3092 ptr = nullptr;
3093 goto message_done;
3094#undef CHK_
3095}
3096
3097::PROTOBUF_NAMESPACE_ID::uint8* RoutingModelParameters::_InternalSerialize(
3098 ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
3099 // @@protoc_insertion_point(serialize_to_array_start:operations_research.RoutingModelParameters)
3100 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3101 (void) cached_has_bits;
3102
3103 // .operations_research.ConstraintSolverParameters solver_parameters = 1;
3104 if (this->_internal_has_solver_parameters()) {
3105 target = stream->EnsureSpace(target);
3106 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
3107 InternalWriteMessage(
3108 1, _Internal::solver_parameters(this), target, stream);
3109 }
3110
3111 // bool reduce_vehicle_cost_model = 2;
3112 if (this->_internal_reduce_vehicle_cost_model() != 0) {
3113 target = stream->EnsureSpace(target);
3114 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_reduce_vehicle_cost_model(), target);
3115 }
3116
3117 // int32 max_callback_cache_size = 3;
3118 if (this->_internal_max_callback_cache_size() != 0) {
3119 target = stream->EnsureSpace(target);
3120 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_max_callback_cache_size(), target);
3121 }
3122
3123 if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
3124 target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
3125 _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
3126 }
3127 // @@protoc_insertion_point(serialize_to_array_end:operations_research.RoutingModelParameters)
3128 return target;
3129}
3130
3132// @@protoc_insertion_point(message_byte_size_start:operations_research.RoutingModelParameters)
3133 size_t total_size = 0;
3134
3135 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3136 // Prevent compiler warnings about cached_has_bits being unused
3137 (void) cached_has_bits;
3138
3139 // .operations_research.ConstraintSolverParameters solver_parameters = 1;
3140 if (this->_internal_has_solver_parameters()) {
3141 total_size += 1 +
3142 ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
3143 *solver_parameters_);
3144 }
3145
3146 // bool reduce_vehicle_cost_model = 2;
3147 if (this->_internal_reduce_vehicle_cost_model() != 0) {
3148 total_size += 1 + 1;
3149 }
3150
3151 // int32 max_callback_cache_size = 3;
3152 if (this->_internal_max_callback_cache_size() != 0) {
3153 total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32SizePlusOne(this->_internal_max_callback_cache_size());
3154 }
3155
3156 return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
3157}
3158
3159const ::PROTOBUF_NAMESPACE_ID::Message::ClassData RoutingModelParameters::_class_data_ = {
3160 ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
3161 RoutingModelParameters::MergeImpl
3162};
3163const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RoutingModelParameters::GetClassData() const { return &_class_data_; }
3164
3165void RoutingModelParameters::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
3166 const ::PROTOBUF_NAMESPACE_ID::Message& from) {
3167 static_cast<RoutingModelParameters *>(to)->MergeFrom(
3168 static_cast<const RoutingModelParameters &>(from));
3169}
3170
3171
3173// @@protoc_insertion_point(class_specific_merge_from_start:operations_research.RoutingModelParameters)
3174 GOOGLE_DCHECK_NE(&from, this);
3175 ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
3176 (void) cached_has_bits;
3177
3178 if (from._internal_has_solver_parameters()) {
3179 _internal_mutable_solver_parameters()->::operations_research::ConstraintSolverParameters::MergeFrom(from._internal_solver_parameters());
3180 }
3181 if (from._internal_reduce_vehicle_cost_model() != 0) {
3182 _internal_set_reduce_vehicle_cost_model(from._internal_reduce_vehicle_cost_model());
3183 }
3184 if (from._internal_max_callback_cache_size() != 0) {
3185 _internal_set_max_callback_cache_size(from._internal_max_callback_cache_size());
3186 }
3187 _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
3188}
3189
3191// @@protoc_insertion_point(class_specific_copy_from_start:operations_research.RoutingModelParameters)
3192 if (&from == this) return;
3193 Clear();
3194 MergeFrom(from);
3195}
3196
3198 return true;
3199}
3200
3201void RoutingModelParameters::InternalSwap(RoutingModelParameters* other) {
3202 using std::swap;
3203 _internal_metadata_.InternalSwap(&other->_internal_metadata_);
3204 ::PROTOBUF_NAMESPACE_ID::internal::memswap<
3205 PROTOBUF_FIELD_OFFSET(RoutingModelParameters, max_callback_cache_size_)
3206 + sizeof(RoutingModelParameters::max_callback_cache_size_)
3207 - PROTOBUF_FIELD_OFFSET(RoutingModelParameters, solver_parameters_)>(
3208 reinterpret_cast<char*>(&solver_parameters_),
3209 reinterpret_cast<char*>(&other->solver_parameters_));
3210}
3211
3212::PROTOBUF_NAMESPACE_ID::Metadata RoutingModelParameters::GetMetadata() const {
3213 return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
3216}
3217
3218// @@protoc_insertion_point(namespace_scope)
3219} // namespace operations_research
3220PROTOBUF_NAMESPACE_OPEN
3221template<> PROTOBUF_NOINLINE ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators* Arena::CreateMaybeMessage< ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators >(Arena* arena) {
3222 return Arena::CreateMessageInternal< ::operations_research::RoutingSearchParameters_LocalSearchNeighborhoodOperators >(arena);
3223}
3224template<> PROTOBUF_NOINLINE ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters* Arena::CreateMaybeMessage< ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters >(Arena* arena) {
3225 return Arena::CreateMessageInternal< ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters >(arena);
3226}
3227template<> PROTOBUF_NOINLINE ::operations_research::RoutingSearchParameters* Arena::CreateMaybeMessage< ::operations_research::RoutingSearchParameters >(Arena* arena) {
3228 return Arena::CreateMessageInternal< ::operations_research::RoutingSearchParameters >(arena);
3229}
3230template<> PROTOBUF_NOINLINE ::operations_research::RoutingModelParameters* Arena::CreateMaybeMessage< ::operations_research::RoutingModelParameters >(Arena* arena) {
3231 return Arena::CreateMessageInternal< ::operations_research::RoutingModelParameters >(arena);
3232}
3233PROTOBUF_NAMESPACE_CLOSE
3234
3235// @@protoc_insertion_point(global_scope)
3236#include <google/protobuf/port_undef.inc>
static const ::operations_research::ConstraintSolverParameters & solver_parameters(const RoutingModelParameters *msg)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static const RoutingModelParameters * internal_default_instance()
void CopyFrom(const RoutingModelParameters &from)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void MergeFrom(const RoutingModelParameters &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static const ::operations_research::sat::SatParameters & sat_parameters(const RoutingSearchParameters *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)
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
void CopyFrom(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void MergeFrom(const RoutingSearchParameters_ImprovementSearchLimitParameters &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void CopyFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
void MergeFrom(const RoutingSearchParameters_LocalSearchNeighborhoodOperators &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
static constexpr SchedulingSolver SchedulingSolver_MIN
static const RoutingSearchParameters * internal_default_instance()
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
static constexpr SchedulingSolver SchedulingSolver_MAX
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
void MergeFrom(const RoutingSearchParameters &from)
void CopyFrom(const RoutingSearchParameters &from)
::PROTOBUF_NAMESPACE_ID::uint8 * _InternalSerialize(::PROTOBUF_NAMESPACE_ID::uint8 *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
int64_t value
void swap(IdMap< K, V > &a, IdMap< K, V > &b)
Definition: id_map.h:263
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_
bool RoutingSearchParameters_SchedulingSolver_IsValid(int value)
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_
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
PROTOBUF_NOINLINE::operations_research::RoutingSearchParameters * Arena::CreateMaybeMessage< ::operations_research::RoutingSearchParameters >(Arena *arena)
PROTOBUF_NOINLINE::operations_research::RoutingModelParameters * Arena::CreateMaybeMessage< ::operations_research::RoutingModelParameters >(Arena *arena)
#define CHK_(x)
PROTOBUF_ATTRIBUTE_WEAKconst ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable * descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto_getter()
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable *const descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto_deps[5]
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
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_NOINLINE::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters * Arena::CreateMaybeMessage< ::operations_research::RoutingSearchParameters_ImprovementSearchLimitParameters >(Arena *arena)
::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto[4]
::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)
static constexpr::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const ** file_level_service_descriptors_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto
::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_ortools_2fconstraint_5fsolver_2frouting_5fparameters_2eproto_once
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fsat_2fsat_5fparameters_2eproto
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ortools_2fconstraint_5fsolver_2fsolver_5fparameters_2eproto