OR-Tools  8.2
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
21#include "ortools/constraint_solver/routing_parameters.pb.h"
22
24ABSL_DECLARE_FLAG(bool, routing_no_lns);
25ABSL_DECLARE_FLAG(bool, routing_no_fullpathlns);
26ABSL_DECLARE_FLAG(bool, routing_no_relocate);
27ABSL_DECLARE_FLAG(bool, routing_no_relocate_neighbors);
28ABSL_DECLARE_FLAG(bool, routing_no_relocate_subtrip);
29ABSL_DECLARE_FLAG(bool, routing_no_exchange);
30ABSL_DECLARE_FLAG(bool, routing_no_exchange_subtrip);
31ABSL_DECLARE_FLAG(bool, routing_no_cross);
32ABSL_DECLARE_FLAG(bool, routing_no_2opt);
33ABSL_DECLARE_FLAG(bool, routing_no_oropt);
34ABSL_DECLARE_FLAG(bool, routing_no_make_active);
35ABSL_DECLARE_FLAG(bool, routing_no_lkh);
36ABSL_DECLARE_FLAG(bool, routing_no_relocate_expensive_chain);
37ABSL_DECLARE_FLAG(bool, routing_no_tsp);
38ABSL_DECLARE_FLAG(bool, routing_no_tsplns);
39ABSL_DECLARE_FLAG(bool, routing_use_chain_make_inactive);
40ABSL_DECLARE_FLAG(bool, routing_use_extended_swap_active);
41
43ABSL_DECLARE_FLAG(bool, routing_guided_local_search);
44ABSL_DECLARE_FLAG(double, routing_guided_local_search_lambda_coefficient);
45ABSL_DECLARE_FLAG(bool, routing_simulated_annealing);
46ABSL_DECLARE_FLAG(bool, routing_tabu_search);
47ABSL_DECLARE_FLAG(bool, routing_generic_tabu_search);
48
50ABSL_DECLARE_FLAG(int64, routing_solution_limit);
51ABSL_DECLARE_FLAG(int64, routing_time_limit);
52ABSL_DECLARE_FLAG(int64, routing_lns_time_limit);
53
55ABSL_DECLARE_FLAG(std::string, routing_first_solution);
56ABSL_DECLARE_FLAG(bool, routing_use_filtered_first_solutions);
57ABSL_DECLARE_FLAG(double, savings_neighbors_ratio);
58ABSL_DECLARE_FLAG(bool, savings_add_reverse_arcs);
59ABSL_DECLARE_FLAG(double, savings_arc_coefficient);
60ABSL_DECLARE_FLAG(double, cheapest_insertion_farthest_seeds_ratio);
61ABSL_DECLARE_FLAG(double, cheapest_insertion_first_solution_neighbors_ratio);
62ABSL_DECLARE_FLAG(bool, routing_dfs);
63ABSL_DECLARE_FLAG(double, routing_optimization_step);
64ABSL_DECLARE_FLAG(int, routing_number_of_solutions_to_collect);
65ABSL_DECLARE_FLAG(int, routing_relocate_expensive_chain_num_arcs_to_consider);
66
68ABSL_DECLARE_FLAG(bool, routing_use_light_propagation);
69
71ABSL_DECLARE_FLAG(bool, routing_cache_callbacks);
72ABSL_DECLARE_FLAG(int64, routing_max_cache_size);
73
75ABSL_DECLARE_FLAG(bool, routing_trace);
76ABSL_DECLARE_FLAG(bool, routing_profile);
77
79ABSL_DECLARE_FLAG(bool, routing_use_homogeneous_costs);
80ABSL_DECLARE_FLAG(bool, routing_gzip_compress_trail);
81
82namespace operations_research {
83
85RoutingModelParameters BuildModelParametersFromFlags();
86
88// TODO(user): Make this return a StatusOr, verifying that the flags
90RoutingSearchParameters BuildSearchParametersFromFlags();
91
92} // namespace operations_research
93
94#endif // OR_TOOLS_CONSTRAINT_SOLVER_ROUTING_FLAGS_H_
int64_t int64
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
RoutingSearchParameters BuildSearchParametersFromFlags()
Builds routing search parameters from flags.
RoutingModelParameters BuildModelParametersFromFlags()
Builds routing search parameters from flags.
ABSL_DECLARE_FLAG(bool, routing_no_lns)
Neighborhood activation/deactivation.