## 2 Proposed Method
### The AMPGA Algorithm with Constraint  
The goal of this paper is to search for the attenuation coefficient closer to the globally optimal solution corresponding to the mathematical model (8). The algorithm of AMPGA with constraints is employed to cover the shortage of SGA, such as premature convergence and poor local search ability, and the specific process is shown in Figure 2.  
(1) Initialize the involved parameters. (a) \(A\) is total number of rays, and \(B\) is the total number of grids. (b) Set \(g=0\), where g is the current number of generations. (c) Set \(MP=10\) as the number of the populations. The algorithm breaks through the framework of SGA's genetic evolution by a single population and introduces multiple populations simultaneously to optimize the search, which improves the global and local search ability. (d) Set \(NIND=40\) as the size of each population. (e) Set \(GGAP=0.95\) as the generation gap. (f) Set \(MAXGEN=500\) as the maximum number of generations. (g) Set \(Pop\in(0,+\infty)\), the corresponding absorption coefficient of each individual in the population is greater than \(0\). (h) Determination of the crossover probability \(P_{c}\) (\(g\), \(p\), \(n\)) and the mutation probability \(P_{m}\) (\(g\), \(p\), \(n\)), where \(P_{c}\) (\(g\), \(p\), \(n\)) is the crossover probability of the \(n\)-th individual in the \(p\)-th population when it evolved to the \(g\)-th generation, \(P_{m}\) (\(g\), \(p\), \(n\)) is the mutation probability of the \(n\)-th individual in the \(p\)-th population when it evolved to the \(g\)-th generation. The values of the crossover probability \(P_{c}\) and the mutation probability \(P_{m}\) determine the equilibrium of the algorithm's global search and local search capabilities. Many scholars recommend choosing a larger \(P_{c}\) and a smaller \(P_{m}\)[25]; however, there are still countless ways to value \(P_{c}\) and \(P_{m}\). For different choices, the optimization results vary greatly. In AMPGA, different genetic parameters are set for different populations, which improves the global and local search ability [26; 27; 28]. In this paper, the range of \(P_{c}\) is defined between \((P_{c})_{\min}\) and \((P_{c})_{\max}\), and the range of \(P_{m}\) is defined between \((P_{m})_{\min}\) and \((P_{m})_{\max}\). \[\left\{ \begin{array}{ll}(P_{c})_{max}=0.9,(P_{c})_{min}=0.5\\ (P_{m})_{max}=0.05,(P_{m})_{min}=0.001\end{array} \right. \tag{9}\]In order to improve the diversity of the population and global search ability, multiple populations are employed to evolve in parallel [29; 30; 31]. Before evolution (\(g_{0}=0\)), the initial genetic parameters are defined respectively:  
\[\left\{ \begin{array}{l}P_{c1}(g_{0},\ p)=(P_{c})_{min}+((P_{c})_{max}-(P_{c})_ {min})*\delta\\ P_{m1}(g_{0},\ p)=(P_{m})_{min}+((P_{m})_{max}-(P_{m})_{min})*\delta\end{array} \right. \tag{10}\]  
where \(\delta\) is an number randomly generated between 0 and 1, \(P_{c1}\) (\(g_{0},p\)) is the \(p\)-th population's initial crossover probability, \(P_{m1}\) (\(g_{0},p\)) is the \(p\)-th population's initial mutation probability. On the other hand, in order to further improve the local search ability of the model, the idea of the adaptive genetic algorithm [32; 33] is introduced. In the course of evolution, the probability of crossover and mutation of each individual in each population is adjusted. The individuals with high fitness are given lower probability of crossover and mutation, which enables the solution to be protected into  
Figure 2: Flow chart of adaptive multi-population parallel genetic algorithm (AMPGA) with constraints. the next generation. The individuals with low fitness are given higher probability of crossover and mutation, which enables the solution to be eliminated quickly. Therefore, the adaptive crossover and mutation probability can be used to improve the local convergence speed and search ability. The lower limit of adaptive change of the crossover and mutation probability for each individual in each population is set as  
\[\left\{