Promodel Manual
Promodel Manual
Promodel Manual
Within ProModel, we fit everything into the paradigm of Locations, Entries, Processing,
and Arrivals. Every conceivable manufacturing system can be modeled using these four
elements.
Locations: Locations represent fixed places in the system where entities are routed for
processing, storage, or some other activity or decision making.
Entities: Anything that a model processes is called an ‘entity’. Some examples include
parts, products, people or even paperwork.
Processing: Processing describes the operations that take place at a location, such as the
amount of time an entity spends there, the resources it needs to complete processing, and
anything else that happens at the location, including selecting an entity’s next destination.
Arrivals: Anytime new entities are introduced into the system, it is called an arrival.
1
To build locations:
- Left click on the desired location icon in the graphics tool box, then
left click in the layout window where you want the location to appear.
- A record is automatically created for the location in the Locations edit
table.
- The name, units, capacity, etc., can now be changed by clicking in the
appropriate box and typing in the desired changes.
To build entities:
- Left click on the desired entity graphic in the Entity Graphics tool box.
- A record will automatically be created in the Entity edit table.
- The name can then be changed and the size of the entity can be
adjusted by moving the slide bar in the tool box.
2
To create processing:
- Left click on the entity name in the tool bar and then left click on the
desired beginning location.
- Left click on the destination location.
- A processing record will automatically be created.
- To add more routing lines to the same record, left click on the Add
Routings button in the tool box.
- To route the part to exit, simply left click on the Route to Exit button
in the tool box.
To create arrivals:
- Left click on the entity name in the tool box, and left click on the
location where you would like entities to arrive.
3
Figure 6. Running the Simulation
We are now ready to run the simulation. F12 will save the model for us (we can give it an
eight character name) and F10 will run the model. From the Simulation menu we can also
choose Run or Save and Run. Under the Simulation menu icon Options, the above dialog
box appears. The number of run hours can be specified in the Run Hours field, as can the
clock precision. We will look at some of the other options later on in the class.
When the model run is complete, ProModel will prompt you to see the output statistics.
Choosing yes will bring you into the Output Editor. There are two main parts, the General
Report has dozens of statistics about the performance of the system, while the tool bar
4
allows you to manipulate the information in the form of graphs, plots, histograms, etc.
More about the data interpretation will be included with each sample model.
Let us take a look at the menus that ProModel offers. The file menu is used for file
management, model merging, printing, and model packaging.
File menu -
New – closes any currently opened model so a new model can be built.
Open – opens a user-specified model and clears previous model data.
Import – imports background graphics, and models or submodels from other sources.
Merge – merges a selected ProModel model or submodel into the current model.
Save/Save As – saves an open model under the current or new file name.
View/Print Text – displays/prints the current model.
Print Layout – prints the model layout to a printer.
Printer Setup – opens a dialog box to allow printers to be selected or controlled.
Create/Install Model Package – copies the current model and all associated files to a
specified directory or disk as a <model name>.PKG file.
5
Figure 9. Build Menu
Under the Build menu we go to work defining the model. This menu contains all building
blocks. Our basic blocks are Locations, Entities, Processing, and Arrivals.
Build Menu
6
Figure10. Simulation Menu
The Simulation menu allows us to control the nature of the subsequent model run.
Simulation
Run – allows you to run the simulation for a specified length of time.
Save and Run – allows you to save and run the model at the same time.
Options – allows you to set various directory and display defaults.
Model Parameters – allows you to modify the current settings for the Run-Time Interface
parameters defined in the Macros module.
Scenarios – allows you to define different scenarios using defined Run-Time Interface
parameters.
Output
View Statistics – allows you to view the run statistics of the model.
View Trace – allows you to view the lists of events as they happen during a simulation.
7
Tools
Graphic Editor – allows you to create, edit, rearrange, or delete library graphics within a
particular graphics library file.
Expression Search – allows you to perform global search and replace functions on
expressions throughout any part of the model.
The Options menu contains the selections that allow you to control the environment
under which you build models.
Options
Auto Build – will guide you through the model building process and simulation steps by
prompting you to define the basic model elements.
Show/Snap to Grid – snaps all graphics to grid.
Show Networks/Routing Paths – displays all hidden networks or all routing paths used in
the model.
Zoom – allows you to select the zoom percentage.
Views – allow you to select from the views defined in the model.
Model Defaults – set the model to the defaults of the ProModel.
Editing Preferences – allow you to confirm record deletion, to view long build menu and
to recalculate path lengths when adjusted.
Directories – allow you to assign each default directory.
Refresh Layout – clears and redraws the graphics in the layout window.
Reset Window Positions – causes all edit tables to return to their original positions and
sizes.
Save Settings Now/on Exit – allows you to save the current settings now or on exit of the
program.
8
Name: ___________________________ Date Performed: ____________________
Subject and Section: ________________ Rating: ____________________________
EXERCISE NO. 1
Discussion
There are number of selections available to spruce up the graphics and increase the on-
screen information associated with the locations in your model. Clicking off the NEW
button will allow you to add these elements to the highlighted location. Be careful to
highlight the location to which you want to add these elements and to click off the
NEW button!!
9
Status Light - Changes color based on status of location.
To create processing times in your model, use the WAIT statement in the Operation
Logic. This makes the entity wait (occupy capacity in the location) for the specified
amount of time.
10
To specify the amount of time that an entity takes to travel between locations, use the
MOVE FOR statement in the Move Logic. This will cause the entity to move for the
given amount of time.
Objectives
Exercises
In Model 1A raw_stock enters the system at input_pallet and goes to the splitter. From
there pieces travel to the lathe, the mill, and then to heat-treat. From heat_treat, a batch
goes to the output_pallet and a finished product leaves the output_pallet to EXIT. See the
flow chart on the next page.
11
For this model you will need to create the following records:
Locations
input_pallet
splitter
lathe
mill
heat_treat
output_pallet
Entities
raw_stock
piece
finished_product
batch
Processing
Entity Location Operation Output Destination Move Logic
raw_stock input_pallet 0 raw_stock splitter .2
raw_stock splitter 4 piece lathe .2
piece lathe 3 piece mill .2
piece mill 2 piece heat_treat .2
piece heat_treat 10 batch output_pallet .2
batch output_pallet 0 finished_product EXIT 0
Arrivals
Entity Location Qty. each First time Occur Freq.
raw_stock input_pallet 1 0 inf 10
12
In the model, place a gauge on the heat_treat location and double click on the graphic in
the layout window to edit it to your liking. Also, add a counter to the output_pallet.
Double clicking on this will also allow you to edit it. The processing and move times
have been indicated above, but you will need to include the necessary WAIT and MOVE
FOR statements.
Go to Simulations/Options and set the model to run for ten hours. Save the model as
Model1A.mod and run it.
This is essentially any type of operation where one part is separated into two or more
parts. This can be cutting, depalletizing, etc. The simplest way to accomplish this in
ProModel is by changing the output quantity in the routing rules dialog box. The next
page continues with this concept.
13
Under Building/Processing in the Routing edit table there is a quantity. This can be
accessed by clicking on the Rules button bar. Changing this quantity changes the number
that route to the downstream location. In other words, for every one entity that comes in,
five go out.
Previously we talked about breaking parts up, now we need to address the issue of putting
them back together. For this there are several statements available in ProModel, but one
of the most common is the COMBINE statement. This combines and consolidates the
specified number of entities.
The COMBINE statement waits until the specified number of parts are in the location and
then they are combined into one entity and routed downstream as the output entity. It is
possible to change the name of the entity that routes from the location where the combine
took place.
14
Figure 21. Model 1B Exercise
In model 1B , we have raw stock arrive at the input pallet where it is routed to a splitter.
From the splitter, five pieces leave and go to the lathe. From there, pieces go to the mill.
The pieces then go to the heat treat where 10 of them are combined (COMBINE
statement) and output as a batch. The batch then goes on the output pallet where five of
them are combined into (COMBINE statement) the finished product. From there the
finished product routes to exit.
Locations Capacity
heat_ treat 10
output_pallet 5
15
Arrivals
Entity Location Qty. each First time Occur Freq.
raw_stock input_pallet 1 0 inf 10
In the model, delete the gauge from the heat treat location and place a new one on (since
we changed the capacity of the location, we need to update the information on the gauge).
You will now need to include the necessary COMBINE statements at heat_treat and
output_pallet. The output quantity at the splitter will also need to be changed. Note that
the capacity of the locations where entities are combined must be increased.
Go to Simulation/Options and set the model to run for ten hours. Save the model as
MODEL1B.MOD and run it.
16
Questions
1. What are the differences in Model 1A and Model 2B? Explain briefly.
2. What do the run statistics tell you about the whole process?
3. Identify bottlenecks in the whole process and interpret the results of both models.
Answers to Questions
Conclusions
17
Name: ___________________________ Date Performed: ____________________
Subject and Section: ________________ Rating: ____________________________
EXERCISE NO. 2
Discussion
To establish a variable that will be used in the model, go to the Build menu and choose
Variables.
18
Figure 24. On-screen Counters for Variables
To place a variable in your model as an on-screen display, simply highlight the variable
record in the Variables edit table, and then click in the layout where you would like it to
appear.
Double clicking in the layout on the variable icon allows you to edit the font size, type,
and color, as well as the box characteristics.
19
In order for variables to be useful, we need to manipulate their values. This is done with
the INC and DEC statements.
INC causes the variable value to be increased by the specified value, or by one if no value
is given.
DEC causes the variable value to de decreased by the specified value, or by one if no
value is given.
20
There are several ways of adding workstations, and the simulation Technique/Theory
section at the end of this model discusses some of the benefits and shortcomings of each
approach. In this example, we are going to increase the number of units of a location.
This is done by simply changing the value in the units field of the Location record. This
action creates child units that are identical to the parent location. The individual units are
selected for routing based on the rules defined in the parent location when you click on
the Rules button bar.
If a routing record has multiple lines within one block, only one of the lines will be
executed, or in other words, the entity will only route to one location. The routing line
that the entity chooses is based on the routing rules that are established in the rules dialog
box.
If there are multiple blocks of routing, then each line will be executed and the specified
entity will route to each of the downstream locations indicated (thus creating entities).
This is done by clicking on the Rules button and clicking on the Start New Block box.
21
Figure 29. Inspection/Probability Routings
In some instances, there is a probability that a part will route to one area instead of
another. This effect can be modeled in ProModel by creating multiple lines in the same
routing block and selecting the Probability button in the Rules dialog box. From there we
assign each potential route a probability of occurrence. The probabilities in all the lines
must add to 1.0.
In our example, there is a 75% chance that a piece will go to heat_treat, with a 25%
chance that a reject will go to EXIT.
22
One of the most powerful animation tools in ProModel is the ability to change the
graphics of an Entity. This is done by going to Build/Entities and selecting the
appropriate entity in the record table.
From there we click off the NEW button (remember this from locations!!) and additional
spaces for graphics appear. By clicking on a blank space and then choosing an alternate
graphic from the icons, we can design different graphics for the entity. We can also use
the Edit button and Slide Bar to change the color, rotation, and size of the entity in the
animation.
To use one of the alternate graphics during a model run, the entity must execute a
GRAPHIC statement. By specifying GRAPHIC <expression>, the entity will change to
the appropriate graphic.
Objectives
Exercise
Model 2 is the same process as Model 1. We should have determined that heat_treat was
one of the major offenders in terms of bottlenecks. In order to correct this, we are going
to add another heat_treat unit. We are also going to inspect the parts from which we will
determine that 25% are rejects. To give us more on-screen information, we will set-up
variables and keep track of the following: WIP, rejected parts, and completed parts.
23
We therefore need to add the following to the model
Entities
reject
From the mill the pieces should go to inspect where you will set up one routing block
with 2 lines, each conditional upon a probability.
Processing
Entity Location Processing time Entity Destination Routing Move time
piece mill 2 piece inspect .1
piece inspect 1 piece heat_treat .75 .1
reject exit .25 0
Variables
ID TYPE
WIP integer
rejected_parts integer
completed_parts integer
You should increase the WIP variable when pieces are created after the splitter, and
decrease it when completed parts leave (also rejects!). Increment the rejected_parts
variable when rejects go to exit, and the completed_parts variable when good parts exit.
Place these variables on the screen and go into Background Graphics and give them
labels.
Finally we will change the graphic of the entities when they exit the lathe and then again
when they exit the mill. This will require you to go to Build/Entities and choose the Piece
entity and create 2 additional graphics for this entity. Then in the processing logic of the
respective locations, use the GRAPHIC statement to change the graphic of the entity
when it is through with the wait time.
24
Questions
1. How will your model be affected if you change the probability routings for the piece
where there is a 85% chance that it will go to heat_treat, and a 15% chance that a
reject will go to EXIT?
2. How many defects, work-in-process, and completed parts have you obtained after the
processing in Model 2?
3. Analyze the system statistics obtained from Model 2. Discuss briefly.
Answers to Questions
25
Conclusions
26
Name: ___________________________ Date Performed: ____________________
Subject and Section: ________________ Rating: ____________________________
EXERCISE NO. 3
Discussion
In this exercise, we will construct Models 3A and 3B. Model 3A will look at
conveyors and queues while Model 3B will examine assembly operations.
The following are the topics that are covered in this exercise.
Conveyors are used to model actual material handling systems or any other method of
transporting entities that is similar to the behavior of an actual conveyor. Parts can only
be loaded onto a conveyor one at a time. The number of parts that are allowed on a
conveyor is limited by capacity as well as entity size and conveyor length.
The entity moves on the conveyors based on speed and length of the conveyor.
Accumulating conveyors act like rollers, while non-accumulating ones act like belts.
27
Figure 33. Queues Illustrations
Queues are used for storage, and inventory holders, and to create buffers in front of
locations.
Graphically the queue will only display as many entities as can be shown based on queue
size vs. entity size (graphics only).
It will still hold up to its capacity (default is infinite) but may not show them.
The MOVE statement allows you to control the time of movement of entities when the
queue/conveyor logic is executed. Logic before the MOVE statement gets executed at the
front of the queue/conveyor; logic after the MOVE statement will execute as the entity
arrives at the end.
The MOVE FOR statement allows you to control the length of time that it takes for an
entity to travel the length of the queue. If no MOVE FOR is given, the time will be length
of queue/entity speed.
Objectives
28
Exercises
In Model 3A we will create a network of queues and conveyors on which a box will
travel. In the next model we will modify this one to create more complex operations.
Entities
Box
Processing
29
Arrivals
entity location quantity first time occur freq
You will need to create the above processing and insert the appropriate WAIT statements.
Remember that double clicking on queue/conveyor location allows you to edit the
location.
The join process is used to assemble two entities together. After the process, the entities
will be permanently joined. The first part of the join is the JOIN statement, which
essentially says “I am entity, join a part to me”. The corresponding rule acts like a delay,
holding the joining part up until the other entity executes the JOIN statement. For every
JOIN statement, there must be a corresponding If Join Request rule.
30
Figure 36. Load/Unload Statements
The LOAD statement works much like the JOIN statement, except the loaded parts can
later be unloaded, or disassembled.
The LOAD statement has two corresponding parts, the statement and the If Load
Request.
The UNLOAD statement will unload the specified number of entities at the location. You
must then create a processing record for all entities that have been unloaded.
31
The graphic editor allows you to create and add new graphics to the current .glb file,
change existing graphics, and to create new .glb files.
There are a number of tools, both on the tool bar on the left as well as under the graphics
menu. The icon tools allow you to edit an existing icon, save the workspace information
as an icon, or delete the selected icon. The clear button clears the workspace.
If you want to add an icon to a graphic library, you must first create the icon in the
workspace. You must then save the graphic from the workspace to the library by clicking
the save button. To save the library, select save from the File menu.
In this model, we are modifying the system of queues and conveyors to perform assembly
operations and loading parts onto another part.
Processing
entity location processing entity destination routing move time
32
full_box shipping_queue full_box loading_zone Load 1
pallet pallet_conveyor pallet loading_zone first 1
pallet loading_zone LOAD 1 loaded_pall shipping_conve first 1
1 min et yor
loaded_pall shipping_conve loaded_pall shipping first 1
et yor et
loaded_pall shipping UNLOAD pallet pallet_conveyor first 1 .3 min
et 1
full_box shipping full_box EXIT
Arrivals
entity location qty each first time occur freq
In the model, monitors and empty boxes are joined at the workbench and full boxes go on
to the loading zone via the shipping queue. From there they are loaded on a pallet and
travel via the shipping conveyor to shipping. The full boxes are unloaded from the
conveyor and exit the system. The pallets are then returned to the pallet conveyor where
they are recycled through the system.
33
Questions
1. Compare the output statistics of Model 3A with that of Model 3B. Discuss briefly the
differences.
2. What are the effects of using conveyors and queues in transporting products in an
assembly operation?
3. What can you say about the inventory levels for both Model 3A and Model 3B?
Discuss briefly.
Answers to Questions
Conclusions
34
Name: ___________________________ Date Performed: ____________________
Subject and Section: ________________ Rating: ____________________________
EXERCISE NO. 4
Discussion
In this exercise, we will be using operators for operations. As such, we will build
resources and path networks for these operators to work in the process.
A resource is a person, piece of equipment, or some other device that is used for any one
or more of the following functions: transporting entities, assisting in performing
operations on entities at locations, performing maintenance on locations, or performing
maintenance on other resources.
Go to Build/Resources and click on the desired graphic in the resource tool box. This
action will automatically create a record in the Resource Edit Table. From there you can
change the resource name, the number of units, and the specifications of the resources.
The specs allow you to define the network on which the resource travels (more on this
later), the nodes at which it parks (also later), and the motion of the resource.
35
Figure 40. Path Networks
Path Networks consist of nodes, which are connected by path segments. Path segments
are defined by a beginning node and an ending node and may be unidirectional or bi-
directional. Multiple path segments, which may be straight or jointed, are connected at
path nodes.
Creation of a path in the network starts by selecting the Paths button and then left
clicking in the layout where you want the path to start. Subsequent left clicks put joints in
the path, and a right click will end the path.
36
Interfaces tell ProModel where the resources interact with the location when it is on the
Path Network.
To create an interface between a node and a location, left click and release on the node
(you will get a dashed line streamer) and then left click and release on the location.
You can create multiple interfaces from a single node to locations, but you can only
create one interface from the same path network to a particular location.
The statements GET, FREE and USE are used to capture a resource for activity at a
location.
GET will capture the resource and it will remain with the entity until a FREE is specified.
USE will capture the resource for the specified amount of time and then automatically
free it.
MOVE WITH is used to capture a resource for transportation between locations (where
no activity is performed at the actual location). The resource will stay with the entity until
a THEN FREE statement or a FREE statement is encountered in the downstream logic.
37
Figure 43. Multiple Operators
The GET statement used in conjunction with AND and OR allows you to capture
multiple resources for a task or an alternate selection.
Objectives
Exercise
38
In model 4 we will add resources to the previous model. Retrieve Model 3 and make the
following changes:
Put GET, FREE, USE and MOVE WITH/THEN FREE statements in the appropriate
locations so that following activities are accomplished:
Operator1 performs the Join and the WAIT at the workbench
Operator1 and Operator2 perform the Load and the Wait at the loading
zone
Operator2 gets the pallets from shipping and takes them back to the pallet
conveyor.
39
Questions:
Answers to Questions
Conclusions
40
Name: ___________________________ Date Performed: ____________________
Subject and Section: ________________ Rating: ____________________________
EXERCISE NO. 5
Discussion
In this exercise, we will deal with sorting, inspecting a sample, rework and cycle
time. Building attributes, creating distributions, and model merging are the topic to be
covered in Model 5.
Attributes are place holders similar to variables, but are attached to specific entities and
usually contain information about the entity.
To define an attribute, go to Build/Attributes and create an ID. Then choose the type and
classification. There can be attributes for locations, but we will only examine entity
attributes at this time.
Attributes are changed and assigned when an entity executes the line of logic that
contains an operator, much like the way variables work.
41
Figure 46. If-Then(Else) Statements
IF – THEN statements allow the user to execute specific lines of logic based on certain
conditions.
BEGIN and END statements are required if more than one line of logic is to be executed
based on the condition of the IF – THEN. If there are no BEGIN and END statements,
the model will execute only the first line after the IF – THEN based on the IF – THEN
condition.
The ELSE statement allows you to continue listing specific conditions. You can also
continue with ELSE IF – THEN statements.
The ROUTE statement followed by a number executes the specific route that is
referenced.
42
Figure 48. Model Merging
Model Merge is a powerful tool that allows you to bring models together. You can create
run-offs to compare systems, bring in different sections of an operation, etc.
This is done by going to File/Merge and choosing model or submodel. The differences
are explained above.
After Model or Submodel is chosen, ProModel will prompt you for a model to merge,
and then a cross-hair will appear that represents the upper left-hand corner of the merging
model.
Objectives
43
Exercises
In Model 5A we have parts that arrive and are given attributes, and then are sorted based
on part type. From there they move on to one of two machines and then proceed to a
queue where every fifth part is inspected. From there we have a rework rate of 30%.
Locations capacity
input_queue inf
lathe 1
mill 1
inspect_queue inf
inspect 1
pre_exit 1
Entities
Gear
Processing
Entity location operation output destination routing move
time
gear input_queue gear lathe .1
gear mill .1
gear lathe 3 gear inspect_queue .1
gear mill 4 gear inspect_queue .1
gear inspect_queue gear pre_exit .1
44
gear inspect .1
gear inspect 1 gear input_queue .30 .3
gear pre_exit .70 .1
gear pre_exit gear exit
arrivals
entity location qty each first occur freq
time
gear input_queue 1 0 inf 3
Attributes
ID type
part_type integer
entry_time real
Variables
ID type
Inspect_counter integer
Reworked_parts integer
You will need to merge a model into your own called arrivals.mod
(c:\promod3\models\training)
Also add the following line to the arrival logic: part_type = arrivals_distribution()
Sort the parts at input_queues so that parts with part_type attribute = 1 route to the lathe,
and those that are = 2 route to the mill. (use the IF-THEN construct with the ROUTE
statement for this).
At the inspect_queue, create logic that will route every fifth part to inspect; the others go
straight to pre_exit (Also with IF- THEN construct and variables)
At inspect, 70% of the parts route pre_exit and 30% route back to input_queue.
45
Choosing the correct distribution is a difficult task, not to mention choosing the correct
parameters for the distribution. This is generally done with the use of curve-fitting
software.
Distributions in our cases are associated with processing times, although they can be used
in a number of places within ProModel.
Not all events are discrete within the real world. They happen with some degree of
randomness. Distributions are one of ProModel’s methods of dealing with this effect
within the model.
The CLOCK and LOG functions allow you to keep track of time events (like cycle time,
lead time) within your model. The CLOCK function returns a real number, so attributes
and variables that are assigned to the CLOCK must be of type Real.
46
Figure 52. Model 5B Sample Model
In Model 5B we will add distributions to the model for process times, and track the parts
through the system to calculate the appropriate cycle times.
Create a time stamp when the part enters the input_queue using an attribute with the
CLOCK() statement.
Log the exit time at pre_exit using the same attribute and the LOG statement.
47
Questions:
1. Looking at the total statistics for the cycle time by going to the LOG report at the end
of the General Report, what were the minimum and the maximum cycle time? To
what do you attribute these times? What about the shape of the graph?
2. Compare the run statistics for Model 5A and 5B. What are their basic differences? To
what can you attribute those differences?
Answers to Questions
Conclusions
48
Name: ___________________________ Date Performed: ____________________
Subject and Section: ________________ Rating: ____________________________
EXERCISE NO. 6
Discussion
In this exercise, the model will make use of building shifts and location
downtimes for preventive maintenance and operator shifts.
Logic is executed at the time of the downtime, and this can include the capture of
resources, WAIT times, and the assignment of variables just to mention a few items.
49
Figure 54. Functions of Shifts
Shifts in ProModel have been newly modified, and are now a very powerful method of
adding realism to your model. You can create schedules for your locations and resources
that mimic actual work schedules.
When you choose Define, the Shift Editor will come up and you will be able to create a
file (.sft) that defines your shift.
Click and drag the appropriate bar (shift or break) to set up a shift. You can choose
Edit/Duplicate and duplicate a day. Holding down the shift key and clicking on the
desired days will make multiple duplications.
White space is considered off-shift time, while red space is considered break time.
50
Figure 56. Assignment of Shifts
Clicking on the Locations or Resources Button will bring up the dialog box that allows
you to select the desired locations/resources that will be on the shift.
Logic can also be executed previous to the shift/break as well as during the shift/break.
To run the model using these shifts, go to the Simulation/Options dialog box and click on
the “define run length by date” box. This will bring up calendar type information that can
be adjusted to run for the appropriate dates.
51
Figure 58. Display Statement
The DISPLAY statement is valid in any logic. Part of the model exercise will be to find
out how to use this statement by looking in the on-line help.
Objectives
Exercise
Model 6 is a continuation of Model 5, and it places a resource operator in the model who
will be on a shift. You should use the operator for processing at each location (lathe and
52
mill) and also for moving to the inspect queue after processing. The model will also
show preventive maintenance of the lathe and the mill. Set up the following:
Path networks
Net 1
Interfaces
lathe
mill
inspect_queue
Resources
Operator 1
You will need to set up a shift for the operator as well. Create the shifts and copy them
for every day using the Duplicate feature.
Shift 8am-5pm
Breaks10:00-10:15 12:00-13:00 15:00-15:15
You will also need to run the model using the shifts. Do this in Simulation/Options
dialog box. Run the model for only one day from 8:00 am to 5:00 pm.
In the logic for the Location downtime, use the GET and FREE statements to use the
resource for the maintenance. Also, use the DISPLAY statement to notify the user when
the machines go down.
It is possible to set up a break area for the resource by extending the path network to a
desired area and indicating the node as the break node in Resource specs.
53
Questions:
1. Run the model using the shift and run the model without the shift. What differences
do you note in the above statistics? How can we improve the system?
2. What are the effects on production of using preventive maintenance and shifting in
operators? Examine the levels of inventory, resource utilization, machine wait times,
total throughput and cycle times for this model, so as to determine the effects.
3. What are advantages and disadvantages of having preventive maintenance in the
company?
Answers to Questions
Conclusions
54
Name: ___________________________ Date Performed: ____________________
Subject and Section: ________________ Rating: ____________________________
EXERCISE NO. 7
Discussion
In this exercise, the model will make use of macros for text substitution and for
creating Run Time Interface parameters. This feature will help in creating various
scenarios for the model itself.
In ProModel, a macro can be used for text substitution. This is useful when there are
several blocks of code that are the same, and you want to refer to them with just one line.
Macros are also the way you create Run Time Interface parameters. When the RTI button
is clicked, you can now define how the model parameter will appear in the list, and what
prompt will be used.
This feature is especially useful when creating flexible models for other end users.
55
Figure 61. Generating Scenarios
Once the model parameter list is created, it is possible to run several scenarios where the
parameters are changed.
Multiple replications are run when there is randomness in the model and one data point
does not necessarily give an accurate representation of the actual system.
Running more than one replication is simply a matter of changing the number in the
replications field.
56
The method of batch means, or interval batching, is a way to collect independent samples
when simulating steady state systems as an alternative to running multiple replications.
The advantage over running multiple replications is that the warmup period is only run
once. When you select Batch Mean output reporting, the output statistics are collected for
each time interval indicated in the Interval Length field. The number of intervals is
determined by dividing the run length by the interval length.
Periodic statistics are useful primarily in terminating non-steady state simulations where
you are interested in the systems behavior during different periods (e.g., peak or lull
periods) of activity.
Objectives
1. Know how to use macros and generate scenarios for various models.
2. Able to change model parameters using the macros.
3. Know how to interpret advanced statistics generated by the different models.
Exercise
57
Create prompts for each of these items, and run the model making changes in the Model
Parameter list.
Run the model 5 replications and look at the output. Notice the effect of running multiple
replications.
58
Questions
1. Look at the multiple replication results in the output editor. What do you notice
when running multiple replications?
2. When is it acceptable to only have one data point? When does it become
acceptable?
3. Compare the results of Model 6 and Model 7. What are their differences and
similarities?
Answers to Questions
Conclusions
59