frePPLev2.0
open source Production PLanning
  • Home
  • Documentation
    • Getting started
    • Modeling guide
    • User guide
    • Installation guide
    • Developer guide
    • FAQ
  • C++ API

Flow

Flows are used to model the consumption and production of material from buffers.

Two types of flows exist:

  • FLOW_START: Flows that consume material at the start of an operationplan.
  • FLOW_END: Flows that produce material at the end of an operationplan.

Fields

Field Type Description
buffer buffer Buffer from which material will be moved or transferred into.
This is a required field.
operation operation Operation to which the material flow is associated.
This is a required field.
quantity double Material quantity being consumed or produced per unit of the operationplan.
effective_start dateTime Date after which the material consumption is valid.
Before this date the planned quantity is always 0.
effective_end dateTime Date at which the material consumption becomes invalid.
After this date (and also at the exact date) the planned quantity is always 0.
priority integer Priority of the flow, used in case of alternate flows.
The default is 1. Lower numbers indicate more preferred flows.
name non-empty string Optional name of the flow.
A name is only useful when using alternate flows. Otherwise leave it empty to save some memory.
alternate non-empty string
or
flow
Name of the flow of which this is an alternate.
When using the Python API the argument can be a flow or a string.
When using the XML data format the argument is a string.
search string Defines the order of preference among the alternate flows.
The valid choices are:

  • PRIORITY
    Select the alternate with the lowest priority number.
    This is the default.
  • MINCOST
    Select the alternate which gives the lowest cost.
    The cost includes the cost of all upstream operations, resources and buffers.
  • MINPENALTY
    Select the alternate which gives the lowest penalty.
    The penalty includes the penalty of all penalties incurred in the upstream plan along the flow.
  • MINCOSTPENALTY
    Select the alternate which gives the lowest sum of the cost and penalty.
    The sum is computed for the complete upstream path.
action A
C
AC (default)
R
Type of action to be executed:

  • A: Add an new entity, and report an error if the entity already exists.
  • C: Change an existing entity, and report an error if the entity doesn’t exist yet.
  • AC: Change an entity or create a new one if it doesn’t exist yet.
  • R: Remove an entity, and report an error if the entity doesn’t exist.

Example XML structures

  • Defining a flow
 <plan>
    <flows>
       <flow xsi:type="flow_start">
         <buffer name="buffer component"/>
         <operation name="operation B"/>
         <quantity>-2</quantity>
       </flow>
    </flows>
 </plan>
  • Defining a flow nested in an operation structure.
    A quantity 2 of component A OR 3 of component B are consumed, and 1 unit of the end item is produced.
 <plan>
    <operations>
      <operation name="operation B">
        <flows>
          <flow xsi:type="flow_start">
            <buffer name="buffer component A"/>
            <quantity>-2</quantity>
            <name>group1</name>
            <priority>1</priority>
          </flow>
          <flow xsi:type="flow_start">
            <buffer name="buffer component B"/>
            <quantity>-3</quantity>
            <alternate>group1</alternate>
            <priority>2</priority>
          </flow>
          <flow xsi:type="flow_end">
            <buffer name="buffer end item"/>
            <quantity>1</quantity>
          </flow>
        </flows>
      </operation>
    </operations>
 </plan>
  • Defining a flow nested in a buffer structure
 <plan>
    <buffers>
      <buffer name="buffer component">
        <flows>
          <flow xsi:type="flow_start">
            <operation name="operation A"/>
            <quantity>-2</quantity>
          </flow>
          <flow xsi:type="flow_start">
            <operation name="operation B"/>
            <quantity>-1</quantity>
          </flow>
        </flows>
      </buffer>
    </buffers>
 </plan>
  • Deleting a flow
 <plan>
    <flows>
       <flow action="R">
         <buffer name="buffer component"/>
         <operation name="operation B"/>
       </flow>
    </flows>
 </plan>
    • Getting started
    • Modeling guide
      • Simplified domain model
      • Detailed domain model
      • Environment variables
      • Python interpreter
      • Global parameters
      • Buffer
      • Calendar
      • Customer
      • Demand
      • Flow
      • Item
      • Load
      • Location
      • Operation
      • Suboperation
      • Operationplan
      • Problem
      • Resource
      • SetupMatrix
      • Skill
      • Resource skill
      • Solver
      • Extension modules
        • Forecast module
        • REST web service module
        • Linear programming solver module
        • OpenERP connector module
    • User guide
      • Main features
      • Supported browsers
      • Getting around
        • Logging in
        • Logging out
        • Changing password
        • Navigation
          • Menu bar
          • Jump search
          • Context menus
          • Browser bookmarks
        • Filtering data
        • Sorting data
        • Selecting time buckets
        • Exporting data
        • Importing data
        • User preferences
        • User permissions and roles
      • Screens
        • Data input
        • Supply Path / Where Used
        • Comments
        • History – Audit trail
        • Plan analysis
          • Problem report
          • Constraint report
          • Inventory report
          • Inventory detail report
          • Resource report
          • Resource Gantt report
          • Resource detail report
          • Operation report
          • Operation detail report
          • Demand report
          • Demand detail report
          • Demand Gantt report
          • Forecast report
          • Performance indicator report
        • Execute
      • Batch commands
        • manage.py (manage.exe on Windows)
        • frepple (frepple.exe on Windows)
        • freppleservice.exe (Windows only)
    • Installation guide
      • Windows installer
      • Compiling on Windows
      • Linux binary packages
      • Compiling on Linux
      • Compiling on debian-based linux
      • Compiling on Red Hat based Linux
      • Compiling from the subversion source code repository
      • Running the VMWare virtual machine
      • Other platforms
      • Configuring the user interface
      • Configuring multiple models in the user interface
      • Configuring as a Python extension module
    • FAQ
    • Developer guide
      • Code structure
      • Class diagram
      • Solver
        • Solver features
        • Planning algorithm
          • Top level loop
          • Demand solver
          • Buffer solver
          • Flow solver
          • Load solver
          • Operation solver
          • Resource solver
        • Cluster and level algorithm
      • Extension modules
      • Version control
      • Style guide
      • Portability
      • Security
      • Internationalization
      • Translating the user interface
      • Adding or customizing a report
      • Unit tests
        • buffer_procure_1
        • calendar
        • callback
        • cluster
        • constraints_combined_1
        • constraints_combined_2
        • constraints_leadtime_1
        • constraints_material_1
        • constraints_material_2
        • constraints_material_3
        • constraints_material_4
        • constraints_resource_1
        • constraints_resource_2
        • constraints_resource_3
        • constraints_resource_4
        • constraints_resource_5
        • datetime
        • deletion
        • demand_policy
        • flow_alternate_1
        • flow_alternate_2
        • flow_effective
        • forecast_1
        • forecast_2
        • forecast_3
        • forecast_4
        • forecast_5
        • forecast_6
        • jobshop
        • load_alternate
        • load_effective
        • lpsolver_1
        • multithreading
        • name
        • operation_alternate
        • operation_available
        • operation_effective
        • operation_pre_post
        • operation_routing
        • pegging
        • problems
        • python_1
        • python_2
        • python_3
        • safety_stock
        • sample_module
        • scalability_1
        • scalability_2
        • scalability_3
        • setup_1
        • setup_2
        • skill
        • xml
        • xml_remote
    • License
      • GNU Affero General Public License
      • GNU Free Documentation License
    • Third party add-ons
  • Copyright © 2010-2013 frePPLe bvba