# Optimization Algorithms in SDN: Routing, Load Balancing, and Delay Optimization
## 5 Comparative Overview
### Complexity vs. Optimality  
Heuristic algorithms and load-balancing algorithms often deal with complexity through approximations and heuristics, trading off some degree of optimality for practicality and speed. In contrast, latency optimization algorithms tend to focus more narrowly on minimizing delays, which can sometimes allow for more optimal solutions within their specific domain.  
Dynamic Adaptation: While all three categories can be designed for dynamic network environments, load-balancing and latency optimization algorithms are particularly focused on adapting to changing conditions in real-time. General algorithms, with their broader application range, may not always prioritize real-time adaptation.  
Application Scope: The choice between these algorithms depends on the primary network objectives: general algorithms are chosen for their flexibility and broad applicability, latency optimization algorithms for scenarios where delay is critical, and load-balancing algorithms for scenarios requiring efficient resource utilization and high availability.  
\begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Algorithm Type** & **Brief Description** & **Advantages** & **Limitations** & **SDN Application** \\ \hline \multirow{6}{*}{Heuristic algorithms} & - & offer practical & \multirow{2}{*}{-} & flexibility & - & no guarantee of & \multirow{2}{*}{-} & \multirow{2}{*}{-} \\  & approach to solving & & (address wide & & optimal solutions & & \\  & complex optimization & problems, otherwise & problem range) & & & affect & \\  & & computationally & - & satisfactory & & performance in & \\  & & infeasible & & solutions & & accordance with & \\  & - & provide good-enough & & compared to & & the problem that & \\  & solutions in a & & exact algorithms & & is being solved & \\  & reasonable timeframe & & & & & \\ \hline \multirow{3}{*}{Latency optimization algorithm} & - & focus on minimizing & \multirow{3}{*}{-} & data flow & - & not quite feasible & \multirow{3}{*}{-} & \multirow{3}{*}{-} \\  & network delays & & optimization by & & for dynamic & & interaction apps \\  & - & critical in real-time & & reducing delays & & networks (may & \\  & data environments & & & reducing delays & & require frequent & \\  & & & & & & \\  & & & & & & \\  & & & & & & \\  & & & & & & \\  & - & distribute network & & in network & - & complex & \\  & traffic or & & utilization & & implementation & \\  & computational load & - & avoids the & & proportional to & \\  & evenly across & & overload of & & traffic scaling & - & environments \\  & resources & & individual & - & may require & & with high and \\  & - & preventing & & components & & & unpredictable \\  & bottlenecks on nodes & - & performance and & & adjustments to & \\  & & reliability & & balance properly & & traffic volumes \\  & & enhancement & & & & \\ \hline \hline \end{tabular}
\end{table}
Table 6: Comparative table of algorithms presented.  
\begin{table}
\begin{tabular}{c c} \hline \hline
**Network Type** & **Reference Numbers** \\ \hline General SDN & [1; 4; 5; 11; 12; 13; 14; 15; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 29; 30] \\ \hline Data Centers (IP Networks) & [2; 28] \\ \hline IoT Networks (Wireless and IP Networks) & [3] \\ \hline Fog Computing Integrated with D2D (Wireless Networks) & [6] \\ \hline IP Networks (General SDN Context) & [7; 8; 9; 10] \\ \hline SDN-Enabled Avionic Networks (Transport Networks) & [16] \\ \hline \hline \end{tabular}
\end{table}
Table 7: Targeted networks in the state-of-the-art.