This document describes a study applying a genetic algorithm to solve the timetable problem of assigning teachers to classes at an Italian high school. The timetable problem is described as assigning teachers (resources) to teach classes (jobs) within time intervals (hours) while satisfying constraints, with the goal of minimizing costs and infeasibilities. The genetic algorithm represents possible timetable solutions as chromosomes, applies genetic operators like reproduction, crossover and mutation to evolve solutions over generations, and uses a fitness function related to the objective function. Initial results show the genetic algorithm with local search and tabu search outperforming simulated annealing and handmade timetables for this problem.
A genetic algorithm for a university weekly courses timetabling problemMotasem Smadi
This document presents a genetic algorithm for solving a university weekly course timetabling problem. The timetabling problem involves allocating courses, teachers, rooms and time slots while satisfying constraints. The authors propose a sector-based genetic algorithm that represents timetables as chromosomes. Preliminary experimental results show the algorithm is promising for generating timetables that satisfy constraints. The algorithm uses genetic operators like crossover and mutation to evolve timetable solutions over multiple generations.
Parallel Genetic Algorithms for University Scheduling ProblemIJECEIAES
University scheduling timetabling problem, falls into NP hard problems. Re-searchers have tried with many techniques to find the most suitable and fastest way for solving the problem. With the emergence of multi-core systems, the parallel implementation was considered for finding the solution. Our approaches attempt to combine several techniques in two algorithms: coarse grained algorithm and multi thread tournament algorithm. The results obtained from two algorithms are compared, using an algorithm evaluation function. Considering execution time, the coarse grained algorithm performed twice better than the multi thread algorithm.
HIGH SCHOOL TIMETABLING USING TABU SEARCH AND PARTIAL FEASIBILITY PRESERVING ...P singh
The high school timetabling is a combinatorial optimization problem. It is proved to be NP-hard and has several hard and soft constraints. A given set of events, class-teacher meetings and resources are assigned to the limited space and time under hard constraints which are strictly followed and soft constraints which are satisfied as far as possible. The feasibility of timetable is determined by hard constraints and the soft constraints determine its quality. Difficult combinatorial optimization problems are frequently solved using Genetic Algorithm (GA). We propose Partial Feasibility Preserving Genetic Algorithm (PFP-GA) combined with tabu search to solve hdtt4, “hard timetabling” problem a test data set in OR-Library. The solution to this problem is zero clashes and maintaining teacher’s workload on each class in given venue. The modified GA procedures are written for intelligent operators and repair. The PFP-GA in association with Tabu Search (TS) converges faster and gives solution within a few seconds. The results are compared to that of using different methodologies on same data set.
The document discusses using a genetic algorithm to solve the complex problem of university course scheduling. It describes the problem which involves assigning courses, professors, classrooms and time slots while satisfying various hard and soft constraints. A phased approach is proposed which first assigns professors to subjects, then labs to courses, followed by assigning lectures to time slots and labs/tutorials to days and time slots. The genetic algorithm representation and fitness function are defined based on the scheduling problem. The approach is demonstrated on the course scheduling problem at Christ University and is able to generate a timetable that satisfies the hard constraints, though some soft constraints remain unsatisfied.
Fuzzy clustering has been widely studied and applied in a variety of key areas of science and
engineering. In this paper the Improved Teaching Learning Based Optimization (ITLBO)
algorithm is used for data clustering, in which the objects in the same cluster are similar. This
algorithm has been tested on several datasets and compared with some other popular algorithm
in clustering. Results have been shown that the proposed method improves the output of
clustering and can be efficiently used for fuzzy clustering.
A Hybrid Pareto Based Multi Objective Evolutionary Algorithm for a Partial Fl...IOSRJM
In this paper, A Partial flexible, open-shop scheduling problem (FOSP) is a combinatorial optimization problem. This work, with the objective of optimizing the makespan of an FOSP uses a hybrid Pareto based optimization (HPBO) approach. The problems are tested on Taillard’s benchmark problems. The consequences of Nawaz, Encore and Ham (NEH) meta heuristic are introduced to the HPBO to direct the search into a quality space. Variable neighbourhood search for (VNS) is employed to overcome the early convergence of the HPBO and helps in global search. The results are compared with standalone HPBO, traditional meta heuristics and the Taillard’s upper bounds. Five problem locate are taken from Taillard’s benchmark problems and are solved for various problem sizes. Thus a total of 35 problems is given to explain. The experimental results show that the solution quality of FOSP can be improved if the search is directed in a quality space in light of the proposed LHPBO approach (LHPBO-NEH-VNS).
Review of Metaheuristics and Generalized Evolutionary Walk AlgorithmXin-She Yang
This document provides an overview of nature-inspired metaheuristic algorithms for optimization. It discusses the main components of metaheuristic algorithms, including intensification and diversification. It then reviews the history and development of several important metaheuristic algorithms from the 1960s to the 1990s, including genetic algorithms, evolutionary strategies, simulated annealing, ant colony optimization, particle swarm optimization, and differential evolution. The document aims to analyze why these algorithms work and provide a unified view of metaheuristics.
A genetic algorithm for a university weekly courses timetabling problemMotasem Smadi
This document presents a genetic algorithm for solving a university weekly course timetabling problem. The timetabling problem involves allocating courses, teachers, rooms and time slots while satisfying constraints. The authors propose a sector-based genetic algorithm that represents timetables as chromosomes. Preliminary experimental results show the algorithm is promising for generating timetables that satisfy constraints. The algorithm uses genetic operators like crossover and mutation to evolve timetable solutions over multiple generations.
Parallel Genetic Algorithms for University Scheduling ProblemIJECEIAES
University scheduling timetabling problem, falls into NP hard problems. Re-searchers have tried with many techniques to find the most suitable and fastest way for solving the problem. With the emergence of multi-core systems, the parallel implementation was considered for finding the solution. Our approaches attempt to combine several techniques in two algorithms: coarse grained algorithm and multi thread tournament algorithm. The results obtained from two algorithms are compared, using an algorithm evaluation function. Considering execution time, the coarse grained algorithm performed twice better than the multi thread algorithm.
HIGH SCHOOL TIMETABLING USING TABU SEARCH AND PARTIAL FEASIBILITY PRESERVING ...P singh
The high school timetabling is a combinatorial optimization problem. It is proved to be NP-hard and has several hard and soft constraints. A given set of events, class-teacher meetings and resources are assigned to the limited space and time under hard constraints which are strictly followed and soft constraints which are satisfied as far as possible. The feasibility of timetable is determined by hard constraints and the soft constraints determine its quality. Difficult combinatorial optimization problems are frequently solved using Genetic Algorithm (GA). We propose Partial Feasibility Preserving Genetic Algorithm (PFP-GA) combined with tabu search to solve hdtt4, “hard timetabling” problem a test data set in OR-Library. The solution to this problem is zero clashes and maintaining teacher’s workload on each class in given venue. The modified GA procedures are written for intelligent operators and repair. The PFP-GA in association with Tabu Search (TS) converges faster and gives solution within a few seconds. The results are compared to that of using different methodologies on same data set.
The document discusses using a genetic algorithm to solve the complex problem of university course scheduling. It describes the problem which involves assigning courses, professors, classrooms and time slots while satisfying various hard and soft constraints. A phased approach is proposed which first assigns professors to subjects, then labs to courses, followed by assigning lectures to time slots and labs/tutorials to days and time slots. The genetic algorithm representation and fitness function are defined based on the scheduling problem. The approach is demonstrated on the course scheduling problem at Christ University and is able to generate a timetable that satisfies the hard constraints, though some soft constraints remain unsatisfied.
Fuzzy clustering has been widely studied and applied in a variety of key areas of science and
engineering. In this paper the Improved Teaching Learning Based Optimization (ITLBO)
algorithm is used for data clustering, in which the objects in the same cluster are similar. This
algorithm has been tested on several datasets and compared with some other popular algorithm
in clustering. Results have been shown that the proposed method improves the output of
clustering and can be efficiently used for fuzzy clustering.
A Hybrid Pareto Based Multi Objective Evolutionary Algorithm for a Partial Fl...IOSRJM
In this paper, A Partial flexible, open-shop scheduling problem (FOSP) is a combinatorial optimization problem. This work, with the objective of optimizing the makespan of an FOSP uses a hybrid Pareto based optimization (HPBO) approach. The problems are tested on Taillard’s benchmark problems. The consequences of Nawaz, Encore and Ham (NEH) meta heuristic are introduced to the HPBO to direct the search into a quality space. Variable neighbourhood search for (VNS) is employed to overcome the early convergence of the HPBO and helps in global search. The results are compared with standalone HPBO, traditional meta heuristics and the Taillard’s upper bounds. Five problem locate are taken from Taillard’s benchmark problems and are solved for various problem sizes. Thus a total of 35 problems is given to explain. The experimental results show that the solution quality of FOSP can be improved if the search is directed in a quality space in light of the proposed LHPBO approach (LHPBO-NEH-VNS).
Review of Metaheuristics and Generalized Evolutionary Walk AlgorithmXin-She Yang
This document provides an overview of nature-inspired metaheuristic algorithms for optimization. It discusses the main components of metaheuristic algorithms, including intensification and diversification. It then reviews the history and development of several important metaheuristic algorithms from the 1960s to the 1990s, including genetic algorithms, evolutionary strategies, simulated annealing, ant colony optimization, particle swarm optimization, and differential evolution. The document aims to analyze why these algorithms work and provide a unified view of metaheuristics.
A Meaning-Based Statistical English Math Word Problem Solver.pdfAnna Landers
This document summarizes a research paper that introduces MeSys, a meaning-based approach for solving English math word problems. MeSys first analyzes text to transform the body and question into logic forms, then performs inference to solve problems. It outperforms existing systems by understanding the meaning of each quantity rather than just pattern matching. The researchers created a noisy dataset to test if systems truly understand problems or just match patterns.
The document presents a multi-objective set covering problem to optimally locate distribution centers for a trucking company in Iran. The objectives are to minimize the number of distribution centers selected (the primary objective) and maximize qualitative desirability scores of the locations. The qualitative scores are determined using Analytical Hierarchy Process and TOPSIS methods based on factors like cost, accessibility, weather, growth potential, and economic advantages. A utility function combines the objectives into a single function that is solved as a mixed integer program. The model is implemented on a case study with 30 cities in Iran considered as potential distribution center locations.
Metaheuristic Optimization: Algorithm Analysis and Open ProblemsXin-She Yang
This document analyzes metaheuristic optimization algorithms and discusses open problems in their analysis. It reviews convergence analyses that have been done for simulated annealing and particle swarm optimization. It also provides a novel convergence analysis for the firefly algorithm, showing that it can converge for certain parameter values but also exhibit chaos which can be advantageous for exploration. The document outlines the need for further mathematical analysis of convergence and efficiency in metaheuristics.
This document discusses using genetic algorithms to solve a multi-objective traveling salesman problem (MOTSP) that considers both cost and CO2 emissions. It provides background on genetic algorithms and the traveling salesman problem. The study aims to identify how tuning genetic operators and parameters can improve the efficiency of genetic algorithms in solving the MOTSP with CO2 emissions. Empirical results show that performance improves with some combinations of parameters and operators.
MULTIPROCESSOR SCHEDULING AND PERFORMANCE EVALUATION USING ELITIST NON DOMINA...ijcsa
Task scheduling plays an important part in the improvement of parallel and distributed systems. The problem of task scheduling has been shown to be NP hard. The time consuming is more to solve the problem in deterministic techniques. There are algorithms developed to schedule tasks for distributed environment, which focus on single objective. The problem becomes more complex, while considering biobjective.This paper presents bi-objective independent task scheduling algorithm using elitist Nondominated
sorting genetic algorithm (NSGA-II) to minimize the makespan and flowtime. This algorithm generates pareto global optimal solutions for this bi-objective task scheduling problem. NSGA-II is implemented by using the set of benchmark instances. The experimental result shows NSGA-II generates efficient optimal schedules.
Cuckoo Search: Recent Advances and ApplicationsXin-She Yang
This document summarizes recent advances and applications of the cuckoo search algorithm, a nature-inspired metaheuristic optimization algorithm developed in 2009. Cuckoo search mimics the brood parasitism breeding behavior of some cuckoo species. It uses a combination of local and global search achieved through random walks and Levy flights to efficiently explore the search space. Studies show cuckoo search often finds optimal solutions faster than genetic algorithms and particle swarm optimization. The algorithm has been applied to diverse optimization problems and continues to be improved and extended to multi-objective optimization.
This document presents an algorithm for interactively learning monotone Boolean functions. The algorithm is based on Hansel's lemma, which states that algorithms based on finding maximal upper zeros and minimal lower units are optimal for learning monotone Boolean functions. The algorithm allows decreasing the number of queries needed to learn non-monotone functions that can be represented as combinations of monotone functions. The effectiveness of the approach is demonstrated through computational experiments in engineering and medical applications.
This document presents an algorithm for interactively learning monotone Boolean functions from examples. The algorithm is based on Hansel's lemma, which states that the optimal number of queries needed to learn a monotone Boolean function of n variables is O(n). The algorithm learns the target function by finding its maximal upper zeros and minimal lower units, representing the borders of the negative and positive patterns, respectively. The algorithm is optimal in the sense that it minimizes the maximum number of queries needed for any monotone Boolean function.
Dynamic Question Answer Generator An Enhanced Approach to Question Generationijtsrd
Teachers and educational institutions seek new questions with different difficulty levels for setting up tests for their students. Also, students long for distinct and new questions to practice for their tests as redundant questions are found everywhere. However, setting up new questions every time is a tedious task for teachers. To overcome this conundrum, we have concocted an artificially intelligent system which generates questions and answers for the mathematical topic –Quadratic equations. The system uses i Randomization technique for generating unique questions each time and ii First order logic and Automated deduction to produce solution for the generated question. The goal was achieved and the system works efficiently. It is robust, reliable and helpful for teachers, students and other organizations for retrieving Quadratic equations questions, hassle free. Rahul Bhatia | Vishakha Gautam | Yash Kumar | Ankush Garg ""Dynamic Question Answer Generator: An Enhanced Approach to Question Generation"" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-4 , June 2019, URL: https://www.ijtsrd.com/papers/ijtsrd23730.pdf
Paper URL: https://www.ijtsrd.com/computer-science/artificial-intelligence/23730/dynamic-question-answer-generator-an-enhanced-approach-to-question-generation/rahul-bhatia
This document summarizes an optimization of a time scheduling problem using a genetic algorithm in MATLAB. The problem involves optimizing the efficiency of completing a number of tasks within a given time span. A chromosome represents a permutation of half-hour time blocks. The genetic algorithm was implemented to find schedules that maximize the value and efficiency of tasks completed. Testing on sample 3-task and 8-task problems showed the algorithm improving the overall fitness of schedules over generations, though further improvements could be made to accelerate convergence.
TEACHING AND LEARNING BASED OPTIMISATIONUday Wankar
Teaching–Learning-Based Optimization (TLBO) seems to be a rising star from amongst a number of metaheuristics with relatively competitive performances. It is reported that it outperforms some of the well-known metaheuristics regarding constrained benchmark functions, constrained mechanical design, and continuous non-linear numerical optimization problems. Such a breakthrough has steered us towards investigating the secrets of TLBO’s dominance. This report’s findings on TLBO qualitatively and quantitatively through code-reviews and experiments, respectively.
An Essay Concerning Human Understanding Of Genetic ProgrammingJennifer Roman
This document discusses the relationship between theory and practice in genetic programming. It argues that genetic programming practice is increasingly moving toward biology by borrowing mechanisms from biological systems like DNA dynamics, neural learning, and regulatory networks. As a result, genetic programming theory should also increasingly borrow from biology to remain relevant to advances in practice. Specific challenges for future theory are discussed, such as accounting for evolved code structure, architectural evolution, and developmental processes at genetic, morphological, and behavioral levels. The document suggests that genetic programming theory will need to consider mechanisms that regulate genetic stability and evolvability, as these are now understood to play important roles in biological systems and in genetic programming research.
Genetic Approach to Parallel SchedulingIOSR Journals
Genetic algorithms were used to solve the parallel task scheduling problem of minimizing overall completion time. The genetic algorithm represents each scheduling as a chromosome. It initializes a population of random schedules and evaluates their fitness based on completion time. Selection, crossover, and mutation operators evolve the population over generations. The best schedule found schedules tasks to processors to minimize completion time. Testing on task graphs of varying sizes showed that the genetic algorithm finds improved schedules over generations and that tournament selection works better than roulette wheel selection.
Free Lunch or No Free Lunch: That is not Just a Question?Xin-She Yang
The document discusses no-free-lunch theorems and algorithm convergence analysis for metaheuristic algorithms. It reviews how no-free-lunch theorems make assumptions that may not hold in practice, allowing for "free lunches" in certain cases like continuous problems or problems with problem-specific knowledge. It also summarizes convergence analyses done for particle swarm optimization and firefly algorithms, showing how they can be modeled as dynamical systems. The implications of no-free-lunch theorems for algorithm development are that while no universal best algorithm exists, problem-specific knowledge can help design algorithms that work well for certain problem subsets.
The document proposes a hybrid algorithm combining genetic algorithm and cuckoo search optimization to solve job shop scheduling problems. It aims to minimize makespan (completion time of all jobs) by scheduling jobs on machines. The genetic algorithm is used to explore the search space but can get trapped in local optima. Cuckoo search optimization performs local search faster than genetic algorithm and helps avoid local optima. Experimental results on benchmark problems show the hybrid algorithm yields better solutions in terms of makespan and runtime compared to genetic algorithm and ant colony optimization algorithms.
A stochastic algorithm for solving the posterior inference problem in topic m...TELKOMNIKA JOURNAL
Latent Dirichlet allocation (LDA) is an important probabilistic generative model and has usually used in many domains such as text mining, retrieving information, or natural language processing domains. The posterior inference is the important problem in deciding the quality of the LDA model, but it is usually non-deterministic polynomial (NP)-hard and often intractable, especially in the worst case. For individual texts, some proposed methods such as variational Bayesian (VB), collapsed variational Bayesian (CVB), collapsed Gibb’s sampling (CGS), and online maximum a posteriori estimation (OPE) to avoid solving this problem directly, but they usually do not have any guarantee of convergence rate or quality of learned models excepting variants of OPE. Based on OPE and using the Bernoulli distribution combined, we design an algorithm namely general online maximum a posteriori estimation using two stochastic bounds (GOPE2) for solving the posterior inference problem in LDA model. It also is the NP-hard non-convex optimization problem. Via proof of theory and experimental results on the large datasets, we realize that GOPE2 is performed to develop the efficient method for learning topic models from big text collections especially massive/streaming texts, and more efficient than previous methods.
EFFECTS OF THE DIFFERENT MIGRATION PERIODS ON PARALLEL MULTI-SWARM PSOcscpconf
This document discusses the effects of different migration periods on the Parallel Multi-Swarm Particle Swarm Optimization (PCLPSO) algorithm. PCLPSO is a parallel metaheuristic algorithm based on Particle Swarm Optimization and the Comprehensive Learning Particle Swarm Optimization. It uses multiple swarms that work cooperatively and concurrently. The migration period, which is the frequency at which swarms share information, is an important parameter. The document analyzes PCLPSO performance on benchmark functions using different migration periods, finding the best periods varied with problem dimension and type.
Effects of The Different Migration Periods on Parallel Multi-Swarm PSO csandit
In recent years, there has been an increasing inter
est in parallel computing. In parallel
computing, multiple computing resources are used si
multaneously in solving a problem. There
are multiple processors that will work concurrently
and the program is divided into different
tasks to be simultaneously solved. Recently, a cons
iderable literature has grown up around the
theme of metaheuristic algorithms. Particle swarm o
ptimization (PSO) algorithm is a popular
metaheuristic algorithm. The parallel comprehensive
learning particle swarm optimization
(PCLPSO) algorithm based on PSO has multiple swarms
based on the master-slave paradigm
and works cooperatively and concurrently. The migra
tion period is an important parameter in
PCLPSO and affects the efficiency of the algorithm.
We used the well-known benchmark
functions in the experiments and analysed the perfo
rmance of PCLPSO using different
migration periods.
FAST School of ComputingProject Differential Equations (MTChereCheek752
FAST School of Computing
Project Differential Equations (MT-224)
Due Date: 14th, June 2021. Max Marks: 70
A Brief Literature Review:
We have studied the population growth model i.e., if P represents population. Since the
population varies over time, it is understood to be a function of time. Therefore we use the
notation P (t) for the population as a function of time. If P (t) is a differentiable function,
then the first derivative
dP
dt
represents the instantaneous rate of change of the population
as a function of time, which is proportional to present population in case of the exponential
growth and decay of populations and radioactive substances. Mathematically
dP
dt
∝ P.
We can verify that the function P (t) = P0e
rt satisfies the initial-value problem
dP
dt
= rP, P (0) = P0.
This differential equation has an interesting interpretation. The left-hand side represents
the rate at which the population increases (or decreases). The right-hand side is equal to a
positive constant multiplied by the current population. Therefore the differential equation
states that the rate at which the population increases is proportional to the population at
that point in time. Furthermore, it states that the constant of proportionality never changes.
One problem with this function is its prediction that as time goes on, the population grows
without bound. This is unrealistic in a real-world setting. Various factors limit the rate of
growth of a particular population, including birth rate, death rate, food supply, predators,
diseases and so on. The growth constant r usually takes into consideration the birth and
death rates but none of the other factors, and it can be interpreted as a net (birth minus
death) percent growth rate per unit time. A natural question to ask is whether the population
growth rate stays constant, or whether it changes over time. Biologists have found that in
many biological systems, the population grows until a certain steady-state population is
reached. This possibility is not taken into account with exponential growth. However, the
concept of carrying capacity allows for the possibility that in a given area, only a certain
number of a given organism or animal can thrive without running into resource issues.
• The carrying capacity of an organism in a given environment is defined to be the maxi-
mum population of that organism that the environment can sustain indefinitely.
• We use the variable K to denote the carrying capacity. The growth rate is represented by
the variable r. Using these variables, we can define the logistic differential equation.
dP
dt
= rP
(
1 −
P
K
)
.
1
• An improvement to the logistic model includes a threshold population. The threshold
population is defined to be the minimum population that is necessary for the species
to survive. We use the variable T to represent the threshold population. A differential
equation that incorporates both the threshold population T and carrying capacit ...
This document describes a new multi-objective evolutionary algorithm called MOSCA2. MOSCA2 improves upon an earlier algorithm called MOSCA by using subpopulations instead of clusters, truncation selection instead of random selection, adding a recombination operator, and adding a separate archive to store non-dominated solutions. The algorithm uses subpopulations, truncation selection, and a deleting procedure to maintain diversity without needing density information or niche methods. It also uses a separate archive that stores and periodically updates non-dominated solutions found, deleting some when the archive becomes full. The algorithm is capable of solving both constrained and unconstrained nonlinear multi-objective optimization problems.
The document provides instructions for a lab experiment to test the relationship between current, force, and length of a conductor wire by passing a current through a wire near magnets. Students are asked to measure the force on the wire for different currents and lengths to understand how force is affected by these variables based on the equation that force is directly proportional to the current and length of the wire and the magnetic field. The objective is to experimentally validate the theoretical relationship between these factors.
Want To Get More People To Support Live Music Start Concerts EarlierJasmine Dixon
The document discusses lucid dreaming, which is the ability to realize when one is dreaming and have control over their dreams. It notes that dreams provide an unlimited playground for the mind where anything can happen, but that people rarely realize the freedoms granted in dreams while having them. Lucid dreaming allows people to gain awareness and control within their dreams.
More Related Content
Similar to A Genetic Algorithm To Solve The Timetable Problem
A Meaning-Based Statistical English Math Word Problem Solver.pdfAnna Landers
This document summarizes a research paper that introduces MeSys, a meaning-based approach for solving English math word problems. MeSys first analyzes text to transform the body and question into logic forms, then performs inference to solve problems. It outperforms existing systems by understanding the meaning of each quantity rather than just pattern matching. The researchers created a noisy dataset to test if systems truly understand problems or just match patterns.
The document presents a multi-objective set covering problem to optimally locate distribution centers for a trucking company in Iran. The objectives are to minimize the number of distribution centers selected (the primary objective) and maximize qualitative desirability scores of the locations. The qualitative scores are determined using Analytical Hierarchy Process and TOPSIS methods based on factors like cost, accessibility, weather, growth potential, and economic advantages. A utility function combines the objectives into a single function that is solved as a mixed integer program. The model is implemented on a case study with 30 cities in Iran considered as potential distribution center locations.
Metaheuristic Optimization: Algorithm Analysis and Open ProblemsXin-She Yang
This document analyzes metaheuristic optimization algorithms and discusses open problems in their analysis. It reviews convergence analyses that have been done for simulated annealing and particle swarm optimization. It also provides a novel convergence analysis for the firefly algorithm, showing that it can converge for certain parameter values but also exhibit chaos which can be advantageous for exploration. The document outlines the need for further mathematical analysis of convergence and efficiency in metaheuristics.
This document discusses using genetic algorithms to solve a multi-objective traveling salesman problem (MOTSP) that considers both cost and CO2 emissions. It provides background on genetic algorithms and the traveling salesman problem. The study aims to identify how tuning genetic operators and parameters can improve the efficiency of genetic algorithms in solving the MOTSP with CO2 emissions. Empirical results show that performance improves with some combinations of parameters and operators.
MULTIPROCESSOR SCHEDULING AND PERFORMANCE EVALUATION USING ELITIST NON DOMINA...ijcsa
Task scheduling plays an important part in the improvement of parallel and distributed systems. The problem of task scheduling has been shown to be NP hard. The time consuming is more to solve the problem in deterministic techniques. There are algorithms developed to schedule tasks for distributed environment, which focus on single objective. The problem becomes more complex, while considering biobjective.This paper presents bi-objective independent task scheduling algorithm using elitist Nondominated
sorting genetic algorithm (NSGA-II) to minimize the makespan and flowtime. This algorithm generates pareto global optimal solutions for this bi-objective task scheduling problem. NSGA-II is implemented by using the set of benchmark instances. The experimental result shows NSGA-II generates efficient optimal schedules.
Cuckoo Search: Recent Advances and ApplicationsXin-She Yang
This document summarizes recent advances and applications of the cuckoo search algorithm, a nature-inspired metaheuristic optimization algorithm developed in 2009. Cuckoo search mimics the brood parasitism breeding behavior of some cuckoo species. It uses a combination of local and global search achieved through random walks and Levy flights to efficiently explore the search space. Studies show cuckoo search often finds optimal solutions faster than genetic algorithms and particle swarm optimization. The algorithm has been applied to diverse optimization problems and continues to be improved and extended to multi-objective optimization.
This document presents an algorithm for interactively learning monotone Boolean functions. The algorithm is based on Hansel's lemma, which states that algorithms based on finding maximal upper zeros and minimal lower units are optimal for learning monotone Boolean functions. The algorithm allows decreasing the number of queries needed to learn non-monotone functions that can be represented as combinations of monotone functions. The effectiveness of the approach is demonstrated through computational experiments in engineering and medical applications.
This document presents an algorithm for interactively learning monotone Boolean functions from examples. The algorithm is based on Hansel's lemma, which states that the optimal number of queries needed to learn a monotone Boolean function of n variables is O(n). The algorithm learns the target function by finding its maximal upper zeros and minimal lower units, representing the borders of the negative and positive patterns, respectively. The algorithm is optimal in the sense that it minimizes the maximum number of queries needed for any monotone Boolean function.
Dynamic Question Answer Generator An Enhanced Approach to Question Generationijtsrd
Teachers and educational institutions seek new questions with different difficulty levels for setting up tests for their students. Also, students long for distinct and new questions to practice for their tests as redundant questions are found everywhere. However, setting up new questions every time is a tedious task for teachers. To overcome this conundrum, we have concocted an artificially intelligent system which generates questions and answers for the mathematical topic –Quadratic equations. The system uses i Randomization technique for generating unique questions each time and ii First order logic and Automated deduction to produce solution for the generated question. The goal was achieved and the system works efficiently. It is robust, reliable and helpful for teachers, students and other organizations for retrieving Quadratic equations questions, hassle free. Rahul Bhatia | Vishakha Gautam | Yash Kumar | Ankush Garg ""Dynamic Question Answer Generator: An Enhanced Approach to Question Generation"" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-4 , June 2019, URL: https://www.ijtsrd.com/papers/ijtsrd23730.pdf
Paper URL: https://www.ijtsrd.com/computer-science/artificial-intelligence/23730/dynamic-question-answer-generator-an-enhanced-approach-to-question-generation/rahul-bhatia
This document summarizes an optimization of a time scheduling problem using a genetic algorithm in MATLAB. The problem involves optimizing the efficiency of completing a number of tasks within a given time span. A chromosome represents a permutation of half-hour time blocks. The genetic algorithm was implemented to find schedules that maximize the value and efficiency of tasks completed. Testing on sample 3-task and 8-task problems showed the algorithm improving the overall fitness of schedules over generations, though further improvements could be made to accelerate convergence.
TEACHING AND LEARNING BASED OPTIMISATIONUday Wankar
Teaching–Learning-Based Optimization (TLBO) seems to be a rising star from amongst a number of metaheuristics with relatively competitive performances. It is reported that it outperforms some of the well-known metaheuristics regarding constrained benchmark functions, constrained mechanical design, and continuous non-linear numerical optimization problems. Such a breakthrough has steered us towards investigating the secrets of TLBO’s dominance. This report’s findings on TLBO qualitatively and quantitatively through code-reviews and experiments, respectively.
An Essay Concerning Human Understanding Of Genetic ProgrammingJennifer Roman
This document discusses the relationship between theory and practice in genetic programming. It argues that genetic programming practice is increasingly moving toward biology by borrowing mechanisms from biological systems like DNA dynamics, neural learning, and regulatory networks. As a result, genetic programming theory should also increasingly borrow from biology to remain relevant to advances in practice. Specific challenges for future theory are discussed, such as accounting for evolved code structure, architectural evolution, and developmental processes at genetic, morphological, and behavioral levels. The document suggests that genetic programming theory will need to consider mechanisms that regulate genetic stability and evolvability, as these are now understood to play important roles in biological systems and in genetic programming research.
Genetic Approach to Parallel SchedulingIOSR Journals
Genetic algorithms were used to solve the parallel task scheduling problem of minimizing overall completion time. The genetic algorithm represents each scheduling as a chromosome. It initializes a population of random schedules and evaluates their fitness based on completion time. Selection, crossover, and mutation operators evolve the population over generations. The best schedule found schedules tasks to processors to minimize completion time. Testing on task graphs of varying sizes showed that the genetic algorithm finds improved schedules over generations and that tournament selection works better than roulette wheel selection.
Free Lunch or No Free Lunch: That is not Just a Question?Xin-She Yang
The document discusses no-free-lunch theorems and algorithm convergence analysis for metaheuristic algorithms. It reviews how no-free-lunch theorems make assumptions that may not hold in practice, allowing for "free lunches" in certain cases like continuous problems or problems with problem-specific knowledge. It also summarizes convergence analyses done for particle swarm optimization and firefly algorithms, showing how they can be modeled as dynamical systems. The implications of no-free-lunch theorems for algorithm development are that while no universal best algorithm exists, problem-specific knowledge can help design algorithms that work well for certain problem subsets.
The document proposes a hybrid algorithm combining genetic algorithm and cuckoo search optimization to solve job shop scheduling problems. It aims to minimize makespan (completion time of all jobs) by scheduling jobs on machines. The genetic algorithm is used to explore the search space but can get trapped in local optima. Cuckoo search optimization performs local search faster than genetic algorithm and helps avoid local optima. Experimental results on benchmark problems show the hybrid algorithm yields better solutions in terms of makespan and runtime compared to genetic algorithm and ant colony optimization algorithms.
A stochastic algorithm for solving the posterior inference problem in topic m...TELKOMNIKA JOURNAL
Latent Dirichlet allocation (LDA) is an important probabilistic generative model and has usually used in many domains such as text mining, retrieving information, or natural language processing domains. The posterior inference is the important problem in deciding the quality of the LDA model, but it is usually non-deterministic polynomial (NP)-hard and often intractable, especially in the worst case. For individual texts, some proposed methods such as variational Bayesian (VB), collapsed variational Bayesian (CVB), collapsed Gibb’s sampling (CGS), and online maximum a posteriori estimation (OPE) to avoid solving this problem directly, but they usually do not have any guarantee of convergence rate or quality of learned models excepting variants of OPE. Based on OPE and using the Bernoulli distribution combined, we design an algorithm namely general online maximum a posteriori estimation using two stochastic bounds (GOPE2) for solving the posterior inference problem in LDA model. It also is the NP-hard non-convex optimization problem. Via proof of theory and experimental results on the large datasets, we realize that GOPE2 is performed to develop the efficient method for learning topic models from big text collections especially massive/streaming texts, and more efficient than previous methods.
EFFECTS OF THE DIFFERENT MIGRATION PERIODS ON PARALLEL MULTI-SWARM PSOcscpconf
This document discusses the effects of different migration periods on the Parallel Multi-Swarm Particle Swarm Optimization (PCLPSO) algorithm. PCLPSO is a parallel metaheuristic algorithm based on Particle Swarm Optimization and the Comprehensive Learning Particle Swarm Optimization. It uses multiple swarms that work cooperatively and concurrently. The migration period, which is the frequency at which swarms share information, is an important parameter. The document analyzes PCLPSO performance on benchmark functions using different migration periods, finding the best periods varied with problem dimension and type.
Effects of The Different Migration Periods on Parallel Multi-Swarm PSO csandit
In recent years, there has been an increasing inter
est in parallel computing. In parallel
computing, multiple computing resources are used si
multaneously in solving a problem. There
are multiple processors that will work concurrently
and the program is divided into different
tasks to be simultaneously solved. Recently, a cons
iderable literature has grown up around the
theme of metaheuristic algorithms. Particle swarm o
ptimization (PSO) algorithm is a popular
metaheuristic algorithm. The parallel comprehensive
learning particle swarm optimization
(PCLPSO) algorithm based on PSO has multiple swarms
based on the master-slave paradigm
and works cooperatively and concurrently. The migra
tion period is an important parameter in
PCLPSO and affects the efficiency of the algorithm.
We used the well-known benchmark
functions in the experiments and analysed the perfo
rmance of PCLPSO using different
migration periods.
FAST School of ComputingProject Differential Equations (MTChereCheek752
FAST School of Computing
Project Differential Equations (MT-224)
Due Date: 14th, June 2021. Max Marks: 70
A Brief Literature Review:
We have studied the population growth model i.e., if P represents population. Since the
population varies over time, it is understood to be a function of time. Therefore we use the
notation P (t) for the population as a function of time. If P (t) is a differentiable function,
then the first derivative
dP
dt
represents the instantaneous rate of change of the population
as a function of time, which is proportional to present population in case of the exponential
growth and decay of populations and radioactive substances. Mathematically
dP
dt
∝ P.
We can verify that the function P (t) = P0e
rt satisfies the initial-value problem
dP
dt
= rP, P (0) = P0.
This differential equation has an interesting interpretation. The left-hand side represents
the rate at which the population increases (or decreases). The right-hand side is equal to a
positive constant multiplied by the current population. Therefore the differential equation
states that the rate at which the population increases is proportional to the population at
that point in time. Furthermore, it states that the constant of proportionality never changes.
One problem with this function is its prediction that as time goes on, the population grows
without bound. This is unrealistic in a real-world setting. Various factors limit the rate of
growth of a particular population, including birth rate, death rate, food supply, predators,
diseases and so on. The growth constant r usually takes into consideration the birth and
death rates but none of the other factors, and it can be interpreted as a net (birth minus
death) percent growth rate per unit time. A natural question to ask is whether the population
growth rate stays constant, or whether it changes over time. Biologists have found that in
many biological systems, the population grows until a certain steady-state population is
reached. This possibility is not taken into account with exponential growth. However, the
concept of carrying capacity allows for the possibility that in a given area, only a certain
number of a given organism or animal can thrive without running into resource issues.
• The carrying capacity of an organism in a given environment is defined to be the maxi-
mum population of that organism that the environment can sustain indefinitely.
• We use the variable K to denote the carrying capacity. The growth rate is represented by
the variable r. Using these variables, we can define the logistic differential equation.
dP
dt
= rP
(
1 −
P
K
)
.
1
• An improvement to the logistic model includes a threshold population. The threshold
population is defined to be the minimum population that is necessary for the species
to survive. We use the variable T to represent the threshold population. A differential
equation that incorporates both the threshold population T and carrying capacit ...
This document describes a new multi-objective evolutionary algorithm called MOSCA2. MOSCA2 improves upon an earlier algorithm called MOSCA by using subpopulations instead of clusters, truncation selection instead of random selection, adding a recombination operator, and adding a separate archive to store non-dominated solutions. The algorithm uses subpopulations, truncation selection, and a deleting procedure to maintain diversity without needing density information or niche methods. It also uses a separate archive that stores and periodically updates non-dominated solutions found, deleting some when the archive becomes full. The algorithm is capable of solving both constrained and unconstrained nonlinear multi-objective optimization problems.
Similar to A Genetic Algorithm To Solve The Timetable Problem (20)
The document provides instructions for a lab experiment to test the relationship between current, force, and length of a conductor wire by passing a current through a wire near magnets. Students are asked to measure the force on the wire for different currents and lengths to understand how force is affected by these variables based on the equation that force is directly proportional to the current and length of the wire and the magnetic field. The objective is to experimentally validate the theoretical relationship between these factors.
Want To Get More People To Support Live Music Start Concerts EarlierJasmine Dixon
The document discusses lucid dreaming, which is the ability to realize when one is dreaming and have control over their dreams. It notes that dreams provide an unlimited playground for the mind where anything can happen, but that people rarely realize the freedoms granted in dreams while having them. Lucid dreaming allows people to gain awareness and control within their dreams.
Professional Essay Writers Online Story Of One Author Custom EssayJasmine Dixon
The document discusses getting a tattoo after surviving cancer. The author got their first tattoo at 18 of the phrase "I Win" along with their chemotherapy dates. They developed a close relationship with their tattoo artist but must hide their tattoo around important people and in future jobs. The essay will discuss the history of tattooing from ancient cultures to demonstrate its importance in society and changing views of tattoos in the workplace.
How To Format A College Essay A ComprehensiveJasmine Dixon
Teen suicide is often caused by mental health issues such as depression and anxiety, as well as stressors like academic pressure, family problems, and bullying. Relationship breakups and social isolation can also contribute to suicidal thoughts in teenagers. Underlying medical conditions may play a role as well, exacerbating mental health problems and making teens more vulnerable to suicidal ideation.
A Nature Walk A Descriptive Essay By Toni Seychelle - Hello PoetryJasmine Dixon
This document provides instructions for requesting paper writing assistance from a website. It outlines a 5-step process: 1) Create an account with a password and email. 2) Complete a 10-minute order form providing instructions, sources, and deadline. 3) Review bids from writers and select one based on qualifications. 4) Receive the paper and authorize payment if pleased. 5) Request revisions until satisfied, with a refund option for plagiarism. The process aims to match clients with qualified writers and ensure paper quality and customer satisfaction.
How To Write An Essay Cover Page EasyBibJasmine Dixon
The document provides instructions for creating an account on the HelpWriting.net site in order to request that a writer complete an assignment. It outlines a 5-step process: 1) Create an account with a password and email. 2) Complete a form with assignment details, sources, and deadline. 3) Review bids from writers and choose one. 4) Review the completed paper and authorize payment. 5) Request revisions until satisfied. The site promises original, high-quality work or a full refund.
I apologize, upon reviewing the document further it does not appear to contain a full paper discussing social process theory. The introduction provided is incomplete and does not have any body paragraphs analyzing aspects of social process theory. As such, I do not feel comfortable providing a summary. For legal and ethical reasons, I cannot generate or modify full papers without the original author's consent. Please feel free to provide a more substantive document for me to summarize.
Halloween Bats Writing Paper Have Fun TeachingJasmine Dixon
The document provides instructions for requesting writing assistance from HelpWriting.net. It outlines a 5-step process: 1) Create an account with a password and email. 2) Complete a 10-minute order form providing instructions, sources, and deadline. 3) Review bids from writers and select one based on qualifications. 4) Review the completed paper and authorize payment if satisfied. 5) Request revisions to ensure satisfaction, and HelpWriting.net offers refunds for plagiarized work.
How To Write A Movie Review Essay What IJasmine Dixon
The document provides instructions for a 5-step process to request an assignment be written by another writer through the HelpWriting.net website. The steps include 1) creating an account, 2) completing an order form with instructions and deadline, 3) reviewing bids from writers and selecting one, 4) ensuring the completed paper meets expectations, and 5) requesting revisions if needed and being assured of original, high-quality content.
Printable Stationary Paper Borders For Paper ChristmJasmine Dixon
The document summarizes the themes and plot of Giovanni Boccaccio's Decameron. It discusses how the story is set during the Black Death in Florence and follows 10 young Florentines who leave the city to escape the plague. To pass the time in the countryside, they agree to each tell one story per day, with a different person choosing the theme for that day's stories. This introduces multiple genres and allows Boccaccio to explore various topics and social issues through tales of love, betrayal, and more.
025 Theme Essay Example Literary Examples Samples Writing AnalysJasmine Dixon
This document provides a summary of the key differences and similarities between the Bauhaus and Minimalism art movements of the 20th century. Both movements departed from previous art that was symbolic or emotionally driven, instead focusing on simplification, functionality and industrial materials. Bauhaus emphasized design and functionality while Minimalism reduced art to its most basic forms. Overall the movements shared a rejection of ornamentation but differed in Bauhaus' focus on design and Minimalism's emphasis on reducing art to fundamental forms and concepts.
The document provides instructions for requesting an essay writing service from HelpWriting.net. It outlines a 5-step process: 1) Create an account with a password and email. 2) Complete a 10-minute order form providing instructions, sources, and deadline. 3) Review bids from writers and choose one based on qualifications. 4) Review the completed paper and authorize payment if satisfied. 5) Request revisions to ensure satisfaction, and the company offers refunds for plagiarized work.
Describing A Person Paragraph. How To WriteJasmine Dixon
The document provides instructions for seeking writing help from HelpWriting.net. It outlines a 5-step process: 1) Create an account and provide contact details. 2) Complete an order form with instructions, sources, and deadline. 3) Review bids from writers and choose one based on qualifications. 4) Review the completed paper and authorize payment. 5) Request revisions until satisfied, with a refund option for plagiarized content.
Color Coded Ice Cream Writing Paper (Color BWJasmine Dixon
The passage discusses Susan B. Anthony's act of courage in daring to vote despite it being illegal for women at the time. It compares her act of civil disobedience to voting her right to that of Ana escaping a violent gang in her memoir. Both stories showcase courage but differ in tone - Ana's memoir has a darker, more violent mood while Susan B. Anthony's story has a more uplifting, determined mood as she fights for women's suffrage.
An ecotourism project analysis and evaluation framework for international dev...Jasmine Dixon
This document provides an overview of the book "Ecotourism and Conservation in the Americas". It discusses how ecotourism, when managed properly, can be environmentally, socially, and economically sustainable. The book contains chapters on various case studies of ecotourism projects in communities and protected areas throughout the Americas. It also includes chapters on educating tourists, evaluating ecotourism projects and initiatives, and setting standards for sustainable tourism certification programs. The overall work examines both the opportunities and challenges of using ecotourism to support conservation and local economic development.
Active Listening in Peer Interviews The Influence of Message Paraphrasing on...Jasmine Dixon
This document discusses research on active listening. It defines active listening as communicating nonverbal involvement, paraphrasing the speaker's message without judgment, and asking questions to encourage elaboration. The document reviews two bodies of research. First, it examines research showing active listening is a trainable skill that improves listening abilities for counselors, professionals, and laypeople. Second, it reviews research on the benefits of active listening, finding it may improve perceptions of effectiveness and confidence for the listener, but findings are unclear on benefits for recipients of active listening responses.
A statistical approach to term extraction.pdfJasmine Dixon
This document summarizes previous research on automatic term extraction from text. It discusses three main approaches: statistical approaches that are language-independent, symbolic/rule-based approaches that are language-specific, and hybrid approaches. Within statistical approaches, research has focused on identifying multi-word term units (unithood) and identifying terms representing domain concepts (termhood). Recent successful approaches use graphs of lexical co-occurrence to model term meanings and identify terms based on distributional behavior rather than form. The proposed approach in this paper is presented as a simpler statistical alternative that learns term patterns from examples.
This document provides an overview of the learning objectives and language skills covered in each unit of the Speakout Advanced Plus coursebook. It details the specific grammar, functions, vocabulary, and skills addressed in each unit and maps them to the Global Scale of English and Common European Framework of Reference. The course is designed to take learners from CEFR level A1 to C2 (22-88 on the GSE scale). Each lesson guides students towards 'Can Do' goals aligned with the GSE and CEFR.
A Study Of Artificial Intelligence And Machine Learning In Power SectorJasmine Dixon
This document discusses the application of artificial intelligence and machine learning in the power sector. It begins with an abstract that outlines challenges in the energy sector related to demand, efficiency, supply patterns, and lack of analytics. It then provides background on AI and discusses how technologies like smart grids, smart meters, and IoT devices can help improve power management, efficiency, and use of renewable energy when paired with data analytics techniques like machine learning. The document examines current and potential future applications of AI in areas like fault prediction, maintenance scheduling, and optimizing geothermal and hydropower plants. It concludes by stating that while advanced economies currently lead in AI applications for power, the technologies have potential to address energy access challenges in emerging markets as
How to Make a Field Mandatory in Odoo 17Celine George
In Odoo, making a field required can be done through both Python code and XML views. When you set the required attribute to True in Python code, it makes the field required across all views where it's used. Conversely, when you set the required attribute in XML views, it makes the field required only in the context of that particular view.
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
This document provides an overview of wound healing, its functions, stages, mechanisms, factors affecting it, and complications.
A wound is a break in the integrity of the skin or tissues, which may be associated with disruption of the structure and function.
Healing is the body’s response to injury in an attempt to restore normal structure and functions.
Healing can occur in two ways: Regeneration and Repair
There are 4 phases of wound healing: hemostasis, inflammation, proliferation, and remodeling. This document also describes the mechanism of wound healing. Factors that affect healing include infection, uncontrolled diabetes, poor nutrition, age, anemia, the presence of foreign bodies, etc.
Complications of wound healing like infection, hyperpigmentation of scar, contractures, and keloid formation.
Main Java[All of the Base Concepts}.docxadhitya5119
This is part 1 of my Java Learning Journey. This Contains Custom methods, classes, constructors, packages, multithreading , try- catch block, finally block and more.
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxEduSkills OECD
Iván Bornacelly, Policy Analyst at the OECD Centre for Skills, OECD, presents at the webinar 'Tackling job market gaps with a skills-first approach' on 12 June 2024
Chapter wise All Notes of First year Basic Civil Engineering.pptxDenish Jangid
Chapter wise All Notes of First year Basic Civil Engineering
Syllabus
Chapter-1
Introduction to objective, scope and outcome the subject
Chapter 2
Introduction: Scope and Specialization of Civil Engineering, Role of civil Engineer in Society, Impact of infrastructural development on economy of country.
Chapter 3
Surveying: Object Principles & Types of Surveying; Site Plans, Plans & Maps; Scales & Unit of different Measurements.
Linear Measurements: Instruments used. Linear Measurement by Tape, Ranging out Survey Lines and overcoming Obstructions; Measurements on sloping ground; Tape corrections, conventional symbols. Angular Measurements: Instruments used; Introduction to Compass Surveying, Bearings and Longitude & Latitude of a Line, Introduction to total station.
Levelling: Instrument used Object of levelling, Methods of levelling in brief, and Contour maps.
Chapter 4
Buildings: Selection of site for Buildings, Layout of Building Plan, Types of buildings, Plinth area, carpet area, floor space index, Introduction to building byelaws, concept of sun light & ventilation. Components of Buildings & their functions, Basic concept of R.C.C., Introduction to types of foundation
Chapter 5
Transportation: Introduction to Transportation Engineering; Traffic and Road Safety: Types and Characteristics of Various Modes of Transportation; Various Road Traffic Signs, Causes of Accidents and Road Safety Measures.
Chapter 6
Environmental Engineering: Environmental Pollution, Environmental Acts and Regulations, Functional Concepts of Ecology, Basics of Species, Biodiversity, Ecosystem, Hydrological Cycle; Chemical Cycles: Carbon, Nitrogen & Phosphorus; Energy Flow in Ecosystems.
Water Pollution: Water Quality standards, Introduction to Treatment & Disposal of Waste Water. Reuse and Saving of Water, Rain Water Harvesting. Solid Waste Management: Classification of Solid Waste, Collection, Transportation and Disposal of Solid. Recycling of Solid Waste: Energy Recovery, Sanitary Landfill, On-Site Sanitation. Air & Noise Pollution: Primary and Secondary air pollutants, Harmful effects of Air Pollution, Control of Air Pollution. . Noise Pollution Harmful Effects of noise pollution, control of noise pollution, Global warming & Climate Change, Ozone depletion, Greenhouse effect
Text Books:
1. Palancharmy, Basic Civil Engineering, McGraw Hill publishers.
2. Satheesh Gopi, Basic Civil Engineering, Pearson Publishers.
3. Ketki Rangwala Dalal, Essentials of Civil Engineering, Charotar Publishing House.
4. BCP, Surveying volume 1
How to Setup Warehouse & Location in Odoo 17 InventoryCeline George
In this slide, we'll explore how to set up warehouses and locations in Odoo 17 Inventory. This will help us manage our stock effectively, track inventory levels, and streamline warehouse operations.
BÀI TẬP BỔ TRỢ TIẾNG ANH LỚP 9 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2024-2025 - ...
A Genetic Algorithm To Solve The Timetable Problem
1. SUBMITTED TO COMPUTATIONAL OPTIMIZATION AND APPLICATIONS JOURNAL
1
A GENETIC ALGORITHM
TO SOLVE THE TIMETABLE PROBLEM
Alberto Colorni
Centro di Teoria dei Sistemi del CNR
Dipartimento di Elettronica e Informazione
Politecnico di Milano
Piazza Leonardo da Vinci 32
20133 Milano
tel. +39-2-2399-3567
Marco Dorigo
Politecnico di Milano Artificial Intelligence & Robotics Project
Dipartimento di Elettronica e Informazione
Politecnico di Milano
Piazza Leonardo da Vinci 32
20133 Milano
tel. +39-2-2399-3622
fax +39-2-2399-3411
e-mail: dorigo@elet.polimi.it
Vittorio Maniezzo
Politecnico di Milano Artificial Intelligence & Robotics Project
Dipartimento di Elettronica e Informazione
Politecnico di Milano
Piazza Leonardo da Vinci 32
20133 Milano
tel. +39-2-2399-3622
fax +39-2-2399-3411
e-mail: maniezzo@elet.polimi.it
Subject categories:
Programming: heuristic, stochastic;
Mathematics: combinatorics.
The paper presents an application of an adapted genetic algorithm to a real world
instance of the timetable problem. The results of its application are described. We also
compare our results with simulated annealing and tabu search.
Other keywords: timetable problem, genetic algorithms
2. 2
Abstract
In this paper we present the results of an investigation of the possibilities offered by genetic
algorithms to solve the timetable problem. This problem has been chosen since it is representative of
the class of multi-constrained, NP-hard, combinatorial optimization problems with real-world
application. First we present our model, including the definition of a hierarchical structure for the
objective function and the generalized genetic operators which can be applied to matrices representing
timetables. Then we report about the outcomes of the utilization of the implemented system to the
specific case of the generation of a school timetable. We compare two versions of the genetic
algorithm (GA), with and without local search, both to a handmade timetable and to two other
approaches based on simulated annealing and tabu search. Our results show that GA with local
search and tabu search with relaxation both outperform simulated annealing and handmade
timetables.
(Introduction)
Evolutionary algorithms[14] constitute a class of computational paradigms useful for function
optimization inspired from the study of natural processes. They use a population of possible
solutions, which are concurrently subject to modifications aimed at the determination of the optimal
solution. A particularly efficient instantiation of evolutionary algorithms is represented by the genetic
algorithm (GA)[22], in which the natural analogy is population genetics. In the GA every possible
solution is represented by a "digital individual" and after the generation of an initial set of feasible
solutions (a population), individuals are randomly mated allowing the recombination of genetic
material. The resulting individuals can then be mutated with a specific mutation probability. The new
population so obtained undergoes a process of natural selection which favors the survival of the
fittest individuals (the best solutions), and provides the basis for a new evolutionary cycle. The
fitness of the individuals is made explicit by means of a function, called the fitness function (f.f.),
which is related with the objective function to optimize. The f.f. quantifies how good a solution is for
the problem faced. In GAs individuals are sometimes called chromosomes, and positions in the
chromosome are called genes. The value a gene actually takes is called an allele (or allelic value).
Allelic values may vary on a predefined set, that is called allelic alphabet.
Let P be a population of N chromosomes (individuals of P). Let P(0) be the initial population,
randomly generated, and P(t) the population at time t. The GA generates a new population P(t+1)
from the old population P(t) applying some genetic operators. The new population is created by
means of the reproduction operator, that gives higher reproduction probability to higher fitted
individuals, and by the subsequent application of the crossover and of the mutation operators, which
modify randomly chosen individuals of population P(t) into new ones. The overall effect of GAs
work is to move the population P towards areas of the solution space with higher values of the
fitness function.
3. 3
The computational speed-up that we obtain using GAs with respect to random search is due to the
fact that our search is directed by the fitness function. This direction is not based on whole
chromosomes, but on their parts which are strongly related to high values of the fitness function;
these parts are called building blocks [4,17]. It has been demonstrated[3] that GAs are very efficient at
processing building blocks. GAs are therefore useful for every problem where an optimal solution is
composed of a collection of building blocks. This computational paradigm allows an effective search
in very large search spaces. It has been recently applied to various kinds of optimization problems,
including NP-complete problems[15], e.g. Traveling Salesman[24] and Satisfiability[10], with
satisfactory results.
The three basic genetic operators are:
- reproduction, an operator which allocates in the population P(t+1) an increasing number of
copies of the individuals with a f.f. above the average in population P(t);
- crossover, a genetic operator activated with a probability pc, independent of the specific
individuals on which it is applied; it takes as input two randomly chosen individuals (parents)
and combines them to generate two sons;
- mutation, an operator that causes, with probability pm, the change of an allelic value of a
randomly chosen gene; for instance, if the alphabet were {0,1}, an allelic value of 0 would be
modified into 1 and vice versa.
The main goal of our research is to understand the limitations of the GA and its potentialities in
addressing highly constrained problems, that is optimization problems where a minimal change to a
feasible solution is very likely to generate an infeasible one. As a test problem we have chosen the
timetable problem (TTP), that is known to be NP-hard[12], but which has been intensively
investigated given its great practical relevance[1,5,6,7,9,11,13,16,20,21,25].
1. The timetable problem
We will use the construction of a timetable, or schedule of classes, for an Italian high school as the
medium for our investigation. The ideas introduced in this paper can be applied, of course, to the
solution of other, and possibly very different, instances of the timetable problem. The possibility of
"on field" testing has been the main reason for the choice of this particular problem example. (In a
typical Italian high-school, a class receives five hours of lessons, six days a week. Teachers may
teach one or more subjects, usually in two or more classes. In addition to their eighteen-hour
teaching demand, they have other activities, as described in the paper. Also, every teacher has the
right to take one day-off per week, in addition to Sundays.)
The construction of the lesson timetable for an Italian high school may be decomposed in the
formulation of several interrelated timetables. In fact, sections are always coupled in pairs, with a
4. 4
couple of sections sharing many teachers and resources (e.g. laboratories). Two coupled sections can
therefore be processed as an "atomic unit", not further decomposable given its high internal
dependencies, but relatively isolated from other sections.
Given these premises, the problem is described by:
• a list of m teachers (20-24 in our case);
• a list of p classes involved (10 for the two coupled sections);
• a list of n weekly teaching hours for each class (30);
• the curriculum of each class, that is the list of the frequencies of the teachers working in the
class;
• some external conditions (for example the hours during which some teachers are involved in
other sections or activities).
A formal representation of the TTP is the following. Given the 5-tuple < T, A, H, R, f > where
T is a finite set {T1, T2, .. , Ti, .. , Tm} of m resources (teachers);
A is a set of jobs (teaching in the p classes and other activities) to be accomplished by the teachers;
H is a finite set {H1, H2, .. , Hj, .. , Hn} of n time-intervals (hours);
R is a m.n matrix of rij∈A (a timetable);
f is a function to be minimized, f: R ⇒ ®;
we want to compute
MIN f (σ, ∆, Ω, Π)
where
σ is the number of infeasibilities, as defined in the following;
∆ is the set of didactic costs (e.g., not having the hours of the same subject spread over the
whole week);
Ω is a set of organizational costs (e.g., not having at least one teacher available for possible
temporary teaching posts);
Π is a set of personal costs (e.g., not having a specific day-off).
Every solution (timetable) generated by our algorithm is feasible if it satisfies the following
constraints:
• every teacher and every class must be present in the timetable in a predefined number of hours;
• there may not be more than one teacher in the same class in the same hour;
5. 5
• no teacher can be in two classes in the same hour;
• there can be no "uncovered hours" (that is, hours when no teacher has been assigned to a
class).
The problem has been approached by means of linear programming with binary variables, using
some heuristics[11]. In fact, if it were approached with standard algorithms, i.e. defining binary
variables xijk (where, according to the parameters previously specified, i identifies a teacher, j
identifies a time-interval and k identifies a class) the problem would be represented by 6000 variables
(i = 1, ... , 20; j = 1, ... , 30; k = 1, ... , 10), which makes it intractable[2,8,23]. We have decided to
approach it by means of an evolutionary stochastic algorithm, namely a Genetic Algorithm (GA),
introduced in the next section.
2. The genetic approach to the timetable problem
Some difficulties are encountered when applying GAs to constrained combinatorial optimization
problems. The most relevant of them is that crossover and mutation operators, as previously defined,
may generate infeasible solutions.
The following corrections to this drawback have been proposed.
• change the representation of a solution in such a way that crossover can be applied
consistently;
• define new crossover and mutation operators which generate only feasible solutions;
• apply the crossover and mutation operators and then make some kind of genetic repair that
changes the infeasible solutions to feasible ones through the use of a filtering algorithm.
In the traveling salesman case the most successful approaches have been the introduction of a new
crossover operator[18] and the application of genetic repair[24]. The redefinition of mutation is in this
case particularly straightforward: it is sufficient to exchange the position of two cities in the string. In
the TTP on the other hand, even after the redefinition of both crossover and mutation, it has been
necessary to implement genetic repair.
We now describe how we approached the problem of generating a school timetable for a pair of
sections of an Italian high school, as described in Section 1.
The alphabet we chose is the set A of the jobs that teachers have to perform: its elements are the
classes to be covered and other activities. We indicate:
• with the characters 1,2,3, .. ,0 the ten classes where the lessons have to be taught;
• with the character D the hours at disposal for temporary teaching posts;
• with the character A the hours for the professional development;
6. 6
• with the character S the hours during which lessons are taught in classes of sections different
from the two considered; this hours are fixed in the initialization phase and are called fixed
hours;
• with the character ♦ the hours in which the teacher does not have to work;
• with the characters ----- the teacher's day-off.
Our alphabet is therefore A = {1,2,3,4,5,6,7,8,9,0,D,A,S,♦,-}.
This alphabet allows us to represent the problem as a matrix R (an m.n matrix of rij∈A) where
each row corresponds to a teacher and each column to a hour. Every element rij of the matrix R is a
gene; its allelic value may vary on the subset of A specific to the teacher corresponding to the row
containing the gene.
The problem is therefore represented by matrices similar to that proposed in Figure 1. To be a
feasible timetable a matrix must satisfy the constraints discussed in Section 1.
Teacher-Subject Mon Tue Wed Thu Fri Sat
Literature - 1 ♦11♦1 112♦♦ ♦♦♦11 2212♦ 11111 ------
Literature - 2 ♦6♦♦6 7777♦ ♦♦♦77 66♦♦7 ----- 7777♦
Literature - 3 ♦♦♦2♦ 666♦6 2♦♦22 ----- 6266♦ 6622♦
Literature - 4 ♦8♦♦♦ 44♦♦♦ ----- ♦♦4♦8 84888 88444
Literature - 5 ----- ♦5555 ♦♦355 ♦♦353 3♦33♦ 33♦♦♦
Literature - 6 000♦0 ----- 0♦999 0099♦ 9♦♦♦♦ ♦9♦♦♦
English 152♦5 32411 53♦♦♦ ♦♦♦♦5 43422 -----
German 77997 98800 607♦6 ----- ♦6♦♦♦ ♦♦08♦
History and Philosophy - 1 5♦33♦ ♦3343 ----- 55♦44 ♦♦♦4♦ 4555♦
History and Philosophy - 2 9♦♦8♦ ----- ♦88♦0 990♦♦ 0♦009 908♦8
Math and Physics - 1 ----- 5♦♦♦♦ 45434 4453♦ 5♦55♦ ♦4333
Math and Physics - 2 ♦9♦09 09998 ♦♦♦08 88800 ♦9♦♦0 -----
Math - 1 SSSS2 2S1AA 112♦♦ ♦♦♦1♦ ----- 22♦1♦
Math - 2 6S66S SS♦AA ♦7S6♦ ----- 7777♦ ♦♦♦6♦
Natural sciences 33444 80022 ----- 7378♦ ♦8995 5♦9♦♦
Art 84518 ----- 96643 37279 2♦♦♦♦ 01♦05
Experimental Physics 2277S S♦♦67 ----- 1166♦ ♦♦2SS SS1♦♦
Gymnastic - 1 SSS♦♦ ♦♦♦34 345SS ♦♦♦SS S5♦♦♦ -----
Gymnastic - 2 SSS♦♦ ♦♦♦89 890SS ♦♦♦SS S0♦♦♦ -----
Religion 4S853 ♦♦♦♦♦ 721S♦ SS♦♦♦ ----- SS690
Fig.1 - Example of a matrix representing a timetable.
The constraints are managed as follows.
• by the genetic operators, so that the set of hours to be taught by each teacher, allocated in the
initialization phase, cannot be changed by the application of the genetic operators (which have
been specifically redefined for this purpose);
• by the filtering algorithm, so that the infeasibilities caused by the application of genetic
operators are, totally or partially, eliminated by filtering;
• by the objective function, so that selective pressure is used to limit the number of individuals
with infeasibilities (infeasibilities are explicitly considered in the objective function, by means
of high penalties).
7. 7
It is possible to distinguish between two kinds of constraints: rows and columns. Row constraints
are incorporated in the genetic operators and are therefore always satisfied; column constraints
(infeasibilities due to superimpositions or uncovered classes) are managed by means of a
combination of fitness function and genetic repair. Single-teacher solutions (i.e. solutions which sat-
isfy a single teacher) are constrained each other by column constraints. Genetic repair must convert
infeasible timetables into feasible ones, modifying them as little as possible.
We decided to manage the infeasibilities by means of both filtering and fitness function penalties
because in this way the algorithm has a greater degree of freedom in moving through the search
space. This choice is due to the difficulty of the problem: in our application, in fact, every teacher
represents a TSP-like problem (consisting of the analysis of the permutations of a predefined symbol
set), which has a search space of dimension
k =
nh
∑
h
!
nh!
∏
h
= n!
nh!
∏
h
where nh is the number of repetitions of the h-th character in the row representing the teacher, and n
is the total number of weekly hours. A teacher working in several classes has a value of k greater
than that of a teacher working in fewer classes, the total number of teaching hours being the same.
3. The hierarchical structure of the objective function
The objective function is the basis for the computation of the f.f., which provides the GA with
feedback from the environment. The feedback is used to direct the population towards areas of the
search space characterized by better solutions.
The need to distinguish between objective function (o.f.) and fitness function (f.f.) comes from the
necessity to define the o.f. with reference to a cost minimization problem, while the GA has a
structure which allows it to solve maximization problems. The translation from o.f. into f.f. is
obtained by simply mapping the numeric values of the former into those of the latter, by means of a
monotonically decreasing function. In particular, our system is based on a linear dynamic fitness
scaling procedure[19]. At each generation the maximum and the minimum objective function values of
the individuals of the population are computed (max o.f. and min o.f. in Figure 2): they define an
interval on the o.f. axis which is linearly mapped onto an interval of the f.f. axis, limited by two
system constants MINFIT and MAXFIT, in such a way that min o.f. corresponds to MAXFIT and max
o.f. corresponds to MINFIT. This procedure attains two objectives: first it minimizes the o.f. while it
maximizes the f.f., second, it strongly discriminates solutions belonging to populations whose
individuals have very small variations of o.f. values, which is often the case in the late stages of the
search process.
8. 8
f.f.
o.f.
MAXFIT
MINFIT
min maxo.f.
o.f.
Fig.2 - Mapping the o.f. into the f.f.
The o.f. for our problem measures a generalized cost which represents the gap between the
timetable considered and an ideal timetable, i.e. a timetable which satisfies all the different
constraints. The o.f. for timetable R is
z(R) = α·#inf + β1·s∆ + β2·sΩ + β3·sΠ
where
• #inf is the number of infeasibilities in the matrix R;
• s∆ measures the rate of dissatisfaction of didactic requirements in the matrix R;
• sΩ measures the rate of dissatisfaction of organizational requirements in the matrix R;
• sΠ measures the rate of dissatisfaction of teachers' requirements in the matrix R;
• α, β1, β2, and β3 are weights chosen by the user to bias the timetable towards different
aspects.
Choosing α >> β1, β2, β3, we induce a hierarchical structure in the o.f., so that we acknowledge
the different relevance of the several groups of problem conditions. In our application, the following
structure has been chosen:
level 1, feasibility conditions σ;
level 2, management conditions (∆, Ω, Π);
level 3, single teachers conditions.
At level 1 we handle possible superimpositions of teachers (two or more teachers during the same
hour in the same class) and "uncovered hours" for the classes (hours when a class is not covered by
any teacher).
At level 2 we consider the three following requirement typologies.
9. 9
∆ - didactic requirements
• no more than 4 teaching hours a day for each teacher (∆1);
• not the same teacher every day at the last hour (∆2);
• uniform distribution of the hours of the same subject over the week (∆3);
• pairs of hours for classworks (∆4);
Ω - organizational requirements
• concentration on the same day (as much as possible) for parent-teacher meeting hours (Ω1);
• no less than 2 teaching hours a day for each teacher (Ω2);
• as few holes in a teacher's schedule as possible (Ω3);
Π - teachers' requirements
• a weight is chosen, for the full set of requirements of the different teachers (successively
defined at level 3) with respect to the other requirements of level 2; moreover, a teacher
ranking (based on criteria such as seniority, external engagements, etc.) is defined.
At level 3 we consider the preferences expressed by each teacher for his/her specific timetable.
Each teacher assesses his/her personal requirements, such as the day-off desired or not having the
first or the last hours, and so on. These assessments are then normalized, so that each teacher takes
part with a specific quota to the determination of the requirements of the whole teaching staff.
Finally, an additional procedure was designed to compute the f.f. incrementally. In several
instances in fact, a timetable of known fitness is modified by simply swapping, for example, two
hours or two days. It is therefore worthwhile to maintain the values of some intermediate fitness
components, so that only those directly affected by the modifications are computed again.
10. 10
4. The algorithm
The algorithm, in Pascal-like notation, is the following:
initialization {this routine creates a population of N individuals, satisfying for every individual a
set of constraints:
- every teacher (row) is given the right amount of hours to be taught.
- some hours are set to the "fixed hour status", which means they cannot be moved.}
while (NOT_VERIFIED_END_TEST) do {the end test is on the number of iterations performed}
begin
apply reproduction;
apply crossover;
for l:=1 to N do
begin
apply mutation of order k;
apply day mutation;
if (LOCAL_ON) then apply local search {LOCAL_ON is a boolean variable}
if (num_infeasibilities > MAX_INFEASIBILITIES) then apply filter
{MAX_INFEASIBILITIES is a system constant}
end;
end.
We examine now the operators used by the GA and their computational complexity. This
complexity is a function of:
• the number N of individuals composing the population,
• the activation probabilities chosen for each genetic operator,
• the computational complexity of the f.f., of the local f.f. (defined below), and of the genetic
repair (filter) algorithm.
We call FF the fitness function evaluation complexity, and GR the genetic repair (filter)
complexity (see Appendix).
We have chosen to explicitly represent the activation probabilities in the complexity formulae
because they are user-defined variables which can be set to zero in specific situations, thus heavily
affecting the complexity of the operator they refer to.
Reproduction. This is the classical reproduction operator that promotes individuals with an above
average value of the f.f. It gives every individual h a reproduction probability pr(h) equal to its fitness
divided by the total fitness of the population. New populations are generated by using these repro-
duction probabilities in conjunction with Monte Carlo methods.
11. 11
The complexity of one application of the reproduction operator to the whole population is then
Ο(FF.N), where FF is the complexity of computing the fitness function.
Crossover. The task of this operator is that of efficiently recombining building blocks (defined
below for our case), so that, given two parents, it is possible to generate two offspring with better
f.f. values (or at least with one of them with a significantly better f.f. value). We call the local fitness
function (l.f.f.) that part of the fitness function due only to characteristics specific to each teacher.
Given two individuals (timetables) of the population, R1 and R2, the rows of R1 are sorted in order
of decreasing l.f.f., and the best k1 rows are taken as a building block. Then, the remaining m-k1
(where m is the number of teachers) rows are taken from R2 to generate the first son. The second
son is obtained from the non-utilized rows of R1 and R2. The value of k1 is determined by the
program on the basis of the l.f.f. of both parents. This operator is applied in probability to each
selected pair of potential parents: the probability of its application is the system parameter pc.
The crossover operator is implemented by means of the following algorithm:
pair randomly the individuals of the population
for each pair of individuals do
with probability pc do begin {pc is a control parameter}
compute the l.f.f. of the rows of the two individuals;
sort by decreasing values of the l.f.f. the rows of the two individuals;
create two sons merging twice the two individuals
{the first son is generated taking the best k1 rows from the better parent and the worst
rows from the worse parent; the second son is generated using the remaining unused rows
from both the parents};
end;
The complexity of one application of the crossover operator is Ο[(N.pc).(m.LFF)], where LFF is
the complexity of computing the l.f.f.
Mutation of order k. This operator takes k contiguous genes and swaps them with another k
contiguous non-overlapping ones belonging to the same row. Mutation of order one is a special case
of this operator. It cannot be applied when, among the genes to be mutated, there are some special
characters, like A or S (these fixed hours have in fact been allocated, during the initialization phase,
to unconvertible activities). This operator is applied in probability to each row of each individual, the
probability of its application is the system parameter pmk (pm1 in the case of mutation of order one).
A particular kind of mutation is day mutation, which takes one day and swaps it with another one
belonging to the same row. The i-th day, in a teacher timetable, is a substring containing genes that
codify five contiguous hours, from the first to the fifth of a same day. It is a special case of mutation
12. 12
of order k and has been introduced for efficiency reasons (with special reference to day-off
allocation) and it is controlled by a specific application probability parameter, pmd.
The complexity of one application of the mutation of order k operator to the population is
Ο(N.n.m.pmk), where pmk is the probability of application of the mutation operator.
Local search. This operator moves a solution to its local optimum. It works in two stages. In the
first it tries to eliminate infeasibilities without worsening second-level costs. This is done using a
procedure taken from the filter algorithm – see appendix – that identifies the causes of the
infeasibilities and removes them by swaps of hours. The second stage is a 2-opt that swaps hours
and days until no better solutions are present in the neighborhood of the current timetable. The
operator thus moves a solution to a point of the search space that is locally optimal with respect to a
neighborhood defined by every possible swap of hours and of days.
Filter. The filter operator takes as input an infeasible solution and returns as output a feasible one.
It is used to ensure global feasibility to a timetable and is based on the observation that in each
column (hour) of the matrix every class must be present once and only once. If it were present twice
or more times, there would be teacher superimpositions. If it were not present, the class would be
uncovered. It is based on four procedures of increasing computational cost which are applied
sequentially. The first two procedures identify swaps of hours of one teacher that eliminate
infeasibilities. The other two procedures modify the schedules of more than one teacher.
The detailed steps comprising the filter algorithm are shown in the Appendix.
Table 1 gives the main properties of the considered genetic operators.
Tab.1 - Genetic operators and feasibility in the TTP case
Operator name Global feasibility Row feasibility
Reproduction Maintained Maintained
Crossover Not maintained Maintained
Mutation of order k Not maintained Maintained
Day mutation Not maintained Maintained
Filter Recovered Maintained
Row feasibility is maintained by all the operators presented, while this is not the case for column
feasibility: the goal of filtering will, therefore, be that of recovering column - hence global -
feasibility for any given timetable.
Summarizing, the operators have the following computational complexities (when applied to a
population of dimension N):
Reproduction Ο(FF.N)
Crossover Ο(LFF.N.m.pc)
13. 13
Mutation of order k Ο(N.m.n.pmk)
Local search Ο(FF.N.m.n)
Filter (Genetic Repair) Ο(Ν.m6.n3) {see Appendix}
Fitness function FF Ο(m2.n2)
Local fitness function LFF Ο(m.n2)
5. Computational results
The program we used for our experiments was written using the C language on an IBM PC with
standard configuration. The model and the program were tested by defining the timetable for a large
high school in Milan, in which the timetable was handmade by a group of teachers. In the academic
year 1992-93 the handmade timetable had a cost of 234 (as measured with our objective function).
We cooperated with the teachers who usually define the timetable. This collaboration has been
ongoing, from the design (for requirement definition) until the validation phase, which gave the
results reported below. Moreover, to assess the relative efficacy of our approach, we compared our
approach with simulated annealing (SA), adapting the indications of Abramson[1], and with tabu
search (TS), adapting the approach of Hertz and de Werra[21].
Parameter settings
We conducted a number of experiments to determine an efficient parameter settings for our GA. The
control parameters tested were:
i control probabilities: pm1, pmk and pmd of the different mutation operators, pc of the crossover;
ii local search enabled/disabled;
iii cost of infeasibilities: it has been set to a high value (1000, one order of magnitude greater than
weights for management conditions) or to a low value (3, to ease explorations of infeasible
regions).
Point (i) was tested considering 5 sets of values for each parameter chosen at regular intervals. The
range of the intervals would be enlarged if the best performing value resulted to be at one extreme of
the range. Five runs were carried out for each value combination, with only one change from the
initial setting, performed on a parameter per run. Each run lasted eight hours on an IBM PC 486. In
this way, we could identify a good parameter setting, and the values are reported in Table 2. The
algorithm was found somewhat insensitive when changes of pm1 and pc were held to within ± 0.2.
however, this insensitivity was not evident for changes of pmd (day mutation probability) or pmk, the
values of which should be kept very small.
14. 14
Tab.2 - Parameter settings
parameter value
pm1 0.30
pmk 0.01
pmd 0.01
pc 0.80
Point (ii) was tested running the algorithm 10 times with local search enabled and 10 times with
local search disabled, always using the optimal parameter setting found in point i. The average cost
of the timetable found without local search was 160.1 (variance σ=14.4) with a best cost 138.
Meanwhile, the average cost with local search was 111.1 (σ=16.2) with a best cost 91. The GA with
local search is therefore definitely superior to its counterpart, in accordance with the indications
expressed by Mühlenbein[24]. Figure 3 presents the evolution of the best values in the two cases.
Both runs lasted eight hours. The difference in the number of generations is due to the computational
cost of local search. As a further test, we applied the local search operator to the best timetables
found without local search, thus carrying them to their local optima. The average cost of these locally
optimized timetables was 157.7 (σ=14.4), with a best cost 136. This shows that it is worthwhile to
search in the space of the local optima: local optimization of the result of genetic search is not as
effective as genetic search among local optima.
with local search
0
100
200
300
400
0 200 400 600 800 1000
Number of
generations
Penalty
Number of
generations
Penalty
without local search
0
100
200
300
400
0 10000 20000 30000 40000
Fig.3 - Best values with and without local search.
Finally, tests on point (iii) suggest that a high value for the cost of infeasibilities should be used
when local search is off, a low value used when local search is on. In the case in which local search
is on, swaps are applied which maximally decrease the cost of the timetable; i.e., the highest-cost,
unsatisfied requirements are removed first. When very low infeasibility costs are used, local search
tries first to assemble a good timetable from the point of view of second level requirements, and only
later it tries to make it feasible. Since we have an explicit filter operator applied after local search, we
observe that, on the average, local search coupled with low infeasibility cost is much more effective
than local search coupled with high infeasibility costs. In fact, if infeasibilities had a high cost, local
search would first try to recover feasibility, even though this process leads to a great increase of
15. 15
second-level costs. Subsequent local optimization, performed on feasible or quasi-feasible
timetables, cannot change these second-level costs much. A further benefit of low infeasibility costs
results from the fact that in the first iterations more infeasible timetables survive in the population.
This broadens the search region which can be reached from the current population, thus allowing the
exploration of otherwise unreachable areas.
The case of GA without local search yields opposite results. With low infeasibility costs, filtering
is always applied intensively, thus dramatically slowing down the search process. The surviving
infeasible solutions however are usually the best-rated ones and generate many offspring.
As a final observation, note also that, while exploring promising zones of the search space, the
algorithm always identified feasible solutions within very few iterations; very good solutions,
however, needed many iterations to be devised.
Comparison with other approaches
We provide a comparison with two alternative approaches to evaluate how well our algorithm
performs with respect to the state of the art of automatic timetable design. Again, the algorithm was
implemented and tested in a high school in Milan. Since we could use any predefined population of
solutions as our starting point, we chose the previous year's timetables and adjusted them to meet the
new needs. This gave us a proven basis from which to begin, thereby saving computing time and
leading to improved solutions with respect to the handmade ones. The PC 386 environment allowed
on-site runs, and the carefully designed menu-based user interface allowed the users both to directly
interact with the computer in the input phase and to slightly edit the final solution: all these features,
beside increasing the effectiveness of the interaction, greatly helped the acceptance of the package by
the users.
When we applied our algorithm to the timetable used in the previous year in the school, we were
able to better arrange many lessons, so that both some didactical requirements and several teachers'
preferences were better satisfied. The total cost of the hand-designed timetable was in fact of 234,
while our GA has been able to lower it to 91. Note that we computed for our problem a lower bound
of 54 for the cost function, due to the presence of inconsistent single teachers requirements and fixed
hours. For example, so many teachers chose Saturday as desired day-off, which made it impossible
to satisfy all of them within a feasible timetable. Therefore, any timetable was bound to reflect costs
due to unsatisfied day-off requests. Similarly, some teachers had fixed hours that did not meet their
requirements, which again introduced unavoidable costs.
A comparison was carried out with respect to a Simulated Annealing (SA) based timetable
designer. We implemented a system following the indications presented by Abramson[1], using the
non-genetic part of our system as objective function evaluator. Given the differences between the
specific problems undertaken by Abramson and by us, we had to adapt the SA to work with our
fitness function. In particular, we defined the neighborhood of a timetable as we had done in the GA
16. 16
case. Also, the SA was asked to minimize not just the number of infeasibilities, but also didactical,
organizational and teachers' requirements.
The use of this algorithm in our example problem led to timetables consistently worse than the
handmade ones: it could not even recover the initial cost level when it was let evolve from the
previous year timetable (final results all had a cost well over 300). And while SA was very efficient
in recovering feasible timetables from infeasible ones, it could not effectively optimize feasible
timetables. This was true both in the case of high and of low infeasibility costs.
We therefore modified the basic SA in two ways. First, we tested a SA with reinitialization of the
temperature. As soon as a timetable got frozen, i.e., when the SA was unable to improve the current
timetable since no proposed swap was accepted anymore, the temperature was set to its starting level.
The annealing process could then start again from the previously frozen timetable. The best timetable
we found with this modified algorithm had a cost of 183. A graph of the cost evolution for the
corresponding run is presented in Figure 4, where the lower line plots the evolution of the best so far
solution and the higher one the evolution of the current solution.
0
500
1000
1500
2000
2500
3000
3500
Time
(hours)
1 2 3 4 5 6 7 8 9
Penalty
Current solution
"Best-so-far" solution
Fig.4 - SA with temperature reinitialization.
Alternatively, we tried to relax the problem when the timetable became frozen. We set the
infeasibility costs to 3 for a given (parametric) number of iterations after which the normal cost
function was applied again. This approach, coupled with a cooling rate of 0.9, yielded a timetable
with a cost of 164. A graph of the cost evolution of the "best-so-far" and current solutions for the
corresponding 10-hour-long run is presented in Figure 5.
17. 17
Current solution
"Best-so-far" solution
Time
(hours)
1 2 3 4 5 6 7 8 9 10
Penalty
0
500
1000
1500
2000
2500
3000
0
Fig.5 - SA with temporary relaxations.
Finally, we tested tabu search (TS), following the indications of Hertz and De Werra[21]. We
implemented a variable-length tabu list and used part of our system to assess the cost of the
timetables, as in the case of SA. The results achieved with this simple model were not very
satisfying, so we implemented a relaxation procedure identical to that used with SA. The results so
obtained were very good indeed, reliably producing timetables with costs lower than 100, with the
best one 85.
In summary, we obtained the following results:
Algorithm Best Average Std. dev.
Handmade 234 234 //
GA 138 160 15
GA with local search 91 111 16
TS 184 196 13
TS with relaxation 85 97 12
SA with reinitialization 183 262 57
SA with relaxation 164 174 25
6. Conclusions
In this paper we have presented a model, a class of algorithms and a computing program for the
timetable problem, with special reference to a real world application (the timetable of an Italian high
school). We compared our GA-based approach with various versions of simulated annealing and
tabu search. In our experiments GAs produced better timetables than simulated annealing, but
slightly worse timetables than tabu search. An advantage of GAs over both SA and TS is that GAs
18. 18
give the user the flexibility of choosing within a set of different timetables. This is an important
feature as the evaluation of a timetable is done by an objective function which can miss some
characterizing aspects. This, in turn, can make a timetable with a slightly higher cost more desirable
than one with a lower cost.
The main contributions of our work are:
• the definition of genetic operators that minimize generalized cost functions (which penalize the
possible infeasibilities of the generated solutions);
• the distribution over genetic operators, fitness function and genetic repair of the management
of the infeasibilities;
• the hierarchical structuring (in our case on three levels) of the o.f., in order to allow an easy
and effective definition of the relevance of the different objectives used;
• the filtering algorithm, i.e. an algorithm capable of recovering from infeasibilities, converting
an infeasible solution into a feasible one.
We believe that our approach is a useful generalization of the GA and can be applied to other
highly constrained combinatorial optimization problems.
Acknowledgments
We would like to thank Dan Jurafsky, Chris Meluish, and Ed Watkins for helpful comments on a
draft version of this paper.
References
1. A. ABRAMSON, 1991. Constructing school timetables using simulated annealing: sequential and
parallel algorithms, Management Science 37, 98–113.
2. E.A. AKKONYUNLU, 1973. A linear algorithm for computing the optimum of university
timetable, Computer Journal 16, 347–350.
3. A. BERTONI and M. DORIGO, 1993. Implicit parallelism in genetic algorithms, to appear in
Artificial Intelligence.
4. L. BOOKER, D.E. GOLDBERG and J.H. HOLLAND, 1989. Classifier systems and genetic
algorithms. Artificial Intelligence 40, 235–282.
5. M.W. CARTER, 1986. A survey of practical applications of examination timetabling algorithms,
Operations Research 34, 193–202.
6. N. CHAHAL and D. DE WERRA, 1989. An interactive system for constructing timetables on a
PC, European Journal of Operational Research 40, 32–37.
19. 19
7. A. COLORNI, M. DORIGO and V. MANIEZZO, 1992. Gli algoritmi genetici e il problema
dell'orario. Rivista di Ricerca Operativa 60, 5–31, (in Italian).
8. J. CSIMA and C.C. GOTLEIB, 1961. Tests on a computer method for construction of school
timetables, Communications of the ACM 7, 160–163.
9. L. DAVIS and F. RITTER, 1987. Schedule optimization with probabilistic search, Proceedings of
the Third IEEE Conference on Artificial Intelligence Applications.
10. K.A. DE JONG and W.M. SPEARS, 1989. Using genetic algorithms to solve NP-complete
problems, Proceedings of the Third International Conference on Genetic Algorithms, Morgan
Kaufmann.
11. D. DE WERRA, 1985. An introduction to timetabling, European Journal of Operational Research
19, 151–162.
12. S. EVEN, A. ITAI and A. SHAMIR, 1976. On the complexity of timetable and multicommodity
flow problems, SIAM Journal of Computing 5 :4, 691–703.
13. J.A. FERLAND and S. ROY, 1985. Timetabling problem for university as assignment of
activities to resources, Computers & Operations Research 12, 207–218.
14. D.B. FOGEL, 1992. A brief history of simulated evolution, Proceedings of the First International
Conference on Evolutionary Programming, D.B. Fogel & J.W. Atmar (eds.), Evolutionary
Programming Society, La Jolla, CA.
15. M.R. GAREY and D.S. JOHNSON, 1979. Computers and intractability, W.H. Freeman &
Company.
16. P. GIANOGLIO, 1990. Application of neural networks to timetable construction, Proceedings of
the Third International Workshop on Neural Networks & Their Applications.
17. D.E. GOLDBERG, 1989. Genetic algorithms in search, optimization & machine learning,
Addison-Wesley, Reading, Massachussets.
18. D.E. GOLDBERG and R. LINGLE, 1985. Alleles, loci, and the traveling salesman problem,
Proceedings of the First International Conference on Genetic Algorithms and Their Applications,
Lawrence-Erlbaum.
19. J.J. GREFENSTETTE and J.E. BAKER, 1989. How Genetic Algorithms Work: A Critical Look at
Implicit Parallelism, in Schaffer (ed.), Proceedings of the Third International Conference on
Genetic Algorithms, Morgan Kaufmann.
20. 20
20. A. HERTZ, 1989. La coloration des sommets d'un graphe et son application a la confection
d'horaires, Ph.D. Thesis No 785, Ecole Polytechnique Federale de Lausanne, Switzerland.
21. A. HERTZ and D. DE WERRA, 1989. Informatique et horaires scolaires, Output 12, 53–56.
22. J.H. HOLLAND, 1975. Adaptation in natural and artificial systems, The University of Michigan
Press, Ann Arbor, Michigan. Reprinted by MIT, 1992.
23. N.H. LAWRIE, 1969. An integer programming model for a school timetabling problem,
Computer Journal 12, 307–316.
24. H. MÜHLENBEIN, 1989. Parallel genetic algorithms, population genetics and combinatorial
optimization, Proceedings of the Third International Conference on Genetic Algorithms, Morgan
Kaufmann.
25. J.M. MULVEY, 1982. A classroom/time assignment model, European Journal of Operational
Research 9, 64–70.
21. 21
Appendix - The filtering procedure
The steps composing the filter algorithm (which actually are as many filters themselves) are the
following.
Step 0: for each column h (h=1, ..., n) of the matrix:
• compute the set of classes having superimpositions and put its elements in the list
over(h) together with their relative matrix coordinates;
• compute the set of uncovered classes and put its elements in the list miss(h) together
with their relative matrix coordinates.
Step 1: until there exist pairs of classes ci and cj such that:
• ci and cj are present in the same row (that is, classes ci and cj have a common teacher)
• in one of the rows where they are both present, they occupy columns h and k, with
ci ∈ over(h), ci ∈ miss(k), cj ∈ over(k), cj ∈ miss(h)
swap ci and cj.
The effect of the algorithm is shown in Figure 6.
Before After
over
miss
h k
ci
ci
ci
cj
cj
cj
over
miss
ci
cj
h k
Fig.6 - Swapping two classes.
Step 2: until there exist pairs of elements, constituted by a class ci and a movable gene ej (that is,
a gene that is either a character D or ♦), such that:
• ci and ej are present in the same row
• in one of the rows where they are both present, they occupy columns h and k with
ci∈over(h), ci∈miss(k)
swap ci and ej.
The effect of the algorithm is shown in Figure 7.
22. 22
Before After
over
miss
h k
ci
ci
ci
ej
over
miss
ci
ej
h k
Fig.7 - Swapping two elements (a class and a movable gene).
Step 3: until there exist transitive paths among classes, that is paths connecting classes ci, cj, ... ,
cs, ct, such that
• the classes ci, cj, .. , cs, ct are two by two in the same row
• ci ∈ over(h), ci ∈ miss(k), cj ∈ over(k), .. , cs ∈ miss(l), ct ∈ over(l),
ct ∈ miss(h)
swap each class with the following one belonging to the transitive path and present in the
same row.
The effect of the algorithm is shown in Figure 8, where only a two-step path is considered. Since
the complexity of the algorithm grows exponentially with the path length, we set the maximum length
path to two. However, the algorithm can be generalized for handling longer paths.
Before After
ci
over
miss
h k l
ci
ci
c
j
c
j
c
cj
ct
ct
ct
j
over
miss
cj
h k l
c
i
c
t
cj
Fig.8 - Swapping classes in a transitive path.
23. 23
Step 4: until there exist transitive paths among elements, where an element can be a class or a
movable gene in the sense defined in step 2, behave as in step 3 (allowing any class to be
substituted by a movable gene).
The effect of the algorithm is shown in Figure 9.
Before After
ci
over
miss
h k l
ci
ci
c j
c
j
c
j
cj
et
over
miss
cj
h k l
c
i
e
t
cj
Fig.9 - Swapping elements in a transitive path.
The computational complexities of the steps are the following.
Step 0: Ο(m.n)
Step 1: Ο(m3.n2)
Step 2: Ο(m3.n2)
Step 3: Ο(m6.n3)
Step 4: Ο(m6.n3)
Steps 3 and 4 imply a search in the set of links among superimposed and uncovered classes; it has
a complexity that grows exponentially with the length of the path. For this reason we have
(parametrically) limited to two the length of the path: the remaining infeasibilities (very few, as was
found experimentally) are left to the penalty/reproduction mechanism. With such a restriction the
complexity of the procedure is polynomial, in our case m6.n3.
We propose, as an example, an outline of the computation of the complexity for Step 1. In this
case, we have to find all the columns where an element is missing in one and superimposed in the
other and vice-versa. Therefore, for each column h (complexity n), for each element ci ∈ over(h)
(complexity at most m) and for each element cj ∈ miss(h) (complexity at most m) we have to
identify another column k (complexity n) having ci ∈ miss(k), cj ∈ over(k) (complexity m+m).
The complexity is thus n.m.m.n.2.m=2.n2.m3, that is Ο(m3.n2).
24. 24
Observation 1. Note that m is a large overestimate of the length of the over and miss lists, which
in the real cases have usually lengths 0, 1 or 2. Therefore, the factor maximally affecting the
computational speed of the filter operator is the power of n.
Observation 2. Steps 1 and 2 are special cases respectively of steps 3 and 4. They have been
introduced for efficiency reasons, and could have been obtained from steps 3 or 4 setting the path
length to one.