Google OR-Tools: operations_research::PiecewiseLinearFunction Class Reference

#include <piecewise_linear_function.h>

Public Member Functions

bool InDomain (int64_t x) const
bool IsConvex () const
bool IsNonDecreasing () const
bool IsNonIncreasing () const
int64_t Value (int64_t x) const
int64_t GetMaximum () const
int64_t GetMinimum () const
int64_t GetMaximum (int64_t range_start, int64_t range_end) const
int64_t GetMinimum (int64_t range_start, int64_t range_end) const
std::pair< int64_t, int64_t > GetSmallestRangeGreaterThanValue (int64_t range_start, int64_t range_end, int64_t value) const
std::pair< int64_t, int64_t > GetSmallestRangeLessThanValue (int64_t range_start, int64_t range_end, int64_t value) const
std::pair< int64_t, int64_t > GetSmallestRangeInValueRange (int64_t range_start, int64_t range_end, int64_t value_min, int64_t value_max) const
void AddConstantToX (int64_t constant)
void AddConstantToY (int64_t constant)
void Add (const PiecewiseLinearFunction &other)
void Subtract (const PiecewiseLinearFunction &other)
std::vector< PiecewiseLinearFunction * > DecomposeToConvexFunctions () const
const std::vector< PiecewiseSegment > & segments () const
std::string DebugString () const

Static Public Member Functions

static PiecewiseLinearFunction * CreatePiecewiseLinearFunction (std::vector< int64_t > points_x, std::vector< int64_t > points_y, std::vector< int64_t > slopes, std::vector< int64_t > other_points_x)
static PiecewiseLinearFunction * CreateStepFunction (std::vector< int64_t > points_x, std::vector< int64_t > points_y, std::vector< int64_t > other_points_x)
static PiecewiseLinearFunction * CreateFullDomainFunction (int64_t initial_level, std::vector< int64_t > points_x, std::vector< int64_t > slopes)
static PiecewiseLinearFunction * CreateOneSegmentFunction (int64_t point_x, int64_t point_y, int64_t slope, int64_t other_point_x)
static PiecewiseLinearFunction * CreateRightRayFunction (int64_t point_x, int64_t point_y, int64_t slope)
static PiecewiseLinearFunction * CreateLeftRayFunction (int64_t point_x, int64_t point_y, int64_t slope)
static PiecewiseLinearFunction * CreateFixedChargeFunction (int64_t slope, int64_t value)
static PiecewiseLinearFunction * CreateEarlyTardyFunction (int64_t reference, int64_t earliness_slope, int64_t tardiness_slope)
static PiecewiseLinearFunction * CreateEarlyTardyFunctionWithSlack (int64_t early_slack, int64_t late_slack, int64_t earliness_slope, int64_t tardiness_slope)

Static Public Attributes

static const int kNotFound = -1

◆ Add()

void operations_research::PiecewiseLinearFunction::Add ( const PiecewiseLinearFunction & other)

◆ AddConstantToX()

void operations_research::PiecewiseLinearFunction::AddConstantToX ( int64_t constant)

◆ AddConstantToY()

void operations_research::PiecewiseLinearFunction::AddConstantToY ( int64_t constant)

◆ CreateEarlyTardyFunction()

PiecewiseLinearFunction * operations_research::PiecewiseLinearFunction::CreateEarlyTardyFunction ( int64_t reference,
int64_t earliness_slope,
int64_t tardiness_slope )
static

◆ CreateEarlyTardyFunctionWithSlack()

PiecewiseLinearFunction * operations_research::PiecewiseLinearFunction::CreateEarlyTardyFunctionWithSlack ( int64_t early_slack,
int64_t late_slack,
int64_t earliness_slope,
int64_t tardiness_slope )
static

◆ CreateFixedChargeFunction()

PiecewiseLinearFunction * operations_research::PiecewiseLinearFunction::CreateFixedChargeFunction ( int64_t slope,
int64_t value )
static

◆ CreateFullDomainFunction()

PiecewiseLinearFunction * operations_research::PiecewiseLinearFunction::CreateFullDomainFunction ( int64_t initial_level,
std::vector< int64_t > points_x,
std::vector< int64_t > slopes )
static

◆ CreateLeftRayFunction()

PiecewiseLinearFunction * operations_research::PiecewiseLinearFunction::CreateLeftRayFunction ( int64_t point_x,
int64_t point_y,
int64_t slope )
static

◆ CreateOneSegmentFunction()

PiecewiseLinearFunction * operations_research::PiecewiseLinearFunction::CreateOneSegmentFunction ( int64_t point_x,
int64_t point_y,
int64_t slope,
int64_t other_point_x )
static

◆ CreatePiecewiseLinearFunction()

PiecewiseLinearFunction * operations_research::PiecewiseLinearFunction::CreatePiecewiseLinearFunction ( std::vector< int64_t > points_x,
std::vector< int64_t > points_y,
std::vector< int64_t > slopes,
std::vector< int64_t > other_points_x )
static

◆ CreateRightRayFunction()

PiecewiseLinearFunction * operations_research::PiecewiseLinearFunction::CreateRightRayFunction ( int64_t point_x,
int64_t point_y,
int64_t slope )
static

◆ CreateStepFunction()

PiecewiseLinearFunction * operations_research::PiecewiseLinearFunction::CreateStepFunction ( std::vector< int64_t > points_x,
std::vector< int64_t > points_y,
std::vector< int64_t > other_points_x )
static

◆ DebugString()

std::string operations_research::PiecewiseLinearFunction::DebugString ( ) const

◆ DecomposeToConvexFunctions()

std::vector< PiecewiseLinearFunction * > operations_research::PiecewiseLinearFunction::DecomposeToConvexFunctions ( ) const

◆ GetMaximum() [1/2]

int64_t operations_research::PiecewiseLinearFunction::GetMaximum ( ) const

◆ GetMaximum() [2/2]

int64_t operations_research::PiecewiseLinearFunction::GetMaximum ( int64_t range_start,
int64_t range_end ) const

◆ GetMinimum() [1/2]

int64_t operations_research::PiecewiseLinearFunction::GetMinimum ( ) const

◆ GetMinimum() [2/2]

int64_t operations_research::PiecewiseLinearFunction::GetMinimum ( int64_t range_start,
int64_t range_end ) const

◆ GetSmallestRangeGreaterThanValue()

std::pair< int64_t, int64_t > operations_research::PiecewiseLinearFunction::GetSmallestRangeGreaterThanValue ( int64_t range_start,
int64_t range_end,
int64_t value ) const

◆ GetSmallestRangeInValueRange()

std::pair< int64_t, int64_t > operations_research::PiecewiseLinearFunction::GetSmallestRangeInValueRange ( int64_t range_start,
int64_t range_end,
int64_t value_min,
int64_t value_max ) const

◆ GetSmallestRangeLessThanValue()

std::pair< int64_t, int64_t > operations_research::PiecewiseLinearFunction::GetSmallestRangeLessThanValue ( int64_t range_start,
int64_t range_end,
int64_t value ) const

◆ InDomain()

bool operations_research::PiecewiseLinearFunction::InDomain ( int64_t x) const

◆ IsConvex()

bool operations_research::PiecewiseLinearFunction::IsConvex ( ) const

◆ IsNonDecreasing()

bool operations_research::PiecewiseLinearFunction::IsNonDecreasing ( ) const

◆ IsNonIncreasing()

bool operations_research::PiecewiseLinearFunction::IsNonIncreasing ( ) const

◆ segments()

const std::vector< PiecewiseSegment > & operations_research::PiecewiseLinearFunction::segments ( ) const
inline

◆ Subtract()

void operations_research::PiecewiseLinearFunction::Subtract ( const PiecewiseLinearFunction & other)

◆ Value()

int64_t operations_research::PiecewiseLinearFunction::Value ( int64_t x) const

◆ kNotFound

const int operations_research::PiecewiseLinearFunction::kNotFound = -1

static

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