LP01 Production Planning
LP01 Production Planning
LP01 Production Planning
Suppose a production manager is responsible for scheduling the monthly production levels
of a certain product for a planning horizon of twelve months. For planning purposes, the
manager was given the following information:
The total demand for the product in month j is dj , for j = 1, 2, . . ., 12. These could
either be targeted values or be based on forecasts.
The cost of producing each unit of the product in month j is cj (dollars), for j = 1,
2, . . ., 12. There is no setup/fixed cost for production.
The inventory holding cost per unit for month j is hj (dollars), for j = 1, 2, . . ., 12.
These are incurred at the end of each month.
The production capacity for month j is mj , for j = 1, 2, . . ., 12.
The managers task is to generate a production schedule that minimizes the total production
and inventory-holding costs over this twelve-month planning horizon.
To facilitate the formulation of a linear program, the manager decides to make the following
simplifying assumptions:
1. There is no initial inventory at the beginning of the first month.
2. Units scheduled for production in month j are immediately available for delivery at
the beginning of that month. This means in effect that the production rate is infinite.
3. Shortage of the product is not allowed at the end of any month.
To understand things better, let us consider the first month. Suppose, for that month, the
planned production level equals 100 units and the demand, d1 , equals 60 units. Then, since
the initial inventory is 0 (Assumption 1), the ending inventory level for the first month
would be 0 + 100 60 = 40 units. Note that all 100 units are immediately available for
delivery (Assumption 2); and that given d1 = 60, one must produce no less than 60 units
in the first month, to avoid shortage (Assumption 3). Suppose further that c1 = 15 and
h1 = 3. Then, the total cost for the first month can be computed as: 15100+340 = 1380
dollars.
At the start of the second month, there would be 40 units of the product in inventory,
and the corresponding ending inventory can be computed similarly, based on the initial
inventory, the scheduled production level, and the total demand for that month. The same
scheme is then repeated until the end of the entire planning horizon.
1
cj xj c1 x1 + c2 x2 + . . . + c12 x12 ,
j=1
The total inventory-holding cost for the entire planning horizon equals
12
X
j=1
hj
j
X
"
(xk dk ) h1
k=1
1
X
"
(xk dk ) + h2
k=1
"
+h12
2
X
(xk dk ) + . . .
k=1
12
X
(xk dk )
k=1
Minimize
cj xj +
j=1
12
X
hj
j=1
j
X
(xk dk ) .
k=1
The Constraints
Since the production capacity for month j is mj , we require
xj mj
for j = 1, 2, . . ., 12; and since shortage is not allowed (Assumption 3), we require
j
X
(xk dk ) 0
k=1
Minimize
12
X
cj xj +
12
X
hj
j=1
j=1
j
X
(xk dk )
k=1
Subject to:
xj
j
X
mj
(xk dk ) 0
for j = 1, 2, . . . , 12
for j = 1, 2, . . . , 12
k=1
xj 0
for j = 1, 2, . . . , 12 .
3
This is a linear program with 12 decision variables, 24 functional constraints, and 12 nonnegativity constraints. In an actual implementation, we need to replace the cj s, the hj s,
the dj s, and the mj s with explicit numerical values.
An Alternative Formulation
In the above formulation, the expression for the total inventory-holding cost in the objective
function involves a nested sum, which is rather complicated. Notice that for any given j, the
inner sum in that expression, jk=1 (xk dk ), is simply the ending inventory level for month
j. This motivates the introduction of an additional set of decision variables to represent
the ending inventory levels. Specifically, let
P
Minimize
12
X
cj xj +
j=1
12
X
hj y j .
j=1
With these new variables, the no-shortage constraints also simplify to yj 0 for j = 1, 2,
. . ., 12. However, we now need to introduce a new set of constraints to link the xj s and
the yj s together.
Consider the first month again. Denote the initial inventory level as y0 ; then, by assumption,
we have y0 = 0. Since the production level is x1 and the demand is d1 for this month, we
have y1 = y0 + x1 d1 . Continuation of this argument shows that for j = 1, 2, . . ., 12,
yj = yj1 + xj dj ;
and these relations should appear as constraints to ensure that the yj s indeed represent
ending inventory levels. We have, therefore, arrived at the following new formulation:
Minimize
12
X
j=1
cj xj +
12
X
hj yj
j=1
Subject to:
xj
yj
mj
= yj1 + xj dj
for j = 1, 2, . . . , 12
for j = 1, 2, . . . , 12
Although there are twice as many decision variables in the new formulation, both formulations have the same number of functional constraints. We will show in a later section that
the total amount of effort necessary to arrive at an optimal solution to a linear program
depends primarily on the number of functional constraints.
In general, it is not uncommon to have several equivalent formulations of the same problem.
Discussion
If Assumption 1 is relaxed, so that the initial inventory level is not necessarily zero, we can
simply set y0 to whatever given value.
In our formulation, we assumed that there is no production delay (Assumption 2). This
assumption can be easily relaxed. Suppose instead there is a production delay of one
month; that is, the scheduled production for month j, xj , is available only after a delay of
one month, i.e., in month j + 1. Then, in the alternative formulation, we can simply replace
the constraint yj = yj1 + xj dj by yj = yj1 + xj1 dj (with x0 0), for j = 1, 2, . . .,
12. Of course, for the first month, the given value of y0 must be no less than d1 ; otherwise,
the resulting LP will not have any solution.
Assumption 3 can also be relaxed. If shortages are allowed, we can simply remove the
nonnegativity requirements for the yj s, and introduce a shortage penalty cost of, say, pj
per unit of shortage at the end of month j. We will discuss in a later section how to handle
these unrestricted variables.