Generated on: Thu Mar 29 07:46:58 PDT 2012 for custom file set | ||
|
||
// doxy/ or-tools/ src/ constraint_solver/ |
#include <constraint_solver.h>
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. | |
IntExpr * | StartExpr () |
These methods create expressions encapsulating the start, end and duration of the interval var. | |
IntExpr * | DurationExpr () |
IntExpr * | EndExpr () |
IntExpr * | PerformedExpr () |
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(). |
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.
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.
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.
const int64 operations_research::IntervalVar::kMinValidValue = -kMaxValidValue [static] |
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.