## 7 Overview of Algorithms for Energy Optimization UAV-Based Cellular Networks
### Swarm Intelligence-Based Algorithms
#### 7.1.3 Exact Methods  
In the previous sections, the focus was on heuristics and meta-heuristic algorithms, which are generally referred to as black box algorithms in the literature. In addition to these, there are also exact solution methodologies, which are usually referred to as white box optimization algorithms. The difference between white box and black box optimization algorithms lies in their approach to problem-solving. Black box optimization algorithms are used when the internal structure of the system to be optimized is not fully known. These algorithms treat the system as a black box and attempt to optimize it using only input and output as meta-heuristic methodologies. White box optimization algorithms, on the other hand, are used when the internal structure of the system is fully known [138]. These algorithms model the system mathematically and then optimize it based on that model. Examples of such algorithms include mathematical programming, derivative-based methods, and dynamic programming. One of the key advantages of white box exact optimization algorithms is their ability to provide a globally optimal solution to a problem [139]. This means that the solution found is guaranteed to be the best possible solution, given the constraints of the problem. However, these algorithms can be computationally expensive and may require significant computing resources to run. Overall, white box exact optimization algorithms are a powerful tool for solving complex optimization problems and can provide valuable insights into the behavior of complex systems [140].  
There are various exact solution methodologies in optimization problems. Linear Programming (LP), Integer Programming (IP), and Mixed-Integer Programming (MIP) [141; 142] are methods for optimizing linear and discrete problems with constraints. LP seeks to optimize a linear objective function subject to linear constraints, IP requires integer variables in addition to the linear constraints, and MIP allows for both continuous and discrete variables and is useful for solving complex optimization problems with both linear and nonlinear relationships. Quadratic Programming (QP) [143] optimizes a quadratic objective function subject to linear constraints, and Convex Optimization is a type of optimization where the objective function and constraints are convex [144]. Nonlinear Programming (NLP) optimizes a non-linear objective function subject to non-linear constraints, while Mixed-Integer Nonlinear Programming (MINLP) [145] combines NLP and IP. Global Optimization finds the global optimum of a non-linear objective function, which may have multiple local optima [146]. Finally, dynamic programming [147] is a method for solving optimization problems that can be decomposed into smaller subproblems. It involves breaking down a complex problem into simpler subproblems and solving each subproblem only once, saving the solutions in a table or matrix. By reusing the solutions to the smaller subproblems, dynamic programming can greatly reduce the computational complexity of solving the larger problem. Dynamic programming is commonly used in fields such as computer science, operations research, and economics, where problems can be divided into smaller parts and optimal solutions can be computed by working backwards from the end of the problem. All of these methods have applications in various fields such as finance, engineering, and machine learning.  
Exact white box optimization methods are typically programmed using mathematical modeling languages, such as AMPL [148], Pyomo [149], or JuMP [150]. These optimization solvers use a range of algorithms and techniques to find the optimal solution to an optimization problem, including simplex method [151], interior-point methods [152], branch-and-bound [153], and branch-and-cut [154]. The choice of solver and algorithm depends on the characteristics of the problem, such as the size and complexity of the model, the presence of integer or nonlinear variables, and the desired level of solution quality.