frepple::Resource Class Reference

This class represents a workcentre, a physical or logical representation of capacity. More...

#include <model.h>

Inheritance diagram for frepple::Resource:
frepple::utils::HasHierarchy< Resource > frepple::HasLevel frepple::Plannable frepple::utils::HasDescription frepple::utils::HasName< Resource > frepple::HasProblems frepple::Solvable frepple::utils::NonCopyable frepple::utils::Tree::TreeNode frepple::utils::Object frepple::utils::PythonExtensionBase frepple::ResourceDefault frepple::ResourceInfinite

List of all members.

Public Types

typedef Association< Operation,
Resource, Load >::ListB 
loadlist
typedef TimeLine< LoadPlanloadplanlist

Public Member Functions

void beginElement (XMLInput &, const Attribute &)
void deleteOperationPlans (bool=false)
void endElement (XMLInput &, const Attribute &, const DataElement &)
size_t extrasize () const
LoadfindLoad (const Operation *o, Date d) const
virtual PyObject * getattro (const Attribute &)
double getCost () const
bool getHidden () const
loadplanlistgetLoadPlans ()
const loadplanlistgetLoadPlans () const
const loadlistgetLoads () const
LocationgetLocation () const
TimePeriod getMaxEarly () const
CalendarDoublegetMaximum () const
const string & getSetup () const
SetupMatrixgetSetupMatrix () const
virtual const MetaClassgetType () const
 Resource (const string &str)
virtual int setattro (const Attribute &, const PythonObject &)
void setCost (const double c)
void setHidden (bool b)
void setLocation (Location *i)
void setMaxEarly (TimePeriod c)
void setMaximum (CalendarDouble *c)
void setSetup (const string s)
void setSetupMatrix (SetupMatrix *s)
virtual void solve (Solver &s, void *v=NULL) const
virtual void updateProblems ()
virtual void updateSetups (const LoadPlan *=NULL)
virtual void writeElement (XMLOutput *, const Keyword &, mode=DEFAULT) const
virtual ~Resource ()

Static Public Member Functions

static int initialize ()

Static Public Attributes

static const long defaultMaxEarly = 100*86400L
static const MetaCategorymetadata

Friends

class Load
class LoadPlan

Detailed Description

This class represents a workcentre, a physical or logical representation of capacity.

Definition at line 3793 of file model.h.


Member Typedef Documentation

Definition at line 3830 of file model.h.

Definition at line 3831 of file model.h.


Constructor & Destructor Documentation

frepple::Resource::Resource ( const string &  str  )  [inline, explicit]

Constructor.

Definition at line 3805 of file model.h.

frepple::Resource::~Resource (  )  [virtual]

Destructor.

Definition at line 244 of file resource.cpp.


Member Function Documentation

void frepple::Resource::beginElement ( XMLInput ,
const Attribute  
) [virtual]

Called while restoring the model from an XML-file.
This is called for each element within the "this" element, for which the "this" element is immediate parent.
It is called when the open element tag is encountered.

Reimplemented from frepple::utils::HasHierarchy< Resource >.

Definition at line 165 of file resource.cpp.

void frepple::Resource::deleteOperationPlans ( bool  deleteLocked = false  ) 

Deletes all operationplans loading this resource. The boolean parameter controls whether we delete also locked operationplans or not.

Definition at line 233 of file resource.cpp.

void frepple::Resource::endElement ( XMLInput pIn,
const Attribute pAttr,
const DataElement pElement 
) [virtual]

Reimplemented from frepple::Plannable.

Definition at line 187 of file resource.cpp.

size_t frepple::Resource::extrasize (  )  const [inline]

Returns the memory size in bytes.

Reimplemented from frepple::utils::HasDescription.

Definition at line 3858 of file model.h.

Load* frepple::Resource::findLoad ( const Operation o,
Date  d 
) const [inline]

Return the load that is associates a given operation with this resource. Returns NULL is no such load exists.

Definition at line 3846 of file model.h.

PyObject * frepple::Resource::getattro ( const Attribute attr  )  [virtual]

Default getattro method.
Subclasses are expected to implement an override if the type supports gettattro.

Reimplemented from frepple::utils::PythonExtensionBase.

Definition at line 318 of file resource.cpp.

double frepple::Resource::getCost (  )  const [inline]

Returns the cost of using 1 unit of this resource for 1 hour.
The default value is 0.0.

Definition at line 3821 of file model.h.

bool frepple::Resource::getHidden (  )  const [inline, virtual]

Returns whether an entity is real or dummy.

Reimplemented from frepple::utils::Object.

Definition at line 3881 of file model.h.

loadplanlist& frepple::Resource::getLoadPlans (  )  [inline]

Returns a reference to the list of loadplans.

Definition at line 3837 of file model.h.

const loadplanlist& frepple::Resource::getLoadPlans (  )  const [inline]

Returns a reference to the list of loadplans.

Definition at line 3834 of file model.h.

const loadlist& frepple::Resource::getLoads (  )  const [inline]

Returns a constant reference to the list of loads. It defines which operations are using the resource.

Definition at line 3842 of file model.h.

Location* frepple::Resource::getLocation (  )  const [inline]

Returns the location of this resource.

Definition at line 3862 of file model.h.

TimePeriod frepple::Resource::getMaxEarly (  )  const [inline]

Returns the maximum inventory buildup allowed in case of capacity shortages.

Definition at line 3888 of file model.h.

CalendarDouble* frepple::Resource::getMaximum (  )  const [inline]

Return a pointer to the maximum capacity profile.

Definition at line 3816 of file model.h.

const string& frepple::Resource::getSetup (  )  const [inline]

Return the current setup.

Definition at line 3905 of file model.h.

SetupMatrix* frepple::Resource::getSetupMatrix (  )  const [inline]

Return a pointer to the setup matrix.

Definition at line 3899 of file model.h.

virtual const MetaClass& frepple::Resource::getType (  )  const [inline, virtual]

This returns the type information on the object, a bit similar to the standard type_info information.

Implements frepple::utils::Object.

Reimplemented in frepple::ResourceDefault, and frepple::ResourceInfinite.

Definition at line 3883 of file model.h.

int frepple::Resource::initialize (  )  [static]

Initialize the class.

Reimplemented in frepple::ResourceDefault, and frepple::ResourceInfinite.

Definition at line 40 of file resource.cpp.

int frepple::Resource::setattro ( const Attribute attr,
const PythonObject field 
) [virtual]

Default setattro method.
Subclasses are expected to implement an override if the type supports settattro.

Reimplemented from frepple::utils::PythonExtensionBase.

Definition at line 356 of file resource.cpp.

void frepple::Resource::setCost ( const double  c  )  [inline]

Update the cost of using 1 unit of this resource for 1 hour.

Definition at line 3824 of file model.h.

void frepple::Resource::setHidden ( bool  b  )  [inline, virtual]

Mark the object as hidden or not. Hidden objects are not exported and are used only as dummy constructs.

Reimplemented from frepple::utils::Object.

Definition at line 3880 of file model.h.

void frepple::Resource::setLocation ( Location i  )  [inline]

Updates the location of this resource.

Definition at line 3865 of file model.h.

void frepple::Resource::setMaxEarly ( TimePeriod  c  )  [inline]

Updates the maximum inventory buildup allowed in case of capacity shortages.

Definition at line 3892 of file model.h.

void frepple::Resource::setMaximum ( CalendarDouble c  ) 

Updates the size of a resource.

Definition at line 77 of file resource.cpp.

void frepple::Resource::setSetup ( const string  s  )  [inline]

Update the current setup.

Definition at line 3908 of file model.h.

void frepple::Resource::setSetupMatrix ( SetupMatrix s  )  [inline]

Update the reference to the setup matrix.

Definition at line 3902 of file model.h.

virtual void frepple::Resource::solve ( Solver s,
void *  v = NULL 
) const [inline, virtual]

This method is called by solver classes. The implementation of this class simply calls the solve method on the solver class. Using the polymorphism the solver can implement seperate methods for different plannable subclasses.

Reimplemented from frepple::Solvable.

Reimplemented in frepple::ResourceInfinite.

Definition at line 3867 of file model.h.

void frepple::Resource::updateProblems (  )  [virtual]

Recompute the problems of this resource.

Implements frepple::HasProblems.

Definition at line 35 of file problems_resource.cpp.

void frepple::Resource::updateSetups ( const LoadPlan ldplan = NULL  )  [virtual]

Scan the setups of this resource.

Definition at line 257 of file resource.cpp.

void frepple::Resource::writeElement ( XMLOutput o,
const Keyword tag,
mode  m = DEFAULT 
) const [virtual]

Reimplemented from frepple::Plannable.

Reimplemented in frepple::ResourceInfinite.

Definition at line 114 of file resource.cpp.


Friends And Related Function Documentation

friend class Load [friend]

Definition at line 3796 of file model.h.

friend class LoadPlan [friend]

Definition at line 3797 of file model.h.


Member Data Documentation

const long frepple::Resource::defaultMaxEarly = 100*86400L [static]

The default time window before the ask date where we look for available capacity.

Definition at line 3802 of file model.h.

Reimplemented in frepple::ResourceDefault, and frepple::ResourceInfinite.

Definition at line 3884 of file model.h.


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

Generated on 16 Apr 2010 for frePPLe by  doxygen 1.6.1