Design and Application of A New Hybrid Heuristic Algorithm for Flow Shop Scheduling
Автор: Fang Wang, Yun-qing Rao, Fang Wang, Yu Hou
Журнал: International Journal of Computer Network and Information Security(IJCNIS) @ijcnis
Статья в выпуске: 2 vol.3, 2011 года.
Бесплатный доступ
A new heuristic algorithm was designed by combining with Johnson method, NEH method and characteristics of scheduling, and it was implemented on MATLAB. The efficiency of the new algorithm was tested through eight Car questions and two Hel questions of Benchmark problems, and the results revealed that the new heuristic algorithm was better than the other three heuristic algorithms. Further more; the application of this heuristic algorithm in the intelligent algorithm especially in the genetic algorithms (GA) was discussed. Two GAs were designed for Flow Shop question, and they had the same processes and the same parameters. The only difference is in the production of the initial population. One GA’s initial population is optimized by the new heuristic algorithm, and the other whose initial population is randomly generated entirely. Finally, through the test of eight Car questions, it is demonstrated that the heuristic algorithm can indeed improve efficiency and quality of genetic algorithm because the heuristic algorithm can improve the initial population of GA.
Heuristic algorithm, genetic algorithm, Benchmark problems test, initial population
Короткий адрес: https://sciup.org/15011012
IDR: 15011012
Текст научной статьи Design and Application of A New Hybrid Heuristic Algorithm for Flow Shop Scheduling
Published Online March 2011 in MECS
Ι. INTRODUCTION
II. Introductions of relational algorithms
-
A. Johnson Method
Johnson method is mainly used for scheduling two machines. First, the minimum time of processing the work pieces on the machine has been find out, if the time is in the first machine, then the processing sequence of this work piece is the first; if the time is in the second machine, then the processing sequence of this work piece is the last. Second, the rest work pieces are arranged in the same way until there is no work piece to wait for arrangement.
-
B. Dannenbring Method
Dannenbring method is the expansion of Johnson method, it extends the Johnson method to more than two machines scheduling problem. Through the following two formulas (formula 1 and formula 2), the multi-machine scheduling problem converses into the two-machine scheduling problem, and the suboptimal solution can be obtained by Johnson method.
m
T j 1 = L ( m - i + D* t ij . (1)
i = 1
m j = Z i * tij. (2)
i = 1
-
C. NEH Method
First, calculate the sum of processing time of each work piece on all machines, and order each work piece according to the descending order of the sum. Second conduct the optimal scheduling on the first two work piece, and insert one of the rest work pieces into the scheduling to obtain the optimal schedule, repeat this process until all the work pieces scheduling is completed. D. Rajendran Method
Rajendran is to modify the methods of the NEH. First, get the Tj1 after handling the processing time by formula 1, and arrange the work pieces scheduling by the ascending order of Tj1. Second, contrive a subscheduling about the first work piece; take No. k work piece into No. L positions of the scheduling, where [k / 2] <= L <= k, k> = 2, and make the optimal scheduling for the new sub-schedule. The last, repeat this process until all the work pieces scheduling is completed.
In these heuristic algorithms, NEH method and Rajendren method has the best performance. But there are always more than one optimal schedule in each cycle, when the number of the work pieces is big, computational complexity will rapidly increase. Such as when finding the optimal solution of Hel1 problem by NEH, if saving the optimal sequences every time, the number of optimal Scheduling will be more than 100,000 for No.40 work piece. With the number of work pieces addition, it will exceed the scope of the computer's memory. Therefore, this paper proposes a new hybrid constructive heuristic algorithm based on the complexity of the number of work pieces.
-
E. Genetic Algorithm
A genetic algorithm (GA) is a search technique used in computing to find exact or approximate solutions to optimization and search problems. Genetic algorithms are categorized as global search heuristics. Genetic algorithms are a particular class of evolutionary algorithms (EA) that use techniques inspired by evolutionary biology such as inheritance, mutation, selection, and crossover.
Ш. The new Hybrid Constructive Heuristic Algorithm
-
A. Idea of Flow Shop Problem Solving with Hybrid Constructive Heuristic Algorithm
According to the number of work pieces indicated by the letter n, n can be divided into three stages, in this paper n is divided into three stages as following: 1<=n<=7 , 8<=n<=20 , n>20. When n is the first stage, the simple whole arrangement can be used to find the optimal solution; when n is the second stage, hybrid heuristic algorithm can be used; when n is the third stage, the limited hybrid heuristic algorithm can be used. The basic idea is as follows:
Step One: Judge the number of work piece, which is the number of columns of the processing time matrix, if the number is less than or equal to 7, the second step is implemented; if the number is greater than 7 and less than 20, the third step is implemented; if the number is greater than 20, the sixth step is implemented;
Step Two: Generate and save all possible arrangements of all work pieces, the number of which are the factorial of n, then find the make span of all arrangements, and find the minimum make span, output this arrangement;
Step Three: First, put the work piece which has the minimum processing time on the first machine into the first column of scheduling order, and put the work piece which has minimum processing time on the last machine into the second column. Second exchange the arrangement and calculate the make span respectively, put the arrangement which has the smaller make span as optimal arrangement, insert the remaining work pieces into different locations of arrangement in order, seek the minimum make span, save the corresponding arrangement as a new optimal arrangement, and update the arrangement, repeat this process until all work pieces are processed. Finally, calculate make span of all arrangements, find the minimum make span, and output the corresponding arrangement;
Step Four: Obtain the initial arrangement of work pieces based on the Dannerbring method, select the first two work pieces of the arrangement and exchange the order, find the smaller make span and put the corresponding arrangement as a new arrangement, insert the remaining porkpies into different locations of arrangement in order, retain the one with minimum make span, and update the arrangement, until all work pieces are completed. Calculate the make span of all arrangements, to find the minimum make span, and output this arrangement;
Step Five: Compare the make span of the third step and the fourth step, the smaller one is the final make span and output the corresponding arrangement;
Step Six: First, put the work piece which has the minimum processing time on the first machine into the first column of scheduling order, and put the work piece which has minimum processing time on the last machine into the second column. Second, exchange the arrangement and calculate the make span respectively, put the arrangement which has the smaller make span as optimal arrangement, insert the remaining work pieces into different locations of arrangement in order. Seek the minimum make span, save the corresponding arrangement as a new one. If the number of the new arrangement excess 3, then take the first ,middle and last one for the new arrangements, and update them until all work pieces are arranged. Calculate the make span of all arrangement, find the minimum make span, and output its arrangement;
Step Seven: Obtain the initial arrangement of work pieces based on the Dannerbring method, select the first two work pieces of the arrangement and exchange the order, find the smaller make span and put the corresponding arrangement as a new arrangement, insert the remaining work pieces into different locations of arrangement in order, retain the one with minimum make span,. If the number of the new arrangement excess 3, then take the first ,middle and last one for the new arrangements, and update them until all work pieces are arranged. Calculate the make span of all arrangements, to find the minimum make span, and output its arrangement;
Step Eight: comparing the make span of the step six and the step seven, the smaller one is the final make span and output the corresponding arrangement.
-
B. Implementation of Flow Shop Problem Solving with Hybrid Constructive Heuristic Algorithm
Judge the number of rows (‘rows’ means the number of machines) and columns (‘cols’ means the number of work pieces) of the input variable—"processing time matrix". According to the value of the cols, the cols is divided into three branches, when 1 <= cols <= 7, run the full array solution, when 8 <= cols <= 30, run the hybrid heuristic algorithm, when the cols> 30, the limited hybrid heuristic algorithm can be used.
1) Solution with the full array
Use the first two columns of the time matrix, swap positions to generate two new arrangements, when the number of i (means the columns) is from 3 to cols, initialized arrangements are recorded as zero matrix of rows row, i column, i*dimensions (dimension mean the number of new arrangements) dimension, and insert the new column into different locations of arrangement to create new arrangements, until the i is equal to cols. So there are many new arrangements which number is the factorial of cols. Calculate the make span of each arrangement, and output the minimum make span and its arrangement.
2) Solution with Constructive Hybrid Heuristic Algorithm
-
a) Heuristic algorithm based on the processing time
Electing the column of which the processing time is minimal in the first line as the first column, and electing the column of which the processing time is minimal in the rows line as the second column, to generate a new arrangement, when the number of columns(i) is from 3 to cols, initialized arrangements are recorded as zero matrix of rows row, i column, i*dimensions (dimension mean the number of new arrangements) dimension, and insert the new column into different locations of arrangement to create new arrangements, find the minimum make span, and output the all arrangements which meet the make span, update the arrangement, until the i is equal to cols. Calculate the make span of the arrangements, find the minimum and output the make span and corresponding arrangements.
-
b) Hybrid Heuristic Algorithm based on the Dannerbring
By the two formulas as following, translate the flow shop problem of multi-machine into two-machine scheduling problem with Tj1 , Tj2 as processing time; obtain the initial solution by Johnson method.
m - 1
T j, = X ( m - i + 1)* j (3)
i = 1
m
T j2 = E i * t j . (4)
i = 2
Calculate the total processing time with the first two columns of the initial solution, take the minimum processing time as the new arrangement, when the number of columns(i) is from 3 to cols, initialized arrangement is recorded as zero matrix of rows row, i column, i*dimensions (dimension mean the number of new arrangements) dimension, and insert the new column into different locations of arrangement to create new arrangements, find the minimum make span, and output the all arrangements which meet the make span, update the arrangements, until the i is equal to cols. Calculate the make span of the arrangements, find the minimum and output the make span and corresponding arrangements.
3) Limited Hybrid Heuristic Algorithm
As 4.2, the arrangements which meet the minimum make span may be more than one, especially in the first issue of the Hel. Because the processing time is less than 10, and the number of the work pieces is up to the 100, the number of same as the best value is a lot, when the number of work pieces increases, the dimensions of the arrangement is in a geometric growth, both computational complexity and computing time will increase a lot, so this paper suggests to use the limited hybrid heuristic algorithm. In each cycle, if there are more than 3 optimal alignments, then retain the first, middle and the last arrangement, update the new arrangement, and the next cycle continues, until all work pieces are arranged, calculate the make span of each arrangement , and output the minimum make span and its arrangements.
-
C. Test of the New Hybrid Constructive Heuristic Algorithm
This research focused on the test of Car and Hel problems from a typical Flow Shop Scheduling Problem, which is from the book “shop scheduling and its genetic algorithms” written by Wang Ling. And compared the performances of Dannenbring method, Nawaz - Enscore -Ham (NEH) method, Rajendran method and the new constructive heuristic method, if there are more than three optimal arrangements, the other methods can also remain the first one, the middle one and the last one. Through this approach, the complexity of each method in calculation is limited, and the time differences on searching for optimization is very small, even we can ignore the differences. The results are shown in Tab. 1 and Tab. 2.
variance of make span by Dannenbring, NeH, Rajendran, and the proposed methods. As can be seen from Tab. 2, the new method is generally better than Dannenbring, NEH and Rajendran methods, it can improve the Dannenbring result by 6.2%, and improve the NEH result 4%, and improve Rajendran result by 2.4%.
Df =
Sum ij - Sum *
Sum * j
Sum *
j denotes the optimality of make span on the No. j problem.
Dif ij denotes the variance of make span of the No. j problem calculated by the No. i method.
TABLE I. The contrast of makespan by different methods
TABLE II. The variance contrast of makespan by
DIFFERENT METHODS
Typical problems |
n/m |
Make span standard |
Dannen -bring |
NeH |
Raje -ndra |
My method |
||
Sum* |
Num |
|||||||
Car clas s |
Car 1 |
11/5 |
7038 |
7817 |
7038 |
7038 |
7038 |
105 |
Car 2 |
13/4 |
7166 |
7509 |
7376 |
7391 |
7166 |
369 |
|
Car 3 |
12/5 |
7312 |
7339 |
7483 |
7400 |
7399 |
1 |
|
Car 4 |
14/4 |
8003 |
8357 |
8155 |
8115 |
8003 |
28 |
|
Car 5 |
10/8 |
7702 |
8940 |
8047 |
7779 |
7808 |
1 |
|
Car 6 |
8/9 |
8313 |
9179 |
8813 |
8871 |
8739 |
1 |
|
Car 7 |
7/7 |
6590 |
6760 |
7008 |
7016 |
6590 |
1 |
|
Car 8 |
8/8 |
8264 |
9062 |
8732 |
8821 |
8530 |
2 |
|
Hel clas s |
Hel 1 |
100/10 |
510~513 |
552 |
518 |
539 |
518 |
3 |
Hel 2 |
20/10 |
131~134 |
148 |
142 |
145 |
140 |
26 |
Tab.1 reveals the make spans of the optimal sequence of test problems calculated by Dannenbring method, NeH method, Rajendran method and hybrid heuristics method. The first column in the table is the problem category, the second column is the number of work pieces (n indicated the number of work pieces) and the number of machines (m indicates that the machine number) of the problems, and the third column is the optimal solutions obtained by other methods or proved in theory, the fourth column is the optimal solution obtained by Dannenbring method, the fifth column is the optimal solution obtained by NEH method, the sixth column is the optimal solution obtained by Rajendran method, the seventh column is the optimal solution obtained by the new method, the last column is the number of the arrangements which can achieve the minimum make span. The results in Table 1 reveals that the new constructive heuristic method proposed method can improve almost all make spans of the other three constructive methods.
Tab. 2 is the result of Table 1 calculated by the formula 5, and it indicates the variance between the make spans obtained by these methods and optimality’s. The first column in the table is the problem category, second, and the third, fourth, fifth column respectively shows the
Typical problems |
Dannenbring |
NeH |
Rajendra |
My method |
|
Car class |
Car 1 |
0.111 |
0.000 |
0.000 |
0.000 |
Car 2 |
0.048 |
0.029 |
0.031 |
0.000 |
|
Car 3 |
0.004 |
0.023 |
0.012 |
0.012 |
|
Car 4 |
0.044 |
0.019 |
0.014 |
0.000 |
|
Car 5 |
0.161 |
0.045 |
0.010 |
0.014 |
|
Car 6 |
0.104 |
0.060 |
0.067 |
0.051 |
|
Car 7 |
0.031 |
0.069 |
0.070 |
0.000 |
|
Car 8 |
0.097 |
0.057 |
0.067 |
0.032 |
|
Hel class |
Hel 1 |
0.082 |
0.016 |
0.057 |
0.016 |
Hel 2 |
0.130 |
0.084 |
0.107 |
0.069 |
|
Mean difference |
0.081 |
0.040 |
0.044 |
0.019 |
W. Application of New heuristic algorithm in in
GENETIC ALGORITHM
In order to ascertain the improved efficiency of the new heuristic algorithm, we design two simple genetic algorithms. The two algorithms are similar. They have the same processes and the same GA parameters. The only difference is in the production of the initial population. One GA’s initial population is optimized by the new heuristic algorithm, and the other whose initial population is randomly generated entirely.
-
A. Design of GA
The basic parameters of genetic algorithm are Npop = 40, Pc = 0.6, Pm = 0.01 and MaxGen = 80. The parameters were considered the recommendations of Wang Ling [5] and referred to a group of parameters proposed by De Jong [13] which were later widely used as a standard argument. Based on the parameters, we devise the programs of GA and the specific process can be depicted in Fig.1.
4) Generation of Initial Population
In order to ensure the validity of the initial population, the new individuals are generated by rearranging the serial numbers of work pieces. Such as the initial processing time, involving four work pieces, the serial number of work pieces is given as [A B C D], then the judgment matrix is [0, 1/4, 2/4, 3/4, 1]. Every time generating two random numbers which range is [0, 1], if the first random number is 0.18, the corresponding serial number of work piece is A, and if the second random number is 0.56, the corresponding serial number of work piece corresponding is C, so serial numbers of work pieces in the new individuals is [C B A D]. After repeating this process 40 times which is the size of population, the initial population can be drawn. Although the initial population generated by the process meets the requirements of feasibility, it is debatable on satisfying the requirements of uniformity which means the population covers the most feasible solution space. But considering the purpose of this study is to confirm the improved effect of heuristic algorithms on genetic algorithm, the simple method of generating initial population can be accepted. But in the improvement of genetic algorithm, the niche technology and other technologies are required. If we want the initial population including the result of heuristic algorithm, we can repeat the generating process 39 times, and the last individual of population is the result of heuristic algorithm.

Figure 1. Genetic algorithm flow chart
5) Calculation of the fitness
The processing time of each individual of population is a two-dimensional array which rows denote machines and columns denote work pieces. When we calculate the make span of scheduling which is the individual of population, we can use the code in Fig. 2. And the “Paixu” in the code denotes the processing time of a scheduling which is a specific arrangement of work pieces. Repeat the program with population size times, the target values of all individuals which are the make spans can be drawn. Due to the make span is better the value is few, it is opposite with the fitness. Therefore, in order to obtain the fitness the conversion formula is needed. There are two conversion formulas, one is the addition formula shown in formula 6, and the other is multiplication formula shown in formula 7.
FitnV j = max(ObjV) - ObjV j + 1 . (6)
Where: j=1, 2,……, Npop
FitnVj denotes the fitness of individuals;
max(ObjV) denotes the largest processing time;
ObjVj denotes the processing time of j-individuals;
Through the transformation, the target value is smaller, the fitness value is greater, in order to avoid zero value of the fitness, the fitness value of every individual adds one.
FitnV j = max (ObjV) / ObjV j . (7)
Where: j=1, 2,……, Npop
FitnVj denotes the fitness of individuals;
max(ObjV) denotes the largest processing time;
ObjVj denotes the processing time of j-individuals;
Because the individual target is Make span, its value is
[rows,cols]=size(paixu); sum(1)=paixu(1,1);
for i=1:rows-1
sum(i+1)=sum(i)+paixu(i+1);
end for i=2:rows for j=1:cols-1
sum(j*rows+1)=sum((j-
1)*rows+1)+paixu(j*rows+1);
sum(j*rows+i)=max(sum((j-1)*rows+i), sum(j*rows+i-1))+paixu(j*rows+i);
end end not zero, so the formula is available for all individuals.
Figure 2. The code of calculation of make span
6) Select the retain optimal individual
Sort the population according to fitness, then the highest fitness as the best individual to retain. The detailed code is in Fig. 3.
[FitnV_bl, FitnI_bl]=sort(FitnV);
chrom N=chrom(FitnI bl(NIND) :);
Figure 3. The code of selection the retain individual
7) Fitness-based selection operation
According to the fitness to generate a judgment which size is one row and Npop columns, and producing a random number which range is [0 1], if the comparison judgment, according to the location of judgment which is the random number would fall in to choose the corresponding individual, we can complete the selection operation by the code in Fig. 4.
[rows,cols,nums]=size(chrom_flowshop); chrow_flowsh=zeros(rows,cols,nums);
zhongjianshu=0;
pandanjz=zeros(1,NIND+1);
zongpandanshu=0;
for i=1:nums pandanjz1(i)=FitnV(i)+1-min(FitnV);
zongpandanshu=zongpandanshu+pandanjz1(i);
end for i=1:nums pandanjz2(i)=pandanjz1(i)/zongpandanshu;
pandanjz(i+1)=pandanjz(i)+pandanjz2(i);
end for i=1:nums
A=0;
xzs=rand(1,1);
for j=1:NIND if xzs>=pandanjz(j)&xzs<=pandanjz(j+1) A=j;
end if A>0 break; end end chrom_flowsh(:,:,i)=chrom_flowshop(:,:,A); end
Figure 4. The code of selection operation
8) Order-based crossover operation
On the basis of the select operation, choosing the first and second individuals, and randomly selecting the cross position, deleting the work pieces of 2nd individual which is the same as the work pieces of 1st individual before the cross position, and deleting the work pieces of 1st individual which is the same as the work pieces of 2nd individual after the cross position, with the rest of work pieces of 2nd individual to replace the work pieces of the 1st individual after the cross position, the new 1st individual is obtained, and with the rest of work pieces of 1st individual to replace the work pieces of the 2nd individual before the cross position, the new 2nd individual is obtained. The method is specifically described in Fig. 5.

9) Order-based mutation operation
In order to ensure the feasibility of solutions, in the mutation operation, we can randomly select two locations; exchange the serial numbers of work pieces on the selected locations. So the mutation operation is completed and the new individual can meet the feasibility requirement. The specific code is in Fig. 6.
Calculating the individual fitness according to the target value of individuals in population is the second step of GA, the second program can be executed directly.
[rows,cols,nums]=size(chrom_gongxu);
jishu_weizhi=zeros(1,2);
pandanjz=zeros(1,1+cols);
for j=2:1+cols pandanjz(j)=pandanjz(j-1)+1/cols;
end for i=1:NIND while jishu_weizhi(1)==jishu_weizhi(2) jishu_weizhi=rand(1,2);
for j=1:2
jishu_weizhi(j)=k-1;
end if jishu_weizhi(j)==k-1 break end end end end x_pandan=rand(1,1);
if x_pandan chrom_gongxu(:,jishu_weizhi(2),i)=zhongjianshu; end end Figure 6. The code of mutation operation 10) Replace the worst individuals with the best to generate a new population After sort the individuals of population according to the fitness, and replace the first individual in the sequence with the best individual, the new population can be gained. The code is in Fig. 7. [FitnV1,FitnI]=sort(FitnV); chrom(:,:,FitnI(1))=chromN; Figure 7. The code of replace operation Finally, to determine whether the terminating condition is satisfied, if satisfied output the final result, if fail to satisfy go back to the second step repeated the GA until the terminating condition is satisfied. B. Test of Car problems We independently run the above two genetic algorithms 20 times to solve the Car kind problems from Car1 to Car8, and record the results of each run. The results show in Tab. 3, Tab. 4, Tab. 5 and Tab. 6. Form the results we can see the GA whose initial population is improved by heuristic algorithm obtained more stable satisfactory solution and cost less genetic times, and without using the results of the heuristic algorithm, the solution quality is poor, and cost longer time. Since then, we can see that the proposed heuristic algorithm can effectively improve the result quality of intelligence algorithm. TABLE III. Comparisons of two GA on Car1 and Car2 run Car1 Car1 Sim GA Imp GA Sim GA Imp GA Opt gen Opt gen Opt gen Opt gen 1 7523 62 7038 1 8458 1 7166 1 2 7138 30 7038 1 8157 51 7166 1 3 7168 25 7038 1 7916 54 7166 1 4 7689 9 7038 1 7870 80 7166 1 5 7648 27 7038 1 7617 62 7166 1 6 7038 54 7038 1 7617 50 7166 1 7 7626 70 7038 1 8021 74 7166 1 8 7048 11 7038 1 7617 56 7166 1 9 7689 9 7038 1 7820 56 7166 1 10 7048 57 7038 1 8166 3 7166 1 11 7259 38 7038 1 7617 70 7166 1 12 7685 58 7038 1 8215 5 7166 1 13 7685 21 7038 1 8202 7 7166 1 14 7190 69 7038 1 8166 9 7166 1 15 7038 21 7038 1 7730 54 7166 1 16 7692 61 7038 1 8166 5 7166 1 17 7685 18 7038 1 7973 15 7166 1 18 7545 77 7038 1 7617 48 7166 1 19 7648 21 7038 1 8157 26 7166 1 20 7689 8 7038 1 8166 3 7166 1 Ave 7436.55 37.3 7038 1 7963.4 36.45 7166 1 Opt 7038 54 7038 1 7617 48 7166 1 TABLE IV. Comparisons of two GA on Car3 and Car4 run Car3 Car4 Sim GA Imp GA Sim GA Imp GA Opt gen Opt gen Opt gen Opt gen 1 7710 15 7399 1 8479 38 8003 1 2 7531 57 7399 1 8714 74 8003 1 3 7919 62 7399 1 8564 78 8003 1 4 8171 45 7399 1 8426 54 8003 1 5 8126 18 7399 1 8423 61 8003 1 6 7543 62 7399 1 9487 1 8003 1 7 7594 5 7399 1 9487 2 8003 1 8 7770 27 7399 1 9487 33 8003 1 9 7543 51 7399 1 9487 5 8003 1 10 8590 5 7399 1 8611 64 8003 1 11 8567 24 7399 1 9487 7 8003 1 12 7981 50 7399 1 9487 4 8003 1 13 7800 59 7399 1 9487 3 8003 1 14 8255 80 7399 1 9487 2 8003 1 15 8682 8 7399 1 9487 3 8003 1 16 8380 16 7399 1 8423 73 8003 1 17 8099 67 7399 1 8611 23 8003 1 18 7954 80 7399 1 9487 5 8003 1 19 7741 76 7399 1 8917 58 8003 1 20 8126 22 7399 1 9487 1 8003 1 Ave 8004.1 41.45 7399 1 9076.25 29.45 8003 1 Opt 7531 57 7399 1 8423 61 8003 1 TABLE V. Comparisons of two GA on Car5 and Car6 run Car5 Car6 Sim GA Imp GA Sim GA Imp GA Opt gen Opt gen Opt gen Opt gen 1 8047 44 7720 42 9507 13 8570 73 2 7843 79 7720 7 8754 11 8715 25 3 8235 35 7808 1 9126 38 8739 1 4 7862 45 7750 69 9355 55 8715 62 5 7867 62 7720 24 8754 58 8715 36 6 7845 17 7768 17 9170 16 8739 1 7 7862 10 7750 16 9170 49 8739 1 8 7825 8 7750 69 9404 10 8739 1 9 7761 68 7720 12 9170 70 8715 47 10 7865 9 7779 45 8852 60 8739 1 11 8518 51 7750 30 9267 26 8715 3 12 7835 58 7768 8 8813 37 8739 1 13 8057 76 7808 1 8754 49 8570 3 14 7822 62 7750 5 9293 6 8570 76 15 7821 70 7720 13 9599 56 8570 13 16 8003 10 7750 32 9187 14 8715 7 17 7867 27 7808 1 8715 12 8715 40 18 7865 6 7808 1 8742 59 8739 1 19 8235 13 7750 59 9450 72 8739 1 20 8039 11 7720 58 9179 33 8715 3 Ave 7953.7 / 7755.85 / 9113.05 / 8695.6 / Opt 7761 68 7720 7 8715 12 8570 13 TABLE VI. Comparisons of two GA on Car7 and Car8 run Car7 Car8 Sim GA Imp GA Sim GA Imp GA Opt gen Opt gen Opt gen Opt gen 1 6685 48 6590 1 9014 15 8487 6 2 6779 24 6590 1 9091 8 8530 1 3 6887 19 6590 1 9265 59 8530 1 4 6779 21 6590 1 8964 13 8479 3 5 6803 77 6590 1 9313 49 8409 34 6 6753 30 6590 1 9170 60 8530 1 7 6887 13 6590 1 9170 41 8530 1 8 7037 68 6590 1 9365 62 8530 1 9 7084 54 6590 1 8505 71 8530 1 10 6590 8 6590 1 9267 39 8479 2 11 6753 12 6590 1 9504 5 8530 1 12 6681 33 6590 1 9459 77 8366 22 13 6753 16 6590 1 9068 20 8366 53 14 6888 80 6590 1 9307 28 8530 1 15 6983 7 6590 1 9170 49 8530 1 16 6760 34 6590 1 8871 14 8530 1 17 6753 10 6590 1 9170 22 8530 1 18 6681 26 6590 1 9188 13 8530 1 19 6753 38 6590 1 9226 15 8473 5 20 6753 55 6590 1 8990 15 8530 1 Ave 6802.1 33.65 6590 1 9153.85 33.75 8497.45 6.9 Opt 6590 8 6590 1 8505 71 8366 22
V. Conclusion Based on the number of work pieces, a new mixed constructive heuristic algorithm has been designed, and implemented through MATLAB. And contrasting with Dannenbring method, NEH method and Rajendran method by the problems of Car and Hel, the results prove that the new method is better than the other three methods, and it can effectively improve the make span. It can improve the Dannenbring result by 6.2%, and improve the NEH result 4%, and improve Rajendran result by 2.4%. And we discuss the application of the heuristic algorithm in GA. After designing two GAs, one is the simple GA, and the other is improved GA, we test the effect which the heuristic algorithm on GA by eight Car class problems. The result shows using the heuristic algorithm can improve the quality and speed of GA. It can improve the average value by 398.55 and average genetic times by 36.3 on Car. Although it can’t improve the optimal value on Car1, it can get the optimal solution with few times by 36.3. And the specific improvement on Car1-8 is in Tab.7 and Tab.8. TABLE VII. Improvement on values and genetic times on car1-4 Car1 Car2 Car3 Car4 Val Gen Val Gen Val Gen Val Gen Ave 398.55 36.3 797.4 35.45 605.1 40.45 1073.25 28.45 Opt 0 53 451 47 132 56 420 60 TABLE VIII. Improvement on values and genetic times on car5-8 Car5 Car6 Car7 Car8 Val Gen Val Gen Val Gen Val Gen Ave 197.85 12.55 417.45 17.4 212.1 32.65 656.4 26.85 Opt 41 61 145 -1 0 7 139 49 Acknowledgment This paper was supported by National Natural Science Foundation of China under grant number 50875101 and Open Research Foundation of Green Manufacturing and Energy Conservation Technology Research Center under grant number C1010.
Список литературы Design and Application of A New Hybrid Heuristic Algorithm for Flow Shop Scheduling
- M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman and Company, San Francisco 1979.
- K. R. Baker, Introduction to Sequencing and Scheduling, Wiley, New York, 1974.
- M. Nawaz, E. Enscore Jr and I. Ham, “A heuristic algorithm for the m-machine, n-job flow-shop sequencing problem,” Omega, 11(1), pp. 91–95, 1983.
- C. Koulamas, “A new constructive heuristic for the flowshop scheduling problem,” European Journal of Operational Research, 105, pp. 66–71, 1998.
- Wang Ling, Shop Scheduling with Genetic Algorithms(in chinese),Tsinghua University Press,2003.
- F. A. Ogbu and D. K. Smith, “The application of the simulated annealing algorithm to the solution of the n/m/Cmax flowshop problem,” Computers and Operations Research, 17(3), pp. 243–253, 1990.
- C. R. Reeves and T. Yamada, “Genetic algorithms, path relinking and the flowshop sequencing problem,” Evolutionary Computation, 6, pp. 45–60, 1998.
- J. Grabowski and J. Pempera, “New block properties for the permutation flowshop problem with application in tabu search,” Journal of Operational Research Society, 52, pp. 210–220, 2001.
- J. H. Holland, Adaptation in Nartural and Artifical System, MITPress, Massachusett 1975.
- D E.Goldberg, Genetic algorithms in search optimization and machine learning reading, Addison Wesley, MA 1989.
- L. Wang and D.-Z. Zheng, An Effective Hybrid Heuristic for Flow Shop Scheduling, Int J Adv Manuf Technol (2003) 21:38–44.
- Ceyda OG˘ UZ and M. Fikert Ercan, A genetic algorithm for hybrid flow-shop scheduling with multiprocessor tasks, Journal of Scheduling 2005, 8, 323-351.
- K. A. De JONG, An analysis of the behavior of a class of genetic adaptive systems, University of Michigan, Michigan 1975.