Documente Academic
Documente Profesional
Documente Cultură
General Description
The example uses Simio Enterprise Edition to schedule discrete part production. Simio Enterprise
Edition is a simulation tool for developing applications in Risk-based Planning and Scheduling (RPS). RPS
is the dual use of a simulation model to generate both a detailed resource constrained deterministic
schedule as well as a probability-based risk analysis of that schedule to account for variation in the
system. RPS is used to generate schedules that minimize risks and reduce costs in the presence of
uncertainty. 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.
The system to be scheduled in this example is a discrete part manufacturing facility. The facility is a job
shop that produces finished goods. We wish to generate a 30-day production schedule for this facility
that fully accounts for the limited resources in the system.
The facility consists of functionally grouped machine groups named Cut, Weld, Shape, and Finish, with
two machines within each machine group. Each of these machines is modeled using a Server, with a
TransferNode that is named for the machine group (e.g. Cut) and is used to dynamically route based on
a scheduling rule to the selected machine (Cut1 or Cut2) within the group. The Weld Servers also
require a secondary resource that is that is modeled as a Resource named Resource1 for Weld1 and
Resouce2 for Weld2. The Cut Servers have a sequence dependent setup time where the setup time is
specified in a changeover matrix based on material color. Possible material colors are defined in a string
list named MaterialColor with values Other, Red, Green, and Blue.
There are three finished goods (FinishedGoodA, FinishedGoodB, and FinishedGoodC) that are produced
in this facility, and each has its own routing and unique setup and processing time and material
requirements at each Server within its routing. The B2MML-based data schema discussed in the Simio
Scheduling Overview document is used to hold the production data for this example.
Although we are modeling the material consumption at each Server, in this example we are not
explicitly modeling the material resupply logic. The consumed materials are defined in the Material Lots
table and include MaterialX and MaterialY, and each has sufficient levels to supply production during
the planning horizon. The Bicycle example model that is installed with Simio illustrates modeling of the
material resupply based on a Purchased Material arrival table.
In this example, we are provided a set of CSV files for automatically generating the major components of
the model, and populating the required data tables. This illustrates the concept of a “data-driven”
scheduling model where the model is created automatically using Simio data Add-ins.
Detailed Description
In this example, we are provided the following additional data files that we will use for building the
model and populating the data tables:
These files are in the DiscretePartProductionFiles folder that is in the same directory as this example.
To build this model we open a new model and execute the following steps:
C:\Users\Public\Documents\Simio\Examples\DiscretePartProductionFiles.
We then set our binding option to manual, and then click on Import to import the resource data into the
table. Note the table initially has many errors flagged in red because the object and list names specified
in the table do not yet exist. That issue will be addressed in the next step.
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 Dispatch List, Materials, and Order Details. To import the two reports, go to the Table
Reports view under the Results window and import the Dispatch List Report.repx for Manufacturing
Orders Output table, and the Orders Details.repx for the Manufacturing Orders table.
To add new custom columns to the Resource Usage Log click on Add Column in the Logs ribbon in the
Logs view of the Planning Window. We will rename the first custom column MaterialName, specify its
Data Format as String, the Gantt Display Type as EntityGantt, and specify the expression as Math.If(
Owner.Is.Mo, Owner.ManufacturingOrders.MaterialName, " "). Hence if the owning entity is a
manufacturing order we use the material name from the orders table, otherwise we specify a blank
string. We rename the second custom column GanttColor, set the Data Format to Color, specify the
Use as Gantt Color as OwnerItemFillColor, and then specify the expression as
Math.If(Owner.Object.Is.DefaultEntity, Math.If(Owner.ManufacturingOrders.OrderStatus ==
List.OrderStatus.WIP && WorkInProcess.AvailableRowCount > 0 &&
Owner.WorkInProcess[1].CurrentRouteNumber == Owner.Routings.RouteNumber, Color.Yellow,
Owner.Materials.GanttColor), Color.Gray). This expression is quite complex and is used to show the
started jobs in yellow. We rename the third custom column BarOutlineColor, set its Data Format to
Color, specify the Use As Gantt Color property as OwnerItemBorderColor, and specify the expression as
Math.If( Owner.Is.MO, Math.If(TimeNow> Owner.ManufacturingOrders.DueDate, Color.Red,
Owner.Materials.GanttColor), Color.Black). This draws the border in red if the order is late, or uses the
material color or black otherwise. We also set the set the evaluation type as "EndTimeValue". This will
make sure the jobs that become late during the duration of the server are shown as late.
Our model was created using a global scheduling rule that can be easily changed in the model
properties. By default, orders are processed first-in-first-out, however this global rule can be easily
changed to any of the standard dispatching rules supported by Simio. The following depicts a zoom-in
portion of the Resource Plan for this example using the Least Setup Time rule.
As discussed in the Simio Scheduling Overview document there are many ways to view the schedule and
the associated risk. For example, the following is dashboard for the dispatch list that we imported using
the XML file. This dashboard shows the resource utilization and dispatch list for the currently selected
resource (Cut2).