# Comparison of algorithms for automated university scheduling

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Comparison of algorithms for automated university scheduling Hugo Sandelius Simon Forssell Degree Project in Computer Science, DD143X Supervisor: Pawel Herman Examiner: Örjan Ekeberg CSC, KTH April 29, 2014

2 Abstract Schedule generation is a common real-world problem, that has been shown to be hard to solve. In a scheduling algorithm, various constraints related to scheduling are the inputs and a schedule satisfying these constraints is the output. In this report, two algorithms for schedule generation are compared: Tabu Search and a Genetic Algorithm. How well the algorithms perform for generating schedules from constraint input of different sizes is assessed, as well as how the performance of the algorithms is affected by varying parameters of the algorithm. The major conclusion drawn is that there is no major difference between how well Tabu Search and the Genetic Algorithm scale when faced with a larger input size.

3 Contents 1 Introduction 2 2 Background Genetic Algorithms Tabu Search Method Constraints Constraint files Implementation Solution evaluation Hardware Results Scaling Evaluation score development Algorithm parameters Discussion 17 6 Conclusion 19 7 References 20 1

4 1 Introduction Schedules are used in many different areas, for example: Public transport schedules - a list of times and routes connecting places. Travelers can use this to plan how to go from point A to point B. Broadcast scheduling - used by television and radio stations to schedule when shows and commercials are broadcasted. Often certain shows are to be broadcasted at the same time every day or week. University schedules - listing all the classes together with time and location so that students know when and where to be. To put together a good schedule is a complex problem and it is very hard to do by hand. A multitude of factors need to be taken into account, e.g. not having one person do two different tasks at the same time, or to spread out different tasks across a schedule. It is not surprising that we let computers do this for us. In fact the problem is so complex there probably does not even exist an algorithm that will create an optimal schedule in a reasonable amount of time. This is because this scheduling problem belongs to a class of problems called NP-hard[6] and a consequence of this is that as the problem size grows, the time it takes to find an optimal solution increases exponentially. This means that it will not be possible to find an optimal solution, instead an approximate solution must be searched for. But it is not immediately clear what an optimal solution is. What an optimal solution means certainly differs depending on what the schedule is going to be used for. This report will look into what makes a good university schedule and also go over a few methods of how to generate one. The report will compare how well two different scheduling algorithms perform for scheduling problems of different sizes. The time taken to generate schedules of various sizes will be assessed, as well as how the solution changes over the running time of the algorithm. This gives an idea of how long time it takes to generate solutions of varying quality. First the report will measure how well the algorithm performs on a small problem size, and then see how well it scales up when applied to a significantly larger problem size. The problems will be artificially generated by us, with inspiration from how the input files to the KTH scheduling department looks, and will be defined in more detail in the Method section. The following algorithms will be compared, each of which address the problem from a separate angle. Tabu Search is a variant of a local search algorithm, which does a local search around at a solution s neighbours to try and find better solutions. It complements this with marking certain areas as tabu, which means it should not be visited again[1]. Tabu search is used by the open source scheduling software Drools Solver (now OptaPlanner)[7]. 2

5 Genetic algorithms mimics the biological process of natural selection. The commercial scheduling software gp-units utilizes a genetic algorithm[7]. Tabu Search and Genetic Algorithms are both algorithms that are commonly used for optimization problems. Since this is a core part of the scheduling problem, they are commonly used for this task. There is also a lot of existing literature about using them for schedule generation. They have two quite different approaches to solving the problem, and thus would be interesting to compare. These algorithms will be described in detail in the Background section. 3

6 2 Background Automated scheduling is a very well researched subject, especially in the university setting. There are numerous reports written on the various aspects of this topic, most of them in the form of detailed descriptions of algorithms solving the scheduling problem[6][2]. Although scheduling problems have been studied since the 1960s[4], the first computer-enabled scheduling systems were established in the late 1980s[9]. For traffic planning, there are a number of widely-used systems. Currently used systems are for example HAFAS, used in the European railway sector, and EFA, used for local traffic planning in many European cities. These use graph-based approaches, using versions of Dijkstra s Algorithm combined with heuristics to try and find a good approximation of the shortest path between two physical positions[9]. However, for university scheduling, most universities have developed their own solution[11]. The scale of the problem, as well as the constraints involved, vary widely and so does the solution approaches. However, the core of any scheduling algorithm is a combinatorial problem that must be solved by some algorithm. Some of the different algorithms that can be commonly found in scheduling litterature are local search techniques, Tabu search, genetic algorithms, constraint programming and goal programming[4]. Genetic Algorithms and Tabu Search represent two quite different approaches to the problem, although they both utilize an evaluation function to evaluate the solution in each step, and have a current best solution which is improved as the algorithm iterates. 2.1 Genetic Algorithms Genetic algorithms were first used by J. H. Holland in 1975[10]. The algorithm work on a set of potential solutions. This set is called a population and each solution is represented by a chromosome. Every separate property of a specific solution is stored in the string of genes making up the chromosome. The algorithm starts off with an, often randomly generated, initial solution. A function then calculates the fitness of each chromosome by evaluating the chromosome s solution. Chromosomes with high fitness have a higher chance of being selected for breeding and thereby passing on their genes to the next generation of the population. When creating the new population several genetic operators could be used, for example crossover or mutation[8]. Crossover generates new chromosomes by swapping genes between two or more parent chromosomes. There are different ways to select which genes to swap. Picking some point in the gene string and swapping all genes beyond that point or swapping all genes within some interval are two common methods. It is also possible to randomly swap genes so that the probability of a swap is set by a mixing rate. 4

7 Mutation works by changing the values of the genes to something other than their initial values. Whether a gene should be changed or not is determined by probability[2]. The process then starts over again with calculating the fitness of each chromosome. The average quality of the solutions will increase with every new generation. The population continues to evolve like this until an optimal solution is found, the number of iterations reaches a set limit, or some other stopping condition is met. 2.2 Tabu Search Tabu Search is a search algorithm that was originally formalized by Fred W. Glover in 1989[5]. Tabu Search is a local search algorithm. Local searches takes a possible solution to a problem and evaluate its neighbors, by assigning an evaluation score to each of them, in order to see if they are a better solution. Neighbors in this case means solutions with some minor difference from the solution in question. If a neighbor has a higher evaluation score, and thus is a better solution, it becomes the new current solution, and in the next iteration neighbors to this solution are evaluated. This continues until some stopping criteria is fulfilled, similar to genetic algorithms. Picking which neighbors should be evaluated in each iteration is a key part of local search algorithms, and this is where Tabu Search comes in. In Tabu Search, we keep track of previously visited solutions in a tabu list. Any solution in the tabu list will not be visited again until a certain condition has been fulfilled, for example a certain number of solutions having been visited. This keeps the local search from getting stuck in a local optimum or a plateau, and helps it expand the search to other regions[3]. 5

8 3 Method A program is developed that takes user input, consisting of course information and constraints, and generates schedules using two different algorithms as they are described in the Background section. The input consists of a list of classrooms and their capacities, a list of programs and their courses, and the lessons in each course, with each lesson being assigned a teacher and a number of students. The total amount of weeks the schedule should be planned for is also included. The schedules assign lessons to four possible slots each day. 3.1 Constraints The hard constraints, i. e. the ones which has to be fulfilled by the algorithm to be considered as a possible solution, are: All lessons must be assigned a time A classroom must hold at least as many students as are planned for the lesson Only one lesson in one classroom at the same time Only one lesson in one program at the same time A teacher may only teach one class at a time The soft constraints, which are used to evaluate the schedule but are not absolutely necessary to fulfill, are: The amount of free periods, i.e. unscheduled time between classes in a day for students, should be minimized There should preferably not be more than one lesson in the same course in a day After the schedule is generated, the program assesses how well the various soft constraints were fulfilled. If a perfect schedule, i. e. one where all soft and hard constraints are fulfilled, can be generated in a reasonable time, the amount of time and iterations of each algorithm is compared. 3.2 Constraint files Two different input files of increasing sizes is used to generate the schedules. The input files are artificial, but constructed with inspiration from how the input to the KTH scheduling system works. A script which randomly generates constraints is used to generate the constraints. The script randomly generates a schedule according to the following input: programs decides the amount of programs. 6

9 courses-low and courses-high decide the upper and lower bounds of the amount of courses in each program. The actual value is randomized between the two. lessons-low and lessons-high decide the upper and lower bounds on the amount of lessons. big-prob, the probability that a class will be big small-cap-low and small-cap-high decide the upper and lower bounds on the required capacity of a small class. big-cap-low and big-cap-high decide the upper and lower bounds on the required capacity of a big class. Each course has two different teachers. second-teacher-low and second-teacher-high is the upper and lower bounds on the probability that each lesson in a given course will be given by the second teacher. weeks decide the time period, in amount of weeks, that the schedule should cover. The small input file was generated with the following input: programs 3 courses-low 2 courses-high 4 lessons-low 7 lessons-high 15 big-prob 0.72 small-cap-low 50 small-cap-high 100 big-cap-low 150 big-cap-high 200 second-teacher-low 0.6 second-teacher-high 1.0 weeks 4 The large input file was generated with the following input: programs 6 courses-low 3 courses-high 5 lessons-low 15 lessons-high 20 big-prob 0.72 small-cap-low 50 small-cap-high 100 big-cap-low 150 big-cap-high 200 second-teacher-low 0.6 second-teacher-high 1.0 weeks 10 7

10 { } The constraints are represented by a JSON-file with the following structure: "programs" : [ { "program" : "CDATE1", "courses" : [ { "name" : "inda", "lessons" : [ { "teacher" : "Gustav Gustavsson", "capacity" : 200 } ] } ] } ], "classrooms" : [ { "name" : "D1", "capacity" : 200 } ], "weeks" : 1 Since both algorithms has elements of randomness they are run 10 times with each input file, after which the average result is calculated, to avoid the impact of chance on the algorithms. 3.3 Implementation The program is implemented in the Java programming language, using the Tabu Search library OpenTS and the Genetic Algorithms library JGap. The source code is available at github.com/hugoflug/schedule. The internal structure of the generated schedule consists of a list of separate schedules, one for every program. Each program specific schedule then has its own collection of days. The days are made up of four timeslots each of which link a classroom to an activity. This structure allows for time, location and activity to be altered independently. The Tabu Search algorithm is implemented as described in the background section. The neighbors are generated in two ways, by changing the classroom of a random lesson to a random new classroom, and by swapping the time of two lessons. The possible swaps and changes are calculated at random. The 8

11 solutions in the tabu list is then excluded from the neighbors. When researching how well the algorithms scale, the tabu list has a size of 10 solutions, and each solution remains in the tabu list until 5 more solutions have been evaluated. The chromosomes of the genetic algorithm are set up using genes with integer values. Each gene corresponds to an activity. The value of the gene represents the classroom and the point in time where the activity is scheduled. The initial chromosomes are completely randomized. The genetic operators used in the algorithm are a crossover operator and a mutation operator. The mutation rate is set relative to the size of the chromosome. A mutation rate of X would result in X/(chromosome size) genes mutated on average per chromosome. The crossover rate is set up in a similar way. In every iteration, mutated and crossovered chromosomes are added to a pool and the top valued chromosomes are then selected to the next generation. The population size is always kept constant. A size of 10 is used for the population when running scaling tests. Tabu Search and Genetic Algorithms both use an evaluation function to evaluate the different solutions as they are searching for the best one. To ensure a fair comparison of the algorithms, the same evaluation function is used for both algorithms. The way Tabu Search and the Genetic Algorithm approach a perfect solution (one with all soft and hard constraints fulfilled) is also researched by looking at how the evaluation score changes with each iteration. The Tabu Search and Genetic Algorithms algorithms have several different parameters that affect how the algorithm works. Evaluation of how varying these parameters influence the results of the algorithms is also done to figure out if the comparison of the algorithms holds in general, or just for a specific implementation of them. For Tabu Search, the parameters are the tabu list size and the amount of neighbors evaluated in each iteration. The parameters for the genetic algorithm are the size of the population, the rate of mutation and the crossover rate. 3.4 Solution evaluation The same evaluation function is used to evaluate solutions in both algorithms. The evaluation function outputs a penalty value that increases with each constraint violated, so a lower evaluation value is desirable and a perfect schedule has an evaluation value of 0. In the evaluation function, every time you have a collision - either a teacher teaching two lessons at the same time, or two lessons in the same classroom at the same time, the evaluation score increases by 500. When a classroom is overfilled, the evaluation score is also increased by 500. This corresponds to the hard constraints. Every free period, defined as a period with no lesson planned between two planned lessons, increases the evaluation score by 1. Every time a lesson appears on a day there is already a lesson from the same course, the evaluation score is increased by 1, corresponding to the soft constraints. By having the hard constraints have a much higher evaluation score, we make sure the hard constraints are satisfied first before the soft constraints are considered. The constraint that two lessons can not be held at the 9

12 same time within a program is enforced by our data structure. 3.5 Hardware The algorithms were run on a 2012 Apple Macbook Air with an 1.8 GHz Intel Core i5. 10

13 4 Results 4.1 Scaling For the small input file, both algorithms could create a perfect schedule (i. e. one which fulfills all hard and soft constraints) in a reasonable time. When run 10 times the tabu search needed on average 480 iterations and ran for an average of 1.70 seconds. In 10 runs the genetic algorithm needed an average of 2420 iterations and an average time of 3.22 seconds. For the large-sized input file, the tabu search could create a perfect schedule in 811 iterations, or seconds. The genetic algorithm on the other hand needed an average of 6490 iterations or seconds to generate a perfect solution. Figure 1: Running time for the small and large sized problems with both algorithms. 11

14 4.2 Evaluation score development The evaluation score varies during one running of the algorithm as follows: Figure 2: Small file. 12

15 Figure 3: Large file. 13

16 4.3 Algorithm parameters These graphs portray how the running time was influenced by varying the various parameters to the algorithms. More precisely, it shows how long time it took, on an average over 10 runs, to solve the small constraints file when the parameters are varied. Figure 4: The running time of the tabu search for the small file varying the tabu list size. 14

17 Figure 5: The running time of the tabu search for the small file varying the number of neigbors. Figure 6: The running time of the genetic algorithm for the small file varying the size of the population. 15

18 Figure 7: The running time of the genetic algorithm for the small file varying the rate of mutation. Figure 8: The running time of the genetic algorithm for the small file varying the crossover rate. 16

19 5 Discussion For the small input size, Tabu Search is significantly faster than our Genetic Algorithm, at about 53% of the running time. As the size increases, this ratio changes slightly to 62% of the running time. For the input we have, Tabu Search performs better, however the algorithms does not differ significantly in how well they scale to increasingly large input sizes. Looking at how the evaluation score develops during the running of the algorithm, we can see a clear pattern. The Genetic Algorithm has a worse solution at all times during the run, but when there are only very few broken constraints left, the algorithm is having a lot of trouble satisfying these constraints. This should mean that if we relax the constraints slightly, the genetic algorithm will perform much better. Also notable is a distinct corner in the Tabu Search graph. It starts out improving very quickly, and then at one point immediately slows down significantly. The Genetic Algorithm has more of a smooth curve where the improvement decreases gradually. The amount of neighbors generated and visited each iteration in Tabu Search makes the running time vary greatly. When fewer neighbors are evaluated at a time, the Tabu Search runs for more iterations and changes the current optimal solution more often, while less time is spent finding a good neighbor to iterate to. This seems to be more efficient for the input data used in this project. The Tabu List size, on the contrary, has relatively little impact on the running time. It decreases slightly with larger list sizes. It is possible having a longer Tabu List is simply not worth it due to the larger overhead of dealing with the larger list. Varying the population size of the genetic algorithms has a major impact on the time it takes to find an optimal solution. When increasing the size of the population the number of potential solutions managed by the algorithm grows and with that the diversity of the solutions. This could potentially lead to finding better solutions in fewer iterations. However, it appears that the increased time it takes for the algorithm to handle all these solutions outweigh the advantage of a greater diversity among the solutions. A higher mutation rate result in more genes being mutated. Although this allows the algorithm to move faster towards a better solution the performance of the algorithm is reduced as extra work has to be put into carrying out the increased number of mutations. Performing too few mutations appears to lower performance as well but not as radically. The crossover rate does not have a great impact on the performance of the algorithm. The same principle as in the case of both population size and mutation rate applies here. A higher rate increases solution improvment per iteration but also the time to perform an iteration. It seems as though lowering the crossover rate has a slight performance advantage. It should be noted that the implementation of the algorithms certainly has an impact on their running time, as can be seen with the wild variations of running time when some of the algorithm parameters are changed. However, 17

20 effort has been made to stay close to the most common implementations of the algorithms as described in literature. 18

21 6 Conclusion Tabu Search performs better for all assessed inputs of various sizes. However, the difference is not huge, and the specific implementation and code of the algorithms certainly affect how well they perform, so a general conclusion about the algorithms is hard to draw from this. There is no major difference in how well the different algorithms scale to larger input sizes, and since the specific coding of the algorithms should only affect the running time by some constant, this is a conclusion that can be drawn with greater certainty. 19

22 7 References [1] Cagdas Hakan Aladag and Gülsüm Hocaoglu. A tabu search algorithm to solve a course timetabling problem. Hacettepe Journal of Mathematics and Statistics, [2] Alexander Brownlee. An application of genetic algorithms to university timetabling, [3] S. C. Chu and H. L. Fang. Genetic algorithms vs. tabu search in timetable scheduling. Technical report, 1999 Third International Conference on Knowledge-Based Intelligent Information Engineeing Systems, [4] S. Daskalaki and T. Birbas. Efficient solutions for a university timetabling problem through integer programming. European Journal of Operational Research, [5] Fred Glover. Tabu search - part i. ORSA Journal on Computing, [6] Sadaf Naseem Jat and Shengxiang Yang. A guided search genetic algorithm for the university course timetabling problem. Technical report, Multidisciplinary International Conference on Scheduling, [7] Peter Karich. Timetabling software survey, June [8] Samuel Lukas, Arnold Aribowo, and Milyandreana Muchri. Solving timetable problem by genetic algorithm and heuristic search case study, [9] Matthias Müller-Hannemann, Frank Schulz, Dorothea Wagner, and Christos Zaroliagis. Timetable information: Models and algorithms, [10] Ender Ozcan and Alpay Alkan. Timetabling using a steady state genetic algorithm, [11] M.V. Padmini and K. Athre. Efficient design of university timetable,

### Nurse Rostering. Jonathan Johannsen CS 537. Scheduling Algorithms

Nurse Rostering Jonathan Johannsen CS 537 Scheduling Algorithms Most hospitals worldwide create schedules for their staff by hand, spending hours trying to optimally assign workers to various wards at

### Case-Based Reasoning as a Heuristic Selector in a Hyper-Heuristic for Course Timetabling Problems

Knowledge-Based Intelligent Information Engineering Systems and Allied Technologies, Volume 82. Proceedings of KES'02, 336-340. Sep, 2002 Case-Based Reasoning as a Heuristic Selector in a Hyper-Heuristic

### Effect of Using Neural Networks in GA-Based School Timetabling

Effect of Using Neural Networks in GA-Based School Timetabling JANIS ZUTERS Department of Computer Science University of Latvia Raina bulv. 19, Riga, LV-1050 LATVIA janis.zuters@lu.lv Abstract: - The school

### Fuzzy Genetic Heuristic for University Course Timetable Problem

Int. J. Advance. Soft Comput. Appl., Vol. 2, No. 1, March 2010 ISSN 2074-8523; Copyright ICSRS Publication, 2010 www.i-csrs.org Fuzzy Genetic Heuristic for University Course Timetable Problem Arindam Chaudhuri

### A Brief Study of the Nurse Scheduling Problem (NSP)

A Brief Study of the Nurse Scheduling Problem (NSP) Lizzy Augustine, Morgan Faer, Andreas Kavountzis, Reema Patel Submitted Tuesday December 15, 2009 0. Introduction and Background Our interest in the

### The Second International Timetabling Competition (ITC-2007): Curriculum-based Course Timetabling (Track 3)

The Second International Timetabling Competition (ITC-2007): Curriculum-based Course Timetabling (Track 3) preliminary presentation Luca Di Gaspero and Andrea Schaerf DIEGM, University of Udine via delle

### An Integer Programming Model for the School Timetabling Problem

An Integer Programming Model for the School Timetabling Problem Geraldo Ribeiro Filho UNISUZ/IPTI Av. São Luiz, 86 cj 192 01046-000 - República - São Paulo SP Brazil Luiz Antonio Nogueira Lorena LAC/INPE

### A Multi-objective Genetic Algorithm for Employee Scheduling

A Multi-objective Genetic Algorithm for Scheduling Russell Greenspan University of Illinois December, rgreensp@uiuc.edu ABSTRACT A Genetic Algorithm (GA) is applied to an employee scheduling optimization

### STUDY OF PROJECT SCHEDULING AND RESOURCE ALLOCATION USING ANT COLONY OPTIMIZATION 1

STUDY OF PROJECT SCHEDULING AND RESOURCE ALLOCATION USING ANT COLONY OPTIMIZATION 1 Prajakta Joglekar, 2 Pallavi Jaiswal, 3 Vandana Jagtap Maharashtra Institute of Technology, Pune Email: 1 somanprajakta@gmail.com,

### Integer Programming: Algorithms - 3

Week 9 Integer Programming: Algorithms - 3 OPR 992 Applied Mathematical Programming OPR 992 - Applied Mathematical Programming - p. 1/12 Dantzig-Wolfe Reformulation Example Strength of the Linear Programming

### Skill-based Resource Allocation using Genetic Algorithms and Ontologies

Skill-based Resource Allocation using Genetic Algorithms and Ontologies Kushan Nammuni 1, John Levine 2 & John Kingston 2 1 Department of Biomedical Informatics, Eastman Institute for Oral Health Care

### Evaluation of Different Task Scheduling Policies in Multi-Core Systems with Reconfigurable Hardware

Evaluation of Different Task Scheduling Policies in Multi-Core Systems with Reconfigurable Hardware Mahyar Shahsavari, Zaid Al-Ars, Koen Bertels,1, Computer Engineering Group, Software & Computer Technology

### CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION Power systems form the largest man made complex system. It basically consists of generating sources, transmission network and distribution centers. Secure and economic operation

### A Robust Method for Solving Transcendental Equations

www.ijcsi.org 413 A Robust Method for Solving Transcendental Equations Md. Golam Moazzam, Amita Chakraborty and Md. Al-Amin Bhuiyan Department of Computer Science and Engineering, Jahangirnagar University,

### Solving Timetable Scheduling Problem by Using Genetic Algorithms

Solving Timetable Scheduling Problem by Using Genetic Algorithms Branimir Sigl, Marin Golub, Vedran Mornar Faculty of Electrical Engineering and Computing, University of Zagreb Unska 3, 1 Zagreb, Croatia

### Genetic Algorithms. Part 2: The Knapsack Problem. Spring 2009 Instructor: Dr. Masoud Yaghini

Genetic Algorithms Part 2: The Knapsack Problem Spring 2009 Instructor: Dr. Masoud Yaghini Outline Genetic Algorithms: Part 2 Problem Definition Representations Fitness Function Handling of Constraints

### Alpha Cut based Novel Selection for Genetic Algorithm

Alpha Cut based Novel for Genetic Algorithm Rakesh Kumar Professor Girdhar Gopal Research Scholar Rajesh Kumar Assistant Professor ABSTRACT Genetic algorithm (GA) has several genetic operators that can

### International Journal of Software and Web Sciences (IJSWS) www.iasir.net

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) ISSN (Print): 2279-0063 ISSN (Online): 2279-0071 International

### A Review And Evaluations Of Shortest Path Algorithms

A Review And Evaluations Of Shortest Path Algorithms Kairanbay Magzhan, Hajar Mat Jani Abstract: Nowadays, in computer networks, the routing is based on the shortest path problem. This will help in minimizing

### Research on a Heuristic GA-Based Decision Support System for Rice in Heilongjiang Province

Research on a Heuristic GA-Based Decision Support System for Rice in Heilongjiang Province Ran Cao 1,1, Yushu Yang 1, Wei Guo 1, 1 Engineering college of Northeast Agricultural University, Haerbin, China

### D A T A M I N I N G C L A S S I F I C A T I O N

D A T A M I N I N G C L A S S I F I C A T I O N FABRICIO VOZNIKA LEO NARDO VIA NA INTRODUCTION Nowadays there is huge amount of data being collected and stored in databases everywhere across the globe.

### 14.10.2014. Overview. Swarms in nature. Fish, birds, ants, termites, Introduction to swarm intelligence principles Particle Swarm Optimization (PSO)

Overview Kyrre Glette kyrrehg@ifi INF3490 Swarm Intelligence Particle Swarm Optimization Introduction to swarm intelligence principles Particle Swarm Optimization (PSO) 3 Swarms in nature Fish, birds,

### Genetic Algorithms and Sudoku

Genetic Algorithms and Sudoku Dr. John M. Weiss Department of Mathematics and Computer Science South Dakota School of Mines and Technology (SDSM&T) Rapid City, SD 57701-3995 john.weiss@sdsmt.edu MICS 2009

### Smart Graphics: Methoden 3 Suche, Constraints

Smart Graphics: Methoden 3 Suche, Constraints Vorlesung Smart Graphics LMU München Medieninformatik Butz/Boring Smart Graphics SS2007 Methoden: Suche 2 Folie 1 Themen heute Suchverfahren Hillclimbing Simulated

### 6 Creating the Animation

6 Creating the Animation Now that the animation can be represented, stored, and played back, all that is left to do is understand how it is created. This is where we will use genetic algorithms, and this

### Numerical Research on Distributed Genetic Algorithm with Redundant

Numerical Research on Distributed Genetic Algorithm with Redundant Binary Number 1 Sayori Seto, 2 Akinori Kanasugi 1,2 Graduate School of Engineering, Tokyo Denki University, Japan 10kme41@ms.dendai.ac.jp,

### Evolutionary SAT Solver (ESS)

Ninth LACCEI Latin American and Caribbean Conference (LACCEI 2011), Engineering for a Smart Planet, Innovation, Information Technology and Computational Tools for Sustainable Development, August 3-5, 2011,

### A Genetic Algorithm Approach for Solving a Flexible Job Shop Scheduling Problem

A Genetic Algorithm Approach for Solving a Flexible Job Shop Scheduling Problem Sayedmohammadreza Vaghefinezhad 1, Kuan Yew Wong 2 1 Department of Manufacturing & Industrial Engineering, Faculty of Mechanical

### Introduction To Genetic Algorithms

1 Introduction To Genetic Algorithms Dr. Rajib Kumar Bhattacharjya Department of Civil Engineering IIT Guwahati Email: rkbc@iitg.ernet.in References 2 D. E. Goldberg, Genetic Algorithm In Search, Optimization

### Improving the Performance of a Computer-Controlled Player in a Maze Chase Game using Evolutionary Programming on a Finite-State Machine

Improving the Performance of a Computer-Controlled Player in a Maze Chase Game using Evolutionary Programming on a Finite-State Machine Maximiliano Miranda and Federico Peinado Departamento de Ingeniería

### Deployment of express checkout lines at supermarkets

Deployment of express checkout lines at supermarkets Maarten Schimmel Research paper Business Analytics April, 213 Supervisor: René Bekker Faculty of Sciences VU University Amsterdam De Boelelaan 181 181

### Backward Scheduling An effective way of scheduling Warehouse activities

Backward Scheduling An effective way of scheduling Warehouse activities Traditionally, scheduling algorithms were used in capital intensive production processes where there was a need to optimize the production

### A Binary Model on the Basis of Imperialist Competitive Algorithm in Order to Solve the Problem of Knapsack 1-0

212 International Conference on System Engineering and Modeling (ICSEM 212) IPCSIT vol. 34 (212) (212) IACSIT Press, Singapore A Binary Model on the Basis of Imperialist Competitive Algorithm in Order

### Mico - University Schedule Planner

Mico - University Schedule Planner Alexandre Freire, Alfredo Goldman, Carlos Eduardo Ferreira, Christian Asmussen, Fábio Kon 1 Department of Computer Science Institute of Mathematics and Statistics University

### Graphical Analysis for Epidemiology, Manufacturing and Marketing Applications. Andrew Berridge, Michael O Connell TIBCO Data Science

Graphical Analysis for Epidemiology, Manufacturing and Marketing Applications Andrew Berridge, Michael O Connell TIBCO Data Science Agenda Graphical Analysis for Epidemiology, Manufacturing and Marketing

### Genetic Algorithms commonly used selection, replacement, and variation operators Fernando Lobo University of Algarve

Genetic Algorithms commonly used selection, replacement, and variation operators Fernando Lobo University of Algarve Outline Selection methods Replacement methods Variation operators Selection Methods

### Original Article Efficient Genetic Algorithm on Linear Programming Problem for Fittest Chromosomes

International Archive of Applied Sciences and Technology Volume 3 [2] June 2012: 47-57 ISSN: 0976-4828 Society of Education, India Website: www.soeagra.com/iaast/iaast.htm Original Article Efficient Genetic

### School Timetabling in Theory and Practice

School Timetabling in Theory and Practice Irving van Heuven van Staereling VU University, Amsterdam Faculty of Sciences December 24, 2012 Preface At almost every secondary school and university, some

### CHAPTER 3 SECURITY CONSTRAINED OPTIMAL SHORT-TERM HYDROTHERMAL SCHEDULING

60 CHAPTER 3 SECURITY CONSTRAINED OPTIMAL SHORT-TERM HYDROTHERMAL SCHEDULING 3.1 INTRODUCTION Optimal short-term hydrothermal scheduling of power systems aims at determining optimal hydro and thermal generations

### GA as a Data Optimization Tool for Predictive Analytics

GA as a Data Optimization Tool for Predictive Analytics Chandra.J 1, Dr.Nachamai.M 2,Dr.Anitha.S.Pillai 3 1Assistant Professor, Department of computer Science, Christ University, Bangalore,India, chandra.j@christunivesity.in

### Design and Analysis of ACO algorithms for edge matching problems

Design and Analysis of ACO algorithms for edge matching problems Carl Martin Dissing Söderlind Kgs. Lyngby 2010 DTU Informatics Department of Informatics and Mathematical Modelling Technical University

### An Interactive Train Scheduling Tool for Solving and Plotting Running Maps

An Interactive Train Scheduling Tool for Solving and Plotting Running Maps F. Barber 1, M.A. Salido 2, L. Ingolotti 1, M. Abril 1, A. Lova 3, P. Tormos 3 1 DSIC, 3 DEIOAC, Universidad Politécnica de Valencia,

### Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

### Constructing nurse schedules at large hospitals

Intl. Trans. in Op. Res. 10 (2003) 245 265 INTERNATIONAL TRANSACTIONS IN OPERATIONAL RESEARCH Constructing nurse schedules at large hospitals Tiago M. Dias a, Daniel F. Ferber b, Cid C. de Souza c and

### WITH the rapid development of economies, high

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS, VOL. 45, NO. 12, DECEMBER 2015 1535 Improved Quantum-Inspired Evolutionary Algorithm for Large-Size Lane Reservation Ada Che, Member, IEEE,

### Empirically Identifying the Best Genetic Algorithm for Covering Array Generation

Empirically Identifying the Best Genetic Algorithm for Covering Array Generation Liang Yalan 1, Changhai Nie 1, Jonathan M. Kauffman 2, Gregory M. Kapfhammer 2, Hareton Leung 3 1 Department of Computer

Using Business Intelligence to Mitigate Graduation Delay Issues Khaled Almgren PhD Candidate Department of Computer science and Engineering University of Bridgeport Abstract Graduate master students usually

### Solving (NP-Hard) Scheduling Problems with ovirt & OptaPlanner. Jason Brooks Red Hat Open Source & Standards SCALE13x, Feb 2015

Solving (NP-Hard) Scheduling Problems with ovirt & OptaPlanner Jason Brooks Red Hat Open Source & Standards SCALE13x, Feb 2015 What Is ovirt? Large scale, centralized management for server and desktop

### Keywords revenue management, yield management, genetic algorithm, airline reservation

Volume 4, Issue 1, January 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com A Revenue Management

### Asexual Versus Sexual Reproduction in Genetic Algorithms 1

Asexual Versus Sexual Reproduction in Genetic Algorithms Wendy Ann Deslauriers (wendyd@alumni.princeton.edu) Institute of Cognitive Science,Room 22, Dunton Tower Carleton University, 25 Colonel By Drive

### SIMULATING CANCELLATIONS AND OVERBOOKING IN YIELD MANAGEMENT

CHAPTER 8 SIMULATING CANCELLATIONS AND OVERBOOKING IN YIELD MANAGEMENT In YM, one of the major problems in maximizing revenue is the number of cancellations. In industries implementing YM this is very

### Generating Personnel Schedules in an Industrial Setting Using a Tabu Search Algorithm

Generating Personnel Schedules in an Industrial Setting Using a Tabu Search Algorithm Pascal Tellier 1 and George White 2 1 PrairieFyre Software Inc., 555 Legget Dr., Kanata K2K 2X3, Canada pascal@prairiefyre.com

### The Problem of Scheduling Technicians and Interventions in a Telecommunications Company

The Problem of Scheduling Technicians and Interventions in a Telecommunications Company Sérgio Garcia Panzo Dongala November 2008 Abstract In 2007 the challenge organized by the French Society of Operational

### Research Paper Business Analytics. Applications for the Vehicle Routing Problem. Jelmer Blok

Research Paper Business Analytics Applications for the Vehicle Routing Problem Jelmer Blok Applications for the Vehicle Routing Problem Jelmer Blok Research Paper Vrije Universiteit Amsterdam Faculteit

### Scenario: Optimization of Conference Schedule.

MINI PROJECT 1 Scenario: Optimization of Conference Schedule. A conference has n papers accepted. Our job is to organize them in a best possible schedule. The schedule has p parallel sessions at a given

### OPTIMIZED STAFF SCHEDULING AT SWISSPORT

Gurobi User Conference, Frankfurt, 01.02.2016 OPTIMIZED STAFF SCHEDULING AT SWISSPORT Prof. Dr. Andreas Klinkert Dr. Peter Fusek Dipl. Ing. Roman Berner Rita Thalmann Simona Segessenmann Zurich University

### Intelligent Search Heuristics for Cost Based Scheduling. Murphy Choy Michelle Cheong. Abstract

Intelligent Search Heuristics for Cost Based Scheduling Murphy Choy Michelle Cheong Abstract Nurse scheduling is a difficult optimization problem with multiple constraints. There is extensive research

### Using Artificial Life Techniques to Generate Test Cases for Combinatorial Testing

Using Artificial Life Techniques to Generate Test Cases for Combinatorial Testing Presentation: TheinLai Wong Authors: T. Shiba,, T. Tsuchiya, T. Kikuno Osaka University Backgrounds Testing is an important

### The number of marks is given in brackets [ ] at the end of each question or part question. The total number of marks for this paper is 72.

ADVANCED SUBSIDIARY GCE UNIT 4736/01 MATHEMATICS Decision Mathematics 1 THURSDAY 14 JUNE 2007 Afternoon Additional Materials: Answer Booklet (8 pages) List of Formulae (MF1) Time: 1 hour 30 minutes INSTRUCTIONS

### Proposal and Analysis of Stock Trading System Using Genetic Algorithm and Stock Back Test System

Proposal and Analysis of Stock Trading System Using Genetic Algorithm and Stock Back Test System Abstract: In recent years, many brokerage firms and hedge funds use a trading system based on financial

### Genetic Algorithm Based Interconnection Network Topology Optimization Analysis

Genetic Algorithm Based Interconnection Network Topology Optimization Analysis 1 WANG Peng, 2 Wang XueFei, 3 Wu YaMing 1,3 College of Information Engineering, Suihua University, Suihua Heilongjiang, 152061

### STUDY ON APPLICATION OF GENETIC ALGORITHM IN CONSTRUCTION RESOURCE LEVELLING

STUDY ON APPLICATION OF GENETIC ALGORITHM IN CONSTRUCTION RESOURCE LEVELLING N.Satheesh Kumar 1,R.Raj Kumar 2 PG Student, Department of Civil Engineering, Kongu Engineering College, Perundurai, Tamilnadu,India

### VIDEO SCRIPT: 8.2.1 Data Management

VIDEO SCRIPT: 8.2.1 Data Management OUTLINE/ INTENT: Create and control a simple numeric list. Use numeric relationships to describe simple geometry. Control lists using node lacing settings. This video

### Multiobjective Multicast Routing Algorithm

Multiobjective Multicast Routing Algorithm Jorge Crichigno, Benjamín Barán P. O. Box 9 - National University of Asunción Asunción Paraguay. Tel/Fax: (+9-) 89 {jcrichigno, bbaran}@cnc.una.py http://www.una.py

### Research Article Service Composition Optimization Using Differential Evolution and Opposition-based Learning

Research Journal of Applied Sciences, Engineering and Technology 11(2): 229-234, 2015 ISSN: 2040-7459; e-issn: 2040-7467 2015 Maxwell Scientific Publication Corp. Submitted: May 20, 2015 Accepted: June

### Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents

### Optimizing the Placement of Integration Points in Multi-hop Wireless Networks

Optimizing the Placement of Integration Points in Multi-hop Wireless Networks Lili Qiu, Ranveer Chandra, Kamal Jain, and Mohammad Mahdian ABSTRACT Efficient integration of a multi-hop wireless network

### Genetic Algorithm for Scheduling of Laboratory Personnel

Clinical Chemistry 47:1 118 123 (2001) Laboratory Management Genetic Algorithm for Scheduling of Laboratory Personnel James C. Boyd * and John Savory Background: Staffing core laboratories with appropriate

### A genetic algorithm for resource allocation in construction projects

Creative Construction Conference 2015 A genetic algorithm for resource allocation in construction projects Sofia Kaiafa, Athanasios P. Chassiakos* Sofia Kaiafa, Dept. of Civil Engineering, University of

### Report Paper: MatLab/Database Connectivity

Report Paper: MatLab/Database Connectivity Samuel Moyle March 2003 Experiment Introduction This experiment was run following a visit to the University of Queensland, where a simulation engine has been

### Spatial Interaction Model Optimisation on. Parallel Computers

To appear in "Concurrency: Practice and Experience", 1994. Spatial Interaction Model Optimisation on Parallel Computers Felicity George, Nicholas Radcliffe, Mark Smith Edinburgh Parallel Computing Centre,

### Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines

Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines Maher Rebai University of Technology of Troyes Department of Industrial Systems 12 rue Marie Curie, 10000 Troyes France maher.rebai@utt.fr

### Interactive Timetabling

Interactive Timetabling Tomáš Müller, Roman Barták * Charles University Department of Theoretical Computer Science Malostranské náměstí 2/25, Praha 1, Czech Republic tomas.muller@st.mff.cuni.cz bartak@kti.mff.cuni.cz

### Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing

Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing Pietro Belotti, Antonio Capone, Giuliana Carello, Federico Malucelli Tepper School of Business, Carnegie Mellon University, Pittsburgh

### REQUIREMENTS AND SPECIFICATIONS The members of the intended audience for this program are well-educated but are not necessarily experts in computer

The School Therapist Scheduling Program Alex Junge: Computer science major and Project Engineer Sandra Junge: Project Commissioner Deborah Hwang: Project Advisor University of Evansville April 2015 ABSTRACT

### New Modifications of Selection Operator in Genetic Algorithms for the Traveling Salesman Problem

New Modifications of Selection Operator in Genetic Algorithms for the Traveling Salesman Problem Radovic, Marija; and Milutinovic, Veljko Abstract One of the algorithms used for solving Traveling Salesman

### Evolutionary Detection of Rules for Text Categorization. Application to Spam Filtering

Advances in Intelligent Systems and Technologies Proceedings ECIT2004 - Third European Conference on Intelligent Systems and Technologies Iasi, Romania, July 21-23, 2004 Evolutionary Detection of Rules

### Determining the Optimal Combination of Trial Division and Fermat s Factorization Method

Determining the Optimal Combination of Trial Division and Fermat s Factorization Method Joseph C. Woodson Home School P. O. Box 55005 Tulsa, OK 74155 Abstract The process of finding the prime factorization

### Chapter 6: Sensitivity Analysis

Chapter 6: Sensitivity Analysis Suppose that you have just completed a linear programming solution which will have a major impact on your company, such as determining how much to increase the overall production

### PROCESS OF LOAD BALANCING IN CLOUD COMPUTING USING GENETIC ALGORITHM

PROCESS OF LOAD BALANCING IN CLOUD COMPUTING USING GENETIC ALGORITHM Md. Shahjahan Kabir 1, Kh. Mohaimenul Kabir 2 and Dr. Rabiul Islam 3 1 Dept. of CSE, Dhaka International University, Dhaka, Bangladesh

### Projects - Neural and Evolutionary Computing

Projects - Neural and Evolutionary Computing 2014-2015 I. Application oriented topics 1. Task scheduling in distributed systems. The aim is to assign a set of (independent or correlated) tasks to some

### Engineering Route Planning Algorithms. Online Topological Ordering for Dense DAGs

Algorithm Engineering for Large Graphs Engineering Route Planning Algorithms Peter Sanders Dominik Schultes Universität Karlsruhe (TH) Online Topological Ordering for Dense DAGs Deepak Ajwani Tobias Friedrich

### A Genetic Algorithm Processor Based on Redundant Binary Numbers (GAPBRBN)

ISSN: 2278 1323 All Rights Reserved 2014 IJARCET 3910 A Genetic Algorithm Processor Based on Redundant Binary Numbers (GAPBRBN) Miss: KIRTI JOSHI Abstract A Genetic Algorithm (GA) is an intelligent search

### A hybrid genetic algorithm approach to mixed-model assembly line balancing

Int J Adv Manuf Technol (2006) 28: 337 341 DOI 10.1007/s00170-004-2373-3 O R I G I N A L A R T I C L E A. Noorul Haq J. Jayaprakash K. Rengarajan A hybrid genetic algorithm approach to mixed-model assembly

### Routing in packet-switching networks

Routing in packet-switching networks Circuit switching vs. Packet switching Most of WANs based on circuit or packet switching Circuit switching designed for voice Resources dedicated to a particular call

### A Hybrid Tabu Search Method for Assembly Line Balancing

Proceedings of the 7th WSEAS International Conference on Simulation, Modelling and Optimization, Beijing, China, September 15-17, 2007 443 A Hybrid Tabu Search Method for Assembly Line Balancing SUPAPORN

### CLOUD DATABASE ROUTE SCHEDULING USING COMBANATION OF PARTICLE SWARM OPTIMIZATION AND GENETIC ALGORITHM

CLOUD DATABASE ROUTE SCHEDULING USING COMBANATION OF PARTICLE SWARM OPTIMIZATION AND GENETIC ALGORITHM *Shabnam Ghasemi 1 and Mohammad Kalantari 2 1 Deparment of Computer Engineering, Islamic Azad University,

### CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING

CHAPTER 6 CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING 6.1 INTRODUCTION The technical challenges in WMNs are load balancing, optimal routing, fairness, network auto-configuration and mobility

### Optimizing the Placement of Integration Points in Multi-hop Wireless Networks

Optimizing the Placement of Integration Points in Multi-hop Wireless Networks Ranveer Chandra, Lili Qiu, Kamal Jain, Mohammad Mahdian Cornell University Microsoft Research Abstract Efficient integration

### 5.1 Bipartite Matching

CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

### Analysis of Micromouse Maze Solving Algorithms

1 Analysis of Micromouse Maze Solving Algorithms David M. Willardson ECE 557: Learning from Data, Spring 2001 Abstract This project involves a simulation of a mouse that is to find its way through a maze.

### An optimisation framework for determination of capacity in railway networks

CASPT 2015 An optimisation framework for determination of capacity in railway networks Lars Wittrup Jensen Abstract Within the railway industry, high quality estimates on railway capacity is crucial information,

### An ant colony optimization for single-machine weighted tardiness scheduling with sequence-dependent setups

Proceedings of the 6th WSEAS International Conference on Simulation, Modelling and Optimization, Lisbon, Portugal, September 22-24, 2006 19 An ant colony optimization for single-machine weighted tardiness

### Solving the Vehicle Routing Problem with Multiple Trips by Adaptive Memory Programming

Solving the Vehicle Routing Problem with Multiple Trips by Adaptive Memory Programming Alfredo Olivera and Omar Viera Universidad de la República Montevideo, Uruguay ICIL 05, Montevideo, Uruguay, February

### Exploring the use of hyper-heuristics to solve a dynamic bike-sharing problem

Exploring the use of hyper-heuristics to solve a dynamic bike-sharing problem Emily Myers, Ghofran Shaker July 21, 2015 Abstract In a self-service bike-share system we have a finite number of stations

### Scheduling Breaks in Shift Plans for Call Centers

Scheduling Breaks in Shift Plans for Call Centers Andreas Beer Johannes Gärtner Nysret Musliu Werner Schafhauser Wolfgang Slany Abstract In this paper we consider a real-life break scheduling problem for