Airline Schedule Planning Integrated Flight Schedule Design and

advertisement
Diplomarbeit
Airline Schedule Planning
Integrated Flight Schedule Design and
Product Line Design
Universität Karlsruhe (TH)
Fakultät für Informatik
Institut für Algorithmen und Kognitive Systeme
Fakultät für Wirtschaftswissenschaft
Institut für Wirtschaftstheorie und Operations Research
Betreuer (IAKS): Prof. Dr. Jacques Calmet
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 Literaturhilfsmittel verwendet.
Karlsruhe, den 22. Juni 2006
Andriniaina Rabetanety
Contents
1 Introduction
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Outline of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
2
2 Airline Schedule Design
2.1 The Five steps of Airline Schedule Design . . . . .
2.1.1 Route Development . . . . . . . . . . . . .
2.1.2 Schedule Design . . . . . . . . . . . . . . .
2.1.3 Fleet Assignment . . . . . . . . . . . . . . .
2.1.4 Aircraft Maintenance Routing . . . . . . . .
2.1.5 Crew Paring or Crew Scheduling . . . . . .
2.2 State-of-the-art of Airline Schedule Design . . . . .
2.2.1 Incremental Airline Schedule Design . . . .
2.2.2 Integrated models . . . . . . . . . . . . . .
2.2.3 Pricing problem in Airline Schedule Design
2.2.4 Solution methodologies . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
4
5
6
6
7
7
8
8
9
3 Product Line Design
3.1 Conjoint analysis . . . . . . . . . .
3.2 State-of-the-art of conjoint analysis
3.3 Preference model . . . . . . . . . .
3.4 Choice rules . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10
10
12
12
13
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
14
15
15
16
16
18
18
19
20
22
23
24
24
25
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Integrated model for airline schedule generation and product line design
4.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Mandatory and Optional flight legs . . . . . . . . . . . . . . . . .
4.1.2 Airline Passenger Demand . . . . . . . . . . . . . . . . . . . . . .
4.1.3 Airline Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.4 Fleet Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.5 Competitive flights . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Interaction between passenger demand and airline supply . . . . . . . .
4.2.1 Passenger Mix Model . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Conjoint analysis at the itinerary attribute level . . . . . . . . .
4.2.3 Conjoint analysis at the itinerary level . . . . . . . . . . . . . . .
4.3 Objective Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Formulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Formulation with utility at itinerary attribute level . . . . . . . .
4.4.2 Formulation with utility at the itinerary level . . . . . . . . . . .
4.4.3 Formulation with utility at the itinerary level without demand
segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ii
. 26
5 Solution Approaches
5.1 Problem class . . . . . . . . . . . .
5.2 Branch-and-Bound . . . . . . . . .
5.3 Sequential Quadratic Programming
5.4 Incremental airline schedule model
. . . . . .
. . . . . .
methods
. . . . . .
6 Implementation
6.1 Framework . . . . . . . . . . . . . . . . . . .
6.2 Numerical Algorithms Group library (eu04cc)
6.3 Branch-and-Bound algorithm . . . . . . . . .
6.3.1 Formal description . . . . . . . . . . .
6.3.2 Improving Branch-and-Bound through
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
27
28
28
29
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
search strategy
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
29
29
29
33
33
33
. . . . . .
schedule
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
35
35
37
41
46
48
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7 Computational Results
7.1 Problem with 1 OD-Pair . . . . . . . . . . . . . . . .
7.2 Influence of the consumer preference on the optimum
7.3 Performance of the first call of the SQP function . .
7.4 Performance of the Branch-And-Bound algorithm . .
7.5 Truncated Branch-And-Bound algorithm . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8 Conclusion
50
8.1 Summary of contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8.2 Future Research Directions . . . . . . . . . . . . . . . . . . . . . . . . . . 51
iii
List of Figures
1
2
3
4
5
6
7
8
9
10
11
12
13
Airline Schedule Design subproblems. . . . . . . . . . . . . .
Incremental approach with base and master flight list . . . .
Time Line Network for an aircraft type . . . . . . . . . . . .
Unfeasible schedule based on the Time Line Network figure 3
Feasible schedule based on the Time Line Network figure 3 .
Flow Chart for incremental solution. . . . . . . . . . . . . . .
Formal description of the basic Branch-And-Bound algorithm
Branch-and-Bound with Best first search. . . . . . . . . . . .
Combination of Best first and Depth first tree search. . . . .
Formal description of the Branch-and-Bound algorithm with
search strategies. . . . . . . . . . . . . . . . . . . . . . . . . .
Example with 2 OD-Pairs. . . . . . . . . . . . . . . . . . . . .
Example with 5 OD-Pairs. . . . . . . . . . . . . . . . . . . . .
Time line Network for the example with 5 OD-pairs. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
combined
. . . . . .
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
4
15
17
17
18
30
33
34
35
.
.
.
.
36
38
43
44
Three itineraries with two attributes . . . . . . . . . . . . . . . . . . . . .
Conjoint analysis with two attributes and six level sets . . . . . . . . . . .
Examples of itinerary attributes . . . . . . . . . . . . . . . . . . . . . . . .
State-of-the-art of conjoint analysis. . . . . . . . . . . . . . . . . . . . . .
Numerical values of the parameters for the first example. . . . . . . . . .
Initial and final point for the first example . . . . . . . . . . . . . . . . . .
Parameters for an airline network with 2 OD-Pairs . . . . . . . . . . . . .
Initial and final point for the second example . . . . . . . . . . . . . . . .
Influence of the utility to the flight f1 . . . . . . . . . . . . . . . . . . . .
Initial point with both flight legs included . . . . . . . . . . . . . . . . . .
Other convergence point. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Three outcomes of the SQP function for feasible starting points . . . . . .
Size of the constraint matrix . . . . . . . . . . . . . . . . . . . . . . . . .
Parameters for an example with 5 OD Pairs . . . . . . . . . . . . . . . . .
Approximative evaluation of the performance to find the starting point of
the Branch-And-Bound. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Starting point for the Branch-And-Bound algorithm. . . . . . . . . . . . .
Output of the Branch-And-Bound algorithm. . . . . . . . . . . . . . . . .
”Bad” starting point for the Branch-And-Bound algorithm. . . . . . . . .
Output of the Branch-And-Bound algorithm with a ”bad” starting point.
Performance of the complete algorithm with five OD-Pairs. . . . . . . . .
11
11
12
12
37
38
39
40
40
41
42
42
43
45
List of Tables
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1
46
46
47
48
48
49
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 consumers 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 involved 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 problem (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.
1.2 Outline of the thesis
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 fundamental 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 between 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 Branchand-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.
2 Airline Schedule Design
In this section, we introduce first the components of the airline schedule generation problem 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.
2.1 The Five steps of Airline Schedule Design
The airline schedule generation problem takes the airline passenger demand, airport and
aircraft characteristics, maintenance and personal requirements as incomes. The outcome 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 decision variables, it has been divided into five more manageable and sequentially computed
3
Figure 1: Airline Schedule Design subproblems.
subproblems: Route development, Schedule Design, Fleet Assignment, Aircraft Maintenance 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.
2.1.1 Route Development
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.
2.1.2 Schedule Design
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 development 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.
2.1.3 Fleet Assignment
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:
(1) Assignment constraints. Each flight must be assigned to one fleet.
(2) Flow balance or Flow conservation. Considering an airport at a time t, the
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
θf k + zk,a,t+ −
X
θf k − zk,a,t− = 0
∀{k, a, t} ∈ P
(3)
f ∈O(k,a,t)
f ∈I(k,a,t)
X
a∈A
zk,a,t +
X
θf k ≤ Nk
∀k ∈ K
(4)
f ∈Ωk
θf k binary and zk,a,t ≥ 0
5
(5)
where
A:
P :
Set of airports, indexed by a.
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.
The number of aircraft k on the ground at the airport a immediately after time t.
zk,a,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.
2.1.4 Aircraft Maintenance Routing
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 requirements 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.
2.1.5 Crew Paring or Crew Scheduling
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 decreased 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.
2.2.1 Incremental Airline Schedule Design
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:
(1) re-scheduling within small time windows,
(2) adding subsets of flights to or deleting them from the schedule.
Therefore, there are four different approaches to the problem, namely,
(1) allowing only flight re-timing,
(2) allowing only flight additions and/or deletions,
(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 additions 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 description1 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 interaction 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 customer choice model to cast the relationship between demand and supply.
2.2.2 Integrated models
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.
- Schedule Design and Fleet Assignment. Lohatepanont M., Barnhart C.
present two integrated models that optimize the selection of legs and the assignment of aircraft types observing the demand and supply interaction: the integrated schedule design and fleet assignment model (ISD-FAM) and the approximate 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.
- Fleet Assignment and Aircraft Routing. Barnhart C. et al. [8] develop an
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.
- Aircraft Routing and Crew Scheduling. Klabjan D. [9] proposes to solve
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.
2.2.3 Pricing problem in Airline Schedule Design
Our model casts the interaction between the consumer choice of itineraries and the optimization 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 pricetime ”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 recaptures 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 comparison, 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. Passengers 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.
2.2.4 Solution methodologies
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 decompose 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.
3 Product Line Design
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 evaluate 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.
3.1 Conjoint analysis
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 attributes, 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
1
2
3
Price (euros)
100
120
140
Duration (minutes)
60
70
75
Table 1: Three itineraries with two attributes
Price/Duration
100
120
140
60
1
4
7
70
2
5
8
75
3
6
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 respondent 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.
In conjoint analysis, products are described as a set of attributes or features, of which
level sets can vary. Respondents rank in terms of preference each combination of attribute 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.
- Determine attributes for example price, number of stopovers, duration or delay of
the trip.
- Choose level sets for each attribute.
- Define products as a combination of attribute levels.
- Choose the form in which the combinations will be presented to the respondents.
- Select the technique to be used to analyse the collected data.
- Select the measurement scale.
- Choose an estimation method.
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
Price of the flight
Reservation/Flight class
Sales conditions
Quality of Service
Schedule-oriented criteria
Departure/Arrival airport
Duration or delay of the trip
Number of stopovers
Frequency of the flight
Table 3: Examples of itinerary attributes
Stage
Preference Model
Measurement Scale
Estimation Procedure
Choice Rules
Variants of Conjoint Analysis
Models
Vector Model; Mixed Model; Ideal Point Model;
Rating Scale; Paired Comparison; Rank order;
Choice-based;
Metric and Non-Metric Regression; MONANOVA;
PREFMAP;LINMAP; Multiple Regression;
LOGIT; PROBIT; Hybrid;
Maximum Utility (First Choice); Average Choice;
LOGIT; PROBIT;
Adaptive CA; bridging CA; Limit CA;
Table 4: State-of-the-art of conjoint analysis.
3.2 State-of-the-art of conjoint analysis
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 multipleproduct.
3.3 Preference model
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
fn (xjn )
(7)
uj =
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
3.4 Choice rules
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
pid : The probability that a customer d chooses the product i.
uid : The utility of the d-th customer for the product i.
I:
The set of all the products, indexed with i.
- Bradley-Terry-Luce (BTL) or share of utility rule The probability to select
a product corresponds to the relative utility of the product, as shown in equation
(10).
uid
(10)
pid = X
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
uαi′ d
i′ ∈I
where
α : The market parameter.
13
(11)
- Multinomial Logit (MNL) Rule The LOGIT model uses an assigned choice
probability that is proportional to an increasing monotonic function of the alternative’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 Integrated model for airline schedule generation and product
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 airportdestination, 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
.
4.1.1 Mandatory and Optional flight legs
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.
4.1.2 Airline Passenger Demand
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 alternative 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.
4.1.3 Airline Supply
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.
4.1.4 Fleet Assignment
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
.
Figure 4: Unfeasible schedule based on the Time Line Network figure 3
.
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.
4.1.5 Competitive flights
A consumer can also be attracted by a competitive flight. Our model takes the competition 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.
4.2 Interaction between passenger demand and airline supply
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
(13)
f arem xmm′
m∈M m′ ∈M
X X
m∈M
δmf xmm′ ≤ CAPf
∀f ∈ Ω
(14)
m′ ∈M
X xmm′
≤ Dm
bmm′
′
∀m ∈ M
(15)
m ∈M
xmm′ ≥ 0
∀m, m′ ∈ M
(16)
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 .
the recovery rate of passengers desiring itinerary m who are offered itinerary m′ .
bmm′ :
δ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 demand 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 unconstrained 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]:
(1) Conjoint analysis with decisions at the itinerary attribute level.
(2) Conjoint analysis with decisions at itinerary level.
We discuss advantages and disadvantages of each approach in the next two sections.
4.2.2 Conjoint analysis at the itinerary attribute level
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):
pdm =
N1 X
Jn
X
xjnmudjn
n=1 j=1
|M |+|M c | N1 Jn
X XX
(
m1 =1
xjnm1 udjn )
n=1 j=1
exp(
pdm =
(21)
N1 X
Jn
X
xjnmudjn )
m=1 j=1
|M |+|M c |
X
m1 =1
(exp(
N1 X
Jn
X
(22)
xjnm1 udjn ))
n=1 j=1
where:
N1 :
Set of attributes of an itinerary, indexed by n.
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 attribute, 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).
J0
X
xj0m f arejm
∀m ∈ M
(23)
j=1
where
J0 :
Set of possible prices, indexed by l.
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.
pdm =
N X
Jn
X
xjnm udjn qm
n=0 j=1
|M | N Jn
X
XX
|M c |
xjnm1 udjn qm1 +
m1 =1 n=0 j=1
(24)
x′jnm1 udjn
m1 =|M |+1 n=0 j=1
exp(
pdm =
N X
Jn
X
X
N X
Jn
X
xjnm udjn )qm
n=0 j=1
|M |
X
m1 =1
exp(
N X
Jn
X
|M c |
xjnm1 udjn )qm1 +
n=0 j=1
X
m1 =|M |+1
exp(
N X
Jn
X
(25)
x′jnm1 udjn )
n=0 j=1
where
N:
xjnm1
x′jnm1
qm :
Set of attributes of an itinerary, with the price as first attribute and the other
attributes are service-oriented.
are decision variables.
are binary constant.
=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.
Jn
X
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
X
Jn+1
xjnm =
j=1
X
xj(n+1)m
∀n ∈ N, ∀m ∈ M
(27)
j=1
We cast both requirements in equation (28).
Jn
X
xjnm = qm
∀n ∈ N, ∀m ∈ M
(28)
j=1
This approach considers the assignment of a level to an attribute (xjnm ) as decision
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.
4.2.3 Conjoint analysis at the itinerary level
At the itinerary level, utilities are associated with itineraries, instead of itinerary attributes. 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:
pdm =
max(Udm − f arem , 0)qm
|M |
X
max(Udm′ − f arem′ , 0)qm′ + Ud0
m′ =1
22
(29)
e(Udm −f arem ) qm
pdm =
|M |
X
(30)
e(Udm′ −f arem′ ) qm′ + Ud0
m′ =1
where
Ud0 :
Given utility of passenger segment d for competitive itineraries.
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:
N X
Jn
X
xjnm udjn
(31)
Udm =
n=0 j=1
|M c |
Ud0 =
X
Jn
N X
X
x′jnm1 udjn
(32)
m1 =|M |+1 n=0 j=1
Thus (24) can be deduced from (29).
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 sensitive to prices in this approach.
4.3 Objective Function
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:
R=
X
J0
X X
xj0m f arejm pdm ωd
(33)
m∈M d∈demm j=1
R=
X
X
m∈M d∈demm
23
f arem pdm ωd
(34)
- The total cost for assigning fleets to flight legs:
XX
C1 =
cf k θf k
(35)
f ∈Ω k∈K
- The total cost for carrying passengers:
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 formulations 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 simplification was decided for implementation’s purpose.
4.4.1 Formulation with utility at itinerary attribute level
max(
X
X
J0
XX
X
xj0m f arejm − cm )pdm ωd −
(
cf k θf k )
m∈M d∈demm j=1
(38)
f ∈Ω k∈K
subject to
X
X
m∈M d∈demm
∀f ∈ Ω
capk θf k
N X
Jn
X
xjnm udjn )qm
n=0 j=1
|M |
X
exp(
m1 =1
X
Jn
N X
X
|M c |
xjnm1 udjn )qm1 +
n=0 j=1
X
exp(
m1 =|M |+1
X
θf k + zk,a,t− −
f ∈I(k,a,t)
(39)
k∈K
exp(
pdm =
X
δf m pdm ωd ≤
Jn
N X
X
(40)
x′jnm1 udjn )
n=0 j=1
θf k − zk,a,t+ = 0
∀{k, a, t} ∈ P
(41)
f ∈O(k,a,t)
X
zk,a,t +
θf k ≤ Nk
∀k ∈ K
(42)
f ∈Ωk
a∈A
qm −
X
X
θf k ≤ 0
∀f ∈ Ωm , ∀m ∈ M
k∈K
24
(43)
qm −
X X
θ f k ≥ 1 − Nm
∀m ∈ M O
(44)
f ∈Ωm k∈K
X
θf k ≤ 1
∀f ∈ ΩO
(45)
X
θf k = 1
∀f ∈ ΩM
(46)
k∈K
k∈K
Jn
X
xjnm = qm
∀n ∈ N, ∀m ∈ M
(47)
j=1
zk,a,t ≥ 0
θf k
xjnm
∀{k, a, t} ∈ P
∀f ∈ Ω, ∀k ∈ K
binary
binary
qm
(48)
(49)
∀j ∈ Jn , ∀n ∈ N, ∀m ∈ M
∀m ∈ M
binary
(50)
(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.
4.4.2 Formulation with utility at the itinerary level
max(
X
X
(f arem − cm )pdm ωd −
XX
cf k θf k )
(52)
f ∈Ω k∈K
m∈M d∈demm
subject to
X
X
δf m pdm ωd ≤
m∈M d∈demm
pdm =
X
e(Udm −f arem ) qm
|M |
X
capk θf k
∀f ∈ Ω
(53)
k∈K
∀d ∈ demm , ∀m ∈ M
e(Udm′ −f arem′ ) qm′ + Ud0
m′ =1
25
(54)
X
X
θf k + zk,a,t− −
θf k − zk,a,t+ = 0
∀{k, a, t} ∈ P
(55)
f ∈O(k,a,t)
f ∈I(k,a,t)
X
X
zk,a,t +
θf k ≤ Nk
∀k ∈ K
(56)
f ∈Ωk
a∈A
qm −
X
θf k ≤ 0
∀f ∈ Ωm , ∀m ∈ M
(57)
k∈K
X X
qm −
∀m ∈ M O
θ f k ≥ 1 − Nm
(58)
f ∈Ωm k∈K
f arem ≤
X
∀m ∈ M
f aref
(59)
f ∈Ωm
X
θf k = 1
∀f ∈ ΩM
(60)
X
θf k ≤ 1
∀f ∈ ΩO
(61)
k∈K
k∈K
zk,a,t ∈ N
∀{k, a, t} ∈ P
(62)
∀m ∈ M
(63)
f arem ≥ 0
θf k
binary
qm
∀f ∈ Ω, ∀k ∈ K
(64)
∀m ∈ M
(65)
binary
Schedule generation and fleet assignment constraints are the same as the first formulation. 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
max(
X
(f arem − cm )pm ωm −
XX
cf k θf k )
(66)
f ∈Ω k∈K
m∈M
subject to
X
δf m pm ωm ≤
m∈M
pm =
X
capk θf k
∀f ∈ Ω
(67)
k∈K
e(Um −f arem ) q
m
|M |
X
e(Um′ −f arem′ ) qm′ + U0
m′ =1
26
∀m ∈ M
(68)
X
X
θf k + zk,a,t− −
θf k − zk,a,t+ = 0
∀{k, a, t} ∈ P
(69)
f ∈O(k,a,t)
f ∈I(k,a,t)
X
X
zk,a,t +
θf k ≤ Nk
∀k ∈ K
(70)
f ∈Ωk
a∈A
qm −
X
θf k ≤ 0
∀f ∈ Ωm , ∀m ∈ M
(71)
k∈K
qm −
X X
θ f k ≥ 1 − Nm
∀m ∈ M O
(72)
f ∈Ωm k∈K
f arem ≤
X
f aref
∀m ∈ M
(73)
f ∈Ωm
X
θf k = 1
∀f ∈ ΩM
(74)
X
θf k ≤ 1
∀f ∈ ΩO
(75)
k∈K
k∈K
zk,a,t ∈ N
∀{k, a, t} ∈ P
(76)
∀m ∈ M
(77)
f arem ≥ 0
θf k
binary
qm
binary
∀f ∈ Ω, ∀k ∈ K
(78)
∀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.
5.1 Problem class
The first observation is that our model is not linear because of the choice model leading 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 nonlinear problem (NLP) at each node. We have chosen this implementation because optimization 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.
5.3 Sequential Quadratic Programming 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.
5.4 Incremental airline schedule model
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 Branchand-Bound with different search strategies.
6.2 Numerical Algorithms Group library (eu04cc)
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.
e04ucc(n, nclin, ncnlin, &a[0][0], tda, bl, bu,
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:
staticvoidN AG CALLobjf un(Integern, doublex[], double ∗ objf,
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 maximization 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
δf m pm ωm ≤
m∈M
X
(81)
k∈K
e(Um −f arem ) q
pm =
∀f ∈ Ω
capk θf k
m
∀m ∈ M
|M |
X
(82)
e(Um′ −f arem′ ) qm′ + U0
m′ =1
X
X
θf k + zk,a,t− −
f ∈I(k,a,t)
θf k − zk,a,t+ = 0
∀{k, a, t} ∈ P
(83)
f ∈O(k,a,t)
X
θf k ≤ Nk
∀k ∈ K
(84)
f ∈Ωk
a∈A
qm −
X
zk,a,t +
X
θf k ≤ 0
∀f ∈ Ωm , ∀m ∈ M
(85)
k∈K
qm −
X X
θ f k ≥ 1 − Nm
∀m ∈ M O
(86)
f ∈Ωm k∈K
f arem ≤
X
f aref
∀m ∈ M
(87)
f ∈Ωm
X
θf k = 1
k∈K
31
∀f ∈ ΩM
(88)
X
∀f ∈ ΩO
θf k ≤ 1
(89)
k∈K
zk,a,t ∈ N
∀{k, a, t} ∈ P
(90)
∀m ∈ M
(91)
f arem ≥ 0
θ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 number 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:
X
XX
cf k θf k −
(f arem − cm )pm ωm )
(93)
min(
f ∈Ω k∈K
X
m∈M
δf m pm ωm ≤
m∈M
pm =
X
∀f ∈ Ω
capk θf k
(94)
k∈K
e(Um −f arem ) q
m
∀m ∈ M
|M |
X
(95)
e(Um′ −f arem′ ) qm′ + U0
m′ =1
X
θf k + zk,a,t+ −
f ∈I(k,a,t)
X
θf k − zk,a,t− = 0
∀{k, a, t} ∈ P
(96)
f ∈O(k,a,t)
X
zk,a,t +
X
θf k ≤ Nk
X
f aref
∀k ∈ K
(97)
f ∈Ωk
a∈A
f arem ≤
∀m ∈ M
(98)
f ∈Ωm
zk,a,t ∈ N
∀{k, a, t} ∈ P
(99)
∀m ∈ M
(100)
f arem ≥ 0
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
Figure 7: Formal description of the basic Branch-And-Bound algorithm
6.3 Branch-and-Bound algorithm
6.3.1 Formal description
Branch-and-Bound algorithms allow to reduce the ”solution space”. Each node is evaluated 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.
6.3.2 Improving Branch-and-Bound through search strategy
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.
7.1 Problem with 1 OD-Pair
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ω
− (c00 θ00 + c01 θ01 ))
(101)
max((f are − c) (U −f are)
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
U0
U1
DEMAND FACTOR
ω0
ASSIGNMENT COST
costa00
costa01
PASSENGER COST
costm0
CAPACITY OF AIRCRAFT
cap0
cap1
Value
20
23
20
10
20
10
50
40
Table 5: Numerical values of the parameters for the first example.
shows the initial point and the optimum.
7.2 Influence of the consumer preference on the optimum schedule
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
z000 = 0
z001 = 0
z010 = 0
z011 = 0
z100 = 1
z101 = 0
z110 = 0
z111 = 1
final zk,a,t
z000 = 1
z001 = 0
z010 = 0
z011 = 1
z100 = 0
z101 = 0
z110 = 0
z111 = 0
initial θf k
θ00 = 0
θ01 = 1
initial f arem
f are0 = 22
initial qm
q0 = 1
initial objf un
8,716416
final θf k
θ00 = 1
θ01 = 0
final f arem
f are0 = 18.051086
final qm
q0 = 1
final objf un
131,021721
Table 6: Initial and final point for the first example
Figure 11: Example with 2 OD-Pairs.
38
UTILITY
U0
U1
U2
DEMAND FACTOR
ω0
ω1
ASSIGNMENT COST
costa00
costa01
costa10
costa11
PASSENGER COST
costm0
costm1
CAPACITY OF AIRCRAFT
cap0
cap1
Value
20
23
40
20
18
10
20
10
20
10
20
50
40
Table 7: Parameters for an airline network with 2 OD-Pairs
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 displayed 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
z000 = 1
z001 = 0
z010 = 0
z011 = 1
z020 = 0
z021 = 0
z100 = 0
z101 = 0
z110 = 0
z111 = 0
z120 = 1
z121 = 1
final zk,a,t
z000 = 0
z001 = 0
z010 = 0
z011 = 1
z020 = 1
z021 = 0
z100 = 0
z101 = 0
z110 = 0
z111 = 0
z120 = 0
z121 = 0
initial θf k
θ00 = 0
θ01 = 1
θ10 = 0
θ11 = 0
initial f arem
f are0 = 22
f are1 = 20
initial qm
q0 = 1
q1 = 0
initial objf un
15.213931
final θf k
θ00 = 0
θ01 = 0
θ10 = 1
θ11 = 0
final f arem
f are0 = 0
f are1 = 33.522340
final qm
q0 = 0
q1 = 1
final objf un
575.402129
Table 8: Initial and final point for the second example
Utility
40
35
30
27
(optimum) Price
33.522340
28,683434
23.874256
19,107958
Probability (f1 )
0.970169
0.965137
0.958114
0.952399
Table 9: Influence of the utility to the flight f1
40
initial zk,a,t
z000 = 1
z001 = 0
z010 = 0
z011 = 1
z020 = 0
z021 = 0
z100 = 0
z101 = 0
z110 = 0
z111 = 0
z120 = 1
z121 = 1
initial θf k
θ00 = 0
θ01 = 1
θ10 = 1
θ11 = 0
initial f arem
f are0 = 37
f are1 = 33.5700
initial qm
q0 = 1
q1 = 1
initial objf un
555.382006
Table 10: Initial point with both flight legs included
generate a schedule with two flight legs (respectively with one flight leg).
This second test underlines two aspects of our approach:
(1) In our model prices and the probability of choosing a flight leg are sensitive to utilities. 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 (Branchand-Bound and SQP function) for a larger problem.
7.3 Performance of the first call of the SQP function
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
z000 = 1
z001 = 0
z010 = 0
z011 = 1
z020 = 0
z021 = 0
z100 = 0
z101 = 0
z110 = 0
z111 = 0
z120 = 1
z121 = 1
final zk,a,t
z000 = 1
z001 = 0
z010 = 0
z011 = 1
z020 = 1
z021 = 0
z100 = 0
z101 = 0
z110 = 0
z111 = 0
z120 = 1
z121 = 1
initial θf k
θ00 = 0
θ01 = 1
θ10 = 1
θ11 = 0
initial f arem
f are0 = 33
f are1 = 33.6
initial qm
q0 = 1
q1 = 1
initial objf un
555.402107
final θf k
θ00 = 0
θ01 = 1
θ10 = 1
θ11 = 0
final f arem
f are0 = 33.000072
f are1 = 33.522340
final qm
q0 = 0.999932
q1 = 1.000000
final objf un
427.485113
Table 11: Other convergence point.
OUTCOME
Current point can not be improved upon.
First-Order-Kuhn-Tucker constraints are not satisfied
Convergence to the optimum convergence point
Convergence to the second convergence point
PERCENTAGE OF CALLS
5%
80%
15%
Table 12: Three outcomes of the SQP function for feasible starting points
42
Variables
zk,a,t
f arem
θf k
qm
Total number of variables
Constraints
Linear
Nonlinear
Total number of constraints
60
5
10
5
80
90
5
95
Table 13: Size of the constraint matrix
Figure 12: Example with 5 OD-Pairs.
43
Figure 13: Time line Network for the example with 5 OD-pairs.
44
UTILITY
U0
U1
U2
U3
U4
U5
DEMAND FACTOR
ω0
ω1
ω2
ω3
ω4
ASSIGNMENT COST
costa00
costa01
costa10
costa11
costa20
costa21
costa30
costa31
costa40
costa41
PASSENGER COST
costm0
costm1
costm2
costm3
costm4
CAPACITY OF AIRCRAFT
cap0
cap1
Value
20
23
21
24
29
49
20
23
18
20
35
10
20
12
19
38
43
46
23
48
50
10
15
17
16
23
50
40
Table 14: Parameters for an example with 5 OD Pairs
45
OUTCOME
Current point can not be improved upon.
First-Order-Kuhn-Tucker constraints are not satisfied
Convergence to the optimum convergence point
Large error in the derivatives
Convergence to other convergence points
PERCENTAGE OF CALLS
5%
80%
5%
10%
Table 15: Approximative evaluation of the performance to find the starting point of the
Branch-And-Bound.
θ40
θf k
θ00 = 0
θ01 = 0
θ10 = 0
θ11 = 0
θ20 = 0
θ21 = 0
θ30 = 0
θ31 = 0
= 0.692170
θ41 = 0
f arem
f are0 = 38
f are1 = 20
f are2 = 39
f are3 = 39
f are4 = 42.707412
qm
q0 = 0
q1 = 0
q2 = 0
q3 = 0
q4 = 0.692170
objf un
621.535666
Table 16: Starting point for the Branch-And-Bound algorithm.
does not converge, either the starting point implies a large error in the nonlinear constraints 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.
7.4 Performance 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
θ00 = 0
θ01 = 0
θ10 = 0
θ11 = 0
θ20 = 0
θ21 = 0
θ30 = 0
θ31 = 0
θ40 = 1
θ41 = 0
f arem
f are0 = 38
f are1 = 20
f are2 = 37.973351
f are3 = 37.221707
f are4 = 43.056842
qm
q0 = 0
q1 = 0
q2 = 0
q3 = 0
q4 = 1
objf un
618.989454
Table 17: Output of the Branch-And-Bound algorithm.
covered nodes represents the number of iterations of the algorithm.
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 algorithm 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, displayed 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 solution 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
θ00 = 1
θ01 = 0
θ10 = 0.7897521
θ11 = 0
θ20 = 1
θ21 = 0
θ30 = 0
θ31 = 0.897212
θ40 = 0
θ41 = 1
f arem
f are0 = 27.000004
f are1 = 21.038100
f are2 = 42.793679
f are3 = 27.000000
f are4 = 60.210052
qm
q0 = 0
q1 = 0
q2 = 0.887961
q3 = 0
q4 = 0.996996
objf un
307.650319
Table 18: ”Bad” starting point for the Branch-And-Bound algorithm.
θf k
θ00 = 1
θ01 = 0
θ10 = 1
θ11 = 0
θ20 = 1
θ21 = 0
θ30 = 0
θ31 = 0
θ40 = 0
θ41 = 1
f are0
f are1
f are2
f are3
f are4
f arem
= 27.000004
= 21.038100
= 42.793679
= 27.000000
= 60.210052
qm
q0 = 0
q1 = 0
q2 = 1
q3 = 0
q4 = 1
objf un
293.286222
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.
7.5 Truncated Branch-And-Bound algorithm
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
2
5
6
9
NB MAX ITERATIONS
4
19
26
40
CONVERGENCE OF SQP
20% − 30%
less than 12%
less than 8%
less than 6%
Table 20: Performance of the complete algorithm with five OD-Pairs.
Branch-and-Bound instead. We stop the algorithm when a feasible ”good” solution is
found. That is why our implementation is a heuristic. The difficulty is to find the criteria 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.
An alternative could be to set a time limit for the Branch-And-Bound algorithm. It
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 solution 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 feasible 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 algorithm, 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:
(1) The performance of the Branch-And-Bound, in terms of numbers of iterations until
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 considering 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 decision 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 implement 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 programming function. We use the library of the Numerical Algorithms Group to implement the
sequential quadratic programming method. We implement by ourselves a Branch-AndBound 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 objective 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 design. 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 additions/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:
- Apply the an integrated algorithm realized by Leyffer [20] to our model.
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.
- Implement a solution with genetic algorithm. This requires to find an
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 attributes 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 independent 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
Schedule generation and fleet assignment:
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
- Derivatives with respect to f arem for a given m
f=

e(Um −f arem ) qm ωm

M
X
e(Udm1 −f arem1 ) qm1 − U0 
e(Um −f arem ) qm −



1
m1 =1


+ (f arem − cm )
 M

M
 X

X


(
e(Um1 −f arem1 ) qm1 + U0 )2
e(Um1 −f arem1 ) qm1 + U0
m1 =1
m1 =1




M 

(Um2 −f arem2 ) q
X

m2 ωm 
(Um −f arem ) (f arem2 − cm2 )e
+

qm e
M


X
m2 6=m 
e(Um1 −f arem1 ) q + U )2 
(
m1
0
m1 =1


M
X
e(Um1 −f arem1 ) qm1 − U0 
e(Ud m−f arem ) qm −



m1 =1


c1 = δf m e(Um −f arem )

M


X


2
(Um1 −f arem1 )
q +U )
e
(
m1
0
m1 =1




M 

(U −f arem2 ) q
X
 (Um −f arem ) e m2

m2 δf m2 ωm
+
e

M


X
m2 6=m 
2
(Um1 −f arem1 )
qm1 + U0 )
e
(
m1 =1
- Derivatives with respect to zk,a,t for a given {k, a, t}
f =0
c1 =
K
X
capk
k=1
- Derivatives with respect to θf k for given f and k
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


2
(Um1 −f arem1 )
qm1 + U0 )
e
(
m1 =1




M 

X
 (Um −f arem ) (f arem2 − cm2 )e(Um2 −f arem2 ) qm2 ωm2 
−

e
M


X
m2 6=m 

e(Um1 −f arem1 ) qm1 + U0 )2
(
m1 =1

M
X
(Um1 −f arem1 )
(Ud m−f arem )
qm1 + Ud0 − qm e
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 ) δ
X
 (Um −f arem ) e m2

f m2 qm2 ωm
−
e

M


X
m2 6=m 
e(Um1 −f arem1 ) qm1 + U0 )2 
(
m1 =1
55







References
AIRLINE SCHEDULE DESIGN
Overview of airline schedule planning problem:
[1]
Barnhart C., Cohn A. (2004), Airline Schedule Planning: Accomplishments and
Oppertunities, MANUFACTURING SERVICE OPERATIONS MANAGEMENT,
Vol. 6, No. 1, Winter 2004, 3-22.
Airline schedule models with passenger behaviour model:
[2]
Dobson G., Lederer P. (1993), Airline Scheduling and Routing in a Hub-andSpoke System, Transportation Science, Vol. 27, 281-297.
[3]
Teodorovic D., Kremar-Nozic E.(1989), Multicriteria models to determine
flight frequencies on an airline network under competitive conditions, Transportation Science 23 (1), 14-25
Integrated airline schedule models:
[4]
Lohatepanont M., Barnhart C. (2004), Airline Schedule Planning: Integrated
Models and Algorithms for Schedule Design and Fleet Assignment, Transportation
Science, Vol. 38, 19-32.
[5]
Brueckner J., Zhang Y. (2001), A Model of Scheduling in Airline Networks,
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.
[9]
Klabdjan
D. (2003),
Large-scale models
try, Column Generation, Kluwer Academic
https://netfiles.uiuc.edu/klabjan/www.
in the airline indusPublishers. Available at
Implementation of airline schedule planning problem:
[10] Grosche T., Heinzl A. (2003), Simultane Erstellung von Flugänen mit Genetischen 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, Marketing Science 2 (2), 107-124
[13] Gaul W., Aust E., Baier D. (1995), Gewinnorientierte Produktliniengestaltung
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 Selection, Marketing Science 4 (1), 1-19
[15] Kohli R., Krishnamurti R.(1989), Optimal product design using conjoint analysis: Computational complexity and algorithms, European Journal of Operational
Research 40, 186-195
[16] Natter M., Feurstein M.(2001), Real World Performance of Choice-Based Conjoint Models, Report Series, Report No. 58, June 2001, Vienna University of Economics and Business Administration
[17] Oppewal H., Louviere J. J., Timmermans H.(1994), Modeling Hierarchical
Conjoint Processes with Integrated Choice Experiments, Journal of Marketing Research, Vol. 31, 1994, 92-105
[18] Green P.E., Krieger A. M., Agarwal M. K.(1991), Adaptive Conjoint Analysis: 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 Nonlinear Programming, 1998, 1-13
[21] Eliashberg J., Lilien G.L.(1998), Marketing, Handbooks in Operations Research
and Management Science, Volume 15, 467-515
57
Download