Fast Cycle Production

Process Improvement Values that Always Work!

  • Increase font size
  • Default font size
  • Decrease font size
Home FCP Articles
FCP Articles

A Case Study at IBM - Part 2

E-mail Print PDF
 



LEAN AND AGILE MANUFACTURING SYSTEMS:

COMPETING OR COMPLEMENTARY APPROACHES TO WORLD CLASS MANUFACTURING?
Part 2


A CASE STUDY


 
CHAPTER 4.0 THE CASE STUDY: DATA AND ANALYSIS
 
Last Updated on Wednesday, 10 December 2008 05:43 Read more...
 

Requirements of a Simulation System

E-mail Print PDF
Requirements of a simulation system

In this short article, we will occupy ourselves with the requirements that can be made of a simulation system for manufacturing and logistics. The demands may vary according to the exact application. This article is especially suitable as an aid for the selection of a simulation system.

When selecting a simulation system it is important to take a number of matters into account. Important is the user interface. How easily can the system be used, is there help for the user and are there checks on input and output?

Regarding the modeling possibilities: does the system offer enough possibilities to build a model of the system to be studied? If yes, does the simulation possibilities meet up to the requirements? Here you can think of speed, repeating experiments, eliminating start up conditions and the possibility to intervene during the simulation.

Furthermore, it is of great importance that you can obtain the output you need, in standard reports and graphs or in self-definable output. You could think of information such as utilization, waiting times, throughput times, numbers produced, delivery reliability, etc.

The simulation tool will at least have to provide possibilities for generating arrivals, performing tasks, generating and using chance numbers and manipulating queues.

Necessary statistic functions are the possibility of making draws from a number of probability distributions and the determining of averages, standard deviations, frequency distributions and reliability intervals.

The flexibility of a system deserves special attention: is the user limited to the use of the built-in possibilities or can he add his own logic, reports, variables, etc? And does the system offer openings with regard to other packages (exchange of data)? It is also handy when a simulation system guards the user as much as possible from mistakes by checking consistency, giving error messages and offering the possibility of undoing mistakes.

Visualization and animation are important for conveying ideas to third parties: is the state of the system in the course of time easy to follow? Use of icons, dynamic graphical output, visualisation of queues, scaling possibilities and use of color may prove of invaluable service.

Naturally, you should always question whether the tool concurs with the desired application. Is the problem continuous or discrete, stochastic or deterministic, should the model be detailed or is a high level of abstraction desired?

Finally, there are a number of practical considerations to be made, such as: which hardware is required, what are the costs (software, training, learning time, etc.) and what kind of support can the supplier offer?



Last Updated on Tuesday, 30 December 2008 07:54
 

What is Computer Simulation?

E-mail Print PDF
What is computer simulation?

Thie condition to be able to use a computer simulation model is that the behavior of the individual parts of the system and the relationship between these parts can be described logically. We must not confuse this with the mathematical description of the system as a whole. In this case, we'd be speaking of an analytical solution.

The most important part of a computer simulator is the "dice", i.e. the random generator. The random generator is capable of generating chance numbers, thus giving a realistic representation of the stochastic character of the system (before the computer age, tables were often used in order to dispose of chance numbers). However, a computer is absolutely predictable and it is thus impossible to just generate chance numbers with a computer. So, we also speak of a "pseudo random number" generator.

A good random generator, generates numbers within a certain interval (for example 0 and 1), whereby each position within the interval has an equal chance to be chosen (uniformly distributed) and whereby the result of each individual draw is independent of the previous one.

Building a good random generator for a computer is a science in itsself. In general you may assume that random generators in simulation packages and simulation languages are suitable for their purpose. However, you can not always say that random generators are good. There are differences in quality. That is why we will now discuss the most important problems when generating a chance number.

We have already mentioned that "draws" must be uniform and independent. Besides this, we wish to be able to reproduce a batch of random numbers (a random number stream). This can be useful in simulations where you want to compare two alternatives whereby only one part of the system shows a different behavior. This is solved by generating a batch of random numbers on the basis of a starting value (random seed number).
The seed number is used in a formula. From this formula comes the first draw. This number is again used in the formula and the second draw results, etc.

The fact that a draw is based on a process of the previous draw, means, per definition, that the numbers are independent. However, the challenge is that we apply a process in such a way that it seems as if there is no statistical dependence between the draws.

A second problem is that at a certain moment, each random generator starts repeating the same batch of numbers. The trick is to make sure that the length of this cycle is a long as possible.

Suppose we have the following generator to simulate a dice (numbers between 0 and 5 instead of 1 and 6):

Zn = (Zn-1+1) mod 6

With starting value Z0=3 we obtain the following batch (Z1, Z2, Z3,...):

4,5,0,1,2,3,4,5,0,1,2,3,4,...

It is obvious that this batch is not independent and even repeats itself after 6 draws.



We adapt the generator:

Zn = (A*Zn-1+B) mod C

With starting value Z0=3, A=2, B=1 and C=6 we obtain (Z1, Z2, Z3,...):

1,3,1,3,1,3,1,3,1,3,...

The draws may seem more independent but, the cycle length of 2 is rather disappointing. It now appears that the choice of A and B and C can increase the quality of the generator. There are criteria for the choice of these parameters whereby prime numbers play a role. Most random generators in computers are based on this type of process. We call them LCGs (linear congruential generators).

Law and Kelton suggest the following for a good generator:

Zn = (515*Zn-1+1) mod 235 (Law and Kelton)

Besides the random generators, the simulation algorithms used are also of importance. Continuous simulations are mostly based on the solving of differential equations of the first or higher order. Discrete simulations, the subject of this book, either use the "time slicing" or the "next event" technique.

Time slicing means that time passes in constant steps. At each point of time, one checks if an event takes place. If this is the case, the state of the system is adapted. A disadvantage of this method is that it is often slow, because the times at which a systems doesn't change are also evaluated. The next event technique does not have this disadvantage. The clock jumps from event to event.

Next event versus time slicing

____________________________________________________________________________________________
The next event technique makes use of the fact that, in discrete processes, the state of the system changes eratically. If a product is processed at time 10, and the process takes 7.3 seconds, then we know the process will be finished at time 17.3. The next event simulator will determine at time 10 that the next event will take place at time 17.3 and (assuming that no events occur before that time) the clock will then jump from 10 to 17.3.

With the time slicing technique, time will pass according to fixed intervals and the simulation algorithm will continually ask: process ready?
 
For example: t=11: ready? No. t=12: ready? No. t=17: ready? No. t=18: ready? Yes. We not only see that this takes more calculation, but we also see that the size of the time steps determines the accuracy of the simulation. If we had wanted to simulate the processing time more accurately, than we should have taken steps of 0.1 seconds: i.e. even more calculating to cover the period of 7.3 seconds. The advantage of the time slicing technique is that it is easier to program.

____________________________________________________________________________________________


Simulation algorithms in practice are a lot more complicated than the example discussed above. Literature on simulation used to spend a lot of time on the precise functioning of simulation algorithms, because it was assumed that you had to program your own simulation models.

The current tools for computer simulation contain built-in simulation algorithms, random generators, etc. so that the one who simulates (from now on we will use the ugly word "simulater") can concentrate on the building of the actual model. In the following paragraphs we will discuss the different tools for computer simulation, differentiating between simulation languages and simulation packages.

The random generator

____________________________________________________________________________________________
Q
Given 4 series of draws, each from a different random generator. Each generator should produce numbers, uniform between 1 and 100.

Indicate for each series at which aspect the the generator seems to be functioning badly.

1. 10,13,23,56,7,13,8,22,45,33,12,96,4,52,43,17
2. 3,7,23,48,63,93,14,32,52,78,83,2,27,31,67,98,4,17
3. 17,48,31,92,67,17,64,57,42,3,65,93,17,48,31,92,67,17,64,57

4. 12,44,96,72,48,88,32,36,84,64,8,56,28,76

A
1. Not uniform (many low values, few high)
2. Not independent (values keep mounting to 100)
3. Bad reproducability (repeats itself)
4. Not aselect (only draws multiples of 4)

Last Updated on Friday, 19 December 2008 13:21
 

What Is Simulation?

E-mail Print PDF
What is simulation?

Traffic SimulationSimulation is used to study systems and thus obtain insight into the behavior of such a system. However, often there are other ways to obtain that insight. So, when is this study called simulation? When we are talking about imitating a system.

Definition of simulation:

Simulation is the imitation of a system, based on the knowledge or assumptions regarding the behavior of parts of that system, with the purpose of obtaining insight in the behavior of that system as a whole.

Using a simple example, we shall now discuss three ways to solve a problem.

Situation
At a certain time, a vessel contains 100 litres. We know the contents flow from the vessel with a speed of 1 litre per minute.

Purpose
We wish to know how long it takes before the vessel is empty.

Methods of solving the problem

a. Calculation

If 1 litre pours out of the vessel per minute and there are 100 litres in the vessel, a simple calculation shows that the vessel will be empty in 100 minutes.

b. Measuring

Assume we don't know how to calculate, but have learnt to tell time. We can then stand next to the vessel with a stopwatch and wait till the vessel is empty. If we then press the button immediately, we read: 100 minutes

c. Simulation

If we don't have a vessel to stand next to, we could decide to put 100 grams of sugar in a cardboard box and then cut a hole in the box so that 1 gram of sugar pours out per minute. 
We measure the time it takes for the box to empty and conclude that the same is probably valid for the vessel.

Four questions arise from these three methods:
1. Does one only simulate when one can't calculate?

2. Is the experiment with the box not a lot of work for such a simple question?
3. Can we simply assume that the box is a good representation of the vessel?

4. Is simulating also measuring?

To start with the last question: yes, simulating is measuring (registering), with, as a specific characteristic, that we do not measure reality, but a model of reality. Thus, simulation is not a mathematical method. Simulation does use mathematical techniques (especially statistical), but merely as a tool for measuring.

The third question hides an aspect to which we will dedicate an entire chapter, namely verification and validation (Chapter 9) or: does the behavior of the model correspond with reality?

The second question contains the aspect of purpose. If we know that simulation is the only way to solve a problem, we will also have to ask ourselves if the costs of the experiment weigh up to the extra information the experiment will provide.

The first question touches the problem: when do we simulate? In general, there are two ways to solve a problem: analytically and experimentally. The first solution was analytical, the second and third were both experimental. Analytical methods often give an optimum solution, experimental methods often lead to a good, but not necessarily optimum solution (of heuristic nature).

Solving a problem experimentally without simulation, requires that the system to be studied exists and is available. 
That is not always the case. Often one wants to know things about a system which does not yet exist or about the consequences of a change in a system without first having to build the new system. In that case, two possibilities remain: simulation or an analytical solution.

Solving a problem analytically requires that we be able to describe the whole system, including the relation between the subsystems, mathematically. This is not always possible. This has two main causes: complexity and uncertainty.

Complexity
A system can be so complex, with so many mutual influences of the subsystems, that it is simply not possible (or extremely difficult) to describe the system in terms of mathematical relations. Say the speed of the flow of the above described vessels is dependent on the amount of fluid still in the vessel and also on the size of the opening and that, on top of that, the opening is enlarged 10% every 4 minutes. 

It will be clear that the mathematical (analytical) solution becomes more difficult and that most of us will choose to stand next to the vessel to measure. Now imagine a batch of vessels that all influence each other. It now becomes a lot easier to realize that there is a point at which the preference goes towards a non-analytical approach, because this is cheaper (measuring is cheaper/easier than calculating), or because the analytical approach is impossible.

Uncertainty
Describing a system in mathematical terms can also be difficult, if we are considering a simple (not complex) system and are faced with uncertainty. Imagine again the simple vessel with, as a special characteristic, the fact that the opening blocks up sometimes. We don't know when it happens, we just know it happens. This makes it impossible to solve the initial problem (either analytically or non-analytically): when is the vessel empty (we could measure it, but who says the next result will be the same?). We have to formulate the problem differently: when do we expect the vessel to be empty? Then, this problem can only be solved if we know a little more about the blocking up, for example: how often is there a blockage and how long, on an average, does such a blockage last? If we have statistical information, for example a probability distribution of the blockage behavior, then we essentially have a solvable problem. The question now is: do we choose an analytical or non-analytical method of solution? The characteristic of processes in which uncertainty plays a role, is that they easily become analytically unsolvable. Only systems containing few uncertainties can sometimes be approached mathematically (see Chapter 4).

We have now seen how a choice is made between analytical and non-analytical methods. The choice between the two experimental methods (experiment in reality or experiment with a model) needs some explanation.


In general, you will choose simulation (model experiment) if:

- the experiment in reality is not possible (what happens to the weather when the ice-cap melts?)
- the experiment in reality is not safe (think of the flight simulator)
- the experiment in reality is too expensive (building a new factory and discovering the design is not right)

The process of choosing simulation as a method of solution is shown in the following illustration:
 
Simulation Flowchart


Last Updated on Tuesday, 30 December 2008 07:53
 


Page 3 of 3

Newsflash

The book, “Fast Cycle Production: The Manufacturing Philosophy That Always Works!” is a comprehensive summary of the most powerful productivity tools available to the business world. The author, Tom A. Clason, brilliantly outlines his winning approach to Manufacturing Excellence, which he has been using for several decades to help companies gain market share and defeat their competition. As a successful consultant to a variety of leading companies, Tom Clason has demonstrated that his approach to manufacturing competitiveness works. Fast Cycle Production is as good if not better than any other cycle time reduction technique being offered today, and more importantly, his tools allow these competitive gains to be continuously improved upon.  Read more...