Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::DimensionCumulOptimizerCore Class Reference

Detailed Description

Definition at line 715 of file routing_lp_scheduling.h.

#include <routing_lp_scheduling.h>

Classes

struct  TransitTargetCost

Public Member Functions

 DimensionCumulOptimizerCore (const RoutingDimension *dimension, bool use_precedence_propagator)
DimensionSchedulingStatus OptimizeSingleRouteWithResource (int vehicle, double solve_duration_ratio, const std::function< int64_t(int64_t)> &next_accessor, const RouteDimensionTravelInfo *dimension_travel_info, const Resource *resource, bool optimize_vehicle_costs, RoutingLinearSolverWrapper *solver, std::vector< int64_t > *cumul_values, std::vector< int64_t > *break_values, int64_t *cost_without_transit, int64_t *transit_cost, bool clear_lp=true)
DimensionSchedulingStatus ComputeSingleRouteSolutionCostWithoutFixedTransits (int vehicle, double solve_duration_ratio, const std::function< int64_t(int64_t)> &next_accessor, const RouteDimensionTravelInfo *dimension_travel_info, RoutingLinearSolverWrapper *solver, absl::Span< const int64_t > solution_cumul_values, absl::Span< const int64_t > solution_break_values, int64_t *cost_without_transits, int64_t *cost_offset=nullptr, bool reuse_previous_model_if_possible=true, bool clear_lp=false, bool clear_solution_constraints=true, absl::Duration *solve_duration=nullptr)
std::vector< DimensionSchedulingStatusOptimizeSingleRouteWithResources (int vehicle, double solve_duration_ratio, const std::function< int64_t(int64_t)> &next_accessor, const std::function< int64_t(int64_t, int64_t)> &transit_accessor, const RouteDimensionTravelInfo *dimension_travel_info, absl::Span< const Resource > resources, absl::Span< const int > resource_indices, bool optimize_vehicle_costs, RoutingLinearSolverWrapper *solver, std::vector< std::vector< int64_t > > *cumul_values, std::vector< std::vector< int64_t > > *break_values, std::vector< int64_t > *costs_without_transits, int64_t *transit_cost, bool clear_lp=true)
DimensionSchedulingStatus Optimize (const std::function< int64_t(int64_t)> &next_accessor, const std::vector< RouteDimensionTravelInfo > &dimension_travel_info_per_route, RoutingLinearSolverWrapper *solver, std::vector< int64_t > *cumul_values, std::vector< int64_t > *break_values, std::vector< std::vector< int > > *resource_indices_per_group, int64_t *cost_without_transits, int64_t *transit_cost, bool clear_lp=true, bool optimize_resource_assignment=true)
DimensionSchedulingStatus OptimizeAndPack (const std::function< int64_t(int64_t)> &next_accessor, const std::vector< RouteDimensionTravelInfo > &dimension_travel_info_per_route, RoutingLinearSolverWrapper *solver, std::vector< int64_t > *cumul_values, std::vector< int64_t > *break_values)
DimensionSchedulingStatus OptimizeAndPackSingleRoute (int vehicle, double solve_duration_ratio, const std::function< int64_t(int64_t)> &next_accessor, const RouteDimensionTravelInfo *dimension_travel_info, const Resource *resource, RoutingLinearSolverWrapper *solver, std::vector< int64_t > *cumul_values, std::vector< int64_t > *break_values)
DimensionSchedulingStatus OptimizeSingleRouteWithTransitTargets (int vehicle, double solve_duration_ratio, const std::function< int64_t(int64_t)> &next_accessor, absl::Span< const int64_t > transit_targets, TransitTargetCost transit_target_cost, RoutingLinearSolverWrapper *solver, std::vector< int64_t > *optimal_transits, std::vector< int64_t > *optimal_cumuls, std::vector< int64_t > *optimal_breaks)
const RoutingDimensiondimension () const

Constructor & Destructor Documentation

◆ DimensionCumulOptimizerCore()

operations_research::DimensionCumulOptimizerCore::DimensionCumulOptimizerCore ( const RoutingDimension * dimension,
bool use_precedence_propagator )

Definition at line 597 of file routing_lp_scheduling.cc.

Member Function Documentation

◆ ComputeSingleRouteSolutionCostWithoutFixedTransits()

DimensionSchedulingStatus operations_research::DimensionCumulOptimizerCore::ComputeSingleRouteSolutionCostWithoutFixedTransits ( int vehicle,
double solve_duration_ratio,
const std::function< int64_t(int64_t)> & next_accessor,
const RouteDimensionTravelInfo * dimension_travel_info,
RoutingLinearSolverWrapper * solver,
absl::Span< const int64_t > solution_cumul_values,
absl::Span< const int64_t > solution_break_values,
int64_t * cost_without_transits,
int64_t * cost_offset = nullptr,
bool reuse_previous_model_if_possible = true,
bool clear_lp = false,
bool clear_solution_constraints = true,
absl::Duration * solve_duration = nullptr )

Definition at line 629 of file routing_lp_scheduling.cc.

◆ dimension()

const RoutingDimension * operations_research::DimensionCumulOptimizerCore::dimension ( ) const
inline

Definition at line 809 of file routing_lp_scheduling.h.

◆ Optimize()

DimensionSchedulingStatus operations_research::DimensionCumulOptimizerCore::Optimize ( const std::function< int64_t(int64_t)> & next_accessor,
const std::vector< RouteDimensionTravelInfo > & dimension_travel_info_per_route,
RoutingLinearSolverWrapper * solver,
std::vector< int64_t > * cumul_values,
std::vector< int64_t > * break_values,
std::vector< std::vector< int > > * resource_indices_per_group,
int64_t * cost_without_transits,
int64_t * transit_cost,
bool clear_lp = true,
bool optimize_resource_assignment = true )

Definition at line 984 of file routing_lp_scheduling.cc.

◆ OptimizeAndPack()

DimensionSchedulingStatus operations_research::DimensionCumulOptimizerCore::OptimizeAndPack ( const std::function< int64_t(int64_t)> & next_accessor,
const std::vector< RouteDimensionTravelInfo > & dimension_travel_info_per_route,
RoutingLinearSolverWrapper * solver,
std::vector< int64_t > * cumul_values,
std::vector< int64_t > * break_values )

Definition at line 1081 of file routing_lp_scheduling.cc.

◆ OptimizeAndPackSingleRoute()

DimensionSchedulingStatus operations_research::DimensionCumulOptimizerCore::OptimizeAndPackSingleRoute ( int vehicle,
double solve_duration_ratio,
const std::function< int64_t(int64_t)> & next_accessor,
const RouteDimensionTravelInfo * dimension_travel_info,
const Resource * resource,
RoutingLinearSolverWrapper * solver,
std::vector< int64_t > * cumul_values,
std::vector< int64_t > * break_values )

Definition at line 1130 of file routing_lp_scheduling.cc.

◆ OptimizeSingleRouteWithResource()

DimensionSchedulingStatus operations_research::DimensionCumulOptimizerCore::OptimizeSingleRouteWithResource ( int vehicle,
double solve_duration_ratio,
const std::function< int64_t(int64_t)> & next_accessor,
const RouteDimensionTravelInfo * dimension_travel_info,
const Resource * resource,
bool optimize_vehicle_costs,
RoutingLinearSolverWrapper * solver,
std::vector< int64_t > * cumul_values,
std::vector< int64_t > * break_values,
int64_t * cost_without_transit,
int64_t * transit_cost,
bool clear_lp = true )

Definition at line 741 of file routing_lp_scheduling.cc.

◆ OptimizeSingleRouteWithResources()

std::vector< DimensionSchedulingStatus > operations_research::DimensionCumulOptimizerCore::OptimizeSingleRouteWithResources ( int vehicle,
double solve_duration_ratio,
const std::function< int64_t(int64_t)> & next_accessor,
const std::function< int64_t(int64_t, int64_t)> & transit_accessor,
const RouteDimensionTravelInfo * dimension_travel_info,
absl::Span< const Resource > resources,
absl::Span< const int > resource_indices,
bool optimize_vehicle_costs,
RoutingLinearSolverWrapper * solver,
std::vector< std::vector< int64_t > > * cumul_values,
std::vector< std::vector< int64_t > > * break_values,
std::vector< int64_t > * costs_without_transits,
int64_t * transit_cost,
bool clear_lp = true )

Definition at line 878 of file routing_lp_scheduling.cc.

◆ OptimizeSingleRouteWithTransitTargets()

DimensionSchedulingStatus operations_research::DimensionCumulOptimizerCore::OptimizeSingleRouteWithTransitTargets ( int vehicle,
double solve_duration_ratio,
const std::function< int64_t(int64_t)> & next_accessor,
absl::Span< const int64_t > transit_targets,
TransitTargetCost transit_target_cost,
RoutingLinearSolverWrapper * solver,
std::vector< int64_t > * optimal_transits,
std::vector< int64_t > * optimal_cumuls,
std::vector< int64_t > * optimal_breaks )

Definition at line 1249 of file routing_lp_scheduling.cc.


The documentation for this class was generated from the following files: