Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
routing_lp_scheduling.h File Reference
#include <algorithm>
#include <cstdint>
#include <deque>
#include <functional>
#include <limits>
#include <map>
#include <memory>
#include <ostream>
#include <string>
#include <utility>
#include <vector>
#include "absl/container/flat_hash_map.h"
#include "absl/container/flat_hash_set.h"
#include "absl/log/check.h"
#include "absl/strings/str_format.h"
#include "absl/strings/string_view.h"
#include "absl/time/time.h"
#include "ortools/base/dump_vars.h"
#include "ortools/base/logging.h"
#include "ortools/base/mathutil.h"
#include "ortools/constraint_solver/routing.h"
#include "ortools/constraint_solver/routing_parameters.pb.h"
#include "ortools/glop/lp_solver.h"
#include "ortools/glop/parameters.pb.h"
#include "ortools/lp_data/lp_data.h"
#include "ortools/lp_data/lp_types.h"
#include "ortools/sat/cp_model.pb.h"
#include "ortools/sat/cp_model_solver.h"
#include "ortools/sat/model.h"
#include "ortools/sat/sat_parameters.pb.h"
#include "ortools/util/sorted_interval_list.h"

Go to the source code of this file.

Classes

class  operations_research::CumulBoundsPropagator
 
class  operations_research::RoutingLinearSolverWrapper
 
class  operations_research::RoutingGlopWrapper
 
class  operations_research::RoutingCPSatWrapper
 
class  operations_research::DimensionCumulOptimizerCore
 
class  operations_research::LocalDimensionCumulOptimizer
 
class  operations_research::GlobalDimensionCumulOptimizer
 
struct  operations_research::SlopeAndYIntercept
 Structure to store the slope and y_intercept of a segment. More...
 

Namespaces

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

Enumerations

enum class  operations_research::DimensionSchedulingStatus { operations_research::OPTIMAL , operations_research::RELAXED_OPTIMAL_ONLY , operations_research::INFEASIBLE }
 
enum class  operations_research::PiecewiseEvaluationStatus { operations_research::UNSPECIFIED = 0 , operations_research::WITHIN_BOUNDS , operations_research::SMALLER_THAN_LOWER_BOUND , operations_research::LARGER_THAN_UPPER_BOUND }
 

Functions

int64_t operations_research::ComputeBestVehicleToResourceAssignment (const std::vector< int > &vehicles, const util_intops::StrongVector< RoutingModel::ResourceClassIndex, std::vector< int > > &resource_indices_per_class, const util_intops::StrongVector< RoutingModel::ResourceClassIndex, absl::flat_hash_set< int > > &ignored_resources_per_class, std::function< const std::vector< int64_t > *(int)> vehicle_to_resource_class_assignment_costs, std::vector< int > *resource_indices)
 
bool operations_research::ComputeVehicleToResourceClassAssignmentCosts (int v, const RoutingModel::ResourceGroup &resource_group, const util_intops::StrongVector< RoutingModel::ResourceClassIndex, absl::flat_hash_set< int > > &ignored_resources_per_class, const std::function< int64_t(int64_t)> &next_accessor, const std::function< int64_t(int64_t, int64_t)> &transit_accessor, bool optimize_vehicle_costs, LocalDimensionCumulOptimizer *lp_optimizer, LocalDimensionCumulOptimizer *mp_optimizer, std::vector< int64_t > *assignment_costs, std::vector< std::vector< int64_t > > *cumul_values, std::vector< std::vector< int64_t > > *break_values)
 
PiecewiseEvaluationStatus operations_research::ComputePiecewiseLinearFormulationValue (const RoutingModel::RouteDimensionTravelInfo::TransitionInfo::PiecewiseLinearFormulation &pwl, int64_t x, int64_t *value, double delta)
 
int64_t operations_research::ComputeConvexPiecewiseLinearFormulationValue (const RoutingModel::RouteDimensionTravelInfo::TransitionInfo::PiecewiseLinearFormulation &pwl, int64_t x, double delta)
 
std::vector< bool > operations_research::SlopeAndYInterceptToConvexityRegions (const std::vector< SlopeAndYIntercept > &slope_and_y_intercept)
 
std::vector< SlopeAndYInterceptoperations_research::PiecewiseLinearFormulationToSlopeAndYIntercept (const RoutingModel::RouteDimensionTravelInfo::TransitionInfo::PiecewiseLinearFormulation &pwl_function, int index_start, int index_end)