Neural Computing and Applications

, Volume 18, Issue 2, pp 135–140

A genetic algorithm-based artificial neural network model for the optimization of machining processes


  • D. Venkatesan
    • Department of Computer ScienceShanmugha Arts Science and Technology Research Academy (SASTRA)
  • K. Kannan
    • Department of MathematicsShanmugha Arts Science and Technology Research Academy (SASTRA)
    • Department of Mechatronics EngineeringKumaraguru College of Technology
Original Article

DOI: 10.1007/s00521-007-0166-y

Cite this article as:
Venkatesan, D., Kannan, K. & Saravanan, R. Neural Comput & Applic (2009) 18: 135. doi:10.1007/s00521-007-0166-y


Artificial intelligent tools like genetic algorithm, artificial neural network (ANN) and fuzzy logic are found to be extremely useful in modeling reliable processes in the field of computer integrated manufacturing (for example, selecting optimal parameters during process planning, design and implementing the adaptive control systems). When knowledge about the relationship among the various parameters of manufacturing are found to be lacking, ANNs are used as process models, because they can handle strong nonlinearities, a large number of parameters and missing information. When the dependencies between parameters become noninvertible, the input and output configurations used in ANN strongly influence the accuracy. However, running of a neural network is found to be time consuming. If genetic algorithm-based ANNs are used to construct models, it can provide more accurate results in less time. This article proposes a genetic algorithm-based ANN model for the turning process in manufacturing Industry. This model is found to be a time-saving model that satisfies all the accuracy requirements.


Genetic algorithmTurning processNeural networksMachining parametersTurning operations



Genetic algorithm


Artificial neural networks


Back propagation network

1 Introduction

Modeling methods can be used in several fields of production engineering, e.g., planning, optimization or controls. Difficulties in modeling the manufacturing processes are manifold. To name a few, the great number of different machining operations, multidimensional, nonlinear, stochastic nature of machining, partially understood relations between parameters, lack of reliable data are some stages, which one can overcome through modeling.

One of the ways to overcome such difficulty is to implement fundamental models based on the principles of machining science. However, in spite of progress made in fundamental process modeling, accurate models are not yet available for manufacturing processes. Heuristic models are usually based on the thumb rules gained from experience, and used for qualitative evaluation of decisions. Empirical models derived from experimental data still play a major role in manufacturing process modeling.

Artificial neural networks (ANNs) can be used as operation models, because they can handle high level of nonlinearities, large number of parameters and missing information. Based on their inherent learning capabilities, ANNs can adapt themselves to changes in the production environment and can also be used in case there is no exact knowledge about the relationships among the various parameters of manufacturing.

There have been numerous theoretical and experimental studies of manufacturing processes. Some process models are extremely important in different fields of computer-integrated manufacturing. Most of the authors constructed ANN-based models. Genetic algorithms (GAs) are a class of search algorithms modeled on the process of natural evolution. They have been shown in practice to be very effective at function optimization; efficiently searching large and complex (multimodal, discontinuous, etc.) spaces, to find nearly global optima. The search space associated with a neural network weight-selection problem is also large and complex in nature. This article proposes a GA-based ANN model for turning process in manufacturing industries.

This article is arranged as follows. In Sect. 2, an overview of ANN and GA is presented. A brief sketch of turning process in machining is given in Sect. 3. In Sect. 4, a brief literature survey of ANN-based process control models and neural network weight-selection by GA are presented. The proposed GA-based ANN model for turning process is explained in Sect. 5. In Sect. 6, pseudo code for the algorithm is given. Results and performance of the algorithm are discussed in Sect. 7.

2 An overview of neural networks and genetic algorithm

2.1 Artificial neural networks

Neural networks generally consist of five components:
  1. 1.

    A directed graph known as the network topology whose nodes represent the neurodes (called processing elements) and whose arc represent connections.

  2. 2.

    A state variable associated with each neurode.

  3. 3.

    A real valued weight associated with each connection.

  4. 4.

    A real valued bias associated with each neurodes.

  5. 5.

    The state of each neurode \( f{\left[ {{\sum {w_{i} x_{i} - \beta } }} \right]} \), f being the transfer function, β being the bias of the neurode, wi are the weights on the incoming connections, xi are the states of the neurodes on the other end of connections.

Mathematically, a three-layer neural network with i input nodes, j hidden nodes and k output nodes is expressed as
$$ {\mathop O\nolimits_{pk} } = f_{1} \,\,\,{\left[ {{\sum\limits_{j = 1}^L {W^{o}_{{jk}} f_{2} {\left\{ {{\sum\limits_{i = 1}^n {{\mathop W\nolimits_{ij}^h }{\mathop x\nolimits_{pi} }} }} \right\}}} }} \right]} $$
where \( {\mathop O\nolimits_{pk} } \) is the output from the kth node of the output layer of the network for the pth vector (data point); \( {\mathop x\nolimits_{pi} } \) are the inputs to the network for the pth vector (data point); \( W^{o}_{{jk}} \) is the connection weight between jth node of the hidden layer and kth node of the output layer; \( {\mathop W\nolimits_{ij}^h } \) is the connection weight between ith node of the input layer and jth node of hidden layer; f1 and f2 are activation functions. Thus, ANNs are highly parallel systems that process information through many interconnected mimics that respond to inputs through modifiable weights, thresholds and mathematical transfer functions.
The basic procedure for training a network is embodied in the following steps:
  1. 1.

    Apply an input vector to the neural network and calculate the corresponding output value.

  2. 2.

    Compare the actual output with the correct output and determine the measure of error.

  3. 3.

    Determine the increase or decrease in the weights or in which direction (positive or negative) to change each weight to reduce the error.

  4. 4.

    Determine the values by which each weight changes.

  5. 5.

    Apply the corrections to the weights.

  6. 6.

    Repeat steps 1–5 with all training vectors in the training set such that the error is reduced to an acceptable value.


2.2 Genetic algorithm

Genetic algorithms (GAs) are algorithms for optimization and machine learning based loosely on several features of biological evolution. They require the following five components:
  1. 1.

    A way of coding solutions to the problem on chromosomes.

  2. 2.

    An evaluation function, which returns a rating for each chromosome given to it.

  3. 3.

    A way of initializing the population of chromosomes.

  4. 4.

    Operators that may be applied to parents when they reproduce to alter their genetic composition; standard operators are mutation and crossover.

  5. 5.

    Parameter settings for the algorithm, the operators and so forth.

Given these five components, GA operates according to the following steps:
  1. 1.

    Initialize the population using the initialization procedure and evaluate each member of the initial population.

  2. 2.
    Reproduce until a stopping condition is met; reproduction consists of iterations of the following steps:
    • (a) Choose one or more parents to reproduce; selection is stochastic, but the individuals with the highest evaluations are favored in the selection.

    • (b) Choose a genetic operator and apply it to the parents.

    • (c) Evaluate the children and accumulate them into a generation. After accumulating enough individuals, insert them into the population, replacing the worst current members of the population.


When the components of the GA are chosen appropriately, the reproduction process will continually improve the population, converging finally on solutions close to a global optimum. GAs can efficiently search large and complex (i.e., possessing many local optima) spaces to find nearly global optima.

3 Turning process in machining for computer-integrated manufacturing

The turning process is described by the following parameters [1]:
  1. 1.
    Setting of the machine is handled through the following three machining parameters:
    • Depth of cut: a (mm)

    • Feed: f (mm/rev)

    • Speed: v (m/min)

  2. 2.
    The tool is presented by three parameters that are as follows:
    • Cutting edge angle: x (rad)

    • Corner radius: rc (mm)

    • Tool life: T (min)

  3. 3.
    The following two monitoring parameters can be used for turning operation:
    • Force: Fa (N) (main force component)

    • Power: P (kW)

  4. 4.
    The customer demand is determined by the required
    • Roughness: Ra (mm)


For simulating the turning process, the assignment is the estimation of cutting conditions, when the tool and machining parameters are selected. The produced roughness, monitoring parameters and the tool life have to be estimated.

4 Survey of ANN-based process control models and neural network weight selection by GA

Satisfying various requirements in different levels and stages of machining using one general ANN-based process model was presented by Monostori et al. [1]. An interesting example was presented by Knapp and Wang [2], who used an ANN in planning. The goal of this research is to generate operation order. Cutting tool selection was realized by Dini [3]. The inputs of the ANN are as follows: machining type, cutting conditions, clamping type, work piece material, slenderness; outputs are five parameters identifying the cutting tool.

To generate an optimum set of process parameters at the design state of injection molding, Choi et al. [4] used an ANN model with inputs of filling time, melt temperature, holding time, coolant temperature and packing pressure and with outputs of melt temperature difference, mold temperature difference, over packed element, sink index and average and variance of linear shrinkage. The compensation of thermal distortion was the goal of Hatamura et al. [5]. Parameters from deformation sensors were on the input side of the used ANN to decide whether cooling, heating or no intervention is necessary.

Monostori [6] described models to estimate and classify tool wear. The paper presents some variable input–output configurations of ANN models according to variable tasks. Model for creep feed grinding of aluminium with diamond wheels was presented by Liao and Chen [7]. In the ANN model, Bond type, mesh size, concentration, work speed and depth of cut are used as the inputs and surface finish, normal grinding force per unit width and grinding power per unit width are used as the outputs. Automatic input–output configuration and generation of ANN-based process models and its application in machining were presented by Viharos and Monostori [8]. Monotana [9] described a procedure for neural network weight-selection using GAs. Seiffert [10] presented a procedure for multiple layer perceptron training using GAs. Training feedforward neural networks with a modified GA was presented by Abu-Al-Nadi [11].

5 Proposed simulated model for turning process

In practical implementation sensors, machine controllers and computers would provide a part of an ANN operation model. For simulating the machining process, all information is generated through theoretical models. It should be stressed that, in a practical implementation, theoretical models are not necessary. However, they are used in the present case only to provide simulated samples for training and testing purposes.

Four equations are used to create data vectors. The validity of the equations is determined by the minimum and maximum boundaries of the parameters [8].
$$ F_{a} \, = \,1,560f^{{0.76}} a^{{0.98}} [\sin (x)]^{{ - 0.22}} $$
$$ P = 0.039f^{{0.79}} av $$
$$ T = (1.85 \times \;10^{{10}} )\;f^{{ - 0.7}} a^{{ - 0.42}} v^{{ - 3.85}} $$
$$ R_{a} = 8.5f^{{1.8}} a^{{0.08}} v^{{ - 0.9}} r^{{ - 0.5}}_{c} $$
The ranges of the variables in (25) are as follows:

0.1–0.4 (mm/rev)


1–4 (mm)


1.3–1.66 (rad)


75–200 (m/min)


0.4–1.2 (mm)


5–60 (min)


800–3,000 (N)


3.8–13.5 (kw)


0.0015–0.023 (mm)

By the help of these strong nonlinear equations, values for tool life, force, power and roughness can be calculated based on the tool and machining parameters. To create parameter sets for learning and testing, one hundred random values were determined separately in the allowed range of input and output variables.

First, back propagation network (BPN) is used to train and inference the data. Since five input variables and four output variables are used in the problem, we have used a BPN with five input nodes, one hidden layer with five nodes and four output nodes. The number of iterations and the error occurred were noted down.

Next a GA-based BPN is used to inference the data. Here, the GA was used to determine the optimum weights of the BPN. So, after obtaining the optimized weights by the GA, it was applied to the BPN algorithm to inference the data. The number of iterations and the error occurred were noted down. The parameter set used in our algorithm is listed in Table 1.
Table 1

Standard parameter set used for training and inferencing



Transfer function of the neurons

Tan sigmoidal

Momentum factor


Learning coefficient


Threshold value


Sigmoidal gain



Real (decimal)

Chromosome length


Population size


Weight initialization routine


Stopping criterion

Max-iteration = 3,000

Error = 0.005

Fitness normalization


Selection operation



Two-point Pc = 0.9


Pm = 0.01

5.1 GA-based weight calculation operations

5.1.1 Encoding

Here, we have used a real encoding method for representing the chromosomes. Since we have five input nodes, five hidden nodes and four output nodes, the total number of weights to be calculated is 45, each represented by five digits; so, we have a chromosome length of 225. Initial populations of 225 chromosomes were generated randomly. For example, a single chromosome will be as follows: 626286089550031829732163420101134186014144348001480458464312313813001770952928127219912646118754197603166642952183092405616595327301361139091106004241829742382012397033222005461725013439096741741935137032153842333479269924331.

5.1.2 Weight extraction

Weight extraction is done with the help of the following equations:
$$ W_{k} = \left\{ \begin{aligned}{} & + \frac{{X_{{kd + 2}} {\text{10}}^{{d - 2}} + X_{{kd + 3}} 10^{{d - 3}} + ... + X_{{(k + {\text{1)}}d}} }} {{10^{{d - 2}} }}{\text{, if}}\;{\text{5}} \le X_{{kd + 1}} \le {\text{9}} \\ & - \frac{{X_{{kd + 2}} 10^{{d - 2}} + X_{{kd + 3}} 10^{{d - 3}} + ... + X_{{{\left( {k + 1} \right)}d}} }} {{10^{{d - 2}} }}{\text{, if}}\;{\text{0}} \le X_{{kd + 1}} < {\text{5}} \\ \end{aligned} \right. $$
For example, suppose Gene 0: 84321 and we have k = 0, d = 5, then
$$ W_{{\text{0}}} = + [(4 \times 10^{3} ) + (3 \times 10^{2} ) + (2 \times 10) + 1]/10^{3} = + 4.321 $$
suppose Gene 1: 46234 and we have k = 1, d = 5, then
$$ W_{{\text{1}}} = - [(6 \times 10^{3} ) + (2 \times 10^{2} ) + (3 \times 10) + 4]/10^{3} = - 6.234 $$
Like that, it will generate the weight values in the range −9 to +9.

5.1.3 Fitness generation

A fitness value for each chromosome is calculated by using the root mean square of the errors.
$$ E = {\sqrt {{\sum {{{\mathop E\nolimits_i }} \mathord{\left/ {\vphantom {{{\mathop E\nolimits_i }} {{\mathop N\nolimits_{} }}}} \right. \kern-\nulldelimiterspace} {{\mathop N\nolimits_{} }}} }} } $$
Calculate the fitness value Fi for each of the individual string of the population as
$$ F_{i} = 1/E $$

5.1.4 Reproduction operator

Reproduction selects good strings in a population and forms a mating pool. The reproduction operator is also called a selector operator. In this work, rank order selection is used. A lower ranked string will have a lower fitness value or a higher objective function and vice versa. The probability of selecting a string is calculated using (9):
$$ {\text{Expected}}\;{\text{value}}\;{\text{of}}\;{\text{probability}} = \min + [(\max - \min )\;({\text{rank}}(i,\;t) - 1]/(N - 1) $$
where N is the sample size, Min = 0.9, Max = 1.1.

5.1.5 Crossover

We have used a two-point crossover operation with a probability of 0.9. Here, we select two parent chromosomes randomly. We generate another random number. If it is less than 0.9, then we apply the crossover operation between them to generate the new offsprings. For applying the crossover, we select two random positions and exchange the string between the two positions from the two parents to get the new offsprings.

5.1.6 Mutation

With the mutation probability of 0.01, its next digit replaces the particular digits in the string. A whole new population of possible solutions to the problem is generated by selecting the best (high fit) individuals from the current generation. This new generation contains characteristics, which are better than their ancestors. Progressing in this way, after many generations, owing to mixing and exchange of good characteristics, the entire population inherits the best characteristics and therefore turns out to be fit solutions to the problem. If the GA has been designed well, then most promising areas of the search space are explored, resulting in population converging to an optimal solution to the problem.

6 The algorithm of the GA-based weight calculation method

7 Discussion of the results

Of all the networks constructed with a hidden layer, a number of hidden nodes and with a set of activation functions, it is found that five hidden nodes with tan sigmoid activation function and weight optimization by GA saves much time and iterations. At first, a simulated model is used for 100 random inputs within the boundaries to find the actual outputs. For the same set of inputs, GA-based BPN and BPN are used to calculate the outputs, and graphs are plotted for the errors in Figs. 1 and 2. It is observed that the GA-based BPN method provides more accurate results in less number of iterations.
Fig. 1

Comparison of the error values for a fixed number of iterations
Fig. 2

Comparison of the number of iterations for a fixed number of error rates

8 Conclusions

There are a number of real time problems that require soft computing techniques like GA to provide good results. If it is due to intractability through mathematical functions or due to the higher degree of nonlinearity. At such instances, GA is used as a good initiator for some other soft computing tool to capture such nonlinearities. Here, GA is used as a complementary tool for weights optimization that serves in turn for ANN to perform better for obtaining accurate results, though only marginal amount of time saving is achieved. The work of using advanced genetic operators for further optimization is ongoing.

Copyright information

© Springer-Verlag London Limited 2008