Example O-1 - Allocate Aircraft Seats to Maximize Revenue
Problem Statement:
A given aircraft
can have a maximum of 100 coach seats. Two coach seats are removed for each first class
seat that is included. For example, if 4 first class seats are included, then the maximum
number of coach seats is 92.
Assume the following:
- Demand for coach tickets is based on a Weibull distribution with beta = 2 and eta = 45.
- Demand for first class tickets is based on a Weibull distribution with beta = 1.2 and eta = 15.
- Revenue for each coach ticket is $500.
- Revenue for each first class ticket is $1,500.
- Operating costs are fixed.
Determine the optimum allocation of first class seats assuming that only increments of four seats are allowed.
RENO Solution:
Define two Random Variables to describe the demand for coach tickets and first class tickets.


Define a Constant to specify the number of first class seats. This can be varied during the simulation to estimate the optimum number.

Define an Equation Variable to calculate the number of coach seats, which depends on the number of first class seats.

Construct the flowchart as follows:

Step 1: Use a Block to obtain the demand for coach seats from the Random Variable.

Step 2: Use a Conditional Block to check whether the number of coach seats (calculated by the Equation Variable) meets or exceeds the demand. If true, then you will sell a quantity of coach seats that is equal to the demand and the demand quantity is passed to the TRUE path. If false, then you will sell a quantity of coach seats that is equal to the number of available coach seats and the available quantity is passed to the FALSE path.

Steps 3a and 3b: Use two Blocks to calculate the revenue from the TRUE and FALSE paths, as shown next for the situation when supply exceeds demand. In this equation, the reserved keyword IN represents the quantity passed from the Conditional Block, which is then multiplied by the price of a coach ticket, $500.

A similar construction is required to describe the revenue for first class seats.
Then, a Summing Gate collects the revenue values from all four incoming paths, performs a summation and passes the total to a Result Storage construct that stores the average revenue.


On the General page of the Simulation Console, specify 2,000 simulations with a seed of 1 for repeatability, as shown next.

On the Sensitivity Analysis page, specify to vary the number of first class seats from 0 to 100, with an increment of 20. RENO will perform multiple runs of 2,000 simulations each, with 0 specified for the FCSeats Constant in the first run, 20 in the second run, 40 in the third run, and so on.

On the Multiple Analyses page, select to perform multiple analyses to determine the first class seat quantity that will maximize revenue, as shown next.

When the simulation completes, the plot identifies 24 as the optimum quantity of first class seats, as shown next.

A RENO project with the solution for this example (called "Airline Seat Allocation.rnp") is shipped with the software and stored in the Examples\Optimization folder in the application directory (e.g. C:\Program Files\ReliaSoft\RENO\Examples\Optimization\Airline Seat Allocation.rnp).


