## 4 Simulated Annealing  
Simulated Annealing (SA) is an optimization algorithm named and inspired by an annealing treatment in metallurgy. Originally, annealing is a cooling technique that increases the crystal sizes and reduces their defects by letting atoms settle down to a minimum energy state. SA attempts to computationally mimic this physical phenomenon through perturbing the existing configuration and accepting the new configuration with a probability dependent upon both energy difference and the system temperature. It is the Metropolis-Hastings algorithm that determines whether or not to accept a new configuration. A lower-energy configuration is always accepted at each step, while a higher-energy configuration is accepted only if the acceptance probability \(P=\exp(-dE/T)\) is greater than a random number between 0 and 1, as illustrated in Figure 10[52; 53; 54]. Even if the new configuration has higher energy (\(dE_{\mathrm{j}}>0\)), it is likely to be accepted in early iterations, owing to the high system temperature. As a cooling schedule decreases the system temperature in a controlled way (linearly or exponentially for example), the acceptance probability becomes lower and higher-energy states will seldom be accepted. In summary, SA initially searches a wide design space by allowing configurations that appear inferior at first glance, but it behaves like a steepest-gradient method in the end to narrow down to a local minimum. Through this transforming progress in SA, the initial ReCon configuration settles down to optimal configurations with minimum energy (fitness). The allowable range of each variable and its initial value are listed in Table 10. The initial values were chosen in accordance with intuition obtained from the design of experiments (DOE) using LHS: The minimum height, the lowest altitude difference, smallest number of planes and satellites, and the greatest FoR. This initial configuration of x\({}_{0}=[31/2,\,-200,\,2,\,1,\,50]\) is used at the first step in Figure 10. The optimization process begins from the melted state, which crystallizes as temperature decreases exponentially by a factor of 10. Freezing happens when no or very few new configurations emerge for a consecutive number of iterations, less than five new configurations in three consecutive trials in this setting. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Factor/Level** & **Value of Level** & \(\triangle\)**ROM** & \(\triangle\)**GOM Revisit** & \(\triangle\)**Constellation Mass** & \(\triangle\)**Reconfig Time** \\  & **[Unit]** & **Revisit [sec]** & **[sec]** & **[kg]** & **[day]** \\ \hline A1 & \(-\)40 km & \(-\)3522 & \(-\)22,931 & \(+\)6775 & \(-\)6.7 \\ A2 & \(-\)30 km & \(-\)3625 & \(-\)25,62  
With this setup, the single-objective fitness function (\(\mathit{J}\)) is defined as a linear combination of figures of merit (\(\mathit{F}\)'s) and penalty terms (\(\mathit{h}\)'s) that are functions of the input design vector (\(\boldsymbol{x}\)). \[\mathit{J}(\boldsymbol{x})=\sum_{i=1}^{4}w_{i}s_{i}F_{i}(\boldsymbol{x})+g \sum_{j=1}^{5}c_{j}h_{j}(\boldsymbol{x}), \tag{17}\]  
such that violating constraints will yield positive h values and increase the total fitness \(\mathit{F}\). Even if the weighted sum of \(\mathit{F}\)'s may be small, large constraint violations will increase the total fitness which is deemed undesirable from optimization perspectives. Amongst four figures of merit in Table 11, only \(\mathit{F}_{1}\) has a negative sign in its definition because coverage should be maximized, and the other figures of merit should be minimized. Each figure of merit is multiplied by a corresponding scaling factor (\(s_{i}\))