Solving mixed integer programming production planning problems with setups by shadow price information

Solving mixed integer programming production planning problems with setups by shadow price information

PII: Computers Ops Res. Vol. 25, No. 12, pp. 1027±1042, 1998 # 1998 Elsevier Science Ltd. All rights reserved Printed in Great Britain S0305-0548(98)...

412KB Sizes 9 Downloads 39 Views

PII:

Computers Ops Res. Vol. 25, No. 12, pp. 1027±1042, 1998 # 1998 Elsevier Science Ltd. All rights reserved Printed in Great Britain S0305-0548(98)00037-9 0305-0548/98 $19.00 + 0.00

SOLVING MIXED INTEGER PROGRAMMING PRODUCTION PLANNING PROBLEMS WITH SETUPS BY SHADOW PRICE INFORMATION Yi-Feng Hung{ and Yi-Cheng Hu Department of Industrial Engineering, National Tsing Hua University, Hsinchu, Taiwan, R.O.C. (Received March 1997; accepted March 1998) Scope and PurposeÐIn this study, we have solved production planning problems involving multiple products, multiple resources, multiple periods, setup times and setup costs. If a particular product is to be manufactured in a particular period, each required machine must be set up for that product exactly once during that period. This is a very generalized version of the capacitated lot sizing problem. Even though there has been plenty of research work on similar problems, models dealing with the degree of complexity presented in this study are rather scarce. Such production planning with setup decisions can be formulated as a mixed integer programming (MIP) problem. However, solving realistic MIP production planning problems is NP-hard; thus, obtaining optimal solutions is usually impossible. Heuristic methods are required to obtain good solutions eciently. AbstractÐAlgorithms developed to solve linear programming (LP) problems and advances in computer speed have made large-scale LP problems solvable in time for implementation. Solving an LP is relatively easier than solving an MIP for modern production planning problems. In this study, we propose a heuristic iterative algorithm between LP solution phases and setup decision computations for solving these dicult MIP production planning problems. By utilizing the shadow price information provided by the LP solution of the previous iteration, the setup decision computation converts an MIP problem into an LP problem, which can be eciently solved in the current iteration. Extensive experiments show that the proposed heuristic algorithm performs well. # 1998 Elsevier Science Ltd. All rights reserved Key words: Capacitated lot sizing, production planning, mixed integer programming

1. INTRODUCTION

The lot sizing problem has been studied since the early part of this century. The ®rst models for this type of problem are the renowned EOQ/EMQ formulas. They are applied to individual product types. However, as manufacturing techniques become increasingly more complex, solving the lot sizing problems become more dicult. First, limitations on manufacturing resources have to be considered; their capacities may be insucient to satisfy all demands. This leads to the so-called capacitated lot sizing problem. Second, more than one product may have to share the same manufacturing resources; therefore, determining product mix become another problem to be resolved. The competition for resources among products makes the problems even more dicult to solve. This problem is usually referred as multi-item capacitated lot sizing. Third, the number of periods considered is another factor a€ecting the degree of diculty of lot sizing problems. The EOQ/EMQ models, which consider the timing of setups on a continuous time horizon, determine the sequencing and the cycle time length. Whereas, the conventional capacitated lot sizing models and MRP systems [27] consider time-phased decisions Ð multiple period decisions. Fourth, producing one lot of a particular product in a particular period requires one setup for that product on each required resource during that period. A setup may imply two kinds of resource consumption. One is setup cost, which is expressed in monetary terms. The other is setup time, which consumes a certain amount of resource-hours. In sum, there are ®ve dimensions of problem complexity Ð availability of multiple limited resources, existence of multiple products, multiple periods in the planning horizon, setup times and setup costs. Our heuris{To whom all correspondence should be addressed. Tel.: +886-3-5742939 Fax: +886-3-5722685; E-mail: yifeng@ ie.nthu.edu.tw 1027

1028

Yi-Feng Hung and Yi-Cheng Hu

Fig. 1. Printed circuit board assembly.

tic is designed to solve a very generalized problem involving all ®ve dimensions of complexity: it allows for more than one resource, more than one product type and more than one planning periods, as well as setup times and setup costs. Because our problem formulation di€ers from the conventional capacitated lot sizing problem, we call our formulation production planning with setups. It involves decisions concerning the quantities of each product to be made in each period by a manufacturing facility. Various machines at that facility requires product setup. If a particular product is to be manufactured during a certain period, each required machine must be set up in that period to make production possible. On the other hand, if a certain product is not to be produced, no setups for this product need be performed on any of the machines. A setup means deducting the setup time from available resource-hours and deducting the setup cost from the maximized cash-¯ow objective function of the formulation. Thus, our problem is a generalized version of capacitated lot sizing problem, that includes setup times and setup costs. That is, we consider setup decisions for production planning involving multiple products manufactured on multiple resources over multiple periods. This kind of problem is frequently encountered in manufacturing environments. However, as in the conventional capacitated lot sizing problem, we assume the setup status cannot be carried over to the next period and we do not consider sequencing decisions within each period. Figure 1 presents an example of production planning with setup. This ®gure shows the manufacturing process of printed circuit board assembly. The automatic insertion machines require setups in which the required electronic components are put on the machine reels and di€erent products require di€erent setups.

2. LITERATURE REVIEW

Elmaghraby [12] reviewed the widely used EOQ/EMQ models. Bahl et al. [1] pointed out that lot sizing problem with setup time and/or setup cost is one of the most renowned issues for a long time and the multiple resource problem is particularly formidable. They classi®ed lot size models according to the nature of the demand considered Ð single level (independent demand) or multiple level (dependent demand) and according to whether the models are capacitated (limited by resource capacity). Therefore, they identi®ed four classes of model Ð single level unconstrained resource, single level constrained resource, multiple level unconstrained resource and multiple level constrained resource. They also reviewed previous works using ®ve criteria: computational e€ort, generalization, optimality, simplicity and testing of the proposed methods. Maes and Van Wassenhove [26] reviewed single resource heuristic models and compared them in computational experiments. The major works before the review by Bahl [1] include Eisenhut [11], Lambrecht and Vanderveken [19], Dixon and Silver [8], Dogramaci et al. [9], Thizy and Van Wassenhove [33], Maes and Van Wassenhove [25] and Barany et al. [2]. When considering setup times, lot sizing problems become very dicult to solve. Manne [23] used linear programming to obtain approximate solutions for economic lot size problems involving multiple products. Dzielinski and Gomory [10] applied Dantizig±Wolf decomposition prin-

Solving mixed integer programming PPP

1029

ciple to this type of problem. Lasdon and Terjung [20] proposed a heuristic algorithm that used the duality theory to obtain the lower bounds of optimal solutions. Lot® and Chen [22] proposed an ecient algorithm to replace general purpose transportation algorithms in solving multi-item capacitated production planning problems. Saydam and Evans [31] compared the computation eciencies of various algorithms for single item dynamic lot sizing. Hindi [13] solved the single item lot sizing problem by using the Tabu search and demonstrated that Tabu searches can generate optimal solutions eciently. Hindi [14] considered multi-item, single-level, dynamic lot sizing problem in the presence of a single resource and modeled the problem using variable rede®nition, subsequently leading to a sharp lower bound in branch-and-bound search. Sandbothe and Thompson [28] solved a lot sizing problem that allowed for stockouts. Sandbothe eciently solved the single-product problem with startup and reservation costs by using a forward dynamic programming algorithm [29] and, later, extended this to the multiple-product problem [30]. Trigeiro et al. [34] worked on a single resource, setup time and setup cost capacitated lot sizing problem using an iterative procedure. They decomposed the capacity constraint by Lagrangian relaxation into a set of uncapacitated single product lot sizing problems, which were easily solved by dynamic programming. They also showed that lot sizing is a much more dicult problem when setup times are considered. Two similarities can be found between Trigeiro's approach and ours. First, both schemes use iterative approaches. Second, they used shadow prices as ``opportunity costs'' in adjusting the parameters for the next solution iteration; whereas, our method uses shadow prices as ``capacity opportunity revenues'' in predicting revenue gained by eliminating certain setup(s). Multiple resource problems have received only limited attention. Tempelmeier and Helber [32] proposed heuristic methods for two problems: single-level capacitated lot sizing problem and multi-level uncapacitated lot sizing problems. Maes et al. [24] dealt with a multi-level problem involving multiple resources and setup times by rounding an LP solution for integer variables. Dillenberger et al. [7] proposed a model in which the last setup in a period could be carried over to the next period for a multiple resource problem. Dauzere±Peres and Lasserre [6] integrated decisions at the level of lot sizing (planning) and the level of detailed scheduling to ensure feasibility. Billington et al. [3] mentioned that MRP system computation assumes ``in®nite loading'' and therefore the production schedule must then be manually adjusted to ensure the capacity feasibility. They thus solved the multi-level MRP problem with multiple resources by formulating it as linear programming and mixed integer programming and by restructuring the problem to reduce its problem size. Most recently, Kuik and Salomon [18] also provided a review of this topic, in which they structured the lot sizing problem and the models that have been proposed for it. Even though there have been plenty of research works on this type of problem, models dealing with the degree of complexity presented in this study are rather scarce. 3. MIXED INTEGER PROGRAMMING FORMULATION

The branch-and-bound method was developed in the 1960's to solve integer programming problems. This method can easily solve problems with a small number of integer variables. However, when it is used to solve larger problems, its solution time grows exponentially and it is a NP-hard problem. In this area of research, Crowder et al. [4] proposed a new algorithm for pure binary integer programming. This method can solve problems with more than thousands of binary integer variables. Johnson et al. [16] later made this method more ecient. Van Roy and Wolsey [35] successfully solved the MIP by using the techniques of automatic problem preprocessing, the generation of cutting planes and clever branch-and-bound. However, optimal solution techniques for MIP problems are not of primary concern in this study. Our generalized production planning problems with setups can be formulated as an MIP: (1) Index: i: product type, i = 1, 2, . . ., I; k: resource type, k = 1, 2, . . ., K; t: planning period, t = 1, 2, . . . , T.

1030

Yi-Feng Hung and Yi-Cheng Hu

(2) Decision variables: Xit: the quantity of product i produced in period t; Iit: the inventory level of product i at the end of period t; Bit: the backorder level of product i at the end of period t; Yit: the setup decision for product i during period t, a binary integer variable. The relationship with Xit is de®ned by: Yit ˆ d…Xit † ˆ 0

if Xit ˆ 0;

Yit ˆ d…Xit † ˆ 1

if Xit > 0:

(3) Parameters: ckt: the available resource-hours of resource k in period t; uik: the setup time for product i on resource k; aik: the consumption of resource k per unit of product i; hit: the inventory holding cost per unit of product i at the end of period t; bit: the backorder cost per unit of product i at the end of period t; rit: the revenue per unit of product i in period t; sikt: the setup cost of product i on resource k during period t; dit: the external demand for product i in period t; Ii0: the initial inventory of product i; M a huge number to be used in the inequality that allows Xit to be any possible positive value, when Yit=1. (4) Objective function: Maximize

I X T I X T I X T I X T X K X X X X rit Xit ÿ hit Iit ÿ bit Bit ÿ sikt Yit : iˆ1 tˆ1

iˆ1 tˆ1

iˆ1 tˆ1

…1†

iˆ1 tˆ1 kˆ1

(5) Constraints: (1) Inventory balance: Ii,tÿ1 ÿ Bi,tÿ1 ‡ Xit ÿ Iit ‡ Bi,t ˆ dit

8i 8t

…2†

(2) Resource capacity: I I X X uik Yit ‡ aik Xit Rckt iˆ1

8k8t

…3†

iˆ1

(3) Domain constraints: Xit ÿ MYit R0 Yit ˆ 0 or 1

8i 8t 8i 8t

Xit , Bit , and Iit r0

8i 8t

…4† …5† …6†

Our production planning model is derived from the corporate-level production planning model provided by Leachman [21] and Hung and Leachman [15]. There are several di€erences between our formulation and the conventional capacitated lot sizing problem that must be mentioned. First, in the conventional capacitated lot sizing problem, the objective function normally minimizes the total cost and the formulation attempts to ®nd a feasible minimum cost solution. However, the objective of this model is to maximize the corporate cash ¯ow (equation (1)), since it was originally intended for the electronics industry. Due to the nature of this industry, some products are highly pro®table, others are less pro®table. Thus, decisions concerning product mixes a€ect corporate pro®tability and so it is extremely important to achieve maximal cash ¯ow. Second, due to the high capital investments involved, booked orders and forecasted demands normally exceed available capacities. Thus, using the conventional formulation for capacitated lot sizing problem may not obtain feasible solutions owing to high demand levels.

Solving mixed integer programming PPP

1031

Therefore, inventory balance constraints (constraint (2)) use not only inventory variables, but also backorder variables. By using backorder variables in our formulation, we allow demand to exceed capacity and make possible for producing products to ful®ll earlier demands; by using inventory variables, we allow the LP model to build ahead. In our experiment, we assumed no initial inventories and initial backorders; i.e. Ii0=0 and Bi0=0, 8i. In addition, production to meet (unrealized) demands beyond the planning horizon is not planned; thus, we set the IiT=0, 8i. However, since the total demand may exceed the total capacity, the last period backorder (BiT) can be nonzero. In our generalized formulation, we also include setup times in the capacity constraints (constraint (3)) and setup costs in the objective function (constraint (1)). However, we believe that setup costs should be trivial for the electronics industry. Since machine costs are normally treated as sinking costs and the machine costs are constant regardless of production plans, these machine costs need not be considered in the objective function. The model is aimed at allocating available resource-hours to various products so as to optimize total corporate cash ¯ow. For the same reason, we can eliminate the setup cost terms from the objective function unless there are additional relevant costs other than machine cost. In the electronics industry, setups usually involves only engineering tooling changes; thus, the only costs associated with them are machine costs. Therefore, setup costs were not originally included in our model for the electronics industry. However, in order to comply with the conventional capacitated lot sizing problem, we add setup cost terms to our objective function. 4. HEURISTIC ALGORITHM UTILIZING SHADOW PRICES

When solving problems modeled as LP formulations, normally only the optimal solutions of the decision variables are used; the shadow prices of the constraints are usually overlooked. In fact, these shadow prices may provide as much valuable information as does the decision variable solutions. In our approach, this shadow price information is essential to making setup decisions. There are two basic computation modules in this heuristic algorithm: the linear programming production planning module and the unsetup decision feedback module. Figure 2 depicts the basic computational scheme. Initially, we can assume that we do setups for every product on every machine in every period; i.e. we plan to produce all products in all periods. The setup times can then be subtracted from the right-hand-side of the resource capacity constraints. Thus, an LP formulation is obtained instead of an MIP. Our heuristic method cannot handle cases in which the total setup times for all products are greater than the total available capacity during a period, since we assume in the ®rst iteration all setups are performed. If this is the case, the right-hand-side of the capacity constraint will be negative, thus causing the LP problem infeasible. However, such a situation is uncommon in industrial practice. Once this LP formulation is solved under the assumption of doing all setups, we have optimal solutions for all the production variables and shadow prices for all capacity constraints. By using the above information, we can determine which setups may not be pro®table to do. As indicated in Fig. 2, the unsetup decision feedback module will recommend certain product(s) in certain period(s) not be setup and produced. Once we have these unsetup decision(s), the right-hand-side of the capacity constraint for the relevant resource(s) in the relevant period(s) can be increased by the setup time(s) and the LP problem can then be solved again. These two modules can be continually be iterated until the termination condition, that no more setups are worth removing, is satis®ed. We need further notation de®nition to formally present our heuristic algorithm: (1) Parameters for LP optimal solutions: Xit: the production quantity of product i in period t. Okt: the shadow price of the capacity constraint on machine k in period t. Yit: the binary variable for setup. Yit=1 means do setup for product i in period t and Yit=0 means otherwise. (2) Variables: Aikt: under current optimal LP solution, the surplus capacity of resource k if we do not produce i in period t.

1032

Yi-Feng Hung and Yi-Cheng Hu

PNit: the projected revenue gain from using the surplus capacity, which is provided by not producing product i during period t, to produce other products. PYit: the projected revenue gain from producing product i during period t. NYit: the projected revenue di€erence between not producing and producing product i during period t. Xit: the Xit value of current best heuristic solution. Yit: the Yit value of current best heuristic solution. the current best heuristic objective value. F: cÄkt: the current total available resource-hours for resource k during period t excluding setup times.

The pseudo code for the heuristic algorithm is as follows: Step 1: Set F=0. Step 2: Assume that we are going to set up for each product during each period and subtract the resource-hours required to set up for all products from the initial available resource-hours for each resource during each period. That is, we assume that Yit=1, 8i 8t which then make equation (3) to become: I X

aik Xit Rc~kt ˆ ckt ÿ

iˆ1

I X uik

8k8t

iˆ1

and, domain constraints (4) and (5) can be omitted. We have transformed an MIP problem into an LP problem. Step 3: Solve the current LP problem. Step 4: If the F
‡

K X sikt

8i 8t:

kˆ1

PNit represents the projected revenue gained by utilizing the capacity on other products during period t instead of on product i during period t. There are two terms in the formula: (1) aKkˆ1 OktAikt is the revenue gained by not producing product i during period t. The shadow prices of capacity constraints may be interpreted as the amount of increase in the objective function if we marginally increase one unit of its right-hand-side under the current basis. This term is the surplus capacity multiplied by the shadow prices of the corresponding capacity constraints. This, therefore, is the projected revenue gained by utilizing the capacity on the other products instead of product i in period t. (2) aKkˆ1 sikt is the setup cost savings. If we do not make product i during period t, the setup costs can be saved. Compute PYit=ritXit 8i 8t. PYit is the revenue gained by making product i during period t. Compute NYit=PNitÿPYit 8i 8t.

Solving mixed integer programming PPP

1033

Fig. 2. Iterative heuristic computation scheme.

NYit is the projected revenue di€erence between not making and making product i during period t. Step 6: If the NYit<0 for each product i and each period t, then the current F, Xit and Yit are the ®nal solutions of the heuristic algorithm, therefore stop; otherwise, go to the next step. Step 7: Select ``some'' (i, t)'s whose Xit=0 or that have large NYit values, and let their corresponding Yit=0; this represents not setting up for product i during period t and not producing any product i during period t. In step 2, we initially assume setups are performed for all products in every period and have already subtracted the setup time(s) from the right-hand-side(s). Thus, if we decide here not to do the setup(s), we must add the setup time(s) back to the righthand-sides of the capacity constraints (constraint (3)). If we do not set up for (i, t), we cannot produce (i, t). Therefore, we have to either eliminate the Xit column from the LP matrix or add the constraint of Xit ˆ 0, for every (i, t) that we choose not to set up for. In the next section, we discuss how to select sets of (i, t)'s, whose setup will be eliminated. Go to step 3. Figure 3 displays the ¯ow chart of the heuristic algorithm. Our programs were written in C programming language [17] and the LP and MIP formulations are optimized using the CPLEX optimization software package [5]. The two modules shown in Fig. 2 are combined into a single program, in which a function was written to perform unsetup decisions computations. In each iteration, the main program solves the current LP, then the unsetup function computes the unsetup decisions, after which the main program deletes the column(s) of production variable(s) (Xit) from the LP matrix and updates the right-hand-sides of the appropriate capacity constraint(s). In this manner, CPLEX re-solve the LP problem starting from an advanced basis provided by the previous iteration. This is similar to performing sensitivity analysis on a single LP problem. Computing the heuristic algorithm in this manner is quite ecient. Section 6 provides a more detailed discussion. 5. SELECTION METHOD IN STEP 7 OF THE HEURISTIC ALGORITHM

This section presents the selection rules used in step 7 of the heuristic algorithm discussed in the previous section.

1034

Yi-Feng Hung and Yi-Cheng Hu

Fig. 3. Flow chart of the heuristic algorithm.

5.1. Consider whether optimal solutions Xit=0 for (i, t)'s being setup A particular product in a particular period may have been set up (already subtracted its setup time from the available resource-hours); but, its LP optimal value might be equal to zero. That is, we set up to produce nothing. We can eliminate this kind of setup that we choose to do pre-

Table 1. The value of Yit for product 1 Period Product

2

3

4

5

6

7

8

9

10

11

12

1

1

1

0

1

0

1

1

1

1

0

0

Solving mixed integer programming PPP

1035

viously, since we do not need to perform setups to produce zero unit. If considering this situation, we have the following choices: (1) In the current iteration, all the setups of (i, t)'s for which Xit=0 are removed; i.e. those setup times will be added back to the right-hand-sides of the appropriate capacity constraints. (2) In the current iteration, we select only one (i, t) whose Xit=0, and the selection criterion is to choose the (i, t) that has the largest PXit value as calculated by PXit ˆ

K X …uik  Okt †, 8i 8t: kˆ1

PXit is used to estimate the revenue gained by using the setup time for (i, t). 5.2. How to select (i, t)'s for which NYit>0 There are two approaches: 1. Select a single (i, t) that has the largest NYit. 2. Select all (i, t)'s for which NYit>0. 5.3. Consider if previous setup period having extra capacity The condition that will terminate the heuristic algorithm is that every NYit<0. As the iterations proceed, the more setups we delete and the closer we come to the point where there are an insucient number of setups to allow production to fully use the available capacity. We may turn o€ some of the setups to make some demand that cannot be ®lled during other periods. An example is shown in Table 1. If NY15 and NY17 are greater than zero, this means it could be worthwhile to turn o€ the setups for product 1 in period 5 and 7. However, if we decide not to make product 1 during period 5 and 7, we may want to produce it earlier, during period 3. However, if period 3 has no extra production capacity, we may have to delay delivery of orders for product 1 during period 4, 5, 6 and 7, which is undesirable. Therefore, we can make one possible modi®cation by checking whether all of the required resources in the latest production period have idle capacity to make up for the missing production caused by eliminating these setups. We could add this additional ``earlier idle capacity criteria'' for the candidate (i, t)'s to be selected in step 7. 5.4. Eight heuristic selection rules From the above discussion, we can permute to eight heuristic selection rules for step 7 shown in Table 2. 6. EXPERIMENTS

We set up a series of experiments using randomly generated problems to test how e€ective our heuristic is and to determine which selection rule for step 7 is best. The experiments were Table 2. Heuristic selection rules for step 7 Rule 1 Rule 2 Rule 3 Rule 4 Rule 5 Rule 6 Rule 7 Rule 8

Consider if Xit=0, select all Xit=0.

No addition of ``earlier idle capacity criteria'' Addition of ``earlier idle capacity Consider if Xit=0, select all Xit=0. criteria'' No addition of ``earlier idle capacity Not consider if Xit=0 criteria'' Addition of ``earlier idle capacity Not consider if Xit=0 criteria'' Consider if Xit=0, select the (i, t) with No addition of ``earlier idle capacity the biggest PXit criteria'' Consider if Xit=0, select the (i, t) with Addition of ``earlier idle capacity the biggest PXit criteria'' Not consider if Xit=0 No addition of ``earlier idle capacity criteria'' Not consider if Xit=0 Addition of ``earlier idle capacity criteria''

Select all (i, t) for which YNit>0 Select all (i, t) for which YNit>0 Select all (i, t) for which YNit>0 Select all (i, t) for which YNit>0 Select the (i, t) with the biggest YNit Select the (i, t) with the biggest YNit Select the (i, t) with the biggest YNit Select the (i, t) with the biggest YNit

1036

Yi-Feng Hung and Yi-Cheng Hu Table 3. Default parameter ®le for the randomly generated problems

Number of products Number of resources Number of periods Number of working day per period Working hours per day Setup cost Demand Revenue per unit product Processing time per unit product Setup time

Minima

Maxima

4 5 5 5 24.0 0.0 20.0 10.0 1.5 0.5

4 5 5 5 24.0 0.0 25.0 30.0 2.5 1.5

performed on an HP 735/125 computer work station. Using a particular parameter ®le, 60 experimental problems are randomly generated from 60 di€erent initial seeds. Eight heuristic methods were applied to each random problem using one of the selection rules each time. The experiment results for application of a particular selection rule to a particular parameter ®le are the averaged results of all the 60 random problems generated from the same parameter ®le. The random distribution we used to generate problems was uniform distribution; two uniform distribution parameters must be speci®ed: minima and maxima of the range. Table 3 shows the default parameter ®le. The number of products, the number of resources, the number of periods, the number of working days per period and the number of working hours per day were constant parameters for a particular problem. Whereas the rest of the problem data were generated by the uniform distribution with the parameters speci®ed by the values in the ®le. For instance, in the default parameter ®le, the demand for a particular product during a particular period was randomly generated from the uniform distribution with parameters 20.0 and 25.0. Another purpose of our experiments was to ®nd out whether changes in the following problem conditions a€ect the performance of the heuristic (if the rest of the parameters remain ®xed, as speci®ed by the default parameter ®le): (1) the number of products, (2) the number of periods in the planning horizon, (3) the number of resources, (4) the setup time magnitudes, (5) variations in setup times, (6) the setup cost magnitudes, (7) variations in product revenues, (8) variations in processing times, (9) variations in demands and (10) the demand-to-capacity ratios. The criteria use herein to measure the e€ectiveness of the heuristics are the solution gaps between optimal solutions of the MIP and the heuristic solutions. That is, Solution gap ˆ

mÿh  100%, m

where m is the optimal solution of an MIP problem and h the solution of the heuristic method. Table 4 shows the averaged percentages of the times each selection rule produced the best heuristic solution. For a particular problem, more than one selection rule could produce the same best heuristic solution, which is why the sum of all percentages exceeds 100%. As this table shows, the selection rule 5 produced the best heuristic solutions in 98.1% of all random problems. This selection rule does not consider the ``earlier idle capacity criterion'' and selects one (i, t) at a time; furthermore, whenever Xit=0, it chooses the (i, t) with the largest PXit, and if no Xit=0, it selects the (i, t) with the largest NYit. However, Table 5 shows that selection rule 5 needed the most LP's to arrive at completion. On average, twenty-one LP problems were solved; i.e. twenty-one iterations were conducted by this heuristic algorithm. Since only one setup is deleted during each iteration of this algorithm, more iterations will be required to ®nd the solution. But on the other hand, due to this conservative decision making during each iteration, the unsetup decisions are made wiser. Thus, this selection rule performed better than other selection rules. Our results also indicate that the branch-and-bound MIP solution method Table 4. The averaged percentage of the times each selection rule producing the best heuristic solutions

Times yielding best heuristic solution (%)

Rule 1

Rule 2

Rule 3

Rule 4

Rule 5

Rule 6

Rule 7

Rule 8

40.8

40.8

5.2

5.2

98.1

54.7

5.4

5.3

Solving mixed integer programming PPP

1037

Table 5. The average number of LP's solved and the average CPU time used by the heuristics and the branch-and-bound method Rule 1

Rule 2

Rule 3

Rule 4

Rule 5

Rule 6

Rule 7

Rule 8

2.88

2.18

2.00

1.29

20.87

8.81

15.35

3.52

0.301

0.291

0.243

0.235

Average number of LP's solved Average CPU time (s)

0.697

0.547

0.442

0.266

Branch-andbound 7862.3 52.857

Table 6. The average additional CPU time percentage for the heuristics

Average additional CPU time (%)

Rule 1

Rule 2

Rule 3

146.7

139.9

102.1

Rule 4 96.3

Rule 5

Rule 6

Rule 7

Rule 8

493.4

366.9

228.6

119.8

Table 7. The solution gap for the heuristics using di€erppent numbers of products Number of products

Solution gap for heuristic using selection rule 5 (%) Solution gaps of 8 selections rules (%)

2

3

4

5

6

7

0.21

0.13

0.34

0.38

0.65

0.74

0.21

0.13

0.34

0.37

0.64

0.74

took many more LP's (7862 LP's) to ®nd the optimal solutions. In addition, Table 5 also show the average CPU time used the heuristic methods and the MIP branch-and-bound method. As mentioned previously, the LP problems other than the initial LP problem can be solved using the advanced basis of previous LP solution. We, therefore, collected and computed the additional CPU time percentage using Additional CPU time percentage ˆ

aÿi  100%, i

where, a is the overall CPU time used by the heuristic algorithm and i the CPU time used by the ®rst LP problem (the ®rst iteration). Table 6 lists the average additional CPU time percentages required by the eight heuristic rules. According to this table, even if we theoretically solve twenty-one LP's with the selection rule 5, it only takes about the time used by six LP problems. Our programs were used for research purposes. For industrial applications, the eciency of the programs can de®nitely be greatly improved. As previously mentioned, solving LP's is less troublesome than solving MIP's. Solving six realistic LP problems can be done quite eciently using modern computer techniques. On the other hand, on average, 7862 LP's had to be solved in order to obtain the solution of the MIP formulation in our experiment. The eciency di€erence is very clear. We tried to ®nd the factors that will in¯uence the performance of the heuristics. Ten di€erent sets of experiments were performed. Each average solution gap is based on 60 random problems from the same parameter ®le. Since the heuristic that used selection rule 5 performed best, only its results and the best of all eight selection rules are shown in the following presentation. 6.1. The number of products By ®xing the rest of the parameters at the values speci®ed by the default parameter ®le, we tested the heuristic using 2, 3, 4, 5, 6 and 7 products to see how the number of products will a€ect the performance of the heuristic. As we know, the greater the number of products, the more integer variables in the MIP formulation. The average solution gaps for the 60 random problems using di€erent number of products in the problems are shown in Table 7. For the heuristic using selection rule 5, the solution gap was 0.74% when there were 7 products (35 integer variables); and, the solution gap was 0.21% when there were only two products (10 integer

1038

Yi-Feng Hung and Yi-Cheng Hu Table 8. The solution gaps for the heuristic using di€erent number of planning periods Number of periods

Solution gaps for heuristic using selection rule 5 (%) Solution gaps of 8 selections rules (%)

2

3

4

5

6

7

8

0.24

0.27

0.31

0.34

0.38

0.43

0.39

0.24

0.27

0.31

0.34

0.38

0.43

0.37

Table 9. The solution gaps for the heuristic using di€erent number of resources Number of resources

Solution gaps for heuristic using selection rule 5 (%) Solution gaps of 8 selections rules (%)

1

3

5

7

9

11

13

15

17

0.43

0.38

0.34

0.30

0.27

0.31

0.24

0.26

0.32

0.43

0.38

0.34

0.30

0.27

0.31

0.24

0.26

0.31

Table 10. The solution gaps for the heuristic using di€erent setup time magnitudes Setup time percentage of total capacity (%)

The parameters of the uniform distribution for the setup time Solution gaps for heuristic using selection rule 5 (%) Solution gaps of 8 selections rules (%)

1

2

5

7

10

0.1, 0.3

0.2, 0.6

0.5, 1.5

0.7, 2.1

1.0, 3.0

0.03

0.10

0.34

0.50

0.75

0.03

0.10

0.34

0.50

0.74

Table 11. The solution gaps for the heuristic using di€erent setup time variations The parameters of uniform distribution for setup time 1.0, 1.0 Solution gaps for heuristic using selection rule 5 (%) Solution gaps of 8 selections rules (%)

0.75, 1.25

0.5, 1.5

0.25, 1.75

0.1, 1.9

0.32

0.33

0.34

0.36

0.36

0.32

0.33

0.34

0.36

0.36

variables). We can thus conclude that the number of products does a€ect the performance of the heuristic. 6.2. The number of periods in the planning horizon We wanted to investigate the e€ects of di€erent numbers of periods. As the number of periods is increased from two to eight, the number of integer variables also increases. As Table 8 shows more periods in the planning horizon implies larger solution gaps. When the number of periods was increased from two to eight, solution gaps increased by less than double. 6.3. The number of resources The number of resources was varied from 1, 3, 5, 7, 9, 11, 13, 15 to 17. Table 9 shows no signi®cant relationship between solution gap and number of resources; however, the largest solution gap was in the single resource case. 6.4. Setup time magnitudes In the default parameter ®le, the expected total setup times of all products was 5% of the expected total available resource-hours during a period. In this experiment, we tested cases of 1%, 2%, 5%, 7% and 10% to see how the setup time percentage in¯uences the performance of the heuristic. The second row of Table 10 displays the parameters of the uniform distribution for setup times. This table also show that increasing the setup time does a€ect the performance of the heuristics. When the expected total setup time constituted only 1% of the expected total

Solving mixed integer programming PPP

1039

Table 12. The solution gaps for the heuristic using di€erent setup cost magnitudes Setup cost factor

The parameters of the uniform distribution for setup time Solution gaps for heuristic using selection rule 5 (%) Solution gaps of 8 selections rules (%)

0.0

0.5

1.0

1.5

2.0

0.0, 0.0

4.0, 6.0

8.0, 12.0

0.34

0.56

0.82

1.05

1.32

0.34

0.56

0.82

1.05

1.32

12.0, 18.0

16.0, 24.0

Table 13. The solution gaps for the heuristic using di€erent revenue variations The parameters of the uniform distribution for revenue per unit product 19.9, 20.1 Solution gaps for heuristic using selection rule 5 (%) Solution gaps of 8 selections rules (%)

15.0, 25.0

10.0, 30.0

5.0, 35.0

1.0, 39.0

0.40

0.41

0.34

0.28

0.24

0.38

0.41

0.34

0.28

0.24

Table 14. The solution gaps for the heuristic using di€erent processing time variations The parameters of the uniform distribution for processing time 1.9, 2.1 Solution gaps for heuristic using selection rule 5 (%) Solution gaps of 8 selections rules (%)

1.7, 2.3

1.5, 2.5

1.0, 3.0

0.5, 3.5

0.34

0.30

0.34

0.32

0.28

0.34

0.30

0.34

0.32

0.28

available capacity, the solution gap was only 0.03%. When the total setup time constituted 10%, the solution gap is increased to 0.74%. Thus, setup time percentage signi®cantly a€ects the performance of the heuristics. 6.5. Variations in setup times We wanted to investigate the e€ects of variations in setup times. By ®xing the mean of setup time constant, we changed the range of the uniform distribution for generating setup times. The results are shown in the ®rst row of Table 11. According to this table, increasing variations in setup time does not seem to a€ect the performance of the heuristics. 6.6. Setup cost magnitude As previously mentioned, the setup cost is trivial in our original application. However, to comply with the conventional capacitated lot sizing problem, various expected setup costs were also tested. Here, we wanted to determine how setup cost magnitude a€ects the performance of the heuristics. The ®rst row of Table 12 lists the parameters for the uniform distribution of random setup costs. It also shows that the setup cost factor does a€ect the performance of the heuristics. Larger setup costs imply larger solution gaps. 6.7. Variations in product revenues We instigated the e€ects of various revenue factors among products. We changed the parameters of the uniform distribution that generated products revenues after ®xing the mean of the distribution constant (=20.0). The resulting parameters are shown in the ®rst row of Table 13, which also shows that the greater the variation in product revenue, the smaller the solution gap. 6.8. Variations in processing times To determine whether processing time variations among di€erent products a€ects the performance of the heuristics, we used ®ve groups of parameters for the uniform distributions, as shown in Table 14. All distributions had the same mean value. Table 14 shows that the relationship between variation in processing time per unit product and the performance of the heuristic is insigni®cant. However, it does seem that the highest variation has the lowest solution gap.

1040

Yi-Feng Hung and Yi-Cheng Hu Table 15. The solution gaps for the heuristic using di€erent demand variations The parameters of the uniform distribution for demand 22.0, 23.0

Solution gaps for heuristic using selection rule 5 (%) Solution gaps of 8 selections rules (%)

21.0, 24.0

20.0, 25.0

19.0, 26.0

18.0, 27.0

0.35

0.33

0.34

0.32

0.34

0.35

0.33

0.34

0.32

0.33

Table 16. The solution gaps for the heuristic using di€erent demand-to-capacity ratio Demand-to-capacity ratio 1.1 The parameters of the uniform distribution for demand Solution gaps for heuristic using selection rule 5 (%) Solution gaps of 8 selections rules (%)

14.0, 19.0

1.3 17.0, 22.0

1.5 20.0, 25.0

1.7 23.0, 28.0

1.9 26.0, 31.0

0.42

0.34

0.34

0.23

0.19

0.41

0.34

0.34

0.22

0.19

6.9. Variations in demand We varied the parameters of demand distribution, as shown in Table 15. The mean of these distributions were the same: all were equal to 22.5. However, the variance is shown becoming larger in the ®rst row of Table 15, but the relationship between demand variation and the performance of the heuristic was insigni®cant. 6.10. The demand-to-capacity ratio We tested how the tightness of resource capacity constraints a€ects the heuristics by changing the demand levels. We varied the demand-to-capacity ratio, which is de®ned by the expected resource-hours required by expected total demand during a period divided by the expected total resource-hours available during that period. However, the expected total available resourcehours are not subtracted by any of the setup times. The experiments with di€erent demand-tocapacity ratios were performed by varying it from 1.1, 1.3, 1.5, 1.7 to 1.9. The demand distributions are shown in the second row of Table 16. Table 16 also indicates that the tightness of the capacity signi®cantly a€ects the performance of the heuristics. The higher the demand-to-capacity ratio, the smaller the solution gap. That is, when the capacity required by the demand is about the same as the available capacity, the problem is more dicult. This result agrees with that obtained by Trigeiro et al. [34]. 7. CONCLUSIONS

Based on the results in this study, we can conclude the following. Selection rule 5 is the best among all the selection rules. It generated the best heuristic solution in 98% of our test problems. This rule deletes one setup at a time. Thus, it is less likely to make a wrong setup deletion. The heuristic with rule 5 should be used for industrial applications; if there is more time for solution, we can try other rules based on the sequence suggested in Table 4 (rule 6, 1, 2, 7, 8, 3 and #4), until we have no more time to solve the problem and use the best solution found thus far. Our heuristic is much more ecient than the branch-and-bound algorithm. The solution time of the heuristic algorithm is comparable to that of solving a few LP problems. The number of products and the number of periods (the product of these two numbers is the number of integer variables in the MIP formulation) a€ect the performance of our heuristics. For the e€ect of changing number of planning periods in problems, the ratio of increase in the solution gap is much less than the ratio of increase in the number of integer variables. Whereas, the number of product in a problem more signi®cantly a€ects the heuristic performance. The reason may be that di€erent products compete for resources and more products means more dif®culty in solving the problem. But, the number of planning periods does not have such signi®cant e€ect.

Solving mixed integer programming PPP

1041

Setup time and setup cost do a€ect the performance of the heuristics. The longer the setup time and the larger the setup cost, the worse the heuristic performs. However, as mentioned previously, the setup costs are trivial for our original application and setup times should not be too large using the JIT paradigm. Application of our heuristic is still proper for these cases. The tightness of capacity does a€ect the performance of the heuristics. When the capacity required by the demand is about the same as the capacity available, the solution gap is worse than when demand is relatively greater than capacity. The large revenue variations implies better heuristic performance. This is the only increasing factor that makes our heuristic perform better. That is probably because product selection is relatively easy when the revenue di€erences among products are large. Many factors do not a€ect the performance of the heuristics. They include the number of resources, setup time variations, processing time variations and demand variation. Among those factors, it must be noted that a larger number of resources does not degrade the performance of the heuristic. Our heuristic can eciently provide reasonably good solutions for the production planning, while the MIP branch-and-bound method cannot provide the optimal solutions fast enough for today's complicated production planning problems involving multiple products, multiple resources, multiple periods and dicult setup decisions.

REFERENCES 1. Bahl, H. C., Ritzman, L. P. and Gupta, J. N. D., Determining lot sizes and resource requirements: a review. Operations Research, 1987, 35(3), 329±345. 2. Barany, I., Van Roy, T. J. and Wolsey, L., Strong formulations for multi-item capacitated lot sizing. Management Science, 1984, 30(10), 1255±1261. 3. Billington, P. J., McClain, J. O. and Thomas, L. J., Mathematical programming approaches to capacity-constrained MRP systems: review, formulation and problem reduction. Management Science, 1983, 29(10), 1126±1140. 4. Crowder, H., Johnson, E. L. and Padberg, M., Solving large-scale zero-one linear programming problems. Operations Research, 1983, 31, 803±834. 5. CPLEX, Using the CPLEX Callable Library. CPLEX Optimization, 1994. 6. Dauzere-Peres, S. and Lasserre, J.-B., Integration of lotsizing and scheduling decisions in a job-shop. European Journal of Operational Research, 1994, 75, 413±426. 7. Dillenberger, C., Escudero, L. F., Wollensak, A. and Zhang, W., On practical resource allocation for production planning and scheduling with period overlapping setups. European Journal of Operational Research, 1994, 75, 275± 286. 8. Dixon, P. S. and Silver, E. A., A heuristic solution procedure for the multi-item, single-level, limited capacity, lot-sizing problem. Journal of Operations Management, 1981, 2(1), 23±39. 9. Dogramaci, A., Panayiotopoulos, J. C. and Adam, N. R., The dynamic lot sizing problem for multiple items under limited capacity. AIIE Transaction, 1981, 13(4), 294±303. 10. Dzielinski, B. P. and Gomory, R. E., Optimal programming of lot size, inventories and labor allocations. Management Science, 1965, 11(9), 874±890. 11. Eisenhut, P. S., A dynamic lot sizing algorithm with capacity constraints. AIIE Transaction, 1975, 7(2), 170±176. 12. Elmaghraby, S. E., The economic lot scheduling problem (ELSP): review and extensions. Management Science, 1978, 24(6), 587±597. 13. Hindi, K. S., Solving the single-item, capacitated dynamic lot-sizing problem with startup and reservation costs by Tabu search. Computer and Industrial Engineering, 1995, 28(4), 701±707. 14. Hindi, K. S., Computationally ecient solution of the multi-item, capacitated lot-sizing problem. Computers and Industrial Engineering, 1995, 28(4), 709±719. 15. Hung, Y.-F. and Leachman, R. C., A production planning methodology for semiconductor manufacturing based on iterative simulation and linear programming calculations. IEEE Transactions on Semiconductor Manufacturing, 1996, 9(2), 257±269. 16. Johnson, E. L., Kostreva, M. K. and Suhl, U. H., Solving 0±1 integer programming problems arising from large scale planning models. Operations Research, 1985, 33(4), 803±819. 17. Kernighan, B. W. and Ritchie, D. M., The C Programming Language, Prentice-Hall, 1988. 18. Kuik, R. and Salomon, M., Batching decisions: structure and models. European Journal and Operational Research, 1994, 75, 243±260. 19. Lambrecht, M. and Vanderveken, H., Heuristic procedures for the single operation, multi-item loading problem. AIIE Transaction, 1979, 11(4), 319±326. 20. Lasdon, L. S. and Terjung, R. C., An ecient algorithm for multi-item scheduling. Operations Research, 1971, 19(4), 946±969. 21. Leachman, R. C., Modeling technique for automated production planning in the semiconductor industry. In Optimization in Industry, ed. T. A. Ciriani and R. C. Leachman. John Wiley and Sons, U.K., 1993, pp. 1±30. 22. Lot®, V. and Chen, W.-H., An optimal algorithm for the multi-item capacitated production planning problem. European Journal of Operational Research, 1991, 52, 179±193. 23. Manne, A. S., Programming of economic lot sizes. Management Science, 1958, 4(2), 115±135. 24. Maes, J., McClain, J. O. and Van Wassenhove, L. N., Multilevel capacitated lotsizing complexity and LP-based heuristics. European Journal of Operational Research, 1991, 53, 131±148.

1042

Yi-Feng Hung and Yi-Cheng Hu

25. Maes, J. and Van Wassenhove, L., Multi-item single-level capacitated dynamic lotsizing heuristics: a computational comparison. Part I. Static case. IIE Transaction, 1986, 18(2), 114±123. 26. Maes, J. and Van Wassenhove, L., Multi-item single-level capacitated dynamic lot-sizing heuristics: a general review. Journal of the Operational Research Society, 1988, 39(11), 991±1004. 27. Orlicky, J., Material Requirement Planning. McGraw-Hill, 1975. 28. Sandbothe, R. A. and Thompson, G. L., A forward algorithm for the capacitated lot size model with stockouts. Operations Research, 1990, 38(3), 474±486. 29. Sandbothe, R. A., The capacitated dynamic lot-sizing problem with startup and reservation costs: a forward algorithm solution. Journal of Operations Management, 1991, 10(2), 255±266. 30. Sandbothe, R. A., A user interactive heuristic procedure for solving the multiple product cycling problem. Computer and Operations Research, 1996, 23(9), 897±907. 31. Saydam, C. and Evans, J. R., A comparative performance analysis of the Wagner±Whitin algorithm and lot-sizing heuristics. Computers Industrial Engineering, 1990, 18(1), 91±93. 32. Tempelmeier, H. and Helber, S., A heuristic for dynamic multi-item multi-level capacitated lotsizing for general product structures. European Journal of Operational Research, 1994, 75, 296±311. 33. Thizy, J. M. and Van Wassenhove, L., Langrangian relaxation for the multi-item capacitated lot sizing problem: a heuristic implementation. IIE Transaction, 1985, 17(4), 308±313. 34. Trigeiro, W. W., Thomas, L. J. and McClain, J. O., Capacitated lot sizing with setup times. Management Science, 1989, 35(3), 353±366. 35. Van Roy, T. J. and Wolsey, L. A., Solving mixed integer programming problems using automatic reformulation. Operations Research, 1987, 35(1), 45±57.

AUTHORS' BIOGRAPHIES Yi-Feng Hung received the B.S. degree in Industrial Engineering from National Tsing Hua University, Hsinchu, Taiwan, and the M.S. degree in Industrial Engineering and the Ph.D. in Industrial Engineering and Operations Research from the University of California at Berkeley. He is an Associate Professor of Industrial Engineering at the National Tsing Hua University, Hsinchu, Taiwan. His research interests include production management, simulation application and factory database design for semiconductor manufacturing. Yi-Cheng Hu received the B.S. degree in Mathematics and the M.S. degree in Industrial Engineering from National Tsing Hua University, Hsinchu, Taiwan, R.O.C. He is a computer-integrated manufacturing engineer for Taiwan Semiconductor Manufacturing Company, Hsinchu, Taiwan, R.O.C. His research interests include computer-integrated manufacturing and production management for semiconductor manufacturing.