International Journal of Mechanical and Production Engineering Research and Developm Development ent (IJMPERD) ISSN (P): 2249-6890; ISSN (E): 2249-8001 Vol. 5, Issue 1, Feb 2015, 45-52 © TJPRC Pvt. Ltd.
DESIGN AND DEVELOPMENT OF AN AUTOMATED TOOL FOR JOB SHOP SCHEDULING USING PSO AND CPSO 1
2
3
J. V. S. BHASKAR , B. DATTATRAYA SARMA & K. HEMA CHANDRA REDDY 1 2
Professor, Sree Venkateswara College of Engineering, Nellore, Andhra Pradesh, India Principal, Sree Venkateswara College of Engineering, Nellore, Andhra Pradesh, India 3
Registrar, JNT University, Anantapur, Andhra Pradesh, India
ABSTRACT Scheduling of manufacturing systems refers to the determination of the sequence in which jobs are to be processed over the pr production oduction stages, followed b by y the determination of the start time and finish time of processing jobs. This paper explores job shop scheduling to reduce makespan through Particle Swarm Optimization (PSO) and Chaotic Particle Swarm Optimization (CPSO) approaches. A Graphical User Interface (GUI) is designed to automate the steps involved in optimization of scheduling. The GUI provides the user flexibility in handling different machine systems and seamlessly integrates with decision making process. The results of the two optimization approaches are compared and Gantt chart of the schedule plotted.
KEYWORDS: Automated Tool, (PSO), Chaotic Particle Swarm Optimization (CPSO), GUI Provides INTRODUCTION Scheduling has been a subject of a significant amount of literature in the operations research field since the early 1950s [1] [2].The main objective of scheduling is an efficient allocation of shared resources over time to competing activities. Emphasis has been on investigating machine scheduling problems where jobs represent activities and machines represent resources. The problem is not only NP -hard, but also has a well-earned reputation of being one of the most computationally difficult combinatorial optimization problems considered to date. This intractability is one of the reasons why the problem has been so widely studied. The problem was initially tackled by “exact methods” such as the branch and bound method (BAB), which is based on the exhaustive enumeration of a restricted region of solutions containing exact optimal solutions. Exact methods are theoretically important and have been successfully applied to benchmark problems, but sometimes they are quite time consuming even for moderate-scale problems. With a rapid progress in computer technology, it has become even more important to find practically acceptable solutions by “approximation methods” especially for large-scale problems within a limited amount of time [2]. Stochastic local search methods are such approximation methods for combinatorial optimization. They provide robust approaches to obtain high quality solutions to problems of realistic sizes in reasonable amount of time. Some Some of stochastic local search methods are proposed in an analogies alogies with the processes in nature, such as statistical physics and biological evolution, and others are proposed in the artificial intelligence contexts. They often work as an iterative master process that guides and modifies the operations of subordinate heuristics; thus they are also called metaheuristics.
Metaheuristics have been applied to wide variety of combinatorial optimization problems with great success. Particle swarm optimization was developed by Kennedy and Eberhart (1995) as a stochastic optimization algorithm based www.tjprc.org www.tjprc.org
[email protected]
46
J. V. S. Bhaskar, B. Dattatraya Sarma & K. Hema Chandra Reddy
on social simulation models. The algorithm employs a population of search points that moves stochastically in the search space. Concurrently, the best position ever attained by each individual, also called its experience, is retained in memory. This experience is then communicated to a part or to the whole population, biasing its movement towards the most promising regions detected so far. The communication scheme is determined by a fixed or adaptive social network that plays a crucial role as to the convergence properties of the algorithm a lgorithm [3]. The PSO algorithm searches for the best solution over the complex space through co-operation and competition. First of all, the PSO algorithm creates the initial particle swarm, namely, it initializes a swarm of particle randomly in the available solution space, making each particle an available solution of the optimization problem. Furthermore, the target function determines the fitness value through the target function. Each particle will move in the space of the solution, with its direction and distance determined by speed. The general particle will move following the best current particle, obtaining the best solution by searching generation by generation [4][5]. In each generation, the particle will trace two limited values, one of which is the best solution, pbest , which is found so far by the particle itself. The other is the best solution, gbest , which has been found so far by general group swarm[6].
JSP MATHEMATICAL MODEL Scheduling is the allocation of shared resources over time to competing activities. The n*m n*m job job shop scheduling problem, designated by the symbols n/m/G/C max max can be described by a set of n jobs {j i}1<j<n which is to be processed on m machines {mr }1<r< m . Job shop scheduling problem shall meet the following constrained condit ions:
Each machine can only process one working procedure of certain work piece in a period of time.
Each working procedure will not be interrupted by other working procedures during the processing.
Each work piece shall experience the processing on m machines, and during the processing, new work piece shall not be added, and the processing cannot be terminated. The objective of optimizing the problem is to find a schedule that minimizes Cmax Cmax.. .The objective function is
defined as
c =mii n (c max ) jr =m {Cjr} Cjr}1≤ 1≤ j j≤ ≤n;1≤ ;1≤r r ≤m is the schedule schedule of completion times for each operation that satisfies above constraints.Cmax constraints.Cmax is is the time required to complete all the jobs is called the makespan , where Cmax = max1≤ j j≤ ≤n;1≤ ;1≤r r ≤mcjr . The processing of job Jj on machine Mr machine Mr is called the operation Ojr . Operation Ojr requires the exclusive use of Mr for an uninterrupted duration pjr , its processing time; the preemption is not allowed. The starting time and the completion time of an operation Ojr is denoted as s as s jr and cjr respectively. The predefined technological sequence of each job can be given collectively as a matrix {T {T jk } in which T jk = r corresponds to the k -th -th operation Ojr of job Ji job Ji on machine Mr .
PSO AND CPSO Particle swarm optimization (PSO) is a swarm intelligence algorithm that was put forward through the study on the bird swarm’s flying behaviors. Similar to other optimization algorithm ideology, one particle denotes one bird in PSO, Impact Factor (JCC): 5.3403
Index Copernicus Value (ICV): 3.0
47
Design and Development of an Automated Tool for Job Shop Scheduling Using PSO and CPSO
and each particle is assigned an initial location and speed. During the particle swarm flying process, flying speed and orientation will be constantly adjusted, so as to find the optimal solution[8]. In PSO algorithm, particle constantly updates its speed and location according to best P and best g . When one particle finds one optimal local solution, other particles will be attracted by the optimal solution to gather around the solution rapidly. That will lead to premature convergence and local optimization, which will accordingly influence PSO’s search performance [9][10]. Each particle updates its position based upon its own best position, global best position among particles and its previous velocity vector according to the following equations:
(1)
(2) Where,
vi
k 1
th
1) iteration : The velocity of i th particle at (k
: Inertia weight of the particle
w
k
vi : The velocity of i th particle at k th iteration c1, c2
: Positive constants having values between [0, 2.5]
r1 , r 2 : Randomly generated numbers between [0, 1]
pbest i :The best position of the i th particle obtained based upon its own experience
g best : Global best position of the particle in the population xi
k 1
xi
k
1) iteration : The position of i th particle at (k th
: The position of i th particle at
:
th
k
iteration
Constriction factor. It may help insure convergence.
Suitable selection of inertia weight w provides good balance between between global and local explorations.
w wmax
wmax
wmin
iter max
wmax is the value of inertia weight at the beginning of iterations, wmin is the iter Where,
value of inertia weight at the end of iterations, iter is the current iteration number and iter max is the maximum number of iterations.
www.tjprc.org www.tjprc.org
[email protected]
48
J. V. S. Bhaskar, B. Dattatraya Sarma & K. Hema Chandra Reddy
Chaotic is a nonlinear system that is similar to the “Random” and has complex behaviors. Since Chaotic is sensitive to the initial value, it can easily jump out of the local minimum. Also, its search speed is very fast. The basic ideology for CPSO algorithm is: In each iterative process, exert chaotic perturbation on best g , and take it as particle updating position, so as to prevent particle positions from converging, otherwise it will search locally around the global optimal solution. A detailed block diagram of the proposed work is given give n in the figure below.
Figure 1: Block Diagram of the Proposed CPSO Method
BENCH MARK PROBLEMS The three well-known benchmark problems with sizes of 6 _ 6, 10 _ 10 and 20 _ 5 (known as mt06, mt10 and mt20) formulated by Muth and Thompson [7] are commonly used as test beds to measure the effectiveness of a certain method. The mt10 and mt20 problems are almost similar. They are processing the same set of operations and technological sequences are similar, but in the mt20 problem, the number of machines available is reduced to half of that of the mt10 problem. For example, the first operation of each job in mt10 is exactly same as the first operation of each of the first 10 jobs in mt20 and the second operation of each job in mt10 is exactly same as the first operation of each of the second 10 jobs in mt20. Taillard proposed a set of 80 JSP and 120 FSP benchmark prob problems. lems. They cover various ranges ra nges of sizes and difficulties. They are randomly generated by a simple algorithm. In this work 5 benchmark problems are considered namely mt06, mt10 and mt20 formulated by Moth and Thompson and Taillard’s 15 Taillard’s 15 jobs * 15 Machines and 30 jobs * 15 Machines problems.
MATLAB GRAPHICAL USER INTERFACE (GUI) MATLAB is widely used in all areas of applied mathematics, in education and research at universities, and in the industry. MATLAB stands for MATrix LABoratory and the software is built up around vectors and matrices. This makes the software particularly useful for linear algebra but MATLAB is also a great tool for solving algebraic and differential equations and for numerical integration. MATLAB has powerful graphic tools and can produce nice pictures in both 2D and 3D. It is also a programming language, and is one of the easiest programming languages for writing mathematical programs. MATLAB also has some tool boxes useful for signal processing, image processing, optimization, etc.MATLAB has many advantages compared to conventional computer languages for solving technical problems. MATLAB is an
Impact Factor (JCC): 5.3403
Index Copernicus Value (ICV): 3.0
49
Design and Development of an Automated Tool for Job Shop Scheduling Using PSO and CPSO
interactive system whose basic data element is an array that does not require dimensioning. The software soft ware package has been commercially available since 1984 and is now considered as a standard tool at most universities and industries worldwide In this work MATLAB is used to code the proposed CPSO algorithm for having an effective job shop scheduling. Matlab is also used for designing the automated tool through a Graphical User Interface (GUI and scheduling as such is a very complex interconnected process where in different inputs in the form of machine type, machining sequence, machining time, may be needed in order to enforce a proper scheduling. The GUI is coded using MATLAB Version 7.1 and is designed to enable the user to have seamless analysis of the data using different optimization methods. The data required for analysis is fed through an Excel sheet in predefined format. This helps in standardizing the input methods and helps in avoiding user induced i nduced errors.
Figure 2: Screen Shot of the GUI Designed
From the GUI it can be observed that Input to the system can be given by pressing the Load Process Details switch. Once the data is loaded the number of machines and the number of jobs involved in the scheduling are displayed below. The user can then choose the required method method for scheduling. The scheduling results are displayed in terms of make span of each proposed schedule, a decision table which tabulates the job sequence and a Gantt chart.
RESULTS AND CONCLUSIONS The iteration settings for PSO include 100 maximum numbers of iterations, with acceleration constant of 2 and 2.5 and maximum and minimum inertia weights at 1 and 0.2 respectively. The maximum and minimum velocity of particles is fixed at 0.003 and -0.003 respectively. The simulations are carried out in a system having Core 2 Duo processor cloaking a speed of 2 GHz with a RAM of 2GB Table 1: Make Span as Achieved by the Two Optimization Methods
www.tjprc.org www.tjprc.org
Problem Size
Make Span Using PSO
Mt06- 6 jobs * 6 Machines Mt10- 10 jobs * 10 Machines Mt20- 20 jobs * 5 Machines Tail lards 15 jobs * 15 Machines
61 1039 1312 1466
Make Span Using CPSO 58 970 1232 1345
Tail lards 30 jobs * 15 Machines
2975
2765
[email protected]
50
J. V. S. Bhaskar, B. Dattatraya Sarma & K. Hema Chandra Reddy
The Results of make span achieved by different optimization methods of PSO and CPSO are given in the Table 1. The results are best results achieved when each optimization method is run for 50 times. In the case of the mt06 problem there is 5 % reduction in make span in the t he case of CPSO method as compare to PSO. Similarly Similarl y in the case of mt10 problem there is 6.6 % decrease in make span for the scheduled proposed using CPSO in comparison to that of the schedule proposed using PSO. In this case of Mt20 there is a 6 % reduction in make span . In this case of Tailard 15 jobs problem and 30 jobs problem there is 8.25% and 7.05% reductions respectively. GANT CHART FOR THE PROPOSED SCHEDULE 6 3
2
9
6
23
17
1
33
5
42
4
45
49
58
5 2
5
13
23
4
25
30
1
4
3
32
1
40
6
47
53
57
4 3 > - 3 e n i h c a M
6
5
3
16
9
1
0
2
5 6
22
19
29
5
8
2
5
43
32
56 57
47
4
13 3 1
6
22
27
57 58
2 2
4
6
8
0
1
1 13 3
5
16
3
22
27 28
25
1 1
4
6
3
13
9
0
2
18
10
6
33
27
20
5
43
30
53
40
56
50
60
Processing Processi ng Time--------------->
Figure 3: Gantt Chart as Plotted by the GUI for Mt06 Problem
GANT CHART FOR THE PROPOSED SCHEDULE 5 7
15
237 207 237
16
5
330160
375
5
19
19
18
447
12
521
20
609 63 609 639 39 9
14 4
10
6884 84
11
8 817 8 1 17 826 726
777 74 4
1
17
82 8882
9926 269
17
8
9
6
3
2
1017 9991 84 1017
8
13
1148 11961229 111160 48 1196
106 1065 10576
4 9
7
16
158175 207 238
82
12
310331 310331
20 4220
20
4 66 66
11
1
10
518 554 5 18 18 554
611 16 6
14
18
6663 63
761
840
2
4
929948 929948
13
15 6
1017 1011 7039 1039 039
1288 1112
3
1181 118 11187 18 17 18
1232 123 2
3 > e n i h c a M
8
0
12
3 31 1
5
7
19
121 78 12135 1143 175 1 78
14
2229 29
20
1
324
00 4000
10
4449 49
6
18
510
596 4 09
13
6657 5672
17
9
4
736 737 749 649
3
834
919
11
2
1009 1 00103 1030 9 0
15
107 1076 6
16
11251150 1125 112 5
2 16 7
02
15
48 48
19
5
109
178200 1 78200
7
16
10
20 1 12
11
333 361 285 317 324 361
18
439
14
511 13 3
4
17
3
5655
8
70 73749770 7 7 70
646
2
6
88 16 16 24
899
9
51 9551
13
991 9 91 9 1001 1
1 15
06
9
8 82 2
317 238 238 267 278 304 328 3 28
143
0
1 125 20 19
200
18
14
414
400
10
513
13
577
17 11
699 662 6 62 699 710 7 10
600
4
2
788 81 1
800
3
82 24 4
8
6
863 8 63 895 63
1065 1065
1000
Processing Time---------------> Time--------------->
1112 111 2
1200
Figure 4: Gantt Chart as Plotted by the GUI for Mt20 Problem
The Gantt chart as plotted using the GUI is given for illustration. Figure 3 illustrates the Gantt chart of mt06 problem comprising 6 jobs and 6 machines and Figure 4 illustrates the Gantt chart of mt20 problem comprising comprising 20 jobs and 5 machines
Impact Factor (JCC): 5.3403
Index Copernicus Value (ICV): 3.0
51
Design and Development of an Automated Tool for Job Shop Scheduling Using PSO and CPSO
REFERENCES 1. Shinn-Ying Ho, Hung-Sui Lin, Weei-Hurng Liauh, Shinn-Jang Shinn-Jang Ho, “Orthogonal particle swarm optimization and its application to task task assignment problems”, IEEE Transaction on Systems,Man, and Cybernetics-part Cybernetics -part A: Systems and Humans, vol.38, no.2, pp.288-298, 2008. 2. Shu Wang, Ling Chen, “A Particle Swarm Optimization Algorithm Based on Orthogonal Test Design”, Fifth International Conference on Natural Computation, pp.190-194, 2009. 3. R. C. Ebenhart and Y. Shi, “Particle Swarm Optimization: Developments, Applications and Resources” Evolutionary Computation, vol.1, 2001, pp. 81 – 81 – 8 86 6 4. Feng Pan, Xiaohui Hu, Russ Eberhart, “An Analysis of Bare Bones Particle Swarm”, IEEE Swarm Intelligence Symposium, pp.1-5, 2008. 5. Qingfu Zhang, Yiu-Wing Yiu-Wing Leung, “An orthogonal genetic algorithm for multimedia multicast routing”, IEEE Transaction on Evolutionary Computation, vol. 3, no.1, pp.53-62, 1999. 6. M. Senthil Arumugam, Arumugam, M.V.C. Rao, Alan W.C. Tan, “A novel and effective particle swarm optimization like algorithm with extrapolation technique”, Applied Soft Computing, no.9, pp.308 – 320, 320, 2009. 7. J.F. Muth and G.L. Thompson. Industrial Thompson. Industrial Scheduling . Prentice-Hall, Englewood Cli_s, N.J., 1963. 8. Jie Yang, Abdesselam Bouzerdoum, Son Lam Phung, “A particle swarm optimization algorithm based on orthogonal design”, IEEE Congress on Evolutionary Computation, pp. 1-7, 1 -7, 2010. 9. ZhiZhi-hui hui Zhan, Jun Zhang, Ou Liu, “Orthogonal Learning Particle Swarm Optimization”, Proceedings of the 11th Annual conference on Genetic and evolutionary computation, pp.1763 -1764, 2009. 10. Xiaomei YI, Peng WU, Dan DAI, Lijuan LIU, Xiong HE, "Intrusion Detection Using BP Optimized by PSO", IJACT, Vol. 4, No. 2, pp. 268 ~ 274, 2012 11. Chen Lei, "A Hierarchical PSO Algorithm for Self-organizing Neural Network Design", AISS, Vol. 4, No. 1, pp. 132 ~ 138, 2012 12. T. Yamaguchi, K. Yasuda, “Adaptive particle swarm optimization: Self -coordinating -coordinating mechanism with updating information”, informatio n”, IEEE International Conference on Systems, Man and Cybernetics, pp.2303 – 2308, 2308, 2006.
www.tjprc.org www.tjprc.org
[email protected]