Polyhedral and Lagrangian approaches for lot sizing with production time windows and setup times

Polyhedral and Lagrangian approaches for lot sizing with production time windows and setup times

Computers & Operations Research 37 (2010) 182 -- 188 Contents lists available at ScienceDirect Computers & Operations Research journal homepage: w w...

158KB Sizes 0 Downloads 22 Views

Computers & Operations Research 37 (2010) 182 -- 188

Contents lists available at ScienceDirect

Computers & Operations Research journal homepage: w w w . e l s e v i e r . c o m / l o c a t e / c o r

Polyhedral and Lagrangian approaches for lot sizing with production time windows and setup times Nadjib Brahimi a,∗ , Stéphane Dauzere-Peres b , Laurence A. Wolsey c a

Department of Industrial Engineering and Management, College of Engineering, University of Sharjah, P.O. Box 27272 Sharjah, United Arab Emirates Centre Microélectronique de Provence, Ecole des Mines de Saint-Etienne - Site Georges Charpak, 880 avenue de Minet, F-13541 Gardanne, France c CORE, Center for Operations Research and Econometrics, Université Catholique de Louvain, 34 Voie du Roman Pays, 1348 Louvain-la-Neuve, Belgium b

A R T I C L E

I N F O

Available online 24 April 2009 Keywords: Integer programming Lot sizing Polyhedra Time windows Lagrangian

A B S T R A C T

In this paper, we solve the capacitated multi item lot-sizing problem with non-customer specific production time windows and setup times using two approaches: (i) using a Lagrangian relaxation-based heuristic and (ii) using reformulations and a commercial software. The results of the two approaches are analyzed and compared based on randomly generated data sets. The results show that the first approach finds feasible solution more rapidly but a steady state is reached very quickly. On the other hand the second approach quickly finds good lower bounds and finds good feasible solutions if more CPU time is allowed. It turns out that, for a wide variety of instances varying in size and other parameters, we can obtain feasible solutions within 1–5% of optimal within 10 s and also obtain solutions that are guaranteed within 1–2% of optimal within 60–120 s. © 2009 Elsevier Ltd. All rights reserved.

1. Introduction In this paper, we consider the capacitated multi item lot-sizing problem with Non-Customer Specific (NCS) production time windows and setup times. Using recent research on algorithms and formulations (Brahimi et al. [4], Wolsey [26]), our specific goal is to evaluate two promising approaches computationally. The first is a Lagrangian relaxation-based heuristic that potentially can provide good feasible solutions within a few seconds, and the second is an exact Mixed Integer Programming (MIP) approach using tight single item reformulations that can hopefully provide both good feasible solutions (upper bounds) and good lower bounds, and thus good performance guarantees within at most a few minutes. The notion of production time windows in lot-sizing appeared in Dauzère-Pérès et al. [6] extending the uncapacitated single item lotsizing problem. A production time window is defined by a subinterval [s, t] of the time horizon [1, n] and a demand quantity dst to be produced in the interval [s, t] and delivered to the client in period t. This is in contrast to a demand time window, see Lee et al. [14] in which delivery to the client can take place in any period in the interval [s, t] and unit storage costs are incurred for the periods [, s − 1] on any item produced in a period  < s.

∗ Corresponding author. Tel.: +97 1501755391; fax: +97 165585191. E-mail addresses: [email protected] (N. Brahimi), [email protected] (S. Dauzere-Peres), [email protected] (L.A. Wolsey). 0305-0548/$ - see front matter © 2009 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2009.04.005

In this paper we consider the special case called non-customerspecific. An instance is NCS if the time windows satisfy, or can be modified so as to satisfy, the following non-overlapping property: Given any two time windows, one is not strictly included in the other. In other words, for any pair of time windows ((s1 , t1 ), (s2 , t2 )) either s1  s2 and t1  t2 or s1  s2 and t1  t2 . In fact it is shown that various problems reduce to the NCS problem. Specifically if there are production time windows that do not satisfy the above condition, but the contents of each demand are interchangeable (not customer specific), then it is possible to modify the time windows so the problem becomes NCS, and the original demands are still satisfied. To understand this, a useful viewpoint is to think of some standard item that arrives in period s for repair by period t. As an example two demands d16 = 5 and d34 = 2 could be satisfied by producing five units in period 2 and 2 in period 5, because the two units that are due in period 4 could be taken from the 5 that arrived in period 2. It follows that these two time windows can be replaced by equivalent non-overlapping windows with d14 = 2 and d36 = 5. A general linear time algorithm to produce an equivalent problem with non-overlapping time windows is given in [6]. In Wolsey [26] it is shown that the NCS problem is equivalent to the single item problem with stock upper bounds, and in van den Heuvel and Wagelmans [22] it is shown that lot-sizing with a remanufacturing option and lot-sizing with cumulative capacities are also equivalent to problem NCS. The first polynomial algorithm for the uncapacitated single item NCS problem was an O(T 4 ) dynamic programming algorithm in [6], where T is the length of the planning horizon. More recently a

N. Brahimi et al. / Computers & Operations Research 37 (2010) 182 -- 188

O(T 2 ) dynamic programming algorithm was given in [26], whereas ¨ ¨ ukyavuz ¨ Atamturk and Kuç [2] present an algorithm of the same complexity for the more general problem in which one also allows fixed costs on the stock variables. In addition to the time window property, setup times are considered in our paper. Several operations might require “lost” setup times before starting production of a given item in a production unit. Cleaning machinery, preparing materials, changing tools, etc. are some examples. Despite the big efforts made to reduce setup times (through SMED or Single Minute Exchange of Die, for instance), they are still important and, in many industries, are impossible to neglect. Trigeiro et al. [21] mention two examples where considerable reductions of setup times were achieved. Still, some setup times of 3–12 h remained after reductions of over 80% of previous values of setup times. In the remainder of this section we describe and formulate the NCS problem, and then describe the contents of the paper. There are N independent products (single-level problem) competing for a single resource. The planning horizon is discrete and finite with T periods. Resource capacity is known and limited at each period. All costs are deterministic but can vary from one period to another. There are unit production costs, setup costs, and unit holding costs. Non-customer specific production time windows are given for each product, and whenever an item is produced, there is a per unit production time and a setup time consumption of the joint resource. In the sequel, we refer to the CLSP with Time Windows and Setup Times by CLSP-TW-ST. The CLSP problem has been tackled by a variety of methods. Eppen and Martin [8] used a shortest path reformulation of the single item problem to obtain a mixed integer programming formulation that permitted instances of CLSP of considerable size to be solved using a standard MIP solver. Earlier Krarup and Bilde [13] proposed a different facility location reformulation that has also been used in a similar way. Barany et al. [3] solved instances of CLSP by cutting planes and MIP using facet-defining inequalities for the single item problem. A variety of heuristics have been developed, ranging from simple heuristics Maes and Van Wassenhove [15] to numerous heuristics based on Lagrangian relaxation [5,16,19]; tabu search [10]; and column generation [7]. The classical CLSP (multi item Capacitated Lot-Sizing Problem) with setup times has already been studied in the literature and various heuristics have been proposed to solve it. One of the earliest successful solution approaches to the problem is the Lagrangian heuristic by Trigeiro et al. [21], in which capacity constraints are relaxed. The resulting independent uncapacitated single item problems were solved using the Wagner–Whitin dynamic programming algorithm which runs in O(T 2 ) time in its original version and in O(T log T) time in a recently improved version [1,9,25]. Then a smoothing heuristic is used to satisfy violated capacity constraints. In a recent paper, Jans and Degraeve [12] presented a new technique to derive better lower bounds to the problem. They consider the demand constraints in the shortest path formulation as the linking constraints. The problem in this case decomposes into single period subproblems. According to results presented in [12], this method yields better lower bounds than those of Trigeiro et al. [21], but it takes more CPU time. In Van Vyve [23], see also [24], even stronger bounds are obtained by combining the extended formulation described in Section 3.2 with a redundant multi-commodity reformulation on which the cutting plane generator of Xpress-MP can generate additional cuts. The CLSP with both customer specific and with non-customer specific time windows was first solved in Brahimi et al. [4], also using Lagrangian heuristics. These were based on a relaxation of the capacity constraints together with some or all of the time window constraints. Depending on the relaxed constraints, the resulting uncapacitated single item problems were either of the classical

183

Wagner–Whitin type (solved in O(T log T) time), non-customer specific time window type (solved in O(T 4 ) time) or customer specific time window type (solved in pseudo-polynomial time). We now describe the problem and formulate it as a mixed integer program. Production of one unit of product i at period t generates a production cost (pit ) and requires i units of the joint resource. The amount of the joint resource available in period t is Ct . The unit holding cost of product i at the end of period t is hit . A setup cost sit is incurred in every period in which production takes place. Furthermore, launching production of item i in period t requires a setup time i from the joint resource. Demands are deterministic but have a particular structure. A demand becomes available at a given period q (availability period) before it can be produced, and must be produced before a due date t (q  t). This demand is represented by diqt . Dit represents the aggregate demand in period t, i.e. Dit = t k=1 dikt . Without loss of generality we assume that each of the items i = 1, . . . , N has a distinct time window. The decision variables are as follows: Xit is the quantity of product i prepared at period t, Iit is the inventory level at the end of period t, and Yit a binary variable, which takes the value 1 if there is a setup of i in t and 0 otherwise (Xit > 0 only if Yit = 1). Model CLSP-TW-ST:

Min

N  T 

(sit Yit + pit Xit + hit Iit )

(1)

i=1 t=1

S.t. t  k=1

N 

Ii,t−1 + Xit = Dit + Iit

Xik 

t  T 

dikl

∀i, t

(2)

∀i, t

(3)

∀t

(4)

k=1 l=k

(i Xit + i Yit )  Ct

i=1

⎛ ⎞ T  Xit  ⎝ Dil ⎠ Yit

∀i, t

(5)

l=t

Yit ∈ {0, 1} ∀i, t

(6)

Xit , Iit  0 ∀i, t

(7)

The objective (1) is to minimize total setup, production, and holding costs. Constraints (2) are the inventory balance equations. The capacity constraints are represented by (4). Constraints (3) state that the cumulative production in the first t periods does not exceed the cumulative quantity available from periods 1 to t. It follows from the results in [26] that these constraints plus the inventory balance constraints suffice to give solutions satisfying all the time windows. It is also easy to see that these are equivalent to the stock upper bound    constraints Iti  uit where uit = tk=1 Tl=k dikl − tk=1 Dik . Constraints (5) relate the binary setup variables Yit to the continuous variables Xit . We now outline the structure of the paper. The Lagrangian heuristic we propose in Section 2 is based on the formulation (1)–(7). The capacity constraints (4) are relaxed and the resulting uncapacitated single item non-customer specific time window problems are solved using dynamic programming. To construct feasible solutions, we used a modified version of the smoothing heuristic in [21].

184

N. Brahimi et al. / Computers & Operations Research 37 (2010) 182 -- 188

In Section 3 we take the polyhedral approach using tight formulations. Specifically, if ZiLS−TW denotes the set of solutions to (2), and (3), (5)–(7) for a fixed item i, problem CLSP-TW-ST can be rewritten in a compact way as the problem ⎧ ⎨  (sit Yit + pit Xit + hit Iit ), (Yi , Xi , Ii ) ∈ ZiLS−TW min ⎩ t i ⎫ ⎬ for i = 1, . . . , N, (Y, X, I) satisfies (4) ⎭ We consider a relaxation Z WW−TW of Z LS−TW for which a simple inequality description of the convex hull is known. Our tightened MIP then consists of (2)–(6) plus the inequalities describing conv(Z WW−TW ) for each item i. Finally in Section 4 we present our computational results comparing the Lagrangian and polyhedral approaches. 2. Lagrangian relaxation approach In Lagrangian relaxation of the classical CLSP (without time windows), most authors consider the capacity constraints as the complicating constraints (see e.g. [20,21]). Relaxing capacity constraints decomposes the problem into N independent uncapacitated single item problems, each solvable in O(T log T) time [1,9,25]. In the CLSP with time windows, relaxing capacity constraints (4) decomposes the problem into uncapacitated single item problems with time windows. Algorithm 1 presents the general scheme of our Lagrangian relaxation (see Parker and Rardin [18]). The vector  of Lagrangian multipliers (1 , 2 , . . . , t ) is associated to capacity Constraints (4). Algorithm 1. Lagrangian relaxation algorithm Step 1: Initialization. a. Initialize all multipliers to 0. b. Set iteration number k = 1. 1 c. Initialize step length,  (set to 2 in our case). d. Initialize the lower bound LB = −∞ and the upper bound UB = ∞. Step 2: Solving the relaxed problem. Solve L()k (see Section 2.1) and calculate current lower bound LBk . Step 3: Incumbent saving. If LB < LBk , then LB := LBk . Step 4: Smoothing heuristic. Use the values of X, I and Y obtained in Step 2 and heuristic procedure to determine a feasible solution and an upper bound UBk . The SCAPA procedure (described in Section 2.2) is used in our case. If UB > UBk , then UB := UBk Step 5: Updating multipliers. Lagrangian multipliers are updated using the subgradient optimization method. Step 6: Stopping conditions. If any stopping condition is met, then stop. The stopping conditions are either an optimal solution is found, i.e. LB = UB, or the number of iterations k reaches 500. Step 7: Step 8:

k+1

k

=  /1.5 if the best lower bound Update step length.  is not improved during the last 20 iterations Increment k and go to Step 2.

Though the updating approach of Lagrangian multipliers might be slow, the whole algorithm is still very fast as shown in the experimental results (Section 4.2). This is due mainly to our quick smoothing heuristic. Lagrangian parameters were set empirically after some initial experiments.

2.1. Solving the relaxed problems By dualizing Constraints (4), we obtain N independent uncapacitated single item problems with non-customer specific time windows of the form  (sLit Yit + pLit Xit + hit Iit ) + C1 (8) min t

S.t. (Yi , Xi , Ii ) ∈ ZiLS−TW

(9)

where the Lagrangian setup costs are sLit =sit + i t and the production costs are pLit = pit + i t , and C1 is a constant that depends on the values of Lagrangian multipliers . Each of these problems was solved in O(T 2 ) time using the dynamic programming algorithm proposed by Wolsey [26]. 2.2. Heuristic to construct feasible solutions A modified version of the SCAPA procedure proposed in Brahimi et al. [4] was used to build feasible solutions at each iteration of the Lagrangian heuristic. While trying to satisfy capacity constraints (4), SCAPA avoids violating any of the other constraints of the problem, particularly time window constraints (3). SCAPA extends the TTM smoothing heuristic proposed by Trigeiro et al. [21], where a Lagrangian relaxation approach was implemented for the CLSP with setup times. In this approach, capacity constraints are relaxed, and the resulting uncapacitated single item problems are solved using dynamic programming. Then, the TTM smoothing heuristic is used in a relatively myopic manner to modify the dynamic programming solution. TTM has a maximum of four passes: a backward pass, a forward pass, then another backward pass and another forward pass. It stops if overtime (exceeding available capacity) is totally removed or if, after the four passes, it does not manage to remove overtime. Otherwise, a fix-up pass is used to remove unnecessary inventory. Our first modification to build SCAPA consists of preventing forward and backward shifts of overtime that will induce violation of time window constraints. The second modification was made after some experimental tests. In the original TTM procedure, if the problem does not include setup times, then the algorithm consists of a forward pass, a backward pass and a fix-up pass. In our case, due to the complexity of the problem and even if we do not consider setup times, using this approach rarely gives feasible solutions. Thus we use the four steps to obtain satisfactory results. The third and last modification was made in the fix-up pass. Here also, time windows should not be violated while trying to remove unnecessary inventory. 3. Polyhedral approach This approach consists of obtaining tighter formulations of the CLSP-TW-ST and feeding these formulations to a commercial solver. If ZiLS−TW denotes the set of solutions to (2), (3), (5)–(7) for a fixed item i, problem CLSP-TW-ST can be written as before as the problem ⎧ ⎨  (sit Yit + pit Xit + hit Iit ), (Yi , Xi , Ii ) ∈ ZiLS−TW min ⎩ t i ⎫ ⎬ for i = 1, . . . , N, (Y, X, I) satisfies (4) ⎭ One way to obtain tighter formulations is to derive good approximations or exact formulations for the convex hulls of the single item sets Z LS−TW . The particular formulation used here (see Wolsey [26]) is the convex hull of a closely related set Z WW−TW consisting

N. Brahimi et al. / Computers & Operations Research 37 (2010) 182 -- 188

of all points (Y, X, I) for which there exists a point (Y, X, I ) ∈ Z LS−TW with I  I . This set is a very effective relaxation as it allows one to solve all uncapacitated single item lot-sizing instances for which the costs satisfy the non-speculative (or Wagner–Whitin) cost property: pt + ht  pt+1 for all t. The approach taken is thus to add a reformulation of conv(ZiWW−TW ) for each item i, and then feed the resulting mixed integer programming formulation to the commercial MIP solver. 3.1. The convex hull of the single item set Z WW−TW Here we derive all the inequalities that are needed to describe the convex hull. Observation 1. Aggregating Constraints (2) for periods t, . . . , l gives    Ii,t−1 + lu=t Xit  lu=t Diu . Thus if lu=t Diu > Ii,t−1 , there must be production at least once in the interval, and one obtains the valid inequality l 

Yit  1

(10)

u=t

Observation 2. Consider the stock Ii,t−1 at the end of the period t−1 and the demand Diu for some period u  t. Clearly, if there is no production in the interval [t, . . . , u], the demand Diu must be part of the stock Ii,t−1 . It follows immediately that the inequalities Ii,t−1 

l 

Diu (1 − Yit − · · · − Yiu )

u=t

are valid for all i and all 1  t  l  T. Summing terms, these can be written in the equivalent form ⎛ ⎞ l l l    ⎝ Dij ⎠ Yiu  Diu (11) Ii,t−1 + u=t

j=u

185

is used to define the range of the uniform probability distribution. CV is either equal to 0.35 or to 0.59. Moreover, 25% of the demands in each of the first four periods were randomly chosen and set to zero. This parameter, called lumpiness and note LMP in the sequel (LMP = 0.25), will also be used below to generate the time window demands. The value of the Time Between  Orders (TBO) is calculated ¯ where s¯ , h¯ and d¯ using the EOQ formula, namely TBO = 2s¯ /(h¯ × d), are the average values per product and per period of the setup cost, the holding cost and the demand, respectively. TBO takes values 1, 2 and 4, and are varied by modifying the value of the setup cost. The per unit capacity utilization i is equal to 1 for allproducts. The setup times i are randomly generated for each product, and the average value  over all products is either 11 or 43 capacity units. A target utilization of capacity is used (based on the total capacity required for an initial solution with EOQ lot sizes), whose possible values are 75%, 85% and 95%. Finally, the production cost pit is set to 0 for all products and all periods. By combining the above parameters, the total number of generated scenarios is 3 × 3 × 3 × 2 × 2 with five problems generated for each scenario, i.e. 540 test problems. To create our test problems from the ones of [21], non-customer specific time window demands diqt are generated in two steps. The first step consists in generating demands for customer specific problems. The probability of having a positive time window demand (dist ) with due date equal to t is set to pist = max{1/((1 − LMP) × t), 0.5} or pist = max{1/(0.75 × t), 0.5}. This will allow us to randomly generate the time windows that will have a positive demand. The total number of these demands is counted as . Then, the values of these time window demands are drawn from a uniform distribution / (1 − (LMP/2)), DTTM / (1 + (LMP/2))], where in the interval [DTTM it it LMP = 0.25 is the lumpiness as defined above. In the generated data  − ts=1 dist |  5% in general. In the second sets, we noticed that |DTTM it step, these generated customer specific problems were converted into non-customer specific problems using the algorithm in DauzèrePérès et al. [6].

u=t

In [26], it is shown that the inequalities (10) and (11) along with the initial formulation suffice to describe conv(Z WW−TW ) when the capacities are unrestricted. Based on these observations, the formulation fed to the MIP solver consists of (1)–(7) plus the O(NT 2 ) constraints (10) and (11). 4. Computational experiments Computational experiments were carried out using a Pentium IV 1.6 GHz microprocessor-based personal computer. The algorithms were implemented with the Borland C++ Builder 6.0 compiler. The commercial optimization software used to solve the integer programming formulations is Xpress-MP [17] version 2006. 4.1. Data sets To generate lot-sizing problems with non-customer specific time windows and setup times, we started from the 540 test problems (with setup times but no time windows) of phase 3 (last phase) of the the computational analysis performed in [21]. We note DTTM it TTM demand of product i to be satisfied at period t. Time window  . demands of product i (dist ) were generated so that ts=1 dist ≈ DTTM it The way these demands are generated and the remaining parameters of the generated data sets are detailed below. For the sake of completeness, let us recall the main characteristics of the 540 test problems of [21]. The length of the horizon is set to T = 20 periods, and three values are used for the number of products N: 10, 20 and 30. For each product, the demand is uniformly randomly generated with a mean of 100, and a Coefficient of Variation (CV)

4.2. Experimental results Define LR, MIPX, and MIPB as the Lagrangian relaxation approach, the MIP approach using the tightened formulation (1)–(7), (14), and (15) and the MIP approach with the original formulation (1)–(7). Let UB(x) and LB(x) be the upper bound and lower bound obtained using the solution approach x. To perform different quality measures by calculating the distances between lower and upper bounds of the same solution approach and between upper bounds (lower bounds) of different approaches. The distance or gap between two values a and b, where a  b, is calculated as follows: Gap(a, b) = 200 ×

a−b a+b

For example the gap between the upper and lower bounds of the Lagrangian relaxation is Gap(UB(LR), LB(LR)) = 200 ×

UB(LR) − LB(LR) UB(LR) + LB(LR)

The formula (Gap(a, b) = 200 × (a − b)/(a + b)) is used instead of (100 × (a − b)/a) which overestimates the gap and (100 × (a − b)/b) which underestimates it. This approach was used, for example, by Millar and Yang [16] and Brahimi et al. [4]. Our first experiment, reported in Tables 1–4, involves running the Lagrangian relaxation approach for at most 500 iterations, stopping earlier if optimality is proven. Then we run Xpress-MP for at least the same CPU time used by the Lagrangian relaxation approach. The CPU time given to Xpress-MP was at least 1 s longer than that required by Lagrangian relaxation, see columns 6–8 of Table 2.

186

N. Brahimi et al. / Computers & Operations Research 37 (2010) 182 -- 188

Table 1 Number and percentage of problems for which feasible solutions were found (out of 540 problems). MIPB

MIPX

LR

466 86.3

529 98

535 99.1

Number of feasible solutions Percentage (%)

Table 2 Average gaps and CPU times of the three solution approaches. Parameter

Value

Gap(UB,LB) MIPX

LR

MIPB

MIPX

LR

10 20 30

16.58 24.01 25.64

2.92 1.32 1.26

2.76 1.02 0.58

3.32 5.79 7.84

3.33 5.81 7.95

2.09 4.14 5.92

Capacity

75% 85% 95%

20.74 21.69 23.89

0.33 1.20 4.14

0.33 1.02 3.15

4.73 5.48 6.73

4.05 5.38 7.66

3.09 3.94 5.12

TBO

1 2 4

2.32 21.39 52.15

0.60 1.01 4.06

0.70 0.90 2.88

4.16 6.25 6.54

3.36 6.09 7.64

2.69 4.55 4.90

CV

0.35 0.59

25.82 18.22

2.10 1.59

1.50 1.43

5.67 5.63

5.81 5.59

3.94 4.16



11 43

26.68 15.83

1.80 1.89

1.52 1.41

5.64 5.66

5.66 5.73

4.05 4.05

21.94

1.84

1.46

5.70

5.65

4.05

Global average

Table 3 Gaps between LB(MIPX) and LB(LR). Parameter

Value

Gap(LB(MIPX), LB(LR))

N

10 20 30

0.21 0.04 0.08

Capacity

75% 85% 95%

0.04 0.08 0.22

TBO

1 2 4

0.16 0.05 0.14

CV

0.35 0.59

0.09 0.14



11 43

0.11 0.12

Global average

Parameter

Value

Gap(UBMIPX,UBLR) (LR is better)

Gap(UBLR,UBMIPX) (MX is better)

N

10 20 30

0.71 0.51 0.76

0.34 0.16 0.06

Capacity

75% 85% 95%

0.67 0.64 0.65

0.18 0.25 0.13

TBO

1 2 4

0.24 1.08 0.64

0.05 0.30 0.20

CV

0.35 0.59

0.69 0.62

0.22 0.16



11 43

0.75 0.56

0.17 0.21

0.65 197 (36%)

0.19 231 (43%)

CPU (s)

MIPB N

Table 4 Gaps between UB(MIPX) and UB(LR).

Global average Number of better UBs

The first observation is that the MIPB approach always generates larger gaps (21.94% on average) than the two other approaches. This is obviously due to the poor lower bounds generated by the basic formulation. The last line of Table 2 also shows that the average gaps of MIPX and LR are 1.84% and 1.46%, respectively. For all problem types, the LR gaps were better than the MIPX gaps except for problems with loose capacity (the same average gaps) and where time between orders is small (0.60% for MIPX and 0.70% for LR). These are the easiest problems in the data sets, thus Xpresss-MP quickly finds feasible solutions and improves them. The effect of the parameters on the solution approaches is similar. Gaps decrease with an increasing number of products and with demand variability; and increase with tighter capacities, and increasing TBO and setup times. The only exception is that the MIPX gaps increase with increasing setuptimes, while the LR and MIPB gaps decrease. Though the gaps of LR are better than those of MIPX, we notice that all lower bounds from MIPX are at least as good as those from LR and in most cases are better (larger). This is not guaranteed because in principle if run to completion the Lagrangian dual bound that could be attained is ⎧ ⎨  (sit Yit + pit Xit + hit Iit ) : (Yi , Xi , Ii ) ∈ conv(ZiLS−TW ), min ⎩ t i ⎫ ⎬ i = 1, . . . , N, (Y, X, I) satisfies (4) ⎭

0.12

We started our analysis by counting the number of feasible solutions found out of the 540 tested problems. As shown on Table 1, the Lagrangian heuristic finds feasible solutions for most problems (99.1%), i.e. five problems were unsolved. In addition to these five problems, the MIPX approach did not solve six more problems (feasible solutions were found for 98% of problems). Finally, the MIPB approach found feasible solutions for only 86.3% of the problems. Table 2 summarizes the average gaps between upper bounds and lower bounds of each solution approach (columns 3–5) and the corresponding CPU times (columns 6–8). The best gaps are shown in boldface. Note that the average gaps were calculated by only including problems for which the approach found a feasible solution.

whereas the linear programming bound from the reformulation is ⎧ ⎨  min (sit Yit + pit Xit + hit Iit ) : (Yi , Xi , Ii ) ∈ conv(ZiWW−TW ), ⎩ t i ⎫ ⎬ i = 1, . . . , N, (Y, X, I) satisfies (4) ⎭ which is potentially weaker. However the MIP solver carries out preprocessing which can significantly improve the bounds and performance. In Table 3, we measure the distance between the lower bounds of LR (i.e. LB(LR)) and those of MIPX (i.e. LB(MIPX)). On average, LB(MIPX) are 0.12% better than LB(LR). The largest distance between the two was reached for the tightest capacity (0.22%). This might be

N. Brahimi et al. / Computers & Operations Research 37 (2010) 182 -- 188 Table 5 Evolution of MIPX gaps for the 20 hardest problems among the 540 problems. Problem number

CPU time 10 s

1 min

5 min

30 min

389 431 432 433 434 435 441 444 448 449 450 461 521 522 524 525 536 537 538 540

1.59 4.94 6.02 26.56 5.88 7.74 23.11 23.6 6.34 Inf Inf 1.14 1.78 3.68 Inf 1.07 Inf 4.39 4.87 Inf

1.27 0.78 2.44 1.98 2.13 2.11 2.75 1.15 1.83 Inf Inf 1.07 0.69 1.23 Inf 0.65 Inf 0.97 4.84 2.18

1.03 0.77 2.41 1.96 2.11 2.1 2.08 1.14 1.82 7.54 7.28 0.95 0.53 0.98 3.31 0.59 3.41 0.95 1.25 2.16

0.82 0.49 1.38 1.92 2.07 1.95 1.26 0.41 1.75 4.76 3.87 0.66 0.48 0.38 2.18 0.36 2.75 0.52 1.19 1.91

Average gap

8.18

1.75

2.22

1.56

187

In this study, we focused on problems generated based on the data of Trigeiro et al. [21]. It might be useful to extend the analysis to other data sets such as those considered in [4] where setup times could be added. To check whether the lower or the upper bounds provided by the different approaches are weak, it is important to know the values of optimal solutions of the problems. These might be obtained by running MIPX with Xpress-MP for several hours, or by developing a specialized branch and bound procedure. One can easily extend this study to problems with general customer specific time windows. The Lagrangian relaxation results obtained here can be extended to the customer specific case by using the very recent O(T 6 ) dynamic programming algorithm of [11] for the relaxed customer specific single item subproblems, or the tight linear programming extended formulation from [26], or using the O(T 2 ) algorithm for the non-customer specific problems, and a modification of the smoothing heuristic. On the other hand, the MIP approach can be directly applied to the customer specific problem using either the additional inequalities proposed here, or the tight linear programming cited above whose projection gives the convex hull of solutions for the customer specific case. Acknowledgments The authors are grateful to the referees for their constructive comments.

explained by the fact that Lagrangian relaxation is based on capacity constraints. Thus, the tighter these constraints are, the worse are the lower bounds. While the linear relaxation of the tightened formulation (MIPX) yields very good lower bounds for the objective of the original IP problem. Furthermore, tighter capacities result in better approximations of the right hand side of the capacity constraints. On the other hand, upper bounds of LR were on average 0.44% better than those of MIPX. However, as shown on Table 4, the LR upper bounds were better than those of MIPX in 36% of the problems and the bounds UB(MIPX) were better for 43% of the test problems. Finally, in Table 5, we analyze the evolution of the gaps when MIPX was run for 10 s, 1, 5 and 30 min, respectively. This was carried out for the 20 hardest problems, i.e. the problems with largest gaps (including, those for which no feasible solution was found in the runs of Table 2. Note that the average gaps are only calculated for problems for which a feasible solution is found (i.e. the problem is solved, although maybe not to optimality) within the time limit). This explains why the average gap for the 1 min CPU time column is smaller than that of the 5 min column. Note that after 5 min a feasible solution is found for all 20 instances, and the gap reduction compared with the initial 10 s runs are highly significant. After 30 min all instances have a gap of less than 5% and all but two a gap of less than 3%. 5. Conclusion In this study, we solved the capacitated multi item lot-sizing problem with non-customer specific time windows and setup times using two different approaches: a Lagrangian relaxation-based heuristic and a commercial software on new reformulations. The numerical results showed that the Lagrangian heuristic quickly finds good feasible solutions. However, the steady state of this heuristic is also reached very quickly; i.e., improvement of the lower and upper bounds becomes impossible after few seconds. On the other hand, the commercial software Xpress-MP, when applied to our efficient reformulations quickly finds good lower bounds and takes longer time to find and improve feasible solutions. However, its steady state is reached after almost 1 h thus yielding better results if it is given “enough” time.

References [1] Aggarwal A, Park JK. Improved algorithms for economic lot-size problems. Operations Research 1993;41:549–71. ¨ ¨ ukyavuz ¨ [2] Atamturk A, Kuç S. Lot sizing with inventory bounds and fixed costs. Operations Research 2005;53:711–30. [3] Barany I, Van Roy TJ, Wolsey LA. Strong formulations for multi-item capacitated lot-sizing. Management Science 1984;30:1255–61. [4] Brahimi N, Dauzère-Pérès S, Najid N. Capacitated multi-multi item lot sizing problems with time windows. Operations Research 2006;54(5):951–67. [5] Caserta M, Quiñonez Rico E. A cross entropy-Lagrangian hybrid algorithm for the multi-item capacitated lot-sizing problem with setup times. Computers and Operations Research 2009;36:530–48. [6] Dauzère-Pérès S, Brahimi N, Najid N, Nordli A. The single-item lot sizing problem with time windows. Technical Report, 02/4/AUTO, Ecole des Mines de Nantes, France; 2002. [7] Degraeve R, Jans Z. A new dantzig-wolfe reformulation and branch-and-price algorithm for the capacitated lot sizing problem with set up times. Operations Research 2007;55:909–20. [8] Eppen GD, Martin RK. Solving multi-item lot-sizing problems using variable definition. Operations Research 1987;35:832–48. [9] Federgruen A, Tzur M. Simple forward algorithm to solve general dynamic lot sizing models with n periods in 0(n log n) or 0(n) time. Management Science 1991;37(8):909–25. [10] Gopalakrishnan M, Ding K, Bourjolly JM, Mohan S. A tabu-search heuristic for the capacitated lot-sizing problem with set-up carryover. Management Science 2001;47(6):851–63. [11] Hwang HC. Dynamic lot-sizing with production time windows. Naval Research Logistics 2007;54:692–701. [12] Jans R, Degraeve Z. Improved lower bounds for the capacitated lot sizing problem with setup times. Operations Research Letters 2004;32(2):185–95. [13] Krarup J, Bilde O. Plant location, set covering and economic lot sizes: an O(mn) algorithm for structured problems. In: Collatz L et al., editor. Optimierung bei graphentheoretischen und ganzzahligen probleme. Basel: Birkhauser; 1977. p. 155–80. [14] Lee C-Y, Cetinkaya S, Wagelmans APM. A dynamic lot-sizing model with demand time windows. Management Science 2001;47:1384–95. [15] Maes J, Van Wassenhove LN. A simple heuristic for the multi-item, single level capacitated lot sizing problem. Operations Research Letters 1986;4(6):265–73. [16] Millar HH, Yang M. Lagrangian heuristics for the capacitated multi-item lot-sizing problem with backordering. International Journal of Production Economics 1994;34:1–15. [17] Dash Optimization. Xpress-mp. Web: http://www.dashoptimization.com ; 2006. [18] Parker RG, Rardin RL. Discrete optimization. San Diego: Academic Press; 1988. ¨ [19] Sural H, Denizel M, Van Wassenhove LN. Lagrangian relaxation based heuristics for lot sizing with setup times. European Journal of Operational Research 2009;194:51–63. [20] Thizy JM, van Wassenhove LN. A subgradient algorithm for the multi-item capacitated lot-sizing problem. IIE Transactions 1986;18:114–23.

188

N. Brahimi et al. / Computers & Operations Research 37 (2010) 182 -- 188

[21] Trigeiro WW, Thomas LJ, McClain JO. Capacitated lot sizing with set-up times. Management Science 1989;35:353–66. [22] van den Heuvel W, Wagelmans A. Four equivalent lot-sizing models. Operations Research Letters 2008;36:465–70. [23] Van Vyve M. A solution approach of production planning problems based on compact formulations for single-item lot-sizing models. PhD thesis, UCL, 2003.

[24] Van Vyve M, Wolsey LA. Approximate extended formulations. Mathematical Programming B 2006;105:501–22. [25] Wagelmans A, van Hoesel S, Kolen A. Economic lot sizing an o(n log n) algorithm that runs in linear time in the wagner-whitin case. Operations Research 1992;40(Suppl. 1):145. [26] Wolsey LA. Lot-sizing with production and delivery time windows. Mathematical Programming, Series A 2006;107:471–89.