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.

Classes

class  PlanIterator
 This class provides an efficient way to iterate over the plan of a resource aggregated in time buckets. More...

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
const loadplanlistgetLoadPlans () const
loadplanlistgetLoadPlans ()
const loadlistgetLoads () const
LocationgetLocation () const
TimePeriod getMaxEarly () const
double getMaximum () const
CalendarDoublegetMaximumCalendar () 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 (double)
void setMaximumCalendar (CalendarDouble *)
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 3712 of file model.h.


Member Typedef Documentation

Definition at line 3757 of file model.h.

Definition at line 3758 of file model.h.


Constructor & Destructor Documentation

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

Constructor.

Definition at line 3726 of file model.h.

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

Destructor.

Definition at line 284 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 203 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 273 of file resource.cpp.

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

Reimplemented from frepple::Plannable.

Definition at line 225 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 3785 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 3773 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 358 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 3748 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 3808 of file model.h.

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

Returns a reference to the list of loadplans.

Definition at line 3761 of file model.h.

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

Returns a reference to the list of loadplans.

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

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

Returns the location of this resource.

Definition at line 3789 of file model.h.

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

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

Definition at line 3815 of file model.h.

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

Return a pointer to the maximum capacity.

Definition at line 3743 of file model.h.

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

Return a pointer to the maximum capacity profile.

Definition at line 3740 of file model.h.

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

Return the current setup.

Definition at line 3832 of file model.h.

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

Return a pointer to the setup matrix.

Definition at line 3826 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::ResourceInfinite, and frepple::ResourceDefault.

Definition at line 3810 of file model.h.

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

Initialize the class.

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

Definition at line 39 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 400 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 3751 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 3807 of file model.h.

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

Updates the location of this resource.

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

void frepple::Resource::setMaximum ( double  m)

Updates the size of a resource.

Definition at line 78 of file resource.cpp.

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

Updates the size of a resource, when it is time-dependent.

Definition at line 112 of file resource.cpp.

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

Update the current setup.

Definition at line 3835 of file model.h.

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

Update the reference to the setup matrix.

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

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

Recompute the problems of this resource.

Implements frepple::HasProblems.

Definition at line 34 of file problems_resource.cpp.

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

Scan the setups of this resource.

Definition at line 297 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 150 of file resource.cpp.


Friends And Related Function Documentation

friend class Load [friend]

Definition at line 3715 of file model.h.

friend class LoadPlan [friend]

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

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

Definition at line 3811 of file model.h.


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

Documentation generated for frePPLe by  doxygen