model.h File Reference
#include "frepple/utils.h"
#include "frepple/timeline.h"
Include dependency graph for model.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  frepple::Calendar::Bucket
 This class represents a time bucket as a part of a calendar. More...
 
class  frepple::CalendarDouble::BucketDouble
 A special type of calendar bucket, designed to hold a a value. More...
 
class  frepple::Calendar::BucketIterator
 An iterator class to go through all buckets of the calendar. More...
 
class  frepple::Buffer
 A buffer represents a combination of a item and location.
It is the entity for keeping modeling inventory. More...
 
class  frepple::BufferDefault
 This class is the default implementation of the abstract Buffer class. More...
 
class  frepple::BufferInfinite
 This class represents a material buffer with an infinite supply of extra material. More...
 
class  frepple::BufferIterator
 
class  frepple::BufferProcure
 This class models a buffer that is replenish by an external supplier using a reorder-point policy. More...
 
class  frepple::Calendar
 This is the class used to represent variables that are varying over time. More...
 
class  frepple::CalendarBucketIterator
 
class  frepple::CalendarDouble
 A calendar storing double values in its buckets. More...
 
class  frepple::CalendarEventIterator
 
class  frepple::CalendarIterator
 
class  frepple::CommandCreateOperationPlan
 This command is used to create an operationplan. More...
 
class  frepple::CommandDeleteOperationPlan
 This command is used to delete an operationplan. More...
 
class  frepple::CommandMoveOperationPlan
 This class represents the command of moving an operationplan to a new date and/or resizing it. More...
 
class  frepple::Problem::const_iterator
 This class models an STL-like iterator that allows us to iterate over the named entities in a simple and safe way. More...
 
class  frepple::Customer
 This abstracts class represents customers. More...
 
class  frepple::CustomerDefault
 This class implements the abstract Customer class. More...
 
class  frepple::CustomerIterator
 
class  frepple::Demand
 Represents the (independent) demand in the system. It can represent a customer order or a forecast. More...
 
class  frepple::DemandDefault
 This class is the default implementation of the abstract Demand class. More...
 
class  frepple::DemandIterator
 
class  frepple::DemandPlanIterator
 
class  frepple::HasProblems::EntityIterator
 This class models a iterator that walks over all available HasProblem entities. More...
 
class  frepple::CalendarDouble::EventIterator
 A special event iterator, providing also access to the current value. More...
 
class  frepple::Calendar::EventIterator
 An iterator class to go through all dates where the calendar value changes. More...
 
class  frepple::Flow
 This class defines a material flow to/from a buffer, linked with an operation. This default implementation plans the material flow at the start of the operation. More...
 
class  frepple::FlowEnd
 This class defines a material flow to/from a buffer, linked with an operation. This subclass represents a flow that is at end date of the operation. More...
 
class  frepple::FlowFixedEnd
 This class represents a flow at end date of the operation and with a fiwed quantity. More...
 
class  frepple::FlowFixedStart
 This class represents a flow at start date of the operation and with a fiwed quantity. More...
 
class  frepple::FlowIterator
 
class  frepple::FlowPlan
 A flowplan represents a planned material flow in or out of a buffer. More...
 
class  frepple::FlowPlanIterator
 
class  frepple::OperationPlan::FlowPlanIterator
 An iterator class to go through all flowplans of an operationplan. More...
 
class  frepple::FlowStart
 This class defines a material flow to/from a buffer, linked with an operation. This subclass represents a flow that is at the start date of the operation. More...
 
class  frepple::HasLevel
 The purpose of this class is to compute the levels of all buffers, operations and resources in the model, and to categorize them in clusters. More...
 
class  frepple::HasProblems
 Classes that keep track of problem conditions need to implement this class. More...
 
class  frepple::Item
 An item defines the products being planned, sold, stored and/or manufactured. Buffers and demands have a reference an item. More...
 
class  frepple::ItemDefault
 This class is the default implementation of the abstract Item class. More...
 
class  frepple::ItemIterator
 
class  frepple::OperationPlan::iterator
 This class models an STL-like iterator that allows us to iterate over the operationplans in a simple and safe way. More...
 
class  frepple::LibraryModel
 This class is used for initialization. More...
 
class  frepple::Problem::List
 This auxilary class is used to maintain a list of problem models. More...
 
class  frepple::Load
 This class links a resource to a certain operation. More...
 
class  frepple::LoadIterator
 
class  frepple::LoadPlan
 This class represents the resource capacity of an operationplan. More...
 
class  frepple::LoadPlanIterator
 
class  frepple::OperationPlan::LoadPlanIterator
 An iterator class to go through all loadplans of an operationplan. More...
 
class  frepple::Location
 This abstract class is used to associate buffers and resources with a physical or logical location. More...
 
class  frepple::LocationDefault
 This class implements the abstract Location class. More...
 
class  frepple::LocationIterator
 
class  frepple::Operation
 An operation represents an activity: these consume and produce material, take time and also require capacity. More...
 
class  frepple::OperationAlternate
 This class represents a choice between multiple operations. The alternates are sorted in order of priority. More...
 
class  frepple::OperationFixedTime
 Models an operation that takes a fixed amount of time, independent of the quantity. More...
 
class  frepple::OperationIterator
 
class  frepple::OperationPlan
 An operationplan is the key dynamic element of a plan. It represents a certain quantity being planned along a certain operation during a certain date range. More...
 
class  frepple::OperationPlanIterator
 
class  frepple::OperationPlanState
 A simple class to easily remember the date, quantity and owner of an operationplan. More...
 
class  frepple::OperationRouting
 Represents a routing operation, i.e. an operation consisting of multiple, sequential sub-operations. More...
 
class  frepple::OperationSetup
 Models an operation to convert a setup on a resource. More...
 
class  frepple::OperationTimePer
 Models an operation whose duration is the sum of a constant time, plus a cetain time per unit. More...
 
class  frepple::PeggingIterator
 This class allows upstream and downstream navigation through the plan. More...
 
class  frepple::Plan
 This is the (logical) top class of the complete model. More...
 
class  frepple::Resource::PlanIterator
 This class provides an efficient way to iterate over the plan of a resource aggregated in time buckets. More...
 
class  frepple::Plannable
 This class needs to be implemented by all classes that implement dynamic behavior in the plan. More...
 
class  frepple::Problem
 A problem represents infeasibilities, alerts and warnings in the plan. More...
 
class  frepple::ProblemBeforeCurrent
 A problem of this class is created when an operationplan is being planned in the past, i.e. it starts before the "current" date of the plan. More...
 
class  frepple::ProblemBeforeFence
 A problem of this class is created when an operationplan is being planned before its fence date, i.e. it starts 1) before the "current" date of the plan plus the release fence of the operation and 2) after the current date of the plan. More...
 
class  frepple::ProblemCapacityOverload
 A problem of this class is created when a resource is being overloaded during a certain period of time. More...
 
class  frepple::ProblemCapacityUnderload
 A problem of this class is created when a resource is loaded below its minimum during a certain period of time. More...
 
class  frepple::ProblemDemandNotPlanned
 A Problem of this class is created in the model when a new demand is brought in the system, but it hasn't been planned yet. More...
 
class  frepple::ProblemEarly
 A problem of this class is created when a demand is planned earlier than the accepted tolerance before its due date. More...
 
class  frepple::ProblemExcess
 A problem of this class is created when a demand is planned for more than the requested quantity. More...
 
class  frepple::ProblemInvalidData
 A Problem of this class is created in the model when a data exception prevents planning of certain objects. More...
 
class  frepple::ProblemIterator
 
class  frepple::ProblemLate
 A problem of this class is created when a demand is satisfied later than the accepted tolerance after its due date. More...
 
class  frepple::ProblemMaterialExcess
 A problem of this class is created when a buffer is carrying too much material during a certain period of time. More...
 
class  frepple::ProblemMaterialShortage
 A problem of this class is created when a buffer is having a material shortage during a certain period of time. More...
 
class  frepple::ProblemPrecedence
 A problem of this class is created when the sequence of two operationplans in a routing isn't respected. More...
 
class  frepple::ProblemShort
 A problem of this class is created when a demand is planned for less than the requested quantity. More...
 
class  frepple::Resource
 This class represents a workcentre, a physical or logical representation of capacity. More...
 
class  frepple::ResourceDefault
 This class is the default implementation of the abstract Resource class. More...
 
class  frepple::ResourceInfinite
 This class represents a resource that'll never have any capacity shortage. More...
 
class  frepple::ResourceIterator
 
class  frepple::ResourceSkill
 This class associates a resource with its skills. More...
 
class  frepple::ResourceSkillIterator
 
class  frepple::SetupMatrix::Rule
 An specific changeover rule in a setup matrix. More...
 
class  frepple::SetupMatrix::RuleIterator
 An iterator class to go through all rules of a setup matrix. More...
 
class  frepple::SetupMatrix
 This class is used to represent a matrix defining the changeover times between setups. More...
 
class  frepple::SetupMatrixDefault
 This class is the default implementation of the abstract SetupMatrix class. More...
 
class  frepple::SetupMatrixIterator
 
class  frepple::SetupMatrixRuleIterator
 
class  frepple::Skill
 This class models skills that can be assigned to resources. More...
 
class  frepple::SkillDefault
 this class is the default implementation of the abstract Skill class. More...
 
class  frepple::SkillIterator
 
class  frepple::Solvable
 This class needs to be implemented by all classes that implement dynamic behavior, and which can be called by a solver. More...
 
class  frepple::Solver
 This class is an implementation of the "visitor" design pattern. It is intended as a basis for different algorithms processing the frePPLe data. More...
 
class  frepple::SolverIterator
 

Namespaces

namespace  frepple
 Core namespace.
 

Enumerations

enum  frepple::SearchMode { frepple::PRIORITY = 0, frepple::MINCOST = 1, frepple::MINPENALTY = 2, frepple::MINCOSTPENALTY = 3 }
 

Functions

SearchMode frepple::decodeSearchMode (const string &c)
 
PyObject * frepple::eraseModel (PyObject *self, PyObject *args)
 This Python function erases the model or the plan from memory. More...
 
ostream & frepple::operator<< (ostream &os, const SearchMode &d)
 
PyObject * frepple::printModelSize (PyObject *self, PyObject *args)
 This Python function prints a summary of the dynamically allocated memory to the standard output. This is useful for understanding better the size of your model. More...
 
PyObject * frepple::readXMLdata (PyObject *, PyObject *)
 This Python function is used for processing XML input data from a string. More...
 
PyObject * frepple::readXMLfile (PyObject *, PyObject *)
 This Python function is used for reading XML input. More...
 
PyObject * frepple::savePlan (PyObject *, PyObject *)
 This Python function writes the dynamic part of the plan to an text file. More...
 
PyObject * frepple::saveXMLfile (PyObject *, PyObject *)
 This python function writes the complete model to an XML-file. More...