Printer Friendly

Parameter selection in optimizing the Cnc tool paths by genetic Algorithm.


CNC Machines are programmed with the help of CAD software which generates automated tool paths. This method is the best suited for sculptured shapes of work pieces. The Drilling of holes consists of machining and non-machining operations. The cycle time includes the cutting and non cutting activities of the tool. In both these operations, the tool path is computed and optimized with the built-in facilities in the CAD systems. Optimization of Tool path reduces tool travel time significantly in many CNC operations. Many researchers proposed several tool path strategies to optimize the cutting tool parameters such as the cycle time, tool life, Metal Removal Rate, Speed, Feed. In the drilling of holes, the tool movement is primarily in the air between several locations taking considerable distance to cover. For job order or smaller batch productions, the optimization tools available with CAD software is enough. If the production volume is large then optimizing the specific tool path is necessary. Even for a smaller reduction in cycle time, the productivity is increased. The best possible tool path is found by searching solutions in an exhaustive search space. In this paper, the parameter selection of the optimization algorithm for tool path is presented.

Abu Qudeiri et al.[l] proposed a method to optimize the best Tool path for different operation processes that were located asymmetrically on more than one level, with a single cutting tool.

F Danijela Peter [2], compared the tool paths created by CAM software and by Genetic Algorithm. A Kumar et al. [3], optimized Drilling Tool Paths using GA with the help of Matlab. J. Abu Qudeiri [4] solved The Traveling Salesman Problem for two different arrival and departure points with constraints for tool collision. P.L.S.C Alwis et al. [5] applied a row by row technique to sequence X axis and Y axis values of drill holes from minimum to maximum. Zlatan Car et al. [6], approximated the 2D surface with cells, and the tool has to travel in a minimum path with the lesser number of cells. Z. Car et al. [7], created a Tool life model for the goal function and cutting force and power models represented constraint functions. W. C. E. Lim et al. [8], proposed hybrid cuckoo search-genetic algorithm (CSGA) for the optimization of hole -making operations in which a hole may require various tools to machine its final size with an objective to minimize the total non-cutting time of the machining process, including the tool positioning time and the tool switching time.

1. Methodology:

The component for the experiment is shown in Fig 1. The figure shows the drawing of a work piece with holes to be drilled at different locations. The objective is to find the minimum cost distance for the movement of tool travel between holes. The number of holes to be drilled is 28. The CAD software packages commercially available give reasonably good tool paths.

In drilling operations, the total tool travel in the air takes significant processing time. If the number of holes is high then finding an optimal tool path is tough. Hence we have taken a problem of drilling holes for our study. In a drilling operation, the drilling tool has to move to different locations on the work piece to drill the holes. When the number of holes is more and if they are placed in an asymmetric manner then finding the shortest tool path between the various holes is a big problem. The magnitude of the problem increases with the number of axes, and nodes. The nodes are the points where the tool stops for an operation or exit to travel to the next entry point. These locations in CNC machining operations are determined by the work piece geometry and the type of metal removal required. In a CNC drilling operation, the tool travel to the various holes is similar to that of a Traveling salesman's job. The traveling salesman problem is solved to find the best route which minimizes the cost. In this paper finding an optimal tool path for drilling holes operation is discussed. The tool movement in the air between the holes is taken for the study. The problem is considered as a traveling salesman problem. 2

2. The Traveling Salesman Problem:

The movement of the tool is like a salesman visiting a number of cities, and visiting each city only once. The problem is to find the minimum cost route that is, a route that has the sequence of the holes visited in such a way that the cost is the minimum. These problems are popularly known as Traveling Salesman Problem. The TSPs are classified into two groups by the cost matrix, symmetric and asymmetric. In an n-city asymmetric TSP, there are n! Possible solutions, for an n-city symmetric TSP, there are (n -1)1/2 possible solutions. The search for the best solution is impracticable. The Travelling Salesman Problem (TSP) is a combinatorial NP-complete optimization problem, and cannot be solved in polynomial time.

The TSP has been applied by many researchers as a favorite tool to solve real life problems. In 1954, Dantzig, Fulkerson, and Johnson [9] found the optimal solution to traveling salesman problem with 49 numbers of cities. The solutions for TSP using Genetic Algorithm started in 90's. In 2003, M.Lalena [10] solved TSP using Genetic Algorithms. In 2005, R. Takahashi [11] Solved the TSP through genetic algorithms with changing crossover operators. In 2007, Ding chao, Cheng ye and He Miao [12] proposed a paper for solving another type of TSP called The clustered traveling salesman problem. In 2009, Gohar Vahdati, Mehdi Yaghoubi Mahdieh Poostchi and M. B. Naghibi [13] solved TSP using GA with Heuristic Crossover and mutation operator. In 2009, Jin-Qiu Yang, Jian-Gang Yang and Gen-Lang Chen [14] solved TSP using adaptive clustering.

Many approximate algorithms have been developed to solve the TSP. The algorithm for solving TSP is to work out all possible paths and find out the shortest distance. The problem becomes impossible to solve due to the computational complexity when the number of holes becomes larger. By assigning solution and verifying whether it is an optimal solution is the best method to solve the problem. Some of the algorithms which produce approximate results are Nearest Neighbor (NN) algorithm, Simulated Annealing, and Genetic Algorithm. In this Paper, the Traveling Salesman Problem is solved using the Genetic algorithm. The Genetic Algorithm approach is selected for the following reasons

* Derivative information is not required.

* Flexible and faster method.

* Optimizes multi-objective problems.

* A definite number of good solutions are always available.

3. Genetic Algorithm:

Genetic algorithmis is an intelligent method to find approximate solutions to combinatorial optimization problems, D.E.Goldberg [15]. The genetic algorithm is based on natural evolution and in which solution to a problem is evolved. The solutions for the problems are created and they are known as the population. Each individual in the population represents a possible solution to a given problem. The genetic algorithm attempts to find a very good (or best) solution to the problem by genetically generating the population of individuals over a series of generations.

3.1.1 Outline of Algorithm:

1. Randomly generate a population of Solutions.

2. Assess the fitness of all solutions.

3. Creating the next Generation of improved population using the operators a. Selection b. Crossover c. Mutation

4. The new population replaces older population with fewer best solutions carried.

5. The Algorithm stops automatically when the termination condition is reached.

The selection, crossover and mutation process are the operators of a Genetic algorithm. The Genetic algorithm has the following parameters, a) population size b) number of generations c) Probability of crossover and d) probability of mutation. In our experiment, the parameters population size and the number of Generations are studied. The mutation and crossover probabilities are chosen after few trial runs of the algorithm.Fig.1 shows the flow chart of a simple Genetic Algorithm.

Encoding of a Chromosome:

There are many ways of encoding the probable candidate solutions. The encoding is improved by several trail runs of the program.

Binary Encoding:

In binary encoding, every chromosome is a string of bits, 0 or 1. e.g. Chromosome 110101

Permutation Encoding:

In Permutation encoding, the Individual is a string of numbers and can be used in ordering problems, such as traveling salesman problem. A binary representation of solutions is not suitable for this type of problem, and permutation encoding is done. Each hole is assigned a number so that it is referred in the algorithm as a location. In this drilling experiment problem, it is the location number of holes assigned to them as shown below. e.g. 1 4 6 3 2 5 8 11 9 12 10 7

Value Encoding:

Value encoding is used in problems, in which complicated value, for example, real numbers are used. Every chromosome is a string of some values.

3.1.2 Fitness function:

The fitness function determines the quality of solutions. A list of solutions in an order, based on evaluation is created. The coding methods can be refined and improved by fitness function constraints. Solutions with higher weights (minimum distance) are selected to reproduce for better children and those with poor values are removed.

The Expressions (1) and (2) ensure that each hole is visited only once, there are no sub-tours, i.e., eliminates the possibility of repeated occurrence of a contour. The number of possible solutions is a permutation of 1, 2, and 3; n where n are a number of holes.

The number of axis movements is only two, namely the x and y-axis. Since we are trying to minimize the total distance that the tool travels, the fitness function will be the total distance D, Nabeel Kadim Abid et al, [16].

D= [[SIGMA].sup.n.sub.i=1]d([c.sub.i], [c.sub.i+1]) (1)

The distance between any two holes d = [square root of ([([x.sub.i] -[x.sub.i+1]).sup.2] + [([y.sub.i]-[y.sub.i+1]).sup.2])] (2)

3.1.3 Operators of Algorithm:


The solutions, selected from the population are chosen to be parents for crossover. The selection methods used are roulette-wheel, rank selection, steady-state selection, and for some others problems it is tailored.


The fewer number of the top scored solutions are copied to the new population and then the generating of a new population continued by the operators. Losing the few best-found solutions is prevented.


Crossover operation selects elements(genes) from parents and creates new children. A crossover point may be chosen randomly. Everything before this point is copied from the first parent and everything after the crossover point is copied from the second parent


Mutation is done to prevent convergence of solutions in population into a local optimum. By random changes, the new offspring is created. For binary encoding, it is done by shifting few randomly chosen bits from 1 to 0 or from 0 to 1.

3.1.4 Parameters of GA:

The basic parameters of GA are i) the crossover probability ii) the mutation probability iii) the population size and iv) the number of iterations, Melanie Mitchell [17]. Crossover probability indicates how often crossover is performed. If there is no crossover, the offspring is a repeat of parents. Crossover is done to create new chromosomes which have better parts of old chromosomes, and new improved chromosomes are created. Part of the remaining population is allowed to survive for the next generation. Mutation probability indicates how often mutation is performed. If the mutation is done, part of the chromosome is changed. Mutation is made to avoid localizing of solution space. Population size is the number of chromosomes in a population. A lesser number of chromosomes reduce the possibilities to perform crossover and only a small part of search space is explored. If the size of a population is too big will not guarantee an optimum result, and the process slows down. The parameters shown in Table 1 are selected after several experimental runs by applying different population sizes, mutation and crossover fractions. The number of iterations is also varied for consistent results. The iteration loop continues until termination conditions are met. In every iteration, a newer generation is created. By specifying the number of generations for which the algorithm should run, the loop is stopped.

4. Implementation of the Algorithm:

The genetic algorithm is implemented in the MATLAB scientific programming environment. MATLAB is a powerful, flexible multipurpose system for solving complex problems, A. Kumar and P. P. Pachauri [3]. GNU Octave provides a similar environment of MATLAB, and this powerful language has visualization packages also. Codes can be generated from the source program. The main advantage of MATLAB and GNU Octave languages is these languages have the capability of instant programming. Octave is one of the important free alternatives to Matlab. The data is in the form of Matrix and does not require dimensioning.

These software languages have toolboxes, for example, MATLAB provides i) Optimization Toolbox ii) Genetic Algorithm and Direct Search Toolbox. Optimization Toolbox is helpful in solving Unconstrained nonlinear, constrained nonlinear, simple convex: LP, QP, Least Squares, Binary Integer Programming, Multiobjective problems. Genetic Algorithm and Direct Search Toolbox is used in solving general optimization problems. Genetic Algorithm is applied in MATLAB optimization by two different ways, with the GA Tool Box in an interactive manner and by scripts which are stored as M-files. The Matlab 2016b(64 bit) version is the current version utilized for the calculations in this study. The x and y coordinates of the Drill holes are encoded in the permutation format. Table No 2. & 3.


The optimized tool path after many runs of the program is shown in fig .4. The optimized tool path distance consistently achieved is 738.1084mm. This distance includes a Tool return to an initial position which will be avoided when writing the G Codes. Increasing the number of iterations improved the results but with inconsistency. For instance, a shortest tool path of length 658.5136 mm was achieved occasionally. And in the repeated runs when further modifications are made to the parameters, the results varied randomly. With optimum parameter values, the variation in results is minimum. For drilling randomly placed holes and for milling operations, the optimization tool is found to be more effective. The best possible route achieved is shown in Fig.3. And this sequence of tool movement is used as input for the CNC code creation.


Fig 5 shows the CAD generated tool path. The distance computed for the tool travel in the air for rapid movement is 824.55 mm. The CAD systems generate CNC Codes in a faster and simpler way which are useful in job order production systems F Danijela Pezer, [2]. For high volume productions, improvised tool paths are necessary for better productivity.

Chart 1 and 2 give the tool paths achieved by varying the GA parameters. The results indicate the convergence of optimum tool paths. The best result achievable is between 740 mm and 780 mm for all population sizes. The best population size for this problem is a size between 250 and 350. The reasonable number of iterations are between 5000 to 7000. From this analysis, the parameters shown in Table. 1 are selected.


The procedure suggested in this paper has to be improved further for accurate modeling of the problem. On a larger size problem, for example in the case of PCB drilling operations, the proposed GA approach generated best solutions. We conclude that choosing the correct parameters is difficult due to the very nature of evolutionary algorithms which spread and branch out in an unexpected manner. And the results are self-evolved in GA. The GA approach is an efficient method for CNC drilling tool path optimization if the proper selection of parameters is made which can be done by several trial runs of the program. The time taken by a computer to run this problem with a 64-bit operating system having CPU speed of 2.30 Hz is 21.729784 seconds only. Similar analysis for the selection of mutation and crossover rates are essential for complex problems with higher number of holes.


[1.] Abu Qudeiri, J. 2007. Optimization of Operation Sequence in CNC Machine Tools Using Genetic Algorithm. Journal of Advanced Mechanical Design, Systems and Manufacturing, 1(2): 272-282.

[2.] Danijela Peter, F., 2016. Efficiency of Tool Path Optimization Using Genetic Algorithm in Relation to the Optimization Achieved with the CAM Software. Procedia Engineering, 149: 374-379.

[3.] Kumar and P.P. Pachauri, 2012. Optimization Drilling Sequence by Genetic Algorithm. International Journal of Scientific and Research Publications, 2(9): 1-7.

[4.] Abu Qudeiri, J., 2014. Optimization and Program Generation of a Tool Path for Multi Cutting Tool Operations in CNC Machines. International Journal of Emerging Technology and Advanced Engineering, 4: 5.

[5.] Alwis, P.L.S.C., A.S. Premarathna, Y.P. Fonseka, S.M. Samarasinghe and J.V. Wijayakulasooriya, 2014. Automated printed circuit board (PCB) drilling machine with efficient path planning. SAITM Research Symposium on Engineering Advancements.

[6.] Zlatan Car, Tonci Mikac and Ivica Veza., 2006. Utilization of GA for optimization of Tool Path on a 2D surface.

[7.] Car, Z., B. Barisic and M. Ikonic, 2009. GA-based CNC Turning center Exploitation parameters optimization. METABK 48(1): 47-50.

[8.] Lim, W.C.E., G. Kanagaraj and S.G. Ponnambalam, 2016. Hybrid cuckoo search -genetic algorithm for hole-making sequence optimization. Journal of Intelligent Manufacturing, 27(2): 417-429.

[9.] Dantzig, G., R. Fulkerson and S. Johnson, 1954. Solution of a Large-scale Traveling-Salesman Problem. Journal of the Operations Research Society of America, 2(4): 393-410.

[10.] Lalena, M., 2003. TSP solver.

[11.] Takahashi, R., 2005. Solving the traveling salesman problem through genetic algorithms with changing crossover operators. Proceedings of the Fourth International Conference on Machine Learning and applications. LA, USA. pp: 319-324.

[12.] Ding chao, Cheng ye and He Miao, 2007.Two-Level Genetic Algorithm for Clustered Traveling Salesman Problem with Application in Large-Scale TSPs. Tsinghua Science and Technology, 12(4): 459-465.

[13.] Gohar Vahdati, Mehdi Yaghoubi ,Mahdieh Poostchi and M.B. Naghibi, 2009. A New Approach to Solve Traveling Salesman Problem Using Genetic Algorithm Based on Heuristic Crossover and Mutation Operator. International Conference of Soft Computing and Pattern Recognition, pp: 112-116.

[14.] Jin-Qui Yang, Jian-gang Yang and Gen-Lang Chen, 2009. Solving large-scale TSP using adaptive clustering method. Second International Symposium on Computational Intelligence and Design. Changsha, Hunan, China.

[15.] Goldberg, D.E., 1989. Genetic Algorithms in search Optimization and Machine Learning. Addison-Wesley Publishing Company, Ind. U.S.A.

[16.] Nabeel Kadim Abid, Al-Sahib and Hasan Fahad Abdulrazzaq, 2014. Tool Path Optimization of Drilling Sequence in CNC Machine Using Genetic Algorithm. Innovative Systems Design and Engineering, 5: 1.

[17.] Melanie Mitchell., 1998. An introduction to genetic Algorithm. MIT press.

(1) Raja Chinna Karuppanan B and (2) Dr. Saravanan M

(1) Research scholar, Anna University, 600025, Chennai, India.

(2) Professor, SSM Institute of Engineering and Technology, Dindigul Tamil Nadu.

Received 28 February 2017; Accepted 22 May 2017; Available online 6 June 2017

Address For Correspondence: Raja Chinna Karuppanan B, Arulmigu Palani Andavar Polytechnic College, Palani.624601. India

Caption: Fig. 1: Work piece with 28 holes to be drilled

Caption: Fig. 2: Flowchart of Genetic Algorithm.

Caption: Fig. 3: The Optimized Tool Path.

Caption: Fig. 4: The plot of the Tool Path.

Caption: Fig. 5: Tool Path Generated by CAD software.

Caption: Chart. 1: Number of Iterations Vs Tool Path Distance.

Caption: Chart. 2: Population size Vs Tool Path Distance.
Table 1: Genetic Algorithm Parameters.

GA Parameters         Values

No of Generations     6000
Population Size       300
Cross Over fraction   0.5
Mutation fraction     .08
No. Of. Variables    28

Table 2: Encoding of Drill Holes 1-14.

Hole   1    2    3    4    5     6     7

X      10   20   40   60   80   100   120
Y      10   20   20   30   30   30    20

Hole    8     9    10   11   12   13    14

X      140   150   20   40   60   100   120
Y      20    10    40   40   60   60    40

Table 3: Encoding of Drill Holes 14-28.

Hole   15    16   17   18   19   20    21

X      140   20   40   60   80   100   120
Y      40    80   80   90   90   90    80

Hole   22    23    24    25    26    27    28

X      140   10    20    40    120   140   150
Y      80    110   100   100   100   100   110
COPYRIGHT 2017 American-Eurasian Network for Scientific Information
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2017 Gale, Cengage Learning. All rights reserved.

Article Details
Printer friendly Cite/link Email Feedback
Author:Karuppanan B, Raja Chinna; Saravanan, M.
Publication:Advances in Natural and Applied Sciences
Article Type:Report
Date:Jun 1, 2017
Previous Article:Diabetes type-1 insulin level control using closed loop control of BLDC motor.
Next Article:Erosive wear behavior of SiC reinforced Titania coating deposited by High Velocity Oxy (HVOF) fuel spraying.

Terms of use | Privacy policy | Copyright © 2018 Farlex, Inc. | Feedback | For webmasters