 Research
 Open Access
Iterative optimization techniques using man–machine interaction for university timetabling problems
 Syunsuke Shimazaki†^{1},
 Kazutoshi Sakakibara†^{1}Email author and
 Takuya Matsumoto†^{2}
 Received: 26 December 2014
 Accepted: 9 May 2015
 Published: 12 June 2015
Abstract
We focus on a timetabling problem of university makeup classes and construct a scheduling system based on man–machine interaction which enables to reveal the essential and additional information of the problem domain. In this problem, makeup classes which are requested by the lecturers have to be scheduled to a specified time slot under the hard/soft constraints, e.g., schedules of the lecturers and the students. A constraint based scheduling model is newly introduced and several parameters of the model are settled through the repetition of the solution evaluation by the operators. Through the numerical experiment with the actual data, the potential of the proposed approach is examined.
Keywords
 University course timetabling problem
 Integer programming
 Man–machine interaction
Background
Recently, many researches on timetabling problems have been reported from the viewpoint of optimization (Burke and Petrovic 2002; Daskalaki et al. 2004; Causmaecker et al. 2009; Burke et al. 2010; Abdullaha and Turabieh 2012). Most of them take the approach of utilizing a computer and generating a feasible timetable based on a mathematical programming model (Nemhauser et al. 1989) which is formulated after the interview with the experts of the problem domain. On the other hand, generated timetables become rarely operative in the realistic situation, and human modifications are added to them in many cases. This always results from disability of mathematical programming model. In contrast, we consider an approach to generate a solution (i.e., a timetable) of the target problem by referring to the implicit knowledge from an operator. It is important to incorporate man–machine interaction explicitly into an optimization process in this approach.
Introduction
We propose iterative optimization method based on man–machine interaction for makeup classes timetabling problems specially in Toyama Prefectural University. In this university, there is an arranged period for the makeup classes in each semester, and it takes 5–6 days. A timetable has to be scheduled under the constraints of inhibition of overlapped time slots both for the lecturer and the students. In the past of the university, one operator has scheduled a timetable of the makeup class, and the total scheduling time has been about 3 weeks. Our proposed system was applied to the makeup classes of the second semester of 2013, the first and the second semester of 2014. Its effectiveness was evaluated quantitatively by comparing with the conventional hand working method and qualitatively by the hearing survey to the staffs.
Mathematical programming models and makeup class timetabling problem
We first formulate a makeup class timetabling problem into an integer programming model. A makeup class is a class which is offered as a substitute for the canceled class in the ordinary course in the university. In Toyama Prefectural University, 5–6 days are arranged for a set of makeup classes requested by the lecturers in each semester, and timetables of the makeup classes are scheduled by a staff of the educational affairs section. A classroom for each makeup class is also scheduled simultaneously with the timetabling. When feasible timetables are not able to be found, a set of classes for operating in the arranged period needs to be selected. The rest of classes are operated in the ordinary course period.
Parameters

Time slot \({\rm {S}}_i\) (\(i\in \mathcal{I}\)): Each \({\rm {S}}_{i}\) corresponds to 90 min. Dummy time slots are also introduced for the sake of convenience in order to represent the beginning/end of the arranged period and the turn of a day.

\(\mathcal{I}^\mathrm{D}\): a set of dummy time slots,

\(\mathcal{I}^\mathrm{E}\): a set of indices of the time slots which correspond to 11th and 12th period of a day. These time slots correspond to the evening time, and it is desirable to avoid these slots for allocation of the classes.


Classroom \({\rm {R}}_j\) (\(j\in \mathcal{J}\)):

\(p_j\): room capacity.


Class \({\rm {C}}_k\) (\(k\in \mathcal{K}\))

\(\mathcal{S}_k (\subseteq \mathcal{I})\): a set of the desired time slots,

\(\mathcal{R}_k (\subseteq \mathcal{J})\): a set of classrooms,

\(a_k\): number of time slots to be operated in succession,

\(m_k\): number of participation in \({\rm {C}}_{k}\),

\(b^\mathrm{S}_{ik}\in \{0,1,...\},i\in \mathcal{S}_k\): degree of favor for \({\rm S}_{i}\),

\(b^\mathrm{R}_{jk}\in \{0,1,...\},j\in \mathcal{R}_k\): degree of favor for \({\rm R}_{j}\),

\(b^\mathrm{C}_k\): priority of operation of \({\rm C}_{k}\).


Student \({\rm U}_{\ell }\) (\(l\in \mathcal{L}\)):

\(\mathcal{C}^\mathrm{S}_{\ell } (\subset \mathcal{K})\): a set of registered classes.


Lecturer \({\rm L}_m\) (\(m\in \mathcal{M}\)):

\(\mathcal{C}^\mathrm{L}_{m} (\subset \mathcal{K})\): a set of operable classrooms,

\(\mathcal{M}^\mathrm{Q}_{m}\): a set of the classes which are desirable to be placed closely on a timetable,

\(\mathcal{M}^\mathrm{S}_{m}\): a set of the classes which are desirable to be placed separately on a timetable.

Decision variables

Allocation of classroom \({\rm R}_j\) and time slot \({\rm S}_i\) to class \({\rm C}_k\):$$\begin{aligned} x_{ijk}= \left\{ \!\! \begin{array}{ll} 1\!\!: & \, \text{ C }_{k} \text{ is } \text{ operated } \text{ on } \text{ S }_{i} \text{ in } \text{ R }_{j}, \\ 0\!\!: & \, \text{ otherwise. } \end{array}\right. \end{aligned}$$

Selection of the classes:$$\begin{aligned} y_k= \left\{\begin{array}{ll} 1\!\!: \, \text{ C }_k \text{ is } \text{ operated } \text{ in } \text{ the } \text{ period } \text{ for } \text{ makeup } \text{ classes, } \\ 0\!\!: \, \text{ otherwise. } \end{array}\right. \end{aligned}$$

\(s_{k}\): the center of time slots of \({\rm C}_{k}\).

\(d^\mathrm{Q}_{kk'}\), \(d^\mathrm{S}_{kk'}\): difference of the time slots between \({\rm C}_{k}\) and \({\rm C}_{k'}\).
Constraints

\(\triangleright\) Each class is assigned to \(a_{k}\) time slots:$$\begin{aligned} \sum _{i\in \mathcal{S}_{k}}\sum _{j\in \mathcal{R}_{k}} x_{ijk} = a_{k}y_{k}, \quad k\in \mathcal{K} \end{aligned}$$(1)

\(\triangleright\) \({\rm C}_{k}\) is operated in a succession of \(a_{k}\): time slots$$\begin{aligned} x_{ijk}  x_{i1,jk}  x_{i+1,jk} \le 0, \quad i\in \mathcal{I}, \,j\in \mathcal{J}, \,k_{a_{k}\ge 2}\in \mathcal{K} \end{aligned}$$(2)These inequalities are able to express the constraints with \(a_{k}\le 5\).$$\begin{aligned} x_{ijk} + x_{i+1,jk}  x_{i1,jk}  x_{i+2,jk} \le 1, \quad i\in \mathcal{I}, j\,\in \mathcal{J}, \, k_{a_{k}\ge 4}\in \mathcal{K} \end{aligned}$$(3)

\(\triangleright\) The constraints on a dummy time slot:Every class cannot be assigned on each dummy time slot.$$\begin{aligned} x_{ijk} = 0, \quad i\in \mathcal{I}^\mathrm{D}, \quad j\in J,\, k\in \mathcal{K} \end{aligned}$$(4)

\(\triangleright\) A lecturer does not operate more than two classes at the same time slot.$$\begin{aligned} \sum _{j\in \mathcal{J}}\sum _{k\in \mathcal{C}^\mathrm{L}_m} x_{ijk} \le 1, \quad i\in \mathcal{I},\, m\in \mathcal{M} \end{aligned}$$(5)

\(\triangleright\) A lecturer does not operate more than two classes at the same classroom:$$\begin{aligned} \sum _{k\in \mathcal{K}} x_{ijk} \le 1, \quad i\in \mathcal{I}, \, j\in \mathcal{J} \end{aligned}$$(6)

\(\triangleright\) Capacity of a classroom:$$\begin{aligned} \sum _{k\in \mathcal{K}} m_{k}x_{ijk} \le p_{j}, \quad i\in \mathcal{I},\,j\in \mathcal{J} \end{aligned}$$(7)

\(\star\) A class is assigned to a time slot according to the degree of favor for it:$$\begin{aligned} f^\mathrm{A} = \sum _{k\in \mathcal{K}}\sum _{i\in \mathcal{S}_k}\sum _{j\in \mathcal{R}_k} b^\mathrm{S}_{ik}x_{ijk} \rightarrow \text{ maximize } \end{aligned}$$(8)

\(\star\) A student does not attend more than two classes at the same time slot:$$\begin{aligned} \lambda _{i\ell } = \sum _{j\in \mathcal{J}}\sum _{k\in \mathcal{C}^\mathrm{S}_\ell } x_{ijk}  1, \quad i\in \mathcal{I},~ \ell \in \mathcal{L} \end{aligned}$$(9)These constraints are originally classified as hard constraints. However, it is difficult to find the feasible schedule satisfying of them in the case of Toyama Prefectural University. We therefore relax it and add a penalty term to the original objective functions.$$\begin{aligned} f^\mathrm{B} = \sum _{i\in \mathcal{I}}\sum _{l\in \mathcal{L}} \lambda _{i\ell } \rightarrow \text{ minimize } \end{aligned}$$(10)

\(\star\) Evaluation of degree of adjacency of the classes among \(\mathcal{M}^\mathrm{Q}_{m}\):$$\begin{aligned} s_{k} = \frac{1}{a_{k}} \sum _{i\in \mathcal{S}_{k}} \sum _{j\in \mathcal{J}} i\cdot x_{ijk}, \quad k\in \mathcal{K} \end{aligned}$$(11)$$\begin{aligned} d^\mathrm{Q}_{k k'} \ge s_{k}  s_{k'}, k<k', ~ k,k' \in \mathcal{M}^\mathrm{Q}_{m}, \quad m \in \mathcal{M} \end{aligned}$$(12)$$\begin{aligned} d^\mathrm{Q}_{k k'} \ge s_{k'}  s_{k}, k<k', ~ k,k' \in \mathcal{M}^\mathrm{Q}_{m}, \quad m \in \mathcal{M} \end{aligned}$$(13)$$\begin{aligned} f^\mathrm{C} = \sum _{m\in \mathcal{M}} \sum _{k\in \mathcal{M}^\mathrm{Q}_{m}} \sum _{\begin{array}{c} k'\in \mathcal{M}^\mathrm{Q}_{m}, \\ {k'>k} \end{array}} d^\mathrm{Q}_{k k'} \rightarrow \text{ minimize } \end{aligned}$$(14)

\(\star\) Evaluation of degree of disjunctiveness of the time slots of the classes among \(\mathcal{M}^\mathrm{S}_{m}\):$$\begin{aligned} d^\mathrm{S}_{k k'} = s_{k'}  s_{k}, k<k', ~ k,k' \in \mathcal{M}^\mathrm{S}_{m}, \quad m \in \mathcal{M} \end{aligned}$$(15)$$\begin{aligned} f^\mathrm{D} = \sum _{m\in \mathcal{M}} \sum _{k\in \mathcal{M}^\mathrm{S}_{m}} \sum _{\begin{array}{c} k'\in \mathcal{M}^\mathrm{S}_{m}, \\ {k'>k} \end{array}} d^\mathrm{S}_{k k'} \rightarrow \text{ maximize } \end{aligned}$$(16)

\(\star\) Evaluation of degree of avoidance of the slots in \(\mathcal{I}^\mathrm{E}\):$$\begin{aligned} f^\mathrm{E} = \sum _{i\in \mathcal{I}^\mathrm{E}} \sum _{j\in \mathcal{J}} \sum _{k\in \mathcal{K}} x_{ijk} \rightarrow \text{ minimize } \end{aligned}$$(17)

\(\star\) Evaluation of degree of the priority of the class:$$\begin{aligned} f^\mathrm{F} = \sum _{k\in \mathcal{K}} b^\mathrm{C}_{k}y_{k} \rightarrow \text{ maximize } \end{aligned}$$(18)

\(\star\) Vacancy slots between the pair of the classes are not desirable for each student.

\(\star\) Constraint (10) is able to satisfied for the student by attending the class which is offered to the different department in the same faculty and also has the same course content. This movement can be reflected on the integer programming model by changing the value of \(C^\mathrm{S}_{\ell }\).
Iterative optimization method based on man–machine interaction
In this section, we model a procedure of interaction between an expert and a computer in making a timetable.
The original problem and its mathematical programming model

the decision variables and the parameters can be described in a mathematical programming manner completely.
Under this assumption, there exists the elements which cannot be formalized into a mathematical programming model among the constraints and the objective functions. Here, such constraints can be classified into the followings:
 (A)
The constraints which are described into mathematical formulas, and at the same time need not always be satisfied in making a timetable, and
 (B)
The constraints which cannot be formalized primarily. We call them implicit constraints.
As for the constraints of (A) (i.e., the soft constraints), it is a general approach to relax these constraints and to incorporate them into the objective functions where the degree of a violation of them is quantified and is minimized as shown in "Constraints". However, this problem deformation is equivalent to the multiobjectivization of the original problem, and it poses a problem of balancing multiple objective functions.
A solution space which is represented by the formulated constraints includes the original solution space with implicit constraints in both case of (A) and (B).
Optimization process
We propose an optimization approach by newly introducing meta model for the problem described in "The original problem and its mathematical programming model". Metamodel is a model which is allowed to include both the implicit constraints and the implicit objective functions. The implicit objective functions include the parameters which are difficult to be quantified. A mathematical programming model is generated by setting/modifying these parameters by the operators.
On the other hand, the implicit constraints are reflected in the modifying process of the solutions generated by optimizing the acquired mathematical programming model. In other words, a computer processes the mathematical programming model, and an operator sets the values of the parameters of the metamodel and modifies the solution generated from the computer.
 1°
Operators generate a mathematical programming model by setting the values of the parameters based on the reference of the solution \(\varvec{X}'\) acquired in the previous step in order to reflect the implicit objective functions.
 2°
A computer performs the optimization process and output a timetable \(\varvec{X}\).
 3°
Operators directly modify the timetable \(\varvec{X}\) in order to reflect the implicit constraints.
These procedure can be illustrated in the solution space of Figure 1. In this figure, step 1° corresponds to generating a solution space \(\hat{\mathcal{M}}\) which is drawn with a solid line. Step 2° outputs a solution \(\varvec{X}\) from a solution space \(\hat{\mathcal{M}}\). \(\varvec{X}\) satisfies all hard constraints of Eqs. (1)–(7) and all soft constrains of Eqs. (8)–(18) under the parameters settled by the operators. Step 3° outputs a solution \(\varvec{X}'\) included in a solution space which corresponds to an original problem is shown with a broken line. \(\varvec{X}\) satisfies all hard constraints of Eqs. (1)–(7) and all soft constrains of Eq. (8). Meanwhile a conventional optimization process by utilizing a computer can be illustrated in Figure 2. In this figure, there does not exist a metamodel explicitly, and exists one way process from a mathematical model to a modified solution \(\varvec{X}'\). It indicates that the optimization process possesses no feed back loops. This lack of feed back loops is thought to bring an obsolescence of the optimization system associated with changes in environment. On the other hand, the proposed method has the feedback loops explicitly, and the values of the model parameters are set/modified by the operators based on the current solutions generated by a mathematical programming solver. These values are listed in a CSV format, and the operator can edit them in a spreadsheet application in our experiments described in "Experiments". In this paper, an integer programming model is used for the metamodel, and \(b^\mathrm{S}_{ik}\), \(b^\mathrm{R}_{jk}\), \(b^\mathrm{C}_{k}\) correspond to the parameters in the implicit objective functions. These values are modified iteratively in the optimization loop after the interview with the lecturer.
Experiments
In this section, we show the numerical experiments with the actual data to examine the performance of the proposed method. We used the timetabling data of Toyama Prefectural University from the second semester of 2013 to the second semester of 2014. Here, the decision of the classroom selection were excluded in this experiments in order to reduce the model size described in "Mathematical programming models and makeup class timetabling problem". One staff of the educational affairs section in Toyama Prefectural University scheduled a timetable by using our proposed method.
Problem specification

The second semester of 2013 (we call SS2013)

Number of students: 994,

Number of slots arranged for makeup classes: 34,

Number of classes requested by the lecturers: 257.


The first semester of 2014 (FS2014)

Number of students: 997,

Number of slots arranged for makeup classes: 36,

Number of classes requested by the lecturers: 280.


The second semester of 2014 (SS2014)

Number of students: 997,

Number of slots arranged for makeup classes: 34,

Number of classes requested by the lecturers: 257.

Results

SS2013

Number of variables: 41,472

Number of constraints: 45,259

Number of classes not operated in the period for the makeup classes: 8

Computational time (for each optimization by a computer): 1,088–5,384 s

Duplication of classes for the students [which is equal to \(\lambda _{i\ell }\) in Eq. (9)]: 12

Number of feedback loops for generation and evaluation of the timetables \({\varvec{X}}\): 240


FS2014

Number of variables: 50,288

Number of constraints: 53,782

Number of classes not operated in the period for the makeup classes: 4

Computational time (for each optimization by a computer): 0.03–6,064 s

Duplication of classes for the students [which is equal to \(\lambda _{i\ell }\) in Eq. (9)]: 10

Number of feedback loops for generation and evaluation of the timetables \({\varvec{X}}\): 382


SS2014

Number of variables: 43,153

Number of constraints: 46,876

Number of classes not operated in the period for the makeup classes: 1

Computational time (for each optimization by a computer): 0.00–41,324 s

Duplication of classes for the students: 35

Number of feedback loops for generation and evaluation of the timetables \({\varvec{X}}\): 134

The results by the conventional scheduling techniques (i.e., hand working) are obtained as a comparison from the hearing survey to the staff, and they are also summarized as follows:

The first semester of 2013 (we call FS2013)

\(*\) Number of students: 994,

\(*\) Total period of a makeup classes: 6 days

\(*\) Number of classes requested by the lecturers: 257

Number of classes not operated in the period for the makeup classes: 4

Duplication of classes for the students: 44

Discussion

The physical load for the staff was reduced to about a half of FS2013.

Timetables with a few duplication of classes were acquired in early iterations in the optimization loop.

The model parameters such as \(b^\mathrm{S}_{ik}\), \(b^\mathrm{C}_{k}\) were modified by the operators in the optimization loop. On the other hand, the modification step of Figure 1 was not necessary for almost every iteration.

Various timetables could be evaluated and compared by changing the model parameters.

The computational time of the branchand bound techniques can vary significantly depending on the model parameters corresponding to the implicit objective functions.

The requests from the lectures are different among the three data sets, and it provided significant differences on the computation time of the branchandbound algorithm.

The staffs could attend some other duties during the optimization process by a computer.

Every acquired schedule was actually conducted in Toyama Prefectural University.
Conclusions
In this paper, we focus on a timetabling problem of university makeup classes and construct a scheduling system based on man–machine interaction. Makeup classes which are requested by the lecturers have to be assigned to a specified time slot under the hard and soft constraints. A constraint based scheduling model is newly introduced and several parameters of the model are settled through the repetition of the solution evaluation by the operators. Through the numerical experiment with the actual data, workloads of the operators could be reduced to about a half of the case of the conventional hand working, and timetables with a few duplication of classes could be obtained. Every acquired timetables by the proposed method had a potential to be conducted in the actual use environment.

Visualization of the factors which provides infeasible solutions in the constraints,

Reduction of the computational costs by a computer, and

Construct an expert model which can optimize the parameters of the meta model as an agent.
Notes
Declarations
Authors’ contributions
SS and KS wrote and had the original idea of the article. TM had also the original idea and critically revised the manuscript. All authors read and approved the final manuscript.
Acknowledgements
The authors wish to thank Ms. Yuki Matsuhara and Ms. Haruka Miyakoshi, academic affairs staffs in Toyama Prefectural University, for their supports during the system evaluation. We received valuable comments over the entire study. The authors would like to thank also Ms. Hiromi Fukushima for her supports during model construction and code implementation.
Compliance with ethical guidelines
Competing interests The authors declare that they have no competing interests.
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Authors’ Affiliations
References
 Abdullaha S, Turabieh H (2012) On the use of multi neighbourhood structures within a Tabubased memetic approach to university timetabling problems. Inform Sci 191:146–168View ArticleGoogle Scholar
 Burke EK, Mareceka J, Parkesa AJ, Rudova H (2010) Decomposition, reformulation, and diving in university course timetabling. Comput Op Res 37(3):582–597View ArticleGoogle Scholar
 Burke EK, Petrovic S (2002) Recent research directions in automated timetabling. Eur J Op Res 140(2):266–280View ArticleGoogle Scholar
 Causmaecker PD, Demeester P, Berghe GV (2009) A decomposed metaheuristic approach for a realworld university timetabling problem. Eur J Op Res 195(1):307–318View ArticleGoogle Scholar
 Daskalaki S, Birbas T, Housos E (2004) An integer programming formulation for a case study in university timetabling. Eur J Op Res 153(1):117–135View ArticleGoogle Scholar
 IBM Corp (2011) ILOG CPLEX Optimizer. http://www01.ibm.com/software/integration/optimization/cplexoptimizer/
 Koksalan M, Wallenius J, Zionts S (2011) Multiple criteria decision making: from early history to the 21st century. World Scientific, SingaporeView ArticleGoogle Scholar
 Nemhauser G, Kan AR, Todd M (eds) (1989) Handbooks in operations research and management science, vol 1. Elsevier, AmsterdamGoogle Scholar