routing_flags.h
Go to the documentation of this file.
1 // Copyright 2010-2018 Google LLC
2 // Licensed under the Apache License, Version 2.0 (the "License");
3 // you may not use this file except in compliance with the License.
4 // You may obtain a copy of the License at
5 //
6 // http://www.apache.org/licenses/LICENSE-2.0
7 //
8 // Unless required by applicable law or agreed to in writing, software
9 // distributed under the License is distributed on an "AS IS" BASIS,
10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 // See the License for the specific language governing permissions and
12 // limitations under the License.
13 
14 #ifndef OR_TOOLS_CONSTRAINT_SOLVER_ROUTING_FLAGS_H_
15 #define OR_TOOLS_CONSTRAINT_SOLVER_ROUTING_FLAGS_H_
16 
17 #include <vector>
18 
19 #include "ortools/base/commandlineflags.h"
21 
22 // --- Routing search flags ---
23 
24 // Neighborhood activation/deactivation
25 DECLARE_bool(routing_no_lns);
26 DECLARE_bool(routing_no_fullpathlns);
27 DECLARE_bool(routing_no_relocate);
28 DECLARE_bool(routing_no_relocate_neighbors);
29 DECLARE_bool(routing_no_relocate_subtrip);
30 DECLARE_bool(routing_no_exchange);
31 DECLARE_bool(routing_no_exchange_subtrip);
32 DECLARE_bool(routing_no_cross);
33 DECLARE_bool(routing_no_2opt);
34 DECLARE_bool(routing_no_oropt);
35 DECLARE_bool(routing_no_make_active);
36 DECLARE_bool(routing_no_lkh);
37 DECLARE_bool(routing_no_relocate_expensive_chain);
38 DECLARE_bool(routing_no_tsp);
39 DECLARE_bool(routing_no_tsplns);
40 DECLARE_bool(routing_use_chain_make_inactive);
41 DECLARE_bool(routing_use_extended_swap_active);
42 
43 // Meta-heuristics
44 DECLARE_bool(routing_guided_local_search);
45 DECLARE_double(routing_guided_local_search_lambda_coefficient);
46 DECLARE_bool(routing_simulated_annealing);
47 DECLARE_bool(routing_tabu_search);
48 DECLARE_bool(routing_generic_tabu_search);
49 
50 // Search limits
51 DECLARE_int64(routing_solution_limit);
52 DECLARE_int64(routing_time_limit);
53 DECLARE_int64(routing_lns_time_limit);
54 
55 // Search control
56 DECLARE_string(routing_first_solution);
57 DECLARE_bool(routing_use_filtered_first_solutions);
58 DECLARE_double(savings_neighbors_ratio);
59 DECLARE_bool(savings_add_reverse_arcs);
60 DECLARE_double(savings_arc_coefficient);
61 DECLARE_double(cheapest_insertion_farthest_seeds_ratio);
62 DECLARE_double(cheapest_insertion_neighbors_ratio);
63 DECLARE_bool(routing_dfs);
64 DECLARE_double(routing_optimization_step);
65 DECLARE_int32(routing_number_of_solutions_to_collect);
66 DECLARE_int32(routing_relocate_expensive_chain_num_arcs_to_consider);
67 
68 // Propagation control
69 DECLARE_bool(routing_use_light_propagation);
70 
71 // Cache settings.
72 DECLARE_bool(routing_cache_callbacks);
73 DECLARE_int64(routing_max_cache_size);
74 
75 // Misc
76 DECLARE_bool(routing_trace);
77 DECLARE_bool(routing_profile);
78 
79 // --- Routing model flags ---
80 DECLARE_bool(routing_use_homogeneous_costs);
81 DECLARE_bool(routing_gzip_compress_trail);
82 
83 namespace operations_research {
84 
85 // Builds routing search parameters from flags.
86 RoutingModelParameters BuildModelParametersFromFlags();
87 
88 // Builds routing search parameters from flags.
89 // TODO(user): Make this return a StatusOr, verifying that the flags
90 // describe a valid set of routing search parameters.
91 RoutingSearchParameters BuildSearchParametersFromFlags();
92 
93 } // namespace operations_research
94 
95 #endif // OR_TOOLS_CONSTRAINT_SOLVER_ROUTING_FLAGS_H_
DECLARE_int64(routing_solution_limit)
Search limits.
RoutingModelParameters BuildModelParametersFromFlags()
Builds routing search parameters from flags.
DECLARE_bool(routing_no_lns)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in c...
RoutingSearchParameters BuildSearchParametersFromFlags()
Builds routing search parameters from flags.
DECLARE_double(routing_guided_local_search_lambda_coefficient)
DECLARE_string(routing_first_solution)
Search control.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in c...
DECLARE_int32(routing_number_of_solutions_to_collect)