## 3 Methods
### GA-BP Neural Network  
The GA (genetic algorithm) is an evolutionary algorithm inspired by the \"survival of the fittest\" principle in biological evolution. Proposed by Professor [PERSON] of the University of Michigan in 1967, GA works by starting with an initial population representing a potential solution space [13]. Each individual in this population is encoded using genes. The first step of GA [14] involves encoding the individuals and mapping their phenotype to genotype. The algorithm then iterates over multiple generations, selecting the fittest individuals based on their fitness values and generating new solutions through genetic operators like crossover and mutation. This evolutionary process allows the population to adapt to the problem domain over time, with later generations producing better solutions. The optimal individual from the final generation can then be decoded to provide an approximate optimal solution. In the context of BP neural networks, GA is applied to optimize the network's initial weights and thresholds [15]. Instead of randomly initialized parameters, GA obtains an optimal set of weights and thresholds, which serve as the starting point for BP network training. These weights are represented as genes in the GA, where each gene corresponds to a specific weight or threshold in the BP network [16]. The number of genes corresponds to the total weights and thresholds in the BP network, forming a chromosome in the GA. A population of chromosomes is created, where each chromosome represents a potential solution, i.e., a different set of weight values for the BP neural network. This population is evaluated by the BP network's performance [17], where the fitness of each chromosome (i.e., the weight set) is determined by calculating the error between the network's actual output and the desired output for a given set of inputs. This error serves as the GA's fitness function [18]. The connection between the GA and the BP neural network is illustrated in Figure 4, where the two components interact via a bidirectional arrow. This interaction represents the continuous exchange of information: the BP network's performance is evaluated by calculating the error between the predicted and desired outputs [19]. Based on this evaluation, the GA then selects the best-performing chromosomes (the ones with the lowest error). These best-performing chromosomes represent the \"best weights\" for the BP neural network. After selection, the GA applies genetic operators such as crossover and mutation to create a new generation of chromosomes (potential weight sets). This new population is evaluated, and the process repeats iteratively. The optimal individual, or the best chromosome in the final generation, contains the weights that minimize the error and serve as the initial parameters for the BP neural network. Once the optimal set of weights is identified through GA optimization, they are passed to the BP neural network. The BP neural network begins its training process, using these weights as the starting point. This helps the network avoid local minima by providing it with better initial weights, allowing it to achieve faster and more stable convergence during training. The continuous feedback loop between the GA and the BP neural network ensures that the weights are optimized over several iterations, improving the network's performance [20]. Figure 4: GA-BP Neural Network Flowchart. In summary, the fitness function of the GA is based on the error between the BP neural network's actual output and the desired output. The GA helps improve the BP network's performance by minimizing this error. Through this iterative optimization process, the GA and BP neural networks work together to enhance the overall training process and ensure that the network achieves optimal performance.