• No results found

Miscellaneous Modeling Issues

In document Simulation Using Promodel (Page 192-197)

7 M ODEL B UILDING

7.5 Miscellaneous Modeling Issues

The braces “{” and “}” are the ProModel notation (also used in C++ and Java) for starting and ending a block of logic. In this case it is the block of statements to be executed repeatedly by an object as long as the local variable Count is less than 11.

7.5 Miscellaneous Modeling Issues

This section addresses special issues that may be encountered in simulation.

They don’t fit well under previous headings, so they are put in a collection here even though they are not necessarily related.

7.5.1 Modeling Rare Occurrences

Often there exist situations in the real world that occur only rarely. For example, a machine may break down once every two months, or only one in a thousand parts is rejected at an inspection station. In simulation analysis, we are generally interested in the normal behavior of the system, not extremely rare behavior. It is advisable to ignore rare situations and exclude them from the simulation model.

This approach not only reduces modeling time but also simplifies the model and helps maintain the focus of everyone involved in the model on key input variables.

But some rare situations have a significant impact on the operation of the sys- tem. For example, a plant shutdown may bring the entire operation to a stop. If the focus of interest is to evaluate the effects of the rare occurrence, such as how long it takes for inventories to be depleted if a shutdown occurs, then it makes sense to include the rare occurrence in the model. The easiest way to model a rare event is not to let the model run for six months or a year before the event occurs, but to go ahead and force the event to happen. The point of modeling the rare event is to see what impact it has on system behavior, not to predict when it actually might occur. So it really doesn’t matter when it happens as long as the state of the model is typ- ical of what the system might be when it does occur.

7.5.2 Large-Scale Modeling

Occasionally it may be desirable to model a large system such as an entire factory or the entire activity in an international airport. The tendency (especially for novice simulators) is to painstakingly piece together a huge, complex model only to find that it runs nowhere near the way that was expected and may not even run at all. The disappointment of not getting the model to run correctly the first time is soon overshadowed by the utter despair in trying to debug such an enormous

model. When faced with building a supermodel, it is always a good idea to parti-tion the model into several submodels and tackle the problem on a smaller scale first. Once each of the submodels has been built and validated, they can be merged into a larger composite model. This composite model can be structured either as a single monolithic model or as a hierarchical model in which the details of each submodel are hidden unless explicitly opened for viewing.

Several ways have been described for merging individual submodels into a composite model (Jayaraman and Agarwal 1996). Three of the most common ways that might be considered for integrating submodels are

• Option 1: Integrate all of the submodels just as they have been built. This approach preserves all of the detail and therefore accuracy of the individual submodels. However, the resulting composite model may be enormous and cause lengthy execution times. The composite model may be structured as a flat model or, to reduce complexity, as a hierarchical model.

• Option 2: Use only the recorded output from one or more of the submodels. By simulating and recording the time at which each entity exits the model for a single submodel, these exit times can be used in place of the submodel for determining the arrival times for the larger model. This eliminates the need to include the overhead of the individual submodel in the composite model. This technique, while drastically reducing the complexity of the composite model, may not be possible if the interaction with the submodel is two-way. For submodels representing subsystems that simply feed into a larger system (in which case the subsystem operates fairly independently of downstream activities), this technique is valid. An example is an assembly facility in which fabricated components or even subassemblies feed into a final assembly line.

Basically, each feeder line is viewed as a “black box” whose output is read from a file.

• Option 3: Represent the output of one or more of the submodels as statistical distributions. This approach is the same as option 2, but instead of using the recorded output times from the submodel in the composite model, a statistical distribution is fit to the output times and used to generate the input to the composite model. This technique eliminates the need for using data files that, depending on the submodel, may be quite large. Theoretically, it should also be more accurate because the true underlying distribution is used instead of just a sample unless there are discontinuities in the output. Multiple sample streams can also be generated for running multiple replications.

7.5.3 Cost Modeling

Often it is desirable to include cost in a model to determine the most cost-effective solution to a design problem. If, for example, two operators on an assembly line re- sult in the same performance as using three robots, the decision may end up being based on cost rather than performance. There are two approaches to modeling cost.

One is to include cost factors in the model itself and dynamically update cost col- lection variables during the simulation. ProModel includes a cost module for as- signing costs to different factors in the simulation such as entity cost, waiting cost, and operation cost. The alternative approach is to run a cost analysis after the sim- ulation, applying cost factors to collected cost drivers such as resource utilization or time spent in storage. The first method is best when it is difficult to summarize cost drivers. For example, the cost per unit of production may be based on the types of resources used and the time for using each type. This may be a lot of in- formation for each entity to carry using attributes. It is much easier to simply up- date the entity’s cost attribute dynamically whenever a particular resource has been used. Dynamic cost tracking suffers, however, from requiring cost factors to be considered during the modeling stage rather than the analysis stage. For some models, it may be difficult to dynamically track costs during a simulation, espe- cially when relationships become very complex.

The preferred way to analyze costs, whenever possible, is to do a postsimula- tion analysis and to treat cost modeling as a follow-on activity to system model- ing rather than as a concurrent activity (see Lenz and Neitzel 1995). There are several advantages to separating the logic model from the cost model. First, the model is not encumbered with tracking information that does not directly affect how the model operates. Second, and perhaps more importantly, post analysis of costs gives more flexibility for doing “what-if”

scenarios with the cost model. For example, different cost scenarios can be run based on varying labor rates in a matter of seconds when applied to simulation output data that are immediately available. If modeled during the simulation, a separate simulation would have to be run applying each labor rate.

7.6 Summary

Model building is a process that takes a conceptual model and converts it to a sim- ulation model. This requires a knowledge of the modeling paradigm of the partic- ular simulation software being used and a familiarity with the different modeling constructs that are provided in the software. Building a model involves knowing what elements to include in the model and how to best express those elements in the model. The principle of parsimony should always be followed, which results in the most minimal model possible that achieves the simulation objectives. Finally, the keys to successful modeling are seeing lots of examples and practice, practice, practice!

7.7 Review Questions

1. How is modeling an art as well as a science?

2. What is a modeling paradigm?

3. Describe the modeling paradigm used in a specific simulation product.

4. Suppose you were modeling an inspection station as an object.

Identify two attributes and one behavior you might want to define for it.

5. Identify five different things an entity might represent in a manufacturing or service simulation.

6. For a manufacturing operation that produces 300 different part types, how would you represent the different part types?

7. A stand and power cord are assembled to a monitor at an assembly station. Stands are produced in-house and are not always available when needed. Power cords are purchased finished and are always available at the station. What entity types (monitor, cord, or stand) would you include in the model and, conceptually, how would you model this assembly operation?

8. Every hour, a stack of purchase orders is delivered to the purchasing department for processing. The stack is routed sequentially to three different people who review, approve, and send out the orders. The orders move together as a stack, although they are processed individually at each station. The processing time at each activity is a function of the number of orders in the stack. The number of orders in a stack can be determined by a probability distribution. Conceptually, how would you model this process and still capture the essence of what is happening?

9. What criteria would you use to identify the route stops or locations in a flow sequence to include in a model?

10.Suppose you are modeling a system with bins in which parts are transported. Would you model the bins as resources or entities? Justify your answer.

11.How would you model a consumable resource such as energy consumption that occurs based on the length of time a particular machine is in operation?

12.What is the danger of using simple time values to model material movement if the material handling system often encounters traffic delays?

13.How would you use an entity attribute to model multiple routing passes through the same location in which a different operation time is required depending on the pass?

14.An operator must inspect every fifth part at a manual workstation.

Conceptually, how would you model this activity if the operation takes five minutes and inspection takes two minutes?

15.When attaching entities to another entity, under what circumstances would you want to preserve the identities of the entities being attached?

16.Define four types of arrivals and give an example of each.

17.A factory operates with two eight-hour shifts (changeover occurs without interruption) five days a week. If you wanted to simulate the system for four weeks, how would you set the run length in hours?

18. What is the problem with modeling downtimes in terms of mean time between failures (MTBF) and mean time to repair (MTTR)?

19. Why should unplanned downtimes or failures be defined as a function of usage time rather than total elapsed time on the clock?

20. In modeling repair times, how should the time spent waiting for a repairperson be modeled?

21. What is preemption? What activities or events might preempt other activities in a simulation?

22. A boring machine experiences downtimes every five hours (exponentially distributed). It also requires routine preventive maintenance (PM) after every eight hours (fixed) of operation. If a downtime occurs within two hours of the next scheduled PM, the PM is performed as part of the repair time (no added time is needed) and, after completing the repair coupled with the PM, the next PM is set for eight hours away. Conceptually, how would you model this situation?

23. A real estate agent schedules six customers (potential buyers) each day, one every 1.5 hours, starting at 8 A.M. Customers are expected to arrive for their appointments at the scheduled times. However, past experience shows that customer arrival times are normally distributed with a mean equal to the scheduled time and a standard deviation of five minutes. The time the agent spends with each customer is normally distributed with a mean of 1.4 hours and a standard deviation of .2 hours. Develop a simulation model to calculate the expected waiting time for customers.

Reference

s

Jayaraman, Arun, and Arun Agarwal. “Simulating an Engine Plant.” Manufacturing Engi- neering, November 1996, pp. 60–68.

Law, A. M. “Introduction to Simulation: A Powerful Tool for Analyzing Complex Manu-facturing Systems.” Industrial Engineering, 1986, 18(5):57–58.

Lenz, John, and Ray Neitzel. “Cost Modeling: An Effective Means to Compare Alterna-tives.” Industrial Engineering, January 1995, pp. 18–20.

Shannon, Robert E. “Introduction to the Art and Science of Simulation.” In Proceedings of the 1998 Winter Simulation Conference, ed. D. J. Medeiros, E. F. Watson, J. S.

Carson, and M. S. Manivannan. Piscataway, NJ: Institute of Electrical and Electronics Engineers, 1998.

Thompson, Michael B. “Expanding Simulation beyond Planning and Design.”

Industrial Engineering, October 1994, pp. 64–66.

Using ProModel, Second Edition

Validation Companies,

C H A P T E R

8 M ODEL

In document Simulation Using Promodel (Page 192-197)