C++ Reference
C++ Reference: Routing
routing_lp_scheduling.h
virtual int CreateNewPositiveVariable()=0
double GetObjectiveValue() const override
Definition: routing_lp_scheduling.h:406
void SetVariableDisjointBounds(int index, const std::vector< int64 > &starts, const std::vector< int64 > &ends) override
Definition: routing_lp_scheduling.h:315
virtual DimensionSchedulingStatus Solve(absl::Duration duration_limit)=0
virtual double GetObjectiveValue() const =0
double GetObjectiveCoefficient(int index) const override
Definition: routing_lp_scheduling.h:203
virtual double GetValue(int index) const =0
~RoutingCPSatWrapper() override
Definition: routing_lp_scheduling.h:280
bool SetVariableBounds(int index, int64 lower_bound, int64 upper_bound) override
Definition: routing_lp_scheduling.h:300
int64 GetVariableLowerBound(int index) const override
Definition: routing_lp_scheduling.h:328
const RoutingDimension * dimension() const
Definition: routing_lp_scheduling.h:562
@ RELAXED_OPTIMAL_ONLY
void Clear() override
Definition: routing_lp_scheduling.h:162
const RoutingDimension & dimension() const
Definition: routing_lp_scheduling.h:54
virtual int CreateNewConstraint(int64 lower_bound, int64 upper_bound)=0
void SetCoefficient(int ct_index, int index, double coefficient) override
Definition: routing_lp_scheduling.h:364
DimensionCumulOptimizerCore(const RoutingDimension *dimension, bool use_precedence_propagator)
Definition: routing_lp_scheduling.h:429
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
Definition: constraint_solveri.h:78
const RoutingDimension * dimension() const
Definition: routing_lp_scheduling.h:599
DimensionSchedulingStatus Solve(absl::Duration duration_limit) override
Definition: routing_lp_scheduling.h:225
DimensionSchedulingStatus Solve(absl::Duration duration_limit) override
Definition: routing_lp_scheduling.h:375
DimensionSchedulingStatus
Definition: routing_lp_scheduling.h:124
bool ComputeCumulCostWithoutFixedTransits(const std::function< int64(int64)> &next_accessor, int64 *optimal_cost_without_transits)
bool OptimizeAndPack(const std::function< int64(int64)> &next_accessor, RoutingLinearSolverWrapper *solver, std::vector< int64 > *cumul_values)
int NumVariables() const override
Definition: routing_lp_scheduling.h:352
virtual int64 GetVariableLowerBound(int index) const =0
double GetValue(int index) const override
Definition: routing_lp_scheduling.h:409
DimensionSchedulingStatus ComputePackedRouteCumuls(int vehicle, const std::function< int64(int64)> &next_accessor, std::vector< int64 > *packed_cumuls)
RoutingGlopWrapper(const glop::GlopParameters ¶meters)
Definition: routing_lp_scheduling.h:158
bool IsFeasible(const std::function< int64(int64)> &next_accessor)
int64 CumulMin(int index) const
Definition: routing_lp_scheduling.h:45
virtual void SetObjectiveCoefficient(int index, double coefficient)=0
int CreateNewPositiveVariable() override
Definition: routing_lp_scheduling.h:167
int CreateNewConstraint(int64 lower_bound, int64 upper_bound) override
Definition: routing_lp_scheduling.h:214
void SetObjectiveCoefficient(int index, double coefficient) override
Definition: routing_lp_scheduling.h:200
RoutingCPSatWrapper()
Definition: routing_lp_scheduling.h:272
int CreateNewConstraint(int64 lower_bound, int64 upper_bound) override
Definition: routing_lp_scheduling.h:353
bool SetVariableBounds(int index, int64 lower_bound, int64 upper_bound) override
Definition: routing_lp_scheduling.h:170
int NumVariables() const override
Definition: routing_lp_scheduling.h:211
void SetVariableDisjointBounds(int index, const std::vector< int64 > &starts, const std::vector< int64 > &ends) override
Definition: routing_lp_scheduling.h:188
double GetValue(int index) const override
Definition: routing_lp_scheduling.h:259
Dimensions represent quantities accumulated at nodes along the routes.
Definition: routing.h:2160
bool PropagateCumulBounds(const std::function< int64(int64)> &next_accessor, int64 cumul_offset)
bool ComputeCumuls(const std::function< int64(int64)> &next_accessor, std::vector< int64 > *optimal_cumuls)
virtual void Clear()=0
void SetCoefficient(int ct, int index, double coefficient) override
Definition: routing_lp_scheduling.h:221
double GetObjectiveValue() const override
Definition: routing_lp_scheduling.h:256
CumulBoundsPropagator(const RoutingDimension *dimension)
double GetObjectiveCoefficient(int index) const override
Definition: routing_lp_scheduling.h:343
int CreateNewPositiveVariable() override
Definition: routing_lp_scheduling.h:290
void SetObjectiveCoefficient(int index, double coefficient) override
Definition: routing_lp_scheduling.h:331
virtual void SetCoefficient(int ct, int index, double coefficient)=0
DimensionSchedulingStatus ComputeRouteCumulCostWithoutFixedTransits(int vehicle, const std::function< int64(int64)> &next_accessor, int64 *optimal_cost_without_transits)
virtual void SetVariableDisjointBounds(int index, const std::vector< int64 > &starts, const std::vector< int64 > &ends)=0
void ClearObjective() override
Definition: routing_lp_scheduling.h:348
DimensionSchedulingStatus ComputeRouteCumuls(int vehicle, const std::function< int64(int64)> &next_accessor, std::vector< int64 > *optimal_cumuls)
int64 GetVariableLowerBound(int index) const override
Definition: routing_lp_scheduling.h:197
DimensionSchedulingStatus OptimizeSingleRoute(int vehicle, const std::function< int64(int64)> &next_accessor, RoutingLinearSolverWrapper *solver, std::vector< int64 > *cumul_values, int64 *cost, int64 *transit_cost, bool clear_lp=true)
int64 CumulMax(int index) const
Definition: routing_lp_scheduling.h:49
virtual bool SetVariableBounds(int index, int64 lower_bound, int64 upper_bound)=0
bool Optimize(const std::function< int64(int64)> &next_accessor, RoutingLinearSolverWrapper *solver, std::vector< int64 > *cumul_values, int64 *cost, int64 *transit_cost, bool clear_lp=true)
DimensionSchedulingStatus ComputeRouteCumulCost(int vehicle, const std::function< int64(int64)> &next_accessor, int64 *optimal_cost)
virtual int NumVariables() const =0
DimensionSchedulingStatus OptimizeAndPackSingleRoute(int vehicle, const std::function< int64(int64)> &next_accessor, RoutingLinearSolverWrapper *solver, std::vector< int64 > *cumul_values)
LocalDimensionCumulOptimizer(const RoutingDimension *dimension, RoutingSearchParameters::SchedulingSolver solver_type)
virtual double GetObjectiveCoefficient(int index) const =0
virtual ~RoutingLinearSolverWrapper()
Definition: routing_lp_scheduling.h:136
const RoutingDimension * dimension() const
Definition: routing_lp_scheduling.h:461
void ClearObjective() override
Definition: routing_lp_scheduling.h:206
bool ComputePackedCumuls(const std::function< int64(int64)> &next_accessor, std::vector< int64 > *packed_cumuls)
virtual void ClearObjective()=0
void Clear() override
Definition: routing_lp_scheduling.h:281
GlobalDimensionCumulOptimizer(const RoutingDimension *dimension)