• No results found

Deterministic Models to Calculate Booking Limits

AircraftȱOperatingȱCarrier p g

4.2.2 Deterministic Models to Calculate Booking Limits

We consider deterministic models to obtain partitioned booking limits for the alliance partners on the considered single flight leg. The models proposed in this work are based on a Deterministic Linear Program (DLP) presented, e.g., by Williamson (1992) and discussed in Section 2.2.2.3.

In the following, the index of the operating carrier is l=1. The ticketing carrier is indexed by l=2. Let n1be the number of booking classes of the operating carrier and n2be the number of booking classes of the ticketing carrier. Let vjl > 0 be the revenue of a single ticket in booking class j of airline l with v1l v2l ... vnll. The total seat capacity is C and E[djl] > 0 describes the expected demand for tickets in booking class j of airline l. Denote the option price by x and the strike price by s (x, s 0).

OP≥0 describes the number of options the ticketing carrier purchases from the operating carrier. The decision variable is the booking limit bjlof booking class j of airline l.

The following linear optimization model determines the optimal number of seats that should be avail-able to each booking class of the operating carrier:

max

n1 j=1

vj1bj1 (4.1)

subject to

bj1≤E[dj1] j=1, ..., n1 (4.2)

n1

j=1

bj1 ≤C (4.3)

bj10 j=1, ..., n1 (4.4)

4.2 Determination of Booking Limits

The objective function (4.1) maximizes the revenue over all booking classes of the operating carrier, assuming that the booking limits of the single booking classes must not exceed the expected demand of the booking classes (4.2). Additionally, the sum of the booking limits of the booking classes has to be smaller than or equal to the available total seat capacity on the single flight leg (4.3). The booking limits of the booking classes are greater than or equal to zero (4.4).

This model can be solved optimally without linear programming: The booking limits of the booking classes can be set equal to the expected demand corresponding to the considered booking class (bj = E[dj1]) in the order of decreasing prices of the booking classes as long as there is enough remaining seat capacity (c E[dj1]). As soon as the remaining seat capacity is smaller than the expected demand for the considered class (c<E[dj1]), the booking limit of the booking class is set equal to the remaining seat capacity (bj = c). If not all of the booking classes are considered until then, the booking limits of the residual classes are set equal to zero (bj =0).

In the presence of a ticketing carrier, the operating carrier considers the requests coming from the tick-eting carrier as an additional, independent booking class n1+1 with its own expected value of demand (E[dn1+1,1]) and revenue (vn1+1,1). The operating carrier forecasts how many flight tickets the ticketing carrier will inquire on the considered flight and regards this forecast as the expected value of demand of the additional class. The revenue of the additional class equals to the sum of option price and strike price (x+s), which corresponds to the revenue the operating carrier gains if the ticketing carrier sells one ticket for the considered flight.

max

n1+1 j=1

vj1bj1

subject to

bj1≤E[dj1] j=1, ..., n1+1

n1+1

j=1

bj1≤C

bj10 j=1, ..., n1+1

After solving the model, the booking limit (bn1+1,1) of the additional class n1+1 displays the number of seats the operating carrier should make available to the ticketing carrier.

With the following linear optimization model, the booking limits for the different classes of the ticketing carrier are determined. The ticketing carrier has to decide on the number of options to purchase from the operating carrier. Therefore, the model introduced before has to be modified. The capacity of the ticketing carrier CTC corresponds to the number of seats the operating carrier makes available to the ticketing carrier, i.e. CTC=bn1+1,1.

max

In the objective function (4.5), the option price and strike price must be subtracted from the revenue the ticketing carrier receives for one flight ticket. The option price and the strike price represent the costs the ticketing carrier has to pay to the operating carrier for one sold seat. The model’s objective is the maximization of the ticketing carrier’s profit contribution. Constraint (4.6) ensures that the booking limits of the single booking classes do not exceed the expected demand of the booking classes. The sum of booking limits of all booking classes must be less than or equal to the capacity which is available to the ticketing carrier (4.7). In the model for the ticketing carrier, the booking limits of the booking classes are greater than or equal to zero (4.8).

After solving the model for the ticketing carrier, the sum of booking limits indicates how many options the ticketing carrier purchases from the operating carrier (∑nj=12 bj2=OP).

The above presented model can also be solved optimally without linear programming: If the revenue of a ticket in booking class j is smaller than or equal to the sum of option price and strike price (vj2≤x+s), the booking limit corresponding to the class is zero (bj=0) since the ticketing carrier’s costs are higher than or equal to the revenue the ticketing carrier gains from one sold ticket in that class (x+s vj2).

The booking limits of the classes, for which x+s<vj2is true, can be set equal to the expected demand corresponding to the considered class (bj =E[dj2]) in the order of decreasing prices of the classes as long as there is enough remaining seat capacity (c≥E[dj2]). As soon as the remaining seat capacity is smaller than the expected demand for the considered class (c < E[dj2]), the booking limit of the class will be set equal to the remaining seat capacity (bj = c). If not all of the classes are considered until then, the booking limits of the residual classes will be set equal to zero (bj =0).

After calculating the booking limits for the operating carrier and the ticketing carrier, there are several booking limits imaginable which could be applied to the two classes of the operating carrier in the book-ing process. Considerbook-ing the bookbook-ing limits calculated by the model which regards the demand of the ticketing carrier as an additional class in the simulation of the booking process might lead to unrealistic results. If the ticketing carrier asks for less tickets than the operating carrier offers (OP< bn1+1,1), less than full capacity is considered when simulating the booking process. Recall that the calculated book-ing limits partition the capacity so that the sum of the calculated bookbook-ing limits equals the capacity. We present two procedures which adjust the booking limits of the two classes of the operating carrier to guarantee that the whole capacity is covered by the booking limits of the two airlines.

Procedure 1

The model of the operating carrier could be solved considering the additional class of the ticketing carrier. After the ticketing carrier decided how many options will be purchased from the operating carrier, the spare seats (if they exist) could be assigned to the class of the operating carrier with the maximum revenue for one sold ticket that is smaller than or equal to the option price plus the strike price (max

vj1: j=1, ..., n1, vj1≤ (x+s)). If the revenue for one sold ticket of the lowest yielding class of the operating carrier is greater than the option price plus the strike price (vn11 > (x+s)), the spare seats could be assigned to the booking limit of the lowest yielding class of the operating carrier. The

4.2 Determination of Booking Limits described procedure (Procedure 1) will be illustrated using an example at the end of this section.

Procedure 2

After solving the model of the operating carrier with the additional class of the ticketing carrier to de-termine how many sets the operating carrier makes available to the ticketing carrier, the model of the operating carrier could be solved a second time without considering the additional class representing the demand coming from the ticketing carrier. The booking limits that are reached after solving the model without the additional class divide the capacity of the operating carrier’s aircraft. This procedure (Procedure 2) as well will be illustrated in the following with an example (compare the end of the exam-ple at the end of this section). In Section 4.3.2 the performance of the two different procedures will be analyzed.

A small example is used to illustrate the procedures. Assume two booking classes for each airline (n1 = 2, n2 = 2) and C = 100 available seats. Let the option price be 20e and the strike price be 150e. The revenue of the tickets in the different classes is shown in Table 4.1 and the expected demand is given in Table 4.2. In this small example, the demand for the ticketing carrier in the higher yielding fare class is assumed to be higher than the demand for the higher yielding fare class of the operating carrier, although v11is lower than v12. This assumption can be made since higher demand could occur for example due to a frequent flyer program that binds customers to the ticketing carrier (compare the segmentation mechanisms discussion in Talluri and van Ryzin, 2004b, Section 11.1.1.2).

l

In this example, the operating carrier forecasts that the ticketing carrier will ask for 60 options on the considered flight and regards this forecast as the expected demand for the additional class. The request coming from the ticketing carrier is considered as an additional, independent booking class with an expected value of demand E[d31] =60 and a revenue of v31 =170e. The revenue is the sum of option price and strike price which equals the revenue that the operating carrier gains if the ticketing carrier exercises an option.

The model of the operating carrier considering the demand of the ticketing carrier is solved to determine how many seats the operating carrier should make available to the ticketing carrier. Since the described model determines partitioned booking limits, the seat capacity of the operating carrier is divided into seats exclusively available for the different booking classes of the operating carrier. Solving the model with the assumed parameters results in a booking limit vector: b1 = (30, 10, 60)T. That means the operating carrier makes 60 seats available to the ticketing carrier.

Solving the model for the ticketing carrier with the capacity the operating carrier provides for the tick-eting carrier CTC=b31=60, yields the partitioned booking limits for the ticketing carrier b2= (50, 0)T. As a result, we gain the booking limit vector for the alliance b = (b1, b2)T where b1 = (b11, b21)Tand b2 = (b12, b22)T, which equals to b= ((30, 10)T,(50, 0)T)T in the described example. Note that in this case the booking limit for the second class of the ticketing carrier is zero since the ticketing carrier’s revenue for the second class is less than the option price plus the strike price, equal to the costs for the ticketing carrier. If the ticketing carrier decides not to buy options for all of the seats offered by the oper-ating carrier (b31>b12+b22), not the whole capacity is considered in simulating the booking process. In

the described example, the sum of the booking limits (b= ((30, 10)T,(50, 0)T)T) equals 90 which leads to unrealistic results since the sum is less than the capacity C=100 .

If the ticketing carrier asks for less tickets than the operating carrier offers, the operating carrier has two options as described above:

Procedure 1: The operating carrier could add the spare seats, the ticketing carrier did not buy options