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


Member Typedef Documentation

Definition at line 4013 of file model.h.

Definition at line 4014 of file model.h.


Constructor & Destructor Documentation

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

Constructor.

Definition at line 3982 of file model.h.

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

Destructor.

Definition at line 283 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 202 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 272 of file resource.cpp.

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

Reimplemented from frepple::Plannable.

Definition at line 224 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 4041 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 4029 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 357 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 4004 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 4064 of file model.h.

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

Returns a reference to the list of loadplans.

Definition at line 4017 of file model.h.

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

Returns a reference to the list of loadplans.

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

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

Returns the location of this resource.

Definition at line 4045 of file model.h.

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

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

Definition at line 4071 of file model.h.

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

Return a pointer to the maximum capacity.

Definition at line 3999 of file model.h.

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

Return a pointer to the maximum capacity profile.

Definition at line 3996 of file model.h.

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

Return the current setup.

Definition at line 4088 of file model.h.

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

Return a pointer to the setup matrix.

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

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

Initialize the class.

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

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 399 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 4007 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 4063 of file model.h.

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

Updates the location of this resource.

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

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

Updates the size of a resource.

Definition at line 77 of file resource.cpp.

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

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

Definition at line 111 of file resource.cpp.

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

Update the current setup.

Definition at line 4091 of file model.h.

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

Update the reference to the setup matrix.

Definition at line 4085 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 4050 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 296 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 149 of file resource.cpp.


Friends And Related Function Documentation

friend class Load [friend]

Definition at line 3973 of file model.h.

friend class LoadPlan [friend]

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

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

Definition at line 4067 of file model.h.


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

Documentation generated for frePPLe by  doxygen