Using Geometric Techniques to Improve Dynamic Programming Algorithms for the Economic Lot-Sizing Problem and Extensions
Total Page:16
File Type:pdf, Size:1020Kb
Using geometric techniques to improve dynamic programming algorithms for the economic lot-sizing problem and extensions Citation for published version (APA): Wagelmans, A. P. M., Moerman, B., & Hoesel, van, C. P. M. (1992). Using geometric techniques to improve dynamic programming algorithms for the economic lot-sizing problem and extensions. (Memorandum COSOR; Vol. 9245). Technische Universiteit Eindhoven. Document status and date: Published: 01/01/1992 Document Version: Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers) Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement: www.tue.nl/taverne Take down policy If you believe that this document breaches copyright please contact us at: [email protected] providing details and we will investigate your claim. Download date: 06. Oct. 2021 EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics and Computing Science Memorandum COSOR 92-45 Using geometric techniques to improve dynamic programming algorithms for the economic lot-sizing problem and extensions C.P.M. van Hoesel A.P.M. Wagelmans B. Moerman Eindhoven, November 1992 The Netherlands Eindhoven University of Technology Department of Mathematics and Computing Science Probability theory, statistics, operations research and systems theory P.O. Box 513 5600 MB Eindhoven - The Netherlands Secretariate: Dommelbuilding 0.03 Telephone: 040-47 3130 ISSN 0926 4493 USING GEOMETRIC TECHNIQUES TO IMPROVE DYNAMIC PROGRAMMING ALGORITHMS FOR THE ECONOMIC LOT-SIZING PROBLEM AND EXTENSIONS Stan Van Hoesel Department of Mathematics and Computing Science Eindhoven University of Technology PO Box 513, 5600 MB Eindhoven, The Netherlands Albert Wagelmans Bram Moerman Econometric Institute Erasmus University Rotterdam PO Box 1738, 3000 DR Rotterdam, The Netherlands Revised September 1992 Abstract: In this paper we discuss two basic geometric techniques that can be used to speed up certain types of dynamic programs. We first present the algorithms in a general form, and then we show how these techniques can be applied to the economic lot-sizing problem and extensions. Furthermore, it is illustrated that the geometric techniques can be used to give elegant and insightful proofs of structural results, like Wagner and Whitin's planning horizon theorem. Finally, we present results of computational experiments in which new algorithms for the economic lot-sizing problem are compared with each other, as well as with other algorithms from the literature. Keywords: Dynamic programming, computational analysis, lot-sizing, inventory 1. Introduction As argued by Denardo [4], the complexity of a dynamic programming based algorithm is usually proportional to the number of arcs in the underlying dynamic programming network. Only when special cost structures on the arcs of the network are incurred one might hope for a better running time. One of the first such improvements is due to Yao [23], who uses a monotonicity property to speed up the dynamic programming algorithm for finding optimal binary search trees. Aggarwal and Park [1] show that a similar monotonicity property holds for the dynamic programming formulation of the well-known economic lot-sizing problem (EIS), and they arrive at an O(TIogT) algorithm, T being the length of the planning horizon. They also show that in some interesting special cases a linear time algorithm exists. These are significant improvements over the well-known dynamic programming algorithm proposed by Wagner and Whitin [22]. Similar improvements have been independently obtained by Federgruen and Tzur [7] and Wagelmans et al [21]. In the latter article, the exposition is of a geometric nature. The aim of the current paper is threefold. First, in Section 2, we genera.lize the approaches of [7] and [21] by discussing two basic geometric techniques that can be used to speed up certain types of dynamic programs. Our discussion includes the particular data structures needed to implement the improved algorithms. In Section 3 and 4 we will show how, given the generalized algorithms, improved complexity results for several lot-sizing problems can easily be established. In particular, we discuss the forward and backward r~cursion for ELS, the model which allows backlogging, ELS with start-up costs and a generalized version of the model with learning effects in set-up costs. It suffices to show that the recursion formulas are. of the form which allows the application of the g~ometric techniques. Because we regard the resulting algorithms as special cases of the general algorithms, it will become clear that the techniques used in [7] and [21] are essentially the same. The second aim of this paper is to point out that the geometric techniques enable us to give elegant and insightful proofs of certain structural properties. This is done in Section 5 where two examples are given, one of which concerns a proof of Wagner and Whitin's planning horizon theorem. The last contribution of this paper is found in Section 6, where we present results of computational experiments in which the algorithms for EIS introduced in [1], [7] and [21] are compared with each other, as well as with 1 existing implementations of the Wagner-Whitin algorithm (cf. Evans [5], Saydam and McKnew [15]). Our experiments indicate that especially the algorithm based on the backward recursion performs very well. The paper ends with concluding remarks in Section 7. 2. Geometric solution techniques for dynamic programs A basic topic in computational geometry is the determination of the lower concave envelope of a given set of lines in the plane. A dual problem, in a sense, is the problem of determining the convex hull of a given set of points in the plane. For both problems efficient solution techniques exist. These solution techniques will be used to solve the following type of recursion formulas for dynamic programs. G(O) := 0; G(i) := Ai + mi.n.{G(j)+Bj+CiDj} (1) oS}<I Here Ai, Bj, Ci , Dj (1::; i::; n, 0::; j::; n -1) are constants that only depend on the index. In this section, these constants are supposed to be given beforehand. We proceed by showing how the dynamic programming recursion (1) can be viewed as a problem of finding the lower concave envelope of a set of lines. To calculate the minimum of the terms {G(j)+Bj+CiDjIO::;j < i} for a fixed i, these terms are considered as functions of Ci • Each term corresponds to a line or a linear function mj (O::;jd), where mj(x) =G(j) +Bj+Djx ,i.e., mj is the line with slope Dj that passes through the point (O,G(j)+Bj ). Obviously, the determination of the minimum of {G(j)+Bj+CiDjIO::;j<i} is equivalent to finding the minimum of the values mj(Ci ) over j: O::;jd. This minimum is defined as gi(Ci), where gi is the concave lower envelope of the lines mj (O::;j<i). See Figure 1 for an example with i =3. Note that gi is piecewise linear. Given gi(Cd, one can determine the dynamic programming variable G(i), which is ·simply Ai+gi(Ci). An algorithm based on this observation proceeds by calculating the variables G(i) (i =1, ..., n), iteratively, in a forward fashion. During this process the lower envelope of the lines is updated, since a new line mi is added to the set of lines in iteration i. The operations in each iteration are divided in the following two steps: STEP 1: Find the value gi(Ci ), the function value of the lower envelope of 2 the lines mj Ud) at Ci. Then G(i) is calculated by adding Ai to gi(Ci ), STEP 2: Add the line mi to the set of lines that already determine the lower concave envelope gi, where mi is defined as mi(x) = G(i) +Bi+Dix. Recalculate the lower envelope gi+l, where gi+l(x): =min{gi(x},mi(x)}, G(2)+B2 m2 G(3)-A3 Figure 1. Determination of G(3) using the lower concave envelope. For an analysis of the running time of an algorithm based on this description a suitable data structure to maintain the lower envelope gi should be chosen. ~n order to choose the right structure it is necessary to find out which elementary operations must be performed. Therefore, the two steps of the algorithm will be analyzed in some more detail. In Step 1 of the iteration where G(i) is determined, the function value of gi at x = Ci has to be calculated.