1. Field of the Invention
The present invention relates to computer implementable decision support systems for determining active stocking points within a supply chain network. General methodologies within this field of study include advanced planning systems, optimization and heuristic based algorithms, constraint based programming, and simulation.
2. Description of the Related Art
A fundamental problem faced in all manufacturing industries is the allocation of material and capacity assets to meet end customer demand. Production lead times necessitate the advance planning of production starts, interplant shipments, and material substitutions throughout the supply chain so that these decisions are coordinated with the end customers'' demand for any of a wide range of finished products (typically on the order of thousands in semiconductor manufacturing). Such advance planning depends upon the availability of finite resources which include: finished goods inventory, work in process inventory (WIP) at various stages of the manufacturing system, and work-center capacity. Often, there are alternative possibilities for satisfying the demand. Products may be built at alternative locations and within a location there may be choices as to which materials or capacity to use to build the product. The product may be built directly or acquired through material substitution or purchase. When limited resources prevent the satisfaction of all demands, decisions need to be made as to which demand to satisfy and how to satisfy it. This resource allocation problem is often addressed through linear programming.
The below-referenced U.S. Patents disclose embodiments that were satisfactory for the purposes for which they were intended. The disclosures of both the below-referenced prior U.S. Patents, in their entireties, are hereby expressly incorporated by reference into the present invention for purposes including, but not limited to, indicating the background of the present invention and illustrating the state of the art: U.S. Pat. No. 5,971,585, “Best can do matching of assets with demand in microelectronics manufacturing,” Oct. 26, 1999; U.S. Pat. No. 5,943,484, “Advanced material requirements planning in microelectronics manufacturing,” Aug. 24, 1999; and Nemhauser, G. L. and Wolsey, L. A., 1999, Wiley, Integer and Combinatorial Optimization.
The invention provides a method and system comprising the identification of live stocking points and the filtering of files to include only live stocking points. The inventive stocking points reflect not only the part number but also the location within the bills of materials supply chain. The invention also provides a method and system for identifying live stocking points which efficiently handles circular supply chain flows such as those occurring due to: plants shipping to each other, planned rework, and part numbers being substituted for each other. In addition, the invention identifies live stocking points where only parts and locations that may be supplied are identified as live. The invention identifies the ability to substitute parts (“suppliability”) by examining component supply, inventory, capability to build, planned receipts, and capability of supplying the parts through substitution of other part(s).
As shown below, the invention provides a method of allocating supply items from a supply chain network using a production planning system. After a customer order (comprising part numbers and a customer location) is input, a “demand item” is derived from the customer order. The demand item includes one of the part numbers and the customer location. The invention then uses this demand item and “explodes” the demand item through the supply chain network to identify a set of stocking points for the part number that can supply the part that the part number represents through shipping routes connected to the customer location. This exploding process also considers substitutes for the part number. This allows the invention to start with a set of stocking points that have demand associated with them and that can be shipped to the customer. Therefore, this process eliminates any stocking points that do not have an associated demand from being processed by the production planning system.
Then the invention determines which of these “demand associated” stocking points is still “live” and capable of supplying the part that the part number represents by performing a process of imploding the demand item through the set of supply stocking points. This process identifies the stocking points that have the current ability to supply the part number as active (e.g., live) stocking points, and identifies the stocking points that do not have the current ability to supply the part number as inactive (e.g., dead) stocking points. The imploding considers available inventory of the part number, capability to manufacture the part number, scheduled future delivery of the part number, etc. when determining if a stocking point is active or inactive.
The invention removes the inactive supple stocking points from the set of supply stocking points to allow only active stocking points to remain, which reduces the amount of data that is processed by the production planning system in the allocating process.
The exploding and imploding processes can be carried out recursively. More specifically, the invention derives additional demand items from the customer order. Each of the additional demand items has a different part number, but the same customer location. Then, the invention repeats the exploding and the imploding for the additional demand items derived from the customer order to produce a set of active stocking points. This process can also be recursively repeated for different customer orders. The stocking points that remain are all active and have associated demand. This allows the invention to very efficiently allocate the active stocking points to the customer orders using the production planning system to produce a material allocation plan.
Detailed Description of Preferred Embodiment(s) of the Invention The current invention identifies stocking points that are active through an explosion of demand items through the bills of material, and utilizes two interweaving recursive functions to both explode and implode. The explosion element ensures that part/plants in the bills of material designated as live have (explicit or implicit) demand whereas the implosion element ensures that the live parts may obtain needed assets/material (from inventory on hand, from building at the plant, or shipping from another plant or sequence of plants, etc.) Active (live) part numbers and manufacturing plant location combinations are “marked” along the way to efficiently handle circular supply chain flows. In addition to the improved results over the prior art method, the current invention also represents a substantial improvement in run time (e.g., reduction of roughly 30 minutes for some production models when compared to a unidirectional method).
One advantage of this is that it results in substantially improved run times in advanced planning system solvers (e.g. linear programming solvers or heuristics). Typically, production planning departments use advanced planning systems to evaluate a range of scenarios over a fixed period of time (e.g. one week). During that time they will make several adjustments (e.g. data fixes, try to increase available capacity, modify demand etc.) to improve the overall plan. By the end of the planning cycle they must book a plan which will be used to set measurements for all of the individual business units in the supply chain. Being able to achieve faster turnaround time results in the ability to evaluate additional solutions during the planning cycle and hence may result in improved final plans.
To contrast the present invention, a conventional production planning linear program “LP” is shown below (such as that described in U.S. Pat. No. 5,971,585, which is incorporated herein by reference). This LP makes decisions including: production starts, material substitutions, and shipments planned to customers, between manufacturing and distribution locations, and from vendor suppliers. A LP is composed of an objective function that defines a measure of the quality of a given solution, and a set of linear constraints. The types of equations used in production planning models are well know to those practiced in the art and include:(1) Material Balance Constraints, which ensure conservation of material flow through the network of stocking points comprising the supply chain.
(2) Capacity Constraints, which ensure that the capacity available for manufacturing activities is not exceeded.
(3) Backorder Conservation Constraints, which balance the quantity of a given part backordered in a given planning period with the quantity backordered in the previous planning period and the net of new demand and new shipments.
(4) Sourcing Constraints, which define target ranges (minimum and maximum) of shipments that should be made from a particular manufacturing or vendor location in the supply chain.
A conventional LP formulation is provided below in the form familiar to those practiced in the art; i.e., definition of subscripts, definition of objective function coefficients, definition of constants, definition of decision variables, LP formulation or equations.
Definition of Subscripts
The following minimizes the objective function subject to the constraints shown below.
Objective Function:
Minimize:
Subject to:
Sourcing Constraints:
Capacity Constraints:
Backorder Constraints:
Material Balance Constraints:
Non-Negativity Constraints: all Xi,j . . . ≧0, where X is a generic decision variable and i, j etc. represent generic subscripts
In the supply chain linear programming model shown above, the material balance equations are a linear system of constraint equations that describe the flow of materials between stocking points throughout the supply chain (for purposes of this application, a stocking point is a position of a part represented by a part number in the bills-of-material at a particular plant in the enterprise). Those practiced in the art will recognize that the plant could represent a distribution center or regional warehouse in addition to the more obvious instance of a manufacturing plant. However, in conventional systems, production data contains huge amounts of irrelevant data (e.g. parts with no associated demand, components which can never be shipped because there is no established shipping route, obsolete inventory etc.). This extraneous (“dead”) data can clog production planning models resulting in poor solution run times and distracting irrelevant data in the output (e.g. reports with live parts interspersed with dead parts).
Conventional systems (e.g., U.S. Pat. No. 5,943,484) perform an explosion of demand through a bill of material file and eliminate those parts untouched by the explosion in order to reduce the data being processed through the system. However, such methods have serious deficiencies in manufacturing industries in which a number of plants conduct the same types of operations. Conventional systems are unable to recognize that parts may be live at some plants and dead at others, which results in a substantial number of inactive stocking points being included for consideration in the supply chain linear programming model. Furthermore, these methods are not efficient at identifying the circular supply chain flows that can occur in manufacturing industry due to: planned rework, plants shipping to each other, and parts being substituted for each other. Finally, the conventional one directional explosion does not account for parts being inactive at some plants due to the impossibility of being supplied with components.
This disclosure presents a method for compressing a mathematical structure to reduce the size, and hence, decrease input data quantity, and subsequently, runtime. The inventive approach, as it relates to supply chain optimization, minimizes the number of stocking points that need to be considered in the model. This method is used to project demand for finished goods down through the supply chain to collect all live PN/PLANT locations, i.e. stocking points, which need to be considered by the model. This is complicated because there are many criteria for determining if a stocking point must be considered, for example (a) does the stocking point have demand associated with it, (b) is the stocking point connected (via BOM relationship or shipping route) to another stocking point with associated demand, (c) is the stocking point related through material substitution rules, etc.
The quantity of data required for solving division level supply chain optimization problems requires that the algorithm used be fast. The invention is a fast recursive method for searching the system of stocking points and evaluating the ones that need to be considered in the model and the ones that can be omitted from the model. The invention allows for substantial generality in model input, including circular bill-of-material relationships, cyclic material substitutions, and cyclic shipping routes.
As shown in
While block 10 still needs to convert the raw input files into a form useable by the solver, in addition to these responsibilities, in the present invention, block 102 will also filter out the input files so that only data for live stocking points remains present in the revised input files. These additional filtering steps incorporated by the invention are summarized in
More specifically, in block 202, live stocking points are determined by exploding through the supply chain network to identify stocking points with associated customer demand. Only data associated with these live stocking points is relevant for purposes of solver calculation. Consequently, the invention filters out data containing dead (inactive) stocking points in block 204. The resulting revised input files (block 206) reflect the result of this filtering process. For input files (block 200) where part number and location are both present, the revised input files (block 206) will contain only those input records (block 200) where the part number and location combination are present in the live stocking points determined by block 202.
Then, the invention determines which of these “demand associated” stocking points is still “live” and capable of supplying the part that the part number represents by performing a process of imploding the demand item through the set of supply stocking points, in item 306. This process identifies the stocking points that have the current ability to supply the part number as active (e.g., live) stocking points, and identifies the stocking points that do not have the current ability to supply the part number as inactive (e.g., dead) stocking points. The imploding process considers available inventory of the part number, capability to manufacture the part number, scheduled future delivery of the part number, etc. when determining if a stocking point in active or inactive.
The exploding and imploding processes can be carried out simultaneously and recursively. In decision item 308, the invention checks to see if more part numbers are in the customer order. If so, the invention derives additional demand items from the customer order by returning processing to item 302. Each of the additional demand items that is processed in each recursive step has a different part number, but the same customer location. Then, the invention repeats the exploding and the imploding for the additional demand items derived from the customer order to produce a set of active stocking points for that customer order. This process can also be recursively repeated for different customer orders. More specifically, in decision item 310, the invention determines if there are additional customer orders to process. If so, processing proceeds back to item 300 to input the next customer order. Alternatively, multiple customer orders can be processed simultaneously in parallel.
In item 204, the invention filters out dead stocking points by removing the inactive supply stocking points from the set of supply stocking points to allow only active stocking points to remain, which reduces the amount of data that is processed by the production planning system in the allocating process.
After all part number in all customer orders are processed, all the stocking points that remain are active, have associated demand and can be shipped to the customer. This allows the invention to very efficiently allocate the active stocking points to the customer orders using the production planning system to produce a material allocation plan.
By way of example,
The ability to detect loops defined in a supply chain network is an important element of an effective search method. The present invention detects loops resulting from the definition of shipping routes, such as the example in
The following is a detailed pseudo code description of the algorithm used for determining live stocking points (
Definitions:
FORCE_FLAG=yes/no flag indicating PN/PLANT should be added to LIVE_PARTS regardless whether stocking point is active (default is “no”)
The present invention has been implemented on an IBM P690 server using the AIX operating system. The steps for implementing the present invention are preferably programmed in C/C++. It should be understood by those of ordinary skill in the art, however, that the present invention is not limited to the above implementation and is independent of the computer/system architecture. Accordingly, the present invention may equally be implemented on other computing platforms, programming languages and operating systems, and also may be hardwired into a circuit or other computational component.
Thus, as shown above, the invention provides a method of allocating supply items from a supply chain network using a production planning system. After a customer order (comprising part numbers and a customer location) is input, a “demand item” is derived from the customer order. The demand item includes one of the part numbers and the customer location. The invention then uses this demand item and “explodes” the demand item through the supply chain network to identify a set of stocking points for the part number that can supply the part that the part number represents through shipping routes connected to the customer location. This exploding process considers substitutes for the part number. This allows the invention to start with a set of stocking points that have demand associated with them and that can be shipped to the customer. Therefore, this process eliminates any stocking points that do not have an associated demand from being processed by the production planning system.
The invention also determines which of these “demand associated” stocking points is still “live” and capable of supplying the part that the part number represents by performing a process of imploding the demand item through the set of supply stocking points. This process identifies the stocking points that have the current ability to supply the part number as active (e.g., live) stocking points, and identifies the stocking points that do not have the current ability to supply the part number as inactive (e.g., dead) stocking points. The imploding considers available inventory of the part number, capability to manufacture the part number, scheduled future delivery of the part number, etc. when determining if a stocking point is active or inactive. It will be understood by those practiced in the art that the method could be practiced with additional criteria form which stocking points have ability to supply the part number.
The invention removes the inactive supply stocking points from the set of supply stocking points to allow only active stocking points to remain, which reduces the amount of data that is processed by the production planning system in the allocating process.
The exploding and imploding processes can be carried out recursively. More specifically, the invention derives additional demand items from the customer order. Each of the additional demand items has a different part number, but the same customer location. Then, the invention repeats the exploding and the imploding for the additional demand items derived from the customer order to produce a set of active stocking points. This process can also be recursively repeated for different customer orders. The stocking points that remain are all active and have associated demand. This allows the invention to very efficiently allocate the active stocking points to the customer orders using the production planning system to produce a material allocation plan.
The current invention identifies stocking points that are active through an explosion of demand items through the bills of material, and utilizes two interweaving recursive functions to both explode and implode. The explosion element ensures that part/plants in the bills of material designated as live have (explicit or implicit) demand whereas the implosion element ensures that the live parts may obtain needed assets/material (from inventory on hand, from building at the plant, or shipping from another plant or sequence of plants, etc.) Active (live) part numbers and manufacturing plant location combinations are “marked” along the way to efficiently handle circular supply chain flows. In addition to the improved results over the prior art method, the current invention also represents a substantial improvement in run time (e.g., reduction of roughly 30 min for some production models when compared to the unidirectional method).
While the invention has been described in terms of the preferred embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.
The present application is related to pending U.S. patent application Ser. No. 10/______, filed concurrently herewith to Denton et al., entitled “METHOD FOR PURCHASE ORDER RESCHEDULING IN A LINEAR PROGRAM” having (IBM) Docket No. BUR92004009US1; U.S. patent application Ser. No. 10/______, filed concurrently herewith to Denton et al., entitled “A Method for Supply Chain Decomposition” having (IBM) Docket No. BUR920040007US1; U.S. patent application Ser. No. 10/______, filed concurrently herewith to Denton et al., entitled “A METHOD FOR OPTIMIZING FOUNDRY CAPACITY” having (IBM) Docket No. BUR920030195US1; U.S. patent application Ser. No. 10/______, filed concurrently herewith to Denton et al., entitled “METHOD FOR FAIR SHARING LIMITED RESOURCES BETWEEN MULTIPLE CUSTOMERS” having (IBM) Docket No. BUR920040010US1; U.S. patent application Ser. No. 10/______, filed concurrently herewith to Denton et al., entitled “A METHOD FOR CONSIDERING HIERARCHICAL PREEMPTIVE DEMAND PRIORITIES IN A SUPPLY CHAIN OPTIMIZATION MODEL” having (IBM) Docket No. BUR920030198US1; U.S. patent application Ser. No. 10/______, filed concurrently herewith to Denton et al., entitled “METHOD FOR SIMULTANEOUSLY CONSIDERING CUSTOMER COMMIT DATES AND CUSTOMER REQUEST DATES” having (IBM) Docket No. BUR920040008US1; and U.S. patent application Ser. No. 10/______, filed concurrently herewith to Denton et al., entitled “METHOD FOR IDENTIFYING PRODUCT ASSETS IN A SUPPLY CHAIN USED TO SATISFY MULTIPLE CUSTOMER DEMANDS” having Docket No. BUR820030346US1. The foregoing applications are assigned to the present assignee, and are all incorporated herein by reference.