US 5,819,232 AGrant
Method and Apparatus for Inventory Control of a Manufacturing or Distribution Process
Issue Date:1998-10-06
•20 Claims
•8 Drawing Sheets
Abstract
A method and apparatus, using a computer model, to control a manufacturing or distribution process, which determines a demand forecast by using an optimized historical weighting factor, determines an upper and a lower bound of a planned inventory by explicitly accounting for the customer order lead time, and computes a production schedule at predetermined intervals to maintain an actual inventory between the upper and lower bounds of the planned inventory.
Metadata
Assignee
- E. I. du Pont de Nemours and Company
Inventor
- Lester Lynn Shipman
Application Information
Application Number:US 6205232
Filing Date:1996-03-22
Priority Date:1996-03-22
Art Unit:274
Classifications
IPC:
G06F15300
Field of Search:
7053953647;8;22904468.02;468.06;468.05;468.1;468.07;468.08;468.09;468.13;478.04
Patent Drawings (8 sheets)
Description
FIELD OF THE INVENTION
This invention relates to a method of forecasting, inventory planning, and scheduling operations in manufacturing or distributing facilities and more particularly to a method based on customer order lead time.
BACKGROUND OF THE INVENTION
Business Resource Planning (BRP) has been used in manufacturing businesses in order to increase the speed of new products to market, to provide sufficient product to customers by carrying sufficient inventory, and to reduce production costs. BRP processes which directly impact inventory are demand forecasting, inventory planning, master production planning, material requirements planning, and distribution requirements planning.
Prior art has been concerned with various aspects of the BRP process. For example, U.S. Pat. No. 5,040,123 discloses an expert system scheduler based on heuristics derived from factory experience and concepts of forward and backward scheduling. The main deficiency of this expert system is that conventional methods are employed to set inventory and safety stock. No means of forecasting is used to predict future inventory levels and thus modify the expert system scheduler.
Another U.S. Pat. No. 4,459,663 discloses a data processing machine to automatically schedule production of products and components. The method of this patent uses actual and planned customer orders, but there is no teaching regarding how to determine the number and size of the planned customer orders. Highly inaccurate forecasts for future demand may therefore be generated. This patent's failure to take into consideration the customer order lead time associated with the future demand will lead to either too much or too little inventory, thus resulting in either high inventory carrying costs or potential loss of sales.
The traditional ways of calculating safety stock are well-described in Decision Systems for Inventory Management and Production Planning by Edward A. Silver and Rein Peterson (John Wiley and Sons, New York 1985). In accordance with this text, statistically-calculated safety stock includes the average lead time (called period of risk), variance in the lead time, averaged demand rate, and variance in the demand rate. Only the lead time on the supply or production side is considered in the safety stock calculation. No lead time from the demand or customer side is considered for the safety stock calculation.
Demand forecasting is concerned with the ability to project future demand by customers for product produced in a manufacturing facility. Demand forecasting can be done by knowledgeable people, usually sales representatives, making a projection of future demand based on experience, customer information, and general economic conditions. Alternatively, demand can be forecast by analyzing historical shipment data using statistical techniques available in the open literature or by using commercial forecasting software packages designed for use on various computers. Both methods of demand forecasting tend to have a high forecast error which reduces the effectiveness of Business Resource Planning. Demand forecasting is often time-consuming and the demand forecast is typically updated infrequently, perhaps once per month. Business Resource Planners typically compensate for the high forecast error rate and the obsolescence of the demand forecast by carrying more inventory.
Inventory planning is concerned with the ability to determine the maximum and minimum inventory to be carried to meet customer orders in a timely fashion. Carrying too much inventory increases costs through the inventory carrying charge. Carrying too little inventory causes orders to be missed or placed in backlog, both decreasing the service level to the customer. Traditionally, inventory planning is done with statistical techniques. Since the time available between when a customer places an order and when the customer expects to receive the product is never considered, the traditional techniques tend to advise carrying higher than necessary inventory levels.
Master production scheduling is concerned with the ability to schedule production while maintaining inventory levels between the maximum and minimum levels determined by inventory planning. Based on current inventory and the demand forecast, master production scheduling projects the level of inventory into the future. Whenever inventory is projected to decrease to the minimum level, the manufacturing facility is advised to produce more product. Whenever inventory is projected to exceed the maximum level, the manufacturing facility is advised to produce less product or even no product. Since master production scheduling depends on the accuracy of the demand forecast and on the quality of the inventory planning, a manufacturing facility may make too much or too little of a product, leading to either excess inventory carrying costs or to poor customer service.
Material Requirements Planning (MRP) is concerned with the ability to assemble and make available all the materials, parts, and supplies needed for a production run. Material Requirements Planning uses the projected inventory from the master production schedule to communicate the need for various materials throughout the manufacturing process and to inform suppliers of quantities and delivery dates. Inaccurate and out-dated projected inventory causes the manufacturing facility to order too much or too little material, leading to frequent order changes to suppliers.
Distribution Requirements Planning (DRP) is concerned with the ability to maintain adequate inventory at distribution points outside the manufacturing facility. Such distribution points might be warehouses, terminals, or consignment stock at a distributor or customer. Distribution Requirements Planning systems calculate and set restock trigger points so that product can be shipped in time from the manufacturing facility to the distribution points. Distribution Requirements Planning depends on the accuracy of the demand forecast. Traditional ways to generate Distribution Requirements Planning use only the lead time needed to manufacture and transport product from the manufacturing facility to the distribution point. No consideration is given to the customer order lead time available when a customer requests product from the distribution facility. In the method of the present invention, customer order lead time is explicitly included at all points where the customer may place orders, whether directly with the manufacturing facility or with a distribution point. Use of the customer order lead time optimizes safety stock levels and the restock trigger points at the distribution facility.
In the method of the present invention, the customer order lead time is explicitly included in calculations for the inventory planning, the Master Production Scheduling, the Material Requirements Planning and the Distribution Requirements Planning. The explicit inclusion of customer order lead time in these calculations leads directly to lower safety stocks and to better business utilization of working capital, thus solving one or more of the above mentioned problems of the prior art.
SUMMARY OF THE INVENTION
In accordance with the present invention a computer implemented method of inventory control of a manufacturing or distribution process, using a computer model of the manufacturing or distribution process, which comprises the steps of:
a. determining a demand forecast by using an optimized historical weighting factor,
b. determining an upper and a lower bound of a planned inventory by explicitly accounting for the customer order lead time, and
c. computing a production schedule at predetermined intervals to maintain an actual inventory between the upper and lower bounds of the planned inventory.
The method the present invention comprises three components: demand forecasting, inventory planning, and master production scheduling or distribution requirements planning. More specifically, the present invention generates a detailed demand forecast, a detailed inventory plan, and a detailed master production schedule or distribution requirements plan. The present method employs statistical techniques that specifically incorporate customer order lead time, which is the difference in time intervals between the order placement and the shipping event, into generation of the demand forecast, the inventory plan, and the master production schedule. Use of the present method results in more accurate demand forecasting, better inventory planning, and improved master production scheduling or distribution requirements planning. Although this method was developed for application in the chemical industry, the present method is applicable to any manufacturing industry or distributing industry.
The present method utilizes various statistical methodologies as well as commercially available computing systems. One of the features of the present method is the linking together of the components of demand forecast, inventory plan, and master production schedule or distribution requirements plan so that the improvement in each component is cascaded into the next. Among the many benefits of using the present method are: more accurate demand forecasts, very frequent, typically daily, updates of demand forecasts, reduced inventories, and better customer service with fewer missed or late shipments.
Another feature of the method is the generation of the demand forecast by using a normalized, weighted average of historical shipping data from a predetermined period to calculate the most likely demand per time interval in the future. A common prior art method to calculate the demand per day in the future is to simply average the amount of product or items shipped each week for the past several weeks and dividing the result by the number of days in the time period used to calculate the average demand per day. The prior art method of simple averaging cannot detect trends that demand is increasing or decreasing on a day to day or week to week basis. In the present invention, the amount of product shipped in the most recent time interval, typically a day, is given the most weight, the amount shipped two time intervals, i.e. two days, ago is given less weight, the amount shipped three time intervals, i.e. three days, ago is given even less weight, and so on, until the entire pre-determined period of historical shipping data has been taken into account.
Another feature of the present method is the determination of an optimum weighting factor used to calculate the demand per time interval. This is accomplished by finding the weighting factor that gives the lowest mean average deviation, i.e., the absolute value of the difference between the amount forecasted to be shipped and the amount actually shipped for the pre-determined period, the difference being divided by the total amount shipped over the predetermined period. This is done computationally on a computer, typically starting with the weighting factor set equal to a near zero value, such as 0.01, and increasing the weighting factor by small increments, such as 0.01, until the weighting factor is equal to 1.0, and then selecting the weighting factor that resulted in the lowest mean average deviation. Computer capability is selected so that the demand forecast as expressed in demand per time interval can be recalculated every time interval for thousands of items or stock-keeping units produced in a manufacturing facility or ordered for a distributing facility by resetting the time period counter. The demand forecast calculation can typically be executed on a computer in a few seconds or a few minutes, depending on the number of items or stock-keeping units being forecast and the CPU speed of the computer. The forecast error generated using the method of the present invention is typically at least 20% lower and most often 50% lower than the forecast error generated in commercially available prior art demand forecast software packages.
Another feature of the present method is the use of a measure of time known as the period of risk. The period of risk starts at the moment that it is decided to schedule a new manufacturing run for a product and ends at the moment that an amount of product equal to the average order size has been produced and passed quality release. For example, a manufacturing facility sets a schedule every Monday and the product can be made in 3 days. The period of risk is 7+3=10 days since the decision to make product is frozen every 7 days and the amount of product must last until the production run after next, even though the actual manufacturing time is less than 10 days. The period of risk is used to modify the pre-determined historical period used to calculate the demand forecast. Thus additional time is added in period of risk increments, the forecasts are produced in period of risk increments, and the actual shipments are collected in period of risk increments.
Another feature of the present method is that the period of risk can vary over time. Whenever the period of risk varies over time, a probability distribution function is used to express the average period of risk and the variance in the period of risk. It is preferred to determine the actual probability distribution function for the period of risk from historical data. However, such probability distribution functions may be approximated by a Gaussian distribution or a Poisson distribution or other suitable probability distribution function, as determined by one familiar with statistical techniques.
Another feature of the present method is the use of customer order lead time, known by the acronym COLT. Customer order lead time is the difference in time intervals between the date the order was placed and the date the order was shipped. Whenever the customer order lead time varies over time, a probability distribution function is used to express the average customer order lead time and the variance in the customer order lead time. It is preferred to determine the actual probability distribution function for the customer order lead time from historical data. However, such probability distribution functions may be approximated by a Gaussian distribution or a Poisson distribution or other suitable probability distribution function, as determined by one familiar with statistical techniques.
Another feature of the present invention is the determination of an inventory plan which minimizes the combination of: (a) the changeover or transition costs to go from one product or item to the next in the manufacturing cycle, plus (b) the cost of holding inventory. In most manufacturing situations, the lowest manufacturing cost is typically obtained by making very long runs of a particular product or item to avoid the difficulties and costs of changeover or transitions. However, long product runs result in high inventory. On the other hand, if very low inventory targets are arbitrarily set, then the particular products or items must be made very frequently resulting in many changeovers or transitions which increase manufacturing costs. The present invention facilitates determining an optimum (lowest total cost) balance between the length of manufacturing runs and the amount of inventory.
Another feature of the present invention is the modification of the typical equations used to calculate an inventory plan. Such inventory plans consist of a lower bound for inventory level and an upper bound for inventory level, comprised of the amount of cycle stock plus the amount of safety stock. The improvement in the present invention is the modification of the time factor (over which demand uncertainty is measured) to be the difference of the period of risk and the customer order lead time. The use of this modified time factor typically reduces the average amount of safety stock to be carried by twenty to fifty percent (20 to 50%) compared to conventional inventory planning methods and mathematical models. As with the demand forecast, the inventory plan is re-calculated every day, which typically occurs within a few seconds or minutes with a computer. Another feature of the present method is the explicit use of customer order lead time in the calculation of the master production schedule. The purpose of the master production schedule is to keep the inventory level between the minimum and the maximum value determined by the inventory plan. This will assure the desired product or item will be available and at the same time will minimize the total of the combined total cost of changeovers or transitions and the cost of holding inventory. Therefore production runs are terminated when inventory approaches the maximum value of inventory and production runs are initiated when inventory approaches the minimum value of inventory. Customer order lead time improves the performance of the master production schedule by improving the accuracy of the projected inventory. Each time interval the current inventory level is read from the inventory transaction system. In addition, all the open orders are read from the order entry transaction system. The future time interval by time interval level of inventory based on current inventory, open orders, current fixed production schedule, demand forecast and customer order lead time is projected many time intervals into the future.
Another advantage of the master production schedule of the present invention is that the future product demand consists of a weighted combination of actual open orders and an amount of product demand from the forecast. The total amount of demand is the sum of: one hundred percent (100%) of the actual open orders plus a percentage of the amount of product projected from the forecast. The percentage of the amount of production based on the amount of product projected from the forecast product demand can vary smoothly from 0% to 100%. In other words, the master production schedule can be all make-to-order, or can be all make-to-stock, or can be any combination of make-to-order plus make-to-stock. Prior art techniques and commercially available master production schedule packages handle only make-to-order or only make-to-stock manufacturing situations since there is no consideration given to customer order lead time.
Another feature of the master production schedule is the ability to produce an inventory projection for a pre-determined period of time intervals into the future. The inventory projection of the present invention consists of the combination of: the current inventory, plus the amount of material on the production schedule, minus actual open orders, minus amount of product forecasted to be sold over and above the amount of the open orders. Conventional methods cannot accurately forecast the amount to be sold over and above the amount of the open orders; instead they use an over-simplified approach in which orders consume the forecast. The method of the present invention uses the more accurately forecasted demand per time interval and the statistical expectation value of the difference between pre-determined period of time intervals into the future and the customer order lead time to more accurately forecast the amount to be sold over and above the amount of the open orders.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram showing the overall steps of the method.
FIG. 2 is a detailed list of the data needed for steps A-F of FIG. 1.
FIGS. 3A-3E is a detailed block diagram of the method.
FIG. 4 is a block diagram of a computer apparatus for practicing the method .
DETAILS OF THE INVENTION
The overall steps of the method are shown in FIG. 1. A detailed list of the data needed for steps A-F is shown in FIG. 2.
Step B of setting the history periods is shown in greater detail in FIG. 3A. As indicated in step 2, historical shipment data is divided into predetermined intervals. A predetermined number of intervals of shipment data is selected by counting backward from today's date. This selected time period is called the first history period, as shown in step 3. The second predetermined number of intervals is selected by continuing to count backwards. This second selected time period is called the second history period, as shown in step 4.
Step C of determining the historical weighting factor F is shown in greater detail in FIG. 3B. The optimum value of F is determined by a recursive method shown in steps 5-13. As indicated in step 5, initially the weighting factor F is set to a very small number, for example, F=0.01. Using this value of F and the shipping data in the second history period, a forecast for each interval in the first history period is calculated. The difference between the forecast for each interval of the first history period and the actual shipping data for each interval of the first history period is calculated. The percent mean averaged deviation (MAD) is determined by adding the absolute values of these differences then dividing the sum of these differences the sum of the actual shipments for the first history period and multiplying by 100. The value of MAD is compared to the previous value of MAD. If the current value of MAD is smaller than the previous value, F is increased by a small amount. For example, F may be increased by 0.01. Steps 6-13 are repeated until the lowest value of MAD is determined. The value of F that gives the lowest value of MAD is selected as the optimized, historical weighting factor shown in step 14 of FIG. 3C.
Step D of calculating predicted demand is further defined in FIG. 3C. As shown in step 15, predicted demand is calculated as the weighted average of the shipment data in the first history period using the selected value of F as the historical weighting factor.
Each demand forecast (FC .sub.j) for WPOR.sub.-- ave time periods is calculated as follows:
FCj=WPOR.sub.-- ave*DPDj, where WPOR.sub.-- ave is the average period of risk over a predetermined demand forecast period of W time intervals. ##EQU1## where F is a weighting factor, determined in steps 5-13, as previously discussed, P is the number of time intervals of the second history period, and DPD.sub.j is the weighted average demand per time interval.
S.sub.j-i are the actual shipments for the j-i th time interval. The optimal weighting factor, F, is calculated by finding the value for F that minimizes the mean absolute deviation (MAD) for Q sequential forecasts, each of which is shifted by one time interval from the forecasts on either side. MAD is calculated as follows: ##EQU2## The MAD sum is over Q sequential forecasts, where Q represents the number of time periods of the first history period.
Step E of calculating the inventory plan is further detailed in FIG. 3D. The initial step of calculating the inventory plan is step 16 where the cycle time is set to one unit. The upper bound and the lower bound of the inventory plan are determined in a recursive method shown in steps 17-30. The cycle stock is calculated using the predicted demand of step 15. The safety stock is calculated using a standard equation except that the period of risk is replaced by the expectation value of the difference between the period of risk and the customer order lead time. The upper bound of the inventory plan is the sum of the cycle stock and the safety stock so calculated. The lower bound of the inventory plan is set equal to the safety stock so calculated. The inventory is set to vary between the upper bound and the lower bound. The average inventory is then the sum of the upper bound and the lower bound divided by 2. Using the average inventory, the average inventory carrying cost is calculated. Total changeover cost is calculated as the sum of the individual changeover costs. The average inventory carrying cost and the average changeover cost are added together. This sum of inventory carrying cost and changeover cost is compared to the previous sum of inventory carrying cost and changeover cost. If the current value of this sum is smaller than the previous value, then the cycle time is increased by one unit. Steps 17-28 are repeated until the lowest value of this sum is determined. As shown in step 29, the upper bound for the inventory plan is set to the upper bound corresponding to the lowest sum of costs. As shown in step 30, the lower bound for the inventory plan is set to the lower bound which gives the lowest sum.
Expressed more simply, each time a production run is started a changeover cost is incurred. The average time between production runs is Cycle Time (CT). CT is determined by minimizing the following:
The annual cost of holding inventory is related to the average inventory level, which is:
The cycle stock (CS) is: ##EQU3## The safety stock is: ##EQU4## where: SL1 is the fraction of kgs that are shipped on time divided by ( period of risk-COLT). $PROBNORM.sub.-- INV is a standard function for a normal distribution that inputs the service level (SL1) and outputs the number of standard deviations. Higher service levels mean more standard deviations. <POR-COLT> is the expectation value of POR-COLT given that POR>COLT. POR and COLT both have probability distributions, which are approximated follows:
The probability distribution for COLT is a Gaussian centered at COLT.sub.-- ave with a variance of COLT.sub.-- var.
The probability distribution for POR is a Gaussian centered at POR.sub.-- ave with a variance of POR.sub.-- var.
In general, if there is enough historical data to calculate the actual probability distribution, then the actual probability distribution is used instead of the Gaussian approximation. Usually there is not enough data. VPD is the variance per day from the forecast. DPD is the demand per day from the forecast. ##EQU5## is the expectation value of (POR-COLT-<POR-COLT>).sup.2 given that POR>COLT. This quantity is a variance. SL1 is related to SL2, the fraction of kgs shipped on time integrated over all time as follows:
Step F of setting the production schedule is further detailed in FIG. 3E.
As shown in step 31, the current inventory is read from an inventory tracking system. The future interval counter N is set to 1 as shown in step 32. As shown in step 33, open orders due for N future intervals are read from an order entry transaction system. As shown in step 34, the amount of production already scheduled in read from the current schedule. In step 35, the inventory at N intervals is calculated as the sum of current inventory and production already scheduled minus the sum of open orders minus the predicted demand modified by a factor equal to the expectation value of the difference between N and customer order lead time. Thus, the predicted inventory for a predetermined number of future intervals is computed from the sum of current inventory plus all production scheduled to be produced within the predetermined number of intervals, minus the sum of all open orders scheduled to be shipped within the predetermined number of intervals, minus a predicted or forecast demand, which has been scaled by being multiplied by the expectation value of the difference between the number of intervals and the customer order lead time.
The calculated inventory is compared to the lower bound as shown in step 36. If the calculated inventory is less than the lower bound the production schedule is increased as shown in step 37. Then the future interval counter is increased by 1 and steps 33-41 are repeated. If the calculated inventory is larger than the lower bound, then the inventory is compared to the upper bound as shown in step 38. If the calculated inventory is less than the upper bound, then the current production schedule is maintained as shown in step 40. If the calculated inventory is greater than the upper bound, then the production schedule is decreased as shown in step 39. Then the future interval counter is increased by 1 and steps 33-41 are repeated.
The purpose of the master production schedule is to keep the inventory oscillating between peak and trough; this will assure the desired product availability level and will minimize the total annualized cost of doing changeovers+holding inventory. Therefore production runs are terminated when approaching peak and production runs are initiated when getting near trough. COLT improves the performance of the master production schedule by improving the accuracy of the projected inventory. Each day the current inventory level, INV(0), is read from the inventory transaction system. In addition all of the open orders are read from the order entry transaction system. The demand forecast is regenerated daily using the algorithm describe above. Peak and trough are re-calculated daily using the algorithm described above. With COLT, the inventory level N time intervals into the future is calculated as follows:
-(sum of open orders scheduled to ship on or before time interval N)
+(sum of production scheduled to be produced on or before time interval N)
Where <N-COLT> is the expectation value of N-COLT where N>COLT. When INV(N) is projected to dip below TROUGH, then the decision to start a new production run should be made in N-POR time intervals or earlier. When INV(N) is projected to rise above PEAK then the production run should be terminated at the point that the inventory just reaches peak.
FIG. 4 illustrates an apparatus 60 in accordance with the present invention configured as a computer workstation. The workstation 60 comprises a computer system 62 operatively connected to one or more output display devices 64, 66. The computer system 62 may be implemented, for example, using a Power Macintosh.TM. Model 7100/66 computer from Apple Computer of Cupertino, Calif. or other suitable computer workstation. The output devices may be optionally implemented using a color CRT display device and/or a color printer device. Suitable for use as the color display 64 is the seventeen-inch SyncMaster 17GLs color display available from Samsung Electronics America, Inc. The printer 66 may be implemented using a Laserwriter II laser printer.
The computer system 62 has a bidirectional databus 72 connecting a central processing unit 74 with a memory 76. The memory 76 may be implemented using any suitable form of read-write, or random access memory (RAM), devices. A random access memory having a capacity of thirty two (32) megabytes is sufficient.
The system 62 also includes a network interface card, such as an Ethernet interface card 78. Integral interface circuitry 80 connects the databus 72 to the printer 66, and to a disk storage subsystem 90. A Winchester disk storage subsystem having a 500 megabyte capacity is sufficient. The network interface card 78 interfaces the databus 72 to other computers, not shown. Input commands to the central processing unit are effected by a keyboard 92 and a mouse pointing device 94.
A scanner unit 68 for reading in a digital representation of order and shipping documents is associated with the computer system 62. The scanner unit 68 may be implemented using a Model ScanJet 3C/ADf available from Hewlett-Packard Co. The scanner unit 68 comprises a page feeder unit 68F and a scanning unit 68S. The scanner unit 68 interfaces to the computer system 62 via a SCSI communication link 70. The scanning unit 68S scans the order and shipping documents to detect reflected light fluxes and converts the light fluxes into ASCII characters using character recognition software such as OmniPage Professional 5.0, from Caere Corp. The order and shipping documents may alternatively be extracted from online databases via the network interface 78.
The memory 76 is partitioned into a program segment 100 and a plurality of data storage segments indicated by reference numerals having numerical prefixes 102, 104 or 106. The data storage segments are used for storing various input parameters, such as current inventory, open orders, associated customer order lead time, invoiced shipments, as well as calculated intermediate parameters, such as demand forecast, upper and lower bounds of the planned inventory, cycle stock, safety stock and calculated output parameters, such as production schedule, produced in accordance with the present invention.
The segments of the memory 76 having the reference numeral prefix 102 store various input parameters. These input parameter segments include: a segment 102A for storing the current inventory; a segment 102B for storing open orders and associated customer order lead time; a segment 102C for storing invoiced shipments.
The segments of the memory 76 indicated by the reference numeral prefix 104 store various calculated intermediate parameters produced in accordance with the present invention. These intermediate parameter memory segments include: a segment 104A for storing demand forecast; a segment 104B for storing an upper bound of the planned inventory; a segment 104C for storing a lower bound of the planned inventory; a segment 104D for storing cycle stock quantities; and a segment 104E for storing safety stock quantities; and a segment 104F for storing the weighting factor F.
The segments of the memory 76 indicated by the reference numeral prefix 106 store various calculated output parameters produced in accordance with the present invention. These output parameter memory segments include: a segment 106A for storing a production schedule; and a segment 106B for storing intermediate and output parameter values to be printed on printer 66.
The central processing unit 74, under control of the program stored in memory segment 100 and in conjunction with one or more of the memory segments 102, 104, 106, defines means for generating various calculated intermediate parameters (stored in the memory segments with the prefix 104) and various calculated output parameters (stored in the memory segments with the prefix 106), as has been developed in connection with the above discussion of the operation of the present invention. The one or more of the memory segments 102, 104, 106, defines a data structure useful for controlling inventory in a manufacturing and distribution process. The apparatus 60 thus comprises a data processing system, containing a data structure, executing an application program, for controlling inventory in a manufacturing and distribution process, the data structure being formed by the method described above in conjunction with FIGS. 1, 2, and 3A-F.
The following examples illustrate aspects of the method of the present invention.
EXAMPLE 1
Typical Polymer Product Wheel
Customer Order Lead Time (COLT) also plays a role in the optimization of production planning. When a number of products are produced on the same manufacturing equipment, products are alternated in a predetermined sequence or `wheel`. In such an arrangement, variability in demand, production, utility, and yield affect all products because a change in the production time for any one product changes the production time for all subsequent products. Conversely, use of COLT for one or more products not only enables a reduction in the required safety stock for that product, but can reduce the overall uncertainty and the resultant total inventory for all products in the wheel.
A typical polymer resin product wheel runs with 8 products of varying demand (Table 1) and production parameters (Table 2). The production parameters are defined in Table 3. The manufacturing plant cannot produce the total quantity necessary to meet US demand, so the difference between the forecast and production capability must be imported from Europe at a cost and time penalty. Without use of COLT, 2242M lbs. of product 8 must be imported from Europe each year.
Two of the products (4, 5) are further processed downstream and the true demand of these products is therefore known precisely anywhere from 30 to 60 days in advance. Use of a 30 day COLT for these two products alone will reduce the total variable cost of production from $1113 M per year to $796 M per year (Table 4). Alternatively, this inventory reduction and resultant wheel time reduction can be used to produce an additional 1460M lbs. of product 8 at almost no extra cost ($1137 M--see Table 5).
Most other products produced in this equipment are sold directly to end use customers. These customers typically give the producer 5 to 25 days of customer order lead time (Table 6). Use of this COLT for each of these products would further reduce the cost down to $604 M or enable a total of 1643M lbs. of product 8 to be produced at an even lower cost ($1016 M).
EXAMPLE 2
The following example pertains to an actual textile fiber production situation.
Step 1. Obtain Data
COLT uses three types of transactional data:
historical invoiced shipments
current inventory
open orders
The transaction systems extract the data one time per day in the early morning and "push" them using FIP (file transfer protocol) to the computer on which COLT runs. The data is imported into COLT via menu items.
The calculation was performed on Dec. 29, 1995. The historical invoiced shipments for the 365 days preceding Dec. 29, 1995 were as follows:
Customer order lead time (COLT) is the difference (days) between the SHIP DATE and the ORDER DATE.
The kg-weighted average (COLT.sub.-- ave) and variance (COLT.sub.-- var) for Customer Order Lead Times above are 13.6 days and 58.69 days.sup.2, respectively.
The period of risk (POR) starts from the moment that it is decided to schedule a new manufacturing run for the product and ends at the moment that an amount of product equal to an average order size has been produced and passed quality release.
For the product in this analysis the average period or risk (POR.sub.-- ave) and variance in the period of risk (POR.sub.-- var) are 13 days and 1 days.sup.2, respectively.
Step 2. Demand Forecast
For the demand forecast we collect the demand for the last 25+WPOR sevenday intervals where WPOR.sub.-- ave is POR.sub.-- ave rounded up to the nearest integral sevenday period. The analysis was performed on December 29, so the last sevenday period ended on Dec. 28, 1995. The shipments for the past 25+2=27 sevenday periods were collected into sevenday buckets as follows:
Each demand forecast (FC.sub.j) for WPOR.sub.-- ave days is calculated as follows:
where F is a weighting factor.
S.sub.j-i are the actual shipments for the j-i th week. The optimal weighting factor, F, is calculated by finding the value for F that minimizes the mean absolute deviation (MAD) for 13 sequential forecasts, each of which is shifted by one sevenday bucket from the forecasts on either side. MAD is calculated as follows: ##EQU7##
The MAD sum is over 13 sequential forecasts.
For the product in this calculation MAD varies with F as follows:
The data table used to construct MAD and VPD (variance per day) for the minimum MAD (0.59) is as follows:
MAD is calculated by taking the sum of the "ABS(FORECAST-ACTUAL)" column and dividing it by the sum of the ACTUAL column, then multiplying the ratio by 100. After the optimal F is found (0.59 in this case), then the demand per day (DPD) is generated by taking the weighted average of the last 13 seven-day periods (as in equation 1 above). The demand variance per day (VPD) is calculated by taking the variance of the last column, "(FORECAST-ACTUAL)", in the table above and then dividing it by 7.
The results are DPD=6783.3 kg/day and VPD=1.929499 e+08 kgs.sup.2 /day.
Step 3. Inventory Planner
The production rate is 10,000 kgs/day. Because the production rate (10,000) exceeds the demand rate (6783.3), the production must cycle on/off to prevent inventory from growing without bound. Each time a production run is started a changeover cost is incurred. The average time between production runs is Cycle Time (CT). CT is determined by minimizing the following:
We use an inventory holding cost of 28% of the variable cost of inventory per year.
The variable cost of 1 kg is $3.
Each changeover costs $3000.
The annual changeover cost is (365/CT)*3000 dollars.
The annual cost of holding inventory is average.sub.-- inventory.sub.-- level*$3*0.28
The cycle stock (CS) is ##EQU8## The safety stock is ##EQU9## where: SL1 is the fraction of kgs that are shipped on time divided by (period of risk-COLT).
$PROBNORM.sub.-- INV is a standard function for a normal distribution that inputs the service level (SL1) and outputs the number of standard deviations. Higher service levels mean more standard deviations.
<(POR-COLT)> is the expectation value of POR-COLT given that POR>COLT. POR and COLT both have probability distributions. We approximate these as follows.
The probability distribution for COLT is a Gaussian centered at COLT.sub.-- ave with a variance of COLT.sub.-- var.
The probability distribution for POR is a Gaussian centered at POR.sub.-- ave with a variance of POR.sub.-- var.
In general, if there is enough historical data to calculate the actual probability distribution then the actual probability distribution is used instead of the Gaussian approximation. Usually there is not enough data.
VPD is the variance per day from the forecast.
DPD is the demand per day from the forecast. ##EQU10## is the expectation value of (POR-COLT-<POR-COLT>).sup.2 given that POR>COLT. This quantity is a variance.
SL1 is related to SL2, the fraction of kgs shipped on time integrated over all time as follows:
For our calculation here we use SL2=0.98.
We do not allow safety stock to go negative. Zero (0) kgs is the lowest allowed SS.
TOTAL.sub.-- COST varies with CT as follows:
Note that the CT with lowest total cost is CT=50 days. The peak inventory (SS+CS) is 118,385 kgs and the trough (SS) inventory is 9,286 kgs.
Therefore the average inventory level is
The annual total cost is $75,522.
For comparison purposes, let's see what the average inventory level would be for traditional (non-COLT) safety stock calculations where COLT.sub.-- ave=0 and COLT.sub.--
The average inventory is 49% lower with COLT. We typically find that the inventory with COLT is 20 to 50% lower than the inventory when using conventional inventory planning methods and models.
Step 4. Master Production Schedule
The aim of the master production schedule is to keep the inventory oscillating between peak and trough; this will assure the desired product availability level and will minimize the total annualized cost of doing changeovers+holding inventory. Therefore production runs are terminated when approaching peak and production runs are initiated when getting near trough.
COLT improves the performance of the master production schedule by improving the accuracy of the projected inventory.
Each day the current inventory level, INV(0), is read from the inventory transaction system. In addition all of the open orders are read from the order entry transaction system. The demand forecast is regenerated daily using the algorithm describe above. Peak and trough are re-calculated daily using the algorithm described above.
With COLT, the inventory level N days into the future is calculated as follows: ##EQU11##
Where <N-COLT> is the expectation value of N-COLT where N>COLT.
When INV(N) is projected to dip below TROUGH, then the decision to start a new production run should be made in N-POR days or earlier.
When INV(N) is projected to rise above PEAK then the production run should be terminated at the point that the inventory just reaches peak.
For the particular case reported here, <N-COLT> has the following value as N increases.
In effect, <N-COLT>, where N>COLT, tells us how many days of supply out of the next N days, must be forecasted. For the remainder of the demand projection we look to the open orders.
CLOSED-LOOP PRODUCTION CONTROL
Open Loop Control
In the polymer example, Example 1, described above, a human production scheduler runs the model calculation on the computer workstation 60 using the method of the present invention and then makes rate changes by manual entry into a process control computer, based upon the recommendation generated by the computer model. This is open-loop control of production and inventory.
Closed Loop Control
This open-loop control methodology above can be extended in a straightforward way to become a closed-loop control methodology in which the human decision maker is taken out of the loop. Exactly the same data and exactly the same computer model is required to implement closed-loop control. However, in closed-loop control the computer workstation runs the demand forecasting, inventory planning, master production scheduling programs automatically at preset scheduled times using a job scheduler on the computer workstation. The computer workstation automatically reads input data, typically using the network interface 78, from other computer transaction systems (inventory tracking, order entry, etc) as previously described. The computer workstation, based upon the master production schedule generated by the master production schedule program, makes the decision whether or not to increase or decrease the production rate. The computer workstation controls the production rate changes by transmitting control messages, typically using the network interface, to a process control computer to change the process variables (such as flow rates of ingredients, the temperature of the reactor, and the pressure in the reactor).
The one or more of the memory segments 102, 104, 106, of computer system 62 thus defines a data structure useful for controlling a manufacturing and distribution process. The apparatus 60 thus comprises a data processing system, containing a data structure, executing an application program, for controlling a manufacturing and distribution process, the data structure being formed by the method described above in conjunction with FIGS. 1, 2, and 3A-F.
Claims
I claim:
1. A computer implemented method of inventory control of a manufacturing or distribution process using a computer model of the manufacturing or distribution process, which comprises the steps of: (a) determining a demand forecast by using an optimized historical weighting factor, (b) determining an upper and a lower bound of a planned inventory by explicitly accounting for the customer order lead time, and (c) computing a production schedule at predetermined intervals to maintain an actual inventory between the upper and lower bounds of the planned inventory.
2. The method of claim 1 further comprising explicitly accounting for a cost of production changeover and an inventory carrying cost.
3. The method of claim 1, where in step (c), a demand forecast is computed by: (i) dividing the shipment data into predetermined intervals, (ii) using a first predetermined number of intervals as a first history period and a second predetermined number of intervals as a second history period, (iii) using the second history period to compute predicted demand for the intervals of the first history period, (iv) computing the error between the predicted demand and the actual demand for the intervals of the first history period to determine, and (v) determining an historical weighting factor F, said factor being between 0 and 1, by comparing the predicted demand with the actual demand for each interval of the first history period, the weighting factor being optimized by a recursive method of computation.
4. The method of claim 3 where the weighting factor F is determined such that the mean average deviation of the difference between the actual demand and the predicted demand is minimized.
5. The method of claim 3 where the upper bound of the planned inventory is computed as the sum of a cycle stock and a safety stock, where the cycle stock is computed using the predicted demand and the historical weighting factor F and the safety stock is computed using a method wherein a period of risk value is replaced by the difference of the period of risk and a customer order lead time.
6. The method of claim 3 where the lower bound of the planned inventory is equal to the safety stock, where the safety stock is computed using a method wherein the period of risk value is replaced by the difference of the period of risk and the customer order lead time.
7. The method of claim 5 and 6 where the customer order lead time is a single value.
8. The method of claim 5 and 6 where the customer order lead time is a Gaussian distribution function.
9. The method of claim 5 and 6 where the customer order lead time is a Poisson distribution function.
10. The method of claim 5 and 6 where the customer order lead time is a probability distribution function determined from historical data.
11. The method of claim 5 and 6 where the period of risk is a single value.
12. The method of claim 5 and 6 where the period of risk is a Gaussian distribution function.
13. The method of claim 5 and 6 where the period of risk is a Poisson distribution function.
14. The method of claim 5 and 6 where the period of risk is a probability distribution function determined from historical data.
15. The method of claim 5 and 6 where the upper and lower bounds of the planned inventory are selected so that sum of cost of production changeovers and inventory carrying cost is minimized.
16. A method of inventory control of a manufacturing or distribution process comprising: (a) computing a production schedule that reads current inventory from an inventory tracking system, reads the open orders from an order entry transaction system, reads invoiced shipments from the transaction system, (b) at pre-determined intervals regenerating a demand forecast, wherein (i) the demand forecast is computed by dividing the shipment data into predetermined intervals, (ii) designating a first predetermined number of intervals as a first history period and designating a second predetermined number of intervals as a second history period, (iii) using the second history period to compute predicted demand for the intervals of the first history period, (iv) using the second history period to compute the error between the predicted demand for the intervals of the first history period and the actual demand for the intervals of the first history period to determine a historical weighting factor F, said factor being between 0 and 1, and the weighting factor being determined by comparing the predicted demand with the actual demand for each interval of the first history period, the weighting factor being optimized by a recursive method of computation and determined such that the mean average deviation of the difference between the actual demand and the predicted demand is minimized, and (c) at predetermined intervals recalculating the upper bound of the planned inventory, where the upper bound is computed as the sum of cycle stock and safety stock, wherein (i) the cycle stock is computed using the predicted demand and the historical weighting factor F, and (ii) the safety stock is computed using a method wherein the period of risk value is replaced by the difference of the period of risk and the customer order lead time, where the period of risk may be a single value, a Gaussian distribution function, a Poisson distribution function, or a probability distribution function determined from historical data, where the customer order lead time may be a single value, a Gaussian distribution function, a Poisson distribution function, or a probability distribution function determined from historical data, (d) at predetermined intervals recalculating the lower bound of the planned inventory, where the lower bound is equal to the safety stock, wherein (i) the safety stock is computed using a method wherein the period of risk value is replaced by the difference of the period of risk and the customer order lead time, where the period of risk may be a single value, a Gaussian distribution function, a Poisson distribution function, or a probability distribution function determined from historical data, where the customer order lead time may be a single value, a Gaussian distribution function, a Poisson distribution function, or a probability distribution function determined from historical data.
17. The method of claim 16 where predicted inventory for a predetermined number of future intervals is computed from: the sum of current inventory plus all production scheduled to be produced within the predetermined number of intervals, minus the sum of all open orders scheduled to be shipped within the predetermined number of intervals, minus the scaled forecast demand, the scaled forecast demand being multiplied by the expectation value of the difference between the number of intervals and the customer order lead time.
18. A data structure generated by a method of any of claim 1-17.
19. A machine having a memory which contains a data structure for the control of a manufacturing and distribution process by performing the method of any of claim 1, 3, 5, 6, or 16.
20. A data processing system executing an application program for controlling a manufacturing and distribution process, containing a data structure, the data structure being formed by the method of any of claim 1, 3, or 16.
Patent Citations (8)
Non-Patent Literature (2)
- Neena Sathi et al., "Resource Configuration and Allocation", IEEE Expert Magazine, 04/92, vol. 7, Iss. 2, pp. 26-35. Apr. 1992.
- Edward A. Silver and Rein Peterson, Decision Systems for Inventory Management and Production Planning, John Wiley & Sons, 61-67; 88-96; 102-127; 130-133; 252-253; 296-298.