## 4 Categorization of Optimization Methods  
Before going into high-speed scenarios and examining optimization processes in different segments, it is useful to introduce what constitutes an optimization problem and to provide a classification of different optimization methods based on their optimization objectives. A typical unconstrained optimization problem can be written as in Table 3, according to one of the four types listed there. These four types are based on whether the inputs and outputs are scalars or vectors, respectively. The target optimization function \(f(\cdot)\) or functions \(f_{i}(\cdot),i=1,\ldots,N\) can be either minimized or maximized; for simplicity, we formulate everything in terms of a minimization problem, with the equivalence \(max_{x}f(x)=min_{x}(-f(x))\). In Table 3, \(\mathcal{S}\) is the scalar optimization search space, and \(\mathcal{S}^{M}\) is the vector optimization search space. The constrained optimization problems can be easily formulated starting from the formulas in Table 3 by adding some constraints or boundaries, such as, for example, \(g_{i}(x)\leq 0,i=1,\ldots,M_{1}\) or \(h_{j}(x)\leq 0,j=1,\ldots,M_{2}\), where \(g_{i}(\cdot)\) and \(h_{j}(\cdot)\) are functions defining the constraint on the solution \(x\). When we have a single-objective or a multi-modal optimization problem (i.e., a single scalar function of a scalar or vector input), there is usually, at most, one optimization solution \(x^{*}\) (scalar) or \(\mathbf{x}^{*}\) (vector). When we have a multi-objective optimization problem, several objectives (\(f_{i},i=1\ldots,N\)) must be minimized simultaneously, and therefore, there usually exists a trade-off between the different functions \(f_{i}\). The optimal solution is called _Pareto optimal_\(x^{*}\) (scalar) or \(\mathbf{x}^{*}\) (vector), and it is a set of non-inferior solutions in the sense that no other solutions can be found that can minimize one of the objective functions \(f_{i}\) without increasing the value of another of the objective functions \(f_{j},j\
eq i\). \begin{table}
\begin{tabular}{l l l} \hline \hline
**Type** & **Mathematical Foundations** & **Parameters** \\ \hline Single objective & \(min_{x<S}f(x)\) & \(f(\cdot)\) scalar, \(x\) scalar \\ \hline Multi-objective & \(min_{x<S}f(x),f_{i}(x),\ldots,f_{N}(x)\) & \(f(\cdot),i=1,\ldots,N\) scalar, \(x\) scalar \\ \hline Multi-modal & \(min_{x<S}uf(x)\) & \(f(\cdot)\) scalar, \(\mathbf{x}=[x_{1},\ldots,x_{M}]^{T}\) vector \\ \hline Multi-objective & \(min_{x<S}uf(f_{1}(\mathbf{x}),f_{2}(\mathbf{x}),\ldots f_{N}(\mathbf{x}))\) & \(f(\cdot)\) scalar, \(\mathbf{x}=[x_{1},\ldots,x_{M}]^{T}\) vector \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Types of Unconstrained Optimization Problems. Furthermore, we classify the optimization methods that have applications in LEO networks according to Figure 3. It is straightforward to see the relation between Figure 3 and Table 2, as Figure 3 includes most of the methods listed in Table 2. However, it is also important to show the relation between Table 3 and Figure 3 by noting which methods are suitable for which types of optimization problems. We will focus on explaining this relation for the remainder of this section. On one hand, many of the methods in Figure 3 are methods inherently developed to deal with single-objective optimization problems in mind; for example, traditional heuristic algorithms, such as the Greedy Search [45] and Dijkstra Algorithm [46], minimize the defined cost (i.e., node or transmitter-receiver distance, network traffic/throughput, etc.). Similarly, linear solvers, such as Mixed-Integer Linear Programming (MILP), are also applicable for single-objective optimization problems; however, they can also be expanded to operate with multi-objective or multi-modal problems, given accurate and cleverly formalized problem models, e.g., as shown in [47].