Generated on: Thu Mar 29 07:46:58 PDT 2012 for custom file set
// doxy/ or-tools/ src/ constraint_solver/

operations_research::IntervalVar Class Reference

Interval Var. More...

#include <constraint_solver.h>

Inheritance diagram for operations_research::IntervalVar:

operations_research::PropagationBaseObject operations_research::BaseObject

List of all members.

Public Member Functions

 IntervalVar (Solver *const solver, const string &name)
virtual ~IntervalVar ()
virtual int64 StartMin () const =0
 These methods query, set and watch the start position of the interval var.
virtual int64 StartMax () const =0
virtual void SetStartMin (int64 m)=0
virtual void SetStartMax (int64 m)=0
virtual void SetStartRange (int64 mi, int64 ma)=0
virtual void WhenStartRange (Demon *const d)=0
virtual void WhenStartBound (Demon *const d)=0
virtual int64 DurationMin () const =0
 These methods query, set and watch the duration of the interval var.
virtual int64 DurationMax () const =0
virtual void SetDurationMin (int64 m)=0
virtual void SetDurationMax (int64 m)=0
virtual void SetDurationRange (int64 mi, int64 ma)=0
virtual void WhenDurationRange (Demon *const d)=0
virtual void WhenDurationBound (Demon *const d)=0
virtual int64 EndMin () const =0
 These methods query, set and watch the end position of the interval var.
virtual int64 EndMax () const =0
virtual void SetEndMin (int64 m)=0
virtual void SetEndMax (int64 m)=0
virtual void SetEndRange (int64 mi, int64 ma)=0
virtual void WhenEndRange (Demon *const d)=0
virtual void WhenEndBound (Demon *const d)=0
virtual bool MustBePerformed () const =0
 These methods query, set and watches the performed status of the interval var.
virtual bool MayBePerformed () const =0
bool CannotBePerformed () const
bool IsPerformedBound ()
virtual void SetPerformed (bool val)=0
virtual void WhenPerformedBound (Demon *const d)=0
void WhenAnything (Demon *const d)
 Attaches a demon awakened when anything about this interval changes.
IntExprStartExpr ()
 These methods create expressions encapsulating the start, end and duration of the interval var.
IntExprDurationExpr ()
IntExprEndExpr ()
IntExprPerformedExpr ()
virtual void Accept (ModelVisitor *const visitor) const =0
 Accepts the given visitor.

Static Public Attributes

static const int64 kMinValidValue = -kMaxValidValue
 The smallest acceptable value to be returned by StartMin().
static const int64 kMaxValidValue = kint64max >> 2
 The largest acceptable value to be returned by EndMax().


Detailed Description

Interval Var.

An interval var is often used in scheduling. Its main characteristics are its start position, its duration and its end date. All these characteristics can be queried, set and demons can be posted on their modifications. An important aspect is optionality. An interval var can be performed or not. If unperformed, then it simply does not exist. Its characteristics cannot be accessed anymore. An interval var is automatically marked as unperformed when it is not consistent anymore (start greater than end, duration < 0...)

Definition at line 4092 of file constraint_solver.h.


Constructor & Destructor Documentation

operations_research::IntervalVar::IntervalVar ( Solver *const   solver,
const string &  name 
) [inline]

Definition at line 4098 of file constraint_solver.h.

virtual operations_research::IntervalVar::~IntervalVar (  )  [inline, virtual]

Definition at line 4104 of file constraint_solver.h.


Member Function Documentation

virtual int64 operations_research::IntervalVar::StartMin (  )  const [pure virtual]

These methods query, set and watch the start position of the interval var.

virtual int64 operations_research::IntervalVar::StartMax (  )  const [pure virtual]

virtual void operations_research::IntervalVar::SetStartMin ( int64  m  )  [pure virtual]

virtual void operations_research::IntervalVar::SetStartMax ( int64  m  )  [pure virtual]

virtual void operations_research::IntervalVar::SetStartRange ( int64  mi,
int64  ma 
) [pure virtual]

virtual void operations_research::IntervalVar::WhenStartRange ( Demon *const   d  )  [pure virtual]

virtual void operations_research::IntervalVar::WhenStartBound ( Demon *const   d  )  [pure virtual]

virtual int64 operations_research::IntervalVar::DurationMin (  )  const [pure virtual]

These methods query, set and watch the duration of the interval var.

virtual int64 operations_research::IntervalVar::DurationMax (  )  const [pure virtual]

virtual void operations_research::IntervalVar::SetDurationMin ( int64  m  )  [pure virtual]

virtual void operations_research::IntervalVar::SetDurationMax ( int64  m  )  [pure virtual]

virtual void operations_research::IntervalVar::SetDurationRange ( int64  mi,
int64  ma 
) [pure virtual]

virtual void operations_research::IntervalVar::WhenDurationRange ( Demon *const   d  )  [pure virtual]

virtual void operations_research::IntervalVar::WhenDurationBound ( Demon *const   d  )  [pure virtual]

virtual int64 operations_research::IntervalVar::EndMin (  )  const [pure virtual]

These methods query, set and watch the end position of the interval var.

virtual int64 operations_research::IntervalVar::EndMax (  )  const [pure virtual]

virtual void operations_research::IntervalVar::SetEndMin ( int64  m  )  [pure virtual]

virtual void operations_research::IntervalVar::SetEndMax ( int64  m  )  [pure virtual]

virtual void operations_research::IntervalVar::SetEndRange ( int64  mi,
int64  ma 
) [pure virtual]

virtual void operations_research::IntervalVar::WhenEndRange ( Demon *const   d  )  [pure virtual]

virtual void operations_research::IntervalVar::WhenEndBound ( Demon *const   d  )  [pure virtual]

virtual bool operations_research::IntervalVar::MustBePerformed (  )  const [pure virtual]

These methods query, set and watches the performed status of the interval var.

virtual bool operations_research::IntervalVar::MayBePerformed (  )  const [pure virtual]

bool operations_research::IntervalVar::CannotBePerformed (  )  const [inline]

Definition at line 4138 of file constraint_solver.h.

bool operations_research::IntervalVar::IsPerformedBound (  )  [inline]

Definition at line 4139 of file constraint_solver.h.

virtual void operations_research::IntervalVar::SetPerformed ( bool  val  )  [pure virtual]

virtual void operations_research::IntervalVar::WhenPerformedBound ( Demon *const   d  )  [pure virtual]

void operations_research::IntervalVar::WhenAnything ( Demon *const   d  ) 

Attaches a demon awakened when anything about this interval changes.

namespace

API

Definition at line 1407 of file interval.cc.

IntExpr * operations_research::IntervalVar::StartExpr (  ) 

These methods create expressions encapsulating the start, end and duration of the interval var.

Please note that these must not be used if the interval var is unperformed.

Definition at line 1414 of file interval.cc.

IntExpr * operations_research::IntervalVar::DurationExpr (  ) 

Definition at line 1426 of file interval.cc.

IntExpr * operations_research::IntervalVar::EndExpr (  ) 

Definition at line 1438 of file interval.cc.

IntExpr * operations_research::IntervalVar::PerformedExpr (  ) 

Definition at line 1450 of file interval.cc.

virtual void operations_research::IntervalVar::Accept ( ModelVisitor *const   visitor  )  const [pure virtual]

Accepts the given visitor.


Member Data Documentation

The smallest acceptable value to be returned by StartMin().

Definition at line 4095 of file constraint_solver.h.

const int64 operations_research::IntervalVar::kMaxValidValue = kint64max >> 2 [static]

The largest acceptable value to be returned by EndMax().

Interval Var.

It's good to have the two extreme values being symmetrical around zero: it makes mirroring easier.

Definition at line 4097 of file constraint_solver.h.


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