18
A Perfect Lot-Tree Procedure for the Discounted Dynamic Lot-Size Problem with Speculation Michael Bastian Rheinisch- Wesfalische Technische Hochschule, Aachen, Germany This article considers the dynamic lot-size problem under discounting, allowing a speculative motive for holding inventory. A forward procedure is developed that determines the first lot-size decision in a rolling horizon environment by using forecast data of the minimum possible number of future periods. 6 1992 John Wiley & Sons, Inc. 1. INTRODUCTION Recent research on the dynamic lot-size problem (DLSP) has focused on procedures that provide an optimal or near-optimal decision for the initial period by using forecast data of only a small number of future periods. To state the problem more precisely, some terminology has to be introduced. A regeneration point is a period with an ending inventory of zero. If there exist periodsp and f 2 p with the property that for each n 1 f, p is a regeneration point of a policy that minimizes total cost over periods 1 to n, then p is called aplanning horizon, and f is a forecast horizon for p. In this setting, the problem is to find a forecast horizon for a planning horizon p > 0, and to implement the optimal policy to the end of period p. See Lundin and Morton [7] for a further discussion on planning and forecast horizons, and Bean, Smith, and Yano [3] for other related references. (Conditions for the existence of planning horizons are given in Bean and Smith [2]). In practice, forecast data is available for a finite number of future periods T. Solving the problem for this horizon may yield a first decision that is not optimal in the long run. (Error bounds for the DLSP have been established by Lee and Denardo [6].) On the other hand, it may happen that a horizon much smaller than T is sufficient to find the first decision being optimal in the long run. What is needed is an efficient procedure that reveals a planning horizon if it can be found using the data at hand, and at the same time uses less data, if that is possible. If f is a forecast horizon for the planning horizon p, then n 2 f is also a forecast horizon for p. A forward algorithm that is guaranteed to disclose a planning horizon using data just up to the minimum forecast horizon is called perfect. A perfect procedure for the DLSP without speculation has been given by Chand and Morton [4]. Bean, Smith, and Yano [3] consider the existence of Naval Research Logistics, Vol. 39, pp. 651-668 (1992) Copyright 0 1992 by John Wiley & Sons, Inc. CCC 0894-069X/92/050651-18$04.00

A perfect lot-tree procedure for the discounted dynamic lot-size problem with speculation

Embed Size (px)

Citation preview

A Perfect Lot-Tree Procedure for the Discounted Dynamic Lot-Size Problem with Speculation

Michael Bastian Rheinisch- Wesfalische Technische Hochschule, Aachen, Germany

This article considers the dynamic lot-size problem under discounting, allowing a speculative motive for holding inventory. A forward procedure is developed that determines the first lot-size decision in a rolling horizon environment by using forecast data of the minimum possible number of future periods. 6 1992 John Wiley & Sons, Inc.

1. INTRODUCTION

Recent research on the dynamic lot-size problem (DLSP) has focused on procedures that provide an optimal or near-optimal decision for the initial period by using forecast data of only a small number of future periods. To state the problem more precisely, some terminology has to be introduced.

A regeneration point is a period with an ending inventory of zero. If there exist periodsp and f 2 p with the property that for each n 1 f , p is a regeneration point of a policy that minimizes total cost over periods 1 to n , then p is called aplanning horizon, and f is a forecast horizon for p . In this setting, the problem is to find a forecast horizon for a planning horizon p > 0, and to implement the optimal policy to the end of period p . See Lundin and Morton [7] for a further discussion on planning and forecast horizons, and Bean, Smith, and Yano [3] for other related references. (Conditions for the existence of planning horizons are given in Bean and Smith [2]).

In practice, forecast data is available for a finite number of future periods T . Solving the problem for this horizon may yield a first decision that is not optimal in the long run. (Error bounds for the DLSP have been established by Lee and Denardo [6].) On the other hand, it may happen that a horizon much smaller than T is sufficient to find the first decision being optimal in the long run. What is needed is an efficient procedure that reveals a planning horizon if it can be found using the data at hand, and at the same time uses less data, if that is possible.

If f is a forecast horizon for the planning horizon p , then n 2 f is also a forecast horizon for p . A forward algorithm that is guaranteed to disclose a planning horizon using data just up to the minimum forecast horizon is called perfect. A perfect procedure for the DLSP without speculation has been given by Chand and Morton [4]. Bean, Smith, and Yano [3] consider the existence of

Naval Research Logistics, Vol. 39, pp. 651-668 (1992) Copyright 0 1992 by John Wiley & Sons, Inc. CCC 0894-069X/92/050651-18$04.00

652 Naval Research Logistics, Vol. 39 (1992)

forecast horizons for a more general model. They embed the algorithm of Eppen, Gould, and Pashigian [5] to obtain forecast horizons; however, their procedures are not perfect.

For the DLSP with a stationary cost structure, lot trees have been introduced as a unifying view on different forward procedures and as an efficient data structure for a perfect implementation [l]. This article develops a perfect lot- tree algorithm for the model of Bean, Smith, and Yano [ 3 ] .

2. PROBLEM DESCRIPTION AND OUTLINE OF A ROLLING-HORIZON SOLUTION

Forward procedures iteratively solve a sequence of finite-horizon problems. For a fixed horizon T the following discounted DSLP is formulated in [3]:

T

DLSP(T): minimize ar-'(AryI + pdr + ah,Z,), r=1

s.t. 1, = Z,-' + qr - d,, Vt,

1, 2 0, Vt,

Here I , , q,, and yI are decision variables: I , = inventory at the end of period t, qr = production quantity in period t, and y, = 1 if qr > 0 and 0 otherwise. The given parameters are d, = demand in period t, h, = holding cost per unit charged on inventory at the end of period t, A, = setup cost in period t, pr = variable unit production cost in period t, a = one-period discount factor (0 < a I l), and M = a large number.

It is assumed that there are no production- or storage-capacity constraints (i.e., M is large enough). Under this condition, it is well known [9] that there is an optimal solution satisfying qr - Vt, and we shall confine our- selves to this type of policy in the remainder of this article.

To simplify notation we redefine A,: = &'A,, p,: = d-lp,, h,: = dh,, and use

= 0,

T

minimize 2 [Ary, + p 4 , + hrZr] r = 1

as the objective function of DLSP( T) in what follows.

Bastian: Dynamic Lot-Sizing with Speculation 653

For a fixed horizon T, DLSP( T) is easily solved using a recursion in analogy to the Wagner-Whitin algorithm [8]. Let r 2 1 be the first period with a positive demand d,, and define K , to be the optimal objective value of problem DLSP(r):

K , = O , V t = 1 , 2 , . . . , r - 1.

For t 2 r , each feasible policy of DLSP(t) has at least one setup, and one obtains

I I

K,,-I + A,, + p,, c d, + c dj + hi I = , , / = , , + I I = @

This formula reflects the fact that the optimal policy of DLSP(t) has a last setup in some period p 5 t , and total cost is the sum of K,,-l and the discounted cost of the last production cycle. Production in period 1-1 covers demands of periods p to t ; hence

are the production costs of period p. The demand of periods j 2 p + 1 has to be stored during periods p to j - 1. (All costs are discounted to the beginning of period 1.)

Let T,( T) denote the optimal production quantity in period t for the T-period problem DLSP( T). In a rolling-horizon environment one solves DLSP( T ) for increasing values of T until a forecast horizon T* is identified such that .rr,(T*) = .rr,(m) = n:, where n; is the infinite-horizon optimal policy for per- iod 1.

Under the replarity conditions that Iimt-% sup d, > 0 and that there exist bounds h > 0, A < =, p < 00 such that h, > h, A, 5 2. p , 4 p , Vt, all candidate lot sizes are finite (cf. [ 3 ] ) , and for T large enough (say. T 2 T), there exists a set C(T) of candidate periods t , 2 5 t 5 T, Vt E C ( T ) , with the property that each infinite-horizon optimal policy asks for a setup in at least one of the periods in C(T). If .rrl(t) = is the same for all t in C ( T ) , then T is a forecast horizon for the planning horizon given by the last period, the demand of which is covered by nt.

In the algorithm suggested by Bean, Smith, and Yano, C( T ) is a time window consisting of consecutive periods. This set, however, may be unnecessarily large. In the next section, we provide some dominating properties that may be used to shrink the set C(T). A small set C ( T ) is important for finding a forecast horizon as soon as possible. Otherwise, it may happen that using the available data the procedure does not disclose a planning horizon, although it exists. In Section 4 we prove that forward procedures based on these dominating properties

654 Naval Research Logistics, Vol. 39 (1992)

are perfect, and Section 5 describes an efficient implementation. A numerical example illustrates the application of this lot-tree algorithm in Section 6. The last section compares the computational effort of the new algorithm to the one of Bean, Smith, and Yano [3].

3. DOMINATING PROPERTIES Suppose, in iteration /3 2 T we have solved DLSP(0) and C(p) is the current

set of candidate periods. If n1(j) is the same for all j in C(p) then we are done. Otherwise, C(p + 1) will be obtained from C(p) by adding period P + 1 and eliminating elements that are inactive. An element j of C(p + 1) is called inactive if for all t 2 p + 1 there is an optimal solution to DLSP(t) such that j is not a production period.

For computational reasons we store for each candidate j E C(p) the following values:

and P / i - l \

Vj(p) is the conditional minimum value of DLSP(P) given that the last setup is in period j . Hence, KP is just the minimum of the V j ( p ) values taken over all candidates in C(p):

Sj(p) and V,(p) are easily updated during iteration p + 1 using only data as- sociated with period p + 1:

Notice that the solution of DLSP(P + 1) is now almost trivial and reduces to finding the minimum of the values Vj(p + l), j E C(p + 1). The next theorem provides a first rule for the elimination of inactive periods.

THEOREM 1: If i and j are two candidates in C(p) satisfying Si (p ) I Sj(p) and V @ ) I V,(p), then j is inactive.

PROOF: If an optimal solution to DLSP(T), T 2 p, had a setup in period j , then there would exist a subpolicy for some horizon t, p I t I T, being an optimal solution to DLSP(t) and having a last setup in j.

Bastian: Dynamic Lot-Sizing with Speculation 65 5

There is an optimal solution to DLSP(p) that does not have a last setup in j, because K , 5 V,(p) 5 V,(p) . It remains to be shown that V,(t) I V,(t) holds for all f > p.

By (l), S , ( f ) - S,(p) = C6=B+I hk is a constant for all i 5 /3, and S,(p) 5 S,(@ implies S,( t ) 5 S , ( t ) , Vt 2 p. Hence

and, by induction, Vj( t ) 2 V,(t), Vt 2 P.

COROLLARY: Using Theorem 1 the set of candidates C(p) may be reduced to satisfy ( i ) S,(p) f S,(p), and (ii) S,(p) < S,(p) 3 V , ( P ) > V,(P) for all i # j , i, j E C(P).

The application of this corollary is as follows: The elements of C(p) are arranged in a linear list, the order of which is defined by increasing values of S,(p) (as defined by (1)). Notice that this order does not change during subse- quent iterations.

In iteration P + 1 the new candidate period p + 1 is placed into its correct position, V,(p) is updated to V,(p + l), Vj E C(p) , and if the values V,(p + 1) are not decreasing, the corresponding inactive nodes are eliminated from

Assume that C(P) has already been reduced using Theorem 1. For two can- C(P + 1).

didates u and u satisfying s,(@ < s,@), define

The next lemma shows how this ratio changes in subsequent iterations.

LEMMA 1: Let f > p 2 max{u, u } and S,(P) < S,,(p). Then

PROOF:

by (4). Noticing from (1) that Sl,( j) - SL,( j ) is a constant for all j 2 p and dividing the equality by this constant yields the desired result.

656 Naval Research Logistics, Vol. 39 (1992)

If C(p) consists of at least three elements, there is still another criterion that may serve to identify inactive nodes. Theorem 2 provides a criterion-based on the ratios Rgto further reduce the number of candidates.

THEOREM 2: Let u, u, w be three elements of C(p) satisfying S,(p) < S,(p) < Su(p). If R,(w, u) I R,(u, u), then u is inactive.

PROOF: It has to be shown that for each horizon T 2 p there is an optimal solution to DLSP( T) having no setup in u. By the same argument used in the proof of Theorem 1 it is sufficient to show that for each t 2 p there is an optimal policy that does not have a last setup in u.

If Zj=,+, di < R,(u, u) , then R,(u, u) > 0 by Lemma 1. But this implies V,,(t) > VU(t) and K , # V,(t). Hence, u is not the last setup period in a solution to DLSP(t).

If, on the other hand, Zj=,+, dj 2 R,(u, u), then

~0 > 2 dj 2 R,(w, u), j = p + I

and Lemma 1 implies V J t ) I V,(t). As S,(p) < S,(p), node u is removed from C(t ) (or even earlier) using Theorem 1, and again u is not a last setup period for the horizon t.

Hence, after having applied Theorems 1 and 2, the list of candidates in C(p) is ordered by strictly decreasing ratios R,, and all of these ratios are positive because the Vj values are decreasing as well.

Consider now algorithmic aspects. Assume that during iteration /3 Theorems 1 and 2 have been applied, and iteration p + 1 has been performed using just Theorem 1 so far. What kind of additional information concerning inactive periods can we expect from the application of Theorem 2? The ratios R,+ , (u , u) have the same order as the ratios R,(u, u) due to Lemma 1. However, some nodes of C(p) may have been dropped in C(p + l), and at most one additional node p + 1 was inserted.

LEMMA 2: Let u, u , w be three candidate periods satisfying S,(t) 5 S,(t) I S,( t ) and R,(w, u ) > R,(u, u) . Then R,(w, u ) 2 R,(w, u) 2 R,(u, u).

PROOF: Notice that R,(u, u ) < implies S,( t ) < S,(t). Assume first R,(w, u) > R,(w, u ) > R,(u, u), and drop the index t to simplify notation.

a contradiction.

Bastian: Dynamic Lot-Sizing with Speculation 657

Using an analogous argument, one shows that the assumption R,(w. u ) > R,(u. u ) > R,(w, u ) leads to the same contradiction. Hence. R,(w. u ) 2 R,(W u ) 2 R,(L u ) .

Given a list C(t) with decreasing ratios R,, Lemma 2 guarantees that if a period is dropped from this list. the ratios remain ordered. Thus, the only possibility for Theorem 2 to apply is when one of the periods involved is the new candidate t . In this case, t itself may turn out to be inactive, or t remains in C(t) but one or more of its neighbors may be eliminated until all ratios are ordered again.

4. PROOF OF PERFECTNESS

In this section it will be shown that the solution approach outlined in the previous section is perfect in the sense of Lundin and Morton [7] for almost all values of a in (0, 11. We restrict a to those values that guarantee a unique solution to DLSP(t) for all periods t > 0.

NONDEGENERACY ASSUMPTION: The implication K , = V,(t) =

V,(t) .$ i = j holds for all periods t > 0.

As a consequence of this nondegeneracy assumption the optimal policy of DLSP(t) is unique for all t 2 1 . In this situation it is obvious that a forward procedure is perfect if no element of the sets C ( t ) of candidate periods is dis- pensable; i.e.. for each period j that remains in C(t ) there is a completion of the data sequence (beyond period t ) that asks for a setup in period J in the long- run optimal policy.

THEOREM 3: Assume a is chosen to satisfy the nondegeneracy assumption. and let C(P) = { J k . J A . ,, . . . . j , } be the set of candidate periods after iteration j3. where

and

R J J f , , . J f ) > Rfi( j , , j , I ) > 0, Vi = 2 . 3 , . . . , k - 1. (8)

For each J E C(P) there is a completion of the data sequence after period /3 such that J is a setup period in the long-run optimal policy.

PROOF: The order we have defined for nodes in C(P) is given by (6): j k is the first node and j , is the last one in the list of candidates. Equation (7) is guaranteed after the application of Theorem 1. and (8) holds if in addition Theorem 2 was applied. K , = V,,(P) by (3) and (7).

658 Naval Research Logistics, Vol. 39 (1992)

Choosing

and

because by (7) and ( l l ) ,

Vp+l(P + 1) - Vj,(P + 1 ) = [Rp(jk, j k - 1 ) - idp+IISjk(P) > 0,

for dp+1 < 2Rp(jk, j k - l h

and for dp+l small enough the order of V,(P + 1) is the same as the order of

We may assume k 2 2, because otherwise jl was the only period in C(P), and necessarily a setup period in any infinite-horizon optimal policy. Consider c E (2, . . . , k}. If dp+l is chosen to be larger than Rp(jc, j C - J , then by (8)

VdP). Vi E C(P).

3 Vj,(P + 1 ) < V,,.i(P + 11, Vi = 2,3,. . . , c .

By an analogous argument one shows that if d,,, is smaller than Rp(jrr j r - J then Vj,-,(P + 1 ) < V,(P + l ) , Vi = c, c + 1 , . . . , k .

Bastian: Dynamic Lot-Sizing with Speculation 659

Putting these results together, we obtain certain open intervals of demand values of period p + 1 for which K,,, is computed in a different way:

V c = 2 , . . . , k - 1,

So far, we have seen that depending on the data of period p + 1, each period in C(p) may be a production period in an optimal solution of DLSP(P + 1). On the other hand, /3 + 1 may be forced to be a planning horizon by choosing the data of period p + 2 appropriately:

Let S, : = min{Sj(P + 1) I j E C(p + I)} and choose pp+2 smaller than S,. Then by (1) and ( 5 ) ,

and /3 + 2 becomes the first element in the list of candidate periods. Furthermore, by ( 2 ) and (4)

and

V j ( p + 2) = Vj(p + 1) + Sj(p + l )dp+? , Vj E C(p + 1).

Choosing dp+2 large enough ensures V,@ + 2 ) > Va+2(P + 2), Vj E C(p + l), and due to Theorem 1 all nodes in C(p + 1) become inactive. Thus, C(p + 2 ) reduces to node p + 2 , /3 + 2 is a production period, and 0 + 1 a planning horizon. W

Theorem 3 ensures that if nl(i) # rl(j) for some i and j in C(p), then p is not a forecast horizon, because data for periods t > p may still influence the first decision. Or, to put it the other way around, the procedure determines the minimal forecast horizon.

Concerning computational aspects, we have already shown how to update C(P + 1) from C(p) and how to obtain the optimal objective value K, of DLSP(p) without solving the problem from scratch but rather using some mod- erate amount of information saved from the previous iteration. In order to check whether the stopping rule is satisfied or not, one should in addition be able to keep track of the optimal policies associated with the problems DLSP(P). An elegant way to do this is to use a lot tree, a data structure that has already been introduced in [l] for a simpler model.

660 Naval Research Logistics, Vol. 39 (1992)

5. A PERFECT LOT-TREE PROCEDURE

A lot tree for the model under consideration is a tree structure with the following properties:

node 0 is an artificial node representing the root of the tree each node f 2 1 of the tree represents a possible setup period t and holds the value K,-, (KO := 0), if node f is an offspring of node 0, then a first setup may be in period r if node t is an offspring of node p 2 1, then there is an optimal solution to DLSP(r - 1) that has its last setup in period p; i .e.,

j = p \ i = p /

Following any path in a lot tree from an offspring of the root to some node t yields a list of setup periods that corresponds to an optimal policy given that t is a setup period. The lot tree is generated during the computations of the recursive algorithm. In each iteration a new node ? is generated, and if it turns out that p is the last setup period in an optimal policy for DSLP(t - 1); i.e., V,(t - 1) 5 Vi(t - l), Vi E C(t - l), then node ? is connected to node p.

So far, a lot tree has been introduced as a growing data structure to save optimal policies for different horizons. However, as we are only interested in long-run optimal policies, the tree may also be pruned. Suppose C(p) does not contain period i. Then it is clear that there is no infinite-horizon optimal policy having a setup in period i and i may be labeled as inactive. If i is a leaf, it may even be eliminated from the tree without losing any valuable information. This elimination of inactive leaves may be performed recursively if the parent of a deleted node also becomes an inactive leaf. Under some modest regularity con- ditions (cf. [2]) pruning will eventually lead to the identification of a planning horizon: As soon as all paths from the root to the leaves in C(p) agree in their first part (i.e., the tree has a stem), a subpolicy is determined that is part of all policies that are still relevant.

A special situation is reached when node 1 becomes an inactive leaf. (This may only happen if dl = 0). In this case, 1 is not a production period, 7rT = 0, and we are done.

Otherwise, node 1 remains as an offspring of the root and we keep on going until all offspring of the root have been generated (i.e., p 2 r ) , and pruning results in the root having just one offspring sl. This offspring, of course, must be s1 = 1 and the first setup is determined to be in period 1. Eventually, when s1 becomes inactive and has just one offspring s2, we know that all relevant policies use the branch from s1 to s2; i.e., the demands of periods 1 to s2 - 1 are produced in period 1 (s2 - 1 is a planning horizon). The only reason to continue would be to obtain a longer optimal subpolicy.

We have implemented lot trees in PASCAL, however, any language that supports pointer variables is appropriate. In order to update the tree efficiently, two pointer structures are maintained: the tree itself and a pointered list CN of candidates embedded into the tree. Again, let /3 be the last node that has been

Bastian: Dynamic Lot-Sizing with Speculation 66 1

r

inserted into the tree. CN contains the elements of C(p) ordered by increasing values of S,(p) . Each node t is represented by a record of eight fields:

K,-l V,(p) S,(p) NOS, DAD, NCN, PCN,

The first four fields are known from the previous discussion. NCN, and PCN, are pointers to the next and the previous node in CN. They support passing through the list of candidates. (PCN, is only helpful when Theorem 2 is applied.) The tree structure is used for pruning, which is done from the leaves down to the root. Therefore, an inverted tree structure is implemented: DAD, is a pointer to the parent of node t . NOS, is an integer that holds the number of offsprings of node f . If t becomes inactive it is deleted in CN, and if NOS, = 0, then it is also eliminated from the tree by using DAD, to identify its parent s and setting NOS, := NOS, - 1.

In addition, the following pointers are stored:

CNP ROOT

PAR

points to the first element of CN points to the artificial root node 0 as long as NOS,, > I . When NOS,, = 1 and the algorithm has not yet terminated (s, = I ) , then ROOT points to the only offspring s, = 1 of 0 which is the first production period. As soon as NOS, =

1 the procedure may be terminated: The only son s? of s I is found by tracing the path from any node in CN down to s I and rr; is the sum of the demands of periods s, to s2 - 1. points to the last element of CN. Notice that PAR also identifies the father p of the next node to be inserted: After iteration 0. VJp) is the smallest of the values V , ( p ) and K , = V,(p). But if p + 1 is a production period, then the optimal history is given by the solution of DLSP(p).

One little detail should be discussed concerning the recursive deletion of inactive leaves. Notice that our definition of a node does not contain an indicator of whether the node is inactive or not. The next lemma shows that this does not cause any problems, because the only situation when the parent u of a node t may still be in C(p) is when u is the last element of CN (easily identified by PAR). To prove this, remember that when tenters CN. u is the last element of this list. It remains to be shown that u holds this position until it leaves CN.

LEMMA 3: No node t is ever inserted as the last node (i.e., after its parent p) in CN.

PROOF: Assume the contrary; i.e., t is inserted after node p in CN. Then

S,(t - 1) < S,(t - 1) and V,(r) < Vp(r).

On the other hand. V,,(r) = V,(t - 1) + S,(t - 1) d, by (4), and K , - , = V,(t - 1 ) as t is an offspring of p.

From (2) and (1) one obtains

V,(t) = K , _ l + A, + p,d, = V,(t - 1)+ A, + S,(t - 1) d,

Hence, V,(t) - V,(t) = A, + [S,(t - 1) - S,(t - l ) ] d, 2 0, a contradic- tion. I

662 Naval Research Logistics, Vol. 39 (1992)

4 A, Pr

The input file is assumed to consist of quintuples:

0 0 180 0 100 50 0 100 100 200 100 150 100 200 2 1.5 2 4 2 3 2

( t , 4, A,, p r , h,), for t = 1, 2, . . . .

If r is the first period with positive demand, we initialize by generating the root and all of its r offsprings. Pruning using Theorem 1 reveals the parent p of the next node t > r.

In general, iteration t consists of reading the data of period t and performing one pass through the list CN that updates Vj(t - 1) and Sj(t - 1) to Vj(t) and Sj( t ) , prunes the tree if the y(t) values are not decreasing, finds the position of node tin CN, and generates the new node if it is not inactive. After that, Theorem 2 is applied to prune the neighborhood off in CN. Of course, CN is also modified in order to reflect these changes. As the last node that remains in CN has the smallest Vj(t) value, it is the parent of node t + 1, and p is changed accordingly. At the end of iteration t, it is checked whether a planning horizon is found and the procedure may be terminated.

In case of a zero-demand period t (d, = 0) the iteration simplifies considerably, because Vj(t) = V,(t - 1) for all active nodes j , no node may be eliminated from CN.

6. NUMERICAL EXAMPLE

To illustrate the application of the algorithm, consider the following example, where (Y : = 1 and data for seven periods are given:

t I 1 2 3 4 5 6 7

To get started, we generate the root and all of its offspring. These are nodes 1, 2, and 3, because 3 is the first period with positive demand, and the first setup cannot be in a later period.

V3(3) = A3 + p3d3 = 560,

Bastian: Dynamic Lot-Sizing with Speculation 663

+

Now the root 0 is inactive. The order of nodes 1, 2, and 3 in CN is determined by increasing values S,(3) . As S 4 3 ) < S 2 ( 3 ) < S,(3) , without pruning the structure of the list CN would be as follows:

CNP 3 0 5 6 0 3 0 0 7 NIL

l + I

2 0 550 3.5 0 0 NIL 1

However, as node 2 precedes node 1 and V,(3) > V2(3), Theorem 1 identifies node 1 as being inactive. Node 1 is dropped from CN and NOS,, is set to 2.

The current lot tree is represented in the following. V,, S,, NCN,, and PCN, are only used for nodes in CN; therefore, these fields are crossed for inactive nodes.

p = 2, the last node in CN, is the parent of the next node. As node 1 has become an inactive leaf, .r; = 0, and we could terminate. Suppose, however, that we are interested in the first production cycle.

t = 4 , p = 2

The data of period 4 are read from the input file and the following operations are performed:

V4(4) = V,(3) + A4 + pid4 = 650,

V3(4) = V3(3) = 560,

V2(4) = VZ(3) = 550,

S4(4) = pj + h4 = 5.

Forj = 2, 3, S,(3) has to be incremented by h4

3 S,(4) = 4 , S2(4) = 4.5.

664 Naval Research Logistics, Vol. 39 (1992)

If node 4 were to be inserted into CN, its position would be at the end of this list, because &(4) > S2(4). Since V44) is larger than V2(4), however, node 4 is inactive and not included. p = 2 re:mains the parent of the next node.

t = 5, p = 2

V5(5) = V,(4) + A5 + p5d5 = 900,

V3(5) = V3(4) + S3(4)d5 = 960,

S5(5) = p5 + h5 = 3 ,

S3(5) = 5 , &(5) = 5.5.

Now, node 5 becomes an offspring of node p = 2, and the first node of CN (S5(5) < S3(5)). Nodes 3 and 2 are identified to be inactive due to Theorem 1. Node 3 , being an inactive leaf, is eliminated from the tree, p is set to 5 , and the following situation is reached:

ROOT

t

f

The procedure may be terminated. 'The first setup is in period 2 and covers the demand of periods 2-4 (in fact, just the demand of period 3, because d2 = d4 = 0). The next setup will be in period 5 .

7. COMPUTATIONAL COMPARISONS AND CONCLUSIONS

We have presented a lot-tree algorithm for the discounted dynamic lot-size problem with time-varying cost parameters. For all but a countable number of values of the discount factor (Y the procedure is guaranteed to disclose a planning horizon if it exists for the given forecast horizon. Otherwise, a set of subpolicies is determined, each of which may be part of a long-run optimal policy depending on future demand data.

A comparison in terms of computational complexity between the lot-tree procedure and the algorithm suggested by Bean, Smith, and Yano [3] is straight- forward, because part of the computations are easily related to each other. For

Bastian: Dynamic Lot-Sizing with Speculation 665

t = 1, 2, . . . up to a forecast horizon f , both approaches compute the cost of the longest possible production cycle having its setup in period t . In the lot-tree procedure this is performed by updating the values V, for the nodes in C(p) until t becomes inactive. Bean, Smith, and Yano do not have such an embedded stopping rule, but rather increment the cycle length until it is cheaper to split into two production cycles. The effort needed to compute the costs of these subcycles surely is not smaller than pruning the tree using Theorems 1 and 2. After pruning in iteration P, the solution of DLSP(P) is already at hand in the lot-tree procedure: The cost value V,,(p) is stored in node p. identified by P A R , and the policy is given by tracing the path from PAR down to the root. Re- member, however, that this tracing has only to be performed once at the end of the algorithm in order to find the optimal length of the first production cycle. If the only question is whether 7: is already known or not, it suffices to check the number of offspring of the root using the pointer ROOT. In contrast, this task takes considerable effort in the algorithm of Bean, Smith, and Yano. After C(P) is determined it calls a subroutine that solves the finite-horizon problems DLSP(1') for all i E C(P) and compares the values ~ , ( i ) . This additional effort is saved in the lot-tree procedure.

The pruning done in the lot-tree procedure yields smaller sets C(P) as com- pared to the algorithm of Bean, Smith, and Yano. This reduces the computational effort in subsequent iterations and may sometimes-depending on the length of the data sequence at hand-reveal planning horizons that are not found if a nonperfect solution approach is used.

Consider the following example, where a = 0.84 and the (still undiscounted) cost values are

pi = 1 + 0.2t, A, = 120, h, = 1, Vt .

Let the demand be given for 17 periods:

( 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

d , 1 2 3 1 3 7 4 3 5 4 3 6 5 6 1 3 2 5

The sets C(P) computed by the lot-tree procedure (LT) and the algorithm of Bean. Smith, and Yano (BSY) are:

P x 9

10 11 12 13 14 15 16 17

( 5 . 6, 7, 8) {5,6,7, 8 ,9) (7. 8, 9, 10) {8, 9, 10, 11) (8.9, 11, 12) (8, 12, 13)

{2, 3. 4. 5 , 6, 7 , 8) (2. 3. 4, 5 , 6. 7. 8, Y} (3 , 4, 5 , 6, 7, 8. 9, 10) { S , 6, 7, 8, 9, 10, 11) (6, 7, 8, 9, 10, 11, 12) (8, 9, 10. 11, 12. 13) (8, 9, 10, 11. 12. 13. 14) (9, 10, 11. 12, 13. 14, IS) (9, 10, 11. 12, 13, 14, 15. 16} (10. 11. 12. 13. 14. IS, 16, 17)

666 Naval Research Logistics, Vol. 39 (1992)

After iteration p = 13 the lot-tree algorithm has determined the first decision. Even using the data up to period 17, the algorithm of Bean, Smith, and Yano does not find a planning horizon. The reason is easily understood by considering the update of the lot tree. After the insertion of node 13 (but before pruning), it looks like this (inactive nodes are drawn with bold borders):

Notice that the leaves 9, 11, 12, and 13 are possible production periods, and ~ ~ ( 8 ) # ~ ~ ( 1 0 ) # ~ ~ ( 1 1 ) . Hence, after iteration 12 it was not decidable whether the second setup will be in period 7, 8, or 9. But in iteration 13 nodes 9 and 11 become inactive. This changes the tree to

0 which indicates that it is optimal to have a first production in period 1, and the second setup in period 8.

In the algorithm of Bean, Smith, and Yano, period 11 (and also period 10 as an offspring of node 5) remains in C(p) even for p = 17. Therefore it does not detect a planning horizon using the given data sequence.

The difference of the length of the data sequences needed in the lot-tree algorithm and the procedure suggested by Bean, Smith, and Yano is bounded above by the length of the largest production cycle: Suppose f is the minimum forecast horizon detected by the lot-tree algorithm, m,(f - 1) # m,(f), and f - 1 is still in the set C(f) used by BSY.

In each iteration t > f , .rrl(t) = ml(f), and as soon as f - 1 leaves C(t), BSY has also reached a forecast horizon. Hence, the larger the production cycles are, the bigger is the difference in forecast horizons that may be expected.

To check whether half a cycle length would be a good guess, we have solved 20 test problems with an average cycle length of 20 on a 20-MHz PC-386. We put a = h, = 1, A , = 1000 + r l , p , = 10 + r2, d, = r3, Vt, where r lr r2, and

Bastian: Dynamic Lot-Sizing with Speculation 667

r3 were uniformly distributed random numbers from the intervals [O, 20001, [0, lo], and [0, 201, respectively. Each problem input contained data for 200 periods. These data sets were used with three algorithms:

1.

2.

3 .

It can

The lot-tree algorithm, which determined the size of the first lot (in numbers of periods) and the minimum forecast horizon (columns 2 and 3 of Table 1; column 4 contains the computation times). A modification of 1, which generated the tree up to node 200. Columns 5-7 of Table 1 contain the number of lots that were determined to be part of the long-run optimal policy (cycles), the largest planning horizon (LPH) for the forecast horizon 200, and total computation time. The Bean, Smith, and Yano algorithm using the lot-tree approach to solve the finite- horizon subproblems (the forecast horizon determined by this algorithm as well as the computation times are contained in columns 8 and 9 of Table 1) .

be seen from Table 1 that lot tree uses between 0.03 and 0.22 sec to determine the size of the first lot. The minimum forecast horizon is between 4 and 27 periods smaller than the forecast horizon needed by the BSY algorithm; on the average the difference is 12.75 periods, i.e., even larger than half the average cycle length. When lot tree was run to generate all nodes up to period 200 it never used more than 0.4 sec to come up with an optimal subpolicy that consisted of about seven-cycles and reached to period 146 on the average.

Obviously, computation time for lot tree is not prohibitive, and it makes better use of the given data. This is particularly true in the case we have not discussed yet, where the data sequence at hand is not long enough to determine a first decision: In that case the result is a set of subpolicies that may be viewed as a

Table 1. Forecast and planning horizons for 20 test problems with a natural cycle length of 20.

Bean, Smith, and Yano Lot tree (until MinFH and f = 200)

P# 1 lot MinFH sec Cycles LPH sec FH sec 1 17 2 12 3 10 4 19 5 8 6 19 7 21 8 16 9 17

10 14 11 12 12 27 13 27 14 23 15 27 16 15 17 20 18 21 19 22 20 5

62 0.09 74 0.13 50 0.10 42 0.06 53 0.10 56 0.09 73 0.12 44 0.06 48 0.06 39 0.06 42 0.06 36 0.03

124 0.22 49 0.10 53 0.09 37 0.03 61 0.10

101 0.15 141 0.22 77 0.12

9 9 8 6 9 8 8 7 6 8 7 6 3 7 6 6 8 7 6 8

167 0.35 66 2.43 163 0.34 84 3.78 150 0.35 68 2.56 117 0.38 52 1 .50 163 0.32 68 2.84 170 0.31 77 3.38 167 0.35 86 4.28 147 0.34 49 1.47 124 0.34 55 1.81 151 0.40 53 1.72 169 0.34 69 2.47 133 0.32 62 1.94 71 0.34 138 9.85

162 0.34 56 1.84 123 0.35 60 1.84 124 0.37 50 1.41 157 0.32 72 2.66 146 0.38 117 6.87 141 0.34 149 11.12 171 0.37 86 3.81

668 Naval Research Logistics, Vol. 39 (1992)

tree where all leaves are in the set C(p). One may choose among these paths by a heuristic criterion (e.g., minimum cost per period), and implement the first decision. Due to the rules of pruning, C(p) is much smaller in the lot-tree algorithm, and the probability of picking a decision that is not optimal in the long run is also smaller. (In the set of test problems considered in Table 1, a typical size of C(p) in the lot-tree algorithm is five to six elements, as compared to the average cycle length of 20 that determines the size of C(p) in the BSY algorithm.)

REFERENCES

[l] Bastian, M., “LOT-Trees: A Unifying View and Efficient Implementation of Forward Procedures for the Dynamic Lot-Size Problem,” Computers and Operations Research,

[2] Bean, J.C., and Smith, R.L., “Conditions for the Existence of Planning Horizons,” Mathematics of Operations Research, 9, 391-401, 1984.

[3] Bean, J.C., Smith, R.L., and Yano, C.A., “Forecast Horizons for the Discounted Dynamic Lot-Size Problem Allowing Speculative Motive, Naval Research Logistics, Quarterly, 34, 761-774 (1987).

[4] Chand, S., and Morton, T.E., “Minimal Forecast Horizon Procedures for Dynamic Lot Size Models,” Naval Research Logistics Quarterly, 33, 111-122, 1986.

[5] Eppen, G.D., Gould, F.J., and Pashigian, B.P., “Extensions of the Planning Horizon Theorem in the Dynamic Lot Size Model,” Management Science, 15,268-277,1969.

[6] Lee, C.-Y., and Denardo, E.V., “Rolling Planning Horizons: Error Bounds for the Dynamic Lot Size Model,” Mathematics of Operations Research, 11, 423-432, 1986.

[7] Lundin, R.A., and Morton, T.E., “Planning Horizons for the Dynamic Lot Size Model: Zabel vs. Protective Procedures and Computational Results,” Operations Research, 23, 711-734, 1975.

[8] Wagner, H.M., and Whitin, Th., “Dynamic Version of the Economic Lot Size Model,” Management Science, 5, 89-96, 1958.

[9] Zangwill, W.I., “A Backlogging Model and a Multi-Echelon Model of a Dynamic Economic Lot Size Production System-A Network Approach,” Management Sci- ence, 15, 506-527 (1969).

17, 255-263, 1990.

Manuscript received October, 1989 Revised manuscript received October, 1991 Accepted January 27, 1992