## 3 Solving Algorithms of the Model
### Solving Process of the Genetic Algorithm  
The genetic algorithm is an intelligent optimization algorithm that searches for the optimal solution by simulating the process of biological evolution [19; 20; 21]. It is often used to find the optimal solution from a series of combinations. In Figure 2, GA stands for genetic algorithm, SA stands for simulated annealing algorithm, and SAGA represents simulated annealing genetic algorithm. As shown in Figure 2a, the first step in the GA process is coding, and decimal coding was adopted in this paper. Assume that a total of \(n\) kinds of semi products are needed according to the order; \(b_{i}\) is the width of the semi products; \(d_{i}\) is the quantity of the semi products with the same width; \(N\) is the total quantity of all the semi products; and \(B\) is the width of the silicon steel coil. Here, \(N=\sum_{i=1}^{n}d_{i}\), \(i\) represents the type of the semi products, and its value is \(i=1,\,2,\,\ldots,\,n\). Each semi product to be produced is numbered as \(1,\,2,\,\ldots,\,p_{i}\), \(\ldots,\,N;p_{i}\) is a specific and nonrepeated number, and its value range is \([1,\,N]\). In this way, each semi product is mapped with a digital code. A sequence of the digital code is called an individual, which represents the width sequence of a scheduling scheme, namely, the blanking sequence. The second step is to create the initial population. After coding, all of the digital codes are randomly arranged to generate an ordered sequence, that is, the initial population. Moreover, the fitness value of everyone in the initial population needs to be calculated. The  
Figure 2: Solving process. (**a**) GA process. (**b**) optimal solution selection process. (**c**) SAGA process. higher the fitness value, the better the individual, and its maximum value is 1. Suppose that the digital code sequence of an individual \(P\) is known, and the width of the semi products corresponding to each digital code is accumulated according to the sequence. When the width sum is equal to the width of a silicon steel coil, the number of silicon steel coils increases by 1 to obtain the number of silicon steel coils required by this individual. For the blanking scheduling problem studied in this paper, the reciprocal of the silicon steel coil number was usually taken as the fitness value. However, market experience shows that the residual material with a width less than 60 mm can neither be used for the next blanking nor be directly cross-cut into silicon steel sheets and, thus, become waste. Therefore, the optimal scheduling scheme should not only ensure less residual material, but residual material is also concentrated on the last silicon steel coil as much as possible. Accordingly, the fitness value is defined as  
\[f(P)=\sum_{i=1}^{N}b_{i}\cdot d_{i}/[B\cdot M-Y_{m}] \tag{7}\]  
where \(M\) is the number of silicon steel coils required by the individual \(P\), and \(Y_{m}\) is the width of the residual material of the last silicon steel coil. The third step is to cross and mutate the parent population. Suppose that there are \(S\) individuals in the parent population, and the individuals in the parent population cross each other randomly to generate \(S\) offspring individuals. Single-point crossover and double-point crossover are the two common crossover methods. Suppose that two individuals \(U=\{u_{1}\),\(u_{2}\),\(u_{3}\),... \(u_{N}\}\) and \(V=\{v_{1}\),\(v_{2}\),\(v_{3}\),... \(v_{N}\}\) are the two individuals in the parent population. Single-point crossover is to randomly select a point \(p_{1}\), and then the elements before the point \(p_{1}\) in individual \(U\) is copied to the same position in the child individual \(U_{new}\); the rest of the elements in \(U\) are copied to the child individual \(U_{new}\) in accordance with the sequence as they appear in \(V\). The child individual \(V_{new}\) can be obtained in the same way as shown in Figure 3a.