# Metaheuristic with Cooperative Processes for the University Course Timetabling Problem
## 1 Introduction  
Resource programming is an activity that needs to be performed in different areas, such as distribution of resources for the manufacture of objects, in work centers for the distribution of tasks to staff or customer service, in the scheduling of machines when establishing the sequence of tasks to be carried out [1], in the distribution of products to place them at sale points, in the programming of transport systems [2], in the sequence of processes in industry, commerce and services, on a computer or any other machine [3], among others. Most of these problems are classified as NP [4] problems. To deal with the problem of resource optimization, since the last century, heuristic and metaheuristic methods have been developed and applied to NP-type problems, which can obtain solutions close to the global optimum in a polynomial time without renouncing the search for the optimal solution. The development of specialized heuristics is very important because, to date, there are no exact deterministic optimization methods that can solve NP-type problems in polynomial times [5]. Examples of some heuristic strategies applied to NP-type problems in different areas of knowledge are presented below:* In [6], the authors consider that, by optimizing multi-objective problems with different characteristics, the strategy must be changing. To achieve this, they apply Learning Automation in an evolutionary algorithm so that it can be adapted to the characteristics of the problem. Authors adjust the reference vector to improve the ability to solve problems with a Pareto front. * In [7], an adaptive polyploid memetic algorithm for scheduling trucks at a cross-docking terminal is developed. The author proposes a new adaptive algorithm to program the entry and exit of trucks in a terminal. The adaptive algorithm stores copies of the parental chromosomes before applying the crossover operator. Moreover, various hybridization techniques to facilitate the search process are used. * In [8], they develop a multi-objective evolutionary algorithm. They propose an angle-based selection strategy and a displacement-based density estimation strategy. These two strategies are used in environmental selection to purify the population. They apply diversity and convergence to compare pairs of individuals and eliminate the worst. They indicate that their method can be easily extended to solve other multi-objective optimization problems. * To improve the efficiency of the distribution of perishable products, in [9], a study with a mathematical formulation of mixed integers is presented and they solve it with an evolutionary algorithm and compare its results with other metaheuristics. The objective is to minimize the total cost incurred during the service of the truck. * In [10], they address the problem of vehicle route generation by developing a linear mixed integer programming model to minimize the total cost of the supply chain. They use CPLEX to solve the optimization model for small problems and with the metaheuristics of evolutionary algorithm, variable neighborhood search, taboo search and simulated annealing solve the model for large-scale problem cases. * In [11], the authors present a proposal for distinguishing between bacterial and viral meningitis using genetic programming and decision trees. The authors consider two different cases. In one case, they consider blood parameters as cerebrospinal; in the other, they are based exclusively on blood data. For this, the authors make use of formulations already used before for the same purpose and methodologies based on machine learning. In experimentation, they make use of a genetic algorithm integrated in MATHLAB. Resource programming is also used in the academic area to obtain the timetabling for students for every school period. Depending on the school level, designing school timetabling is not always an easy task.