Académique Documents
Professionnel Documents
Culture Documents
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
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.
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.
3
Figure 1: Airline Schedule Design subproblems.
(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.
(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
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.
(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.
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.
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.
10
Rank Price (euros) Duration (minutes)
1 100 60
2 120 70
3 140 75
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.
- Choose the form in which the combinations will be presented to the respondents.
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 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
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.
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
.
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.
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.
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.
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
′
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.
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:
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
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
22
e(Udm −f arem ) qm
pdm = (30)
|M |
X
e(Udm′ −f arem′ ) qm′ + Ud0
m′ =1
where
23
- The total cost for assigning fleets to flight legs:
XX
C1 = cf k θf k (35)
f ∈Ω k∈K
- 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
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
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
5 Solution Approaches
As for the solution approaches, we consider the formulation with utility at the itinerary
level, exposed in 4.4.2.
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.
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.
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.
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:
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
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.
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
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
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 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
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.
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.
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%
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:
(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:
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
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.
[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.
[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
[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
[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
57