MineLink
 All Data Structures Functions Variables Pages
delphos::GeometricConstraint Class Reference

A geometric constraint. More...

#include <constraint.h>

Inheritance diagram for delphos::GeometricConstraint:
Inheritance graph
Collaboration diagram for delphos::GeometricConstraint:
Collaboration graph

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...
 
- Public Member Functions inherited from delphos::PrecedenceConstraint
 PrecedenceConstraint (const string &name, const delphos::Precedence &prec)
 Creates a new precedence constraint. More...
 
virtual ~PrecedenceConstraint ()
 Destroys the precedence constraint.
 
- Public Member Functions inherited from delphos::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.
 

Detailed Description

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).

Constructor & Destructor Documentation

delphos::GeometricConstraint::GeometricConstraint ( const string &  name,
const delphos::RampPrecedence rprec,
const unsigned int  delta 
)

Creates a new geometric constraint.

Parameters
nameThe name of the precedence constraint.
rprecThe ramp precedence object.
deltaThe 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.

Member Function Documentation

bool delphos::GeometricConstraint::Check ( const delphos::Schedule sch) const
virtual

Checks if the constraint is satisfied.

Parameters
schThe schedule to be checked.

Returns true only if the constraint is satisfied.

Reimplemented from delphos::PrecedenceConstraint.

bool delphos::GeometricConstraint::Check ( const delphos::FractionalSchedule sch) const
virtual

Checks if the given fractional schedule satisfies the constraint.

Parameters
fschThe 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.

const RampPrecedence & delphos::GeometricConstraint::GetPrecedence ( ) const
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.


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