# Surface Reconstruction Planning with High-Quality Satellite Stereo Pairs Searching
## 4 High-Quality DSM with Stereo Pairs Searching
### Searching for Optimized Stereo Pairs  
Since the problem is a combinatorial optimization problem, the optimal solution needs to be selected from enormous imaging pairs while checking the consistency to keep the constraints satisfied in the solution. The Grey Wolf Optimizer (GWO) proposed in [32] is a metaheuristic algorithm widely used in combinatorial optimization problems [33]. By simulating grey wolf hunting, the GWO can efficiently search globally in the complex solution space to avoid being trapped in local optimization. In the GWO algorithm, the potential solution to the problem is regarded as the position of a group of gray wolves in the search space. The wolf group is resembled with the leadership hierarchy consisting of four roles, namely \(\alpha\) (first leader), \(\beta\) (second leader), \(\delta\) (third leader), and \(\omega\) (subordinate), representing the current optimal solution, suboptimal solution, third optimal solution, and the remaining solutions. In addition to the leadership hierarchy, the hunting mechanism is also simulated in the GWO algorithm with three main phrases of searching for prey, encircling prey, and attacking prey, to better adapt to challenging problems with unknown search spaces [32]. In the GWO algorithm, the optimization (hunting) is guided by \(\alpha\), \(\beta\), and \(\delta\), which are then followed by \(\omega\). As denoted in Table 1, \(x_{ij}\) is the binary decision variable to represent if the imaging pair is selected to be observed in planning. Therefore, the optimization of position \(X\) containing all \(x_{ij}\) is indeed the search procedure for the prey (optimal pair combinations). The optimization of \(X\) in the GWO can be mathematically represented as follows:  
\[ \begin{array}{l}D=|C\cdot X_{p}(t)-X(t)|\\ X(t+1)=X_{p}(t)-A\cdot D\end{array}  \tag{11}\]  
where \(t\) is the current iteration number, \(X_{p}\) indicates the location of the prey (optimum solution), and \(X(t)\) refers to the position of the individual gray wolf in generation \(t\), i.e., the current searched solution. \(A\) and \(C\) are coefficient vectors, calculated as follows:  
\[ \begin{array}{l}A=2a\cdot\mathbf{r_{1}}-a\cdot\mathbf{1}\\ C=2\cdot\mathbf{r_{2}}\end{array}  \tag{12}\]  
where \(\mathbf{r_{1}}\) and \(\mathbf{r_{2}}\) are both random vectors in [0,1] to improve the reachability of any available position, \(a\) is linearly decreased from 2 to 0 over the course of iterations, and \(\mathbf{1}\) is the all-ones vector. According to Equation (12), \(A\) is a random vector with all elements in the range of \([-a,a]\). During the iterative search process, the searching population updates their positions mainly by learning from \(\alpha\), \(\beta\), and \(\delta\) solutions, which are iteratively updated according to Equation (11). Specifically, the \(\omega\)-wolf adjusts its position according to its distance relationship with \(\alpha\), \(\beta\), and \(\delta\)-wolves, and the update formula is as follows:  
\[ \begin{split} D_{\alpha}&=|C_{1}\cdot X_{\alpha}-X|\\ D_{\beta}&=|C_{2}\cdot X_{\beta}-X|\\ D_{\delta}&=|C_{3}\cdot X_{\delta}-X|\\ X_{1}&=X_{\alpha}-A_{1}\cdot D_{\alpha}\\ X_{2}&=X_{\beta}-A_{2}\cdot D_{\beta}\\ X_{3}&=X_{\delta}-A_{3}\cdot D_{\delta}\\ X(t+1)&=\frac{X_{1}+X_{3}+X_{3}}{3}\end{split}  \tag{13}\]  
where \(X\) is the current position of the search individual, \(X_{\alpha}\), \(X_{\beta}\), and \(X_{\delta}\) are the position of the \(\alpha\), \(\beta\), and \(\delta\) solution, respectively, and \(A_{1}\), \(A_{2}\), \(A_{3}\), and \(C_{1}\), \(C_{2}\), \(C_{3}\) are the coefficient vectors, which change dynamically with iterations to balance the exploration and exploitation capabilities of the searching. The positions of search individuals are updated through continuous iterations, to adjust the way of combining satellite imaging pairs for the solution that not only optimizes the objective function but also satisfies the constraints.