Computer Technology and Application 2 (2011) 487-499
Modeling and Optimisation of Precedence-Constrained Production Sequencing and Scheduling for Multiple Production Lines Using Genetic Algorithms Son Duy Dao and Romeo Marian School of Advanced Manufacturing & Mechanical Engineering, University of South Australia, Mawson Lakes, SA 5095, Australia Received: May 09, 2011 / Accepted: June 03, 2011 / Published: June 25, 2011. Abstract: This paper presents an integrated methodology for the modelling and optimisation of precedence-constrained production sequencing and scheduling for multiple production lines based on Genetic Algorithms (GA). The problems in this class are NP-hard combinatorial problems, requiring a triple optimisation at the same time: allocation of resources to each line, production sequencing and production scheduling within each production line. They are ubiquitous to production and manufacturing environments. Due to nature of constraints, the length of solutions for the problem can be variable. To cope with this variability, new strategies for encoding chromosomes, crossover and mutation operations have been developed. Robustness of the proposed GA is demonstrated by a complex and realistic case study. Key words: Precedence-constrained sequencing and scheduling, optimisation, variable-length chromosome, genetic algorithm.
1. Introduction Precedence-constrained problems belong to a class of problems commonly found in project management, logistics, routing, assembly flow, scheduling, and networking [1]. Precedence constraints are generally divided into two categories: hard precedence constraints and soft precedence constraints. A hard precedence constraint is a constraint that will make the solution illegal or infeasible if violated, while a soft precedence constraint is a constraint that will impose a penalty if violated rather than rendering the sequence and schedule infeasible. In this study, production sequencing and scheduling problems associated with soft precedence constraints are considered and described as follows: There is a manufacturing company having a number of different production lines able to produce a number Romeo Marian, Ph.D., senior lecturer, research fields: manufacturing, logistics and supply chain, optimisation. Corresponding author: Son Duy Dao, M.Eng., research field: advanced manufacturing technology. E-mail:
[email protected].
of different products, each taking a certain period of time. Production cost and labour requirement in each production line, selling price, deadline of completion and material requirement of each product are known. However, the labour, material and working capital of the company available for production are limited. Any product changeover/setup takes a given amount of time and product changeover in each production line is different from each other. Beside the production cost, there are overheads. Each production line can produce any product of the company. Moreover, any product made after its deadline incurs a penalty as a percentage of the selling price per day of delay and also affects the customer satisfaction index of the company. If the delay is greater than a preset number of days, 10 for example, the product will not be accepted by customer and it will be returned to the company. The company also faces other constraints such as minimum number of different products for a certain period of time. The solution is a selection of products to produce, which production line to use and in what order, so as to
488
Modeling and Optimisation of Precedence-Constrained Production Sequencing and Scheduling for Multiple Production Lines Using Genetic Algorithms
maximise the total profit of the company as well as customer satisfaction index while satisfying simultaneously all above constraints. Clearly, this class of problems requires a triple optimisation at the same time: allocation of resources to each line, production scheduling and sequencing within each production line. It is a multi-dimensional, precedence constrained, knapsack problem. The knapsack problem is a classical NP-hard problem and it has been thoroughly studied in the last few decades [2]. Due to a large number of complex constraints with contradictory nature involved, optimisation of highly complex production planning or real-life planning problems, especially precedence-constrained planning problems, have not been thoroughly solved yet and their optimal solutions are still so far from perfect; although a number of production planning approaches have been developed. Such constraints make the optimisation very difficult when using traditional optimisation methods and approaches. Recently, GA has been applied to solve optimisation problems with similar complexity. However, no attention has been given
to
dealing
with
optimisation
of
precedence-constrained production sequencing and scheduling for multiple production lines, in which constraints with contradictory nature often lead to solutions of variable size—accordingly, the length of chromosome encoding the solution is a variable. To solve this class of problems, a realistic precedence-constrained production sequencing and scheduling problem associated with multiple production lines is firstly modelled. Subsequently, a GA with novel encoding, crossover and mutation strategies to optimise the model for two objective functions simultaneously has been developed in this paper. The proposed approach is validated using a realistic case study with realistic and soft precedence constraints. The paper is organized as follows: Section 2 discusses the literature review; section 3 introduces the research methodology; section 4 is a case study; section 5 gives conclusions and presents future work.
2. Literature Review Assembly and disassembly scheduling is one of popular precedence-constrained problems, in which the precedence relations result from geometric and physical constraints of the assembled items. Chen [3] applied AND/OR precedence-constrained sequencing approach to solve assembly scheduling problem while Marian [4] used GA to optimise precedence-constrained assembly sequences. For similar problems, Duman & Or [5] developed an approach which initially ignores precedence relations and solves the problem as a pure travelling salesman problem (TSP), and then it is applied to eliminate component damage in the resulting TSP tour. Recently, a precedence-constrained sequencing problem (PCSP) in disassembly scheduling was formulated by modifying the two-commodity network flow model, carried out by Lambert [6]. For PCSP in supply chain, Moon et al. [7] proposed GA with a priority-based encoding method to solve the scheduling problem. For problems with sequence-dependent changeover cost and precedence constraints, He & Kusiak [8] developed a heuristic algorithm. A unique reasoning approach to solve PCSPs which is based on artificial intelligent technique of case-based reasoning with evolutionary algorithm was developed by Su [9]. In addition, GA approach based on a topological sort-based representation procedure was proposed to solve precedence-constrained sequencing problems, which aims at locating the optimal sequence with the shortest travelling time among all feasible sequences [10]. Clearly, this problem can be formulated as a traveling salesman problem with precedence constraints. For single-machine sequencing with precedence constraints, Morton & Dharan [11] developed a heuristic—algoristics to find optimal solutions while Chekuri & Motwani [12] developed an efficient combinational 2-approximation algorithm for precedence constrained scheduling to minimize the sum of weighted completion times on a single machine.
Modeling and Optimisation of Precedence-Constrained Production Sequencing and Scheduling for Multiple Production Lines Using Genetic Algorithms
In addition, Azar et al. [13] considered this problem as a special case of the vertex cover problem and then solved it by means of vertex cover theory. For scheduling precedence-constrained tasks on a multiprocessor system, Jonsson & Shin [14] proposed a parametrized branch-and-bound algorithm to minimize the maximum task lateness in the system. In addition, Yen et al. [1] developed priority-list scheduling method to minimize the makespan in problems of scheduling a set of precedence constraint tasks onto a finite number of identical processors with and without communication overhead. Moreover, heuristic algorithms to obtain near optimal schedules in a reasonable amount of computation time for scheduling precedence constrained task graphs with non-negligible intertask communication onto multiprocessors was developed by Selvakumar & Siva [15]. For scheduling the precedence-constrained task allocation for pipelined execution, Hary & Ozguner [16] used point-to-point networks. Mouhamed & Maasarani [17] proposed a class of global priority-based scheduling heuristics, called generalized list scheduling, to schedule precedence-constrained computations on message-passing systems. Recently, Dao & Marian [18-19] proposed a GA with variability of chromosome size to optimise the precedence-constrained production sequencing and scheduling for one as well as two objective functions. However, these works are associated with only one production line. It is evident that optimisation of precedence-constrained production sequencing and scheduling for multiple production lines which requires triple optimisation, especially for the large-size or real-life problems, is largely missing. In this study, a complex and realistic mathematical model for optimisation of precedence-constrained production sequencing and scheduling for multiple production lines for not only overall profit but also customer satisfaction index is firstly established and a multi-objective GA with special strategies to deal with
489
the variability of chromosome size and feasibility of chromosome is proposed to optimise the model. The approach is general and applicable to real-life production planning problems.
3. Research Methodology 3.1 Problem Modelling Consider: y A manufacturing company having N different production lines which are all able to produce n different products for a certain period of time; y Deadline of product completion and characteristics of the customer such as penalty due to late delivery and returned product are known; y Capacity of the company such as the labour, material and working capital available for production is limited; y Producing cost and labour requirement of a product made in different production line are different; y Any product changeover takes a certain amount of time and it is not the same in different production line. Determine: y Which products to be produced; y Allocation selected products to which production line; y What is the order to produce the selected products in each production line. So that: Profit of the company as well as its customer satisfaction index is maximized while all of the given constraints are simultaneously satisfied. Conditions: y Beside the producing cost, each hour of running company also costs H dollar; y The cost of running the company has to be paid from the working capital; y The proceedings from selling products will only be available for next period of time, so they should be ignored for the current planning horizon—current period of time;
490
Modeling and Optimisation of Precedence-Constrained Production Sequencing and Scheduling for Multiple Production Lines Using Genetic Algorithms
y The company can produce any mix of products; y The company must produce at least D different products in the next period of time. 3.2 Optimisation Methodology In this paper, a GA with new features in chromosome encoding, mutation and crossover operations is proposed to optimise the precedence-constrained production sequencing and scheduling problems for multiple production lines. In this problem, one of the parameters to be optimized is resource allocation to each production line. Once resources such as labour, working capital and material are allocated to each production line, two other optimized parameters which are product scheduling and sequencing in each production line can be determined. As a result and to still do a proper optimisation for the resource allocation as a variable, optimization by using GA is initially done for a certain resource allocation case. After a local optimum/near optimum solution has been found for that particular resource allocation case (in the first stage), the algorithm is run for a number of different resource allocation cases (second stage). This approach can quickly point out towards the most promising zone of the solution space and permits to determine a global optimum. The major components of the GA are presented as follows: (1) Chromosome encoding Each production line can be encoded as a string corresponding to products allocated to each production line and their producing sequences. Accordingly, each chromosome encoding a solution for the problem consists of N strings corresponding to the N production lines. It should be noted that the length of each string may be different from each other because of constraints. In order to generate a feasible chromosome, the following steps are proposed. The first step is to generate at random N strings of numbers ranging from 1 to n, which denote the
sequence of products from 1 to n, respectively. It is noted that the length of each string is greater than the number of parts to be made on each production line (to account, later, for the different constraints, and to be trimmed to length) and the set of N strings generated in this step is called initial chromosome. The second step is to cut or remove some products allocated at the end of each sequence in the initial chromosome based on the production-line constraints in allocated labour, material and working capital. After the cutting operation, the N strings of number will become an intermediary chromosome. The third step is to check the intermediary chromosome against all constraints. The chromosome is adjusted in length so that it satisfies all constraints and becomes a feasible chromosome, which, subsequently, can undergo genetic operators. It can be clearly seen that the length of each string corresponding to each production line in a feasible chromosome as well as in different feasible chromosomes is different due to nature of constraints. (2) Fitness function Fitness function is the sum of total profit of the company and customer satisfaction index. It should be noted that a weight coefficient should be introduced to determine the contribution of each function. The fitness function is calculated for each feasible chromosome. (3) Genetic operators Due to variability in the size of feasible chromosomes, new crossover and mutation operations, which are not applied to feasible chromosome but to initial chromosome are developed. After each crossover or mutation operation applied to initial chromosome, constraint-based cutting operation must be applied to make sure that the off-spring chromosomes are feasible. (4) Optimisation implementation With classical structure, the proposed GA is implemented in Matlab to search the optimal/good solutions for the problem. The most difficult task in solving this class of problems is to handle the
Modeling and Optimisation of Precedence-Constrained Production Sequencing and Scheduling for Multiple Production Lines Using Genetic Algorithms
491
precedence constraints. As mentioned earlier, there are two types of precedence constraint: hard and soft precedence constraints. Hard precedence constraint is a constraint that will make the solution illegal or infeasible if violated and a framework capable to encode hard precedence constraint has been developed by Marian et al. [20-21]. However, this study considers the problem associated with soft precedence constraints, which will incur a penalty if violated rather rendering the sequence and schedule infeasible. A penalty implies that the respective chromosome is less likely to pass in the next generation, but still may have very valuable characteristics to pass on through the evolution process. The proposed approach is illustrated with the aid of a comprehensive case study.
y Each day after the deadline of a product incurs a penalty of 1 point of customer satisfaction index; y The proceedings from selling products will only be available for next month, so they should be ignored for the current planning horizon-current month; y The company can select any mix of products to produce in the next month, as long as its selection contains at least 20 different ones; y The company can work 24h/day, 7 days/week. Problem is to do the planning for next month by (1) selecting what products to produce, (2) allocating the selected products to which production line and (3) selecting the producing sequence in three production lines to maximise the profit of the company as well as its customer satisfaction index while satisfying simultaneously all constraints above.
4. Case Study
4.2 Optimisation with Genetic Algorithm
4.1 Modelling of the Planning Problem To illustrate the proposed approach and demonstrate its capability, a complex case study was developed. There is a manufacturing company having 3 different production lines, which are able to produce 50 different products, say P1, P2, ..., P50, in the next month. Information about the products is detailed in Table 1. For the next month, there are available: 800 hours of labour for production, 1,000 kg of material and $1,700 K as working capital available. Additionally: y Apart from the producing cost, overheads for running the company also costs $300/h and this expense has to be paid from the working capital; y Any product changeover takes 0.5 hour, 1 hour and 1.5 hour in production line 1, 2 and 3, respectively; y Any product made after the deadline incurs a penalty of 5% of the initial price per day of delay; y Any product made after the deadline for more than 10 days will not be accepted by the customer and it will be returned to the company; y Any product made within the deadline gives 10 points of customer satisfaction index;
4.2.1 Resource Allocation to Each Production Line As mentioned earlier, resource allocation to each production line is one of the three parameters to be optimized. It is very difficult to use resource allocation coefficients as random variables because it takes a great deal of time to obtain a global optimal solution or even a good solution for the problem. Therefore, at this stage, Normalised Taguchi Orthogonal Array Design (NTOAD) is proposed to systematically cover a number of the resource allocation cases. Accordingly, the optimization algorithm is designed for the fixed resources allocated to each production line and then the algorithm is run for different resource allocation cases as NTOAD. Clearly, the best solution among the solution obtained should be selected and can be considered as global optimum. As a result, the algorithm still does a proper optimisation for the resource allocation as a variable. In this study, the proposed resource-allocated coefficient based on NTOAD is as shown in Table 2. 4.2.2 Optimisation Criteria Optimisation criterions for this problem are overall profit of the company and its customer satisfaction
492
Table 1 Product P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 P25 P26 P27 P28 P29 P30 P31 P32 P33 P34 P35 P36 P37 P38 P39 P40 P41 P42 P43 P44 P45 P46 P47 P48 P49 P50
Modeling and Optimisation of Precedence-Constrained Production Sequencing and Scheduling for Multiple Production Lines Using Genetic Algorithms Product information. Line 1 37 39 14 19 11 25 26 30 11 10 26 28 14 12 33 25 14 15 13 16 38 26 30 12 37 20 15 40 34 25 37 13 37 36 24 14 26 35 19 27 20 20 32 22 29 26 13 26 13 32
Cost (K$) Line 2 34 45 21 21 11 32 23 36 7 6 22 32 13 19 27 29 18 9 14 12 41 21 36 11 31 22 17 46 28 25 31 20 30 43 27 8 30 40 16 28 19 19 38 20 24 26 8 22 10 31
Line 3 36 44 17 18 10 39 28 36 12 9 29 26 15 12 27 35 14 11 12 7 36 20 30 12 32 25 11 46 31 27 32 15 23 39 31 5 30 45 22 32 17 16 43 14 29 30 8 15 4 32
Line 1 8 5 3 3 10 8 8 5 6 9 9 4 5 2 8 9 9 9 9 4 6 2 2 6 7 5 5 5 9 8 10 4 4 10 2 4 8 2 2 4 7 4 6 4 9 8 3 8 2 6
index, converted into the fitness function. Quality of the solution is assessed through its fitness value,
Labour (h) Line 2 7 9 8 6 15 12 12 6 10 14 12 7 10 5 11 12 14 13 8 7 8 5 5 8 12 9 4 4 13 8 15 3 6 12 3 4 10 5 2 8 11 4 11 3 13 7 3 8 7 7
Line 3 8 12 7 6 18 17 17 11 12 15 13 9 9 10 10 14 18 15 13 9 13 4 10 11 13 12 7 4 13 13 16 7 5 14 2 3 9 9 1 12 14 8 15 3 15 10 5 7 11 9
Price (K$) 176 110 107 125 211 176 163 132 101 197 113 175 175 178 130 133 117 172 199 159 213 147 128 102 111 129 205 148 130 208 118 215 123 154 156 148 105 153 152 158 163 149 153 215 200 153 148 164 157 217
Material (Kg) 15 16 20 4 13 1 7 8 15 11 17 9 7 15 3 14 19 4 19 4 5 3 10 13 1 19 3 15 11 12 17 3 1 12 3 3 4 7 14 14 6 11 10 7 1 13 15 3 18 20
Deadline (day of month) 17 16 13 10 29 21 12 25 10 12 26 5 19 29 23 26 21 25 5 14 21 20 30 5 7 12 16 19 5 25 23 9 17 8 23 25 18 29 18 15 29 27 19 22 10 16 6 29 12 20
computed for every single feasible chromosome in every generation.
Modeling and Optimisation of Precedence-Constrained Production Sequencing and Scheduling for Multiple Production Lines Using Genetic Algorithms Table 2 Case 1 2 3 4 5 6 7 8 9
493
Normalised Taguchi orthogonal array design. Line 1 1 1 1 2 2 2 3 3 3
Taguchi orthogonal array design Line 2 Line 3 1 1 2 2 3 3 1 2 2 3 3 1 1 3 2 1 3 2
Sum 3 5 7 5 7 6 7 6 8
4.2.3 Chromosome Definition Let numbers from 1 to 50 denote the corresponding products P1 to P50. Each chromosome is generated by three steps. The first step is to randomly generate the initial chromosome, which looks like as shown in region from Cell C3 to AZ6 in Table 3, where: y Cells C3-AZ3 represent the producing sequence of the products; y Cells C4-AZ4, C5-AZ5 and C6-AZ6 represent the products selected to be made in production line 1, 2 and 3, respectively. E.g., the value of 21 of the Cell L4 indicates that the product P21 will be produced at the tenth, as shown in Cell L3, in production line 1. The second step is to cut the initial chromosome based on three constraints: labor, working capital and material. The procedure is explained in Table 3. In this Table: y Cells C3-AZ6 represent the initial chromosome; y Cells C7-AZ7, C8-AZ8 and C9-AZ9 represent changeover time between two different products in production line 1, 2 and 3, respectively. E.g., zero in Cell U8 indicates no changeover time in production line 2 (product P34 made consecutively T5 and U5). Cell H9 indicates that changeover of 1.5 hour in production line 3 is required when producing products P40 and then P41 (Cells G6 and H6); y Cells C10-AZ10, C11-AZ11 and C12-AZ12 represent the producing cost required to make the given products in production line 1, 2 and 3, respectively.
Normalised taguchi orthogonal array design Line 1 Line 2 Line 3 0.333 0.333 0.333 0.200 0.400 0.400 0.143 0.429 0.429 0.400 0.200 0.400 0.286 0.286 0.429 0.333 0.500 0.167 0.429 0.143 0.429 0.500 0.333 0.167 0.375 0.375 0.250
Sum 1 1 1 1 1 1 1 1 1
E.g., the value of Cell G10 indicates that it takes $13K to make P49 in production line 1 as shown in Cell G4 (Table 1); y Cells C13-AZ13, C14-AZ14 and C15-AZ15 represent the labour required to produce the given products in production line 1, 2 and 3, respectively. E.g., the value of Cell C14 indicates the need for 12 hours for making product P34 in production line 2 as shown in Cell C5 (Table 1); y Cells C16-AZ16, C17-AZ17 and C18-AZ18 represent the amount of material required to produce the given products. E.g., the value of Cell C18 indicates that it requires 20 kg of material to make product P3, shown in Cell C6 (Table 1); y Cells BC7, BC8 and BC9—the product changeover time in hours in production line 1, 2 and 3, respectively; y Cells BC10, BC11 and BC12—the working capital allocated to production line 1, 2 and 3, respectively. It is noted that, in this case, the allocation-weight coefficients are 0.375, 0.375 and 0.25 for production line 1, 2 and 3, respectively; the total working capital of the company available for the next month is $1,700K; y Cells BC13, BC14 and BC15—the labour allocated to production line 1, 2 and 3, respectively. It is noted that, in this case, the allocation-weight coefficients are also 0.375, 0.375 and 0.25 for production line 1, 2 and 3, respectively; the total labour of the company available for the next month is 800 hours;
494
Modeling and Optimisation of Precedence-Constrained Production Sequencing and Scheduling for Multiple Production Lines Using Genetic Algorithms
Table 3 Procedure of cutting chromosome based on given constraints (post-processed in excel).
y Cells BC16, BC17 and BC18—the material allocated to production line 1, 2 and 3, respectively; It is also noted that, in this case, the allocation-weight coefficients are also 0.375, 0.375 and 0.25 for production line 1, 2 and 3, respectively; the total material of the company available for the next month is 1,000 kg; y Cells BA10, BA11 and BA12—total cost of producing the series of products in the highlighted Cells C10-AD10, C11-Y11 and C12-T12, respectively. The total working capitals used in the three production lines, production cost plus running company cost, are $620.9K, $629K and $423.7K, respectively. These values must satisfy the allocated working capital constraints - less than or equal to $637.5K, $637.5 and 425, respectively; y Cells BA13, BA14 and BA15—the total labor required to produce the series of products in the highlighted Cells C13-AX13, C14-AJ14 and C15-R15, respectively. The total labors used in the three production lines, labors for production and changeover, are 292, 295 and 192.5 hours, respectively. The values of these Cells must satisfy the labor constraints in the corresponding production lines - less than or equal to 300, 300 and 200, respectively; y Cells BA16, BA17 and BA18—the total amount of material required to make the series of products in
the highlighted Cells C16-AU16, C17-AQ17 and C18-Y18, respectively. The total amounts of material used in the three production lines are 365, 372 and 243 kg, respectively. These values must satisfy the allocated material constraints in the corresponding production lines - less than or equal to 375, 375 and 250, respectively; y Based on the production-line constraints, the initial chromosome is cut as shown in the highlighted Cells. Therefore, the intermediary chromosome is a set of the highlighted Cells: C4-AD4, C5-Y5 and C6-R6. The third step is to check the total number of different products in the intermediary chromosome: y Cell BC4+5+6—the minimum number of different products required to be produced, 30 for example; y Cell BA4+5+6—the number of different products, 38, in the intermediary chromosome; this value satisfies the equired-minimum-variety-of-products constraint. Therefore, the feasible chromosome that satisfies all of the given constraints is the same as the intermediary chromosome—the highlighted Cells: C4-AD4, C5-Y5 and C6-R6; y It should be noted that, in the other case, if the value of Cell BA4+5+6 is less than that of Cell BC4+5+6, the first two steps must be repeated until the all of the given constraints are satisfied. The three-step proposed is
Modeling and Optimisation of Precedence-Constrained Production Sequencing and Scheduling for Multiple Production Lines Using Genetic Algorithms
repeated until the feasible chromosome is achieved. To sum up: the highlighted Cells C4-AD4, C5-Y5 and C6-R6 represent the final chromosome that is feasible. The length of each string corresponding to each production line in feasible chromosome is different from the one in initial chromosome and different from time to time as shown in Table 4. 4.2.4 Crossover Operation Crossover, in principle, is a simple cut and swap operation. Due to the nature of constraints, a modified crossover operation is required. In this study, to make sure the offspring chromosomes are feasible, crossover operation is not applied to feasible chromosome, but to the corresponding initial chromosome. After crossover operation, the corresponding off-springs will be cut to satisfy constraints and to ensure all offspring are feasible. This study uses one-point crossover, illustrated as follows: y Randomly select two feasible chromosomes and their corresponding initial chromosomes for crossover as shown in Table 5; y Randomly select the cut point within the “feasible region”—the highlighted region in the feasible chromosome, the 15th gene for example, as highlighted in Table 5; y Swap the two parts as shown in Table 6; Table 4 Initial chromosomes and feasible chromosomes.
495
y Two offsprings obtained up to now will be cut to satisfy constraints and guarantee feasibility. As a result, the output of crossover operation is finalized as shown in Table 7. This process is repeated to all of chromosomes involved in crossover process in each generation. 4.2.5 Mutation Operation Once again, due to the constraints, the modified mutation operation is not applied to feasible chromosome, but to the corresponding initial chromosome. Clearly, after any mutation operation, all of off-spring chromosomes must be checked and repaired to guarantee feasibility. The mutation operation used in this study is as follows: y Randomly select one feasible chromosome and its corresponding initial chromosome from the population and then randomly select two genes, in the “feasible region” of the feasible chromosome, in the corresponding initial chromosome to swap as shown in Table 8; y Constraint-based cutting operations are then applied to every production line in the obtained chromosome to ensure feasibility. As a result, a feasible chromosome output of mutation operation is achieved as shown in Table 8. This process is repeated to all of chromosomes
496
Modeling and Optimisation of Precedence-Constrained Production Sequencing and Scheduling for Multiple Production Lines Using Genetic Algorithms
Table 5 Two feasible chromosomes and their corresponding initial chromosomes for crossover.
Table 6
Crossover applied to initial chromosomes.
Table 7
Constraint-based cutting operations for feasible offsprings.
Table 8
Modified mutation procedure.
involved in mutation process in each generation. Note: The lengths of the offspring after mutation as well as crossover might be different from those of the
parent chromosomes due to feasibility constraints. 4.2.6 Evaluation Operation The fitness function of the feasible chromosome that
Modeling and Optimisation of Precedence-Constrained Production Sequencing and Scheduling for Multiple Production Lines Using Genetic Algorithms
takes quite a long time because a large number of different constraint-based cutting operations must be applied to all of production lines in every single chromosome in initial population as well as in crossover and mutation operations in every generation. It is evident that GA cannot guarantee to find best solution after only one run. However, it is very good at finding good/best solution(s) reasonably quickly [4]. Therefore, it is easy to evaluate the quality of solution by comparing different runs. Accordingly, the best solution among the ones obtained from different runs should be selected. If number of runs is large enough, this validates the optimality of the solution. In this case study, for each resource allocation case, the GA is run for 10 times and results are shown in Table 9 and visualised in Fig. 1. The result shown in Table 9 indicates that the resource allocation case 1 gives the highest fitness value—on average of 14,206.3. The best solution among those solutions obtained is as highlighted in Table 9. With this solution, the achieved fitness value is 14,287. The convergence of the GA for that solution is shown in Fig. 2 and detail of the solution is shown in Table 10.
is used to evaluate the quality of the solution is sum of total profit of the company and its customer satisfaction index with given weight coefficient, which is calculated as follows: F =w*[I - (CP + CR + CD + CRT)] + (1-w)*S where: F—fitness value; I—total income; CP—total cost of producing products; CR—total cost of running company; CD—total cost associated with penalty due to products made after deadline; CRT—total cost due to returned products or not accepted by customer because they are too late; S—total points of customer satisfaction index; w—weight coefficient, assumed w = 0.7. 4.2.7 Selection Operation In this study, roulette wheel approach is used to select the population for the next generations. This approach belongs to the fitness-proportional selection and selects a new population based on the probability distribution associated with fitness value [22]. 4.2.8 Genetic Algorithm Implementation The proposed GA has been successfully implemented in Matlab and has been comprehensively tested for convergence and consistence of the solutions. Experiments show that the proposed GA with the following parameters gives the good solutions: population size of 200, crossover rate of 50% and mutation rate of 50% and it typically converges after less than 2,000 generations taking less than 40 minutes by an Intel Dual Core laptop, CPU T3400, 2.17 GHz, 3 GB RAM. It should be noted that the optimisation process
5. Conclusions and Future Work In this study, a class of soft precedence-constrained production sequencing and scheduling problems for multiple production lines has been modelled. Due to the nature of constraints, the multi objectives GA with
Table 9 The fitness values achieved by different cases and runs. Case Run 1 2 3 4 5 6 7 8 9 10 Average Max
1 14022 14244 14211 14287 14235 14202 14259 14172 14259 14172 14206.3 14287
2 13400 12938 13551 11893 13007 13434 13345 13283 13253 12939 13104.3 13551
3 11736 11573 12654 12276 11888 12028 12223 12450 12380 12654 12186.2 12654
4 12793 13231 12967 13407 13377 13494 13184 13282 13333 13257 13232.5 13494
497
5 13797 13727 13454 13816 13142 13177 12601 14053 13643 13746 13515.6 14053
6 13504 12433 13031 12380 12621 13504 12433 13031 12380 12310 12762.7 13504
7 12460 12471 11633 12129 11968 12322 12609 11367 11727 12340 12102.6 12609
8 12564 12794 12614 13033 12831 12794 12614 13033 12831 13190 12829.8 13190
9 13739 12857 13967 13739 12857 13967 13132 14042 13885 13615 13580.0 14042
498
Modeling and Optimisation of Precedence-Constrained Production Sequencing and Scheduling for Multiple Production Lines Using Genetic Algorithms
Table 10
Optimal solution.
Fig. 1 Maximum and average fitness values in different cases.
y Developing the GA for extended problem, e.g. adding more constraints such as variety of material used, different product changeover for different pairs of products, etc.; y Improvement of the crossover and mutation operator to preserve more of the parents’ genetic information; y Incorporation of stochastic events into the model and investigating their influence on the optimality; y Comprehensively investigating the effect of resource allocation strategy on the optimality.
References [1]
[2]
[3]
Fig. 2 Evolution of fitness value – output of the GA.
new strategies for chromosome encoding, feasibility of chromosome, crossover as well as mutation operations have been developed to optimise the model. The proposed approach has been illustrated and its robustness has been verified in the complex and realistic case study which contains the most important constraints currently encountered in a typical manufacturing company. The proposed GA has been extensively tested, for various input parameters. The evolution of the output is consistently convergent towards the optimum. It is evident that the proposed method can easily accommodate much larger and more complex problems in this class of problem. Further work should be conducted in the following areas:
[4]
[5]
[6]
[7]
[8] [9]
C. Yen, S.S. Tseng, C.T. Yang, Scheduling of precedence constrained tasks on multiprocessor systems, in: IEEE First International Conference on Algorithms and Architectures for Parallel Processing, 1995, pp. 379-382. D. Zou, L. Gao, S. Li, J. Wu, Solving 0-1 knapsack problem by a novel global harmony search algorithm, Applied Soft Computing 11 (2011) 1556-1564. C.L.P. Chen, AND/OR precedence constraint traveling salesman problem and its application to assembly schedule generation, in: Proceedings of IEEE International Conference on Systems, Man and Cybernetics, 1990, pp. 560-562. R.M. Marian, Optimisation of assembly sequences using genetic algorithms, Ph.D. thesis, School of Advanced Manufacturing and Mechanical Engineering, University of South Australia, Adelaide, Australia, 2003. E. Duman, I. Or, Precedence constrained TSP arising in printed circuit board assembly, International Journal of Production Research 42 (2004) 67-78. A.J.D. Lambert, Exact methods in optimum disassembly sequence search for problems subject to sequence dependent costs, Omega 34 (2006) 538-549. C. Moon, J. Kim, G. Choi, Y. Seo, An efficient genetic algorithm for the traveling salesman problem with precedence constraints, European Journal of Operational Research 140 (2002) 606-617. W. He, A. Kusiak, Scheduling manufacturing systems, Computers in Industry 20 (1992) 163-175. Q. Su, Applying case-based reasoning in assembly sequence planning, International Journal of Production
Modeling and Optimisation of Precedence-Constrained Production Sequencing and Scheduling for Multiple Production Lines Using Genetic Algorithms Research 45 (2007) 29-47. [10] Y. Yun, C. Moon, Genetic algorithm approach for precedence-constrained sequencing problems, Journal of Intelligent Manufacturing 20 (2009) 1-10. [11] T.E. Morton, B.G. Dharan, Algoristics for single-machine sequencing with precedence constraints, Management Science 24 (1978) 1011-1020. [12] C. Chekuri, R. Motwani, Precedence constrained scheduling to minimize sum of weighted completion times on a single machine, Discrete Applied Mathematics 98 (1999) 29-38. [13] Y. Azar, T. Erlebach, C. Ambuhl, M. Mastrolilli, Single machine precedence constrained scheduling is a vertex cover problem, in: Algorithms-ESA 2006, 2006, pp. 28-39. [14] J. Jonsson, K.G. Shin, A parametrized branch-and-bound strategy for scheduling precedence-constrained tasks on a multiprocessor system, in: Proceedings of the 1997 International Conference on Parallel Processing, pp. 158-165. [15] S. Selvakumar, R.M.C. Siva, Scheduling precedence constrained task graphs with non-negligible intertask communication onto multiprocessors, IEEE Transactions on Parallel and Distributed Systems 5 (1994) 328-336. [16] S.L. Hary, F. Ozguner, Precedence-constrained task allocation onto point-to-point networks for pipelined execution, IEEE Transactions on Parallel and Distributed
499
Systems 10 (1999) 838-851. [17] M.A. Mmouhamed, A.A. Maasarani, Performance evaluation of scheduling precedence-constrained computations on message-passing systems, IEEE Transactions on Parallel and Distributed Systems 5 (1994) 1317-1321. [18] S.D. Dao, R. Marian, Optimisation of precedence-constrained production sequencing and scheduling using genetic algorithm, in: Proceeding of the IAENG International Conference on Artificial Intelligence and Applications, Hong Kong, 2011. [19] S.D. Dao, R. Marian, Modeling and optimisation of precedence-constrained production sequencing and scheduling using multi-objective genetic algorithm, in: Proceeding of the 2011 International Conference of Computational Intelligence and Intelligent Systems, London, UK, 2011. [20] R. Marian, L.H.S. Luong, K. Abhary, Assembly sequence planning and optimisation using genetic algorithms, part I: automatic generation of feasible assembly sequences, Journal of Applied Soft Computing 2 (2003) 223-253. [21] R. Marian, L.H.S. Luong, K. Abhary, A genetic algorithm for the optimisation of assembly sequences, Computers and Industrial Engineering 50 (2006) 503-527. [22] M. Gen, R. Cheng, Genetic Algorithms and Engineering Design, Wiley, New York, 1997.