# The Inverse Optimization of an Optical Lithographic Source with a Hybrid Genetic Algorithm
## 2 Methodology
### Flow of Hybrid-GA-Based SO
#### 2.2.2 The Optimization Strategy for the Illumination Source
The integral source shape, which is shown in Figure 2e, can be generated by using a mirror operation to flip the quarter of the source displayed in Figure 2d. The procedure of optimizing the source is described in Figure 3.  
Because of the complexity of imaging models for optical lithography, it is difficult to utilize a traditional GA to attain the optimal source. Although GAs have a great convergence effect in iterative processes for simple optimization models, premature convergence can cause the merit function to fall into a local optimum in a complicated model. To improve the performance of the optimization model based on a GA, optimization strategies--the method of updating the population in PSO and the search method in TS--were inserted into the GA to overcome the local optimal conditions. In the proposed hybrid algorithm, the GA executes mutation and crossover operations to revise the current population in each iteration. The updated population can be calculated with the following formulas in the mutation process. \[\zeta=\gamma*(1-i/\tau)^{2} \tag{7}\]  
\[\mathbb{P}(j,k)=\mathbb{P}(j,k)*(1-\zeta) \tag{8}\]  
\[\mathbb{P}(j,k)=\mathbb{P}(j,k)*(1+\zeta) \tag{9}\]  
In Equation (7), represents a random increment that can be generated with a random function \(rand()\) in different iteration loops. \(i\) and \(\tau\) are the current iteration number and the total number of iterations, respectively. The increase and decrease in individuals with respect to the magnification in \(\mathbb{P}\) can be, respectively, implemented with Equations (8) and (9). \(\mathbb{P}(j,k)\) represents the units of individuals in the \(j\)th row and \(k\)th column, where \(j=1,2,3,\cdots,n\) and \(k=1,2,3,\cdots,m\). In addition, it is necessary for the crossover operation of the GA to be employed to enlarge the search range in order to enhance the convergence abilities. The node to be crossed in \(\mathbb{P}\) can be found with  
\[\eta_{obj}=\Psi[(n-1)*\gamma+1] \tag{10}\]  
Figure 3: Flowchart of the optimization of the source. The optimization flow of the proposed hybrid GA method is adequately described inside the dotted boxes. \[\eta_{node}=\Psi[(m-1)*\gamma+1] \tag{11}\]  
where \(\Psi\) represents a mathematical function that implements a rounding operation to generate the nearest integer. The exchanged part of the individual can be decided according to the position \((\eta_{obj},\eta_{node})\). Hence, the population \(\mathbb{P}\) can be updated with the mutation and crossover operations in the procedure of the GA. The optimal individual in the current iteration can be selected from \(\mathbb{P}\), and it is recorded on the tabu list. It is significant to establish the list in order to enhance the search capabilities and break away from local optima. The tabu list can store the number of individuals, and it is calculated with the following formula. \[\mathcal{L}=\Psi\bigg{(}\sqrt{m*(m-1)/2}\bigg{)} \tag{12}\]  
To ensure the global conditions in the complex SO model, PSO is employed to enlarge the update scope of the variates. The strategy of using a weight coefficient based on the hyperbolic tangent is proposed to manipulate the speed of updating the variates, which is also varied in a different loop, and this is denoted by the following:  
\[\mathcal{W}(i)=\mathcal{T}\bigg{[}\frac{2\xi(\tau-i)}{\tau}-\xi\bigg{]}\frac{ \mathcal{V}_{max}-\mathcal{W}_{min}}{2}+\frac{\mathcal{W}_{max}+\mathcal{W}_{ min}}{2} \tag{13}\]  
Figure 3.0  
Figure 3.1  
In Equation (13), \(\mathcal{W}(i)\) represents the weight coefficient in the \(i\)th iteration, \(\mathcal{T}[\cdot]\) is the hyperbolic tangent function, and \(\xi\) is the constant. \(\mathcal{W}_{max}\) and \(\mathcal{W}_{min}\) are, respectively, the maximum and minimum weight coefficients, which are set before the iteration starts. Equations (14) and (15) indicate the strategy of updating the individual \(J_{l}\) in PSO. \(\mathcal{V}_{l}(i+1)\) represents the search speed of the variate for the \(l\)th individual in the \(i\)th iteration.