PLANNING PRODUCTION FOR COMPLEMENTARY DEMANDS

Information

  • Patent Application
  • 20080033586
  • Publication Number
    20080033586
  • Date Filed
    August 03, 2006
    18 years ago
  • Date Published
    February 07, 2008
    16 years ago
Abstract
Method, system and program product for planning production for complementary demands are disclosed. In one embodiment, a method includes obtaining complementary demand values including at least one daily going rate (DGR) demand and a service demand; running a first planning production model in which the at least one DGR demand is included and the service demand is excluded; and running a second planning production model in which DGR related variables are fixed to values determined in the first planning production model and the service demand is included. Demands that are only considered by one of the planning production models are considered complementary demands.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings that depict various embodiments of the invention, in which:



FIG. 1 shows an overview of the structure of a typical linear programming application.



FIG. 2 shows an illustrative serial bill of materials supply chain with daily going rate (DGR) exit and reserve demand.



FIG. 3 shows a block diagram of a planning production system according to one embodiment of the invention.



FIG. 4 shows a flow diagram of one embodiment of a method of operation of the system of FIG. 3.





It is noted that the drawings of the invention are not to scale. The drawings are intended to depict only typical aspects of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements between the drawings.


DETAILED DESCRIPTION
I. Overview

Method, system and program product are disclosed for planning production for complementary demands. Productions starts, interplant shipments, substitutions, and inventory levels in the presence of complementary demands may be planned employing the present invention. As used herein, “complementary demands” are demands that are considered by only one of two different planning production model runs, and occur in a production facility where the customer expresses demand in complementary forms. In one example, complementary demands may include a daily going rate (DGR) demand and service demand. “DGR demand” is an inventory that must be on hand at any one point in time, e.g., shippable inventory. Hence, DGR demand is time dependent. In the semiconductor foundry industry, for example, legally binding contracts may require a supplier to make a DGR level of finished wafers available for consumption. Although DGR demand can be expressed in terms of pieces per day, those skilled in the art will recognize that it is straightforward to convert pieces per day into pieces in a time period and in fact that the invention applies equally well if the pieces per time period are given as input rather than as pieces per day. DGR demand may include “DGR exit demand,” which includes a part of the DGR demand that must be able to leave a production facility at any one point in time, and “DGR reserve demand,” which includes a part of DGR demand that must be held in inventory in a production facility at any one point in time, e.g., as a service to a customer. DGR demand may be expressed for a group of part numbers. In this situation, the customer is indifferent as to which part numbers in a group satisfy the DGR demand. As described herein, it is assumed that each DGR demand is defined for a group of part numbers. Those skilled in the art will recognize that the scope of the invention applies to the situation where a group contains one or more part numbers. The DGR demands have priorities (expressed as demand classes) which compete for material and capacity assets with the priorities (demand classes) of regular (non-DGR, non-service) demands. “Service demand” includes a planned inventory consumption maintained based on an understanding of the customer needs. As an example, if a customer wants assembly service for all the parts the supplier can ship based on supply against the DGR reserve demand, the supplier user can manually input an arbitrarily large service demand due immediately. As used herein, “production facility” can be any type of enterprise that produces a physical or virtual inventory of goods and/or services.


There is no implied relationship required between the respective priorities of these complementary demands. Supplying a DGR demand on time may be critically important (e.g., due to a contractual obligation) while providing the assembly service which consumes the DGR supply may be less important (e.g., if the customer has the option of a third-party assembler providing the service). Typically, the DGR demands would be expressed at one level of the bills of materials (e.g., finished wafer) while service demand would be expressed at another level of the bills of material (e.g., finished assembly/module). The parts subject to these complementary demand relationships can compete for capacity with parts subject to a more traditional business relationship. During this competition, upstream in the supply chain, the DGR demand portion of the bills of material supply chain (e.g. parts C, D, and E in FIG. 2), capacity should be allocated based on the DGR demands' priorities and independently of the service demand priorities. Further, downstream the supply chain, capacity should be allocated based on the service demand priorities and independently of the DGR demand priorities. This may be desirable even if capacities (e.g., test capacity) are consumed above and below the DGR demand level of the supply chain. A further consideration is that DGR demands are not necessarily expressed by part number. There may be a group of part numbers, e.g., due to different revision levels, whose availability will fulfill the DGR demand requirements.


Referring to FIG. 2, the concepts of complementary demands are further illustrated. FIG. 2 shows a simple serial bills of material supply chain where parts A, B, C and D are made from parts B, C, D and E, respectively. In this illustration, DGR demands 20, 22 are placed on part C. DGR exit demand (DGR-exits) 20 reflects the quantity over time of part C that the customer wants shipped to it directly. DGR reserve demand (DGR-reserves) 22 reflects the quantity over time of part C that the customer wants available and reserved for use in satisfying the Service Demand 24 the customer places on part A, which in turn requires part B which in turn requires part C. The solid line 30 between parts B and C indicates that parts C, D, and E are planned based on the DGR demands 20 and 22 independently of any dependent demand that part B would place on part C as a result of the service demand 24. Parts C, D, and E are planned based on the priorities of the DGR demands while parts A and B are planned based on the priorities of the service demand 24.


II. System Overview

Turning to the drawings, FIG. 3 shows an illustrative environment 100 for planning production for complementary demands. To this extent, environment 100 includes a computer infrastructure 102 that can perform the process described herein for planning production for complementary demands. In particular, computer infrastructure 102 is shown including a computing device 104 that comprises a production planning system 106, which enables computing device 104 to plan production for complementary demands by performing the process of the invention.


Computing device 104 is shown including a memory 112, a processor (PU) 114, an input/output (I/O) interface 116, and a bus 118. Further, computing device 104 is shown in communication with an external I/O device/resource 120 and a storage system 122. As is known in the art, in general, processor 114 executes computer program code, such as production planning system 106, which is stored in memory 112 and/or storage system 122. While executing computer program code, processor 114 can read and/or write data, such as production planning data, to/from memory 112, storage system 122, and/or I/O interface 116. Bus 118 provides a communications link between each of the components in computing device 104. I/O device 120 can comprise any device that enables a user to interact with computing device 104 or any device that enables computing device 104 to communicate with one or more other computing devices.


In any event, computing device 104 can comprise any general purpose computing article of manufacture capable of executing computer program code installed thereon (e.g., a personal computer, server, handheld device, etc.). However, it is understood that computing device 104 and production planning system 106 are only representative of various possible equivalent computing devices that may perform the process of the invention. To this extent, in other embodiments, computing device 104 can comprise any specific purpose computing article of manufacture comprising hardware and/or computer program code for performing specific functions, any computing article of manufacture that comprises a combination of specific purpose and general purpose hardware/software, or the like. In each case, the program code and hardware can be created using standard programming and engineering techniques, respectively.


Similarly, computer infrastructure 102 is only illustrative of various types of computer infrastructures for implementing the invention. For example, in one embodiment, computer infrastructure 102 comprises two or more computing devices (e.g., a server cluster) that communicate over any type of wired and/or wireless communications link, such as a network, a shared memory, or the like, to perform the process of the invention. When the communications link comprises a network, the network can comprise any combination of one or more types of networks (e.g., the Internet, a wide area network, a local area network, a virtual private network, etc.). Regardless, communications between the computing devices may utilize any combination of various types of transmission techniques.


As discussed herein, production planning system 106 enables computing infrastructure 102 to plan production for complementary demands. To this extent, production planning system 106 is shown including a pre-processor 130, a solver 132, a post-processor 134, a daily going rate (DGR) adder 136, a service demand (SD) remover 138, a DGR variable (var.) fixer 140, an SD adder 142, a DGR remover 144, and other system components 150. Operation of each of these systems is discussed further below. However, it is understood that some of the various systems shown in FIG. 3 can be implemented independently, combined, and/or stored in memory for one or more separate computing devices that are included in computer infrastructure 102. Further, it is understood that some of the systems and/or functionality may not be implemented, or additional systems and/or functionality may be included as part of environment 100.


III. Operational Methodology

Turning to FIG. 4, a flow diagram of one embodiment of a method of operation of production planning system 106 of FIG. 3 is shown. The following description refers to both figures.


At S10, data obtaining and pre-processing is performed by pre-processor 130. That is, pre-processor 130 obtains, inter alia, complementary demand values including at least one DGR demand 162, 164 and a service demand 166, and performs the typical pre-processing preparation of input data (inputs) 160 for solver 132. For example, inputs 160 may include ‘regular demand’ 168 such as committed customer orders, uncommitted customer orders, delivery schedules, forecasts, and buffers; DGR demand including DGR exit demand 162, DGR reserve demand 164; and/or service demand 166. Configuration may include any now known or later developed manipulation for solver 132.


At S12, DGR adder 136 adds to solver 132 input DGR demand 162, 164, e.g., DGR variables and equations required to support DGR demand relationships. These additions are defined as follows, based in part on the parameters described in the above related art section:


Define the following constants:


DGRXjgkq: amount of DGR exit demand 162 requested during time period j for part numbers in group g at customer location k for demand class q.
DGRRjgkq: the amount of DGR reserve demand 164 requested during time period j for part numbers in group g at customer location k for demand class q.

Define the following “DGR variables”:


Vjmgkq: the amount of group g DGR exit demand 162 allocated to part number m during time period j at customer location k for demand class q.
Wjmgkq: the amount of group g DGR reserve demand 164 allocated to part number m during time period j at customer location k for demand class q.

Note, that the above-defined DGR variables are in contrast to “DGR related variables,” which may include, for example, as defined above: production starts P; quantity of substitutions L; and internal shipments T.


Modify the backorder conservation equation to:







B
jmkq

=


B


(

j
-
1

)


mkq


+

(





g






s
.
t
.
m



g




(


V
jmgkq

+

W
jmgkq


)


)

+

DEMAND
jmkq

-



a



F
jmakq







Furthermore, add the below constraints so that the V and W DGR variables sum to the total DGR exit demand 162 and DGR reserve demand 164 as follows:










m

g




V
jmgkq


=

DGRX
jgkq











m

g




W
jmgkq


=

DGRR
jgkq





Observe that the incorporation of the Vjmgkq and Wjmgkq DGR variables into the above backorder conservation equation means that no change is required to the objective function. The regular backorder penalties on the Bjmkq variables will result in the desired solution without the need for any objective coefficients on the Vjmgkq and Wjmgkq DGR variables. Together, the above revised and new constraints have the effect of allowing solver 132 to allocate DGR demands 162, 164 across the individual part numbers in the group based on the demand class [priority] and other factors reflected in the background art.


At S14, service demand (SD) remover 138 removes (excludes) the service demand 166 from input to solver 132. That is, service demand 166 will not be considered in the first solver 132 run (S16). There are a number of different ways in which service demand 166 may be distinguishable from regular demand 168. In one embodiment, a field (a flag) in the demand record indicates whether the demand is service demand 166 or regular demand 168. All of regular demand 168 is considered in both solver 132 runs (S16 and S24) in FIG. 4, while service demand 166 is considered only in the second solver 132 run (S24) and DGR demands 162, 164 are considered only in the first solver 132 run (S16). In one embodiment, DGR demands 162, 164 are provided in a file separate from the file containing the regular demand 168 and service demand 166, and a field (a flag) in the DGR demand file indicates whether the record is for DGR exit demand 162 or DGR reserve demand 164. An additional file defines the part numbers which are a member of each group. Alternative file structure embodiments will be obvious to those skilled in the art.


At S16, solver 132 runs a first planning production model in which DGR variables V and W corresponding to DGR demand 162, 164 are included and service demand 166 is excluded. More specifically, the first planning production model includes the DGR variables, e.g., V and W, as defined above, and one or more DGR group constraints, as described above. Solver 132 solves the programming model using any now known or later developed methodologies. In one embodiment, solver 132 may solve a linear programming (LP) methodology similar to that described in the related art. Those skilled in the art will recognize, however, that any advanced planning and scheduling (APS) method could be used as solver 132, including a heuristic based APS.


At S18, DGR variable (var.) fixer 140 fixes one or more DGR related variables (e.g., production starts P, quantity of substitutions L, and internal shipments T) based on their values as determined by the first solver 132 run (S16). In this case, any DGR related variables which can result in an increase in inventory at a part/plant for all parts which are a member of a DGR group may be fixed during the second planning production run (S24). This means fixing all values of production (Pjmae) and internal shipments (Tjmav) for parts in a DGR group and all values of substitutions that can increase the inventory of those parts (Ljmna where part number n is a member of a DGR group). Note, that an increase in the inventory may extend to the case where the DGR related variables have a value of zero determined by the first solver and thus are fixed to zero for the second solver. In one embodiment, the allocated DGR exit demand 162 (Vjmgkq) may also be fixed so that the DGR exit demand 162 does not compete with service demand 166 for capacity and material assets. However, alternative embodiments may leave DGR exit demand 162 allocated (e.g., value of V variables) unfixed and thus competing with service demand 166. To avoid minute computational errors, the reference to fixing a DGR related variable's value to that obtained from a previous run may be implemented (in some embodiments) by adding lower and upper bounds to the second solver 132 run (S24) for those DGR related variables as follows: lower bound=maximum {zero, previous run result−ε}; and upper bound=previous run result+ε, where ε is a small number (e.g., 0.0001).


At S20, service demand (SD) adder 142 adds service demand 166 into the input for the second solver 132 run (S24). At S22, DGR remover 144 removes DGR reserve demand 164 from the model by removing all W variables from the backorder conservation equation and by removing the below equation:










m

g




W
jmgkq


=

DGRR
jgkq





Accordingly, the running of the second planning production model by solver 132 (S24) includes removing DGR reserve demand 164 in the case that DGR reserve demand 164 is included in the DGR demand.

At S24, solver 132 runs a second planning production model in which, as described above, DGR related variables (e.g., P, L, T), and perhaps DGR exit demand allocated (e.g., V), are fixed to values determined in the first planning production model (S16) and service demand 166 is included. Solver 132 re-solves the (revised) programming model by warm starting with the solution to the initial program solved at S16. As stated above, solver 132 may use a linear programming (LP) methodology similar to that described in the related art, or any APS method could be used as solver 132 including a heuristic based APS.


The above-described methodology is sufficient in many situations for determining a production plan for complementary demands. However, for large scale problems, it may be necessary to partition the production planning problem into pieces before solving it such as using the method described in U.S. Pat. No. 6,701,201, which is hereby incorporated by reference. For example, FIG. 6 of U.S. Pat. No. 6,701,201 illustrates how parts partitioned into card, module, and device directories may be solved by exploding end-item demands from the card partition through the module partition and eventually to the device partition before imploding in the reverse direction from the device partition through the module partition and back to the card partition. For example, suppose that finished modules X and Y (at level 7 of FIG. 5 of U.S. Pat. No. 6,701,201) have service demand 166 and that an untested device (at level 3 of FIG. 5 of U.S. Pat. No. 6,701,201) has DGR demand 162, 164. Further suppose that module levels 5-7 are solved in the module partition (e.g., stage 620 of FIG. 6 of U.S. Pat. No. 6,701,201) and that device levels 1-4 are solved in the device partition (e.g., stage 610 of FIG. 6 of U.S. Pat. No. 6,701,201). Following the explosion process of the module partition, service demand 166 at level 7 must be pegged to the underlying level 5 modules supporting them. That is, the method must calculate which level 5 module releases (by part number, plant, process, and quantity) are being used to satisfy service demand 166 at level 7. This may be accomplished using a method such as described in U.S. Patent Application Publication Number US20050177465A1, which is hereby incorporated by reference, to peg the attribute which indicates the finished module demand is a service demand 166 to the module manufacturing starts at the bottom of the module partition. This service demand attribute (e.g., a flag indicating whether the quantity is being used to satisfy service demand or not) is passed along during the “one level explosion” (reference 1005 of FIG. 10 of U.S. Pat. No. 6,701,201) of module releases at level 5 to create dependent device demand at level 4. As a result, the level 4 device demand is thus identified as to whether its purpose is for a service demand or not. With that information, the device partition is subsequently processed with the operational method of FIG. 3 according to one embodiment of the invention, as described above, ignoring service demand 166 when the first solver 132 run (S16) occurs and considering service demand 166 when the second solver 132 run (S24) occurs. During the implosion process of U.S. Pat. No. 6,701,201 (from level 4 devices to level 5 modules), the level 5 module releases supporting service demand 166 are considered and treated as if supporting regular demand 168.


IV. Conclusion

As discussed herein, various systems and components are described as “obtaining” data (e.g., DGR demand, service demand, etc.). It is understood that the corresponding data can be obtained using any solution. For example, the corresponding system/component can generate and/or be used to generate the data, retrieve the data from one or more data stores (e.g., a database), receive the data from another system/component, and/or the like. When the data is not generated by the particular system/component, it is understood that another system/component can be implemented apart from the system/component shown, which generates the data and provides it to the system/component and/or stores the data for access by the system/component.


While shown and described herein as a method and system for planning production for complementary demands, it is understood that the invention further provides various alternative embodiments. For example, in one embodiment, the invention provides a program product stored on a computer-readable medium, which when executed, enables a computer infrastructure to plan production for complementary demands. To this extent, the computer-readable storage medium includes program code, such as production planning system 106 (FIG. 3), which implements the process described herein. It is understood that the term “computer-readable storage medium” comprises one or more of any type of tangible medium of expression (e.g., physical embodiment) of the program code. In particular, the computer-readable medium can comprise program code embodied on one or more portable storage articles of manufacture (e.g., a compact disc, a magnetic disk, a tape, etc.), on one or more data storage portions of a computing device, such as memory 112 (FIG. 3) and/or storage system 122 (FIG. 3) (e.g., a fixed disk, a read-only memory, a random access memory, a cache memory, etc.), as a data signal traveling over a network (e.g., during a wired/wireless electronic distribution of the program product), on paper (e.g., capable of being scanned in as electronic data), and/or the like.


In another embodiment, the invention provides a method of generating a system for planning production for complementary demands. In this case, a computer infrastructure, such as computing device 104 (FIG. 3), can be obtained (e.g., created, maintained, having made available to, etc.) and one or more systems for performing the process described herein can be obtained (e.g., created, purchased, used, modified, etc.) and deployed to the computer infrastructure. To this extent, the deployment of each system can comprise one or more of: (1) installing program code on a computing device, such as computing device 104 (FIG. 3), from a computer-readable medium; (2) adding one or more computing devices to the computer infrastructure; and (3) incorporating and/or modifying one or more existing systems of the computer infrastructure, to enable the computer infrastructure to perform the process of the invention.


In still another embodiment, the invention provides a business method that performs the process described herein on a subscription, advertising, and/or fee basis. That is, a service provider, such as an application service provider, could offer to plan production for complementary demands as described herein. In this case, the service provider can manage (e.g., create, maintain, support, etc.) a computer infrastructure, such as computing device 104 (FIG. 3), that performs the process described herein for one or more customers. In return, the service provider can receive payment from the customer(s) under a subscription and/or fee agreement, receive payment from the sale of advertising to one or more third parties, and/or the like.


As used herein, it is understood that the terms “program code” and “computer program code” are synonymous and mean any expression, in any language, code or notation, of a set of instructions that cause a computing device having an information processing capability to perform a particular function either directly or after any combination of the following: (a) conversion to another language, code or notation; (b) reproduction in a different material form; and/or (c) decompression. To this extent, program code can be embodied as one or more types of program products, such as an application/software program, component software/a library of functions, an operating system, a basic I/O system/driver for a particular computing and/or I/O device, and the like.


The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of the invention as defined by the accompanying claims.

Claims
  • 1. A method of planning production, the method comprising: obtaining complementary demand values including at least one daily going rate (DGR) demand and a service demand;running a first planning production model in which the at least one DGR demand is included and the service demand is excluded; andrunning a second planning production model in which at least one DGR related variable is fixed to values determined in the first planning production model and the service demand is included.
  • 2. The method of claim 1, wherein the first planning production model includes DGR variables corresponding to the at least one DGR demand and at least one DGR group constraint.
  • 3. The method of claim 1, wherein the at least one DGR demand includes at least one of the following: a daily going rate (DGR) exit demand and a daily going rate (DGR) reserve demand.
  • 4. The method of claim 3, further comprising fixing the DGR exit demand allocated during the second planning production model running to values determined in the first planning production model.
  • 5. The method of claim 3, wherein the running of the second planning production model includes removing the DGR reserve demand in the case that the DGR reserve demand is included in the at least one DGR demand.
  • 6. The method of claim 1, wherein the running of the second planning production model uses a first planning production model solution as a warm start.
  • 7. The method of claim 1, wherein the at least one fixed DGR related variable includes only at least one variable that results in an increase in inventory during the first planning production run.
  • 8. The method of claim 1, wherein each planning production model run includes implementing a linear programming model.
  • 9. A system for planning production, the system comprising: a pre-processor for obtaining complementary demand values including at least one daily going rate (DGR) demand and a service demand; anda solver for:a) running a first planning production model in which the at least one DGR demand is included and the service demand is excluded; andb) running a second planning production model in which at least one DGR related variable is fixed to at least one value determined in the first planning production model and the service demand is included.
  • 10. The system of claim 9, wherein the at least one DGR demand includes at least one of the following: a daily going rate (DGR) exit demand and a daily going rate (DGR) reserve demand.
  • 11. The system of claim 10, further comprising a system for fixing the DGR exit demand allocated during the second planning production model running to values determined in the first planning production model running.
  • 12. The system of claim 10, wherein the running of the second planning production model includes removing the DGR reserve demand in the case that the DGR reserve demand is included in the at least one DGR demand.
  • 13. The system of claim 9, wherein the running of the second planning production model uses a first planning production model solution as a warm start.
  • 14. The system of claim 9, wherein the at least one fixed DGR related variable includes only at least one variable that results in an increase in inventory during the first planning production run.
  • 15. The system of claim 9, wherein each planning production model run includes implementing a linear programming model.
  • 16. A program product stored on a computer-readable storage medium, which when executed, plans production, the program product comprising: program code for obtaining complementary demand values including at least one daily going rate (DGR) demand and a service demand;program code for running a first planning production model in which the at least one DGR demand is included and the service demand is excluded; andprogram code for running a second planning production model in which at least one DGR related variable is fixed to at least one value determined in the first planning production model and the service demand is included.
  • 17. The program product of claim 16, wherein the at least one DGR demand includes at least one of the following: a daily going rate (DGR) exit demand and a daily going rate (DGR) reserve demand.
  • 18. The program product of claim 17, further comprising program code for fixing the DGR exit demand allocated during the second planning production model running to values determined in the first planning production.
  • 19. The program product of claim 17, wherein the program code for running the second planning production model includes program code for removing the DGR reserve demand in the case that the DGR reserve demand is included in the at least one DGR demand.
  • 20. The program product of claim 16, wherein the program code for running each planning production model includes program code for implementing a linear programming model.