## Pesquisa Operacional

*versão impressa* ISSN 0101-7438

### Pesqui. Oper. v.25 n.3 Rio de Janeiro set./dez. 2005

#### http://dx.doi.org/10.1590/S0101-74382005000300010

**NOTA TÉCNICA**

**Lot-sizing problem with several production centers**

**Franklina Maria Bragion de Toledo ^{I,} ^{*}; André Luís Shiguemoto^{II}**

^{I}Departamento de Matemática Aplicada e Estatística; Instituto de Ciências Matemáticas e de Computação; Universidade de São Paulo (USP); São Carlos – SP; fran@icmc.usp.br

^{II}Escola de Engenharia de Piracicaba; Fundação Municipal de Ensino de Piracicaba; Piracicaba – SP; andrels@densis.fee.unicamp.br

**ABSTRACT**

In this paper, a case study is carried out concerning the lot-sizing problem involving a single item production planning in several production centers that do not present capacity constraints. Demand can be met with backlogging or not. This problem results from simplifying practical problems, such as the material requirement planning (MRP) system and also lot-sizing problems with multiple items and limited production capacity. First we propose an efficient implementation of a forward dynamic programming algorithm for problems with one single production center. Although this does not reduce its complexity, it has shown to be rather effective, according to computational tests. Next, we studied the problem with a production environment composed of several production centers. For this problem two algorithms are implemented, the first one is an extension of the dynamic programming algorithm for one production center and the second one is an efficient implementation of the first algorithm. Their efficiency are shown by computational testing of the algorithms and proposals for future research are presented.

**Keywords:** production planning; lot-sizing; dynamic programming; backlogging.

**RESUMO**

Neste trabalho, estudamos um caso particular do problema de dimensionamento de lotes, envolvendo o planejamento da produção de um único item em vários centros produtivos que não apresentam restrições de capacidade. A demanda pode ser atendida com ou sem atraso. Este problema surge da decomposição de problemas práticos, como o sistema de requerimento de materiais (MRP), e também de problemas de dimensionamento de lotes com múltiplos itens e capacidade de produção limitada. Primeiramente, apresentamos uma implementação eficiente de um algoritmo de programação dinâmica progressiva proposto para a solução do problema com um único centro produtivo. Embora, essa implementação não reduza a complexidade do algoritmo, experimentos computacionais mostraram que ela é significativamente mais rápida. Em seguida, estudamos o problema com vários centros, para o qual são implementados dois algoritmos, o primeiro é uma extensão do algoritmo original e o segundo incorpora as idéias que tornam essa implementação mais eficiente. O desempenho computacional dos algoritmos é analisado e propostas para futuras pesquisas são apresentadas.

**Palavras-chave:** planejamento da produção; dimensionamento de lotes; programação dinâmica; demanda com atraso.

**1. Introduction**

The single-item lot-sizing problem without capacity constraints has been studied since 1958 and a wide array of new results have been presented in recent years. Good reviews have been presented by Wolsey (1995) and Brahimi *et al.* (2006). This problem often arises in practice as a sub-problem derived from the relaxation of capacity constraints of one of the most important problems of production planning: the multi-item lot-sizing problem with capacity constraints. Some of the methods proposed using this relaxation for such problems have been presented by Trigeiro *et al.* (1989), Lozano *et al.* (1991) and Diaby *et al.* (1992a, 1992b), among others.

Bahl *et al.* (1987) classified the various types of lot-sizing problems: single-stage (with one planning stage) or multi-stage (with several planning stages). A system has one single stage when the items to be produced are independent, that means, one does not depend on another to be produced. In multi-stage systems, the final item has component items, whose production or purchase should also be planned. According to the authors, another important criteria for classifying problems is the available production capacity, which can be constrained or not. Several research studies on this topic have been published in the literature and good reviews have been presented by Bahl *et al.* (1987), Drexl & Kimms (1997) and Kuik *et al.* (1994). Wolsey (2002) proposes a new problem classification and reformulation. Recently, Karimi *et al.* (2003) have presented a good review of models and algorithms. In this review, the authors consider single-level lot-sizing problems.

In this paper, a problem involving single-item, single-stage production planning, with no capacity constraint where backlogging is permitted in a production environment composed of several production centers is addressed. Today it is common to find companies where several plants, or production centers or assembly lines are available for the production of items. A production environment with several production centers can be generally found in food, beverage and steel industries, for example, see Sambasivan & Yahya (2005). Solving non-constraint problems enables us to solve lot-sizing problems with capacity constraints. When backlogging is possible, problems become more similar to actual situations since in practice deadlines can generally be negotiated, whether they add costs to companies or not.

In the literature, only few studies considering several production centers. Carreno (1990) proposed a heuristic to solve the economic lot-sizing problem with identical parallel machines. Sabbag (1993) and Toledo (1998) proposed algorithms for the solution of lot-sizing problems with distinct parallel machines with limit capacity. Sung (1986) proposed an optimal algorithm to solve a single product parallel facility production planning model where demands must be met and where there are no capacity constraints. Armentano & Toledo (1997) adapted an efficient implementation of Evans (1985) and a lower complexity algorithm proposed by Wagelmans *et al.* (1992). The effect of the lower complexity algorithm can be noticed just for a number of planning periods greater than 250.

In the other hand, the problem with a single production center has been studied for many years. The first optimal method to solve the problem where backlogging is not possible was proposed by Wagner and Whitin (1958), who presented a dynamic programming algorithm. It computes the minimum cost path in a directed graph and has polynomial complexity O(*T*^{2}), where *T* is the number of periods over the planning horizon. Evans (1985) proposed an efficient implementation of the Wagner-Whitin algorithm, which, although not reducing its complexity, has shown to be rather effective, according to computational tests. In Bahl & Taj (1991), this code was adapted for the case where unit production costs do not decrease over time.

Almost ten years ago, several independent developments in the area – Aggarwal & Park (1993), Ferdergruen & Tzur (1991), Wagelmans *et al.* (1992) – led to exact algorithms which are solved in O(*T* log *T*) operations. Complexity can be reduced to O(*T*) when unit production costs do not decrease during the planning horizon.

Zangwill (1969) considers the problem where backlogging is possible. This author was the first to highlight the importance of using networks to represent some production planning problems. The problem was represented as a minimum cost flow problem, in a network with concave costs on arcs and one single source. The proposed algorithm has O(*T*^{2}) time complexity. Pochet & Wolsey (1988) proposed its reformulation and solution through the use of cutting planes. Aggarwal & Park (1993) developed an algorithm with complexity O(*T * log *T*). This algorithm solves a problem with *T* periods, recursively, by a procedure that solves two sub-problems with *T*/2 periods, successively. Finally, a problem involving the solution of the sub-problems is solved in linear time using array-searching techniques. According to Ferdergruen & Tzur (1993), the constant factor in the time bound is therefore quite large for a similar recursive procedure in Wilber (1988) (see Galil & Giancarlo, 1989). Ferdergruen & Tzur (1993) also proposed an algorithm with O(*T* log *T*) time complexity. Their algorithm consists of iterative updates of a list of candidate last order periods, as the planning horizon *t* is incremented to *t+*1. The *T* log *T* complexity term in the most general procedure is obtained from effort to insert or delete an element in the list which in the worst case may be of size *T*, but in practice is very small indeed. Golany *et al.* (1992) propose a decomposition technique which splits the problem of the production quantity decision over a larger number of (discrete) periods into a sequence of smaller problems, each dealing with a small set of consecutive periods.

This paper is organized as follows: in the next section the mathematical model for a single production center is presented and an efficient implementation of a forward dynamic programming algorithm as well as the computational results achieved by comparing these implementations are discussed. The extension of this algorithm to several production centers and its efficient implementation are proposed in Section 3. Computational results comparing both implementations presented in Section 3 are analyzed in Section 4. Finally, in Section 5 the results obtained and suggestions for future applications of this problem are discussed.

**2. Lot-sizing Problems with Backlogging**

The lot-sizing problem considered in this section consists of planning the production of one single item over a planning horizon subdivided in *T* periods. The demand of the item is known and backlogging may exist. The purpose is to minimize the sum of fixed setup costs of the production center, variable production costs, and inventory carrying cost, as well as the backorder cost of the item.

Zangwill (1969) extended the Wagner & Whitin model (1958) to allow the inventory to be negative. The following notations are utilized:

s_{t}–setup costs in period t;c_{t}–unit production costs in period t;h_{t}–unit inventory carrying cost in period t;hb_{t}–unit backorder cost of item in period t;d_{t}–item demand in period t.

In order to formulate a lot-sizing problem with mixed integer programming, the following variables are considered:

x_{t}–number of units produced in period t;I_{t}–inventory level at the end of period t.

Production costs of *x _{t}* are given by:

and inventory costs of *I _{t}* are given by:

Lot-sizing problems can be written as follows (Zangwill, 1969):

The objective function (1) describes the sum of production and inventory costs. In (2), inventory balance constraints are presented. Without losing generality, constraint (3) ensures that the initial inventory is zero. Non-negative production levels are ensured by constraints (4).

When backlogging is allowed, inventory in period *t* can be negative. To represent the problem as a network, Zangwill (1969) defined as the inventory at the end of period *t* and as the accumulated demand that has not been met at the end of period *t*. Thus,

where __>__ 0 and __>__ 0. Therefore the model (1-4) can be reformulated as a function of variables and __, as shown below, and can be represented by a network (Zangwill, 1969), see Figure 1.__

The author proved that in a minimum cost network flow problem where the objective function is a concave function of the arc flows and the network has only one source, there is an optimal solution having the property that each node has at most one positive input. That is, no more than one variables , , and *x _{t}* can be positive. This problem can be solved by backward dynamic programming using recursive equations proposed by Zangwill (1969) or by equivalent forward dynamic programming presented in Johnson & Montgomery (1974) describe below.

Let *F _{t}* denote the minimum production cost from period

*k*up to period

*t*, then

*F*can be determined recursively as

_{t}where *M _{kt}* is define as the cost of producing in period

*i*(

*k+*1

__<__

*i*

__<__

*t*), in order to meet the demands from period

*k +*1 to period

*t,*

where is cumulative demand from period *k*+1 to *t*.

The *M _{kt}* values can be calculated in efficient away if we applied the computational modifications suggested by Evans (1985) for Wagner & Whitin case (1958). The idea consists in calculating first

*M*

_{k}_{1}and then for

*t*> 1, we can calculate

*M*by:

_{k t}where *sumh _{k}* represents the cumulative inventory costs and it is calculated by

By adapting the computational modifications suggested by Evans (1985) we obtain the efficient implementation shown in Figure 2. The complexity of this algorithm is O(*T*^{2}). The adaptations of the original algorithm are in steps 2-6, 10-12, 14 and 18 of the algorithm of Figure 2. In steps 2-6 we initialize the value of *M _{k}* and we calculate the cumulative demand from period 1 to period

*t*. The cumulative inventory cost and the value of

*M*are actualized in efficient way in steps 10-12, we can use the old values to obtain new values. This idea is also applied in step 18.

_{k}

Computational tests have been run which are described below, in order to evaluate the performance of the original algorithm and the efficient implementation proposed in this section. The code was implemented in C++ language and tests were run on a 1.5GHz Pentium IV microcomputer (256MB RAM, Intel processor and LINUX operational system).

For a given number of *T* planning periods*,* we randomly generate 10 instances. We considered *T* = 50, 100, 250 and 500 and the parameters for each period were generated as in Armentano & Toledo (1987) from the following uniform distributions (*U*):

- Demand –
*U*[0, 100]; - Setup costs –
*U*[80, 120]; - Unit production costs –
*U*[1, 5]; - Unit inventory costs –
*U*[1, 4]; - Unit backlogging costs –
*U*[1, 4].

In Table 1, the average running time for both algorithms is presented. As shown in the table, the algorithm implemented in an efficient manner is generally 50% faster than the original one. However, it should be stressed that, although the algorithm is computationally more efficient, its complexity was not reduced.

**3. Lot-sizing Problem for Several Production Centers**

In this step, the lot-sizing problem described in the previous section is considered. However, in each of the *T* planning periods, the production environment is composed of *m* production centers (manufacturing cells, production lines or machines). In order to formulate the problem for multiple centers, the variable of production *x _{jt}* represents the number of units produced in production center

*j*in period

*t*and the lot-sizing problem can be written as follows:

Similarly to the single production center problem, this problem can be represented by a minimum cost network flow problem with only one source, see Figure 3. Then, there is an optimal solution having the property that each node has at most one positive input, that is, no more than one of the variables , and *x _{jt}* (for

*j*= 1, …,

*m*) can be nonzero. Therefore, this problem can be solved by an adaptation of the algorithm presented in Section 2 or by an extension of the lower complexity algorithm proposed by Ferdergruen & Tzur (1993). In Armentano & Toledo (1997) the similar problem without backlogging is solved for two approaches and the authors concluded that the effect of the lower complexity algorithm can be noticed just for a number of planning periods greater than 250. In this work, we just extended the algorithm proposed in Section 2.

Let *F _{t}* denote the minimum production cost from period

*k*up to period

*t*, then

*F*can be determined recursively as

_{t}where *M _{ktj}* is define as the cost of producing in period

*i*(

*k+*1

__<__

*i*

__<__

*t*) in the production center

*j*(1

__<__

*j*

__<__

*m*), in order to meet the demands from period

*k+*1 to period

*t*,

where is cumulative demand from period *k*+1 to *t*.

By applying the recursive formula (7), the algorithm of Figure 4 can be written. The complexity of this algorithm is O(*mT*^{2}).

As we can see in the algorithm presented above, several operations are repeated and therefore, similarly to the case of one production center, the algorithm for parallel production centers can also be implemented in an efficient manner. The adaptations of the original algorithm are in steps 5-6, 8,10, 13-15, 19 and 23 of the algorithm of Figure 5. In steps 5-6 we initialized the value of *M _{k}* and the cumulative inventory cost. In steps 8 and 10 we evaluated

*M*

_{11}. The cumulative inventory cost and the value of

*M*are actualized in efficient way in steps 13-15, we can used the old values to obtain new values. This idea is also apply in steps 19 and 23.

_{kj}

**4. Computational Results**

Computational tests were run to evaluate the performance of implementations PPCA and EIPPCA comparatively. The code was implemented in C++ language and run on the microcomputer described in Section 2.

For a given number of planning periods *n* and a given number of production centers *m,* 10 instances were randomly generated, considering *T* = 50, 100, 250 and 500 and *m* = 2, 4, 6. Parameters were generated as described in Section 2.

Table 2 shows the average running time for the implementations of the proposed algorithm. Results show that IEAMP presents better computational times. The efficient implementation of the algorithm, although not reducing its complexity, reduces the computational time approximately by 40%.

As shown above in the results, the longer the planning horizon is, the harder the problem solution becomes. For example, take problems with 1,000 binary variables, or in other words, problems with 250 periods and 4 production centers and problems with 500 periods and 2 production centers. On average, the first set of problems is solved in 38 seconds, while the second set of problems takes, on average, 5 minutes. The same is true for other sets of problems; thus, we can conclude that the planning horizon has a stronger influence on the problem solution.

**5. Conclusions and Future Research**

This paper studies the lot-sizing problem with one single item where backlogging is allowed. An efficient implementation of forward dynamic programming algorithm was proposed to solve the problem with only one production center, while a dynamic programming algorithm was developed for several production centers.

Results have shown that the efficient implementation of the dynamic programming algorithm has reduced computational time by 50%, although it has not reduced its complexity. The algorithm developed for problems with several production centers produced results in less than one minute for problems with 1500 binary variables. It could also be observed that the efficient implementation reduces computational time by 40% in this case, and that an increase in the number of periods over the planning horizon is more significant than an increase in the number of production centers.

Above we have only considered the adaptation of the algorithm presented in Section 2. Although, in Armentano & Toledo (1997) the authors concluded that the effect of the lower complexity algorithm can be noticed just for a number of planning periods greater than 250, we suggest an extension of Ferdergruen & Tzur (1993) and the results will be compared with the results obtained in this article.

The solution to the problem studied will allow the development of exact and heuristic algorithms for lot-sizing problems with several items, several production centers and capacity constraints, where backlogging may exist. The possibility of backlogging makes problems more similar to actual production conditions, where generally deadlines can be negotiated, whether they add costs to companies or not.

**Acknowledgements**

This work was supported by FAPESP (Fundação de Amparo à Pesquisa do Estado de São Paulo).

**References**

(1) Armentano, V.A. & Toledo, F.M.B. (1997). Dynamic Programming Algorithms for the Parallel Machine Lot Sizing Problem. *Pesquisa Operacional*, **17**, 137-149. [ Links ]

(2) Aggarwal, A. & Park, J.K. (1993). Improved algorithms for economic lot size problems. *Operations Research*, **41**, 549-571. [ Links ]

(3) Bahl, H.C.; Ritzman, L.P. & Gupta, J.N.D. (1987). Determining lot sizes and resource requirements: a review. *Operations Research*, **35**, 329-345. [ Links ]

(4) Bahl, H.C. & Taj, S. (1991). A data-dependent efficient implementation of the Wagner-Whitin algorithm for lot-sizing. *Computers and Industrial Engineering*, **20**, 289-291. [ Links ]

(5) Brahimi, N.; Dauzere-Peres, S.; Najid, N.M. & Nordli, A. (2006). Single item lot sizing problems. *European Journal of Operational Research*, **168**, 1-16. [ Links ]

(6) Carreno, J.J. (1990). Economic lot scheduling for multiple products on parallel identical processors. *Management Science*, **36**, 348-358. [ Links ]

(7) Diaby, M.; Bahl, H.C.; Karwan, M.H. & Zionts, S. (1992a). A lagrangean relaxation approach for very-large-scale capacitated lot-sizing. *Mangement Science*, **38**, 1329-1340. [ Links ]

(8) Diaby, M.; Bahl, H.C.; Karwan, M.H. & Zionts, S. (1992b). Capacitated lot-sizing and scheduling by lagrangean relaxation. *European Journal of Operational Research*, **59**, 444-458. [ Links ]

(9) Drexl, A. & Kimms, A. (1997). Lot sizing and scheduling – survey and extensions. *European Journal of Operational Research*, **99**, 221-235. [ Links ]

(10) Evans, J.R. (1985). An efficient implementation of the Wagner-Whitin algorithm for dynamic lot-sizing problem. *Journal of Operational Management*, **5**, 229-235. [ Links ]

(11) Federgruen, A. & Tzur, M. (1991). A simple forward algorithm to solve general dynamic lot sizing models with n periods in O(n log n) or O(n) time. *Management Science*, **37**, 909-925. [ Links ]

(12) Federgruen, A. & Tzur, M. (1993). The dynamic lot-sizing model with backlogging: a simple O(n log n) algorithm and minimal forecast horizon procedure. *Naval Research Logistics*, **40**, 459-478. [ Links ]

(13) Galil, Z. & Giancarlo, R. (1989) Speeding up dynamic programming with applications to molecular biology. *Theoretical Computer Science*, **64**, 107-118, *apud* in Federgruen & Tzur (1993). [ Links ]

(14) Golany, B.; Maman, R. & Yadin, M. (1992). An efficient algorithm for the dynamic economic lot size problem. *Computers and Operations Research*, **19**, 495-504. [ Links ]

(15) Johnson, L.A. & Montgomery, D.C. (1974). *Operations Research in Production Planning, Scheduling and Inventory Control*. New York, John Wiley & Sons. [ Links ]

(16) Karimi, B.; Fatemi Ghomi, S.M.T. & Wilson, J.M. (2003). The capacitated lot sizing problem: a review of models and algorithms. *OMEGA*, **31**, 365-378. [ Links ]

(17) Kuik, R.; Salomon, M. & van Wassenhove, L.N. (1994). Batching decisions: structure and models. *European Journal of Operational Research*, **75**, 243-263. [ Links ]

(18) Lozano, S.; Larraneta, J. & Onieva, L. (1991). Primal-dual approach to the single level capacitated lot-sizing problem. *European Journal of Operational Research*, **51**, 354-366. [ Links ]

(19) Pochet, Y. & Wolsey, L.A. (1988). Lot-size models with backlogging – strong reformulations and cutting planes. *Mathematical Programming*, **40**, 317-335. [ Links ]

(20) Sabbag Neto, Z. (1993). Planejamento da produção em máquinas paralelas sob restrições de capacidade. Dissertação de Mestrado, FEEC – UNICAMP. [ Links ]

(21) Sambasivan, M. & Yahya, S. (2005). A Lagrangean-based heuristic for multi-plant, multi-item, multi-period capacitated lot-sizing problems with inter-plant transfers. *Computers & Operations Research*, **32**, 537-555. [ Links ]

(22) Sung, C.S. (1986). A single-product parallel-facilities production-planning model. *International Journal of Systems Science*, **17**, 983-989. [ Links ]

(23) Toledo, F.M.B. (1998). Dimensionamento de lotes em Máquinas Paralelas. Tese de Doutorado, FEEC – UNICAMP. [ Links ]

(24) Trigeiro, W.W.; Thomas, L.J. & McClain, J.O. (1989). Capacitated lot sizing with setup times. *Management Science*, **35**, 353-366. [ Links ]

(25) Wagelmans, A.; van Hoesel, S. & Kolen, A. (1992). Economic lot sizing: an O(n log n) algorithm that runs in linear time in the Wagner-Whitin case. *Operations Research*, **40**, S145-S156. [ Links ]

(26) Wagner, H.M. & Whitin, T.M. (1958). Dynamic version of the economic lot size model. *Management Science*, **5**, 89-96. [ Links ]

(27) Wilber, R.E. (1988). The concave least weight subsequence problem revisited. *Journal of Algorithms*, **9**, 418-425, *apud* in Federgruen & Tzur (1993). [ Links ]

(28) Wolsey, L.A. (1995). Progress with single-item lot-sizing. *European Journal of Operational Research*, **86**, 395-401. [ Links ]

(29) Wolsey, L.A. (2002). Solving Multi-Item Lot-Sizing Problems with an MIP Solver Using Classification and Reformulation. *Management Science*, **48**, 1587-1602. [ Links ]

(30) Zangwill, W.I. (1969). A backlogging model and a multi-echelon model of a dynamic economic lot size production system – a network approach. *Management Science*, **15**, 506-527. [ Links ]

Recebido em 07/2004; aceito em 07/2005

Received July 2004; accepted July 2005

* *Corresponding author* / autor para quem as correspondências devem ser encaminhadas