European Journal of Operational Research 149 (2003) 557–570 www.elsevier.com/locate/dsw
Production, Manufacturing and Logistics
Evaluating jointly constrained order quantity complexities for incremental discounts Paul A. Rubin a, W.C. Benton b
b,*
a Department of Management, Michigan State University, East Lansing, MI 48824, USA Department of Management Sciences, The Ohio State University, Columbus, OH 43210, USA
Accepted 30 December 2001
Abstract In this paper we consider the purchasing decisions facing a buying firm which receives incrementally discounted price schedules for a group of items in the presence of constraints such as budgets and space limitations. The constraints take the form of upper bounds on positively weighted linear combinations of order size, dollar volume, unit price and order frequency. We adapt the solution procedures from an earlier paper [Naval Res. Logis. 40 (2) (1993) 255] to treat this case. The results show that simultaneous order quantities for multiple items, offered with separate incremental discounts and subject to joint resource constraints, can be calculated efficiently using a combination of Lagrangean relaxation and, as needed, partial enumeration. This problem proved to be no more and no less tractable than its counterpart with all units discounts. Ó 2002 Elsevier Science B.V. All rights reserved. Keywords: Purchasing; Inventory; Pricing; Quantity discounts; Nonlinear programming
1. Introduction Vendors frequently offer discount schedules based on the all-units model, which divides the range of possible order quantities into intervals with progressively lower unit costs. The unit cost corresponding to the size of a particular order is applied to every unit in the order, not just to those units above the qualifying order size (breakpoint). Dolan [5] and others argue, however, that the
*
Corresponding author. Tel.: +1-614-292-8868; fax: +1-614292-1272. E-mail addresses:
[email protected] (P.A. Rubin),
[email protected] (W.C. Benton).
vendor is often better served by the incremental discount model, which applies a lower unit price only to those units purchased in excess of each successive breakpoint. A substantial body of literature exists tying quantity discounts to the classical economic order quantity (EOQ) model [1,2,4,9–13,15,17–19]. This research tends to focus on all-units discounts, with minimal attention to incremental discounts. Inventory decisions may be constrained in practice. Hadley and Whitin [7, p. 54] observe that [m]ost real world inventory systems stock many items, not merely a single item. It is permissible to study each item individually only as long as there are no interactions among
0377-2217/03/$ - see front matter Ó 2002 Elsevier Science B.V. All rights reserved. doi:10.1016/S0377-2217(02)00457-5
558
P.A. Rubin, W.C. Benton / European Journal of Operational Research 149 (2003) 557–570
the items. There can be many sorts of interactions between items. For example, the items may be partial substitutes for each other; warehouse capacity may be limited and the items are competing for floor space; there may be an upper limit to the number of orders and the items are competing for these; or there may be an upper limit on the maximum investment in inventory and the items are competing for investment dollars. Hax and Candea [8, p. 150] note that order quantities for multiple items may be restricted by joint constraints: Unconstrained optimization of economic order quantities is often an unrealistic assumption because of such reasons as limited storage space availability, a fixed budget for inventory investment, and so on. Aggregate constraints also arise in hierarchical production planning systems, where the determination of individual production runs has to observe inventory target levels set by the aggregate plan[.] They discuss selection of EOQs for multiple items in the presence of linear constraints on the order quantities, without any discounts. Pirkul and Aras [14] and Benton [3] consider the problem of multiple item EOQs with all-units discounts offered separately for each item. Pirkul and Aras deal with a single constraint, linear in the order quantities. Benton adds a second constraint, linear in the inventory investment. Both papers present heuristics based on Lagrangean relaxation. Rubin and Benton [16] pose a more general model (any number of constraints, linearly combining order size, order frequency, unit price and order dollar volume), and give a set of procedures guaranteed to yield optimal solutions whenever the model is feasible. G€ uder et al. [6] extend the work of Pirkul and Aras (single linear constraint, heuristic solution) to incremental discounts. In this paper, we adapt our previous work to accommodate incremental discounts. In subsequent sections, we present our model, discuss how to determine individual EOQs in the presence of
incremental discounts, develop algorithms for the jointly constrained case, and offer numerical examples, based on problem data used in [16]. All propositions from [16] again apply; since their proofs require a few minor modifications, we cite the propositions as they arise but omit the proofs. We prove a new proposition, relating to the calculation of EOQs under incremental discounts, in the Appendix A.
2. The primal problem 2.1. Notation Throughout this paper, bold print signifies vectors and sets, and capital letters signify model parameters. We consider a problem involving I items. Item i has Ri quantity ranges, with higher quantities charged lower prices. Fractional order quantities are permitted. The use of an identical number of price ranges for every item is strictly a matter of notational convenience. A sequence Qi;1 < Qi;2 < < Qi;Ri of quantity breakpoints is given for the ith item, where Qi;1 is a (positive) minimum order quantity for item i, along with a sequence Pi;1 > Pi;2 > > Pi;Ri of prices, such that price Pi;r is charged for each unit of item i in the interval ½Qi;r ; Qi;rþ1 Þ. Qi;Ri þ1 denotes the (finite) maximum allowable order quantity for item i, to which the unit price Pi;Ri is extended. We designate by Pi ðqi Þ the total price charged for an order of qi units of item i. Fig. 1 shows such a price function (with the item subscript i omitted). The annual demand for item i is denoted Di . Each order for item i incurs a setup cost Si . Holding one unit of item i in inventory for one year costs Hi times the average price paid for that unit (which is Pi ðqi Þ=qi when the order size is qi ). We require that Di and Si be positive and that Hi be nonnegative. We make several assumptions typical of EOQ models: demand occurs at a constant rate; replenishment lead-times are constant (and therefore can be neglected); stock-outs are not permitted. The problem is to find fixed order sizes qi for every item i that collectively minimize the total annual sum of purchase, order placement and in-
P.A. Rubin, W.C. Benton / European Journal of Operational Research 149 (2003) 557–570
559
with the parameters a, b, c, d and b all nonnegative. We denote the bracketed quantity by gci ðqi Þ, the left-hand side of constraint c by gc ðqÞ, and the left- and right-hand sides of system (1) by gðqÞ and b. The total annual cost of order vector q is f ðqÞ ¼
I X
fi ðqi Þ;
i¼1
where fi ðqi Þ ¼
Di Si Pi ðqi Þ Hi þ Di þ Pi ðqi Þ: qi qi 2
ð2Þ
2.2. Model The primal problem is to select q to minimize f ðqÞ; s:t:
Fig. 1. Order price functions (bold curve is P ðqÞ).
ventory holding costs. Other expenses, such as transportation or material inspection, can easily be added to the model if they are proportional to the size (either number of units or purchase cost) of an order, the frequency of orders, or the average price paid. In addition to the limits on individual order sizes, there are C constraints placed on the order quantities. The constraints must be upper bounds on nonnegatively weighted sums of order quantities qi , order frequencies 1=qi , average unit prices Pi ðqi Þ=qi , and total purchase costs Pi ðqi Þ. Constraints may involve multiple items. The system of constraints is thus I X aci i¼1
qi
þ bci qi þ cci
ðc ¼ 1; . . . ; CÞ;
Pi ðqi Þ þ dci Pi ðqi Þ 6 bc qi ð1Þ
gc ðqÞ 6 bc ðc ¼ 1; . . . ; CÞ; Qi;1 6 qi 6 Qi;RðiÞþ1 ði ¼ 1; . . . ; IÞ:
ð3Þ
Discounts for each item depend only on the periodic order quantity for that item, not on cumulative orders nor on orders for other items. Setup costs must be strictly positive; if zero, they can be replaced with an arbitrarily small positive value with negligible loss in accuracy. Finally, to assure that the dual problem considered below is bounded, we assume that a feasible solution q# exists that satisfies all constraints as strict inequalities ðgc ðq# Þ < bc ; c ¼ 1; . . . ; CÞ. If the problem is feasible but no such solution q# exists, one can be had by making small perturbations to the bc parameters. The presence of incremental quantity discounts means that the objective function f ð Þ and constraint functions gc ð Þ are not convex, although they are continuous. Continuity guarantees that the primal problem has an optimal solution. From [16]: Proposition 1. The primal problem (3) has an optimal solution. Since f ð Þ is separable, the problem of minimizing f ðqÞ subject only to range limits on q is quite easy to solve. The constraints gðqÞ 6 b make problem (3) computationally difficult, however. A
560
P.A. Rubin, W.C. Benton / European Journal of Operational Research 149 (2003) 557–570
brute force approach would be to solve each restriction of the primal obtained by fixing the quantity range for every item. Within a particular quantity range, each price function Pi ð Þ is linear, making the restricted f ð Þ andQgð Þ strictly convex. This would allow us to solve Ii¼1 Ri subproblems, each the minimization of a strictly convex objective function over a hyperrectangle subject to C strictly convex constraints. The number of combinations makes this approach undesirable for even modest values of R and I.
3. Incremental discounts Before attempting to solve problem (3), we need to examine the process of finding an unconstrained EOQ for a single item in the presence of incremental discounts. Dropping the item subscript i, suppose that price Pr is charged for each unit ordered in excess of Qr and below Qrþ1 . We consider a general cost function of the form a P ðqÞ þ dP ðqÞ; f ðqÞ ¼ þ bq þ c q q
ð4Þ
where a, b, c and d are nonnegative constants and P ðqÞ is the total price for an order of size q ðQ1 6 q 6 QRþ1 Þ, given recursively by 9 8 if q ¼ Q1 ; > > = < P1 Q1 ; P ðqÞ ¼ P ðQr Þ þ Pr ðq Qr Þ > > ; : ¼ Pr q þ Wr ; if Qr < q 6 Qrþ1 ; where Wr ¼ P ðQr Þ Pr Qr (see Fig. 1). The traditional annual cost function (2) fits the form of (4) with a ¼ DS, b ¼ 0, c ¼ D and d ¼ H =2. We assume that at least a and d are strictly positive. Let us extrapolate the price function for a particular quantity range to the entire domain by defining P ðrÞ ðqÞ ¼ Pr q þ Wr
8q 2 ½Q1 ; QRþ1
ð5Þ
(see Fig. 1). Let f ðrÞ ðqÞ denote the total cost function given by (4) with P ðrÞ ð Þ replacing P ð Þ. Note that f ðqÞ ¼ f ðrÞ ðqÞ when Qr 6 q < Qrþ1 . It is known [7] that, in the standard EOQ model, each total cost function f ðrÞ ð Þ is strictly convex, with a unique minimizer qr (Fig. 2), which we term a
Fig. 2. Annual cost functions (bold curve is f ðqÞ).
conditional EOQ. Moreover, in the traditional model (Q1 ¼ 0 and QRþ1 ¼ 1), the quantity q that minimizes f ð Þ must be a ‘‘feasible EOQ’’; that is, q ¼ qr for some r, with Qr 6 qr < Qrþ1 . Our situation requires some minor (and obvious) modifications: use Q1 in place of q1 if q1 < Q1 and QRþ1 in place of qR if qR > QRþ1 . With these changes, the same results apply to our more general cost function (4). Proposition 2. The following statements all hold true. (a) Each cost function f ðrÞ ð Þ is strictly convex over ½Q1 ; QRþ1 , with a unique minimizer qr . (b) For r ¼ 1; . . . ; R, ( (sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi )) a þ cW r ; QRþ1 qr ¼ max Q1 ; min : b þ dPr ð6Þ
P.A. Rubin, W.C. Benton / European Journal of Operational Research 149 (2003) 557–570
(c) If q minimizes f ð Þ over ½Q1 ; QRþ1 , then q ¼ qr for some r such that Qr 6 qr < Qrþ1 . Proof. A proof of Proposition 2 appears in Appendix A. In the traditional case, with cost function (4) and quantity domain ð0; 1Þ, the optimal order quantity q is known to be a feasible EOQ, so the standard approach [7,8] is to calculate a conditional EOQ qr for each r, drop qr if it does not fall in the corresponding interval ½Qr ; Qrþ1 , and select from the surviving conditional EOQs one with least total cost. The same process works with our more general cost function and finite domain, using our modified formula for qr . We can obtain a small gain in efficiency by mimicking the modification introduced by Rubin et al. [17] to the allunits discounted EOQ algorithm. We begin by noting that, as in the all-units case, the conditional EOQs with incremental discounts form a monotone sequence: q1 6 q2 6 6 qR . This follows immediately from equation (6): if r < s, then Pr > Ps and Wr < Ws (Fig. 1), so sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi a þ cWr a þ cWs < : b þ dPr b þ dPs Consequently, we can modify the search for q to avoid computing some conditional EOQs, as follows: (1) Set r :¼ R and fopt :¼ 1. (2) Compute qr according to (6). If qr < Qr , go to step 5. (3) Compute fr :¼ f ðqr Þ. If fr < fopt , set fopt :¼ fr and q :¼ qr . (4) If r ¼ 1, stop; otherwise, reduce r by 1 and go to step 2. (5) Find s ðs < rÞ such that Qs 6 qr < Qsþ1 . Set r :¼ s. Go to step 2. The reduction in computation achieved by this adjustment is trivial when solving a single EOQ problem, but may have a meaningful cumulative effect if calculating EOQs repeatedly in an iterative scheme with a significant number of price breaks.
561
4. The dual problem We approach the primal problem by forming a partial dual, or partial Lagrangean relaxation, relaxing the functional constraints while retaining the domain restrictions. 4.1. Notation To each constraint c, we assign a nonnegative Kuhn–Tucker multiplier kc ðc ¼ 1; . . . ; CÞ. The augmented cost function for item i is fi ðqi ; kÞ ¼ fi ðqi Þ þ
C X
kc gci ðqi Þ:
c¼1
Observe that fi ð; kÞ has the form of the generalized cost function (4), and in particular is strictly convex over each quantity range. The Lagrangean function for item i is /i ðkÞ ¼
min
Qi1 6 qi 6 Qi;Ri þ1
fi ðqi ; kÞ;
ð7Þ
and the full Lagrangean (dual) function is /ðkÞ ¼
I X
/i ðkÞ
i¼1
C X
kc bc :
c¼1
We denote by Qi ðkÞ the set of all qi Q optimal in (7) and by QðkÞ the Cartesian product Ii¼1 Qi ðkÞ. 4.2. Model The dual problem is to select k to maximize
/ðkÞ;
s:t:
k P 0:
ð8Þ
Propositions 3–5 of Rubin and Benton [16] again apply.
Proposition 3. The Lagrangean function /i ð Þ for item i is concave. Proposition 4. The full Lagrangean function /ð Þ is concave. Proposition 5. The dual problem has an optimal solution.
562
P.A. Rubin, W.C. Benton / European Journal of Operational Research 149 (2003) 557–570
Computation of QðkÞ is straightforward: each augmented cost function fi ð; kÞ can be individually minimized over its domain ½Qi1 ; Qi;Ri þ1 to determine Qi ðkÞ, using the single-item EOQ algorithm discussed above. It is possible that there may be several minimizers of fið; kÞ, each in a different quantity interval. We provide an example in the next section. To handle multiple optima, we need to modify the calculation of single-item EOQs to select all least costly quantities, which leads to the sets Qi ðkÞ and QðkÞ containing more than one point each. When QðkÞ is a singleton fq g, /ð Þ is differentiable at k with gradient gðq Þ b, the constraint surplus generated by q . When QðkÞ is not a singleton, /ð Þ is not differentiable at k, but does have directional derivatives in all directions, as shown by Propositions 6 and 7 from Rubin and Benton. Proposition 6. The directional derivative of /ð Þ at k in the direction g is 0
r/ðk; gÞ ¼ min ½gðqÞ b g: q2QðkÞ
Proposition 7. If QðkÞ is a singleton fq g, then /ð Þ is differentiable at k with gradient 0
r/ðkÞ ¼ ½gðq Þ b :
ð9Þ
5. Primal solutions and duality gaps Solving the dual problem (8) produces an optimal solution to the primal problem (3). Propositions 8–10 of Rubin and Benton [16] remain valid. Proposition 8. For any q feasible in (3) and any k P 0, /ðkÞ 6 f ðqÞ. Proposition 9. If, for any k, some q 2 QðkÞ is feasible in (3), and they satisfy the complementary slackness condition
Proposition 10. If k is optimal in (8) and Qðk Þ is the singleton fq g, then q is an optimal solution to (3). As with all-units discounts, the existence of multiple optimal solutions to the relaxed subproblem (7) for any item i when k ¼ k raises the possibility of a duality gap. A duality gap requires that the optimal dual vector k yield multiple primal vectors q 2 Qðk Þ, such that no single q satisfies both primal feasibility and complementary slackness. Presence of a duality gap implies failure of the dual solution to yield an optimal (feasible) solution to the primal problem. 5.1. Example We present an example of a duality gap. There is a single item ðI ¼ 1Þ with three price ranges ðR ¼ 3Þ and two constraints ðC ¼ 2Þ. We omit item subscripts ðiÞ throughout the example. The quantity breaks are at Q1 ¼ 1, Q2 ¼ 500 and Q3 ¼ 1000, with corresponding prices P1 ffi 1:09935, 1 P2 ¼ 1:08 and P3 ¼ 1. The upper bound on order size is Q4 ¼ 10;000. Cost parameters are demand D ¼ 1000, setup cost S ¼ 10, and holding cost rate H ¼ 0:1. Constraints limit the order frequency and order size: 1 6 0:00125; q q 6 1; 000: The feasible region is the interval [800, 1,000], which lies entirely between Q2 and Q3 . In that range, f ð Þ ¼ f ð2Þ ð Þ is increasing, since the minimum of f ð2Þ ð Þ is at q2 ¼ 603:63. Thus the primal optimum occurs at q ¼ 800, with total cost 1148. The conditional EOQs for all three prices (426.53, 603.63 and 1411.92) lie within the corresponding quantity ranges, with respective costs 1146.24, 1145.68 and 1145.68. Thus the second and third conditional EOQs are both in Qð0; 0Þ. Neither conditional EOQ satisfies both primal constraints, however; their slack (surplus) vectors are
0
½gðq Þ b k ¼ 0; then q is an optimal solution to (3).
1
pffiffiffi More precisely, P1 ¼ ð10; 916 5985 3Þ=500.
P.A. Rubin, W.C. Benton / European Journal of Operational Research 149 (2003) 557–570
þ4:0665 104 gð603:63Þ b ¼ ; 396:37 and
gð1411:92Þ b ¼
5:4175 104 : þ411:92
In light of Proposition 6, for g to be a feasible 0 direction of improvement of /ð Þ at ð0; 0Þ it must satisfy minf4:0665 104 g1 396:37g2 ; 5:4175 104 g1 þ 411:92g2 g > 0; which is impossible. Therefore /ð Þ is maximal at 0 ð0; 0Þ , with dual value /ð0; 0Þ ¼ 1145. Note the gap between the primal and dual objective values.
6. Algorithms The algorithms developed in [16] for the case of all-units discounts again apply, with the only necessary change being replacement of the Rubin– Dilts–Barron procedure for computing single-item EOQs under all-units discounts with the procedure discussed above for the case of incremental discounts. We summarize those algorithms below. For more details see [16]. 6.1. Relaxation algorithm The first step in solving primal problem (3) is to solve the dual problem (8). In our experience, this has proven to be a very tractable problem. We use a method due to Zoutendijk [20] to generate feasible directions of ascent for /ð Þ, and use bisection search along those directions to find improved multipliers. The relaxation algorithm terminates when no feasible ascent direction is found at the current k, or when at the current point k some primal vector qðkÞ 2 QðkÞ satisfies the complementary slackness condition. The current value of k is optimal in the dual in either case; with complementary slackness, the corresponding qðkÞ is optimal in the primal and we are done. The dual objective value provides a lower bound for the primal objective value. We compare it to the value
563
of f ð Þ at the best feasible solution encountered (if any) by the relaxation algorithm; if the difference is not trivial, or if no feasible solution was found, we suspect a duality gap and apply the next algorithm. 6.2. Partial enumeration algorithm To bridge a duality gap, we employ partial enumeration. We first form a list of all combinations of quantity ranges (one for each item), calculating for each combination the sum of the smallest annual costs for all items (taken over their respective ranges and ignoring any constraints). The sum is a lower bound for the total cost of any feasible q taken from the Cartesian product of those ranges, so any combination whose sum is not less than the incumbent value of f ð Þ (which is 1 if no feasible q has been found so far) holds no potential to improve on the incumbent solution and may be dropped. We determine the smallest item costs by applying the conditional EOQ formula (6) to each item, changing the lower and upper limits appropriately. Construction of the list is itself a combinatorial problem, and we use a recursive branch-andbound procedure, described in [16], to do it. We made one improvement to that procedure following its publication. Since the constraints gc ð Þ have the same functional form as f ð Þ, we can calculate, for each item and range, not only its least possible contribution to f ð Þ but also its least possible contribution to each gc ð Þ. During construction of the list, we eliminate not only combinations for which the sum of contributions to f ð Þ would exceed the incumbent value of f ð Þ, but also those for which the sum of contributions to any gc ð Þ would exceed the corresponding right-hand side bc . This produces shorter search lists than the original procedure, and as a side-effect reduces the frequency with which combinations are eliminated by the ‘‘weak duality check’’ described in [16]. Having constructed the list of candidate combinations, we sort it into ascending order according to the lower bound on total cost. We now process each combination in turn, removing it from the list and applying the relaxation algorithm to the restriction of (3) to that combination of
564
P.A. Rubin, W.C. Benton / European Journal of Operational Research 149 (2003) 557–570
quantity ranges. The restricted problem has no discounts, so f ð Þ and gð Þ are convex and solutions are unique. Thus the relaxation algorithm is certain to find an optimal q for that restriction if it is feasible. If, in any iteration of the relaxation algorithm, the current value of the dual function /ð Þ exceeds the incumbent value of f ð Þ, we can terminate the dual algorithm and drop that combination. Should the dual algorithm produce a feasible q with f ðqÞ less than the incumbent value, we record f ðqÞ as the new incumbent, and remove from the search list any combination whose lower bound is no smaller than the new incumbent. We repeat this until the search list is empty. 6.3. Feasibility test Although we have assumed that primal problem (3) has a feasible region with nonempty interior, in practice an infeasible problem might be posed. The following procedure locates a primal-feasible solution if one exists. We begin with an infeasible q, which can be the last solution generated by the relaxation algorithm or the Cartesian product of the unconstrained single-item EOQs. We loosen the right-hand sides b of the constraints just enough to allow this solution to satisfy the constraints, select the most violated constraint function gc ð Þ, and make that the objective function. Recall that gc ð Þ has the same general form as f ð Þ. Next, we apply the relaxation algorithm, and if necessary the partial enumeration algorithm, to the problem of minimizing gc ð Þ subject to the loos-
ened constraints. This determines the minimum value of gc ð Þ consistent with the loosened constraints. If that value is greater than bc , the original primal problem is infeasible. Otherwise, we adopt the primal solution q just obtained as our starting point, tighten the right-hand sides b back to the greater of their original values and gðqÞ, select the most violated constraint and repeat the process. In at most C steps we will either find a feasible solution q to the original problem or discover that the problem is infeasible. In the interest of efficiency, we exit the relaxation algorithm (either in its first application or in its use within the partial enumeration procedure) any time that the dual objective function /ð Þ exceeds the right-hand side bc of the constraint being probed, since that guarantees that the constraint cannot be satisfied simultaneously with the other (loosened) constraints.
7. Examples To demonstrate the use of our suite of algorithms, we apply them to the same problems used in [16], with the discounted prices now applying incrementally. The first example has ten items and three ranges. We solve it for each of three vendors. Each vendor uses the same quantity breakpoints for all discounted items. Tables 1 and 2 give the problem parameters. The order setup cost is $5 per order for every item, and the annual inventory carrying cost for every item is 100% of the average
Table 1 Price data for Benton Example Item
1 2 3 4 5 6 7 8 9 10
Vendor 1
Vendor 2
Vendor 3
1–149
150–199
200–9999
1–99
100–199
200–9999
1–49
50–199
200–9999
2.50 9.50 4.75 5.00 1.00 4.20 5.55 2.00 9.45 8.28
2.00 9.00 4.50 5.00 1.00 3.90 5.10 1.80 8.20 7.60
1.75 8.50 3.75 5.00 1.00 3.60 4.80 1.45 7.59 6.78
2.10 10.00 4.25 4.60 1.00 4.00 5.00 3.60 8.20 8.00
1.70 10.00 3.85 4.25 1.00 3.45 4.75 3.60 7.56 6.90
1.35 10.00 3.20 4.10 1.00 3.00 4.10 3.60 6.90 6.00
2.70 9.82 4.90 4.60 .90 4.40 5.85 3.00 12.30 9.20
2.30 9.25 4.50 4.30 .75 4.25 5.36 2.85 11.30 9.00
1.90 8.75 3.70 3.90 .60 4.00 5.00 2.60 10.00 8.88
P.A. Rubin, W.C. Benton / European Journal of Operational Research 149 (2003) 557–570
565
Table 2 Parameters for Benton Example Item (i)
Annual demand ðDi Þ units/year
Order setup ðSi Þ $/order
Holding cost ðHi Þ $ cost/$ stock
Physical volume ðb1i Þ cubic feet/unit
Budget charge ðd2i Þ $ cost/$ purchase
1 2 3 4 5 6 7 8 9 10
600 900 2400 12,000 18,000 3000 2500 180 50 146
5 5 5 5 5 5 5 5 5 5
1 1 1 1 1 1 1 1 1 1
1.00 1.50 0.50 2.00 1.00 1.00 0.50 0.20 0.25 0.50
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
dollar value of inventory. There are two constraints on the order quantities: the combined volumes of one order for each item may not exceed storage capacity (initially 2350 cubic feet); and the combined annual inventory cost of all items cannot exceed a budget (initially $3010). Tables 3 and 4 show the result of applying our algorithms to each vendor. Tables 5 and 6 show results for a second scenario, with available space reduced to 1350 cubic feet, while Tables 7 and 8 show results for a third scenario, with the original space capacity but a reduced inventory budget of $2010. The upper portions of Tables 4, 6 and 8 pertain to the relaxation algorithm, and the lower portions to the partial enumeration algorithm. The number of EOQ computations serves as an indicator of workload. As usual, the precision of the solutions
Table 4 Performance on BentonÕs Example (space ¼ 2350; budget ¼ 3010) Vendor 1
Vendor 2
Vendor 3
Total primal cost Binding constraints # of EOQs checked Dual cost Duality gap
$129,325 Budget 505 $129,325 0%
$116,889 None 507 $116,617 0.23%
$114,275 Space 5325 $114,262 0.01%a
Search list size # of cases solved # of cases fathomed by bound # of cases fathomed by weak duality Total primal cost Binding constraints # of EOQs checked Remaining gap
N/A N/A N/A
95 60 35
N/A N/A N/A
N/A
0
N/A
N/A N/A N/A N/A
$116,665 Budget 19,690 0.04%
N/A N/A N/A N/A
a
This gap, which might be due to rounding and truncation error, was deemed too small to bother closing. Table 3 Solution to BentonÕs Example (space ¼ 2350; budget ¼ 3010) Item
Vendor 1
Vendor 2
Vendor 3
1 2 3 4 5 6 7 8 9 10
38.98 24.49 394.93 123.26 337.55 340.66 295.58 23.87 5.79 10.56
41.02 23.02 393.16 491.21 325.56 420.30 54.26 17.16 5.99 10.37
78.13 22.65 368.87 524.89 833.69 96.69 126.79 18.91 5.01 9.77
Total cost Space used Budget used
$129,325 1357 $3010
$116,665 2038 $3010
$114,275 2350 $2989
and the work involved in finding them is influenced by several arbitrary parameter settings within the algorithms, including the initial choice of multipliers, the iteration limits and convergence criteria for searches, and the numerical accuracy of the software used. Of the nine problems (three scenarios, three vendors), four produced duality gaps on the order of one-quarter of 1%, while two other cases produced gaps too small (0.01%, 0.002%) to be worth pursuing and the remaining three cases produced no gaps. The worst computational load was incurred with the second vendor in the reduced budget scenario: the partial
566
P.A. Rubin, W.C. Benton / European Journal of Operational Research 149 (2003) 557–570
Table 5 Solution to BentonÕs Example (space ¼ 1350; budget ¼ 3010)
Table 7 Solution to BentonÕs Example (space ¼ 2350; budget ¼ 2010)
Item
Vendor 1
Vendor 2
Vendor 3
Item
Vendor 1
Vendor 2
Vendor 3
1 2 3 4 5 6 7 8 9 10
38.80 24.55 396.18 122.70 330.39 340.31 296.76 23.97 5.82 10.62
23.55 19.45 328.54 279.21 136.87 276.01 301.94 17.81 6.69 10.57
21.48 18.87 316.75 312.96 374.63 71.79 118.46 18.86 5.80 10.09
1 2 3 4 5 6 7 8 9 10
32.45 20.39 328.78 102.61 281.01 283.60 44.45 19.87 4.82 8.80
33.78 18.96 47.48 404.48 268.08 346.09 44.68 14.13 4.93 8.54
26.21 16.83 90.79 436.16 887.85 73.86 92.23 13.62 3.54 7.00
Total cost Space used Budget used
$129,325 1350 $3010
$117,721 1350 $2691
$116,733 1350 $2183
Total cost Space used Budget used
$130,025 1029 $2010
$118,167 1540 $2010
$115,720 1984 $2010
Table 6 Performance on BentonÕs Example (space ¼ 1350; budget ¼ 3010)
Table 8 Performance on BentonÕs Example (space ¼ 2350; budget ¼ 2010)
Vendor 1
Vendor 2
Vendor 3
Vendor 1
Vendor 2
Vendor 3
Total primal cost Binding constraints # of EOQs checked Dual cost Duality gap
$129,690 none 986 $129,325 0.28%
$117,721 space 3429 $117,719 0.002%a
$116,733 space 692 $116,733 0%
Total primal cost Binding constraints # of EOQs checked Dual cost Duality gap
$130,385 None 486 $130,012 0.29%
$118,427 None 507 $118,132 0.25%
$115,720 Budget 642 $115,720 0%
Search list size # of cases solved # of cases fathomed by bound # of cases fathomed by weak duality Total primal cost Binding constraints
34 1 33
N/A N/A N/A
N/A N/A N/A
164 60 104
277 216 61
N/A N/A N/A
0
N/A
N/A
0
0
N/A
$129,325 Space, budget 620 0%
N/A N/A
N/A N/A
N/A N/A
N/A N/A
Search list size # of cases solved # of cases fathomed by bound # of cases fathomed by weak duality Total primal cost Binding constraints # of EOQs checked Remaining gap
$130,025 Budget 11,920 0.01%
$118,167 Budget 45,600 0.03%
N/A N/A N/A N/A
# of EOQs checked Remaining gap
a This gap, which might be due to rounding and truncation error, was deemed too small to bother closing.
enumeration search list held 277 (of a possible 6561) combinations, of which 216 were solved (the remaining 61 being fathomed based on their lower bounds). Data for the second example is given in Tables 9 and 10. The price schedules and product parameters were obtained from a Fortune 500 firm. Constraints limit the combined physical volume of single orders for all items to at most 35,000 cubic feet, the total annual inventory holding cost to at most $60,000, and the total
number of orders placed for all items in one year to at most 140. There are over 393,000 price combinations for the first vendor, over 12.5 million for the second vendor, and over 78,000 for the third vendor. Solutions are shown in Tables 11 and 12. Interestingly, while the relaxation algorithm failed to locate a feasible solution for any of the vendors, it produced very tight lower bounds for the optimal primal cost (within 0.01%) in two cases. The procedure for testing feasibility located good solutions (within approximately 1.5% of optimal) for all three problems. The partial enumeration algorithm twice found improved solu-
P.A. Rubin, W.C. Benton / European Journal of Operational Research 149 (2003) 557–570
567
Table 9 Price data for Fortune 500 firm Item
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Vendor 1
Vendor 2
Vendor 3
1–599
600–999
1000– 1999
2000– 9999
1–899
900– 1499
1500– 2499
2500– 9999
1–1499
1500– 2499
2500– 9999
35.50 44.20 18.79 21.45 11.69 5.25 6.83 12.80 16.00 25.40 4.50 2.89 8.22 10.00 41.20
33.72 44.20 18.41 21.35 11.57 5.25 6.76 12.60 15.60 25.40 4.50 2.89 8.22 9.75 41.10
31.45 39.98 18.03 21.23 11.51 5.25 6.69 12.41 15.20 25.40 4.50 2.89 8.22 9.50 41.07
28.50 39.98 17.85 21.12 11.39 5.25 6.69 12.22 14.40 25.40 4.50 2.89 8.22 9.00 41.00
34.00 45.50 19.50 22.00 11.50 5.26 6.00 12.45 14.00 26.20 4.85 3.40 8.69 10.00 42.10
32.70 43.22 18.91 21.67 11.38 5.26 6.00 12.32 14.00 25.67 4.78 3.20 8.47 9.25 41.67
30.00 40.95 18.33 21.34 11.32 5.26 6.00 12.20 14.00 25.41 4.60 3.00 8.25 9.00 41.26
28.80 40.00 17.74 21.01 11.27 5.26 6.00 12.07 14.00 25.20 4.48 2.89 8.17 9.00 41.00
33.75 45.00 22.40 21.92 11.25 5.18 7.12 11.90 15.40 28.00 5.00 3.26 9.40 10.00 41.00
30.00 40.50 20.18 21.70 11.25 5.18 6.97 11.90 14.93 26.60 4.75 2.93 8.93 9.00 41.00
27.80 40.50 17.92 21.00 11.25 5.18 6.70 11.90 14.24 25.50 4.50 2.86 8.46 9.00 41.00
Table 10 Parameters for Fortune 500 firm Item (i)
Annual demand ðDi ¼ a3i Þ units/year
Order setup ðSi Þ $/order
Holding cost ðHi Þ $ cost/$ stock
Physical volume ðb1i Þ cubic feet/unit
Budget charge ðd2i Þ $ cost/$ purchase
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
12,500 5012 10,100 15,320 22,300 14,500 5180 3250 7330 18,240 8942 9640 3060 11,200 5640
125 125 125 125 125 125 125 125 125 125 125 125 125 125 125
0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36 0.36
2.00 1.50 1.00 2.00 3.00 2.00 1.75 1.25 0.50 0.25 1.35 1.69 2.00 1.10 0.90
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
tions within 0.01% of the dual bound; with the third vendor, a duality gap of about 0.16% developed. We stopped the partial enumeration procedure when it located a feasible solution whose objective value was within 0.01% of the dual bound. Consequently, the solutions reported for the first two vendors might be very slightly suboptimal. Even with cheating, the branch-and-
bound procedure constructed search lists with lengths 8427 to 18,895. Only small fractions (3.6% and 5.8% respectively) of the first two lists were solved, the remainder being eliminated based on lower bounds. The bulk of the third list, however, was solved, because the actual gap (0.16%) was close to the guess (0.20%) used in forming the list.
568
P.A. Rubin, W.C. Benton / European Journal of Operational Research 149 (2003) 557–570
Table 11 Solution to Fortune 500 Example (space ¼ 35; 000; budget ¼ 60; 000; delivery limit ¼ 140) Item
Vendor 1
Vendor 2
Vendor 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
4225.12 316.89 1401.43 1094.93 1678.68 1563.91 904.04 601.52 1325.62 797.45 1326.54 1718.69 574.16 2934.47 348.18
3874.45 274.67 1239.15 1161.97 1719.86 1374.07 768.96 422.84 598.83 1748.83 2000.28 3559.65 491.10 2498.27 302.91
3503.59 361.21 726.76 904.82 1523.81 1810.81 923.17 565.62 746.70 2045.80 1965.51 3041.77 617.52 2417.00 401.42
Total cost Space used Budget used Orders placed
$2,618,250 33,262 $60,000 139.76
$2,643,300 34,962 $60,000 139.93
$2,711,291 33,535 $60,000 132.36
Table 12 Performance on Fortune 500 Example (space¼35;000; budget¼ 60;000; deliverylimit¼140) Vendor 1
Vendor 2
Vendor 3
Total primal costa Binding constraints # of EOQs checkedb Dual cost Duality gap
$2,656,910 None 15,109 $2,618,150 1.46%
$2,672,090 None 14,646 $2,643,170 1.08%
$2,748,050 None 8573 $2,706,770 1.50%
Search list size # of cases solved # of cases fathomed by bound # of cases fathomed by weak duality Total primal cost Binding constraints
8427c 303 8124
11,225d 649 10,576
18,895e 17,502 1392
0
0
1
$2,618,250 budget, deliveries 222,420 0.004%
$2,643,300 budget, deliveries 541,185 0.005%
$2,711,291 budget
# of EOQs checked Remaining gap
668,939 0.16%
a Solution was found by the feasibility test algorithm in all three cases. b Includes both the relaxation algorithm and the feasibility test. c Generated by cheating with an ‘‘incumbent’’ cost of $2,621,000. d Generated by cheating with an ‘‘incumbent’’ cost of $2,644,490. e Generated by cheating with an ‘‘incumbent’’ cost of $2,712,180.
8. Conclusions In this paper, we have developed algorithms to solve the jointly constrained EOQ problem with incremental quantity discounts. This problem proved to be no more and no less tractable than its counterpart with all-units discounts. In fact, the procedures that solve the all-units discounts problem also, with appropriate modifications, solve the incremental discounts problem. We have pursued optimality in the numerical examples, via the partial enumeration procedure, until gaps between the primal and dual solutions were extremely small (always well under 1%, and usually below 0.05%). This was done for demonstration purposes, not because we recommend it in practice. The constrained EOQ model is based on many simplifying assumptions (steady demand rate, prices constant over time) and estimated parameters (demand, holding cost, order placement cost). The order quantities optimal in the model typically are not integers, and must be rounded. In the face of this inexactness, it is illogical to expend significant time and effort generating a solution that is ‘‘optimal’’ to five or six significant digits. We would generally expect the best feasible solution produced by the relaxation algorithm (or, if necessary, the feasibility test procedure), after rounding, to be good enough for use. Only a large duality gap would prompt us to use the partial enumeration algorithm. Based on our experience with both the incremental and all-units cases, we offer two conjectures. The first is that, given typical values for the parameters (in particular, the setup and holding costs), the primal objective function f ð Þ is likely to be rather flat. We repeatedly encountered primal solutions with dissimilar order vectors whose objective values were very close to each other. This makes it easy to get ‘‘good’’ solutions but difficult to find ‘‘optimal’’ ones (since, in the partial enumeration procedure, many price combinations offer bounds too close to the dual value to fathom). Our second conjecture is that the dual bound generated by the relaxation algorithm is typically very tight. This was the case in the examples presented here and in the earlier paper. In the twelve examples reported here, the worst gaps
P.A. Rubin, W.C. Benton / European Journal of Operational Research 149 (2003) 557–570
between primal and dual optima encountered were below 0.2%, and only once did the ultimate gap exceed 0.05%. In summary, simultaneous order quantities for multiple items, offered with separate incremental discounts and subject to joint resource constraints, can be calculated efficiently using a combination of Lagrangean relaxation and, as needed, partial enumeration. The incremental discounts case suffers the hindrance of duality gaps in the same manner that the all-units discounts case does.
Appendix A. Proof of Proposition 2 (a) Substituting (5) into (4), f ðrÞ ðqÞ ¼
a þ cWr þ ðcPr þ dWr Þ þ ðb þ dPr Þq: q ðA:1Þ
Since the first Qr units are bought at prices greater than Pr , Wr ¼ P ðQr Þ Pr Qr > 0; and so all coefficients of (A.1) are positive. Therefore f ðrÞ ð Þ is strictly convex. Since f ðrÞ ð Þ is continuous on the closed interval ½Q1 ; QRþ1 , it has a minimizer qr ; strict convexity of f ðrÞ ð Þ makes that minimizer unique. (b) Eq. (6) follows directly from the convexity of f ðrÞ ð Þ, the first order conditions for its minimum (setting the first derivative of (A.1) with respect to q equal to zero), and the domain restriction q 2 ½Q1 ; QRþ1 . (c) It is known (see Fig. 1) that P ðsÞ ðqÞ 6 P ðrÞ ðqÞ ðr 6¼ sÞ whenever q 2 ½Qs ; Qsþ1 . Since a, b, c and d are nonnegative, it follows that f ðsÞ ðqÞ 6 f ðrÞ ðqÞ ðr 6¼ sÞ whenever q 2 ½Qs ; Qsþ1 . Now let q minimize f ð Þ over ½Q1 ; QRþ1 and suppose that Qr 6 q 6 Qrþ1 . Then f ðq Þ ¼ f ðrÞ ðq Þ P f ðrÞ ðqr Þ; with equality between f ðrÞ ðq Þ and f ðrÞ ðqr Þ only if q ¼ qr (since qr is the unique minimizer of f ðrÞ ð Þ). If q ¼ qr , then qr 2 ½Qr ; Qrþ1 and we
569
are done. Suppose to the contrary that q 6¼ qr . Clearly qr 2 ½Qs ; Qsþ1 for some s; but then by the preceding observation, f ðqr Þ ¼ f ðsÞ ðqr Þ 6 f ðrÞ ðqr Þ < f ðrÞ ðq Þ ¼ f ðq Þ; contradicting the choice of q as a minimizer of f ð Þ.
References [1] P.L. Abad, Determining optimal selling price and lot size when the supplier offers all-unit quantity discounts, Decision Sciences 19 (3) (1988) 622–634. [2] W.C. Benton, Multiple price breaks and alternative purchase lot sizing procedures in material requirements planning systems, International Journal of Production Research 23 (5) (1985) 1025–1047. [3] W.C. Benton, Quantity discount decisions under conditions of multiple items, multiple suppliers and resource limitations, International Journal of Production Research 29 (10) (1991) 1953–1961. [4] W.C. Benton, D.C. Whybark, Material requirements planning (mrp) and purchase discounts, Journal of Operations Management 2 (2) (1982) 137–143. [5] R.J. Dolan, Quantity discounts managerial issues and research opportunities, Marketing Science 6 (l) (1987) 1–22. [6] F. G€ uder, J. Zydiak, S. Chaudhry, Capacitated multiple item ordering with incremental quantity discounts, Journal of the Operational Research Society 45 (10) (1994) 1197– 1205. [7] G. Hadley, T.M. Whitin, Analysis of Inventory Systems, Prentice-Hall, Englewood Cliffs, NJ, 1963. [8] A.C. Hax, D. Candea, Production and Inventory Management, Prentice-Hall, Englewood Cliffs, NJ, 1984. [9] H. Hwang, D.H. Moon, S.W. Shinn, An eoq model with quantity discounts for both purchasing price and freight cost, Computers and Operations Research 17 (1) (1990) 73–78. [10] P.J. Kuzdrall, R.R. Britney, Total setup lot sizing with quantity discounts, Decision Sciences 13 (1) (1982) 101– 112. [11] R. Lal, R. Staelin, An approach for developing an optimal discount pricing policy, Management Science 30 (12) (1984) 1524–1539. [12] H.L. Lee, M.J. Rosenblatt, A generalized quantity discount pricing model to increase supplierÕs profits, Management Science 32 (9) (1986) 1177–1185. [13] J.P. Monahan, A quantity discount pricing model to increase vendor profits, Management Science 30 (6) (1984) 720–726. [14] H. Pirkul, O.A. Aras, Capacitated multiple item ordering problem with quantity discounts, IIE Transactions 17 (3) (1985) 206–211.
570
P.A. Rubin, W.C. Benton / European Journal of Operational Research 149 (2003) 557–570
[15] M.J. Rosenblatt, H.L. Lee, Improving profitability with quantity discounts under fixed demand, IIE Transactions 17 (4) (1985) 388–395. [16] P.A. Rubin, W.C. Benton, Jointly constrained order quantities with all-units discounts, Naval Research Logistics 40 (2) (1993) 255–278. [17] P.A. Rubin, D.M. Dilts, B.A. Barren, Economic order quantities with quantity discounts: Grandma does it best, Decision Sciences 14 (2) (1983) 270–281.
[18] R.J. Tersine, R.A. Toelle, Lot size determination with quantity discounts, Production and Inventory Management 26 (3) (1985) 1–23. [19] D.C. Whybark, Evaluating alternative quantity discounts, Journal of Purchasing and Materials Management 13 (2) (1977) 18–22. [20] G. Zoutendijk, Methods of Feasible Directions, Elsevier, Amsterdam, 1960.