Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
routing_filters.h File Reference
#include <cstdint>
#include <functional>
#include <initializer_list>
#include <memory>
#include <utility>
#include <vector>
#include "absl/strings/string_view.h"
#include "absl/types/span.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_filter_committables.h"
#include "ortools/constraint_solver/routing_lp_scheduling.h"
#include "ortools/constraint_solver/routing_parameters.pb.h"
#include "ortools/constraint_solver/routing_types.h"
#include "ortools/util/bitset.h"
#include "ortools/util/range_minimum_query.h"

Go to the source code of this file.

Classes

class  operations_research::PathState
 
struct  operations_research::PathState::ChainBounds
 
class  operations_research::PathState::Chain
 A Chain is a range of committed nodes. More...
 
class  operations_research::PathState::Chain::Iterator
 
class  operations_research::PathState::ChainRange
 A ChainRange is a range of Chains, committed or not. More...
 
class  operations_research::PathState::ChainRange::Iterator
 
class  operations_research::PathState::NodeRange
 
class  operations_research::PathState::NodeRange::Iterator
 
class  operations_research::DimensionChecker
 
struct  operations_research::DimensionChecker::Interval
 
struct  operations_research::DimensionChecker::ExtendedInterval
 
class  operations_research::LightVehicleBreaksChecker
 
struct  operations_research::LightVehicleBreaksChecker::VehicleBreak
 
struct  operations_research::LightVehicleBreaksChecker::InterbreakLimit
 
struct  operations_research::LightVehicleBreaksChecker::PathData
 
class  operations_research::WeightedWaveletTree
 
class  operations_research::PathEnergyCostChecker
 
struct  operations_research::PathEnergyCostChecker::EnergyCost
 
class  operations_research::BasePathFilter
 Generic path-based filter class. More...
 

Namespaces

namespace  operations_research
 In SWIG mode, we don't want anything besides these top-level includes.
 

Functions

bool operations_research::PropagateLightweightVehicleBreaks (int path, DimensionValues &dimension_values, absl::Span< const std::pair< int64_t, int64_t > > interbreaks)
 
IntVarLocalSearchFilteroperations_research::MakeRouteConstraintFilter (const RoutingModel &routing_model)
 Returns a filter tracking route constraints.
 
IntVarLocalSearchFilteroperations_research::MakeMaxActiveVehiclesFilter (const RoutingModel &routing_model)
 Returns a filter ensuring that max active vehicles constraints are enforced.
 
IntVarLocalSearchFilteroperations_research::MakeActiveNodeGroupFilter (const RoutingModel &routing_model)
 
IntVarLocalSearchFilteroperations_research::MakeNodeDisjunctionFilter (const RoutingModel &routing_model, bool filter_cost)
 Returns a filter ensuring that node disjunction constraints are enforced.
 
IntVarLocalSearchFilteroperations_research::MakeVehicleAmortizedCostFilter (const RoutingModel &routing_model)
 Returns a filter computing vehicle amortized costs.
 
IntVarLocalSearchFilteroperations_research::MakeTypeRegulationsFilter (const RoutingModel &routing_model)
 Returns a filter ensuring type regulation constraints are enforced.
 
IntVarLocalSearchFilteroperations_research::MakePathCumulFilter (const RoutingDimension &dimension, bool propagate_own_objective_value, bool filter_objective_cost, bool may_use_optimizers)
 Returns a filter handling dimension costs and constraints.
 
IntVarLocalSearchFilteroperations_research::MakeCumulBoundsPropagatorFilter (const RoutingDimension &dimension)
 Returns a filter handling dimension cumul bounds.
 
IntVarLocalSearchFilteroperations_research::MakeGlobalLPCumulFilter (GlobalDimensionCumulOptimizer *lp_optimizer, GlobalDimensionCumulOptimizer *mp_optimizer, bool filter_objective_cost)
 Returns a filter checking global linear constraints and costs.
 
LocalSearchFilteroperations_research::MakeResourceAssignmentFilter (LocalDimensionCumulOptimizer *lp_optimizer, LocalDimensionCumulOptimizer *mp_optimizer, bool propagate_own_objective_value, bool filter_objective_cost)
 
IntVarLocalSearchFilteroperations_research::MakeCPFeasibilityFilter (RoutingModel *routing_model)
 Returns a filter checking the current solution using CP propagation.
 
LocalSearchFilteroperations_research::MakePathStateFilter (Solver *solver, std::unique_ptr< PathState > path_state, const std::vector< IntVar * > &nexts)
 
LocalSearchFilteroperations_research::MakeVehicleVarFilter (const RoutingModel &routing_model, const PathState *path_state)
 Returns a filter checking that vehicle variable domains are respected.
 
LocalSearchFilteroperations_research::MakePickupDeliveryFilter (const RoutingModel &routing_model, const PathState *path_state, const std::vector< PickupDeliveryPair > &pairs, const std::vector< RoutingModel::PickupAndDeliveryPolicy > &vehicle_policies)
 
LocalSearchFilteroperations_research::MakeDimensionFilter (Solver *solver, std::unique_ptr< DimensionChecker > checker, absl::string_view dimension_name)
 
LocalSearchFilteroperations_research::MakeLightVehicleBreaksFilter (Solver *solver, std::unique_ptr< LightVehicleBreaksChecker > checker, absl::string_view dimension_name)
 
LocalSearchFilteroperations_research::MakePathEnergyCostFilter (Solver *solver, std::unique_ptr< PathEnergyCostChecker > checker, absl::string_view dimension_name)
 
void operations_research::AppendLightWeightDimensionFilters (const PathState *path_state, const std::vector< RoutingDimension * > &dimensions, std::vector< LocalSearchFilterManager::FilterEvent > *filters)
 
void operations_research::AppendDimensionCumulFilters (const std::vector< RoutingDimension * > &dimensions, const RoutingSearchParameters &parameters, bool filter_objective_cost, bool use_chain_cumul_filter, std::vector< LocalSearchFilterManager::FilterEvent > *filters)