A Mathematical Programming Model and Enhanced Simulated Annealing Algorithm for the School Timetabling Problem

Page created by Anna Taylor
 
CONTINUE READING
Asian Journal of Research in Computer Science

                             5(3): 21-38, 2020; Article no.AJRCOS.55744
                             ISSN: 2581-8260

   A Mathematical Programming Model and Enhanced
        Simulated Annealing Algorithm for the School
                               Timetabling Problem
                   O. A. Odeniyi1*, E. O. Omidiora2*, S. O. Olabiyisi3* and C. A. Oyeleye4*
               1
            Department of Computer Science, Osun State College of Technology, Esa-Oke, Nigeria.
         2
       Department of Computer Engineering, Ladoke Akintola University of Technology, Ogbomoso,
                                                                                         Nigeria.
   3
    Department of Computer Science, Ladoke Akintola University of Technology, Ogbomoso, Nigeria.
 4
  Department of Information Systems, Ladoke Akintola University of Technology, Ogbomoso, Nigeria.

                                                                                               Authors’ contributions

              This work was carried out in collaboration among all authors. Author OAO formulated the
mathematical programming model and Enhanced Simulated Annealing (ESA) algorithm for solving the
          school timetabling problem and wrote the first draft of the manuscript. Authors EOO and SOO
        implemented and validated the formulated mathematical model and ESA algorithm using Matrix
    Laboratory 8.6 software and a Nigerian high school dataset respectively. Author CAO managed the
 literature searches, references and does the final manuscript. All authors read and approved the final
                                                                                            manuscript.

                                                                                                    Article Information
                                                                                       DOI: 10.9734/AJRCOS/2020/v5i330136
                                                                                                                    Editor(s):
                                                            (1) Dr. G. Sudheer, GVP College of Engineering for Women, India.
                                                                                                                  Reviewers:
  (1) Pasupuleti Venkata Siva Kumar, Vallurupalli Nageswara Rao Vignana Jyothi Institute of Engineering & Technology, India.
                                                   (2) Tajini Reda, École Nationale Supérieure des Mines de Rabat, Morocco.
                                                                      (3) Marco Benvenga, UNIP Universidade Paulista, Brazil.
                                                                             (4) David Lizcano, Madrid Open University, Spain.
                                              Complete Peer review History: http://www.sdiarticle4.com/review-history/55744

                                                                                         Received 20 February 2020
  Original Research Article                                                                 Accepted 27 April 2020
                                                                                            Published 02 May 2020

ABSTRACT
 Despite significant research efforts for School Timetabling Problem (STP) and other timetabling
 problems, an effective solution approach (model and algorithm) which provides boundless use and
 high quality solution has not been developed. Hence, this paper presents a novel solution approach
 for solving school timetabling problem which characterizes the problem-setting in the timetabling
 problem of the high school system in Nigeria. We developed a mixed integer linear programming
 model and meta-heuristic method - Enhanced Simulated Annealing (ESA) algorithm. Our method
_____________________________________________________________________________________________________

*Corresponding authors: E-mail:     olufemiodeniyi@gmail.com,     eoomidiora@lautech.edu.ng,     soolabiyisi@lautech.edu.ng,
caoyeleye@lautech.edu.ng;
Odeniyi et al.; AJRCOS, 5(3): 21-38, 2020; Article no.AJRCOS.55744

 incorporates specific features of Simulated Annealing (SA) and Genetic Algorithms (GA) in order to
 solve the school timetabling problem. Both our solution approach and SA approach were
 implemented using Matrix Laboratory 8.6 software. In order to validate and demonstrate the
 performance of the developed solution approach, it was tested with the highly constrained school
 timetabling datasets provided by a Nigerian high school using constraints violation, simulation time
 and solution cost as evaluation metrics. Our developed solution approach is able to find optimal
 solution as it satisfied all the specified hard and soft constraints with average simulation time of
 37.91 and 42.16 seconds and solution cost of 17.03 and 18.99, respectively, for JSS and SSS to
 the problem instance. A comparison with results obtained with SA approach shows that the
 developed solution approach produced optimal solution in smaller simulation time and solution
 cost, and has a great potential to solve school timetabling problems with satisfactory results. The
 developed ESA algorithm can be used for solving other related optimization problems.

Keywords: School timetabling problem; model; mixed integer linear programming; meta-heuristics;
          genetic algorithm; simulated annealing.

1. INTRODUCTION                                           complexities (a large search space of the
                                                          problem – large number of events required to be
The School Timetabling Problem usually denoted            assigned to resources while satisfying a large list
as High School Timetabling Problems (HSTP) is             of constraints; increasing number of courses/
concerned with the process of fixing a sequence           subjects that are very diverse for the different
of meetings between teachers and classes (set             countries to be scheduled; a varying structure in
of lessons) to a specific number of timeslots             different high schools even in the same country
within a prefixed time period (typically a week),         or educational systems and a wider variety of
satisfying a set of constraints of various kinds          many different requirements (both objectives and
[1,2,3]. These constraints are usually classified         constraints) which are usually institution-specific
into two types, hard and soft. Hard constraints           that changes day by day) [5,15,16,17,18].
must be satisfied in order to provide a feasible          Furthermore, [19] confirmed that every model
solution, whereas, soft constraints which express         has limited use and many problems are still not
the preferences and the quality of the timetable          solved efficiently or optimally as most of these
can be violated (but must be satisfied as far as          solution approaches however generated feasible
possible) [4]. The quality of a timetable is              or low quality solutions. Even [20] opined that
measured based on how well the soft constraints           finding a feasible solution to HSTP is often
have been satisfied. The more soft constraints            difficult especially when the resources are tight
are satisfied, the better is the quality of the           and usually results to low computational
solution considered. Further discussion on                efficiency.
school timetabling can be found in [2,5].
                                                          HSTP has been intensively investigated since
Literature on school timetabling is very extensive        the1960s [21,22]. Recent years have seen an
with several solution approaches (models and              increased level of research activity in this area.
algorithms) proposed. In fact, many models                This is evidenced (among other things) by survey
including XHSTT format (which is based on the             studies, for example, [23,24,25], and the
Extensible Markup Language standard) and                  emergence of a series of international
several NP-complete variants of HSTP have                 conferences on the Practice and Theory on
been proposed in the literature, which differ due         Automated Timetabling (PATAT), the Multi-
to the difference in educational system of each           disciplinary International Scheduling Conference:
country, context of the application, the school           Theory and Application (MISTA) and the
and the place where it is located. Representative         establishment of a European Association of
literature include [6,7,8,9,10,11,12,13,14]. In           Operational Research Societies (EURO) working
addition, a variety of heuristic (analytical) and         group on automated timetabling [26]. However,
complete methods have been proposed to solve              the international conference series on PATAT
HSTP including hybrid or enhanced which is                has contributed largely to the area, for example
surveyed by [3].                                          [10,18,27,28,29].

Nevertheless, developing good models and                  Graphs, Networks and Integer Programming (IP)
algorithms for solving HSTP is a challenging task         have proven to be useful in the mathematical
due to its inherent problem characteristics and           formulation and solution of school timetabling

                                                     22
Odeniyi et al.; AJRCOS, 5(3): 21-38, 2020; Article no.AJRCOS.55744

models [15,30]. Integer Programming (IP) has               while Simulated Annealing (SA) and Iterated
been used to model problems with more                      Local Search (ILS) were used to perform local
sophisticated requirements including educational           search around the initial solution. The
timetabling problems since the very early days of          experimental results produced several best
Operations Research, for example, [22,31].                 known solutions for the test set. However, it was
However, IP is mainly used for timetabling due to          suggested that the quality of the solution can be
its modeling strength, and not as an actual                improved by the development of an augmented
solution method since only small instances, or             set of (larger) neighbourhoods and a proper
simplified variants of the problem, were shown to          experimental study to fine tune parameter
be solved in reasonable time. In recent times              selection.
several improvements have been made in IP
solvers [32] and several IP based techniques               Sorensen et al. [36] established a new hybrid
have been introduced for similar HSTPs which               approach called matheuristic, combining integer
were able to provide bounds and good solutions             programming and meta-heuristics to solve the
after longer runs. [7,8] surveyed some of these            high    school   timetabling    problem.    The
recent contributions.                                      experimental results illustrated that the
                                                           developed matheuristic provided promising
Over the last few years, meta-heuristics including         results and the potential of hybridising
its hybrids have proven to be very effective in the        mathematical programming and meta-heuristics.
optimisation literature, and particularly in school        However,     it  was    suggested     that   the
timetabling. Souza et al. [33] applied a hybrid            computational efficiency of the developed
approach of GRASP-Tabu search algorithm to                 matheuristic can be improved by investigating
solve school timetabling problem in order to               more advanced approaches for adjusting the size
improve the timetable’s compactness and                    of the neighbourhoods and selecting variables in
speeds up the process of obtaining better quality          each neighbourhood.
solutions. In this work, while the partially greedy
constructive procedure was used to generate                Raghavjee [37] presented genetic algorithms to
good initial solutions and diversifies the search,         solve STP in order to test the effectiveness of a
the Tabu Search procedure was used to improve              genetic algorithm approach in solving more than
(refine) the constructed solution (search).                one type of STP and as well to evaluate the
Though quality solution was generated, it was              performance of a genetic algorithm that uses an
suggested that quality of the solution can be              indirect representation (IGA) with that of a
improved by considering other requirements and             genetic    algorithm    that   uses    a   direct
adding component which measures the                        representation (DGA) when solving the STP.
difference between the current and the desired             Both the DGA and IGA when tested on five STPs
solution to the objective function.                        were found to produce timetables that were
                                                           competitive and in some cases superior to that of
Soza et al. [34] addressed the solution of                 other methods. However, the IGA outperformed
timetabling problems using cultural algorithms.            the DGA for all of the tested STPs. The solution
The authors proposed the use of domain                     did not address the problem of optimality and
knowledge, both a priori and extracted during the          both software and computational complexities
search to improve the performance of an                    which can be considered for future research. In
evolutionary algorithm when solving timetabling            addition, it was recommended that future
problems. The experimental results provided                research may be geared towards implementing
very encouraging results. However, the optimality          more advanced techniques (more efficient
of the solution was in doubt as soft constraints           algorithms) to solve the STP so as to provide
violations were not addressed. It was suggested            more bases for comparison.
that the performance of the developed algorithm
can be improved by analysing the mechanisms                Kristiansen [38] developed different techniques
of the simulated annealing method for                      to solve Multiple Timetabling Problems (High
incorporation into an evolutionary algorithm or a          School Timetabling, Student Sectioning and
cultural algorithm.                                        Meeting Planning Problem) at the Danish High
                                                           Schools.    Techniques   developed      included
Santos et al. [35] presented a hybrid SA-ILS               Adaptive Large Neighbourhood Search (ALNS),
approach to solve the high school timetabling              Mixed Integer Programming (MIP) Dantzig-Wolfe
problem. The Kingston’s High School Engine                 decomposition in a Branch-and-Bound and
(KHE) was used to generate an initial solution             Column generation with a Branch-and-Price

                                                      23
Odeniyi et al.; AJRCOS, 5(3): 21-38, 2020; Article no.AJRCOS.55744

(B&P). The experimental results proved that all             Raghavjee et al. [40] presented a genetic
the developed techniques and algorithms were                algorithm selection perturbative hyper-heuristic
efficient. However, it was suggested that future            (GASPHH) to solve the STP. A 2-phased
research may be geared towards investigating                approach was taken, with the first phase focusing
more techniques such as hyper-heuristics and                on hard constraints, and the second on soft
matheuristics to measure and improve the quality            constraints. GASPHH used tournament selection
of solution and computational efficiency of the             to choose parents, to which the mutation and
developed exact methods.                                    crossover operators were applied. GASPHH was
                                                            applied to five different school timetabling
Odeniyi et al. [2] developed a modified simulated           problems. The performance of GASPHH was
annealing (MSA) algorithm to solve STP. The                 evaluated and compared to that of other methods
implementation of the MSA was characterized by              applied to these problems, including a GA that
cooling     schedule     modification   with     the        was applied directly to the solution space.
introduction of a non-linear factor to the                  GASPHH produced feasible timetables for all
exponential cooling schedule of classical                   problem instances, provided a generalized
simulated annealing (α = (1/log(1+t)) to become             solution to the STP, and performed better than
                                   2
parabolic (as α = (1/log(1+t+t )), in order to              other methods applied to the same set of
decrease the sensitivity to the initial values              problems. However, GASPHH was computa-
(parameters) that accounted for the excessive               tional intensive in comparison to SGA based
convergence time of classical simulated                     benchmark heuristics. It was suggested that
annealing. MSA when tested on some variants of              future research may be geared towards
the STP that originated from Nigerian secondary             investigating approaches to reduce both the
educational institutions produced conflict-free             simulation time and computational complexity as
school timetables which satisfied all hard                  well to improve the computational efficiency of
constraints and optimally minimised all soft                the developed GASPHH.
constraints violations in less simulation time and
less solution cost. However, the solution did not           Demirovic [6] presented SAT-based approaches
address the problem of software and                         for HSTP. The problem of determining whether a
computational complexities which can be                     propositional logic formula has a solution is
considered for future research. In addition, it was         called the satisfiability problem (abbreviated as
recommended that future research may be                     SAT). The thesis explored the relation between
geared towards improving the quality of the                 propositional logic and HSTP, as well as related
solution of the developed algorithm by                      approaches. The thesis described the general
implementing more advanced techniques such                  HSTP (XHSTT), introduced a formal definition,
as efficient hybridised algorithms.                         as well two different modelling approaches, SAT-
                                                            and bitvector based. The author combined local
Dorneles [39] developed techniques that                     search and large neighbourhood search to solve
combine     mathematical     programming       and          XHSTT instances which were modelled as
heuristics, so-called matheuristics (fix-and-               maxSAT. Each of the described methods is
optimize heuristic combined with a variable                 vastly different from each other and represented
neighbourhood descent strategy and column                   distinct    ways    to    tackle   XHSTT.     The
generation approach), to solve efficiently and in a         computational results showed that the developed
robust way some variants of the High School                 models and solution methods were competitive
Timetabling Problem (HSTP) that originated from             with the state-of-the-art. However, it was
Brazilian institutions. The performance of the              suggested that future research may be geared
developed matheuristics were evaluated and                  towards investigating techniques to find and
compared with the state-of-the-art MIP solvers              prove optimal solutions in reasonable time for
designed for solving the GHSTP, referred as                 XHSTT in many instances.
GOAL and SVNS. The experimental results
provided very encouraging results which                     A review of the above related works with
indicated that the state-of-the-art MIP solvers             literature analysis revealed most of these
were not efficient for solving instances of the             solution approaches however generated feasible
       +
HSTP . It was suggested that future research                or near-optimal solutions with low computational
may be geared towards reducing the simulation               efficiency. Therefore, this research focuses on
time while improving both the quality of the                developing a more efficient solution approach,
solution and computational efficiency of the                utilising the strength and minimising the
developed matheuristics.                                    weaknesses of two well-known meta-heuristics,

                                                       24
Odeniyi et al.; AJRCOS, 5(3): 21-38, 2020; Article no.AJRCOS.55744

Simulated Annealing (SA) and Genetic Algorithm            The aim of this work is to develop an effective
(GA). SA is based on an analogy to                        solution approach (model and algorithm) which
thermodynamics simulating the cooling of a set            provides boundless use and high quality solution
of heated atoms. This technique starts its search         to the school timetabling problem. The overall
from any initial solution which can be generated          idea is to overcome the problem of low solution
randomly or by using solutions generated by               quality (slow convergence speed), which is a
another algorithm [2,41]. The main procedure              common problem when using simulated
consists of a loop that randomly generates, at            annealing (SA). The developed solution
each iteration, one neighbour s′ of the current           approach was implemented using Matrix
solution s. Movements are probabilistically               Laboratory 8.6 software. In order to validate
selected considering a temperature T and the              and demonstrate the performance of the
cost variation of the movement ∆ [42].                    proposed solution approach, it was tested
                                                          with the highly constrained school timetabling
SA is known for its power to avoid local optima           datasets provided by a Nigerian high school,
and its theoretical guaranty to find the global           using computation time, solution cost and
optimum solution when the initial temperature is          constraints violation as evaluation metrics.
high enough and cooling rate is infinitely slow
[43,44,45] but converges at excessive time                Developing models and algorithms that
especially when the search space is large [46].           automatically generate high quality timetables is
Several attempts have been made to speed up               of great importance [6] and is still an active field
this process, such as treatment or modification of        of research as well as important issues in this
the temperature parameter, which is known as              domain. High quality timetables are relevant for
annealing schedule or strategy [2], and hybridiza-        financial and pedagogical reasons. High quality
tion with other techniques [47,48,49,50], among           timetables directly influence the quality of
others.                                                   teaching and learning, working conditions of
                                                          teachers as well as the maintenance of the
GA is a biologically motivated adaptive meta-             satisfaction of students and staff, among other
heuristic that is based on natural selection and          things, which leads to an overall better use of
genetic recombination. It utilizes selection,             resources and learning environment [12,53].
crossover and mutation mechanisms to evolve               Conversely, timetables construction by hand is
the population. The usage of GA in obtaining the          usually very difficult, time consuming, and error
optimal parameters for a kernel function, its             prone. Consequently, assisting the high school
flexibility, coupled with its demonstrated                planners with efficient algorithms and decision
capability of searching or exploring large search         support software that will automatically generate
spaces [51,52], its demonstrated ability to reach         high quality timetables and/or spend less time is
near-optimum solutions to large problems, and             of great importance [6,7]
its power to discover good solutions rapidly for
difficult high-dimensional problems makes the             Furthermore, the high schools administration
technique an ideal candidate for consideration in         requires a model of the HSTP which is
solving the timetabling problem.                          general enough to suit many different
                                                          requirements, and which is also tractable by
In this work, we extend previous studies about            computer aided solution methods. This
the HSTP. We propose a mathematical                       supports the recent trend of developing general
programming model and meta-heuristic method               models for HSTP, for example [6,9,10,12,
to construct school timetables. We utilise mixed          14,16,17,54,55,56,57,58]. In addition, the
integer linear programming formulation to model           mathematical programming model formulated in
the problem to be solved but due to the limitation        this paper is the first for high school system in
of a mathematical programming approach to                 Nigeria, and as well as among the most
solve large problem instances and slow                    comprehensive models of school timetabling to
convergence speed of classical simulated                  be found in the literature. Although the developed
annealing (SA) algorithm, we propose a new                model is tailored to the Nigeria case but can
meta-heuristic    method,    called    Enhanced           easily be adapted to other variants from other
Simulated Annealing (ESA) algorithm which                 countries and other related optimization
incorporates best features of Simulated                   problems. The model is 'complete' in the sense
Annealing (SA) and Genetic Algorithm (GA) to              that it contains all relevant practical constraints
find quality solutions to some variants of the            available in the context of high school timetabling
HSTP.                                                     problem in Nigeria.

                                                     25
Odeniyi et al.; AJRCOS, 5(3): 21-38, 2020; Article no.AJRCOS.55744

2. METHODOLOGY                                             In addition, each event defines how lessons are
                                                           distributed over a week by requesting an amount
In this work, mixed integer linear programming             of double lessons, restricting the daily limit of
technique was used to formulate the                        lessons, and defining whether lessons taught on
mathematical programming model of the school               the same day are consecutive or not.
timetabling problem for the high school system in
Nigeria (HNSTP). An Enhanced Simulated                     A feasible timetable has a timeslot assigned to
Annealing (ESA) algorithm for solving the school           each      lesson     of    events     satisfying
timetabling problem was formulated, which                  the hard constraint requirements HC1-HC13
incorporates specific features of Simulated                below:
Annealing (SA) and Genetic Algorithms (GA).
The formulated mathematical model with ESA                 HC1:    The number of lessons that each teacher
algorithm and SA algorithm were implemented                        must give to each class must be met
using Matrix Laboratory 8.6 software on an                         (Lesson Requirement Constraint).
Intel(R) Core(TM) i3-7100 CPU with 2.50GHz
speed, 32GB Hard Disk, 4GB Random Access                   HC2:    No two classes must be scheduled to the
Memory and 32-bit Operating System, with the                       same teacher at the same period (Class
Window 7 operating system, and validated using                     Clashes Constraint).
a highly constrained Nigerian high school
dataset. The implemented algorithms were                   HC3:    No two teachers must be scheduled to
evaluated using constraints violation, simulation                  the same class at the same period
time and solution cost as performance metrics.                     (Teacher Clashes Constraint).

                                                           HC4:    A lesson cannot be scheduled to periods
2.1 Problem Specification and Model
                                                                   where the teacher is unavailable
    Formulation                                                    (Teachers’ Unavailability Constraint).
The goal of the High School Timetabling Problem            HC5:    A lesson cannot be scheduled to periods
in high school system in Nigeria (NHSTP) is to                     where the class is unavailable (Classes’
build a weekly timetable. The week is organized                    Unavailability constraint).
as a set of days D, and each day is split into a
set of periods P. All Periods are distributed in D         HC6:    Each class, for a given set of periods,
week days and H daily periods which occur                          must be involved in one lesson (One
during the same shift, that is, P = D ∗ H. Let C be                Class One Lesson Constraint).
a set of classes (class-sections), T a set of
teachers and S a set of subjects. A class k ∈ C is         HC7:    Every teacher may be assigned at most
a disjoint group of students that follow the same                  one subject and one class (class-
subjects, and no idle time periods during the                      section) in a given period with the
week, and each subject of a class is taught by                     exception of indicated subjects that
only one teacher who is previously determined. A                   require more than one instructor
timeslot is a pair, composed of a day and a class                  (Uniqueness Constraint).
period (i,j), with i ∈ D and j ∈ P wherein all
periods have the same duration. Teachers l ∈ T             HC8:    All subjects in the curriculum of a class-
may be unavailable in some timeslots.                              section should appear in the timetable
                                                                   for the required number of teaching
The inputs for the NHSTP are a set of events (or                   periods (Completeness for Students
meetings) E that must be scheduled, C*T matrix                     Constraints).
of lesson requirements R = (Rlk) where Rlk is the
number of periods teacher l is required to meet            HC9:    All subjects assigned to a given teacher
class k for the duration of the timetable                          should appear in the timetable for the
(containing a total of P periods in a set P), and                  required number of teaching periods
teachers and classes unavailability’s binary                       (Completeness for Teachers constraint).
matrices Tij and Ckj. Each event requires a class
k(e) ∈ C, a teacher l(e) ∈ T, and a number of              HC10: The teaching periods assigned to a given
weekly hours hours(e) ∈ N. Particularly in the                   subject over a whole week should add
Nigerian context, a teacher, a class, and a room                 up to the weekly requirements for the
are pre-assigned to each event e such that                       specific subject (Completeness for
classrooms are not considered in the scheduling.                 Subjects Constraint).

                                                      26
Odeniyi et al.; AJRCOS, 5(3): 21-38, 2020; Article no.AJRCOS.55744

HC11: Some pairs of lessons must be                              period per day of the week, unless it
      scheduled simultaneously (Simultaneity                     requires more teaching periods than the
      Constraint).                                               days of the week or there is a special
                                                                 request for multiple or consecutive
HC12: Certain subjects to be taught in multi-                    hours, in which cases they are
      period slots at most once a day for a                      scheduled        accordingly      (Uniform
      given class section must be followed                       distribution of subjects Constraint).
      (Consecutiveness constraint).
                                                         SC8.    Pre-assignments of certain subjects to
HC13: The timetable of every class-section                       specific time periods must be respected
      should not carry empty slots during the                    (Pre assignments of certain subjects
      week (Compact Student Schedules                            Constraint).
      Constraint).

Besides feasibility regarding hard constraints,          The notation used in the problem specification
as     many   as     possible  of   the    soft          and the formulated model for NHSTP considering
requirements SC1-SC8 stated below should be              all the hard and soft constraints requirements
satisfied:                                               listed above are presented as follows.

SC1:   More lessons to the same class in the             Sets
       same day than the maximum specified
       for the pair teacher-class must be                i∈D     days of week. D = {1,2,...,|D|}.
       avoided (Classes’ maximum workload
       per day constraint).                              j∈P     periods of a day. P = {1,...,|P |}.

SC2:   The specified maximum number of daily             P1      P without the last two periods of a day.
       lessons of each teacher must be                           P1 = {1,...,|P | −2}.
       respected     (Teachers’      maximum
       workload per day constraint).                     k∈C     set of classes.

SC3:   Assignment of teachers to periods in              l∈T     set of teachers.
       which teachers would prefer not to teach
       must be avoided (Teachers’ Preference             m ∈ S set of subjects.
       or undesired Constraint).
                                                         e∈ E    set of events.
SC4:   Avoid teachers’ idle periods. As much as          B       set of quadrupes of the form (l1; k1; l2; k2)
       possible, minimise the number of empty                    with l1 ≠ l2 and k1 ≠ k2 such that all
       or   holes    periods     between    two                  lessons of teacher l1 to class k1 must be
       consecutive periods where a teacher is                    simultaneous to lessons of teacher l2 to
       assigned to a class. Breaks and free-                     class k2
       time periods are not considered as idle
       periods or holes (Teachers’ Idle Period           Skl =    {mS: m is a subject that teacher l
       Constraint).                                      teaches for class-section k}
SC5:   Teachers’ request for double lessons
                                                         S*kl = {mS: m is any regular subject that teacher
       (lessons conducted in two consecutive
                                                         l teaches for class-section k}, where the term
       periods) should be granted as often as
                                                         “regular” refers to all subjects that do not require
       possible (Double lesson per week
                                                         any special type of scheduling.
       constraint).

SC6:   Teachers’ request for parallelism of              SlSim = {(m, k, l*): mS is a subject that teacher
       subjects (subjects scheduled for the              lT teaches for a part of section k
       same time periods) should be granted as           simultaneously with another subject taught by
       often as possible (Parallelism of subjects        the “basic” teacher l*}
       Constraint).
                                                         SlCol = {(m, k, l*): mS is a subject that teacher
SC7:   Lessons for any given subject must be             lT teaches for section k in collaboration with
       scheduled for at most one teaching                the “basic” teacher l*}

                                                    27
Odeniyi et al.; AJRCOS, 5(3): 21-38, 2020; Article no.AJRCOS.55744

Scons = {(m, k, hm): mS is a subject of section             l,i
k that needs to be scheduled in block(s) of hm                : The number of idle times at the agenda of
consecutive periods}                                         teacher l on day i

Sparal = {[(ma, mb); (ka, kb); (la, lb)]: maS is a          TTP: Total Time Periods. TTP indicates the total
subject that teacher la teaches for section ka that          number of time periods to be scheduled in the
needs to be scheduled always in parallel to mb a             timetable.
subject taught by teacher lb for section kb}
                                                             WTLl: Weekly Teaching Load for teacher l. WTLl
Sexcl = {[(ma, ka, la; mb, kb, lb; ...;mw, kw, lw)
                                                             indicates the total number of time periods to be
(la)]:ma, mb, ..., mwS are subjects that teachers           assigned to teacher l each week.
la,lb,..., lw T teach to sections ka, kb, ..., kw,
respectively, however no more than a certain                 DTLl: Average Daily Teaching Load for teacher l.
number of them may be scheduled in the same                  DTLl indicates the daily average number of time
day or time period}                                          periods assigned to teacher l.
  fix
S = {(ia, ja, ma, ka, la): maS is a subject that            WTLkl: Weekly Teaching Load of teacher l for
teacher la teaches to section ka and should be               class-section k. WTLkl indicates the total number
scheduled on day ia and in period ja}                        of time periods to be assigned to teacher l for
                                                             class-section k each week.
Dl = { iD : i is any day of the week for which
teacher l is available for the school}                       WTLklm: Weekly Teaching Load of teacher l for
                                                             class-section k and subject m. WTLklm indicates
Cl = { kC : k is a class-section of the school to           the total number of time periods to be assigned
which teacher l teaches at least one subject}                to teacher l for subject m each week.

Parameters                                                   TTPk: Total Time Periods for section k. TTPk
                                                             indicates the total number of time periods over all
Rlk: The workload of an event (l,k), that is, the            subjects of class-section k to be assigned each
number of lessons that must be taught by the                 week.
teacher l for the class k.
                                                             Hkmax: Is a parameter that indicates the maximum
λ: The maximum number of permitted lessons                   number of teaching periods that section k may
per day                                                      have during any day of the week. Hkmax may be
                                                             set equal to J, the length of each day, however,
m :  Is the number of the multi-period slots
                                                             in order to create more balanced timetables for
                                                             the classes, it is preferable to set a different
(double lessons) required for subject m every                upper limit for each section of the school.
week.                                                        Therefore, Hkmax equals to [TTPk/D]. In general,
                                                             however, it holds that Hkmax  P, kC.
 l ,i
    : The maximum number of double lessons                   Variables
requested by teacher l with class k.
                                                             x i, j, k, l, m: Binary variable that indicates whether
l,i                                                         subject m, taught by teacher l to the class section
                                                                                          th
    : The effective number of allocated double               k, is scheduled for the j period of day i.
lessons.

k,l,i                                                        xi, j ,k ,l ,m :   Complement of the binary variable x i,
     : The total number of lessons allocated for
class k with teacher l on day i.                                                                               xi , j ,k ,l ,m =
                                                             j, k, l, m,
                                                                    that is, x        i, j, k, l, m   = 0 if                       1 and
                                                             vice versa.
k ,l
      : The maximum number of permitted
lessons per day.
                                                              yi,tm ,k,hm ,m
                                                                         :    Binary variable that indicates
                                                             whether subject m, is scheduled for hm
 l , j ,i                                                   consecutive periods on day i for class-section k,
     : The total number of lessons allocated for                                st
teacher l on period j of day i.                              with tm being the 1 period for this assignment.

                                                        28
Odeniyi et al.; AJRCOS, 5(3): 21-38, 2020; Article no.AJRCOS.55744

Tij:  binary variable that indicates whether                                                                X = An arbitrary matrix (x             i, j, k, l, m)   is called a
teacher l is available to teach class k subject m                                                           timetable. X ∈ {0, 1}
scheduled for jth period of day i.
                                                                                                            The objective function is to minimise the
Ckj :   binary variable that indicates whether                                                              constraints (soft) violation that is formulated as
class k is available to be taught by teacher l                                                              solution cost function Cf(s), which associates a
                         th
subject m scheduled for j period of day i.                                                                  cost value to a given solution. Such value was
                                                                                                            used to compare the goodness of different
Zkj :   binary matrix that indicates whether                                                                solutions. This function was defined as follows:
class k must be taught a subject m by teacher l                                                             Let S be the search space; sS, a solution; n,
    th
at j period of day i,                                                                                       the number of type of problem constraints
                                                                                                            considered, wi, the penalty weighting associated
                                                                                                            with each constraint type i and vi(s), represents
ll ,i , j                                                                                                   the number of constraint violations of type i in a
     : binary variable that indicates whether
teacher l has been scheduled to teach at an                                                                 solution s, vi(s) = 0 if constraint type i is satisfied
undesired period j on day i.                                                                                and vi(s) = 1 if constraint type i is violated.

Therefore, the solution cost function Cf(s) is given as:
                                  n
            . Cf(s) =           w v (s)
                                 i 1
                                             i i                                                                                                                          (1a)

                                        n
            Minimise               w v (s)
                                      i 1
                                               i i                                                                                                                        (1b)

Subject to
                       P
            ∑ xi,j,k,l,m = Rlk                        i  D ,  j  P  l T ,  k  C                                                                                    (2)
                       j=1

                              C
                              ∑ xi,j,k,l,m ≤ 1                       i D ,  j P  l  T ,  m  S                                                                      (3)
                              k=1

                              T
                              ∑ xi,j,k,l,m ≤ 1                       i D ,  j P  k  C ,  m  S                                                                      (4)
                              l=1

                              C
                              ∑ xi,j,k,l,m ≤ Tij               i D ,  j P  l  T ,  m  S                                                                             (5)
                              k=1

                              T
                              ∑ xi,j,k,l,m ≤ Ckj  i  D ,  j  P  k  C ,  m  S                                                                                        (6)
                              l=1

                              T
                              ∑ xi,j,k,l,m ≥ Zkj                 i D ,  j P  k  C ,  m  S                                                                          (7)
                              l=1

                        x i , j , k ,l , m                       sim                x i , j , k , l * , m  1,  l  T ,  j  P ,  i  D l
            k  C l m  S kl*                         m , k , l  S
                                                               *
                                                                        l    S lcol
                                                                                                                                                                           (8)

                 x i , j , k ,l , m                                                            x i , j , k ,l * , m  TTP k ,  k  C
            l  T k m  S kl i  D l j  P                                     
                                                             l  T k m , k , l *  S lsim  S lcol i  D l j  P
                                                                                                                                                                           (9)

                                                                                                     29
Odeniyi et al.; AJRCOS, 5(3): 21-38, 2020; Article no.AJRCOS.55744

    x i , j , k ,l , m                                                sim                       x i , j , k ,l * , m  WLT      kl   ,  k  C ,  l T
i  D j  P m  S kl*                             m , k ,l  S *
                                                                             l        S lcol i  D l j  P
                                                                                                                                                                  (10)

   xi , j , k , l , m  WTL klm , kC , lTk , mS kl
iD l jP
                                                                                                                                                                  (11)

xl1k 1 j xl 2 k 2 j              x l1k 1 j x l 2 k 2 j = 1  ([l ; k ; l ; k ]  B; jP)
                            +                                   1   1 2     2                                                                                     (12)

                                tm hm 1
     *
hm yi ,tm ,k ,hm ,m   xi , j ,k ,l ,m  yi ,tm ,k ,hm ,m  hm  1, m, k , hm Scon,iDl , t m  P  hm  1
                                  j tm
                                                                                                                                                                 (13a)

p  h m 1
              y i ,t m , k , hm , m  1,  m , k , h m  S con , i  D l
  t m 1
                                                                                                                                                                 (13b)

         p  hm 1
                       y i , t m , k , h m , m   m ,  m , k , hm  S con
i D l     t m 1
                                                                                                                                                                 (13c)

   xi , j , k , l , m 
l  T k m  S kl*                                  *
                                                       sim
                                          m , k , l  S             S lcol
                                                                                                                                                
                                                                                      xi , j , k , l * , m  1 k  C , i  D , j  1,...., H kmax  1      
                                                             l                                                                                                   (14a)

   x i , H kmax , k , l , m                                               sim                   x i , H kmax , k , l * , m  1,  i  D ,  k  C
l  T k m  S kl*                                      m , k , l  S   *
                                                                                 l       S lcol
                                                                                                                                                                 (14b)

    x i , j , k ,l , m                                       sim                      x i , j , k ,l * , m  H kmax ,  i  D ,  k  C
l  Tk m  S kl* j  P                         m ,k ,l  S
                                                         *
                                                                     l        S lcol j  P
                                                                                                                                                                 (14c)

    xi , j ,k ,l ,m                            k ,l ,ikC , lT , iD
kCl lTl iD
                                          ≤                                                                                                                       (15)

    xi , j , k , l , m                          l , j ,i lT , jP, iD
lTl iDl jP
                                           ≤                                                                                                                      (16)

    xi , j , k , l , m                         ll ,i , j lT , iDk , jP
lTl iDl jP
                                           ≤                                                                                                                      (17)

    l ,i
l T i D                  ≤ 1  l T ,  i  D                                                                                                                   (18)

l ,i             l ,i , lT , iD , l ,i  l ,i 
         ≤     l T i D                                                                                                                                          (19)

xi , j ,k1 ,l1,m1  x, j ,k2 ,l2 ,m2  0, m1 , m2 ; k1, k2 ; l1, l2 S paral , iD, iP
                                                                                                                                                                   (20)

  xi , j ,k ,l ,m  1, iD , kC , lTk , mS kl
j P
                                                                                                                                                                  (21)

xi , j ,k ,l ,m  1, i, j, k, l, mS fix
                                                                                                                                                                  (22)

xi,j,k,l,m = 0 or 1                  i  D ,  j P ,  k C  l  T ,  m  S                                                                                   (23)

                                                                                                              30
Odeniyi et al.; AJRCOS, 5(3): 21-38, 2020; Article no.AJRCOS.55744

Constraint set (2) ensures that the number of              lessons of each teacher is respected. Constraint
lessons that each teacher must give to each                set (17) ensures the assignment of teachers to
class is fully scheduled. Constraint set (3)               periods in which teachers would prefer not to
ensures that no two classes are scheduled to the           teach is avoided. Constraint set (18) determines
same teacher at the same period. Constraint set            the number of teachers’ idle periods in a solution.
(4) ensures that no two teachers are scheduled             Constraint set (19) ensures that teachers’
to the same class at the same period. Constraint           request for double lessons is granted. Constraint
set (5) ensures that a lesson cannot be                    set (20) ensures that teachers’ request for
scheduled to periods where the teacher is                  parallelism of subjects is granted. Constraint set
unavailable. Constraint set (6) ensures that a             (21) ensures that uniform distribution of subjects
lesson cannot be scheduled to periods where the            is met. Constraint set (22) ensures pre-
class is unavailable. Constraint set (7) ensures           assignments of certain subjects to specific time
that each class, for a given set of periods, are           periods are respected while Constraint set (23) is
scheduled to only one lesson at a time.                    required to ensure the integrality of the solution.
Constraint set (8) ensures that every teacher is
assigned at most one subject and one class                 In this work each hard constraint was assigned a
(class-section) in a given period with the                 weight of 20 to stipulate their higher priority than
exception of indicated subjects that require more          the soft constraints and to allow the proposed
than one instructor. Constraint set (9) ensures            solution leads the search process towards valid
that all subjects in the curriculum of a class-            solutions in accordance to the literature [59]. The
section appeared in the timetable for the required         weight assigned to each of the soft constraints
number of teaching periods. Constraint set (10)            (preferences) varies to indicate the relative
ensures that all subjects assigned to a given              importance of each preferences compared to
teacher appeared in the timetable for the                  others such that a weight of 6 was assigned to
required number of teaching periods.                       SC1, SC2, SC5 and SC6; a weight of 4 was
                                                           assigned to SC7 and SC8; a weight of 3 was
Constraint set (11) ensures that the teaching              assigned to SC3 and finally a weight of 1 was
periods assigned to a given subject over a whole           assigned to SC4.
week added up to the weekly requirements for
the specific subject. Constraint set (12) ensures          These weight set was informed by the literature
that some pairs of lessons are scheduled                   which stated that weighted penalty based
simultaneously. Constraint set (13) ensures that           evaluation function should be used for
certain subjects to be taught in multi-period slots        timetabling problems where an abundance of
at most once a day for a given class section are           different constraint combinations is encountered
followed. Constraint (13a) forces hm basic                 [60,61,62] and thus allows for some constraints
variables xi,j,k,l,m that refer to consecutive time        to have a higher priority than others. It must be
periods to take the value of 1, while constraint           noted that (i) the lower the value of Cf(s) for a
(13b) ensures that only one block of consecutive           given solution s, the more the quality of s, (ii)
periods may be assigned in any given day and               both the distance to feasibility and the goodness
constraint (13c) indicates that there should be            of the solution was measured.
        
exactly m of these blocks for the whole week.              2.2 Formulation of Enhanced Simulated
Constraint set (14) ensures that the timetable of              Annealing (ESA) Algorithm
every class-section did not carry empty slots
during the week. Basically Constraint set (14a)            The simulated annealing (SA) algorithm was
and (14b) ensure that for each class-section               enhanced to form Enhanced Simulated
there is exactly one subject scheduled for any             Annealing (ESA) Algorithm through the following
given period (except may be the last one) of any           three stages:
day, while Constraint (14c) on the other hand,
checks whether all subjects of class-section k are           (1) Modification of Simulated Annealing (SA)
scheduled within the maximum stretch allowed                     in terms of the temperature reduction
for the class-section.                                           parameter in order to improve its
                                                                 efficiency in terms of convergence speed
Constraint set (15) ensures that the limit set on                and solution cost, by introducing a
the maximum number of lessons a class may                        parabolic reduction parameter  (α =
have per day is met. Constraint set (16) ensures                             2
                                                                 (1/log(1+t+t )) as suggested by [2]. This is
that the specified maximum number of daily                       due to the fact that the efficiency of SA

                                                      31
Odeniyi et al.; AJRCOS, 5(3): 21-38, 2020; Article no.AJRCOS.55744

      often depends on cooling schedule and by              Step 4.3: Compute the fitness E(Cj) of new
      carefully controlling the rate of cooling the         individual Cj, j = 1, …, n.
      temperature; SA can find the global
      optimum exponential faster [63,64].                   Step 4.4: For j = 1, …, n, compute ∆E = E(Cj)-
  (2) Integration with Genetic Algorithm (GA) in            E(Pj), where E(Pj) is the fitness of parent
      order to: (i) further improve the                     individual Pj. If ∆E ≥ 0, then produce a number r
      performance of SA in terms of speed and               with uniform distribution in interval [0,1]. If exp
      quality of solution as suggested by [65]; (ii)        (-∆E/T) > r, then replace individual Pj by child
      find a good balance between the                       individual Cj. If ∆E < 0, then discard the child
      exploitation of found-so-far elements and             individual Cj.
      the exploration of the search space in
      order to find global optimal solution as              Step 4.5: If the termination condition is satisfied,
      suggested by [66] and (iii) improve its local         then the whole procedure is stopped, else the
      search ability as suggested by [67]. By this          value of temperature T is decreased.
      enhancement (integration), the genetic
      operators of GA were applied to observe               The algorithmic structure of SA algorithm that
      the behaviour of Simulated Annealing                  was coded using the MATLAB Laboratory 8.6
      which resulted into less parameter to                 software is as presented as follows:
      control. In tune with the principle of the
      integration, new individuals were produced            Step 1: Generate an initial schedule S.
      with Genetic Algorithm (GA) after which
      these individuals were processed with SA              Step 2: Set the initial best schedule S* = S.
      while the corresponding results were
      further used as the new individuals of the            Step 3: Compute cost of S: C(S).
      next generation.
  (3) Reordering the sequence of evolutionary               Step 4: Compute initial temperature T0.
      operations to become (mutation, selection
      and crossover) instead of (selection,                 Step 5: Set the Initial Temperature T = T0, set
      crossover and mutation) in order to further                   Parabolic Temperature reduction factor
      reduce the convergence time and as well                       as α = (1/log(1+t)), and Final
      as to generally improve its computational                     Temperature as Tt+1 = αTt
      efficiency as reported by [68,69].
                                                            Step 6: While stop criterion is not satisfied do.
The above sequence of processes resulted into
Enhanced Simulated Annealing (ESA) algorithm.               (a) Repeat Markov Chain Length (M) times:
The algorithmic structure of ESA algorithm that                  i. Select a random neighbor S to the
                                                                                                         1

was coded using the MATLAB Laboratory 8.6                                                       1
                                                                      current schedule, (S  NS).
software is as presented as follows:                             ii. Set ∆ (C) = C(S1) – C(S).
Step 1: Initialize the temperature parameter T,                  iii. If (∆ (C) ≤ 0 {downhill move}).
that is, set T = T0, in which T0 is a large positive                     • Set S = S1
number, set the exponential temperature                                  • If C(S) < C(S*) then set S* = S
                                       2
reduction factor as α = (1/log(1+t+t )), and final               iv. If (∆ (C) > 0 {uphill move}).
temperature as Tt+1 = αTt                                                • Choose a random number r uniformly
                                                                            from [0, 1]
Step 2: Produce the initial population made up of                        • If r < e- ∆(C)/T then set S = S1
n individuals.                                              (b) Reduce (or update) temperature T.
Step 3: Compute the fitness of each individual in           Step 7: Return the Schedule S*
the initial population.
Step 4: Repeat:                                             3. RESULTS AND DISCUSSION

Step 4.1: Carry out evolutionary operations, that           The Simulated Annealing (SA) algorithm and the
is, mutation, selection and crossover, for                  developed Enhanced Simulated Annealing (ESA)
individuals in the current solution population.             algorithm were tested with the highly constrained
                                                            school timetabling dataset provided by a Nigerian
Step 4.2: Let Cj be the child individual produced           high school. The algorithms were tested under
by a parent individual Pj, j = 1, …, n.                     several optimization runs. The results of

                                                       32
Odeniyi et al.; AJRCOS, 5(3): 21-38, 2020; Article no.AJRCOS.55744

performance evaluation of both algorithms (SA              (i) Constraints violation: Constraints violation is
and ESA) are as shown in Table 1.                          the metric that measures the feasibility and
                                                           optimality of the solution produced by an
As depicted in Table 1, both the average                   algorithm. An algorithm that satisfies the
simulation time and solution cost to generate a            problem’s all hard constraints is said to
high quality timetable in SA algorithm is higher           produce a feasible solution. The optimality
than that to generate an optimal timetable in the          (goodness/quality) of an algorithm’s solution is
developed ESA algorithm. The higher simulation             indicated by how much soft constraints an
time and solution cost of SA algorithm can be              algorithm satisfied. As depicted in Table 1, SA
attributed to the slow convergence speed and               algorithm produced high quality timetable as a
exponential cooling schedule inherent in SA                result of violation of one of the soft constraints
algorithm. The modified annealing schedule                 while the developed ESA algorithm produced
(slow cooling schedule - parabolic), improved              optimal solution as it satisfied all the specified
local search ability and the reordered                     constraints (hard and soft).
evolutionary operation sequence in the
developed ESA algorithm helped to improve the              (ii) Simulation Time: Simulation time is the
convergence speed which in turns reduced the               parameter which measures the time utilized by is
average simulation time and solution cost to               an algorithm to run until the result is produced. It
generate an optimal timetable in the developed             otherwise known as computation, execution or
ESA algorithm.                                             run time. As advocated by [73], simulation time
                                                           should be considered first when dealing with the
This result confirmed the previous literatures that        performance      evaluation      of     optimization
indicated that: high quality solutions can only be         algorithms for combinatorial problems. It should
obtained if SA’s parameters (cooling schedule,             be a key element of any such evaluation [74].
update moves, initial solution, among others) are          Indicated that one of the most important factors
well tuned and that (i) the efficiency of SA               considered before choosing the winner during
algorithm depend on cooling schedule and by                the second international timetabling competition
carefully controlling the rate of cooling the              (ITC-2007) was the simulation time.
temperature SA can find the global optimum
exponential faster [63,64]; (ii) the performance of        Table 1 showed the obtained values of the
SA in terms of speed, quality of solution (global          simulation time of both SA algorithm and the
optimal solution) and local search ability can be          developed ESA algorithm for JSS and SSS
improved by integrating it with GA [65,66,67];             respectively. The simulation time of the SA
and (iii) the convergence time and computational           algorithm and the developed ESA algorithm are
efficiency of GA-based algorithm can be                    40.90 and 37.91 seconds respectively for JSS
improved by reordering the sequence of                     and 45.82 and 42.16 seconds respectively for
evolutionary operations to become (mutation,               SSS. This is clear evidence that the developed
selection and crossover) instead of (selection,            ESA algorithm utilized less time and converges
crossover and mutation) [68,69].                           faster than the SA algorithm to produce an
                                                           optimal timetable as a result of its enhanced
The following section gives the detailed result of         features (slow cooling schedule - parabolic,
the performance evaluation of the two solution             improved local search ability and the reordered
approaches (SA and the developed ESA):                     evolutionary operation sequence).
       Table 1. Constraints violation, simulation time and solution cost evaluation result

 Parameters                                           SA                             ESA
 Junior Secondary School
 Number of Hard Constraint Violated                   0                              0
 Number of Soft Constraint Violated                   1                              0
 Average Simulation time (Seconds)                    40.90                          37.91
 Average Solution Cost                                20.88                          17.03
 Senior Secondary School
 Number of Hard Constraint Violated                   0                              0
 Number of Soft Constraint Violated                   1                              0
 Average Simulation time (Seconds)                    45.82                          42.16
 Average Solution Cost                                23.43                          18.99

                                                      33
Odeniyi et al.; AJRCOS, 5(3): 21-38, 2020; Article no.AJRCOS.55744

It was observed that the developed ESA yielded              4. CONCLUSION
high convergence speed which resulted into the
lower average simulation time in producing                  The high school timetabling is a classical
optimal solution, but utilised more time to                 combinatorial optimization problem that takes a
compute the timetables for SSS classes than                 large number of variables and constraints into
JSS classes because of the different subject                account. Due to its combinatorial nature, solving
groups that exist in SSS, such as Science group,            medium and large instances to optimality is a
Commercial group and Art group.. This result                challenging task. Specifically, school timetabling
confirmed the literatures that by carefully                 problem is perhaps the most difficult problem
controlling the rate of cooling the temperature,            which high schools face in Nigeria. In this paper,
SA can find the global optimum exponential                  we presented a novel solution approach for
faster since slow cooling schedules are                     solving a highly constrained school timetabling
generally more effective [63] and that the                  problem which characterizes the problem-setting
performance of SA in terms of speed and quality             in the timetabling problem of the high school
of solution can be improved by integrating it with          system in Nigeria which has not been completely
GA [65,67].                                                 addressed in the literature. We presented a new
                                                            mathematical programming model of timetabling
(iii) Solution cost: The quality of a timetable is          for high schools in Nigeria using mixed integer
defined by a solution cost, otherwise known as              linear programming formulation for which the
fitness value or solution quality function. The             current timetable is considerably improved. In
fitness function calculates the number of                   addition, we presented a meta-heuristic method,
constraint breaches (usually with a weighted                an Enhanced Simulated Annealing (ESA)
value) for different constraints. This value is used        algorithm that incorporates specific features of
as measurement for quality of the timetable                 Simulated Annealing and Genetic Algorithms for
generated by the algorithms. It is used to                  solving the problem. Results show that our
compare the goodness of different solutions as              approach provides high quality solutions (optimal
better timetables are produced the better fitness           timetables) in smaller computational time and
values emerges. It is implicitly defined through            solution cost when compared with results
the school timetabling problem specification and            obtained with SA approach.
constraints as given in Equation 1a. The lower
the value of solution cost for a given solution the         The results of this work confirmed previous
more the quality of the solution [70].                      research reports that high quality solutions can
                                                            be obtained if SA’s parameters are well tuned as
Table 1 showed the measured values of the                   the analysis of the results showed that though
solution cost of the two algorithms (SA and the             both the SA algorithm and developed ESA
developed ESA) for Junior Secondary School                  algorithm yielded better quality solutions when
(JSS) and Senior Secondary School (SSS)                     compares to manual allocation procedures but
respectively. The average solution cost values of           the developed ESA algorithm yielded higher
SA algorithm and the developed ESA algorithm                quality solutions. The observed high quality
were 20.88 and 17.03 respectively for JSS, and              solutions provided by the developed ESA
23.43 and 18.99 respectively for SSS. This is               algorithm resulted from its tuned parameters -
clear evidence that the developed ESA returned              modified annealing schedule (slow cooling
the best optimal solution (with lower solution cost         schedule - parabolic), improved local search
value), but with higher value for SSS because of            ability and the reordered evolutionary operation
the somewhat more complicated structure of                  sequence. Furthermore, the result shows that the
student groups and the demand for compact                   developed solution method (ESA algorithm) is
scheduling in SSS than JSS. This is attributed to           very promising to solve the school timetabling
the slow temperature reduction component                    problem, motivating its use to variants of this
(parabolic cooling rate of the developed ESA                problem, as well as to other general
algorithm) since the solution cost is generally             combinatorial optimization problems.
improved with slow cooling rate. This result
confirmed the literatures that the choice of the            A possible future research area is to develop
cooling schedule influences the quality of                  other solution methods that might solve the
solution obtained with SA [71,72] and that that             problem more efficiently. For example, the
slow cooling schedules are generally more                   efficiency of the developed solution method can
effective, and also that the solution cost generally        be improved by incorporating it within an
improves with slower cooling rates [63].                    evolutionary algorithm or a cultural algorithm..

                                                       34
Odeniyi et al.; AJRCOS, 5(3): 21-38, 2020; Article no.AJRCOS.55744

Another future research area is to incorporate                   Logic and Search (a SAT/ICLP workshop
additional requirements that might be required by                at FLoC 2014); 2014a.
other high schools and then solve the resulting            10.   Demirovic E, Musliu N. Solving high school
problem using the developed solution method. It                  timetabling with satisfiability modulo
is also possible to consider extending the                       theories. In: Ozcan E, Burke EK,
developed solution method to solve other types                   McCollum B, editors. Proceedings of the
                                                                    th
of timetabling problems.                                         10     International Conference of the
                                                                 Practice and Theory of Automated
COMPETING INTERESTS                                              Timetabling. 2014b;142-166.
                                                           11.   Kristiansen S, Sørensen M, Stidsen TR.
Authors have       declared   that   no   competing              Integer programming for the generalized
interests exist.                                                 high school timetabling problem. Journal of
                                                                 Scheduling. 2015;18(4):377–392
REFERENCES                                                 12.   Demirovic E, Musliu N. Modeling high
                                                                 school timetabling with bitvectors. Ann
1.    Melício F, Caldeira P, Rosa A. THOR: A                     Oper Res; 2016.
      tool for school timetabling. In: Burke EK,                 DOI: 10.1007/S10479-016-2220-6
      Rudova H, editors, PATAT. 2006;6:532–                13.   Al-Yakoob SM, Sherali HD. A mixed-
      535.                                                       integer programming approach to a class
2.    Odeniyi OA, Omidiora EO, Olabiyisi SO,                     timetabling problem: A case study with
      Aluko JO. Development of a modified                        gender policies and traffic considerations.
      simulated annealing to school timetabling                  European       Journal      of    Operational
      problem. International Journal of Applied                  Research. 2007;180(3):1028-1044.
      Information Systems. 2015;8(2):16-24.                14.   Al-Yakooba        SM,       Sheralib      HD.
3.    Odeniyi OA, Oyeleye CA, Olabiyisi SO,                      Mathematical models and algorithms for a
      Omidiora EO, Makinde BO, Aluko JO, et                      high school timetabling problem. Comput.
      al. School timetabling: Solution method-                   Op. Res. 2015;61:56–68.
      logies and applications. International               15.   Schaerf A. A survey of automated
      European Extended Enablement in                            timetabling. Artificial Intelligence Review.
      Science, Engineering & Management.                         1999;13(2):87–127.
      2020;8(3):35-62.                                     16.   Post G, Kingston J, Ahmadi S, Daskalaki
4.    Tassopoulos IX, Beligiannis GN. Solving                    S, Gogos C, Kyngas J, et al. XHSTT: an
      effectively the school timetabling problem                 XML archive for high school timetabling
      using particle swarm optimization. Expert                  problems in different countries. Ann Oper
      Systems with Applications. 2012;39(5):                     Res. 2011;1–7.
      6029-6040.                                           17.   Post G, Ahmadi S, Daskalaki S, Kingston
5.    Pillay N. A survey of school timetabling                   J, Kyngas J, Nurmi C, Ranson D. An xml
      research. Annals of Operations Research.                   format for benchmarks in high school
      2014;218(1):261-293.                                       timetabling.     Annals      of    Operations
6.    Demirovic E. SAT-based approaches for                      Research. 2012a;194:385-397.
      the general high school timetabling                  18.   Post G, Gaspero LD, Kingston JH,
      problem. Unpublished PhD dissertation,                     McCollum B, Schaerf A. The third
      Vienna PhD School of Informatics, TU                       international    timetabling      competition.
      Wien; 2017.                                                Proceedings of the Ninth International
7.    Sørensen M, Stidsen TR. Comparing                          Conference on the Practice and Theory of
      solution approaches for a complete model                   Automated Timetabling (PATAT 2012),
      of high school timetabling. Technical                      Son, Norway; 2012b.
      report, DTU Management Engineering;                  19.   Birbas T, Daskalaki S, Housos E. School
      2013a.                                                     timetabling for quality student and teacher
8.    Sorensen M, Dahms FHW. A two-stage                         schedules. Journal of Scheduling. 2009;
      decomposition of high school timetabling                   12(2):177-197.
      applied to cases in Denmark. Computers               20.   Dorneles AP, de Araújo OCB, Buriol LS.
      & Operations Research. 2014;43:36-                         The impact of compactness requirements
      49.                                                        on the resolution of high school timetabling
9.    Demirovic E, Musliu N. Modeling high                       problem. Pre-anais: XVI CLAIO - XLIV
      school timetabling as partial weighted                     SBPO - LIASGT, Rio de Janeiro. 2012;
      maxsat. LaSh 2014: The 4th Workshop on                     3336–3347.

                                                      35
You can also read