C++ Reference
C++ Reference: Routing
routing_lp_scheduling.h
virtual int CreateNewPositiveVariable()=0
double GetObjectiveValue() const override
Definition: routing_lp_scheduling.h:373
void SetVariableDisjointBounds(int index, const std::vector< int64 > &starts, const std::vector< int64 > &ends) override
Definition: routing_lp_scheduling.h:282
virtual double GetObjectiveValue() const =0
double GetObjectiveCoefficient(int index) const override
Definition: routing_lp_scheduling.h:184
bool Solve(absl::Duration duration_limit) override
Definition: routing_lp_scheduling.h:206
virtual double GetValue(int index) const =0
~RoutingCPSatWrapper() override
Definition: routing_lp_scheduling.h:247
bool SetVariableBounds(int index, int64 lower_bound, int64 upper_bound) override
Definition: routing_lp_scheduling.h:267
int64 GetVariableLowerBound(int index) const override
Definition: routing_lp_scheduling.h:295
const RoutingDimension * dimension() const
Definition: routing_lp_scheduling.h:530
void Clear() override
Definition: routing_lp_scheduling.h:151
const RoutingDimension & dimension() const
Definition: routing_lp_scheduling.h:53
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:331
DimensionCumulOptimizerCore(const RoutingDimension *dimension, bool use_precedence_propagator)
Definition: routing_lp_scheduling.h:396
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
Definition: constraint_solver.h:98
const RoutingDimension * dimension() const
Definition: routing_lp_scheduling.h:567
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:319
virtual int64 GetVariableLowerBound(int index) const =0
bool ComputeRouteCumuls(int vehicle, const std::function< int64(int64)> &next_accessor, std::vector< int64 > *optimal_cumuls)
bool Solve(absl::Duration duration_limit) override
Definition: routing_lp_scheduling.h:342
double GetValue(int index) const override
Definition: routing_lp_scheduling.h:376
RoutingGlopWrapper(const glop::GlopParameters ¶meters)
Definition: routing_lp_scheduling.h:147
virtual bool Solve(absl::Duration duration_limit)=0
bool IsFeasible(const std::function< int64(int64)> &next_accessor)
int64 CumulMin(int index) const
Definition: routing_lp_scheduling.h:44
virtual void SetObjectiveCoefficient(int index, double coefficient)=0
int CreateNewPositiveVariable() override
Definition: routing_lp_scheduling.h:155
int CreateNewConstraint(int64 lower_bound, int64 upper_bound) override
Definition: routing_lp_scheduling.h:195
void SetObjectiveCoefficient(int index, double coefficient) override
Definition: routing_lp_scheduling.h:181
RoutingCPSatWrapper()
Definition: routing_lp_scheduling.h:239
int CreateNewConstraint(int64 lower_bound, int64 upper_bound) override
Definition: routing_lp_scheduling.h:320
bool ComputeRouteCumulCost(int vehicle, const std::function< int64(int64)> &next_accessor, int64 *optimal_cost)
bool SetVariableBounds(int index, int64 lower_bound, int64 upper_bound) override
Definition: routing_lp_scheduling.h:158
int NumVariables() const override
Definition: routing_lp_scheduling.h:192
void SetVariableDisjointBounds(int index, const std::vector< int64 > &starts, const std::vector< int64 > &ends) override
Definition: routing_lp_scheduling.h:176
double GetValue(int index) const override
Definition: routing_lp_scheduling.h:228
Dimensions represent quantities accumulated at nodes along the routes.
Definition: routing.h:2076
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:202
double GetObjectiveValue() const override
Definition: routing_lp_scheduling.h:225
CumulBoundsPropagator(const RoutingDimension *dimension)
double GetObjectiveCoefficient(int index) const override
Definition: routing_lp_scheduling.h:310
bool 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)
bool OptimizeAndPackSingleRoute(int vehicle, const std::function< int64(int64)> &next_accessor, RoutingLinearSolverWrapper *solver, std::vector< int64 > *cumul_values)
int CreateNewPositiveVariable() override
Definition: routing_lp_scheduling.h:257
void SetObjectiveCoefficient(int index, double coefficient) override
Definition: routing_lp_scheduling.h:298
virtual void SetCoefficient(int ct, int index, double coefficient)=0
bool 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:315
bool ComputePackedRouteCumuls(int vehicle, const std::function< int64(int64)> &next_accessor, std::vector< int64 > *packed_cumuls)
int64 GetVariableLowerBound(int index) const override
Definition: routing_lp_scheduling.h:178
RoutingSearchParameters_SchedulingSolver
Definition: routing_parameters.pb.h:80
int64 CumulMax(int index) const
Definition: routing_lp_scheduling.h:48
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)
virtual int NumVariables() const =0
LocalDimensionCumulOptimizer(const RoutingDimension *dimension, RoutingSearchParameters::SchedulingSolver solver_type)
virtual double GetObjectiveCoefficient(int index) const =0
virtual ~RoutingLinearSolverWrapper()
Definition: routing_lp_scheduling.h:125
const RoutingDimension * dimension() const
Definition: routing_lp_scheduling.h:429
void ClearObjective() override
Definition: routing_lp_scheduling.h:187
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:248
GlobalDimensionCumulOptimizer(const RoutingDimension *dimension)