## 6 Experiments and Results  
The bi-level optimization, Equations (8) and (9), is solved in a MATLAB environment, using the YALMIP extension [51]. The solutions of the upper-level optimization problem \(y_{i}\), \(j=1\),..., \(8\), of the first 15 control cycles (calculation iterations) are given in Table 1. The duration of the cycles [sec] for each intersection is different, which corresponds with the definition of the bi-level optimization problem. The synchronization procedure implements the minimal cycle length. This is illustrated in Figure 6, where the values of the higher evaluated cycle durations for \(y_{2},y_{3}\), and \(y_{4}\) are decreased up to the minimal evaluated cycle and applied to the control process. This procedure for problem definition, evaluation, and synchronization is repeated 15 times; see Figure 6  
The dynamics of the cycles \(y_{2}\), \(y_{3}\), and \(y_{4}\) are presented in Figure 6.  
Following the synchronization procedure for the cycle durations, the green lights \(u_{i}\), \(i=1,\ldots,15\), also change their values between their optimal solutions and the real implemented ones, corrected according to the synchronization procedure. Figure 7 illustrates the changes of the green light \(u_{4}\). The evaluated optimal values from the bi-level problem are higher. Because the corresponding cycle \(y_{2}\) has been decreased from synchronization, the resulting green light duration of \(u_{4}\) also decreases. Thus, \(u_{4}\) adapts its value, according to the real implemented cycle \(y_{2}\). In the same way, the changes between the evaluated optimal solutions \(u_{6}\), \(u_{8}\), and \(u_{14}\) and the implemented ones are illustrated in Figures 8-10. This is a consequence of the changes in the corresponding cycle durations of \(y_{3}\), \(y_{4}\), and \(y_{7}\) from the synchronization procedure. Figure 6: Dynamics of the cycles \(y_{2}\), \(y_{3}\), and \(y_{4}\). Figure 7: Difference between the evaluated and implemented green light duration \(u_{4}\). For all cases in Figures 8-10, the implemented green lights durations are smaller in comparison with their optimal evaluated values. The dynamics of the queue lengths \(x_{6}\) and \(x_{10}\) according to the applied control cycles are presented in Figure 11.  
Figure 8: Difference between the evaluated and implemented green light duration \(u_{6}\). Figure 10: Difference between the evaluated and implemented green light duration \(u_{14}\). Figure 9: Difference between the evaluated and implemented green light duration \(u_{8}\). In order to assess the results of the developed control policy, the bi-level implemented solutions are compared with the solutions of the classical nonlinear optimization problem. The last is defined to minimize the queue lengths on an intersection and the arguments are the duration of the green lights for fixed values of the cycle durations. A comparison has been made by integrating the sum of all queue lengths in the urban network for 15 control cycles. This is the value of the total number of waiting cars in the network. This is used as an integrated criterion for the functionality and effectiveness of the developed control approach. A comparison between the total number of waiting cars in the network, obtained after the bi-level control (solid line) and the classical optimization one (dashed lines), is given in Figure 12.  
The classical (one-level) optimization is applied for fixed cycle durations with 40, 50, 60, and 70 s.  
The queue lengths, resulting from the bi-level optimization (blue solid line), is less than the values of the one-level optimization (dashed lines). This is proof of the positive potential of the suggested bi-level optimization. Figure 12 illustrates the one-level optimization when the cycle duration is close to the implemented bi-level value of \(y=40\) s and the resulting waiting vehicles (red dashed line) are closest to the bi-level case.