![]() |
Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
|
#include "ortools/constraint_solver/routing_search.h"#include <algorithm>#include <cmath>#include <cstdint>#include <cstdlib>#include <deque>#include <functional>#include <limits>#include <map>#include <memory>#include <optional>#include <set>#include <string>#include <tuple>#include <utility>#include <vector>#include "absl/algorithm/container.h"#include "absl/base/attributes.h"#include "absl/container/btree_set.h"#include "absl/container/flat_hash_map.h"#include "absl/container/flat_hash_set.h"#include "absl/container/inlined_vector.h"#include "absl/flags/flag.h"#include "absl/log/check.h"#include "absl/log/die_if_null.h"#include "absl/strings/str_cat.h"#include "absl/strings/string_view.h"#include "absl/time/time.h"#include "absl/types/span.h"#include "ortools/base/adjustable_priority_queue.h"#include "ortools/base/logging.h"#include "ortools/base/map_util.h"#include "ortools/base/mathutil.h"#include "ortools/base/protoutil.h"#include "ortools/base/stl_util.h"#include "ortools/base/types.h"#include "ortools/constraint_solver/constraint_solver.h"#include "ortools/constraint_solver/constraint_solveri.h"#include "ortools/constraint_solver/routing.h"#include "ortools/constraint_solver/routing_enums.pb.h"#include "ortools/constraint_solver/routing_parameters.pb.h"#include "ortools/constraint_solver/routing_types.h"#include "ortools/constraint_solver/routing_utils.h"#include "ortools/graph/christofides.h"#include "ortools/util/bitset.h"#include "ortools/util/range_query_function.h"#include "ortools/util/saturated_arithmetic.h"Go to the source code of this file.
Namespaces | |
| namespace | operations_research |
| In SWIG mode, we don't want anything besides these top-level includes. | |
Functions | |
| ABSL_FLAG (bool, routing_shift_insertion_cost_by_penalty, true, "Shift insertion costs by the penalty of the inserted node(s).") | |
| ABSL_FLAG (int64_t, sweep_sectors, 1, "The number of sectors the space is divided into before it is sweeped" " by the ray.") | |
| const Assignment * | operations_research::SolveWithAlternativeSolvers (RoutingModel *primary_model, const std::vector< RoutingModel * > &alternative_models, const RoutingSearchParameters ¶meters, int max_non_improving_iterations) |
| const Assignment * | operations_research::SolveFromAssignmentWithAlternativeSolvers (const Assignment *assignment, RoutingModel *primary_model, const std::vector< RoutingModel * > &alternative_models, const RoutingSearchParameters ¶meters, int max_non_improving_iterations) |
| Same as above, but taking an initial solution. | |
| const Assignment * | operations_research::SolveFromAssignmentWithAlternativeSolversAndParameters (const Assignment *assignment, RoutingModel *primary_model, const RoutingSearchParameters ¶meters, const std::vector< RoutingModel * > &alternative_models, const std::vector< RoutingSearchParameters > &alternative_parameters, int max_non_improving_iterations) |
| Same as above but taking alternative parameters for each alternative model. | |
| FirstSolutionStrategy::Value | operations_research::AutomaticFirstSolutionStrategy (bool has_pickup_deliveries, bool has_node_precedences, bool has_single_vehicle_node) |
| std::vector< int64_t > | operations_research::ComputeVehicleEndChainStarts (const RoutingModel &model) |
| DecisionBuilder * | operations_research::MakeSweepDecisionBuilder (RoutingModel *model, bool check_assignment) |
| DecisionBuilder * | operations_research::MakeAllUnperformed (RoutingModel *model) |
| Returns a DecisionBuilder making all nodes unperformed. | |
| ABSL_FLAG | ( | bool | , |
| routing_shift_insertion_cost_by_penalty | , | ||
| true | , | ||
| "Shift insertion costs by the penalty of the inserted node(s)." | ) |
| ABSL_FLAG | ( | int64_t | , |
| sweep_sectors | , | ||
| 1 | , | ||
| "The number of sectors the space is divided into before it is sweeped" " by the ray." | ) |