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:

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 3877 of file model.h.


Member Typedef Documentation

Definition at line 3914 of file model.h.

Definition at line 3915 of file model.h.


Constructor & Destructor Documentation

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

Constructor.

Definition at line 3889 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 3942 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 3930 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 3905 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 3965 of file model.h.

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

Returns a reference to the list of loadplans.

Definition at line 3921 of file model.h.

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

Returns a reference to the list of loadplans.

Definition at line 3918 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 3926 of file model.h.

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

Returns the location of this resource.

Definition at line 3946 of file model.h.

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

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

Definition at line 3972 of file model.h.

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

Return a pointer to the maximum capacity profile.

Definition at line 3900 of file model.h.

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

Return the current setup.

Definition at line 3989 of file model.h.

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

Return a pointer to the setup matrix.

Definition at line 3983 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 3967 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 3908 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 3964 of file model.h.

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

Updates the location of this resource.

Definition at line 3949 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 3976 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 3992 of file model.h.

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

Update the reference to the setup matrix.

Definition at line 3986 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 3951 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 3880 of file model.h.

friend class LoadPlan [friend]

Definition at line 3881 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 3886 of file model.h.

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

Definition at line 3968 of file model.h.


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

Documentation generated for frePPLe by  doxygen