# Energy Optimisation of Industrial Limestone Grinding Using ANN
## 9 Optimisation Using Genetic Algorithms  
Genetic algorithms (GAs) are a class of population-based metaheuristic optimisation techniques inspired by evolutionary mechanisms such as natural selection, crossover, and mutation [73]. These algorithms are particularly effective for solving black-box optimisation problems where the objective function is nonlinear, non-convex, multimodal, or expensive to evaluate [74; 75]. In the context of this study, GA was applied to optimise controllable process parameters with respect to the predictive energy efficiency indicators \(W\) and \(S\). Each solution is represented as a chromosome--a real-valued vector corresponding to the input variables of the model. The optimisation goal was to minimize the value of each indicator as predicted by the trained neural networks. Accordingly, the fitness functions were defined as follows:  
* \(f_{W}(\mathbf{x})=-\text{model}_{W}\cdot\text{predict}(\mathbf{x})\);
* \(f_{S}(\mathbf{x})=-\text{model}_{S}\cdot\text{predict}(\mathbf{x})\). Here, \(\mathbf{x}\) is a vector of normalized controllable process variables. The genetic algorithm follows the general steps outlined below:  
1. Population Initialization: A population of candidate solutions (chromosomes) is initialized randomly within defined parameter bounds. \begin{table}
\begin{tabular}{c c c c} \hline
**Variable** & **Unit** & **Value B** & **Value Ensemble** \\ \hline Mill screw conveyor motor speed & rpm & 51.20 & 50.1 \\ \hline Temperature after the mill & \({}^{\circ}\)C & 71.60 & 72.3 \\ \hline Airflow before the fan & m\({}^{3}\)/h & 183,637 & 181,520 \\ \hline Pressure difference across the mill & mbar & 28.58 & 27.9 \\ \hline \(S\) & kWh/Mg & 9.88 & 10.45 \\ \hline \(W\) & kWh/Mg & 1.19 & 1.32 \\ \hline \end{tabular}
\end{table} 
Table 7: Bayesian optimisation results for the Industrial Experiment 2023 data. \begin{table}
\begin{tabular}{c c c c} \hline
**Variable** & **Unit** & **Value C** & **Value Ensemble** \\ \hline Mill screw conveyor motor speed & rpm & 38.85 & 40.3 \\ \hline Temperature after the mill & \({}^{\circ}\)C & 72.21 & 73.5 \\ \hline Airflow before the fan & m\({}^{3}\)/h & 168,030 & 169,500 \\ \hline Pressure difference across the mill & mbar & 18.17 & 19.8 \\ \hline \(S\) & kWh/Mg & 13.29 & 12.75 \\ \hline \(W\) & kWh/Mg & 1.52 & 1.47 \\ \hline \end{tabular}
\end{table} 
Table 8: Bayesian optimisation results for the C data. \begin{table}
\begin{tabular}{c c c c} \hline
**Variable** & **Unit** & **Value D** & **Value Ensemble** \\ \hline Mill screw conveyor motor speed & rpm & 51.2 & 50.5 \\ \hline Temperature after the mill & \({}^{\circ}\)C & 71.44 & 72.1 \\ \hline Airflow before the fan & m\({}^{3}\)/h & 189,833 & 188,000 \\ \hline Pressure difference across the mill & mbar & 22.7 & 23.9 \\ \hline \(S\) & kWh/Mg & 10.63 & 10.95 \\ \hline \(W\) & kWh/Mg & 0.65 & 0.72 \\ \hline \end{tabular}
\end{table} 
Table 9: Bayesian optimisation results for the D data. Fitness Evaluation: Each chromosome is evaluated using the fitness function, assigning a fitness score based on the predicted indicator value. * Selection: The most fit chromosomes are selected for reproduction using a rank-based selection mechanism. * Crossover: Selected parent chromosomes are recombined to generate offspring, introducing genetic diversity into the population. * Mutation: Offspring undergo random mutations at a low probability to avoid premature convergence and encourage exploration. * Replacement: Offspring replace part of the existing population to form the next generation. * Termination: The algorithm continues iterating until a predefined number of generations is reached or convergence criteria are satisfied. In this study, the implementation was carried out using the pygad library with the following configuration:  
* Number of generations: 100. * Population size: 100 individuals. * Number of genes: Equal to the number of controllable parameters. * Parent selection method: Rank selection. * Number of parents selected per generation: 10. * Number of elite (retained) parents: 2.