• Sonuç bulunamadı

Crew pairing optimization based on hybrid approaches

N/A
N/A
Protected

Academic year: 2021

Share "Crew pairing optimization based on hybrid approaches"

Copied!
10
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Crew pairing optimization based on hybrid approaches

Ayyuce Aydemir-Karadag

a

, Berna Dengiz

a,⇑

, Ahmet Bolat

b

a

Department of Industrial Engineering, Baskent University, Baglica Campus, Eskisehir Road, 20.km, 06810 Etimesgut, Ankara, Turkey b

Turkish Airlines Inc., Investment Management, Ataturk Airport, 34149 Istanbul, Turkey

a r t i c l e

i n f o

Article history:

Available online 13 December 2011 Keywords: Crew scheduling Crew pairing Genetic algorithm Column generation

a b s t r a c t

The crew pairing problem (CPP) deals with generating crew pairings due to law and restrictions and selecting a set of crew pairings with minimal cost that covers all the flight legs. In this study, we present three different algorithms to solve CPP. The knowledge based random algorithm (KBRA) and the hybrid algorithm (HA) both combine heuristics and exact methods. While KBRA generates a reduced solution space by using the knowledge received from the past, HA starts to generate a reduced search space including high quality legal pairings by using some mechanisms in components of genetic algorithm (GA). Zero-one integer programming model of the set covering problem (SCP) which is an NP-hard prob-lem is then used to select the minimal cost pairings among solutions in the reduced search space. Column generation (CG) which is the most commonly used technique in the CPP literature is used as the third solution technique. While the master problem is formulated as SCP, legal pairings are generated in the pricing problem by solving a shortest path problem on a structured network. In addition, the performance of CG integrated by KBRA (CG_KBRA) and HA (CG_HA) is investigated on randomly generated test prob-lems. Computational results show that HA and CG_HA can be considered as effective and efficient solu-tion algorithms for solving CPP in terms of the computasolu-tional cost and solusolu-tion quality.

 2011 Elsevier Ltd. All rights reserved.

1. Introduction

The airline industry encounters many scheduling problems such as schedule designing, fleet assigning, aircraft routing and crew scheduling. Although these problems are closely interrelated, they are typically solved sequentially, due to their size and com-plexity. In the schedule design problem, a schedule is constructed that defines departure and arrival cities as well as departure and arrival times of each flight leg to be flown during a given time per-iod. The construction is typically based on market demands for the flight legs. After the schedule has been found, available aircrafts are allocated to flight legs in the fleet assigning problem considering the estimated demand for each flight leg. In the next step, the craft routing problem is solved which involves the routing of air-craft such that maintenance constraints are satisfied. The rest part of the airline planning is the crew scheduling. The crew sched-uling problem is an NP_hard constrained combinatorial optimiza-tion problem (Ozdemir & Mohan, 2001). Therefore, it is typically considered as two problems: the crew pairing problem and the crew rostering problem. A crew pairing is a sequence of flight legs, within the same fleet, that starts and ends at the same crew base. The objective of this problem is to find a set of crew pairings that

cover all of the legs such that the airline incurs the least cost. Since cabin crew members are qualified to fly only certain aircraft types and different rules apply for each crew category, the pairing prob-lem decomposes by crew category (Graves, Mcbride, Gershkoff, Anderson, & Mahidhara, 1993). In the last step of the airline plan-ning process, pairings are finally combined to form personalized monthly schedules that are assigned to individual crew members by solving a crew bidding problem or a crew rostering problem.

Since total crew cost including salaries, benefits and expenses is the second largest cost figure after the cost of fuel for airlines; the crew scheduling problem has received considerable attention from researchers both in academia and industry. Some crew costs for US major airlines are represented inTable 1(Bazargan, 2004).

These results obviously show that even a small percentage of savings in flight crew expenses through better scheduling yield millions of dollars, which ultimately can determine the survival of an airline. In consideration of large portion of flight crew ex-penses are controllable, the crew scheduling is an important prob-lem for airlines. Therefore, this probprob-lem is more attractive for researchers to develop various solution methods to be able to ob-tain good schedules.

In this study, we focus on the crew pairing problem (CPP). Given the flight schedule, the fleet routes, the work rules and related crew costs, CPP deals with the construction of a subset of pairings with minimum cost, so that each flight leg is covered at least once. Many solution methodologies for CPP have been proposed dur-ing last four decade. A detailed review of the solution approaches 0360-8352/$ - see front matter  2011 Elsevier Ltd. All rights reserved.

doi:10.1016/j.cie.2011.12.005

⇑ Corresponding author. Tel.: +90 312 246 6658; fax: +90 312 246 6660. E-mail addresses: ayyuce@baskent.edu.tr(A. Aydemir-Karadag), bdengiz@ baskent.edu.tr(B. Dengiz),abolat@thy.com(A. Bolat).

Contents lists available atSciVerse ScienceDirect

Computers & Industrial Engineering

j o u r n a l h o m e p a g e : w w w . e l s e v i e r . c o m / l o c a t e / c a i e

(2)

for CPP can be found inArabeyre, Feanley, Stieger, and Teather (1969), Etschmaier and Mathaisel (1985) and Gershkoff (1989). Generally, solution methodologies of CPP are grouped in two sec-tions: First all legal pairings are generated (pairing generation) and their cost computed, then a good subset of these pairings is chosen covering all the flight legs (pairing optimization). Most crew pairing studies in the literature use row approach, column or network approach to generate legal pairings. Some researches that used row approach are Anbil, Gelman, Patty, and Tanga (1991), Baker, Bodin, and Fisher (1985), Ball and Roberts (1985), Etschmaier and Mathaisel (1985), Graves et al. (1993), Gershkoff (1989)andRubin (1973).

Column generation is the mostly used technique to solve the fleet assignment, aircraft routing, crew pairing and the crew roster-ing problems.Yan and Chang (2002)developed two different net-work representations and a model using a real data to generate legal crew pairings and minimize cockpit crew cost. The model was formulated as a set partitioning problem (SPP) and a column generation approach was developed to efficiently solve the prob-lem. Stojkovic, Soumis, and Desrosiers (1998)formulated opera-tional airline crew scheduling problem as a SPP in where a column approach in branch and bound search tree was imple-mented.Vance et al. (1997)developed a methodology which found near optimal solutions for the crew pairing problem by using a dy-namic column generation scheme.

Network approach, which was first used inLavoie, Minoux, and Odier (1988), is another approach to generate legal crew pairings. There are two main network structures in the crew pairing genera-tion. The first one called flight network has an arc for each flight leg in the schedule. Each arc represents possible connections between flight legs. The second type of network called duty period network has an arc for each possible duty period and arcs represent possible overnight connections between the duties. The nodes in the duty period network represent the arrival and departure of each duty period.Stojkovic, Soumis, Desrosiers, and Solomon (2002)proposed a model whose dual is shown to be a network model.Yan, Tung, and Tu (2002)proposed eight models formulated as integer linear pro-grams. To efficiently solve these models, they developed column generation based algorithms. They also presented several schedul-ing networks to generate legal crew pairschedul-ings.Barnhart, Johnson, Anbil, and Hatay (1994)showed that long-haul crew pairing prob-lems can be solved efficiently using Dantzig–Wolfe column gener-ation technique. Desaulniers et al. (1997) used the network approach in the crew pairing system in Air France. For short-haul problems, a duty period network instead of the flight network was used inAnbil, Forrest, and Pulleyblank (1998), Chu, Gelman, and Johnson (1997), Desrosiers et al. (1991), Lavoie et al. (1988)

andVance, Barnhart, Johnson, and Nemhauser (1995).

Several methodologies have been proposed for solving the crew pairing optimization problem.Barahona and Anbil (1997) devel-oped a so called volume algorithm method that can be used to obtain approximate solutions to linear programs. The branch and cut solver

developed inHoffman and Padberg (1993)was used to be proven the optimality for large set of partitioning problems such as a large sized crew pairing optimization problem. A review of these methods can be found inBarnhart, Johnson, Nemhauser, Savelsbergh, and Vance (1998).Vance et al. (1997) described a methodology for finding near-optimal solutions to the crew pairing problem using a dynamic column generation scheme to identify crew pairings combined with a customized branch and bound procedure. InAhmadbeygi, Cohn, and Weir (2009), an integer programming (IP) approach to generate crew pairings was presented.

There are few algorithms based on metaheuristics in the litera-ture which are developed to solve the crew scheduling problem. In these studies mostly SPP or SCP are considered for solving the crew pairing optimization problem.Chu and Beasley (1995)presented a steady-state genetic algorithm to solve the SPP.Levine (1994) pro-posed a parallel genetic algorithm for the solution of the SPP. Le-vine (1996) presented a hybrid algorithm which consists of a steady state genetic algorithm and a local search heuristic. Kornila-kis and Stamatopoulos (2002)employed a depth first search algo-rithm for the crew pairing generation and they solved the problem using a genetic algorithm (GA). The crew scheduling problem was solved by using a genetic algorithm also inOzdemir and Mohan (2001).

In our study, firstly, we present a knowledge based random algorithm (KBRA) that generates a reduced solution space through the knowledge received from the past as the input to the pairing optimization phase. Secondly, a hybrid algorithm (HA) is proposed for CPP. HA sequentially combines GA based heuristics (GBH) and zero-one integer programming model of the SCP. GBH generates a reduced search space including high quality legal pairings. A new problem specific crossover operator is applied to generate le-gal crew pairings in GBH. The details of GBH are given in Sections 3.2.1-3.2.4. Column generation (CG) which is the most commonly used technique in the CPP literature is used successfully as the third solution technique by adapting to our specific constraints. While SCP is used as the master problem of CG, the pricing problem is formulated as a shortest path problem. The effectiveness of HA is investigated by comparing its results with those obtained by KBRA and CG on a hypothetically generated five test problems. Moreover, the effects of initial column set of CG are investigated on the per-formance of CG. The paper is organized as follows: CPP description is given in Section2. While third section includes the details of ap-plied solution algorithms, the fourth section gives computational results followed by conclusions in the fifth section.

2. Problem statement

The input of the CPP is a fleet together with its flight schedule. A flight schedule contains departure and arrival times of flight legs and their cities. A flight leg is defined as a nonstop flight. A duty period is a working day of a crew consisting of a sequence of flight Table 1

Crew costs for US major airlines.

Carrier Number of flight crew Flight crew salaries and benefits (000) Flight crew expenses (000) Expenses/salaries and benefits (%)

Alaska 1329 $ 259,953 $ 103,736 39.91 American West 1675 $ 215,470 $ 48,722 22.61 ATA 783 $ 130,209 $ 51,223 39.34 American 12,297 $ 2458,453 $ 1484,596 60.39 Continental 4209 $ 866,526 $ 493,458 56.95 Delta 8074 $ 2084,427 $ 1039,582 49.87 Northwest 5534 $ 1164,550 $ 613,037 52.64 Southwest 3966 $ 664,415 $ 320,153 48.19 United 7992 $ 2300,091 $ 1423,988 61.91 US Airways 3743 $ 851,466 $ 471,672 55.40

(3)

legs. The sit time is the time that is a short rest period between two consecutive flight legs in a duty period. Among union, government and airline rules, there is an upper and lower bound on the sit time. A crew home base is the home station or city in which the crew actually lives. A crew pairing (pairing) is a sequence of duty peri-ods, within the same fleet, that starts and ends at the same crew home base. A pairing can last one to 5 days depending on whether it is planning for domestic or international flights. Between two duties in a pairing, there is an overnight rest which is called over-night rest or layover. There are upper and lower bound restrictions for layover depending on the previous duty period time. Addition-ally, there is a maximum elapsed time for a duty period (DPElapse). The time away from base (TAFB) is defined as the total elapsed time including the overnight rests between duty periods in a pair-ing. A crew schedule is defined as a sequence of pairings with the time off periods between pairings. Typically, the crew pairing problem is solved for each fleet separately due to the specific air-craft type license requirements on crew.Fig. 1represents an illus-tration of a pairing that consists of two duties; the first duty period contains three flight legs while the second duty period contains two and city A is defined as home base.

Both pairing and duty period must comply with the union, gov-ernment and airline rules. A pairing satisfying all the rules and reg-ulations is called a legal pairing. The common and essential rules are summarized here:

 Each pairing must start and end at the same base.

 The departure of a flight leg should take place after the arrival of the previous leg of the pairing.

 There is a minimum amount of time permitted between two consecutive flights within a duty period called sit time.  There is a minimum amount of time permitted between two

consecutive duties within a pairing.  Each duty period should not exceed 14 h.

 Each duty period should not exceed 8 h of flight time in any given day.

 There are a maximum number of flight legs permitted within a duty period.

In this study, the maximum number of flight legs in a pairing is considered as 4 and the sit time between two flight legs is consid-ered as minimum of 20 min. The crew pairing problem is solved under the assumption that each flight leg is flown every day and it is called the daily crew pairing problem. In practice, some flight legs are not operated during the weekends. Since the number of such irregular flight legs are small, the daily problem forms a good approximation to the weekly problem (Klabjan, Johnson, Nemha-user, Gelman, & Ramaswamy, 2001).

The CPP are mostly formulated as SPP where the goal is to find a minimum cost subset of legal pairings such that each flight leg is

covered by exactly one pairing. The mathematical formulation of SPP is as follows:

Sets

F Set of all flight legs

P Set of all legal pairings

Parameters

Cj cost of pairing j, "j

e

P

aij 1, if flight leg i is covered by pairing j,

"i

e

F, j

e

P,0, o.w. Decision

variables

xj 1, if pairing j is chosen, "j

e

P,0, o.w.

Formulation minX j2P cjxj ð1Þ s.t. X j2P aijxj¼ 1

8

i 2 F ð2Þ xj2 f0; 1g

8

i 2 P ð3Þ

The objective function given in Constraint(1)minimizes the cost of chosen set of pairings. Constraints(2) and (3)guarantee that each flight leg is covered only once in the set of pairings. The CPP can also be modeled as SCP, while modifying Constraints(2)as shown below. X

j2P

aijxj 1

8

i 2 F ð4Þ

Constraint(4)requires that each flight leg is covered at least once. This allows deadheading that is crew can travel as passengers and reposition to the crew home base or duty base to maintain his duty. The set covering model can be useful when the cost of deadheading versus flying a flight leg are almost the same (Bornemann, 1982). One reason for using the set covering problem rather than the set partitioning problem is that this model gives faster convergence for larger problems (Gustafsson, 1999) and it can be still preferred since legal solutions may not exist without deadheading (Kornilakis & Stamatopoulos, 2002).

It is reported that solving the CPP continues to be challenging due to the size of the problem, complex work laws, regulations and usu-ally nonlinear crew cost (Gopalakrishnan & Ellis, 2005). Since the number of pairings is extremely large for many airlines, in reality, implicit generation of pairings may not be possible. For example, a flight schedule with 400 flight legs may lead 2400pairings. To

over-come this problem, the solution algorithms in the literature gener-ally work with reduced search space. This is achieved by designing

Duty period 2 Duty period 1

Time away from base Flight leg Sit time Sit time Sit time 07:00 08:00 11:10 12:10 17:40 18:50 13:00 14:15 19:30 20:30 D C B A Layover

(4)

a sequential execution of heuristic/metaheuristic before an exact approach is launched. The heuristic/metaheuristic is designed in or-der to give information to the exact algorithm. If a heuristic search is considered, the metaheuristic gives initial solution(s) to the exact search, which helps to define a reduced search space to launch the exact search (Jordan, Basseur, & Talbi, 2009). Also in our study, the first presented algorithm KBRA generates a reduced solution space through the knowledge received from the past and the second algo-rithm HA starts to generate a reduced search space including high quality legal pairings by employing GBH which uses some mecha-nisms in the components of GA. Then, zero-one integer program-ming model of the SCP is solved to select the minimal cost pairings, which is also called the crew schedule, among the gener-ated solutions.Fig. 2represents how heuristics/metaheuristics and exact methods are hybridized in our solution approaches with showing the inputs and outputs of each step.

CG which is the most commonly used technique in the CPP lit-erature is used successfully as the third solution technique by adapting to our specific constraints. While SCP is used as the mas-ter problem, the pricing problem is formulated as a shortest path problem. A randomly generated legal column set and two different column sets obtained from HA and KBRA are separately used as ini-tial column sets of CG and the results are compared to investigate how the initial column set affects the performance of CG.

The details of applied solution algorithms are explained in the fol-lowing section in the order of Knowledge Based Random Algorithm, Hybrid Algorithm and Column Generation Algorithm, respectively. 3. Solution algorithms

3.1. Knowledge based random algorithm

Knowledge based random algorithm includes both a crew pairing generation mechanism and an optimization mechanism. The crew pairing generation mechanism starts to generate a pairing with a randomly chosen flight leg from the flight schedule which departs from the home base. A successor of a flight leg is selected randomly through a candidate list based on the knowledge obtained from the last flight leg’s predecessor/s, such as total flight time, duty period, minimum amount of sit time, departure-arrival continuity and the number of flight legs, and hence, this algorithm is called Knowledge Based Random Algorithm (KBRA). A candidate list consists of unique flight legs that are not already covered by that pairing. A pairing gen-erated by KBRA is legal which ensures all the constraints explained in Section2, so a repair function is not required. KBRA is stopped when the predefined number of initial solutions is reached. In the optimi-zation mechanizm, zero-one integer programming model of SCP is solved to find a subset of pairings with minimum cost that covers all the flight legs at least once among the search space produced in the generation mechanism. Thus, a hybrid solution method is devel-oped by combining both heuristics and exact methods. The overall procedure of KBRA can be outlined as follows:

 Step 1: Define the parameters of KBRA; population size ns = 0, the number of flight legs i, flight time ft, the length of duty per-iod dp, sit time st, the flight leg number defined in the flight schedule k, the initial home base j.

 Step 2: i = 0, ft = 0, dp = 0, st = 0.

 Step 3: Choose randomly a flight leg (k) from the flight schedule and define j = home base of k.

 Step 4: Add it to the current pairing. i = i + 1, ft = ft + the flight time of k in the rank ith, dp = st + ft.

 Step 5: Record the knowledge of k (i.e. total flight time, duty period, minimum amount of sit time, the number of flight legs etc.) and delete k from the flight schedule.

 Step 6: Define the candidate list of k.

 Step 7: If there are legal flight legs in the list and i < 3, choose randomly a flight leg k from the candidate list starting with the departure base of k, st = st + st between ith and (i + 1)th flight legs and go to Step 4.

 Step 8: If the arrival base of k equals to j, go to Step 9, otherwise add a flight leg from the flight schedule that ensures to return the current pairing to j.

 Step 9: ns = ns + 1: If the maximum number of ns is reached, cal-culate the costs of the generated pairings by using Constraint

(6)and go to Step 10, otherwise go to Step 2.

 Step 10: Integrate the optimization process by solving SCP model and stop.

3.2. Hybrid algorithm

Genetic algorithms (GA), introduced byHolland (1975), refer to a class of adaptive search procedures based on the principles de-rived from natural evolution and genetics. GA can be implemented in several different ways to solve any problem, especially for com-binatorial optimization problems. In GA, each possible solution is encoded as a string (chromosome). Each character of the chromo-some is called a gene. The fitness of a solution is evaluated with re-spect to a given objective function. Highly fit solutions have opportunities of exchanging pieces of genetic information with other highly fit solutions by using a crossover operator. Then a few random genes of the new solution are changed (mutation) in order to avoid local minima in the search. New individuals (off-spring) replace the weaker members of the existing population and this procedure iterates until a satisfactory solution is found.

In our proposed algorithm, GBH generates a reduced search space including high quality legal pairings by using some mecha-nisms in components of GA as the input to the optimization phase. GBH produces candidate solutions such that each solution satisfies all constraints (complex feasibility rules and nonlinear cost func-tion) defined in this problem. The difference of our study from the traditional GA is that the aim of our GA is generating possible legal pairings for the solution space of this problem and SCP is con-sidered for the pairing optimization. Therefore, a chromosome (solution) represents a pairing rather than a crew schedule, and so it is called GBH. GBH guarantees to cover all the flight legs in the flight schedule and it is permitted that each flight leg can be a part of more than one pairing by solving SCP model. This yields to diversify the population (pairings) and allow multiple choices for the pairings that will be chosen during the optimization pro-cess. Thus, SCP responsible for the optimization part of this prob-lem selects a subset of pairings that covers all the flight legs at least once among the reduced search space produced by GBH. Fi-nally, this integrated process HA finds a schedule with minimum cost.

The details of GBH are explained in the following order: repre-sentation, generation of initial population, evaluation and selection mechanisms, and genetic operators.

3.2.1. Representation

Representation is one of the important issues that affect the performance of GAs. Usually different problems have different data structures or genetic representations. In our study, each gene

Optimization Method Exact Method (SCP) Heuristic/ Metaheuristic (KBRA/GBH) Flight schedule Constraints Crew schedule Crew pairings

(5)

represents a flight leg in the flight schedule. Therefore, all informa-tion (departure and arrival cities and times) could be easily known from the flight schedule for checking legality of a pairing. Since it is allowed that a pairing consists of between 2 and 4 flight legs, the length of the chromosome must be between 2 and 4.Fig. 3 repre-sents an illustration of two different pairings having two and four flight legs, respectively.

3.2.2. Initial population

The initial population is generated by KBRA. 3.2.3. Evaluation and selection mechanisms

The objective function is taken as fitness function. The cost of a pairing is usually expressed as the maximum of three quantities gi-ven in Constraint(5)(Gopalakrishnan & Ellis, 2005).

Pairing Cost ¼ maxfthe number of duties  PMDG; TAFB Factor

 TAFB; Total Duty Costg ð5Þ

where pairing minimum duty guarantee (PMDG) is the minimum number of hours that the crew is guaranteed to be paid for each duty in a pairing irrespective of the length of the duty period. TAFB_Factor is a fraction associated with time away from base (TAFB). Total_Duty_Cost is the sum of the costs of all duties in a pairing.The duty cost is computed using a formula given in Con-straint(6).

Duty Cost ¼ maxfDPElapse

 DPElapse Factor; flight time; MDGg ð6Þ

where DPElapse_Factor is a fraction associated with the duty elapse time and the minimum duty guarantee. MDG is the guaranteed minimum number of hours of pay for the crew in a duty.

In this study, since the daily crew pairing problem is considered, the objective function of a pairing is also equal to the cost of its duty period. From Constraint(6), it is concluded that the more flight legs a pairing covers, the more objective value it has. There-fore, a pairing has less selection chance, if it covers maximum number of flight legs. Constraint(7)overcomes this shortcoming by evaluating objective value as unit cost per flight leg.

Pairing Cost ¼ maxfDPElapse Factor  DPElapse;flight time;MDGg

=the number of flight legs ð7Þ

In each generation of GBH, two parents are selected by the bin-ary tournament selection mechanism from population. Genetic operators are applied on two selected parents. In the proposed algorithm, population size is dynamic. The diversity of the popula-tion increases from an iterapopula-tion to another to preserve the gener-ated flight legs during previous iterations. The current population and also a number of offspring generated from the current popula-tion are exactly moved to the next generapopula-tion. This process yields multiple alternative pairings and makes easier to find a high qual-ity solution in the search space during the optimization process. 3.2.4. Genetic operators

3.2.4.1. Crossover. Crossover is done to explore a new solution space and the crossover operator corresponds to the exchanging parts of the chromosomes between selected parents. We propose

a problem specific crossover procedure that defines the common flight legs of two selected parents, called CF_C with the idea in

Dengiz, Altıparmak, and Smith (1997). A common flight leg is a flight leg that is a part of the selected parents and has both the same departure and arrival cities irrespective of their arrival and departure times. The overall procedure of CF_C can be outlined as follows:

 Step 1: Choose two parents T1and T2by selection procedure.

Define; Common Flight Legs = T1\ T2, Residual Flight

Legs = T1¼ T1 ðT1\ T2Þ; T2¼ T2 ðT1\ T2Þ.

 Step 2: To generate T0

2offspring, define the flight legs start with

the home base of T1. Each defined flight leg forms a candidate

T0

2joffspring, the number of flight legs i = 1, j = the number of

the candidate T0 2j.

 Step 3: For each T0

2j, search T1\ T2and T1region. If there are

flight legs that comply with the legality rules (total flight time, duty period, minimum amount of sit time, departure-arrival continuity and the number of flight legs), choose one whose departure time is closest to its processors arrival time and add it to T0

2j, i = i + 1. If there are not any flight legs returning the

cur-rent offspring to its home base in the search region and/or the offspring cannot be generated legally, add a new flight leg from the flight schedule such that it ensures to return T0

2jto its home

base under legal conditions, j = j + 1.

 Step 4: Choose one T02j which has maximum number of flight

legs and define it as T0

2. Delete the flight legs which are covered

by the selected jthoffspring (T0

2) from (T1\ T2), T1and T2.

The same procedure explained above is used to generate T0 1

off-spring considering (T1\ T2) and T2search region. CF_C is stopped

when the predefined number of offspring is generated.

CF_C guarantees not only the generation of legal offspring, but also adds the high quality offspring (T0

1and T 0

2) which have

maxi-mum number of flight legs to the current population. This process yields diversification of the current population. Since in the daily problem the number of pairings determines the required number of aircrafts and crews, it also results in to be covered more flight legs of the flight schedule by less pairings. An illustrative example of the crossover operator is shown inFigs. 4–7.

 Step 1:Fig. 4(a) and (b) shows the selected T1and T2parents.

Common and residual flight legs of these parents are defined as shown inFig. 5.

 Step 2: To generate T0

2offspring: T02can be started with three

different alternatives whose home base is A. The (i = 1)thflight

legs of each j are T0

2j= {1, 40, 21}, j = 1–3.

 Step 3: Candidate flight legs of the first candidate offspring T0 21

are 89 and 94. However, 89 is not preferred as the (i + 1)th flight leg, because there is no other alternative flight leg from T1in

(T1\ T2) which has the same departure and arrival cities as in

89. Choosing flight leg 89 results in an undesirable situation where the offspring T0

1cannot cover at least one common flight

leg from its parent T1to inherit its own characteristics. Besides,

since the flight leg 94 does not ensure the legality constraints, T0

2j cannot be generated legally and mutation operator is

applied.

Candidate flight legs of T0

22 are 94 and 89. 94 is added as the

(i = 2)th flight leg which ensures the legality constraints. T0 22

be-comes 40–94. Since candidate flight legs of 1 and 21 do not ensure the legality constraints, T0

22cannot be generated legally any longer,

but it ensures to return its home base. The only (i = 2)th candidate flight leg of T0

23is 106. After 106, the

earlier flight leg 40 is chosen as the (i = 3)th flight leg from the alternatives of 40 and 1. The earlier flight leg 94 (i = 4) is chosen

(a)

(b)

3 5 18 8 44 21

Fig. 3. An illustration of representation (a) A pairing with 2 flight legs and (b) a pairing with 4 flight legs.

(6)

as the successor of flight leg 40 from the alternatives of 94 and 89. InFig. 6all the generated candidate T0

2joffsprings are shown.

 Step 4: T023is chosen as T 0

2which covers the maximum number

of flight legs among all T0

2j’s. After deleting the flights covered by

T0

23, common and residual flights of parents are updated as

shown inFig. 7, and return to Step 2 to generate T0

1offspring

considering (T1\ T2) and T2.

There is only one T0

1jwhich starts with the home base of T2. The

(i = 1)th flight leg of j is T0

1j= {1}, j = 1. The only (i + 2)th alternative

flight leg is 89, so that T0

1is generated from 1 and 89.

3.2.4.2. Mutation. Similar to crossover, mutation is done to prevent the premature convergence and explore new solution space. How-ever, unlike crossover, mutation is usually done by modifying genes within a chromosome. In this study, mutation operator is ap-plied, if a legal flight leg cannot be found in the search region of (T1\ T2), T1 and T2 during CF_C. Our inner (hidden) mutation,

called IM, is done by adding a randomly chosen but legal flight leg from the flight schedule that is already not covered by the

parents of the offspring. Thus, the new flight leg ensures to return the offspring to its home base. The mutation operator is illustrated inFig. 8on the offspring of T0

21inFig. 6. As explained in Step 3 of

illustrative example of the crossover operator, there are not any le-gal flight legs in the search region either to generate a lele-gal T0

2j

off-spring or to return it to its home base. Therefore, a new flight leg is chosen randomly from the flight schedule and added as the (i = 2)th

flight leg.

To summarize our global approach, the overall procedure of HA can be outlined as follows:

 Step 1: Define the parameters of GBH: current iteration number iter = 0, initial population size ns.

 Step 2: Generate initial population by using KBRA and evaluate it by Constraint(7). Consider it as the current population (S).  Step 3: Choose T1and T2by the selection mechanism and apply

CF_C and IM (if it is required). Evaluate T0 1and T

0

2by Constraint

(7), add them to S: ns = ns + 2. Repeat this Step, until the prede-fined number of offspring is reached.

 Step 4: Find the flight legs in the flight schedule that are not covered by S.

 Step 5: If iter = (maximum number of iterations-1).

Generate new random pairings from all of these uncovered flight legs. Add the new pairings to S. ns = ns + (the number of newly added pairings) and go to Step 7.

Else, if the number of uncovered flight legs is more than a pre-defined number, generate the number of uncovered flight legs/2 new random pairings and evaluate them by Constraint(7). Add the new pairings to S. ns = ns + (the number of uncovered flight legs/2).

 Step 6: Check duplication of any pairing in S. ns = ns–the ber of duplicated pairings, iter = iter + 1. If the maximum num-ber of iterations is not reached, go to Step 3.

(a)

(b)

Fig. 4. Two parents that have been selected for crossover. (a) Parent T1and (b) parent T2.

Fig. 5. Common and residual flights of parents.

106

40

1

21

89

94

(c)

1

89

94

(b)

(a)

40

94

89

1

21

Fig. 6. The third step of the creation of all the T0

2jalternatives (a) T 0 21, (b) T 0 22and (c) T0 23.

Fig. 7. The fourth step of updating the common and residual flights of parents.

Fig. 8. Mutation of T0 21.

(7)

 Step 7: Evaluate S by Constraint(6). Integrate the optimization process by solving SCP model and stop.

3.3. Column generation approach

This algorithm is originally used byGilmore and Gomory (1961)

to solve large-scale linear programming problems such as the cut-ting stock problem. CG has proven to be an efficient method for solving the crew pairing and other related problems. In this ap-proach, firstly a minimal subset of variables is chosen and a re-stricted master problem (MP) is constructed from them. MP is solved to optimality and then an optimization problem called the subproblem or the pricing problem (PP) finds a new non-basic var-iable with negative reduced cost by using the resulting dual infor-mation. This variable is pivoted into MP and the process repeats (Ahmadbeygi & Cohn, 2006).

While dealing with CPP, each column represents a pairing and each row corresponds to a flight leg. MP is generally formulated as SCP or SPP which finds the minimum costly crew set from the given pairing set. PP can be formulated in different ways such as using a shortest path problem, multi-label shortest path problem, constrained shortest path problem, constraint programming and heuristics. The details of CG can be outlined as follow.

3.3.1. Master problem

The linear programming (LP) relaxation of SCP is used for solv-ing the MP that contains only a subset of columns representsolv-ing pairings. Dual prices obtained from the current solution are sent to PP.

3.3.2. Pricing problem

The purpose of PP is to identify the pairings with negative re-duced costs. Pairings can be generated by solving a shortest path problem on a structured network. There are two main types of net-works that have been developed in the literature. The first one called flight network has an arc for each flight leg in the schedule and arcs represent possible connections between flights. The nodes in the flight network represent the arrival and departure of each flight leg. The second type of network called duty period network has an arc for each possible duty period and arcs represent possible overnight connections between the duties. The nodes in the duty period network represent the arrival and departure of each duty period (Vance et al., 1997).

In our study, a network structure is represented based on the network structure used in Ozdemir and Mohan (2001) with a new idea to represent home bases with two additional nodes. This idea results in constructing separate networks for each crew home base. Thus, PP is solved for each crew home base separately and the pairing with the most negative reduced cost is chosen to be added to MP as a new column. In this network structure, nodes represent each flight leg in the flight schedule and arcs represent possible connections between the flight legs. Thus, the number of the decision variables and the complexity of the network structure

are decreased. There is a connection arc between the nodes if the arrival of the first flight leg equals to the departure of the other and the time between them is within the legal sit time. Two addi-tional nodes both represent the same crew home base are added to the network which are called source and sink nodes. The source node connects the flight legs that depart from the crew home base of the network. Since all pairings should end at the same crew home base, all arrival nodes which arrive to the crew home base of the network are connected to the sink. An illustrative network example is given inFig. 9. While the dashed arcs represent connec-tions from the source and sink nodes which are defined with ‘‘0’’, solid arcs represent possible connections between the flight legs. The path from the source to the sink is a legal pairing. This network structure helps to construct legal pairings with respect to the sit time and home base constraints.

The shortest path problem (PP) can be formulated as the follow-ing nonlinear integer program:

Sets

R Set of all arcs

N Set of all nodes

Parameters

li The duration of node i (flight time), "i

e

N

rij The duration of arc (i,j), "(i, j)

e

R

a

i Dual price of node i, "i

e

N

Decision variables

xij 1, if there is a connection between node i and j,

"i, j

e

N, 0, o.w. min max 0:6  X i;j2N lixijþ X i;j2R rijxij ! ;X i;j2N lixij;120 ! X i;j2N /ixij ð8Þ s.t. X i;j2N xij X i;j2N xij¼ 0

8

i 2 N ð9Þ X j2N x0j¼ 1 ð10Þ X j2N xi0¼ 1 ð11Þ X i;j2N lixij 480 ð12Þ X i;j2N lixijþ X i;j2N rijxij 840 ð13Þ 2 X i;j2N xij 4 ð14Þ xij2 f0; 1g

8

i; j 2 N ð15Þ B-E 10:20-11:20 B-D 11:15-12:00 D-B 18:00-19:35 A-D 16:30-17:35 A-B 8:40-09:40 11 A-B 9:00-10:00 B-C 10:30-11:45 C-A 13:30-14:30 0 2 23 56 0 5 6 8 32

(8)

In Constraint(8), the maximum of the three terms indicates the to-tal cost of a pairing explained by Constraint (6). While DPE-lapse_Factor is determined as 0,6 (Gopalakrishnan & Ellis, 2005), MDG is specified as 120. /iis the dual price obtained from the

solu-tion of the master problem. There is a dual price corresponding to each flight leg in the schedule. The reduced cost is used as the pric-ing criteria for findpric-ing pairpric-ings. Constraints(9)impose that the total arc flow entering node i must be equal to the total arc flow leaving node i. Constraint(10)ensures that the total flow of arcs that leaves the source node must be equal to 1. Constraint(11)guarantees that the total arc flow that enters to the sink node must be equal to 1. Other constraints are added to the formulation to ensure the legal-ity of pairings respect to the problem constraints. While Constraint

(12)states that the total flight time must be less than 480 min, Con-straint(13)states that the duty period does not exceed 14 h. Con-straint (14) ensures that the number of flight legs permitted within a duty period must be between 2 and 4. Constraints(15) im-pose the integrality restriction on the decision variables.

The dual prices obtained from MP are used to compose the objective function of PP. The purpose of PP is to find a pairing with the most negative reduced cost. Since the objective function (re-duced cost) given in Constraint(8)is nonlinear, the objective func-tion is changed and addifunc-tional constraints are added to the model for linearization. The new objective function and new constraints are as follows: min

v

X i;j2N /ixij ð16Þ

v

 0:6  X i;j2N lixijþ X i;j2R rijxij ! ð17Þ

v

X i;j2N lixij ð18Þ

v

 120 ð19Þ

v

 0 ð20Þ

where

v

is a decision variable. The aim of the objective function Constraint(16)is to find a pairing with the most negative reduced cost through the pairings in each network. Constraints (17)–(20)

correspond to the components of total pairing cost and ensure that

v

is the maximum of those.

To summarize our global approach, the overall procedure of CG can be outlined as follows:

 Step 1: Construct a separate network for each crew home base and randomly generate an initial column set that covers all flight legs in the flight schedule.

 Step 2: Solve the LP relaxation of the set covering master prob-lem and obtain the dual prices that will be sent to PP.

 Step 3: Formulate PP as a shortest path problem and solve it for each network. The solution with the most negative reduced cost network is also the solution of PP. If a new solution with nega-tive reduced cost does not exist or the maximum number of iterations is reached, go to Step 5.

 Step 4: Update MP by adding columns associated with the gen-erated pairings in Step 3. Go to Step 2 to solve MP with new set of columns.

 Step 5: Solve zero-one integer programming model of MP to obtain integer solutions and stop.

4. Computational results

Since the solution techniques for CPP are mostly applied to case studies as inDesaulniers et al. (1997), Yan and Chang (2002)and

Yan et al. (2002)without any comparisons with other studies in the literature, common test problems do not exist for comparison

of new approaches. Therefore, in order to evaluate the efficiency of solution algorithms, we have test them on five randomly gener-ated hypothetical problems that consist of 25, 60, 100, 150 and 200 flight legs, respectively. Each flight schedule has two crew home bases and at least 6, at most 22 bases. We consider a daily crew pairing problem that assumes all flight legs are flown every day and it is solved for cockpit crew under the constraints explained in Section2. Considering the fact that the crew pairing problem is solved for different type of aircrafts separately, 200 flight legs problem is a reasonable size daily problem for mid to large size air-lines for their narrow body Airbus or Boeing fleets, depending on their business models. KBRA and GBH were coded in Visual Basic for Applications programming language. The optimization soft-ware CPLEX 12.2 was used to solve the set covering formulation. The solution and construction of MP and PP of CG were achieved using the optimization software GAMS 22.5. The algorithms were run on a personal computer with an Intel Core 2 Duo 2.0 GHz CPU and 3.0 GB RAM.

In our computational study, the performance of HA was inves-tigated on a set of three parameters; initial population size (ns), the number of times crossover applied (offs) and number of itera-tions (iter). Three different levels for each parameter that appear to be reasonable were chosen. 33factorial design was constructed.

Statistical analysis was performed using analysis of variance and Duncan’s multiple range tests. Parameters are set as ns = 50, offs = 20 (i.e. generating 40 offspring in each iteration), iter = 50. In order to equalize the number of solutions searched in KBRA and HA, the same parameter sizes of ns and iter are used in KBRA. The stopping criteria of CG was determined after statistical analy-sis. It is terminated if there is no improvement in the solution of the master problem during 20 iterations and reduced cost of a col-umn associated with a pairing (the shortest path lengths in each pricing problem) less than 0.01 is found.

The effectiveness of HA developed for CPP was investigated comparing its results with those obtained by KBRA and CG. We ran all the algorithms 10 times to make a fair comparison between them. InTable 2, we report the summary of the results including the average crew schedule cost, minimum crew schedule cost and average CPU times for the problems having 25, 60, 100, 150 and 200 flight legs. When these approaches are compared with re-spect to the average crew schedule cost, it is obvious that HA out-performs KBRA. Although CG and HA find similar or close results, CG has a significant disadvantage in terms of the CPU times. Addi-tionally, as is seen inTable 2, the crew schedule costs are obtained in a reasonably short time using HA compared to KBRA and CG for the problems from 25 flight legs to 200. It is obvious that CG will need more CPU time for large size crew pairing problems.

Since the initial restricted master problem of column generation technique determines the initial dual variables that will be passed to the pricing problem, it certainly impacts the number of calls to the pricing problem. Therefore, a good initial column set can be important. To investigate how the initial column set affects the performance of CG, we started CG with two different initial column sets obtained from KBRA and HA. CG was run with each 10 differ-ent initial solutions obtained from those two algorithms for each problem size. In addition of comparison of KBRA, HA and CG in Ta-ble 2, we also report the summary of results of CG_KBRA and CG_HA for the problems with 25–200 flight legs. While CG_HA de-notes a CG with an initial solution obtained from HA and CG_KBRA denotes a CG with a solution obtained from KBRA. The CPU time of these two algorithms also include the CPU time to generate the ini-tial column set. Therefore, although it is expected that the best solutions obtained by CG_HA is reached in much longer time than CG, its solution time is 1.30 times higher than the solution time of CG even for the problem having 200 flight legs. The reason is that CG_HA starts the solution already with low cost pairings (column

(9)

set) obtained by HA and finds the best solution in the early itera-tions. To analyse the effects of the initial column set more detailed, the comparison of the convergence of CG, CG_KBRA and CG_HA is investigated inFig. 10for the problem size of 100 and 200 flight legs, respectively. While CG_HA reaches the best solution after 86 iterations for the problem with 100 flight legs shown in

Fig. 10a, CG_KBRA and CG reach after 98 and 83 iterations, respec-tively. As observed inFig. 10b, CG_KBRA converges faster than CG in earlier iterations, because it starts the solution with high cost pairings and decrease rapidly, but cannot find better solutions comparing to other algorithms. While CG_HA reaches the best solution after 130 iterations, CG_KBRA and CG reach after 201 and 211 iterations, respectively. The average number of pairings composing the final crew schedule (solution) found by each algo-rithm are given inTable 3for each problem size. Since the number of pairings in the final crew schedule determines the number of crews required, the algorithm that finds less pairings outperforms the others in terms of not only the cost of the crew schedule but also the quality of the crew schedule. As it is seen fromTable 3,

CG_HA contains low cost crew schedule with less pairings. These results support that a good initial column set is important and af-fects the performance of the CG technique. It is concluded that the best results can be reached by CG_HA in all problem sizes. How-ever, paired t-test yields that, there is no significant difference be-tween HA and CG_HA for the problems from 25 to 150 flight legs with p-values of 0.709, 0.176, 0.233 and 0.384, respectively, (

a

= .05). Thus, HA can be preferred as an effective solution ap-proach for these problem sizes considering their CPU times. How-ever, for large sized problems, CG_HA can be preferred as another alternative effective algorithm in terms of the reduction of airline expenses.

5. Conclusion

In this paper, we present three different solution algorithms for the airline crew pairing problem. While the first algorithm called KBRA generates a reduced solution space through the knowledge received from the past, the second called HA starts to generate a reduced search space including high quality legal pairings by employing a GBH and applying a new problem specific crossover operator. In both algorithms, pairing optimization is achieved by solving a zero-one integer linear programming problem, called set covering problem. Thus, a hybrid solution method is developed by combining both heuristics and exact methods. Lastly, the most commonly used technique in the CPP literature called CG is used for solving the crew pairing problem. While the master problem of CG is formulated as SCP, legal pairings are generated in the pric-ing problem by solvpric-ing a shortest path problem on a network where the nodes denote each flight leg in the flight schedule and arcs denote possible connections between the flight legs. The effec-tiveness of these algorithms is tested by comparing their results with each other on five randomly generated test problems. Exper-imental results showed that HA outperforms KBRA according to the cost of crew schedules and CPU times. Additionally, HA finds similar or close results with CG in a reasonable small CPU time. Moreover, to investigate how initial column set affects the perfor-mance of CG, it is operated with two different initial column sets Table 2

Comparison of KBRA, CG, HA and CG_KBRA, CG_HA.

No. of flight legs 25 60 100 150 200

KBRA Avg. C. Schedule Cost 985 2298 7845 9816 18,594

Min. C. Schedule Cost 925 2264 7427 9384 15,827

Avg. CPU Time (s) 416 526 1234 2348 3056

HA Avg. C. Schedule Cost 554 2018 7549 9188 16,685

Min. C. Schedule Cost 549 1956 7024 9180 13,490

Avg. CPU Time (s) 244 356 968 1455 2002

Avg. C. Schedule Cost 572 2114 7512 9204 15,426

CG Min. C. Schedule Cost 561 2016 7149 9182 14,321

Avg. CPU Time(s) 333 658 1932 2748 3846

Avg. C. Schedule Cost 617 2182 7568 9456 16,900

CG_KBRA Min. C. Schedule Cost 574 2014 7310 9278 14,863

Avg. CPU Time(s) 701 1204 3034 5124 6908

Avg. C. Schedule Cost 551 1985 7296 9183 14,856

CG_HA Mi. C. Schedule Cost 549 1954 6879 9076 13,087

Avg. CPU Time(s) 398 862 2589 2655 5021

(a)

(b)

Fig. 10. Comparison of convergence of CG, CG_KBRA and CG_HA. (a) For the problem with 100 flight legs. (b) For the problem with 200 flight legs.

Table 3

The average number of pairings in the final crew schedules.

Avg. no. of solutions 25 60 100 150 200

KBRA 10 45 48 70 85

HA 9 37 38 62 76

CG 9 40 37 62 79

CG_KBRA 9 42 43 64 81

(10)

obtained from KBRA and HA. The high quality and low cost crew schedules are achieved by CG_HA where the initial column set ob-tained by HA is used. This comparison showed that a good initial column set can be important and affect the performance of the CG technique. These results encouraged us to present HA and CG_HA to be effective and efficient solution algorithms for solving crew pairing problems and if the effects of the crew expenses to airline companies take into account CG_HA can be preferred.

In future, to solve very large flight networks the run time of CG_HA can be improved. For schedules that do not repeat flight pattern every day, weekly flight schedules must be considered. Since weekly flight schedules are identical during the season under consideration, CG_HA must be able to solve around 10 times larger problems efficiently for a practical usage. On the other hand, in real time implementation of monthly crew schedule, several factors such as severe weather conditions, technical problems, etc. may disrupt the original or already revised schedules. Thus, efficient procedures are needed to produce alternative flight pairings for fix-ing these changes. We believe that procedures developed here can be efficiently utilized by airlines for this purpose. Additionally, size of the crew pairing problem for long haul flights, requiring wide body aircraft, are considerably smaller than that of short haul flights. Thus, current procedures can be even used for weekly long haul flight problems.

References

Ahmadbeygi, S., Cohn, A. M. (2006). Generating crew pairings for very large flight networks. Technical report TR06-03. Industrial and Operations Engineering Department, University of Michigan, Ann Arbor.

Ahmadbeygi, S., Cohn, A., & Weir, M. (2009). An integer programming approach to generating airline crew pairings. Computers and Operations Research, 36(4), 1284–1298.

Anbil, R., Forrest, J., Pulleyblank, W. (1998). Column generation and the airline crew pairing problem (extra Vol. ICM(III), pp. 677–686). Documenta Mathematica. Anbil, R., Gelman, E., Patty, B., & Tanga, R. (1991). Recent advances in crew-pairing

optimization at American Airlines. Interfaces, 21(1), 62–74.

Arabeyre, J. P., Feanley, J., Stieger, F. C., & Teather, W. (1969). The airline crew scheduling problem: A survey. Transportation Science, 3(2), 140–163. Baker, E. K., Bodin, L. D., & Fisher, M. (1985). The development of a heuristic set

covering based system for aircrew scheduling. Transportation Policy Decision Making, 3, 95–110.

Ball, M., & Roberts, A. (1985). A graph partitioning approach to airline crew scheduling. Transportation Science, 19(2), 107–126.

Barahona, F., Anbil, R. (1997). The volume algorithm: Producing primal solutions with a subgradient method. Research report RC 21103 (94395). IBM T.J. Watson Research Center, Yorktown Heights, NY.

Barnhart, C., Johnson, E. L., Anbil, R., & Hatay, L. (1994). A column generation technique for the long-haul crew assignment problem. In T. A. Ciriani & R. Leachman (Eds.), Optimization in industry 2: Mathematical programming and modeling techniques in practice (pp. 7–22). New York: John Wiley and Sons. Barnhart, C., Johnson, E. L., Nemhauser, G. L., Savelsbergh, M. W. P., & Vance, P. H.

(1998). Branch-and-price: Column generation for solving huge integer programs. Operations Research, 46(3), 316–329.

Bazargan, M. (2004). Airline operations and scheduling. Burlington: ASHGATE Publications.

Bornemann, D. R. (1982). The evolution of airline crew pairing optimization. In AGIFORS crew management study group proceedings, Rio de Janeiro (April).

Chu, P. C, Beasley, J. E. (1995). A genetic algorithm for the set partitioning problem (pp. 1–16). Technical report, Imperial College, The Management School, London SW7 2AZ, England.

Chu, H. D., Gelman, E., & Johnson, E. L. (1997). Solving large scale crew scheduling problems. European Journal of Operations Research, 97(2), 260–268.

Dengiz, B., Altıparmak, F., & Smith, A. E. (1997). Local search genetic algorithm for optimal design of reliable networks. IEEE Transactions on Evolutionary Computation, 1(3), 179–188.

Desaulniers, G., Desrosiers, J., Dumas, Y., Marc, S., Rioux, B., Solomon, M. M., et al. (1997). Crew pairing at Air France. European Journal of Operational Research, 97(2), 245–259.

Desrosiers, J., Dumas, Y., Desrochers, M., Soumis, F., Sanso, B., & Trudeau, P. (1991). A breakthrough in airline crew scheduling, Cahiers du GERAD G-91-11.

Etschmaier, M. M., & Mathaisel, D. F. X. (1985). Airline scheduling: An overview. Transportation Science, 19(2), 127–138.

Gershkoff, I. (1989). Optimizing flight crew schedules. Interfaces, 19(4), 29–43. Gilmore, P. C., & Gomory, R. E. (1961). A linear programming approach to the cutting

stock problem. Operations Research, 11(6), 863–888.

Gopalakrishnan, B., & Ellis, L. J. (2005). Airline crew scheduling: State-of-the-art. Annals of Operation Research, 140(1), 305–337.

Graves, G. W., Mcbride, R. D., Gershkoff, I., Anderson, D., & Mahidhara, D. (1993). Flight crew scheduling. Management Science, 39(6), 736–745.

Gustafsson, T. (1999). A heuristic approach to column generation for airline crew scheduling. Department of Mathematics, Chalmers University of Technology and Götoborg University, Sweden No:1999-16. ISSN:03472809.

Hoffman, K. L., & Padberg, M. (1993). Solving airline crew-scheduling problems by Branch-and-Cut. Management Science, 39(6), 657–682.

Holland, J. (1975). Adaptation in natural and artificial systems. Ann Arbor, MI: University of Michigan Press.

Jordan, L., Basseur, M., & Talbi, E. G. (2009). Hybridizing exact methods and metaheuristics: A taxonomoy. European Journal of Operational Research, 199(3), 620–629.

Klabjan, D., Johnson, E. L., Nemhauser, G. L., Gelman, E., & Ramaswamy, S. (2001). Solving large airline crew scheduling problems: Random pairing generation and strong branching. Computational Optimization and Applications, 20(1), 73–91. Kornilakis, H., & Stamatopoulos, P. (2002). Crew pairing optimization with genetic

algorithms. In Proceedings of the 2nd Hellenic conference on artificial intelligence SETN-2002 (pp. 109–120), LNAI 2308, Thessaloniki.

Lavoie, S., Minoux, M., & Odier, E. (1988). A new approach to crew pairing problems by column generation with an application to air transportation. European Journal of Operations Research, 35(1), 45–58.

Levine, D. (1994). A parallel genetic algorithm for the set partitioning problem. Doctoral dissertation thesis, Illinois Institute of Technology, Department of Computer Science, 1 (also available Technichal Report Argonne National Laboratory ANL-94/23).

Levine, D. (1996). An application of a hybrid genetic algorithm to airline crew scheduling. Computers and Operations Research, 23(6), 547–558.

Ozdemir, H. T., & Mohan, C. K. (2001). Flight graph based genetic algorithm for crew scheduling in airlines. Information Sciences, 133, 165–173.

Rubin, J. (1973). A technique for the solution of massive set covering problems with applications to airline crew scheduling. Transportation Science, 7(1), 34–38. Stojkovic, M., Soumis, F., & Desrosiers, J. (1998). The operational airline crew

scheduling problem. Transportation Science, 32(3), 232–245.

Stojkovic, G., Soumis, F., Desrosiers, J., & Solomon, M. M. (2002). An optimization model for a real-time flight scheduling problem. Transportation Research, 36(9), 779–788.

Vance, P. H., Barnhart, C., Johnson, E. L., & Nemhauser, G. L. (1995). Airline crew scheduling: A new formulation and decomposition algorithm. Operations Research, 45(2), 188–200.

Vance, P. H., Atamturk, A., Barnhart, C., Gelman, E., Johnson, E. L., Krishna, A., et al. (1997). A heuristic branch-and-price approach for the airline crew pairing problem. Technical report TLI/LEC-97-06, Georgia, Institute of Technology, Atlanta, GA. Yan, S., & Chang, J. C. (2002). Discrete optimization: Airline cockpit crew scheduling.

European Journal of Operations Research, 136(3), 501–511.

Yan, S., Tung, T.-T., & Tu, Y.-P. (2002). Optimal construction of airline individual crew pairings. Computers and Operation Research, 29(4), 341–363.

Şekil

Fig. 1. Some definitions of the crew pairing.
Fig. 2. The hybrid solution approaches for CPP.
Fig. 4. Two parents that have been selected for crossover. (a) Parent T 1 and (b) parent T 2 .
Fig. 9. Flight network for crew home base A.
+2

Referanslar

Benzer Belgeler

Yırtık pırtık bir örtünün altında A fife Jale, o güzel kadın, kurumuş iskelet olmuş, tanınmayacak halde, yanma gittim..!’.. Avradımı sahnede görmüş gibi oldum falan

He firmly believed t h a t unless European education is not attached with traditional education, the overall aims and objectives of education will be incomplete.. In Sir

Bunlardan ilki, Hacettepe Üniversitesi’nde çalışan akademisyenlerin çalışma yaşam kalitesinin hangi değişkenlere (akademik unvan, maaş, iş güvencesi,

Günümüze gelebilen devrinin ve Mehmet A~a'n~n en önemli eserleri ise Edirneli Defterdar Ekmekçio~lu Ahmet Pa~a'n~n yapt~ r~ p Sultan I.Ah- met'e hediye etti~i Ekmekçio~lu Ahmet

This analysis covers two testing areas: the validity of research experts to assess the model's accuracy based on model elements made by 7 experts in vocational training;

On physical examination, the patient was found to have multiple ulcers over anterolateral aspect of both lower legs, 6 in number, round to oval in shape, size of which ranging from

ediyor: Bekir selâm ediyor, Pehlivan selâm ediyor; Ninen selâm ediyor, emmi kızların hakeza, Çoban selâm ediyor. — Bak hele, diyindi bana Bizim kadın nice

Kitab›n yedinci bölümünde “Tür- kiye’de Yüksekö¤retim ve Araflt›rma” bafll›¤› alt›nda, ülkemiz- de yüksekö¤retimde; araflt›rman›n geliflimi,