• No results found

University Course Scheduling Optimization under Uncertainty based on a Probability Model

N/A
N/A
Protected

Academic year: 2021

Share "University Course Scheduling Optimization under Uncertainty based on a Probability Model"

Copied!
35
0
0

Loading.... (view fulltext now)

Full text

(1)

Teknik och samhälle

Datavetenskap och medieteknik

Examensarbete 15 högskolepoäng, grundnivå

University Course Scheduling Optimization under

Uncertainty based on a Probability Model

Lucas Knutsäter

David Sandh

Examen: Kandidatexamen 180 hp Huvudområde: Datavetenskap Program: Systemutvecklare Datum för slutseminarium: 31/05/2019

Handledare: Yuji Dong

(2)

Abstract

In this thesis, we present a way to model uncertainty when optimizing the University Timetabling Problem. It is an NP-hard, combinatorial and highly constrained problem. In this thesis, we first propose a standardized model based on the data from Malmö University. Then, we propose our extended model, which, during the creation of the solu-tion, accounts for the probability of unexpected events to occur and changes the solution accordingly. To implement our model, we use a Particle Swarm Optimization (PSO) al-gorithm. In our experiments, we find problems with the algorithm converging too early. We analyze the performance of our extended model compared to the standardized model, using a benchmark devised by us, and find that it performs well, reducing the number of constraint violations by 32%. We then suggest further areas of research in regards to this uncertainty model.

(3)

Vocabulary

Particle Swarm Optimization - an evolutionary algorithm that places particles in a

search space of a set number of dimensions.

Group best - The best fitness score of the entire group of particles of the PSO. Individual best - The best individual fitness score for each particle of the PSO.

Fitness - A way of measuring the feasibility of the solution at a particles position in the

search space.

University Timetabling Problem (UTP) the problem of assigning a number of

events into a limited number of time periods in a university setting.

Pareto-Multi-Objective Optimization - An optimization problem where one

objective variable cannot be optimized without diminishing another.

Abbreviations

PSO - Particle Swarm Optimization UTP - University Timetabling Problem

PATAT - The international series of conferences on the practice and theory of

automated timetabling.

MAU - Malmö University

EPI - Economic Policy Institute (Washington, USA) HC - Hard Constraint

SC - Soft Constraint

(4)

Contents

1 Introduction 1

1.1 Motivation and Background . . . 1

1.2 Research Question . . . 2 1.3 Contribution . . . 2 1.4 Organization . . . 3 2 Methodology 3 2.1 Method Description . . . 4 2.2 Method Discussion . . . 4 3 Literature Review 4 3.1 Optimization . . . 4 3.2 Timetabling . . . 5

3.3 Particle Swarm Optimization . . . 6

4 Model 6 4.1 Standard Model . . . 6

4.1.1 Hard Constraints . . . 6

4.1.2 Soft Constraints . . . 7

4.1.3 Problem Formulation . . . 7

4.2 Extended Model under Uncertainty . . . 9

4.2.1 Uncertainty Definition with Probability Model . . . 9

4.2.2 Extended Problem Formulation . . . 9

5 Experiment 10 5.1 Particle Swarm Optimization . . . 10

5.2 Implementation . . . 11

5.3 Technical details . . . 13

5.3.1 Optimizing with PSO . . . 13

5.3.2 Implementation of probability model . . . 13

5.4 Experiments and Results . . . 15

5.4.1 Initial experiments . . . 15

5.4.2 Improving the algorithm . . . 17

5.5 Extended Model Evaluation . . . 21

5.5.1 Data Set . . . 21

5.5.2 Probability Estimation . . . 21

5.5.3 Scheduling with Uncertainty Model . . . 22

5.5.4 Benchmark . . . 22

6 Analysis and Discussion 24 6.1 Analyzing the PSO-algorithm . . . 24

6.2 Analyzing the standard model . . . 25

6.3 Analyzing the extended model . . . 25

(5)

7 Conclusion 26

7.1 Future work . . . 27

(6)

1

Introduction

1.1 Motivation and Background

Optimizing workflows and trade-routes have long been an important factor in saving money and resources. Even more so now, when the population is more extensive, and production rates higher than ever before. As the level of air and water pollution on our planet steadily increases [29] the optimization of trade-routes and resource-management grows all the more critical. Furthermore, a study by the Economic Policy Institute in Washington, USA showed that irregular work-schedules have more than double the reported work-family conflicts as compared to regular work-schedules [14]. It is plausible that these irregular schedules also affect academic performance in students, as well as teachers, providing even more incentive to improve scheduling.

At Malmö University, and likely many other institutions, the timetabling and schedul-ing administration requires a large number of resources and manpower, as it is done manually by the scheduling administration, and since there are ca 700 active lecturers, 20 000 students (11 500 of which are full-year students) and 100 different programs, many requiring courses unique for each program [36]. A large amount of students, teachers and courses means there are a vast number of factors to take into account when creating these schedules.

During our work on this paper, the scheduling administration at MAU reported around 50 unexpected scheduling requests every day, including additions to the schedule, the moving of events and the removal of already booked events from the schedule. These unexpected changes add much additional work to an already resource-intensive task.

There are many areas where optimization through machine-learning shows great promise, the Vehicle Routing Problem [34] often being the first that comes to mind when one thinks of optimization. It is also one of the most studied and essential optimization problems when it comes to saving resources [34]. However, it is far from the only area where optimization is useful. Google showed the possibility of significant cost savings using machine-learning to optimize their data centers [15], and Chou and Ngo showed how machine-learning could be used to predict the energy consumption using smart grids to reduce energy waste [12]. Additionally, the rapid increase in computing power [23] likely have helped to accelerate the use of machine-learning algorithms for solving optimization problems. Machine-learning, however, is not a small area of research.

Many different algorithms fall under the term machine-learning. For optimization problems, evolutionary algorithms been shown to be effective [39]. These evolutionary algorithms are inspired by biological selection. Such algorithms include Artifical Bee Colony Optimization [18], Ant Colony Optimization [6], and Particle Swarm Optimization [19], which is later explained in detail and used for the model evaluation of this thesis.

Generally, timetabling is considered to be NP-hard [16], and thus, no currently known algorithm will solve all instances of timetabling problems in polynomial time. There have been many efforts to solve, or at least devise feasible solutions for, university timetabling [3, 5, 11, 38] and there are even competitions [27]. However, during our research, we did not find models that take the highly uncertain environment of timetabling problems into account (as stated before, around 50 scheduling requests per day). If universities were able to create a schedule with a minimal amount of conflicts automatically, and where

(7)

unexpected events were already planned for, could this improve the academic performance of the teachers and students at these universities? In this thesis, we attempt to create a model for optimization algorithms to account for the uncertainty of events and create schedules accordingly.

Research has been done on how to efficiently solve the University Timetabling Problem using computers, with some of the earliest research on the problem being done in 1963 [4]. There has been research done using a number of different techniques including Graph Col-oring [25] where the problem constraints are mapped onto a graph, Integer Programming where all variables are mapped to be integers [31], Memetic algorithms [17] which like the Particle Swarm algorithm is an evolutionary algorithm, many of which have often shown excellent efficiency in finding optimal or near-optimal solutions for optimization problems [4]. Some research has been done on how to model for epistemic uncertainty [21] where the objective values are uncertain. There has also been research on using uncertainty in algorithms that do not utilize machine-learning. However, we have found no research on optimization models for evolutionary algorithms using uncertainty as a knowledge variable.

1.2 Research Question

Evolutionary algorithms have been used in many fields for optimization such as port logistics [7], logistics networks [22] and timetabling problems [20] [25] [17].

To help the Malmö University to reduce the labour cost and time expense attached to the scheduling administration, we try to mimic our model to the the real-life structure of the university as closely as possible while regarding the many unexpected requests to change the current scheduling the scheduling administration receives every day. We consider this as an uncertainty that can be expressed in as a probability variable in our model.

The purpose of this thesis is to develop a model for the university timetabling problem that use uncertainty as a known factor. On these grounds we asked the following research questions:

1. How can we consider uncertainty as primary variable in scheduling?

2. How can we model uncertainty for optimization using a Particle Swarm algorithm? 3. How can we efficiently optimize the University Timetabling Problem using

uncer-tainty as a knowledge variable?

4. How can the extended model under uncertainty improve scheduling?

1.3 Contribution

For this thesis, we suggest a model for solving the UTP, a multi-objective optimization problem, while taking into account the uncertain environment this problem resides in. The uncertainty, in this case, is expressed as the probability of unexpected events to occur at a given point in time, looking at historical data of scheduling at Malmö University. We implement a Particle Swarm Optimization algorithm using this model and evaluate it.

(8)

Firstly, we suggest a standard model for solving the optimization using a Particle Swarm Optimization-algorithm. However, the model itself can apply to any machine-learning algorithm capable of solving a multi-objective optimization problem.

Secondly, we propose a possible solution for handling the uncertain environment of the problem, where through predicting the probability of an unexpected event to take place at a given time, our model takes that prediction into account to let the algorithm act according to this variable.

We then implement this model using a Particle Swarm, using generated data, modeled to mimic the reality of Malmö University as closely as possible within a feasible time-frame. The viability of the model and its implementation is evaluated using generated data based on data received from Malmö University.

There is a plethora of research being done on Timetabling and scheduling optimization problems, and our research may be beneficial in further research on the subject, and many other areas of optimization.

1.4 Organization

In the first section of this thesis, we introduce the background and motivation of this thesis, discussing the benefits of using machine-learning to optimize a range of areas. We also present a handful of different optimization algorithms, and present some data from Malmö University which constitutes the search-space of the PSO-algorithm we implement. In the third section, the thesis presents a description of the University Timetabling Problem and gives an overview of work related to this and other optimization and machine-learning topics.

In the fourth section we present our work in detail; first, we introduce a standard model for machine learning optimization of the University Timetabling Problem, generalized for use in many optimization algorithms, which we then further extend to handle the probability of unexpected events.

Lastly, we discuss different ways of predicting this probability. The fifth section de-scribes a Particle Swarm Optimization-algorithm (PSO) and how we use our model to implement a working PSO-algorithm.

In the second-to-last section, we present our evaluation of the implementation of the model. Finally, in the last section we discuss our findings and results, and propose areas which require further research.

2

Methodology

The research conducted during the writing of this thesis was conducted through a literature review, and experiments. A standard UTP model was implemented and experiments conducted on this model to validate the efficiency of a Particle Swarm Algorithm. After more understanding of the problem and algorithms, the extended model under uncertainty was also implemented, and further experiments were done to evaluate this model.

(9)

2.1 Method Description

The literature study was conducted to gather knowledge on optimization problems in gen-eral, and university timetabling optimization in particular. This literature review covered optimization models, techniques and many different kinds of algorithms aimed at solving optimization problems. This literature review resulted in our choice of an evolutionary algorithm (Particle Swarm Optimization) for solving our problem, due to the proven ef-fectiveness in solving optimization problems, and the ease of its implementation. We then implemented a basic Particle Swarm algorithm based on a standard model described here by Chu et al. [13] using data from the International Timetabling Competition [2]. We ran experiments to validate PSO in our standard model and found it satisfactory.

The scheduling administration at Malmö University supplied us with some historical scheduling data. However, we found most bookings added to the system were overwritten each term, and thus only data on historical changes up to one year earlier than the time of this thesis was at all useful. Instead, we found that we could generate data using the data that we had received from Malmö University as a template because the evaluation of the model suggested in this paper is not dependent on the accuracy of the probabilities in the data but on the model’s ability to use these probabilities.

Further, we implemented our uncertainty-based model, conducting experiments using data supplied from Malmö University to generate sufficient test data. We then created benchmarks for how our model could create optimal solutions to evaluate the suggested model.

2.2 Method Discussion

The literature review, the results of which are described the next section, was central for familiarising ourselves to the research area, and understanding the state of the art in optimization problems, and to gather data on what type of algorithms were efficient at solving these problems. A larger and more extensive literature review would likely have been beneficial to our thesis. Due to time-constraints, this was not possible. However, the implementation and evaluation of a Particle Swarm algorithm provided us with some advantageous knowledge on optimization algorithms. Due to the structured nature of University Timetabling Problems, and the required evaluation of our model, we chose to carry out experiments using our proposed model and data generated to match the actual real-life structure of Malmö Univerity’s scheduling.

3

Literature Review

3.1 Optimization

Most real-world optimization problems are referred to as Pareto Multi-Objective Optimiza-tion problems as they often have multiple conflicting objectives, and an optimal soluOptimiza-tion may require several acceptable trade-offs [30]. The University Timetabling problem is one such Pareto Multi-Objective Optimization problem.

(10)

3.2 Timetabling

Wren [37] defined timetabling as “Timetabling is the allocation, subject to constraints, of given resources to objects being placed in space-time, in such a way as to satisfy as nearly as possible a set of desirable objectives.”. Burke et al. [10] defined general timetabling as: “A timetabling problem is a problem with four parameters: T, a finite set of times; R, a finite set of resources; M, a finite set of meetings; and C; a finite set of constraints. The problem is to assign times and resources to the meetings so as to satisfy the constraints as far as possible.”.

Timetabling problems have interested researchers for decades, especially within ma-chine learning. There is even a conference dedicated to timetabling called PATAT (Practice And Theory of Automated Timetabling) [1] which has been held every two years since it was founded in 1995.

The term “University Timetabling Problem” is a sub-problem of the broader problem area “Educational Timetabling”, which covers High-School Timetabling as well as Uni-versity Timetabling, as the problem differs between institutions. UTP is concurrently an umbrella term for more defined timetabling problems such as “University Examination Timetabling”, here described by Collum [24] as “characterized by a set of students taking a set of exams over a specified time period within the context of various constraints.”, the constraints normally being students not having two exams concurrently and a good spread of examinations over time, and “University Course Timetabling”, where the focus lies on the lectures of courses that share students do not overlap, and the needed features accessible in the rooms [4]. Though they are similar, the two problems have significant differences in the constraints that define them (a room may have exams on several different subjects at the same time, a lecture may only handle one subject at a time), the construc-tion environment and the scope at which the problem takes place. Where Examinaconstruc-tion Timetabling takes place in a smaller time-period, Course Timetabling takes place in a sig-nificantly larger time-period, as well as with a considerably larger array of events, required features and, as stated earlier, different constraints [24]. This makes University Course Timetabling the more complex of the two. One could argue that the model proposed in this thesis is a combination of the two types if the exams are considered unexpected (or rather probable) events that are not immediately present in the generated schedule.

In a questionnaire constructed by Burke et al. [8] that was sent out to 96 universities, where 56 responded; the results show that 21% of the universities used computational help. Timetables that were constructed manually were not based on last years schedule, which causes additional workload.

There is a lot of research done on different methods, algorithms and approaches to the timetabling problem. The paper by Burke and Petrovic [9] brings up some recent approaches like Cluster methods which split the events into groups (clusters) of events that satisfy hard constraints, which are then assigned to timeslots that satisfy soft con-straints [9]. These concon-straints are explained further in later sections of this paper. How-ever, the static nature of this approach may result in low-quality timetables. Constraint-based methods [9], such as the Constraint Satisfaction Programming-method described by Babaei, Karimpour and Hadidi as ”a computing-based system where a constraint could be defined as a limitation over a space of facilities. The aim of this method is to find a set of consistent values where each of these values could be assigned to the values of variables

(11)

and satisfy the predefined constraint” [4]. Burke and Pertovic [9] refer to the reader a host of different papers concerning other methods, Schaerf [33] provides a condensed list of approaches, and Babaei et al. [4] provides an extensive and updated list of different methods, and present much research on each.

3.3 Particle Swarm Optimization

In this thesis, both the standard model and extended version are implemented based on the Particle Swarm Optimization Algorithm, defined by Kennedy [19] as a “population-based stochastic algorithm for optimization “population-based on social-psychological principles” where particles move in a search space of D dimensions, acting on a social and cognitive bias to move the particles to an optimal position. For further reading on PSO-algorithms and in-depth explanations, refer to Kennedy.J.

Particle Swarm Optimization (PSO) has proven very effective at solving hard-constrained optimization problems such as the University Timetabling Problem, and Montero et al. proposed a PSO-algorithm which managed to find reasonable quality solutions within min-utes, as opposed to several hours for methods that do not utilize machine-learning [26]. PSO is explained in more clearly in section 5.

4

Model

4.1 Standard Model

Our model uses the following constraints, where hard constraints are denoted as HCn, and soft constraints as SCn where n signifies the number of the constraint.

4.1.1 Hard Constraints

If the goal is to create feasible solutions Hard constraints cannot be broken. As students cannot be in two places at the same time (HC1), placing two separate events which both require the same student to attend, would cause this student to fail, and naturally cannot be accepted.

When solving the Examination Timetabling Problem, a constraint such as “Only one event is allowed in a room at a time” (HC2), does not necessarily need to be exist, since different courses may schedule an exam in the same room, at the same time. However, HC1 still has to be considered in this case.

• Students can only attend one event at a time (HC1) • Only one event is allowed in a room at a time (HC2) • A room must have the required features for an event (HC3) • A room must have enough seats for each event (HC4)

(12)

4.1.2 Soft Constraints

Soft constraints differ from hard constraints in that they may be broken, and not satisfied.

However, to reach an optimal solution, they should remain satisfied.

• Maximum two consecutive events per day (SC1) • The number of empty seats should be minimized (SC2) • Events should not be put on the last time-slot of the day (SC3) This model tries to reflect the real-life structure of Malmö University, while remaining generalizable to other universities. The model should also be general enough to successfully be applied to other optimization problem without many major changes, and is structured as follows:

Students belong to Programs Courses belong to Programs

This is modeled this way because when checking whether HC1 is violated or not we can see if two courses scheduled in the same time-slot belong to the same program, and therefore a student would need to be in two places at the same time. The model does not consider students enrolled in individual courses.

Each Term consists of 2 Study-periods each of which consists of 8 Weeks. Each Course spans over 1 or 2 Study-periods;

Each Course consists of 3 Events per Week; These Events are 2 lectures and 1 lab per Week;

Events consists of different Event-Types, which require different features.

4.1.3 Problem Formulation

• Set of Events E ={e1, e2, . . . , eE}; where |E|= E

For each schedule there is a number of events occurring throughout. These events are paired together with Time-slots and Rooms.

• Set of Time-slots T ={t1, t2, . . . tT}; where |T |= T

Time-slots are the amount of available space in the schedule. For a schedule that ranges 08-17, five days per week, there would be 40 time-slots of one hour each. • Set of Rooms R ={r1, r2, . . . , rR}; where |R|= R

Every schedule would have a limited amount of rooms available for booking. • Set of Programs P ={p1, p2, . . . , pP}; where |P |= P

Generally, universities have programs that students may enroll in. • Cr: capacity of classroom r, where cr≥ 0∀r ∈ R

(13)

• Ce: capacity required for event e, where ce≥ 0∀e ∈ E

For every event there is a number of students, which needs to fit in a room. • tae : timeslot required by event, where 1 <= tae≤ T, ∀t ∈ T

• f (e) = 1 If event e requires feature f, 0 otherwise Some events require different features.

• f (r) = 1 if room r possess feature f, 0 otherwise

Rooms must possess the required feature for an event to take place.

• Students can only attend one event at a time (HC1)

∀p ∈ P ;

T

t=1

f (ept)≤ 1

• Only one event is allowed in a room at a time (HC2) R

r=1

f (ert)≤ 1

• A room must have the required features for an event (HC3) Ee=1 f (f (e)− f(r)) = { 1 if f (f (e)− f(r)) = 0 0 if f (f (e)− f(r)) > 0

• A room must have enough seats for each event (HC4) R

r=1

f (Ce− Cr)≤ 1

• Maximum two consecutive events per day (SC1) T

t=1

f (ept) + f (ept+1) + f (ept+2)

3 ≤ 1

• The number of empty seats should be minimized (SC2) Rr=1 Ee=1 f (Cr− Ce)

• Events should not be put on the last time-slot of the day (SC3)

t = max t;

Ee=1

(14)

4.2 Extended Model under Uncertainty

4.2.1 Uncertainty Definition with Probability Model

The uncertainty in the thesis is modeled as unexpected events that may happen after the initial scheduling is already completed. We assume that there is a pattern to how and when unexpected events occur and that these can be predicted and expressed through a probability model. To use this probability-model we formulate a utility score as explained in the next section. Section 5.5.2 shows how the probability is calculated.

4.2.2 Extended Problem Formulation

This model is further extended to use the probability of unexpected events. Through look-ing at the historical changes to schedules, we can calculate a probability of a certain event to occur at any given time and then use this probability as a function in the algorithm. So there is a number of events with varying probability, and varying probability for an event to take place at the given time-slot, as expressed below.

• Set of Uncertain events U ={u1, u2, . . . , uU}; where |U|= U

Uncertain events are constructed the same way as standard events, but have a

≤ 100% probability to occur.

• xu: Probability of event u to occur, where xu ≥ 0, ∀u ∈ U

• xt: Probability of an event occurring in time-slot t, where xt≥ 0, ∀t ∈ T • f (xut) = xu∗ xt

Combined probability of event u occurring and u occurring on time-slot t.

For the algorithm to utilize this probability model we calculate a Utility Score (US), which can be expressed as a function of the penalty score for each uncertain event u occurring in a given time-slot t multiplied by the probability of a uncertain event occurring in that time-slot: f (U S) = Uu=1 Tt=1

(f (xut)∗ HC1ut) + (f (xut)∗ HC2ut) + ... + (f (xut)∗ HCnut)+

(f (xut)∗ SC1ut) + (f (xut)∗ SC2ut) + ... + (f (xut)∗ SCnut)

(1)

where xut is the probability of a given event u to occur in time-slot t and;

HCnut is the constraint violation penalty for constraint HCn for event u in time-slot

t and;

SCnut is the penalty for constraint SCn for event u in time-slot t. Section 5.5.2 shows how the probability is calculated.

(15)

5

Experiment

In this section, we describe the Particle Swarm Optimization algorithm, how it works and how it finds its way to an optimum, and how it may be expressed mathematically. Further, we describe how we implemented the algorithm. We describe what IDE we used, how the PSO was used to solve this particular problem, which data we used, how the data was structured, and how some data was generated and We supply pseudo-code and flowcharts illustrating the process of the PSO-algorithm, and flowcharts on how our extended model using uncertainty changes the process of the PSO.

5.1 Particle Swarm Optimization

Kennedy [19] describes the PSO as “a population-based stochastic algorithm, for opti-mization based on social-psychological principles.”. While Kennedy separates the PSO from evolutionary algorithms due to there being no selection of population members to survive, the consensus seems to be that it does belong to this group of the algorithm. An opinion we, the authors of this thesis share. A PSO attains its solution by generating a number of randomly initialized vectors, where the dimensions of the vectors define the search space. The name “Particle Swarm” comes from the conceptualization of these vec-tors into a set of particles that move over a D-dimensional Cartesian coordinate system [19]. Each particle’s fitness is evaluated individually, and a fitness score is given based on the constraints defined for each model. Typically, a lower score is better, but it is up to the discretion of the author of the algorithm to define whether it should decline or incline, in this thesis, it is assumed that a fitness score of 0 is considered optimal. Each particle’s individual best fitness score is then saved, as well as the group’s best fitness. If the fitness score has reached the optimum, the algorithm terminates as a solution has been found. There may be other termination criteria such as the number of iterations, time, or convergence. If no such termination criteria have been reached, the algorithm updates the velocity of each particle and then updates the position of each particle based on this velocity. In reality, the velocity is the numerical value with which the elements in the vectors change. These values may change differently based on social bias and cognitive bias. A higher social bias means the particle will move with a higher velocity towards the group best, and a higher cognitive bias moves it towards the individual best. The stochastic nature of the algorithm comes into play here as well, as two randomized values also affect the velocity.

It may be the case that the algorithm converges too quickly. There are many variants of the basic PSO algorithm to solve this problem, using Particle Mutations, PSO-Hybrids, Multiple-Swarm PSO, and Disturbance methods. Nakisa et al. [28] considers a number of these methods.

(16)

A basic PSO can be expressed as follows: • V = Velocity

• M = Number of dimensions • K = Particle

• Vmax = Max value of velocity • C1 = Social bias • C2 = Cognitive bias • Pb = Particle best • Gb = Group best • w = Inertia weight • Xk = Position of particle k

• r1 = Random value between 0 and 1 • r2 = Random value between 0 and 1 For every iteration of the PSO, the velocity of each particle is updated according to the following equation:

Vki+ 1 = w∗ Vki+ C1∗ r1 ∗ (Pbik − Xik) + C2∗ r2 ∗ (Gbi− Xik) (2) Each iteration also updates the position of each particle:

Xki+ 1 = Xki+ Vki+ 1 (3) Every position in the search-space is evaluated to a penalty score, which the PSO seeks to minimize.

For a flowchart visualizing this process, see figure 1.

5.2 Implementation

For this thesis we chose to implement the model using a Particle Swarm Optimization algorithm. PSO has been proven effective in solving combinatorial optimization problems like the University Timetabling Problem [26]. We based our implementation of the algo-rithm on a basic approach from Shu-Chuan Chu et al. [13] (see Figure 1) and expanded on this to closer reflect the scheduling at Malmö University.

(17)
(18)

5.3 Technical details

The algorithm was written in Python (3.0) using PyCharm and Visual Studio Code. Processor of the system running the algorithm: i5-6600k @ 3.5 GHz, 4 core(s). Modeled after Malmö University the size of the search space is 70 rooms with varying features, 300 events per week and 40 time-slots per week. Due to this relatively small computational power, we could not run experiments over too many iterations as the completion time was too large. Therefore we decided to limit the number of iterations to a maximum of 10 000 during our experiments.

5.3.1 Optimizing with PSO

The PSO algorithm uses vectors of multiple dimensions as its search space. To solve the University Course Timetabling Problem our model defines Rooms, Time-slots and Events as the dimensions of the search space. An event could be a lecture, lab or another type of class. As stated earlier in this thesis, irregular schedules negatively impact work-family relations and may have a negative impact on academic performance, as well as mental well-being. A PSO working in the whole term (640 time-slots) as its search space, has by the stochastic nature of PSO algorithms a very small chance of creating a schedule that is consistent throughout every week (40 time-slots). To minimize any possible negative impact an irregular schedule may have we let the PSO construct a solution in a search-space covering only one week, this is then applied to all weeks to get a consistent schedule.

5.3.2 Implementation of probability model

We calculate two probabilities: the probability of the specific unexpected event happening and the probability of the event’s probability distributed over time-slots according to when it happened in historical data since the number of unexpected events differs greatly depending on how far into the term it is. This distribution is explained in section 5.5.2. This probability is distributed over a space of 5 days, and together with the first probability is calculated into a utility score (US) which is calculated for each week. The total sum calculated as the final utility score which is added as a factor on the fitness score of the particle. The particle velocity is then updated according to the new fitness score, and each particle’s position is updated according to its velocity. If a termination criterion is met, the algorithm is terminated and the solution is saved. Termination criteria may be: the fitness score reaches 0, in which case an optimal solution is found, or a certain number of iterations has been reached. This is illustrated in Figure 2.

(19)
(20)

Pseudo code for a standard PSO algorithm:

function Initialize;

foreach particle do

Initialize particle

end

while termination criteria not met do foreach particle do

Calculate fitness value

if fitness value better than current best fitness value then

Set current fitness value as best fitness value

end end

Choose the particle with the best fitness value of all particles as the group best

foreach particle do

Calculate particle velocity see equation 2 Update particle position see equation 3

end end

Algorithm 1: Particle Swarm Optimization Algorithm 5.4 Experiments and Results

5.4.1 Initial experiments

To familiarize ourselves with the workings of a PSO, we decided to use data from an early instance of the International Timetabling Competition [2]. In this competition, the problem consisted of “a set of events to be scheduled in 45 timeslots (5 days of 9 hours each), a set of rooms in which events can take place, a set of students who attend the events, and a set of features satisfied by rooms and required by events. Each student attends a number of events, and each room has a size.” There were a total of six constraints, out of which half where hard constraints that may not be broken, and half were soft constraints which may be broken, but penalized if so. Hard constraints violations were penalized by a score of 20, and soft constraint violations by a score of 2. This was done to make the particles move away from positions where the solution breached hard constraints with a higher velocity. These constraints were similar to the constraints presented in our model, and are general constraints that are seen in most University Timetabling Problems. The data was structured in text files where the first line denoted the number of events, number of rooms, number of features and the number of students, as in Table 1. These dimensions make up the search space of the problem.

Table 1: Search space of initial experiments

Events Rooms Features Students

400 10 10 200

After this search space was defined, followed one line for each room, denoting the size of the room, then one line for each student/event, showing the student attendance for each

(21)

event. A ‘1’ if the student attends, ‘0’ if not, creating an attendance matrix as follows:

Events

0 1 0 0

Students 1 1 0 0

0 0 1 0

In this example, the first student would attend the second event but no others, and the second student would attend the first and second event but not the third and fourth, and so on.

Then followed one line for each room/feature, indicating whether a room satisfies a given feature. Also here, a ‘1’ if the room satisfies the feature, ‘0’ if not, as seen in this example matrix:

F eature

0 1 0 0

Room 1 1 0 0

0 0 1 0

Lastly, there is one line for each event/feature, to indicate whether the event requires the feature or not. A ‘1’ if the event does require the feature, ‘0’ if not, illustrated in this

eventFeatures matrix:

F eature

0 1 0 0

Event 1 1 0 0

0 0 1 0

Parameter values were set according to Table 2. During our initial testing we found that the convergence rate was at its best with these values. Thus, these values were applied during the rest of the experiments as well.

Table 2: Parameter values

Inertia Weight Social Bias Cognitive Bias Swarm size

0.8 1.0 1.2 20

Using this input data, we attempted to implement a PSO to find a feasible solution to this problem.

During these experiments, the algorithm did not succeed in finding a feasible solution, however it did provide us with valuable knowledge on the workings of a PSO algorithm. We saw a tendency for our algorithm to quickly converge in local optima (see Graph 1.) and particle values reaching edge values and staying there.

(22)

0 1 2 3 4 5 6 7 8 9 10 1 1.1 1.2 1.3 1.4 1.5 1.6 ·10 4 100 iterations/point Fitness score

Graph 1. Convergence of particle swarm

Fitness score

5.4.2 Improving the algorithm

These early results led us to try a number of ways to solve this problem, one of which was a Local Optima Avoidance (LOA) method proposed by Salehizadeh and Yadmellat [32] where the particles are split into two groups, where one of the groups acts as in a standard PSO, searching for the individual best and group-best position. The other group tries to move away from this other group to try and increase the diversity of particle positions. This causes the average fitness score to fluctuate heavily (see Graph 2).

0 5 10 15 20 0.5 1 1.5 2 ·10 5 Iterations [250 iterations/point] Fitness score

Graph 2. Average particle fitness using LOA (HC only)

(23)

However, the best fitness score did not improve (see Graph 3); in fact, it was outper-formed by our standard implementation when run through an equal number of iterations (see Graph 4) albeit not significantly.

0 5 10 15 20 2,000 4,000 6,000 8,000 Iterations [250 iterations/point] Fitness score

Graph 3. Convergence of particle swarm using LOA (HC only)

Best Fitness Score (LOA)

0 5 10 15 20 2,000 4,000 6,000 8,000 Iterations [250 iterations/point] Fitness score

Graph 4. Convergence of particle swarm NOT using LOA (HC only)

Best Fitness Score

We were unable to ascertain whether this was the result of poor implementation on our part, or some other factor. In addition to these techniques we moved on to using a search space modeled after Malmö University, as seen in Table 3. Parameter values were set according to Table 4.

(24)

Table 3: Search space

Events Timeslots (per week) Rooms Features Students

540 40 70 10 11500

Table 4: Parameter values

Inertia Weight Social Bias Cognitive Bias Swarm size Iterations

0.8 1.0 1.2 20 5000 0 5 10 15 20 2,000 4,000 6,000 8,000 Iterations [250 iterations/point] Fitness score

Graph 5. Average particle fitness NOT using LOA (HC only)

Avg. Fitness Score (No LOA)

The graph 2-5 above show experiments where the algorithms only considered hard constraints (marked ‘HC only’). During these experiments, our implementation failed to generate a feasible schedule, and the tendency for particle values to get stuck at edge val-ues in certain dimensions (Dminvalue, Dmaxvalue) persisted. We implemented a “Random-Bound” method by our own design, where values that get stuck at min or max values are given a random value within the bounds of the dimension. We then ran experiments using this technique. The following table shows parameter values:

Table 5: Parameter values

Inertia Weight Social Bias Cognitive Bias Swarm size Iterations

0.8 1.0 1.2 20 10 000

These experiments using the Random-Bound method considered both hard and soft constraints with the results shown in Graph 6. Note that using this method, the swarm found solutions with similar or better results when considering all constraints compared to earlier methods considering only hard constraints.

(25)

0 5 10 15 20 2,000 4,000 6,000 8,000 Iterations [500 iterations/point] Fitness score

Graph 6. Convergence of particle swarm using R-Bounds

Best Fitness Score

However, it showed that like the other experiments, the swarm converged early and did not move much. We further experimented using a larger swarm as suggested in [35]. This experiment increased the swarm size from 20 to 50. These results are shown in Graph 7, and parameter values in Table 6.

Table 6: Parameter values

Inertia Weight Social Bias Cognitive Bias Swarm size Iterations

0.8 1.0 1.2 50 10 000 0 5 10 15 20 2,000 4,000 6,000 8,000 Iterations [500 iterations/point] Fitness score

Graph 7. Convergence of particle swarm size 50 using R-Bounds

(26)

5.5 Extended Model Evaluation 5.5.1 Data Set

The university provided us with some historical scheduling data, but it was unfortunately not useful to our experiments as the university did not record the details of changed events in the past. In light of this, we were required to simulate all the training data for the extended model. We used the university data as a template to design our data set. The amount of rooms, students and programs are close to the actual structure of the university. Events are an approximation based on the amount of daily changes the university reported to us.

We generated data of unexpected events that happened in previous years. These data points are a composite of the event, time-slot and which week it happened. From the university we got an estimate of 50 instances of schedule changes per week. As our data set was based on the amount of rooms, students and programs the university has, we decided to generate 400 unexpected events per study-period.

The data was generated with some weights to simulate the probability of each type of event to occur, in order to mimic a real-world scenario where some events occur more or less often than others.

5.5.2 Probability Estimation

Many theories and tools could be used to evaluate probability such as Bayesian Network [21], Neural Network [15], and Support Vector Machines (SVMs) [22]. However, we only use a basic probability estimation method based on a few assumptions to validate our extended model.

• The unexpected event happened last year has higher probability to happen in this year.

• The unexpected event happened last year has slightly higher probability to happen in neighbouring time-slots.

• The unexpected event happened last year has higher probability to happen in the same time-slot.

Based on all of our assumptions, we calculate the probability of unexpected events hap-pening and the probability of the event haphap-pening on specific time-slots.

The probability of the unexpected event occurring is simply calculated with how many times it occurred in historical data divided by how many years we have in historical data.

p = o/y

where p is the probability of an event occurring, o is how many times it happened in historical data, y is the total amount of years in historical data.

Algorithm 2 shows how we calculated the probability of an unexpected event happening in its previous time-slot and its neighbouring time-slots with decreasing probability the further away, Table 7 shows the distribution.

(27)

For every unexpected event in historical data;

for i = timeslot to timeslot+5 do

probabilityTimeslot[event][week][i] += 1/(years+i-timeslot)

end

for i = timeslot-1 to timeslot-5 do

probabilityTimeslot[event][week][i] += 1/(years+i-timeslot)

end

Algorithm 2: Probability algorithm

Table 7: Probability time-slot

Time-slot (T) Probability Tn−5 0% Tn−4 14% Tn−3 16% Tn−2 20% Tn−1 25% Tn 33% Tn+1 25% Tn+2 20% Tn+3 16% Tn+4 14% Tn+5 0%

5.5.3 Scheduling with Uncertainty Model

We wanted to evaluate the model in comparison to the standard model to see if it is a feasible method of using probability to predict future events and schedule accordingly. To do this, we ran the standard model 20 times, and our extended model 20 times, using a benchmark which we describe further down, to evaluate whether our model could produce solutions that were better than the standard model.

5.5.4 Benchmark

It is difficult to evaluate whether a future schedule is better than another future schedule, as it is not known for certain what changes each schedule will need to adapt to.

To try to find a good way to evaluate these schedules and their adaptability to future events, we created a simple benchmark, where we created 400 events with differing prob-abilities belonging to different programs, and with differing room-size requirements, just like the events we created to generate the probabilities used for the Utility Score function. We then calculated how many Hard Constraint-violations would occur if these generated events were to take place in each schedule. For example; one schedule could be feasible, but require 100 manual changes to the schedule while it is “in use”. Another schedule could require only 25 manual changes, requiring only 25% of the manual labour of the first schedule, saving a great deal of time and money. These experiments ran for 10000

(28)

iterations which took on average 57 minutes per test, the results are shown in Graph 8. Table 8: Benchmark results

Number of constraint violations

Average Mean Standard model Extended model Standard model Extended model 69,2 47,3 63 40

Table 8 shows the average and mean number of constraint violations of schedules generated using the standardized model and the extended model.

0 5 10 15 20 20 40 60 80 100 Experiment # Constrain t violations

Graph 8. Constraint violations of future events

Standard model Extended model

Our experiments showed that our model can successfully reduce the number of hard-constraint-violations by 32% on average. These results show that it is possible to success-fully create a model to improve the automatic scheduling using uncertainty.

Our model did take longer to finish, by 37%. However, this increase in completion time is negligible when considering the time and resources saved through negating the need for manual labour. Additionally, our implementation of the algorithm was not optimized, and its efficiency could be significantly improved.

(29)

0 5 10 15 20 0.2 0.4 0.6 0.8 1 ·10 4 Iterations [500 iterations/point] Fitness score

Graph 9. Convergence of model using uncertainty

Best Fitness Score

The convergence of the swarm using the extended model was largely similar to the model without it, and the model did not seem to affect the PSO in this regard (see Graph 9). Note that the overall fitness score was slightly higher than the standard model, this is due to the way it was implemented, where the Utility Score was added as a function of the overall fitness of the particle.

6

Analysis and Discussion

6.1 Analyzing the PSO-algorithm

Through our experiments we have found that the Particle Swarm Optimization algorithm, while it performs well on single-dimension problems, does not appear to perform as well on multi-objective optimization problems as we had previously understood. It suffers from premature convergence into local optima, and is heavily influenced by parameter value tuning.

While the PSO has the advantage of being simple to implement at low dimensions, this advantage quickly diminishes as the complexity rapidly increases with added dimensions. Another advantage is that the PSO is extensively researched, and there are a large number of techniques to alleviate or solve these problems.

From our experience throughout this thesis, it appears that a PSO works best in conjunction with some other type of algorithm, for example Local Search techniques to solve the problems with premature convergence.

Increasing the size of the swarm did not effectively help the algorithm to find a better solution. While the final score after 10 000 iterations did improve slightly (from 4050 to 3792), the required run-time of the algorithm also increased by the same factor as the increase in the number of particles.

(30)

6.2 Analyzing the standard model

Through our experiments and our studying the work of other researchers, we see that our standard model is still highly complex as it is a high-dimensional model with 4 hard constraints and 3 soft constraints. This means it is hard for algorithms such as the Particle Swarm Optimization algorithm to solve, as the pathways through the search space get increasingly complex. As we had little understanding of the function of a PSO as well as optimization problems in general when we started our research, we underestimated the complexity of the problem and overestimated the ability of a pure PSO algorithm to solve these optimization problems.

Through the work of others, we saw that a hybrid PSO would likely have increased the efficiency of our implementation.Reducing the number of constraints would likely be beneficial for the efficiency of the model, as would reducing the number of dimensions. However, due to the nature of the University Timetabling Problem, it is required to consider all three dimensions we stated earlier, Time, Rooms, and Events. A more complex model yields more complete solutions, so there is a trade-off between model complexity and solution completeness to be considered.

6.3 Analyzing the extended model

In our experiments we can see a potential reduction of necessary rescheduling by an average of 32% which would mean less manual work, possibly saving resources. The model does bring an increase in completion time on an average 37%. This increase of completion time is negligible since the amount of time spent rescheduling would likely take significantly more time to complete, as well as incur administration labour costs as opposed to just longer computer running time. The uncertainty model does increase the complexity slightly which the algorithm tries to solve by moving events away from time-slots in which unexpected events have a higher chance of occurring in. The increase in complexity come from more areas in the search space with a higher fitness score. The uncertainty model does however not change the behaviour of the algorithm in terms of convergence.

This kind of uncertainty model could also be used in logistics and perhaps other areas where machine-learning algorithms can be applied and where there is an uncertain element. In warehouse logistics this could be part of optimizing the pick and pack process, on where to put packets depending on their dimensions. The uncertain element could be that it is a highly changeful environment warehouse which does not contain a set amount of different packets, which would require planning to fit new packets that come in.

A different method of calculating the probability could improve the results further, since we only tried a basic solution to the probability distribution, another way could be to use Gaussian distribution.

6.4 Discussion

The research conducted in this thesis was aimed at creating a model for optimizing univer-sity course scheduling under uncertainty. An additional objective was to make the model general enough to be applied to other types of scheduling problems.

We first searched available literature for a host of different methods for solving op-timization problems. The decision landed on Particle Swarm Opop-timization, as it had a

(31)

proven efficiency in these problems, and a simple implementation. However, we later found that it quickly increased in both complexity of implementation, and lost efficiency as the complexity of the problem space itself increased. As seen in the graphs, the algorithm also converged prematurely, a problem we were not able to solve. This could be solved through hybridizing the PSO, but we decided against it as the evaluation of the extended model was of greater importance, and we would need to assign more time to creating this model instead of optimizing our algorithm.

Our results show that it is possible to model for uncertainty in timetabling problems, something that could likely be extended onto other optimization problems as well. How-ever, we did not manage to create feasible solutions using the standard model, as there were hard constraints that were still violated as the particle swarm had converged. We tried different methods to solve this but were not successful in creating a completely feasi-ble schedule. We argue that this fact did not impact the feasibility of the extended model, however. As the extended model does not impact the convergence rate of the swarm and does reduce constraint violations in future events, it should be feasible in conjunction with a better implementation of an optimization method, for example: a Hybrid-PSO, where a PSO produces a solution and it is then improved by some other method before the PSO evaluates it and changes it again, or a genetic algorithm.

With a greater amount of computational power and more time to conduct experiments, we may have been able to produce even better results, as our lack of computational resources limited the running time of our experiments. It is not uncommon that machine-learning algorithms run for several days, but we had to limit it to several hours in our own computer.

Our research has shown that it is possible to reduce future scheduling conflicts using automated timetabling and probability, and possibly reduce future work-family conflicts as the created schedule would be more consistent throughout the term.

7

Conclusion

The aim of this thesis was to determine if uncertainty could be used as a primary variable during scheduling, when considering events that would require rescheduling. We proposed a standardized model for the university timetabling problem and then extended this model using our probability model.

We describe our literature review, multi-objective optimization problems, timetabling problems and general terms and research in the field of scheduling optimization. We intro-duce a standard model which considers soft- and hard constraints often used in university timetabling problems. We also introduce our extended model which uses a probability of unexpected events to occur after the initial schedule has been set. This probability is based on historical occurrences of different events. Our implementation of the PSO uti-lizes a fitness score to evaluate the feasibility of the solution. Our implementation of the extended model used this score in addition to a Utility Score based on constraint violations of future events, in the generated solution.

We showed how the PSO is implemented and steps that were taken to improve it based on our initial experiments. We explained our extended model, the data set used, the search-space of the problem and how we estimate the probability of unexpected events happening.

(32)

In our experiments we see a 32% reduction of future hard constraint violations, along with a 37% increase in computational time which would result in a significant reduction in administrators workload in exchange for longer computer running time.

7.1 Future work

We can evaluate the model using different algorithms and the performance of the extended model in conjunction with these. It would be interesting to also investigate how the model works in other areas of optimization with uncertain elements such as logistics-routes or other scheduling problems. Additionally, we can develop a standardized method of benchmarking these kinds of models for scheduling problems under uncertain environment. Our work does not evaluate different methods of optimization in comparison to the PSO. This would be possible future research, where we can see if more efficient timetabling algorithms may benefit from this model.

(33)

References

[1] The international series of conferences on the practice and theory of automated timetabling (patat).

[2] International timetabling competition 2002. http://sferics.idsia.ch/Files/ttcomp2002/oldindex.html. Accessed 2019-05-13.

[3] Esraa A Abdelhalim and Ghada A El Khayat. A utilization-based genetic algorithm for solving the university timetabling problem (uga). Alexandria Engineering Journal, 55(2):1395–1409, 2016.

[4] Hamed Babaei, Jaber Karimpour, and Amin Hadidi. A survey of approaches for university course timetabling problem. Computers & Industrial Engineering, 86:43– 59, 2015.

[5] Rakesh P Badoni, DK Gupta, and Pallavi Mishra. A new hybrid algorithm for university course timetabling problem using events based on groupings of students.

Computers & industrial engineering, 78:12–25, 2014.

[6] John E Bell and Patrick R McMullen. Ant colony optimization techniques for the vehicle routing problem. Advanced engineering informatics, 18(1):41–48, 2004. [7] Jurgen Bose, Torsten Reiners, Dirk Steenken, and Stefan Voß. Vehicle dispatching

at seaport container terminals using evolutionary algorithms. In Proceedings of the

33rd annual Hawaii international conference on system sciences, pages 10–pp. IEEE,

2000.

[8] Edmund Burke, Dave Elliman, Peter Ford, and Rupert Weare. Examination timetabling in british universities: A survey. In International Conference on the

Practice and Theory of Automated Timetabling, pages 76–90. Springer, 1995.

[9] Edmund Kieran Burke and Sanja Petrovic. Recent research directions in automated timetabling. European Journal of Operational Research, 140(2):266–280, 2002. [10] EK Burke, Jeffrey Kingston, and D De Werra. 5.6: Applications to timetabling. In

Handbook of graph theory, volume 445. 2004.

[11] Tsung-Che Chiang and Hsiao-Jou Lin. A simple and effective evolutionary algorithm for multiobjective flexible job shop scheduling. International Journal of Production

Economics, 141(1):87–98, 2013.

[12] Jui-Sheng Chou and Ngoc-Tri Ngo. Time series analytics using sliding window meta-heuristic optimization-based machine learning system for identifying building energy consumption patterns. Applied energy, 177:751–770, 2016.

[13] Shu-Chuan Chu, Yi-Tin Chen, and Jiun-Huei Ho. Timetable scheduling using particle swarm optimization. In First International Conference on Innovative Computing,

Information and Control-Volume I (ICICIC’06), volume 3, pages 324–327. IEEE,

(34)

[14] Washington Economic Policy Institute. Irregular work scheduling and its conse-quences, 2015.

[15] Jim Gao. Machine learning applications for data center optimization, 2014.

[16] Joe Henry Obit. Developing novel meta-heuristic, hyper-heuristic and cooperative

search for course timetabling problems. PhD thesis, University of Nottingham, 2010.

[17] Sadaf N Jat and Shengxiang Yang. A memetic algorithm for the university course timetabling problem. In 2008 20th IEEE International Conference on Tools with

Artificial Intelligence, volume 1, pages 427–433. IEEE, 2008.

[18] Dervis Karaboga and Bahriye Basturk. Artificial bee colony (abc) optimization algo-rithm for solving constrained optimization problems. In International fuzzy systems

association world congress, pages 789–798. Springer, 2007.

[19] James Kennedy. Particle swarm optimization. Encyclopedia of machine learning, pages 760–766, 2010.

[20] Simon Kristiansen and Thomas Riis Stidsen. A comprehensive study of educational timetabling-a survey. 2013.

[21] Philipp Limbourg. Multi-objective optimization of problems with epistemic uncer-tainty. In International Conference on Evolutionary Multi-Criterion Optimization, pages 413–427. Springer, 2005.

[22] Lin Lin, Mitsuo Gen, and Xiaoguang Wang. Integrated multistage logistics network design by using hybrid evolutionary algorithm. Computers & Industrial Engineering, 56(3):854–873, 2009.

[23] Hannah Ritchie Max Roser. Technological progress, 2019.

[24] Barry McCollum. A perspective on bridging the gap between theory and practice in university timetabling. In International Conference on the Practice and Theory of

Automated Timetabling, pages 3–23. Springer, 2006.

[25] Sara Miner, Saleh Elmohamed, and Hon W Yau. Optimizing timetabling solutions using graph coloring. NY: NPAC REU program, NPAC, Syracuse University, 1995. [26] Elizabeth Montero, Marıa-Cristina Riff, and Leopoldo Altamirano. A pso algorithm

to solve a real course+ exam timetabling problem. In International conference on

swarm intelligence, pages 14–15, 2011.

[27] Tomáš Müller, Hana Rudová, and Zuzana Müllerová. University course timetabling and international timetabling competition 2019. 2019.

[28] Bahareh Nakisa and Mohammad Naim Rastgoo. A survey: Particle swarm optimiza-tion based algorithms to solve premature convergence problem. Journal of Computer

Science, 10(9):1758–1765, 2014.

(35)

[30] Patrick Ngatchou, Anahita Zarei, and A El-Sharkawi. Pareto multi objective opti-mization. In Proceedings of the 13th International Conference on, Intelligent Systems

Application to Power Systems, pages 84–91. IEEE, 2005.

[31] Antony E Phillips, Hamish Waterer, Matthias Ehrgott, and David M Ryan. Inte-ger programming methods for large-scale practical classroom assignment problems.

Computers & Operations Research, 53:42–53, 2015.

[32] Seyyed Mohammad Amin Salehizadeh, Peyman Yadmellat, and Mohammad B Men-haj. Local optima avoidable particle swarm optimization. In 2009 IEEE Swarm

Intelligence Symposium, pages 16–21. IEEE, 2009.

[33] Andrea Schaerf. A survey of automated timetabling. Artificial intelligence review, 13(2):87–127, 1999.

[34] Paolo Toth and Daniele Vigo. The vehicle routing problem. SIAM, 2002.

[35] Ioan Cristian Trelea. The particle swarm optimization algorithm: convergence anal-ysis and parameter selection. Information processing letters, 85(6):317–325, 2003. [36] Malmö Universitet. Årsredovisning, 2018.

[37] Anthony Wren. Scheduling, timetabling and rostering—a special relationship? In

International conference on the practice and theory of automated timetabling, pages

46–75. Springer, 1995.

[38] Li-Ning Xing, Ying-Wu Chen, Peng Wang, Qing-Song Zhao, and Jian Xiong. A knowledge-based ant colony optimization for flexible job shop scheduling problems.

Applied Soft Computing, 10(3):888–896, 2010.

[39] Eckart Zitzler and Lothar Thiele. Multiobjective optimization using evolutionary algorithms—a comparative case study. In International conference on parallel problem

Figure

Figure 1: Flowchart of a PSO algorithm
Figure 2: Illustration of the PSO utilizing the Utility Score function.
Table 2: Parameter values
Table 4: Parameter values
+4

References

Related documents

Syftet med denna studie var att undersöka om förväntningar på återhämtning och smärtkatastrofiering kan påverka varandra över tid för att predicera kronisk

Syftet med denna studie är att undersöka eventuella samband mellan ungdomar med olika grad och typer av smärta och deras sociala fungerande, detta med hänvisning till upplevd

Constructing graphs using atoms as nodes is simple and intuitive; however, there is another graph representation which might be of interest. The alternative way is to consider the

In each run, the number of generations was recorded and then later used to evaluate the average number of required gener- ations for each of the four input data files. Those

The chapter addresses the second goal of this thesis, which is to improve the performance of Vizz3D by optimising OpenGL API calls and Java code.. First the optimisation

It has been done by collecting information about schools and programs and inserting it into a graph database which has then been traversed to extract the fastest paths from

I nteger programming can be used to provide solutions to complex decision and planning problems occurring in a wide variety of situations. Applying integer pro- gramming to a real

For the LWF CGs they are called largest chain graph (LCG) and is the CG in each Markov equivalence class that contains the maximum number of undirected edges [7].. LCGs