Information and Management Sciences Volume 19, Number 2, pp. 263-283, 2008
A Practical Model for Ordering in Multi-Product Multi-Constraint Inventory Systems with All-Units Quantity Discounts John Moussourakis
Cengiz Haksever
Rider University
Rider University
U.S.A.
U.S.A. Abstract
This paper presents a practical mathematical model for determining order quantities in multi-product multi-constraint inventory systems with all-units quantity discounts. The model is a zero-one mixed integer programming model based on a linear approximation of the number of orders function. The paper discusses issues of model implementation and presents computational testing results from solving randomly generated test problems with up to 100 products. It also presents computational data that compares the model’s performance to those of other approaches found in the operational research literature. The computational evidence suggests that the model finds identical and often better solutions than other approaches to the problems considered in the paper. These results indicate that the model is a viable alternative to other approaches found in the literature for the solution of the problem; but more importantly, they indicate that the model is a practical tool for decision makers who do not possess the resources necessary to implement and use specialized algorithms.
Keywords: Inventory Management, Multiple Products, Multiple Constraints, All-units Quantity Discounts, Mixed-integer Linear Programming. 1. Introduction Managers in charge of inventory have to decide “How much (many) to order” and “When to order”. These are the two basic questions in any inventory system. Many models have been developed to help managers make these decisions for a single product under a variety of conditions and assumptions. However, in practice managers have to deal with a more challenging situation; most, if not all, inventory systems involve multiple products and constraints. The most frequently mentioned constraints are budget (i.e. Received October 2006; Revised February 2007; Accepted August 2007. Supported in part by a paid research leave for Dr. Moussourakis from Rider University, and by a Davis Fellowship for Dr. Haksever from College of Business Administration, Rider University.
264
Information and Management Sciences, Vol. 19, No. 2, June, 2008
a limit on the total investment in inventory), warehouse space in terms of area and/or volume, weight, and the number of orders that can be placed per year. Decisions under these conditions are often complicated further by quantity discounts offered by suppliers. This paper presents a mathematical model to help managers make these decisions that come as close to optimality as desired. The model we present is a mixed-integer programming model which is based on a piecewise linear approximation of the number of orders function N = f (X) = D/X, for each quantity discount interval, where D is the annual demand and X is the order quantity. The model may include any number of linear constraints and more importantly, it determines whether a common (fixed) cycle or independent order cycle leads to a lower total cost. Alternatively, other published models deal only with a limited number of constraints and either common or independent cycle solutions. The paper discusses issues of model implementation and presents computational testing results from solving randomly generated test problems with up to 100 products. It also presents computational data that compares the model’s performance to those of other approaches found in the operational research literature. The computational evidence suggests that the model finds identical and often better solutions than other approaches to the problems considered in the paper. These results indicate that the model is a viable alternative to other approaches found in the literature for the solution of the problem; but more importantly, they indicate that the model is a practical tool for decision makers who do not possess the resources necessary to implement and use specialized algorithms. 2. Review of Literature A vast literature exists on determining the order size. However, due to the nature of our model, this review will focus on papers that consider a buyer’s perspective in a multi-product inventory system subject to one or more constraints. A more detailed review of the relevant literature can be found in Benton and Park [2]. Suppliers frequently offer their products at lower prices to those who buy them in large quantities. In this system the supplier identifies intervals of possible order quantities and a price for each interval, which is progressively lower for higher quantity intervals. One way to organize the literature is to start with whether the model and/or method assume “all-units” or “incremental” discounts. An all-units discount scheme assumes that the lowest price for which an order quantity qualifies will be paid for all the units purchased. In an incremental discount system the lowest price is paid only for the units in the relevant interval and higher prices for quantities in lower intervals.
A Practical Model for Ordering in Multi-Product Multi-Constraint Inventory Systems
265
Whether the order quantities are stationary (i.e. same quantity every time an order is placed) or nonstationary may be another criterion for classification. A third criterion may be used for a stationary case: common or independent cycle times. In a common cycle ordering system, all inventory items have the same order cycle time, and therefore are ordered the same number of times per year. However, orders can be staggered to avoid peaking of all inventory levels at the same time as was demonstrated by Page and Paul [9] for undiscounted case. In an independent cycle system each item has a different order cycle. Additionally, Rosenblatt [11] demonstrated that for an undiscounted multiproduct inventory system with a single budget constraint, neither approach dominates the other all the time. All-units discount. Pirkul and Aras [10] developed a Lagrangian relaxation algorithm for a multi-product inventory system with a single resource constraint and stationary ordering policy with independent cycles. G¨ uder, Zydiak, and Chaudhry [6] offered an improvement of Pirkul and Aras’s [10] approach. G¨ uder and Zydiak [3] developed a heuristic method for the multi-product, nonstationary ordering environment with a single constraint. Madan, Bramorski, and Gnanendran [8] presented a utility-based heuristic for determining order quantities with independent cycles by considering several criteria (e.g. customer service level, inventory turnover rate) subject to a budget constraint. Benton [1] discussed situations where a buyer considers all-units discounts from multiple suppliers subject to two resource constraints and independent order cycles. Using Lagrangian relaxation he developed a heuristic procedure for evaluating alternative discount schedules. Rubin and Benton [12] extended Benton’s [1] work to multiple constraints by developing a set of algorithms that collectively find the optimal order quantities. G¨ uder and Zydiak [4] developed and computationally tested a heuristic method for common cycle ordering subject to a single constraint. Assuming an all-units discount, they concluded that the common cycle approach becomes more cost effective than the independent cycle or non-stationary methods as the single resource constraint tightens. Incremental discount. Few articles have been published dealing with the incremental discounts case for ordering multiple products subject to one or more resource constraints. G¨ uder, Zydiak, and Chaudhry [5] considered the incremental discounts problem with a single constraint and independent order cycles. They used a method that involves the evaluation of every
266
Information and Management Sciences, Vol. 19, No. 2, June, 2008
possible price level combination for each item. Because of the combinatorial nature of this method the authors pointed out that it is impractical for solving problems with many products and/or price levels. Rubin and Benton [13] considered the same problem with multiple constraints that are upper bounds on positively weighted linear combinations of order size, dollar volume, unit price, and order frequency. They adapted solution procedures from their earlier paper, Rubin and Benton [12], which consist of a combination of Lagrangian relaxation and partial enumeration. 3. Assumptions We assume an inventory system involving multiple products with known and constant independent demands, instantaneous replenishment, and constant lead times where no shortages are allowed. Without loss of generality we assume a zero lead time. Ordering cost for each product is a fixed amount that is independent of order size. Inventory holding (carrying) cost for each product is a fixed amount per unit per year. However, the model we present can be changed easily if holding cost is computed as a percentage of the purchase price. How this can be done will be shown later in connection with our comparative computational tests. It is also assumed that a single supplier exists for each product and offers all-units quantity discounts. However, the model could also be extended to situations where multiple suppliers exist for each product. The decision maker’s objective is to minimize the total annual inventory holding, ordering, and purchase cost subject to multiple linear constraints, such as a limit on total inventory investment at any time, warehouse space (area), volume, and/or weight, and an upper limit on the number of orders, etc. Our model relies on the relationship between the number of orders and order quantity which enables us to handle multiple constraints and multiple price breaks through a linear model. We develop a zero-one mixed integer linear programming model based on the piecewise approximation of the number of orders function of each product. Rosenblatt [11] considered the independent cycle (Lagrangian) and the common cycle approaches for a multi-item inventory system with a budget constraint. He developed an algorithm that determines the lower cost approach. However, his algorithm assumes that the carrying cost is a percent of the cost of the item and, realistically, it is limited to a single constraint of the budgetary type. In other words, the constraint must be such that resource usage of each product is a multiple of the cost of the item. Such a requirement severely reduces the applicability of this useful algorithm when volume, weight or number of orders constraints are included in the model. Our model also identifies whether a common cycle
A Practical Model for Ordering in Multi-Product Multi-Constraint Inventory Systems
267
or independent cycle ordering subject to multiple constraints has the lowest cost without this restrictive assumption. A discount schedule for a product can be represented as follows: P1j for q1j ≤ Xj < q2j P2j for q2j ≤ Xj < q3j Pj = . .. .. .. . . P for qej j ≤ Xj ej j
Where Pj is the price paid for product j, Phj is the price to be paid if the order quantity Xj falls in discount interval h, and qhj ’s are quantities that define discount intervals. 4. The Model The number of orders function for product j, Nj = f (Xj ) = Dj /Xj is strictly convex (see Appendix Figure 1) and can be approximated with a series of linear functions. Although the function is continuous everywhere for 1 ≤ Xj ≤ Dj , this interval has ej
subintervals corresponding to discount intervals and therefore the number of orders curve has segments that correspond to these intervals. Considering any such segment of the curve, any line segment such as Lhij = ahij − bhij Xhij , passing through the end points of the hth interval will always be above the curve and Lhi will always overestimate the
true number of orders in that interval. The error of estimation, Ehij , for any product j, will be given by Ehij = Lhij − Nj = ahij − bhij Xhij − (Dj /Xhij ). The maximum error can be reduced to any finite number by increasing the number of line segments. Once a decision maker chooses a value for the maximum tolerable error (T E), the range of possible order sizes (Xj ) is split into as many intervals as necessary so that no line segment overestimates Nj by more than T E. It should be noted that T E is chosen subjectively. One way this number can be selected is by dividing the tolerable excess cost resulting from the overestimation of the true number of orders, by the sum of ordering costs. T E also could be chosen as a dollar amount so that $Coj Eimaxj < T E, j = 1, 2, . . . , k; where Coj is the ordering cost for product j and Eimaxj is the maximum error in estimating Nj . TE could be estimated as a fraction of an order Nj as well. We follow a procedure that splits an interval at the point (Xio ) where the error Ehij is maximum, thereby reducing overestimation by the greatest amount. The details of the linearization of the number of orders function are given in the Appendix.
268
Information and Management Sciences, Vol. 19, No. 2, June, 2008
Decision variables: Lhij = number of orders if the order size is in subinterval i of discount interval h for product j, Xhij = order quantity for product j in subinterval i of the discount interval h, Xj = order quantity to be adopted for product j, N j = number of orders to be adopted for product j, Tj = cycle time for product j, Yhj = auxiliary variables for product j: Yhj = 1, if Xj ∈ [nhj , mhj ]; Yhj = 0, otherwise,
Yhij = auxiliary variables for product j: Yhij = 1, if Xj ∈ [nhij , mhij ]; Yhij = 0, otherwise,
Z1 , Z2 = auxiliary variables: Z1 = 1 and Z2 = 0, common cycle approach to be used; Z1 = 0 and Z2 = 1, independent cycle approach to be used, Model parameters: T C = total annual inventory cost, k = number of products, Coj = ordering cost for product j, j = 1, 2, . . . , k, Ccj = holding (carrying) cost per unit per year for product j, Pj = price to be paid for product j, Phj = price to be paid if the order quantity Xj falls in discount interval h, h = 1, 2, . . . , ej , ej = number of price discount intervals available for product j, ehj = number of subintervals into which the number of orders (Nj ) curve has been divided for the hth discount interval, Dj = annual demand for product j, wrj = amount of resource r consumed by one unit of product j, wrj ≥ 0; where w1j = P1j ,
v = number of constrained resources, Br = availability of resource r; B1 is the budget amount that limits the total inventory investment at any time, ahij = intercept of the line passing through the end points of subinterval i of discount interval h, bhij = slope of the line passing through the end points of subinterval i of discount interval h, nhj , mhj = lower and upper end points of discount interval h, respectively, nhij , mhij = lower and upper end points of subinterval i of discount interval h, respectively,
A Practical Model for Ordering in Multi-Product Multi-Constraint Inventory Systems
269
Sj = multiple of the yearly demand that is allowed to be satisfied by a single order of product j; a constant, M = a very large positive constant, DMin = Min Dj , j = 1, 2, . . . , k, R = Min(τr , r = 1, 2, 3, . . . , v), R is the maximum cycle time that is feasible for the problem and corresponds to the most restrictive resource constraint; R is calculated and selected outside the model, τr = maximum cycle length allowed by the r th resource constraint k X 2 (Wrj Dj ) k X 2Br j=1 τr = where Qr = wrj Dj + k , r = 1, 2, 3, . . . , v. Qr X j=1 Wrj Dj j=1
This formula for τr is the multi-constraint version of Equation (18) of Rosenblatt [11] (see also Page and Paul, [9]). The resulting model follows. k X X j Min T C(Nj , Xj , Pj ) = Coj Nj + Ccj + Pj Dj 2
(1)
j=1
Subject to: Lhij = ahij Yhij − bhij Xhij ,
i = 1, 2, . . . , ehj , h = 1, 2, . . . , ej , j = 1, 2, . . . , k
(2)
i = 1, 2, . . . , ehj , h = 1, 2, . . . , ej , j = 1, 2, . . . , k
(3)
i = 1, 2, . . . , ehj , h = 1, 2, . . . , ej , j = 1, 2, . . . , k
(4)
i = 1, 2, . . . , ehj , h = 1, 2, . . . , ej , j = 1, 2, . . . , k
(5)
Xhij ≥ nhij Yhij ,
i = 1, 2, . . . , ehj , h = 1, 2, . . . , ej , j = 1, 2, . . . , k
(6)
Xhij ≤ mhij Yhij ,
i = 1, 2, . . . , ehj , h = 1, 2, . . . , ej , j = 1, 2, . . . , k
(7)
i = 1, 2, . . . , ehj , h = 1, 2, . . . , ej , j = 1, 2, . . . , k
(8)
i = 1, 2, . . . , ehj , h = 1, 2, . . . , ej , j = 1, 2, . . . , k
(9)
ehj
Yhj =
X
Yhij ,
i=1
ej X
Yhj = 1,
h=1
Nj =
ehj ej X X
Lhij ,
i=1 h=1
ej
Xj =
eij
XX
Xhij ,
h=1 i=1 ej
Pj =
X h=1
Phj Yhj ,
270
Information and Management Sciences, Vol. 19, No. 2, June, 2008
Z1 + Z2 = 1, 1 Tj ≥ , DMin Tj ≤ RZ1 + Sj Z2 ,
(10) j = 1, 2, . . . , k
(11)
j = 1, 2, . . . , k
(12)
Tj Dj − Xj = 0,
j = 1, 2, . . . , k
(13)
Tj − Tj+1 ≥ 1 − Z1 − M Z2 ,
j = 1, 2, . . . , k − 1
(14)
Tj − Tj+1 ≤ 1 − Z1 + M Z2 ,
j = 1, 2, . . . , k − 1
(15)
ej ehj k X X X j=1 h=1 i=1
k X j=1
Phj Xhij ≤ M Z1 + B1 Z2 ,
wrj Xj ≤ M Z1 + Br Z2 ,
Tj , Xhij , Xj , Nj , Lhij ≥ 0, Yhij , Yhj = 0, 1
integers
Z1 , Z2 = 0, 1
integers
r = 2, 3, . . . , v
(16)
(17)
∀ i and j
Equation (1) is the sum of the objective functions for all products and consists of three components: annual ordering cost, annual carrying cost, and the annual purchase cost. Each one of equations (2) represents the line segment approximating the number of orders curve for the hth discount interval for the j th product. Constraints (3) and (4), together, make certain that only one line segment’s equation is nonzero; at the optimal solution this will be the line approximating the selected subinterval of the optimal discount interval. Constraint (5) determines the number of orders for each product. Constraints (6) and (7) determine the order quantity (Xhij ) for each subinterval of each discount interval for each product; because of the binary variable Yhij only one of these order quantities will be different from zero for each product. Constraint (8) determines the order quantity Xj as the sum of Xhij ’s, only one of which is nonzero. Constraint (9) determines the optimal price for each product that corresponds to the selected discount interval. Z1 and Z2 are binary variables that help determine whether a common cycle or an independent cycle solution will be chosen. Constraint (10) assures that only one of the above two solutions will be adopted. Constraints (11−15) determine the length of the order cycle and the order size. Constraint (16) is the budget constraint, and constraints (17) represent other resource constraints. These constraints will become redundant if a common cycle solution is chosen. If the decision maker also has policy constraints, such as limits on the number or size of orders, etc. these linear constraints can be added to
A Practical Model for Ordering in Multi-Product Multi-Constraint Inventory Systems
271
the model. For a common cycle solution, orders may be phased in by using the formula proposed by G¨ uder and Zydiak [4]. 5. Implementation Solution of integer programming models, even when they are of the 0-1 mixed integer type, is known to be very time consuming. However, advances in computer hardware and software design have been making this less of a disadvantage, and making models such as ours more viable tools for practical applications. One of the major advantages of such models vis-´ a-vis more specialized algorithmic models is their accessibility and relative ease of use by managers who are not experts in operational research and/or computer science. Many commercially available linear programming packages may be capable of solving even relatively large size problems on personal computers (PCs) in a reasonable amount of time. Our computational experience supports this observation. Therefore, for the proposed model to be a viable tool for managers it must be practical and the time requirement for its solution must not be excessive. It is also necessary that an automated procedure exists for the linear approximation of the number of orders function for each discount interval and creates the model data in a form ready for solution by the software package selected. For our computational experiments we developed a computer code, SplitV3, in Visual Basic for Applications (VBA) for Excel, which splits the number of orders function for each discount interval into subintervals that are approximated by linear equations. A user of this code must supply the number of products, annual demand for each product, holding cost, ordering cost, resource constraints, and maximum tolerable error (T E) in an Excel sheet. The code generates the linear equations, equations (2) of the model, that approximate the number of orders function for each discount interval as well as the abscissas of the subintervals; generation of approximating lines continues until the maximum error of approximation is less than or equal to TE. The data created by SplitV3 are added to the Excel sheet which contains the problem parameters. The time to generate problem data did not exceed a few seconds even for the largest problems reported in this paper. 6. Computational Experience We developed another VBA code (Multi-Product Multi-Constraint Discount Problem Generator - MPMCDP-GEN) to test the viability of our model. This code randomly
272
Information and Management Sciences, Vol. 19, No. 2, June, 2008
Table 1. Parameters used for generating test problems. PARAMETERS
DEFINITION
VALUES USED
NPROD
Number of products
5, 10, 20, 30, 40, 60, 80, 100
MINDEM
Minimum demand
100, 500
MAXDEM
Maximum demand
2000, 4000, 5000
MINHOLDC
Minimum holding cost
$1
MAXHOLDC
Maximum holding cost
$5, $10, $25
MINORDC
Minimum ordering cost
$500
MAXORDC
Maximum ordering cost
$1,000
NCONSTR
Number of resource constraints
4, 5
MINRCOEF
Minimum value for constraint coefficients
1
MAXRCOEF
Maximum value for constraint coefficients
200
NDISCINT
Number of discount intervals
3, 5
MINPRICE
Minimum unit price for a product
$2, $5
MAXPRICE
Maximum unit price for a product
$200, $500
DISCOUNT
Discount amount (i.e. price difference between two discount intervals)
$1 - 10
TOLERABLE ERROR
Tolerance for linear approximation
0.50
BIG M
An extremely large positive value
1,000,000
generates some model parameters as well as resource constraints; SplitV3 is a subroutine of this program. A user of this program must supply the parameters shown in Table 1, as well as a tolerable error (T E) for piecewise linear approximation of the number of orders function, and an extremely large positive number for M . For our test problems we assumed Sj = 1, j = 1, 2, . . . , k. Numbers in the table represent the values we used in generating the test problems. MPMCDP-GEN uses VBA’s built-in function Rnd to generate uniformly distributed random numbers that are used to create the coefficients of the model as well as discount intervals and corresponding prices from user provided parameter intervals. A user of this program must decide the amount of price reduction for each product. Using the demand data and the desired number of discount intervals, the program creates quantity subintervals of equal length. The program also computes τr ’s, cycle lengths allowed by the resource constraints. We generated and solved 17 sets of problems. Each set consisted of five randomly generated problems with the same parameters; a total of 85 problems were solved; the
A Practical Model for Ordering in Multi-Product Multi-Constraint Inventory Systems
273
Table 2. Computational results from the solution of 85 randomly generated test problems. PROBLEM SET
NO. OF
NO. OF
NO. OF
AVERAGE
AVERAGE NO.
RSOURCE
DISCOUNT
NO. OF
OF
PRODUCTS CONSTRAINTS INTERVALS VARIABLES CONSTRAINTS
AVG. CPU STD. OF TIME
CPU
(SECS.)
TIMES
1
5
4
3
1428
1446
10.85
0.86
2
5
5
3
1518
1537
11.58
3.29
3
5
4
5
1456
1474
16.01
6.92
4
5
5
5
1498
1517
13.56
3.08
5
10
4
3
3268
3301
51.89
25.38
6
10
5
3
2897
2931
46.50
57.66
7
10
4
5
2818
2851
26.19
9.46
8
10
5
5
3019
3053
20.28
5.23
9
20
4
3
5974
6038
170.55
117.56
10
20
5
3
6034
6098
110.73
50.60
11
20
4
5
5943
6006
55.03
23.31
12
20
5
5
5991
6055
79.38
90.14
13
30
5
5
7473
7567
93.61
21.80
14
40
5
5
10387
10511
142.87
43.26
15
60
5
5
18038
18222
890.74
53.59
16
80
5
5
23737
23981
740.48
219.80
17
100
5
5
29804
30108
1213.03
148.02
results are shown in Table 2. All the test problems were created and solved on a Dell OptiPlex GX260 personal computer (PC) with Pentium 4, 2.33 GHz processor, using Microsoft Windows XP Professional operating system. In our computational experiments we used Xpress Solver Engine for Premium Solver Platform. This software is designed to solve large scale linear programming and mixed-integer linear programming problems. It includes a state-of-the art implementation of the Primal and Dual Simplex methods, using a sparse representation of the LP matrix to handle large problems in limited memory, advanced matrix factorization and updating methods to maintain numerical accuracy, and a Branch and Cut method for solving mixed-integer programming problems. The major objective of the computational testing was to see if the model can be solved on a personal computer (PC) without requiring an excessive amount of time for a realistic number of products. The largest test problems in the set had 100 products, five resource constraints, and five discount intervals that resulted in an average of 29,804 variables and 30,108 constraints per problem. As expected, the largest problems required the longest time to solve, an average of 20.22 minutes of central processing unit (cpu) time (Table 2). It is reasonable to expect that widespread availability of PCs and efficient optimization software with their ever-increasing speed and capacity will enable inventory managers to optimize even very large inventory systems within a matter of hours. Fur-
274
Information and Management Sciences, Vol. 19, No. 2, June, 2008
thermore, since most companies with large inventory systems own many PCs the marginal cost of these computations is practically zero. We expect that when a mainframe computer is used the solution of our model will be even faster. Another objective of the computational testing was to check the accuracy of the solution provided by the model. For this purpose we performed two computational experiments; first, we solved all of the problems in two sets of test problems solved by Rubin and Benton [12] and second, solved another problem presented by G¨ uder and Zydiak [4]. The data of the first set initially appeared in an earlier paper by Benton [1] and involved ten products offered by three vendors each with three different all units quantity discount schedules. Rubin and Benton [12] applied their algorithm to the solution of these problems subject to space and budget constraints. The budget constraint was to limit only the annual holding cost. The inventory ordering problem for the buyer was optimized assuming that the ten products can be purchased from only one vendor. Then the authors removed this restriction to determine the best purchase plan by ordering each product from any of the three vendors. This process was repeated two more times by changing the space and budget amounts. Since Rubin and Benton [12] used a percentage of purchase price for holding cost, we have modified our model so that the holding cost component is expressed as a percentage of the purchase price. The objective function was changed as follows for this purpose: ej ehj k X IXX T C(Nj , Xj , Pj ) = Coj Nj + Phj Xhij + Pj Dj 2 j=1
h=1 i=1
and the budget, B1 , now is a limit on the total holding cost computed as follows: B1 =
ej ehj k X IXX j=1
2
h=1 i=1
Phj Xhij
where I is the percentage of the purchase price used in computing the holding cost. We solved these problems with a tolerance (T E) of 0.01; results are shown in Tables 3−5. The data of these problems are available in Rubin and Benton [12], therefore not repeated here. A comparison of total cost figures in Tables 3−5 shows that our solution was practically identical to Rubin and Benton’s [12] solution in six out of nine problems, and better for three problems. The ordering cost component in the objective function is computed
A Practical Model for Ordering in Multi-Product Multi-Constraint Inventory Systems
275
Table 3. Solution to Rubin and Benton (1993) example (Space available = 2,350 ft3 ; Budget available = $3,010). ITEM 1 2 3 4 5 6 7 8 9 10 Total Cost ($) Space Used (ft3 ) Budget Used ($)
Rubin and Benton order quantities VENDOR 1 VENDOR 2 VENDOR 3 200.00 200.00 200.00 200.00 30.00 50.00 200.00 200.00 200.00 148.92 200.00 200.00 407.84 424.26 547.72 200.00 200.00 200.00 200.00 200.00 200.00 28.84 22.36 50.00 6.99 7.81 6.38 12.77 13.51 12.60 124,455.05 109,230.37 106,212.15 1,619.58 1,482.44 1,640.62 2,930.92 2,063.43 2,413.98
Approximation model order quantities VENDOR 1 VENDOR 2 VENDOR 3 200.00 200.00 200.00 200.00 30.28 50.00 200.00 200.00 200.00 155.39 200.00 200.00 425.87 425.87 544.70 200.00 200.00 200.00 200.00 200.00 200.00 31.19 22.72 50.00 7.07 7.99 6.20 13.06 13.74 12.47 124,454.02 109,230.43 106,212.19 1,651.20 1484.71 1,637.48 2,960.10 2,067.97 2,411.41
Table 4. Solution to Rubin and Benton (1993) example (Space available = 1,350 ft3 ; Budget available = $3,010). ITEM 1 2 3 4 5 6 7 8 9 10 Total Cost ($) Space Used (ft3 ) Budget Used ($)
Rubin and Benton order quantities VENDOR 1 VENDOR 2 VENDOR 3 200.00 200.00 50.00 26.09 27.86 50.00 200.00 200.00 200.00 109.73 200.00 200.00 227.32 295.40 261.45 200.00 200.00 200.00 200.00 200.00 200.00 26.85 21.73 50.00 7.05 7.69 6.25 12.38 13.08 11.95 124,910.36 109,259.39 106,458.87 1,099.23 1,350.00 1,203.99 2,013.30 1,984.96 2,191.85
Approximation model order quantities VENDOR 1 VENDOR 2 VENDOR 3 200.00 200.00 200.00 200.00 27.68 51.00 200.00 200.00 200.00 107.30 200.00 200.00 222.25 295.59 255.79 200.00 200.00 200.00 200.00 200.00 200.00 26.68 21.92 51.00 7.07 7.52 6.26 12.08 13.26 11.89 124,599.50 109,259.43 106,316.25 1,350.00 1,350.00 1,350.00 2,729.50 1,984.50 2,328.46
Table 5. Solution to Rubin and Benton (1993) example (Space available = 2,350 ft3 ; Budget available = $2,010). ITEM 1 2 3 4 5 6 7 8 9 10 Total Cost ($) Space Used (ft3 ) Budget Used ($)
Rubin and Benton order quantities VENDOR 1 VENDOR 2 VENDOR 3 200.00 200.00 50.00 22.06 26.72 50.00 200.00 200.00 200.00 111.04 200.00 200.00 304.11 377.85 317.75 200.00 200.00 200.00 200.00 200.00 50.00 21.50 19.91 14.21 5.21 6.95 3.70 9.52 12.03 7.31 124,870.63 109,236.93 107,188.01 1,169.65 1,429.67 1,175.17 2,010.00 2,010.00 1,755.76
Approximation model order quantities VENDOR 1 VENDOR 2 VENDOR 3 200.00 200.00 200.00 21.94 26.70 50.00 200.00 200.00 200.00 111.14 200.00 200.00 304.96 378.88 376.57 200.00 200.00 58.15 200.00 200.00 200.00 21.25 19.68 16.72 5.21 7.07 4.44 9.57 11.91 8.66 124,870.64 109,236.96 106,922.11 1,170.47 1,430.59 1,318.51 2,010.00 2,010.00 2,010.00
276
Information and Management Sciences, Vol. 19, No. 2, June, 2008
Table 6. Solution to Rubin and Benton (1993) Fortune 500 example (Space available = 35,000 ft3 ; Budget available = $60,000; Delivery limit = 140 orders). ITEM 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Total Cost ($) Space Used (ft3 ) Budget Used ($) Orders placed
Rubin and Benton order quantities VENDOR 1 VENDOR 2 VENDOR 3 2000.00 1500.00 1500.00 1000.00 677.16 577.53 1000.00 1500.00 1500.00 1000.00 1557.35 1500.00 2000.00 2084.72 2095.45 1386.45 2220.57 2339.16 1000.00 1344.29 1284.53 1000.00 932.91 859.10 2000.00 1468.63 1194.67 706.96 1810.51 1500.00 1176.01 2013.66 2022.38 1523.67 2102.14 2500.00 509.01 920.09 875.92 2000.00 1965.37 1812.77 308.67 763.89 647.41 2,531,668.30 2,587,026.54 2,636,907.61 29,108.10 34,992.00 34,908.80 49,815.40 59,607.80 56,702.70 140.00 97.40 103.60
Approximation model order quantities VENDOR 1 VENDOR 2 VENDOR 3 2000.00 2500.00 2500.00 1000.00 1500.00 240.91 1000.00 2500.00 2500.00 1000.00 1500.00 2500.00 2000.00 1500.00 1192.77 1413.86 1196.98 1234.94 1000.00 653.59 1500.00 1000.00 364.30 380.49 2000.00 514.59 600.93 703.63 1500.00 2500.00 1189.06 2500.00 2500.00 1541.73 2500.00 2500.00 515.62 427.26 380.49 2000.00 1500.00 1500.00 305.14 257.91 302.76 2,531,669.55 2,547,540.72 2,560,565.67 29,220.24 32,212.05 33,219.09 49,829.64 60,000 60,000 139.90 136.76 139.54
as Co (D/X), which is the actual ordering cost rather than Co N , which would be an estimate. The data of a second set of problems Rubin and Benton [12] solved came from a Fortune 500 firm that involved 15 products, three vendors, each with a different allunits quantity discount schedule, and three constraints. We solved the same problem for the three vendors; results are shown in Table 6. Results again suggest that our model provides a better solution for two out of three vendors. For Vendor 2 there is a difference of $39,485 which corresponds to an improvement of 1.53 percent [= 100x(2, 587, 026.54 −
2, 547, 540.72)/2, 587, 026.54] and for Vendor 3 the difference is $76,342 which corresponds to an improvement of 2.9 percent [= 100x(2, 636, 907.61 − 2, 560, 565.67)/2, 636, 907.61].
G¨ uder and Zydiak [4] presented a heuristic approach to solving multi-product in-
ventory systems with a single constraint and all-units quantity discounts for common cycle ordering. In addition to their computational results from randomly generated sets of test problems, they presented comparative computational data for a 4 product test problem they solved with four different approaches: common cycle, Pirkul and Aras [10] independent cycle, G¨ uder and Zydiak [4] independent cycle, and G¨ uder and Zydiak [3] non-stationary approach. The common cycle approach provided the lowest total cost
A Practical Model for Ordering in Multi-Product Multi-Constraint Inventory Systems
277
solution. When we solved the same problem our model picked also the common cycle solution with identical order quantities and total cost. When we forced our model to find an independent cycle solution, it yielded an equivalent one to the best of the independent cycle solutions provided in G¨ uder and Zydiak [4]. In the literature review section we mentioned that for an undiscounted multi-product case with a single budget constraint Rosenblatt [11] showed that neither independent nor common cycle approach dominates the other all the time. As mentioned earlier, G¨ uder and Zydiak [4] tested a heuristic method for common cycle ordering subject to a single constraint and all-units discounts against independent and nonstationary order cycles on problems with 4-35 products. Although none of these approaches dominated the others all the time, they found that the common cycle approach provided a lower total cost as the single resource constraint tightened. Therefore, a third objective of the computational testing was to investigate whether an independent cycle or common cycle approach would consistently provide a lower total cost when quantity discounts are available. We stated earlier in the paper that our model automatically determines the lower cost approach. In 17 of the 85 test problems (20 percent) a common cycle solution was selected. To further check this outcome, we resolved many of our test problems by forcing the model to find an optimal solution for the approach not selected. For example, when the model determined that an independent cycle solution provided a lower total cost, we resolved the problem by introducing an additional constraint (Z1 = 1) that required a common cycle solution. In every case the optimal solution was inferior to the one the model automatically selected. Interestingly, a common cycle solution was never selected for problems with 30 or more products. This made sense, because a large number of products (30-100) with 5 resource constraints and 5 discount intervals, each approximated with many linear constraints, leads to a problem with more constraints than variables. A common cycle solution adds another constraint that severely limits solution possibilities, because this requires all cycle time variables (Tj ’s) to be equal. These results are consistent with our results from computational experiments on undiscounted multi-product multi-constrained inventory problems reported elsewhere (see Haksever and Moussourakis, [7]). Since those problems did not have the additional constraints created by quantity discounts, a larger percentage (25%) of the test problems had common cycle solutions. 7. Conclusions
278
Information and Management Sciences, Vol. 19, No. 2, June, 2008
In this paper we presented a zero-one mixed-integer programming model for optimizing multi-product inventory systems subject to multiple constraints. The model is designed for inventory ordering decisions when all-units quantity discounts are available from suppliers. The model is based on a piecewise linearization of the number of orders function for each discount interval and finds optimal or near optimal solutions. The model may include any number of linear constraints and automatically determines whether an independent or common cycle solution will have a lower total cost. The model has been tested on a PC by randomly generating and solving test problems ranging from 5 to 100 products with up to 5 constraints and 5 quantity discount intervals. A major conclusion of this paper is that an inventory manager or analyst with a basic knowledge of integer and linear programming and access to appropriate optimization software can easily use the model for making near optimal purchase decisions. Computational test results indicated that the model is a viable tool also in terms of computational time requirements even if a PC is used; a faster solution should be possible on mainframe computers. A second conclusion of our paper is that the model provides accurate approximate optimal solutions to realistic problems. This was supported when we obtained the same or frequently better solutions (up to 3%) to the problems solved by Rubin and Benton [12] and by G¨ uder and Zydiak [4]. Also, our computational tests suggest that Rosenblatt’s [11] observation is also applicable in the multi-product multi-constraint inventory systems facing quantity discount offerings from suppliers. Specifically, we found neither the independent nor the common cycle approach to be the best approach. However, there is strong evidence that for inventory systems with a large number of products an independent cycle approach leads to a lower total cost. Finally, an interesting direction this research could take is to consider situations in which discounts on buyer paid freight costs are available along with price discounts and resource constraints.
Appendix Linear approximation of the number of orders function The number of orders function is strictly convex and can be approximated with a series of linear functions. In the presence of quantity discounts this function should be viewed as consisting of segments corresponding to discount intervals (Figure 1).
A Practical Model for Ordering in Multi-Product Multi-Constraint Inventory Systems
279
Figure 1. Piecewise linear approximation of the number of orders function in the hth discount step, h = 1, 2, . . . , ej .
Consider such a segment of the function approximated by a linear function (Figure 2). The error of estimation, Ehij , for subinterval i of quantity discount h for product j is given by Ehij = Lhij − Nj = ahij − bhij Xhij − (Dj /Xhij ).
(A1)
The maximum error can be reduced to any finite number by increasing the number of line segments. Once the maximum error a decision maker is willing to tolerate (T E) is determined, the next task is to split each quantity discount interval into as many subintervals of order quantities (X) as necessary so that no line segment overestimates N by more than T E. An efficient way is to split the intervals at the point where the error Ehij is at maximum, thereby reducing overestimation by the greatest amount. Suppose we start with the first discount interval as interval 1, which is approximated (p)
by the line segment L1ij = a1ij − b1ij x1ij , where the superscript p represents the iteration
number and is set equal to 0 at the beginning of the process (Figure 2). Since the process can be applied to only one discount interval of one product at a time, the subscripts h and j will be dropped in the discussion. Also, some values will be identified by the (2)
iteration at which they are calculated. For example, b1 represents the slope of the line
280
Information and Management Sciences, Vol. 19, No. 2, June, 2008
Figure 2. Splitting the first discount interval.
that approximates the curve in subinterval 1 at the second iteration. We assume that the range of N values a decision maker wants to consider is determined by the range of discount intervals; if the upper limit of the last (i.e. lowest price) interval is open, as is usually the case, it is set equal to SD. Therefore, the range of N values for each product will be from (1/S) to D. However, since we will be linearizing the function separately for each quantity discount interval, the range of N values will be determined by the discount schedule. For example, ordinates of the first discount interval for product j can (0)
(0)
be determined as N1L = D/n1 , and N1R = D/m1 (0)
(0)
respectively, where n1 = q1j , and m1
for the left and right end points,
= q2j , quantities that define the first discount
interval. From Equation (A1), and by ordinary differentiation, the error for any subinterval p √ i, Ei , is maximum at Xio = D/bi with the corresponding Nio = Dbi ; where the
subscript o refers to the point at which the error of estimation is maximum (Emax ).
For any subinterval i, let NiL = D/ni and NiR = D/mi represent the abscissas of
A Practical Model for Ordering in Multi-Product Multi-Constraint Inventory Systems
281
the left and right end points, respectively. Then, given the coordinates of the end points (ni , NiL ) and (mi , NiR ) of any subinterval i, the equation of a line segment Li = ai − bi Xi
(A2)
passing through these end points can be constructed: NiL − NiR , bi = n i − mi NiL − NiR Xi + Li . ai = n i − mi
(A3) (A4)
The value of ai can be calculated by substituting the coordinates of one of the end points of the subinterval in (A5) as explained shortly. The maximum error, EiMax , for any subinterval i, can be computed as p EiMax = ai − 2 Dbi . by substitution of Xio =
p
(A5)
D/bi and Nio = D/Xio in Equation (A1).
If the maximum error is above the tolerable error (T E), the subinterval will be split into two at Xio . Let’s assume that EiMax > T E forqthe first discount interval; hence, we (0) split this interval into two subintervals at X1o = D/b1 . The coordinates of the end points of the two newly constructed subintervals are (Figure 2):
(1) (1) (1) (1) n1 , N1L and m1 , N1R q q (1) (1) (0) (0) or n1 , D/n1 and D/b1 , Db1 (1) (1) (1) (1) Subinterval 2: n2 , N2L and m2 , N2R q q (0) (0) (1) (1) or D/b1 , Db1 and m2 , D/m2 Subinterval 1:
where
(1) m1
=
(1) n2
=
(0) X1o ,
and
(1) N1R
=
(1) N2L
=
(0) N1o
=
q
(A6)
(A7)
(0)
Db1 . Also, note that the left
end of the first subinterval and the right end of the last subinterval of a discount interval will always remain the same regardless of the number of subintervals created. These are the end points that defined the first discount interval at iteration 0. In other words, (1)
(0)
(1)
(0)
set n1 = n1 = q1j and m2 = m1
= q2j . The next step would be to construct the
equations of the lines approximating the newly created subintervals. The slope and the y-intercept can be calculated according to equations (A3) and (A4) and by substitution
282
Information and Management Sciences, Vol. 19, No. 2, June, 2008
from (A6) q N (1) − N (1) D/n(1) − Db(0) 1 1 (1) 1R q b1 = 1L = , (1) (1) n − n (1) (0) 1 1 n1 − D/b1 q (1) (0) − Db D/n 1 1 (1) (1) (1) (1) q X1 + L1 . a1 = b1 X1 + L1 = n(1) − D/b(0) 1 1 (1)
(A8)
(A9)
(1)
To calculate the value of a1 we need to evaluate equation L1 at either end point of (1)
the subinterval it approximates. For example,q if we evaluate L1 q at the right end of the (1) (0) (0) first interval, we know from (A7) that L1 = Db1 and X1o = D/b1 . Substituting (1)
these values in (A9) a1 will be determined q (1) (0) q q D/n1 − Db1 (1) (0) (0) q D/b1 + Db1 . a1 = n(1) − D/b(0) 1 1
(A10)
Similarly, the slope and y-intercept for the line segment approximating the second subinterval can be calculated, for example, using the coordinates of its left end, as q N (1) − N (1) Db(0) − D/m(1) 1 2 2L (1) 2R b2 = (1) = q n − m(1) (0) (1) 2 2 D/b1 − m2 q (0) (1) q q Db − D/m 1 2 (1) (0) (0) a2 = q D/b + Db1 . 1 (0) (1) D/b1 − m2
(A11)
(A12)
Next, we calculate the maximum error and check if it is below T E. For example,
the maximum error for the two subintervals created at the end of step 1 would be: q q (1) (1) (1) (1) E1Max = a1 − 2 Db1 and E2Max = a2 − 2 Db2 . This process of splitting discount intervals into subintervals can be repeated until the maximum error in every interval or subinterval is below T E. For a more detailed discussion of this algorithm, see Haksever and Moussourakis [7].
References [1] Benton, W. C., Quantity discount decisions under conditions of multiple items, multiple suppliers and resource limitations, International Journal of Production Research, Vol. 29, No. 10, pp.1953-1961, 1991.
A Practical Model for Ordering in Multi-Product Multi-Constraint Inventory Systems
283
[2] Benton, W. C. and Park, S., A classification of literature on determining the lot size under quantity discounts, European Journal of Operational Research, Vol. 92, No. 2, pp.219-238, 1996. [3] G¨ uder, F. and Zydiak, J. L., Non-stationary ordering policies for multi-item inventory systems subject to a single resource constraint and quantity discounts, Computers & Operations Research, Vol. 24, No.1, pp.61-71, 1997. [4] G¨ uder, F. and Zydiak, J., Fixed cycle ordering policies for capacitated multiple item inventory systems with quantity discounts, Computers & Industrial Engineering, Vol. 38, pp.67-77, 2000. [5] G¨ uder, F., Zydiak, J. and Chaudhry, S., Capacitated multiple item ordering with incremental quantity discounts, Journal of the Operational Research Society, Vol. 45, No.10, pp.1197-1205, 1994. [6] G¨ uder, F., Zydiak, J. and Chaudhry, S., An extended algorithm for capacitated multiple item ordering with quantity discounts, Opsearch, Vol. 33, No.1, pp.20-29, 1996. [7] Haksever, C. and Moussourakis, J., A model for optimizing multi-product inventory systems with multiple constraints, International Journal of Production Economics, Vol. 97, pp.18-30, 2005. [8] Madan, M., Bramorski, T. and Gnanendran, K., A heuristic methodology to evaluate price discount structures from the buyer’s perspective, International Journal of Production Economics, Vol. 29, No. 2, pp.223-231, 1993. [9] Page, E. and Paul, R. J., Multi-product inventory situations with one restriction, Operational Research Quarterly, Vol. 27, No. 4, pp.815-834, 1976. [10] Pirkul, H. and O. A. Aras, Capacitated multiple item ordering problem with quantity discounts, IIE Transactions, Vol.17, No. 3, pp. 206-211, 1985. [11] Rosenblatt, M. J., Multi-item inventory system with budgetary constraint: A comparison between the Lagrangian and the fixed cycle approach, International Journal of Production Research, Vol.19, No. 4, pp.331-339, 1981. [12] Rubin, P. A. and Benton, W. C., Jointly constrained order quantities with all-units discounts, Naval Research Logistics, Vol. 40, pp.255-278, 1993. [13] Rubin, P. A. and Benton, W. C., Evaluating jointly constrained order quantity complexities for incremental discounts, European Journal of Operational Research, Vol. 149, pp.557-570, 2003.
Authors’ Information John Moussourakis is a professor of management sciences in College of Business Administration of Rider University. He received his Ph.D. from New York University in quantitative analysis. He also holds a M.B.A. degree from Iona College, and a B.A. in mathematics from New York University. His research interests include supply chain management, inventory management, and project management. Department of Management Sciences, College of Business Administration Rider University, Lawrenceville, NJ 08648, U.S.A. Cengiz Haksever is a professor and chairman of the Department of Management Sciences, College of Business Administration of Rider University. He received his Ph.D. in operations research from The University of Texas in Austin. He also holds a M.B.A. from Texas A & M University, and M.S. and B.S. degrees in Industrial Engineering from Middle East Technical University in Ankara, Turkey. His research interests include supply chain management, inventory management, project management, data envelopment analysis, and quality assurance. Department of Management Sciences, College of Business Administration Rider University, Lawrenceville, NJ 08648, U.S.A. E-mail:
[email protected]
TEL : 609-895-5476.