Crew Pairing Optimization with Genetic Algorithms

Slides:



Advertisements
Similar presentations
Algorithm Design Techniques
Advertisements

Constraint Optimization We are interested in the general non-linear programming problem like the following Find x which optimizes f(x) subject to gi(x)
Ali Husseinzadeh Kashan Spring 2010
CS6800 Advanced Theory of Computation
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Exact and heuristics algorithms
1 Transportation problem The transportation problem seeks the determination of a minimum cost transportation plan for a single commodity from a number.
Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Data Mining CS 341, Spring 2007 Genetic Algorithm.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Artificial Intelligence Genetic Algorithms and Applications of Genetic Algorithms in Compilers Prasad A. Kulkarni.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
Genetic Algorithm What is a genetic algorithm? “Genetic Algorithms are defined as global optimization procedures that use an analogy of genetic evolution.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Genetic Algorithms: A Tutorial
Genetic Algorithm.
Efficient Model Selection for Support Vector Machines
Slides are based on Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Intro. ANN & Fuzzy Systems Lecture 36 GENETIC ALGORITHM (1)
Genetic algorithms Prof Kang Li
CS 484 – Artificial Intelligence1 Announcements Lab 3 due Tuesday, November 6 Homework 6 due Tuesday, November 6 Lab 4 due Thursday, November 8 Current.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Genetic algorithms Charles Darwin "A man who dares to waste an hour of life has not discovered the value of life"
HOW TO MAKE A TIMETABLE USING GENETIC ALGORITHMS Introduction with an example.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Computational Complexity Jang, HaYoung BioIntelligence Lab.
1 “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions.
FINAL EXAM SCHEDULER (FES) Department of Computer Engineering Faculty of Engineering & Architecture Yeditepe University By Ersan ERSOY (Engineering Project)
A Hybrid Genetic Algorithm for the Periodic Vehicle Routing Problem with Time Windows Michel Toulouse 1,2 Teodor Gabriel Crainic 2 Phuong Nguyen 2 1 Oklahoma.
Exact and heuristics algorithms
Learning by Simulating Evolution Artificial Intelligence CSMC February 21, 2002.
© J. Christopher Beck Lecture 25: Workforce Scheduling 3.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Genetic Algorithms CSCI-2300 Introduction to Algorithms
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
Genetic Algorithms. 2 Overview Introduction To Genetic Algorithms (GAs) GA Operators and Parameters Genetic Algorithms To Solve The Traveling Salesman.
Chapter 12 FUSION OF FUZZY SYSTEM AND GENETIC ALGORITHMS Chi-Yuan Yeh.
Waqas Haider Bangyal 1. Evolutionary computing algorithms are very common and used by many researchers in their research to solve the optimization problems.
GENETIC ALGORITHM Basic Algorithm begin set time t = 0;
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
N- Queens Solution with Genetic Algorithm By Mohammad A. Ismael.
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Genetic Algorithm (GA)
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Overview Last two weeks we looked at evolutionary algorithms.
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
EVOLUTIONARY SYSTEMS AND GENETIC ALGORITHMS NAME: AKSHITKUMAR PATEL STUDENT ID: GRAD POSITION PAPER.
Genetic Algorithms An Evolutionary Approach to Problem Solving.
Genetic Algorithms And other approaches for similar applications Optimization Techniques.
Genetic Algorithm(GA)
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
Genetic Algorithms.
Artificial Intelligence Methods (AIM)
Chapter 6: Genetic Algorithms
Integer Programming (정수계획법)
Genetic Algorithms CSCI-2300 Introduction to Algorithms
EE368 Soft Computing Genetic Algorithms.
Searching for solutions: Genetic Algorithms
Artificial Intelligence CIS 342
Presentation transcript:

Crew Pairing Optimization with Genetic Algorithms Harry Kornilakis and Panagiotis Stamatopoulos Department of Informatics and Telecommunications University of Athens {harryk,takis}@di.uoa.gr The Crew Pairing Problem Solution to the Crew Pairing Problem Pairing Generation Optimization Using Genetic Algorithms Experimental Results Conclusions

The Crew Pairing Problem (1/2) The Crew Pairing Problem (CPP) is an important optimization problem that is part of the airline crew scheduling procedure. Crew scheduling = Crew pairing + Crew assignment Given a timetable containing all the flight legs that an airline company must carry out, the objective of the crew pairing problem is to generate leg combinations (pairings) of minimum cost that cover all given flight legs.

The Crew Pairing Problem (2/2) A pairing is a round trip, consisting of a sequence of legs, which starts and ends at the crew's home base. Each pairing is composed of a number of legal workdays, called duties, which are separated by rest periods. The CPP is the problem of finding a set of pairings, covering all legs that the airline has to carry out, with a minimal cost.

Constraints of the CPP Temporal constraints Spatial constraints Constraints concerning the type of airplane used (fleet constraints) Constraints due to laws and regulations (e.g. maximum duration of a duty, minimum rest period between two duties etc.)

Further Considerations on the CPP Deadheading: Crew members travelling as passengers, in order to move to a specific airport and continue a round trip. Cost Function: Usually depends on the crew’s wages and can be quite complicated. Modeling of the Constraints: Highly non-linear and hard to model constraints. Linear programming inadequate. Huge size of the search space

Solving the Crew Pairing Problem (1/2) Two Phase Procedure 1. Pairing Generation: A large number of legal pairings, composed of the legs in the timetable, is generated. 2. Optimization: A subset of the generated pairings is selected, so that every flight leg in the schedule is included in at least one pairing and the total cost is minimized.

Solving the Crew Pairing Problem (2/2) Pairing generation is also divided in two phases: We generate a large set of legal duties from the flight legs We generate the set of pairings by using the duties previously found

Pairing Generation (1/2) L : Set of all the flight legs Constraints: defined as a function C : 2L  {0,1}, where 2L is the powerset of L, C (p)=1 if p is a legal pairing and C (p)=0, if not. We want to generate a set of pairings P = {p  2L | C (p)=1}, i.e. the set of pairings that satisfy all the constraints. Checking for the satisfaction of the constraints is independent of the optimization phase.

Pairing Generation (2/2) First Phase: Generation of duties from legs Implemented as a depth-first search in the space of all possible subsets of the set of all flight legs. The number of legal duties found might be too large, so we also perform an algorithm that selects the best in order to use them in the next phase. Second Phase: Generation of pairings from duties Works similarly to the first phase but instead of duties it generates pairings.

Optimization (1/2) Modeled as a set covering problem: Given a set M with m elements and n subsets Μj of M with associated costs cj , j = 1,2… n, select a number of these subsets such that every element of M is contained in a least one selected subset and the total cost of all selected subsets is minimum. Set covering has been proven to be NP-complete (Garey & Johnson, 1979)

Optimization (2/2) Existing Methods for the set covering problem: Exact Methods: For average sized problems Approximate Methods: Give approximate solution to large sized problems Our Method is a modification of an algorithm by Beasley & Chu (1996)

Genetic Algorithms (1/2) Genetic algorithms (GA): Methods for random search based on the evolutionary process of species, found in nature. Each possible solution is encoded as a string (chromosome). Each character of the chromosome is called a gene. The quality of each solution is represented by a real valued function defined over the set of all chromosomes (fitness function).

Genetic Algorithms (2/2) Two of the fittest members of the population are selected and combined to produce a new solution (crossover). Then a few random genes of the new solution are changed (mutation) in order to avoid local minima in the search. New individuals replace the weaker members of the existing population.

Genetic Algorithm for Crew Pairing Optimization (1/4) Binary String Coding: Each chromosome has length equal to number of pairings. Each gene corresponds to one pairing. If the gene is 1 then the corresponding pairing is in the solution, otherwise it is not. Fitness Function: Σi ci ·gi +deadheadingPenalty ·deadheadedFlights ci is the cost if the i-th pairing gi is the value of the i-th gene of the solution deadheadingPenalty is a constant to penalize deadheaded flights deadheadedFlights is the number of deadheaded flights

Genetic Algorithm for Crew Pairing Optimization (2/4) Selection of Parents: based on their order in the population, sorted in descending order based on their fitness function, not on the absolute value of the fitness. Crossover: Uniform crossover, i.e. if the i-th gene of both parents is 1 (respectively 0) then the i-th gene of the offspring is set to 1 (respectively 0). Otherwise its value is randomly selected. Mutation: A few genes of the new solution are randomly set to 1 or 0 with probability that depends on the density (the percentage of genes equal to 1) of the fittest individual of the population.

Genetic Algorithm for Crew Pairing Optimization (3/4) Correcting the Solution: After crossover and mutation the new solution might be infeasible. Correction Algorithm: The value of some genes is changed to 1 until every flight leg is covered and the solution becomes feasible. For each uncovered leg in the solution, we add a pairing that covers that leg. To select one pairing among all the pairings which contain that particular leg, we use a heuristic that favors pairings of low cost that cover as many uncovered legs as possible and as few legs already covered as possible.

Genetic Algorithm for Crew Pairing Optimization (4/4) Randomly generate an initial population of chromosomes. Repeat until a satisfactory solution is reached Select two of the fittest members of the population for parents. Apply the crossover operator on the two parents to produce a child chromosome. Apply the mutation operator on the child chromosome. Correct the child chromosome so that it becomes a feasible solution. Select one of the weakest members of the population to be replaced. Replace the selected individual with the child.

Experimental Results Input data: Real data from the flight schedule of Olympic Airways (737-200 fleet, April 1998), which was composed of 2100 flight legs, passing through 29 different airports. Constraints: Based on the regulations of the Olympic Airlines for cockpit crews. Pairing Generation: 22090 legal duties and then 11981 legal parings were generated and stored. Optimization: After 20000 generations a solution of cost 976004 and of zero deadheading was found.

Progress of the Optimization (1/2)

Progress of the Optimization (2/2)

Comparison of our Method and Parachute (1/2) We compared our result with the result found by the project PARACHUTE, a project that combines constraint programming with parallel computing. We ran PARACHUTE on the same data set and used the same constraints. Our method gave a solution of cost lower by 194148 (16.5%).

Comparison of our Method and Parachute (2/2)

Conclusions We separated the Crew Pairing Problem in two phases. A depth-first search was used in the first phase and a genetic algorithm in the second. Experimental results with real data were satisfactory improving on previous result and showing that the solution is viable.