Sei sulla pagina 1di 8

SchedulingBatchBeverageProduction.

spfx

SchedulingBatchBeverageProduction
General Description
This example uses Simio Enterprise Edition to schedule a batch processing system that mixes and fills a
beverage product. Although Simio Enterprise Edition is required to build this model, it may be viewed
using Simio Design or Team Edition.

To understand the data schema and scheduling results in this example you should first read the Simio
Scheduling Overview document. This problem description assumes that you are familiar with the
standard data schema and scheduling concepts that are presented in that document.

In this example, we wish to generate a 30-day production schedule for this facility that fully accounts for
the limited resources in the system. This example contains orders for both manufactured material and
finished material. Raw materials are also modeled as a constraint in this system. The manufactured
materials, named Green Bulk, Red Bulk and Blue Bulk, must be mixed at a mixing machine and then put
into a Tank. The finished good materials, such as Green Pack, Red Pack and Blue Pack, begin at a Filler
machine and are then packed at a Packing machine. Workers are required at each of these steps in the
process and the appropriate manufactured material must be available in the Tanks in order for the
finished goods produce to be processed. Raw materials, such as bottles and labels, are also modeled in
this system and are required as part of the finished goods filling process.

Detailed Description

System Initialization
The system does not begin empty. It is initialized with a few orders already in the system and having
completed a portion of their processes. These orders are listed in the table named WorkInProcess,
which also indicates the current step in the routing, the quantity that has already been completed and
any cost that has been accrued up to this point in time. The Initialized process is executed when the
run begins. This process searches the ManufacturingOrders table and then the WorkInProcess table and
uses the content of this table to create entities that represent the work orders listed in this table and
places them in the appropriate location within the model, based on the Current Resource listed. This is
done with the combination of Search steps, a Create step, Assign steps and a Transfer step. This
Initialize process also searches the ManufacturingOrders table to find any orders where the release date
is prior to the current start date of the model and when it finds these orders, it creates entities
representing the order and sends them to the output node of the MOArrivals source object.

Arrival of Manufacturing Orders


The MOArrivals source creates Mo type entities, which represent manufacturing orders. This source
produces arrivals according to the ReleaseDate column in the Manufacturing Orders table, for all orders
with the Order Status of New.
SchedulingBatchBeverageProduction.spfx

Manufactured Material (GreenBulk, RedBulk, BlueBulk)


If an order is a manufactured material, it will first route to a Mixing machine and then to a TankFill
machine, as outlined in the Routings table. In the Mixing TransferNnode, entity checks to see if the raw
materials that are required to be consumed at the Mixing workstation are available. If they are not
available, the entity will wait here at the Mixing TransferNode, instead of waiting at the Mixing
workstation.

Once the materials are available, they can be selected to be run on a Mixing workstation. The Mixing
TransferNode uses a Route Request Dynamic Selection Rule determine the sequence of jobs for Mixing1,
Mixing2 and Mixing3. The Route Request Dynamic Selection Rule is set to a Referenced Property so that
a user can experiment with using different routing rules. By default, this Mixing Selection Rule property
is set to Standard Dispatching Rule which has a number of child properties. For the Standard
Dispatching Rule, the Dispatching Rule property is set to LeastSetupTIme and the Tie Breaker Rule
property is set to EarliestDueDate. Using these Standard Dispatching Rule properties, entities will be
selected based on least amount of setup time on a Mixing workstation. If more than one entity has the
same least setup time, the entity with the earliest due date will be selected.

Before Setup occurs at each Mixing workstation, the process AddManufacturingOrdersOutput adds a
row in the table named ManufacturingOrdersOutput and records the start time of this order on this
mixing machine. The endtime is recorded after this order is finished on this Mixing workstation and it
has seized capacity of a Tank. This seize step is found in the Mixing_Teardown process on each Mixing
workstation.

The order will route to the TankFill transfer node, where it will select to route to either the TankFill1 or
TankFill2 workstation by selecting from the node list TankFillList. Similar to what occurs at the Mixing
workstation, before Setup occurs at each TankFill workstation, the process
AddManufacturingOrdersOutput adds a row in the table named ManufacturingOrdersOutput and
records the start time of this order on this TankFiller machine. The endtime is recorded after this order
is finished on this TankFiller workstation. After the order is completed at the TankFiller, it is routed to
the server named HoldingTankStorageServer where it waits until it is needed by an entity at the Filler
machine. At that point, the entity representing this manufactured material order will get transferred to
the DisposeBulkOrders sink, where the current time and cost is recorded in the Manufacturing Orders
table for this manufactured material order.

Finished Material (GreenPack, RedPack, BluePack)


If an order is a finished material, it will first route to a Filler Machine (PackFill) and then to a Packer
machine, as outlined in the Routings table. In the PackFill TransferNode, entity checks to see if the raw
materials that are required to be consumed at the Filler workstation are available. If they are not
available, the entity will wait here at the PackFill TransferNode, instead of waiting at the Filler
workstation.

Once the materials are available, they can be selected to be run on a Filler workstation. The PackFill
TransferNode uses a Route Request Dynamic Selection Rule determine the sequence of jobs for Filler1
and Filler2. The Route Request Dynamic Selection Rule is set to a Referenced Property so that a user can
experiment with using different routing rules. By default, this Packing Selection Rule property is set to
Standard Dispatching Rule which has a number of child properties. For the Standard Dispatching Rule,
SchedulingBatchBeverageProduction.spfx

the Dispatching Rule property is set to LargestPriorityValue and the Tie Breaker Rule property is set to
EarliestDueDate. Using these Standard Dispatching Rule properties, entities will be selected will based
on largest priority value. If more than one entity has the same largest priority value, the entity with the
earliest due date will be selected.

After an order is finished setting up at the Filler workstation, it executes a process named
Filler_FinishedSetup. This process Searches the BillOfMaterials table (rows related to the current
routing key only) to find any row that has ReleaseHoldingTank column set to True. This indicates that
the Holding Tank Storage server should be searched for this material. If an entity of the material type is
found in the Holding Tank Storage server, it releases capacity of the Holding Tank Storage server,
releases capacity of the Holding Tanks and is transferred out of the Storage into the DisposeBulkOrders
sink.

The entity representing the Finished Material order will leave the Filler workstation after processing and
get routed to a Packer workstation. After processing at a Packer workstion, the entity is routed to the
AddToStorage transfer node, where it will select the appropriate storage location based on its picture,
which indicates if it is a RedPack, GreenPack or BluePack. The ship date in the Manufacturing Orders
table for this finished material order is updated when the entity enters the storage server.

Raw Materials (Label, Bottle)


Entities representing raw materials of Labels and Bottles are created by the Source objects
MaterialArrivalsLabels and MaterialArrivalsBottles. These source objects point to the appropriate row in
the Materials table so the entity has a reference to either Bottle material or Label material. A forklift is
required to take the entity from the source to the Receiving server. The process ForkLift_Unloaded is
executed when the vehicle unloads the entity and it produces the appropriate material (either Bottle or
Label). These are consumed by a FinishedGood order at the Filler workstation as part of the
BillOfMaterials.

Data Tables
The following is a summary of the default tables that are based on the B2MML standard.

Materials:

A list of materials that can be produced at this production facility.

Column Name Description


Material Name The unique name of this material.
Material Description A description of this material
Initial Quantity The initial quantity of material available.
Material Cost The cost per unit of this material.
Log Usage A Boolean that specifies if this material usage is to be logged.
Gantt Color The color used for drawing orders for this material in the Gantt.
Picture ID The entity symbol index for orders for this material in the Facility view.
Material Color The color index for computing color-dependent changeovers.
SchedulingBatchBeverageProduction.spfx

Note that the Gantt color defines the bar color to use for drawing entities associated with this material
in the Entity Workflow Gantt. All orders for this material will be drawn using this color. The Picture ID
determines which entity symbol should be used for drawing the entity that is associated with this
material in the Facility view of the model. All entities representing orders for this material will be
depicted in the Facility view using the specified Picture ID. The Material Color is used in the sequence
dependent changeover matrix for determining the color dependent changeover time. By default, this
table is configured for changeovers that are dependent on color. This column could be changed to Size
or another attribute that determines the sequence dependent changeover time.

Routings:

A list of job routings for each material specifying the resource and processing time for each task required
to produce the material.

Column Name Description


Routing Key The unique name for this routing step.
Material Name A foreign key reference to the Materials table for the produced material.
Route Number The routing number.
Sequence The resource sequence location where this step is performed.
Process Time The processing time for this step.

Depending upon the application this table might be extended with additional columns specifying a setup
time, operator, tooling, etc. The Routing Key is a key column that requires a unique name and is
typically specified as a material name with an underscore and step number appended. For example,
RedBulkMixing would be step 10 for producing RedBulk material. The step numbers are typically
specified as 10, 20, 30, etc. The sequence is the resource location where this step is performed. This is
typically the input node of a specific workstation or a TransferNode from which downstream
workstations are dynamically selected. For example the TransferNode might be located at a group of
five similar machines, and then the entity is dynamically routed to one of the five machines based on
availability and a selection rule e.g. smallest changeover time.

Bill of Materials:

A list of component materials that are required at a specific routing sequence location to produce a
material.

Column Name Description


Routing Key The material routing step where the material action takes place.
Component Material The name of the material.
Quantity The quantity of the material that is either consumed or produced.
Action Type Specifies if the material is to be consumed or produced.

The Routing Key is a foreign key reference to Routing table. Note that there is a many-to-one
relationship that supports multiple materials consumed/produced for the same Routing Key. All the
materials that are listed in this table with the same Routing Key will be consumed/produced at that
routing step.
SchedulingBatchBeverageProduction.spfx

Resources:

A list of fixed resources where processing steps are performed.

Column Name Description


Resource Name The unique name of this resource.
Description A description of this resource.
Update Location A Boolean that specifies if this resource is to be updated to the location.
X Location The location in meters along the X axis.
Z Location The location in meters along the Z axis.
Parent Resource Name The name of the parent resource for a machine group.
Object Type Type specified as Workstation or TransferNode.
Node List If a parent node specifies the node list associated with the machine group.

A compelling advantage of the Simio scheduling solution is the flexibility offered by a custom-built
model of the production system. However, for simple applications that do not require this flexibility the
Resource table can be used to eliminate the need to manually build the Simio model. The resources
that are defined in this table can be automatically placed in the Facility model by running the Configure
Resources Add-In. The first time this Add-In is run it places the resources at the specified X, Z locations
(within the 2D view the X axis increases as you move to the right, and the Z axis increases as you move in
the downward direction). Once placed the resources can be moved interactively using the drag-and-
drop features in the Facility view. Once placed the resource can also be repositioned using the table by
entering the new location in the table, setting Update Location to True, and then re-running the Add-In.

Work In Process:

A list of current orders that are in the system, along with their current status.

Column Name Description


Order ID Foreign key reference to the Order ID in the Manufacturing Orders table.
Current Route Number The current route number for this order.
Current Resource The current resource that this order is being processed on.
Completed Quantity The number of material units that have been processed on this resource.
Accrued Cost The activity-based cost accrued by this order at this point.

The information in this table is typically imported from the MES system and defines the current state of
all the active orders that are being processed in the system. The Order ID is a foreign key reference to
the orders that are listed in the Manufacturing Orders table with their Order Status specified as WIP.
The information in this table defines the current route number and resource where the order is being
processed, along with the quantity completed at this resource. The Accrued Cost is also specified in
applications where activity-based costing is being used to track the production cost for the orders.
SchedulingBatchBeverageProduction.spfx

The OnInitialized process is used in the model to search the Manufacturing Orders table for WIP orders,
and then initialize the model with entities representing each order. The process computes the
remaining processing time at the current resource based on the completed quantity of work, sets the
sequence number and accrued cost, and then sends the entity to the input node of the specified
resource.

Manufacturing Orders Output:

An Output Table defining order start and end time on each resource used for creating Table Reports.

Column Name Description


Order ID Foreign key reference to the Order ID in the Manufacturing Orders table.
Scheduled Resource The resource where this order was processed.
Scheduled Start Time The start time at this resource for this order.
Scheduled End Time The end time at this resource for this order.

The foreign key reference for the Order ID ties this output data to the other input tables for the model.
This makes it easy to create custom Table Reports on the relations data set that display relevant
information on the orders as well as the scheduled start and end time for each order on each resource
in the system.

Model Properties

MaterialArrivalQty: The quantity of the raw materials that should arrive each time a raw
material entity is created in the system. Referenced in the Entities Per Arrival property of the
MaterialArrivalsLabels and MaterialArrivalsBottles source objects.

WorkersQty: The number of workers in the system. Referenced in the Initial Number In System
property of the Workers instance.

TanksQty: The number of tanks in the system. Referenced in the Initial Capacity property of
the Tanks resource object.

ForkLiftQty: The number of forklifts in the system. Referenced in the Initial Number In System
property of the ForkLift instance.
SchedulingBatchBeverageProduction.spfx

MixingRule: The routing rule (or Routing Group element) that is used to select which Mixing
workstation to use for the entity. Referenced in the Routing Group Name property of the
Mixing transfer node.

PackFillRule: The routing rule (or Routing Group element) that is used to select which Filler
workstation to use for the entity. Referenced in the Routing Group Name property of the
PackFill transfer node.

BulkMinInv: This is an integer property that indicates the inventory level that when reached,
will trigger a replenishment of that inventory. This is only used when the Planning Mode
property is set to 0.

PlanningMode: This is an expression property that should be set to 0 or 1. By default, it is set


to 1 and the model will run as described in this detailed description section. However, when the
Planning Mode property is set to 0, the mixing operations are triggered when the minimum
inventory level is reached, as defined by the BulkMinInv property. Any mixing orders in the
tables do not get scheduled until the minimum inventory level is reached. This is a Kanban
approach to scheduling and might be used when the user wants to sequence the Filler line and
then have a mechanism that will ensure that the upstream operations are completed right
before the filling operations is to start.

Adding Custom Dashboards


Our next step is to enhance the model with some custom dashboards. We will import three standard
dashboards to our model that are designed to work with the default data schema. These dashboards
are saved in XML format and included in the DiscretePartProductionFiles folder that is saved with this
example. These dashboards display material, order details, and a dispatch list for use by operators.

To import these dashboards go to Dashboards Report view of the Results window and select the
Dashboards ribbon. Click in the Import button and browse to the folder, and select the three dashboard
xml files named DispatchList, Materials, and OrderDetails.

Set the Model Run Time


Our final step is the set the run parameters for the model. From the Operational Planning ribbon in the
Planning window specify the starting time as 12/1/2015 12pm and select the ending time as 60 days.

Experiments
There are two experiments on this model. One experiment is setup to use OptQuest to minimize cost
by the setting of the model properties listed above. The Lateness response references a Tally Statistic
that is recorded on the input node of the DisposeBulkOrders sink object. It records any late orders and
by how much time they are late. There is also a response for Number Completed because it is critical
that all orders are processed so the user does not want to choose a scenario where some orders are not
filled.
SchedulingBatchBeverageProduction.spfx

The second experiment is used to compare the alternative routing logic at both the Mixing machines
and the Filler machines by changing the values of the Mixing Rule and the PackFillRule.

The Scheduling Interface

The model can now be used to generate a plan. Go to the Planning Tab and click Create Plan in the
Operational Planning Ribbon. This will generate the deterministic plan, which will populate the
Resource Plan, Entity Workflow, Logs, Tables and Results. Click onto Analyze Risk in the Operational
Planning Ribbon and multiple replications, with variability, will be run to assess the risk of the plan. The
Entity Workflow, Tables and Results will be updated with risk analysis for all the Targets defined in the
model.

Potrebbero piacerti anche