67
Examensarbete Manpower planning for airline pilots — A tabu search approach Bj¨ornThal´ en LiTH-MAT-EX–2010/16–SE

Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

Examensarbete

Manpower planning for airline pilots —

A tabu search approach

Bjorn Thalen

LiTH-MAT-EX–2010/16–SE

Page 2: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet
Page 3: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

Manpower planning for airline pilots —

A tabu search approach

Optimization, Linkopings Universitet

Bjorn Thalen

LiTH-MAT-EX–2010/16–SE

Examensarbete: 30 hp

Level: A

Supervisor: Fredrik Altenstedt,Jeppesen, Goteborg

Supervisor: Asa Holm,Optimization, Linkopings Universitet

Examiner: Torbjorn Larsson,Optimization, Linkopings Universitet

Linkoping: april 2010

Page 4: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet
Page 5: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

Abstract

The airline industry faces some of the largest and most complicated opti-mization problems among all industries today. A large part of their costs iscrew costs and large savings can be made by efficient manpower planning.The research focus has been on the later steps in the planning process suchas crew scheduling. The focus of this thesis is on the largely unexplored re-search area of staffing and transition planning for pilots. For the importantquestion of which pilot should receive training to which position no solutionstrategy with optimization has, before this thesis, been presented. One reasonfor this might be that many complicated regulations concern this question,making an easily solved model impossible. I have developed a tabu searchbased algorithm with encouraging results. The algorithm was tested on datafrom Scandinavian Airlines. Compared to a reference algorithm based oncommercial mixed integer programming software, the tabu search algorithmfinds similar solutions about 30 times faster. I show how tabu search can betailored to a specific complicated problem, and the results are good enoughto not only be of theoretical interest but also of direct practical interest foruse in the airline industry.

Keywords: Optimization, Tabu search, Meta-heuristics, Manpower plan-ning, Airline, Pilot, Iterated Local Search.

URL f¨or elektronisk version:http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-113268

Thalen, 2010. v

Page 6: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

vi

Page 7: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

Acknowledgements

This thesis is dedicated to Svante Silven, my mentor and guide into thebeautiful world of mathematics.

From November 2009 to the conclusion of this thesis Jeppesen has gener-ously provided me with an office and access to computer resources, as well asproviding test data and supervision. I would like to thank Fredrik Altenstedt,my supervisor at Jeppesen, for his committed and highly qualified help andguidance with the thesis. I would also like to thank Tomas Gustafsson, LarsSamulesson and Eva Bentgsson all employees at Jeppesen that in differentways helped me to achieve the result of this thesis.

Another important person that I wish to thank is Asa Holm, my supervi-sor at Linkopings Universitet that has provided me with ideas and commentson both large concepts and small details throughout the process. Finally Iwish to thank my examinator Torbjorn Larsson at Linkopings Universitet,for all help received throughout the process.

Thalen, 2010. vii

Page 8: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

viii

Page 9: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

Contents

1 Introduction 11.1 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 The pilot manpower planning problem 32.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 Planned absence . . . . . . . . . . . . . . . . . . . . . . . . . 42.4 Crew scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . 52.5 Recovery planning . . . . . . . . . . . . . . . . . . . . . . . . 6

3 The pilot staffing and transition problem 73.1 Positions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2 Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.3 Seniority rules . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.4 Courses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.5 Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.6 Objective of the optimization problem . . . . . . . . . . . . . 113.7 Interactions between the parts . . . . . . . . . . . . . . . . . . 133.8 Previous research . . . . . . . . . . . . . . . . . . . . . . . . . 14

4 Mathematical model 174.1 Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.4 Objective function . . . . . . . . . . . . . . . . . . . . . . . . 184.5 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5 Meta-heuristics 215.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215.2 Neighborhoods . . . . . . . . . . . . . . . . . . . . . . . . . . 225.3 Intensification . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Thalen, 2010. ix

Page 10: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

x Contents

5.4 Diversification . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.5 Local search . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.5.1 Knapsack example . . . . . . . . . . . . . . . . . . . . 245.5.2 Solving knapsack example with local search . . . . . . 24

5.6 ILS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.7 Tabu Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.7.1 Neighborhoods . . . . . . . . . . . . . . . . . . . . . . 265.7.2 Short term memory strategy . . . . . . . . . . . . . . . 275.7.3 Long term memory strategy . . . . . . . . . . . . . . . 295.7.4 Knapsack example . . . . . . . . . . . . . . . . . . . . 295.7.5 Example from another industry . . . . . . . . . . . . . 30

6 Solution method 336.1 Pseudo-code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336.2 Search variables and neighborhoods . . . . . . . . . . . . . . . 336.3 Short term memory strategy . . . . . . . . . . . . . . . . . . . 376.4 ILS-inspired diversification . . . . . . . . . . . . . . . . . . . . 386.5 Alternative solutions . . . . . . . . . . . . . . . . . . . . . . . 38

6.5.1 Strategic oscillation . . . . . . . . . . . . . . . . . . . . 386.5.2 Alternative perturbation steps . . . . . . . . . . . . . . 39

7 Computational results 417.1 Test cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417.2 Solvers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

7.3.1 Main test case, main solvers . . . . . . . . . . . . . . . 447.3.2 Alternative solvers . . . . . . . . . . . . . . . . . . . . 477.3.3 Alternative test cases . . . . . . . . . . . . . . . . . . . 48

8 Discussion 51

Page 11: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

Chapter 1

Introduction

Some of the largest and most complicated optimization problems faced in anyindustry today are to be found in the airline industry. In 2009 the SAS grouphad more than a 1000 daily departures to 143 destinations and employed over15000 people (see annual report [18]), and SAS is just a mid-sized company inthe industry. The airline industry has also been the subject for tremendousamount of research in all sorts of different scientific areas, and one of themajor research databases, SpringerLink (at [19]), lists 360 journal articlesand almost a 1000 book chapters published during 2009 alone that on somelevel addresses the airline industry.

One of the largest costs for airlines are flight crew salaries, SAS’s costsfor employees in 2009 was 17996 million SEK [18]. This means that verysmall cost reductions measured in percents will transfer to very large savingsmeasured in money.

The problem of supplying all aircrafts with the right kind of pilots andcrews is the main manpower problem that the companies are faced with.There are a lot of both hard and soft constraints that need to be considered,such as government rules, union rules and crew preferences. The planning isalso done over a very long time span, that starts a couple of years before dayof operation and does not end until the plane is in the air.

The focus of this thesis will be on the problem of pilot staffing and tran-sitioning. The staffing problem can be described as answers to the questions:”If to hire/furlough pilots?” and ”Which pilots to promote to which posi-tions?” the transition problem is the question of ”When to start trainingfor new/promoted pilots?”. The purpose of this thesis is to develop an inte-grated solver to those problems that in an efficient way finds good solutions.To achieve this tabu search is used, a meta-heuristic that has been shown tobe well suited to tackle large problems with complicated constraints.

Thalen, 2010. 1

Page 12: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

2 Chapter 1. Introduction

1.1 Outline

In Chapter 2 the manpower problem for pilots in general will be presented.It will be an important background to Chapter 3 in which the details of theproblem approached in this thesis will be laid out. In Chapter 4 a math-ematical model of the staffing and transitioning problem will be presented.Chapter 5 gives a background to meta-heuristics in general and tabu searchin particular, as these are very important tools in the method used to solvethe problem. The tabu search algorithm used in the thesis is given a detaileddescription in Chapter 6 followed by test results in Chapter 7. Finally inChapter 8 a discussion is given that summarize the thesis as well as pointingout possible future research areas.

Page 13: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

Chapter 2

The pilot manpower planningproblem

2.1 Overview

This chapter will give an overview of the different parts that need to beconsidered during manpower planning in airlines. It also includes brief de-scriptions of those parts of the problem that is not the main focus in thisthesis.

Before manpower planning can start the airline needs to make decisionsin two main categories, time table construction and fleet assignment. In timetable construction the airline decides what destinations to fly routes to andhow often. In fleet assignment the decision is made regarding what type ofaircrafts should be assigned to which routes. Since almost all commercial pi-lot certificates are restricted to a specific aircraft type, no meaningful staffingdecisions can be made before it is known what aircrafts to staff.

It should also be noted that a change in either one of those two areas willdirectly affect the staffing problem. The interaction is not one-way, becausemaking a fleet assignment decision that can not be covered by staff in anyway (or in a very expensive way) is just as poor as the other way around.A good staffing module should also make it possible to create and evaluateplans based on simulated time table and fleet assignment decisions and inthat way improve plans on that level as well.

The ideal would be to solve the manpower planning problem (or an evenlarger problem that includes all the planning problems faced by airline com-panies, like fleet assignment, revenue management, and so on) using an in-tegrated model of the complete problem. In reality this is a vain hope andeven if some steps have been taken to enhance integration, the problem is

Thalen, 2010. 3

Page 14: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

4 Chapter 2. The pilot manpower planning problem

usually split up into several smaller parts that are solved sequentially. Onesuch split with good informative content for this thesis would be:

Staffing =⇒ If to hire or transfer a pilot in the planning period.⇓

Transition =⇒ When to hire and start trainings.⇓

Training =⇒ Matching pilots with training resources.⇓

Planned absence =⇒ Planning of vacations and other absence for pilots.⇓

Crew scheduling =⇒ Matching pilots with flights⇓

Recovery planning =⇒ Taking care of unexpected problems

The category of planned absence is not really solved sequentially in this waysince it is a catch all for several different events that are planned on differentpositions in the scheme.

2.2 Training

The training part of the problem begins when it is already decided what pilotsneeds training, and when they should start their trainings. It includes makingdetailed daily (or even hourly) schedules for classroom training, individualtraining, simulator training, and in-flight-training. Earlier in the planningprocess the resources are aggregated to daily or weekly basis, but in thetraining problem specific physical simulators, for example, are matched withspecific pilots and working hours.

2.3 Planned absence

This category includes all pilots on a particular day required to do anythingelse than flying a plane. Some of this is not part of the airlines planningprocess such as long term sick leave or pilots taking leave of absence. This isjust facts the planners have to take into account. The main things that areplanned here are vacations and recurrent training. Vacations are planned in alot of different ways among different airlines, from 1 to 3 planning periods peryear are used and many use some kind of bidding system or rolling schedulefor vacations. If the vacations are not planned after the training, plannersare still allowed to put trainings at a pilot’s planned vacation. Since a pilot

Page 15: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

2.4. Crew scheduling 5

is very likely to want the promotion it rarely becomes a conflict to move thepilot’s vacation if it means that he will receive training to a new position.

Even when not getting a promotion, a pilot has to take regular recurrenttrainings, this could include both classroom (or home) studies as well assimulator time. For a company that owns simulators it is usually best to waitwith scheduling this part before transition schedules are complete. In thisway the transition training can if needed use all the simulator capacities andthe recurrent training can be placed as to fill up the gaps in those weeks wherethere is simulator capacity left over. In some cases there are however strictrestrictions on when the recurrent trainings have to take place, and since apilot in recurrent training is not in production it is also possibly preferableto schedule this training first and reduce the open slots for simulator trainingthat might be used for transition training.

2.4 Crew scheduling

This is the problem of assigning pilots to specific flights. Due to the verycomplex nature of the problem this is usually done in two steps, first crewpairing and then crew rostering.

A pairing is a schedule for an anonymous pilot that spans over severalflights and days but starts and ends at the same base. There are many rulesthat concerns the legality of a pairing, specified by the government and union.A pilot can not work more than a specified number of hours per day or perweek, and also needs to have rest periods of specific lengths. In addition tothose and other hard constraints, soft costs are often introduced to help inthe rostering step. The aim of the optimization is to generate minimum costpairings, with respect to crew salaries and over-night expenses as well as thesoft costs mentioned.

In the rostering step the problem is to combine pairings into schedulesand assign them to specific crew members. This is usually solved with abidding system where the crew members bids on predefined schedules andare assigned with respect to seniority, that is to say the pilot that has workedlongest in the airline gets first pick, and so on. This step does not reallyinclude any monetary objective but instead the goal is to optimize soft valuessuch as crew satisfaction.

Page 16: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

6 Chapter 2. The pilot manpower planning problem

2.5 Recovery planning

Disruptions may happen once all the other plans are made. Pilots get sick,planes get delayed and so on. Depending on how well in advance the problemis known different strategies can be involved in solving them. Usually time isa very important factor and the aim is to quickly find something that worksat all. This step interacts with crew pairing and rostering, since one can tryto build in robustness in those steps, that makes unexpected events easier tohandle, but it does not interact much with any earlier steps in the planningprocess.

Page 17: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

Chapter 3

The pilot staffing andtransition problem

In this chapter the details for the staffing and transition problem will beoutlined. It can be seen as a verbal formulation of the mathematical modelin the next chapter. In addition, important alternatives among differentcompanies are highlighted as well as reasoning on how the model relates tothe real world problem.

3.1 Positions

A pilot is typically only allowed to fly one type of aircraft. This is due tostrict regulations regarding pilot certificates, that makes it difficult to keepmore than one commercial certificate at the same time. In every plane thereare at least two different positions, a captain and a first officer. The captainhas additional training and responsibilities but they both have quite a lot ofcommon training regarding to the aircraft type.

This is important since it means that a pilot transitioning from first of-ficer to captain on the same aircraft type can undergo a training that isconsiderably shorter and cheaper than if he was also switching aircraft type.

On fleets that are used for very long trips there is also a third pilot inthe cockpit. For some airlines the third pilot is just another pilot with a firstofficer certificate for the aircraft type, however for most airlines the seat isfilled by a second officer or relief pilot. A relief pilot is not authorized tostart or land the plane and in many companies this is an entry level positionfor new pilots. A relief pilot of a certain fleet can typically not take a shortercourse than another pilot if transferring to first officer of the same fleet, thereason for this is that the positions are in practice too different.

Thalen, 2010. 7

Page 18: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

8 Chapter 3. The pilot staffing and transition problem

The entry position for a new pilot is typically relief pilot on a large planeor first officer on a smaller one. The highest prized positions are the captainpositions on the large aircrafts that are used for overseas and other longtrips, so called long-haul flights. To some extent strategical decisions abouthow to set salaries and which promotions to allow can be made to influencethe way a pilot changes positions during his career. This is called the seatranking problem and a pilot on average, depending on the airline, changesposition 3 to 6 times during his career. Since transitions are costly for thecompany they try to arrange the different positions into blocks of positionsthat is considered to be equally valued, and in that way reduce the numberof transitions for the pilots.

Changing seat rankings are however a very big decision that is rarelymade, so it is fair to assume that the rankings and costs for different positionsare fixed, and will be for some time, when solving the staffing problem.

The goal of the seat ranking problem is typically the same as in staffing,the company prefers a solution that on average gives the least number ofchanges for a pilot and in addition the least number of changes betweenaircraft types, while being able to cover demands as well as possible.

The output of a seat ranking problem is usually in the forms of blocks ofpositions that is considered to be equally valued.

3.2 Base

Most larger airlines has more than one home base. Each individual is con-nected to a home base and all pairings are built to start and end at the samehome base. In a way this can be considered to be a completely different posi-tion because the pairings are made with respect to home bases and you needto have the right kind of personnel at the right base. An important note isthat transition between bases does not follow the usual rules for transitions,since there is almost no cost to move a pilot from one base to another (as-suming this is something that both the company and the pilot wish to do).In the model a different base is considered to be a different position, so aposition contains the triplet (title, aircraft, base), but very cheap and shortcourses are introduced for those wishing to switch home base.

3.3 Seniority rules

Seniority rules are union rules that state if two pilots want to transfer to thesame position the company must pick the most senior, that is the pilot that

Page 19: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

3.3. Seniority rules 9

has been with the company for the longest time. There are however someexceptions to the general rule which makes it hard to find an efficient modelof them. Another thing that makes those constraints difficult to solve is thatthey are based on individual pilots, compared to all other constraints thatare based on groups of pilots.

There are a couple of exceptions to the seniority rules. The most impor-tant ones are the lock-in periods rules. Those state that before moving froma position a pilot has to stay in it for a fixed period, this to prevent pilotsfrom shifting positions too often. The lock-in periods are typically around3-6 years but can be different depending on what position a pilot is movingto and from. The lock-ins work in such a way that a pilot locked-in is al-ways considered to have less seniority than a free pilot applying for the sameposition.

Since these lock-in periods depend not only on how long a pilot has workedin his current position but also on what position he is applying for (typicallycompanies wish to discourage transfers within the same block as this wouldvoid the reason for having blocks to begin with), the curious situation cancome up that pilot A is senior to pilot B in respect to one position but thereverse is true for another position.

Another important rule used in most companies state that a pilot that isdue to retire soon is not senior to train to any position.

If a pilot does not want a promotion there is usually no good reasons foran airline to force it. One reason for not wanting a promotion would be thatan upgrade to a large aircraft will give more over-night flights. To managepilots wishes a bidding system is used. There are mainly two different typesof bidding systems that are used by airlines today. Either a pilot hands in alist of all positions that the pilot would like to transfer to, or the pilot handsin an ordered list of how much he would like to transfer to the differentpositions, the latter is called a preferential bidding system.

In a preferential bidding system positions are assigned by examining eachpilots list in seniority order. Starting with the most senior pilot he is eitherawarded a transfer to the position on top of his list, or that position isremoved from all pilots list before looking at his second choice. When themost senior pilot has received a transition (or his list is empty) the next mostseniors pilot remaining list is examined, and so on. If there are transfers noone gets assigned to in this way, then lock-in restrictions are lifted and finally,if needed, the positions are filled with new hirings. Most companies also havethe option to force a downward transferring in reversed seniority order butthis is rarely used in practice.

When using unprioritized bids the seniority rules work a little differently.If pilot A is senior to pilot B in respect to position P and both pilot A and B

Page 20: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

10 Chapter 3. The pilot staffing and transition problem

has position P on their bid lists, then pilot B can only be assigned to positionP if pilot A received a transition in an earlier week, or in the same week toan equal or better position. Pilot A does not however need to be assigned toposition P before pilot B can be assigned but needs to have started trainingto any of the positions on pilots A’s list in an earlier week.

Some companies, regardless if a preferential bidding system is used ornot, also uses pay protection. Pay-protection allows the company to breakseniority as long as the pilot passed over also gets the higher salary associatedwith the higher position (until the passed over pilot also gets a promotionor retires). It is shown by Holm in [6] that notable cost reductions can bemade by using pay-protection but also according to Holm it is neverthelessnot used by most companies due to the extra work involved.

If looking only at the staffing problem the seniority rules are extremelycostly, because it means that if a company gets a lack of supply in oneposition they can rarely fill it by just transferring someone from a positionwhere they have an excess of supply. Instead they might end up transferringfrom a position that creates a new lack of supply if the pilot working therehas the highest seniority, and this can give chain-effects all the way down to anew hire. In a wider perspective it does however also give big benefits for thecompany since it gives a high incentive for pilots to stay with the company.Since switching company usually means starting at the bottom of the ladderagain, a pilot that has worked a long time for a company has high incentivesto stay with it, and thereby reduce the need for replacements. Reducing theneeds to train new pilots to replace pilots that has left the company are ofgreat value to any airline.

3.4 Courses

When transferring to a new position a pilot has to complete training, whichis divided into 3 different stages. First a theoretical part that can be donein a classroom environment with an instructor or by home studies, then asimulator stage where lessons are given inside a specialized aircraft simulatorfor the aircraft in question, and finally an in-flight training stage where thepilot contributes to production but needs to be flying with a pilot qualifiedas instructor. The length of those different parts varies both between airlinesand depending on what kind of position the training is for. A typical coursehas 1-2 weeks in a classroom followed by 3-5 weeks in simulators, followedby another 4-6 weeks of in-flight training.

Throughout this thesis and in the mathematical model presented here theterm course is used to define something that one pilot takes to be allowed

Page 21: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

3.5. Resources 11

to transfer from one position to another. For Yu et al. in for example [15]course has a different meaning and can among other things involve severalpilots, those definitions are not to be mixed up.

For the simulator training to work there has to be two pilots in the cockpitjust as it would on a real flight. Therefore a course to become a first officerand a course to become a captain is usually held at the same time. It is alsopossible to train 2 captains but the training takes a little longer since bothpilots need to fly as captain for a regulated number of hours. Holding singlecourses are also a possibility but another pilot is needed to fill the emptyseat making those courses very expensive.

In the problem the input for a course is the cost, the length, the resourcesthat is used and the position taking the course gives certification for. Asmentioned this is estimated data since the specifics are not addressed beforesolving the training problem, but by using, among other things, historicaldata this cost can be very precisely estimated.

3.5 Resources

Resources for courses are mainly one of two things, an instructor or a physicalsimulator. Usually the latter is the critical ones since there is a large fixed costin owning and maintaining simulators and a company does not want to owntoo many. This is not always true however and since the supply of instructorsmight be critical it is imported that those restrictions are also included. Someairlines do not own their own simulator giving higher flexible costs but lessfixed costs, and depending on how many simulator hours they can hire aweek, the problem structure may change to the point that instructors arethe only critical resource instead of the other way around.

3.6 Objective of the optimization problem

The problem to solve is to supply the right amount of pilots of the right kindto a minimum cost.

To understand what kind of optimization problem this is and what makesit hard Figure 3.1 is a good visualization. Black arrows indicate possibletransfers and the situation might seem quite easy to solve. Since we got asurplus at First officer M8 and a short of supply at captain M8 the bestsolution would be to transfer one pilot using T1, and we would like to starthis training some weeks before week 28, say in week 20, so when the shortageof supply comes up it is already taken care of. This is where the seniority

Page 22: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

12 Chapter 3. The pilot staffing and transition problem

Figure 3.1: Visualization of a sample position

rules complicate things, it might very well be so that the most senior pilotwishing to become captain M8 at the moment is captain at CJ. Thereforewe are not allowed to use T1 and using T2 would just move the shortage ofsupply and might or might not be worthwhile. A good solver realises thisand already in week 12 starts some transfers at T4 so in week 20 we get asurplus at the captain CJ position and can happily start the transfer T2. Tocover the short of supply created by using T4 repeateadly it might also benecessary to add some new hires using T5 in an even earlier week.

Another thing to take into consideration is that the course T1 is muchfaster and cheaper than T2 since the pilot there does not switch aircraft type.Because of this the best solution might be (depending on later and earlierdemands) to use T3 in week 20 or earlier, if that leaves us with a situationwhere the most senior pilot without transition now is at position First officerM8. Then we can use T1 to fill the shortage of the Captain M8 position,as we originally intended. Adding that demand and supply is not static butfluctuates over the weeks with seasons, retirements and so on, and scaling up

Page 23: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

3.7. Interactions between the parts 13

the problem from 1 transfer to a 1000 pilots, 10-20 positions and perhaps a100 transfers it should be easy to see why this is a hard optimization problem.

The object for this optimization problem is to minimize the sum of costsfor salaries, courses and uncovered demands. A pilot gets higher salary im-mediately as the pilot starts training to a higher prized position and keeps itfor the rest of the planning period. The cost of holding a course is in realityusually individual dependent but can be given a good fixed estimate. A costthat is somewhat hidden regarding this is the fact that a pilot in trainingdoes not contribute to production (in the first two steps).

The cost of uncovered demands is in reality not always known beforehand. There are several different ways of covering a lack of demand suchas overtime hours for existing pilots, hiring external pilots or even cancelingflights. Since it is not known exactly what this cost will be an estimate isused. This estimate should be based on position since a higher salary positionprobably will bring higher costs if not covered by supply. This estimate couldalso be used as a control parameter since the higher it is set the less uncovereddemand will be in the optimal solution to the problem.

3.7 Interactions between the parts

In this chapter comes a description of how the different parts of airline man-power planning process presented in Chapter 2 interact with the staffing andtransitioning problem presented in this chapter.

It is important that the staffing and transitioning solution is possible to,in a cost efficient way, implement in the training phase of the plan. Thereis one major pitfall that needs to be avoided and that is to make sure thatthere are enough pilots eligible as instructors available for the in-flight train-ing that follows the simulator time for a transferring, or new pilot. Sincean instructor is just a regular pilot with some experience and short extratraining, and the instructor contributes to regular production when not in-structing, it is not a large cost for the company to have quite a bit of extraeligible instructors, just in case. Therefore it is usually no problem to coverpeaks of newly trained. There might however come up situations where largenumber of pilots will transfer at the same time. An example of this is whenSAS after repeated technical problems suddenly decided to stop flying withQ-400 planes completely, and all pilots from that fleet had to transfer toother fleets. A lack of in-flight eligible instructors might in such situationsbe a very real limitation that needs consideration.

The interaction with crew scheduling is more implicit. Even in theory it ishard to see how an integrated model would work since the decisions made are

Page 24: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

14 Chapter 3. The pilot staffing and transition problem

in very different time spans, with the staffing decisions taken way in advanceof the rostering ones. Instead the input to the staffing problem is aggregatedfrom daily data on how many pilots that will be needed for a certain positiona certain day. Those estimates might however come from simulated runsof the crew scheduling phase, but together with historical data they can bemade precise enough to generate good transitioning solutions.

There is no direct interaction between transitioning and recovery plan-ning, but crew scheduling might take robustness into consideration to preventhard/expensive recovery solutions, and this will to some extent influence theinput the problem gets from that phase.

3.8 Previous research

No solution with optimization has been presented for the staffing problem,that is the decisions on who to transfer where. The published research thatexists instead assumes that manual decisions have been made for transfersand focuses on the transitioning and training parts in the scheme, that isto start with the question when a pilot should transfer and not if or wherehe should do so. Already in 1990 Peter Verbeek in [13] presents a DecisionSupport System (DSS) for manpower planning in airlines. As the namessuggests this is a program that is not supposed to make decisions but ratherto support manual decisions, which can be done by for example calculatingconsequences of certain choices or by visualization of the problem. Opti-mization could still be applied inside a DSS for smaller or larger parts of theproblem but at least in 1990 Verbeek’s DSS only included small, and in [13]unspecified heuristics, for subproblems.

Gang Yu has together with different coworkers over the years developeda DSS for Continental Airlines. In 1998 a heuristic solver for the integratedtransition and training problem was presented by Yu et al. in [14]. It startswith a manual solution to the staffing problem and tries to assign weeks andschedules for the pilots that need to take a course during the planning period.The heuristic works by assigning courses in chronological order and for eachweek looking n weeks ahead to see if a course during that week would covera lack of supply in one of the n upcoming weeks. The heuristic also usesa couple of different assigning rules but is at heart a greedy heuristic withsome soft costs balancing the solution. Yu continued to work on the problemand in [15] and [16] published in 2003-2004 Yu et al. present an optimizationbased solution to the transition and training problem.

Yu’s solution algorithm splits the problem into two parts, the transitionphase and the training phase, and does not try to integrate them as his

Page 25: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

3.8. Previous research 15

earlier heuristic did. The transition algorithm works by first solving an LP-relaxation to find a lower bound of demands that is impossible to meet. Thisbound is used as input in the objective function of a MIP (Mixed IntegerProgram) that is solved by commercial software. In the second phase thetraining problem is solved using the solution found in the transitioning phase.

A thorough survey of the different kind of optimization problems an air-line company might have concerning manpower planning is found in [6],written by Asa Holm at Linkoping University. In addition to presentingthe problems she provides mathematical models for them and finally testsone of the models to solve the transitioning, vacation and recurrent trainingscheduling problem. She uses her model in commercial software and, as allof the above, she starts with a manual solution to the staffing problem.

Earlier research shows that there can be large sums of money to save forthe airlines using more optimized manpower plans. For Continental Airlines,Yu et al. estimate in [16] the savings made by implementing the DSS to bearound 10M$ and for SAS Sweden the savings for introducing an optimizationbased transitioning plan, along the lines suggested, was estimated in [6] to5-20% of the costs for transferring pilots, the number being a loose estimate,mostly due to the low quality of test data used in the thesis. The savingsmight not be large compared to what optimization has saved in other parts ofthe planning process (for example in crew scheduling), but are large enoughto conclude that the problem is not only of mathematical interest but hasdirect interest for the industry.

Since solving the staffing problem manually before the transition problemgreatly restricts the possible transition solutions, it is also easy to concludethat an integrated solver for those problems has a large potential for savingmoney in the airline industry.

Page 26: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

16 Chapter 3. The pilot staffing and transition problem

Page 27: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

Chapter 4

Mathematical model

4.1 Sets

O = PilotsH = Available positionsK = CoursesK(i) = Courses that pilot i ∈ O is eligible to takeKK = All pairs of courses v, w ∈ K that need to be held simultaneouslyO(h) = Pilots whose initial position is hR = Training resourcesS = All triplets (i, j, h) such that i ∈ O is senior to j ∈ O with respect to position h ∈ H

4.2 Parameters

T = Number of time periodsDht = Demand of full time jobs for position h in period trsrt = Supply of resource r during period tdckpr = Demand of resource r per course, p periods into course kekh = 1 if a pilot that takes course k ends at position hB(h) = The block value of position h, B(0)=0csh = Cost per unit of supply at position hcck = Cost to hold a course of type kclh = Cost of negative supply-demand for position hwit = Work factor for pilot i in period tskph = Special changes in demand of position h, p periods into course kpv = Penalty value for overusing a resource

Thalen, 2010. 17

Page 28: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

18 Chapter 4. Mathematical model

4.3 Variables

yikt = 1 if pilot i starts course k at period t, and 0 otherwiseakt = Number of courses of type k starting at period tUht = Supply of position h at period tτih = Score for pilot i with respect to position hδht = Lack of supply in week t for position hγrt = How much, if at all, we break resource restrictions for resource r week t

4.4 Objective function

min∑

k∈K

cck

T∑t=1

akt +∑

h∈H

csh

T∑t=1

Uht +∑

h∈H

clh

T∑t=1

δht + pv∑r∈R

T∑t=1

γrt

4.5 Constraints

Seniority rules:

h∈H

τih − τjh ≥ 0 ∀i ∈ O, ∀(i, j, h) ∈ S (4.1)

with:

τih =T∑

t=1

(T +1− t) ·yikt +∑

k∈K

(B(h) ·yikt ·ekh)/Bmax ∀i ∈ O, ∀h ∈ H (4.2)

Start the right courses:

∑i∈O

yikt = akt ∀k ∈ K, t ∈ {1, 2, . . . , T} (4.3)

Limit resources:

k∈K

lk∑p=0

dckpr · ak(t−p) ≤ rsrt + γrt ∀r ∈ R, t ∈ {1, 2, . . . , T} (4.4)

No one is assigned to a course they do not want or is eligible to go:

k∈K

T∑t=1

∑i∈O

yikt = 0 ∀i ∈ O, ∀k /∈ K(i) (4.5)

Page 29: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

4.5. Constraints 19

Calculate supply:

Uht =∑

k∈K

i∈O(h)

wit·(1−t∑

l=1

yikl)+∑

i∈O\O(h)

wit·∑

k∈K

t∑

l=1

yikl·ekh ∀h ∈ H, t ∈ {1, 2, . . . , T}

(4.6)Calculate supply - demand:

δht ≥(

Dht +∑

k∈K

lk∑p=0

skph · ak(t−p)

)− Uht ∀h ∈ H, t ∈ {1, 2, . . . , T} (4.7)

No one can take more than one course:

(T∑

t=1

k∈K

yikt ≤ 1 ∀i ∈ O (4.8)

Courses that need to be held simultaneously:

aut = avt ∀u, v ∈ KK, t ∈ {1, 2, . . . , T} (4.9)

Variable restrictions:

yikt ∈ 0, 1 akt ∈ Z+ δht ≥ 0 (4.10)

Page 30: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

20 Chapter 4. Mathematical model

Page 31: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

Chapter 5

Meta-heuristics

This chapter contains the theoretical background to our approach, discussingthe different methods used, why they are chosen and how they work. It alsocontains a illustrative example that is solved by the different method used inthe thesis.

5.1 Introduction

The ideal situation when faced with an optimization problem would be to beable to solve it to optimality using an exact algorithm. An exact algorithmhas the property of always finding a proven optimal solution given enoughtime. In reality however many optimization problems are too large and/orcomplex to be solved within reasonable time with any known exact algorithm.Some of these problems would take astronomical time solving by the best ofthe known exact algorithms. Even when they are solvable given a moderateamount of time it might be more interesting to find a good solution fastthan a slightly better solution much slower. This is the place for a heuristicmethod.

The upside of using a heuristic solver is that it within reasonable timelimits (that can vary from days to seconds depending on the type of prob-lem and situation) can find good solutions that are much better than anexact algorithm would find in the same time span. The downside is that thesolution can never by the heuristic itself be proved to be optimal or evennear-optimal. Therefore the solutions have to be evaluated with some othermethod. This can be done in a number of different ways, comparing witha manual solution, using another heuristic, make a relaxation that can besolved exactly or using an exact algorithm running for equal or longer time.

The term meta-heuristic was first used by Glover in [2] and as the name

Thalen, 2010. 21

Page 32: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

22 Chapter 5. Meta-heuristics

suggests it is something that is used above or beyond a simple heuristic. Whatseparates a meta-heuristic from a heuristic is a little fuzzy and today it iseasiest to see the term meta-heuristic as the family name for some solutionstrategies that share certain characteristics.

There was some initial skepticism about the usefulness of meta-heuristics,however today according to Gonzalez in [5] it is established as an importantresearch area. Glover and Kochenberger in [4] give several examples wheremeta-heuristics have outperformed other algorithms on a large number ofproblems run with time limits.

The main branches of meta-heuristics are according to Gonzales [5] TabuSearch (TS), Iterated Local Search (ILS), Simulated Annealing (SA), AntColony Optimization (ACO), Evolutionary Computation (EC) and MemeticAlgorithms (MA). On the surface they differ quite a lot from each other buton some level all these strategies have things in common. Even inside thosecategories a solution strategy can look quite different from another, especiallyin the broader definitions of EC and MA. Since some concepts are shared forall of those strategies to some extent, in this chapter three such topics willbe discussed before focusing on Tabu Search and to some extent IteratedLocal Search which are the main strategies used in this paper to solve themanpower problem.

5.2 Neighborhoods

Not all meta-heuristics use explicit neighborhoods, but the concept is vitalin at least TS, ILS, and SA. Even in the other meta-heuristics it is often usedimplicitly. Let L be the solution space to problem P , then a neighborhood Nis a set of solutions N ⊂ L that is much smaller than L. It should be possibleto evaluate all solutions in N in a very short time. A neighborhood is alwaysproblem dependent and can be more or less natural. A natural neighborhood,that is one of the text-book examples for problems with binary variables (usedamong others by Gendreau in [1]), is the add/drop neighborhood which statesthat a solution lnew is in the neighborhood of the solution l, N(l), if one canmove from l to lnew by switching one of the variables from 0 to 1 or from1 to 0. In some cases a neighborhood can be much more complicated andfinding the right neighborhood is often crucial to build a good algorithm.Even when simpler neighborhoods give some success more elaborate onesmay (but not necessarily will) give even better results. An extensive studyon how to choose and evaluate neighborhoods is done by Lu et al. in [9].A neighborhood is also closely connected to the concept of solution space ormore precisely the search space. The most natural search space is simply the

Page 33: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

5.3. Intensification 23

space of all feasible solutions but in some cases better results can be foundby using a smaller or larger search space. One example is that many solversallows intermediate solutions to be infeasible with respect to some constraintssince this may give a short-cut to finding better solutions. Another examplegiven by Gendreau in [1] is that if known that the optimal solution will bein an extreme point (with respect to some definitions) a search space thatconsists only of extreme points could be the best to use.

5.3 Intensification

An important concept for all meta-heuristics is the Proximate OptimalityPrinciple or POP-notion. This term was coined already by Glover in [2] anda very informal description of it would be: ”Good solutions are similar”.For most real world problems this is true to some extent, but as for somany concepts that concern heuristics and reality it is very hard to formulateany kind of solid foundation for the theory. It has been seen to hold for alarge number of problems, Zhang and Sun address the topic explicitly in [17]where they show it to be true on four classes of test cases for the quadraticassignment problem. If the POP-notion was completely false no heuristicwould be any better than any other and the search space would be randomlydistributed.

If agreed that the POP-notion is true, it makes sense to try to make amore focused search when the algorithm is searching in an area with goodsolutions. There can be different ways of attaining this focus. In the meth-ods that employs some kind of randomization (and that is more or less allbut deterministic tabu search), the easiest way to do this is to adjust theparameters to give less randomization when intensification is sought for. Insimulated annealing this is done in a very straightforward way with a tem-perature falling, so that in the beginning the randomization is high but asthe search moves on it gets more and more intensified at the expense ofdiversification.

5.4 Diversification

Many meta-heuristics are quite good at intensification and the problem withthat is that it is easy to get trapped in a local optimum. To avoid thispitfall there must be some strategy in the meta-heuristic to get increaseddiversification. In some heuristics this step is very explicit as in ILS where onepart of the algorithm has as only purpose to escape a local optimum, in others

Page 34: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

24 Chapter 5. Meta-heuristics

it is more implicit built into the method itself. The need for diversificationhas to be balanced against the need to focus the search on good areas orat least potentially good areas of the solution space. A good diversificationstrategy leads away from the explored area but also moves the algorithm toanother area that are likely to contain good solutions.

5.5 Local search

The basic principle of local search is very simple. Start with any solution,examine the neighborhood of that solution, choose one solution that im-proves the objective function, repeat until no improvement is found. It canbe proved that in this fashion a local optimum is always found in pseudo-polynomial time, this is shown by Solis-Oba in [12], and for some problemsthe maximum possible distance from a local optimum to the global can becalculated. Usually this distance is very large and this is one reason why localsearch by itself rarely performs well on a complex problem. Another way toput it is to say that since local search lacks any diversification it should notcome as a surprise that it performs poorly on more complex search spaces.Local search is however the foundation for both Tabu Search and IteratedLocal Search, so to get a feeling for the mechanics involved a very simpleexample problem is introduced in the next part.

5.5.1 Knapsack example

Consider a very simple instance of the 0-1 Knapsack problem:

Maximize:∑4

j=1 pjxj

Subject to:∑4

j=1 wjxj ≤ 5

With: pj = {6, 5, 4, 3} wj = {1, 4, 2, 2} xj ∈ {0, 1}

5.5.2 Solving knapsack example with local search

Using the natural add/drop neighborhood where a move consists of switchingone variable, together with the steepest-ascent criterion, that is to choose themove that improves the objective function the most at each single step, a localsearch would obtain the following solutions in order (starting with the knownfeasible solution of an empty knapsack):xj1 = {0, 0, 0, 0} ⇒ xj2 = {1, 0, 0, 0} ⇒ xj3 = {1, 1, 0, 0} ⇒ STOP

Page 35: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

5.6. ILS 25

This would give an objective function value of 11. When the algorithm stopsit is in a local optimum because adding any more element would be illegal andremoving one of the elements already added would not improve the objectivefunction value. An easy visual inspection of the problem shows that theoptimal value in fact is 13. It will be shown later how the diversificationsteps of both ILS and TS can be used to reach the optimal solution (and Iwill graciously ignore that the same would be true for a local search with adifferent choice criteria since that is not the point being made).

5.6 ILS

Iterated Local Search is a framework to systematically run local searchesfrom different starting points. This is done so that when the local searchreaches a local optimum a perturbation step is made from the solution. Theperturbation step takes us to a new solution to use as starting point thathopefully leads the new local search to a better local optimum. If it leadsto the same optimum a new perturbation step is tested and if it reaches aworse optimum it might or might not be accepted anyway.

The perturbation step is a way to introduce diversification to the search,by using a step that is not easily undone by the local search itself, there isa high probability to get into a new area of the search space that gives goodsolutions. Another way would be to just restart randomly but the benefitfrom ILS comes from exploiting the POP-notion. When making a small stepfrom a good solution the algorithm is more likely to end up with anothergood solution than by a restart at random. It is also less time consumingsince it is more likely to be close to a new local optimum. Given the sametime, ILS can run more iterations than a random restart method (for more onthis topic, see [7] by Lourenco et al.). The perturbation step can be allowedto be harder to evaluate since it is done much less frequently and thereforea larger neighborhood is often used for it.

To avoid short cycles some kind of randomization should be built intothe perturbation. As shown by Lourenco et al. in [7], if it is not usedcycles of length 2 might very well occur and the ILS-search would insteadof getting stuck in one local minimum get stuck in two, which is not muchof an improvement. The randomization is a safe-guard against this kind ofsituation and is also a way to in theory explore all of the solution space givenenough time (this is a nice feature but should not be confused with somethingvital for a good algorithm, for example the method of just enumerating allpossible solutions and evaluate them one by one shares this feature).

Lourenco et al. also notes in [7] that the idea of iterated local search is

Page 36: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

26 Chapter 5. Meta-heuristics

not dependent on the local search part really being a local search. It can beany heuristic at all as long as it is well defined when to make the perturbationstep (thus making it a meta-meta-heuristic).

In the knapsack example a good perturbation step would be to allow forsimultaneously removing and adding single objects. At the local optimumreceived by the local search xj = {1, 1, 0, 0} it would consider the neighborsxj = {0, 1, 1, 0}, xj = {0, 1, 0, 1}, xj = {1, 0, 1, 0}, xj = {1, 0, 0, 1} as startingpoints for a new local search. Assuming it chooses one of the feasible possi-bilities at random a solution run might look like this:xj1 = {0, 0, 0, 0} ⇒ xj2 = {1, 0, 0, 0} ⇒ xj3 = {1, 1, 0, 0} ⇒ Perturbation step ⇒x(j4) = {1, 0, 1, 0} ⇒ xj5 = {1, 0, 1, 1} ⇒ STOP.The iterated local search would now stop because all the possible perturba-tions steps gave us infeasible solutions. This is not generally how you wantyour ILS algorithm to work, you would like it to run until time runs outreaching new areas all the time, but due to the extremely small example thisis what happens. However the algorithm have found the global optimumbefore terminating since xj5 is optimal.

5.7 Tabu Search

Tabu search is a local search that allows for moves that deteriorate the ob-jective value and uses memory structures to prevent the search from justreturning to the previous solution in the next step after such a move. Thebasic idea is to guide the search by forbidding certain moves using tabu listsand in the original appearance the tabu search was deterministic. Some re-search has since introduced a randomized tabu search but even more efforthas been made on improving the deterministic search variant. Even if thisin theory means that the tabu search sooner or later will get trapped in acycle, there are methods to make this cycle long enough as to be irrelevantfor most practical applications. In [3] Glover makes a compelling argumentthat intelligent choices are better than random choices and that point is quitehard to argue. In some cases however it is impossible to know, before thechoice is made, what choice that is the intelligent one and in those cases arandom choice is clearly preferable since it works as a safe-guard for endingup in short loops.

5.7.1 Neighborhoods

The importance of choosing a good neighborhood is emphasized in any text-book on tabu search, for example by Glover and Laguna in [3] and by Gen-

Page 37: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

5.7. Tabu Search 27

dreau in [1]. Neighborhoods in general have already been discussed aboveand what was stated there is true for tabu search as well.

In [8] Hao and Lu solve the university scheduling problem with greatresults using an algorithm with many similarities to the one used in thispaper. In particular they have some ideas about neighbourhoods that areexploited by my algorithm. Later in [9] they expand on this topic with amore detailed study of neighborhoods, how to choose and how to evaluatethem.

The most important result that is obtained in the articles mentionedabove is that they show how a combination of neighborhoods can lead to amore powerful search algorithm. Interesting as well is that their best resultsfor combinations of neighborhoods are achieved when they combine themsequentially. If using two neighborhoods, Na and Nb, the best results areobatined when the search is sequentially shifting between the neighborhoods:Na ⇒ Nb ⇒ Na ⇒ . . .. Using the union of the neighborhoods, Na ∪ Nb,on the other hand just gives slightly better result than running a singleneighborhood search and much worse results than the sequential search.

Using multiple neighborhoods gives the possibility of choosing one whichpurpose is only intensification. If using only one neighborhood it would needto be one that could at least examine large parts of the search space andalso maintain a balance between intensification and diversification. Withmore than one neighborhood this limit disappears since different neighbor-hoods can be given different roles. One way of receiving intensification is byswitching into a very compressed neighborhood when the algorithm is in anarea likely to contain many good solutions. There would not be much pointof using this intensification neighborhood in union with the general sinceeither one of them will dominate the other, or it would give equal intensi-fication in the whole search space which would not be of much use. Usingneighborhoods sequentially as suggested by for example Lu et al. in [9] doeshave great potential.

5.7.2 Short term memory strategy

There is no clear cut line between short term memory and long term memorybut even if the line is a bit fuzzy they are clearly used for different effects.The short term memory is the most important building block for tabu search.By implementing this memory structure the local search is prevented fromgetting stuck at local optima. It also provides a balance between intensifi-cation and diversification. The long term memory on the other hand is onlyused for diversification. As noted earlier a simple tabu search tends to getstuck sooner or later, and using long term memory is a way to guide it into

Page 38: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

28 Chapter 5. Meta-heuristics

new search areas.As the name of the meta-heuristic suggests, the tabu list is a vital part ofa tabu search. The easiest way to prevent the search from returning to alocal optimum would be to store all previous solutions explicitly and forbidany moves that lead to a solution already explored. This is a very inefficientway of guiding the search and a nightmare memory-wise for larger problems.Instead the tabu list usually works by forbidding certain attributes of a so-lution or certain moves. In this way not only specific solutions are forbiddenbut also similar solutions that is not expected to be improving nor to be thestart of a new improving path. For neighborhoods where defining the inverseof a move can be defined in a natural way, the tabu list usually consists ofsuch ”inverse moves”, that are tabu to use for a number of iterations. Inthe knapsack example the inverse of switching a variable from 0 to 1 wouldnaturally be to switch it back to 0 and the other way around.

A long tabu list gives more diversification and a shorter list more inten-sification. The problem of finding the balance between them are problemspecific and often the case might be that one has to sacrifice some diversi-fication to get descent results in an efficient way (see for example [3] whereGlover and Laguna expands on this topic). The diversification is then mainlythe responsibility for the longer term memory strategies. It can also be effi-cient to use more than one tabu list. In the knapsack example different tabulists could be used for adding and dropping items, this way giving increasedcontrol of how the search is run using parameters. If it is known that veryfew objects will fit in the knapsack it makes sense to have a longer tabu listfor adding items to the solution than dropping items from the solution.

Another part of the short term strategy is the use of aspiration criterion.If a solution fullfills an aspiration critera we want to move to the solutioneven if the move to go there is tabu. The aspiration critera that need to befullfilled by a solution to attain this status can take many different forms, thesimplest and most natural case is if the move would lead to a solution that isstrictly better than any solution found so far. Since it is strictly better thereis no danger that this would give short cycles, and from a practical pointof view it would not make much sense to pass on a new best solution justbecause it is tabu to move there. This aspiration criterion is almost alwaysincluded in a tabu search algorithm but one might consider other aspirationcriteria as well. Other aspiration critera can also be used instead or combinedwith this first one. It could also make sense to allow override if a solutionis good enough and different enough from earlier solutions. Other kinds ofaspiration criteria can be used to deal with a situation where all legal movesfrom a certain solution are tabu at the same time. The easiest way is to, forthat move alone, say that all moves fullfill an aspiration criterion and keep

Page 39: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

5.7. Tabu Search 29

the tabu lists intact.

5.7.3 Long term memory strategy

The purpose of a long term strategy is to increase diversification so as to allowthe algorithm to search a larger part of the search space, basically to at allmake it meaningful to run the tabu search for a long time. Gendreau shows in[1] that there are two major strategies to achieve this, either by restarting orby having a continuous diversification. Restarting does not mean to restartfrom scratch but that some intermediate steps are taken before restarting thetabu search from a new point. Continuous diversification on the other handare some parameter that guides the search into new space. The most commonway to achieve continous diversification is to use some kind of frequencymeasure, and encourage infrequent attributes to enter the solution (see forexample [3] by Glover and Laguna).

There are plenty of research done on tabu search and many methodshave been developed to increase their efficiency. In [3] Glover and Lagunapresent a lot of different methods to achieve this. Among those are strategicoscillation, path relinking, ejection chains and filter-and-fan methods. Theyall have in common that they are strategies to combine diversification withhigh incentives to stay within good solution areas. In strategic oscillationthis is done by temporarily allowing infeasible solutions (with respect to someconstraints), and use penalties or a new neighborhood to bring the solutionback into the feasible space before allowing infeasible solutions again. That is,to oscillate around the feasability border of the solution space. If the problemhas a structure that makes it likely that an infeasible solution shares manyattributes with the best feasible solutions, then this could be a great way totake a shortcut into the area with the best solutions. Strategic oscillation isused in our work, the other techniques are mentioned here mostly to showthat there is a plethora of different strategies under the tabu search umbrellathat might be relevant for different kind of problems.

5.7.4 Knapsack example

To solve the small knapsack problem from Section 5.5.1 with tabu search thesame neighborhood can be used as in the local search. The natural tabu listof forbidding the inverse of the most recent moves are used, and due to thevery small problem size a tabu list of length 2 is sufficient.

The start would be the same as in the local search:xj1 = {0, 0, 0, 0} ⇒ xj2 = {1, 0, 0, 0} ⇒ xj3 = {1, 1, 0, 0} ⇒and at that moment the tabu list would contain the two elements of ”changing

Page 40: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

30 Chapter 5. Meta-heuristics

x1 to 0” and ”changing x2 to 0” in that order. Since all legal moves now aretabu the algorithm chooses the best among all moves (and that will still givea worse objective value).. . . ⇒ xj4 = {1, 0, 0, 0}Now the tabu lists has the two items ”changing x2 to 0” and ”changing x2

to 1”. The search would then continue:. . . ⇒ xj5 = {1, 0, 1, 0} ⇒ xj6 = {1, 0, 1, 1} and if allowed to continue itwould eventually complete a cycle of length 9:⇒ xj7 = {0, 0, 1, 1} ⇒ xj8 = {0, 0, 0, 1} ⇒ xj9 = {0, 0, 0, 0}The tabu list would consist of adding element 3 and 4, and since that wasnot done in the first two steps the first time this solution was visited, this isindeed a cycle. In general revisiting a solution is not a sign of a cycle in tabusearch, since the tabu list might have changed and will effect the upcomingmoves, in fact that is one of the main reasons why tabu search works so well.

In this cycle the best solution is found already at xj6 and that also happensto be the optimal solution to the problem.

5.7.5 Example from another industry

This example is included to show how an industrial competitive solutionbased on tabu search has been developed in the well researched area of thecutting stock problem. It also serves to illustrate the point made by Solis-Obain [12] that tabu search is very good at handling very complicated constraints.

In a recent article [11] by Matsumuto et al. the one-dimensional cuttingstock problem is solved for a specific problem instance at a paper mill. Thisproblem consists of cutting out pieces of certain sizes (and in certain volumes)from rolls of a predefined size, minimizing spill at the ends. This is anextremely well studied problem and due to the enormous amount of possiblecut-patterns this has been a show-case for column generation methods (seefor example [10]).

In this particular paper mill a machine cuts out the bits but they aresorted manually. This adds some complicating constraints that need to betaken into consideration when trying to get a good solution, not only in the-ory, but in practice on the factory floor. One is that since the paper bits cutout are sorted manually, the pieces that are cut out close to each other mustdiffer enough in size as not to make the sorting work troublesome. Masuto etal. develop a relatively simple tabu search algorithm that incorporates thoseconstraints, and still gets results that are almost as good as results achievedby solving the problem with a standard method without those constraints,and large improvements from the simple heuristic the paper factory had beenusing until then.

Page 41: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

5.7. Tabu Search 31

The discrete nature of the tabu search algorithm makes it very well suitedto tackle problems with constraints that can be hard to integrate into othersolution strategies or even constraints that are hard to model.

Page 42: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

32 Chapter 5. Meta-heuristics

Page 43: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

Chapter 6

Solution method

This chapter will give a detailed description of the solution algorithm. Firsta brief pseudo-code is presented. It might appear a bit cryptic at a firstreading but all details will be explained in the upcoming sections, and it isimportant to have the framework in place first.

6.1 Pseudo-code

The pseudo-code for the tabu search method for manpower planning isgiven in Algorithm 1. The paremeters L, I, J, S as well as the length of thetabu lists have to be tuned for good results. Lines 6 and 14 should be readas moving from solution X to a new solution using the rules for tabu searchinside respective neighborhood. Important to note is line 12 where the tabusearch returns to the best solution obtained in this loop, so that it can startthe intensification phase at the best possible point. Also note that there isnot such a step after line 19, since this is just before a diversification moveand there is no need to make such a move from a local optimum. At lines 7,15 and 20 the objective values of the solutions are compared.

6.2 Search variables and neighborhoods

As stated earlier the choice of neighborhoods is essential to a good tabusearch. Closely related to this topic is the choice of solution space and searchvariables. There are two different sets of active variables in the model:

yikt = 1 if pilot i ∈ O starts course k in period t, and 0 otherwiseakt = Number of courses of type k starting at period t.

Thalen, 2010. 33

Page 44: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

34 Chapter 6. Solution method

Algorithm 1 Tabu search for manpower problem

1: X = Solution with no courses2: X?? ⇐ X3: for loops = 1 to L do4: X? ⇐ X5: for iter = 1 to I do6: X ⇐ TN1(X)7: if obj(X) < obj(X?) then8: X? ⇐ X9: end if

10: Update tabu lists ta and tr11: end for12: X ⇐ X?

13: for iter = 1 to J do14: X ⇐ TN2(X)15: if obj(X) < obj(X?) then16: X? ⇐ X17: end if18: Update tabu list ts19: end for20: if obj(X?) < obj(X??) then21: X?? ⇐ X?

22: end if23: if loops 6= L then24: for strength = 1 to S do25: X ⇐ P (X)26: Update tabu list ta27: end for28: end if29: end for30: Output X??

Page 45: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

6.2. Search variables and neighborhoods 35

If all variables yikt are fixed, the variables akt can automatically also be fixed,due to the connection:

∑i∈O

yikt = akt ∀k ∈ K, t ∈ {1, 2, . . . , T}. (6.1)

The reverse is however not true. If all variables akt are fixed there might,using un-prioritized bids as in the model, exist several different sets of feasiblechoices for yikt. Those choices occur when one week has courses to more thanone position inside the same block, and the seniority lists for those positionare not identical. This could happen if for example one pilot has bid for morepositions than another and both are close to the top of the list.

There is one important reason for making the search in the variables akt,and that is because they are much fewer. As can be seen by the indicies thereare the number of pilots times more variables yikt than akt. When searchingin the variables akt one possible choice would be to solve the optimizationproblem of fixing variables yikt to optimality. Two different solvers for thisproblem were developed (one using constraint programming and one usingbasic tree-search). In practice it turned out to be much more effective tojust use a simple heuristic for the variables yikt for two reasons. The obviousone being that it was much less time consuming, but also when an exactsolution to the subproblem was compared to the heuristic solution there wasnot any significant difference in value. There were some rare occasions wherethe heuristic failed to find a feasible solution at all, although it was shown toexist by the exact algorithm. These cases were however rare enough that theydid not affect the conclusion that a heuristic assignment was better suited tosolve this problem. The approximate algorithm for assigning pilots is shownin Algorithm 2. Left-right courses are courses that promote a pilot fromfirst officer to captain on the same aircraft type, and can therefore only beassigned to pilots that currently are first officers at that aircraft. The blockvalues of courses are used in the algorithm as b and bmax to assign pilotsin a good order. The left-right courses are what might cause the seniorityinversion. There might be seniors to the first pilot eligble for taking a left-right course that has not got any transfer when the week and block is filled,and then the heuristic ends up with an infeasible solution.

This algorithm is used in Algorithm 1 at lines 6, 7, 14, 15, 20 and 25 tocalculate the objective value for a given set of courses

Having decided that the search will be in variables akt there is no apparentreason to restrict the solution space (or to allow infeasible solutions) so thealgorithm uses the whole solution space as search space.

The algorithm uses problem specific neighborhoods. Using the ideas in5.7.1 two neighborhoods N1 and N2 are chosen, and as seen in the pseudocode

Page 46: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

36 Chapter 6. Solution method

Algorithm 2 Assign pilots

for t = 1 to N dofor b = bmax to b = 1 do

for all Left-Right courses doAssign the most senior pilot that is eligible to take the course, andhas not got an assignment yet

end forfor all Other courses do

Assign the most senior pilot that has not got an assignment yetend forif Seniority inversion occurred then

RETURN ”Fail”end if

end forend forRETURN assignment

those are used in a sort of sequential search, but with a perturbation step. ForN1 the natural neighborhood of adding or removing a course is used. Sincesome courses need to be held simultaneously with another course accordingto

aut = avt ∀u, v ∈ KK, t ∈ {1, 2, . . . , T}, (6.2)

after a change of a variable akt the algorithm automatically adjusts the vari-able for the partner course to fulfill this constraint. This could be seen as aninteger equivalent to the add/drop neighborhood commonly used for binaryproblems (see 5.2).

Again using the ideas in 5.7.1, N2 is chosen as to be complementary andto provide intensification. Looking more at the real world problem thanthe model a natural complement seems to be to move one course (and thepartner course if one exists) from one week to another. It is complementarysince it is a very hard step for tabu search in N1 to perform, and it is clearlyintensifying since it only searches in a very small solution space, since all thesums

∑Tt=1 akt, ∀k ∈ K, will be fixed while remaining in the neighborhood.

For reference, the neighborhoods used in the algorithm are:

N1 = Add or remove one course.

N2 = Move a course to a different week.

Page 47: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

6.3. Short term memory strategy 37

6.3 Short term memory strategy

Almost as important as neighborhoods is the development of a short termstrategy. More precisely in tabu search this is made up of tabu lists andaspiration criteria. As noted the most common tabu lists are made up ofthe inversion to the moves recently made, but that idea does not work wellfor this problem. Starting with N1, if just restricting the inversions (thatare easily defined as adding being the inversion to removing) the algorithmwill end up searching a very small space for a long time. This is due tothe fact that if it removed a course causing am,n to decrease, there is a veryhigh probability the next step will be to increase am,(n±1), due to the factthat this solution in almost all cases has an objective value very close to theoriginal. When at a local minimum this process would for a long time justcircle around the local minimum, with almost identical, but slightly worsesolutions than the local minimum. The algorithm would need a very longtabu list to escape the local minimum and as noted a too long list is not goodat all.

Instead the search uses a tabu list that works on∑T

t=1 akt and statingthat if it added a course k in any week, ”removing course k” is put at the topof the tabu list. To get more control of the process two different tabu listsare used for adding and removing courses, with ta being the list of coursesthat are tabu to add and tr the list of courses that are tabu to remove.

One point that needs some consideration is how to update the tabu listif more than one course k is added in iterations close to each other, so that”removing course k” already is in the tabu list when the search algorithmtries to put another copy of the same rule on top of it. In that case the tabulist is not updated since it would prolong the time before removing a coursek can be done, in a possibly extreme way.

For N2 the tabu list treats the courses as specific individuals. This couldbe seen as using another mathematical model with a number of course op-portunities V = {v1, v2, . . . , vn} with each vi consisting of a value k ∈ K anda value t ∈ T . A move consists of changing the value of t for one vi and thetabu list consists of vi variables that have been changed recently. This meansthat even if v1 and say v2 are identical in both type and week, moving v1

does not make it tabu to move v2 since all positions are treated as separateentities, and not as integer variables as in N1. The argument for making ittabu not just to move it back to the week it was, but to move it at all isagain the need of diversification. Not using this rule the search algorithmwould likely end up spending too much time moving the same course aroundcreating very similar but slightly worse solutions. The list of courses that aretabu to switch, ts, are used for all search in N2.

Page 48: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

38 Chapter 6. Solution method

Two things are allowed to override the normal tabu rules. Moves thatwould create a ”new best solution” are never considered to be tabu (thisis the standard aspiration criterion from 5.7.2). There is also a specific setof predetermined bad courses D that are never allowed to be added if notimproving the objective value.

6.4 ILS-inspired diversification

When using perturbation moves to guide a local search, one of the mostimportant things is that the move should not be easily undone by the localsearch. When combining this kind of perturbation with tabu search on theother hand (as we do in Algorithm 1 on line 26) the tabu list can be usedto prevent such a return. The move should be diversifying leading into anunexplored but still good part of the solution space. To achieve this theperturbation step P (X) consists of removing the course that has remainedunchanged in X for the longest period of time. This is a variation of thefrequency measure strategy with the rationality that such a move is mostlikely to get into unexplored territory. The S parameter decides how far itmoves and should be tuned to balance the need for diversification with theneed to stay in a good solution area.

6.5 Alternative solutions

6.5.1 Strategic oscillation

In the original data the parameter

pv = Penalty value for overusing a resource

is set so high that no solution X in algorithm 1 has any overused resources.This is not surprising since the resource here often is a simulator, and evenif there is some possibility to get extra simulator time, this would usuallyinvolve flying the pilots to another country, rent a simulator there and payfor hotel and/or overtime, and that is being way too expensive comparedto just delaying the course for a few weeks. Since the main costs in theobjective function come from unfulfilled demands, and the problem withrespect to resources has a knapsack nature, an interesting strategy is to startby using a pseudo-evaluation of objective functions with pv = 0. This wouldlead to a desirable amount of courses if limits was nonexistent and by usinga different neighborhood to bring the search method back to a solution that

Page 49: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

6.5. Alternative solutions 39

respect simulator limits it can be expected to end up at a good solution. Thepseudocode for the strategic oscillation are shown in Algorithm 3.

Algorithm 3 Strategic oscillation1: pr ⇐ pv2: obj(X?) = INF3: for loops = 1 to L do4: pv ⇐ 05: Run Algorithm 16: pv ⇐ pr7: while

∑r∈R

∑Tt=1 γrt > 0(see model) do

8: X ⇐ TN3(X)9: end while

10: if obj(X) < obj(X?) then11: X? ⇐ X12: end if13: Run Algorithm 114: end for15: Output X?

Here N3 is a neighborhood that consists of all solutions that can be ob-tained by moving a course (as in N2) or removing a course (as the smallerpart of N1) that reduced the sum calculated at line 7. The while-loop willeventually end since each solution is strictly less infeasible than the one be-fore. We are not really making a tabu search, but rather a local search, inthe return neighborhood since the strictly decreasing infeasibility measureprevents us from returning to an earlier solution.

6.5.2 Alternative perturbation steps

Two other perturbation steps have been tested. The ”maximum influenceremove step” and the ”overload course step”. In the first of these, the earliestcourse that affects the highest valued block is removed. The rationale behindthis removal is that such a course has the largest influence (in general) onthe solution, since chain-effects can spill over into all remaining weeks andblocks. In the ”overload step method”, instead of removing courses extracourses are added that are likely to be good, but are unlikely to be added bythe tabu search algorithm. This is done by turning off penalties for unfulfilleddemands in all blocks but the highest valued one. This means that a shortagein the highest valued block will get covered even if creating another shortagedown the line. All penalties for breaking resources are also removed and

Page 50: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

40 Chapter 6. Solution method

then the best course is added using this pseudo-evaluation. This is repeatedas many times as desired. To prevent overused simulators, giving us aninfeasible solution, line 7-9 in Algorithm 3 are put in between line 26 and27 in Algorithm 1, so that if added courses return an infeasible solution, itreturns to a feasible solution before starting the tabu search again.

Page 51: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

Chapter 7

Computational results

In this chapter results from the different test runs of the algorithm are pre-sented. We will also discuss the test data used and briefly analyse the solu-tions found and why they might differ from the reference runs made.

7.1 Test cases

For the main test case data was received from the SAS group. All numericaldata referring to costs are based on SEK but divided by a factor for secrecyreasons. The SAS group is an average sized airline company with bases inCopenhagen, Stockholm and Oslo. They employ around 1100 pilots in 13different positions. Title, fleet, base, cost and block value for all positionsare given in Table 7.1. The fleet abbreviations stand for: Airbus A340-

Title Fleet Base Cost BvFP CJ CPH 370 1FP 36 STO 411 1FP A2 CPH 411 1FP M8 STO 411 1FP M8 CPH 411 1FR LH CPH 425 2FC CJ CPH 452 3FP LH ALL 507 3FC 36 STO 575 4FC A2 CPH 575 4FC M8 STO 575 4FC M8 CPH 575 4FC LH ALL 712 5

Table 7.1: Positions and their costs and block values

Thalen, 2010. 41

Page 52: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

42 Chapter 7. Computational results

300/Airbus A330-300 (LH), Airbus A321-200 (A2), Boeing MD-82 (M8),Bombardier CRJ900 (CJ), Boeing 737 (36). The much higher cost for longhaul pilots is not only a high salary, but also other expenses due to thesepilots being away for a long time. The position abbrevations stand for firstcaptain (FC) and first pilot (FP) which are just slightly different names forthe captain and first officer positions used by most airlines.

As seen in the table, M8 is the only fleet that flies from more than onebase, and no fleet specifically flies from Oslo. Some of the long haul pilotsare based in Oslo, but for long haul the demands are aggregated since theycan be filled with a pilot from any of the 3 bases. The costs are per weekand position and have been estimated. Costs and lengths of courses havealso been estimated, and in total 37 different courses were used includingcombined captain and first officer courses for all fleets (one course to captainand one course to first pilot that need to be held simultaneously), singlecourses to all positions, combined courses for two captains or two first pilots,and left-right courses to captain positions that can only be taken by a firstpilot of the same fleet. In addition very cheap courses have been put in tomove pilots (that so wish) on M8 from CPH to STO or the other way around.

Bids and seniority lists are also based on real life data provided by the SASgroup, but bids have been modified to better reflect reasonable bids in theunprioritized case of bidding system. SAS uses a preferential bidding systemoriginally, but we wished to test the harder problem with unprioritized bids.Supply at the start of the time horizon together with individual work factorsfor all pilots were supplied by SAS.

SAS did not provide any data on simulator limits, so those have beenestimated. The penalty for breaking those limits were set high enough to notget solutions where they were broken.

Demand was estimated based on some data provided by SAS and thecontrol parameter for penalty of not fulfilling demands was set to 15 timesthe cost for the position in question. This is done to give a solution that hasa high priority on covering demands.

All estimations have been done together with the experts at Jeppesen toreflect a potential real life case of reasonable size. We also tested 4 variationsof the main test case.

Lower penalty costsLower demandsNo simulator restrictionsFly below rank allowed

The first of these variations reflects that the penalty cost is a control pa-rameter that can be set higher or lower, depending on how hard it is for the

Page 53: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

7.2. Solvers 43

airline to solve uncovered demands in a later step. The second simply reflectsa situation with less flights being scheduled, and the third gives importantinformation about bottlenecks in the resources, and the potential savings foruse of extra simulator resources. The fourth test case uses the original databut implements a fly below rank rule that is used by some companies. Thisrule states that a missing supply at a first officer position can without costbe covered by a surplus demand at the captain position at the same aircraft(and a first officer can cover for a relief pilot), and in reality this simplymeans putting two captains in the cockpit and letting the less senior one flyas a first officer for that flight.

7.2 Solvers

To make comparisons the main test cases were run with 4 different methods.

Simple windows heuristic solver (SWHS): This was the first solver de-veloped by Jeppesen for the problem. It consists of two phases. Thefirst step is a simple Iterated Local Search heuristic that as perturba-tion step removes the x% worst courses in the solution. Using a modelsuited for a commercial MIP-solver the solution is improved by a win-dow solving heuristic using XPRESS. This heuristic works by lockingall variables outside a time-window and solving the unlocked part tooptimality. It starts with time windows of 2 weeks (solving week 1-2,2-3, 3-4...) and then increases time windows to 4 and 8 weelks, andfinally to a 14 weeks window in which some other restrictions has to beput in as well to not make the model too slow to solve.

XPRESS solver (XPRESS): This solver starts with the SWHS but thenunlocks all weeks and tries to solve the complete problem to optimality.The runs with this solver were terminated after using 10 days of cpu-time since it by then seems to have got stuck and was not able to findany better solutions. The best found solution within the time limit isused in the tables.

Tabu search (TABU): This is Algorithm 1, the method that was to betested. If not stated otherwise it is the main version that has been used.

Tabu search + window solver heuristic (TWHS): Since the tabu searchis approximate and in some ways a more exact heuristic was already

Page 54: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

44 Chapter 7. Computational results

in place, runs were also made where the best solution found by TABUwas used as the starting solution for the XPRESS part of the windowsolver heuristic.

All solutions were implemented using C++ and test runs were made witha 2.40Ghz INTEL XENON E5530 processor with 8GB RAM.

7.3 Results

7.3.1 Main test case, main solvers

The results for the solvers running on the main test cases are shown in Table7.2. In addition to costs and running times the numbers of transitions madefor pilots working at SAS at the start of the solution together with the numberof new hires made in the solution are also presented. The solution found bythe tabu search algorithm is very close to the best solution found by XPRESSin less than a 30th of the time. The first solution found by XPRESS thatbeats the tabu search solution was found after 226909 cpu-seconds (about2.5 days). The best solution that was found in a reasonable amount of timewas the one found using the tabu search algorithm as a starting heuristic toget a solution that was improved further by the window solver.

The figures for the costs are broken down into the different part of theobjective value, to give more insight on the problem structure. The largestcosts are by far the salaries, but most of that cost is present already at thestart (the current pilots at their current positions) and can not be reducedsince all courses increase salary costs. The part that can be effected by theoptimizer is around 2% of the costs that are added during the run.

The second largest part is the uncovered demand cost, and this cost canbe greatly affected by the optimizer. When reducing this penalty both salarycost and course costs increase since the way to cover demand better usually

Total Salary Course Penalty Trans- New CPU-timecost costs costs costs itions hires (sec)

XPRESS 22220550 19008134 224433 2987983 90 33 808663TABU 22261857 19000837 223495 3037525 94 30 7770SWSH 22399930 18950571 186756 3262603 73 31 17873TWSH 22216210 19004415 224433 2987362 91 33 27108

Table 7.2: Costs for best solutions on all four algorithms on the main testcase

Page 55: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

7.3. Results 45

is to add courses. This is also the reason why it is not always best to havethe largest number of courses. The SWSH solution, that is the one of the4 solutions that is substantially worse than the others, however illustrateswhat is usually the case, a good solution has more transitions than a badsince this means that it covers demands better.

Figure 7.1: Solution quality plotted against iterations for the tabu searchalgorithm on the main test case

Figure 7.1 shows the objective values of the solutions visited when run-ning Algorithm 1 on the main test case. Also included in the figures are thickgray lines for the best solution found by SWSH (upper line) and XPRESS(lower line). Time is almost proportional to iterations but exact times werenot output in the test runs. It can be seen in Figure 7.1 that the tabu searchalgorithm already after less than half the total running time has found asolution very close to the best solution found. The large jumps in objectivevalues stem from Line 12 and 25 in Algorithm 1 (jumps down and up respec-tively). In Figure 7.2 the demand versus supply for some sample positionsin the best solution found by the tabu search are displayed. A person intraining to a position counts as contributing to supply since he receives thehigher salary, but to compensate the demand for the position is increasedone unit until the pilot gets productive at his new position. The positionof first pilot at the CJ fleet is a bottleneck in this problem. All new hires

Page 56: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

46 Chapter 7. Computational results

Figure 7.2: Supply and demands for some positions plotted against weeks inthe planning period

goes to this position but even so, with the simulator limits used, we are notable to cover for all that are getting a promotion from this position. On themore expensive captains positions the solution covers almost all demands.On the first pilot position at M8 the solution does not cover the short peakof demand at the end of the year. This is not a big surprise since hiring andtraining a new pilot usually requires a more permanent increase in demandto be profitable.

The bottleneck of the FP-CJ position is further illustrated in Figure 7.3.Here the use of the simulators for the different weeks is plotted against themaximum number of simulator slots. A transition course in the test case uses3 simulator slots in a week and since the algorithm does not schedule anyrecurrent training or maintenance (assume that room for this has alreadybeen made when setting the maximum available slots for transition training)it is not a surprise that all numbers are divisible by 3.

Table 7.3 shows a matrix of all pilots transferring, where they start andwhere they go to. There are some large blocks of transfers but overall mostof the transitions are spread out. This makes the optimization problem muchharder compared to if say all pilots from one position could just move to oneother position. It is obviously good for the airline since more choices meanmore potential savings, and it is also good for the pilots since their bids can

Page 57: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

7.3. Results 47

Figure 7.3: Use of simulator resource in different weeks.

then influence their way up the ladder to preferred positions.

7.3.2 Alternative solvers

In Figure 7.4 the solutions visited by the tabu search algorithm using alterna-tive perturbation steps are plotted against the best found solutions using thestandard perturbation steps at the end of each loop. The alternative steps donot work very well and the tabu search is not improving much after the thefirst few loops. Caution should be taken when interpreting these results, itmight very well be problem characteristics that make the alternative pertur-bation stpes perform badly and the parameters for the alternative solutionsmethods have not been tuned as well as the parameters for the standard run.

Strategic oscillation was also tested on the problem but it did not produceany good results. The best results achieved were comparable to those foundusing the alternative perturbation steps, but they took a longer time to find.This method does however have good potential to be used as a complementin other problem instances, since it differs on a more fundamental level thanjust using alternative perturbation steps.

Page 58: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

48 Chapter 7. Computational results

To → FP FP FP FP FP FR FC FP FC FC FC FCCJ 36 A2 M8 M8 LH CJ LH A2 M8 M8 LHC S C S C A C A C S C A

From P T P T P L P L P T P L↓ H O H O H L H L H O H L

NEW 30FP CJ CPH 19 1 13 5 2 1 1FP 36 STO 2 1 2 5 2FP A2 CPH 1FP M8 STO 2 1 1 3 3FP M8 CPH 6 1 4FC CJ CPH 17FC M8 CPH 1

Table 7.3: Transferring matrix

Figure 7.4: Alternative perturbation steps

7.3.3 Alternative test cases

Table 7.4 – 7.7 show the results for the different methods on the alternativetest cases. The tabu search algorithm produces good and fast solutions onall problems but one. When removing simulator restrictions XPRESS canfind a much better solution (given a lot of time) than the tabu search doesand this is probably because the tabu search fails to find some chains ofcourses that are not improving one by one, or even two by two, but togethergive a slight improvement. As a result the tabu search also has less totaltransitions. The tabu search performs better when keeping the problemsknapsack structure and struggles compared to XPRESS when it does not.On the other variations the algorithm produces similar results compared to

Page 59: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

7.3. Results 49

XPRESS as in the main test case. Almost as good solutions are found inmuch less time.

The fly below rank rule was at the time for this thesis work not imple-mented in the mathematical model for XPRESS and therefore no referencesolution is presented. It is anyway interesting to see that this rule would inthis test case save at least 1.5% of the total manpower costs for the airline(and likely more, since savings should occur in other steps of the planningprocess as well).

Page 60: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

50 Chapter 7. Computational results

Total Salary Course Penalty Trans- New CPU-timecost costs costs costs itions hires (sec)

XPRESS 21014295 19831073 429292 753930 154 91 592119TABU 21508863 19071338 218895 2218630 78 44 8503

Table 7.4: No simulator restrictions run

Total Salary Course Penalty Trans- New CPU-timecost costs costs costs itions hires (sec)

XPRESS 20155182 18817659 139679 1197844 65 14 476235TABU 20164863 18804512 135538 1224813 62 14 4323

Table 7.5: Low penalty run

Total Salary Course Penalty Trans- New CPU-timecost costs costs costs itions hires (sec)

XPRESS 20161886 18874341 205253 1082292 81 32 730063TABU 20218433 18855089 203020 1160324 78 30 5558

Table 7.6: Low demand run

Total Salary Course Penalty Trans- New CPU-timecost costs costs costs itions hires (sec)

TABU 21864134 19081310 184862 2597962 86 26 6610

Table 7.7: Fly below rank run

Page 61: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

Chapter 8

Discussion

The purpose of this thesis work was to develop an integrated solver for thestaffing and transitioning problem for pilots, that in an efficient way producedgood solutions. This has been achieved and the results for the solver arevery good. The solution algorithm that uses two different neighborhoods fortabu search together with a perturbation step for better long term behaviourproduces similar results as the commercial MIP-solver, but running a factor30-100 times faster. This is especially important if one wishes to use thesolver for a larger airline. If doubling the size of the problem even the timewindow solver heuristic takes a long time for XPRESS to run, and runningwithout locked windows will not produce any solutions at all (in 10 days cpu-time). Both the best (and fastest way) is to use the tabu search algorithm.If speed is not the main concern the solution found by tabu search could befurther improved by a window solver heuristic starting from the tabu searchsolution.

Another strength of the tabu search algorithm presented in this thesis isthat it is very versatile. This is true for tabu search in general, and it is ofspecial interest for the problem under consideration here since not all airlineshave the same rules or planing process and there might even be differentwishes from the planners at different times. The most important variation ofusing prioritized bids would not be any problem at all to implement withinthe algorithm, and would likely make it perform even better, compared tothe alternatives, since prioritized bids create a one-one relation from a setof courses to a set of transitions on individual level. Further demands andpenalties can be tuned by the planners and it would not be a problem toimplement even nonlinear penalties (which is probably closer to how realityworks since a little unfulfilled demand can be covered by the comparablycheap overtime). Locking specific parts of the solution is also easily done,allowing planners to test different scenarios.

Thalen, 2010. 51

Page 62: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

52 Chapter 8. Discussion

The solver is not well suited to tackle pay-protection. When using pay-protection much more of the optimization problem remains after courseshave been set, since we can assign pilots in a lot of different ways now. Ican see two ways to benefit from the tabu search solver in such a case. Thefirst would be to solve the problem without pay-protection and then usesome other heuristic to improve the solution by searching for possible shiftsof transitions where pay-protection would give savings, and this is likelythe easiest way. The other way would be to include pay-protection in theapproximate assignment algorithm, but I think it would likely slow it downtoo much to be viable.

There is a couple of areas in which the algorithm itself might be improved.One valid concern when using this many algorithm parameters is how hardit would be to tune it for another problem. Since heuristics of this sortoften are very parameter sensitive, many tabu algorithms use some sort ofautomatic tuning of for example length of tabu lists. The initial tuning ishowever not very difficult, figures as those presented in the test results willimmediately show if the algorithm gets stuck in a shorter or longer loop andanother run with adjusted parameters can replace it. After the initial tuningthe algorithm does not seem to be very sensitive to changes in problem data.All variations of the test case but the ”no simulator restriction” case wererun with the same set of parameters and produced good results. This reducesthe need for automatic tuning, but adding it for the initial tuning would stillclearly be an improvement.

Another improvement area is to get the algorithm to work well even inthe case with no resource restrictions, one idea to achieve this is to implementmore elaborate neighborhoods. A neighborhood that adds not just a singlecourse but chains of courses, combined with some kind of candidate liststrategy to prevent the neighboorhood from getting to large, might be animprovement of the algorithm even in the general case, but certainly in thiscase.

If we look at the industrial side of the problem, a good thing to do inorder to get a good commercial product would be to integrate the solverwith a solver for training, vacation and possible recurrent training as well.If the airline already runs an optimization module for the transitioning andtraining problem, the easiest way to improve it would likely be to just usethis solver to get the staffing decisions set (which pilot gets transition towhere), unlocking the time for transition and running that solver as a secondstep. A good implementation could be to modify the tabu search to produceseveral different solutions (that are also guided into being as different aspossible while remaining close to optimality) and run the transition-trainingoptimizer on a couple of different scenarios. If such an optimizer is not

Page 63: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

53

available however the remaining training problem should likely be more ofan administrative problem than an optimization problem. This is becausethere is not really much costs left to affect when all transitions are decided,and unless arriving at an unfeasible training problem that would need extraresources to solve, the cost would more or less be the same for all trainingsolutions.

This thesis is just a first step in the research of the specific problemof pilot staffing in airlines, but the solution algorithm presented is alreadygood enough to give industrially viable solutions to the problem. The al-gorithm can also easily be modified to be part of a larger solution packageas shown with the TSWH-solution presented. The thesis also demonstrateshow a well-known meta-heuristic can be tailored to fit specific needs and alsodemonstrates the power of the tabu search framework when approaching new,large and complicated problems.

Page 64: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

54 Chapter 8. Discussion

Page 65: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

Bibliography

[1] Gendreau, Michel, (2003), An Introduction to Tabu Search, in Handbookof Metaheuristics, ed. Glover, Fred, and Kochenberger, Gary, KluwerAcademic Publishers, Dordrecht

[2] Glover, Fred, (1986), Future paths for integer programming and links toartificial intelligence, in Computers and Operations Research, vol 13,pp. 533-549.

[3] Glover, Fred, and Laguna, Manuel, (1997), Tabu search, Kluwer Aca-demic Publishers, Dordrecht

[4] Glover, Fred, and Kochenberger, Gary, (2003), Preface, in Handbookof Metaheuristics, ed. Glover, Fred, and Kochenberger, Gary, KluwerAcademic Publishers, Dordrecht

[5] Gonzales, Teofilo F., (2007), Introduction, Overview and Notation,in Handbook of approximation algorithms and metaheuristics, ed.Gonzales, Teofilo F., Chapman & Hall, USA.

[6] Holm, Asa, (2008), Manpower planning in Airlines, Master thesis at theDepartment of Mathematics at Linkoping University.

[7] Lourenco, Helena R., et al., (2003), Iterated Local Search, in Handbookof Metaheuristics, ed. Glover, Fred, and Kochenberger, Gary, KluwerAcademic Publishers, Dordrecht

[8] Lu, Zhipeng, and Hao, Jin-Kao, (2008), Solving the Course TimetablingProblem with a Hybrid Heuristic Algorithm, in Artificial Intelligence:Methodology, Systems, and Applications, vol 5253, pp. 262-273.

[9] Lu, Zhipeng, et al., (2010), Neighborhood analysis: a case study oncurriculum-based course timetabling, in Journal of Heuristics, publishedonline.

Thalen, 2010. 55

Page 66: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

56 Bibliography

[10] Lundgren, Jan, et al., (2001), Linjar och icke-linjar optimering, Stu-dentlitteratur, Lund

[11] Matusomoto, Kazuki, et al., (2010), On the one-dimensional stock cut-ting problem in the paper tube industry, published online in Journal ofScheduling

[12] Solis-Oba, Louis, (2007), Local Search, in Handbook of approximationalgorithms and metaheuristics, ed. Gonzales, Teofilo F., Chapman &Hall, USA.

[13] Verbeek, Peter J., (1990), Decision Support Systems - An applicationin strategic manpower planning of airline pilots, in European Journal ofOperational Research, vol 55, pp. 368-381.

[14] Yu, Gang, et al., (1998) Moving Toward an integrated decision supportsystem for manpower planning at continental airlines: optimization ofpilot training assignments, in Industrial applications of combinatorialoptimization, ed. Yu, Gang, Kluwer Academic Publishers, Dordrecht

[15] Yu, Gang, et al., (2003), Optimization-Based Integrated Manpower Man-agement for Airlines, in Operations Research in Space and Air, pp. 407-434, ed. Ciriani, T.A., et al., Kluwer Academic Publishers, Dordrecht

[16] Yu, Gang, et al., (2004), Optimizing Pilot Planning and Training forContinental Airlines, in Interfaces, vol 34, pp. 253-264.

[17] Zhang, Qingfu, and Sun, Jianyong, (2006), Iterated local search withguided mutation, Conference paper at 2006 IEEE Congress on Evolu-tionary Computation

[18] SAS Group Annual Report & Sustainability Report 2009

[19] SpringerLink URL: http://www.springerlink.com

Page 67: Examensarbete Manpower planning for airline pilots — A ...780198/FULLTEXT01.pdf · Manpower planning for airline pilots — A tabu search approach Optimization, Link¨opings Universitet

LINKÖPING UNIVERSITY

ELECTRONIC PRESS

Copyright

The publishers will keep this document online on the Internet - or itspossible replacement - for a period of 25 years from the date of publica-tion barring exceptional circumstances. The online availability of the doc-ument implies a permanent permission for anyone to read, to download, toprint out single copies for your own use and to use it unchanged for anynon-commercial research and educational purpose. Subsequent transfers ofcopyright cannot revoke this permission. All other uses of the documentare conditional on the consent of the copyright owner. The publisher hastaken technical and administrative measures to assure authenticity, securityand accessibility. According to intellectual property law the author has theright to be mentioned when his/her work is accessed as described above andto be protected against infringement. For additional information about theLinkoping University Electronic Press and its procedures for publication andfor assurance of document integrity, please refer to its WWW home page:http://www.ep.liu.se/

Upphovsratt

Detta dokument halls tillgangligt pa Internet - eller dess framtida ersattare- under 25 ar fran publiceringsdatum under forutsattning att inga extraordi-nara omstandigheter uppstar. Tillgang till dokumentet innebar tillstand forvar och en att lasa, ladda ner, skriva ut enstaka kopior for enskilt bruk och attanvanda det oforandrat for ickekommersiell forskning och for undervisning.Overforing av upphovsratten vid en senare tidpunkt kan inte upphava dettatillstand. All annan anvandning av dokumentet kraver upphovsmannensmedgivande. For att garantera aktheten, sakerheten och tillganglighetenfinns det losningar av teknisk och administrativ art. Upphovsmannens ideellaratt innefattar ratt att bli namnd som upphovsman i den omfattning som godsed kraver vid anvandning av dokumentet pa ovan beskrivna satt samt skyddmot att dokumentet andras eller presenteras i sadan form eller i sadant sam-manhang som ar krankande for upphovsmannens litterara eller konstnarligaanseende eller egenart. For ytterligare information om Linkoping UniversityElectronic Press se forlagets hemsida http://www.ep.liu.se/

c© 2010, Bjorn Thalen

Thalen, 2010. 57