U.S. patent application number 11/276376 was filed with the patent office on 2007-08-30 for method for avoiding or limiting early build due to yield decreases.
Invention is credited to RobertJ Milne.
Application Number | 20070203773 11/276376 |
Document ID | / |
Family ID | 38445157 |
Filed Date | 2007-08-30 |
United States Patent
Application |
20070203773 |
Kind Code |
A1 |
Milne; RobertJ |
August 30, 2007 |
METHOD FOR AVOIDING OR LIMITING EARLY BUILD DUE TO YIELD
DECREASES
Abstract
Disclosed are embodiments of an improved production planning
method that avoids or limits early builds. The method comprises
running a conventional production planning program using standard
inputs (e.g., date effective yields). The outputs of the program
(e.g., a plan including planned inventory overstocks at given
times) are evaluated to determine if the program plans an early
build and if the planned early build may have been triggered by a
predicted decrease in yield. If an early build is planned and if a
correlation exists between the decrease in yield and the early
build, then, optionally, new constraints are added into the program
and the program is re-run so that the early build is either avoided
or limited to that of the proper yield. Thus, the method can be
used to reduce early builds due to an incorrect, nominally higher,
yield without requiring the user to provide any special additional
input data.
Inventors: |
Milne; RobertJ; (Jericho,
VT) |
Correspondence
Address: |
FREDERICK W. GIBB, III;Gibb & Rahman, LLC
2568-A RIVA ROAD
SUITE 304
ANNAPOLIS
MD
21401
US
|
Family ID: |
38445157 |
Appl. No.: |
11/276376 |
Filed: |
February 27, 2006 |
Current U.S.
Class: |
705/7.36 ;
705/7.37 |
Current CPC
Class: |
G06Q 10/0637 20130101;
G06Q 10/06375 20130101; G06Q 10/06 20130101 |
Class at
Publication: |
705/008 |
International
Class: |
G06F 9/46 20060101
G06F009/46 |
Claims
1. A production planning method comprising: running a production
planning program to develop a plan for producing a product;
evaluating said plan to determine if said plan comprises producing
a predetermined quantity of said product in a first time period,
when said predetermined quantity of said product is to be consumed
during a second time period, wherein said first time period is
earlier than said second time period; if said plan comprises
producing said predetermined quantity in said first time period,
adding a constraint into said production planning program so as to
avoid producing said predetermined quantity earlier than said
second time period; and re-running said production planning program
with said constraint.
2. The method of claim 1, further comprising, predicting a first
yield for said first time period and a second yield for said second
time period; and determining if said plan to produce said
predetermined quantity of said product in said first time period
may have been triggered by a decrease between said first yield
predicted for said first time period and said second yield
predicted for said second time period.
3. The method of claim 1, wherein said running of said production
planning program comprises running a production planning program
comprising a linear program.
4. The method of claim 2, wherein if inventory costs for said
product at subsequent stocking points during production are
non-decreasing, then said determining comprises identifying when a
planned overstock of inventory at a single stocking point
immediately precedes said second time period.
5. The method of claim 2, wherein if inventory costs for said
product at subsequent stocking points during production decrease,
then said determining comprises identifying a planned overstock of
inventory at a single stocking point and searching backwards
through the bills of material supply chain recursively to identify
said decrease between said first yield and said second yield that
caused said production planning program to plan to produce said
predetermined quantity of said product prior to said second time
period.
6. The method of claim 1, further comprising, before said adding,
calculating a maximum production level permissible which will
prevent said production planning program from planning to produce
said predetermined quantity of said product prior to said second
time period, and wherein said adding comprises adding said
constraint based on said maximum production level.
7. The method of claim 1, wherein said adding is automatically
initiated subject to user established rules.
8. A production planning method comprising: predicting a first
yield for a product during a first time period and a second yield
for said product during a second time period, wherein said first
time period is earlier than said second time period; running a
production planning program to develop a plan for producing said
product; evaluating said plan to determine if said plan comprises
producing a predetermined quantity of said product in said first
time period, when said predetermined quantity is to be consumed
during said second time period; if said plan comprises producing
said predetermined quantity in said first time period, adding a
constraint and an additional decision variable into said production
planning program so as to allow said predetermined quantity of said
product to be produced prior to said second time period, but only
with said second yield; and re-running said production planning
program with said constraint.
9. The method of claim 8, further comprising, before said adding,
determining if said plan to produce said predetermined quantity of
said product in said first time period may have been triggered by a
decrease between said first yield predicted for said first time
period and said second yield predicted for said second time
period.
10. The method of claim 8, wherein said running of said production
planning program comprises running a production planning program
comprising a linear program.
11. The method of claim 9, wherein if inventory costs for said
product at subsequent stocking points during production are
non-decreasing, then said determining comprises identifying when a
planned overstock of inventory at a single stocking point
immediately precedes said second time period.
12. The method of claim 9, wherein if inventory costs for said
product at subsequent stocking points during production decrease,
then said determining comprises identifying a planned overstock of
inventory at a single stocking point and searching backwards
through the bills of material supply chain recursively to identify
said decrease between said first yield and said second yield that
caused said production planning program to plan to produce said
predetermined quantity of said product prior to said second time
period.
13. The method of claim 8, further comprising, before said adding,
calculating a maximum production level permissible which would
prevent said production planning program from planning to produce
said predetermined quantity with said first yield prior to said
second time period, and wherein said adding further comprises
adding said constraint based on said maximum production level.
14. The method of claim 8, wherein said adding is automatically
initiated subject to user established rules.
15. A program storage device readable by computer and tangibly
embodying a program of instructions executable by said computer to
perform a production planning method, said method comprising:
predicting a first yield for a product during a first time period
and a second yield for said product during a second time period,
wherein said first time period is earlier than said second time
period; running a production planning program to develop a plan for
producing said product; evaluating said plan to determine if said
plan comprises producing a predetermined quantity of said product
in said first time period, when said predetermined quantity is to
be consumed during said second time period; if said plan comprises
producing said predetermined quantity in said first time period,
adding a constraint and, optionally, an additional variable into
said production planning program so as to one of prevent said
predetermined quantity of said product from being produced prior to
said second time period and allow said predetermined quantity of
said product to be produced prior to said second time period, but
only with said second yield; and re-running said production
planning program with said constraint
16. The program storage device of claim 15, wherein said method
further comprises, before said adding, determining if said plan to
produce said predetermined quantity of said product in said first
time period may have been triggered by a decrease between said
first yield predicted for said first time period and said second
yield predicted for said second time period.
17. The program storage device of claim 15, wherein said running of
said production planning program comprises running a production
planning program comprising a linear program.
18. The program storage device of claim 16, wherein if inventory
costs for said product at subsequent stocking points during
production are non-decreasing, then said determining comprises
identifying when a planned overstock of inventory at a single
stocking point immediately precedes said second time period.
19. The program storage device of claim 16, wherein if inventory
costs for said product at subsequent stocking points during
production decrease, then said determining comprises identifying a
planned overstock of inventory at a single stocking point and
searching backwards through the bills of material supply chain
recursively to identify said decrease between said first yield and
said second yield that caused said production planning program to
plan to produce said predetermined quantity of said product prior
to said second time period.
20. The program storage device of claim 15, wherein said adding is
automatically initiated subject to user established rules.
Description
BACKGROUND
[0001] 1. Field of the Invention
[0002] The embodiments of the invention generally relate to
computer-implemented decision support systems for determining
production planning. General methodologies within this field of
study include advanced planning systems, optimization and heuristic
based algorithms, constraint based programming, and simulation.
More particularly, the embodiments of the invention relate to a
production planning method that avoids or limits early builds.
[0003] 2. Description of the Related Art
[0004] 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 demands to satisfy and how to satisfy them. This resource
allocation problem is often addressed through linear
programming.
[0005] A linear program (LP) is composed of an objective function
that defines a measure of the quality of a given solution, and a
set of linear constraints. A production planning linear program
(such as described in U.S. Pat. No. 5,971,585, Dangat, et al.,
"Best can do matching of assets with demand in microelectronics
manufacturing," Oct. 16, 1999, and incorporated herein by
reference) will determine production planning decisions including:
manufacturing releases, material substitutions, and shipments
planned to customers, between manufacturing and distribution
locations, and from vendor suppliers. Similar production planning
methods are also disclosed in the following reference (incorporated
herein by reference): U.S. Pat. No. 5,943,484, Milne, et al.,
"Advanced material requirements planning in microelectronics
manufacturing," Aug. 24, 1999. However, while these prior art
references disclose planning methods that were satisfactory for the
purposes for which they were intended, there is still a need in the
art for computer-implemented production planning methods that
provide improvements over the prior art.
SUMMARY
[0006] In view of the foregoing, embodiments of the invention
provide a production planning method. Specifically, embodiments of
the method of the invention comprise: (1) predicting product yields
over time and inputting the predicted yields into a production
planning program; (2) running the production planning program; (3)
determining if the program plans an early build; (4) optionally,
determining if a planned early build may have been triggered by a
predicted decrease in yield; (5) if an early build is planned and,
optionally, if it is correlated to a decrease in yields, adding
constraint(s) into the program to avoid the early build; (6)
optionally, adding additional decision variable(s) into the program
to plan any early build with the later (lower) yield; (7) and
re-running the program.
[0007] More particularly, the method can comprise predicting
product yields over time (e.g., predicting a first yield for a
product during a first time period and a second yield for that
product during a second, later, time period). These predicted
yields are input into a production planning program. For example,
the production planning program can comprise a linear program (LP)
or other suitable program that is designed to determine production
planning decisions including: manufacturing releases, material
substitutions, and shipments planned to customers, between
manufacturing and distribution locations, and from vendor
suppliers. The types of equations used in production planning LP
can 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; and (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. Thus, a plan output from
running the program can include planned excess inventory costs
resulting from planned overstocks during given time periods.
[0008] After the program is run, the plan can be evaluated to
determine if the program has planned an early build. That is, a
determination can be made as to whether the plan comprises
producing a predetermined quantity of the product in the first time
period, when that predetermined quantity is to be consumed during
the second, later, time period.
[0009] Once a determination is made that an early build is planned,
then one or more constraints can be programmed into the production
planning program so that the early build is avoided. Optionally,
additional decision variable(s), as well as the constraint(s), can
be added into the program so that the early build of that
predetermined quantity of the product is is limited, as opposed to
avoided. For example, a maximum production level permissible to
avoid an early build can be calculated. This maximum production
level can then be used to develop a constraint which is added into
the program to avoid the early build. Then, optionally, additional
decision variables can further be added into the program to allow
the early production of that predetermined quantity of the product
subject to limitations, for example, only with the decreased yield
(i.e., the second yield). This embodiment would, therefore, allow
the early build, if warranted for some other reason such as limited
capacity.
[0010] Once the constraint(s) and, if applicable, the additional
decision variable(s) are programmed-in, then the production
planning program is again run. This time it is run with the added
constraint(s) and, if applicable, the additional decision
variable(s), thereby, either limiting the early build of the
predetermined quantity of product or avoiding it all together.
[0011] Those skilled in the art will recognize that the features of
the present invention may be automatically initiated, whenever an
early build is planned, as well as subject to being manually turned
on or off by the user if the situation warrants and/or subject to
user established rules.
[0012] Specifically, such user established rules can set out when
this logic should be applied. That is, rules can indicate that the
production planning program should be run with the constraints only
if certain conditions are established, such as, running the program
with the constraints only if a determination is made that the
planned early build may have been triggered by a predicted decrease
in yield between the first and second time periods. This
determination can be made upon a detailed analysis of the outputs
of the production planning program and can be dependent upon
whether or not the inventory costs for the product at subsequent
stocking points in the production process are non-decreasing or
decreasing.
[0013] For example, if the inventory costs are non-decreasing
(i.e., if at each stage in production the inventory costs remain
the same or increase), then a determination can be made as to
whether or not an early build was most likely planned because of
yield decreases by looking at a single stocking point.
Specifically, if inventory costs increase through the various
stages of production, then production planning programs will
typically not initiate an early build and forward a product down
the line to be stored as excess inventory later in the production
process because of the increase in inventory costs. Thus, a direct
correlation can be made between a planned excess of inventory
(i.e., an overstock of inventory) at a single stocking point
followed immediately by a planned decrease in yield. Consequently,
the determination of whether the decease in planned yield may have
triggered the planned early build can be made by identifying when a
planned overstock of inventory at a single stocking point
immediately precedes the planned decrease in yield (i.e.,
immediately proceeds the second time period).
[0014] However, if inventory costs for the product decrease (i.e.,
if at subsequent stages in production the inventory costs
decrease), then a direct correlation can not be made between the
excess inventory at a single stocking point and a subsequent
planned decrease yield. Specifically, if a decrease in planned
yield is found in a production line that has decreasing inventory
costs, then the production planning program may not plan to
immediately stock the excess inventory but rather may plan to
continue production and stock the excess inventory further down the
line at a point where the inventory costs are cheaper. Thus, to
determine if a decrease in yield may have triggered an early build,
a planned overstock of inventory at a single stocking point must
first be identified. Then, a search must be performed backwards
through the bills of material supply chain, recursively if
necessary, to identify the decrease between the first yield and the
second yield that triggered the production planning program to plan
to produce the product prior to the second time period.
[0015] These and other aspects of the embodiments of the invention
will be better appreciated and understood when considered in
conjunction with the following description and the accompanying
drawings. It should be understood, however, that the following
descriptions, while indicating preferred embodiments of the
invention and numerous specific details thereof, are given by way
of illustration and not of limitation. Many changes and
modifications may be made within the scope of the embodiments of
the invention without departing from the spirit thereof, and the
embodiments of the invention include all such modifications.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The embodiments of the invention will be better understood
from the following detailed description with reference to the
drawings, in which:
[0017] FIG. 1 is a graph illustrating predicted yield over time and
initiation of an early build;
[0018] FIG. 2 is diagram illustrating an overview of the structure
of a typical linear programming application; and
[0019] FIG. 3 is a schematic flow diagram illustrating an
embodiment of the method the invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[0020] The embodiments of the invention and the various features
and advantageous details thereof are explained more fully with
reference to the non-limiting embodiments that are illustrated in
the accompanying drawings and detailed in the following
description. It should be noted that the features illustrated in
the drawings are not necessarily drawn to scale. Descriptions of
well-known components and processing techniques are omitted so as
to not unnecessarily obscure the embodiments of the invention. The
examples used herein are intended merely to facilitate an
understanding of ways in which the embodiments of the invention may
be practiced and to further enable those of skill in the art to
practice the embodiments of the invention. Accordingly, the
examples should not be construed as limiting the scope of the
embodiments of the invention.
[0021] As mentioned above, a linear program (LP) is composed of an
objective function that defines a measure of the quality of a given
solution, and a set of linear constraints. A production planning
linear program, such as that described in U.S. Pat. No. 5,971,585,
will determine production planning decisions including:
manufacturing releases, material substitutions, and shipments
planned to customers, between manufacturing and distribution
locations, and from vendor suppliers. 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; and (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.
[0022] 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
[0023] j--time period [0024] m--material (part number) [0025]
a--plant location within the enterprise [0026] n--material being
substituted [0027] z--group (which represents a family or
collection of part numbers) [0028] e--process (a method of
purchasing or manufacturing a material at a plant) [0029]
v--receiving plant location [0030] k--demand center (i.e., customer
location) (Note: the set of customer locations is mutually
exclusive from the set of plant locations) [0031] q--demand class
which indicates relative priority [0032] w--resource capacity which
could be a machine, labor hour, or other constraint [0033]
u--represents a consumer location which refers to an internal
plant, external demand center, or to [0034] a generic indicator
meaning any plant/or demand center Definition of Objective Function
Coefficients [0035] PRC.sub.jmae--cost of releasing one piece of
part m during period j at plant a using process e [0036]
SUBC.sub.jmna--substitution cost per piece of part number n which
is being substituted by part number m during period j at plant a
[0037] TC.sub.jmav--transportation cost per piece of part number m
leaving plant a during period j which are destined for plant v
[0038] INVC.sub.jma--inventory cost of holding one piece of part
number m at the end of period j at a particular plant a [0039]
DMAXC.sub.jza--cost per piece of exceeding the maximum amount of
shipments of group z parts from plant a to consuming location(s) u
during period j [0040] DMINC.sub.jzau--cost per piece of falling
short of the minimum amount of shipments specified for group z
parts from plant a to consuming location(s) u during period j
[0041] BOC.sub.jmkq--backorder cost of one piece of part m at the
end of period j for class q demand at customer location k
Definition of Constants [0042] DEMAND.sub.jmkq--demand requested
during time period j for part number m at customer location k for
demand class q [0043] RECEIPT.sub.jma--quantity of projected WIP
and purchase order receipts for part number m expected to be
received at plant a during time period j [0044]
CAPACITY.sub.jaw--Capacity of resource w available at plant a
during period j to support production starts [0045]
CAPREQ.sub.jmaew--Capacity of resource w required for part number m
at plant a for process e during period j [0046]
QTYPER.sub.jmaen--quantity of component m needed per part number n
during period j at plant a using process e [0047]
YIELD.sub.jmae--output of part number m per piece released or
started at plant a during time period j using process e [0048]
SUBQTY.sub.jmna--quantity of part number m required to substitute
for one piece of part number n at plant a during time period j
[0049] MAXPCT.sub.jcza--maximum percentage of total shipments of
group z (collection of parts) leaving supplier a during period j to
support consumption at consuming location(s) u [0050]
MINPCT.sub.jzau--minimum percentage of total shipments of group z
(collection of parts) leaving supplier a during period j to support
consumption at consuming location(s) u [0051] CT.sub.jmae--Cycle
time. The number of periods between the release and completion of
part m jobs for releases made using process e at plant a during
time period j [0052] TT.sub.mav--transport time for part number m
from plant a to plant v Definition of LP Decision Variables [0053]
I.sub.jma--Inventory at the end of period j for part number m at a
particular plant a [0054] P.sub.jmae--Production starts of part m
during period j at plant a using process e [0055]
L.sub.jmna--Quantity of part number n which is being substituted by
part number m during period j at plant a [0056]
T.sub.jmav--Internal shipments of part number m leaving plant a
during period j which are destined for plant v [0057]
F.sub.jmakq--Shipments of part number m leaving plant a during
period j and satisfying class q demand at external customer k
[0058] B.sub.jmkq--Back orders of part m at the end of period j for
class q demand at customer location k [0059] H.sub.jzu--Total
shipments of group z (z is a "collection" of parts) leaving
suppliers during period j to support consumption at consuming
location(s) u [0060] S.sub.jzau--Amount by which total shipments of
parts in z from plant a to consuming location(s) u during period j
exceeds the maximum amount specified as desired in the sourcing
rules [0061] G.sub.jzau--Amount by which total shipments of group z
parts from plant a to consuming location(s) u during period j falls
short of the minimum amount specified as desired in the sourcing
rules LP Equations or Formulation
[0062] The following minimizes the objective function subject to
the constraints shown below.
Objective Function:
[0063] Minimize: j .times. m .times. a .times. e .times. PRC jmae
.times. P jmae + j .times. m .times. n .times. a .times. SUBC jmna
.times. L jmna + j .times. m .times. a .times. v .times. TC jmav
.times. T jmav + j .times. m .times. a .times. INVC jma .times. I
jma + j .times. z .times. a .times. i .times. DMAX .times. .times.
C jzau .times. S jzau + j .times. z .times. a .times. u .times.
DMIN .times. .times. C jzau .times. G jzau + j .times. m .times. k
.times. q .times. BOC jmkq .times. B jmkq ##EQU1## Subject to:
Sourcing Constraints: H jzu = m .times. .times. z .times. a .times.
( T jmau + q .times. F jmauq ) ##EQU2## m .times. .times. z .times.
( T jmau + q .times. F jmauq ) - S jzau .ltoreq. MAXPCT jzau
.times. H jzu ##EQU2.2## m .times. .times. z .times. ( T jmau + q
.times. F jmauq ) - G jzau .ltoreq. MINPCT jzau .times. H jzu
##EQU2.3## Capacity Constraints: m .times. e .times. CAPREQ jmaew
.times. P jmae .ltoreq. CAPACITY jaw ##EQU3## Backorder
Constraints: B jmkq = B ( j - 1 ) .times. mkq + DEMAND jmkq - a
.times. F jmakq ##EQU4## Material Balance Constraints: I jma = I (
j - 1 ) .times. ma + RECEIPT jma + xsi . t x + CTxmae = j .times. e
.times. YIELD xmae * P xmae + n .times. L jmna + xs . t x + TT mav
= j .times. v .times. T xmva - n .times. SUBQTY jmna * L jmna - v
.times. T jmav - k .times. q .times. F jmakq - nst . i .times.
.times. n is .times. .times. a .times. .times. component of .times.
.times. n .times. e .times. QTYPER jmaen ##EQU5## Non-Negativity
Constraints: all X.sub.i,j . . . .gtoreq.0, where X is a generic
decision variable and i, j etc. represent generic subscripts.
[0064] In high tech industries (e.g., semiconductor manufacturing)
production planning programs, for example linear programs (LPs),
such as the supply chain linear programming model shown above, or
other suitable production planning programs, are often fed with
date-effective predicted yields (i.e., the predicted number of
products that will meet defined standards divided by the total
number of products produced during a defined time period).
Referring to FIG. 1, typically, yields increase over time due to
knowledge gained throughout the production process (i.e., due to a
learning curve). For example, see predicted yield increase in time
period B-C over time period A-B. However, on occasion, a systematic
defect in the production process or in the material used in
production is accidentally or unavoidably introduced into the
production process and rectified some period of time later (e.g.,
when it's identified). Such defects may result in a planned
decrease in yield for a period of time (i.e., a decrease from a
first yield that is predicted for a first time period and a second,
lower, yield that is predicted for a later second time period). For
example, see the decrease in the yield 102 that is predicted for
time period C-D compared to the yield 101 that is predicted for
time period B-C. Specifically, the interval between points C and D
refers to that period of time when jobs exposed to the inadvertent
(and temporary) defect will be completed through a test stage of
manufacturing (e.g., final test).
[0065] The problem, which is addressed by the present invention, is
that for the most part production planning linear programs will
tend to exploit what is perceived as a higher yield opportunity
resulting from production immediately prior to time C (i.e., what
is perceived as a higher yield opportunity during time period B-C
compared to time period C-D). That is, the LP will tend to plan the
build of a product early and plan to hold the product in excess
inventory 150 before time C for later consumption between times C
and D (i.e., based on a decrease from a first yield 101 planned
during a first time period B-C and a second yield 102 planned
during a second later time period C-D, the LP will plan to produce
the product prior to the second time period C-D even though the
product is to be consumed during that second time period C-D).
However, the nominally higher yield resulting from early production
just prior to time C is a mirage. Jobs that are exposed to the
inadvertent defect will not have higher yields just because they
are built earlier than they need to be. The defect is already in
the line so building the product earlier may only cause the lower
yield to materialize earlier and create higher inventory costs due
to the need to store excess product (i.e. overstock) until it is
consumed. Due to the increase in inventory costs, it would be
preferable if the LP did not exploit that apparently higher yield;
instead it would be advantageous if the LP satisfied consumption
requirements between C and D by producing the required product
between C and D.
[0066] One way to solve this problem would be to have large
inventory holding cost penalties immediately prior to the yield
decrease. The idea behind this approach would be to penalize the
early build severely and thereby discourage it. However, such
penalties can result in the inventory being consumed needlessly
early further down the supply chain. Careful setting of inventory
holding costs across the supply chain can mitigate this drawback
but so doing would require significant analysis for the user, may
introduce unwanted side effects, and does not necessarily resolve
the original problem depending upon the particulars. An even less
effective approach would be to feed the LP with yields which do not
represent the decrease even though such yields are not
accurate.
[0067] In view of the foregoing, disclosed is a production planning
method (e.g., a computer-implemented production planning method)
that avoids or limits early builds, for example, early builds that
may be due to planned yield decreases. Referring to FIG. 2,
production planning programs typically include the transformation
of input files 200 into output files 208 through a pre-processor
202, solver 204, and post-processor 206. The pre-processor 202
transforms the raw input files into a form useable by a linear
programming (or similar) solver. The solver 204 determines an
optimal raw output solution which is transformed by the
post-processor 206 into a format acceptable for usage. The
embodiments of the present invention are embedded into such
applications. Specifically, embodiments of the present invention
evaluate the outputs 208 and determine if the solver 204 has
planned an early build (i.e., planned to build a product in a first
time period, when the product is to be consumed in a second later
time period). If such an early build is planned, the invention
programs one or more constraints and, optionally, one or more
additional decision variables, back into the solver 204 and would
then rerun the solver 204 and the post-processor 206 with the
constraint and, if applicable, the additional decision variable in
order to avoid or limit an output 208 that would call for an early
build. Limitations may be placed on the programming of the
constraint (and the additional decision variable, if applicable) or
the re-running of the program with the constraint (and the
additional decision variable, if applicable). For example,
constraint use may be limited to situations in which it has been
determined that an early build may have been triggered by a
predicted decrease in product yield. Although the embodiments of
the invention are described herein in the context of using a linear
program as the solver 204 (i.e., as the production planning
program), those skilled in the art will recognize that any
production planning program, such as an Advanced Planning System
(APS), could be used as the solver including a heuristic based
APS.
[0068] Specifically, referring to FIG. 3, embodiments of the method
of the invention comprise: (1) predicting product yields over time
and inputting those predicted yields into a production planning
program (301); (2) running the production planning program (302);
(3) determining if the program plans an early build (303); (4)
determining if the planned early build may have been triggered by a
predicted decrease in product yield over time (304); (5)
calculating maximum production permitted to avoid the early build
(308); (6) if an early build is planned and, optionally, if it is
correlated with a decrease in product yield over time, then adding
one or more constraints into the program to avoid the early build
based on this maximum production level (310); (7) optionally, also
adding one or more additional decision variables into the program
to allow an early build subject to limitations (e.g., only at
decreased yield) (312); and (8) re-running the program, either
automatically (315) or subject to user established limitations
(316) so that the early build is either avoided or limited
(314).
[0069] The feature of running a production planning program (e.g.,
a linear program (LP)) (302) is accomplished using all the typical
input data for such programs (e.g., time effective yields (301)).
Step 302 is the same as steps 202-206 of FIG. 2, as described
above. As mentioned above, although the embodiments of the
invention are described herein in the context of using a linear
program, those skilled in the art will recognize that any Advanced
Planning System (APS) could be used as the solver including a
heuristic based APS. The production planning program can be run,
using prior art LP methodology, as illustrated in FIG. 2 (e.g.,
using methodology similar to that described in U.S. Pat. No.
5,971,585 cited above and incorporated by reference). This
production planning program will determine production planning
decisions including: manufacturing releases, material
substitutions, and shipments planned to customers, between
manufacturing and distribution locations, and from vendor
suppliers. The types of equations used in production planning
program can 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; and (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. Thus, a plan that is output as
a result of running the program will, for example, include planned
excess inventory (i.e., overstocks) and/or excess inventory costs
at given time periods (e.g., as illustrated in FIG. 1).
[0070] After the program is run (at process 302), the plan can be
evaluated to determine if an early build is planned (303). That is,
the plan is evaluated to determine if a predetermined quantity of
the product is to be consumed during a given time period (i.e., the
second time period), but that predetermined quantity is scheduled
to be built in an earlier time period (i.e., the first time
period). For example, a determination is made that an early build
of 100 widgets is planned if those 100 widgets are to be used
during the second time period, but are to be built during an
earlier first time period. This determination can be based on a
planned excess inventory 150 for the product in the first time
period. Specifically, building a predetermined quantity of a
product in the first period, when that predetermined quantity is to
be used at a given time 151 in the second time period will result
in excess inventory 150 for the product during the first time
period.
[0071] Once a determination has been made that an early build of a
predetermined quantity of a product is planned (at process 303),
then one or more constraints can be programmed into the production
planning program to avoid (i.e., prevent) the early build
completely (310). Optionally, the method can also comprise adding
one or more additional decision variables into the program in
addition to the constraint added in at process 310 so that the
early build of the predetermined quantity of the product is allowed
but only with limitations (e.g., limitations that ensure that any
early build is accounted for using the decreased yield) (312).
Specifically, a maximum production level permissible to avoid an
early build can be calculated (308). (An algorithm for executing
steps 303-308 is described further below.) This maximum new
production level can then be used to develop a constraint which is
added into the program to avoid the early build (310).
[0072] For example, the following new constraint can be added into
the LP so that early build due to yield decreasing will be avoided
(310): .SIGMA..sub.e.SIGMA..sub.s s.t. s+CT smae<=t
YIELD.sub.s,m,a,e*P.sub.smae<=max.sub.--new.sub.--prod.sub.t,m,a
[0073] An optional step (at process 312) of adding additional
decision variables to the program so that the early build may be
allowed subject to restrictions (e.g., allowing the early build
only at the decreased yield amount) may or may not be desired
depending upon the nature of the problem environment. Limiting the
early build at process 312 provides the capability to build early
for reasons other than exploiting the (deceptively) higher yield,
but with a negative impact of increased run time. Invoking this
function may be considered optional and, if invoked, can, for
example, be accomplished, as described below.
[0074] To limit the early build at process 312, add a new decision
variable (EP for "Early Production") into the program which will
keep track of the production being built early which is not being
supported by the higher yield. This decision variable will be
instantiated only for those situations where the yield drops. The
production resulting from such starts will be determined using the
later (lower) yield of the subsequent time period. This early
production should have a higher cost per piece than the usual
production so as to discourage its use. (Having a lower yield would
already tend to discourage such usage). Aside from the higher
objective function cost coefficient and lower yield, this early
production variable should be treated the same as the normal
production variables in the equations. An exemplary formulation for
implementing process 312 is provided below in a form familiar to
those skilled in the art.
EP.sub.jmae--Production starts of part m during period j at plant a
using process e which is being built early for purposes other than
exploiting a higher yield ("EP" for "Early Production")
[0075] And give that variable an objective cost coefficient . .
.
EPRC.sub.jmae--cost of releasing one piece of "early production" of
part m during period j at plant a using process e
[0076] Note: set EPRC.sub.jmae>EPRC.sub.jmae so that it will be
less preferred
[0077] Add the Early Production (EP) variable to both the capacity
constraint and the material balance constraint so that they look as
follows.
Capacity Constraints: .SIGMA..sub.m .SIGMA..sub.e
CAPREQ.sub.jmaew*(P.sub.jmae+EP.sub.jmae)<=CAPACITY.sub.jaw
Material Balance Constraints: I jma = I ( j - 1 ) .times. ma +
RECEIPT jma + xsi . t x + CTxmae = j .times. e .times. ( YIELD xmae
* P xmae + YIELD ( x + 1 ) .times. mae * EP xmae ) + n .times. L
jmna + xs . t x + TT mav = j .times. v .times. T xmva - n .times.
SUBQTY jmna * L jmna - v .times. T jmav - k .times. q .times. F
jmakq - nst . m is .times. .times. a .times. .times. component of
.times. .times. n .times. e .times. QTYPER jmaen .function. ( P
jnae + EP jnae ) ##EQU6##
[0078] Once the added constraint(s) and, if applicable, variable(s)
have been programmed-in (at process 310 and 312), then the
production planning program is again run (314). This time the
program is run with the added constraint(s) and, if applicable,
variable(s), thereby, either avoiding the early build of the
predetermined quantity of the product all together (i.e., resulting
in an output solution from the production planning LP that is free
of the needless early build) or limiting the early build.
[0079] Those skilled in the art will recognize that the features of
the present invention may be automatically initiated, whenever an
early build is planned, as well as subject to being manually turned
on or off when warranted under certain circumstances (315) and/or
subject to user established limitations (316).
[0080] Specifically, such user established rules or limitations can
set out when this logic should be applied. These rules can indicate
constraints and, if applicable, variables should be programmed in
(at process 310 and at optional process 312) or that the production
planning program should be re-run with the constraints and, if
applicable, the variables (at process 314) only if certain
conditions are established. For example, a rule can indicate that
the constraints should be programmed in or the program should be
re-rerun with the constraints only if a determination is made that
the planned early build may have been triggered by a predicted
decrease in yield between the first and second time periods (304).
Thus, the method could be used to avoid exploitation by the program
of a deceptively higher yield in the early time period. This
determination can be made by evaluating the plan (i.e., the outputs
of the production planning program) against the date-effective
yields (e.g., see items 101 and 102 of FIG. 1). That is, a
determination can be made as to whether the program, because of a
decrease between a first yield 101 predicted for a first time
period B-C and a second yield 102 predicted for a second time
period C-D, has planned to produce a product prior to the second
time period C-D even though the product is to be consumed during
that second time period C-D (see FIG. 1). The evaluation of the
outputs is dependent upon whether or not the inventory costs for
the product at subsequent stocking points in the production process
are non-decreasing or decreasing (i.e., at each stage in production
the inventory costs remain the same or increase).
[0081] More particularly, inventory holding costs are typically
non-decreasing as material flows down the supply chain. If
inventory costs increase through the various stages of production,
then the LP will generally not forward the product of an early
build down the line so that it is stored as excess inventory later
in the production. Rather, the LP will hold the excess inventory to
avoid the even higher inventory costs later in the line. Because
the product of the early build will not be forwarded down the line
by the LP, a direct correlation can be made between a planned
excess of inventory or excess of inventory costs 150 (i.e., an
overstock of inventory) at a single stocking point (e.g., at a time
just prior to time C) followed immediately by a planned decrease in
yield (see yield 102). Consequently, a determination will be made
as to whether the decrease in planned yield between two periods of
time (e.g., the decrease between yields 101 and 102 at time periods
B-C and C-D, respectively, of FIG. 1) may have been what caused a
planned early build by identifying whether or not a planned
overstock of inventory 150 at a single stocking point (e.g., just
prior to point C) immediately precedes the planned decrease in
yield (i.e., immediately precedes the second time period C-D)
(305).
[0082] However, if inventory costs for the product decrease (i.e.,
if at subsequent stages in production the inventory costs
decrease), then a direct correlation can not be made between the
excess inventory at a single stocking point and a subsequent
planned decrease yield. For example, in some production lines it is
desirable to keep material flowing through the specified stages of
manufacturing. To meet this desire and not clog an automated
material handling system, as an example, inventory costs may be
artificially high for some part numbers at various stages in
production and then, decrease further downstream at the point where
the material leaves the automated system. So, if a decrease in
planned yield is found in a production line that has decreasing
inventory costs, then the production planning program may not plan
to immediately stock the excess inventory but rather may plan to
continue production and stock the excess inventory further down the
line at a point where the inventory costs are cheaper. As a result,
when a needlessly early build occurs, the underlying yield
decreasing cause may be further up the supply chain than where the
inventory build up occurs. Consequently, to determine if a decrease
in yield may have caused an early build, a planned overstock of
inventory at a single stocking point must first be identified.
Then, a search must be performed backwards through the bills of
material supply chain, recursively if necessary, to identify the
decrease between the first yield and the second yield that caused
the production planning program to plan to produce the
predetermined quantity of the product early (i.e., prior to the
second time period) (306).
[0083] The following algorithm may be used to implement the
features of steps 303-308, including the calculation of the maximum
production permitted to avoid early build of a predetermined
quantity of a product due to a yield decrease (308). TABLE-US-00001
initialize max_new_prod to empty For all material part numbers m,
plants a, and time periods t ... If (I.sub.t,m,a > 0 and there
exists P.sub.s,m,a,e > 0 such that t = s + CT.sub.smae ) then {
If YIELD.sub.t,m,a,e > YIELD.sub.t+1,m,a,e // If yield
decreased... then max_new_prod.sub.t,m,a = max(0, (.SIGMA..sub.e
.SIGMA..sub.s s.t. s + CTsmae <= t YIELD.sub.smae * P.sub.smae )
- I.sub.tma ) else // search for upstream components which may have
the yield decrease Find c and s s.t. QTYPER.sub.smaec > 0 // c =
component of m and s + CT.sub.smae = t // when released in s If
I.sub.s,c,a = 0 and INVC.sub.s,c,a > INVC.sub.t,m,a then //
perhaps component c was built early due to a yield decrease call
the recursive check_component(c, s, a, (I.sub.t,m,a /
YIELD.sub.smae) * QTYPER.sub.smaec) // adjustments for Yield and
Bills of Material Qty Per } check_component(m,t,a,qty) // check if
material m is early building in time period t { If there exists
P.sub.smae > 0 such that t = s + CT.sub.smae ) If
YIELD.sub.t,m,a,e > YIELD.sub.t+1,m,a,e // If yield decreased...
then max_new_prod.sub.t,m,a = max(0, (.SIGMA..sub.e .SIGMA..sub.s
s.t. s + CT smae <= t YIELD.sub.s,m,a,e * P.sub.smae ) - qty )
else // look further back in the bills of material supply chain for
a yield decrease Find c and s s.t. QTYPER.sub.smaec > 0 // c =
component of m and s + CT.sub.smae = t // when released in s If
I.sub.s,c,a = 0 then // perhaps component c was built early due to
a yield decrease call the recursive check_component(c, s, a, (qty /
YIELD.sub.s,m,a,e) * QTYPER.sub.smaec) // adjustments for Yield and
Bills of Material Qty Per }
[0084] The embodiments of the invention described above can take
the form of an entirely hardware embodiment, an entirely software
embodiment or an embodiment including both hardware and software
elements. For example, an embodiment of the present invention could
be implemented on an IBM.RTM. P690 server with AFS for data storage
and 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, embodiments of the invention can be implemented in software,
which includes but is not limited to firmware, resident software,
microcode, etc.
[0085] Additionally, embodiments of the invention can take the form
of a computer program product accessible from a computer-usable or
computer-readable medium providing program code for use by or in
connection with a computer or any instruction execution system. For
the purposes of this description, a computer-usable or computer
readable medium can be any apparatus that can comprise, store,
communicate, propagate, or transport the program for use by or in
connection with the instruction execution system, apparatus, or
device. The medium can be an electronic, magnetic, optical,
electromagnetic, infrared, or semiconductor system (or apparatus or
device) or a propagation medium. Examples of a computer-readable
medium include a semiconductor or solid state memory, magnetic
tape, a removable computer diskette, a random access memory (RAM),
a read-only memory (ROM), a rigid magnetic disk and an optical
disk. Current examples of optical disks include compact disk-read
only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD. A
data processing system suitable for storing and/or executing
program code will include at least one processor coupled directly
or indirectly to memory elements through a system bus. The memory
elements can include local memory employed during actual execution
of the program code, bulk storage, and cache memories which provide
temporary storage of at least some program code in order to reduce
the number of times code must be retrieved from bulk storage during
execution. Input/output (I/O) devices (including but not limited to
keyboards, displays, pointing devices, etc.) can be coupled to the
system either directly or through intervening I/O controllers.
Network adapters may also be coupled to the system to enable the
data processing system to become coupled to other data processing
systems or remote printers or storage devices through intervening
private or public networks. Modems, cable modem and Ethernet cards
are just a few of the currently available types of network
adapters.
[0086] Therefore, disclosed above are embodiments of an improved
production planning method that avoids or limits early builds. The
method comprises running a conventional production planning program
using standard inputs (e.g., date effective yields). The outputs of
the program (e.g., a production plan including planned inventory
overstocks at given times) are evaluated to determine if the
program plans an early build of a predetermined quantity of a
product and, optionally, to determine if the planned early build of
that predetermined quantity may have been triggered by a predicted
decrease in product yield over time. If an early build of a
predetermined quantity of a product is planned and if a correlation
exists between the decrease in yield and the early build, then new
constraints can be added into the program to avoid or limit the
early build of that predetermined quantity of the product. Then,
the production planning program is re-run. Thus, the method can be
used to reduce early builds due to an incorrect, nominally higher,
yield without requiring the user to provide any special additional
input data. By reducing early builds, needless build up of
inventory is avoided thus resulting in an improved statement of
financial conditions and other operating measurements.
[0087] Although the embodiments have been described in terms of
their application to a production planning environment, the
invention may also be embodied in a services industry or another
environment involving predicted yields which may decrease over
time. For example, in addition to yield referring to the percentage
of good products produced, those skilled in the art will recognize
that yield may refer to a percentage of service items which receive
a discrete attribute of service (e.g. percentage of customers
receiving the highest quality rating of service, percentage of
rental cars requiring repair, percentage of items requiring
expedited service, etc.).
[0088] The foregoing description of the specific embodiments will
so fully reveal the general nature of the invention that others
can, by applying current knowledge, readily modify and/or adapt for
various applications such specific embodiments without departing
from the generic concept, and, therefore, such adaptations and
modifications should and are intended to be comprehended within the
meaning and range of equivalents of the disclosed embodiments. It
is to be understood that the phraseology or terminology employed
herein is for the purpose of description and not of limitation.
Therefore, those skilled in the art will recognize that the
disclosed embodiments of the invention can be practiced with
modification within the spirit and scope of the appended
claims.
* * * * *