OR-Tools  9.6
AllIntervalsHelper

Detailed Description

Definition at line 183 of file disjunctive.h.

Public Member Functions

 AllIntervalsHelper (Model *model)
 
bool Propagate () final
 
bool IncrementalPropagate (const std::vector< int > &watch_indices) final
 
void RegisterWith (GenericLiteralWatcher *watcher)
 
void SetLevel (int level) final
 
ABSL_MUST_USE_RESULT bool ResetFromSubset (const SchedulingConstraintHelper &other, absl::Span< const int > tasks)
 
int NumTasks () const
 
void SetTimeDirection (bool is_forward)
 
ABSL_MUST_USE_RESULT bool SynchronizeAndSetTimeDirection (bool is_forward)
 
IntegerValue SizeMin (int t) const
 
IntegerValue SizeMax (int t) const
 
IntegerValue StartMin (int t) const
 
IntegerValue EndMin (int t) const
 
IntegerValue StartMax (int t) const
 
IntegerValue EndMax (int t) const
 
IntegerValue ShiftedStartMin (int t) const
 
IntegerValue ShiftedEndMax (int t) const
 
bool StartIsFixed (int t) const
 
bool EndIsFixed (int t) const
 
bool SizeIsFixed (int t) const
 
bool IsOptional (int t) const
 
bool IsPresent (int t) const
 
bool IsAbsent (int t) const
 
IntegerValue GetMinOverlap (int t, IntegerValue start, IntegerValue end) const
 
std::string TaskDebugString (int t) const
 
const std::vector< TaskTime > & TaskByIncreasingStartMin ()
 
const std::vector< TaskTime > & TaskByIncreasingEndMin ()
 
const std::vector< TaskTime > & TaskByDecreasingStartMax ()
 
const std::vector< TaskTime > & TaskByDecreasingEndMax ()
 
const std::vector< TaskTime > & TaskByIncreasingShiftedStartMin ()
 
const std::vector< ProfileEvent > & GetEnergyProfile ()
 
void ClearReason ()
 
void AddPresenceReason (int t)
 
void AddAbsenceReason (int t)
 
void AddSizeMinReason (int t)
 
void AddSizeMinReason (int t, IntegerValue lower_bound)
 
void AddSizeMaxReason (int t, IntegerValue upper_bound)
 
void AddStartMinReason (int t, IntegerValue lower_bound)
 
void AddStartMaxReason (int t, IntegerValue upper_bound)
 
void AddEndMinReason (int t, IntegerValue lower_bound)
 
void AddEndMaxReason (int t, IntegerValue upper_bound)
 
void AddEnergyAfterReason (int t, IntegerValue energy_min, IntegerValue time)
 
void AddEnergyMinInIntervalReason (int t, IntegerValue min, IntegerValue max)
 
void AddReasonForBeingBefore (int before, int after)
 
std::vector< Literal > * MutableLiteralReason ()
 
std::vector< IntegerLiteral > * MutableIntegerReason ()
 
ABSL_MUST_USE_RESULT bool IncreaseStartMin (int t, IntegerValue value)
 
ABSL_MUST_USE_RESULT bool IncreaseEndMin (int t, IntegerValue value)
 
ABSL_MUST_USE_RESULT bool DecreaseEndMax (int t, IntegerValue value)
 
ABSL_MUST_USE_RESULT bool PushLiteral (Literal l)
 
ABSL_MUST_USE_RESULT bool PushTaskAbsence (int t)
 
ABSL_MUST_USE_RESULT bool PushTaskPresence (int t)
 
ABSL_MUST_USE_RESULT bool PushIntegerLiteral (IntegerLiteral lit)
 
ABSL_MUST_USE_RESULT bool ReportConflict ()
 
ABSL_MUST_USE_RESULT bool PushIntegerLiteralIfTaskPresent (int t, IntegerLiteral lit)
 
const std::vector< AffineExpression > & Starts () const
 
const std::vector< AffineExpression > & Ends () const
 
const std::vector< AffineExpression > & Sizes () const
 
Literal PresenceLiteral (int index) const
 
void WatchAllTasks (int id, GenericLiteralWatcher *watcher, bool watch_start_max=true, bool watch_end_max=true) const
 
void SetOtherHelper (SchedulingConstraintHelper *other_helper, absl::Span< const int > map_to_other_helper, IntegerValue event)
 
void ClearOtherHelper ()
 
void ImportOtherReasons (const SchedulingConstraintHelper &other_helper)
 
bool InPropagationLoop () const
 

Constructor & Destructor Documentation

◆ AllIntervalsHelper()

AllIntervalsHelper ( Model model)
inlineexplicit

Definition at line 185 of file disjunctive.h.

Member Function Documentation

◆ AddAbsenceReason()

void AddAbsenceReason ( int  t)
inlineinherited

Definition at line 667 of file intervals.h.

◆ AddEndMaxReason()

void AddEndMaxReason ( int  t,
IntegerValue  upper_bound 
)
inlineinherited

Definition at line 744 of file intervals.h.

◆ AddEndMinReason()

void AddEndMinReason ( int  t,
IntegerValue  lower_bound 
)
inlineinherited

Definition at line 736 of file intervals.h.

◆ AddEnergyAfterReason()

void AddEnergyAfterReason ( int  t,
IntegerValue  energy_min,
IntegerValue  time 
)
inlineinherited

Definition at line 751 of file intervals.h.

◆ AddEnergyMinInIntervalReason()

void AddEnergyMinInIntervalReason ( int  t,
IntegerValue  min,
IntegerValue  max 
)
inlineinherited

Definition at line 761 of file intervals.h.

◆ AddPresenceReason()

void AddPresenceReason ( int  t)
inlineinherited

Definition at line 659 of file intervals.h.

◆ AddReasonForBeingBefore()

void AddReasonForBeingBefore ( int  before,
int  after 
)
inherited

Definition at line 444 of file intervals.cc.

◆ AddSizeMaxReason()

void AddSizeMaxReason ( int  t,
IntegerValue  upper_bound 
)
inlineinherited

Definition at line 715 of file intervals.h.

◆ AddSizeMinReason() [1/2]

void AddSizeMinReason ( int  t)
inlineinherited

Definition at line 675 of file intervals.h.

◆ AddSizeMinReason() [2/2]

void AddSizeMinReason ( int  t,
IntegerValue  lower_bound 
)
inlineinherited

Definition at line 706 of file intervals.h.

◆ AddStartMaxReason()

void AddStartMaxReason ( int  t,
IntegerValue  upper_bound 
)
inlineinherited

Definition at line 729 of file intervals.h.

◆ AddStartMinReason()

void AddStartMinReason ( int  t,
IntegerValue  lower_bound 
)
inlineinherited

Definition at line 722 of file intervals.h.

◆ ClearOtherHelper()

void ClearOtherHelper ( )
inlineinherited

Definition at line 401 of file intervals.h.

◆ ClearReason()

void ClearReason ( )
inlineinherited

Definition at line 650 of file intervals.h.

◆ DecreaseEndMax()

bool DecreaseEndMax ( int  t,
IntegerValue  value 
)
inherited

Definition at line 539 of file intervals.cc.

◆ EndIsFixed()

bool EndIsFixed ( int  t) const
inlineinherited

Definition at line 628 of file intervals.h.

◆ EndMax()

IntegerValue EndMax ( int  t) const
inlineinherited

Definition at line 250 of file intervals.h.

◆ EndMin()

IntegerValue EndMin ( int  t) const
inlineinherited

Definition at line 248 of file intervals.h.

◆ Ends()

const std::vector<AffineExpression>& Ends ( ) const
inlineinherited

Definition at line 374 of file intervals.h.

◆ GetEnergyProfile()

const std::vector< SchedulingConstraintHelper::ProfileEvent > & GetEnergyProfile ( )
inherited

Definition at line 419 of file intervals.cc.

◆ GetMinOverlap()

IntegerValue GetMinOverlap ( int  t,
IntegerValue  start,
IntegerValue  end 
) const
inherited

Definition at line 640 of file intervals.cc.

◆ ImportOtherReasons()

void ImportOtherReasons ( const SchedulingConstraintHelper other_helper)
inherited

Definition at line 622 of file intervals.cc.

◆ IncreaseEndMin()

bool IncreaseEndMin ( int  t,
IntegerValue  value 
)
inherited

Definition at line 531 of file intervals.cc.

◆ IncreaseStartMin()

bool IncreaseStartMin ( int  t,
IntegerValue  value 
)
inherited

Definition at line 523 of file intervals.cc.

◆ IncrementalPropagate()

bool IncrementalPropagate ( const std::vector< int > &  watch_indices)
finalvirtualinherited

Reimplemented from PropagatorInterface.

Definition at line 142 of file intervals.cc.

◆ InPropagationLoop()

bool InPropagationLoop ( ) const
inlineinherited

Definition at line 412 of file intervals.h.

◆ IsAbsent()

bool IsAbsent ( int  t) const
inlineinherited

Definition at line 645 of file intervals.h.

◆ IsOptional()

bool IsOptional ( int  t) const
inlineinherited

Definition at line 636 of file intervals.h.

◆ IsPresent()

bool IsPresent ( int  t) const
inlineinherited

Definition at line 640 of file intervals.h.

◆ MutableIntegerReason()

std::vector<IntegerLiteral>* MutableIntegerReason ( )
inlineinherited

Definition at line 348 of file intervals.h.

◆ MutableLiteralReason()

std::vector<Literal>* MutableLiteralReason ( )
inlineinherited

Definition at line 347 of file intervals.h.

◆ NumTasks()

int NumTasks ( ) const
inlineinherited

Definition at line 220 of file intervals.h.

◆ PresenceLiteral()

Literal PresenceLiteral ( int  index) const
inlineinherited

Definition at line 376 of file intervals.h.

◆ Propagate()

bool Propagate ( )
finalvirtualinherited

Implements PropagatorInterface.

Definition at line 137 of file intervals.cc.

◆ PushIntegerLiteral()

bool PushIntegerLiteral ( IntegerLiteral  lit)
inherited

Definition at line 496 of file intervals.cc.

◆ PushIntegerLiteralIfTaskPresent()

bool PushIntegerLiteralIfTaskPresent ( int  t,
IntegerLiteral  lit 
)
inherited

Definition at line 501 of file intervals.cc.

◆ PushLiteral()

bool PushLiteral ( Literal  l)
inherited

Definition at line 547 of file intervals.cc.

◆ PushTaskAbsence()

bool PushTaskAbsence ( int  t)
inherited

Definition at line 552 of file intervals.cc.

◆ PushTaskPresence()

bool PushTaskPresence ( int  t)
inherited

Definition at line 568 of file intervals.cc.

◆ RegisterWith()

void RegisterWith ( GenericLiteralWatcher watcher)
inherited

Definition at line 161 of file intervals.cc.

◆ ReportConflict()

bool ReportConflict ( )
inherited

Definition at line 584 of file intervals.cc.

◆ ResetFromSubset()

bool ResetFromSubset ( const SchedulingConstraintHelper other,
absl::Span< const int >  tasks 
)
inherited

Definition at line 251 of file intervals.cc.

◆ SetLevel()

void SetLevel ( int  level)
finalvirtualinherited

Implements ReversibleInterface.

Definition at line 148 of file intervals.cc.

◆ SetOtherHelper()

void SetOtherHelper ( SchedulingConstraintHelper other_helper,
absl::Span< const int >  map_to_other_helper,
IntegerValue  event 
)
inlineinherited

Definition at line 392 of file intervals.h.

◆ SetTimeDirection()

void SetTimeDirection ( bool  is_forward)
inherited

Definition at line 310 of file intervals.cc.

◆ ShiftedEndMax()

IntegerValue ShiftedEndMax ( int  t) const
inlineinherited

Definition at line 272 of file intervals.h.

◆ ShiftedStartMin()

IntegerValue ShiftedStartMin ( int  t) const
inlineinherited

Definition at line 266 of file intervals.h.

◆ SizeIsFixed()

bool SizeIsFixed ( int  t) const
inlineinherited

Definition at line 632 of file intervals.h.

◆ SizeMax()

IntegerValue SizeMax ( int  t) const
inlineinherited

Definition at line 243 of file intervals.h.

◆ SizeMin()

IntegerValue SizeMin ( int  t) const
inlineinherited

Definition at line 242 of file intervals.h.

◆ Sizes()

const std::vector<AffineExpression>& Sizes ( ) const
inlineinherited

Definition at line 375 of file intervals.h.

◆ StartIsFixed()

bool StartIsFixed ( int  t) const
inlineinherited

Definition at line 624 of file intervals.h.

◆ StartMax()

IntegerValue StartMax ( int  t) const
inlineinherited

Definition at line 249 of file intervals.h.

◆ StartMin()

IntegerValue StartMin ( int  t) const
inlineinherited

Definition at line 247 of file intervals.h.

◆ Starts()

const std::vector<AffineExpression>& Starts ( ) const
inlineinherited

Definition at line 373 of file intervals.h.

◆ SynchronizeAndSetTimeDirection()

bool SynchronizeAndSetTimeDirection ( bool  is_forward)
inherited

Definition at line 330 of file intervals.cc.

◆ TaskByDecreasingEndMax()

const std::vector< TaskTime > & TaskByDecreasingEndMax ( )
inherited

Definition at line 386 of file intervals.cc.

◆ TaskByDecreasingStartMax()

const std::vector< TaskTime > & TaskByDecreasingStartMax ( )
inherited

Definition at line 373 of file intervals.cc.

◆ TaskByIncreasingEndMin()

const std::vector< TaskTime > & TaskByIncreasingEndMin ( )
inherited

Definition at line 361 of file intervals.cc.

◆ TaskByIncreasingShiftedStartMin()

const std::vector< TaskTime > & TaskByIncreasingShiftedStartMin ( )
inherited

Definition at line 398 of file intervals.cc.

◆ TaskByIncreasingStartMin()

const std::vector< TaskTime > & TaskByIncreasingStartMin ( )
inherited

Definition at line 349 of file intervals.cc.

◆ TaskDebugString()

std::string TaskDebugString ( int  t) const
inherited

Definition at line 632 of file intervals.cc.

◆ WatchAllTasks()

void WatchAllTasks ( int  id,
GenericLiteralWatcher watcher,
bool  watch_start_max = true,
bool  watch_end_max = true 
) const
inherited

Definition at line 589 of file intervals.cc.


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