0 Bewertungen0% fanden dieses Dokument nützlich (0 Abstimmungen)

3 Ansichten61 SeitenDap

Feb 14, 2018

Dapradib

© © All Rights Reserved

PDF, TXT oder online auf Scribd lesen

Dap

© All Rights Reserved

Als PDF, TXT **herunterladen** oder online auf Scribd lesen

0 Bewertungen0% fanden dieses Dokument nützlich (0 Abstimmungen)

3 Ansichten61 SeitenDapradib

Dap

© All Rights Reserved

Als PDF, TXT **herunterladen** oder online auf Scribd lesen

Sie sind auf Seite 1von 61

Integrated Flight Schedule Design and

Product Line Design

Fakultät für Informatik

Institut für Algorithmen und Kognitive Systeme

Fakultät für Wirtschaftswissenschaft

Institut für Wirtschaftstheorie und Operations Research

Betreuerin (WIOR): Dr. Cornelia Schoen

Autor: Andriniaina Rabetanety

Matrikel-Nr.: 1193724

Sommersemester 2006

Hiermit bestätige ich, dass ich diese Arbeit alleine und ohne fremde

Hilfe erstellt habe. Ich habe keine anderen als die angegebenen Lit-

eraturhilfsmittel verwendet.

Andriniaina Rabetanety

Contents

1 Introduction 2

1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Outline of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1 The Five steps of Airline Schedule Design . . . . . . . . . . . . . . . . . . 3

2.1.1 Route Development . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.2 Schedule Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.3 Fleet Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.4 Aircraft Maintenance Routing . . . . . . . . . . . . . . . . . . . . . 6

2.1.5 Crew Paring or Crew Scheduling . . . . . . . . . . . . . . . . . . . 6

2.2 State-of-the-art of Airline Schedule Design . . . . . . . . . . . . . . . . . . 7

2.2.1 Incremental Airline Schedule Design . . . . . . . . . . . . . . . . . 7

2.2.2 Integrated models . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.3 Pricing problem in Airline Schedule Design . . . . . . . . . . . . . 8

2.2.4 Solution methodologies . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1 Conjoint analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2 State-of-the-art of conjoint analysis . . . . . . . . . . . . . . . . . . . . . . 12

3.3 Preference model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.4 Choice rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4 Integrated model for airline schedule generation and product line design 14

4.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.1.1 Mandatory and Optional flight legs . . . . . . . . . . . . . . . . . . 15

4.1.2 Airline Passenger Demand . . . . . . . . . . . . . . . . . . . . . . . 15

4.1.3 Airline Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.1.4 Fleet Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.1.5 Competitive flights . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.2 Interaction between passenger demand and airline supply . . . . . . . . . 18

4.2.1 Passenger Mix Model . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.2.2 Conjoint analysis at the itinerary attribute level . . . . . . . . . . 20

4.2.3 Conjoint analysis at the itinerary level . . . . . . . . . . . . . . . . 22

4.3 Objective Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.4 Formulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.4.1 Formulation with utility at itinerary attribute level . . . . . . . . . 24

4.4.2 Formulation with utility at the itinerary level . . . . . . . . . . . . 25

4.4.3 Formulation with utility at the itinerary level without demand

segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

ii

5 Solution Approaches 27

5.1 Problem class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.2 Branch-and-Bound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.3 Sequential Quadratic Programming methods . . . . . . . . . . . . . . . . 28

5.4 Incremental airline schedule model . . . . . . . . . . . . . . . . . . . . . . 29

6 Implementation 29

6.1 Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

6.2 Numerical Algorithms Group library (eu04cc) . . . . . . . . . . . . . . . . 29

6.3 Branch-and-Bound algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.3.1 Formal description . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.3.2 Improving Branch-and-Bound through search strategy . . . . . . . 33

7 Computational Results 35

7.1 Problem with 1 OD-Pair . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

7.2 Influence of the consumer preference on the optimum schedule . . . . . . 37

7.3 Performance of the first call of the SQP function . . . . . . . . . . . . . . 41

7.4 Performance of the Branch-And-Bound algorithm . . . . . . . . . . . . . . 46

7.5 Truncated Branch-And-Bound algorithm . . . . . . . . . . . . . . . . . . . 48

8 Conclusion 50

8.1 Summary of contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

8.2 Future Research Directions . . . . . . . . . . . . . . . . . . . . . . . . . . 51

iii

List of Figures

1 Airline Schedule Design subproblems. . . . . . . . . . . . . . . . . . . . . 4

2 Incremental approach with base and master flight list . . . . . . . . . . . 15

3 Time Line Network for an aircraft type . . . . . . . . . . . . . . . . . . . 17

4 Unfeasible schedule based on the Time Line Network figure 3 . . . . . . . 17

5 Feasible schedule based on the Time Line Network figure 3 . . . . . . . . 18

6 Flow Chart for incremental solution. . . . . . . . . . . . . . . . . . . . . . 30

7 Formal description of the basic Branch-And-Bound algorithm . . . . . . . 33

8 Branch-and-Bound with Best first search. . . . . . . . . . . . . . . . . . . 34

9 Combination of Best first and Depth first tree search. . . . . . . . . . . . 35

10 Formal description of the Branch-and-Bound algorithm with combined

search strategies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

11 Example with 2 OD-Pairs. . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

12 Example with 5 OD-Pairs. . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

13 Time line Network for the example with 5 OD-pairs. . . . . . . . . . . . . 44

List of Tables

1 Three itineraries with two attributes . . . . . . . . . . . . . . . . . . . . . 11

2 Conjoint analysis with two attributes and six level sets . . . . . . . . . . . 11

3 Examples of itinerary attributes . . . . . . . . . . . . . . . . . . . . . . . . 12

4 State-of-the-art of conjoint analysis. . . . . . . . . . . . . . . . . . . . . . 12

5 Numerical values of the parameters for the first example. . . . . . . . . . 37

6 Initial and final point for the first example . . . . . . . . . . . . . . . . . . 38

7 Parameters for an airline network with 2 OD-Pairs . . . . . . . . . . . . . 39

8 Initial and final point for the second example . . . . . . . . . . . . . . . . 40

9 Influence of the utility to the flight f1 . . . . . . . . . . . . . . . . . . . . 40

10 Initial point with both flight legs included . . . . . . . . . . . . . . . . . . 41

11 Other convergence point. . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

12 Three outcomes of the SQP function for feasible starting points . . . . . . 42

13 Size of the constraint matrix . . . . . . . . . . . . . . . . . . . . . . . . . 43

14 Parameters for an example with 5 OD Pairs . . . . . . . . . . . . . . . . . 45

15 Approximative evaluation of the performance to find the starting point of

the Branch-And-Bound. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

16 Starting point for the Branch-And-Bound algorithm. . . . . . . . . . . . . 46

17 Output of the Branch-And-Bound algorithm. . . . . . . . . . . . . . . . . 47

18 ”Bad” starting point for the Branch-And-Bound algorithm. . . . . . . . . 48

19 Output of the Branch-And-Bound algorithm with a ”bad” starting point. 48

20 Performance of the complete algorithm with five OD-Pairs. . . . . . . . . 49

1

1 Introduction

The growing gap between airport capacity and airline passenger demand has forced

airlines to improve their quality of service. At best, an airline would transport its con-

sumers at their desired time and with their desired level of service. Matching customers

expectations enable to capture a large flow of airline passengers but does not ensure

the maximization of profit. Regarding to the revenue of an airline company, the airline

schedule planning represents the most critical service. This task involves a complex and

long lasting decision-making process. Basically marketers choose a set of flights and

decide which flights they want to serve and how much they will charge the consumers.

Furthermore, they have to take into account a large set of constraints of different types,

from the airspace and airport congestion (operational constraint) to the crews working

conditions (human resource condition). Not only that the overall size of the problem is

enormous, but a ”bad” schedule could terribly affect the revenue and the market share of

the airline, causing a loss of millions of euros. Because of the complexity of the problem,

the pressure that the planners are undertaken, and the turnover of the airline at stake,

the airline industry has been a great concern of the operations research community for

the past 30 years.

1.1 Motivation

Models of airline schedule design focus nowadays on integrating consecutive steps in-

volved in airline schedule design, that will be presented in section 2.1. And most of

them care less of how airline passenger choice might evolve if price of one flight is raised.

How many of these passengers will decide to choose another flight? Which other flight

will they choose? Will the profit be reduced? In this diploma thesis, we propose a model

that answers questions related to the passenger choice, with the maximization of airline

revenue as objective function. Unlike previous schedule design efforts, we concentrate

on the pricing problem (Product Line Design), namely how to adjust fares to meet the

maximum profit, associated with an integrated schedule and fleeting assignment prob-

lem (Airline Schedule Design). By this mean, our model can control the capture of

airline passenger traffic by adjusting prices of flights. We have based our approach on

the integrated model of Lohatepannont M. and Barnhart C. [4] for the airline schedule

design and discrete choice models described by Gaul W., Aust E., Baier D. [9] for the

preference measurement.

As mentioned earlier, our work is built on two research fields: Airline Schedule Design

and Product Line Design. That is the reason why we dedicate two sections of our diploma

thesis, section 2 and section 3, to present separately challenges, literature reviews and

state-of-the-art in each field. These sections provide a general understanding of funda-

mental notions, such as the schedule generation and the fleeting assignment model or

2

conjoint analysis and discrete LOGIT model, that will be used throughout this thesis.

In section 4, we present our approach of the problem and the assumptions that we

consider for ease’s reason. As for the passenger choice measurement, we differentiate be-

tween two approaches: one at itinerary attribute level and the other one at the itinerary

level. This section ends up with different formulations of our model and the explanations

of the operational constraints.

In section 5, we describe common approaches to solve this problem, given the class that

this problem belongs to (Mixed Integer Nonlinear Problem): Branch-and-Bound and

Sequential Quadratic Programming (SQP) methods.

The section 6 deals with our implementation of a solver for this model that realizes a

Branch-and-Bound algorithm with a Depth and Best First search strategy, which solves

a Sequential Quadratic Programming (SQP) problem at each node. We discuss the

programming package used to realize the SQP function and a formal description of the

Branch-And-Bound algorithm.

In section 7, we discuss the performance of our implementation for a set of examples,

in order to estimate whether the optimum of the objective function is found or not and

with which percentage the optimum is met. We analyse the influence of the utility and

the choice of the initial schedule on the optimal schedule. Finally computational results

for bigger problems are compared to estimate the efficiency of our Branch-And-Bound

algorithm. Because the problem size grows exponentially, we can not run the Branch-

and-Bound algorithm until the end. We rather stop the Branch-and-Bound algorithm

when a feasible solution close to the optimum is found. In section 7.5, we discuss possible

stopping criterium for the truncated Branch-and-Bound.

In this section, we introduce first the components of the airline schedule generation prob-

lem and the related mathematical models, then the state-of-the-art of Airline Schedule

Design by reviewing different integrated models. Here, we give notions that are essential

to understand the formulation of our problem. We also position our work in the current

research field.

The airline schedule generation problem takes the airline passenger demand, airport and

aircraft characteristics, maintenance and personal requirements as incomes. The out-

come is a selection of flight legs (Origin-Destination pair, aircraft’s type,arrival/departure

time) that maximizes airline profit subject to resource constraints (aircraft and airport

capacity, maximal working hour, minimal ground time,...). A flight leg is defined with

three attributes: an Origin-Destination pair (an OD pair is a couple of airports), an

aircraft’s type and an arrival/departure time. Ideally, this large scale problem should

be solved all at once. However, due to the enormous amount of parameters and deci-

sion variables, it has been divided into five more manageable and sequentially computed

3

Figure 1: Airline Schedule Design subproblems.

nance Routing and Crew Scheduling.

Each subproblem happens at different point in time of the airline schedule design

process. Stages are operated in the order, displayed in the figure 1. Each step has

particular constraints and purposes, that are the subject of the following subsections.

In this stage, planners should decide upon the sets of origin-destination pairs they want

to offer. This stage happens 12 months before operation of the airline schedule. In this

thesis, we consider that the route development has already been done.

Decision makers have to determine routes or itineraries for the aircrafts, such that costs

are minimized. To choose the set of itineraries is the most determinant part of the

process because all the other phases take the generated schedule as input. Schedule can

be created for one day and repeated every day. The schedule design involves the two

following phases:

(1) Frequency Planning. Planners choose the frequency associated to each flight.

(2) Timetable Development or route selection. Planners decide when each flight

4

will be offered and included in the schedule. The result of the timetable develop-

ment is a list of flight legs, called base schedule.

In this thesis, we focus on the route selection. Since we limit our model to a short period

of time, we do not consider the frequency of a flight. However, the frequency planning

stage can be operated with the outcome of our model.

Once the schedule is determined, each flight must be assigned to a fleet type so as to

minimize assignment cost of flight legs to aircraft types subject to the three following

constraints:

combined number of aircrafts that land at the airport and aircrafts on the ground

immediately before t, compensates the combined number of aircrafts that take off

and aircrafts on the ground immediately after t.

(3) Plane count. Planners can not use more than the available number of aircrafts.

Aircrafts can be on the ground or in the air.

The fleet assignment model takes as input the available types of aircraft and a given

schedule with fixed departure times. The fleet assignment problem requires a network

structure as input to represent the flight legs. In a time-space flight network, a node is

an airport, including every activities in this airport (taking off, landing) at a time t. An

aircraft movement in space and time is associated with an arc. The network has flight

arcs, between departure and arrival airport of the same flight, ground arcs, between

two activities in the same airport, and wraparound arcs, between the first and the last

node of the time horizon. The related decision variables are the binary fleet assignment

variable θf k and the ground plane count variable zk,a,t . The fleet assignment problem is

given by: X

min( cf k θf k ) (1)

k∈K

X

θf k = 1 ∀f ∈ Ω (2)

k∈K

X X

θf k + zk,a,t+ − θf k − zk,a,t− = 0 ∀{k, a, t} ∈ P (3)

f ∈I(k,a,t) f ∈O(k,a,t)

X X

zk,a,t + θf k ≤ Nk ∀k ∈ K (4)

a∈A f ∈Ωk

5

where

P : Set of nodes of the underlying network.

A node is composed by a time, an airport and an aircraft, indexed by {k,a,t}.

Ω: Set of flight legs in the flight schedule, indexed by f.

K: Set of aircrafts, indexed by k.

Nk : Number of aircrafts in fleet-type k.

Ωk : Set of flight legs that pass the count time when flown by fleet-type k.

I(k, a, t) : Set of inbound flight legs to node {k,a,t}.

O(k, a, t) : Set of outbound flight legs to node {k,a,t}.

cf k : Cost for the assignment of the aircraft k to the flight leg f.

δf m : = 1, when the itinerary m includes the flight leg f, = 0 otherwise.

θf k : = 1, when the flight leg f is flown with the aircraft k, = 0 otherwise.

zk,a,t+ : The number of aircraft k on the ground at the airport a immediately after time t.

zk,a,t− : The number of aircraft k on the ground at the airport a immediately before time t.

Constraints (2)-(4) express the assignment constraint, the flow conservation and the

plane count constraint, described at the beginning of the section.

The purpose is to determine feasible aircraft routes, sequences of flight legs flown by

an aircraft type, under maintenance requirements. A routing is a set of aircraft routes.

Rotations are routings which begin and end at the same airport. Routings and rotations

partition flight legs in the schedule. The aircraft maintenance routing problem takes a

fleeted schedule and the available number of aircrafts as input. Maintenance require-

ments are modeled approximatively by aircraft staying overnight at an airport. Each

aircraft type needs specific technical checks and a mandatory ground-time. This step

ensures that all the flights in the schedule respect maintenance conditions. The aircraft

maintenance routing problem has been cast as a network circulation problem with side

constraints.

In the crew scheduling problem, both cabin and cockpit crew are assigned to a flight

leg, minimizing the crews costs. An airline crew can only be assigned to an aircraft it

is qualified to run. Work schedules must satisfy maximum time-away-from-base (period

that flight crews are away from their home station) restriction, and airline crews are

not allowed to stay on duty longer than a maximum flying time requirement. The crew

paring problem are usually formulated as a set-partitioning problems where each row of

the constraint matrix corresponds to a scheduled flight and each column corresponds to

a legal crew pairing.

6

2.2 State-of-the-art of Airline Schedule Design

The decomposition into sequential stages has simplified the model but it has also de-

creased the accuracy to describe the reality of the problem. Therefore, researchers

attempt to integrate two or more consecutive stages of airline schedule design. Another

attempt to reduce the size of the problem is the incremental approach, where a schedule

is iteratively constructed.

In the next section, we review the incremental approach, integrated models and solution

methodologies.

Actually, planners usually do not build the schedule from scratch but start with an

existing schedule. The existing schedule could be the schedule from the last season or

last year. Incremental models improve a given schedule by applying modifications to the

flight legs. These changes can be:

(3) allowing both flight re-timings and flight additions and/or deletions sequentially

(4) allowing both flight re-timings and flight additions and/or deletions simultaneously.

The process iterates until all combinations of flights have been explored or the optimum

objective function has been found.

Lohatepanont M., Barnhart C. [4] develop an incremental model allowing only addi-

tions and deletions that solves, at each iteration, an integrated model for schedule design

and fleet assignment (ISD-FAM) and a passenger mix model (PMM).(for a detailed de-

scription1 see the paper of Barnhart C., Cohn A. [1]). The ISD-FAM gives a feasible

good schedule to the PMM, that finds the most profitable flow of passengers over this

schedule. The PMM allows to capture the best amount of passengers on each flight leg.

The objective function of the passenger mix model is to maximize revenues from the

flow of passengers on itineraries. The formulation of the passenger mix problem will be

shown in the section 5.3. Lohatepanont M., Barnhart C. underline the decisive inter-

action between passenger demand and airline supply. The profitability of one itinerary

1

Barnhart C., Cohn A. detail impact, challenges and modelling approach of each steps involved in the

schedule planning. Thus they present examples of integrated models and solution approaches such

as Branch-and-Price algorithm.

7

is indeed correlated with all other itineraries in the schedule, since passengers can be

rejected from one flight and take another flight instead.

This diploma thesis refers to their incremental approach. However, we integrate a cus-

tomer choice model to cast the relationship between demand and supply.

Researchers have built integrated models to overcome the simplications introduced by

the decomposition in steps. We review the state-of-the-art of integrated models but we

restrict our model to the integration of the two first stages: schedule design and fleet

assignment.

present two integrated models that optimize the selection of legs and the assign-

ment of aircraft types observing the demand and supply interaction: the inte-

grated schedule design and fleet assignment model (ISD-FAM) and the approx-

imate schedule design and fleet assignment model (ASD-FAM). The ASD-FAM

holds a constant market share model that uses the recapture mechanism to adjust

demand approximately. The ISD-FAM holds a variable market share model that

uses demand correction term to adjust demand explicitly.

integrated model for fleet assignment model and the aircraft routing problem by

using strings of flights. Their model contains one core aircraft routing model for

each aircraft type under the constraint that each flight leg is assigned with only one

aircraft type. Their integrated model achieves a near-optimal fleeting and routing

solution.

the crew pairing problem before the aircraft routing problem. To combine both

problems, he adds the so called plane count constraint to the crew pairing problem.

These constraint guarantees that forced turns (all pairings that imply a plane turn)

can be extended into a feasible rotation if and only if the number of planes on the

ground does not exceed the plane count imposed by the fleet assignment model

solution.

Our model casts the interaction between the consumer choice of itineraries and the op-

timization of the airline’s profit. To date, there is no model of airline schedule design

that evaluates the passenger preference with conjoint analysis. But other methods have

been used to describe how an airline charges its consumer.

Teodorovic D., Kremar-Nozic E. [3] use, for instance, the relationship between market

share and flight frequency to define the total expected number of passengers on a route

8

as a function of the market share.

The decision support system TALLOC determine the passenger behaviour as a price-

time ”behavioural desirability” function, which is calculated for each flight service, as

described by Grosche T., Heinzl A. [10].

Soumis, Perland and Rousseau [19] consider the problem of selecting passengers that

will fly on their desired itinerary with the objective of minimizing spill costs. No re-

captures are considered. Flight schedules are optimized by adding and deleting flights.

When flights are added or dropped, their heuristic recalculates demand only in markets

with significant amount of traffic. Then the passenger selection problem is solved. Their

heuristic go through all possible combinations of additions and deletions. By compari-

son, our model recalculates demands at each deletion or additions of optional flights in

every market.

Dobson G., Lederer P. [2] propose a model for the competitive choice of flight schedules

and route prices in a hub-and-spoke system in order to maximize airline profit. Passen-

gers have preferences that might vary between itineraries. The demand forecasting model

is a linear function of the most desired departure time, the duration of the flight and the

price. They consider only one class of service, one size of aircraft, and through traffic via

hubs. Demand is therefore a weighted logit function. The utility function is supposed

to be constant during each slot (the day is divided into 1-hour-slots). The more the real

travel time deviates from the ideal one, the more the utility decreases. They develop a

two-stage heuristic: First, all candidate flights are assigned to two-hours intervals in the

schedule, then non-profitable ones are eliminated. The contributions are measured as

the difference between the schedule with all candidate flights and the one without the

considered one. In the second stage, schedule feasibility is verified by solving the fleet

assignment problem.

Instead of a continuous utility function, we have chosen a discrete path-worth utility

where each itinerary will be described by a set of attributes. Methods of conjoint analysis

are used to get such preference measurements.

Airline schedule models are often enormous in terms of number of variables and usually

exhibit binary and/or integer variables. They require solution methodologies that de-

compose and reduce the size of the problem. We give an overview of the most common

techniques for large scale problems.

Large scale linear problems are often solved by a delayed column generation. In this

algorithm, only a subset of columns of the constraint matrix, called the restricted master

problem, is solved. Then the column generation subproblem is iteratively solved until we

cannot find a column with negative reduced cost, that means an optimal dual function to

the original function was found. Erdmann A., Nolte A., Noltemeier A., Schrader R. [6]

solve the path-based mixed integer programming formulation with column generation.

They cast the aircraft rotation subproblem as the problem of finding shortest paths in

9

a constraint network. The purpose is to find the path that generates the cheapest cost.

The constrained shortest path algorithm use the same framework as the shortest path

algorithm. Lohatepanont M., Barnhart C. [4] construct first a restricted master problem

(RMP) of their integrated model and then solve the LP relaxation of the RMP using

row and column generation.

Branch-and-Cut and Branch-and-Price algorithms use LP relaxations with variable and

constraint generation at the subproblems. Constraint generation strengthens the LP

relaxation at the subproblems, while variable generation extends their feasible domains.

Subproblems are parallely processed.

Lagragian relaxation is a common technique for solving large-scale integer problem.

Difficult constraints are moved to the objective function with linear penalty. The new

problem is then solved by a Lagragian subgradient algorithm.

By Benders decomposition, the algorithm solves a mixed integer program with a single

continuous variable at every iteration .

Branch-and-bound algorithms are developed for problems, in which the decision variables

take discrete values from a specified set. A Branch-and-Bound algorithm covers the

solution space by dividing the solution space into subregions (branching). For each

subregion (node), we calculate an upper bound and a lower bound. The approach bases

on the assumption that (for a minimization problem) if the lower bound for a subregion A

is greater than the upper bound for another subregion B, then A may be safely discarded

from the search. The algorithm is detailed in the section 5.2. The branch-and-bound

approach is not a heuristic, but it is an exact procedure.

When firms want to introduce products or line of products into a new market with

many customer segments, they face the known marketing problem of product line design

and pricing. Product line design models take the measurement of customer preference

as input. From a sample of consumer data, a global market can thereby be modelled.

Product line design models help marketing managers to predict the profitability of a

new product in a market. Models adjust prices to maximize either the total consumer

welfare or the company profit. Due to the complexity of the problem, most of researchers

have focused on the case of single product. Our model integrates a product line design

model with multiple products, where products are itineraries. The purpose is to eval-

uate itinerary prices regarding passenger preferences. Utility measurement is done via

conjoint analysis before the schedule generation stage.

In the next section, we introduce the stages of a conjoint measurement.

We introduce the idea of conjoint analysis with a basic example, where products are

itineraries. We consider three itineraries with prices and durations of the trip as at-

tributes, ranked in table 1. This table does not bring information about the importance

of price compared to the duration. The idea of the conjoint analysis is to evaluate both

10

Rank Price (euros) Duration (minutes)

1 100 60

2 120 70

3 140 75

Price/Duration 60 70 75

100 1 2 3

120 4 5 6

140 7 8 9

Table 2: Conjoint analysis with two attributes and six level sets

features conjointly. The ranking of the nine possible combinations of levels for a re-

spondent is displayed in table 2. We can observe that the respondent tends to trade-off

duration for price. From this data, we can deduce the preference for each level set.

level sets can vary. Respondents rank in terms of preference each combination of at-

tribute level sets, called product profiles. The conjoint analysis allows to determine the

relative importance of each product feature by measuring the consumer preference for

each product profile. Running a conjoint analysis involves the following steps:

- Choose a preference model for measuring the preference function.

the trip.

- Choose the form in which the combinations will be presented to the respondents.

In our model, each itinerary is described by a set of attributes. An itinerary is a trip

characterized by an origin-destination pair (a departure airport and an arrival airport).

It can contain stopovers and can be flown by different aircrafts. The discrete criteria

can be product-oriented as well as schedule-oriented as shown in table 3:

11

Product-oriented criteria Schedule-oriented criteria

Price of the flight Departure/Arrival airport

Reservation/Flight class Duration or delay of the trip

Sales conditions Number of stopovers

Quality of Service Frequency of the flight

Stage Models

Preference Model Vector Model; Mixed Model; Ideal Point Model;

Measurement Scale Rating Scale; Paired Comparison; Rank order;

Choice-based;

Estimation Procedure Metric and Non-Metric Regression; MONANOVA;

PREFMAP;LINMAP; Multiple Regression;

LOGIT; PROBIT; Hybrid;

Choice Rules Maximum Utility (First Choice); Average Choice;

LOGIT; PROBIT;

Variants of Conjoint Analysis Adaptive CA; bridging CA; Limit CA;

The table 4 gives the list of common models involved in each step of conjoint analysis.

In the next section, we present the three preference models and choice rules for multiple-

product.

The first step of conjoint analysis is to define a mathematical model for the preference

function. We define N the set of attributes, xjn the j-th level of the n-th attribute,

wn the weight for the n-th attribute and uj the preference for the j-th level. The most

common models are listed below:

- The Ideal Point model establishes an inverse relationship between preferences

and the weighted squared distance between the level of the attribute and the ideal

point In for this attribute. The preference is given by:

X

u2j = wn (xjn − In )2 (6)

n∈N

- The Path-Worth model applies a piecewise linear curve fn to each level of the

n-th attribute. The preference is given by:

X

uj = fn (xjn ) (7)

n∈N

12

- The Vector model is represented by the weighted sum of all levels, where each

level of attribute is associated with an individual weight. The preference is given

by: X

uj = wn xjn (8)

n∈N

Choice rules allow to estimate the probability of choice from utility data. The three

common models are described below:

- First Choice Rule Consumers select the product that maximizes their utility.

The probability takes only the value 1 or 0, as shown in equation (9). Dobson G.,

Kalish S.[12] use the first choice rule in their pricing subproblem to ensure that

customers select only the product with the highest utility.

1 when uid = maxi′ ∈I (ui′ d )

pid = (9)

0 otherwise

where

uid : The utility of the d-th customer for the product i.

I: The set of all the products, indexed with i.

a product corresponds to the relative utility of the product, as shown in equation

(10).

uid

pid = X (10)

ui′ d

i′ ∈I

where

P

i′ ∈I ui′ d > 0, ∀d ∈ D.

All preference values must be positive. Gaul W., Aust E., Baier D. [13] propose a

new approach of the model with a probabilistic consumer behaviour model based

on the BTL model, called PROLIN. They extend the formulation of the BTL

model by adding a market parameter α that allows a calibration of the model to

the market, as shown in equation (11).

uα

pid = X id (11)

uαi′ d

i′ ∈I

where

13

- Multinomial Logit (MNL) Rule The LOGIT model uses an assigned choice

probability that is proportional to an increasing monotonic function of the alter-

native’s utility. The probability that a consumer chooses a product is given by

dividing the contribution of one product by the contribution of all other products

in the same way as the BTL model, as described in equation (12). Negative utilities

are possible.

exp(uid )

pid = X (12)

exp(ui′ d )

i′ ∈I

Our integrated model will include a Multinomial Logit model as choice rule.

For the First-Choice model, market share is the number of trials with highest utility

divided by all the trials. For the BTL and MNL model, market share is the arithmetical

mean of individual probabilities.

There are, among others, two contributions in the conjoint-based product line design

literature: Green, Krieger [14] and Kohli, Sukumar [19]. We base our approach on both

approaches. The fundamental difference between both formulations is that decisions are

made at different level. Green, Krieger decisions are made at the attribute level and

Kohli, Sukumar decisions at the product level. By analogy, we will differentiate two

formulations of our model as well: one at the itinerary level (product level) and the

other at the attribute level. We discuss the formulation of the passenger preference at

the itinerary attribute level in section 4.2.2 and the one at the attribute level in section

4.2.3.

line design

In this section, we introduce the framework of our work before we formulate our model.

We detail the interaction between airline passengers demands and airline supply. Finally

we gave three formulations of our model. Notations are given at the end of the thesis.

4.1 Assumptions

An airline company seeks to integrate a set of markets, composed by a set of airports.

Each OD-pair (couple of source airport and destination airport) defines a market. For

example, Paris-Berlin is a market and Berlin-Paris is another market, and both are

called opposite markets. Each OD-pair can be flown by a set of itineraries. An itinerary

is a sequence of flight legs, that are characterized by an airport-source, an airport-

destination, a departure time and an arrival time. Itineraries are products that the

airline company wants to offer in a market. For the purpose of conjoint analysis, each

product is described by a set of attributes whose level set will be decided by the managers

of the marketing’s department. Each flight can be direct (without stops) or with one or

more stopovers. Flights with stopovers are called via flights.

14

Figure 2: Incremental approach with base and master flight list

.

Planners want to construct a schedule, which is basically a list of itineraries. In the

incremental approach, they build it from a base schedule. The base schedule is modified

until the best schedule is found. At each iteration, the model takes as input a master

flight list, that is composed by mandatory flight legs and optional flight legs. Mandatory

flights have to be included in the final schedule while optional flights do not necessary

have to. The modifications are the deletion or addition of flight legs. The output is a list

of flight legs that maximizes the airline profit. An iteration of the schedule generation

process is modelled in figure 2.

The final list of flight legs does not have to be a list of rotations (itineraries that start

and end at the same airport). We do not restrict our approach to a daily schedule or

a schedule that will be repeated. Our model is designed for an airline company, that

desires to optimize a subset of their actual schedule by introducing new flights or deleting

non-profitable flights. In this case, itineraries are not rotations.

Demand for air travel is indeed a derived demand. It is derived from other needs of

passengers. People rarely fly from cities to cities for the mere sake of travelling on a

plane. Airline passenger demand follows the standard assumptions of a product line

design problem, namely,

15

(1) Each market is composed of different customer segments of various size. In our

thesis, we similarly talk about passenger segment or passenger d. Each segment d

of the demand represents a subset of passengers that follows the same consumer

behaviour. An example of segment could be students between 20 and 24 years old.

In each customer segment, the unconstrained demand is the maximal number of

passengers that the airline can capture.

(2) Airline passengers choose the flight, that provides the maximum utility. They can

not buy two tickets of one flight.

Each passenger preference will be determined during the conjoint analysis stage. When

the capacity of the aircraft is too small with regard to demand, passenger requests are

rejected and the company loses the opportunity to increase its profit. This phenomenon

is referred to as spill. But the company can cope with the spill by offering alterna-

tive flights to the original offer, a flight with a stopover instead of a direct flight for

example. Our model takes the spill-recapture phenomenon into account by controlling

demand/passenger choice among available alternatives indirectly through pricing and

fare product selection.

Airlines commonly use a network structure to develop their supply strategy. As exposed

in section 2.1.3, the structure underlying our model is a time line or time-space network.

The figure 3 displays an example of a time line network for an aircraft type with three

airports and four time points.

Nodes represent activities of aircraft type, in an airport and at a time t. Arcs represent

the movement of aircraft either in the air or on the ground. The network defines the

airline company’s market. It describes all crucial information to ensure the feasibility of a

schedule: input/output flights at each node, ground arcs, number of flights by OD-pairs

and number of aircrafts in the air.

The firm owns a finite fleet of different aircrafts or aircraft types. Each aircraft type has

special characteristics, such as the number of seats or the minimum ground time. We

assume that all aircrafts are available. The airline company can not assign more aircraft

capacity to flight legs than the available. Every mandatory flight has to be assigned an

aircraft, while some optional flights not. To fulfill operational constraints mentioned in

section 2.1.3, the fleet assignment stage takes the time line network as input. Figure 4

displays an unfeasible schedule based on the simple time line network, shown in figure

3. Each colour represents an aircraft.

In figure 4, the flow conservation constraint is not fulfilled at the node ”Paris 15 : 30”.

The ”red” aircraft disappears after the node ”Paris 15 : 30”. The aircraft has to go

either to the node ”Paris 15 : 55” or to ”Boston 15 : 55”. The aircraft either has to

16

Figure 3: Time Line Network for an aircraft type

.

.

17

Figure 5: Feasible schedule based on the Time Line Network figure 3

.

stay in the same airport (ground arc) or fly to another airport (normal arc). Figure 5

shows the feasible solution, where the aircraft stays at Paris airport between 15 : 30 and

15 : 55.

The assignment cost vary depending on the flight legs flown and the aircraft type used.

It represents the main cost in our model.

A consumer can also be attracted by a competitive flight. Our model takes the competi-

tion into account. Customers generally choose the best flight among all possible options:

flights offered by the same airline company to another booking class non the same flight

or to a low cost flights from other airlines. That is the reason why we model choice

behaviour that accounts for competitive flight legs.

As mentioned in the introduction, we base our approach of airline schedule design on

the integrated model of Lohatepannont M. and Barnhart C. [4], where the flow of airline

passengers is determined by the passenger mix model. Our model adjusts the price of

itinerary considering the consumer preference. In the next subsection, we introduce the

passenger mix model and compare it to our model.

18

4.2.1 Passenger Mix Model

Given a fleeted schedule and the unconstrained itinerary demands, the Passenger Mix

Model finds the flow of passengers that maximizes the airlines profit. The formulation

is given by: X X

M ax f arem xmm′ (13)

m∈M m′ ∈M

X X

δmf xmm′ ≤ CAPf ∀f ∈ Ω (14)

m∈M m′ ∈M

X xmm′

≤ Dm ∀m ∈ M (15)

bmm′

m ∈M

′

where variables are:

xmm′ : the number of passengers who fly on itinerary m that desire to travel on

itinerary m′ .

f arem : the average fare of itinerary m.

CAPf : the capacity of flight f .

bmm′ : the recovery rate of passengers desiring itinerary m who are offered itinerary m′ .

δmf : equals 1 if flight f covers itinerary m and 0 otherwise.

Dm : unconstrained demand on itinerary m.

Constraints (14) are the capacity constraints that ensure that the number of passengers

on a flight does not exceed the number of seats available. Constraints (15) are the de-

mand constraints ensuring that the total number of passengers that is accommodated

or spilled does not exceed the corresponding unconstrained demand.

Our approach is to express xmm′ with consumer preferences and to consider a pricing

problem. The number of passengers who fly on one itinerary is now the result of the

product between the probability that passengers select this itinerary and the uncon-

strained demand for the corresponding itinerary. Hence, the demand constraints are not

needed anymore because the fraction of passengers on a flight is now always inferior to

the unconstrained demand . The probability that passengers choose an itinerary is a

function influenced by the price. The price is modelled as a continuous decision variable.

With our notations and the assumption of a demand segmentation, we formulate the

model as the adjustment of prices that maximizes the profit:

X X

M ax f arem pdm ωd (17)

m∈M d∈demm

X X

δf m pdm ωd ≤ CAPf ∀f ∈ Ω (18)

m∈M d∈demm

0 ≤ pdm ≤ 1 (19)

19

f arem ≥ 0 (20)

The probability pdm that a passenger decides to fly the itinerary m as a function of price

and other fare product attributes will be the subject of sections 4.2.2 and 4.2.3. We

have modelled the preference measurement with the methods of conjoint analysis. We

observed two approaches, by comparison to the formulations of Green, Krieger and the

one of Kohli, Sukumar [14]:

We discuss advantages and disadvantages of each approach in the next two sections.

Each itinerary is described by a finite set of attributes. Prior to the schedule generation

stage, the marketing’s department conducts the analysis that gives the utility of the

passenger d for the assignment of j-th level to the n-th attribute. The probability that a

passenger selects an itinerary for a BTL model is given by equation (21) and for a MNL

model by equation (22):

N1 X

X Jn

xjnmudjn

n=1 j=1

pdm = (21)

|M |+|M c | N1 Jn

X XX

( xjnm1 udjn )

m1 =1 n=1 j=1

N1 X

X Jn

exp( xjnmudjn )

m=1 j=1

pdm = (22)

|M |+|M c | N1 X

Jn

X X

(exp( xjnm1 udjn ))

m1 =1 n=1 j=1

where:

Jn : Set of level sets for the attribute n, indexed by j.

xjnm : = 1, when the n-th attribute is assigned to the j-th level in the itinerary m, = 0

otherwise. These are binary constants for m ∈ M c (competitive itineraries) and

binary decision variables for m ∈ M .

udjn : Utility of the passenger d for the assignment of j-th level set to the n-th attribute.

Utilities can be negative in a MNL model.

The choice of a consumer for an itinerary is considered only if the itinerary is included

in the master flight list. Hence, the probability pdm should be equal to zero when the

20

itinerary is not served (qm = 0).

In equations (21) and (22), we should differentiate the price from the other attributes,

because decisions on prices yield revenue. In our model, we consider price as first at-

tribute, indexed with 0 (n = 0). Marketers select the price of an itinerary among a set

of possible prices. The choice of charging a passenger with a price level for an itinerary

influences the passenger preference for this itinerary. The assignment of the j-th price

level to an itinerary has an utility udj0 , given by conjoint analysis. The choice of itinerary

prices directly intervenes in the objective function. The price of an itinerary m is shown

in equation (23).

XJ0

xj0m f arejm ∀m ∈ M (23)

j=1

where

xj0m : =1, when a passenger is charged with the j-th possible price for itinerary m.

f arejm : j-th level of the price for the itinerary m.

With the contribution of the price, the probability that a consumer selects an itinerary

becomes (24) for the BTL model and (25) for the MNL model.

N X

X Jn

xjnm udjn qm

n=0 j=1

pdm = (24)

|M | N Jn |M c | N X

Jn

X XX X X

xjnm1 udjn qm1 + x′jnm1 udjn

m1 =1 n=0 j=1 m1 =|M |+1 n=0 j=1

N X

X Jn

exp( xjnm udjn )qm

n=0 j=1

pdm = (25)

|M | N X

Jn |M c | N X

Jn

X X X X

exp( xjnm1 udjn )qm1 + exp( x′jnm1 udjn )

m1 =1 n=0 j=1 m1 =|M |+1 n=0 j=1

where

N: Set of attributes of an itinerary, with the price as first attribute and the other

attributes are service-oriented.

xjnm1 are decision variables.

x′jnm1 are binary constant.

qm : =1 when itinerary m is included in the schedule, = 0 otherwise.

In product line design, decision makers must assign exactly one level to each attribute

if the product is offered. Furthermore, each product should have all attributes assigned,

in order to be introduced in a market. As itineraries are products in our model, every

21

itinerary included in the schedule has to fulfill both constraints. Condition (26) ensures

that each attribute of an itinerary/fare product is assigned at most one attribute level

once.

XJn

xjnm ≤ qm ∀n ∈ N, ∀m ∈ M (26)

j=1

To be included in the master flight schedule, each itinerary should have all attributes

assigned. Equation (27) guarantees this requirement.

Jn Jn+1

X X

xjnm = xj(n+1)m ∀n ∈ N, ∀m ∈ M (27)

j=1 j=1

Jn

X

xjnm = qm ∀n ∈ N, ∀m ∈ M (28)

j=1

variables, with price as first attribute and other schedule-oriented attributes. The first

disadvantage of this approach is the large number of decision variables. The measurement

of the utility for each attribute and the determination of decision variables could be

computationally challenging. If there are 10 passenger segments, 10 attributes with 10

levels, then there are 10.1010 utilities to measure and |M | ∗ 10 ∗ 10 decision variables

per itinerary are to be determined. Furthermore the relationship between the choice of

itinerary prices and the passenger behaviour is not accurate because of the restriction

of the prices to a finite set of possible values. That is why we propose an approach at a

higher level where prices are continuous decision variables.

At the itinerary level, utilities are associated with itineraries, instead of itinerary at-

tributes. Utility as monetary value represents the price that a customer is willing to pay

for an itinerary. We assume here that these values are not influenced by the price but are

indeed schedule-oriented or related to the quality of service. We suppose that utilities

have been determined by conjoint analysis before schedule’s operation. Decision makers

choose price and select which itineraries as combination of non-price attribute levels to

offer. Itineraries as combinations of non-price attributes are defined exogenously prior

to the decision making process considered here and can be regarded as input to the

optimization model. Prices are continuous variables in this approach.

The expression of the probability that a customer chooses an itinerary is given by (29)

for a BTL model and (30) for a MNL model:

max(Udm − f arem , 0)qm

pdm = (29)

|M |

X

max(Udm′ − f arem′ , 0)qm′ + Ud0

m′ =1

22

e(Udm −f arem ) qm

pdm = (30)

|M |

X

e(Udm′ −f arem′ ) qm′ + Ud0

m′ =1

where

f arem : Price of the itinerary m.

Passengers preferences are driven by the fare of itineraries. Since prices are continuous

variables, the expression Udm − f arem can take negative values when the price charged

by the airline company exceeds the price expected by the consumer. But a BTL model

is defined for positive utilities only. That is why the probability that a customer selects

an itinerary is equal to zero, when the price is bigger than the utility (f arem ≫ Udm )

in the BTL model (max(Udm − f arem , 0) in equation 29). As far as the MNL model

is concerned, the passenger preference is close to zero, when the price is bigger than

the utility. The influence of the price on the customer’s behaviour is more accurate at

itinerary level than at itinerary attribute level. We choose to integrate the MNL model

as choice rule.

We suggested that this method considers the passenger choice model from a higher

level. The relationship between the utility at itinerary attribute level and at itinerary

level is given by:

XN X Jn

Udm = xjnm udjn (31)

n=0 j=1

|M c | Jn

N X

X X

Ud0 = x′jnm1 udjn (32)

m1 =|M |+1 n=0 j=1

We decided to implement the product line design model at the itinerary level, because

prices are represented as continuous variables and passenger behaviours are more sensi-

tive to prices in this approach.

Our problem maximizes the airline profit considering assignment costs and passenger

costs. The objective function is composed by the following components:

- The profit gained from the price of tickets. The total profit R is given by (33) for

discrete prices and (34) for continuous prices:

X J0

X X

R= xj0m f arejm pdm ωd (33)

m∈M d∈demm j=1

X X

R= f arem pdm ωd (34)

m∈M d∈demm

23

- The total cost for assigning fleets to flight legs:

XX

C1 = cf k θf k (35)

f ∈Ω k∈K

X X

C2 = cm pdm ωd (36)

m∈M d∈demm

- Maximizing the profit and minimizing the costs the objective function becomes:

M ax(R − C1 − C2 ) (37)

4.4 Formulations

We give in this section three formulations of our integrated model. The first two formula-

tions differentiate the two approaches of the consumer preference. The third formulation

is the special case where we do not consider the demand segmentation. This last sim-

plification was decided for implementation’s purpose.

X X XJ0 XX

max( ( xj0m f arejm − cm )pdm ωd − cf k θf k ) (38)

m∈M d∈demm j=1 f ∈Ω k∈K

subject to X X X

δf m pdm ωd ≤ capk θf k ∀f ∈ Ω (39)

m∈M d∈demm k∈K

N X

X Jn

exp( xjnm udjn )qm

n=0 j=1

pdm = (40)

|M | Jn

N X |M c | Jn

N X

X X X X

exp( xjnm1 udjn )qm1 + exp( x′jnm1 udjn )

m1 =1 n=0 j=1 m1 =|M |+1 n=0 j=1

X X

θf k + zk,a,t− − θf k − zk,a,t+ = 0 ∀{k, a, t} ∈ P (41)

f ∈I(k,a,t) f ∈O(k,a,t)

X X

zk,a,t + θf k ≤ Nk ∀k ∈ K (42)

a∈A f ∈Ωk

X

qm − θf k ≤ 0 ∀f ∈ Ωm , ∀m ∈ M (43)

k∈K

24

X X

qm − θ f k ≥ 1 − Nm ∀m ∈ M O (44)

f ∈Ωm k∈K

X

θf k ≤ 1 ∀f ∈ ΩO (45)

k∈K

X

θf k = 1 ∀f ∈ ΩM (46)

k∈K

Jn

X

xjnm = qm ∀n ∈ N, ∀m ∈ M (47)

j=1

θf k binary ∀f ∈ Ω, ∀k ∈ K (49)

xjnm binary ∀j ∈ Jn , ∀n ∈ N, ∀m ∈ M (50)

qm binary ∀m ∈ M (51)

Constraints (39) ensure that the available capacity of the aircraft limits the constraining

demand. Constraints (40) are related to the preference measurement calculated in (24)

with a MNL model. Constraints (41) and (42) are fleet assignment constraints. The

flow conservation constraint for aircraft routings is given by (41). The optimal solution

fulfills the classical plane count constraint given by (42). The sum of aircrafts of one

type in the air and on the ground are limited by the fleet size of this aircraft type at

each time.

Constraints (43) and (44) are itinerary status constraints. Constraints (43) ensure that

aircraft capacity is assigned to all flights included in the schedule. Constraint (44)

ensures that an itinerary m is included if all of its flight legs are flown. Constraints (45)

and (46) are cover constraints. They ensure that at most one aircraft is assigned to a

optional/mandatory flight. Constraints (47) are related to product line design problem

and pricing. They guarantee that if an itinerary is included in the schedule, all attributes

of this itinerary are assigned to a level.

X X XX

max( (f arem − cm )pdm ωd − cf k θf k ) (52)

m∈M d∈demm f ∈Ω k∈K

subject to X X X

δf m pdm ωd ≤ capk θf k ∀f ∈ Ω (53)

m∈M d∈demm k∈K

e(Udm −f arem ) qm

pdm = ∀d ∈ demm , ∀m ∈ M (54)

|M |

X

e(Udm′ −f arem′ ) qm′ + Ud0

m′ =1

25

X X

θf k + zk,a,t− − θf k − zk,a,t+ = 0 ∀{k, a, t} ∈ P (55)

f ∈I(k,a,t) f ∈O(k,a,t)

X X

zk,a,t + θf k ≤ Nk ∀k ∈ K (56)

a∈A f ∈Ωk

X

qm − θf k ≤ 0 ∀f ∈ Ωm , ∀m ∈ M (57)

k∈K

X X

qm − θ f k ≥ 1 − Nm ∀m ∈ M O (58)

f ∈Ωm k∈K

X

f arem ≤ f aref ∀m ∈ M (59)

f ∈Ωm

X

θf k = 1 ∀f ∈ ΩM (60)

k∈K

X

θf k ≤ 1 ∀f ∈ ΩO (61)

k∈K

f arem ≥ 0 ∀m ∈ M (63)

θf k binary ∀f ∈ Ω, ∀k ∈ K (64)

qm binary ∀m ∈ M (65)

Schedule generation and fleet assignment constraints are the same as the first formu-

lation. The preference in (54) is modelled at the itinerary level with a MNL model.

Constraints (59) guarantee that a via flight is not more expensive than the sum of its

flight legs. We do not use separate variables for the price of an itinerary (f arem ) and

the price of a flight leg (f aref ) considering that flight legs are fleeted itineraries reduced

to a flight arc in the network.

4.4.3 Formulation with utility at the itinerary level without demand segmentation

X XX

max( (f arem − cm )pm ωm − cf k θf k ) (66)

m∈M f ∈Ω k∈K

subject to X X

δf m pm ωm ≤ capk θf k ∀f ∈ Ω (67)

m∈M k∈K

e(Um −f arem ) q m

pm = ∀m ∈ M (68)

|M |

X

e(Um′ −f arem′ ) qm′ + U0

m′ =1

26

X X

θf k + zk,a,t− − θf k − zk,a,t+ = 0 ∀{k, a, t} ∈ P (69)

f ∈I(k,a,t) f ∈O(k,a,t)

X X

zk,a,t + θf k ≤ Nk ∀k ∈ K (70)

a∈A f ∈Ωk

X

qm − θf k ≤ 0 ∀f ∈ Ωm , ∀m ∈ M (71)

k∈K

X X

qm − θ f k ≥ 1 − Nm ∀m ∈ M O (72)

f ∈Ωm k∈K

X

f arem ≤ f aref ∀m ∈ M (73)

f ∈Ωm

X

θf k = 1 ∀f ∈ ΩM (74)

k∈K

X

θf k ≤ 1 ∀f ∈ ΩO (75)

k∈K

f arem ≥ 0 ∀m ∈ M (77)

θf k binary ∀f ∈ Ω, ∀k ∈ K (78)

qm binary ∀m ∈ M (79)

The variables Udm , pdm and ωd have become independent of the demand segment d. All

constraints stay the same.

5 Solution Approaches

As for the solution approaches, we consider the formulation with utility at the itinerary

level, exposed in 4.4.2.

The first observation is that our model is not linear because of the choice model lead-

ing to nonlinear objective function (54) and nonlinear capacity constraint (55). Our

model has continuous decision variables (f arem ) and integer decision variables (zk,a,t ,

θf k and qm ). Our model belongs then to the Mixed Integer nonlinear Programming class.

Classical methods decompose the problem by separating the nonlinear part from the

integer part. A Branch-and-Bound algorithm performs a tree-search and solves a nonlin-

ear problem (NLP) at each node. We have chosen this implementation because optimiza-

tion software packages (Numerical Algorithms Group Library) are available to solve the

nonlinear part with Sequential Quadratic Programming (SQP) methods. We integrate

27

this SQP methods into our own implementation of the Branch-and-Bound algorithm.

We acknowledge that a better way could have been an integrated algorithm as realized

by Leyffer [20]. Leyffer proposes an algorithm where the tree search and the iterative

solution of the nonlinear problem are interlaced. Thus, the nonlinear part is solved

whilst searching the tree. The underlying idea is to branch before an iteration of the

Sequential Quadratic Programming (SQP) solver.

The section 5.2 introduces the two methods Branch-and-Bound and Sequential Quadratic

Programming.

5.2 Branch-and-Bound

The solution space of an integer programming problem can be assumed finite. The

simplest way to solve the integer problem is to go through all integer points, discarding

infeasible ones and always keeping track of the feasible solution with the best objective

value. The Branch and Bound considers a continuous problem defined by relaxing the

integer restrictions on the variables (θf k and qm in our model). Therefore, the solution

space of the integer problem is only a subset of the continuous problem. If the optimal

continuous solution is all integer, then it is also optimal for the integer problem. The

Branching operation partitions the continuous solution space into subspaces, which are

also continuous. The purpose of the partitioning is to eliminate points that are not

feasible for the integer problem. The Bounding operation helps locating the optimum

solution by comparing the objective function value of the current node to the objective

function value of the current best feasible solution (this upper bound is set to infinite

until a feasible solution is found). The optimum integer solution is available when the

subproblem having the greatest upper bound (considering a maximization problem)

among all subproblems yields an integer solution. The tree to explore could have a

very large number of branches and nodes. Branch-And-Bound algorithms may require

large computer storage since each node has an associated subproblem whose solution

and objective function must be stored. The Branch-and-Bound method proceeds as

followed: First, the integer problem is replaced by a continuous space by relaxing the

integer conditions. Then branching is used to eliminate parts of the continuous one that

are not feasible by reactivating some of the integer restrictions. The process operates

branching and bounding until all integer points have been tried. Branch-and-Bound

algorithms grow exponentially with the problem size but are exact solution methods.

Sequential Quadratic Programming (SQP) methods solve an nonlinear problem via a

sequence of quadratic programming (QP) approximations obtained by replacing the

nonlinear constraints by a linear first order Taylor series approximation and the nonlinear

objective by second order Taylor series approximation augmented by a second order

information from the constraints. They can converge quadratically near a solution. But

they can fail to converge if they start far from a local solution. To ensure convergence,

28

each iteration of the SQP must decrease a penalty function, which is a linear combination

of the objective function and some measures of the constraint violation.

The solution approach with Branch-and-Bound and SQP methods can not ensure to

find the optimum solution. The convergence of the SQP function relies on the choice

of the feasible starting point. That is the reason why an incremental approach fits our

problem. As shown in the flow chart of figure 6, we start with a base schedule that

we incrementally improve. If the stopping criteria is not met (for example, insufficient

improvement of the objective function), non-profitable itineraries can be identified, a

better starting point can be chosen and the heuristic can be started again. This method

allows to improve the starting point, until the objective function can not be improved

further. But the determination of non-profitable itineraries is uneasy. Therefore is this

stage manually operated.

Branch-and-Bound combined with SQP is not the only way to solve the problem. Other

heuristics are possible such as Greedy algorithm, Nearest Neighbour algorithm or genetic

algorithm.

6 Implementation

6.1 Framework

We have implemented an Branch-and-Bound algorithm with a sequential QP method at

each node to solve the third formulation of our problem. We discuss in this section the

key point of the implementation. The algorithms are implemented in the C language.

We used a function of the Numerical Algorithms Group’s Library to realize the SQP

methods, briefly described in section 6.2. And we have implemented our own Branch-

and-Bound with different search strategies.

The function nag opt nlp of the package eu04cc allows to solve a problem with non-linear

constraints using a sequential quadratic programming (SQP) method. It takes as input:

the number of decision variables n, the number of linear constraints nclin, the number

of nonlinear constraints ncnlin upper and lower bound for each variable bl and bu,

matrix of coefficients of linear constraints a, functions that calculate the first derivative

of the objective function objf un and nonlinear constraints conf un, the current objective

function objf and the associated first derivatives objgrd and a feasible starting point x.

The declaration of the function is displayed below.

objf un, conf un, x, &objf, objgrd,

E04 DEF AU LT, N AGCOM M N U LL, N AGERR DEF AU LT );

29

Figure 6: Flow Chart for incremental solution.

30

We also have to calculate the partial derivative of the non-linear constraints and the

objective function with respect to all the variables as input. The derivatives allow to

calculate the first and second order Taylor series approximation for nonlinear constraints

and the objective function. They are written in the functions conf un and objf un

respectively, declared as:

doubleobjgrd[], N ag Comm ∗ comm)

staticvoidN AG CALLconf un(Integern, Integerncnlin, Integerneedc[],

doublex[], doubleconf [], doubleconjac[],

N ag Comm ∗ comm)

The Nag function solves only a minimization problem, while our problem is a maximiza-

tion problem. Thus, we have to transform our problem into a minimization problem:

XX X

min( cf k θf k − (f arem − cm )pm ωm ) (80)

f ∈Ω k∈K m∈M

subject to X X

δf m pm ωm ≤ capk θf k ∀f ∈ Ω (81)

m∈M k∈K

e(Um −f arem ) q m

pm = ∀m ∈ M (82)

|M |

X

e(Um′ −f arem′ ) qm′ + U0

m′ =1

X X

θf k + zk,a,t− − θf k − zk,a,t+ = 0 ∀{k, a, t} ∈ P (83)

f ∈I(k,a,t) f ∈O(k,a,t)

X X

zk,a,t + θf k ≤ Nk ∀k ∈ K (84)

a∈A f ∈Ωk

X

qm − θf k ≤ 0 ∀f ∈ Ωm , ∀m ∈ M (85)

k∈K

X X

qm − θ f k ≥ 1 − Nm ∀m ∈ M O (86)

f ∈Ωm k∈K

X

f arem ≤ f aref ∀m ∈ M (87)

f ∈Ωm

X

θf k = 1 ∀f ∈ ΩM (88)

k∈K

31

X

θf k ≤ 1 ∀f ∈ ΩO (89)

k∈K

zk,a,t ∈ N ∀{k, a, t} ∈ P (90)

f arem ≥ 0 ∀m ∈ M (91)

θf k , qm ∈ [0, 1] ∀f ∈ Ω, ∀k ∈ K, ∀m ∈ M (92)

The partial derivative of the objective function (f ) and the nonlinear constraints (c1 )

are given in the appendix, at the end of the thesis.

In our solution, we differentiate two calls of the SQP functions, depending on the num-

ber of decision variables. At the very beginning, we employ the SQP methods to find

the root of the Branch-and-Bound algorithm. All the variables are relaxed, qm and θf k

changed into continuous decision variables between 0 and 1, instead of binary variables,

as shown in the constraints 92. The Branch-and-Bound algorithm will branch on the

values of qm and θf k , that are not set 0 or 1. The algorithm goes through all the possible

combinations of qm and θf k . At each node of the search tree, we operate another call of

the SQP function, where qm and θf k are not variables anymore.

The starting point of the SQP methods is randomly chosen. In practice, we have

manually tried different points until we find a point that converges to an optimum.

Once we have found a relative good starting point, we start the Branch-and-Bound

algorithm. At each node, we solve the same problem but the two binary variables qm

and θf k are now fixed by the branching strategy. The problem is given by:

XX X

min( cf k θf k − (f arem − cm )pm ωm ) (93)

f ∈Ω k∈K m∈M

X X

δf m pm ωm ≤ capk θf k ∀f ∈ Ω (94)

m∈M k∈K

e(Um −f arem ) q m

pm = ∀m ∈ M (95)

|M |

X

e(Um′ −f arem′ ) qm′ + U0

m′ =1

X X

θf k + zk,a,t+ − θf k − zk,a,t− = 0 ∀{k, a, t} ∈ P (96)

f ∈I(k,a,t) f ∈O(k,a,t)

X X

zk,a,t + θf k ≤ Nk ∀k ∈ K (97)

a∈A f ∈Ωk

X

f arem ≤ f aref ∀m ∈ M (98)

f ∈Ωm

zk,a,t ∈ N ∀{k, a, t} ∈ P (99)

f arem ≥ 0 ∀m ∈ M (100)

In this case, the formulas of the first derivative are the same as before. But the only

decision variables are now f arem and zk,a,t and all the others are parameters.

32

CreateQueue(Q) /*Q queue with priority: each element is a couple (Node,Estimation) */

A = a feasible solution for the first SQP iteration

Root=SQP1(A) /* first call of the SQP function */

Z=Root

Push(F,(Z,f(Root)))

ubound=infinite

While Not is Empty(F)

Pop(F,Z)

x = Last Node of Z

If x is not a feasible solution

y1 , ..., yk successors of x that don’t belong to Z

For i = 1 to k

A’=Z + yi /*Branching*/

T=SQP2(A’) /* Second call of SQP function*/

Push(F,(T,f(yi )))

End For

Else

if estimation value ≤ ubound

ubound = estimation value

End If

fathom

End If

End While

6.3.1 Formal description

Branch-and-Bound algorithms allow to reduce the ”solution space”. Each node is eval-

uated regarding to an estimation function f, which is the value of the objective function

after applying the SQP method. An upper bound, that represents the objective function

value of the best feasible solution, is chosen beforehand to decide whether a node will be

fathomed or not. It is fixed to infinite at the beginning. The tree search goes on until all

integer points have been tried. The basic formal Branch-and-Bound algorithm applied

to our problem is given in figure 7.

A way to improve the efficiency of the Branch-and-Bound method is to find a feasible

solution as fast as possible and then allow to reduce the solution space by fathoming

with a small upper bound. To do so, we combine two different tree-search strategies:

33

Figure 8: Branch-and-Bound with Best first search.

Best First strategy and depth first search strategy. Our Branch-and-Bound algorithm

performs first a Depth First search until it finds a feasible solution then it switches to

the Best First strategy allowing a faster reduction of the space solution. In figure 9, our

combined algorithm is applied, while a Best First strategy is applied figure 8. The Depth

First strategy found a relative bad feasible solution (objective function value = −970)

compared to the Best First strategy (objective function value = −992). But the upper

bound was found faster than the Best First strategy, 2 iterations against 3 iterations.

This difference in iterations is already important, given that the example has only 4

leaves.

The difference between the two search strategies depends on how the queue is prioritized.

The queue is realized as an ordered list by decreasing estimation values for the best first

strategy and ordered by depth in the search tree for the depth first strategy. We name

the functions, that add a new element to the stack, for each search strategy bP U SH

and dP U SH and the function, that takes the best element according to the objective

function (for the best first strategy) or the depth (for the depth first strategy) off the

stack, P OP . The P OP function stays the same in both cases, since the best solution

is always on top of the stack. The Branch-and-Bound algorithm with combined search

strategies is shown in figure 10.

The Branch-and-Bound algorithms are exact solution methods but they can still explore

a large set of nodes. In practice, we implement a truncated Branch-and-Bound for large

scale problems. In section 7.6, we discuss a stopping criteria that determines when a

reasonable feasible solution is found.

34

Figure 9: Combination of Best first and Depth first tree search.

7 Computational Results

In this section, we present the performance analysis that we have conducted to test our

implementation. The intention is to provide some insights about the solvability of our

approach. Since it is difficult if not impossible to prove whether the algorithm reaches

the optimum or not for a large nonlinear problem, we use small time line networks to

reduce the complexity of the problem. We start with a schedule with only one flight leg.

We study the influence of the passenger preference to the optimum schedule. At the

end, we present and discuss the results of our algorithm for a problem with 5 OD Pairs.

The time line networks are based on data from European airline websites. The utility

values, assignment costs, passenger costs and aircraft capacities are randomly fixed.

First, we consider the problem reduced to one OD-pair, one flight leg and the parameters

shown in table 5. We consider that the airline only owns two aircrafts. The optimum

is the maximum of the following objective function subject to operational constraints

(67)-(79).

e(U −f are) qω

max((f are − c) (U −f are) − (c00 θ00 + c01 θ01 )) (101)

e q + U0

We note that is already difficult to find the optimum of the problem. In this particular

case, the SQP function converges 98% of the cases to the same convergence point with a

profit of 131, 021721. Even though all variables are relaxed, all binary decision variables

are 0 or 1. The convergence is sensitive to the choice of the starting point. The table 6

35

CreateQueue(Q)

A = feasiblesolutionfor the first SQP iteration

Root=SQP1(A) /* first call of the SQP function */

Z=Root

dPush(F,(Z,f(Root)))

Found=False

Depth = 0

ubound=infinite

While Not isEmpty(F)

Pop(F,Z)

x = Last Node of Z

Depth=Depth+1

If x is not a feasible solution

y1 , ..., yk successors of x that don’t belong to Z

For i = 1 to k

A’=Z + yi /*Branching*/

T=SQP2(A’) /* Second call of SQP function*/

if Found

bPush(F,(T,f(yi )))

else

lPush(F,(T,f(yi )),k)

End If

End For

Else

if estimation value ≤ ubound

ubound = estimation value

End If

if Found = False

order Q by estimation value

Found = True

End If

fathom

End If

End While

Figure 10: Formal description of the Branch-and-Bound algorithm with combined search

strategies.

36

UTILITY Value

U0 20

U1 23

DEMAND FACTOR

ω0 20

ASSIGNMENT COST

costa00 10

costa01 20

PASSENGER COST

costm0 10

CAPACITY OF AIRCRAFT

cap0 50

cap1 40

Our model gives an important part to the consumer preference. We are about to test

how consumer preference influences price. We choose a network with two OD-Pairs and

one flight leg per OD pair, as shown in figure 11. Both flights are optional. Parameters

are given in table 7.

We set up a flight leg with a low utility (U1 = 23) and another one with high utility

(U2 = 40). The most preferred flight has a bigger cost per passenger than the other.

With a starting schedule that includes only one flight leg, the SQP method always ends

up including the most preferred flight leg and excluding the other. In this case, some

calls of SQP converge to the same point with objective function 575.402129 and the flight

f1 included in the final schedule, detailed in table 8. We try to build manually schedules

including only the flight f1 and with a price close to the optimum price (between 30

and 40). Since the solution that we try to improve is a local maximum, we did not find

better objective function value than 575.402129. We also try schedules that only include

the first flight leg (f0 ). The objective function does not exceed 40 and the solver often

stops, because the first-order-Kuhn-Tucker constraints have failed.

This point is the best convergence point but we have found other convergence points

with objective function value 555.402107, that include both flight legs in the optimum

schedule. One of this local convergence point is displayed in table 10. If we increase

the price of the first flight leg, the convergence point stays the same with the new price

instead. The contribution of the first flight does not yield profit to the airline, when

it is included. The probability that a passenger chooses the first flight is close to zero,

because of the contribution of the second flight (the most preferred flight). The expo-

37

initial zk,a,t initial θf k initial f arem initial qm initial objf un

z000 = 0 θ00 = 0 f are0 = 22 q0 = 1 8,716416

z001 = 0 θ01 = 1

z010 = 0

z011 = 0

z100 = 1

z101 = 0

z110 = 0

z111 = 1

final zk,a,t final θf k final f arem final qm final objf un

z000 = 1 θ00 = 1 f are0 = 18.051086 q0 = 1 131,021721

z001 = 0 θ01 = 0

z010 = 0

z011 = 1

z100 = 0

z101 = 0

z110 = 0

z111 = 0

38

UTILITY Value

U0 20

U1 23

U2 40

DEMAND FACTOR

ω0 20

ω1 18

ASSIGNMENT COST

costa00 10

costa01 20

costa10 10

costa11 20

PASSENGER COST

costm0 10

costm1 20

CAPACITY OF AIRCRAFT

cap0 50

cap1 40

nentials in the preference intensify the difference between utilities. If the utility of the

most preferred flight (f1 ) decreases of 10%, the optimum schedule will still include it and

the optimum price will be reduced of 29%. The probability that a passenger chooses f1

will only diminish of 2%. A small difference between utilities can imply great changes

in the optimum schedule.

With the numerical parameters that we choose in this example with 2 OD-Pairs, it is

always more profitable to include only one flight leg in the schedule. Even if we start

the solver when flights have exactly the same assignment costs, same fare and same

utility, the SQP function will end up including only one flight with the maximum fare.

Including the other flight leg introduce more costs than it yields revenue. In practice,

if we keep the maximum fare for the second flight and try to add the first flight to the

schedule, it converges to another convergence point.

If the starting point is too far from the optimum, the SQP function will not converge.

After trying several starting points, we observe three outputs with the frequencies dis-

played in table 12. The execution time is always less than 1 second. The SQP function

did not converge in only 5% of times.

But these percentages do not accurately represent the reality, because the starting

points of our test have not been generated by a random function and we did not try

all possible starting points. These percentages are correlated with the probability to

39

initial zk,a,t initial θf k initial f arem initial qm initial objf un

z000 = 1 θ00 = 0 f are0 = 22 q0 = 1 15.213931

z001 = 0 θ01 = 1 f are1 = 20 q1 = 0

z010 = 0 θ10 = 0

z011 = 1 θ11 = 0

z020 = 0

z021 = 0

z100 = 0

z101 = 0

z110 = 0

z111 = 0

z120 = 1

z121 = 1

final zk,a,t final θf k final f arem final qm final objf un

z000 = 0 θ00 = 0 f are0 = 0 q0 = 0 575.402129

z001 = 0 θ01 = 0 f are1 = 33.522340 q1 = 1

z010 = 0 θ10 = 1

z011 = 1 θ11 = 0

z020 = 1

z021 = 0

z100 = 0

z101 = 0

z110 = 0

z111 = 0

z120 = 0

z121 = 0

40 33.522340 0.970169

35 28,683434 0.965137

30 23.874256 0.958114

27 19,107958 0.952399

40

initial zk,a,t initial θf k initial f arem initial qm initial objf un

z000 = 1 θ00 = 0 f are0 = 37 q0 = 1 555.382006

z001 = 0 θ01 = 1 f are1 = 33.5700 q1 = 1

z010 = 0 θ10 = 1

z011 = 1 θ11 = 0

z020 = 0

z021 = 0

z100 = 0

z101 = 0

z110 = 0

z111 = 0

z120 = 1

z121 = 1

generate a schedule with two flight legs (respectively with one flight leg).

(1) In our model prices and the probability of choosing a flight leg are sensitive to util-

ities. Even a small difference in utility values can completely change the optimum

schedule.

(2) The convergence of the SQP function depends on the distance between the starting

point and the optimum point. The incremental approach allows to improve the

starting point at each iteration.

So far, the computational results have given contribution to the convergence of the

SQP function and to the interaction between high passenger demand and airline supply.

In the next section, we evaluate the performance of the complete algorithm (Branch-

and-Bound and SQP function) for a larger problem.

We consider a set of five OD-pairs with only one flight per OD-pair, as shown in figure

12, with the time line network in figure 13 and the parameters in table 14. There are only

two aircrafts, in order to keep the problem size small (80 variables and 95 constraints).

Table 13 presents the size of the constraint matrix. Like the example with two flight

legs, we run the SQP function with all variables relaxed to find a good starting point

for the Branch-And-Bound algorithm.

We try schedules, that include exactly one flight leg, as input of the SQP function

and analyse the outcome. The SQP function has converged in 75% of the cases. If it

41

initial zk,a,t initial θf k initial f arem initial qm initial objf un

z000 = 1 θ00 = 0 f are0 = 33 q0 = 1 555.402107

z001 = 0 θ01 = 1 f are1 = 33.6 q1 = 1

z010 = 0 θ10 = 1

z011 = 1 θ11 = 0

z020 = 0

z021 = 0

z100 = 0

z101 = 0

z110 = 0

z111 = 0

z120 = 1

z121 = 1

final zk,a,t final θf k final f arem final qm final objf un

z000 = 1 θ00 = 0 f are0 = 33.000072 q0 = 0.999932 427.485113

z001 = 0 θ01 = 1 f are1 = 33.522340 q1 = 1.000000

z010 = 0 θ10 = 1

z011 = 1 θ11 = 0

z020 = 1

z021 = 0

z100 = 0

z101 = 0

z110 = 0

z111 = 0

z120 = 1

z121 = 1

Current point can not be improved upon. 5%

First-Order-Kuhn-Tucker constraints are not satisfied

Convergence to the optimum convergence point 80%

Convergence to the second convergence point 15%

Table 12: Three outcomes of the SQP function for feasible starting points

42

Variables

zk,a,t 60

f arem 5

θf k 10

qm 5

Total number of variables 80

Constraints

Linear 90

Nonlinear 5

Total number of constraints 95

43

Figure 13: Time line Network for the example with 5 OD-pairs.

44

UTILITY Value

U0 20

U1 23

U2 21

U3 24

U4 29

U5 49

DEMAND FACTOR

ω0 20

ω1 23

ω2 18

ω3 20

ω4 35

ASSIGNMENT COST

costa00 10

costa01 20

costa10 12

costa11 19

costa20 38

costa21 43

costa30 46

costa31 23

costa40 48

costa41 50

PASSENGER COST

costm0 10

costm1 15

costm2 17

costm3 16

costm4 23

CAPACITY OF AIRCRAFT

cap0 50

cap1 40

45

OUTCOME PERCENTAGE OF CALLS

Current point can not be improved upon. 5%

First-Order-Kuhn-Tucker constraints are not satisfied

Convergence to the optimum convergence point 80%

Large error in the derivatives 5%

Convergence to other convergence points 10%

Table 15: Approximative evaluation of the performance to find the starting point of the

Branch-And-Bound.

θf k f arem qm objf un

θ00 = 0 f are0 = 38 q0 = 0 621.535666

θ01 = 0 f are1 = 20 q1 = 0

θ10 = 0 f are2 = 39 q2 = 0

θ11 = 0 f are3 = 39 q3 = 0

θ20 = 0 f are4 = 42.707412 q4 = 0.692170

θ21 = 0

θ30 = 0

θ31 = 0

θ40 = 0.692170

θ41 = 0

does not converge, either the starting point implies a large error in the nonlinear con-

straints or the final point can not be improved upon and does not satisfy the first order

of Kuhn-Tucker condition. But if it converges, the final point is always the same, shown

in table 16.

Afterwards we try base schedules that include couples of flight legs, as input of the

SQP function. When the SQP function does not converge, we modify each price of

flight legs or assignment variables to improve the final schedule. When it converge,

we have found 2 distinct optimum, one with an objective function value of 533.989454

and another with 621.535666. The table 15 shows an approximative evaluation of the

performance of the first call of the SQP function. The SQP function converges in 90%

of the cases.

The best objective function value was 621.535666. We choose this final solution to be

the root of the Branch-and-Bound algorithm.

Given the previous starting point, we analyse the performance of the Branch-and-Bound

algorithm. In this example, the search tree of the Branch-and-Bound algorithm has 215

leaves in the worst case, if no fathoming is operated. We consider that the number of

46

θf k f arem qm objf un

θ00 = 0 f are0 = 38 q0 = 0 618.989454

θ01 = 0 f are1 = 20 q1 = 0

θ10 = 0 f are2 = 37.973351 q2 = 0

θ11 = 0 f are3 = 37.221707 q3 = 0

θ20 = 0 f are4 = 43.056842 q4 = 1

θ21 = 0

θ30 = 0

θ31 = 0

θ40 = 1

θ41 = 0

The number of available aircrafts can limit the number of covered nodes. For example,

we suppose q1 = 0, 5, q2 = 0, 5 and q3 = 0, 5. Since there are only 2 aircrafts only 2

q-values can be set to 1. Or else the schedule will not be feasible (flight leg included in

the schedule but not assigned or a flight leg non-included but assigned). That allows to

drop the leaf q1 = 1, q2 = 1, q3 = 1 in the tree. In our heuristic, the SQP function will

find the subproblem unfeasible. If we reduce the size of the search tree before operation,

we can save unnecessary calls of the SQP function. This pre-processing makes the al-

gorithm more complex in terms of memory storage and branching strategy. Constraints

for feasible nodes have to be stored before operation and the current node has to fulfill

those stored requirements at each iteration.

The SQP function has now converged in less than 20% of the calls, because most of

them are no good starting points for the SQP function. As far as the performance of

the Branch-And-Bound algorithm is concerned, the depth first strategy allows to find

a feasible solution after two iterations. When we mention iterations, we do not mean

branching. After another iteration, the best first strategy leads to the optimum, dis-

played in table 18. With the current upper bound the branch with θ40 = 0 is fathomed.

After 4 iterations, the Branch-And-Bound algorithm stops. As expected, the best so-

lution is the one with the variables θ40 and q4 set to 1. Compared to the root of the

Branch-and-Bound, the objective function has decreased but the price of the flight 4 has

been increased. But if we compare with the schedule before the first call of the SQP

function, the objective function has increased of 9% (565.934055 to 618.989454).

Two flights (f2 and f4 ) are now mandatory flights. The first call of the SQP converges

in 75% of times to distinct points. We will start the Branch-And-Bound algorithm with

a feasible ”bad” solution shown in table 18 regarding to the objective function value.

The SQP function converges in less than 8% of the cases. The Branch-and-Bound algo-

47

θf k f arem qm objf un

θ00 = 1 f are0 = 27.000004 q0 = 0 307.650319

θ01 = 0 f are1 = 21.038100 q1 = 0

θ10 = 0.7897521 f are2 = 42.793679 q2 = 0.887961

θ11 = 0 f are3 = 27.000000 q3 = 0

θ20 = 1 f are4 = 60.210052 q4 = 0.996996

θ21 = 0

θ30 = 0

θ31 = 0.897212

θ40 = 0

θ41 = 1

θf k f arem qm objf un

θ00 = 1 f are0 = 27.000004 q0 = 0 293.286222

θ01 = 0 f are1 = 21.038100 q1 = 0

θ10 = 1 f are2 = 42.793679 q2 = 1

θ11 = 0 f are3 = 27.000000 q3 = 0

θ20 = 1 f are4 = 60.210052 q4 = 1

θ21 = 0

θ30 = 0

θ31 = 0

θ40 = 0

θ41 = 1

Table 19: Output of the Branch-And-Bound algorithm with a ”bad” starting point.

rithm founds an optimum, displayed in table 18, after 13 iterations. If we set q1 = 0.5,

the algorithm iterates 18 times and the SQP function converges in less than 12% of the

cases. The final point is the same as the former one.

If we set q1 = 0.5 and q0 = 0.5, the f are4 has been lightly improved to 60.210051

after 26 iterations.

If we stop the algorithm before 38 iterations, the final point is not optimum and can be

far from the optimum. But if we choose a starting point with values close to 0 or 1, the

Branch-And-Bound will converge faster to the optimum. In this example, we can reduce

the number of iterations of the Branch-and-Bound algorithm to 36.

For larger problems, we will not be able to run the Branch-and-Bound until it finds

the optimum, because the number of nodes grows exponentially. We apply a truncated

48

UNKNOWN VARIABLES NB MAX ITERATIONS CONVERGENCE OF SQP

2 4 20% − 30%

5 19 less than 12%

6 26 less than 8%

9 40 less than 6%

found. That is why our implementation is a heuristic. The difficulty is to find the cri-

teria that determines when a solution close to the optimum is met. A limited number

of iterations that depends on the size of the problem is a wrong approach. We can not

suppose that after the Branch-and-Bound algorithm covers 60% of the search tree, then

a ”good” suboptimum has been met. This upper bound does not fit to the nonlinear

aspect of our model.

relies on the running time of the SQP function. With the percentage of convergence, the

size of the tree and the running time of each outcome, we can estimate the maximum

running time of the Branch-and-Bound. In our example, the SQP function converges less

than 8% and does not fulfill Kuhn-Tucker constraint around 70% of times (that takes

one second). The rest of the time, the function loops through a maximum number of

516 iterations and than stops (that takes 3 seconds). Given this data, we can determine

a time limit for the algorithm, before a suboptimum is found.

Another alternative is to operate in two phases. First the problem is solved with a

greedy algorithm, in order to obtain an objective function value of a good feasible solu-

tion that we store for the second phase. Then we run our Branch-and-Bound algorithm,

where we compare the objective function of the current feasible solution to the stored

value. We consider that we have found a good solution, when both values are ”close

enough”. We fix a maximal difference between the upper bound and the expected fea-

sible solution prior to the operation of the Branch-and-Bound. This maximal difference

defines the stopping criteria.

This last approach is the most suitable but costs more than the other alternatives in

terms of processing time because two algorithms are operated. To reduce this costs, we

can start the Branch-and-Bound before the greedy algorithm. Or as upper bound for the

truncated Branch-and-Bound, we can consider the root of the Branch-and-Bound algo-

rithm, because the Branch-and-Bound algorithm will not improve the objective function

of the root. The root is an optimum of the optimization problem, where θf k and qm are

relaxed. In practice, a good feasible solution is found, when the difference in objective

function values is less than 20% of the objective function value of the root.

In this last section, we have made the following observations to the performance of

49

the complete algorithm:

the optimum is found, based on the choice of the starting point.

(2) We can save calls of the SQP function by eliminating unfeasible leaves before

operation. But this requires memory storage.

(3) A good criteria to find a feasible solution close to the optimum, is difficult because

of the exponential growth of the problem size. A good solution is to solve the

problem in two stages: the first time to find an upper bound, that will be compared

to the current solution of the Branch-and-Bound in a second time.

8 Conclusion

8.1 Summary of contributions

The objective of this diploma thesis was to build a model integrating Airline Schedule

Design and Product Line Design. Our model solves an incremental integrated airline

schedule generation and fleet assignment problem along with the pricing problem con-

sidering customer preference. A base schedule, composed by mandatory and optional

flight legs, is given as input. Our model maximizes the profit of the airline, while adding

and deleting optional flight legs. The airline schedule design model integrates model of

Lohatepannont M. and Barnhart C. [4] for the airline schedule design with choice-based

product line design at product and attribute level.

The formulated problem is a Mixed Integer Nonlinear problem with large number of de-

cision variables and sets of constraints. Due to the size and complexity of the problem,

we aim to implement a heuristic to find a solution close to the optimum. Our solution

approach was to decompose the model into nonlinear part and integer part. We imple-

ment a Branch-And-Bound algorithm, for the integer part, that solves at each branch

the nonlinear part with integer variables fixed, with a sequential quadratic program-

ming function. We use the library of the Numerical Algorithms Group to implement the

sequential quadratic programming method. We implement by ourselves a Branch-And-

Bound with a depth first combined with a best first tree search strategy.

In the example with two flight legs, we have shown that the convergence of the SQP

function is sensitive to the choice of the initial point. We have also shown the influence

of the consumer preference on the optimal solution. Our model captures always the

flow of passenger that optimizes the profit. In the example with 5 OD-pairs, the more

integer variables are to determine, the less is the percentage of convergence for the SQP

function. For larger problems, we have tried to find a stopping criteria for a truncated

Branch-and-Bound. The stopping criteria depends on the difference between the objec-

tive function value of the root (of the Branch-and-Bound) and the one of the current

feasible solution. A difference in objective function values of less than 20% of the profit

corresponding to the root implies that a feasible good solution is met.

50

8.2 Future Research Directions

This thesis represents a contribution in the area of market-oriented airline schedule de-

sign. There are many research questions left unexplored.

In the short term, case studies to measure the sensitivity of MNL and BTL model at

itinerary and itinerary attributes level must be performed. The results will allow us

to validate our approach with the conjoint analysis. Otherwise, we should express the

consumer preference by an other alternative than conjoint analysis, such as a linear or

semi-linear utility.

In the medium term, supposing that our model has been validated, we should enable

our incremental model to perform re-schedule with time-windows in addition to addi-

tions/deletions. This will fine-tune the optimization of the base schedule.

In the long term, we can concentrate on improving our implementation with the following

research directions:

This requires the self-implementation of the SQP function. This will enable the

Branch-And-Bound to branch before an iteration of the SQP solver. This can

significantly speed up our implementation.

adapted mutation and recombination functions for the itineraries.

51

Notations

PARAMETERS

General:

A: Set of airports, indexed by a.

K: Set of aircrafts, indexed by k.

Nk : Number of aircrafts in fleet-type k.

Nm : Number of flight legs in itinerary m.

N : Set of attributes of an itinerary, with the price as first attribute and the other at-

tributes are service-oriented.

N1 : Set of attributes of an itinerary, indexed by n.

Jn : Set of level sets for the attribute n, indexed by j. J0 is the set of possible prices.

P : Set of nodes of the underlying network. A node is composed by a time, an airport

and an aircraft, indexed by {k, a, t}

T : Sorted set of all event.

Itineraries:

M : Set of itineraries including null itinerary, indexed by m.

M O : Set of itineraries containing optional flight, indexed by mit m.

M C : Set of competitive itineraries.

Flight legs:

Ωm : Set of flight legs in itinerary m, indexed by f .

Ω: Set of flight legs in the flight schedule, indexed by f .

ΩM : Set of mandatory flight legs in the flight schedule, indexed by f .

ΩO : Set of optional flight legs in the flight schedule, indexed by f .

Ωk : Set of flight legs that pass the count time when flown by fleet-type k.

I(k, a, t): Set of inbound flight legs to node {k, a, t}.

O(k, a, t): Set of outbound flight legs to node {k, a, t}.

cf k : Cost for the assignment of the aircraft k to the flight leg f .

cm : Cost pro passenger.

capk : Number of seats in the aircraft k.

demm : Demand for the itinerary m. These represents all the passengers that want to

travel from origin-airport to destination-airport regardless of the operational constraints.

That is called the unconstraint demand.

δf m : = 1, when the itinerary m includes the flight leg f , = 0 otherwise.

Preference measurement:

Udm : Service related utility of the passenger d for the itinerary m. This utility is inde-

pendent of the price.

Ud0 : Given utility of passenger segment d for competitive itineraries.

pdm : Product demands or market shares described by the probability that the passenger

52

d choose the itinerary m.

ωd : Size of the segment d.

DECISION VARIABLES

qm : = 1, if itinerary m is included in the flight schedule, =0, otherwise.

θf k : = 1, when the flight leg f is flown with the aircraft k, = 0 otherwise.

zk,a,t+ : The number of aircraft k on the ground at the airport a immediately after time

t.

zk,a,t− : The number of aircraft k on the ground at the airport a immediately before time

t.

If t1 and t2 are the times associated with adjacent events then zk,a,t+ = zk,a,t− .

1 2

Pricing model:

f arem : Price charged to every passenger on the itinerary m. We make a slight abuse of

notation by modelling the price of a flight leg with the same variable but indexed with

f.

xjnm : = 1, when the n-th attribute is assigned to the j-th level in the itinerary m, = 0

otherwise. These are binary constants for m ∈ M c (competitive itineraries) and binary

decision variables for m ∈ M .

xj0m : =1, when a passenger is charged with the j-th possible price for itinerary m.

f arejm: j-th level of the price for the itinerary m.

53

Annexe

f= e(Um −f arem ) qm ωm

M

X

e(Um −f arem ) qm − e(Udm1 −f arem1 ) qm1 − U0

1 m1 =1

+ (f arem − cm )

M M

X X

e(Um1 −f arem1 ) qm1 + U0 ( e(Um1 −f arem1 ) qm1 + U0 )2

m1 =1 m1 =1

M

(Um2 −f arem2 ) q

(Um −f arem ) (f arem2 − cm2 )e m2 ωm

X

+ qm e

M

m2 6=m

X

( e(Um1 −f arem1 ) q + U )2

m1 0

m1 =1

M

X

e(Ud m−f arem ) qm − e(Um1 −f arem1 ) qm1 − U0

m1 =1

c1 = δf m e(Um −f arem )

M

X

(Um1 −f arem1 ) 2

( e m1q +U )0

m1 =1

M

(U −f arem2 ) q

(Um −f arem ) e m2 m2 δf m2 ωm

X

+ e

M

m2 6=m

X

(Um1 −f arem1 ) 2

( e qm1 + U0 )

m1 =1

f =0

K

X

c1 = capk

k=1

f = −cf k

c1 = 0

54

- Derivatives with respect to qm for given m

M

X

e(Um1 −f arem1 ) qm1 + U0 − qm e(Um −f arem )

m =1

f = (f arem − cm ωm e(Um −f arem ) 1

M

X

(Um1 −f arem1 ) 2

( e qm1 + U0 )

m1 =1

M

(Um −f arem ) (f arem2 − cm2 )e(Um2 −f arem2 ) qm2 ωm2

X

− e M

m2 6=m

X

( e(Um1 −f arem1 ) qm1 + U0 )2

m1 =1

M

X

(Um1 −f arem1 ) (Ud m−f arem )

e qm1 + Ud0 − qm e

m =1

c1 = δf m ωm e(Um −f arem ) 1

M

X

( e(Um1 −f arem1 ) qm1 + U0 )2

m1 =1

M (U −f arem2 ) δ

(Um −f arem ) e m2 f m2 qm2 ωm

X

− e

M

m2 6=m

X

( e(Um1 −f arem1 ) qm1 + U0 )2

m1 =1

55

References

AIRLINE SCHEDULE DESIGN

[1] Barnhart C., Cohn A. (2004), Airline Schedule Planning: Accomplishments and

Oppertunities, MANUFACTURING SERVICE OPERATIONS MANAGEMENT,

Vol. 6, No. 1, Winter 2004, 3-22.

[2] Dobson G., Lederer P. (1993), Airline Scheduling and Routing in a Hub-and-

Spoke System, Transportation Science, Vol. 27, 281-297.

flight frequencies on an airline network under competitive conditions, Transporta-

tion Science 23 (1), 14-25

Models and Algorithms for Schedule Design and Fleet Assignment, Transportation

Science, Vol. 38, 19-32.

Journal of Transport Economics and Policy, Vol. 35, Part 2, May 2001, 195-222

[6] Erdmann A., Nolte A., Noltemeier A., Schrader R. (1999), Modelling and

Solving the Airline Schedule Generation Problem, Working Paper, ZAIK University

of Cologne.

[7] Soumis P., Ferland J.A., Rousseau M. (1980), A Model for Large Scale Aircraft

Routing and Scheduling Problems, Transportation Research, No. 14B, 191-201.

[8] Barnhart C., Lu F., Shenoi R. (1998), Integrated airline schedule planning,

Operations Research in the Airline Industry, 9, 384-403.

try, Column Generation, Kluwer Academic Publishers. Available at

https://netfiles.uiuc.edu/klabjan/www.

[10] Grosche T., Heinzl A. (2003), Simultane Erstellung von Flugänen mit Genetis-

chen Algorithmen, Working Papers in Information Systems, Working Paper 8 /

March 2003, University of Mannheim

[11] Mathaisel D. (1997), Decision Support for Airline Schedule Planning, Journal of

Combinational Optimization 1, 251-275

56

PRODUCT LINE DESIGN

[12] Dobson G., Kalish S. (1998), Positionning and Pricing a Product Line, Market-

ing Science 2 (2), 107-124

unter Berücksichtigung des Kundennutzens, Zeitschrift für Betriebswirtschaft 65

(8), 835-855.

[14] Green P.E., Krieger A.M.(1985), Models and Heuristics for Product Line Se-

lection, Marketing Science 4 (1), 1-19

[15] Kohli R., Krishnamurti R.(1989), Optimal product design using conjoint analy-

sis: Computational complexity and algorithms, European Journal of Operational

Research 40, 186-195

[16] Natter M., Feurstein M.(2001), Real World Performance of Choice-Based Con-

joint Models, Report Series, Report No. 58, June 2001, Vienna University of Eco-

nomics and Business Administration

Conjoint Processes with Integrated Choice Experiments, Journal of Marketing Re-

search, Vol. 31, 1994, 92-105

[18] Green P.E., Krieger A. M., Agarwal M. K.(1991), Adaptive Conjoint Analy-

sis: Some Caveats and Suggestions, Journal of Marketing Research, Vol. 28, 1991,

215-222

[19] Kohli R., Sukumar R.(1990), Heuristics for Product Line Design Using Conjoint

Analysis, Managemenent Science, Vol. 36(12), December, 1464-1478

[20] Leyffer S.(1998), Integrating QP and branch-and-bound for Mixed Integer Non-

linear Programming, 1998, 1-13

and Management Science, Volume 15, 467-515

57