Simulation and the simulation language SLAM II as a systems analysis tool

This paper provides a general introduction to the simulation _technique and the simulation ~anguag~ SLAM II. The use of simulation modelling and in particular SLAM II 1s demonstrated ~y way of_ an 11lustrat1ve example consisting of the building and manipulation of a simulati_on ~odel ?f a mate_nals handling subsystem of a ~r brewing and packaging plant. The purpose of the model 1s to mvest1gate the mfluence of the number of loadmg and unloading docks on various measures of system performance.


Introduction
Technological development and the ever-increasing demand for goods and services in an industrialized society have resulted in the adoption of manufacturing, commercial and management systems which continue to grow in size and complexity.At the same time political, social, and economic systems are becoming less stable and therefore probably less predictable, resulting in the fact that poor decisions are becoming more costly.The necessity for effective and efficient system design and decision making is therefore apparent as is the need for procedures and techniques to support the systems analyst.
A number of such techniques have been developed, some of which have been and are still being used with excellent results.Most of these techniques rely in one way or another on the concept of building a model of the system under investigation.
Surveys have indicated that simulation is the most widely used quantitative modelling technique employed as a systems analysis tool by industry and government in the United States and this may become true for South Africa in the near future.Simulation is without doubt one of the most powerful techniques available for improving productivity through effective analysis, design and operation of complex processes and systems.The concept of simulation is both simple and intuitively appealing to managers, engineers, systems analysts or anyone involved in decision making.Simulation has often been described as a course of last resort in relation to other modelling techniques but this may no longer be uue.The increasing availability of relatively low cost computer hardware and especially the development of specialized.easy to use, but powerful and flexible simulation languages have enhanced the feasibility of using simulation over other modelling techniques to such an extent that it may be the preferred approach in the majority of instances.
A number of different simulation languages and simulation support software for use on micro-computers and main frame computers are available (Catalog, 1983).In the opinion of the authors the simulation language SLAM II is one of the more versatile, powerful, and better supported languages available.

THE SLAM II simulation language
Since its introduction in 1979 (Pegden & Pritsker, 1979) SLAM has been widely acclaimed as the state-of-the-art in simulation languages and has been subjected to a continuing process of development and enhancement in terms of capabilities and scope.Since inception it has been used to build simulation models of a wide variety of processes and systems (Pritsker, 1982).SLAM II, version 4, is an advanced FORTRAN-based Simulation Language that allows alternative approaches to modelling.Requiring only a FORTRAN compiler, it is easily implemented and maintained on, or transported between, different computer systems and, if necessary, it can easily be modified or extended for particular applications.It allows the analyst to develop models from a process interaction, next event,or continuous perspective, by combining network, discrete event, and continuous modelling capabilities and explicitly defines the interfaces between the modelling approaches to allow new conceptual views of systems to be explored.
The SLAM II simulation language consists of three separate, but interlocking subsystems.
The first subsystem, representing the PROCESS INTERACTION world view, consists of a number of branches linking graphical symbols called nodes.Each node and/or branch represents an often-encountered process in general terms such as a queue or an activity.Using these nodes and branches it is often possible to build a graphical network model of a system displaying the constituent processes of the system as well as the interaction between processes and the logical flow of discrete entities through the system.The network part of SLAM II is probably the easiest, fastest and most often used way of building a simulation model and is in many ways similar to other well known discrete simulation languages like GPSS (Gordon, 1975).Each node and its parameter values are described by an input statement and these input statements together with certain control statements form a program that will be interpreted and executed by a computer running the SLAM II software.
The second subsystem of SLAM II, representing the NEXT EVENT world view, consists of a number of user-callable FORTRAN support routines.Each of these routines performs a basic, often repeated function necessary in next event oriented simulation models such as random number generation, event scheduling, and file manipulation.The user may use these routines together with user-generated code, for example event logic, to construct a simulation model, coded in FORTRAN, of the system under consideration.Although this approach is somewhat more difficult to use than the network approach and requires detailed knowledge of the FORTRAN programming language, the inherent flexibility is almost unlimited.
The third subsystem of SLAM II, representing the CONTINUOUS world view, also consists of a number of user-callable FORTRAN support routines.Using these routines, together with user-generated FORTRAN code a continuous simulation model, which often consists of a system of differential or difference equations, may be built and manipulated quite easily and effectively.
Each of the three subsystems discussed, explicitly contains and defines the necessary interfaces between the three modelling approaches, enabling the user to use any combination of approaches within the same model.This facility makes a particular important contribution to the flexibility and modelling capability of SLAM II.The illustrative example described later will use both the process interaction and the next event approaches.
In all three subsystems of SLAM II adequate provision has been made to control the simulation run, collect data concerning the values of systems variables and for displaying and summarizing the data in numerical and graphical reports.
SLAM II is only part of a family of available simulation support software.These separate, but fully compatible, software include such features as enhanced graphical analysis and output, animation, statistical analysis of simulation output data, parameter estimation, special materials handling capabilities, and data base manipulations.
Being a FORTRAN based language, it is possible when using SLAM II to modify or extend the software for a particular application if necessary.It is for example relatively easy to generate model-oriented or userspecified output reports.
According to Pritsker & Pegden (1979), simulation models may be employed at four different levels: -as explanatory devices to define a system or problem; -as analysis vehicles to determine critical elements, components and issues; -as design assessors to synthesize and evaluate proposed solutions, and -as predictors to forecast and aid in planning future developments.
The SLAM II simulation language is an effective tool in the development of simulation models that will be employed at anyone of these application levels.It is well documented, well supported and probably most importantly has been and will be subjected to a continuous process of development and enhancement (Pritsker & Pegden, 1979).
Simulation languages in general, and therefore also SLAM II, are not without disadvantages.In our judgement, the most important disadvantage lies in the

•
Figure 1 Schematic layout of the beer brewing and packaging materials handling system fact that building a working simulation model, using an advanced language like SLAM II, may be so easy that it can be done with very little knowledge or understanding of the underlying principles of the simulation technique and its inherent dangers and pitfalls.The resulting possible misuse of a very powerful tool may have serious negative consequences.

Illustrative example
The purpose of the rest of this paper is to illustrate the use of the simulation technique and SLAM II as a systems analysis tool.This will be done using an example based on a real world materials handling system.The authors would like to express their appreciation towards S A Breweries for their support in this regard.

System definition
The material handling system that will be modelled is a simplified subsystem of a beer brewing and packaging plant shown schematically in Figure 1.The problem was precipitated by a planned substantial increase in the brewing and packaging capacity of the plant.
In principle the proposed system consists of placing the packaged product, coming from the two bottling lines (B in Figure 1) in the in-process-inventory ( C) from where it will be loaded via the loading/unloading docks (D) on trucks entering the site via gate A and leaving via gate F.
S.-Afr .Tydskr.Bedryfsl.1989,20(3)The trucks arriving at gate A may be empty or may be loaded with empty returnable containers.In both cases a specific truck will, on arrival at the loading/unloading docks, request a full load of one of two different products produced by the two packaging lines.Each truck will be submitted to a security check when entering gate A as well as when leaving gate F. After entering the site a truck will proceed to area E where it will wait for a loading/unloading dock to become available.After entering a loading/unloading dock a truck will be first unloaded, if it has a load of empty returnable containers, and then loaded with packaged product from the inprocess-inventory.Movement of packaged product and loading and unloading of trucks will be performed by forklift trucks from a central pool in units of pallet loads.Forklift trucks will be allocated to requests for service on a first-come-first-served basis.Similarly, trucks will be allocated to loading/unloading docks on a first-comefirst-served basis accept when less than a truckload of the requested product is available in the in-processinventory.In this case an attempt will be made to allocate the truck second in line.

Model purpose
The main purpose of the model will be to investigate the influence of the number of loading/unloading docks on: the time spent in the system by the trucks, the number of trucks waiting in line in area E, and ------------,   r-------------------------------- L-----______ ProdtJction Lin.#1 ________________ J    Service time at gates (triangularly distributed between 1,3 and 2,5 with a modal value of 1,5) Percentage of trucks requiring unloading.Time for unloading activity (triangularly distributed between 25 and 36 with a modal value of 28) Time between creations of product #1 (triangularly distributed between 0,90 and 1,30 with a modal value of 0,95) Time between creations of product #2 (triangularly distributed between 2,1 and 3,0 with a modal value of 2,2) Loading time per unit.Maximum number of attributes per entity.Number of user files.Maximum number of concurrent entities in network.

Simulation runlength
Statistics cleared at time SLAM trace report between time the amount of in-process-inventory.
A secondary purpose would be to determine, for a given number of loading/unloading docks, the influence of the size of the forklift truck fleet on delays experienced by the trucks caused by the non-availability of forklift trucks.

The SLAM II model
The SLAM II simulation model consists of two interrelated submodels.The first submode) uses the process interaction approach (network model) and the second submode) uses the next event approach.

Network model description
The network model is shown in Figure 2

Next event model description
Figure 4 shows the FORTRAN code for the next event sub model.

Model inputs and assumptions
After formulating the model as described above, it is necessary to obtain the relevant data in order to make assumptions regarding the probability distributions and system parameter values that will be used.Performing this phase only after the preliminary model formulation has been completed ensures that only system data which are really necessary will be obtained.
Table 1 summarizes the assumptions and system parameter values that will be used.
At the time of performing the modelling exercise very little data were available with respect to system parameters such as time between arrivals, service times, loading/unloading times, and production rates.This was mainly due to the fact that it was a new proposed system.Furthermore, the purpose of this paper is primarily to illustrate the possible application of simulation modelling and it was therefore deemed adequate to use triangular distributions for these parameters.With more data available the appropriate distributions may be fitted and adapting the model to reflect these changes is very easy.

Model validation
Since the system under consideration is only a proposed, and therefore a non-existing system, it is not possible to perform model validation by comparing model outputs to observable outputs of the real system.It is, however, possible to obtain a trace when running a SLAM II model, depicting in detail what has happened to each entity in the system.Using the trace report the model executing logic may be checked and for the purposes of this paper this procedure will be considered as adequate model validation.

Model manipulation and results
The model was manipulated using an IBM compatible micro-computer with 640 Kbytes of random access memory, a 20 Mbyte hard disk, SLAM II and the MICROSOFT FORTRAN 77 compiler.
Figure 5 shows part of a typical SLAM summary report.
With reference to the SLAM summary report (Figure 5) the most important results of this specific simulation run may be summarized as follows: 1.The average time spent in the system by the trucks is 73,25 minutes with a minimum of 5,51 and a maximum of 139,6 minutes.2. The average number of trucks waiting in line is 1,68 with a maximum of 4 trucks.3. The average in-process inventory for product number one is 4,43 units with a maximum of 65 units.4. The average in-process-inventory for product number two is 3,95 units with a maximum of 57 units.5.The average utilization of the docks is 26, 1 % .6.The average utilization of the fork-lift truck fleet is 35,3%.By repeating the simulation experiment for various values of the number of loading/unloading docks available the results shown in Table 2

Recommendations
Simulation modelling is by its very nature not a global optimization technique but is capable of evaluating the expected consequences of a particular proposed policy or decision and may therefore be seen as a decision §  support tool.The results of experiments with a simulation model, such as those shown in Tables 1 and 2, may be used as input to a final optimization and decision-making process.This process should include consideration of factors not included in the model such as the construction cost of additional loading/unloading docks, the capital and operating cost of forklift trucks and the cost of in-process-inventory. Less easily quantifiable factors, such as company policy with regard to future plant extpansion and market share, may also be taken into account.•10 this way the results from the simulation model may be used as a baseline for final recommendations and decision making.

Conclusion
The simulation technique, and in particular an advanced simulation language like SLAM II, is, when used intelligently, a very powerful system modelling approach capable of providing an efficient systems analysis tool.
Only a limited part of the available SLAM II modelling capabilities were used to build a valid and useful model of a relatively complex materials handling system.The model may be used to provide the necessary information to support the correct decisions regarding system design and operation.It should however be realized that this simulation model, as is the case with all modelling approaches, is only an abstraction of the real system as perceived by the analyst.It may therefore be appropriate to introduce a number of enhancements and/or extensions to the model to produce a more detailed and hopefully more correct model.
The capability of the simulation modelling approach whereby the level of detail of a model may be easily and in a heuristic way adapted over a wide range, may be, in our opinion, one of the most significant advantages of the simulation approach in relation to other well known modelling approaches.

Figure 4
Figure4The FORTRAN code for the next event sub model node symbols.The relevant input statements of the network model is shown in Figure3.

Table 1
Assumptions and system parameter values

Table 2
The influence of the number of docks

Table 3
The influence of the number of forklift trucks