INTERACTIVE MULTI-OBJECTIVE GENETIC ALGORITHMS FOR THE BUS DRIVER SCHEDULING PROBLEM

Similar documents
Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)

Multi-objective Optimization

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

Evolutionary Algorithm for Embedded System Topology Optimization. Supervisor: Prof. Dr. Martin Radetzki Author: Haowei Wang

International Conference on Computer Applications in Shipbuilding (ICCAS-2009) Shanghai, China Vol.2, pp

Solving the Capacitated Single Allocation Hub Location Problem Using Genetic Algorithm

Lamarckian Repair and Darwinian Repair in EMO Algorithms for Multiobjective 0/1 Knapsack Problems

HEURISTIC OPTIMIZATION USING COMPUTER SIMULATION: A STUDY OF STAFFING LEVELS IN A PHARMACEUTICAL MANUFACTURING LABORATORY

Evolutionary Multi-objective Optimization of Business Process Designs with Pre-processing

NCGA : Neighborhood Cultivation Genetic Algorithm for Multi-Objective Optimization Problems

Multi-objective Optimization

A Similarity-Based Mating Scheme for Evolutionary Multiobjective Optimization

Improved Crowding Distance for NSGA-II

Handling Constraints in Multi-Objective GA for Embedded System Design

Design Space Exploration

GENERATIONAL MODEL GENETIC ALGORITHM FOR REAL WORLD SET PARTITIONING PROBLEMS

GENETIC ALGORITHM with Hands-On exercise

Heuristic Optimisation

Genetic Algorithms Variations and Implementation Issues

Mechanical Component Design for Multiple Objectives Using Elitist Non-Dominated Sorting GA

Evolutionary Algorithms and the Cardinality Constrained Portfolio Optimization Problem

Comparison of Evolutionary Multiobjective Optimization with Reference Solution-Based Single-Objective Approach

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem

A Hybrid Genetic Algorithm for the Distributed Permutation Flowshop Scheduling Problem Yan Li 1, a*, Zhigang Chen 2, b

CHAPTER 6 REAL-VALUED GENETIC ALGORITHMS

Suppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you?

Unsupervised Feature Selection Using Multi-Objective Genetic Algorithms for Handwritten Word Recognition

Evolutionary Algorithms: Lecture 4. Department of Cybernetics, CTU Prague.

Application of a Genetic Algorithm to a Scheduling Assignement Problem

Incorporation of Scalarizing Fitness Functions into Evolutionary Multiobjective Optimization Algorithms

Recombination of Similar Parents in EMO Algorithms

Generalized Multiobjective Multitree model solution using MOEA

Multiobjective Optimization Using Adaptive Pareto Archived Evolution Strategy

Genetic Algorithms. Kang Zheng Karl Schober

Hybridization of Genetic Algorithm and Linear Programming for Solving Cell Formation Problem with Alternative Process Routings

Genetic Algorithms for Vision and Pattern Recognition

Outline. Motivation. Introduction of GAs. Genetic Algorithm 9/7/2017. Motivation Genetic algorithms An illustrative example Hypothesis space search

Exploration vs. Exploitation in Differential Evolution

Introduction to Genetic Algorithms. Based on Chapter 10 of Marsland Chapter 9 of Mitchell

A New Selection Operator - CSM in Genetic Algorithms for Solving the TSP

Heuristic Optimisation

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

CHAPTER 1 INTRODUCTION

Evolutionary Computation Part 2

Reducing Graphic Conflict In Scale Reduced Maps Using A Genetic Algorithm

Akaike information criterion).

A LOCAL SEARCH GENETIC ALGORITHM FOR THE JOB SHOP SCHEDULING PROBLEM

BI-OBJECTIVE EVOLUTIONARY ALGORITHM FOR FLEXIBLE JOB-SHOP SCHEDULING PROBLEM. Minimizing Make Span and the Total Workload of Machines

The Genetic Algorithm for finding the maxima of single-variable functions

SCHOOL OF COMPUTER STUDIES RESEARCH REPORT SERIES

GRASP. Greedy Randomized Adaptive. Search Procedure

Dynamically Configured λ-opt Heuristics for Bus Scheduling

A Simple Multi-Objective Optimization Algorithm for the Urban Transit Routing Problem

Hybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2

DETERMINING MAXIMUM/MINIMUM VALUES FOR TWO- DIMENTIONAL MATHMATICLE FUNCTIONS USING RANDOM CREOSSOVER TECHNIQUES

Evolutionary multi-objective algorithm design issues

Finding Sets of Non-Dominated Solutions with High Spread and Well-Balanced Distribution using Generalized Strength Pareto Evolutionary Algorithm

Bi-Objective Optimization for Scheduling in Heterogeneous Computing Systems

Metaheuristic Optimization with Evolver, Genocop and OptQuest

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Improvement of Web Search Results using Genetic Algorithm on Word Sense Disambiguation

3. Genetic local search for Earth observation satellites operations scheduling

Available online at ScienceDirect. Procedia CIRP 44 (2016 )

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

Multiobjective Optimisation. Why? Panorama. General Formulation. Decision Space and Objective Space. 1 of 7 02/03/15 09:49.

What is GOSET? GOSET stands for Genetic Optimization System Engineering Tool

Preferences in Evolutionary Multi-Objective Optimisation with Noisy Fitness Functions: Hardware in the Loop Study

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

Lecture

Evolutionary Computation for Combinatorial Optimization

Fuzzy Evolutionary Approaches for Bus and Rail Driver Scheduling

CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES

Chapter 14 Global Search Algorithms

A computational intelligence approach to systemof-systems. optimization

GVR: a New Genetic Representation for the Vehicle Routing Problem

Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

Constraint Handling in Genetic Algorithms: The Set Partitioning Problem

Introduction to Genetic Algorithms

SPEA2+: Improving the Performance of the Strength Pareto Evolutionary Algorithm 2

Mechanical Component Design for Multiple Objectives Using Elitist Non-Dominated Sorting GA

A Multiobjective Optimization Model for Exploring Multiprocessor Mappings of Process Networks

Multi-Objective Memetic Algorithm using Pattern Search Filter Methods

Sparse Matrices Reordering using Evolutionary Algorithms: A Seeded Approach

Improved Genetic Operators for the Multiobjective Generalized Assignment Problem

Multiobjective Job-Shop Scheduling With Genetic Algorithms Using a New Representation and Standard Uniform Crossover

Graphical User Interface For Multi-Objective Decision Support

PROGRESSIVE STRUCTURAL TOPOLOGY OPTIMIZATION BY VARIABLE CHROMOSOME LENGTH GENETIC ALGORITHM

Improving interpretability in approximative fuzzy models via multi-objective evolutionary algorithms.

Initial Population Construction for Convergence Improvement of MOEAs

RPSGAe A Multiobjective Genetic Algorithm with Elitism: Application to Polymer Extrusion

Search Algorithms for Regression Test Suite Minimisation

! #! % & ( ) + ) ),, ). // / 0! #! 1! 2 3 1,!! # ).3 4 & ., 3 ) ) +, +,, / 2 ) +,! 5%65 % &! 7 8,,,!.3! %96 %& # ).3 4 & .

Performance Assessment of DMOEA-DD with CEC 2009 MOEA Competition Test Instances

Combinational Circuit Design Using Genetic Algorithms

Multi-Objective Pipe Smoothing Genetic Algorithm For Water Distribution Network Design

Dynamic Vehicle Routing Using Hybrid Genetic Algorithms

Similarity Templates or Schemata. CS 571 Evolutionary Computation

A Randomized Algorithm for Minimizing User Disturbance Due to Changes in Cellular Technology

Genetic Algorithms. PHY 604: Computational Methods in Physics and Astrophysics II

Transcription:

Advanced OR and AI Methods in Transportation INTERACTIVE MULTI-OBJECTIVE GENETIC ALGORITHMS FOR THE BUS DRIVER SCHEDULING PROBLEM Jorge PINHO DE SOUSA 1, Teresa GALVÃO DIAS 1, João FALCÃO E CUNHA 1 Abstract. Although in its former formulations the Bus Driver Scheduling Problem (BDSP) has been considered as a Set Covering Problem there is in practice some complicating additional constraints, arising from government legislation, union agreements and company s dependent operational rules. Moreover, costs, quality of service, and the satisfaction of the drivers expectations have to be taken into account, making the problem really multicriteria. By applying Genetic Algorithms (GA), traditional approaches based on the Set Covering model have been extended, allowing the simultaneous consideration of several complex criteria. In our algorithm, a strong interaction with the planner has been promoted, in tuning and refining solutions, and as a way to deal with the multi-criteria character of the problem. Exhaustive experimental evaluation with real problems from different companies has proved that this approach can quickly produce very satisfactory solutions, bringing automatic solutions closer to the planners expectations. 1. Introduction The bus driver or crew scheduling problem is an extremely complex part of the operational planning process of transport companies. This planning process starts by the definition of vehicle schedules, aiming at minimising the number of vehicles required. Then the daily work of each vehicle is divided into units, called pieces-of-work, that start and finish at relief points, i.e., places where drivers can be replaced. Along with the driving time, a duty usually also includes meal breaks, overtime periods, as well as the times needed to operate the vehicles inside the depot. A set of pieces-of-work that satisfy all the constraints is a feasible duty. A solution for the bus driver scheduling problem is a set of feasible duties that hopefully cover all the vehicle trips scheduled for a route or a small set of routes. Several objectives and goals that will allow judgements of cost and quality also guide the process of constructing such a solution. 1 Faculdade de Engenharia da Universidade do Porto, R. Dr. Roberto Frias, 4200-465, Portugal jsousa@fe.up.pt

Interactive multi-objective genetic algorithms for the bus 699 For this type of problem Genetic Algorithms are interesting, because they do not impose any particular restrictions on the objective function structure, that may therefore encompass different characteristics that are usually very difficult to handle by traditional algorithms. 2. Models, soft constraints and objectives Traditionally the bus driver scheduling problem is formulated as a set covering/partitioning problem [2]. In the set covering model overcovers are allowed, meaning that more that one duty covers the same piece-of-work. The set partitioning problem forces that there is only one driver in each vehicle, at any time. The main difficulty of this particular model is that, if a limited number of generated duties is available, we cannot usually guarantee that there is a feasible solution [3]. Therefore it is common to start by applying the set covering approach, even if the number of overcovers in the final solution may often be very high. In this work we propose a relaxation of the set partitioning model in which leftovers or uncovered pieces-of-work, i.e., pieces-of-work not associated or covered by any feasible duty, are allowed. Leftovers are obviously undesirable, as they correspond to trips with no drivers assigned, so they must be penalised in the objective function. In practice, leftovers are assigned to crews using extra work time, or grouped together with leftovers from other routes. The constraints considered in the construction of a feasible BDSP solution can be divided into hard and soft constraints. The choice of the constraints to impose to a particular problem depends on the structure of the problem and on the operational planning rules of the company. Hard constraints cannot be violated and implicitly define the type of problem under consideration. In our approach hard constraints guarantee that each piece-of work in the solution is covered at most by one duty, although some pieces-of-work may remain uncovered (these uncovered pieces-of-work are called leftovers). Soft constraints can be violated although they should not. They can be handled as independent criteria by the multiobjective genetic algorithm and each violation of a soft constraint is penalised according to the extent of that violation. 2.1. Soft constraints involving leftovers The number of leftovers, which we want to minimise, is object of a specific soft constraint. In order to avoid the occurrence of long leftovers, we consider that each leftover that lasts more than a predefined value (usually, the maximum driving time) is divided into two leftovers. As an alternative, we can minimize the overall duration of the leftovers (sum of the duration of all the uncovered pieces-of-work). A specific set of soft constraints has also been used to model the minimum and maximum duration of the leftovers and their average duration.

700 J. Pinho de Sousa et al. 2.2. Soft constraints on the set of duties The evaluation of a solution cannot be done only by separately evaluating the different duties in the solution. We therefore need to express some global desired features of a solution through some other soft constraints: (i) constraints on the average duration of duties: many companies want schedules to be balanced, i.e., to be formed by duties with similar durations; these constraints try to minimise the deviation from a target average duration of the duties; (ii) constraints on duty types try to minimise the deviation from a target duration for each duty type, as well as the minimum and maximum percentage of each duty type; (iii) constraints on the number of vehicle changes: some companies do not want their drivers to change vehicles often; these constraints try to minimize the number of bus changes in a solution. 2.3. Objectives We have considered direct costs and penalisations (associated to the soft constraints) as separate components, and have explicitly left the user the option of including the penalisations into the cost function. The evaluation of the cost of each leftover is carried out in two phases: first, we calculate the minimum number of drivers required to perform each leftover. Next, the cost of each leftover is evaluated multiplying the minimum number of drivers by a number that is proportional to the maximum cost of a duty. Two objective functions (to be minimized) are then considered that can be combined with any group of soft constraints: (i) total cost of a solution; (ii) number of duties: this is a special case of the minimization of the total cost of the duties, when all the duties have an unit cost. 3. A multiobjective genetic algorithm for the BDSP 3.1. Coding scheme Our GA is based on a non-standard coding scheme: each piece-of-work corresponds to a gene of the chromosome, characterised by the set of duties that cover the piece-of-work in a solution [4] [5]. In this approach, called pieces-of-work coding scheme, (PWC), each piece-of-work corresponds to a gene of the chromosome, and each gene is characterised by the duty that covers the piece-of-work in that particular solution. Figure 1 represents a solution for a problem with 14 pieces-of-work. The value of each gene corresponds to the duty that covers the piece-of-work (e.g. the duty 5 covers pieces-of-work 2 and 11).

Interactive multi-objective genetic algorithms for the bus 701 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5 3 2 1 4 1 0 2 3 5 2 4 0 Figure 1. A chromosome for the PWC coding scheme. When it is not possible to cover all the pieces-of-work, those that remain uncovered are given the value 0. Obviously, this particular solution is infeasible for the set partitioning problem, but it is a feasible relaxed partitioning solution. This coding always represents feasible relaxed partitioning solutions (they may contain leftovers, but no overcovers). 3.2. Crossover and mutation We have designed several crossover operators that always produce feasible relaxed partitioning solutions. Union crossover: This operator randomly selects duties from the parents (usually two) in order to build a new chromosome. If some pieces-of-work remain not covered, we attempt to cover them with duties randomly selected from the set of generated duties that do not violate the hard constraints. Two-point crossover: In this operator each parent is divided into three parts and the duties belonging to each part are exchanged to build a new chromosome. This operator uses two parents to produce one or two children. We try to fill the uncovered pieces-of-work with duties randomly selected from the set of generated duties. Swap crossover: This operator was inspired by the procedure used by the majority of the companies when they build a new schedule manually. The first and last pieces-of-work of each vehicle are covered first. The remaining pieces-of-work are covered using a procedure similar to the one used in the union crossover. Concerning mutation, we have designed an operator that destroys part of a solution and tries to rebuild it in a different way, and three repairing operators that try to improve a solution by performing a search in its neighbourhood. The planner can choose which of them he wants to apply and also with what probabilities. 3.3. Parent selection and the elite set The external set is a subset of all the non-dominated solutions found so far [6]. It is updated at the end of each generation by adding the new non-dominated solutions and by removing the solutions that became dominated by the new ones. The maximum size of the external set is predefined by the user, but it can be changed at each generation. When the number of non-dominated solutions is larger than this value, a filtering procedure is applied, in order to reduce the number of non-dominated solutions in the external set. After the evaluation and the fitness assignment of all elements in the population, we need to select some of them for reproduction. We have applied the Binary Tournament Selection in which two individuals are randomly selected from the population and the individual with the highest fitness is selected for reproduction. The individuals called to

702 J. Pinho de Sousa et al. compete in each tournament are randomly selected from a pool composed by the elements of the external set and those of the population. 3.4. Fitness assignment The external set is composed by non-dominated solutions regarding the current population. For each solution in the external set we take into account the following two sets: (i) the set of solutions it dominates and (ii) the set of solutions that also dominate the solutions in (i). In order to obtain a good representation of the potentially non-dominated solutions, each solution in the external set should dominate a small number of solutions in the population and each of these dominated solutions should in turn be dominated by only a few other solutions. Loosely speaking, we want to penalise those solutions in the external set that "share" its dominance relations with many other solutions. This concept, that we have called dominance sharing is formally defined below. The fitness of an element of the external set decreases as the corresponding dominance sharing increases. The idea is to spread the non dominated solutions as evenly as possible through the solutions space. In order to rank the solutions in the population our main goal was to assign higher fitness values to those solutions that: (i) are dominated by a small number of solutions and (ii) each of these "dominant" solutions has a small dominance sharing value. 4. Using the interactive application GenT GenT is the application that encapsulates our multi-objective GA. It was coded in C++ and it can be used either as a stand-alone application or embedded in the GIST Decision Support System. The main window of GenT is presented in Figure 2. The text boxes (not editable) show the details of the problem and some performance measures of the algorithm. Using the edit boxes or the buttons, the user can change the parameters of the algorithm. This window also shows some features of the best solutions found so far. A default value is assigned to each algorithm parameter but the user can dynamically change the values of the parameters. The user can also choose the evaluation criteria to apply for a specified number of generations set in the main window. The available criteria are presented in Figure 3. Each line corresponds to a given criterion that will be selected through the corresponding check box. This window also contains buttons that open new windows allowing the user to manipulate the parameters associated to the criteria and to the duty types. During the execution of the algorithm the user can: change the parameters of the algorithm and those of the criteria; add or remove criteria from the predefined set; proceed with the current run for a given number of generations, start a new run or replicate the current run;

Interactive multi-objective genetic algorithms for the bus 703 save any non-dominated solution provided by the algorithm, to be later visualised by the GIST system; insert a solution into the population - any solution that was previously obtained by manual or automatic procedures can be inserted into a population. Figure 2. Main window of GenT Figure 3. Criteria window

704 J. Pinho de Sousa et al. 5. Computational experiments with real problems Computational experiments have been performed with a set of real problems from three Portuguese mass transit companies: STCP in Porto, Carris in Lisbon and SMTUC in Coimbra. Each company has its own set of constraints, operational rules and objectives. Here we present the particular case of SMTUC, a medium size transport company operating with 130 buses and 295 drivers. Bus driver scheduling at SMTUC involves three duty types: straight duties, split duties and long break duties. The average duration of all duties in a schedule must be as close as possible to 7h00. Both split and long break duties are preferred to straight duties, split duties being the most desirable. Leftovers may occur and be assigned by planners as extra work to normal drivers or as normal work to extra drivers. The algorithm has run with the default parameters. All solutions were obtained in less than 10 minutes and no manual adjustments were made. The solutions obtained by the GA have been compared with the company current solutions obtained with a Decision Support System (GIST) [1] without any automatic procedure. Table 1 presents the set of alternative solutions obtained for a problem instance that generates the duties for all drivers at weekdays. For each solution, Table 1 shows the number of duties, the number of leftovers, the total duration of the leftovers, the average duration of the duties and, for each duty type, the number of duties and the corresponding average duration. Solution SMTUC corresponds to the current company solution. We have managed to produce a solution with less five duties (210) than the current solution and no leftovers, and several solutions with a higher reduction on the number of duties but with some uncovered work. Note that as the number of duties decreases, the number of leftovers increase, as well as the number of long break duties. The final decision on which solution corresponds to the best trade-off between the chosen criteria is left to the planner. Solution # # dur. av.dur Split duties Long break duties Straight duties duties left. left. duties # av.dur # av.dur # av.dur SMTUC 215 2 6:35 6:35 173 6:37 34 6:38 8 6:05 1 213 0 0:00 6:33 171 6:31 42 6:42 0 0:00 2 211 0 0:00 6:35 155 6:33 56 6:42 0 0:00 3 210 0 0:00 6:37 154 6:35 56 6:43 0 0:00 4 208 2 2:30 6:38 151 6:37 57 6:44 0 0:00 5 207 4 7:45 6:39 150 6:38 57 6:44 0 0:00 Table 1. Solutions for problems SMTUC 6. Conclusions The Bus Driver Scheduling Problem is a complex multi-criteria combinatorial decision problem that has to deal with a large set of labour and resource constraints, operational costs and service quality requirements. Traditional approaches based on the Set Covering model hardly handle the nonstructured multi-criteria aspects of the problem and clearly lack flexibility. In this paper we

Interactive multi-objective genetic algorithms for the bus 705 have extended these approaches by designing a multi-objective Genetic Algorithm, GenT, which enables planners to fully exploit their experience in refining automatically produced solutions. GenT can be used either as a stand-alone application or embedded in the GIST Decision Support System. GenT is based on a non-standard coding scheme and special operators have been designed to take full advantage of the specific features of the problem. In particular different types of crossover and mutation operators have been implemented, and a global approach based on the concept of Pareto dominance to rank the individuals in the population has been adopted. An elite set keeps a representative subset of all the nondominated solutions found so far, separately from the current population. Moreover, experts can be extremely useful in performing adjustments to the solutions. Therefore, a strong interaction with the planner has been promoted, in tuning and refining solutions, and as a way to deal with the multi-criteria character of the problem. Finally, it should be noted that solutions are difficult to assess when the criteria under consideration are not just costs. However experimental evaluation with real problems from several Portuguese companies has shown that the GenT tool embedded in the GIST system can quickly produce very satisfactory solutions closer to the planners expectations. References [1] Cunha, J. F. and J. P. Sousa (2000). The Bus Stops Here - GIST: Decision Support System for Public Transport Planning, OR/MS Today 27, N. 2, 48-53. [2] Ernst, A. T., H. Jiang, M. Krishnamoorthy, B. Owens and D. Sier (2004). An Annotated Bibliography of Personnel Scheduling and Rostering, Annals of Operations Research 127, 21-144. [3] Beasley, J. E. and P. C. Chu (1996). A Genetic Algorithm for the Set Covering Problem, European Journal of Operational Research 94, 392-404. [4] Eremeev, A. (1999). A Genetic Algorithm with a Non-Binary Representation for the Set Covering Problem, Proceedings of Operations Research' 98, 175-181. [5] Dias, T. G., J. F. Cunha and J. P. Sousa (2002). Genetic Algorithms for the Bus Driver Scheduling Problem: A Case Study, Journal of the Operational Research Society 53, no 3, 324-335. [6] Zitzler, E. (1999). Evolutionary Algorithms for Multiobjective Optimization: Methods and Applications, Phd Thesis, Zurich: Swiss Federal Institute of Technology (ETH).