Developing Data Products Course Project

Bill Seliger
May 17, 2015

Airline Revenue Optimization

This App uses the R lpSolveAPI package within a Shinyapp to optimize airline revenue based on two inputs from the user:

  • Demand for regular-priced seats
  • Demand for discount-priced seats

The App then constructs a linear programming model (LP) using R code, solves the linear program with the lpSolveAPI package, and returns the objective value - the maximum revenue given the selected demand for the two inputs.

This App is hosted on an AWS Ubuntu server at the below link: Airline Revenue Optimization

Formulating the LP -

The LP is formulated with two decision variables

  • Number of regular-priced seats to sell
  • Number of discount-priced seats to sell

The LP also has five constraints or inequalities

  • Seats sold cannot exceed capacity of the plane (166 seats)
  • Regular price seats sold cannot exceed regular demand
  • Discount price seats sold cannot exceed discount demand
  • Seats sold at both levels must be nonnegative

Viewing the LP formulation

print(lprec)
Model name: 
                  reg  disc         
Maximize          617   238         
capacity            1     1  <=  166
reg_demand          1     0  <=  100
discount_demand     0     1  <=  150
reg_positive        1     0  >=    0
disc_positive       0     1  >=    0
Kind              Std   Std         
Type             Real  Real         
Upper             Inf   Inf         
Lower               0     0         

To learn more about LP optimization

This problem is based on the lesson found here

MITx 15.071x The Analytics Edge

Airline Revenue Management

Information on the lpSolveAPI package can be found here

Package lpSolveAPI

lpSolveAPI Vignette