You are on page 1of 34

CORE DISCUSSION PAPER 98XX

LOT-SIZING PROBLEMS: MODELLING ISSUES AND A SPECIALIZED BRANCH-AND-CUT SYSTEM BC ? PROD


Gaetan Belvaux1 , and Laurence A.Wolsey2
September 1998

bc-prod is a prototype modelling and optimization system designed and able to tackle a wide variety of the discrete-time lot-sizing problems arising both in practice and in the literature. To use bc ? prod, the user needs to formulate his/her problem as a mixed integer program using XPRESS-MP's mp ? model, a standard mathematical programming modelling language taking into account a reserved set of key-words for speci c lotsizing objects, such as production variables, storage and demand data, etc. The problem is then solved by the XPRESS-MP branch-and-bound system including lot-sizing speci c preprocessing, cutting planes for di erent aspects of lot-sizing problems, plus general cutting planes, and a lot-sizing speci c primal heuristic. Results are presented for a wide variety of big bucket and small bucket models with set-up and start-up costs and times. Keywords: lot-sizing, production planning, integer programming, modelling system, branch-and-cut

Abstract

Both authors have been nanced in part by ESPRIT project 20118: Model Enhanced Solution Methods for Integer Programming Software (MEMIPS). This text presents research results of the Belgian Program on Interuniversity Poles of Attraction initiated by the Belgian State, Prime Minister's O ce, Science Policy Programming. The scienti c responsability is assumed by the authors.

1 CORE, Universite Catholique de Louvain. Email: belvaux@core.ucl.ac.be 2 CORE and INMA, Universite Catholique de Louvain. Email: wolsey@core.ucl.ac.be

1 Introduction
Though lot-sizing problems come in all shapes and sizes, they have certain common features, see the survey of Kuik et al. 22]. Here we describe a prototype optimization system bc ? prod specially designed to work on the common features of such models, while still allowing the model to contain the large variety of constraints and features encountered in practice. The system builds on the considerable amount of research on the polyhedral structure of lot-sizing models that has been carried out over the last fteen years, see 28] for a recent survey. In particular it incorporates a set of separation routines for single item capacitated lot-sizing models with start-ups from Constantino 10] as well as path separation routines from the system bc ? opt 11] able to treat models with varying capacities and backlogging. The general class of problems that bc ? prod works on can be described as multi-item, multi-machine, multi-level, multi-period capacitated lot-sizing, including both long and short time periods (big bucket and small bucket models) where set-up, start-up and cleaning costs and times are present. The system is built using EMOSL (the extended modelling and optimisation subroutine library) of XPRESS 37]. To solve a problem with bc ? prod, it su ces to formulate it in the modelling language of XPRESS in which a naming convention speci c to lot-sizing problems is imposed, and then bc ? prod develops an input matrix that is fed to the branch-and-cut system. bc ? prod then carries out some preprocessing of initial stocks and safety stocks, and also of multi-level problems so that its separation routines are as e ective as possible. It also can call a primal heuristic speci c to the problem class. The system has been used on several di erent classes of real and academic problems. For a large number of the problems tested in each class, it performs as well as or better than other algorithms built speci cally for one class of problems. The performance measure considered is a guarantee of optimality or closeness to optimality within a reasonable time. We now describe the contents of this paper. In Section 2 we classify various lot-sizing models, along with appropriate references to recent computational work on the models. In Section 3 we discuss ways to model certain features that we have encountered in practice, in particular the introduction of some exibility in the modelling of start-ups or switching-o (cleaning) in small bucket models. In Section 4 we indicate how a variety of inequalities for single-item lot-sizing can be successively generalized to include start-ups, backlogging, capacities and nally multiple machines. In 2

Section 5 we present bc ? prod, discuss the class of problems that it handles, give a brief overview of its special features, and of how to use it. In Section 6 we give a description of the test instances, described in detail in 4], and present computational results.

2 A Classi cation of Lot-Sizing Models


Lot-sizing problems are production planning problems in which the periods are xed a priori, and production of an item in a given period implies some discrete event such as payment of a xed cost or the loss of a xed amount of production capacity, due to placement of an order, or the set-up, startup, or changeover of a machine. Problems typically involve the satisfaction of demand for a number of items over a time horizon consisting of several periods. For simplicity in our classi cation we do not distinguish problems with backlogging, pro t maximization with production for sales rather than cost minimization with satisfaction of demand, bounds on stocks, or multiple machines. So the items are competing for production capacity on a single machine, and in addition there is a trade-o between many set-ups and small stocks, or infrequent set-ups and higher stocks. We rst make precise our terminology. A machine can only produce a given item in a period if it is set up to produce that item in the period. Common to all the models are the constraints:

sit?1 + xit = dit + sit for all i; t xit Cti yti for all i; t sit ; xit 0; yti 2 f0; 1g for all i; t

(1) (2) (3)

where xit is the production of item i in period t, sit is the stock of item i at the end of period t, and yti = 1 if the machine is set up for item i in period t, and yti = 0 otherwise. The constraints (1) are ow balance equations. The capacity constraints (2) indicate that production of i is zero if the machine is not set up, and that otherwise production in the period cannot exceed the capacity Cti of item i in period t. Constraints (3) impose the nonnegativity and integrality of the variables. Each of the variables also appears typically in the objective function representing the appropriate production, storage and set-up costs. A sequence of consecutive periods in which the machine is set up to produce an item may begin with a start-up for the item to indicate that 3

the machine must be got ready for production of that item, and terminate with a switch-o for the item perhaps indicating that the machine must be cleaned after nishing production of that item. A changeover occurs when switching from production of one item to another. The formulation of start-ups, switch-o s and changeovers is discussed later in this section

BIG BUCKET

P ax
i

BB Set-up costs ?
i i t

? ?

P a x +P b y
i i i t

BB-TT Set-up times

i i i t t

Lt

Lt @

BB-SEQ @ @ Sequence dependent changeover costs

SB-1P ? Single item ? SMALL BUCKET SB ? ? Start-ups ? i i i zt yt ? yt?1 A

Py
i

i i i ? xt = Ct yt ?

SB-1P-FC Full capacity

SB-1P-FC-SEQ Sequence Dependent

i t

1 A

A A A A

SB-2P Two items per period

A A A A SB-1P-VP A A Variable

Py
i

? ? Production i i xi Ct yt @ t @

SB-1P-VP-SEQ Sequence ? Dependent SB-1P-VP-ST Times

i t

@ Start-up @

Figure 1: Single Level Lot-Sizing Models We rst discuss single level production models, see Figure 1. The rst standard distinction is between \big bucket" models (BB) having long time periods in which several items can be set up and produced, and \small bucket" models (SB) with short time periods in order to be able to model start-ups, switch-o s and/or changeovers. The \small bucket" models are 4

then split further into those in which only one item can be set up per period (SB-1P), and those with possibly two set-ups per period (SB-2P). We now examine in further detail these classes. Such models typically involve one or more machine capacity constraints of the form:

2.1 Big Buckets - Single Level

Pi aitxit

Lt for all t

(4)

limiting the amount that can be produced in each period. The problem with constraints (1)-(4), called the multi-item lot-sizing problem, or the capacitated dynamic lot-sizing problem has received much attention in the literature. Most work is on uncapacitated problems in which Cti is very large. Exact approaches include those of Eppen and Martin 14] using tight formulations with additional variables, Thizy and van Wassenhove 32] using Lagrangian relaxation, Barany et al., 2] using strong cutting planes. Heuristic approaches abound, see among many others Dixon and Silver 13], and Maes and van Wassenhove 23]. Capacitated problems are treated by Pochet and Wolsey 26] again using strong cutting planes. This relatively easy academic problem becomes more di cult when there are set up times (BB-TT). Constraints (4) are now replaced by

Pi aitxit + Pi bityti

Lt for all t

(5)

where bit is the set-up time for item i in period t. This problem (1)-(3),(5) is tackled in Trigeiro et al. 33] and Diaby et al. 12]. Another important variant of this problem involves sequence dependent set-up costs (BB-SEQ). The objective function now contains additional terms of the form

P ;t Pi;j

ij i;j ;t

(6)

where ij is the changeover cost when passing from item i to item j , and ij;t is a variable taking value 1 when passing from production of item i in period to production of item j in period t (= or +1). A set of instances based on real applications are described in 8], and a solution approach based on sequence splitting and Lagrangian relaxation is presented in 19].

2.2 Small Buckets - Single Set-Up

Problems with at most a single set-up per period (SB-1P) have additional constraints

Pi yti

1 for all t

(7) (8) (9) (10)

and typically involve start-up variables with constraints

zti yti ? yti?1 for all i; t zti yti for all i; t zti 1 ? yti?1 for all i; t

where zti = 1 if item i is set up in period t but not in period t ? 1, and zti = 0 otherwise. This class of problems divides fairly naturally into two, depending on whether production has to be at full capacity or not. Full Capacity (SB-1P-FC) When production is at full capacity, we have the constraint

xit = Cti yti for all i; t

(11)

in place of constraint (2). These constraints can be used to eliminate xit from the model. In addition when Cti = C i for all t, it is possible to normalise the demand for item i to be 0 or 1. The resulting problem, known as the Discrete Lot-Sizing and Scheduling Problem, is solved in Fleischmann 15] using Lagrangian relaxation and dynamic programming, in Eppen and Martin 14] using additional variables, and by van Hoesel et al 35] using a strong LP formulation. Cattrysse et al 7] solve problems with set-up times using a dual ascent and column generation heuristic. A slightly di erent model in which it is still possible to produce nothing of item i even if the machine is set up, i.e. xit 2 f0; Cti yti g is treated in Magnanti and Vachani 24] using an extended formulation. A further important complication is the introduction of sequence dependent changeover costs (SB-1P-FC-SEQ). Fleischmann 16] tackles this problem by reducing it to a traveling salesman problem with time windows which is then solved by Lagrangian relaxation. Variable Production (SB-1P-VP) Model (1)-(3),(7)-(10) is tackled in Pochet and Wolsey 26] using strong cutting planes. Two further complications are start-up times and changeover costs. 6

Variable Production - Start-Up Times (SB-1P-VP-ST) With start-up times, the capacity constraints (2) are replaced by

xit Cti yti ? STtizti for all i; t:

(12)

The resulting model (1),(3),(7)-(10),(12) is studied in Constantino 10] using strong cutting planes and in Vanderbeck 34] using integer programming column generation. Variable Production - Changeovers (SB-1P-VP-SEQ) Karmarkar and Schrage 20] propose a path formulation for the modelling of changover variables. It is discussed further in Section 3. Their formulation plus additional variables was used in Wolsey 38].

2.3 Small Buckets { Two Set-Ups (SB-2P)

When only one item can be produced per period, the small bucket model lacks exibility unless the size of the periods becomes very small and the number of periods very large. More exibility is obtained by allowing up to two set-ups per period. Several such models have been developed by BASF, and studied in the cadre of an ESPRIT project 25]. Formulation of this model is discussed in Section 3, see also Wolsey 39].

2.4 Multi-Level Production (ML)

Most multi-level models in the literature are big bucket models. The product structure or bill of materials in such models is typically represented by a weighted acyclic directed graph D = (V; A) and weights rjAj, where (i; j ) 2 A implies that rij units of item (component) i are required to produce one unit of the successor (component) j . Items with no successors are end-products, and satisfy demand equations such as (1). Other intermediate products satisfy ow balance equations of the form

sit?1 + xit = Pj rij xj + sit for all t: t

(13)

The problem with constraints (2)-(3),(13) is NP -hard with general product structure. However when D has the form of an in-tree (assembly structure) its di culty is not known,and when D is a path (production in series) it is polynomially solvable. Afentakis and Gavish 1] treat uncapacitated problems with general product structure (ML-G) using Lagrangian relaxation where the subproblems are multi-level problems with assembly structure. For the multi-level model it is natural to add machine capacity constraints 7

(4) or (5) covering subsets of the items. Problems with a single constraint of the form (4) (ML-G-C) are treated using an echelon stock formulation and strong cutting planes by Pochet and Wolsey in 26], and problems with set-up times (ML-G-TT) are tackled heuristically using column generation by Cattrysse et al. in 6]. Very many other heuristics have been proposed for this problem and its variants, but all the test problems we have found are randomly generated. Three recent heuristics are in 21], 30] and 31].

3 Modelling Issues
In solving a mixed integer program such as the lot-sizing problems treated here, a rst step is to consider a priori reformulation of the model, and second the addition of additional valid inequalities either a priori or as cutting planes. Here we examine certain special features of lot-sizing models that are best handled with an appropriate initial formulation. First we consider how to handle small bucket models with one or two set ups per period, and then how to model small bucket constraints such as minimum run times or quantities, and full capacity production. Last of all we consider one possible way to express changeovers in big bucket models.

3.1 Small Buckets

Here we wish to model the case where only one or two items are set-up per period. We consider the polyhedron (Q) representing the ow of a single unit from item to item over time:

Pi ij = qtj for j = 1; : : : ; NI; t = 1; : : : ; NT Pj ijt = qti?1 for i = 1; : : : ; NI; t = 1; : : : ; NT t Pi q0i = 1


ij t

0 for i; j = 1; : : : ; NI; t = 1; : : : ; NT

shown in Figure 2, where qti is the ow through node (i; t) ( modelling the set-up of item i in period t) and ij is the ow from node (i; t ? 1) to t node (j; t) (modelling the changover from item i to item j in period t). This formulation representing a ow of one unit (or a path) is known to be as tight as possible. The correponding tight formulation without the changeover variables ij with i 6= j is given by the following result. t 8

Proposition 1 9]. Writing ti =

qti ii for i = 1; : : : ; NI; t = 1; : : : ; NT t i qt?1 ii for i = 1; : : : ; NI; t = 1; : : : ; NT t jj 1 + ii for i = 1; : : : ; NI; t = 1; : : : ; NT i + qi + qt t?1 t j :j 6=i t ii 0 for i = 1; : : : ; NI; t = 1; : : : ; NT: t

Pi qti = 1 for t = 0; : : : ; NT

ii for all i; t, projq; (Q) is the polyhedron t

(14) (15) (16) (17) (18)

3.2 One Set-Up per Period

Here we suppose that for each machine exactly one item is set up per period. The machine index k is dropped for simplicity. The formulation Q is now appropriate if we set ytj = qtj , i.e., ytj = 1 if the path passes through node (j; t) in Figure 2. Now ij = 1 if yti?1 = ytj = 1, namely i is set up in t ? 1 t and j in t. WithP de nitions, these ztj = i:i6=j ij = ytj ? jj is the start-up variable, and t t wti = Pj:j6=i ij = yti ? ii+1 is the switch-o variable. t t+1 Using these equations and projy; (Q), we obtain the (y; z; w) tight formulation for set-ups, start-ups and switch-o s: (19) i i for i = 1; : : : ; NI; t = 1; : : : ; NT (20) yt (21) yti ? zti = yti?1 ? wti?1 for i = 1; : : : ; NI; t = 1; : : : ; NT j ? z j ) 1 for i = 1; : : : ; NI; t = 1; : : : ; NT (22) i + zi + yt?1 t t j :j =i(yt 6 i ; wi 0 for i = 1; : : : ; NI; t = 1; : : : ; NT (23) zt t where (19) follows from (14), (23) because zti and wti?1 are the slack variables in (15) and (16) respectively, (21) by eliminating ii in the equations de ning t zti and wti , (20) from (18) and the de nition of zti , and (22) from (17) after

zti

P yti = 1 for t = 0; : : : ; NT

substitution.

Here we suppose that for each machine two items (possibly identical) are set up in each period, and the second item set up in period t is the rst item set up in period t + 1. Now we can again use formulation (Q) and Figure 2, but interpreted di erently. Items i and j are set up in period t in that order if 9

3.3 Two Set-Ups per Period

and only if qti?1 = qtj = ij = 1. In Figure 2, we show the interpretation of t a path with one and two set-ups respectively. The items produced in each period are shown at the bottom of the gures.
t=1 t=2 t=3 t=4 t=5 i=1 HH j i=2 H -@ i=3 * fi=3,t=5g @ R @ i=4

tt tt

tt tt

tt tt

tt tt

tt tt

i=1 i=2 i=3 i=4

tt tt

t=1 t=2 t=3 t=4


@ @ R @

HH j H

tt tt

tt tt

tt tt

tt tt fi=3,t=4g

f1g f2g f2g f4g f3g

f12g f2g f24g f43g

Figure 2: Small Buckets: One and Two Set-ups

ztj = Pi:i6=j ij = qtj ? jj is the start-up variable of item i in period t, t t wti = Pj:j6=i ij = qti?1 ? ii is the switch-o variable of item i in period t, t t

With these de nitions,

and yti = qti?1 + qti ? ii = wti + zti + ii is the set up variable of item i in period t t t. Using these equations and projy; (Q), we obtain the (y; z; w) formulation:

zti + wti yti for i = 1; : : : ; NI; t = 1; : : : ; NT (25) i ? z i = yi ? wi for i = 1; : : : ; NI; t = 1; : : : ; NT (26) yt t t?1 t?1 yti?1 + j:j=i(ytj ? ztj ? wtj ) 1 for i = 1; : : : ; NI; t = 1; : : : ; NT (27) 6 zti ; wti 0 for i = 1; : : : ; NI; t = 1; : : : ; NT (28) where (24) follows from (14) and the de nitions of yti and zti , (25) from (18) and the equation de ning yti , (28) as zti and wti are the slack variables in (15) and (16) respectively, (26) from using the de nitions of zti and wti+1 to eliminate qti , and then the de nition of yti to eliminate ii , and (27) from t

Pi(yti ? zti) = 1 for t = 1; : : : ; NT

(24)

(17) after appropriate substitutions. Note also that (25) can be rewritten as zti + zti?1 (26) in (25). 10

yti by substituting

3.4 Other Start-up Constraints for Small Bucket Models

Minimum On and O Times. We consider single item constraints

throughout this subsection, and so the product superscript i is dropped for simplicity. If a machine must remain set up for an item for a minimum of periods, we have A tighter formulation is

yt for = t ? + 1; : : : ; t:
(29)

zt? +1 + : : : + zt yt or equivalently wt + : : : + wt+ ?1 yt . z

If after producing an item, a machine cannot produce it again within periods, we have A tighter formulation is 1 ? yt for = t + 1; : : : ; t + : (30)

zt+1 + : : : + zt+ 1 ? yt or equivalently wt?1 + : : : + wt? 1 ? yt .

Full Capacity Production. If an item must be produced at full capacity

in all but the rst and last periods of a set-up sequence, we have that production is at full capacity in period t if the machine is set up in periods t ? 1 and t, and neither is a switch o period. This gives the constraint xt C (yt?1 + yt ? wt?1 ? wt ? 1) or better xt C (yt?1 ? wt?1 ? wt ) (31)

that the minimum production quantity for some item is P , full capacity is C , ~ ~ and the maximum capacity in a changeover period is C , with C < C < P . ~ P ?C e and b = d P e. Clearly the least number of periods required Let a = d C C to produce P is max a + 1; b], and the most is b + 1. The basic constraint
t X
=t?b

Full Capacity and Minimum Production Runs in SB-2P. Suppose

x
11

Pwt

can be tightened. Speci cally if a = b, the inequality xt?a + xt P ? (a ? 1)C ]wt (32) is valid, and if a = b ? 1, the inequality xt?b + xt?a + xt P ? (a ? 1)C ]wt : (33) is valid. Note also that if the minimum production quantity is fully produced during some interval t; t + 1; : : : ; l], and exceeds the total demand dtl Pl =t d for the interval, then the excess must be used to satisfy demands in periods outside the interval. This shows the validity of the inequalities

sl (P ? dtl
and

)+ )+

l X

=t+b

wj ;

(34) (35)

sl (P ? dtl

l?b Xz :
=t

Suppose for simplicity that the problem only involves one time period, and the rst and last items produced in the period, denoted by i = 0 and i = n + 1, are known and distinct. As in 8], let yi be the number of set ups of item i in the period, and ij be the number of times production is changed from i to j , with q an a priori upper bound on the number of times a given item i is produced in the period. This is modelled as in the vehicle routing problem with Pj6=0 0;j = 1 Pj:j6=i i;j = yi for i 6= 0; n + 1 Pi:i6=j i;j = yj for j 6= 0; n + 1 Pi6=n+1 i;j = 1 yi; i;j 2 f0; 1; : : : ; qg for all (i; j ): with additional constraints to eliminate \generalized subtours", which in this case are disconnected Eulerian graphs. The valid inequality X i;j X yi ? 1 yk for k 2 S (36) q eliminates such a graph on the node set S set of pairs (i; j ) with i; j 2 S . 12
(i;j )2E (S )

3.5 Big Buckets and Changeovers BB-SEQ

i2S

f1; : : : ; ng, where E (S ) is the

4 Valid Inequalities for Lot-Sizing


When the number of valid inequalities becomes large, it is di cult or impossible to add them to the model a priori, so they are typically added as cutting planes. A full description of all the valid inequalities used in bc ? prod would be both technical and lengthy, and all the essential details can be found elsewhere. So here we attempt to explain some common ideas underlying the inequalities used, as well as indicating how existing single machine inequalities have been adapted for multi-machine models.

Uncapacitated Models We consider the set of points satisfying (1)-(3).

While dealing with only a single item, the superscript i is dropped. For uncapacitated problems, we rst suppose that Ct is large for all t. Consider an interval t; t +1; : : : ; l], see Figure 3. To satisfy the demands fdt ; : : : ; dl g, the only possiblities are to produce during the interval, or to use the entering stock st?1 .
production

s ?1
t

t d

?
t

l d

?
l

Figure 3: Clearly if yt = yt+1 = : : : = yl = 0, then st?1 leads to a rst valid inequality

dtl = Pl =t d . This
(37)

st?1 dtl (1 ? yt ? yt+1 ? : : : ? yl ):

When there are start-up variables, observe that yt + yt+1 + : : : + yl = 0 if and only if yt + zt+1 + : : : + zl = 0. This leads to an alternative valid inequality

st?1 dtl (1 ? yt ? zt+1 ? : : : ? zl ):

(38)

However by observing that the entering stock st?1 must contain the demand d if yt + yt+1 + : : : + y = yt + zt+1 + : : : + z = 0, we obtain the stronger 13

valid inequality

st?1

l X d (1 ? y ? z ? : : : ? z ): t t+1
=t

(39)

Now introducing backlogging variables, we obtain as immediate generalizations of (38) and (39):

st?1 + rl dtl (1 ? yt ? zt+1 ? : : : ? zl )


and

(40) (41)

st?1 +

l l X r X d (1 ? y ? z ? : : : ? z ): t t+1
=t =t

Finally if we allow multiple machines (and reintroduce the superscripts for the items i and machines k), an immediate generalization of (41) is

sit?1 +

l l X X ri X di 1 ? NK(yi;k + zi;k
=t =t

k=1

i;k t+1 + : : : + z )]:

(42)

Capacitated Problems. Here we suppose rst that the capacity is constant over time, i.e. Ct = C for all t. Starting again from the interval t; t + 1; : : : ; l], all feasible solutions of (1)-(3) satisfy
st?1 + C
l Xy
=t

dtl :

(43)

tl Now xing t and letting l vary with l t, let l d dC e and l dtl ? C ( l ? 1). This leads to the simple valid inequality

st?1

l( l ?

l Xy )
=t

(44)

generalizing (37). For the next inequality further notation is needed. Choose some subset Q ft; t + 1; : : : ; NT g of size p. Order the elements of Q by nondecreasing values of q , i.e. let Q = fq1 ; q2 ; : : : ; qpg with 0 < q1 : : : qp C . Now the inequality generalizing (44) is

st?1

u=1

p X( ? qu

qu?1 )( qu ?

qu X y ):
=t

(45)

14

This is from 27], but the simplest proof of the validity of (44) and (45) is by direct application of the mixing theorem of Gunluk and Pochet 18] to the set consisting of the inequalities (43) for l 2 Q with st?1 0 and y integer for = t; : : : ; NT . Now turning to the multi-machine problem with backlogging, we suppose that C k = Rk C with R1 = 1 and Rk integer for k 2. Now in analogy with (43), all feasible solutions satisfy

sit?1 + rli + C ( sit?1 + rli + C (


p X ri X ( i ? l qu u=1 NK l

NK

for l = t; : : : ; NT , or strengthening slightly


k=1 =t

k=1

l X Rk X yi;k)
=t

ditl ditl :

(46)

X X minfRk; d ditl egyi;k )


C
i )( i ? qu?1 qu NK qu

(47)

Now applying the mixing theorem, with Q; i and i de ned as above, gives

sit?1 +

l2Q

k=1 =t

X X minfRk ; d ditl egyi;k ):


C

(48)

Other inequalities with capacities and start-ups can be generalized in a similar manner.

5 The System bc ? prod

bc ? prod is designed to treat problems with one or more items (or products), indexed i = 1; : : : ; NI , one or more machines, indexed k = 1; : : : ; NK , and several periods, indexed t = 1; : : : ; NT . Each item can be constrained to satisfy independent prespeci ed demand, or it is produced for sale, or it is shipped elsewhere. DEMti is the prespeci ed demand for item i in period t, while Vti is an upper bound on the potential additional sales of item i in period t. Each machine has a speci c production rate, with RHOti;k the rate of production of item i on machine k in period t. There are typically limits on the amount of each item that can be produced in a given period. CAPti;k is the maximum amount of item i that can be produced on machine k in period t, while LBDi;k is the minimum amount that must be produced if machine k is set-up for item i.
15

5.1 The Generic Lot-Sizing Problem

To model multi-level problems with intermediate items having dependent demand, a conversion rate RMLi;j speci es the number of units of intermediate product i required to produce one unit of j , which may be another intermediate or a nal product. Setting up machines for a new product may be costly and/or take time. ST i;k is the time required to start up machine k so as to produce a batch of item i, while CLT i;k is the time required to clean machine k after a production run of item i. With this data, we can now present part of a typical model:

sit?1 ? rti?1 + Pk RHOtik xik = Pj P RMLij RHOtj xj + sit ? rti t t sit?1 ? rti?1 + iflti + Pk RHOtik xik = DEMti + vti + oflti + sit ? rti t xik + ST ik ztik + CLT ik wtik CAPtik ytik t xik + ST ik ztik + CLT ik wtik LBDi;k ytik t ztik ? wtik = ytik ? ytik +1 +1 x; s; r; v; ifl; ofl 0 y; z; w 2 f0; 1g
where sit is the stock of i at the end of t rti is the backlog of i at the end of t xik is the production time of i on k in t t ytik is the set-up variable, which takes the value 1 if machine k is set-up to produce item i in t. ztik = 1 if machine k starts a sequence of set-ups of i in t wti;k = 1 if machine k ends a sequence of set-ups of i in period t vti is the amount of item i sold in period t (distinct from the demand DEMti ) iflti is the in ow of item i in period t from other sites oflti is the out ow of item i in t (distinct from demand and sales). Here the second constraint is a generalization of the ow balance constraint (1) for end products, whereas the rst constraint generalizes the ow balance constraint (13) for intermediate products. Note that at present 16

bc ? prod does not allow for intermediate demand or shipment of external

products. The third constraint obviously generalizes (2), the fourth allows for lower bounds on production in a period, and the fth links start-ups, switch-o s and set-ups (21). Typically one also expects to nd some machine capacity constraints in each period, such as NI X yi;k 1 t stating that on each machine k only one item can be produced in any period t, or total labour or time constraints of the form
NI X ai;k xi;k i=1 t i=1

Lk : t

bc ? prod requires as input any problem of the form discussed in Section 2

5.2 How it works

which has been written in the XPRESS-MP modelling language, with the restriction that certain keywords and names speci c to lot-sizing problems have been reserved, see Section 5.3 below. bc ? prod creates a matrix le in standard mps format that is passed directly to the optimizer for solution. bc ? prod carries out some implicit remodelling of initial and safety stocks (i.e. xed lower bounds on stocks) so as to obtain net demands, and also uses the concept of echelon stocks in treating multi-level problems so as to more easily generate certain valid inequalities, see for instance 1], 26]. bc ? prod calls a variety of separation routines for single item lot-sizing problems. Constantino 10] developed seven routines for single item lotsizing that were embedded in MINTO. These are a klSI routine generating inequalities of the type (45) for constant capacity lot-sizing, two routines for constant capacity lot-sizing with start ups, two routines for capacitated lotsizing with start ups, one to include start-up times and one to handle lower bounds on production. Only minor modi cations have been needed to adapt these routines for multi-machine problems - the resulting inequalities (47) generalizing the klSI inequalities have been demonstrated in the previous section. The modi cations for the next four routines are almost identical. Note however that if an instance involves capacities that vary over time, bc ? prod must process the capacity data before calling any routine requiring constant capacities. 17

lar the path separation routine which is able to treat varying capacity single item models with backlogging, but no start-ups. This routine can generate inequalities such as (39) with only set up variables, and handles capacitated problems with backlogging by creating aggregate constraints for an interval ft; : : : ; lg such as

bc ? prod also calls the separation routines of bc ? opt 11], and in particu-

sit?1 + rli +
or

NK l

k=1 =t

X X C i;kyi;k

ditl

NK l

sil ; rti?1

k=1 =t xi;k C i;kyi;k for all i; k; 0; yi;k 2 f0; 1g; xi;k 0 for all i; k;

X X C i;kxi;k

ditl + sil + rti?1

bc ? prod also contains a relax-and- x heuristic which on certain instances

on which knapsack or owcover inequalities can be generated.

with a long time horizon enables one to nd good feasible solutions in a reasonable time, whereas the direct optimization approach runs into di culties. bc ? prod is built using EMOSL (the extended modelling and optimization system) of XPRESS. This system permits information (the names of variables, data, etc.) to be passed between modeller and optimizer, which signi cantly simpli es the development. It should also makes it relatively easy to add additional features to the language so as to handle more general problems if and when they arise, and to introduce new separation routines and heuristics as they are developed. The XPRESS-MP modelling language mp-model is a standard constraint driven linear programming language in which the model is written in a form close to the mathematical form of Section 2. Other modelling languages such as AMPL, GAMS, LINGO and others all have slight di erences in syntax, but are basically very similar. To use bc ? prod, the user model must be a complete representation of his/her problem containing constraints of the type (1)-(13) as well as constraints de ning start-up, switch-o and changeover variables if required. 18

5.3 The Modelling Language

In addition certain objects must be speci ed in the model, while others are optional, but must take a speci ed name if they are present. At a minimum such a model contains a family of ow balance equations such as (1), and some set-up variables de ned in constraints such as (2). As a result every model must contain:

Obligatory Parameters

NI is the number of items NK is the number of machines NT is the number of periods

Variables
x(i; k; t) is a vector of production variables giving the production of item i on machine k in period t y(i; k; t) is a vector of set-up variables specifying whether on machine k is set up to produce item i in period t s(i; t) is the stock of i at the end of t

Data
CAP(i,k,t) is a data table with the capacity of production of item i on machine k in period t DEM (i; t) is the demand of i in t (if not de ned, DEM(i,t) is taken to be 0 throughout) RHO(i; k; t) is the production rate of i on k in t (if not de ned in the model, RHO(i; k; t) is taken to be 1 throughout);

Optional - Data
ST (i; k) is the loss of production time available on k if a start-up process occurs for i on k CLT (i; k) is the loss of production time on k if a cleaning-up process occurs for i on k
19

LBD(i; k) is the minimal production time of item i on machine k if machine k is set up for i (if not de ned in the model, LBD(i,k) is
considered to be 0); INISTO(i) is the initial stock of i RML(i; j ) is the number of units of item i needed to produce one unit of item j ;

Optional - Variables
r(i; t) is the backlog of i at the end of t z(i; k; t) is start-up variables specifying that machine k is set up to produce item i in period t, but not at the end of period t ? 1 w(i; k; t) is a switch-o variables specifying that machine k is set up to produce item i in period t but not at the beginning of period t + 1 v(i; t) is the sales variable (assumed bounded) ifl(i; t) is an in ow variable; ofl(i; t) is an out ow variable;
The form of constraints is important for the separation routines from bc ? opt as they examine the structure of the matrix. In particular ow balance constraints need to take the form (1) rather than the aggregate P P production form t =1 xi;k = t =1 DEM i + sit :

5.4 An Example
MODEL set1ch LET NI=20 LET NK=1 LET NT=12 !Classification BB

TABLES CAP(NI,NK,NT) DEM(NI,NT) DD(NI,NT) ! Present and future demand for item i in t L(NT) ! Total machine capacity in period t f(NI) ! the set-up cost for item i h(NI) ! the storage cost for item i !-------------------------------------------------------!Read demand and cost data DEM, f, h

20

LET LL=1161 ! Machine capacity constraint in each period LET CO=5 ! Unit cost of exceeding machine capacity !------------------------------------------------------ASSIGN !Calculate DD CAP(i=1:NI,k=1:NK,t=1:NT)=DD(i,t) L(t=1:NT)=LL VARIABLES x(i=1:NI,k=1:NK,t=1:NT) s(i=1:NI,t=1:NT-1) y(i=1:NI,k=1:NK,t=1:NT) o(t=1:NT) ! Amount of machine overtime in period t CONSTRAINTS ! Flow Balance Constraints FLOW(i=1:NI,t=1:NT): sum(|t .ne. 1)s(i,t-1) + & sum(k=1:NK) x(i,k,t) = DEM(i,t) + sum(| t .ne. NT)s(i,t) ! Individual Set-up and Capacity Constraint VUB(i=1:NI,k=1:NK,t=1:NT): x(i,k,t) < CAP(i,k,t)*y(i,k,t) ! Machine Capacity Constraint CC(k=1:NK,t=1:NT): sum(i=1:NI) x(i,k,t) < L(t) + oo(t) ! Objective Function MINCOST: sum(i=1:NI,k=1:NK,t=1:NT) f(i)*y(i,k,t) + & sum(t=1:NT) CO*o(t) + sum(i=1:NI,t=1:NT-1) h(i)*s(i,t) $ BOUNDS y(i=1:NI,k=1:NK,t=1:NT) .BV. END

! binary variables

Note that the compulsory objects NI; NK; NT; x; y; s; CAP; DEM are de ned, and RHO is taken to be 1 by default.

bc ? prod has been tested on a variety of real world and academic problems.
Detailed descriptions of the problems and models are available in 4]. These are broken up into several classes.

6.1 The Test Instances

6 Computational Results

Single Level Big Bucket Models

The rst four instances are MIPLIB3.0 instances or variants thereof. pp08a is from 32]. It is a classical multi-item, single machine model with set-up costs and a machine capacity constraint in each period. 21

set1ch is from 36]. It is a similar model to pp08a except that machine capacity can be increased by working overtime with a linear penalty cost. rgna is natural lot-sizing formulation of problem rgn in the MIPLIB3.0 library. It is a multi-item, single machine model with backlogging in which production of an item must be at full capacity. At most 3 items can be produced in any period. There is also a piecewise linear convex cost function for stocks and backlogging. vpm2a is based on an industrial single-level four machine problem. The original problem is a big bucket problem with start-up times. vpm2 is an approximation to the real problem with reduced set-up times in place of the start-up times. vpm2a is a minor reformulation of vpm2 with tightened capacity constraints. See also vpm5 below. trNI-NT are six instances of a single machine problem with start-up times (BB-TT). The number of items i varies from 6 { 24 and the number of periods t from 15 { 30. A large number of instances have been generated randomly in 33]. The data on all the instances can be found as Data Set s2 in 17]. The six instances chosen appear to be among the more di cult ones. ches-t are ve instances with sequence dependent set-up costs (BBSEQ). These are based on real problems 8]. The number of items varies from 10 to 21, the number of periods from 1 to 3, and the number of machines from 1 to 10.

Small Bucket Models - One Item per Period

dlsp2 is a single-level, single-machine problem with start-up costs and production at full capacity. It is known as the discrete lot-sizing and scheduling problem 15]. In this instance, starting up takes a full period, so there is an idle time of at least one period whenever production is switched from one item to another. clorox is a real single-level, single-machine problem with upper and lower bounds on production time in each period (one or two shifts), start-up costs and cleaning costs and times. Con-t are academic problems with 5 items, 2 machines, t periods, capacity constraints, backlogging and start-up costs and times. The data is randomly generated 10] based on the clorox model.

22

Small Bucket Models - Two Items per Period


vpm5 is an improved version of the formulation of vpm2 providing a correct model if not more than two items are produced per period. BASF1 is a multi-site/multi-item production network including changeover times, initial stocks, minimal plant utilization, transport, sales and no backlogging. BASF4 is a problem with capacity constraints, backlogging, cleaning times, minimum batch sizes. Their are two production levels, but the rst intermediate level is relatively unimportant. BASF6 is a two-stage problem with capacity constraints, backlogging and change-over (start-up and cleaning) times.

Multi-level Big Bucket Models


A set of randomly generated multi-level single machine capacitated problems with backlogging for end products have been generated as proposed in 1]. Instances have between 15 and 50 items. The length of the planning horizon for all test problems was xed to 12. Basic details of the test instances are presented in Table 1. The respective column headings are the name of the problem instance, the number of items, machines and periods, and then r is the number of rows in the problem, c is the number of columns in the problem, int is the number of integer variables. We present results for di erent lot-sizing problems using three systems. These are the mp-opt 10.24 branch-and-bound system for general mixed integer programs, the bc-opt 10.33 branch-and-cut system involving a variety of cutting plane routines that treats general mixed integer programs, and the bc-prod system. All runs have been performed on a 200 Mhz Pentium Pro running under Windows NT. For all three systems a best bound node selection strategy is used for 500 nodes, followed by the standard mp ? opt strategy. In running bc ? opt and bc ? prod, cuts are only generated at the top node as the advantages of also generating cuts in the tree appear to be slight for such problems. For both systems, we modify the cut generation strategy slightly if the instance has more than 1500 rows. 23

6.2 Computation

Instance Type NI NK NT r c int pp08a BB 8 1 8 137 240 64 set1ch BB 20 1 12 493 712 240 rgna BB 5 1 4 85 120 20 vpm2a BB-TT 7 4 6 235 378 168 tr6-15 BB-TT 6 1 15 196 270 90 tr6-30 BB-TT 6 1 30 391 540 180 tr12-15 BB-TT 12 1 15 376 540 180 tr12-30 BB-TT 12 1 30 751 1080 360 tr24-15 BB-TT 24 1 15 736 1080 360 tr24-30 BB-TT 24 1 30 1471 2160 720 ches1 BB-SEQ 10 10 1 213 230 114 ches2 BB-SEQ 21 8 1 517 1168 881 ches3 BB-SEQ 11 1 3 235 726 363 ches4 BB-SEQ 11 2 1 146 330 242 ches5 BB-SEQ 12 2 3 367 972 486 dlsp SB-1P-FC 3 1 60 955 720 180 clor SB-1P-VP 5 1 15 738 420 75 Con-12 SB-1P-VP-ST 5 2 12 555 480 120 Con-24 SB-1P-VP-ST 5 2 24 1119 960 240 b1-s2 SB2-ST 3 3 12 1656 1860 896 b1-s3 SB2-ST 6 4 12 4694 6179 1776 b4-10 SB2-ST 22 7 10 1576 1233 699 b4-10a SB2-ST 22 7 10 1687 1233 699 b4-12 SB2-ST 22 7 12 1904 1485 849 b4-12a SB2-ST 22 7 12 2236 1485 849 b4-20a SB2-ST 22 7 20 3809 2713 1566 b4-10af SB2-ST 47 12 10 7545 4800 3090 b6-5 SB2-ST 33 11 5 2638 4775 765 b6-10 SB2-ST 33 11 10 5278 9550 1530 vpm5 SB2-ST 8 4 6 929 840 512 m40-1a ML-G 40 1 12 961 1920 480 m40-1b ML-G 40 1 12 961 1920 480 m40-1c ML-G 40 1 12 961 1920 480 m40-1d ML-G 40 1 12 961 1920 480 m20-2e ML-G 20 1 12 481 960 240 m15-3f ML-G 15 1 12 361 720 180 Table 1: Test Instances 24

Less than 1500 rows. With bc ? opt, we generate three rounds of cuts. First we generate simultaneously ow cover and knapsack cuts with continuous variables, then path inequalities, and nally Gomory mixed integer cuts. With bc ? prod, we generate four rounds of cuts. In the rst round the specialised routines of bc-prod are called. The next three rounds are as for bc ? opt. More than 1500 rows. Here all cuts are generated simultaneously as there is a danger of producing too many inequalities of a given type. For bc ? opt all the inequalities are generated in one round. For bc ? prod, we call one round of the specialised inequalities, and then one round as for bc ? opt.

Computation on Single Level BB Instances

Results for the BB instances are presented in Table 2. For each of the Tables 2 - 5, the column headings are as follows: instance identi es the instance, code identi es the system used in order to solve the problem, LP is the initial LP value before adding cuts at the root node of the Branchand-Bound algorithm; XLP is the LP value after adding cuts at the root node of the Branch-and-Bound algorithm, IP is the value of the best feasible solution found within a time limit of 2 hours for all except the tr and ches problems (if there is no proof of optimality for this solution, this is indicated with a *), Secs if the CPU time in seconds (if there is no proof of optimality for this solution, this is indicated with a *), #cuts add is the total number of cuts added at the top node in the matrix, #cuts del is the total number of cuts deleted at the top node from the matrix, Gap is the nal duality gap based on the value of the best feasible solution IP and the best dual ? bound (DB) available. For a minimization problem, gap= IP IPDB 100%.

We now brie y discuss the results in Table 2. The rst four instances are easily solved. Not surprisingly there is little di erence in performance between bc ? prod and bc ? opt as the BB models do not contain start-up variables, and the routines of bc ? opt are designed for xed charge network problems such these lot-sizing problems. On the other hand the inability of standard branch-and-bound to solve such problems without reformulation is well known. Only the smallest tr instance tr6-15 is solved to optimality within 900 seconds. In fact all the tr instances with 6 items and 15 periods are solved rapidly. For the ve larger instances we also give results for the relax and x heuristic (code bc ? prodh). For runs with the heuristic, we use XLP as the dual bound in calculating the duality gap. Note that just running the primal heuristic, and then generating cuts at the top node (which only takes a few 25

instance pp08a (MIP3) set1ch (MIP3) rgna (MIP3) vpm2a (VPM) tr6-15 (G30n) tr6-30 (G62n) tr12-15 (G53n) tr12-30 (G69n) tr24-15 (G57n) tr24-30 (G72n) ches1 ches2 ches3 ches4 ches5

code bc-prod bc-opt mp-opt bc-prod bc-opt mp-opt bc-prod bc-opt mp-opt bc-prod bc-opt mp-opt bc-prod

LP 2748 2748 2748 35118 35118 35118 48.8 48.8 48.8 11.13 11.13 11.13 10714.4

XLP 7172.7 7166.3 54517 54517 72.5 70.6 12.73 12.81 372213.3

IP 7350 7350 7390 54537 54537 60244 82.2 82.2 82.2 13.75 13.75 13.75 37721

Secs #cuts #cuts Gap add del 24 278 164 0 16 354 262 0 7200 44.37 4 451 200 0 7 648 490 0 7200 8 73 42 0 9 162 132 0 3 0 332 132 86 0 136 124 89 0 7200 13.81 38.4 325 181 0 900 55 900 189 900 102 900 55 900 298 1 900 24 1 900 798 669 1682 1421 3668 75 6354 89 74 22031 525 393 1086 851 2399 48 430 65 45 65 1.01 1.24 0.87 1.33 1.76 0.32 0.34 0.10 0.21 0.06 0 0 0 0 2.86

bc-prod 13622.3 60979.4 61806 bc-prodh 61746 bc-prod 16648.3 73858.2 74799 bc-prodh 74752 bc-prod 17858.1 130177 132650 bc-prodh 130599 bc-prod 15665.5 136366 136872 bc-prodh 136509 bc-prod 24546.8 287753 288424 bc-prodh 287950 bc-prod 63.45 120.42 121.84 bc-prod -2891.88 -2889.84 -2889.83 bc-prod -1.3039e+6 -1.3039e+6 -1.3039e+6 bc-prod -647404 -647404 -647404 bc-prod -7451.56 -7294.68 -7057.12

Table 2: BIG BUCKETS MODELS

26

instance dlsp clorox Con-12 Con-24

code

LP

XLP

IP

bc-prod 212.1 613 613 bc-opt 212.1 408.5 613 mp-opt 212.1 613 bc-prod 660.8 15991.1 21217.8 bc-opt10 660.8 14573.6 21217.8 mp-opt10 660.8 21217.8 bc-prod 1404.1 6807.6 7593.1 bc-opt 1404.1 3616.1 7593.1 mp-opt 1404.1 7593.1 bc-prod 10782.8 22521.8 25805 bc-opt 10782.8 14089.9 25834.3 mp-opt 10782.8 27786.7

Secs #cuts #cuts Gap add del 5 821 325 0 2384 303 223 0 7200 44.71 14 940 881 0 15 1110 1055 0 186 0 268 780 695 0 2448 103 44 0 1444 0 7200 1477 1316 2.3 7200 181 111 21.42 7200 28.59

Table 3: SMALL BUCKETS - 1P MODELS seconds) allows one to prove optimality within 1.5% for all the instances. Unfortunately 33] only gives average results on duality gaps, so no direct comparisons are possible. However using bc-prod, the duality gaps seem to diminish as the number of items increases, a phenomenon also observed with the algorithm of Trigeiro et al. To run the ches (BB-SEQ) problems calls for a minor modi cation to the bc ? prod code. The formulation used taken from 8] does not contain the generalized subtour constraints (36). Thus whenever an integer solution is found, we check whether it corresponds to a feasible production sequence. If not, one of the generalized subtour constraints is clearly violated, is added as a global cut to the model, and the enumeration continues. Here problems ches1-ches4 are essentially solved to optimality, and ches5 is solved to within 2.86% in 900 seconds. In 19], only ches1 and ches4 are solved optimally. Note however that the solution values we obtain for instances ches2 - ches5 are better than the lower bounds proposed in the latter article.

Computation on SB-1P Instances

Results for small bucket instances with only one item produced per period are presented in Table 3.

The results in Table 3 show that for SB-1P instances, bc ? prod is significantly better than bc ? opt, which is in turn better than mp ? opt. This is to be expected in that the main addition to bc ? prod is a set of routines for 27

start-up variables originally devised for the single machine version of this problem. Results for the small bucket instances with production of up to two items per period are presented in Table 4. For all SB-2P instances, we use the formulation of Section 3.1. The instances b1-s2 and b1-s3 have had surrogate variables added obtained by aggregating over production sites. In addition b1-s3 has certain inequalities of the form (40) and (41) added a priori based on the surrogate variables. The b4 instances have full capacity, and minimum production run constraints, and are reformulated using the results of Section 3.2. The pairs of instances b4-10 and b4-10a, and instances b4-12 and b4-12a treat the same problem. For both instances the formulation is tightened a priori using inequalities (29), (31), and (32) or (33). For instances \a", certain inequalities (34) and (42) are also added a priori. For a full-size model b4f-10a with more items, no solutions were found with the default branching strategy within two hours with any of the three algorithms. For this instance, the results are shown for a modi ed strategy in which no best bound search is used, and both mp ? opt and bc ? opt then nd feasible solutions. From Table 4 it appears that all three approaches produce more or less comparable results. This is largely due to the model improvements incorporated a priori, but it suggests the need for specialized routines to handle start-up costs and times in the model SB-2P, and to handle multi-machine problems with unrelated capacities. Versions of the instances presented here exist with more time periods. To date, they are far from being solved.

Computation on SB-2P Instances

Computation on Multi-Level Instances

Results for the ML-G instances are presented in Table 5.

bc ? prod typically dominates bc ? opt and mp ? opt. This is due to the

The results in Table 5 show that at least on these simple academic models

automatic conversion to an echelon stock formulation in combination with the path inequalities.

28

instance b1-s2 b1-s3 b4-10 b4-10a b4-12 b4-12a b4-20a b4f-10a strat.2 b6-5 b6-10 vpm5

code

LP

XLP

IP

bc-prod -8.976e7 -8.961e7 -8.877e7 bc-opt -8.976e7 -8.960e7 -8.877e7 mp-opt -8.976e7 -8.877e7 bc-prod -4.0716e7 -4.0599e7 -4.0390e7 bc-opt -4.0716e7 -4.0600e7 -4.0436e7 mp-opt -4.0704e7 -4.0424e7 bc-prod 12895.3 13509.4 14039 bc-opt 12931.1 13198.7 14039 mp-opt 12931.1 14039 bc-prod 13693.7 13852.6 14050.8 bc-opt 13715.3 13846.5 14050.8 mp-opt 13715.6 14050.8 bc-prod 14177.4 14994.3 16093.4 bc-opt 14212.5 14493 16091.6 mp-opt 14212.5 16091.6 bc-prod 15564.1 15721.5 16103.9 bc-opt 15585.9 15660.9 16103.9 mp-opt 15585.9 16103.9 bc-prod 22053.1 22094 23750.8 bc-prodh 23400.3 bc-opt 22072.8 22084 24036.2 mp-opt 22072.8 24017.2 bc-prod 20132.44 20230 bc-prodh bc-opt 20132.44 20228.3 22425.4 mp-opt 20132.44 21991.6 bc-prod 11716.4 11958.7 12380.1 bc-opt 11716.4 12037.5 12238.6 mp-opt 11716.4 12383.7 bc-prod 21674.1 22069.2 22821.9 bc-opt 21674.1 22285 22601.4 mp-opt 21674.1 22648.4 bc-prod 3001.9 3002.3 3003.2 bc-opt 3001.9 3002.1 3003.2 mp-opt 3001.9 3003.2

Secs #cuts #cuts Gap add del 86 161 107 0 227 109 59 0 6735 0 7200 383 239 0.50 7200 403 261 0.37 7200 0.69 174 617 492 0 190 262 187 0 108 0 28 111 78 0 27 143 122 0 30 0 7200 767 583 4.02 7200 345 249 5.05 7200 5.61 567 69 35 0 533 40 22 0 844 0 7200 162 70 5.51 5249 4.09 7200 39 9 6.59 7200 6.51 7200 467 274 7200 7200 288 203 8.91 7200 8.11 7200 213 136 2.77 7200 239 164 1.14 7200 2.52 7200 475 342 2.89 7200 279 161 0.63 7200 2.00 535 137 74 0 460 21 6 0 379 0

Table 4: SMALL BUCKETS - 2P MODELS 29

instance

code

LP

XLP

IP

m40-1a bc-prod (1,40,12) bc-opt mp-opt m40-1b bc-prod (1,40,12) bc-opt mp-opt m40-1c bc-prod (1,40,12)ht bc-opt mp-opt m40-1d bc-prod (1,40,12) bc-opt mp-opt m20-2e bc-prod (2,20,12) bc-opt mp-opt m15-3f bc-prod (3,15,12) bc-opt mp-opt

973 3936 3936 973 2830.1 4073 973 4624 973 3936 3936 973 2816.9 3954 973 4624 973 3936 3936 973 2831.5 3995 973 4624 7437.7 11891.1 12795 7441.7 12198.9 12795 7439.8 12795 1093.6 2583.1 2625.5 1095.1 2569.2 2625.5 1094.0 2625.5 462.8 1440 1440 463.7 1439.6 1440 463.3 1440

Secs #cuts #cuts Gap add del 6 1359 404 0 7200 1635 560 25.62 7200 54.28 9 1240 400 0 7200 1473 500 23.35 7200 53.38 7 1240 400 0 7200 1442 450 21.97 7200 53.76 7200 1834 1391 5.70 7200 952 497 3.68 7200 37.77 11 1043 781 0 8 515 270 0 448 0 2 556 375 0 5 275 100 0 31 0

Table 5: MULTI-LEVEL MODELS

30

7 Conclusions
The results of the last section indicate that bc ? prod is able to \solve" a wide variety of lot-sizing problems, for which typically a variety of special purpose algorithms have been used. Returning to the classi cation of Figure 1, bc ? prod produces competitive results for most problem classes de ned there. One exception are small bucket problems with sequence-dependent changeovers, such as SB-1P-FC-SEQ. No attempt has been made yet to solve such problems, but unless the large number of changeover variables can be reduced because of special cost structure, we expect bc ? prod to have di culties, see Fleischmann 16]. We hope that a system such as bc ? prod can be useful to a variety of users. For the enduser used to a mathematical programming modelling language, it is simple to use. By providing a library of models and formulations with a common representation 4], we hope both to increase communication between di erent users, and to increase the quality of their models. We also believe that comparisons between a special purpose heuristic and a code such as bc ? prod are much more meaningful than the comparisons with totally general mathematical programming systems such as CPLEX, mp ? opt of XPRESS, or LINDO found in the literature. For the researcher, it is important to have a state-of-the-art system incorporating most known research results, so that time is not wasted rediscovering the wheel when trying to solve a new problem. Also as bc ? prod is programmed in EMOSL, new tricks, inequalities or heuristics can be incorporated easily. Obvious directions for future work include integration of the heuristics and the optimizer, Lagrangian based heuristics of the type often reported in the literature, an in-depth computational study of multi-level problems, facilities to treat very large problems, and the testing on new practical instances. bc ? prod is available for experimentation, and we are particularly interested in feedback, including new practical problems, and suggestions of possible extensions to the system.

Acknowledgment. We are particularly grateful to BASF for the access they have given to a variety of problems and models, and their readiness to discuss and test new ideas, as well as to all the partners in the PAMIPS and MEMIPS projects which have led to the work reported here.

31

References

1] P. Afentakis and B. Gavish, Optimal Lot-Sizing for Complex Product Structures, Operations Research 34, 237-249 (1986). 2] I.Barany, T.J. Van Roy and L.A. Wolsey, Strong Formulations for Multi-Item Capacitated Lot-Sizing, Management Science 30, 1255-1261 (1984). 3] G. Belvaux, Modelling Issues and Algorithms for Lot-Sizing Problems, Ph.D. Thesis, Universite Catholique de Louvain, in preparation. 4] G. Belvaux and L.A. Wolsey, Lot-Sizing Problems: A Library of Models and Matrices, CORE, Universite Catholique de Louvain, in preparation. 5] R.E. Bixby, S. Ceria, C.M. McZeal and M.W.P. Savelsbergh, An updated Mixed Integer Programming Library: MIPLIB 3.0, text and problems available at f http://www.caam.rice.edu/ ~ bixby/miplib/miplib.html g 6] D. Cattrysse, J. Maes and L.N. van Wassenhove, Set Partitioning and Column Generation Heuristics for Capacitated Dynamic Lot-Sizing, European Journal of Operations Research 46, 38-47 (1990). 7] D. Cattrysse, M. Salomon, R. Kuik and L.N. van Wassenhove, A Dual Ascent and Column Generation Heuristic for the DLSP with Set-Up Times, Management Science 39, 477-486 (1993). 8] The CHES Problems, Chesapeake Decision Sciences Inc., New Providence, NJ 07974, (1989). 9] M. Constantino, A Polyhedral Approach to Production Planning Models: StartUp Costs and Times, and Lower Bounds on Production, Ph.Thesis, Department of Mathematics, Universite Catholique de Louvain, April 1995. 10] M. Constantino, A Cutting Plane Approach to Capacitated Lot-Sizing with Start-up Costs, Mathematical Programming 75, 353-376 (1996). 11] C. Cordier, H. Marchand, R. Laundy and L.A. Wolsey, bc ? opt: A Branch-andCut Code for Mixed Integer Programs", CORE Discussion Paper 9778, Universite Catholique de Louvain (1997). 12] M. Diaby, H.C. Bahl, M.H. Karwan and S. Zionts, A Lagrangean Relaxation Approach for Very Large Scale Capacitated Lot-Sizing, Management Science 38, 13291339 (1992). 13] P.S. Dixon and E.A. Silver, A Heuristic Solution Procedure for the Multi-Item, Single Level, Limited Capacity Lot-Sizing Problem, Journal of Operations Management 2, 23-39 (1981). 14] G.D. Eppen and R.K. Martin, Solving Multi-Item Lot-Sizing Problems using Variable Rede nition, Operations Research 35, 832-848 (1987). 15] B. Fleischmann, The Discrete Lot-Sizing and Scheduling Problem, European Journal of Operations Research 44, 337-348 (1990). 16] B. Fleischmann, The Discrete Lot-Sizing and Scheduling Problem with SequenceDependent Setup Costs, European Journal of Operations Research 75, 395-404 (1994). 17] http://www.eng.auburn.edu/~gaoyubo/ 18] O. Gunluk and Y. Pochet, Mixing Mixed Integer Inequalities, CORE Discussion Paper DP9811, Universite Catholique de Louvain, Louvain-la-Neuv, January 1998.

32

19] S. Kang, K. Malik and L.J. Thomas, Lotsizing and Scheduling in Parallel Machines with Sequence-Dependent Setup Costs, Working Paper 97-07, Johnson Graduate School of Management, Cornell University, December 1997. 20] U.S. Karmarkar and L.S. Schrage, The Deterministic Dynamic Product Cycling Problem, Operations Research 33, 326-345 (1985). 21] E. Katok, H.S. Lewis and T.P. Harrison, Lot Sizing in General Assembly Systems with Setup Costs, Setup Times and Multiple Constrained Resources,Management Science 44, 859-877 (1998). 22] R. Kuik, M. Solomon and L.N. van Wassenhove, Batching Decisions: Structure and Models, European Journal of Operations Research 75, 243-263 (1994). 23] J. Maes and L.N. van Wassenhove, Multi-Item Single-Level Capacitated Dynamic Lot-Sizing Heuristic: A Computational Comparison (Part I: Static Case), IIE Transactions 18, 114-123 (1986). 24] T.L. Magnanti and R. Vachani, A Strong Cutting Plane Algorithm for Production Scheduling with Changeover Costs, Operations Research 38, 456-473 (1990). 25] PAMIPS, Esprit Project 8755, Public Report Reference DR4.3.5, 1995. 26] Y. Pochet and L.A. Wolsey, Solving Multi-Item Lot-Sizing Problems using Strong Cutting Planes, Management Science 37, 53-67 (1991) 27] Y. Pochet and L.A. Wolsey, Lot-Sizing with Constant Batches: Formulation and Valid Inequalities, Mathematics of Operations Research 18, 767-785 (1993). 28] Y. Pochet and L.A. Wolsey, Algorithms and Reformulations for Lot-Sizing Problems, 245-294 in Combinatorial Optimization, W. Cook, L. Lovasz and P. Seymour (eds.), DIMACS Series in Discrete Mathematics and Computer Science (1995). 29] M.W.P. Savelsbergh and G.L. Nemhauser, Functional description of MINTO, a Mixed INTeger Optimizer, Report COC-91-03A, Georgia Institute of Technology, Atlanta, Georgia (1993). 30] N.C. Simpson and S.S. Erenguc, Improved Heuristic Methods for Multiple Stage Production Planning, Computers and Operations Research 25, 611-623 (1998). 31] H. Tempelmeier and M. Derstro , A Lagrangean-Based Heuristic for Dynamic Multilevel Multiitem Constrained Lotsizing with Setup Times, Management Science 42, 738-757 (196). 32] J.M. Thizy and L.N. van Wassenhove, Lagrangean Relaxation for the Multi-Item Capacitated Lot-Sizing Problem, IIE Transactions 17, 308-313 (1985). 33] W.W. Trigeiro, L.J. Thomas and J.O. McClain, Capacitated Lot-Sizing with Set-up Times, Management Science 35, 353-366 (1989). 34] F. Vanderbeck, Lot-Sizing with Start-up Times, Research Papers in Management Studies No. 22, University of Cambridge, August 1997. 35] S. van Hoesel, R. Kuik,M.Salomon and L.N. van Wassenhove, The Single Item Discrete Lot-Sizing and Scheduling Problem: Optimization by Linear and Dynamic Programming, Discrete Applied Mathematics 48, 289-303 (1994). 36] T.J. Van Roy and L.A. Wolsey, Solving Mixed 0-1 Problems by Automatic Reformulation, Operations Research 35, 45-57 (1987).

33

37] XPRESS-MP Extended Modelling and Optimisation Subroutine Library, Reference Manual, Release 9, Dash Associates, Blisworth House, Blisworth, Northants NN7 3BX, UK. 38] L.A. Wolsey, Uncapacitated Lot-Sizing Problems with Start-up Costs, Operations Research 37, 741-747 (1989). 39] L.A. Wolsey, MIP Modelling of Changeovers in Production Planning and Scheduling Problems, European Journal of Operational Research 99, 154-165 (1997).

34

You might also like