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

Detailed Description

Definition at line 45 of file intervals.h.

#include <intervals.h>

Classes

struct  CumulativeHelper

Public Member Functions

 IntervalsRepository (Model *model)
 IntervalsRepository (const IntervalsRepository &)=delete
IntervalsRepositoryoperator= (const IntervalsRepository &)=delete
int NumIntervals () const
IntervalVariable CreateInterval (IntegerVariable start, IntegerVariable end, IntegerVariable size, IntegerValue fixed_size, LiteralIndex is_present)
IntervalVariable CreateInterval (AffineExpression start, AffineExpression end, AffineExpression size, LiteralIndex is_present=kNoLiteralIndex, bool add_linear_relation=false)
bool IsOptional (IntervalVariable i) const
Literal PresenceLiteral (IntervalVariable i) const
bool IsPresent (IntervalVariable i) const
bool IsAbsent (IntervalVariable i) const
AffineExpression Size (IntervalVariable i) const
AffineExpression Start (IntervalVariable i) const
AffineExpression End (IntervalVariable i) const
IntegerValue MinSize (IntervalVariable i) const
IntegerValue MaxSize (IntervalVariable i) const
std::vector< IntervalVariable > AllIntervals () const
SchedulingConstraintHelperGetOrCreateHelper (std::vector< Literal > enforcement_literals, const std::vector< IntervalVariable > &variables, bool register_as_disjunctive_helper=false)
NoOverlap2DConstraintHelperGetOrCreate2DHelper (std::vector< Literal > enforcement_literals, const std::vector< IntervalVariable > &x_variables, const std::vector< IntervalVariable > &y_variables)
SchedulingDemandHelperGetOrCreateDemandHelper (SchedulingConstraintHelper *helper, absl::Span< const AffineExpression > demands)
void InitAllDecomposedEnergies ()
void CreateDisjunctivePrecedenceLiteral (IntervalVariable a, IntervalVariable b)
LiteralIndex GetOrCreateDisjunctivePrecedenceLiteralIfNonTrivial (const IntervalDefinition &a, const IntervalDefinition &b)
bool CreatePrecedenceLiteralIfNonTrivial (AffineExpression x, AffineExpression y)
LiteralIndex GetPrecedenceLiteral (AffineExpression x, AffineExpression y) const
Literal GetOrCreatePrecedenceLiteral (AffineExpression x, AffineExpression y)
const std::vector< SchedulingConstraintHelper * > & AllDisjunctiveHelpers () const
void RegisterCumulative (CumulativeHelper helper)
const std::vector< CumulativeHelper > & AllCumulativeHelpers () const

Constructor & Destructor Documentation

◆ IntervalsRepository() [1/2]

operations_research::sat::IntervalsRepository::IntervalsRepository ( Model * model)
explicit

Definition at line 42 of file intervals.cc.

◆ IntervalsRepository() [2/2]

operations_research::sat::IntervalsRepository::IntervalsRepository ( const IntervalsRepository & )
delete

Member Function Documentation

◆ AllCumulativeHelpers()

const std::vector< CumulativeHelper > & operations_research::sat::IntervalsRepository::AllCumulativeHelpers ( ) const
inline

Definition at line 185 of file intervals.h.

◆ AllDisjunctiveHelpers()

const std::vector< SchedulingConstraintHelper * > & operations_research::sat::IntervalsRepository::AllDisjunctiveHelpers ( ) const
inline

Definition at line 170 of file intervals.h.

◆ AllIntervals()

std::vector< IntervalVariable > operations_research::sat::IntervalsRepository::AllIntervals ( ) const
inline

Definition at line 108 of file intervals.h.

◆ CreateDisjunctivePrecedenceLiteral()

void operations_research::sat::IntervalsRepository::CreateDisjunctivePrecedenceLiteral ( IntervalVariable a,
IntervalVariable b )

Definition at line 94 of file intervals.cc.

◆ CreateInterval() [1/2]

IntervalVariable operations_research::sat::IntervalsRepository::CreateInterval ( AffineExpression start,
AffineExpression end,
AffineExpression size,
LiteralIndex is_present = kNoLiteralIndex,
bool add_linear_relation = false )

Definition at line 65 of file intervals.cc.

◆ CreateInterval() [2/2]

IntervalVariable operations_research::sat::IntervalsRepository::CreateInterval ( IntegerVariable start,
IntegerVariable end,
IntegerVariable size,
IntegerValue fixed_size,
LiteralIndex is_present )

Definition at line 53 of file intervals.cc.

◆ CreatePrecedenceLiteralIfNonTrivial()

bool operations_research::sat::IntervalsRepository::CreatePrecedenceLiteralIfNonTrivial ( AffineExpression x,
AffineExpression y )

Definition at line 270 of file intervals.cc.

◆ End()

AffineExpression operations_research::sat::IntervalsRepository::End ( IntervalVariable i) const
inline

Definition at line 95 of file intervals.h.

◆ GetOrCreate2DHelper()

NoOverlap2DConstraintHelper * operations_research::sat::IntervalsRepository::GetOrCreate2DHelper ( std::vector< Literal > enforcement_literals,
const std::vector< IntervalVariable > & x_variables,
const std::vector< IntervalVariable > & y_variables )

Definition at line 399 of file intervals.cc.

◆ GetOrCreateDemandHelper()

SchedulingDemandHelper * operations_research::sat::IntervalsRepository::GetOrCreateDemandHelper ( SchedulingConstraintHelper * helper,
absl::Span< const AffineExpression > demands )

Definition at line 450 of file intervals.cc.

◆ GetOrCreateDisjunctivePrecedenceLiteralIfNonTrivial()

LiteralIndex operations_research::sat::IntervalsRepository::GetOrCreateDisjunctivePrecedenceLiteralIfNonTrivial ( const IntervalDefinition & a,
const IntervalDefinition & b )

Definition at line 112 of file intervals.cc.

◆ GetOrCreateHelper()

SchedulingConstraintHelper * operations_research::sat::IntervalsRepository::GetOrCreateHelper ( std::vector< Literal > enforcement_literals,
const std::vector< IntervalVariable > & variables,
bool register_as_disjunctive_helper = false )

Definition at line 357 of file intervals.cc.

◆ GetOrCreatePrecedenceLiteral()

Literal operations_research::sat::IntervalsRepository::GetOrCreatePrecedenceLiteral ( AffineExpression x,
AffineExpression y )

Definition at line 341 of file intervals.cc.

◆ GetPrecedenceLiteral()

LiteralIndex operations_research::sat::IntervalsRepository::GetPrecedenceLiteral ( AffineExpression x,
AffineExpression y ) const

Definition at line 315 of file intervals.cc.

◆ InitAllDecomposedEnergies()

void operations_research::sat::IntervalsRepository::InitAllDecomposedEnergies ( )

Definition at line 466 of file intervals.cc.

◆ IsAbsent()

bool operations_research::sat::IntervalsRepository::IsAbsent ( IntervalVariable i) const
inline

Definition at line 81 of file intervals.h.

◆ IsOptional()

bool operations_research::sat::IntervalsRepository::IsOptional ( IntervalVariable i) const
inline

Definition at line 71 of file intervals.h.

◆ IsPresent()

bool operations_research::sat::IntervalsRepository::IsPresent ( IntervalVariable i) const
inline

Definition at line 77 of file intervals.h.

◆ MaxSize()

IntegerValue operations_research::sat::IntervalsRepository::MaxSize ( IntervalVariable i) const
inline

Definition at line 103 of file intervals.h.

◆ MinSize()

IntegerValue operations_research::sat::IntervalsRepository::MinSize ( IntervalVariable i) const
inline

Definition at line 98 of file intervals.h.

◆ NumIntervals()

int operations_research::sat::IntervalsRepository::NumIntervals ( ) const
inline

Definition at line 55 of file intervals.h.

◆ operator=()

IntervalsRepository & operations_research::sat::IntervalsRepository::operator= ( const IntervalsRepository & )
delete

◆ PresenceLiteral()

Literal operations_research::sat::IntervalsRepository::PresenceLiteral ( IntervalVariable i) const
inline

Definition at line 74 of file intervals.h.

◆ RegisterCumulative()

void operations_research::sat::IntervalsRepository::RegisterCumulative ( CumulativeHelper helper)
inline

Definition at line 182 of file intervals.h.

◆ Size()

AffineExpression operations_research::sat::IntervalsRepository::Size ( IntervalVariable i) const
inline

Definition at line 93 of file intervals.h.

◆ Start()

AffineExpression operations_research::sat::IntervalsRepository::Start ( IntervalVariable i) const
inline

Definition at line 94 of file intervals.h.


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