![]() |
MineLink
|
A geometric constraint. More...
#include <constraint.h>
Public Member Functions | |
GeometricConstraint (const string &name, const delphos::RampPrecedence &rprec, const unsigned int delta) | |
Creates a new geometric constraint. More... | |
virtual | ~GeometricConstraint () |
Destroys the precedence constraint. | |
virtual const delphos::RampPrecedence & | GetPrecedence () const |
Returns the precedence object associated to the constraint. More... | |
virtual bool | Check (const delphos::Schedule &sch) const |
Checks if the constraint is satisfied. More... | |
virtual bool | Check (const delphos::FractionalSchedule &sch) const |
Checks if the given fractional schedule satisfies the constraint. More... | |
const unsigned int | GetTimeDifference () const |
Returns the constraint's extraction time difference. More... | |
![]() | |
PrecedenceConstraint (const string &name, const delphos::Precedence &prec) | |
Creates a new precedence constraint. More... | |
virtual | ~PrecedenceConstraint () |
Destroys the precedence constraint. | |
![]() | |
Constraint (const string &name) | |
Creates a constraint with given name. More... | |
virtual | ~Constraint () |
Destructor. More... | |
virtual string | ToXML (const unsigned int identation_level=0) const |
A XML string describing the constraint. More... | |
const char * | TypeName () const |
a char string used a identifier in the XML representation of the constraint. | |
A geometric constraint.
Geometric constraints takes a precedence relationship between blocks and forces that the second -"From"- block must be extracted at most \(\Delta\) periods after the first -"To"- block. A Geometric Constraint is always bound to a set of horizontal precedences (RampPrecedence object).
delphos::GeometricConstraint::GeometricConstraint | ( | const string & | name, |
const delphos::RampPrecedence & | rprec, | ||
const unsigned int | delta | ||
) |
Creates a new geometric constraint.
name | The name of the precedence constraint. |
rprec | The ramp precedence object. |
delta | The maximum time difference between the extraction of blocks. |
This method creates a new geometric constraint, which is given by a ramp precedence object (already computed), a name within the instance and the maximum time difference between the blocks. Clearly, \(\Delta \in \{1,\ldots,T\}\) , where \(T\) is the horizon of the objective SchedulingInstance that will contain the constraint.
|
virtual |
Checks if the constraint is satisfied.
sch | The schedule to be checked. |
Returns true only if the constraint is satisfied.
Reimplemented from delphos::PrecedenceConstraint.
|
virtual |
Checks if the given fractional schedule satisfies the constraint.
fsch | The fractional schedule to be checked. |
This method checks if the given schedule satisfies the constraint (returning true) or not (returning false).
Reimplemented from delphos::PrecedenceConstraint.
|
virtual |
Returns the precedence object associated to the constraint.
Returns the precedence object -inside the RampPrecedence- associated to the constraint.
Reimplemented from delphos::PrecedenceConstraint.
const unsigned int delphos::GeometricConstraint::GetTimeDifference | ( | ) | const |
Returns the constraint's extraction time difference.
Returns the constraint's extraction time difference.