LP01 Production Planning

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

A Production Planning Problem

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

We now proceed with a linear-programming (LP) formulation of this problem.


The Decision Variables
The managers task is to set a production level for each month. Therefore, we have twelve
decision variables:
xj = the production level for month j, j = 1, 2, . . ., 12.
The Objective Function
Consider the first month again. From the discussion above, we have:
The production cost equals c1 x1 .
The inventory-holding cost equals h1 (x1 d1 ), assuming that the ending inventory level,
x1 d1 , is nonnegative.
Therefore, the total cost for the first month equals c1 x1 + h1 (x1 d1 ).
For the second month, we have:
The production cost equals c2 x2 .
The inventory-holding cost equals h2 (x1 d1 +x2 d2 ), assuming that the ending inventory
level, x1 d1 + x2 d2 , is nonnegative. This follows from the fact that the starting
inventory level for this month is x1 d1 , the production level for this month is x2 ,
and the demand for this month is d2 .
Therefore, the total cost for the second month equals c2 x2 + h2 (x1 d1 + x2 d2 ).
Continuation of this argument yields that:
The total production cost for the entire planning horizon equals
12
X

cj xj c1 x1 + c2 x2 + . . . + c12 x12 ,

j=1

where we have introduced the standard summation notation ( means by definition).

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

= h1 [x1 d1 ] + h2 [(x1 d1 ) + (x2 d2 )] + . . .


+h12 [(x1 d1 ) + (x2 d2 ) + . . . + (x12 d12 )] .
Since our goal is to minimize the total production and inventory-holding costs, the objective
function can now be stated as
12
X

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

for j = 1, 2, . . ., 12. This results in a set of 24 functional constraints. Of course, being


production levels, the xj s should be nonnegative.
LP Formulation
In summary, we have arrived at the following formulation:

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

yj = the ending inventory level for month j, j = 1, 2, . . ., 12;


then, the objective function can be rewritten in the following simpler-looking form:

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

xj 0 for j = 1, 2, . . . , 12 and yj 0 for j = 1, 2, . . . , 12 ,


which is a linear program with 24 decision variables, 24 functional constraints, and 24
nonnegative variables.
4

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.

You might also like