C++ Reference: class GlobalDimensionCumulOptimizer

Note: This documentation is automatically generated.

Method
ComputeCumulCostWithoutFixedTransits

Return type: DimensionSchedulingStatus

Arguments: const std::function<int64_t(int64_t)>& next_accessor, int64_t* optimal_cost_without_transits

If feasible, computes the optimal cost of the entire model with regards to the optimizer_core_'s dimension costs, minimizing cumul soft lower/upper bound costs and vehicle/global span costs, and stores it in "optimal_cost" (if not null). Returns true iff all the constraints can be respected.

ComputeCumuls

Return type: DimensionSchedulingStatus

Arguments: const std::function<int64_t(int64_t)>& next_accessor, std::vector<int64_t>* optimal_cumuls, std::vector<int64_t>* optimal_breaks, std::vector<std::vector<int>>* optimal_resource_indices_per_group

If feasible, computes the optimal values for cumul, break and resource variables, minimizing cumul soft lower/upper bound costs and vehicle/global span costs, stores them in "optimal_cumuls" (if not null), "optimal_breaks" and "optimal_resource_indices_per_group", and returns true. Returns false if the routes are not feasible.

ComputePackedCumuls

Return type: DimensionSchedulingStatus

Arguments: const std::function<int64_t(int64_t)>& next_accessor, std::vector<int64_t>* packed_cumuls, std::vector<int64_t>* packed_breaks, std::vector<std::vector<int>>* resource_indices_per_group

Similar to ComputeCumuls, but also tries to pack the cumul values on all routes, such that the cost remains the same, the cumuls of route ends are minimized, and then the cumuls of the starts of the routes are maximized.

dimension

Return type: const RoutingDimension*

GlobalDimensionCumulOptimizer

Arguments: const RoutingDimension* dimension, RoutingSearchParameters::SchedulingSolver solver_type