Operations Research Letters 36 (2008) 103 – 109 Operations Research Letters www.elsevier.com/locate/orl Allocating procurement to capacitated suppliers with concave quantity discounts Gerard J. Burke a , Joseph Geunes b,∗ , H. Edwin Romeijn b , Asoo Vakharia c a Department of Finance and Quantitative Analysis, Georgia Southern University, Statesboro, GA 30460, USA b Department of Industrial and Systems Engineering, University of Florida, Gainesville, FL 32611, USA c Department of Information Systems and Operations Management, University of Florida, Gainesville, FL 32611, USA Received 3 November 2005; accepted 9 April 2007 Available online 30 June 2007 Abstract We consider a procurement problem where suppliers offer concave quantity discounts. The resulting continuous knapsack problem involves the minimization of a sum of separable concave functions. We identify polynomially solvable special cases of this NP-hard problem, and provide a fully polynomial-time approximation scheme for the general problem. © 2007 Elsevier B.V. All rights reserved. Keywords: Knapsack problem; Quantity discounts; Nonlinear programming; Approximation algorithms 1. Introduction and motivation Supplier selection and procurement allocation are key elements of supply chain management. Among surveyed purchasing professionals, quality and delivery terms rank as the top two evaluation criteria [7,18]. A purchasing manager is typically mandated to allocate requirements to one or more approved suppliers. Interestingly, past research [17] finds that purchase price often dominates allocation decisions. With this type of allocation behavior in mind and in accordance with internal production volume economies of scale, many suppliers market quantity discounts. When no single approved supplier can meet all material requirements, allocations must be made to multiple suppliers. When suppliers offer quantity discounts, the resulting allocation problem can be challenging. In its most general form, this problem is a continuous knapsack problem involving the minimization of the sum of separable concave functions. Motivated by this problem context, we study the resulting nonlinear and continuous knapsack problem. Since quantity discount schemes are widely used as a bargaining tool and as a means to coordinate supply and ∗ Corresponding author. Tel.: +1 352 392 1464x2012; fax: +1 352 392 3537. E-mail address: [email protected]fl.edu (J. Geunes). 0167-6377/$ - see front matter © 2007 Elsevier B.V. All rights reserved. doi:10.1016/j.orl.2007.04.001 demand [19], a substantial amount of related literature exists from economics, operations, and marketing perspectives. Economic motivation can be found in [3], while [1,8,12] provide excellent overviews of quantity discount research in operations and marketing. Related papers to our work include [4,6,9]. Burke et al. [4] examine supplier selection and quantity allocation decisions when suppliers offer constant, linear, incremental, and all-units discount pricing schemes. A branch-and-bound approach for a related piecewise linear concave cost problem can be found in [9]. In [6], a (differentiable) concave minimization problem is solved by employing a greedy heuristic solution approach based on the minimum total cost of sourcing at each supplier’s capacity limit. Surprisingly little literature exists on continuous knapsack problems involving separable concave minimization with upper bounds on variables. A notable exception is [11], which provides an algorithm for finding local minima. Recent work [15] considers specially structured continuous knapsack problems involving the minimization of a nonseparable concave function. A sizeable amount of literature also exists on methods for the more general class of constrained concave minimization (see, e.g., [13,14]), a class of NP-hard problems. For a recent comprehensive discussion of the literature on nonlinear knapsack problems, please see [2]. 104 G.J. Burke et al. / Operations Research Letters 36 (2008) 103 – 109 Our contributions are threefold. First, we provide a pseudopolynomial-time algorithm for concave separable minimization over a knapsack constraint. We show how the performance of this algorithm can be accelerated by exploiting the necessary generalized Karush–Kuhn–Tucker (KKT) conditions (see [10]). Second, we consider two practical special cases for which we provide polynomial-time solution approaches. Third, we provide a tailored fully polynomial-time approximation scheme (FPTAS) for the general problem, which we show is NP-hard. The remainder of this paper is organized as follows. Section 2 defines the problem, addresses its complexity, and provides a pseudopolynomial solution algorithm. Section 3 considers two practical special cases that lend themselves to polynomial-time solution. Section 4 provides an FPTAS for the general problem class. functions f˜i (qi ) (which provide lower bounds on the original functional values), and this adjustment is feasible because of the direction of the inequality in (2). The concavity of the objective (1) implies that an optimal extreme point solution exists, which implies that an optimal solution exists with at most one fractional variable, where a fractional variable is defined as a variable qi such that 0 < qi < ui (proof of this property is based on showing that all extreme points of the feasible region have at most one fractional variable; details can be found in [5]). In addition, the integrality of Q and ui for all i ∈ I and the fact that at most one fractional variable exists at any extreme point imply that all qi take integer values at optimality. In general, however, problem P(Q) cannot be solved in polynomial time unless P = NP, as the next proposition indicates. 2. Problem definition and pseudopolynomial solution approach Proposition 1. Problem P(Q) is NP-hard. Consider a manufacturer who requires a quantity Q (a nonnegative integer) of material for production, to be procured from a number of capacitated suppliers. We assume each supplier i ∈ I (where I = {1, . . . , N} is the set of N suppliers) uses a quantity discount pricing schedule, charging the manufacturer fi (qi ), where fi (qi ) is a nonnegative and concave function, and qi is the amount allocated to supplier i ∈ I . The capacity of supplier i is the nonnegative integer value ui , and we assume without loss of generality that fi (0)=0 for each supplier i ∈ I . All suppliers are equally qualified in terms of supply quality, and the manufacturer seeks to procure the required Q units at minimum total cost. This supplier allocation problem can be formulated as follows: P(Q) Minimize fi (qi ) (1) i∈I Subject to i∈I qi Q, 0 qi ui , (2) i ∈ I. (3) Because of the direction of the inequality in (2), we can, if necessary, redefine the cost functions as f˜i (qi ) = min{fi (qi ), fi (ui )}, and we can then assume without loss of generality that all cost functions are nondecreasing, where the redefined functions remain concave. We can therefore assume without loss of generality that fi (ui ) > 0 for all i ∈ I , because if any fi (ui ) = 0, then, using the redefined functions we have f˜i (qi ) = 0 for all 0 qi ui . We can then set qi = ui without loss of optimality and decrease the knapsack problem size accordingly. When all of the original fi (qi ) are nondecreasing, then an optimal solution exists for P(Q) such that (2) is satisfied at equality. When this is not the case, then this constraint is tight at optimality under our redefined functions f˜i (qi ), although we may then need to adjust the resulting qi values as follows. Let q̃i∗ denote the optimal value of qi when using the redefined functions f˜i (qi ). If f˜i (q̃i∗ ) < fi (q̃i∗ ) then let qi∗ , the optimal value of qi , equal ui . The objective function in terms of the original fi (qi ) is now equal to that under the redefined Proof. Consider the special case of P(Q) where for each i ∈ I , fi (0)=0 and fi (qi )=Ki for 0 < qi ui , where Ki > 0, and note that this function is concave and nonnegative for 0 qi ui . Clearly, an optimal solution exists such that for each i ∈ I , qi = 0 or ui . Thus, this problem is equivalent to solving min fi (ui )xi ui xi Q, xi ∈ {0, 1}, i ∈ I , i∈I i∈I which is a 0/1 knapsack problem, yielding the result. We next discuss a pseudopolynomial-time algorithm for solving P(Q). Pseudopolynomial-time algorithm: Given that there is at most one fractional variable, we can use the following approach. Suppose we arbitrarily select a variable and assume this variable is fractional. That is, given some variable n, we allow this variable to take values such that 0 qn un (where the inequalities allow for degenerate basic solutions). This implies that all other variables must take values at 0 or ui . Given some value of qn between 0 and un inclusive, say qn , then define f i = fi (ui ), and let Qn = Q − qn . We next solve the following 0/1 knapsack problem: KP(n, qn ) Minimize f i xi (4) i∈I \{n} Subject to ui xi Qn , (5) i∈I \{n} xi ∈ {0, 1}, i ∈ I \{n}. (6) Problem KP(n, qn ) can be solved in O(N Q) time in the worst case. There are N choices for n and un + 1 choices for the “fractional” value of qn . Letting U = maxi∈I {ui }, if we solve KP(n, qn ) for each possible (n, qn ) pair, the complexity of this approach for solving P(Q) is O(U N 2 Q). We can speed up the computational time required for solving P(Q) when the fi functions are everywhere locally Lipschitz continuous by utilizing the generalized KKT conditions, as we next discuss. G.J. Burke et al. / Operations Research Letters 36 (2008) 103 – 109 Analysis of generalized KKT conditions: When each fi function is concave and everywhere locally Lipschitz continuous, the generalized KKT conditions for P(Q) are necessary but not sufficient (see [10] for a discussion of necessity and sufficiency of generalized KKT conditions). We generically refer to a point that satisfies the generalized KKT conditions as a “KKT point”. As we will show, these conditions can reduce the computational requirements of the dynamic programming approach we discussed. Let denote a KKT multiplier for constraint (2), and let i and i denote multipliers for the upper and lower bounding constraints (3), respectively. Define jfi (qi ) as the set of subgradients of the function fi (·) at qi , with j+ fi (qi ) denoting the right directional derivative at qi and j− fi (qi ) denoting the corresponding left directional derivative (that is, the right directional derivative at some qi is the rate of change of fi as we increase qi and the left directional derivative is the rate of change of fi as we approach qi from the left). The set of subgradients at qi is then equal to the interval [j+ fi (qi ), j− fi (qi )] (note that jfi+ (0)jfi− (qi )jfi+ (qi ) jfi+ (ui ) for all 0 < qi < ui by the concavity of fi , for all i ∈ I ). The generalized KKT conditions (in addition to the primal feasibility conditions (2) and (3)) are written as jfi (qi ) − + i − i 0, qi − Q = 0, i ∈ I, (7) (8) i∈I i (ui − qi ) = 0, i ∈ I, i ∈ I, (10) i , i 0, i ∈ I, (11) 0. (12) We know that an optimal solution exists with at most one fractional qi , i.e., with 0 < qi < ui . For variables at their upper bounds, we must have i = 0. Letting Iu denote the set of suppliers at their upper bounds, we must have j− fi (ui ), i ∈ Iu . (13) Let I0 denote the set of suppliers at their lower bounds (for these suppliers, i = 0 must hold), where we must have j+ fi (0), i ∈ I0 . given this range, we can use conditions (13) and (14) to fix values of qi prior to solving KP(n, qn ). Note that for any i = n, if j− fn (qn ) < j− fi (ui ) j+ fi (0), then variable i must have qi = 0 for the resulting solution to satisfy the generalized KKT conditions. If, on the other hand, j+ fn (qn ) > j+ fi (0) j− fi (ui ), then variable i must have qi =ui for a KKT point. Let Iu (n, qn ) (I0 (n, qn )) denote the set of i ∈ I such that qi must equal ui (qi must equal 0) for a KKT point. Let If denote the remaining set of “free” variables (not including n), and note that for i ∈ If , we have j− fi (ui ) j+ fn (qn ) j− fn (qn ) j+ fi (0). For any variable i ∈ If , in terms of the KKT conditions, we can set qi to any value between 0 and ui . Given that we have chosen the basic variable n, however, these variables must take values of 0 or ui when we solve KP(n, qn ). Thus, these variables will have corresponding binary decision variables in a reduced form of KP(n, qn ), which we next describe. Note that if qn + i∈Iu (n,qn ) ui > Q, then we need not solve KP(n, qn ), since no possibility of satisfying the KKT conditions for the given (n, qn ) pair exists. Similarly, if qn + i∈Iu ∪If ui < Q, then no solution satisfying the KKT conditions for the given (n, qn ) pair exists. Otherwise, we can solve KP(n, qn ) by solving the following reduced problem, which we call KPR (n, qn ). We first reduce Qn by i∈Iu ui , and call the R R resulting value Qn , i.e., Qn = Qn − i∈Iu ui . We next solve the following reduced problem: KPR (n, qn ) Minimize f i xi (16) i∈If (9) i qi = 0, (14) 105 Subject to i∈If R u i x i = Qn , xi ∈ {0, 1}, i ∈ If . (17) (18) Letting x ∗ denote the solution to the above problem, the resulting objective function value for the associated KKT point (if one exists) is equal to i∈Iu f i + i∈If f i xi∗ +fn (qn ). By using the generalized KKT conditions before solving the associated reduced 0/1 knapsack problem, we can reduce the computational effort required for solving each 0/1 knapsack problem, which reduces the overall time required by the pseudopolynomial-time algorithm. 3. Polynomially solvable special cases (15) The following lemma illustrates that it is possible under certain conditions to identify an optimal solution in O(N log N ) time, which is the time required to sort N suppliers. More importantly, it leads to polynomial-time solution procedures for two practical special cases of problem P(Q), discussed in Sections 3.1 and 3.2. We first index suppliers in nondecreasing order of minimum price, pimin , where pimin ≡ fi (ui )/ui , and define I i as the set of all suppliers whose index is greater than i, i.e., I i = {j ∈ I : j > i}. In our dynamic programming approach, when we fix values of n and qn such that 0 < qn < un , this implies a range of possible values of defined by the interval [j+ fn (qn ), j− fn (qn )]. Then, Lemma 1. If the first k suppliers on the list fill the knapsack exactly at their upper bounds for some integer k (i.e., i∈I \I k ui = Q), then the resulting solution is optimal. Let supplier n be the fractional (basic) supplier, with 0 qn un (note that it is possible that qn = 0 and n = 0, or qn = un and n = 0; thus, we use these boundary points for the “basic” supplier as well so we do not miss solutions where each supplier is at one of its bounds). For this supplier, for values of qn strictly between 0 and un , we must have n = n = 0, and therefore ∈ jfn (qn ). 106 G.J. Burke et al. / Operations Research Letters 36 (2008) 103 – 109 Proof. Allocating qi units to supplier i results in a price per unit of fi (qi )/qi . Because fi is concave, this price per unit is minimized at ui , i.e., at a price per unit of pimin = fi (ui )/ui . Given a solution such that the first k suppliers on the list fit exactly at Q, any solution that increases qj for j ∈ I k cannot decrease the average cost per unit of capacity consumption. Moreover, any solution such that qj = > 0 for some j ∈ I k and qi = ui − 0 for some i ∈ I \I k leads to at least as high an average cost per unit. Therefore, no lower total cost feasible solution exists. If there is a tie in the pimin value on the kth value, and if all suppliers with pimin values less than or equal to this value fit in the knapsack exactly, then Lemma 1 is unaffected. If there is a tie in this value, and including all of these suppliers at their capacities will exceed Q, then if there is some subset of suppliers that tied with the kth pimin value such that this subset of suppliers fits exactly at Q, then the lemma implies that such a solution is optimal (note, however, that the subset sum problem that needs to be solved to find this solution is NP-hard itself). If, however, no subset of these suppliers fits exactly, then we run into the case where we cannot be immediately certain whether an optimal solution satisfies the constraint at equality, or purchases more than Q units. In certain special cases we can overcome this difficulty and continue to use the sorting scheme we have described in order to solve the problem in polynomial time. We henceforth assume suppliers are sorted in nondecreasing order of pimin , and consider two such cases in the following subsections. 3.1. Special case I: equal supplier capacities This section assumes all suppliers have equal capacities, i.e., ui = uj = u for all pairs (i, j ) ∈ I . The problem then becomes polynomially solvable using the sorting scheme described, as we next discuss. For extreme point solutions, at most one variable qi takes a value strictly between its lower and upper bounds (which are zero and u). This implies that at optimality, some subset of qi variables Iu ⊆ I exists such that qi = u for i ∈ Iu with |Iu |uQ and that |Iu | = Q/u. In addition, the single fractional variable must take a value qf = Q(mod u) ≡ q̄f . If we select some variable qj and set qj = q̄f , then the remaining capacity in the knapsack equals Q/u×u, and the first Q/u suppliers (excluding supplier j) fill this remaining capacity exactly. Lemma 1 then implies that the resulting solution is an optimal solution with qj = q̄f . Repeating this for each j ∈ I ensures finding an optimal solution. This approach requires one initial objective function evaluation, and (at most) a simple addition and subtraction each time we evaluate a subsequent value of j, which implies a worst-case complexity of O(N log N ). 3.2. Special case II: specially structured prices and subgradients Here, we consider a special case in which supplier capacities may differ, but the cost functions are locally Lipschitz contin- uous and the minimum supplier prices and directional derivatives obey a specific ordered relationship. If this ordered relationship holds, we will show that we can continue to utilize a sorting scheme similar to the one used in the previous special case. Note that for a concave function fi (qi ) with qi ui , the minimum (feasible) derivative value occurs at qi = ui and equals j− fi (ui ). The required condition can then be stated as pimin min{j− fk (uk )}, k∈I i i ∈ I \{N }. (19) Without loss of generality we assume that, if two or more suppliers have the same pimin , a secondary ordering based on j− fi (ui ) is used. Note that (19) does not preclude supplier cost curves from intersecting. The following lemma leads to an efficient algorithm for cases where (19) holds. − Lemma 2. Suppose that pkmin minl∈I k {j fl (ul )} for some k ∈ I . Then for any knapsack of size Q i∈I \I k ui , an optimal solution exists in which qk = uk . Proof. The result holds for Q = i∈I \I k ui by Lemma 1. Consider an optimal extreme point solution for a knapsack of size Q > i∈I \I k ui , and suppose that the amount allocated to supplier k equals uk − qk for some 0 < qk uk . If qk < uk then qk serves as the single fractional variable in this solution. k In this case, suppose that each member of a subset S ⊆ I of suppliers has an allocation of us , and note that s∈S us qk must hold because Q > i∈I \I k ui . Suppose we shift qk units from suppliers in S to supplier k such that for some subset S0 ⊂ S, qs = 0, and for some supplier s ∈ S, we have 0 qs us (qs may be considered as the new fractional variable). Letting q̃ = qk − s∈S0 us 0, the cost of the first solution minus the second equals fs (us ) fk (uk − qk ) − fk (uk ) + s∈S0 + fs (us ) − fs (us − q̃) = (fk (uk − qk ) − pkmin uk ) + s∈S0 psmin us + (fs (us ) − fs (us − q̃)) min (pkmin (uk − qk ) − pkmin uk ) + pk+1 + j− fs (us )q̃ min = (pk+1 − pkmin ) s∈S0 us s∈S0 us + (j− fs (us ) − pkmin )q̃ 0, where the first inequality holds because of the concavity of fs (qs ). The new solution is at least as good as the first, and therefore either provides an alternative optimal solution, or we have a contradiction to the optimality of the initial solution. It is straightforward to show that this result continues to hold by applying the same analysis when the initial value of qk = uk , and where some s1 ∈ I k may be fractional in the initial solution and some s2 ∈ I k may be fractional in the second solution, and where s1 may or may not equal s2 . G.J. Burke et al. / Operations Research Letters 36 (2008) 103 – 109 Lemmas 1 and 2 imply that we can employ a more efficient algorithm for solving P(Q) when Lemma 2 holds by decomposing the problem into a set of smaller problems. Consider supplier 1, who has the smallest value of pimin among all suppliers. Lemma 1 says that for a knapsack of size u1 , an optimal solution fills the knapsack entirely with supplier 1. Lemma 2 then says that for any Q > u1 we have q1 = u1 . By Lemma 2, for any Q > u1 , we can then solve a new problem with a knapsack of size Q − u1 containing all suppliers other than supplier 1. Given a knapsack of size Q̃ we determine how many suppliers (in index order) fully fit into the knapsack at their capacity limits without violating Q̃. For these suppliers, Lemmas 1 and 2 imply that we can permanently assign their order quantities equal to their capacities. If residual capacity remains following these assignments, we then solve a new problem with a knapsack capacity equal to the residual capacity. Therefore, at each step of the algorithm we solve a knapsack problem with a smaller capacity than the previous step. Note that for a knapsack problem of size Q̃, because an optimal solution satisfies the knapsack constraint at equality, we can assume without loss of optimality that the capacity of a supplier j is equal to the minimum between Q̃ and uj . Thus, as we solve smaller knapsack problems we may need to revise downward the supplier capacities. At each step of the algorithm we only insert suppliers at their capacity values if they fully fit at capacity. If some supplier is first on the list (in index order) and fully fits at a capacity level that has been revised downward to equal the residual capacity from a previous step, then this supplier must take up the entire residual capacity, at which point the algorithm terminates. This supplier is then actually assigned at a fraction of its original capacity (and this can happen at most one time in the algorithm). The algorithm, which we call algorithm KP (for Knapsack Partition) is summarized as follows: Algorithm KP. 1. Set Q̃ = Q, I¯1 = ∅, I¯0 = I , and qi = 0 for all i. 2. Set ũi = min{ui , Q̃} and p̃imin = fi (ũi )/ũi for all i ∈ I¯0 and sort all suppliers in I¯0 in nondecreasing order of p̃imin . 3. Insert suppliers in I¯0 into a knapsack of size Q̃ in index order as long as they index of the first fit. Let k denote the supplier such that i∈I¯0 \I k−1 ũi Q̃ and i∈I¯0 \I k ũi > Q̃. For i ∈ I¯0 \I k−1 , set qi = ũi , let E = Q̃ − i∈I¯0 \I k−1 ũi , and remove i from I¯0 and insert i into I¯1 . 4. If E =0, stop with an optimal solution. Otherwise, set Q̃=E and return to step 2. Lemma 2 allows setting Q̃ = E in step 4 and then solving a smaller knapsack problem with capacity E containing only items in I¯0 . Algorithm KP requires sorting at most N suppliers at each step; in the worst case we may require this sorting O(N ) times, resulting in a worst-case complexity of O(N 2 log N ). Ties in p̃imin can occur when we revise a supplier’s capacity to Q̃ in the algorithm. Because of the algorithm’s structure, we only need to worry about ties in p̃imin for the first supplier in the list, and only in this case when all suppliers tied for the lowest value of p̃imin have capacities that, when summed 107 together, exceed Q̃. If we also have ties in the secondary sorting scheme (j− fi (ui )) then Lemma 2 indicates that we can insert these in arbitrary order without loss of optimality. If we have a set of suppliers that are tied in the primary and secondary sort orders, and the sum of the upper bounds of these suppliers will exceed the remaining knapsack capacity, then we can choose any capacity feasible subset of these suppliers, and proceed to the subsequent iteration. 4. Fully polynomial-time approximation scheme This section provides an FPTAS for P(Q) which, given some > 0, runs in polynomial time in N and 1/, and provides an objective function value of no more than (1 + )z∗ , where z∗ is the optimal solution value. Note that our approach for developing an FPTAS is related to the approach employed in [16] for capacitated economic lot-sizing. 4.1. Nondecreasing supplier revenue We first provide a “budget-based” dynamic program for solving P(Q). Define Fi () as the maximum amount of capacity in the constraint consumed using a budget of and including all suppliers up to (and including) supplier i. The optimal solution value is given by the smallest such that FN () Q. We assume a known budget upper bound exists, which we denote by B (we later discuss how to determine a suitable value of B). We begin by solving F1 () = max{q1 |f1 (q1 ) , 0 q1 u1 }, = 0, . . . , B. Because f1 (q1 ) is a univariate nondecreasing concave function with f1 (0) = 0, the feasible region of this problem is convex. If more than one value of q1 on the interval [0, u1 ] exists such that f1 (q1 ) = or if f1 (u1 ) < , then f1 (q1 ) holds for all q1 ∈ [0, u1 ] and the constraint f1 (q1 ) is redundant (because f1 (q1 ) is nondecreasing and concave). In this case, F1 () = u1 . Otherwise, letting q1u denote the unique value on the interval [0, u1 ] such that f1 (q1u ) = , we have that F1 () = q1u . It is therefore easy to determine F1 () for a well-defined concave function f1 , with the bottleneck operation consisting of finding the root of f1 (q1 ) − = 0. In the worst case finding such a root (if one exists, which occurs if f1 (u1 ) > ) takes O(log u1 ) using binary search. We next consider max F2 () = max =0,1,..., q2 =0,1,...,u2 {F1 () + q2 |f2 (q2 ) − } . For a given , the inner maximization problem can be solved as in the previous case in O(log u2 ) time. The general form of the recursion is given by max Fi () = max =0,1,..., qi =0,1,...,ui {Fi−1 () + qi |fi (qi ) − } , 108 G.J. Burke et al. / Operations Research Letters 36 (2008) 103 – 109 and the complexity of the inner maximization problem for a given and is O(log ui ). Computing Fi () for a given i and given therefore requires O( log U ) operations (recall that U = maxi∈I {ui }). Since there are B values of , and N values for i, the overall recursion requires O(N B 2 log U ) time, which is effectively pseudopolynomial in the upper bound on the budget B. Budget scaling approach: Let K denote some positive integer less than or equal to B. For i ∈ I and ∈ {0, K, 2K, . . . , ( B/K + N )K}, define Gi () as the maximum capacity that can be consumed using the first i suppliers, with a budget of no more than , when the budget allocated to each supplier is a multiple of K. We can then compute Gi () for all i ∈ I and ∈ {0, K, 2K, . . . , ( B/K + N )K} with a computational effort of no more than O(N (B/K + N )2 log U ). Proposition 2. A value of ∈ {0, K, 2K, . . . , ( B/K+N )K} exists such that GN ()Q; i.e., restricting ourselves to this set of values permits finding a feasible solution if one exists. Furthermore, the smallest value of from this set such that GN ()Q has a value less than or equal to z∗ + N K. Proof. Consider an optimal solution to the problem with optimal objective function value z∗ , and let ri denote the cost contributed to the total by supplier i in this solution. If we allocate a budget amount equal to ( ri /K + 1) K ri to each supplier i, then each qi will be at least as large as that in the optimal solution, and the resulting solution when applying our scaling algorithm therefore produces a feasible solution using these budget allocations. The following inequalities show that we implicitly account for this set of budget allocations in our scaling algorithm: ( ri /K + 1)K i∈I ri /K K + N K = z∗ /KK + N K. i∈I This last term is less than or equal to both z∗ + N K and ( B/K + N)K which implies the results stated in the proposition. Upper bound on optimal solution value: Next, we show that we can determine an upper bound on z∗ with a value no greater than Nz∗ in polynomial time. To do this, we first wish to determine the smallest value L such that a feasible solution exists where each supplier contributes no more than L to the objective function. Such a value implies an upper bound of NL on the optimal solution. Note that, in an optimal solution, each supplier contributes no more than z∗ to the objective function, and therefore Lz∗ . We have therefore that the upper bound N L N z∗ . Given any positive value l, we can determine whether or not a feasible solution exists such that each supplier’s contribution is no more than l in O(N ) time as follows. For each supplier i, let q̂i = max {qi | fi (qi )l}, and note that a feasiblesolution exists satisfying the required condition if and only if i∈I q̂i Q. Note that each q̂i is nondecreasing in l, which implies that we can find the minimum value L in polynomial time using binary search. Choice of K for FPTAS: The condition on the bound B N z∗ implies B/N z∗ . Recall that our scaled dynamic program when using budget multiples of K gives a solution that exceeds z∗ by at most NK. Suppose we choose K =max{ B/N 2 , 1} and note that when K =1 we find an optimal solution. Suppose, therefore, that K = B/N 2 in which case KN = B/N 2 N B/N z∗ . Observe that, in this case, the complexity bound of O(N (B/K +N )2 log U ) applies. This is of course polynomial if B/K N . Suppose therefore that B/K > N . If B/N 2 > 1 then K = B/N 2 which implies K > B/2N 2 ; if B/N 2 1 then K =1 B/N 2 . In either case we have K B/2N 2 , or B/K 2N 2 /. This implies that our complexity bound is no worse than O(N (2N 2 / + N )2 log U ), which can be expressed as O((N 5 /2 ) log U ). Note that if the functions fi are differentiable and a root of the equation fi (qi ) = can be found in constant time, then the log U term can be dropped from the complexity bound. In either case, however, the resulting complexity is polynomial in the problem size. Acknowledgment This work was partially supported by NSF Grants #DMI0322715 and #DMI-0355533, and a Summer Research Grant awarded to Asoo J. Vakharia by the Warrington College of Business Administration. References [1] W.C. Benton, S. Park, A classification of literature on determining the lot size under quantity discounts, European J. Oper. Res. 92 (1996) 219–238. [2] K.M. Bretthauer, B. Shetty, The nonlinear knapsack problem—algorithms and applications, European J. Oper. Res. 138 (2002) 459–472. [3] J.M. Buchanan, The theory of monopolistic quantity discounts, Rev. Econom. Stud. 20 (3) (1952–1953) 199–208. [4] G. Burke, J. Carrillo, A.J. Vakharia, Heuristics for sourcing from multiple suppliers with alternative quantity discounts, European J. Oper. Res. (2007) forthcoming. [5] G.J. Burke, Sourcing strategies in a supply chain, Doctoral Dissertation, University of Florida, 2005. [6] S.S. Chauhaun, J.-M. Proth, The concave cost supply problem, European J. Oper. Res. 148 (2003) 374–383. [7] G.W. Dickson, An analysis of vendor selection systems and decisions, J. Purchasing 2 (1966) 257–267. [8] R.J. Dolan, Quantity discounts: managerial issues and research opportunities, Marketing Sci. 6 (1) (1987) 1–22. [9] S. Erenguc, S. Tufekci, A branch and bound algorithm for a dynamic single-item multi-source dynamic lot sizing problem with capacity constraints, IIE Trans. (1987) 73–80. [10] J.B. Hiriart-Urruty, On optimality conditions in nondifferentiable programming, Math. Programming 14 (1978) 73–86. [11] J.J. Moré, S.A. Vavasis, On the solution of concave knapsack problems, Math. Programming 49 (3) (1991) 397–411. [12] C.L. Munson, M.J. Rosenblatt, Coordinating a three level supply chain with quantity discounts, IIE Trans. 33 (2001) 371–384. [13] P.M. Pardalos, J.B. Rosen, Methods for global concave minimization: a bibliographic survey, SIAM Rev. 28 (1986) 367–379. [14] P.M. Pardalos, J.B. Rosen, Constrained global optimization: algorithms and applications, in: Lecture Notes in Computer Science, vol. 268, Springer, Berlin, New York, 1987. G.J. Burke et al. / Operations Research Letters 36 (2008) 103 – 109 [15] H.E. Romeijn, J. Geunes, K. Taaffe, On a nonseparable convex maximization problem with continuous knapsack constraints, Oper. Res. Lett. 35 (2) (2007) 172–180. [16] C.P.M. Van Hoesel, A.P.M. Wagelmans, Fully polynomial approximation schemes for single-item capacitated economic lot-sizing problems, Math. Oper. Res. 26 (2) (2001) 339–357. 109 [17] R. Verma, M.E. Pullman, An analysis of the supplier selection process, Omega 26 (6) (1998) 739–750. [18] C.A. Weber, J.R. Current, W.C. Benton, Vendor selection criteria and methods, European J. Oper. Res. 50 (1991) 2–18. [19] Z.K. Weng, Channel coordination and quantity discounts, Management Sci. 41 (9) (1995) 1509–1522.
© Copyright 2026 Paperzz