A software defined networking (SDN) system has a logically centralized control plane that maintains a global network view and enables network⁃wide management, optimization, and innovation. Network⁃wide management and optimization problems are typically very complex with a huge solution space, large number of variables, and multiple objectives. Heuristic algorithms can solve these problems in an acceptable time but are usually limited to some particular problem circumstances. On the other hand, evolutionary algorithms (EAs), which are general stochastic algorithms inspired by the natural biological evolution and/or social behavior of species, can theoretically be used to solve any complex optimization problems including those found in SDNs. This paper reviews four types of EAs that are widely applied in current SDNs: Genetic Algorithms (GAs), Particle Swarm Optimization (PSO), Ant Colony Optimization (ACO), and Simulated Annealing (SA) by discussing their techniques, summarizing their representative applications, and highlighting their issues and future works. To the best of our knowledge, our work is the first that compares the techniques and categorizes the applications of these four EAs in SDNs.
SDN; evolutionary algorithms; Genetic Algorithms; Particle Swarm Optimization; Ant Colony Optimization; Simulated Annealing