## 6 Discussion
### Gradient-Based Optimization  
In addition to the heuristic algorithm, ReCon optimization was also attempted using gradient-based methods. This was a significant challenge, given the fact that design space is a mixture of integer variables (n/k ratio, number of planes, number of satellites per plane) and continuous variables (Walker altitude difference, field of regard), making the problem inherently poorly suited to gradient-based methods. An approximation to the gradient was calculated via finite differences, as illustrated by vector \(\mathbf{d}\) in Figure 14. There is generally no guarantee that the search direction will pass through grid points in the design space. Therefore, discrete variables were allowed to move in only one direction at a step, replacing \(\mathbf{d}\) with \(\mathbf{d_{2}}\) in Figure 14, which has a larger projection than \(\mathbf{d_{1}}\). The algorithm can be considered a type of \"pseudo-steepest descent\" in which the general trend of the approximate gradient is followed in a step-wise manner to be compatible with the discrete design space. Because the line search step leads to \"city block\" style movements through the design space, methods like conjugate gradient would not help to provide a more direct trajectory. This simple version of steepest descent also makes a fair comparison against the heuristic algorithms (SA, GA) used in this study in their simplest form. Tables 18 and 19 show the optimal solutions from the steepest descent (SD) method. The 2-plane SD solution has a score comparable to the 3-plane SA solution, and the 3-plane SD solution is a slightly better score than the 3-plane SA solution. However, these SD solutions could be obtained by starting from the optimal results of SA. Because the ReCon problem is extremely poorly conditioned for gradient-based methods, even the solution convergence itself was rarely achieved when LHS results or random initialization were used as starting points. Figure 15 illustrates a snapshot of objective space for coarsely sampled discrete points similar to Figure 14. Even in converged cases, the scores of SD solutions were still worse (higher \(J\)) than GA solutions. Figure 14: Illustration of modified step size calculation for discrete design variables. Figure 16 is a representation of time versus quality analysis for solutions obtained by LHS (Section 3), SD (Section 6.1), SA (Section 4), and GA (Section 5) methods [57]. A desktop with Intel(r) Core(tm) i7-2600 CPU (3.40 GHz) and 16.0 GB RAM was used in the experiments. LHS orthogonally sampled 100 designs, resulting in the lowest quality (highest _J_) among the four but taking the shortest time. SA shows a considerable improvement in solution quality compared to the LHS solution while taking less than twice the time required by LHS. SD took a longer time than SA and yielded an inferior solution because gradient-based methods are ill-suited to the ReCon problem. The GA solution is slightly (4%) more optimal than the SA solution in terms of the \(J\) value. However, GA required 7 times longer computation time than SA because GA performs optimization over a population whereas SA optimizes a single design point. With SD solution dominated by the rest, the other three methods constitute a non-dominated Pareto front whose time-quality tradeoff may be utilized throughout a design project from its early prototyping to final refinement stages. Future work could employ other population-based methods (e.g. ant colony optimization) as candidates to achieve similar performance as GA while reducing computation time. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Type** & **Symbol** & **Description** & **Optimum** \\ \hline Design variable & _nk_ & RGT ratio & \(15/1\) \\  & _delta_alt_ & Altitude difference & \(-100\) km \\  & _n_planes_ & Number of orbital planes & 3 \\  & _n_sats_ & Number of satellites per plane & 4 \\  & _regard_ & Field of regard & \(30^{\circ}\) \\ \hline Performance & \(J\) & Objective function & 1.565 \\ \hline \hline \end{tabular}
\end{table}