UFDC Home  myUFDC Home  Help 



Full Text  
EFFICIENT APPROACHES TO INTEGRATED REQUIREMENTS PLANNING PROBLEMS IN SUPPLY CHAIN OPTIMIZATION By FATMA ZEYNEP SARGUT A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2006 Copyright 2006 by Fatma Zeynep Sargut To Umut ACKNOWLEDGMENTS I owe a debt of gratitude to my supervisor, Edwin Romeijn, for his patience during my dissertation and all the things I have learned by being his student. I am very grateful to my mum, F i. i Alisan, to my father, Miifit Alisan, to my brother Onur Alisan, and Umut's family for their continuous support. My father never stopped sending me emails and making me smile. Maybe I have known him better during these four years than throughout my entire life. Although Nietzsche saw hope as the latest evil left Pandora's box, hope is still the greatest thing for the world and me. Umut, I could not do it without you. TABLE OF CONTENTS page ACKNOWLEDGMENTS ................... ...... iv LIST OF TABLES ................... .......... viii LIST OF FIGURES ..................... ......... ix ABSTRACT ....................... ........... xi CHAPTER 1 INTRODUCTION ........................... 1 2 CAPACITATED REQUIREMENTS PLANNING WITH PRICING FLEXIBILITY AND GENERAL COST AND REVENUE FUNCTIONS 9 2.1 Introduction . . . . . . . 9 2.2 Background Information ..... ................... 10 2.2.1 Dynamic LotSizing Problem ......... ........ 10 2.2.2 Fully Polynomial Time Approximation Schemes for CLSP 14 2.3 Model Formulation ....... ............ ..... 18 2.3.1 Requirements Planning with Pricing Flexibility ....... 18 2.3.2 Capacitated Economic LotSizing Formulation ....... 21 2.4 Properties of the New Procurement Cost Function . ... 24 2.5 Results ...... ....................... .. 28 2.5.1 Dynamic Programming ................ .... 28 2.5.2 Fully Polynomial Time Approximation Scheme . ... 30 2.6 Conclusions ............... .......... .. 34 3 LOTSIZING WITH NONSTATIONARY CUMULATIVE CAPACITIES 36 3.1 Introduction ............... ......... .. 36 3.2 Model Formulation ......... . . .... 37 3.2.1 TwoLevel LotSizing with Nonstationary Production Capacities ..... ........... ..... .. 37 3.2.2 SingleLevel LotSizing with Cumulative Capacities . 40 3.3 General Cost Functions ................ ... ... .. 41 3.3.1 Proof of NPHardness ....... . . ...... 42 3.3.2 A Fully Polynomial Time Approximation Scheme . 43 3.4 Concave Costs .................. ......... .. .. 47 3.4.1 Introduction .................. ........ .. 47 3.4.2 Solution Approach. .................. .... 49 3.4.3 Computing the Subplan Costs ................ .. 50 3.5 Allowing for Backlogging .. . . . 54 3.6 Summary and Directions for Future Research . . 55 4 CAPACITATED PRODUCTION AND SUBCONTRACTING IN A SERIAL SUPPLY CHAIN .................. ..... .. 57 4.1 Introduction ..... . . ....... ........... 57 4.2 Problem Formulation and Solution Approach . . 63 4.2.1 Problem Formulation .................. ..... 63 4.2.2 Solution Approach. .................. .... 66 4.2.3 Only Backlogging at the Manufacturer Level . ... 69 4.3 Models without Subcontracting Opportunities . . 71 4.3.1 Subplan Properties ... . . ..... ... 71 4.3.2 Inventory Holding and Backlogging at the Manufacturer Level 72 4.3.3 Model with only Backlogging at the Manufacturer Level 77 4.3.4 Evaluation .................. ......... .. 78 4.3.5 Managerial Insights ................ .... 79 4.4 Models with Subcontracting Opportunities . . ..... 80 4.4.1 General Properties of the Subplans . . ...... 80 4.4.2 Concave Costs ..... . . . 81 4.4.3 Subcontracting versus Overtime Production Option . 84 4.5 The Uncapacitated Case ..... . . ...... 87 4.5.1 Both Inventory Holding and Backlogging at the Manufacturer 88 4.5.2 Only Backlogging at the Manufacturer . . 90 4.6 Summary and Concluding Remarks ............. .. 91 5 MULTIWAREHOUSE MULTIRETAILER NEWSVENDOR PROBLEM 93 5.1 Introduction and Related Literature ............. .. 93 5.2 MultiSourcing Transportation Problem . . ..... 98 5.2.1 Model Formulation ... . . ... 98 5.2.2 Properties of the Model and the Optimal Solution ..... ..100 5.2.3 Lagrangean Relaxation Approach . . ..... 102 5.2.4 Minimum Convex Cost Flow Representation ........ 105 5.2.5 FixedCharge Transportation Costs . . .... 107 5.2.6 General Demand Distributions . . 109 5.3 A BranchandPrice Algorithm for SingleSourcing Transportation Problem ........ ....... .......... ..... 111 5.3.1 Model Formulation ................ .... .. 111 5.3.2 A SetPartitioning Formulation . . ..... 114 5.3.3 The Pricing Problem for LPSP . . ..... 118 5.3.4 A General Class of Problems ..... . . ..... 119 5.3.5 Solving Pricing Problem to Optimality . . ... 125 5.3.6 Branching Rule for BranchandPrice . . 126 5.4 Extensions of the SingleSourcing Model . . 127 5.4.1 FixedCharge Transportation Costs . . .... 127 5.4.2 More General Procurement Cost Functions . .... 128 5.4.3 Capacity Expansion ................ .... .. 131 5.5 Discussion .. .. ... .. .. .. .. ... .. .. .. ....... 135 5.6 Computational Results .................. .... 137 5.6.1 Experimental Design ............ .. . 137 5.6.2 BranchandPrice Strategies ................. 139 5.6.3 A Heuristic for SSTP ............. .... . 141 5.6.4 Computational Results ............... .. 141 5.6.5 Discussion of the Results .............. .. 156 5.7 Conclusions and Future Research Directions . . 158 6 CONCLUSIONS .................. ............ 160 APPENDIX A SUMMARY OF COMPUTATIONAL RESULTS FOR HIGH CAPACITY 162 B SUMMARY OF COMPUTATIONAL RESULTS FOR LOW CAPACITY 169 REFERENCES .................. ................ .. 176 BIOGRAPHICAL SKETCH .................. ......... .. 181 LIST OF TABLES Table page 41 Running times for models without subcontracting opportunities ... 91 42 Running times for models with subcontracting opportunities. ...... 92 51 Zero fixed cost of transportation (high capacity). . . 143 52 Zero fixed cost of transportation (low capacity). . . ..... 144 53 Low fixed cost of transportation (high capacity). . . ..... 144 54 Low fixed cost of transportation (low capacity). . . ..... 144 55 High fixed cost of transportation (high capacity). . . 145 56 High fixed cost of transportation (low capacity). . . ..... 145 57 The percentage of the pricing problems that branchandbound is used. 145 58 Branching rule comparison. .................. ..... 152 59 Data sets .................. ................ .. 156 A1 Zero fixedcost case. .................. .......... 163 A2 High fixedcost case. .................. .......... 165 A3 Low fixedcost case. .................. .......... 167 Bl Zero fixedcost case. .................. .......... 170 B2 High fixedcost case. .................. .......... 172 B3 Low fixedcost case. .................. .......... 174 LIST OF FIGURES Figure 21 Network flow representation of DLSP......... . ..... 22 Demand (a) as a decision variable; (b) deterministic . ... 31 Production cost function in period t.......... . ..... 32 Network flow representation of LSPCC........ . ..... 33 Extreme point solution with 2 subplans and the associated arc flows. 41 Network representation with inventory holding and backlogging. . 42 Network representation with backlogging only at the manufacturer. 43 Network representation with overtime production. Warehouseretailer network, with 3 warehouses and 4 retailers .. Convex cost network flow representation for n = m 3....... Transportation network in the case of flat spots .. ........ 54 Qj(Qj): (a) zj cannot be determined (b) zj 4j and bj(Qj). .. .. ... .. .. .. E', Q' versus A: (a) fractional solution ii versus 7i for two cases ...... Branchandprice tree of a problem. SSTP CPU times (high capacity) . SSTP CPU times (low capacity)..... SSTP solution values (high capacity). SSTP solution values (zero fixed cost). SSTP solution values (low fixed cost). . SSTP solution values (high fixed cost). i r ..... . . integer solution..... page 13 22 43 48 52 66 70 . . 85 55 56 57 58 59 510 511 512 513 514 515 Heuristic and branchandprice solution times (high capacity). ..... 149 516 Heuristic and branchandprice solution times (low capacity). ...... ..150 517 Heuristic and branchandprice solution values. ............ ..150 518 Time comparison for pricing strategies (high capacity). . ... 151 519 Time comparison for pricing strategies (low capacity). . .... 151 520 Pricing strategies (low capacity). ................ ..... 152 521 Columns generated for two pricing rules (low capacity). . ... 153 522 Pricing strategies (high capacity). ................ ..... 153 523 Columns generated for two pricing rules (high capacity). . ... 154 524 Comparison of MSTP and SSTP solution values as m changes. ....... .154 525 R as m changes. .................. .. ..... ...... 155 526 R for all m n pairs. .................. ...... ..... 155 527 Locations of the warehouses and the retailers in data set 6. . ... 156 528 Effects of parameters on R. ................ .. .... 157 529 R for all data sets. ............... ........... 157 Abstract of Dissertation Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy EFFICIENT APPROACHES TO INTEGRATED REQUIREMENTS PLANNING PROBLEMS IN SUPPLY CHAIN OPTIMIZATION By Fatma Zeynep Sargut August 2006 C'!I in: H. Edwin Romeijn Major Department: Industrial and Systems Engineering In standard dynamic economic lotsizing models, a sequence of demands for a single good over a finite and discrete planning horizon must be satisfied at minimum production and inventory holding cost, where the cost parameters and demands are assumed to be known. In this dissertation, we study variations of dynamic economic lotsizing models by integrating more decisions and adding more constraints. For each model, either we identify polynomially solvable cases and present solution algorithms or present approximation schemes. In our first model, we integrate pricing decisions and backlogging under nonstationary production capacities. We present a fully polynomial time approximation scheme for this model. In our second model, we consider a setting where any remaining capacity is transferred to the next production period. This is in contrast with traditional capacitated lotsizing models, where the quantity produced in each period is limited by some capacity, but any capacity remaining at the end of a period is essentially lost. We prove that this problem is NPhard for general cost functions and provide a fully polynomial time approximation scheme for the case when all cost functions are nondecreasing. We then develop a dynamic programming approach that solves the problem in polynomial time when all cost functions are concave. In our third model, we consider a twoechelon supply chain consisting of a supplier and a manufacturer, where a sequence of deterministic but nonstationary demands of the manufacturer for a single good needs to be satisfied over a finite horizon. We assume stationary production capacities. In particular, we consider an integrated model that minimizes total system costs, consisting of production, inventory, transportation, backlogging, and subcontracting costs. In our last model, we consider a multiwarehouse multiretailer model in a stochastic demand setting. In this model, we consider a single period, where we do not know the exact demand, but its distribution. Moreover, warehouses have capacities on the amount they can supply. For each retailer, we have newsvendor type costs ,and we also have the costs for assigning each retailer to each warehouse. We solve an assignment and capacity allocation problem. CHAPTER 1 INTRODUCTION According to Zipkin (2000), every inventory lies between two activities or processes which we call supply and demand. Supply processes are production, transportation or any activity that adds to the current inventory, while demand processes are the activities that subtract material from the current inventory. In an inventory model, supply and demand processes can be modelled in various v,v. Moreover, the time can be modelled as discrete or continuous. In discrete time models, we model time as a finite sequence of discrete time points and a period is defined as the interval between two consecutive time points. In the dynamic lotsizing problem (DLSP) (introduced by Wagner and Whitin 1958, demands of a single item are observed and ordering decisions are made at discrete time points at a single location. In addition, the demands in each period and the cost parameters are known and vary over time. We can order as much as we want, and we receive our order immediately. Therefore, DLSP has an uncapacitated supply process and a timevarying demand process. In DLSP, we try to minimize total ordering (production) and inventory costs during a finite planning horizon. The single location variant of the DLSP has received a lot of attention in the literature and it is solvable in polynomial time in the length of the time horizon (see Wagner and Whitin 1958). Aggarwal and Park (1990), Federgruen and Tzur (1991), and Wagelmans et al. (1992) propose more efficient algorithms for the special cases of DLSP. Zangwill (1969) proposes an O(T3) dynamic programming algorithm when a backlogging opportunity is present. When production capacities are present, we obtain the capacitated lotsizing problem (CLSP). In contrast to the DLSP, this problem is known to be NPhard for many special cases (see Florian et al. 1980 and Bitran and Yanasse 1972). An interesting and important special case that allows a polynomial time algorithm arises when production capacities are stationary. The papers that present polynomial time algorithms in the case of stationary production capacities are Florian and Klein (1972), Florian et al. (1980), and van Hoesel and Wagelmans (1996). Chlui and Lin (1988) and van den Heuvel and Wagelmans (2006) present polynomial time algorithms for another special case of the CLSP when the fixedcosts of production are nonini, i. ii the holding costs are linear, the linear part of the production cost functions are nonin, i. iii.: and the capacities are nondecreasing over time. A more general setting of DLSP considers the determination of optimal price levels, and thereby demands, for the good in each period jointly with the production and inventory decisions that together maximize profit. This problem is studied by Thomas (1970) in the absence of capacities and when the price of the product in each period is a decision variable. Kunreuther and Schrage (1971) and Gilbert (1999) consider the uncapacitated problem when a single price must be used over the entire horizon. Kunreuther and Schrage (1971) provided bounds on the optimal solution value under time varying production cost assumptions, while Gilbert (1999) assumed a timeinvariant production setup and holding costs, and provides an exact polynomial time algorithm. A recent paper by van den Heuvel and Wagelmans presents an optimal polynomial time algorithm for Kunreuther and Schrage's problem. Geunes et al. (2005) presents polynomial time algorithms for the uncapacitated and stationary production capacities cases when the revenue function in each period is a piecewise linear concave function of the price. Biller et al. (2005) developed a greedy algorithm for the variant of the problem in which production capacities are nonstationary but all cost functions are linear. Gilbert (2000) also considers a situation in which pricing and production decisions must be made for multiple constantpriced products that share the same production capacity. Deng and Yano (2006) consider both setup costs and nonstationary production capacities in their problem and show that taking prices as decision variables does not change the structure of the optimal production decisions characterized by Florian and Klein (1971). Geunes et al. (2005) presents a solution approach for economies of scale in production (fixedcost structure), pricesensitive demand (general concave revenue functions), and timeinvariant production capacities. They provide polynomialtime solution methods for this problem when we may set different prices for the good in each period and we set a constant price for the good over the entire planning horizon. Subcontracting is the procurement of an item or service which is normally capable of economic production in the prime contractor's own facilities and which requires the prime contractor to make specifications available to the supplier (Day 1956). However, overtime production occurs at the end of the period and incurs relatively high production costs. In another setting of DLSP, regular production capacity levels are also decision variables. Atamtiirk and Hochbaum (2001) investigates the tradeoff between acquiring capacity, subcon il i ,lir: production, and holding inventory under various cost structures, where the amount of subcontracting is uncapacitated. Merzifonluoglu et al. (2006) determines the optimal price, production, inventory, subcoiil i I Ii:.l overtime, and regular production capacity levels. Another research area arising from DLSP is a multilevel dynamic lotsizing problem. The 50th anniversary issue of the journal Management Science is devoted to the most influential papers during these fifty years. One of these papers is Dynamic Version of the Economic Lot Size Model by Harvey M. Wagner and Thomas M. Whitin. Harvey M. Wagner writes a comment in their paper and predicts that a candidate paper for the next 50th anniversary issue of Management Science is a paper that presents an efficient solution method to a dynamic lotsizing model that encompasses a multiechelon environment. Zangwill (1969) studied the uncapacitated version of the multilevel lotsizing problem, and developed a dynamic programming algorithm that is polynomial in both the planning horizon and the number of levels. Lee et al. (2003) consider a twolevel model where the transportation costs are nonconcave functions. Kaminsky and SimchiLevi (2003) propose a threelevel model in which the first and third levels are production stages, and the second level is a transportation stage. Both production stages are capacitated, while the transportation stage is uncapacitated. They consider linear inventory holding costs that increase with the level of the supply chain, and linear production costs at both levels 1 and 3 that satisfy a traditional nonspeculative motives condition. The transportation costs at the second level are of the fixedcharge or general concave form and are assumed to satisfy a restrictive and nontraditional nonspeculative motives condition. They eliminate the thirdlevel production decisions and reduce the problem to a twolevel model. For the fixedcharge transportation costs, they provide a polynomial time algorithm. For concave transportation costs, they provide a polynomial time algorithm in the presence of stationary production capacities. Van Hoesel et al. (2005) proposes a polynomial time algorithm which is computationally less expensive even when all cost functions are concave. They also consider multilevel models and propose an algorithm that runs in polynomial time in the number of periods and exponential in the number of levels when all cost functions are concave. However, when inventory holding costs are linear and transportation costs either are linear or have fixedcharge structure and satisfy a form of nonspeculative motives, running times are polynomial in the number of periods and relatively insensitive to the number of levels. 5 In this thesis, we first address some extensions of the DLSP. In ('!i ipter 2, we first give background information about DLSP and fully polynomial time approximation schemes (FPTAS). We then introduce the requirements planning with pricing flexibility problem (RPP). This problem considers the pricing (or how much demand to satisfy) and the production decisions in a single location. In the literature, polynomially solvable cases of RPP are well studied (see Thomas 1970, Geunes et al. 2005, and Biller et al. 2003, Deng and Yano 2006, van den Heuvel and Wagelmans 2006, Gilbert 1999, Geunes et al. 2005). However, we consider RPP with general cost and revenue functions, and also nonstationary production capacities. We present the first FPTAS for RPP. In C'!i lpter 3, we again consider a single location model. However, we have a different capacity constraint, which we call cumulative capacity constraint, which states that the remaining capacities in the previous periods can be used in the coming periods. We assume nonstationary production capacities for each period. We show that this problem is NPhard with general production cost functions and zero inventory costs. As opposed to the traditional dynamic lotsizing problem with nonstationary production capacities, we show that this problem is solvable in polynomial time when all cost functions are concave. In C'! Ilpter 4, we analyze a twoechelon supply chain consisting of a supplier and a manufacturer, where a sequence of deterministic but nonstationary demands of the manufacturer for a single item needs to be satisfied over a finite horizon. Our results generalize van Hoesel et al. (2005) and Atatumtfirk and Hochbaum (2001). In particular, we consider an integrated model that minimizes total system costs, consisting of production, inventory (holding and backlogging), transportation, and subcontracting costs. This is appropriate in cases where, for example, the supplier is a captive subsidiary of the manufacturer. In each period, the production quantity is limited by a finite but stationary capacity. Alternatively, units may be obtained by subcontracting from an outside supplier, where the capacity of the outside supplier may or may not be limited. Note that this subcontracting option may be used regardless of whether the production capacity in a given period is exhausted. However, we will show how our approach can be modified to allow for an alternative sourcing option that can only be used if production is at full capacity, and therefore can be interpreted as an overtime production option. To the best of our knowledge, this study is the first multilevel dynamic lotsizing model that encompasses subcontracting and overtime decisions. We present polynomial time dynamic programming algorithms for the variations of the model where subcontracting, production, and overtime decisions are capacitated or uncapacitated, and when backlogging is allowed or not. We consider the case when all cost functions are concave. Moreover, we present the algorithms with improved running times when we have linear inventory costs and either fixedcharge transportation costs with speculative motives or linear transportation costs. We also consider the case where holding at the retailer is not allowed; in other words, the retailer prefers to backlog instead of carrying inventory. For this case, we show that the running time of the dynamic programming algorithm improves for capacitated production cases. The second theme this thesis addresses is based on the newsvendor problem. N. 1. idorbased models are used when the demand of the item is a random variable and the item has a short useful life. In these models, we consider a single period, in which we order at the beginning of the period and then demand occurs at the end of the period. First of all, we pl i a unit purchase cost for each item we order. Moreover, according to the observed demand, we incur some costs. Any inventory remaining at the end of the period has some salvage value, which is less than unit purchase cost. However, there is a penalty (for instance, due to loss of goodwill) associated with any unit of demand that cannot be satisfied. Since demand is a random variable, the retailer aims to minimize his/her expected cost in a single period. For single product and single location newsvendor problems Lau (1997) presents closedform expressions for computing the expected total costs for various demand distributions. In the literature, many studies extend the single product single facility newsvendor problem by considering a fixedcost associated with the replenishment (see Moon and Silver 2000), quantity discounts (see Jucker and Rosenblatt 1985, Pantumsinchai and Knowles 1991), price dependent demand (see Lau and Lau 1988), and the use of a different objective such as maximization of the probability that at least a certain profit level is achieved (see Sankarasubramanian and Kumanraswamy 1983). Eppen (1979), ('!C. i and Lin (1989), and ('C!i I, and Lin (1991) consider multilocation newsvendor problems. Lau and Lau (1996) considers a multipleproduct model with single and multiple capacity constraints. The solution of the model with single capacity constraints extends Hadley and Whitin (1963) (pp 306307) by allowing all kinds of continuous demand distributions. To solve the model with multiple constraints, they employ active set methods, which is proposed in Luenberger (1973). They also consider the case where the demand distribution has a nonzero lower bound. The other analysis of multicommodity type systems, with or without capacity constraints, can be found in Sivazlian and Stanfel (1975), Moon and Silver (2000), and Lau and Lau (1995). An excellent review on the newsvendor problem has been recently provided by Khouja (1999). In ('! Ilpter 5, we extend the classical newsvendor problem to a capacitated multiwarehouse multiretailer setting. This problem integrates inventory and transportation decisions in the presence of capacities that constrain the quantity of product that can be supplied from each warehouse. As in the classical newsvendor problem, we consider the case of a single product. We consider two versions of 8 the problem: with or without singlesourcing restriction, which enforces that each retailer can be shipped by at most one warehouse. We compare the solutions of the single and multisourcing versions and report the cases where their optimal objective values have significant difference. We solve singlesourcing problem using branchandprice algorithm and our pricing problem is an interesting problem in its own right. It is a nonlinear integer knapsack problem whose item sizes can be influenced and we present two solution methods, one of which gives an approximate solution and the other an optimal solution. CHAPTER 2 CAPACITATED REQUIREMENTS PLANNING WITH PRICING FLEXIBILITY AND GENERAL COST AND REVENUE FUNCTIONS 2.1 Introduction In this chapter, we study the requirements planning problem with pricing flexibility (RPP), which can be viewed as an extension of the economic lotsizing model that was first introduced by Wagner and Whitin (1958). In this standard model, a sequence of demands for a single good over a finite and discrete planning horizon must be satisfied at minimum production and inventory holding cost. A more general setting considers the determination of optimal price levels, and thereby demands, for the good in each period jointly with the production and inventory decisions that together maximize profit. Thomas (1970) studied this problem in the absence of capacities and with concave revenues, fixedcharge production costs, and linear inventory holding costs. More recently, Geunes et al. (2005) developed a polynomialtime dynamic programming algorithm for the problem under these and some more general cost structures and in the presence of stationary production capacities. Biller et al. (2003) developed a greedy algorithm for the variant of the problem in which production capacities are nonstationary but all cost functions are linear. We extend these studies by allowing for timevarying production capacities and general cost functions. Since it is well known that even the standard economic lotsizing problem with timevarying production capacities is NPhard, even when all cost functions are concave (see Florian et al. 1980), we focus on developing a pseudopolynomialtime dynamic programming (DP) algorithm as well as a fully polynomial time approximation scheme (FPTAS) for the RPP (see Sargut and Romeijn 2006a). Our approach is based on a reformulation of the integrated pricing and lotsizing problem as a pure lotsizing problem with a complex procurement cost function (that itself involves solving an optimization problem) in Section 2.3. We next proceed, in Section 2.4, by analyzing properties of this new procurement cost function under different cost structures in the original problem. We then draw heavily upon earlier papers by Florian et al. (1980), in which a DP algorithm for the economic lotsizing problem is proposed, as well as van Hoesel and Wagelmans (2001), in which a FPTAS for the economic lotsizing problem is developed. In particular, Section 2.5 is devoted to the analysis of the running time of these two approaches as applied to the lotsizing formulation of the RPP. We end the chapter in Section 2.6 with some concluding remarks. 2.2 Background Information 2.2.1 Dynamic LotSizing Problem After Wagner and Whitin (1958) introduced DLSP, many variations of DLSP have been studied. Some of the variations increase the number of constraints and some of them increase the number of variables that cause tradeoff at the objective function. It is alv i a question if these extensions make the problem harder or not. In a DLSP, basically: * we consider a planning horizon with finite number of periods, * we know the demand and cost parameters in each period, * demand and cost parameters may vary over time, and * we try to minimize the total inventory and ordering (production) costs of a single item during the planning horizon. We can state the DLSP for a single facility with general cost terms as: T min (pt (xt)+ ht(It)) t=1 subject to (DLSP) dt + It = xt + It t= ,...,T (21) Xt,It > 0 t ,...,T, (22) where T is the length of the the planning horizon. For each period t = 1,..., T, we define: * dt as the demand in period t, * ht as the inventory holding cost in period t, * pt as the ordering (production) cost in period t. Our decision variables are: * xt, the order (production) size in period t, * It, the inventory level at the end of the period t. We can express It as a resulting state of the decision variables x x2,..., Xt, t t It o0+ x, d, i= 1 i 1 and state DLSP only in terms of x1,..., T. In the DLSP formulation, constraints 21 maintain balance of inflow and outflow at the facility and constraints 22 enforce the nonnegativity of the variables xt and It. Wagner and Whitin (1958) develops one of the simplest and earliest dynamic lotsizing model in the literature. In this model, ordering cost has fixedcost structure, inventory holding costs are linear, backlogging is not allowed, and production is uncapacitated. Let us denote the fixedcost of ordering in period t as st. The size of the decision space of this problem is 0(2T), since in each period we decide either to order or not. However, Wagner and Whitin (1958) proposes a forward dynamic programming recursion that works in O(T2) time: t k F(t) = mint s + dkj + F(i)I, k= i= j where F(t) is the minimum total cost of the periods 1,..., t. The reason we can use this dynamic programming recursion is that there exists an optimal solution satisfying zero inventory ordering property: Itxt = 0 for t= 1,...,T. In other words, we cannot order (produce) at period t, if we have positive inventory at the end of the period t 1. Therefore, ordering (production) amount in period t is dt + + d8 for s > t 1. Aggarwal and Park (1990), Wagelmans et al. (1992), and Federgruen and Tzur (1991) show that we can solve WagnerWhitin case in O(T log T) time. Moreover, we can solve this problem in O(T) time if nonspeculative motives assumption is satisfied. According to nonspeculative motives assumption ordering as late as possible is better. Formally, pt + ht > pt+l for t = 1,..., T 1. Veinott (2005) showed that even with general concave production and holding costs DLSP can be solved in O(T2) time. Zangwill (1969) gives a network approach and illustrates the problem as a concave cost network flow problem. This representation can be seen in Figure 21, S is the supply node and the other nodes are the demand nodes. Zangwill (1969) extends the work of Veinott (2005) by allowing backlogging in the model and shows that optimal solution is an extreme point solution with an arborescent structure. In other words, each node in the network has only one incoming arc that has positive flow. Therefore, production quantity in period t is + d4 Figure 21: Network flow representation of DLSP. the sum of demands of some consecutive periods including period t. The choice of production period in a subplan results in a O(T3) running time. We obtain capacitated lotsizing problem (CLSP) by adding the following constraints: xt where Ct is the ordering (production) capacity in period t. Under stationary (timeinvariant) production capacities, Florian and Klein (1971) gives an algorithm that runs in O(T4) time with general concave inventory cost functions with or without backlogging. According to Florian and Klein (1971), optimal plans consist of independent subplans in which * inventory level is nonzero in every period except the last, where it is zero, * production level, when positive is at capacity except for at most one period in which it is less than the capacity. We can characterize a subplan by its demand periods. In particular, a subplan (t1, t2) is defined as a consecutive sequence of periods t1 + 1,..., t2, where It It =0 and I > 0 for i = t +1,..., t2 1. Therefore, Florian and Klein (1971) concludes that when production capacities are constant, C, we produce at full capacity for K periods, where Sdtl + + dt2 S= dt, + + d,2 KC. Moreover, at only one period we produce e. Van Hoesel and Wagelmans (1996) gives an O(T3) algorithm when inventory holding costs are linear and backlogging is not allowed. Bitran and Yanasse (1982) shows that CLSP with nonstationary (timevarying) capacities is NPhard, even in the simplest case, where we assume fixedcharge production cost and zero holding cost with equal demands. 2.2.2 Fully Polynomial Time Approximation Schemes for CLSP CLSP with many cost structures is proved to be NPhard (see Bitran and Yanasse 1982, Florian et al. 1980). For NPhard cases of DLSP, solution methods based on dynamic programming, branchandbound and their combinations are proposed. Since solving NPhard problems optimally is computationally expensive, we may choose to solve the problem approximately. Let z* be the optimal solution value and z' be the solution value of the approximation scheme. For a minimization problem let us define relative deviation from the optimal solution as Za 1. z* We list three types of approximation schemes: capproximation scheme: It is an algorithm that alv, returns a nearoptimal solution whose relative deviation from the optimal solution is e. In other words: z < (1 + e *. * Polynomial time approximation scheme: It is an capproximation scheme that has a running time polynomial in the problem size. * Fully polynomial time approximation scheme (FPTAS): It is an eapproximation scheme that has a running time polynomial in both 1/c and the problem size. Woeginger (2001) states that an FPTAS is the strongest possible polynomial time approximation result that we can derive for an NPhard problem. Van Hoesel and Wagelmans (2001) provides the first FPTAS for CLSP with nonstationary production capacities, when we have * nondecreasing production and holding costs and backlogging is not allowed, or * (piecewise) concave backlogging and production costs and nondecreasing holding costs. For piecewise concave case, they assume the number of pieces is polynomially bounded. They assume that all demands, capacities, production, and inventory levels are integer. Moreover, all cost functions can be evaluated in polynomial time at any value in their domain and are scaled such that they are integer valued. They state that it is unlikely to get an FPTAS with the traditional dynamic programming formulations (for example the formulation in Florian et al. 1980) and define a different pseudopolynomial dynamic programming formulation. They define Ft(b) as the maximum inventory amount that we can have at the end of the period t with budget b. For the first period: Fi(b) max {xi dipi(ri) + hi(x di) < b} for b 0,..., B (23) Xi where B is any upper bound on the objective function value. For periods t = 2,..., T and b = 0,..., B, we condition the budget we spend in periods 1,..., t 1 (t a) and we spend the remaining amount, b a in period t. They show that the best ending inventory level of period t 1, when we spend totally a during periods 1,..., t 1 is Ft_ (a). Therefore, Ft(b) is written in terms of all Fti(a) such that a < b: maxo F,(b) max max < b a}, maxo Therefore, optimal solution of CLSP with nonstationary production capacities is minimum b such that FT(b) > 0. The running time of the dynamic programming algorithm based on formulas 23 and 24 depends on B polynomially. The next step is to limit the number of possible budget values. To that aim, a positive integer K is selected and the set of possible budgets is reduced to the set {0, K, 2K,..., ([B/K] + T)K}. After this update, running time of the dynamic programming formulation depends on B/K polynomially. Moreover, they prove that restricted dynamic programming formulation gives a solution value that deviates from optimal solution at most by TK. In the next step, they show how to compute an upper bound on z* which is at most 2Tz*. This upper bound is used as B in the dynamic programming formulations. With given relative error with respect to the optimal solution, c, and K =max{ [eB/2T2], : 1. a < z* + TK z* + T max{ B/2T2,1} < (1 +)*, 2. running time is polynomial in B/K, which is O(T2/C). therefore, this algorithm becomes an FTPAS. Recently, Chubanov et al. (2006) presents an FPTAS for CLSP with monotone cost structure by rounding a traditional dynamic programming algorithm and exploiting the combinatorial properties of the recursive function. Therefore, they disprove the statement by van Hoesel and Wagelmans (2001) that a traditional dynamic programming approach is unlikely yield an FPTAS. They solve a rounded problem whose optimal solution is denoted by z,* with the objective function: T E (Lp(xt)/p + Lht(It)/Pj), t=1 where p = eL/2T and L is a known lower bound for z*. They proved that Zr* < + c)z*. To solve the rounded problem, they use a modification of a traditional dynamic programming algorithm. tt(s) = min t 1(Lp(x)/p] + [h(l)/p]) i=1 subject to di + Ii lo It xi xi i, .i xi + Ii < ci > 0 C Z i= 1,... ,t (25) (26) (27) (28) (29) (210) 1,... ,t 1, ,t 1, t. For any t E [1, T] function Qt(.) is evaluated recursively as: t(s) min {[pt(s s' + dt)/pj + Lht(s)/p + t1(s') s s' + dc E [0, Ct]}, e[ t1 t11 (211) where at E di, a = Z (C, di), and for s E [al, a]. Instead of solving this dynamic programming formulation in the traditional way, they prove that Qt has at most O(t2V2) nonstable points (V = LU/p, where U is a known upper bound for z*). Definition 2.2.1 s is a nonstable point of the function f, which is 1. I,.1 in the interval [a, b], if s E [a + 1,b 1] and f(s) / f(s 1), or s E {a, b}. Bf is the set of nonstable points of f. They write dynamic programming recursion 211 in over the set of the nonstable points: t(s s)h /p] + min {[pt(S sab + dt)/pj + t (sab)}, (212) aEBpt',bEBt where Sab is an arbitrary point belonging to a specified interval depends on a and b. They show that all nonstable points can be found in polynomial time and recursion 212 can be solvable in time polynomial in 1/e, T, and loglog(U/L), where L is a known lower bound for z*. The running time of the resulting FPTAS is U T t O(T l( oglog +T( +ioglog ) log Ci). t= 1 i= 1 2.3 Model Formulation 2.3.1 Requirements Planning with Pricing Flexibility We start by formulating our requirements planning model with pricing flexibility. Let T denote the length of the planning horizon. Our goal is to find the production, inventory, and demand satisfaction plan that maximizes total profit while observing the production capacities. We therefore define, for each period t = 1,..., T, the following decision variables and input data with appropriate assumptions: * Production: The production quantity in period t is denoted by the variable xt. The production capacity is equal to Ct, and the cost of production is given by the nondecreasing function pt. Without loss of generality, we will assume that p (0) 0. * Demand: The demand satisfied in period t is denoted by the nonnegative variable dt. The revenue as a function of demand satisfied is given by the function Rt, where without loss of generality we assume that Rt(O) = 0. Furthermore, we assume that the revenue function is nondecreasing on 0 < dt < Dt, at which point it attains its maximum. Inventory and backlogging: The quantity in inventory or backl.:.: is denoted by the free variable It, where positive values denote inventory and negative values denote backlog. The corresponding cost function is denoted by ht, again with ht(0) = 0. Furthermore, we will often write h,(,) i ht (I,) thtw [ hi) if I < 0 if h > 0 where ht is a nonincreasing function, h+ is a nondecreasing function, and clearly h (0) h (0) 0. In addition, we will assume that the problem parameters Ct and Dt (t = 1,..., T) as well as the demand, production, and inventory levels are integral. We then formulate the requirements planning problem with pricing flexibility (RPP) T maximize (RL (d,) t=1 Xt + It1 dt + It Xt < Ct Xt, dt > 0 It free IT > 0 Xt, dt, It E Z pt(xt) ht(It)) t 1,...,T t 1,... ,T t 1,... ,T t 1,...,T t 1,...,T t = 1. ... T. Constraints 213 ensure the balance between inventory, backlog, production inflow, and demand outflow at the manufacturer. Constraints 214 are the production capacity constraints and constraints 215 are imposed without loss subject to (213) (214) (215) (216) (217) (218) (219) of optimality, indicating that satisfying any demand in period t beyond Dt does not yield additional revenue and will not decrease costs. Constraints 216 are the nonnegativity constraints on production and demand satisfaction, while constraints 217 and 218 indicate that both inventory and backlogging are allowed, but that no positive backlc_._., 1 amount is allowed to remain at the end of the planning horizon. Finally, constraints 219 ensures the integrality of the decision variables. Note that the initial inventory or backlog 1o is assumed given. Note that the range of profit values that can be achieved in this formulation of the RPP contains both positive and negative values. Zemel (1981) states that for such problems the relative error with respect to the optimal solution value is not a meaningful performance measure of a heuristic. Since one of our goals is to obtain an efficient approximation scheme for the RPP, we will next show how we can, under mild conditions, reformulate our problem as a pure cost minimization problem. To this end, we define a set of new decision variables yt (t 1,... T) denoting the amount of unsatisfied demand in period t that is potentially profitable, i.e., yt = Dt dt. Next, we introduce the loss function Lt, representing the revenue shortfall as a function of the quantity of unsatisfied demand: Lt(yt) = Rt(Dt) Rt(Dt t) = Rt(D) Rt(dt). Note that Lt is nondecreasing and Lt(O) = 0. Our new objective function can now be found by subtracting the original objective function from the total revenue associated with satisfying Dt units of demand in period t (t = 1,..., T), and minimize the resulting function. In other words, our new objective function becomes: T T t 1 t 1 (R pt(xt) ht )) = ( (yt) + pt(t) + ht ) . t=1 t=1 With these modifications, we obtain the following reformulation of the RPP which, with a slight abuse of notation, we will still refer to as the RPP: T minimize (pt(xt) + Lt(yt) + ht(It)) t=1 subject to t + yt + It = Dt+It t = 1,...,T Xt < Ct t= 1,... ,T yt < D t t= ,...,T xt, Yt > 0 t= 1,... .T It free t= 1,..., T IT > 0 Xt, t, It E Z t 1 ,... ,T. 2.3.2 Capacitated Economic LotSizing Formulation In this section, we will show that the RPP can be further reformulated as a capacitated economic lotsizing problem (CLSP). This reformulation will enable us to apply and adapt known approaches to the CLSP with general cost functions to the RPP. The main difference between the RPP and the CLSP is that the demand is a decision variable in the former while it is fixed in the latter. However, the cost minimization formulation from Section 2.3 gives rise to an alternative interpretation of the RPP. In particular, we could view the RPP as the problem of i ly!ig" (or procuring) the total potential demands Dt through two sources: a true source (production, via the production variables Xt) and a virtual source (via the variables yt). This is illustrated in Figure 32. Furthermore, we may now note that the decision variables Xt and yt between different periods are only linked through Xt Xt Yt dt = Dt yt D, (a) (b) Figure 22: Demand (a) as a decision variable; (b) deterministic. the inventory balance constraints and, in addition, these only depend on the two variables through their sum. Therefore, we can define new decision variables zt = xt + yt (t = 1,... T) and decide on the decomposition of zt into xt and yt on a periodbyperiod basis based on costs. In particular, the cost of procuring Zt units in period t, i kt, can be determined as follows: kt(zt) min {pt(xt) + Lt(yt) : xt + yt = Zt, 0 < xt < Ct, 0 < yt < Dt. x t,yt Z With the procurement cost functions kt, we obtain the following formulation of the RPP as a CLSP: T minimize (kt(zt) + ht(It)) t=1 subject to It +t = Dt + It t= ,...,T zt < Ct + Dt t= 1,...,T Zt > 0 t 1,...,T It free t= 1,..., T IT > 0 Zt,It E Z t ,..., T. Note that this is indeed a CLSP, with the following interpretations: * the procurement cost function in period t is given by kt; * the procurement capacity in period t is equal to Ct + Dt; * the procurement quantity in period t is equal to zt; * the demand in period t is equal to Dt. In the remainder of this chapter, we will study the DP approach proposed by Florian et al. (1980) and the approximation scheme proposed by van Hoesel and Wagelmans (2001) in the context of the RPP. The core issue is that the success of known approaches such as these depends critically on their running times which are typically derived based on the assumption that the cost functions can be evaluated in constant time. This is clearly not the case for the RPP due to the fact that evaluating the procurement cost function kt involves solving a potentially very hard global optimization problem. In the next section, we will discuss some properties of the new procurement cost function. 2.4 Properties of the New Procurement Cost Function In this section, we will for clarity of expression omit the subscript indicating the period t. In our first proposition we will show that our assumptions imply that the procurement cost function k is nondecreasing. Proposition 2.4.1 The procurement cost function k is nondecreasing on its domain {0,1,..., C+ D}. Proof: First, note that since the revenue function R is a nondecreasing function of demand d, it is easy to see that the cost function L is a nondecreasing function of y. This implies that we can relax the optimization problem defining k(z) so that in fact k(z) min {p(x) + L(y) :x + y> z, 0< x < C, 0< This immediately implies that the domain of k is {0, 1,..., C + D}. Now observe that the feasible regions of these optimization problems as parameterized by z are nested and decreasing as z increases, so that k is nondecreasing. o The following proposition gives a convenient representation of k in case the cost functions p and L have a socalled piecewise structure (e.g., general piecewise linear, piecewise concave, or piecewise convex). Proposition 2.4.2 If p has a piecewise structure with m yin, ,.'I/ and L has a piecewise structure with n segments then k can be expressed as k (z) min k" (z) i=1,...,m;j=1,...,n for i'i.'i' i ..'I :, /, .7,. ,l functions k'U. Proof: Denote the (integral) breakpoints of the function p by 0 = Co < C1 < S.. < C" = C + 1 and, similarly, of the function L by 0 = Do < D1 < ... < D" = D + 1. Then define the minimum cost associated with a supply of z when restricting ourselves to the ith segment of p (i = ,..., m) and the jth segment of L (j = ,...,n) as k'(z) min{p(x) + L(y) : x + y = z, Ci1 < x < Ci, D1 < y< DJ}. (220) x,yEZ Using this definition, we immediately obtain the desired result. o In the remainder of this chapter, we will focus mainly on two classes of cost functions L and p that together span many of the cost and revenue structures proposed in the literature. * L and p are piecewise convex. Note that (piecewise) convexity of the loss function L corresponds to (piecewise) concavity of the revenue function R, which is a commonly made assumption (see, e.g., Geunes et al. 2005). As for the production cost function p, all piecewise linear functions are piecewise convex, which means that this class includes, for example, piecewise linear concave production functions p that represent economies of scale in production as well as the (modified) allunits discount cost structure proposed by C'!i i: et al. (2002). * L and p are piecewise concave. In a similar way as above, this case includes general concave production cost functions and piecewise linear concave revenue functions (see, e.g., Geunes et al. 2005 for a situation in which such a revenue function naturally occurs). (We recall that convexity of a function f defined on Z means that f(x + 1)  f(x) is nondecreasing in x and concavity of a function f means that f(x + 1) f(x) is nonincreasing in x.) The next propositions derive the running time required to evaluate the procurement cost function k for the piecewise convex and piecewise concave cases. Proposition 2.4.3 If p is a piecewise convex function with m segments and L is a piecewise convex function with n jr,,, ,/1 then the function k can be evaluated in O(mn log C) time. Moreover, the function k is piecewise convex. Proof: Note that we can rewrite the function k"I as defined in Equation 220 as k' (z) = min{p(x) + L(y) : x + y z, Ci1 < x < Ci, D1 < y < D} x,yEZ Smin{p(x) + L(z x) : C1i < x < Ci, Dj < z x < Dj} Smin{p(x) +L(z x) : max{Ci1,z D 1} < x < min{C,z DJ + 1}}. xEZ It is easy to see that if both p and L are convex on each segment specified by a given i and j, p(x)+L(zx) is a convex function of x on the corresponding segment as well. Therefore, we can find the value of k j(z) in O(log(C0 C1)) = O(log C) time using, for example, golden section search. Thus, by Proposition 2.4.2 the value of k(z) can be found in O(mn log C) time. It remains to be shown that, for all i = 1,..., j = 1,..., n, the function ki is convex on its domain. To this end, let Ci1 + Dj1 < z < Ci + Dj 1 and suppose that kij(z) = p(x) + L(z x) for some max{Ci1, Dj + 1} < x < min{Ci, z Dj1 + 1}. Convexity of p and L on the relevant domains then implies that k'"(z+ 1) min{p(x+ 1) + L(z x),p(x) + L(z x + 1)} (where p(x + 1) is replaced by oo if x = C 1 and L(z x + 1) is replaced by oo if x = C1). This implies that kj(z + 1) kj(z) = min {p(x + 1) p(x), L(z x + 1) L(z x)} which is nondecreasing in z. D Proposition 2.4.4 If p is a piecewise concave function with m , ,,, ,'..1 and L is a piecewise concave function with n segments then the function k can be evaluated in O(mn) time. Moreover, the functions k' as 1. I, .. in Equation 220 are piecewise concave with no more than three u,,r ,. Proof: Let us rewrite the function kV as in the proof of Proposition 2.4.3. It is easy to see that if both p and L are concave on each segment specified by a given i and j, p(x) + L(z x) is a concave function of x on that segment as well. Since the minimum of a concave function over an interval is attained at one of the endpoints of the interval, we can find the value of kO(z) in 0(1) time. Thus, by Proposition 2.4.2 the value of k(z) can be found in 0(mn) time. It remains to show that k0" is piecewise concave with no more than three segments. Note that the feasible region of the optimization problem defining ki(z) has four candidate end points: x = C1, z Dj + Ci 1, z Dj', two of which will be feasible for any given z. We can write kVi as follows: kV (z) = min p(Ct P(Z  p(Ct P(Z  1) + L(z Ci1) Dj + 1) + L(D 1)  1) + L(z Ci + 1) Dj1) + L(Dyl) when C'1 + Dj when C'1 + Dj when Ci + Dj when C'1 + Dj 1 < z < Ci1 + Dj  1 < < C +D  1 < < C +D < < Ci + Dj1 where the condition indicates whether the given function corresponds to a feasible choice of x and should therefore be taken into account in the minimization. If Ci1 + Dj < Ci + Dj1 we can rewrite kij as: kV (z2) min {p(C' min {p(z  min {p(z  ) + L(z Ci),p(C 1) + L(z C + 1)} for C1 + D 1 < z < Ci1 + Di Di + 1) + L(D 1 1),p(C' 1) + L(z C' + 1))} for Ci1 + D < z < Ci + DJ1 Dj + 1) + L(Dj 1),p(z Dj1) + L(DJ1)} for Ci + Dj1 < z < Ci + Dj 1. A similar expression can be given for kij if C1 + Dj > C' + Dj Noting that the minimum of two concave functions is again concave, the desired result follows. o It is interesting to note that, while in some of the above results we assume that p and L have a piecewise structure with a fixed number of pieces that appears in the running time required for evaluating k, the function k itself may in fact have a piecewise structure with a number of segments that is exponential in the input size. Instead, our complexity results follow by the fact that the function k can be written as the minimum of a polynomial number of functions k" with a specific structure. We refer to Tsevendorj (2001) for more information on the piecewise nature of functions and optimization problems. 2.5 Results 2.5.1 Dynamic Programming In this section, we apply the classical DP formulation of the CLSP as developed by Florian et al. (1980) by adapting it to the case where backlogging is allowed. In this formulation, the time periods t = 0,..., T + 1 denote the stages, and the state at stage t is given by the cumulative procured quantity up to and including time t and is denoted by Z. Here the state Z includes past excess procurement as summarized by the initial inventory level lo. For convenience, define t t Ct= C, and D D, t 0,...,T and C = max Ct and D max Dt t = 0,..., T. t=1,...,T t=1,...,T Then the set of procurement decisions that can be made from state Z at stage t is given by PtZ) : 0 z Ct+Dt,Io The optimal value function is denoted by Gt(Z) and represents the minimum cost satisfying all demands in periods 1,..., t through procurement, inventory, and backlogging, with a cumulative procurement quantity of Z. The DP recursion reads Go(Z) = 0 if Z = Io Go(Z) ifZI0 oo ifZ / Io Gt(Z) mmi {Gt_(Z z)+kt(z)+ht(ZDt)} for t 1,2,...,T. zEP~t(Z) The optimal solution to the CLSP formulation of the RPP is then given by GT+1 mmin GT(Z). DT The total number of states in this formulation is O (T(C + D)), and the total number of arcs is O (T2(C + D)2). Given that the values Ct and Dt can be computed in O(T) time, it remains to determine the effort required to determine the cost associated with all decisions, i.e., the cost required to compute kt(z) + ht (Z Dt) for all feasible states Z in stage t and all feasible decisions z E Pt(Z). Clearly, if all cost functions can be evaluated in constant time we obtain the well known result that the CLSP problem can be solved in 0 (T2(C + D)2) time. For the CLSP formulation of the RPP, however, this assumption is clearly violated for the procurement cost functions kt. The following theorem derives the running time of the DP approach for solving the RPP under different sets of assumptions: Theorem 2.5.1 * If p and L are general nondecreasing functions then the DP il,, ,:thm solves the RPP in 0 (T2(C + D)3) time. * If p is a piecewise convex function with m u,,, ,.'1 and L is a piecewise convex function with n segments then the DP i,1,,rithm solves the RPP in 0 (T2mn(C + D)2 log(C)) time. * If p is a piecewise concave function with m segments and L is a piecewise concave function with n 'lim 1 t;1 then the DP i'1j. .:hm solves the RPP in 0 (T2mn(C + D)2) time. Proof: First, note that a procurement cost function k needs to be evaluated at most once per candidate decision. Result (i) now follows by observing that, in general, the procurement cost function kt can be evaluated in O(max(C, D)) O(C + D) time. Moreover, results (ii) and (iii) follow by applying Propositions 2.4.3 and 2.4.4. O 2.5.2 Fully Polynomial Time Approximation Scheme In this section, we will derive conditions under which a fully polynomial time approximation scheme (FPTAS) exists for the RPP based on such a scheme for the CLSP as developed by van Hoesel and Wagelmans (2001). In particular, a FPTAS finds a feasible solution to the RPP with cost no more than (1 + e)c*, where c* denotes the optimal cost and a > 0, in an amount of time that is a polynomial function of the input size and 1/e. The FPTAS for the CLSP is based on a nontraditional DP formulation of the problem that employs an upper bound on the total cost, i B. In particular, for 0 < b < B and t = 1,..., T, define Ft(b) to be the maximum ending inventory level in period t when the total cost incurred up to and including period t is no more than a budget b. The optimal solution value to the problem is given by the minimum budget for the entire planning horizon that yields a nonnegative ending inventory, i.e., c* = minb o,...,B{b Fr(b) > 0}. Van Hoesel and Wagelmans (2001) show that the values Ft(b) (b 0,..., B) satisfy the following DP recursion: Fi(b) = max {z Di ki(zi) + hi(zi DI) < b, 0 < zi < Ci + Di} max max Fti(a) + Zt D I kt(z) + ht(Ft_(a) + Zt Dt) < b a, a=0,...,b Ft(b) max 0 < zt < Ct + D, (221) max {It Ia e {0,...,b} : ht(I) b a, 0 < It < Fti(a) D }. An important component of the running time of this recursion is the time required to find max {zt I kt(zt) + ht(Ftl(a) + zt D) < b a, 0 < zt < Ct + Dt} (222) which, if all cost functions can be evaluated in constant time, is O(log(C + D)), yielding a running time of O(B2Tlog(C + D) + BTlog(T(C + D))) for the entire recursion. For the CLSP formulation of the RPP, however, we need to account for the fact that the procurement cost functions kt cannot be evaluated in constant time. The following proposition studies problem 222 under several conditions on the cost functions. Proposition 2.5.2 * If pt is a piecewise convex function with no more than m ,,, ,n.I Lt is a piecewise convex function with no more than n .,,, ,.1n and hi is a convex function, then problem 2 22 can be solved in 0 (mn log(C) log(C + D)) time. * If pt is a piecewise concave function with no more than m segments, Lt is a piecewise concave function with no more than n segments, and h, is a concave function, then problem 2 22 can be solved in 0 (mn log(C + D)) time. Proof: Note that we can decompose the problem into the problems of finding zj max {t kt(z) + h,(Ft1(a) + Zt Dt) < b a, (Dt F~ i(a))+ < Zt < Ct + Dt} and z max {zt kt(zt) + h h(F,_(a) + t D) < b a, 0 < zt < min(Ct + Dt, Dt Fti(a))}. Since kt and h, are nondecreasing, z+ can be found in O(log(C + D)) iterations of the binary search method (or function evaluations). With respect to the value z note that it is equal to z =max zt min k (zt) + h (Ft_(a) + Zt Dt) < b a, i = ,...,m; j= 1,..., n 0 < zt < min(Ct + Dt,Dt Ft 1(a)) . To determine this value, let us define z max {zt  (kt (zt) + h (Ftl(a) + zt Dt)) < b a, Dt Ft(a) < zt < Ct + Dt . Since h is convex and Proposition 2.4.3 ,i that k'j is integral convex, z11 can be found in O(log(C + D)) iterations of the binary search method. Since Zt = m:: ; z1' the value of z~ can be found in O(mnlog(C + D)) function evaluations. Combining these results with the results of Propositions 2.4.3 and 2.4.4, the desired result now follows. o Note that the result of Proposition 2.5.2 can easily be generalized to the case where ht is piecewise convex or piecewise concave with no more than f segments by writing zt = max t mm k3n (zt) + h'(Fti(a) + Zt Dt) < b a, z 1,...,m ;j 1,...,n;K=1,..., 0 < zt < min(Ct + Dt,Dt Ft(a)) at the expense of a factor f in the running times. We are now ready to determine the running time of the DP recursion 221 for the RPP. Proposition 2.5.3 If the functions pt, Lt, and ht are piecewise convex with no more than m, n, and i . ii,, I ,./,, .r I.: 1./; the DP formulation of the RPP runs in O(B2rmnT log Clog(C + D) + BTlogT + BT log(C + D)) time. * If the functions pt, Lt, and ht are piecewise concave with no more than m, n, and ul C,, ,' /',. . /,. 1./; the DP formulation of the RPP runs in O(B2mnnYTlog(C + D) + BTlogT + BTlog(C + D)) time. Proof: This follows immediately by the analysis in van Hoesel and Wagelmans (2001) and Proposition 2.5.2. D The FPTAS is now based on a suitable discretization of the DP recursion 221 together with an upper bound B on the optimal costs c* that satisfies c* < B < 2Tc*. Van Hoesel and Wagelmans (2001) describe a DP algorithm to find such a bound. The following proposition derives the running time of this algorithm when applied to the RPP. Proposition 2.5.4 * If the functions pt, Lt, and ht are piecewise convex with no more than m, n, and f gr, ,nl. "i'. /, 1,'. ;l then an upper bound B on the optimal costs c* that ,/l.:/ c* < B < 2Tc* can be found in 0 (mnTlogT(logC)2 log U) time, where U is an upper bound on the minimum cost in i,.;, period: U m=axr kt(Ct + Dt), ht ZD h D . t 1,...,T T= l Tr=t+l * If the functions pt, Lt, and ht are piecewise concave with no more than m, n, and 1 mr,, ,n.  /,i'. 1.; /; then problem an upper bound B on the optimal costs c* that ,/.:/, < c* < B < 2Tc* can be found in (mnTlogTlogClogU) time. Proof: The only components of the DP algorithm that involve the procurement cost function kt are * The determination of an upper bound on the procurement level in each period t as a function of an upper bound A on the production costs in that period: t = max {z < Ct + Dtlkt(z) < A}. * The determination of the upper bound U from Proposition 2.5.4. For cases (i) and (ii), the running time of a. follows from Proposition 2.5.2 and the running time of b. follows from Propositions 2.4.3 and 2.4.4. The final result now follows from the ,in 1,i ; of the algorithm in van Hoesel and Wagelmans (2001). o Now recall the FPTAS proposed by van Hoesel and Wagelmans (2001): 1. Determine an upper bound B on c* that satisfies B < 2Tc*. 2. Apply the DPrecursion 221 after rounding the problem data to be multiples of K = max {B/2T2],}. Combining all results above, we can now conclude with the main result of this section: Theorem 2.5.5 The FPTAS has a ru',,i,.:.u, time that is y..''l;.,.:,'l in the size of the problem instance and 1/E and determines a feasible solution to the RPP with a value no 7./,, than (1 + E)c* if * the functions pt, Lt, and ht are piecewise convex with no more than m, n, and segments, ', /,i;. l; or * the functions pt, Lt, and ht are piecewise concave with no more than m, n, and , ,,, ,/l i/ /,:' .1; 2.6 Conclusions In this chapter, we have studied the capacitated requirements planning problem with pricing flexibility (RPP) by reformulating it as a standard capacitated economic lotsizing problem. The reformulation of the RPP as a lotsizing problem provides insight into the relationship between the two problems and significantly simplifies the application and analysis of algorithmic approaches that have been developed for the ELSP to the RPP. In particular, we have analyzed the properties 35 of this reformulation, and used this analysis to derive running times for a DP algorithm as well as a FPTAS for the RPP. CHAPTER 3 LOTSIZING WITH NONSTATIONARY CUMULATIVE CAPACITIES 3.1 Introduction In this chapter, we study a new dynamic lotsizing problem which we will refer to as the lotsizing problem with cumulative capacities (LSPCC). In traditional capacitated lotsizing models, the quantity produced in each period is limited by some capacity, but any capacity remaining at the end of a period is essentially lost. In contrast, our new model applies to settings where any remaining capacity is transferred to the next production period. This means that the cumulative quantity that we can produce up to and including period t is constrained by the cumulative capacity up to and including period t. This problem may occur, for example, in certain settings where the planning of procurement, production, and inventory holding of raw materials and final product is integrated. This twolevel lotsizing model has been studied extensively for the case where all cost functions are concave and capacities are absent (see, e.g., Zangwill 1969), or procurement is subject to stationary capacities (see, e.g., Kaminsky and SimchiLevi 2003) and van Hoesel et al. 2005). Although in the presence of general procurement capacities the problem is known to be NPhard even when all cost functions are concave (see Florian et al. 1980), Kaminsky and SimchiLevi (2003) derive certain conditions on the cost functions under which the problem is solvable in polynomial time. Sargut and Romeijn (2006c) show that this problem reduces to the LSPCC when the total cost of procurement and inventory of raw materials are exogenous to the model and study this problem under general and concave cost functions. In Section 3.2, we formulate the twolevel lotsizing problem and, under our assumptions on the cost structure, reformulate it as a singlelevel model with cumulative capacities. Then in Section 3.3, we prove that the problem is NPhard for general cost functions and provide a fully polynomial time approximation scheme in case all cost functions are nondecreasing. In Section 3.4 we then develop a dynamic programming approach that solves the problem in polynomial time when all cost functions are concave. Finally, in Section 3.5 we briefly discuss an extension where backlogging is allowed. 3.2 Model Formulation 3.2.1 TwoLevel LotSizing with Nonstationary Production Capacities We start by considering a twolevel production system. This system may consist, for example, of a supplier of raw materials at the first level and a manufacturing facility producing a single good at the second level. The goal is to satisfy a deterministic and dynamic sequence of demands over a finite and discrete planning horizon at minimum cost through production and inventory. We denote the planning horizon by T. The procurement capacity faced at the first level in the system in period t is denoted by Ct while the demand faced at the second level in period t is denoted by dt (t 1,..., T). Our decision variables and associated cost functions are given below. * yt denotes the quantity procured in period t with associated cost function pt (t 1,. ,T); * xt denotes the quantity produced in period t with associated cost function ct (t 1 ,...,T); * Jt denotes the inventory level at the procurement level at the end of period t with associated cost function gt (t 1,..., T); * It denotes the inventory level at the production level at the end of period t with associated cost function ht (t 1,..., T). Without loss of generality, all cost functions are assumed to be equal to zero when their argument is zero. Moreover, we assume that the initial inventory at both levels is given. Then we can formulate the twolevel lotsizing problem with procurement capacities (2LSPPC) as follows: T minimize (p,(yt) + cm,(x) + g,(Jt) + h,(I)) t=1 subject to Yt < Ct Yt + Jt1 = Xt + Jt t + It1 = dt + It yt, t, Jt,It I> 0 t 1,...,T t 1,...,T t 1,...,T t 1,..., T. Constraints 31 enforce the procurement capacities while constraints 32 and 33) model the balance between inflow, outflow, and storage at the first and second level, respectively. For convenience, we will define cumulative demands and capacities as dst = d, Sr=s+l t Cot = C" Tr=l = O,...,t; t= 1,...,T t= ,..., T. To ensure that the feasible region of the 2LSPPC is nonempty, we assume that the demands and capacities satisfy the following condition: dot < Cot+Jo + t 1,...,T i.e., the cumulative production capacity in the first t periods is sufficient to satisfy the cumulative demand in the same periods (t = 1,..., T). (31) (32) (33) This model was introduced earlier by Zangwill (1969), Kaminsky and SimchiLevi (2003), and van Hoesel et al. (2005). Zangwill (1969) develops a dynamic programming algorithm for the uncapacitated case, which runs in O(T3) time (see van Hoesel et al. 2005). More recently, Kaminsky and SimchiLevi (2003) develop polynomialtime algorithms for certain instances of this problem with linear procurement and inventory holding cost functions (pt, gt, and ht) and concave production cost functions (ct). In particular, they show that when the production cost functions have a fixedcharge structure and cost functions at both levels satisfy a nonspeculative motives assumption, the 2LSPPC is solvable in O(T4) time. Van Hoesel et al. (2005) showed that, when the procurement capacities are stationary, the problem can be solved in O(T7) time if all cost functions are concave; in O(T6) time if the procurement cost functions are concave, inventory holding costs are linear, production costs have a fixedcharge structure, and variable holding and production costs satisfy a nonspeculative motives assumption; and in O(T5) time if the procurement cost functions are concave and all other cost functions are linear. On the other hand, the 2LSPPC is NPhard under concave cost functions and nonstationary capacities since it generalizes the singlelevel capacitated lotsizing problem (see Florian et al. 1980). We consider several new subclasses of the 2LSPPC. All our models apply to situations where, while procurement capacities are important, the total cost of procurement and inventory of raw materials is exogenous to the model. This would occur, for example, if procurement costs are linear and stationary and there are no costs associated with holding raw materials in inventory. More generally, we essentially assume that procurement costs and inventory holding costs at the first level are linear and satisfy: * pt(yt) = ptt where pt > 0 (t = 1,..., T); S gt(J) = gJt where g > 0 (t = 1,...,T); * pt+ t = Pt+ (t = 1,..., T 1). Under these assumptions the 2LSPPC becomes as a singlelevel lotsizing problem with what we will call cumulative capacity constraints. Our contributions in this chapter with respect to this new lotsizing problem are the following (where we refer to the cost functions in the reformulated model). * We show that the problem is NPhard under general cost functions and develop a fully polynomial time approximation scheme (FPTAS) for the case where all cost functions are nondecreasing. * We develop a dynamic programming algorithm that solves the problem in ((T4) time when all cost functions are concave. * We extend these results to allow for backlogging. 3.2.2 SingleLevel LotSizing with Cumulative Capacities In this section we will reformulate the 2LSPPC as a singlelevel lotsizing problem under the cost structure given above. To this end, we first eliminate the inventory variables Jt by using the inventory balance constraints at the first level 32: t t This leads to the following objective function: T S(ptt + Ct(xt) + gtJt + ht(It)) t=1 T T T T (gtjo + (P T gt") yt +ct(xt) igT t=1 T=t T=t T T T =Jo Zgt+ (PT + gr) dt + (ct(xt) + t()) t=1 t=1 t=1 where Jo 9t gt + (PT + gT) tE 1 dt is a constant and T Ct(x) t(x) gx t ,...,T. r=t This in fact shows that, without loss of generality and for convenience, we may assume that pt = gt 0 so that we have ct = ct (t = 1,..., T). Upon eliminating the decision variables Jt (t = 1,..., T) the corresponding nonnegativity constraints become t t X, < y + Jo t =l,..., T. T=l T=l However, since the decision variables yt (t = 1,..., T) do not appear in the objective function we can replace these and the capacity constraints 31 by t t X < C, +Jo Cot + Jo t = 1,..., T. T=l T= 1 It is now easy to see that, without loss of generality, we may assume that Jo = 0. This leads to the singlelevel lotsizing problem with cumulative capacities (LSPCC) that is the focus of this chapter: T minimize > (ct(xt) + ht(It)) t=1 subject to (LSPCC) xt + It = dt+ It t ,XT < Cot T= 1 Xt, It > 0 t= 1,...,T = 1,...,T t 1,. ,T. Finally, note that, in this problem, we may without loss of generality assume that o0 =0. 3.3 General Cost Functions We next turn to an analysis of the LSPCC with general cost functions. In particular, we will show that this problem is NPhard in general. In addition, we provide a fully polynomial time approximation scheme (FPTAS) for the LSPCC with nondecreasing cost functions, i.e., an algorithm that finds a feasible solution with relative error no more than E > 0 in an amount of time that is polynomial in the input size of the problem and 1/E. 3.3.1 Proof of NPHardness In this section, we will show that LSPCC with zero holding cost is NPhard by reducing the subset sum problem to an instance of LSPCC. The SUBSET SUM problem is defined as follows (see Garey and Johnson 1979): SUBSET SUM: Given positive integers al, a2,..., aT and A, does there exist a set S C {1,..., T} such that Ees a = A? The following theorem shows that the LSPCC is NPhard in general by reducing the SUBSET SUM problem to it. Theorem 3.3.1 The LPSCC is NPhard. Proof: Consider an instance of the SUBSET SUM problem. We then define the following instance of the LSPCC: Ct = at for t = 1,...,T dt = 0 fort 1,...,T 1 A for t = T 0 if x = 0 ct(x) 1 + "a x if 0 < x < at for t = 1,...,T at x + 1 if at < x < 1YCt a, ht() 0 if It > 0 for t = 1,..., T. The production cost function is illustrated in Figure 31. First observe that, since the only nonzero demand is in period T, each production quantity will be used to satisfy the demand in that period and thus the cumulative production over the planning horizon is equal to A, i.e., 1 XT, A. Moreover, the production cost in Ct(X) at +at+...+al+l  at+ at at +atl+...+al x Figure 31: Production cost function in period t. period t satisfies ct(X) = x if x E {0, at} ct(x) > x otherwise. This implies that the cost of any production plan with production in any period t not equal to either 0 or at exceeds A. In other words, if the LSPCC has a solution with cost A the set of periods in which production takes place provides a solution to the SUBSET SUM problem. On the other hand, if the SUBSET SUM problem has a solution, w S, producing xt = at in all periods t E S provides a solution to the LSPCC with cost A. O We have shown that the LSPCC is NPhard for general production cost functions, even when the holding costs are zero. In the remainder of this section we provide a FPTAS for the LSPCC with general cost functions. 3.3.2 A Fully Polynomial Time Approximation Scheme Although the LSPCC is NPhard for general cost functions, we will show in this section that a fully polynomial time approximation scheme (FPTAS) exists when all cost functions are nondecreasing and all problem data (i.e., demands, capacities, and costs) are integral. We assume pt = p for t = 1,..., T and g = 0 for t = 1,..., T. Therefore, the singlelevel model reduced from the twolevel model has nondecreasing cost functions. In particular, we will draw heavily on the paper by van Hoesel and Wagelmans (2001) and modify the FPTAS that they developed for the standard capacitated lot sizing problem (CLSP) to our problem. Following van Hoesel and Wagelmans (2001), we start by introducing a nontraditional dynamic programming formulation of the problem that runs in pseudopolynomial time. Let B be any integer upper bound on the optimal solution value, w z*, to the LSPCC. For t 1,..., T and b = 0, 1,..., B, we then define Ft(b) to be the maximal ending inventory in period t (It) that can be achieved with a budget of b in the first t periods, i.e., the total production and inventory holding costs in periods 1,..., t do not exceed b. Since for t = 1 the cumulative capacity constraint is equal to the traditional capacity constraint we immediately obtain that Fi(b) = max {xi di ci((xi) + hi(xi di) < b} for b 0,..., B. dl<_l A recursion for the values Ft(b) can then be derived by, for t = 2,..., T, allocating a budget of 0 < a < b to periods 1,..., t 1 and a budget b a for period t, and optimizing over the value of a. For the CLSP, van Hoesel and Wagelmans (2001) show that, for a given value of a, * if it is possible to feasibly extend a production plan for periods 1,..., t 1 that ends with the maximal inventory level Ft_(a) to period t it is optimal to do so; * otherwise, without loss of optimality attention may be restricted to Xt = 0 and dt < It1 < Ft_(a). We will show that these two properties also hold for the LSPCC. First, note that the flow balance constraints imply that t1 x, = do,tl + It1 T=1 so that the cumulative capacity constraint in period t can be written as t1 X5t < co x X Ctt o,t1 It1 T=l Moreover, since the demand in period t needs to be satisfied we need to have xt > max{0, dt Iti}. The next proposition now shows that properties (i) and (ii) hold for the LSPCC. Proposition 3.3.2 If there exists max{0, d Fti(a)} < xt < Cot do,t1 Fti(a) such that Ct(xt) + ht (Ft_(a) + xt dt) < b a (35) then we only need to consider production plans with It1 = Fti(a) in the /i.;i,,'. . ,,..ji. 'r,,.:,,j recursion. Otherwise, we only need to consider production plans with xt = 0 and dt < It1 < Ftl(a). Proof: Suppose we have a feasible solution with It1 < Fli(a) and xt > 0. Then if we increase It1 and decrease xt by the same amount while retaining nonnegativity of xt condition 35 as well as the bound constraint on xt will still be satisfied. Moreover, the resulting value of It remains unchanged. Therefore, we can without loss of optimality in the dynamic programming recursion increase It1 and decrease xt until either It_ becomes equal to Fli(a) or xt becomes equal to zero, whichever happens earlier. In the former case, the first claim follows. In the latter case, the second claim follows. o As a result of the Proposition 3.3.2 the following dynamic programming recursion is obtained: maxmax{0,dt Ftl (a)}zt Ft(b) = max max { Ft(a) + xt dt t(xt) + ht(Ft(a) + xt d) < b a}, maxo It is easy to see that this recursion runs in O(B2Tlog(CT)) time, where C maxt 1,...,T Ct. The FPTAS is now based on a suitable approximation of this dynamic programming recursion where the state variable representing the budget is restricted to integer multiples of some value K > 1. Van Hoesel and Wagelmans (2001) showed that, if we have an upper bound B on z* that satisfies z* < B < 2Tz*, we can use a value K = max{L B/2T2, 1} for some E > 0 to achieve a solution to with value at most (1 + E)z* in polynomial time, yielding the desired FPTAS. It remains to be shown that a cost bound B with the desired property can be found in polynomial time. Once again we will modify the approach of van Hoesel and Wagelmans (2001) to apply to the LSPCC. The idea of their algorithm is to find the smallest value L with the property that there exists a feasible solution to the problem such that all cost functions contribute at most L to the total cost. Hence, such a feasible solution has cost at most 2TL. Clearly, in any optimal solution of the original problem, each cost function contributes no more than z* so that L < z*. This implies that B = 2TL is an upper bound on z* such that B < 2Tz*. To show that L can be found in polynomial time, we first show that it is possible to determine in polynomial time whether or not there exists a feasible solution if the contribution of each cost function is at most Given this value, we define for each period t the following upper bounds on the production and inventory level: Xt max{x: 0 < x < Cot, Ct(x) < } It max { : I > 0, ht(I) < f }. These bounds can be determined using binary search in a total of O(Tlog(CT)) time. It is easy to see that a feasible solution in which each cost function contributes at most i exists if and only if there exists a feasible solution that satisfies the above upper and lower bounds on the production and inventory levels. We can check this using the following dynamic programming algorithm. Let it denote the largest ending inventory in period t achievable by a production plan for the first t periods that satisfies all upper and lower bounds. In particular, we have mi = min{xi di, 1i} mt = min {mt + min{Cot do,tl mtl,xt} dt,It} t 2,...,T. If mT > 0 then there exist a solution in which each cost function contributes at most Now noting that L is bounded from above by maxt1,...,Tmax{ct(Cot), ht(dtT)} the value L can be determined in polynomial time using binary search. 3.4 Concave Costs 3.4.1 Introduction The LSPCC may be formulated as a minimum cost network flow problem as illustrated in Figure 32. Nodes (D, 1), (D, 2),..., (D, T) are demand nodes, where (D, t) represents the demand in period t, dt. Nodes (C, 1), (C, 2),..., (C, T) are transshipment nodes and node (C, T + 1) is a supply node having supply equal to the cumulative demand over the planning horizon, i.e., its demand is equal to the negative thereof: doT. As in traditional lotsizing models, an arc from node (D, t) to node (D, t + 1) (t = 1,..., T 1) represents the amount held in inventory at the end of period t, It, and the cost function of the flow on that arc is ht. (Note that, without loss of optimality, the inventory at the end of period T is equal to zero.) In addition, an arc from node (C, t) to node (D, t) represents the amount produced in period t, xt, and the cost function of the flow on that arc is ct. Finally, an arc from node (C, t + 1) to node (C, t) (t = 1,..., T) represents the cumulative production amount in periods 1,..., t. An arc of this form has no cost but a finite capacity, t'1 CT. (There are no capacities on the other arcs.) Production and inventory cost functions are commonly concave, representing the economies of scale that are often found due to the presence of, for example, fixed setup costs for production and fixed storage costs. When the functions ht and ct (t = 1,..., T) are concave, the LSPCC thus becomes a minimum concave cost network flow problem. Despite the fact that an extreme point optimal solution to such problems exists, they are generally NPhard (see Bitran and Yanasse 1982). However, polynomialtime algorithms have been found for many lotsizing problems with concave costs by employing the structure of extreme point solutions for these problems. do0 [0,C01] [0,C02] [0,Co3] [0,CO,T1 [0,Cor] C,1 C,2 C,3   CT ,T+ D,1 \D, 2 D,3  DT 1, 2 13 IT di d2 d3 dr Figure 32: Network flow representation of LSPCC. In particular, it is well known that the standard uncapacitated economic lotsizing model is solvable in O(T log T) time (see Aggarwal and Park 1990, Wagelmans et al. 1992, and Federgruen and Tzur 1991). Under stationary (timeinvariant) production capacities this model is solvable in O(T3) time when inventory costs are linear (see van Hoesel and Wagelmans 1996) and in O(T4) time with general concave inventory cost functions (see Florian and Klein 1971). On the other hand, the economic lotsizing model with nonstationary (timevarying) capacities is NPhard, even if the production cost functions have a fixedcharge structure and the holding cost functions are linear (see Florian et al. 1980). In the remainder of this section we will develop a polynomialtime algorithm for the LSPCC under nonstationary capacities. 3.4.2 Solution Approach As mentioned above, minimum concave cost network flow problems have an extreme point optimal solution. Extreme point solutions to minimum cost network flow problems have the property that there does not exist a cycle formed by free arcs, i.e., arcs whose flow is strictly between its lower bound (usually zero) and upper bound (see, e.g., A!Li I et al. 1993). In the remainder of this section we will assume for simplicity that all demands are strictly positive. However, all results can be easily extended to the general case where periods with zero demand are allowed. Consider the set of free arcs in an extreme point solution to the network flow formulation of the LSPCC. Since all inventory and production arcs are incapacitated, when we ignore the cumulative production arcs the set of remaining free arcs decomposes into disjoint connected and ... i, .i components. Each of these components is characterized by a consecutive set of demand periods, i t+ 1..., (where 0 < t < < T), with the property that t = 0 I, > 0 s t+1,...,r1 I, = 0. We will refer to a component satisfying these properties as a subplan, denoted by (t, 7). As we will show in the next section, the cost structure of the LSPCC allows us to compute the minimum cost of supplying the demands in any subplan independently of the other subplans. This is perhaps surprising since the subplans seem to be intimately related through the (cumulative) production capacities. Now denote the cost of subplan (t, 7), i.e., the minimum cost of supplying the demands in that subplan, by at, and let F(t) be the minimum total cost of satisfying the demands in periods t + 1,..., T. Clearly, F(T) = 0 and the optimal solution value of the LSPCC is given by F(0). This then immediately leads to the following dynamic programming formulation of the LSPCC: F(t) min {at, +F(r)} fort 1,...,T 1 T=t+l,...,T F(T) 0. This recursion is, of course, very similar to the recursion obtained for the economic lotsizing problem without capacities or with stationary capacities. It is easy to see that, if the subplan costs at, were given, the LSPCC could be solved in O(T2) time. However, since there are O(T2) subplans the computation of the subplan costs can be expected to be the bottleneck operation and the challenge is therefore to develop efficient algorithms for finding these costs. 3.4.3 Computing the Subplan Costs It is easy to see that all cumulative production arcs carry a positive flow that is possibly equal to their capacity. Now first note that it is easy to determine the flow on the cumulative production arcs that connect a pair of subplans in an extreme point solution. In particular, if (t, r) is a subplan, we know that the flow from node (C, t + 1) to node (C, t), i.e., the flow from the current subplan to past subplans, should be equal to dot since It = 0 by the definition of a subplan, regardless of the actual subplans present in the solution up to time t. Moreover, since the cost on the cumulative production arcs is costless, it follows that we can view the subplan (t, r) in isolation by redefining the capacity of the cumulative production arc from node (C, s + 1) to node (C, s) to be C Co dot fors t + 1,..., . (For convenience, we also define Ct 0.) Furthermore, we know that, in an extreme point solution, there cannot be a cycle formed by free arcs alone. We conclude that between each pair of production periods within a given subplan there must be at least one cumulative production arc that is at capacity. However, since the capacities of the cumulative production arcs are nondecreasing over time, we may assume without loss of generality that the first cumulative production arc between two production periods in a subplan is at capacity. The following theorem characterizes the solutions that we need to consider for a given subplan. Theorem 3.4.1 Consider a subplan (t, r) and let s be a production period in that subplan. Furthermore, let s be the previous production period in the subplan (where s = t if s is the first production period). The production i;,u,'il: in period s is then equal to: * dt Cf if s is the last production period in the subplan (which is only feasible if do, < Cos); * C' C' otherwise. Proof: Let us first consider the case where period s is the last production period in the subplan. Then the quantity produced in period s should bring the total production quantity in the subplan to dtT. Since the cumulative production quantity up to the previous production period s was binding, the quantity that remains to be produced in period s is dtT Cg. (Note that if s = t we have that C~ = Ct = 0 by definition so that the production quantity is dtT.) This is only feasible if the total demand in the subplan can be produced by period s, i.e., if dtT < Ct, Cos dot or, equivalently, if dor < Cos. If s is not the last production period in the subplan, we use the fact that we only need to consider extreme point solutions. Therefore, the cumulative production arc entering nodes (C, s) and (C, s) are at full capacity. Therefore, the quantity produced in period s should be equal to the difference between the two capacities, C'8 Cl,. (Note that if = t we obtain that production in period s is equal to C~,.) O Figure 33 illustrates an extreme point solution with 2 subplans and the associated arc flows S Co Co d3 C04 do5 C, I  C,2 C,3 C4  C,5 C,6 C' d35 Cd 4 C01 dd3 C01C C04 d03 d05 C04 D,1 D,2 D,3 D,4  ,5 C01 01 0C1 02 C34 d34 dl d2 d3 d4 d5 Figure 33: Extreme point solution with 2 subplans and the associated arc flows. We will next formulate the problem of computing the minimum cost of a subplan (t, r) as a dynamic programming problem. To this end, we define states of the form (s, s, b) where t < s < s < r + 1 and b E {0, 1}. The first element, s, denotes the current period while the second element, s denotes the previous production period in the subplan. The third element indicates whether production has been completed for the subplan (b = 1) or not (b = 0). The source node is (t, t, 0) while the sink node is (r + 1, 7 + 1, 1). For each state (s, s, b) with t < s < 1 there are up to three potential decisions to be made: (i) do not produce in period s + 1, (ii) produce in period s + 1 but do not complete all production, and (iii) complete all production in period s + 1. This means that from state (s, s, 0) the following states can be reached: * (s + 1, s, 0): this means that we do not produce in period s + 1. The cost of this decision is equal to hs+l(Ct, dt,,+i) since the production in the previous production period s was up to capacity. Note that this decision is only feasible if the demand in period s + 1 can be satisfied using past production, i.e., if C{, > dt,s+l. * (s + 1, s + 1, 0): this means that we produce up to capacity in period s + 1. The cost of this decision is equal to C+1(t,+1 s) + h +l(C,s+1 dt,s+). Note that this decision is only feasible if the demand in period s + 1 can be satisfied using production up to period s + 1, i.e., if C>,+,1 > dt,s+l (since otherwise ending inventory in period s + 1 would be negative). Moreover, we only need to consider this decision if Ct,,+, < dt, (since otherwise period s + 1 should be the last production period in the subplan). * (s + 1, s + 1, 1): this means that we make period s + 1 the last production period in the subplan. The cost of this decision is equal to Cs+l(dtT Ct) + hs+l(ds+1,T). Note that this decision is only feasible if dt, < Ct,s+l, so that all demand of the subplan can indeed be satisfied using production up to time s + 1. From state (s, s, 1) with t < s < r 1, on the other hand, the only state that can be reached is: * (s + 1, s, 1): this means that we do not produce in period s + 1. The cost of this decision is equal to hs+ (ds+1,7). From states ( 1, s, b), we can only go to states ('r, s, 1) and (r, 7, 1). Since the period T is the latest period that the last production can occur. Finally, from state (r, s, 1) (which means that we have satisfied all demands in the subplan with production up to period s) we can reach state (r + 1, + 1, 1) at no cost. We are now ready to prove the main result of this section: Theorem 3.4.2 The LSPCC can be solved in O(T4) time. Proof: We first calculate and store the values dt, for 1 < t < r < T in O(T2) time as well as the values Cot for 1 < t < T in O(T) time in a preprocessing step. The dynamic programming formulation for computing the costs of a single subplan has O(T2) states and a constant number of decisions per state. Since, using the information obtained in the preprocessing step, the costs of all decisions can be found in constant time, the cost of a single subplan can be found in O(T2) time. The time required to find all subplan costs is therefore O(T4). Since the high level dynamic program that employs the subplan costs runs in O(T2) time, the LSPCC with concave costs can be solved in O(T4) time. E 3.5 Allowing for Backlogging In this section, we will generalize the LSPCC to allow for backlogging. It immediately follows that this generalization is NPhard in general. In addition, the results of Section 3.3.2 and van Hoesel and Wagelmans (2001) can be used to develop a FPTAS for this generalization under the additional assumption that the production and backlogging cost functions are concave (but the inventory holding cost functions are only required to be nondecreasing). In this section we show that the dynamic programming algorithm developed in Section 3.4 can be applied with minor modifications, leading to an O(T4) algorithm for the LSPCC with backlogging. We let ut be the quantity backlc... 1 in period t with associated cost function bt (t = 1,..., T). We assume these backlogging cost functions are concave and, without loss of generality, equal to zero when their argument is zero. In that case, the mathematical programming formulation of the problem becomes: T minimize (ct(xt) + ht(It) + b(ut)) t= 1 subject to It + xt +ut dt + I + ut t 1,...,T t E XT < Cot 7 1,...,T T=1 Xt, It, Ut > 0 t= 1,...,T UT = 0 where we have assumed without loss of generality that Io = uo = 0. We can again view each extreme point solution as decomposed into a number of subplans, albeit with a slight modification of the definition of a subplan. In particular, we now define a subplan (t, 7) to be the consecutive set of demand periods t + 1,..., T with the property that It 0 and Ut 0 I > 0 or u > 0 s t+l,..., 1 I = 0 and UT = 0. The costs of the subplans can now be determined using a similar dynamic programming approach as for the case without backlogging. The only modification is that, whereas a decision was earlier deemed infeasible if it led to a negative inventory level, such a decision is now feasible where the cost of negative inventory is interpreted as the cost of the corresponding backl .. 1 amount. We therefore have the following result. Theorem 3.5.1 The LSPCC with backlogging can be solved in O(T4) time. 3.6 Summary and Directions for Future Research In this chapter, we have studied an economic lotsizing problem with a new structure on the procurement capacities. While interesting in its own right, this model can also be viewed as a special case of the twolevel lotsizing problem with capacities at the first (procurement) level. We showed that the problem is NPhard in general and provided a fully polynomial time approximation scheme under mild conditions on the cost functions. Moreover, we derived a dynamic programming algorithm that runs in polynomial time when all cost functions are concave. This is in contrast with traditional single and twolevel capacitated economic lotsizing problems that are NPhard even under fixedcharge cost functions and provides an alternative set of conditions on the cost functions of the twolevel lotsizing problem under which the problem is polynomially solvable than the ones derived by Kaminsky and SimchiLevi (2003). Interesting directions for future research include the development of a FPTAS for a larger class of twolevel lotsizing problems as well as the derivation of other classes of cost functions under which this problem is solvable in polynomial time. Moreover, we want to consider the case where the raw materials are perishable and have shelf life of 1 < f < T periods. CHAPTER 4 CAPACITATED PRODUCTION AND SUBCONTRACTING IN A // SERIAL SUPPLY CHAIN 4.1 Introduction This chapter deals with a basic twoechelon supply chain consisting of a supplier and a manufacturer, where a sequence of deterministic but nonstationary demands of the manufacturer for a single good needs to be satisfied over a finite horizon. In particular, we consider an integrated model that minimizes total system costs, consisting of production, inventory, transportation, backlogging, and subcontracting costs. This is is appropriate in cases where, for example, the supplier is a captive subsidiary of the manufacturer. In each period, production may take place at the supplier. Items are either stored there or transported to the manufacturer level. Transported items are either used to satisfy outstanding demands or stored at the manufacturer level. We assume that any unsatisfied demand at the manufacturer is backl.. .1 Production in each period is limited by a finite but stationary capacity. Alternatively, units may be obtained by subcontracting from an outside supplier, where the capacity of the outside supplier may or may not be limited. Note that this subcontracting option may be used regardless of whether the production capacity in a given period is exhausted. However, we will show how our approach can be modified to allow for an alternative sourcing option that can only be used if production is at full capacity, and therefore can be interpreted as an overtime production option. Our model falls within the general class of multiechelon lotsizing models that has been an active area of research ever since the seminal paper of Wagner and Whitin (1958). That paper considers an uncapacitated singleechelon model for which an algorithm was proposed that runs in polynomial time, O(T2), in the length of the planning horizon, T. More efficient algorithms, running in O(T log T) or even O(T) time (depending on the cost structure) for this basic lotsizing model were developed by Aggarwal and Park (1990), Federgruen and Tzur (1991), and Wagelmans et al. (1992). Florian et al. (1980) and Bitran and Yanasse (1982) show that incorporating nonstationary production capacities into this model makes it NPhard in general, even when production costs have a fixedcharge structure and holding costs are linear. However, Florian and Klein (1971) and van Hoesel and Wagelmans (1996) propose algorithms that run in O(T4) and O(T3) time, respectively, for the case where the production capacities are stationary and inventory holding costs are concave and linear, respectively. Chlun and Lin (1988) and van den Heuvel and Wagelmans (2006) consider a capacitated lotsizing problem with a particular cost parameter and capacity structure and show that this problem is solvable in O(T2) time. Zangwill (1968,1969) was the first to study multiechelon lotsizing problems. He characterizes the solution of such problems when costs are concave and uses this structure to develop a dynamic programming algorithm to solve such problems. As shown by van Hoesel et al. (2005), the running time of this algorithm is O(T3) for the case of two echelons. Kaminsky and SimchiLevi (2003) consider a twoechelon serial supply chain in which production at the first echelon is capacitated. They develop polynomialtime dynamic programming algorithms under several cost and capacity structures. Van Hoesel et al. (2005) developed an improved algorithm for the case of stationary capacities that allows for general concave cost functions and runs in O(T7) time. In addition, they show that the running time can be further improved when inventory holding cost functions are linear and transportation cost functions have either a fixed charge structure satisfying a nonspeculative motives assumption (yielding a running time of O(T6)) or are linear (for a running time of O(T5)). Now, we introduce the literature on multilevel lotsizing models. We want to give two examples for this situation. We may have a distribution system, in which production occurs at the first level and then items are shipped to the next levels. We can also have a manufacturing system in which products are manufactured in a series of production facilities, each of which adds additional value to the product. In Zangwill (1969), a dynamic programming algorithm for a multilevel system without any capacities is proposed when backlogging is not allowed. Van Hoesel et al. (2005) showed that this algorithm runs in O(T3 + (L 2)T4), where L is the number of levels in the supply chain. Kaminsky and SimchiLevi (2003) propose a threelevel model in which the first and third levels are production stages, and the second level is a transportation stage. Both production stages are capacitated, while the transportation stage is incapacitated. They consider linear inventory holding costs that increase with the level of the supply chain, and linear production costs at both levels 1 and 3 that satisfy a traditional nonspeculative motives condition. The transportation costs at the second level are of the fixedcharge or general concave form and are assumed to satisfy a restrictive and nontraditional nonspeculative motives condition. They eliminate the thirdlevel production decisions and reduce the problem to a twolevel model. For the fixedcharge transportation costs, they provide a polynomial time algorithm that runs in O(T4) time for nonstationary production capacities. For concave transportation costs, their algorithm runs in exponential time. However, they consider stationary production capacities and their algorithm runs in O(Ts) time. For stationary production capacities case, van Hoesel et al. (2005) proposes a polynomial time algorithm that runs in O(T7) time even when all cost functions are concave. They also consider multilevel models and propose an algorithm that runs in O(LT2L+3) time when all cost functions are concave and where L is the number of levels in the problem. Note that this running time is polynomial in the number of periods and exponential in the number of levels. However, when inventory holding costs are linear and transportation costs either are linear or have fixedcharge structure, they propose algorithms with running times polynomial in the number of periods and insensitive to the number of levels. Their algorithm runs in O(T7 + LT4) (O(T6) when L = 2) time when transportation costs have fixedcharge structure and satisfy a form of nonspeculative motives and in O(T5 + LT2) time when transportation costs are linear. They define subplan as the set of consecutive periods at each level, in which demand at the last level are satisfied via the production at the first level using the periods at intermediate levels as the transportation periods. In their solution procedure, they employ the property that an optimal solution can be decomposed into a sequence of consecutive subplans. Therefore, optimal solution value is sum of some consecutive subplan costs. In the calculation of the subplan costs, we need possible transportation and production quantities. They generalize the result of Florian and Klein (1971) for production quantities. Morover they show that the transported quantity between levels f and + 1 in some period either makes the cumulative transported quantities so far in the subplan equal to the cumulative production quantities of an initial sequence of consecutive production periods in the subplan, or to the cumulative demand of an initial sequence of demand periods in the subplan. Now, we introduce the literature on multilevel lotsizing models. We want to give two examples for this situation. We may have a distribution system, in which production occurs at the first level and then items are shipped to the next levels. We can also have a manufacturing system in which products are manufactured in a series of production facilities, each of which adds additional value to the product. In Zangwill (1969), a dynamic programming algorithm for a multilevel system without any capacities is proposed when backlogging is not allowed. Van Hoesel et al. (2005) showed that this algorithm runs in O(T3 + (L 2)T4), where L is the number of levels in the supply chain. Kaminsky and SimchiLevi (2003) propose a threelevel model in which the first and third levels are production stages, and the second level is a transportation stage. Both production stages are capacitated, while the transportation stage is incapacitated. They consider linear inventory holding costs that increase with the level of the supply chain, and linear production costs at both levels 1 and 3 that satisfy a traditional nonspeculative motives condition. The transportation costs at the second level are of the fixedcharge or general concave form and are assumed to satisfy a restrictive and nontraditional nonspeculative motives condition. They eliminate the thirdlevel production decisions and reduce the problem to a twolevel model. For the fixedcharge transportation costs, they provide a polynomial time algorithm that runs in O(T4) time for nonstationary production capacities. For concave transportation costs, their algorithm runs in exponential time. However, they consider stationary production capacities and their algorithm runs in O(T8) time. For stationary production capacities case, van Hoesel et al. (2005) proposes a polynomial time algorithm that runs in O(T7) time even when all cost functions are concave. They also consider multilevel models and propose an algorithm that runs in O(LT2L+3) time when all cost functions are concave and where L is the number of levels in the problem. Note that this running time is polynomial in the number of periods and exponential in the number of levels. However, when inventory holding costs are linear and transportation costs either are linear or have fixedcharge structure, they propose algorithms with running times polynomial in the number of periods and insensitive to the number of levels. Their algorithm runs in O(T7 + LT4) (O(T6) when L = 2) time when transportation costs have fixedcharge structure and satisfy a form of nonspeculative motives and in O(T5 + LT2) time when transportation costs are linear. They define subplan as the set of consecutive periods at each level, in which demand at the last level are satisfied via the production at the first level using the periods at intermediate levels as the transportation periods. In their solution procedure, they employ the property that an optimal solution can be decomposed into a sequence of consecutive subplans. Therefore, optimal solution value is sum of some consecutive subplan costs. In the calculation of the subplan costs, we need possible transportation and production quantities. They generalize the result of Florian and Klein (1971) for production quantities. Morover they show that the transported quantity between levels and + 1 in some period either makes the cumulative transported quantities so far in the subplan equal to the cumulative production quantities of an initial sequence of consecutive production periods in the subplan, or to the cumulative demand of an initial sequence of demand periods in the subplan. Returning to singleechelon lotsizing problems, Zangwill (1969) studied economic lotsizing problems with backlogging and solved this problem in O(T3) time when costs are concave, and in O(T2) time when the procurement cost functions have a nonstationary fixedcharge component and a stationary linear component. When inventory holding and backlogging costs are linear and the linear component of the procurement costs are nonstationary, van Hoesel et al. (1994) show that the running time of Zangwill's approach is still O(T2) and, in addition, apply geometric techniques to solve this problem in O(T log T) time or, under additional conditions on the cost components, in O(T) time. Furthermore, Atamtfirk and Hochbaum (2001) consider a singleechelon lotsizing model with production capacities and uncapacitated subcontracting under various cost structures, where the running time for the model with stationary production capacities and concave costs is O(T5). The main contribution of this chapter is with respect to our knowledge on the complexity of and solution methods for concavecost lotsizing problems, in particular twolevel lotsizing problems with stationary capacities at the first level. Whereas to date the only models in this class for which polynomialtime solution methods were known only allowed a single supply source and no backlogging, in Sargut and Romeijn (2006b), we derive such methods in the presence of backlogging at the second level as well as capacitated and uncapacitated outsourcing or overtime production opportunities. In addition, we show how improved running times can be obtained for several classes of more restrictive cost functions, including cases where some of the cost functions are linear, have a fixedcharge structure, or satisfy certain nonspeculative motives conditions. This chapter is organized as follows. In Section 4.2, we provide a mathematical programming and a network flow formulation of our problem and outline our overall solution approach. In Sections 4.3 and 4.4 we then develop polynomialtime algorithms for subproblems that need to be solved repeatedly in our approach. Section 4.5 deals with uncapacitated models, and we end the chapter in section 4.6 with a summary and some ii::. I i..i for future research. 4.2 Problem Formulation and Solution Approach 4.2.1 Problem Formulation We consider a serial supply chain consisting of a supplier and a manufacturer. The manufacturer faces a deterministic stream of demands for a single item over a horizon of T time periods, given by dt (t 1,..., T). The supplier can satisfy manufacturer demands by production, but it faces a limited but stationary production capacity in each period denoted by C. The supplier may hold items in inventory for some periods before sending a shipment to the manufacturer. We assume that the supplier has the option to satisfy each period's demand early (which leads to inventory holding at the manufacturer) or late (which corresponds to backlogging of manufacturer demand) at a cost. We will allow for subcontracting of demands, where the subcontractor delivers directly to the supplier. The supplier combines subcontracted and inhouse production into shipments to the manufacturer. This means that whether the supplier subcontracts or not is transparent to the manufacturer. The quantity subcontracted in each period is limited by B units. Our decision variables and cost functions are: * yt: supplier production in period t with associated cost function pt (t 1,. .. T ); * zt: subcontracting in period t with associated cost function st (t = 1,..., T); * xt: transportation from supplier to manufacturer in period t with associated cost function ce (t = 1,..., T); * I) : inventory level at the end of period t at the supplier level ( = 1) or manufacturer level ( 2) with associated cost function hg) ( = 1,2; t= 1,. ,T); * Ut: quantity backl.. .: from period t + 1 to period t with associated cost function bt (t = 1,... T); Our objective is to minimize systemwide production, subconl I ir_ transportation, inventory holding, and backlogging costs over the entire planning horizon. We may then formulate the problem as a mathematical programming problem as follows: T min 1 (st(zt) + pt(t) + ct(Xt) + h( )) + h(2)(2)) + bt(ut)) t 1 subject to (P) it < C t= 1,...,T (41) zt < B t 1,...,T (42) yt+ zt+lI = xt + t ) t 1,...,T (43) Xt + I)1 + u = dt + It(2) Ut t ,...,T (44) I) = 0 1,2 (45) Ut = 0 t 0,T (46) yt, xt, Ut > 0 t= 1,...,T zt > 0 t 1,...,T It > 0 1,2; t 1,...,T. Constraints 41 and 42 enforce the production and subcontracting capacity constraints in each period. Constraints 43 and 44 represent the flow balance constraints at the supplier and manufacturer level, respectively. Constraints 45 and 46 model the initial inventory and terminal backlogging conditions. Note that the latter ensures that all manufacturer demand is satisfied during the planning horizon. All but the assumption that () = 0 are made without loss of generality (and can be handled in a straightforward manner by updating the demand sequence as in singlelevel lotsizing problems). We refer to van Hoesel et al. (2005) for a discussion on how to deal with initial inventories at the supplier level. This approach can, using the algorithms developed in this paper, be extended to our models in a straightforward manner. Throughout this paper, we will assume that all cost functions are nonnegative, concave, ri. iidI. i ,;i and equal to zero when their argument is zero. However, in addition to the case of general concave cost functions, we will also study the algorithmic implications of two other cost structures. Note that our model can be formulated as a concave cost network flow problem as illustrated in Figure 41. In this network, we have a source that supplies the total manufacturer demand t 1 dt. Costless arcs distribute this supply over a production (node P) and a subcontracting (node S) source. The nodes are indicated by (f, t), where denotes the level in the chain and t the period. This formulation immediately implies that there exists an extreme point solution to our problem, i.e., a solution that is a vertex of the polytope that forms the feasible region of (P) as long as a feasible solution exists, i.e., as long as T dt < T(C+ B). t=1 Our solution approach, which generalizes the approaches of Kaminsky and SimchiLevi (2003) and Van Hoesel et al. (2005), will be based on this result and is discussed in the next section. P S 1,1 1,2 1,3 1,4 1,5 2,1 2,2 2,3 2,4 2,5 Figure 41: Network representation with inventory holding and backlogging. 4.2.2 Solution Approach Extreme points in minimum cost network flow problems have the property that there does not exist a cycle formed by free arcs, i.e., arcs that carry a strictly positive flow that is also strictly below capacity (see A!mli et al. 1993). Previous work has used this observation to show that any extreme point solution to special cases of our problem containing only production decisions (see Florian and Klein 1971), production and subcontracting decisions (see Atamttirk and Hochbaum 2001), or production and transportation decisions without backlogging (see Kaminsky and SimchiLevi 2003 and Van Hoesel et al. 2005) decomposes into a sequence of consecutive socalled subplans that contain at most one free production arc, i.e., at most one production arc with flow strictly between its lower bound of 0 and upper bound of C. This corresponds to the fact that two free production arcs in a subplan would form a cycle of free arcs, which contradicts the extreme point nature of the solution. We will extend this characterization of extreme point solutions to our more general class of problems. Consider all free arcs in a given extreme point solution. Since all inventory, backlogging, and transportation arcs are uncapacitated, when we ignore all production and subcontracting arcs the set of remaining free arcs decomposes into disjoint connected and .,. i1 .i components. The fact that we have an extreme point solution then immediately implies that each component may be connected to at most one free production or subcontracting arc. It is easy to see that each component that is not a singleton node at the supplier level contains at least one node at the manufacturer level. In a given component, we denote the the first and last nodes at the manufacturer level by (2, r1 + 1) and (2, 72), indicating that in this component the demands of periods r + 1,..., 2 are satisfied. In addition, let (1, tl + 1) and (1, t2) denote the first and last nodes at the supplier level, so that the component can be characterized by (tl, t2a ', 72). By definition, we have that tl < t2 and ri < r2. Moreover, the fact that the component is connected implies that r1 < t2. Now suppose that r1 < ti, i.e., the demand of period ri + 1 is satisfied, at least partially, through backlogging. If, in the current solution, production or subcontracting to the supplier takes place in one of the periods r + 1,..., tl 1, this should satisfy demands up to and including period T7. However, this would contradict the fact that the components (when disregarding production and subcontracting arcs) are dij Piiil Therefore, we can include the nodes (1, 7r + 1),... (, t 1) in the current component, which means that without loss of generality we may assume that tl < Tr. Similarly, suppose that T2 < t2, i.e., production takes place after the last period whose demand is satisfied in the current component. However, this means that the demands in periods 72 + 1,..., t2 should also be satisfied within the current component, so that without loss of generality we may assume that t2 < 72. Combining both results, we denote the subplans that comprise an extreme point solution as (tI,, t2,1 72) with tl < 7 < t2 < 72. Note that, somewhat surprisingly due to the presence of backlogging in our model, these are precisely the subplans that are obtained when only considering production decisions (see Van Hoesel et al. 2005). The characterization of extreme points through subplans immediately leads to the following backward dynamic programming recursion: F(ti,Ti 7) = min { (t, 2, 71, 72) + F(t2, 72) O F(tI,T) = 0 for all /1= 0,...,T where F(ti, i) denotes the minimum cost required to satisfy the demands in periods r +1,..., T with production or subcontracting only in periods t +1,..., T, and Q(tI, t2, 71, 72) denotes the minimum cost associated with subplan (ti, t2, 1, 72). That is, 1(t1, t2, 1,r72) is the minimum cost required to satisfy the demands in periods 1 + 1,.... 2 with production or subcontracting only in periods t + 1,... t using at most one production or subcontracting quantity that is strictly between its lower bound of zero and its capacity. Clearly, the optimal solution to the problem is given by F(0, 0). It is easy to see that the dynamic programming recursion can be solved in O(T4) time if the costs of all subplans are known. Since there are O(T4) subplans, the computation of these costs can be expected to be the bottleneck and the challenge is therefore to develop algorithms to efficiently find the costs of the subplans. 4.2.3 Only Backlogging at the Manufacturer Level We have assumed so far that inventory can be held both at the supplier and at the manufacturer level. However, in certain settings the manufacturer may not be able to accommodate any early deliveries due to limited storage space, for example when the manufacturer is a supermarket or restaurant. If, on the other hand, the manufacturer is willing to accept late deliveries, we retain the backlogging option in the model and the backlogging costs can then be interpreted to include some compensation to the manufacturer. In that case, the mathematical programming formulation of the problem reduces to: T min (s,(zL) + pt(yt) + c() + h((It) + b6,(u)) t=1 subject to Yt < C t= ,...,T zt < B t 1,...,T yt + zt+ = ( Xt + ~) t =,... ,T t + t = dt + ut1 t 1,...,T o(1) 0 UT 0 Yt, xt, ut > 0 t 1,... ,T Zt > 0 t= 1,...,T () > 0 t= 1,...,T and the network representation is given in Figure 42. P S 1,1 1,2 1,3 1,4 1,5 2,1 212 2,3 2,4 2,5 Figure 42: Network representation with backlogging only at the manufacturer. Of course in this case the extreme points decompose again into subplans of the form (ti, t2, 1,) with tl < T1 < t2 < T2. However, since only backlogging is allowed at the manufacturer, the demand in period tl + 1 can only be satisfied through products transported in periods t1 + 1 or later. Therefore, without loss of generality we may assume that demand periods tl + 1,..., 1 1 are included in the subplan or, in other words, that 71 = tl. Similarly, the demand in period 72 can only be satisfied through products transported in periods 72 or later. Therefore, without loss of generality we may assume that production and subcontracting periods t2 + 1,..., T~ are included in the subplan or, in other words, that 72 t2. Thus, we only need to consider subplans of the form (T, 2, 1, 72) which, where convenient, we will simply denote by (1, 7r). The reduction in the number of subplans that needs to be considered directly leads to the following dynamic programming formulation for solving (P') F'(i) min (T, + F 2) for all1 T 0,..., T 1. 72 = I+ ,...,T F'(T) 0 where F'(r) denotes the minimum cost required to satisfy the demands in periods T + 1,... T with production or subcontracting in the same periods, and '(ri, 72) is the minimum cost required to satisfy the demands in periods Tr + 1,..., T2 using production or subcontracting only in periods ri + 1,..., T2 and using at most one production or subcontracting quantity that is strictly between its lower bound of zero and its capacity. The optimal solution to the problem is given by F'(0). This dynamic programming recursion can be solved in O(T2) time, again assuming that the costs of all subplans are known. We will develop efficient algorithms for computing the subplan costs for this case. 4.3 Models without Subcontracting Opportunities 4.3.1 Subplan Properties Consider a subplan with demand periods ri + 1,..., 2. For convenience, we will in the remainder of this chapter define the cumulative demand in a sequence of periods t,..., s by dts (where, by convention, we let dts = 0 if t > s), so that the total demand in the subplan is given by d, +1,2. Since, as we have seen above, each subplan has at most one free production arc, we may generalize a result of Florian and Klein (1971) and determine the number of periods in a subplan where production is at full capacity as K = d +1, (47) and the quantity produced in the remaining production period as c = d 1,+, KC. (48) Note that, by construction, 0 < c < C. The absence of cycles formed by free arcs also enables the characterization of the potential quantities that can be transported in any period of a subplan. The result obtained by Van Hoesel et al. (2001) for the case where backlogging is not allowed applies directly to our model as well. In particular, if there is a shipment in period t in a subplan (tl, , 1,72), the quantity shipped satisfies one of the following conditions: * it results in zero ending inventory at the supplier level in period t; or * the cumulative quantity shipped in the subplan up to and including period t is sufficient to fully meet the demand of periods r~,,..., s for some s = t,..., 2. This follows since otherwise there would either be a period (t or later) whose demand is satisfied partially from the transported quantity in period t and partially from the ending inventory at the supplier level in period t or both the transported quantity in period t and the ending inventory at the supplier level would be used to supply demands in period t or earlier. Even though in the latter case the transported quantity and the ending inventory do not necessarily satisfy demand in the same period, both cases lead to a cycle of free arcs and therefore contradict that the solution is an extreme point. 4.3.2 Inventory Holding and Backlogging at the Manufacturer Level In this section we will develop efficient algorithms to compute the subplan costs in the absence of subcontracting but in the presence of both inventory holding and backlogging at the manufacturer level. Concave costs. Recall that a typical subplan is of the form (t1, t2, 1, 2) where tl < <7 < t2 < r2. To calculate the minimum cost of this subplan we will generalize the dynamic programming approach developed by Van Hoesel et al. (2001) for the case where backlogging is not allowed. The states in this formulation are of the form (t, y x), where t E {ti,..., t2} is the current period, yc E {kC + v : k = 0,..., K; v = 0, 1} is the cumulative production quantity in the current subplan, and x' E {kC+v : k = 0,...,K; v 0, 1}U{dl+i,,s : s= t,... ,T2} is the cumulative transported quantity in the subplan. Moreover, we should have xc < yc since products cannot be transported before they are produced. Since K < T there are O(T3) states. The decisions that can be made in state (t, yC, x) leading to state (t + i, y, x) are: * produce y' yC units; the production quantity may equal c or C units, where the former is only allowed if yC = kC for some integer k and the latter is only allowed if yc < KC, or zero. * transport xc xc units; the transportation quantity may equal zero, the total available quantity yc xc, or d,,+1,s xc for some s = t + 1,..., for which dT+1, > xC. The total cost of the decision to transition from state (t, yc, xc) to state (t+l, y, xc) is equal to Pt+1 (9c c) +C t+1 _c c_ +1,t+1)+) +bt ((d7,+It+l x )+) Pt+i cy c+Ct+ .xc+h(') xc+h ((c The minimum cost of subplan (tl, t2, 7,72) is now given by the minimum cost required to, starting at state (t, 0, 0), reach state (t2, d7+1,2, d,+1,2) (at which point all demands in the subplan have been satisfied). Since, in each state, there are at most O(T) candidate decisions and the cost of each decision can be calculated in constant time the total time required to find the costs of a given subplan is O(T4) (where we assume that we have computed the cumulative demands dt, in a preprocessing step taking O(T2) time). The cost of all O(T4) subplans can therefore be determined in O(Ts) time. However, solving the dynamic program for subplan (0, t2, T, 72) using a backward recursion we in fact obtain the costs of all subplans (t1, t2, r, 72), thereby reducing the total running time to O(T7). (See also Kaminsky and SimchiLevi 2003 and Van Hoesel et al. 2001 for a similar savings technique.) In the next two subsections, we will discuss two sets of cost functions under which the costs of the subplans can be determined more efficiently. In neither case will we further restrict the production cost functions. However, we will assume that the holding and backlogging cost functions are linear functions. Furthermore, we will assume that the transportation cost functions consist of a fixedcharge and a linear component and, in addition, that the linear transportation cost component together with the holding and backlogging cost functions satisfy a particular type of nonspeculative motives condition. We will also assume that the transportation cost functions are linear but do not necessarily satisfy that nonspeculative motives condition. With a slight abuse of notation we will represent the unit transportation, inventory holding, and backlogging costs by ct, h(), h 2), and bt (t 1,..., T), respectively. Fixedcharge transportation costs under a nonspeculative motives condition. In addition to the above assumptions on the cost functions, we consider the following nonspeculative motives condition: ct + h(2) < h(l) + t for t 1,..., T 1. (49) Under this condition, the subplan solutions will enjoy an attractive structure that can be employ, l to efficiently find the optimal subplan costs. In particular, we have the following result: Proposition 4.3.1 In I, :, period in which we transport, we should transport all available inventory at the supplier level, i.e., we i,,i'; restrict ourselves to solutions in which xi1) = 0 for t = 1,...,T. Proof: Suppose that we have a period t such that xt > 0 and I(1) > 0, and suppose that some of the ending inventory in period t, a quantity 6 > 0, is transported in period t' > t. Then consider an alternative solution in which we instead transport this quantity in period t. This leads to a change in total costs equal to t 1 t 1 c r=t ) =t However, summing condition 49 over periods t,..., t' 1 yields: t1 t' 1 C + h) < (h() + c,+l) which implies that ct+Zh( ) < +h(1 c,. r=t 1 r=t Therefore, the alternative solution is at least as good as the original solution. We may repeat the argument until we obtain a solution that satisfies the desired property. O Using this result, we may now modify the dynamic programming approach as follows. First, the note that the property implies that we only need to consider states of the form (t, y", xc) with x' C {kC + ve : k = 0,..., K; v = 0, 1}; unfortunately, this means that the size of the state space remains O(T3). However, we now only need to consider transitions between states (t, yc, x) and (t + 1, y, xc) if xc E {x, yc}. This reduces the number of decisions in each state to 0(1) and thereby the time required to find the cost of a given subplan to O(T3), which, after employing the same savings technique as before, yields a total running time of our algorithm under this cost structure of O(T6). Linear transportation inventory holding and backlogging costs. In this section, we will show how we can determine the costs of the subplans more efficiently when the production costs are concave but all other cost functions are assumed to be linear. With a slight abuse of notation we will represent the unit transportation, inventory holding, and backlogging costs by ct, h,), and bt, respectively. We again calculate the minimum cost for each subplan using dynamic programming. However, we may now choose the state to be of the form (t, y) where t is the current period and ye0 {kC + ve : k = 0,..., K; v = 0, 1} is the cumulative production quantity in the current subplan. Since K < T there are O(T2) states. This reduction of the state space follows from the linearity of the inventory I .1 lii: backlogging, and transportation costs, which make it possible to determine the optimal cost associated with the quantity produced in a given period based on only the cumulative production quantity before the current period. The decisions that can be made in state (t, yc) are: produce c or C units, where the former is only allowed if yc = kC for some integer k and the latter is only allowed if yc < KC, or do not produce at all. Denote the state that is reached next by (t + 1, yc). The cost of this decision consists of the following components: * the cost of producing yc yc units in period t + 1 at a cost of pt+((yc y); * the transportation, inventory I '.1 lii: and backlogging cost of the yc yc units produced in period t + 1 to the manufacturer according to the FIFO principle. In order to compute these costs, let and denote the first period in the subplan whose demand is not fully satisfied by the first yc and yc units of production, respectively, and let 6 and 6 denote the amounts in periods and respectively, that remain to be satisfied. Note that (f, 6) can be determined for each state in the subplan in a preprocessing step taking O(T2) time. Then, * if yc yc < 6, i.e., production in period t is fully used to satisfy demand in period the total costs are Gt+l,(yc gc), where Gt+l,e is the minimum cost of supplying a unit of demand in period from the supplier level in period t+1. * if y0 y0 > 6 the total costs are given by the cost of shipping y0 y0 units to the manufacturer according to the FIFO principle: Gt+l,,6 + GDt+l,'+l,_1 + Gt+1,,(d 6) where GDte+l,+l,_1 is the minimum cost of supplying the demands of periods + 1,... , 1 from the supplier level in period t + 1, i.e., 1 GDt+l,g+l, 1 drGt+l,r r= +l Note, first of all, that the quantities Gt+l,e and GDt+i,t+,i1 can be computed in a global preprocessing step (i.e., independent of the subplans) in O(T3) time. Note also that the arc costs may, in some cases, be based on shortest paths that do not fully lie within the subplan under consideration. However, this is no problem due to the linearity of the costs. With this information, it is clear that there are constant number of decisions and the costs of each decision can be determined in constant time, so that it immediately follows that the costs of a subplan can be found in O(T2) time by finding the minimum cost required to go from state (ti, 0) to state (t2, d,1+1,2,). Since once again it suffices to consider O(T3) subplans, the time required to find all subplan costs is ((Ts). 4.3.3 Model with only Backlogging at the Manufacturer Level In this section we will develop efficient algorithms to compute the subplan costs in the absence of subcontracting options and when only backlogging is allowed at the manufacturer level. When all cost functions are concave we can again apply a dynamic programming approach with states of the form (t, yC, xc), where t and y' are as before, but we now have that x cE {kC + ve : k = 0,..., K; v = 0, 1} U {dr,+l,t} and xc < d+li,t since a shipment in period t cannot satisfy the demand of any periods beyond t. Similarly, a decision to transport xc xc units can only be made for transportation quantities equal to zero, the total available quantity yc xc, or d,+i,t+l xc, where the latter is only allowed if dl+1,t+l > xc. Since, in each state, there are now 0(1) candidate decisions the total time required to find the costs of a given subplan is O(T3) time. (Note that this immediately implies that we will not a computational savings here, since the number of candidate decisions will still be 0(1).) The cost of all O(T2) subplans can therefore be determined in O(T5) time. In case the transportation, inventory I'.. lii: and backlogging costs are linear, the approach of holding and backlogging case holds without modification. Thus, the cost of all O(T2) subplans can be computed in O(T4) time in this case. 4.3.4 Evaluation First, note that in all cases the running time required to find the costs of all subplans dominates the running time of the higher level dynamic program that finds the optimal solution to an instance of the problem. The running times of the complete algorithms for solving all our model variants are summarized in Section 4.6. In the remainder of this section, we will compare the causes of the differences between the running times for the different models. Identifying these differences then enables us to focus on a limited set of models in the remainder of the C'! lpter. Let us first compare the running times of the models with and without inventory holding at the manufacturer discussed above when all cost functions are concave. When holding inventory at the manufacturer is not allowed, the running time reduces because of two different effects. Firstly, the number of subplans that need to be considered reduces from O(T3) to O(T2). Secondly, in the dynamic programming approach to computing subplan costs the number of potential shipment quantities in each period reduces from O(T) to 0(1). Together, this causes a reducing in running time of O(T2). However, for the other two cost structures only the first effect applies, i.e., the only savings are due to the reduction in the number of subplans that need to be considered by O(T). Finally, let us compare the models with respect to the different cost structures. When considering models with linear transportation, inventory holding, and backlogging costs to the others, we achieve a savings in the running time since, when computing subplan costs in the former case, only the cumulative production up to time t is important to determine how best to proceed. This means a reduction in the size of the state space by O(T). Moreover, when both inventory holding and backlogging are allowed at the manufacturer level, the number of decisions in each state reduces from O(T) to 0(1) when we move from general concave cost functions to one of the other cost structures, for a total savings of O(T2). These observations extend to the more complex models that we will study next. Therefore, in the remainder of this chapter we will only consider models where both backlogging and inventory holding is allowed at the manufacturer level and all cost functions are concave, and simply infer the running times for the other cases from the discussion above. 4.3.5 Managerial Insights The study of multiechelon lotsizing problems in this section does not only show that these problems are solvable in polynomial time, but also provide insights into the structure of production and transportation plans that lead to highquality solutions. These insights results generalize the well known zeroinventory ordering policy that follows from a study of the solution structure of the well known uncapacitated singleechelon lotsizing problem. Besides the practical importance of such insights, note that these results can sometimes also be used to develop highquality efficient heuristics for more complex lotsizing problems (see, e.g., C'!I io et al. 2002a, 2002b. We will here summarize the most important structural insights that have been obtained: * Whenever economiesofscale in costs are present, any quantity transported between supplier and manufacturer should either leave no inventory at the supplier or be sufficient to satisfy demand in an integer number of planning periods. * Whenever a nonspeculative motives between linear holding and backlogging cost functions and a linear component in fixedcharge transportation cost functions are satisfied, any quantity transported between supplier and manufacturer should leave no inventory at the supplier. * Whenever I. l1ii1 backl.:_ _:i_ and transportation cost functions are linear, any unit produced should satisfy demand according to a combination of the FIFO rule and minimum total unit holding, back. _._il._ and transportation costs. 4.4 Models with Subcontracting Opportunities We next turn to models in which uncapacitated or capacitated subcontracting opportunities exist. In either case, we will assume that regular production is capacitated. Note that the model in which both production and subcontracting are uncapacitated are discussed in Section 4.5, while the model in which production is uncapacitated and subcontracting capacitated can be handled by simply interchanging the role of production and subcontracting. 4.4.1 General Properties of the Subplans From the analysis in Section 4.2.2 we know that each extreme point decomposes into a number of subplans, each of which has at most one free production arc or at most one free subcontracting arc, but not both. If we have a free production arc in the subplan, it is easy to see that all subcontracted quantities are equal to 0 or B. Similarly, if we have a free subcontracting arc in the subplan then all production quantities are equal to 0 or C. Now consider a subplan with demand periods ri + 1,..., 2. We know that there are at most K dl12 and K'" L d 2 C c I I B periods in which we produce or subcontract to full capacity, respectively. However, the fractional production (or subcontracted) quantity depends on the actual number of periods in which we subcontract (or produce) to full capacity. First, suppose that we know that there are exactly k (where k = 0,..., K) periods in which we produce to full capacity and there is no fractional production period. Then the number of periods in which we subcontract to full capacity and the quantity subcontracted in the fractional supply period are equal to K L d1+1, kCJ "s d+l,, kC "B respectively. Note that, in case of uncapacitated subcontracting (B = oo), these reduce to K, 0 kf = d7+1,7 kC. Similarly, in case there are exactly k' = 0,..., K periods in which we subcontract to full capacity and there is no fractional subcontracting period, the number of periods in which we produce to full capacity and the quantity produced in the fractional supply period are equal to S d +l1,T2 k'B c,= dr +1 ,2 k'B ,k' C. The minimum subplan cost is then equal to the minimum cost among the solutions found with a fractional production or a fractional subcontracting period. In the next sections, we will develop algorithms for the case of a fractional subcontracting period. Note that, as before, we focus here on the running times required to find the subplan costs. The running times of the complete algorithms for solving all our model variants are summarized in Section 4.6. 4.4.2 Concave Costs Capacitated subcontracting. Our approach is to find the subplan costs under the condition that there are k full capacity production periods and no fractional production period. Repeating this procedure for each of the O(T) values for k as well as executing the analogous procedure for the case of k' full capacity subcontracting periods and no fractional subcontracting period and finding the one with smallest cost then yields the actual subplan costs. In this section, we will only describe the former procedure in detail. The latter procedure can be obtained by simply interchanging the role of the production and subcontracting options. Consider subplan (tl, t2, 1, 72). Similar to the problem without subcontracting we use states of the form (t, yzc, xc), where t E {tl,..., t2} is the current period, yzc E {kC + k2B + ,, : ki 0,...,k; k2 0,...,k; v 0, 1} is the cumulative production and subcontracted quantity in the current subplan, and xc E {klC+k2B I ., : k= 0,...,k; k2= 0,..., Kk; v= 0, 1}U{d,+l,s: s t,..., r2 is the cumulative transported quantity in the subplan. As before, we should have xc < yzt since products cannot be transported before they are produced. Since k, Kk < T there are O(T5) states. The decisions that can be made in state (t, yzc, xc) leading to state (t + 1, yz, x) are: * produce and/or subcontract a total of yzc yze E {0, C, Ck, B, C + Ck, C + B} units, where, in addition, yzc and yzc yield feasible states; * transport x' xc units; the transportation quantity may equal zero, the total available quantity yz 7 xc, or d,,+l,s xc for some s = t + 1,..., rT for which dTl+1, > xC. The total transportation, inventory holding, and subcontracting cost of the decision to transition from state (t, yzc, xc) to state (t+l, yz, 7c) is equal to ct+1( x) + h1(yz + ) ((xc dl+1,t+l)+) + bt ((dl1,t+l xc)+) If yzc yze = C, a production cost of pt+l(C) is added; if yzc yzc 1k, a subcontracting cost of st+1(Ck) is added; if yzc yze = B, a subcontracting cost of st+l(B) is added; if yzc yze = C + Ck, a production and subcontracting cost of pt+l(C) + st+l(ck) is added, and if yzc yz = C + B a production and subcontracting cost of pt+,(C) + st+l(B) is added. (Note that we have assumed, for ease of exposition, that B / C and Ck / C. If this is not the case, we may either expand the state space with a variable indicating whether production and/or subcontracting took place in period t + 1 or simply choose the assignment of quantities to production and subcontracting that lead to minimum cost, neither of which would increase the running time of the algorithm.) The minimum cost of subplan (t1, t2, 1 72) (for the given k) is now given by the minimum cost required to, starting at state (ti,0, 0), reach state (t2, d1+1,72, d1+1,72) (at which point all demands in the subplan have been satisfied). Since, in each state, there are at most O(T) candidate decisions and the cost of each decision can be calculated in constant time the total time required to find the costs of a given subplan for a given k is O(T6). Since there are O(T) choices for k and since the time required to find the minimum subplan costs for the case of a fractional production period is of the same order, the cost of all O(T3) (relevant) subplans can be determined in O(T10) time. Uncapacitated subcontracting. When there is no subcontracting capacity, we distinguish between subplans whose cost is attained using production alone and subplans whose cost is attained using subcontracting. For any subplan, we can of course compute the minimum cost without using subcontracting as in Section 4.3.2. If we then also compute the minimum cost with subcontracting the cost of the subplan is obviously given by the least costly solution among these two candidates. Note that, if there is a period in which subcontracting takes place, there will be no free production period. To compute the minimum cost of a subplan (tl, t2, 71 72) under this constraint, we again consider a dynamic programming approach with states of the form (t, yz', xe). Defining K and c as in Equation s 47 and 48, this state contains the current period t E {tl,..., t2}, the cumulative production and subcontracted quantity in the current subplan yz' E {kC + v : k = ,..., K; v = 0, 1}, and the cumulative transported quantity in the subplan xc E {kC + ve : k = 0,..., K; v = 0, 1} U {d,+l, :s = t,... 2}. As before, we should have xc < yzc since products cannot be transported before they are produced. It is easy to see that there are O(T3) states. The decisions that can be made in state (t, yzc, xc) leading to state (t + 1, yz, x) are: * produce and/or subcontract yzc yze E {0, c, C, C + e,..., KC + e} units, where, in addition, yzc and yzc yield feasible states; * transport xc xc units; the quantity transported may equal zero, the total available quantity yzc xc, or d,,+l,s xc for some s = t + 1,..., T2 for which dT+l1,s > x. The total transportation, inventory holding, and subcontracting cost of the decision to transition from state (t, yzt, xc) to state (t+l, yzt, xc) is equal to ct+( xc) + hQ()yz xc) + h(21 ((xc dl,) + b, ((dl, 1 xc)) Ct+ (1) c c 1( c _7+l,t+l)+) + bt ((d7_+l,t+l )+) . If yzc yze = c, a subcontracting cost of st+l(c) is added; otherwise, a cost of min {st+(yz yzc),pt+,(C) + st+(yz yz C)} is added. Since there are O(T3) states and O(T2) potential decisions per state, we can determine the cost of a subplan in O(T5) time. The costs of all subplans can thus be found in O(Ts) time. 4.4.3 Subcontracting versus Overtime Production Option As mentioned in the introduction, it may sometimes be appropriate to only allow the use of the additional sourcing option in a given period if production is at full capacity. In particular, this would be appropriate if the additional source is in fact not an outside supplier but a possibility of using overtime production at an additional cost. In terms of the optimization model (P), this can be handled by applying the production cost function pt to all units procured in period t and interpreting the subcontracting cost function st as an incremental cost function. That is, the term pt(yt) in the objective function is replaced by pt(yt + zt). An appropriate network representation of this situation is given in Figure 43. Here the arcs of the form (P, t) are costless, arcs of the form (S, t) have cost function st, and arcs of the form (t, (1, t)) have cost function pt. From this network representation, we can immediately conclude that, without loss of optimality, we may restrict ourselves to solutions in which Zt > 0 implies that yt = C. In addition, an analysis of the extreme point structure of optimal solutions yields that we again have that in each subplan there is either at most one period such that 0 < yt < C or at most one period such that zt > 0. P S 1 2 3 4 5 1,1 1,2 1,3 1,4 1,5 2,1 2,2 2,3 2,4 2,5 Figure 43: Network representation with overtime production. Now consider a subplan with demand periods Tr + 1,..., T2. We know that there are at most KP L d=  l and KP+ = I d1 SC C+B B periods in which we only produce or produce and subcontract to full capacity, respectively. However, the fractional production (or subcontracted) quantity depends on the actual number of periods in which we subcontract (or produce) to full capacity. First, suppose that we know that there are exactly k periods in which we produce to at least full capacity and there is no fractional production period. Since we can only use subcontracting in periods in which production is at full capacity, we only need to consider k = KP+,..., KP. Then the number of periods in which we both produce and subcontract to full capacity and the quantity subcontracted in the fractional supply period are equal to p+s Ld ,+1, B kCJ +s8 d ,,d kC lB respectively. Note that, in case of uncapacitated subcontracting (B = oo), these reduce to p+s 0 =0 CP+8 7dl+1,72 W We may now proceed to determine the subplan costs in a similar way as before, while ensuring that any state transition only uses subcontracting when production is at full capacity. Similarly, we can consider cases where there are exactly periods in which we produce and subcontract to full capacity and there is no fractional subcontracting period. Since we can only use subcontracting in periods in which production is at full capacity, we only need to consider k' = 0,..., KP+. The number of periods in which we produce to full capacity and the quantity produced in the fractional supply period are equal to d,1+1 ,72 k' B K Lk' k'JC ep,/ dr+1l,2 k'B K, C. The running times of models in which subcontracting can only be used if production is at full capacity is therefore the same as for models in which subcontracting may be used regardless of production quantity. 4.5 The Uncapacitated Case Zangwill (1969) shows that for multilevel lotsizing problems without production capacities, subcoill i Iiir. or backlogging an extreme point solution is arborescent, which means each node has at most one incoming arc with positive flow. As the consequence of this arborescent structure, a socalled zero inventory ordering property (ZIO) is conserved in any extreme point solution. The following theorem extends this result to the uncapacitated twolevel lot sizing problem with backlogging and subcontracting. Theorem 4.5.1 If production is uncapacitated then an extreme point solution has the following properties: I~ t+l4 0, I,)t+ =1 0, UtXt 0 for t 1,...,T 1 Ztyt 0 for t 1,..., T. Proof: Any extreme point solution does not include a cycle of free arcs (i.e., arcs that carry a positive flow). It is easy to see that, if any of the pairs stated in the theorem has positive value, the corresponding arcs create two paths using free arcs only from the source to a node in the network and therefore a cycle of free arcs. o This result immediately leads to the following corollary. Corollary 4.5.2 In an extreme point solution each arc carries the demand of a consecutive set of periods. Now note that in no period can we both produce and subcontract a positive amount. Therefore, subcontracting can be accounted for in a straightforward manner by redefining the production cost function as: Pt(yt) min pt(yt), st(yt)} and treat the problem as one without subcontracting. Since the minimum of two concave functions is also concave this does not influence the structural properties of the problem and we may still limit ourselves to extreme point solutions. Therefore, in the remainder of this section, we will develop a dynamic programming algorithm for the twolevel lotsizing problem without subcontracting and with either backlogging and inventory holding or backlogging only at the manufacturer level. (Note that the case without backlogging was studied by Zangwill (1969) and Van Hoesel et al. (2001).) 4.5.1 Both Inventory Holding and Backlogging at the Manufacturer Motivated by the arborescent structure of extreme point solutions, define Cte(si, 82) to be the minimum total cost required to satisfy the demand of periods Si,..., s2 from level i at time t (where, in addition to the supplier level 1 and manufacturer level 2, we denote the production level by 0). Clearly, we are trying to find Clo(1, T), i.e., the total cost of satisfying demands of all periods from the source at time 1. For convenience, we will let Ct2(t, t) = 0 for t = 1,..., T. For each of the three levels we will develop a recursion that relates the values Cte(1s, 82) and should be solved backwards in time (for t = T,..., 1) and up the chain (from level 2 to level 0). 