# Metaheuristic with Cooperative Processes for the University Course Timetabling Problem
## 4 Computational Results
### Landscape and Efficacy of SACP
Each point represents a result obtained from some of the 48 processes in execution in SAP and SACP in the time interval of zero to 9000 s. It is observed that, at the beginning when the initial solution is generated where there is no cooperation in SACP, the results are similar as in SAP (0-700 s). When optimization starts with SA, both algorithms improve their solutions, but it is observed that as the execution time progresses, SACP tends to be better than SAP. Additionally, the SACP algorithm reaches an asymptotic convergence. Figure 7b presents the effect of processes cooperation for the large02 problem, when SAP processes cooperation is not applied (simulated annealing with processes) and when SACP processes cooperation is applied. It is observed that, at the beginning when the initial solution is generated where there is no cooperation in SACP, the results are similar to SAP (0-700 s). When SA optimization is started, both algorithms improve their solutions, but it is observed that as the execution time progresses, SACP tends to be better than SAP and also presents an asymptotic convergence. In this graph, a greater separation is observed between the SAP vs. SACP solutions in Figure 7b. The latter indicates that the processes cooperation applied in SACP for the large02 problem works more efficiently by obtaining a greater difference in SACP vs. SAP results. Figure 8 presents the behavior of how the value of the objective function is minimized vs. the Hamming distance for the instances large01 and large02. In both instances in Figure 8a,b, the same behavior occurs, indicating that with a shorter Hamming distance, the result is better; this is observed in SACP. In the case of SAP, the result also improves without reducing the Hamming distance, but the result is of lower quality than in SACP. It is also observed that, for both instances large01 and large02, the best interval for the Hamming distance, in which the best solutions are found, is between 50 and 100. Figure 9 presents the value of the soft constraints and their Hamming distance for the best solution obtained by SACP for each of the 48 processes in execution, for the instances large01 and large02. Figure 9a shows that, for the large01 instance, the lowest values are always obtained with the _Soft3_ constraint in the 48 processes. Then, the values obtained with the _Soft1_ constraint are placed as lowest values and, finally, the ones obtained with the _Soft2_ constraint. This behavior is observed in all the processes. This indicates that SACP has more problems optimizing the _Soft2_ constraint, and it is easier to optimize the _Soft3_ constraint. The longest Hamming distance in a process does not exceed the value of 140. Figure 9b shows that, generally, the lowest value is for the Soft1 constraint in 43 of 48 processes, and the _Soft3_ constraint follows and the _Soft2_ constraint is at the end. This indicates that SACP has more problems optimizing the _Soft2_ constraint, and it is easier to optimize the _Soft1_ constraint. The longest distance Hamming does not exceed the value of 100. Optimizing soft constraints depends on the instance, because in large01 it is best optimized in the order of _Soft3_ -> _Soft1_ -> _Soft2_, while in large02 it is best optimized in the order of _Soft1_ -> _Soft3_ -> _Soft2_. Table 4 presents the results obtained with SACP and SAP. Execution times and number of executions in SACP and SAP are the same. For each problem size, the times are different to be able to compare SACP (equal time in SAP) with other algorithms existing in the literature and using the same instances (ACO, GA, ILS, TS, SA). For small instances, the number of executions for each instance is 100, and for medium and large instances, the number of executions for each instance is 30. For large problems, the execution time limit is 9000 s; for medium problems, the execution time limit is 4000 s; and for small problems, the recorded time is the time to obtain the global optimum. In all small instances, the global optimum is obtained with SACP.