## 5 Simulation Results
### Simulation Environment  
_Experimental environment_: This experiment runs on an ordinary PC with an Intel Core i5-6600 CPU @3.30 GHz. All three algorithms are verified by Python 3.7.  
_Network topology:_ We evaluate the performance of the proposed approach on three topologies from the Internet Topology Zoo [42], namely the XSpedius topology with 34 nodes and 49 edges, the Bellcanada topology with 48 nodes and 65 edges, and the Uninett2010 topology with 74 nodes and 101 edges. Assuming that the request volume of each switch is a randomly generated value in [150; 250] kilorequests/s, the capacity of the controller is 150% of the average request volume of the switch, and the bandwidth of each link is 2 Gbps. The packet size for synchronization inter-controller is 200 bytes, and the synchronization interval is 5 s. We set packet_in packet size to 98 bytes, set packet_out packet size to 104 bytes, and ignore the payload in the packet [13]. We set the evaluation parameters, which are network delay, node security, load rate, and link cost.  
The proposed algorithm is a differential evolution algorithm based on multiple objectives. Both the differential evolution algorithm and genetic algorithm are stochastic intelligent optimization algorithms. However, their parameters are different in crossover, mutation, and selection stages, which leads to the difference in accuracy and operation time between the two algorithms. In addition, the random placement algorithm is uncertain, but it considers the principle of minimizing delay for controller deployment. Therefore, we choose the genetic algorithm based on multiple objectives and the random placement algorithm based on minimum delay as the benchmark algorithms to prove the efficiency and effectiveness of the proposed algorithm, respectively.  
_Proposed Algorithm:_ In order to evaluate its validity and efficiency, the fitness of each population is calculated based on the multi-objective functions formed by fitting the network delay, network security, load rate, and link cost. Among them, we set the population size to 250, the number of iterations to 200, the mutation factor to 0.8, and the crossover factor to 0.8.  
_Benchmark Algorithms:_  
* Genetic Algorithm: To ensure the results' efficiency, the genetic algorithm evaluates fitness based on the same multiple objectives as the proposed algorithm. Genetic algorithms search optimization occurred through continuous iteration of selection, crossover, and mutation. In this comparative experiment, the population size of the genetic algorithm is set to 250, the number of iterations is 200, the mutation factor is 0.8, and the crossover factor is 0.8.
* Random placement algorithm: To ensure the results' validity, the algorithm randomly generates controller positions and allocates nearby switches according to the principle of minimum delay. The algorithm maintains great randomness and instability without iteration and optimization while the controller positions are selected.  
In order to clearly compare the proposed approach with benchmark algorithms, the parameter settings of the three algorithms are shown in Table 3.  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Algorithm** & **Delay** & **Security** & **Load** & **Link Cost** \\ \hline Proposed Algorithm & \(\surd\) & \(\surd\) & \(\surd\) & \(\surd\) \\ Genetic Algorithm & \(\surd\) & \(\surd\) & \(\surd\) & \(\surd\) \\ Random Placement Algorithm & \(\surd\) & - & - & - \\ \hline \hline \end{tabular}
\end{table}
Table 3: The Parameter Settings of algorithms.