DIPLOMARBEIT
Titel der Diplomarbeit
„Solution Methods for Lot-Sizing Problems – Multi-Level
Models with and without Linked Lots“
Verfasser
Wolfgang Summerauer
angestrebter akademischer Grad
Magister der Sozial- und Wirtschaftswissenschaften
(Mag. rer. soc. oec.)
Wien, im November 2008
Studienkennzahl lt. Studienblatt: A 157
Contents
1 Introduction 3
2 The Lot-Sizing Problem 5
2.1 Uncapacitated Lot-Sizing Problem . . . 5
2.2 Capacitated Lot-Sizing Problem . . . 6
2.3 Multi-Level Problems . . . 6
2.4 Small- and Big-Bucket Models . . . 6
2.5 Solution Approaches . . . 8
3 Mathematical Formulation 10 3.1 Standard Formulation . . . 10
3.2 Simple Plant Location Formulation . . . 12
4 Decomposition 14 4.1 Standard Formulation . . . 14
4.2 Simple Plant Location Formulation . . . 20
5 Ant Colony Algorithm 21 5.1 General Description . . . 21
5.2 MAX-MIN Ant System for the MLCLS problem . . . 22
6 Results for the MLCLS Problem 26 6.1 Computational Results . . . 26
6.2 Criticism . . . 28
7 Solution Approach for the Linkage Property 30 7.1 Model Formulation . . . 30
7.2 Decomposition . . . 32
8 Results for the CLSPL 35
9 Conclusion 37
Bibliography 38
1 Introduction
In this thesis we center our attention on the lot sizing problem, which is part of the material requirements planning (MRP). In many production processes it costs money and takes time to setup a machine for a certain product. A lot-sizing problem there-fore identifies the optimal timing and batch size of production. More precisely, it tries to minimize the inventory, setup, and production costs while meeting the required de-mand. Since production decisions and costs directly affect a company’s efficiency and competitiveness in the market, the lot sizing problem is of utmost importance for every producing firm.
There are many different models and methods for solving various lot sizing problems. This thesis mainly deals with the multi-level capacitated lot-sizing problem (MLCLS), and then expands the model by adding the possibility of linking a setup state from one period to the next. The MLCLS problem is NP-complete (see Maes and McClain, 1991, for a proof). The solution approach used for the MLCLS problems is a hybrid algorithm from Pitakaso et al. (2006) which decomposes the given problem into multiple smaller subproblems. These subproblems are then solved by CPLEX, a commercial LP/MIP-Solver developed by ILOG. An Ant Colony Optimization (ACO) algorithm, a probabilistic metaheuristic that mimics the behavior of ants, is then applied to determine the lot-sizing sequence and to improve the decomposition. The ACO algorithm used in this thesis is a MAX-MIN ant system (MMAS) developed by Stützle and Hoos (1997). Our approach works very well with medium-sized problems, but is not able to compete with the other approaches when solving large-sized test instances.
As stated before, the capacitated lot-sizing problem is then expanded by adding a linkage property to the model. We use the same ant-based approach to solve the capac-itated lot-sizing problem with linked lot sizes (CLSPL) which combines the characteris-tics of big- and small-bucket models. The CLSPL is a big-bucket model that allows the preservation of a setup state from one period to the next. We implement the CLSPL formulation suggested by Stadtler and Suerie (2003). Since this CLSPL model exchanges the common production variable by a simple plant location (SPL) formulation, we also test these two formulations for effectiveness. Our approach to solve the CLSPL problem is then tested with single-level and multi-level test instances.
The remainder of this thesis is organized as follows. Section 2 provides a detailed literature review of the different lot-sizing problems. Furthermore, an overview of the solution approaches for the lot-sizing problem is given. In the third Section the
math-ematical formulation is defined while the fourth Section explains the decomposition. Section 5 describes the MMAS algorithm and is followed by computational results for the MLCLS problem in Section 6. The solution approach for the linkage property is given in Section 7. Results for the CLPSL problem are presented in Section 8. Finally, the thesis finishes with a summary and further possible research in Section 9.
2 The Lot-Sizing Problem
2.1 Uncapacitated Lot-Sizing Problem
The first formulation of a dynamic lot-sizing problem dates back to Wagner and Whitin (1958) who introduced a single-item uncapacitated lot-sizing problem (ULS). In order to optimally solve the underlying problem a linear programming (LP) model is required. A LP model tries to optimize a certain objective function subject to some linear constraints. More precisely, the problem below is a mixed integer programming (MIP) model, which means that not all the variables have to be integer. The MIP model is as follows:
min T X t=1 (styt+ htIt+ cxtxt), (1) subject to It = It−1+ xt− Et, ∀t, (2a) xt ≤ T X τ =t Et yt ∀t, (2b) It≥ 0, xt ≥ 0, yt ∈ {0, 1}, ∀t. (2c)
The model contains the following variables: xt stands for the production quantity
in period t, yt is the setup variable, and It represents the inventory level in period
t. Therefore, the objective function (1) tries to minimize the overall production(cx t),
inventory(ht), and setup (st) costs. The first constraints (2a) make sure that the external
demand Et is satisfied by either production in period t or by inventory from previous
periods. Moreover, the constraints determine how much inventory is stored for future demands. The second constraints (2b) state that whenever production occurs a setup has to be made. Finally, the last constraints (2c) are the usual non-negativity and binary constraints.
Concerning the multi-item uncapacitated lot-sizing model, Wolsey (1989) for example analyzed the problem with start-up costs, while Pochet and Wolsey (1987) examined the problem with backlogging. Other authors for example developed simple heuristics to minimize the average setup cost and inventory cost over several periods (see Silver and Meal, 1973). Zangwill (1969) showed that the ULS is in effect a fixed charge network problem.
2.2 Capacitated Lot-Sizing Problem
A classical extension to the basic formulation is the multi-item capacitated lot-sizing problem (CLSP) (see Figure 1 in Section 2.4) where several items can be produced on one machine within one period over a given planning horizon. Production is therefore limited by the capacity constraint. The CLSP is NP-hard (see Bitran and Yanasse, 1982, for a proof). Trigeiro et al. (1989) extended the CLSP by adding setup times to the model.
2.3 Multi-Level Problems
The multi-level lot-sizing (MLLS) model deals with production processes that use various subassemblies and components to build a certain end item. Therefore, two kind of demands have to be considered in the inventory constraint: the primal (external) demand from the market place, and the secondary (internal) demand which is triggered when the production process starts to lot-size the ordered end item. Zangwill (1966) started with an uncapacitated multi-facility problem while Lambrecht and Vander Eecken (1978) extended the approach by adding capacity constraints at the last level. Further research for example was made by McClain and Thomas (1989), Tempelmeier and Helber (1994) and Harrison and Lewis (1996). Authors like e.g. Stadtler (2003) and Tempelmeier and Derstroff (1996) added set up times to the problem.
2.4 Small- and Big-Bucket Models
Another distinction in the literature is between small- and big-bucket models. Big-bucket models have the assumption that several products can be produced on the same machine in one period, while small-bucket models only allow a setup for one product on the same machine. However, in a small-bucket model it is possible to carry over a setup state for a certain item from one period to the next. Fleischmann (1990) proposed the discrete lot-sizing and scheduling problem (DLSP) where the linking of a setup state for one item is only possible if production uses the full capacity in the next period. In contrast, Karmarkar and Schrage (1985) and Salomon (1986) analyzed the continuous setup lot-sizing problem (CSLP) where production has not to use up the full capacity. The following LP model represents the CSLP formulation:
min P X i=1 T X t=1 (sizit+ hiIit+ cxixit), (3)
subject to
Iit= Iit−1+ xit− Eit, ∀i, t, (4a) P X i=1 yit≤ 1 ∀t, (4b) aixit≤ Ltyit ∀i, t, (4c) zit ≥ yit− yit−1 ∀i, t, (4d) Iit≥ 0, xit≥ 0, yit, zit∈ {0, 1}, ∀i, t. (4e)
The objective function (3) includes a new variable called start up variable zit. Every
time a machine is set up for which it was not set up in the previous period start up costs si occur. There is no change to the inventory constraints (4a). Constraints (4b) limit
the setup per item and period to one. The next constraints (4c) restrain the production quantity by the available capacity Lt if a setup is made in that period. Constraints (4d)
state that an item can only start up if the setup for that item in the current period is not equal to the setup in the previous period. The last constraints (4e) are again the usual binary and non-negativity constraints.
Note that the only difference between the DLSP and the CSLP is that in the DLSP constraints (3c) are formulated as an equality. Furthermore, the proportional lot sizing and scheduling problem (PLSP, see Figure 1) allows two items per period to use the same capacity, whereas there is no restriction concerning the consumption of the capacity (cf. Drexl and Haase, 1995.
Although the small-bucket model represents a more realistic scenario and allows for more accurate planning, it is certainly undesirable to divide the planning horizon into a huge number of small periods since it increases the complexity for the solution approach. To avoid the mentioned weakness of the small-bucket model and the possibly unrealistic simplifications of the big-bucket model, new model formulations are presented in the literature to combine both models. Fleischmann and Meyr (1997) introduced the general lot-sizing and scheduling problem (GLSP) where large time periods can be divided into several smaller time buckets of variable length, and the production in these periods is restricted to a single item. The model formulation we use in this thesis is the capacitated lot-sizing problem with linked lot sizes (CLSPL)(see e.g. Gopalakrishnan et al., 1995, 2001; Haase, 1994; Sox and Gao, 1999; Stadtler and Suerie, 2003) which is a big-bucket model that allows to carry-over setup states (see Figure 1).
Figure 1: Three different formulations of the lot-sizing problem with linked lot sizes. The Figure is taken from Stadtler and Suerie (2003).
2.5 Solution Approaches
The lot-sizing problem is well known for being hard to solve, since even the single-item capacitated problem is NP-hard (see Florian et al., 1980, for a proof). For that reason a lot of research has been published on how to solve the problem efficiently in an alternative way. Since some formulations for the (mixed) integer programming problem yield to tighter bounds, various authors proposed strong valid inequalities and/or different model formulations. Tempelmeier and Helber (1994) analyzed a network or shortest path formulation, while Stadtler (1996) proposed a simple plant location formulation. Other contributions include heuristic algorithms with or without decomposition (e.g. Almada-Lobo et al., 2007; Stadtler and Suerie, 2003; Tempelmeier and Derstroff, 1996).
More recently, the use of metaheuristic became a well-established way of solving the underlying lot-sizing problem, such as the genetic algorithm (GA), simulated annealing (SA), tabu search (TS), and ant colony optimization (ACO). Xie and Dong (2002) used a GA, which belongs to the evolutionary algorithms and is based on the ideas of natural selection and genetics, to solve the CLSP. Furthermore, Dellaert and Jeunet (2000) solved the uncapacitated MLLS problem with a GA. Berretta and Rodrigues (2004) proposed a memetic algorithm, which is a less constrainted method of the GA, to solve multi-level capacitated lot-sizing problems. Their reported results for the small-sized instances could improve the solutions obtained by Tempelmeier and Derstroff (1996). Oezdamar and
Barbarosoglu (2000) proposed a Lagrangean relaxation-simulated annealing approach for the multi-level capacitated lot-sizing problem. SA is a metaheuristic which comes from annealing in metallurgy, and it is based on the heating and cooling of some material. The controlled slow cooling of the material allows the molecules to have enough time to restructure and build stabilized crystals with lower internal energy. Oezdamar and Barbarosoglu (2000) could improve the results for the small-sized instances obtained by Tempelmeier and Derstroff (1996) but not reach the results from Berretta and Rodrigues (2004). TS is a technique which uses memory structures to set potential solution ’taboo’ so that this solution can not be visited again. Kimms (1996) for example used the TS to solve multi-level lot-sizing and scheduling problems. The ACO algorithm is based on the behavior of ants, which when searching for nourishment, walk randomly until they find some food, leaving pheromone trails behind. Authors like Pitakaso et al. (2006) and Almeder (2007) proposed ant-based algorithms to solve item multi-level capacitated lot-sizing problems. Their approaches were tested with the instances provided by Tempelmeier and Derstroff (1996). Almeder (2007) delivers by far the best results for the medium-ranged instances, while the approach of Pitakaso et al. (2006) is superior to all the other approaches for the large-sized test instances. The time-oriented decomposition heuristic from Stadtler (2003) also provides very good results for the large-sized instances.
3 Mathematical Formulation
3.1 Standard Formulation
This Section provides a mathematical formulation for the MLCLS problem which orig-inates from Stadtler (1996) and was used by Pitakaso et al. (2006). The indices, pa-rameters and decision variables as well as the model itself are taken from Pitakaso et al. (2006).
Dimensions and indices:
P number of products in the bill of material T planning horizon
M number of resources
i item index in the bill of material t period index
m resource index
Parameters:
Γ(i) set of immediate successors of item i Γ−1(i) set of immediate predecessors of item i
si setup cost for item i
cij quantity of item i required to produce unit of item j
hi holding cost for item i
ami capacity needed on resource m for one unit of item i
bmi setup time for item i on resource m
Lmt available capacity for resource m in period t
co
m overtime cost of resource m
G sufficiently large number hi holding cost for item i
Eit external demand for product i in period t
Decision variables:
xit delivered quantity of item i at the beginning of period t
Iit inventory level of item i at the end of period t
Omt overtime hours used on resource m in period t
yit binary variable indicating whether item i is produced in period t (yit = 1)
or not (yit = 0) min P X i=1 T X t=1 (siyit+ hiIit) + T X t=1 M X m=1 comOmt, (5) subject to Iit = Iit−1+ xit− X j∈Γ(i) cijxjt− Eit, ∀i, t, (6a) P X i=1 (amixit+ bmiyit) ≤ Lmt+ Omt, ∀m, t (6b) xit− Gyit ≤ 0, ∀i, t, (6c) Iit≥ 0, Omt≥ 0, xit ≥ 0, yit∈ {0, 1}, ∀i, t. (6d)
The objective function (5) intends to minimize the total setup costs, holding costs and overtime costs. So whenever the available capacity is not sufficient, overtime may be used to meet the dynamic demand. The first equation (6a) in the model is the inventory balance equation, which assures that the inventory level of item i in period t is equal to the sum of the inventory level of the previous period, the amount produced in period t minus the internal demand needed to produce item i and the external demand. Constraints (6b) ensure that the available capacity and the overtime hours used are not exceeded by the capacity used for production and setup. Whereas constraints (6c) state that production in any period t for a certain item i is only possible if a setup is made in that period, with G representing the sum of the remaining demand. Due to performance reasons it is recommended to use a small value of G. The last constraints (6d) are the common non-negativity and binary constraints.
3.2 Simple Plant Location Formulation
The SPL formulation has been used by several authors to solve various lot-sizing prob-lems. It was first introduced by Krarup and Bilde (1977) and then e.g. used by Rosling (1986) for assembly product structures and then considered by Maes and McClain (1991) for serial product structures. Here, we utilize the formulation proposed by Stadtler (1996) and Stadtler and Suerie (2003).
To properly implement the SPL formulation a few changes have to be considered in the LP model. First, the production variables xit are exchanged by zist respective to
xit := T
X
s=t
Dniszits, ∀i, t. (7)
The three-index production variable zits can be seen as the portion of demand of item
i produced for period s in period t. So basically a certain item i can only be produced if a ’plant location’ has been made in period t for the present period or for any following period s. Dnis represents the net demand of product i in period t and it is calculated according to Stadtler (1996): 1, . . . , P : δ = Ii0 " 1, . . . , T : Dn it = max ( 0, Eit+ i−1 X j=1 cijDjtn − δ ) , δ = max ( 0, δ − Eit− i−1 X j=1 cijDnjt ) . # (8) So Dn
itis either zero or the sum of the external and internal demand of item i in period
t minus δ, which represents the remaining inventory at the beginning of period t.
The revised mixed-integer model formulation is identical to the model from Stadtler and Suerie (2003), except for the fact that the model below allows for overtime.
min P X i=1 T −1 X s=1 T X t=s hi(t − s)zistDnit+ P X i=1 T X t=1 siyit+ T X t=1 M X m=1 comOmt (9)
subject to Iit = Iit−1+ T X s=t zitsDnis− X j∈Γ(i) T X s=t cijzjtsDnjs− Eit, ∀i, t, (10a) P X i=1 T X s=t amizitsDnis+ P X i=1 bmiyit ≤ Lmt+ Omt, ∀m, t, (10b) zits≤ yit, ∀i, t, s = t, . . . , T, (10c) t X s=1 zist= 1, ∀i, t, Ditn >0, (10d)
Iit ≥ 0, Omt ≥ 0, yit ∈ {0, 1}, zist≥ 0, ∀i, t, s = t, . . . , T. (10e)
The first change applies to the objective function (9), which now calculates the inven-tory costs by multiplying the holding costs of product i and the portion of demand of item i produced in t for s with the time difference between the period indices t and s. For constraints (10c), it is now possible to omit the parameter G since production variables zist will never take value above one. A new equation (10d) is needed to ensure that the
required demand in each period is satisfied. As before, constraints (10e) are the typical non-negativity and binary constraints which in this case also assure that the variables zist never take values below zero. Concerning the other constraints, the variables xit are
4 Decomposition
4.1 Standard Formulation
Since obtaining an optimal solution for a MLCLS problem with real world instances is rather time consuming, the problem is divided into various subproblems, which are then solved exactly. In the absence of a realistic scenario this can be done by constructing subproblems for either items or periods. But with sizes ranging between 40-100 items in the bill of materials and 20-40 periods, it can be easily seen that the problem size would still be too big to be solved within a reasonable time. To avoid this flaw, the underlying approach combines both variants and splits the bill of material as well as the number of periods into several subproblems.
Prior to the decomposition, the items in the bill of material are sorted so that the successors of a certain item are always positioned somewhere before that item in the list. So if we number the items in the list from 1 to P and item i is a direct successor of item j, then i < j. This lot-sizing sequence allows us to schedule the products one after another, which can lead to numerous variations in the presence of a general system. Furthermore, it is advisable to introduce an overlap region for items and periods in a subproblem to consider the interdependencies between periods and items in different subproblems. Thus, only a certain number of items and periods are fixed after the computation of one subproblem.
To better explain the implications of the decomposition approach consider this simple example with five items and eight periods (see Figure 2). Every subproblem consists of three items and five periods with an overlap of two periods and one item. The decomposition starts with SP1 (subproblem 1), but after the calculation only region I (periods 1-3 and items 1-2) is fixed. Then, SP2 (periods 3-8 and items 1-3) is solved and region II is recalculated and finally fixed. This concludes the first level of the decomposition. In the second and last level, SP3 (periods 1-5 and items 3-5) region III and IV are solved but only III is fixed afterwards, and so on.
If we now consider a single subproblem it is crucial to assign correct capacity limits for every subproblem. Hence, it is not possible to use the general formulation from Section 2. By taking another look at Figure 2, it can be seen that after solving SP1 it is not certain if the available capacity is sufficient for SP3. Since the the model allows for infinite overtime, there are no infeasible solutions. But because overtime costs are very high, the solution will be poor, and therefore it is necessary to include the capacity consumption of previous subproblems. Another problem might occur if the demand
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 SP2 SP3 Periods L o t-S iz in g S eq u en ce
I
SP1II
III
IV
Figure 2: Every subproblem consists of three items and five periods with an overlap of two periods and one item. So after e.g. solving SP1 only region I (periods 1-3 and items 1-2) is fixed.
in one subproblem exceeds the available capacity in that time interval while it would be sufficient in previous periods. As a result, the capacity consumption for setup and production of an item have to be modified to take the capacity needs of its predecessors into account.
This adaption of the problem will lead to additional variables and parameters which are described below. The notation and the model with its description are again taken from Pitakaso et al. (2006).
k index of the subproblem Tk
s starting time period of subproblem k
Tk
e last time period of subproblem k
Pk
s number of first item of subproblem k
Pk
e number of last item of subproblem k
Akmi modified capacity needed for production of one unit of item i on resource m
Bmitk modified capacity needed for setup of production of item i in period t on resource m Sitk modified setup cost for item i in period t of subproblem k
Xit lot size for product i in period t (already determined in previous subproblems)
Zist lot size for product i in period t produced in period s
(already determined in previous subproblems)
(already determined in previous subproblems)
avCmtk available regular capacity of resource m in period t for subproblem k The mixed-integer problem for subproblem k is then
min Pek X i=Pk s Tek X t=Tk s (Sk ityit+ hiIit) + Tek X t=Tk s M X m=1 comOmt, (11)
subject to (each constraint must hold for all i = Pk
s, . . . , Pek, t = Tsk, . . . , Tek, and m = 1, . . . , M ) Iit= Iit−1+ xit− X j∈Γ(i) j<Pk s cijXjt− X j∈Γ(i) j≥Pk s cijxjt − Eit, (12a) Pk e X i=Pk s (amixit+ bmiyit) ≤ Lmt+ Omt− Pk s−1 X i=1 (amiXit+ bmiYit), (12b) t X τ =Tk s Pk e X i=Pk s (Ak
mixiτ + Bmiτk yiτ) ≤ t X τ =Tk s (avCk mτ + Omτ), (12c) xit− Gyit≤ 0, (12d) Iit ≥ 0, xit ≥ 0, Omt ≥ 0, yit∈ {0, 1}. (12e)
Various authors have proposed numerous methods to deal with setup costs when solving a multi-level lot-sizing problem by a series of single level lot-sizing problems (e.g. Dellaert and Jeunet, 2003; McLaren, 1977). The method used here is a randomized cumulative Wagner-Whitin (RCWW) method from Pitakaso et al. (2007) which is an extension of Dellaert and Jeunet (2003). The difference between these methods is that Pitakaso et al. (2007) use sequence-dependent time-varying setup costs (STVS), so the modified setup costs for every product depend on the actual position in the production sequence.
The reason for using modified setup costs in the objective function (11) is due to the fact that lot-sizing an item in a current period results in additional lot-sizes for some predecessors in previous periods. So the setup costs of an item are adapted by a fraction of the setup costs of all its predecessors. This leads to two cases: (i) the predecessor of an item already has a positive demand, which results in no additional costs; (ii) there is no positive demand for a predecessor and therefore we have to add the modified setup costs. To calculate the modified setup cost we introduce a new variable
Tijt is a binary variable which equals to 1 if a lot size of item i in period t leads to
a positive demand for predecessor j (j ∈Γ−1(i)) in period t; Tijt equals to 0 if there is
already a planned lot-size for item j in period t (resulting from a different successor of item j).
and calculate the modified setup costs as following:
Sitk = si+ ri X j∈Γ−1(i) j>Pk e T(i, j, t) Sj |Γ(j)|, (13a)
where Sj is calculated recursively by
Si = si+ X j∈Γ−1(i) Sj |Γ(j)|, (13b) and ri by ri = R · 1 + P −2Φi+ 1 P −1 · u , (13c)
Hence, the value of variable Tijt depends on how the products are scheduled in the
lot-sizing sequence. To avoid adding the setup costs for a single item multiple times, the modified setup costs are divided by the immediate successors in the present subprob-lem. This is due to the fact that not every new lot for an item also creates a positive demand for a certain predecessor if some item with the same predecessor has already been scheduled. The random variable ri decides how much the setup costs of the
prede-cessors influence the modified setup costs. The parameters R ∈ {0, 0.5} and u ∈ {−1, 1} are uniformly distributed random variables, whereas Φi ∈ {1, . . . , P } is the position of
item i in the lot-sizing sequence. Thus, for the first item (= end item) scheduled in the lot-sizing sequence we obtain ri = R(1 + u), whereas for the last item we obtain
ri = R(1 − u). Therefore R determines the average value of r over all items and u is the
slope.
The inventory balance equation (12a) is slightly modified to consider the production quantity fixed in some previous subproblems. To ensure that the available capacity is sufficient in the current subproblem the right-hand side of capacity constraint (12b) is
now reduced by the amount of resources already used in previous subproblems.
A cumulative capacity constraint (12c) is introduced to the model which should guar-antee that the global solution will only use overtime if it is inevitable. The summation term on the left-hand side contains the accumulated capacity needs for every item in the subproblem. The idea behind the modified capacity needs Ak
mi and Bmitk is that if some
item is scheduled, we also have to consider the resources needed for its predecessors in some previous period. They are calculated recursively as follows:
Akmi= ami+ X j∈Γ−1(i) j>Pk e Akmj, (14) Bmitk = bmi+ X j∈Γ−1(i) j>Pk e T(i, j, t) B˜mj |Γ(j) ∩ ∆(i)|, (15a)
where ˜Bmj is the accumulated capacity needed for setup of product i on resource m
˜ Bmi= bmi+ X j∈Γ−1(i) ˜ Bmj. (15b)
Note that the concept of equation (15a) is quite similar to the calculation of the time-varying modified setup costs in (13a). The accumulated capacity needed for setup of product i on resource m is divided by the number of immediate successors which are located in the same group as item i. There are three groups: (i) already lot-sized items; (ii) items in the present subproblem k; and (iii) items which are not yet scheduled.
∆(i) = {i, . . . , Pk s − 1}, if i < Psk, {Pk s, . . . , Pek}, if Psk ≤ i ≤ Pek, {Pk e + 1, . . . , P }, if i > Pek. (15c)
and the yet to schedule resource consumption from the total available capacity Lmt. avCmtk = Lmt− Pk s−1 X i=1 (Ak miXit+ Bmitk Yit) − P X i=Pk e+1 Γ(i)=∅ (Ak miEit+ Bmitk Y E it ), (16a) where YitE = 1, Eit>0, 0, otherwise. (16b)
Due to the fact that a single subproblem does not necessarily contain all available periods, a demand backward shifting from Pitakaso et al. (2006) is introduced to balance the demand in different subproblems. See also Berretta and Rodrigues (2004), Franca et al. (1994), Trigeiro et al. (1989), and Xie and Dong (2002) for various methods for production backward shifting. The demand shifting used here only operates between subproblems of the same level.
/* Decomposition */
Choose the number of items Is and periods Ts included in the subproblems
Set the present level of subproblems p to 1 while p is not the last level do
Perform the capacity modifications (13a)-(16b) for every subproblem
Start the demand shifting procedure and adjust the demands for each subproblem for each subproblem in level p do
Calculate the subproblem with the one containing the first period Fix solution in the non-overlapping region
Utilize the solution (inventory levels) to calculate the next subproblem end
Fix solution for each non-overlapping item Update new demand for the next level p+ 1 p= p + 1
end
Figure 3: Pseudo-code of the decomposition.
The procedure always starts with the last subproblem of the present level contain-ing the last period. In order to quantify the demand for every subproblem, capacity constraint (12c) is modified so that the external demands Eit and the internal demands
P
j∈Γ(i)cijXjt replace the production quantities and setups Yit. Whenever there is a
external or internal demand for item i in period t the demand shifting assumes a posi-tive value for Yit. Starting with the first period in the subproblem, the procedure shifts
any excess demand to the closest period outside the current subproblem. The demand shifting then continues with the previous subproblem and stops when it reaches the first subproblem. The pseudo-code in Figure 3 summarizes the decomposition approach.
4.2 Simple Plant Location Formulation
As for the basic model in Section 3.2, the variables xit are replaced by zist according
to (7). Furthermore, the calculation of the inventory costs in the objective function is replaced by the standard calculation taken from the model in Section 3.1.
min Pk e X i=Pk s Tk e X t=Tk s (Sk ityit+ hiIit) + Tk e X t=Tk s M X m=1 comOmt, (17)
subject to (each constraint must hold for all i = Pk
s, . . . , Pek, t = Tsk, . . . , Tek, and m = 1, . . . , M ) Iit= Iit−1+ Tk e X s=t zitsDnis− X j∈Γ(i) j<Pk s Tk e X s=t cijZjtsDjsn − X j∈Γ(i) j≥Pk s Tk e X s=t cijzjtsDnjs− Eit, (18a) Pk e X i=Pk s Tk e X s=t (amizitsDisn + bmiyit) ≤ Lmt+ Omt− Pk s−1 X i=1 Tk e X s=t (amiZitsDisn + bmiYit), (18b) t X τ =Tk s Pk e X i=Pk s Tk e X s=τ (Ak miziτ sDnis+ B k miτyiτ) ≤ t X τ =Tk s (avCk mτ + Omτ), (18c) t X s=Tk s zist= 1, if Dnit ≥ 0, (18d) zist≤ yit ∀s = t, . . . , Tek, (18e) Iit≥ 0, Omt≥ 0, yit ∈ {0, 1}, zist≥ 0 ∀s = 1, . . . , Tek. (18f)
The next steps of the decomposition are equal to those of the standard formulation in the previous Subsection. In addition, tests have shown that the standard formulation yields to better results than the SPL formulation (see Section 6 for details).
5 Ant Colony Algorithm
5.1 General Description
The Ant Colony Optimization (ACO) algorithm was introduced by Dorigo (1992) in his PhD thesis to solve discrete optimization problems. It is a probabilistic technique that was originally applied to the traveling salesman problem and the quadratic as-signment problem. The idea is based on the behavior of ants, which when searching for nourishment, walk randomly until they find some food. Then, on the way back to their colony, the ants leave trails of pheromone behind. If the food is far away from the colony, the pheromone trail evaporates quickly, while a shorter path has a higher pheromone concentration since more ants follow this way. The concept of evaporation prevents the algorithm to converge towards a locally optimal solution. In other words, a lack of evaporation would attach too much importance to the first ants and bias the next generation of ants, therefore limiting the search space. Following this real life concept, the ACO algorithm creates a population of artificial ants which generate and improve a solution to a certain instance of a combinatorial optimization problem. For the next generation of ants a global memory is updated. After the initialization of the pheromone information the framework of the ACO algorithm can be typically summarized in the following three steps:
• Step 1: Ants construct solutions according to pheromone and heuristic information. • Step 2: Application of local search methods to the solution of the ants.
• Step 3: Update of the pheromone information.
A detailed explanation of the ACO algorithm is now given with the example of the traveling salesman problem (TSP). Given a number of cities (nodes) and the associated costs of traveling from one city to another, the goal of the TSP is to minimize the total costs under the assumption of visiting every city once and of returning to the starting city. The TSP can therefore be represented as a complete graph. In the ACO algorithm the desirability of visiting city j after city i in iteration m is given by the pheromone information τij(m). This information is used in the construction phase (Step 1) and
updated in Step 3. The algorithm starts with randomly placing a number of artificial ants on cities. In every construction step the selection of the next feasible city is bi-ased towards a probabilistic decision. This decision includes the pheromone information τij(m) and the visibility in the ant system framework ηij (or heuristic information). The
inverse arc length of visiting city j after city i is a prudent choice for the visibility. So the ant will therefore favor an arc which has a high pheromone value and where city j is close to city i. The probability of visiting city j after city i can be mathematically formulated by: pkij(m) = τij(m)ηij P l∈Niτil(m)ηil , if j ∈ Nik, 0, otherwise. (19)
The set Nik includes the feasible cities that can be visited by ant k and has not yet been visited. After the solution has been created a local search is applied to verify the local optimality.
In the update phase (Step 3) the before mentioned evaporation decreases the pheromone value by the constant factor ρ, and a number of ants with the best solution quality up-date the pheromone information. The MAX-MIN Ant System (MMAS) by Stützle and Hoos (1997) only allows the global best solution to update the pheromone information. The pheromone update rule is as follows:
τij(m + 1) = ρτij(m) + ∆τij∗ (20)
Note that ∆τ∗
ij = 1/f (s
∗), where f (s∗) represents the cost value, if city j is visited
after i for the best ant, and 0 otherwise. The MMAS bounds the pheromone value by the maximum and minimum limits[τmin, τmax] to avoid extreme differences in the pheromone
amounts. For a convergence proof of the ACO algorithm see Stützle and Dorigo (2002) and Gutjahr (2003).
5.2 MAX-MIN Ant System for the MLCLS problem
In order to determine and subsequently improve the lot-sizing sequence described in the previous Section, a MMAS algorithm is applied.
The algorithm of Pitakaso et al. (2006) uses the ideas of Evolutionary Algorithms to find appropriate values for R and u which are used to calculate the modified setup costs in formula (9a). This concept is now used for the number of items Is and number
of periods Ps included in one subproblem (see Pitakaso et al., 2007). The visibility in
costs sj (see equation (21)). As Pitakaso et al. (2006) state in their paper, they tested
various values for the heuristic information (combination of holding costs and setup costs or no heuristic information), but the use of the original setup costs turned out to deliver the best results. Normally, a local search would be applied to the solutions of the ants, but since the decomposition takes a lot of time, it is not included in the algorithm. The adapted MMAS to solve the MLCLS (called ASMLCLS) is illustrated by the pseudo-code (taken from Pitakaso et al., 2006) in Figure 2.
Procedure ASMLCLS /* Initialization Phase */ Generate initial Rb, ub, Tsb, and Isb
(select best solution out of 20 randomly constructed ones) Initialize pheromone information
while (termination condition not met) do for each ant do
/* Construction Phase (Step 1) */
Construct the production sequence according to decision rule (21) /* Adaptation of R and u values for each ant */
Choose R randomly out of the set {Rb(1 − ϑ), Rb, Rb(1 + ϑ)}
Choose u randomly from {max{−1, ub(1 − ϑ)}, ub,min{1, ub(1 + ϑ)}}
Calculate ri according to (9c)
Choose Is randomly out of the set {Isb− 1, Isb, Isb+ 1}
Choose Ts randomly out of the set {Tsb− 1, Tsb, Tsb+ 1}
(within the boundaries of Table 1)
Perform the decomposition method from Section 3 to evaluate the sequence end
/* Pheromone update phase */ (Step 2)
Update the pheromone matrix according to (22a), update Rb, ub, Tsb, Isb
end
Figure 4: Pseudo-code of ASMLCS taken from Pitakaso et al. (2006).
The algorithm starts by randomly constructing twenty solutions and thereafter saves the values of Rb, ub, Tsb, and Isb from the best solution. Then, the pheromone value is
initialized with the maximum pheromone value (see details below). In the next phase, every ant generates a product sequence on which the decomposition is applied afterwards. The pheromone encoding scheme is taken from Pitakaso et al. (2006) which originates from Stützle (1998). In this scheme the intensity of pheromone trail (= τpj(`)) represents
the desirability of lot sizing item j on the p-th position. So the desirability of choosing item j as the p-th item depends on how preferable it was in the previous iteration. The probability that ant k selects product j on position p in iteration ` is calculated
according to the decision rule (21). The descriptions about the indices, parameters and formulas in this Section are again taken from Pitakaso et al. (2006).
pkpj(`) probability that ant k selects product j on position p in iteration ` τpj(`) intensity of pheromone trail of product j in position p at iteration `
α parameter to regulate the influence of τpj(`)
β parameter to regulate the influence of sj
Npk set of selectable products in position p of ant k based on the bill of materials
pkpj(`) = [Pp o=1τoj(`)] α [sj] β P l∈Nk p [ Pp o=1τol(`)] α [sl]β , if j ∈ Nk p, 0, otherwise. (21)
Note that the decision rule (21) not only considers the present pheromone value of lot sizing item j on the p-th position but also all the pheromone values for placing item j in all the predecessors positions of p. This so called summation decision rule was introduced by Merkle and Middendorf (1999).
ρ ∈[0, 1] trail persistence parameter to regulate the evaporation of τpj
∆τpj(`) total increase of trail level on edge (p, j ) which is controlled by the maximum
and minimum value along with the concept of MMAS f(sopt) global best solution value
τpj(` + 1) = max(τmin, min(τmax, ρτpj(`) + ∆τpj(`))), (22a)
∆τpj(`) = 1
f(sopt), if item j is on position p for the best ant,
0, otherwise.
Only the overall best ant updates the pheromone value (Step 2 in the pseudo code), but it is bounded by [τmin = 0.01, τmax= 0.99]. The evaporation rate ρ is set to 0.95.
As already stated before the values of R, u, Ts, and Isare chosen by taking the ideas of
Evolutionary Algorithms into account. After the initialization phase the corresponding values (Rb, ub, Tsb Isb) of the best objective are fixed. For every following iteration the
best values from the initial phase or slightly changed ones (see pseduo-code) are taken. According to Pitakaso et al. (2007) this leads to better results than just taking the unperturbed values of the initialization phase. In addition, tests from Pitakaso et al. (2007) suggest a perturbation rate ϑ of 0.05.
6 Results for the MLCLS Problem
6.1 Computational Results
The ASMLCLS algorithm is implemented in C++ using CPLEX 11.0 to calculate the subproblems. All the instances were tested on a Pentium D 3.2GHz with 4 GB RAM and SUSE Linux 10.1.
The limits for the subproblem sizes are set so that a solution can be found within 2 seconds (see Table 1). Due to the improvement of computer speed these limits are higher than the bounds of Pitakaso et al. (2006). The overlapping for the items is set to20% and the overlapping for periods is set to 60%. Tests from Pitakaso et al. (2006) have shown that this combination proved to be the best.
Table 1: The maximal subproblem size is set so that a solution can be found within 2 seconds. Is denotes the number of items included in the subproblem while Ts
represents the amount of period in that subproblem.
Is 1 2 3 4 5 6 7 8 9 10 11 12
Ts 20 18 15 14 13 11 10 10 9 8 8 7
Two sets of test instances from Tempelmeier and Derstroff (1996) were taken to test the algorithm. The first group consists of 600 instances with 16 periods, 10 items and 4 resources. These instances are composed of assembly systems (A) and general systems (G). There is a distinction between cyclic cases (C) and non-cyclic cases (NC). Cyclic means that more than one resource is needed within the same production level. In addition, the demand patterns vary among the instances. All the test instances from the second group have a general system with 100 items, 16 periods, and 10 resources. Again, there are cyclic and non-cyclic cases, and five different capacity utilizations.
An open question is which mathematical formulation leads to better results for the ASMLCLS. For that purpose we randomly picked 200 instances from of the first group evenly distributed between G-C, G-NC, A-C, and A-NC. This version of the ASMLCLS does not include the demand shifting procedure. The results in Table 2 show that the standard formulation (X-Formulation) significantly outperforms the SPL formulation (Z-Formulation) for the ASMLCLS algorithm. A possible reason why the SPL formulation fails to work for the ASMLCLS could be the effects of the computational overhead.
Results for the first group (see Table 3) from Tempelmeier and Derstroff (1996) show that our ASMLCLS algorithm can beat the results from Tempelmeier and Derstroff (1996) and Pitakaso et al. (2006), but fails to reach the results from Almeder (2007). In
Table 2: 200 randomly chosen test instances from the first group of Tempelmeier and Derstroff (1996) to compare the standard formulation(X-Formulation) and the SPL representation (Z-Formulation). The number next to the name represents the run time (in minutes) of the algorithm.
X-Formulation-10 Z-Formulation-10 Problem Mean Cost Mean Cost G-NC 400 633 422 475 G-C 387 570 395 534 A-NC 48 370 49 871 A-C 274 923 339 972
fact, the hybrid approach of Almeder (2007) outperforms the other approaches by 86% (17.8% for the ALMLCS algorithm). Note that the lagrangean-based heuristic from Tempelmeier and Derstroff (1996) is very fast, but as they state in their paper, it was not possible to improve the solutions significantly if they had added more iterations to the heuristic. In addition, Tempelmeier and Derstroff (1996) used a computer that was 1000 times slower than the computer used here. The ASMLCLS algorithm and the approach of Almeder (2007) were tested on the same computer. Pitakaso et al. (2006) used a Pentium 4 2.4GHz personal computer with 1GB RAM and Microsoft Windows 2000 to test the instances. The rather big difference between our ASMLCLS algorithm and the one from Pitakaso et al. (2006) could be due to one of these reasons: (i) computer speed improvement, (ii) the increase of the maximal subproblem size, or (iii) a combination of both.
The results for the second group of instances (see Table 4) from Tempelmeier and Derstroff (1996) provide a different picture. Since not all the results are available in detail, only the basic results are provided in the Table 4. Our ASMLCLS algorithm yields to very poor results and is outperformed by every other approach. Again, the approach of Tempelmeier and Derstroff (1996) delivers fast results, but the solution quality is poor. In contrast, the algorithms from Pitakaso et al. (2006) and Stadtler (2003) are complex and time-consuming but the solution quality is superior to all the other approaches. The hybrid approach of Almeder (2007) is nearly as good as the approach of Stadtler (2003), but is unable to reach the results reported by Pitakaso et al. (2006). Due to the problems of our approach (described in detail in the next Subsection), it was also tested how the average of ten seeds changes the solution quality. The results are significantly better and can almost reach the results of Tempelmeier and
Table 3: Results for the first group of instances from Tempelmeier and Derstroff (1996). We compare our results (ASMLCLS) with the ones of Tempelmeier and Der-stroff (1996), Pitakaso et al. (2006) and Almeder (2007). MAPD is the mean absolute percent deviation from the best solution and % represents the percent-age number of best solutions found. The number next to the name represents the run time (in minutes) of the algorithm.
T&D-0.02 Pitakaso-10
Problem MAPD % Cost MAPD % Cost Best Solution G-NC 0.070 9.3 382 706 0.061 7.3 380 666 353 791 G-C 0.073 7.3 395 075 0.064 10.0 393 329 365 829 A-NC 0.064 6.0 47 134 0.041 10.7 46 081 44 066 A-C 0.057 4.0 45 700 0.036 11.3 44 650 43 052 Total 0.066 6.7 217 654 0.051 9.8 216 181 201 684 Almeder-9 ASMLCLS-10
Problem MAPD % Cost MAPD % Cost Best Solution G-NC 0.001 89.3 354 185 0.021 22.0 367 204 353 791 G-C 0.002 87.3 366 289 0.024 20.6 377 891 365 829 A-NC 0.004 87.3 44 234 0.045 12.6 46 705 44 066 A-C 0.003 82.7 43 201 0.020 16.0 44 021 43 052 Total 0.003 86.7 201 977 0.027 17.8 208 955 201 684
Derstroff (1996), which is still poor. The run time equals to 300 minutes.
6.2 Criticism
A main problem of the ASMLCLS algorithm is that the solution quality is very sensitive towards the starting solution. By randomly creating twenty solutions (see Section 5) it is not guaranteed that the initial best solution provides a good starting point for the MAX-MIN Ant System. An aggravating factor is the slowness of the whole approach (due to the time-consuming decomposition). For the large-scale instances our ASMLCLS algorithm could on average only reach ten iterations, which is very little for an ant-based algorithm. Therefore a bad starting solution makes it next to impossible for the ant algorithm to react and then to improve the solution considerably. Future improvements could involve a change of the decomposition by e.g. simplifying the process of modifying the setup costs to speed up the whole method. Furthermore, a revised method for searching a starting solution seems necessary to avert the above mentioned weakness.
T able 4: Results for the second group of instances from T emp elmeier and Derstroff (1996). W e compare our results (ASML-CLS) with the ones of T emp elmeier and Derstroff (1996), Pitak aso et al. (2006), Almeder (2007) and Stadtler (2003). The n um b er next to the name represen ts the run time (in min utes) of the algorithm. Problem T&D-2 Almeder-28 Pitak aso-30 Stadtler-20 ASMLCLS-30 (1 seed) ASMLCLS-300 (10 seeds) NC-1 364 186 355 33 5 35 3 401 354 709 367 356 360 011 NC-2 1 864 407 1 799 418 1 745 710 1 756 314 2 039 628 1 876 225 NC-3 4 035 239 3 823 610 3 731 525 3 750 211 4 515 288 4 144 182 NC-4 2 565 054 2 487 034 2 431 617 2 446 366 2 976 572 2 643 798 NC-5 1 838 860 1 676 321 1 642 021 1 648 295 1 790 900 1 736 391 C-1 388 112 360 063 359 441 359 723 399 776 368 518 C-2 2 056 183 1 954 444 1 892 534 1 920 455 2 141 281 2 08 6 952 C-3 4 550 056 4 300 901 4 211 022 4 265 387 5 334 872 4 78 4 399 C-4 2 830 900 2 683 988 2 573 459 2 643 123 3 237 338 3 02 2 704 C-5 1 914 168 1 794 764 1 736 597 1 778 768 2 003 604 1 92 0 407 T otal 2 240 7 17 2 123 588 2 067 7 33 2 092 335 2 480 66 2 2,294,359
7 Solution Approach for the Linkage Property
7.1 Model Formulation
The formulation used in this thesis to solve the CLSPL was suggested by Stadtler and Suerie (2003), and it is based on the following assumptions:
• The fixed planning horizon T is divided into periods (1 . . . T ).
• The resource usage for any item i on a certain resource m and the assignment of items to resources is fixed.
• Setups are causing setup times and setup costs and therefore reducing the available capacity. Both are sequence independent.
• Only one setup state per resource can be linked from one period to the next. • Single-item production is possible, which means that a setup state for an item can
be preserved over two consecutive bucket boundaries.
• A setup state is preserved if there is no production in the following period.
Hence, the CLSPL is a big-bucket model with the characteristic of a small-bucket model to carry over setup states (see Section 2 for details). To implement the linkage property into our model we introduce two new variables:
wit is a binary variable (linkage variable) which equals to 1 if the setup state of
item i is preserved from period t −1 to period t; 0 otherwise.
qqit is a product-dependent variable which equals to 1 if item i is only produced
in period t and the setup state is linked to the preceding and the subsequent period, so wit = wit+1 = 1; 0 otherwise.
The following constraints are added to the formulation described in Section 3:
xit− G(yit+ wit) ≤ 0 ∀i, t, (23)
This alteration of the setup constraints is necessary since production is now possible by either producing item i in period t, or carrying over the setup state of item i from period t −1 to period t.
X
i∈Rm
wit≤ 1 ∀m, t = 2, . . . , T, (24)
Constraints (24) guarantee that only one setup state is carried over on each resource. Rm is the set of item i produced on resource m. The next constraints (25) ensure that
there can only be a setup for item i in period t (yit = 1), a carry-over from period t − 1
to period t (wit = 1), single-item production for any item k 6= j in period t (qqkt = 1),
or neither of them. yit+ wit+ X j∈Rm j6=i qqjt ≤ 1 ∀m, i ∈ Rm, t, (25)
Linking the setup state for item i is only possible if either a setup activity is set in the previous period t −1, or the setup state is already preserved from period t − 2 to t − 1, which means single-item production of product i in period t −1. This is guaranteed by adding constraints (26) to the model.
wit≤ yit−1+ qqit−1 ∀i, t = 2, . . . , T, (26)
Constraints (27) limit the range of variables qqit and constraints (28) are the usual
non-negativity and binary constraints.
qqit ≤ wis ∀i, t = 2, . . . , T − 1, s = t, . . . , t + 1, (27)
qqit ≥ 0 (qqi1= 0, qqiT = 0), wit ∈ {0, 1} (wi1 = 0) ∀i, t. (28)
The complete MIP-formulation for the CLSPL is as follows:
min P X i=1 T X t=1 (siyit+ hiIit) + T X t=1 M X m=1 comOmt, subject to
Iit = Iit−1+ xit− X j∈Γ(i) cijxjt− Eit, ∀i, t, P X i=1 (amixit+ bmiyit) ≤ Lmt+ Omt, ∀m, t xit− G(yit+ wit) ≤ 0 ∀i, t, X i∈Rm wit≤ 1 ∀m, t = 2, . . . , T, yit+ wit+ X j∈Rm j6=i qqjt ≤ 1 ∀m, i ∈ Rm, t,
wit≤ yit−1+ qqit−1 ∀i, t = 2, . . . , T,
qqit ≤ wis ∀i, t = 2, . . . , T − 1, s = t, . . . , t + 1,
Iit≥ 0, Omt≥ 0, xit ≥ 0, yit∈ {0, 1}, ∀i, t,
qqit ≥ 0 (qqi1= 0, qqiT = 0), wit ∈ {0, 1} (wi1 = 0) ∀i, t.
7.2 Decomposition
This Subsection deals with the changes that have to be made if we solve the CLSPL with our decomposition approach. First, the constraints (29), (30) and (31) are adjusted so that they only hold for the items (i= Pk
s, . . . , Pek) and periods (t= Tsk, . . . , Tek) included
in the current subproblem. Since it is only possible to perform a setup in the first period of the planning horizon, the starting time period Tk
s of constraints (31) is restricted to values above 1. xit− G(yit+ wit) ≤ 0, (29) yit+ wit+ Pk e X j=Pk s j6=i qqjt ≤ 1 ∀m, i ∈ Rm, t, (30)
wit ≤ yit−1+ qqit−1 if Tsk 6= 1, (31)
In constraints (32) the original indices are exchanged by the indices of the current subproblem. qqit≤ wis ∀i = Psk, . . . , P k e, t= T k s, . . . , T k e − 1, s = t, . . . , t + 1, (32)
Constraints (33) now have to consider linked setups that are made in previous sub-problems. Therefore, the variable Wit stands for already determined linking decisions.
Pk e X i=Pk s i∈Rm wit+ Pk s−1 X i=1 i∈Rm Wit ≤ 1 ∀m, t = Tsk, . . . , T k e, if T k s 6= 1. (33)
Now, when calculating a subproblem, it is not possible to forecast if a linking deci-sion in any following subproblem might be more preferable than the current one. To circumvent this weakness we introduce a simple ’punishing scheme’ to our model. More precisely, the objective function of a single subproblem is altered in the following way:
min Pk e X i=Pk s Tk e X t=Tk s (Sk ityit+ hiIit) + Tk e X t=Tk s M X m=1 comOmt+ Pk e X i=Pk s i∈Rm Tk e X t=Tk s M X m=1 witcwit (34)
The new parameter cw
it represents the maximum setup costs of any item that is located
inside a subsequent subproblem. Thus, this extension to our objective function punishes every potential linking decision in the current subproblem. It has to make the decision if a linkage is more preferable in the present or in any following subproblem.
The complete mixed-integer problem for a single subproblem is as follows:
min Pek X i=Pk s Tek X t=Tk s (Sk ityit+ hiIit) + Tek X t=Tk s M X m=1 comOmt+ Pek X i=Pk s i∈Rm Tek X t=Tk s M X m=1 witcwit,
subject to (if not stated otherwise each constraint must hold for all i = Pk
t= Tk s, . . . , Tek, and m= 1, . . . , M ) Iit= Iit−1+ xit− X j∈Γ(i) j<Pk s cijXjt− X j∈Γ(i) j≥Pk s cijxjt − Eit, Pk e X i=Pk s (amixit+ bmiyit) ≤ Lmt+ Omt− Pk s−1 X i=1 (amiXit+ bmiYit), t X τ =Tk s Pk e X i=Pk s (Ak
mixiτ + Bmiτk yiτ) ≤ t X τ =Tk s (avCk mτ + Omτ), xit− G(yit+ wit) ≤ 0, Pek X i=Pk s i∈Rm wit+ Psk−1 X i=1 i∈Rm Wit≤ 1 if Tsk 6= 1, yit+ wit+ Pk e X j=Pk s j6=i qqjt ≤ 1, ∀i ∈ Rm, wit ≤ yit−1+ qqit−1 if Tsk 6= 1, qqit ≤ wis ∀t = Tsk, . . . , Tek− 1, s = t, . . . , t + 1, Iit ≥ 0, xit ≥ 0, Omt ≥ 0, yit∈ {0, 1}, qqit ≥ 0 (qqi1 = 0, qqiT = 0), wit ∈ {0, 1} (wi1 = 0).
8 Results for the CLSPL
As for the MLCLS problem, the CLSPL is implemented in C++ using CPLEX 11.0 to calculate the subproblems. All the instances were tested on a Pentium D 3.2GHz with 4 GB RAM and SUSE Linux 10.1. No changes were made concerning the subproblem sizes.
In total, the ant system for the capacitated lot-sizing problem with linked lot sizes (ASCLPL) was tested with two groups of instances. Note that it is not necessary to make any modifications to the ant system of Section 5 when solving the CLSPL. The first group of single-level instances from Trigeiro et al. (1989) was modified by Stadtler and Suerie (2003) by aggregating some of the items. The reason behind this modification is that the original instances proved not to be appropriate for the CLSPL. Tests from Stadtler and Suerie (2003) for example showed that the possibility of linking a setup state over two consecutive bucket boundaries was never used. The modified set is divided into three different classes:
Table 5: Classification of the first group of instances from Trigeiro et al. (1989) which was modified by Stadtler and Suerie (2003).
Class #Items #Periods #Instances
1 4 20 180
2 6 20 180
3 8 20 180
Table 6: Results for the first group of instances. We compare our results (ASCLSPL) with the best known solutions (BKS) and the lower bound (LB) of the best known solutions. The number next to the class represents the number of in-stances for which the ASCLSPL could only find solutions with an extensive use of overtime. They are excluded from the results.
Class BKS LB ASCLSPL Gap to BKS Gap to LB 1 (-2) 25 236 23 136 27 779 6.13% 12.46% 2 (-9) 48 754 44 788 53 151 5.31% 13.90% 3 (-10) 76 798 70 406 79 922 2.56% 8.42%
Table 6 shows our results for the single-level instances compared to the best solutions known to Stadtler and Suerie (2003). Since we were not able to verify if the lower bounds of the best solutions known are equal to those from Stadtler and Suerie (2003), a direct
comparison between our approaches is not possible. For the sake of completeness we will state the best results from their time-oriented decomposition heuristic and their Branch and Cut (B&C) approach with valid inequalities in Table 8 at the end of the Section. Note that for some instances (Class 1: 1; Class 2: 9; Class 3: 10) the ASCLSPL could only find solutions with an extensive use of overtime, and they are therefore excluded from the results. The run time for the first and the second class equals to 200 seconds, while the third class runs for 300 seconds. Although the ASCLSPL algorithm can not reach the best known solutions it still provides good results for the first test group. Again, the expressed criticism in Section 6.2 also holds for the ASCLSPL.
Table 7: Results for the second group of instances. We compare our results (ASCLSPL) with the best known solutions (BKS) and the lower bound (LB) of the best known solutions.
Class BKS LB ASCLSPL Gap to BKS Gap to LB B+ 82 220 65 493 87 431 6.23% 33.38%
The second group of instances was taken from Stadtler (2003) and it is called B+. It consists of 60 instances with 10 items on 3 resources over 24 periods. Results are provided in Table 7. Due to the multilevel case and the bigger problem size the gap to the lower bound is higher than in the first group. Again, the ASCLSPL with a run time of 400 seconds delivers good results, but it is unable to reach the best known solutions.
Table 8: Gap to lower bound from Stadtler and Suerie (2003) for the first and second group of instances. The number next to the class represents the number of instances for which the heuristic could only find infeasible solutions. They are excluded from the results. The run time for the heuristic equals to maximal 15 seconds for the first group, and to maximal 60 seconds for the second group. The Branch and Cut (B&C) approach has a run time of maximal 60 seconds for the first group and of maximal 600 seconds for the second group.
Class Heuristic - Gap to LB B&C - Gap to LB
1 (-20) 9.5% 8.7%
2 (-32) 10.3% 10.2%
3 (-32) 7.1% 7.1%
9 Conclusion
In this thesis, a metaheuristic that uses the ideas of MMAS and Evolutionary Strategies combined with exact solvers for mixed-integer problems has been applied to solve multi-level and single-multi-level capacitated lot-sizing problems with linked lot sizes.
Two different mathematical formulations have been presented and tested for effective-ness, whereas the standard formulation proved to be significantly better than the SPL formulation. A possible explanation for the large gap between those formulations could be the computational overhead when using the SPL formulation. After selecting the formulation, the ASMLCLS algorithm has been tested on middle-sized and large-sized multi-level test instances. While the results for the smaller test instances are among the best, the results for the larger instances are poor.
The results reported in Section 8 for the CLSPL do not outperform the best known solutions but nevertheless provide good results. In addition, the results show that the bigger the problem gets, the better is the gap to the best known solutions. Since the de-composition approach is very complex, the computational overhead causes the algorithm to need more time to find good solutions.
As explained in Section 6.2, the algorithm is very slow and furthermore, the solution quality is very sensitive towards the starting solution. For this reason, further research will be necessary to improve or exchange the method of finding a starting solution, and also reducing the complexity to speed up the algorithm.
References
Almada-Lobo, B., Klabjan, D., Carravilla, M., and Oliveira, J. (2007). Single machine multi-product capacitated lot sizing with sequence-dependent setups. International Journal of Production Research, 45:4873–4894.
Almeder, C. (2007). A hybrid optimization approach for multi-level capacitated lot-sizing problems. Working paper, submitted.
Berretta, R. and Rodrigues, L. (2004). A memetic algorithm for a multistage capacitated lot-sizing problem. International Journal of Production Economics, 87:67–81.
Bitran, G. and Yanasse, H. (1982). Computational complexity of the capacitated lot size problem. Management Science, 28(10):1174–1186.
Dellaert, N. and Jeunet, J. (2000). Solving large unconstrained multilevel lot-sizing prob-lems using a hybrid genetic algorithm. International Journal of Production Research, 38(5).
Dellaert, N. and Jeunet, J. (2003). Randomized multi-level lot sizing heuristics for general product structures. European Journal of Operational Research, 148:211–228. Dorigo, M. (1992). Optimization, Learning and Natural Algorithms. PhD thesis,
Dipar-timento di Elettronica, Politecnico di Milano, Milan, Italy.
Drexl, A. and Haase, K. (1995). Proportional lotsizing and scheduling. International Journal of Production Economics, 40:73–87.
Fleischmann, B. (1990). The discrete lot-sizing and scheduling problem. European Journal of Operational Research, 44:337–348.
Fleischmann, B. and Meyr, H. (1997). The general lotsizing and scheduling problem. OR Spektrum, 19:11–21.
Florian, M., Lenstra, J., and Kan, R. (1980). Deterministic production planning: Algo-rithms and complexity. Management Science, 26(7):669–679.
Franca, P., Armentano, V., Berretta, R., and Clark, A. (1994). A heuristic method for lot sizing in multi-stage systems. Computers & Operations Research, 24:861–874.
Gopalakrishnan, M., Ding, K., and Bourjolly, J.-M. (2001). A tabu-search heuristic for the capacitated lot-sizing problem with set-up carryover. Management Science, 47:851–863.
Gopalakrishnan, M., Miller, D. M., and Schmidt, C. P. (1995). A framework for mod-elling setup carryover in the capacitated lotsizing problem. Journal of Production Research, 33:1973–1988.
Gutjahr, W. (2003). A generalized convergence result for the graph-based ant system metaheuristic. Probability in the Engineering and Informational Sciences, 17:545–569. Haase, K. (1994). Lotsizing and scheduling for production planning. Springer:Berlin. Harrison, T. and Lewis, H. (1996). Lot sizing in serial assembly systems with multiple
constrained resources. Management Science, 42(1):19–36.
Karmarkar, U. and Schrage, L. (1985). The deterministic dynamic product cycling problem. Operational Research, 33:326–345.
Kimms, A. (1996). Competitive methods for multi-level lot sizing and scheduling: Tabu search and randomized regrets. International Journal of Production Research, 34(8):2279–2298.
Krarup, J. and Bilde, . (1977). Plant location, set covering and economic lot sizing: An O(mn) algorithm for structured problems. Birkhäuser:Basel.
Lambrecht, M. and Vander Eecken, J. (1978). A facilities in series capacity constrained dynamic lot-size model. European Journal of Operational Research, 2:42–49.
Maes, J. and McClain, J. (1991). Multilevel capacitated lot sizing complexity and LP-based heuristics. European Journal of Operation Research, 53:131–148.
McClain, J. and Thomas, L. (1989). A facilities in series capacity constrained dynamic lot-size model. IIE Transactions, 21(2):144–152.
McLaren, B. (1977). A study of multiple level lot sizing procedures for material require-ments planning systems. PhD thesis, Purdue University.
Merkle, D. and Middendorf, M. (1999). An ant algorithm with a new pheromone eval-uation rule for total tardiness problems. In Applications of Evolutionary Computing: EvoWorkshops, pages 287–296. Springer:Berlin.
Oezdamar, L. and Barbarosoglu, G. (2000). An integrated langrangean relaxation-simulated annealing approach to the multi-level mulit-item capacitated lot sizing prob-lem. International Journal of Production Research, 68(3):319–331.
Pitakaso, R., Almeder, C., Doerner, K., and Hartl, R. (2006). Combining population-based and exact methods for multi-level capacitated lot-sizing problems. International Journal of Production Research, 44 (22):4755–4771.
Pitakaso, R., Almeder, C., Doerner, K., and Hartl, R. (2007). A MAX-MIN ant sys-tem for the uncapacitated multi-level lot sizing problem. Computers & Operations Research, 34:2533–2552.
Pochet, Y. and Wolsey, L. (1987). Lot-size models with backlogging: Strong reformula-tions and cutting planes. Mathematical Programming, 40:317–335.
Rosling, K. (1986). Optimal lot-sizing for dynamic assembly systems. Springer:Berlin. Salomon, M. (1986). Deterministic lotsizing models for production planning.
Silver, E. and Meal, H. (1973). A heuristic for selecting lot size requirements for the case of a deterministic time-varying demand rate and discrete opportunities for replenish-ment. Production and Inventory Management, 14:64–74.
Sox, C. and Gao, Y. (1999). The capacitated lot sizing problem with setup carry-over. IIE Transactions, 31:173–181.
Stadtler, H. (1996). Mixed integer programming model formulations for dynamic multi-item multi-level capacitated lotsizing. European Journal of Operation Research, 94:561–581.
Stadtler, H. (2003). Multilevel lot sizing with set up times and multiple constrained resources: internally rolling schedules with lot-sizing windows. Operations Research, 51(3):487–502.
Stadtler, H. and Suerie, C. (2003). The capacitated lot-sizing problem with linked lot sizes. Management Science, 49:1039–1054.
Stützle, T. (1998). An ant approach to the flow shop problem. In Proceedings of EU-FIT’98, pages 1560–1564.
Stützle, T. and Dorigo, M. (2002). A short convergence proof for a class of ACO algo-rithms. IEEE Transactions on Evolutionary Computation, 6:358–365.
Stützle, T. and Hoos, H. (1997). The MAX-MIN ant system and local search for the traveling salesman problem. In Proceedings of ICEC’97 IEEE 4th International Con-ference on Evolutionary Computation, pages 308–313.
Tempelmeier, H. and Derstroff (1996). A lagrangean-based heuristic for dynamic multi-level multi-item constrained lotsizing with setup times. Management Science, 16:738– 757.
Tempelmeier, H. and Helber, S. (1994). A heuristic for dynamic multi-item multi-level capacitated lotsizing for general product structures. European Journal of Operational Research, 75:296–311.
Trigeiro, W., Thomas, L., and McClain, J. (1989). Capacitated lot sizing with set-up times. Management Science, 35:738–757.
Wagner, H. and Whitin, T. (1958). Dynamic version of the economic lot size model. Management Science, 5:89–96.
Wolsey, L. (1989). Uncapacitated lot-sizing problems with start-up costs. Operations Research, 37(5):741–747.
Xie, J. and Dong, J. (2002). Heuristic genetic algorithms for general capacitated lot-sizing problems. Computers and Mathematics with Applications, 44:263–276.
Zangwill, W. (1966). A deterministic multiproduct, multifacility production and inven-tory model. Operations Research, 14(3):486–507.
Zangwill, W. (1969). A backlogging model and a multi-echelon model of a dynamic economic lot size production system - a network approach. Management Science, 15(9):506–527.
A Detailed Results
Solutions for the medium-sized MLCLS problems Instance Result Instance Result Instance Result g0061111 56016 g8065111 75312 k0029111 16492 g0061112 56197 g8065112 73752 k0029112 15877 g0061121 358345 g8065121 353643 k0029121 49555 g0061122 355334 g8065122 355594 k0029122 51316 g0061131 929494 g8065131 896371 k0029131 143289 g0061132 887565 g8065132 837173 k0029132 139801 g0061141 651433 g8065141 651855 k0029141 58367 g0061142 675723 g8065142 643590 k0029142 55623 g0061151 211240 g8065151 229990 k0029151 51197 g0061152 211987 g8065152 218631 k0029152 55996 g0061211 56000 g8065211 57040 k0029211 9750 g0061212 56000 g8065212 58095 k0029212 8495 g0061221 314808 g8065221 335125 k0029221 38470 g0061222 317937 g8065222 327465 k0029222 38403 g0061231 688459 g8065231 675894 k0029231 77118 g0061232 657348 g8065232 737856 k0029232 75106 g0061241 497584 g8065241 514437 k0029241 42757 g0061242 495777 g8065242 506407 k0029242 40673 g0061251 197171 g8065251 204601 k0029251 40826 g0061252 197283 g8065252 204897 k0029252 41065 g0061311 56000 g8065311 55990 k0029311 6323 g0061312 56000 g8065312 55970 k0029312 5782 g0061321 308103 g8065321 314409 k0029321 35114 g0061322 306028 g8065322 312609 k0029322 33695 g0061331 599267 g8065331 612550 k0029331 70537 g0061332 600874 g8065332 616927 k0029332 67067 g0061341 460938 g8065341 468022 k0029341 37984 g0061342 463021 g8065342 469746 k0029342 36175 g0061351 185605 g8065351 183596 k0029351 36518 g0061352 187611 g8065352 183877 k0029352 34760 g0061411 56016 g8065411 64984 k0029411 14188
g0061412 56197 g8065412 64358 k0029412 12750 g0061421 310608 g8065421 329483 k0029421 41675 g0061422 314748 g8065422 329139 k0029422 40081 g0061431 616723 g8065431 666012 k0029431 78477 g0061432 614033 g8065432 655462 k0029432 81100 g0061441 463542 g8065441 494477 k0029441 44831 g0061442 465374 g8065442 490651 k0029442 42517 g0061451 199812 g8065451 210250 k0029451 45744 g0061452 200235 g8065452 211801 k0029452 42941 g0061511 56000 g8065511 61826 k0029511 11667 g0061512 56000 g8065512 63050 k0029512 11293 g0061521 353205 g8065521 349368 k0029521 42107 g0061522 344064 g8065522 342316 k0029522 40095 g0061531 900403 g8065531 743019 k0029531 86793 g0061532 877132 g8065532 815083 k0029532 84232 g0061541 637243 g8065541 587267 k0029541 46957 g0061542 627959 g8065542 582392 k0029542 43968 g0061551 203655 g8065551 209548 k0029551 44328 g0061552 202591 g8065552 205802 k0029552 43242 g0065111 77990 g8069111 77875 k8021111 7071 g0065112 74805 g8069112 102088 k8021112 7076 g0065121 361439 g8069121 390217 k8021121 46373 g0065122 360856 g8069122 396506 k8021122 46342 g0065131 842831 g8069131 884296 k8021131 115497 g0065132 826349 g8069132 887234 k8021132 115923 g0065141 672087 g8069141 637212 k8021141 51444 g0065142 613032 g8069142 663971 k8021142 52088 g0065151 227761 g8069151 234307 k8021151 53480 g0065152 219121 g8069152 239207 k8021152 51028 g0065211 58105 g8069211 58551 k8021211 7040 g0065212 57952 g8069212 69655 k8021212 7040 g0065221 317390 g8069221 325571 k8021221 40091 g0065222 318491 g8069222 331241 k8021222 40401 g0065231 642581 g8069231 645728 k8021231 86168 g0065232 622065 g8069232 659852 k8021232 85283