IEEE Ninth International Conference on Computer and Information Technology
Solving distributed flexible manufacturing systems scheduling problems subject to maintenance: Memetic algorithms approach
Mehdi Yadollahi
Amir Masoud Rahmani
Computer Engineering Department Islamic Azad University, Ayatollah amoli branch Amol, Iran E-mail:
[email protected]
Computer Engineering Department Islamic Azad University, Science and Research branch Tehran, Iran E-mail:
[email protected] system does not consider maintenance, the planning determined will be seriously interrupted [2]. FMS scheduling problem is considered as NP-hard and we mostly use heuristic methods to solve it. There have been so many heuristic methods to solve the FMS scheduling problem which consists of: FMS scheduling with Ant Colony Optimization [3], FMS scheduling with Genetic Algorithm and Petri Net [4], distributed FMS scheduling with Genetic algorithm [5] and job shop scheduling using the combination of Genetic Algorithm and Ant Colony [6]. From the many developed heuristic methods to solve this problem, genetic algorithm [7] is one of the most utilized heuristic methods. Genetic algorithm has got some weaknesses like slow movement towards global optimization and instability. To solve these problems, we can use the strategy of combining genetic algorithm with local search skills like Tabu search which is called Memetic algorithm [8]. Almost in all of the algorithms which are developed to solve the scheduling problem, there’s no sign of time-cost trade off solution. When the production time increases, the direct costs decrease and indirect costs increase as well. On the other hand with the reduction of production time, the direct costs increase and indirect costs decrease as well, as a result of this, we can define the production time in a way that the total amounts of direct and indirect costs reach its minimum. Consequently the time-cost trade off solution is a very important matter. In this paper we have proposed a memetic algorithm for distributed FMS scheduling that considers machine maintenance and its goal is to create a time-cost trade off solution. This algorithm establishes a time-cost trade off in FMS scheduling for the first time. The structure of this paper is as the following: in the section 2 there is problem description, in the section 3 we mentioned the proposed algorithm, experimental results and comparing the proposed algorithm with the other available algorithms in the section 4 and at last reaching a conclusion in the section 5.
Abstract— In general, distributed flexible manufacturing systems (FMS) scheduling problems are more complicated than the classical FMS scheduling, because it has to focus on two different issues: first, allocation of jobs to suitable factories and second, determination of the corresponding production scheduling in each factory. On the other hand in distributed FMS scheduling, maintenance usually is not considered however in the production level, every machine requires maintenance and this matter directly affects the machine’s availability, production rate, consumption rate, etc. Consequently considering maintenance problem increases system reliability. In this paper we have proposed a memetic algorithm for distributed FMS scheduling which considers maintenance problem. The objective of this algorithm is to create a time-cost trade off which is being brought up for the first time. The experimental results show that the optimization performance of this proposed algorithm is 8.85% better than SMGA and also 10.99% better than GADG algorithm. Keywords-Distributed flexible manufacturing Scheduling; Memetic algorithm; Maintenance
I.
systems;
INTRODUCTION
The significance of distributed scheduling has been recognized by many researchers and industrialists in recent years because of the changes in the mode of today’s production environment. Single factory production has been gradually replaced by multi-factory production due to the trend of globalization these factories may be geographically distributed in different locations. This allows them to be closer to their customers, to comply with the local laws, to focus on a few product types, to produce and market their products more effectively, and to be responsive to market changes more quickly [1]. Distributed FMS scheduling problem are much more complicated than the scheduling problems in single factory. In general, it mainly involves two issues: first, allocation of jobs to suitable factories and second, determination of the production scheduling in each factory. As a general rule, the main goal of distributed systems is to maximize the system reliability and the resources utilization. At production level, machine maintenance is inevitable. It directly influences on the machine availability, production rate, consumption rate and etc. If the production schedule obtained from distributed
978-0-7695-3836-5/09 $26.00 © 2009 IEEE DOI 10.1109/CIT.2009.113
II. PROBLEM DESCRIPTION In the distributed FMS, each factory has Mf number of machines that each machine can produce limited number of products. Each job has up to Ni number of operations, and each operation can be performed on more than one suitable machine with different processing time. In Table 1 there is shown how to formulate the problem.
36
TABLE 1. PROBLEM FORMULATION F
number of factory
Mf
number of machines in factory f
N
number of jobs
Ni
number of operations of job i
T ijmf a
TS ij TE ij TF if TB if
processing time of operation j of job i on machine m in factory f
CT
CF
mf
age of machine m in factory f
A
maximum machine age
Ti
completion time of job i
otherwise
δijkmf ={
γijmf ={
if machine m in factory f will be maintained after operation j of job i
otherwise
1 0
otherwise
C i = ∑ CF if χ if +
After doing a number of operations, each machine requires a time for maintenance. During the maintenance, the machine becomes unavailable for a while. Figure 1 shows the maintenance time related to machine age. The machine age equals the cumulated processing time of operations. The maximum age of each machine is defined as A. After each maintenance, the machine age will be reset to zero. In the problem, it is assumed that F, N, Ni, Mf, A, tijmf, TFif, TBif, CTmf, CFif, CBif are given and the variables amf, Ti, TSij, TEij, Ci, χif, δijkmf, γijmf can be calculated. In the proposed algorithm, the goal is to create a tradeoff between production time max{ T i } and production
if
χ if + TE iN + ∑ TB if χ if i
(i = 1,2,..., N ; f = 1,2,..., F )
f
ijmf
jf
CT mf χ if + ∑ CB if χ if f
(2)
(i = 1,2,..., N ; j = 1,2,..., Ni ; m = 1,2,..., M f ; f = 1,2,..., F )
The limitations of this problem consist of: • Each operation can only start upon the completion of its preceding operation.
TS ij ≥ TE i ( j −1) •
costs i . Production time is equal with maximum jobs production time and the production time for each job can be calculated from constraint (1) and production costs equals total jobs production costs which can be obtained from constraint (2).
f
∑t
f
Ci
∑ TF
The activity cost of machine m in each time unit
mf
if operation j of job i occupied time slot k on machine m in factory f
1 0
Ti =
Transfer-time of job i to factory f Transfer-time of job i from factory f to bazaar
Transfer-cost of job i to factory f if CB Transfer-cost of job i from factory f to bazaar if C Production cost of job (i) i if job i is allocated to factory f
χif = {01
∑
starting time of operation j of job i ending time of operation j of job i
(i = 1,2,..., N ; j = 1,2,..., N i )
Once an operation starts, it will be finished without interruption.
TE ij − TS ij =
∑t
ijmf
χ if
mf
(i =1,2,...,N; j =1,2,...,Ni ; m =1,2,...,M f ; f =1,2,...,F)
(1)
Figure 1. Maintenance time related to machine age.
37
(3)
(4)
•
that the machine goes to the maintenance state after doing the current operation and otherwise this parameter becomes 0. This method of representing chromosome is reformed from [4]. Figure 2 shows a sample chromosome for the flexible manufacturing system of Table 2.
Each operation should be carried out on one machine.
∑δ
ijkmf
≥1
(5)
kmf
(i =1,2,...,N; j =1,2,...,Ni;k =1,2,...,K;m=1,2,...,Mf ; f =1,2,...,F) •
At each time unit, each operation should be carried out on one machine.
∑ δ ijkmf ≤ 1
Figure 2. a sample chromosome
In this method, representation of repetition times for one job in chromosome shows the number of that job operation. In Figure 2, the third gene 1120 shows that the first operation from the second job is being done at the first machine from the first factory. And the sixth gene 1321 shows that the second operation from the second job after being done at the third machine from the first factory goes to the maintenance state. The advantage of this method is that it allows alternative routing for manufacturing, e.g. Table 2 shows that the second operation from the second job can also be done at the second machine, so that we can either show the sixth gene with 1221.
(6)
mf
(i =1,2,...,N; j =1,2,...,Ni;k =1,2,...,K;m=1,2,...,Mf ; f =1,2,...,F)
•
Each machine should carry out only one operation at each time unit.
∑δ
ijkmf
≤1
(7)
ij
(i =1,2,...,N; j =1,2,...,Ni ;k =1,2,...,K;m=1,2,...,Mf ; f =1,2,...,F)
•
B. Fitness function In this problem, the goal is to reach an optimization point in a way that we can create a time-cost trade off. In order to gain this target we use the following fitness function to evaluate the fitness of the used chromosomes.
All the operations of a job should be finished in the same factory.
∑χ
if
=1
(i = 1,2,..., N ; f = 1,2,..., F )
f
(8)
Fitness = W1 (max{Ti } TW ) + W2 (∑ Ci CW )
Table 2 shows a typical flexible manufacturing system with two factories. In each factory of this typical system, there are three machines, and we have to schedule four jobs with different number of operations in them. III.
(9) (10)
i
W1 + W2 = 1
W1 and W2 can be set depending on time/cost importance in scheduling. E.g. if the amount of W2 becomes 0, we do not consider the cost factor in scheduling and if the amount of W1 becomes 0, the time factor is not considered in scheduling. CW is the maximum possible cost and TW is the maximum possible time in the scheduling which is only calculated once in the beginning. In order to calculate CW and TW in the beginning, all of the jobs are dedicated to a factory which has got the maximum necessary time and cost, and then we dedicate the machines with the most time and cost options to different operations so that the maximum time and cost is gained for the scheduling.
PROPOSED ALGORITHM
The proposed algorithm uses a combination of genetic algorithm and Tabu search as a strategy to solve distributed FMS scheduling problem. This algorithm counts on variety of population and choice process, instead of genetic operators’ variety, which has been explained below. A. Encoding of Chromosome Each chromosome represents jobs’ scheduling for all of the factories from left to right. The number of genes for each chromosome equals the total number of jobs operations. Each gene is represented as FMJR which composes of four parameters, representing Factory (F), Machine (M), Job (J) and Maintenance (R). If R parameter equals 1, this means
TABLE 2. A TYPICAL FLEXIBLE MANUFACTURING SYSTEM job1 oper.
Machine
Process time
Job2 oper.
Machine
Process time
Job3 oper.
Machine
Process time
Job4 oper.
Machine
Process time
1
2
7
1
1
3
1
1
3
1
2
3
1
3
4
2
2
4
1
2
4
2
3
5
2
2
13
2
3
6
3
1
2
3
3
8
38
sequentially. This action is repeated to generate the second offspring. The chromosome which has been generated in this way is constantly valid. Figure 4 shows the exercising of crossover operator in a case that the second job is selected.
C. Tabu search Tabu search seeks two objectives, first to dedicate more proper machines to the scheduled operations and second objective is to categorize the chromosomes. In the proposed algorithm the chromosomes are categorized directly to the multiple Tabu lists so that they are properly chosen for the crossover operators. E.g. in order to create a better chromosome with the crossover operator, we can choose a chromosome with the minimum cost and a chromosome with the minimum time. In Tabu search, first of all with some changes in the machine number of each chromosome genes, we try to dedicate more proper machines to the operation and then all of the chromosomes are categorized in three Tabu lists as follows: In the first Tabu list, chromosomes with the most fitness are stored. In the second Tabu list, chromosomes with the minimum cost, and in the third Tabu list, chromosomes with the minimum time are placed. Each Tabu list consists of two long term and short term Tabu lists. Long term Tabu lists keep the best L chromosomes of all previous generations and short term Tabu lists belong to the current generation categorization. We use long term Tabu lists as the Elite for the protection of population diversity, and short term Tabu lists to make the usage of crossover operator purposeful. Figure 3 shows the categorization of chromosomes by the Tabu lists.
Figure 4. Exercising of crossover operator in a case that the second job is selected
F. Mutation operator There are two types of mutation in which, one is randomly selected and exercised. In the first type of mutation, one job is randomly selected and then the factory number parameter of all the related genes in the selected chromosome changes. The purpose of this mutation is to create different production paths. Figure 5 shows the first type of mutation in a case that job 1 is selected. In the second type of mutation, some genes will be randomly selected from chromosome and the maintenance parameter of them changes. The purpose of this mutation is to improve the effect of machines’ maintenance problem in scheduling. Figure 6 shows the mutation type 2.
Figure 5. First type of mutation
Figure 3. Categorization of chromosomes by the Tabu lists
Figure 6. Mutation type 2
D. Selection operator The selection of chromosome is done via three short term Tabu lists. As a result, we create two random numbers between [1, 3] which show us the two selected lists for selection operation. Afterwards a chromosome will be selected from each of the two chosen lists according to the Roulette Wheel selection approach.
IV.
EXPERIMENTAL RESULTS
To execute these algorithms, we have used C#.Net 2008 programming language. All of the programs have been run on a PC with 2.4 GHz Pentium-IV CPU and 1GB of RAM. The proposed algorithm has been compared with SMGA and GADG [5] algorithms. The SMGA algorithm from [6] has been used with small modifications. The only thing that these two algorithms actually do is to minimize the production time. As a result, in order to compare the proposed algorithm with these two algorithms, we have considered W1 as 1. so that we can enable the proposed algorithm just to minimize the production time as well. In comparison to these algorithms there are ten test data sets designed to cover the small, medium and large systems. These test data have been named in a TestXX_F_M_J_O format in which XX is the test data number, F is the number
E. Crossover operator In this algorithm we use Job Base Crossover in order to prevent generating invalid chromosomes. After selecting two chromosomes as parents we choose a job randomly and then all of the genes related to that job which was chosen in the first parent will be transferred to the same place in the first offspring. Then we omit all of the genes related to this job in the second parent, and we place the rest of the genes in the second parent in the empty spaces of the first offspring
39
of factories, M is the number of machines in each factory, J is the number of jobs and finally O is the number of operations in each job. Each algorithm has been run 10 times individually. The population size of all the three algorithms in the first three tests has been considered 100 and the number of generations has been considered 150. We have considered the population size 200 and the number of generations 200 for the test number four to seven and in the rest of the test data, 200 as the population size and 350 as the number of generations. In all of the three algorithms mutation rate is 0.1 and crossover rate equals 0.8. Table 3 shows the results of simulating three algorithms (SMGA, GADG and MA) on all of the test data sets. As we can see, the proposed algorithm has got better results in all of the cases and the reason is that it uses the Tabu search as a local search algorithm and it has also the idea of categorizing chromosomes due to different purposes. On the other hand this algorithm needs more time to run as well and this is because of using Tabu search. Because the necessary time for the execution of algorithm does not matter too much, we don’t care if it takes more time for scheduling. Figure 7 shows a comparison of three algorithms (SMGA, GADG and MA) from the direction of average running time.
Figure 8 compares the average production time from the three algorithms (SMGA, GADG and MA). This chart shows that the proposed algorithm (MA), always gives better results comparing the two other algorithms. As it can be seen, as the system grows, the amount of this improvement becomes more obvious. The obtained results from the proposed algorithm (MA) are approximately 8.85% more improved compared to SMGA algorithm and also 10.99% better compared to GADG algorithm.
Figure 8. Compares the average production time from the three algorithms (SMGA, GADG and MA)
Table 4 shows the results of running the proposed algorithm (MA) in three different states ( W1 = 0, W1 = 1 and W1 = W2 = 0.5) on different test data sets. This table shows that when W1 = 0, the proposed algorithm minimizes the production costs without considering production time. And when W1 = 1, the proposed algorithm minimizes the production time without considering production costs. And in the end when W1 = W2 = 0.5, the proposed algorithm creates a time-cost trade off. And also tries to minimize them both. Figure 7. Comparison of three algorithms (SMGA, GADG and MA) from the direction of average running time TABLE 3. RESULTS OF SIMULATING THREE ALGORITHMS (SMGA, GADG AND MA) Problem
SMGA
GADG
MA
Time
Min
Ave
Time
Min
Ave
Time
Min
Ave
3
519
624
6
568
677
24
520
573
Test02_2_5_20_4
9
1499
1646
21
1696
1816
77
1316
1426
Test03_2_5_30_4
18
2450
2583
36
2553
2724
145
1965
2104
Test04_2_5_10_10
37
1769
1917
82
1810
1887
346
1644
1807
Test05_2_5_20_10
117
3751
3822
257
3678
3825
896
3485
3649
Test01_2_5_10_4
Test06_2_5_30_10
245
5645
5836
534
5769
5848
2210
5199
5381
Test07_5_5_10_10
47
851
924
101
925
1055
460
759
786
Test08_5_5_20_10
244
1696
1773
542
1824
1914
2486
1620
1654
Test09_5_5_30_10
491
2537
2653
1044
2629
2697
4546
2318
2440
Test10_5_5_30_20
1741
5616
5742
3948
5607
5737
16341
5117
5263
40
TABLE 4. TIME-COST TRADE OFF BY PROPOSED ALGORITHM (MA) Mutation Rate
Problem
test1_2_5_10_4
0.1
test4_2_5_10_10
0.1
Test6_2_5_30_10
0.1
V.
Cross Rate
0.8
0.8
0.8
No. of Generation
150
200
200
Pop.
[3]
[4]
[5]
[6]
[7]
Run Time
Production Time
Production Cost
Fitness
0.5
0.5
30
1002
269350
0.53
1
0
29
848
330400
0.18
0
1
29
4181
242300
0.64
0.5
0.5
362
2313
653100
0.53
1
0
343
1886
815950
0.28
0
1
382
7740
595700
0.60
0.5
0.5
2431
6067
2173850
0.54
1
0
2331
5767
2504600
0.33
0
1
2419
25364
1801450
0.60
200
200
[8]
CONCLUSION
REFERENCES [2]
W2
100
In this paper proposed a memetic algorithm approach to solve distributed flexible manufacturing systems scheduling problem subject to machine maintenance. The objective of this algorithm is to create a time-cost trade off which is being brought up for the first time in the flexible manufacturing systems. The experimental results showed that the proposed algorithm (MA) is approximately 8.85% more improved compared to SMGA algorithm and also 10.99% better compared to GADG algorithm, and the reason is that it uses a local search technique and it has also the idea of categorizing chromosomes due to different purposes. On the other hand this algorithm needs more time to run as well, compared to the two other algorithms, and this is because of using Tabu search as a technique of local search in the proposed algorithm. [1]
W1
DR, Sule. Logistics of facility location and allocation. New York: Marcel Dekker Inc, 2001. Peres, F, and D Noyes. "Evaluation of a maintenance strategy by the analysis of the rate of repair." Qual Reliab Eng Int 19, 2003, pp.129 148. R Kumar, M K Tiwari, R Shankar. "Scheduling of flexible manufacturing systems: an ant colony optimization approach." Journal of Engineering Manufacture 217, no. 0954-4054, 2003, pp.1443-1453. Delgadillo, Gonzalo Mejía, and Jaime Acevedo Chedid. "Reactive Scheduling in FMS: an Integrated Approach based on Petri Nets, Genetic Algorithms and Simulation." Third International Conference on Production Research Americas’ Region 2006, 2006. Chan, Felix, S H Chung, L Y Chan, G Finke, and M K Tiwari. "Solving distributed FMS scheduling problems subject to maintenance: Genetic algorithms approach." Robotics and ComputerIntegrated Manufacturing (Elsevier Ltd) 22, 2006, pp.493–504. Rossi, Andrea, and Elena Boschi. "A hybrid heuristic to solve the parallel machines job-shop scheduling problem." Advances in Engineering Software (Elsevier Ltd), 2008. Michalewicz, Zbigniew. Genetic Algorithms + Data Structures = Evolution Programs. New York: Springer, 1996.
41
Moscato P. "Memetic algorithms: A short introduction", In Corne, D., Glover, F., Dorigo, M., editors, New Ideas in Optimizations, McGraw-Hill, Londres, 1999, pp.219 - 235.