15.071 | Spring 2017 | Graduate

The Analytics Edge

8 Linear Optimization

8.2 Airline Revenue Management: An Introduction to Linear Optimization

Quick Question

 

Suppose that, as in the previous video, regular seats cost $617 and discount seats cost $238. We are selling 166 seats. The demand for regular seats is 150 and the demand for discount seats is 150.

How many discount seats should we sell?

Exercise 1

 Numerical Response 

 

Explanation

Since regular seats give us more revenue, we should sell enough regular seats to meet the demand. This means that we will sell 150 regular seats. Since our capacity is 166, this leaves 16 seats to sell to discount customers.

What would our total revenue be, for both regular and discount seats, assuming that we have a full plane?

Exercise 2

 Numerical Response 

 

Explanation

We would sell 150 seats to regular customers, giving us a revenue of $617*150, and 16 seats to discount customers, giving us a revenue of $238*16. Our total revenue would be $617*150 + $238*16 = $96,358.

CheckShow Answer

 

Quick Question

 

In the previous video, we set up an optimization problem with 2 different types of tickets.

How many decision variables would we have if there were 4 different types of tickets?

Exercise 1

 Numerical Response 

 

How many constraints would we have if there were 4 different types of tickets (with two different types of tickets, our model has 5 constraints: one capacity constraint, two demand constraints, and two non-negativity constraints)?

Exercise 2

 Numerical Response 

 

Explanation

If our model had 4 different types of tickets, we would have four decision variables, one for each type of ticket. We would have 9 constraints, since we would need one capacity constraint, 4 demand constraints, and 4 non-negativity constraints.

CheckShow Answer

 

Quick Question

 

In the previous video, we solved our optimization problem in LibreOffice. In your spreadsheet, change the demand for regular seats to 50 (cell D5). Then re-solve the model.

What is the new optimal objective value?

Exercise 1

 Numerical Response 

 

Now change the demand of regular seats to 200. What is the new optimal objective value?

Exercise 2

 Numerical Response 

 

Explanation

For each of these questions, change the value in cell D5 to the new demand. Then select “Solver…” in the “Tools” menu, and hit solve. The problem should re-solve, and the new objective value is in the Objective cell (B8).

CheckShow Answer

 

Quick Question

Using the visualization we created in the previous video, answer the following questions:

Suppose that our demand for regular seats remains the same (100) but our demand for discount seats goes down to 100. Will our optimal solution change?

Explanation In the first case, our optimal solution will not change because we are only offering 66 discount seats. So even if the demand goes down to 100, we are not meeting the demand. But in the second case, we can only offer 50 discount seats. So our airplane will not be full, and our optimal solution will change to 100 regular seats and 50 discount seats.

Now suppose that our demand for regular seats remains the same (100) but our demand for discount seats goes down to 50. Will our optimal solution change?

Explanation In the first case, our optimal solution will not change because we are only offering 66 discount seats. So even if the demand goes down to 100, we are not meeting the demand. But in the second case, we can only offer 50 discount seats. So our airplane will not be full, and our optimal solution will change to 100 regular seats and 50 discount seats.

Quick Question

 

In your spreadsheet, change the capacity to 250 in the capacity constraint, the regular demand to 150, and the discount demand to 150. Then re-solve the model.

What is the objective value of the optimal solution?

Exercise 1

 Numerical Response 

 

Explanation

You can change the values in the capacity constraint RHS (cell D11), the regular demand (cell D5), and the discount demand (cell D6) and resolve the model by selecting “Solver…” in the “Tools” menu. After it finishes solving, the objective value can be found in the blue cell (B8)

CheckShow Answer

 

Quick Question

In this quick question, we’ll perform some sensitivity analysis on the connecting flights problem.

Previously, we said that American Airlines could market their fares to increase demand. It costs $200 in advertising to increase demand by one unit.

Is it worth it to market the discount fares from JFK to DFW?

Explanation You can answer this question without re-solving the model by noticing that we are not meeting the demand for discount fares from JFK to DFW at all. The demand could increase by 100, and we still would not offer more than 11 discount fares. Alternatively, you could change the demand for discount fares, and re-solve the model. The solution does not change, regardless of how much you increase the demand.

Is it worth it to market the regular fares from JFK to LAX?

Explanation In the current solution, we are meeting the demand for regular tickets from JFK to LAX. If we increase the demand by 10, we offer 10 more regular tickets, but our revenue only increases by $140, which does not exceed the cost of $2000. If we increase the demand by 50, to 130, we only offer 91 seats. Therefore, American Airlines should not market the regular fares from JFK to LAX because even though the revenue increases, it does not exceed the costs.

Video 4: Solving the Problem

In this video, we’ll be solving our optimization problem using the spreadsheet AirlineRM. If you are using LibreOffice or OpenOffice, please download and open the spreadsheet AirlineRM (ODS) to follow along with the lecture. If you are using Microsoft Excel, please download and open the spreadsheet AirlineRM (XLSX) to follow along with the lecture. The following spreadsheets have the completed model as it is at the end of the video: AirlineRM_Complete (ODS) and AirlineRM_Complete (XLSX).

If you are using LibreOffice or OpenOffice, the functions and solver will look very similar to what you see in this video. If you are using Microsoft Excel, please see the helpful tips below this video.

Helpful Tips for Excel

If you are using Microsoft Excel, the functions and solver you will be using are similar, but not identical, to what you see in the video. Here are some helpful tips to assist in using Excel for this class.

  • Unlike LibreOffice and OpenOffice, the “Solver” option does not typically come pre-loaded into Excel. If you are on a Mac and you don’t see “Solver…” in the Tools menu, you will need to add it in by going to the Tools menu, and selecting “Add-Ins…”. Then, check “Solver.Xlam” if it is not already checked, and click OK. You should now see “Solver…” under the Tools menu. If you are on a Windows computer and you don’t see Solver in the Data tab, go to the File menu, and click on “Options”. Then select “Add-ins”, then “Manage Excel Add-ins” and click Go. Check “Solver Add-in” if it is not already checked, and click OK. You might need to search for “SOLVER.XLAM” if you don’t see a checkbox and click through a security warning about running macros within Excel - please click ok and run the macros. You should now see Solver in the Analysis section of the Data tab. You might experience various issues if you are using an older version of Excel - you can search on Google to get help with these problems. 
  • When using the sumproduct function, you should separate the two groups of cells with a comma, instead of a semicolon. So whenever we say semicolon in LibreOffice, you probably want a comma in Excel.
  • Specifying the objective and decision variables is very similar to how it is done in LibreOffice, but the constraints are slightly different. To add a new constraint, you should click on the “Add” button to the right of the “Subject to the Constraints” box. This will change the window into one that looks more like how we are adding constraints in LibreOffice. After filling in the left-hand-side, sign, and right-hand-side, you can click on “Add” to add the constraint to your model and to continue adding constraints, or click “OK” to stop adding constraints. If you click “Cancel” it will just bring you back to the Solver window, without doing anything. You can change or delete a constraint by just selecting it and clicking the “Change” or “Delete” buttons next to the “Subject to the Constraints” box. 
  • Excel has a nice way of specifying non-negativity constraints. You can just check the “Make Unconstrained Variables Non-Negative” box insteading of adding the non-negativity constraints. 
  • You should always select the “Simplex LP” solving method in this class. 
  • Back: Quick Question
  • Continue: Quick Question

Video 7: Connecting Flights

In this video, we’ll be solving our optimization problem using the spreadsheet AirlineRM_Connecting. If you are using LibreOffice or OpenOffice, please download and open the spreadsheet AirlineRM_Connecting (ODS). If you are using Microsoft Excel, please download and open the spreadsheet AirlineRM_Connecting (XLSX). The following spreadsheets have the completed model as it is at the end of the video: AirlineRM_Connecting_Complete (ODS) and AirlineRM_Connecting_Complete (XLSX).

Solving Optimization Problems in R

In this class, we are using a spreadsheet software to solve optimization problems because we feel that this method is more intuitive and more widely used in the business world. However, you might be wondering how you can solve optimization problems in R. While we will not be teaching optimization in R in this course, we have provided this script file: Unit8_AirlineRM (R) showing how the optimization problems discussed in this lecture can be solved in R. We will not be asking you to do this for any assignments in this course, so learning about optimization in R is completely optional.

Course Info

As Taught In
Spring 2017
Level
Learning Resource Types
Lecture Videos
Lecture Notes
Problem Sets with Solutions