Simulated Annealing For University Timetable SIMULATED ANNEALING APPROACH FOR UNIVERSITY TIMETABLE PROBLEM

: University Scheduling is a way of allocating students, lecturers, and rooms, which is used for lectures in the available time slots. The common problems are that a lecturer is scheduled in the same time slot, or several courses are scheduled in the same room and the same time slot. For this reason, scheduling needs to be made in such a way that it can optimize the use of resources. We use simulated annealing as an approach to solve that problem. The results showed that the higher the initial temperature value used and the greater the iteration value would reduce the violation constraints in scheduling problems.


INTRODUCTION
Scheduling allows various activities to be carried out regularly and does not interfere with each other. According to [1] scheduling is an activity carried out to allocate existing resources or machines to run a set of tasks within a certain period of time. Research on scheduling has been widely discussed in various studies, including University Timetable Problem (UTP) [2,3,4,5,6]. Lecture scheduling is prepared by each department, after obtaining information on the lecturers' time preferences to be scheduled. After that, the schedules of each department will be combined. The problems that can be arise in this algorithm simulates a cooling process that gradually lowers the temperature of the system until it converges to a frozen and stable state.
Kirkpatrick [11]  Implementing SA requires a number of random numbers. Choosing the right random generator requires special knowledge of a problem. Basically it is important to specify the number of random numbers needed and determine the speed of the generator. The random generator will produce the initial solution. In addition to using random builders, the formation of solutions can also be done with other algorithms such as search algorithms so that the SA algorithm speed will be better.

Figure 1. General Simulated Annealing Algorithm [12]
The SA algorithm ( Figure 1)  2. Value of Reduction; is a fixed value that will be used to reduce the initial temperature.
According to [14], this value is determined based on experience which shows that α that should be used is between 0.8 and 0.99. Various studies related to the use of SA in UTP have been done previously. Rochman [15] in his research developed a course scheduling

Algorithm Design
Based on [12], the scheduling steps with SA can be defined as follows:

An Illustration
For example, the following will be given an illustration. The first step in SA is to determine the initial value for each parameter.
Suppose the initial value for temperature (T) = 500, the temperature reduction factor () = 0.99, and the number of iterations (I) = 3. The next step is to generate the initial schedule (S 0 ). Suppose S 0 as in Table 1. Thus the data in the Table 1 can be rewritten as Table 2. To calculate the number of constraint violations that occur, we add the values of all the elements in the slot, so that the number of violations obtained is: V 0 = 1 + 0 + 0 + 0 + 0 + 0  Then, when k = 1, we calculate values of R 1 , R 2 , and R 3 . Suppose the random value r 1 = 0.95, r 2 = 0.43, and r 3 = 0.68 (see Table 3)   The next step is to reorder the schedule after the column exchange is done. The schedule is obtained as in Table 4. Next we recalculate the number of violation constraints (V k ). Based on Table 5, it is obtained V k = 1. Because V 1 < V 0 , the new schedule in Table 4 is used as the initial schedule (S 1 ) for the next iteration. Furthermore, the value of T k is calculated by T k = T k-1 = (0.99) (500) = 495.
The calculation results for the next iteration can be seen in Table 3. On the second iteration, which is shifted is the first and the second row.
The result is S2 (

Software Design
Modeling software is a method used to describe the basis of the system to be built.   shown on Figure 4, 5, and 6.

The Results
Testing is done with a number of data. Data collection is done by retrieving data in even semester 2017/2018. We conducted 69 experiments with initial temperatures ranging from 150 to 1300 and the number of iterations ranged from 50 to 475. We used a fixed alpha value of 0.99. Table 9 shows the average value of the whole experiment.  The results of the analysis (shown on Figure   7 and Figure 8