APPENDIX

The Effect of Variation on Kanban Systems

This appendix demonstrates the effect of variation in replenishment times and material consumption rates on the number of kanban cards required to sustain production and, therefore, on the maximum amount of inventory needed at the point of use and its resupply. The demonstration is provided by a spreadsheet model, which simulates the dynamics of a kanban replenishment system with varying degrees of uncertainty. The spreadsheet allows for a hands-on experience that helps to develop intuition about kanban dynamics. While our intent is primarily to illustrate the effect of uncertainty, this model could also be used to estimate the cards required in an actual process. The spreadsheet model can be downloaded from the website http://mason.wm.edu/faculty/bradley_j/LeanBook/ and its file name is KanbanSimulation.xlsm.

Spreadsheet Model Overview

Many or, perhaps, most readers will be concerned with the model for purposes of illustration rather than as a decision tool, and so the structure of the spreadsheet model and instructions for its use in experimentation are described first without delving into the details of its construction. In a subsequent section, a more detailed description is provided for those interested in adapting the model as a decision tool. In that section, we provide a detailed description of the model’s construction and sufficient detail about the formulae and the Visual Basic for Applications (VBA) programming used in the model such that a reader with the requisite spreadsheet and programming skills could either construct a similar model for their particular application or adapt the current model.

The model simulates a one-card kanban system that is used to replenish parts to a workstation in an assembly process from a supermarket inventory area. The operator at that workstation removes the kanban card from a carton of parts before the first part is removed from the new carton and places the kanban card in a card holder that is affixed to the material rack (see Figure A.1). Various methods can be used to collect these cards, but we assume that the same material handler who delivers parts also picks up the cards: At each instance when the material handler delivers cartons to the workstation they also pick up the unattached kanban cards from the card holder that signal the material requirements for the next delivery. The time that elapses between subsequent replenishment visits would vary depending, in part, on how many cartons of parts were needed for the workstation on which we are focusing. It is likely, however, that this material handler would also be replenishing a number of other parts for other workstations in the vicinity. If the workstation analyzed in our model is one of many workstations served by this material handler, then it is reasonably accurate to assume that the varying times between replenishment deliveries are (statistically) independent of the number of cartons needed on each run for our workstation because it is a small portion of the load that is being replenished.

The consumption rate of parts might also vary over time, especially in systems where multiple products are made, due to the varying mix of products being produced. Unpredictable downtime and other factors can also cause the consumption rate to vary.

Figure A.1 One-card kanban replenishment process

The model replicates variation in replenishment response time and the material consumption rate by generating numbers that vary with a certain mean and standard deviation and, more specifically, whose variation is described by a particular probability distribution. We use the normal distribution in this analysis. While this distribution might likely be inappropriate for most circumstances, it is easy to use in a demonstration, it illustrates the principles of interest, and it is easy to substitute other distributions to adapt the model if it were to be used as a decision tool.

Spreadsheet Model Description

The various regions of the spreadsheet model that implement different facets of the analysis are designated by different colors. While the color coding is apparent upon opening the spreadsheet, it is not rendered in the screenshot of the model in Figure A.2. Thus, this text will refer to the spreadsheet contents by row and column with parenthetical cues regarding the spreadsheet color coding. The parameters that describe the variation in consumption and replenishment times are shown in the cells in Columns A and B, Rows 1 through 6 (blue color coding). The area where the consumption and replenishment of parts are simulated is shown in Columns A through K, Row 9 and below (yellow color coding). This area is divided into three parts. Part 1 models the consumption of parts and Part 2 models replenishment, that is, when the unattached kanban cards are returned to the workstation attached to a fresh carton. Part 3 generates the times when the material driver arrives at the workstation with parts deliveries. Each row in Parts 1 and 2 of this region contains data corresponds to a particular carton of parts being opened and its associated card being removed and placed in the card holder. Column A shows how much time has elapsed since the beginning of the simulation at each point in time when a new carton of parts is opened. Part 3 contains the varying delivery times, but the values in each row in Part 3 correspond neither to the points in time shown in Column A nor to the data about the cartons being opened in each row of data in Parts 1 and 2: This is a separate stream of data that interact with Parts 1 and 2 to determine the earliest time when an unattached kanban card is returned with a fresh, unopened carton. The results of the simulation analysis are shown in Columns M through O (green color coding) and are described later.

Figure A.2 Spreadsheet model

In the material consumption portion of the worksheet (Part 1), numbers varying with the mean (average) and standard deviation specified by the parameters in the upper left corner of the spreadsheet are generated in Column B. Each row in Part 1 and Part 2 corresponds to a point in time when a card is removed from a fresh carton of parts as it is opened. For example, in Row 12 in Figure A.2 a carton is opened at the beginning of the simulation (Column A shows that no time has elapsed) and the parts in that carton last 7.34 minutes before running out. Thus, Column A in the next row below shows an elapsed time of 7.34 minutes when the next carton of parts is opened.

Replenishment activity is reflected in Columns E through I (Part 2), and Column F shows the time when the card associated with each row is picked up for subsequent replacement with a fresh carton of parts: This is the time of the earliest visit from the material handler subsequent to a card being removed from a carton of goods. Calculating this time entails choosing the smallest time from Column K that is equal or greater than the time when each card is detached from its carton, as designated in Column A. This is the first opportunity for the material handler to retrieve the unattached kanban card. The replenishment time in Column G when a fresh carton is returned in response to each card is simply the time of the material handler’s next visit after having retrieved an unattached card, which also comes from Column K: This is the time of the next visit subsequent to the times shown for card pickup in Column F.

The construction of the model hinges on one simple observation: At each instant of time when a kanban card is removed from a carton, the production process does not run out of parts if the operation has a sufficient quantity of material to last until the replenishment is received in response to that card. For example, if there are 21 minutes of parts already at the workstation when a kanban card is removed from a new carton and 60 minutes of parts that will be delivered by the material handler in their next visit, then the material handler must return in 81 minutes or less with the new carton in response to the unattached kanban card or the workstation will run out of material.

To determine the minimum number of kanban cards required to sustain production, we focus on the card that is removed from the first carton of parts that is opened after a visit from the material handler. That card will be returned with a fresh carton of parts two visits hence from the current time. Between the point when that card is removed from its carton until it is returned with a replenished carton the operation has some number of cartons on the rack plus it will receive a number of cartons in the next replenishment equal to the number of cards that were just picked up. The sum of those two quantities of cards equals the total number of kanban cards in the system. In order for the workstation’s parts requirements to be satisfied without running out, the number of kanban cards (number of cartons of supply) needs to sustain production until the second visit hence. When the Compute button is clicked on the spreadsheet model (located in Column C near the top of the worksheet), values are computed in Column I for the minimal number of cards required for each row that corresponds to the first card removed after each visit of the material handler. A VBA program computes the smallest integer value (in Column I) such that the amount of time the workstation is sustained with that many cartons of material (summing materials supply times from Column B using OFFSET() and SUM() functions) as shown in Column C is sufficient until replenishment arrives. The materials supply time is added to the current time (Column A), which determines the material depletion time in Column D: This time must be later than the second subsequent visit from the material handler (in Column G). The VBA program is used to iteratively add 1 to the values in Column I, starting with 1, until the material will last until replenishment arrives. Clicking the button labeled Compute initiates the VBA program, which generates new random consumption and replenishment times (Columns B and K) and then calculates the minimal number of cards for each row. In this way the replenishment and consumption activities interact and the effect of the varying and uncertain consumption and replenishment times is computed. The number of cards in each instance varies because the usage rate and the interarrival times of the material handler vary.

Note: It is most convenient to make the calculation of the number of kanban cards required using as a reference the time when the first card is removed subsequent to a material handler’s visit. The same calculation could be made at any point in time when a card is removed, even if it was not the first card, but we also would need to add to the required cards the number of cards that were already removed and waiting in the card holder for replenishment. Thus, we would obtain the same result regardless of our point of reference for the analysis: as we moved down each row we would compute one fewer card in Column I but we would need to consider that there would be one more card in the card holder awaiting pickup.

The results are summarized by computing in Column N a frequency histogram of the number of material handler replenishment visits when each possible number of cards or cartons was required to sustain production (green color coding). The service level in Column O is the percentage of instances, for each number of kanban cards one might use, when the material handler arrives at the workstation with replenishment to find that stock was sufficient to sustain the production process. The service level for any number of cards in the kanban system is the number of instances where that many, or fewer, cards were required to sustain production divided by the total number of material handler arrivals observed. Simply put, it is the cumulative probability distribution of the results data. The frequency histogram data are shown graphically at the top of the worksheet.

Analysis Using the Spreadsheet Model

The results for the number of kanban cards providing 95 percent service level and the maximum number of cards required over the simulation (100 percent service level) as 1,000 cartons of parts are consumed are shown in Table A.1. In this experiment, the average replenishment time was 60 minutes and the average carton consumption time was 10 minutes. The standard deviations of those times varied according to the data shown in Table A.1. Clearly, as the standard deviation of either consumption or replenishment interarrival times increases, more cards and more inventory are required at the material rack and in replenishment in total. The number of cards required for a 95 percent service level increased by almost 50 percent from the situation with no variation to the situation with maximum variation. Over that same range of variation, the maximum number of cards increased by almost 100 percent.

Table A.1 Effect of replenishment and consumption variation on number of kanban cards

(95* SL, Max) Consumption standard deviation
Replenishment Time standard deviation 0 1 2 3
0 11, 11 13, 13 13, 14 14, 15
3 13, 13 13, 13 13, 14 14, 15
6 13, 15 14, 15 14, 16 14, 16
9 14, 15 14, 16 14, 16 15, 17
12 15, 17 15, 17 15, 17 15, 18
15 15, 18 16, 18 16, 19 16, 19

The table also shows that low variation in both replenishment and consumption is required for low inventory levels. Starting from the cell in Table A.1 where there is no variation, an increase in either type of variation causes inventory levels to jump precipitously. Thus, for a system to be lean, all forms of variation must be driven out of the system. Much has been said about how level scheduling is necessary for using a kanban replenishment system. Less is said about the necessity of a reliable replenishment system. If the replenishment intervals have wild variation then level scheduling is ineffective.

The implications here are not only more inventory in the system due to variation, which has a financial cost, but also more space is needed in the assembly process to store materials. This causes more walking time (which is nonvalue-added) and causes the assembly process to be larger, which causes increased investment in larger buildings and racks.

Readers may experiment with this spreadsheet by choosing other averages and standard deviations for replenishment lead times and consumption rates.

Detailed Description of Spreadsheet Formulae and Programming

We discuss in this section the more technical spreadsheet formulae and VBA programming used in the kanban analysis worksheet. A logical description of how these two pieces of the analysis interact requires that we discuss the spreadsheet formulas and the VBA programming code in an integrated manner rather than describing one and then the other.

We do not describe how to draw random numbers from probability distributions here, but a user interested in modifying the spreadsheet will need to be familiar with that technique, which is described in many references including Law and Kelton.1 The kanban model uses the inverse normal distribution (NORMINV()) along with the mean and standard deviation of case usage time from the parameter region of the worksheet (blue color coding) to generate the varying times in Column B. Similarly, the varying arrival times of the material handler, in Column K, are generated with NORMINV() also: Each arrival time is a varying normal random variable added to the last arrival time. (The time that passes between each of the material handler’s successive visits to the workstation are called interarrival times.) New instances of these two streams of varying quantities are generated when the worksheet is recalculated, either by pressing F9 or through the VBA code when the Compute button is clicked. In this case, clicking F9 will make the analysis invalid because many of the calculations that require the VBA code need to be refreshed also.

The VBA code can be observed by first enabling the Developer Ribbon by clicking on File, then Options, and then checking the box indicated in Figure A.3 (which depicts Excel 2010 although Excel 2013 is similar). Clicking on Visual Basic icon on the Developer Ribbon (see Figure A.4) makes the VBA programming code visible (see Figure A.5).The first thing this code does is recalculate the worksheet using the Me.Calculate statement and, in so doing, it generates new case usage and material handler interarrival times. Once the varying case usage and interarrival times are generated, the contents of Column I where the number of required kanban cards will be computed are cleared using the Range(“CardsNeeded”). ClearContents statement: Range names are used liberally in the workbook to make the VBA code robust to changes in the spreadsheet. With new case usage times having been generated, it is known at what times each carton is opened (Column A). Then, using the MATCH() function in Column E the time can be computed in Column F when the material handler will pick up each card, which is the earliest visit after a carton is opened. Subsequent replenishment comes at the next visit, which is the time specified in Column G, which again uses the offset computed in Column E plus 1. The first card removed after each visit, which are the reference points for our analysis as previously described, are identified in Column H using IF() statements. Cells in that column containing a value of 1 indicate to the VBA code that the minimum number of cards that would keep the workstation from running out of material given the particular case usage and arrival times should be computed for that row. The VBA code uses a Do-While loop nested within a For-Next loop to increment the values in Column I until the material depletion time in Column D is at least as great as when the material handler arrives with replenishment. The For-Next loop causes this computation to be made in each row. A number of Range.Calculate statements at the end of the VBA Code refresh the frequency histogram data and the graphs.

Figure A.3 Enabling Developer Ribbon

Figure A.4 Accessing the VBA programming code

Figure A.5 VBA programming code

This formulation has two implicit assumptions:

The description of the system being replenished by a single material handler prevents the occurrence of replenishment crossover where the replenishment pursuant to a kanban card picked up at a later time arrives before the replenishment in response to a kanban card that was picked up at an earlier time. The analysis would need to be revised if the replenishment process allowed replenishment deliveries to cross over, which would be beneficial to operation resulting in reduced inventory requirements.

In computing the minimum number of cards required to maintain operations at each replenishment event, the analysis ignores the effect if the workstation were to run out of inventory, which would be the case if the number of cards provided a service level less than 100 percent. If the workstation were allowed to be depleted of inventory, the analysis would need to be modified to accommodate that situation. This could be accomplished by modifying the analysis for a specific, constant number of cards in the system.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset