Job Sequencing and Inventory Control for a Parallel Machine Problem: A Hybrid-GA Approach

Size: px
Start display at page:

Download "Job Sequencing and Inventory Control for a Parallel Machine Problem: A Hybrid-GA Approach"

Transcription

1 Job Sequencing and Inventory Control for a Parallel Machine Problem: A Hybrid-GA Approach Jeffrey A. Joines and C. Thomas Culbreth jjoine@eos.ncsu.edu culbreth@eos.ncsu.edu Department of Industrial Engineering North Carolina State University, NC Abstract- In general, scheduling and sequencing problems are very difficult to solve to optimality (i.e., most problems are NP-Complete). In some instances, machines produce batch quantities of products which are placed in inventories. Demands are allocated directly from these inventories if available. If current inventory levels can not satisfy the demands and associated due dates, outsourcing some of the product, generally at a premium price offers a way to meet all due dates. Scheduling to meet due-dates coupled with inventory control is an important and more complex problem than the general scheduling problem. One application arises in furniture manufacturing where the lumber used to make furniture must first be dried from green lumber in a series of parallel batch machines (kilns). Drying lumber in-house is less expensive than purchasing commercially kiln-dried lumber. Therefore, the objective is to minimize the sum of the costs of drying lumber in-house and purchasing kiln-dried lumber in order to meet all due-dates plus any inventory carrying costs incurred over the planning horizon. The problem is decomposed into two sub problems: (1) the sequencing of the product types (lumber) on the machines (kilns); and (2) the allocation of inventory to satisfy the demands. A hybrid genetic algorithm determines the best sequence of product types to produce and an embedded linear program determines the optimal allocation of inventory and quantity of outsourced lumber that minimizes total cost. The hybrid algorithm is shown to be effective at solving the problem. 1 Introduction Procurement and drying of lumber is a time consuming and costly process requiring days, weeks, or even months to obtain properly dried lumber. Many furniture manufacturers are implementing demand activated manufacturing policies that reduce lot sizes and inventories. The effectiveness of these policies is limited by the typical drying technology which is dominated by large compartment kilns having capacities of 30 to 100 MBF. This mismatch of policy and technology adds complexity to lumber management by making it more difficult to: determine the optimal size, mix, and timing of lumber purchases; generate effective kiln loading schedules to meet demand requirements; achieve high kiln utilization; and control green and dry lumber inventory levels. In the short run, drying technology cannot be altered due to economics of scale in energy consumption. Therefore, effective scheduling of existing kilns thus becomes a critical issue. Investigation suggests that lumber procurement decisions and kiln loading schedules in the furniture industry are based primarily on the expertise of experienced schedulers. Kiln loading schedules are constructed based on judgment and limited capability exists to revise and maintain schedules in the face of dynamic sales forecasts, order cancellations, etc. Though processing (drying) time is related to initial moisture content, lumber procurement strategies are often decoupled from scheduling. Lacking appropriate quantitative tools, inefficient and outdated lumber procurement and kiln charging schedules can remain in force. This results in lumber shortages (leading to lost sales and poor asset utilization) or artificially high lumber inventories. An effective scheduling method embedded into a decision support system (DSS) which can evaluate and potentially reduce the costs associated with alternative lumber management policies can be valuable. In the most closely related work, Aggarwal et al. [1] developed a model-based decision support system (DSS) for a furniture manufacturing company to assist its management in scheduling lumber drying operations. The system schedules lumber in both pre-dryers and dry-kilns while satisfying all demands over a specified planning horizon at a minimum combination of drying and buying cost. In addition to purchasing kiln dried lumber from vendors at a premium price, the company can dry lumber in-house via air/kiln drying or pre-dryer/kiln drying. Given a set of demands for various types of dried lumber over a specified planning horizon, the processing times and costs for each production process, technological restrictions, and management policies, the problem is to satisfy all demands at the minimum buying plus drying cost. The solutions provided are applicable to a particular scenario based on the following assumptions: (1) only four species/thickness combinations of lumber are considered (thus limiting the number of variables); (2) the four species/thickness combinations have equal processing times in the pre-dryer as well as equal processing times in the dry kilns; (3) an unlimited amount of green lumber is available at all times at the same price; and (4) all kilns are identical in capacity and processing time. Assumption 2 is crucial, since it makes known the exact availability dates fore each pre-dryer and kiln throughout the entire planning horizon. This greatly reduces the combinatorial explosion of the scheduling portion of the problem. In practice however, processing times vary greatly across species/thickness combinations. Therefore, the Aggarwal et al. planning model does not extend to the common situation of non-identical kilns and distinct pro-

2 cessing times for different lumber species and thicknesses. This paper presents a method for solving the lumber procurement and kiln scheduling (LPKS) problem when these two generalizing conditions are permitted. The method has been embedded into a decision support system to assist in managing this difficult and important problem. An integer programming model of the kiln scheduling and inventory control problem is then presented. Owing to the computational complexity of solving this problem optimally, a solution technique utilizing a hybrid genetic algorithm (GA) is described and shown to be effective. Finally, we summarize the current findings and significance of the work along with suggestions for future work. 2 Model The mathematical model assumes that (1) a kiln can process only one type (species/thickness) of lumber at a given time; (2) there are no demand cancellations during the scheduling period; (3) green lumber in is available sufficient quantity as needed for each species/thickness during the scheduling period; (4) no preemption of jobs is allowed; and (5) all kiln non-availabilities occur at the start of the scheduling period. Assumption (1) is not limiting because furniture manufacturers generally do not mix thickness and/or species. Since the schedule can be regenerated if there are any demand cancellations, assumption (2) is also not limiting. Assumption (4) is not limiting since preempting a job would disrupt the sensitive drying process causing lumber degrade. The schedule can be regenerated if a dry kiln breaks down by removing the kiln from consideration. Since completion dates are known for each kiln in every planning cycle, assumption (5) does not limit the usefulness of the model. This allows the problem to be efficiently stated as a large-scale, integer linear program. It is important to understand that a demand is satisfied from inventory and jobs refer to a kiln charge (batch) of wood being dried. Note, a lumber type refers to a species/thickness combination. The next section defines the terminology and nomenclature. 2.1 Nomenclature M = set of kilns N = set of demands for the planning period J = the set of lumber types for the planning period T max = the maximum number of days in the planning period T = set of all time periods (i.e.,1; : : : ; T max ) P = set of all plants D j t c b j c g j = set of type j demands that need allocation at time t = cost per MBF of buying commercially kiln-dried lumber of type j = cost per MBF of buying green lumber of type j c o i c h i = daily operating cost for kiln i = handling cost per MBF for kiln i Q i = capacity of kiln i in MBF D d = quantity of demand d in MBF dd d = due-date of demand d in MBF I j s I j b = inventory safety stock level of type j in MBF = beginning uncommitted kiln-dried inventory level of type j in MBF r = cost of capital (Daily Percentage Rate (APR/365)) a i = initial availability of kiln i (date) s i = initial type of lumber charge in kiln i at the start of the planning period p ij = drying and setup time of type j lumber in kiln i Note: MBF stands for a 1000 board feet and a lumber type refers to a species/thickness combination. 2.2 Decision Variables ( 1 if kiln i is assigned a charge of type j in period t, x ijt = 0 otherwise, z ijt = ( 1 if kiln i completes a charge of type j in period t, 0 otherwise, u jt = quantity of type j lumber completing drying at time period t w jd = quantity of type j lumber purchased for demand d v jd = quantity of type j lumber allocated to demand d I jt = inventory level of type j in time period t 2.3 Model Minimize c b j j2j d2n c o i i2m t2t j2j rc g j j2j w jd + j2j t2t i2m c g j u jt + t2t x ijt + Q i c h i Q i x ijt + i2m t2t j2j rc g j I jt j2j t2t (1a) z ijt + (1b) (1c) The first two terms (Equation 1a) of the objective function determine the cost of purchasing commercially kiln-dried and green lumber over the planning horizon. Equation 1b determines the cost of kiln drying the green lumber in house plus any handling costs during the planning horizon. The third term (Equation 1c) of the objective function accounts for the cost of carrying inventory over the planning horizon. The inventory carrying cost begins when a charge enters the kiln and persists until the lumber is assigned to a particular demand.

3 Subject to x ijt = 0 i 2 M ; j 2 fjjj 6= s i g; t 2 f1; : : : ; a i? 1g (2) x isit = 1 i 2 M ; t 2 f1; : : : ; a i? 1g (3) j2j x ijt = 1 t 2 T ; i 2 M (4)? (p ij? 1)x ijai + p ij +ai?1 (1? x ij(t0?2))f?(p ij? 1)x ij(t0?1) + t=a i+1 x ijt 0 j 2 J; i 2 M (5) t 0 +p ij?2 t=t 0 x ijt g 0 j 2 J; i 2 M ; t 0 2 fa i + 2; : : : ; p ij + a i? 1g (6) (1? x ij(t0?2) + z ij(t0?2))f?(p ij? 1)x ij(t0?1) j 2 J; i 2 M ; (7) + t 0 +p ij?2 t=t 0 x ijt g 0 t 0 2 fp ij + a i + 1; : : : ; T max jp ij > 1g z ijt x ij(t?1)? x ijt i 2 M ; j 2 J; t 2 fa i + p ij ; : : : ; T max g (8) z ijt x ij(t?1) + x ijt? 2 + x ij(t?pij )? t?1 t 0 =t?p ij z ijt 0 i 2 M ; j 2 J; t 2 fa i + p ij ; : : : ; T max g (9) z isiai = 1 i 2 M (10) z ijt = 0 i 2 M ; j 2 fjjj 6= s i \ t 6= a i g; (11) t 2 f1; : : : ; a i + p ij? 1g u jt Q i z ijt j 2 J; t 2 T ; (12) i2m I jt = u jt + I j(t?1)? v jd j 2 J; t 2 T (13) d2d j t I jt Is j j 2 J; t 2 T (14) I j0 = I j b j 2 J; (15) w jd + v jd = D d d 2 N ; t = dd d (16) Constraint sets (2) and (3) are initialization variables that reflect the current status of the kilns in terms of the lumber type currently drying. Constraint set (4) ensures that only one type of lumber is assigned to a particular kiln in any time period t. The next three constraint sets (5-7) require that individual kiln charges remain in the kilns for their specified drying time (p ij ). The first type constraint set (5) ensures the initial charge assigned to each kiln on its availability date will remain in the kiln for the correct number of time periods. Note, the quadratic terms in these constraints can be eliminated by using the technique of Glover and Woolsey [4]. Constraint set (6) performs the sequencing beyond the initial charge assignment up to the time equal to availability date plus the processing time of any lumber type. If consecutive charges of the same type are to be loaded, then constraint set (6) fails to ensure that the second load stays in the kiln for the specified drying time. Thus, constraint set (7) is needed to force consecutive loads of the same type to be dried for the proper length of time. It determines if the charge was loaded initially in the previous time period (i.e., the previous period might not be the first period of drying) and if a previous charge of the same type just completed drying (i.e., this signifies the first period of drying for the second load). Constraint sets (8-11) determine when a particular charge will complete drying and become available for allocation to the demands. No charge of any type will become available until the availability date of the kiln plus the drying time (i.e., constraint set (11) sets all z ijt to zero) except for a charge that was in the kiln at the start of the planning period (constraint set (10)). Otherwise, a charge of type j will be available at time t if there is a transition from x ij(t?1) = 1 to x ijt = 0 (i.e., the kiln gets allocated to another lumber type as seen in constraint set (8)). Recall, constraint sets (5)-(7) ensure that a kiln charge of a particular type is allocated to the kiln for the entire drying time. If a kiln dries consecutive charges of the same type, then constraint set (8) will not indicate that a charge of type j would be available after the first charge has completed drying. Therefore, the additional constraint set (9) handles the situation by verifying that the charge has been in the kiln for the correct number of time periods. If it has been,

4 a kiln charge will become available (i.e., z ijt is set to one). Constraint set (12) determines the amount of lumber in MBF that has just came out of the kilns at a particular location. This variable is necessary if several kilns at a location have charges of the same type becoming available at the same time. The next three constraints deal with the inventory levels. Constraint set (13) states that the inventory level at time t is equal to the amount of lumber on hand at the beginning of the period plus any kiln charges completing less any amount allocated to the various demands. Constraint set (14) ensures that a safety stock level is maintained while the last inventory constraint (15) sets the initial inventory equal to the inventory available at the start of the planning period. Constraint set (16) is the binding constraint guaranteeing that all of the demands are satisfied either by allocation from inventory and/or from commercially kiln-dried lumber that is purchased. 3 Solution Technique The model assigns types of lumber to be dried in the kilns in the most productive manner (i.e., schedules the kilns) and then allocates the kiln-dried inventory or purchased inventory to the various demands so as to minimize the total cost of procuring, carrying, and drying lumber. The model can be shown to be NP-complete [3]. Therefore, for even small realistically sized problems of 40 kilns, 100 types of lumber, and 500 demands over a planning horizon of three to six months, solving to optimality using enumerative methods is impossible. The problem can be considered as two basic problems (i.e, scheduling and allocation). In the first part, the kiln sequences/schedules must be determined. Next, allocation of the kiln-dried inventory and the possible purchasing of kilndried lumber to satisfy all of demand quantities and due dates must be performed. One possible solution is to develop an alternating procedure similar to the alternate-locate-allocate (ALA) procedure [2] developed for the location-allocation problem. The location-allocation problem is a very difficult non-linear integer optimization problem that determines the locations of a set of new facilities (distributions) that are then assigned/allocated to serve a set of existing facilities (stores). When combined together, the problem is NP-hard but the two sub-problems can be solved easily to optimality. The ALA procedure [6] starts with a set of new facilities locations; then, based on these locations, determines the optimal allocations of the existing facilities to the new facilities and then, determines the optimal locations of the new facilities based on the allocations. The procedure repeats until no changes occur. Houck, Joines, and Kay [5, 6] show that for the continuous location-allocation problem, a GA that incorporated the ALA procedure outperformed a multi-start and a two-way switching procedure, where both methods utilized the same local improvement procedure as the hybrid-ga in terms of computational efficiency and solution quality. 3.1 Allocation Sub-Problem Once the kiln sequences are determined, the allocation problem (i.e., allocating and carrying inventory, and/or purchasing kiln-dried lumber to satisfy demands) can be solved to optimality. When the kiln sequences are fixed, the completion time of the various kiln charges (jobs) is known for the entire planning horizon creating only a finite number of points when inventory changes occur. Inventory levels of kiln-dried lumber will change when a kiln finishes drying a load of lumber and/or when a demand due date is reached. For example, consider three types of lumber with processing times of 10, 12, and 8 days, green costs of $700, $950, $1200 per MBF, kiln-dried costs of $900, $1175, and $1525, and initial inventories of zero, respectively; two kilns A and B with capacities of 30 MBF, availabilities of zero, and $3/MBF/day operating cost; a 12% APR, and the six demands and kiln sequences in Table 1. Table 1: Demand Information and Kiln Sequences Demand D 1 D 2 D 3 D 4 D 5 D 6 Quantity(MBF) Due-Date Lumber Type Sequence Kiln A Kiln B Figure 1 shows a time line depicting the discrete inventory changes for the three types of lumber. Type 1 Type 2 Type 3 A D 1 B A D B A D 3 B D B D 2 A D Time Figure 1: Time Periods When Inventory Levels Change

5 Model Once the kiln charge sequences are fixed, the drying and associated inventory cost is a fixed cost (FC) and the cost model reduces to minimizing the purchasing of kiln-dried lumber and carrying inventory. The following additional definitions are required. T d j T kd j T k j = set of time periods when only demands occurs for type j = set of time periods when both demands and kilns finish drying at the same time for type j = set of time periods when only kilns finish drying type j T j = set of all ordered time periods in (T k j [ T d j [ T kd j ) For lumber type 1 in Figure 1, sets T d, 1 T kd, 1 T k, 1 T j would contain f35g, f10g, f30; 32g, and f10; 30; 32; 35g respectively. The reduced allocation integer programming model is given as follows. Minimize FC + c b j w jd (17a) j2j d2n rc g j (17b) + j2j t2t j t I jt Subject To I jt? I j(t?1) + v jd = u jt j 2 J; t 2 Tj kd (18) d2dt j I jt? I j(t?1) + v jd = 0 j 2 J; t 2 Tj d (19) d2d j t I jt? I j(t?1) = u jt j 2 J; t 2 T k j (20) I jt I j s j 2 J; t 2 T j (21) I j0 = I j b (22) w jd + v jd = D d d 2 N ; (23) In Equation 17b, t represents the time difference between periods t and t?1. If t is the first time period, then it is the difference between t and zero. Equations represent the three times that inventory levels can change. Now, I jt, w jd, and v jd are the only decision variables represented by the variables on the left side of the equation while everything on the right side is an integer constant. The problem remains an integer, linear problem since the variables I jt, w jd and v jd still must be discrete. However, the problem (i.e, the constraint matrix (A)) has the special property of total unimodularity (TU). A constraint matrix is TU if the determinant of each square sub-matrix of A is equal to 0, 1, or -1. Problems which are totally unimodular have integer extreme points as long as the right hand side is discrete. Therefore, the discrete constraints on the variables can be removed and a simple continuous linear program can be used to solve the problem in polynomial time, thus producing the optimal solution to the original problem with the integer constraints. The constraint matrix in Equations can be proven to be TU owing to Corollary 2.8 on page 544 of Nemhauser and Wolsey [12]. Generally, when solving any linear programming problem, two distinct phases must be performed. The first phase solves the problem with a set of additional variables to determine a feasible starting point for the original problem. Then, using the determined starting point, the original problem is resolved to find its optimal solution. If a feasible solution exists, then phase one can be eliminated and the original problem can be solved directly saving computational time. A feasible solution to the allocation sub-problem can be determined easily since the demands can be satisfied by purchasing all of the lumber and allocating no inventories (i.e., w jd = D d and v jd = 0). The inventory variables(i jt ) would equal the previous inventory plus the right hand side which is either the quantity of lumber coming out of the kilns or zero when no lumber is being produced in the time period. Also, since there is no dependence between lumber types now, allocation of inventory, purchasing of kiln-dried, and satisfying demands can be solved as separate linear programs for each type of lumber. Now, the allocation sub-problem can be solved very efficiently. 3.2 Sequencing Sub-Problem Since the optimal allocation portion of the problem can be efficiently determined given a set of starting sequences., an effective kiln scheduling method is needed. A genetic algorithm (GA) will be used to determine the best set of sequences. Given these sequences, the total cost will be determined by solving the allocation sub-problem plus the fixed cost of drying. In building a genetic algorithm, six fundamental issues that affect the performance of the GA must be addressed: chromosome representation, initialization of the population, selection strategy, genetic operators, termination criteria, and evaluation measures. The rest of this section describes each of these issues as related to the sequencing problem. Solution Representation For any GA, a chromosome representation is needed to describe each individual in the population of interest. The representation scheme determines how the problem is structured in the GA and also determines the genetic operators that are used. Each individual or chromosome is made up of a sequence of genes from a certain alphabet. Since the x ijt variables are 0 or 1, a binary representation might be considered suitable except for the constraints in Equations 2-4 that have to be employed. Instead, a set notation representation will be used taking into account the constraints requiring that only one type of lumber can be assigned to a kiln at any time and that the charge must dry uninterrupted for its entire processing time. The following (x ik ) set

6 variable indicates that lumber type l is assigned to sequence position k on kiln (machine) i. x ik = l (24) Each x ik variable can take on only one value between one and the number of types. An individual in the GA population would represent all the sequences of each kiln. Individual [x 11 ; x 12 ; : : : ; x nkmax 1 ; x 21; x 22 ; : : : ; x 2kmax 2 ; : : : ; x m1; x m2 ; : : : ; x mkmaxm ] Using the example in Section 3.1 and the maximum length of each sequence (k max ) equal to four for both kilns, [1, 2, 1, 3, 3, 2, 1, 2] would represent the individual in the population. The disadvantage of the approach is one needs to know the number of sequences. An upper and lower bound on the number sequences can be calculated by dividing the length of the planning horizon by the smallest and largest processing time, respectively. If a sequence generates inventory changes beyond the planning horizon, these additional kiln charges are ignored in the total cost calculation. Selection Function: The selection of individuals to produce successive generations plays an extremely important role in a genetic algorithm. A probabilistic selection is performed based upon the individual s fitness such that the better individuals have an increased chance of being selected. However, all of the individuals in the population have a chance of being selected to reproduce into the next generation. An individual in the population can be selected more than once. There are several schemes for the selection process: roulette wheel selection and its extensions, scaling techniques, tournament, elitist models, and ranking methods [11]. Ranking methods only require the evaluation function to map the solutions to a totally ordered set, thus allowing for minimization and negativity. Ranking methods assign P i based on the rank of solution i when all solutions are sorted. Normalized geometric ranking, [9], defines P i for each individual by: P [ Selecting the ith individual ] = q0 (1? q) r?1 ; (25) where q equals the probability of selecting the best individual; r equals the rank of the individual, where 1 is the best; q0 = q 1?(1?q) P ; and P is the population size. The GA used in these experiments uses a normalized geometric ranking scheme and employs the elitist model in which the best individual from the previous generation is always included in the current one [8]. There are two basic types of operators: crossover (recombination) and mutation. Mutation operators tend to make small random changes in one parent to form one child in an attempt to explore all regions of the state space. Crossover operators combine information from two parents to form two offspring such that the two children contain a likeness (a set of building blocks) from each parent. The application of these two basic types of operators and their derivatives depends on the chromosome representation used. Seven float operators described by Michalewicz [11] were modified to work with the integer representation: uniform mutation, multi-uniform-mutation, non-uniform mutation, multi-non-uniform mutation, boundary mutation, simple crossover, arithmetic crossover[8]. The reader is referred to Joines et al. [8] for further information on the modifications. Initialization: The GA must be provided an initial population. The most common method is to randomly generate solutions for the entire population. However, since GAs can iteratively improve existing solutions (i.e., solutions from other heuristics and/or current practices), the beginning population can be seeded with potentially good solutions, with the remainder of the population being randomly generated solutions. The experiments in this paper used a random initial population with common random numbers across all methods for each replication. Termination: The GA moves from generation to generation selecting and reproducing parents until a termination criterion is met. The most frequently used stopping criterion is a specified maximum number of generations. Another termination strategy involves population convergence criteria. The algorithm can also be terminated due to a lack of improvement in the best solution over a specified number of generations. Alternatively, a target value for the evaluation measure can be established based on some arbitrarily acceptable threshold. Several strategies can be used in conjunction with each other. The stopping criterion used in these experiments was a specified maximum number of generations. Evaluation Functions: Evaluation functions of many forms can be used in a GA, subject to the minimal requirement that the function can map the population into a totally ordered set. As stated, the evaluation function is independent of the GA (i.e., stochastic decision rules). The objective is to minimize the total cost of drying, purchasing, and carrying kiln-dried inventory to satisfy all the demands (see Equations 1a-1c). The total cost for the example of Section 3.1 is $290,355. The costs associated with the two sub-problems where the inventory cost for the sequencing problem is the cost while in the kilns only is shown in Table 2. Genetic Operators: Genetic Operators provide the basic search mechanism of the GA. The operators are used to create new solutions based on existing solutions in the population.

7 Table 2: Costs Associated with the Two Sub-Problems for the Simple Example Sequencing Problem Kiln A B Drying Cost $3, $3, Green Cost $106, $114, Inventory Cost $ $ Total Kiln Cost $110, $118, Total Cost $228, Allocation Problem Lumber Allocation Cost Type 1 $ Type 2 $ Type 3 $61, Total Cost $61, Experimentation One can compare the GA solution with the optimal solution for only very small problems. On a much simpler version of the problem [7], a eight job and three kiln problem was solved to optimality in just under 24 hours using a standard integer programming package. Larger problems took days to even produce an integer feasible solution. On small problems, the GA is able to find the optimal solution in the initial generation. Therefore, the GA solution is compared to that of a random approach utilizing the same procedure. Six problems were solved to demonstrate the effectiveness of the method. The first five problems (see Table 3) where randomly generated using the guidelines in Table 4 and a 12% APR for inventory carrying costs while the last problem was based on data from a furniture manufacturer in North Carolina. Ten replications of the GA and multi-start (MS) procedure is performed. The multi-start procedure was allowed to examine two times the number of solutions (i.e., 2*(100+36*(Number of Generations))) where 36 represents the number of children produced every generation and 100 is the size of the initial population. The evaluation function is the most time consuming element. Therefore, comparing the number of functional evaluation is reasonable. Table 3: Characteristics of the Problems Problem # Kilns # Demands # Lumber Types Table 5 contains the parameters used in the GA experiments. The values associated with operators represent the number of times these operators are applied to the popula- Table 4: Problem Generation Green Cost (Gc) U($400, $1600) MBF Kiln-Dried Cost $150+Gc*(1+U(0, 1)/4) MBF Kiln Operating Cost $3/MBF/day Kiln Capacity [30, 45, 60, 75, 90, 115] MBF Processing Time U(8, 60) days Demand Quantities U(1, 200) MBF Demand Due Dates U(15, 90) days U(a; b) = a uniform random number between a and b tion. The number of generations performed where 100, 250, and 500 for problems 1 and 2, 3 and 4, and 5 and 6, respectively. Table 5: Parameters Used in the Integer-Based Experiments Parameter Value Number of Boundary Mutations 4 Number of Uniform Mutations 4 Number of Multi-Uniform Mutations 4 Number of Non-Uniform Mutations 4 Number of Multi-Non-Uniform Mutations 8 Number of Simple Crossovers 6 Number of Arithmetic Crossovers 6 q, the prob. of selecting the best individual 0.08 G max, the maximum number of generations Population Size Results Table 7 shows the GA and MS mean (standard deviation) for each of the problems for all ten replications while Table 6 shows the best solution obtained. To determine if the differences in the quality of the solutions provided by the GA and MS were statistically significant, a two-sample t-test was performed. Welch s approximation of the number of degrees of freedom was used in the test owing to the great disparity among the variances of the two approaches [10]. The results of the t-tests are shown in Table 8. The t-statistic represents the alpha level at which one would accept the null hypothesis (i.e., the two means are the same). Even at an alpha level of 0.01, the GA produced statistically better results. Since the t-test assumes normality of the data and due to the small sample size, a Shapiro-Wilk test for normality was performed at an alpha level of Those data sets failing the test are designated in Table 7. 5 Conclusions and Future Work The hybrid-ga has been shown to be quite effective. For smaller problems, the random multi-start approach is just as effective but as the problem increases in size and complexity, the GA is statistically the most effective method. These conclusions mirror the results obtained for other problems [6].

8 Table 6: Comparison of Best Solution Quality Results Problem GA Multi-Start (MS) 1 $1,200,459 $1,222,964 2 $1,863,993 $2,023,101 3 $3,622,619 $3,637,617 4 $2,413,486 $2,518,413 5 $10,557,863 $13,532,413 6 $12,838,638 $14,895,772 Table 7: Comparison of Mean Solution Quality Results Problem GA Multi-Start (MS) Mean std Mean std 1 $1,206,182 3,467 y $1,255, $1,875,186 6,643 $2,029,243 13,900 3 $3,627,823 4,918 $3,641,787 10,269 4 $2,426,758 16,239 $2,542,619 18,985 5 $10,575,541 28,976 $13,918,271 98,604 6 $12,875,647 20,492 $15,021, ,087 y - Failed Shapiro-Wilk Test for Normality Table 8: Comparison of T-Test Results Problem T-Statistic e e e e e e-13 For realistically sized kiln scheduling and inventory problems, the GA represents the most computationally efficient method. Currently, the results from the GA approach on several real data sets are being compared with what the companies are currently doing. The GA approach is being embedded into a decision support system for implementation in two furniture manufacturers. The demand information changes quite often and the schedule must be regenerated frequently. Every week, current information on inventories, kiln status, and demands would be downloaded and rescheduled. Information from the allocation model is currently not being utilized to update the sequence information. Once a true alternating procedure is developed, better solutions will be able to be generated in fewer generations with each generation taking longer. In some situations, kilns and plants are not located near one another. Additional transportation costs and constraints are being added to the model offering a solution technique for companies wanting to also consider transportation costs in their lumber management systems. Other problems which have batch machines that build to inventories can utilize the same approach. Acknowledgments The authors would like to thank the referees for their insightful comments and suggestions, which resulted in a much improved paper. The research was supported by the Furniture Manufacturing and Management Center of NCSU. Bibliography [1] A.K. Aggarwal, R.R. Vmuganti, and W. Fetner. A model-based decision support system for scheduling lumber drying operations. Production and Operations Management, 1(9): , [2] L. Cooper. The transportation-location problems. Operations Research, 20:94 108, [3] M.R. Garey and S.R. Johnson. Computers and Intractability: A guide to the theory of NP-Completeness. W.H. Freeman, San Francisco, [4] F. Glover and Woolsey D. Converting the o-1 polynomial programming problem to a 0-1 linear program. Operations Research, 10(3-4): , [5] C. R. Houck, J. A. Joines, and M. G. Kay. Empirical investigation of the benefits of of partial lamarckianism. Evolutionary Computation, 5(1):31 60, [6] C.R. Houck, J.A. Joines, and M.G. Kay. Comparison of genetic algorithms, random restart, and twoopt switching for solving large location-allocation problems. Computers & Operations Research, 23(6): , [7] J. Huang, C.T. Culbreth, J.A. Joines, T.H. Hodgson, and R.E. King. Decision support system for lumber procurement and dry kiln scheduling. Forest Products Journal, 48(9):51 59, [8] J.A. Joines, C.T. Culbreth, and R.E. King. Manufacturing cell design: An integer programming model employing genetic. IIE Transactions, 28(1):69 85, [9] J.A. Joines and C.R. Houck. On the use of nonstationary penalty functions to solve constrained optimization problems with genetic algorithms. In 1994 IEEE International Symposium Evolutionary Computation, pages , Orlando, Fl, [10] A.M. Law and W.D. Kelton. Simulation Modeling and Analysis. McGraw Hill, New York, [11] Z. Michalewicz. Genetic Algorithms + Data Structures = Evolution Programs. AI Series. Springer-Verlag, New York, 3rd edition, [12] G.L. Nemhauser and L.A. Wolsey. Integer and Combinatorial Optimization. John Wiley & Sons, New York, 1988.