Flight routes and linear programming 1
Toy Model Profit Maximization
The assumptions here are based off a fictional airline flying from 3 airports and considering the use of 2 planes. Our analysis is made for a daily basis.
The flight routes are airline is running is given by the file below:
File:Toy Model Flight Schedule.xlsx
This file describes the duration of flights and an estimated number of passengers (could be the pre-booked amount plus some extra walk ons). Tallies the revenue generated from passengers. Also gives the frequency our airline company wants to run each route.
Using the data we now can attempt to figure out what planes to run on these route to maximize profit:
Maximize Profit = Revenue – Cost
Maximize revenue:
(Revenue = Σ(demand from airport i to j)(fare from airport i to j)):
- Controlling the ticket prices to meet major passengers’ willing to pay
(we get the data of ticket prices after comparing with other airlines)
- Matching seat capacity to passenger demand (PS: we could sell tickets out with special discount if any seats are still available by two days from departure)
- Therefore , we need to set different but right prices based on different demand groups of passengers to just fill all the seats of airplanes in each route.( we could adjust price up for a higher-value demand, and down for a lower-value demand)
We get our average price on each route (flying from 3 airports):
}FARE($) | YVR | SFO | JFK |
---|---|---|---|
YVR | - | 400 | 600 |
SFO | 250 | - | 400 |
JFK | 550 | 500 | - |
Dep -Arrival | Passanger Demand |
---|---|
YVR - JFK | 1700 |
YVR - SFO | 1100 |
JFK -YVR | 1350 |
JFK - SFO | 850 |
SFO - YVR | 950 |
SFO -JFK | 1000 |
Revenue = (1700)(600) + (1100)(400) + (1350)(550) + (850)(500) + (950)(250) + (1000)(400) = $ 3,265,000
So this is a set value. We need to minimize the cost to maximize profit.
Cost minimization:
For minimizing the operating costs of an airline there are several main costs:
- Operating Cost of Aircraft (per Flight hour), this will include: Fuel, depreciation of aircrafts, cost of services for passengers (meals, etc…), but not wages for employees
- Maintenance Cost of Aircraft. An estimation of fixing the wear on the fleet.
- Insurance cost for Aircraft. This is the insurance to pay for the event of a crash or heavily damaging an aircraft. It is typically around 1-2% of the worth of the aircraft. This insurance premium does not cover the passengers.
We will include all these costs as the operating cost of the aircraft per flight hour.
In this toy model we consider only 2 types of aircrafts:
- The Boeing 787-9 (789) (Dreamliner)
- The Airbus A320-200 (320)
Relevant statistic for these two aircrafts
Boeing 787: | Airbus A-320: | |
---|---|---|
Seating | 300 | 150 |
Cost per Flight hour | $5,303 | $2,845 |
Let the variable Xijk be the route taken by the kth plane from airport i to airport j.
And the operating cost of each aircraft in dollars per flight hour is given by Ck for the kth plane.
And Sk is the amount of seating on the kth plane Let Aij be the distance from airport i to airport j. Let Fij be the amount of flights running between i and j.
YVR – Vancouver Airport - Airport 1
SFO – San Francisco Airport - Airport 2
JFK – New York Airport - Airport 3
Information on the aircraft we are using is given in the excel file below:
File:Aircraft Characteristics.xlsx
This file provides a description of the 2 aircraft used in the profit maximization. Has characteristics of 5 additional aircraft that can be swapped with the 2 aircraft already in the LP problem to compare which aircraft(s) are the best for our routes.
The decision variable we will be using is Xijk, which corresponds to the kth plane flying from airport i to airport j.
Xij1 = # of Boeing 787 used from airport i to airport j
Xij2 = # of Airbus A-320 used from airport i to airport j
A12 = A21 = distance YVR to SFO in hours flight time = 2h15m
A13 = A31 = distance of YVR to JFK in hours flight time = 5h15m
A23 = A32 = distance of SFO to JFK in hours flight time = 6h00m
Objective Function
Cost =ΣΣ(Xijk)(Ck)(Aij)
Cost = (X121)(5303)(2.25) + (X122)(2845)(2.25) + (X211)(5303)(2.25) + (X212)(2845)(2.25) +(X131)(5303)(5.25) + (X132)(2845)(5.25) + (X311)(5303)(5.25) + (X312)(2845)(5.25) + (X231)(5303)(6) + (X232)(2845)(6) + (X321)(5303)(6) + (X322)(2845)(6)
If we had different cruising speeds the aircraft will complete the journey in different times. But the cruising speed of both aircraft is relatively similar, so we will assume both aircraft will take roughly the same time to complete.
So Profit is given by:
Maximize: Z = 3265000 - 11931.75X121 – 6401.25X122 – 11931.75X211 – 6401.25X212 – 27840.75X131 – 14936.25X132 – 27840.75X311 – 14936.25X312 – 31818X231 – 17070X232 – 31818X321 – 17070X322
Now we need to find the constraints
We need to consider the supply of seats for each section of the flight:
Supply of Seats
-We need to meet the demand of passengers moving from airport to airport. Our airline will not overbook. So each route will have the equality:
(Xij1)(S1) + (Xij2)(S2) ≥(demand from i to j)
In our toy model:
300X121 + 150X122 ≥ 1350
300X211 + 150X212 ≥ 850
300X131 + 150X132 ≥ 1700
300X311 + 150X312 ≥ 1100
300X231 + 150X232 ≥ 950
300X321 + 150X322 ≥ 1000
Aircraft Availability
The next constraint we have is aircraft availability, given by:
(Aij)(Fij) ≤ (Xij1 + Xij2)(20)
Here we are assuming we can run our aircraft for up to 20 hours in a day. That allows time for refueling and regular maintenance.
This constraint insures that there is a sufficient number of aircraft to cover the amount of time for all the flights needed to cover the route with the frequency each route is flown.
The constraints are given explicitly below:
(2.25)(7) ≤ (X121 + X122)(20)
(2.25)(6) ≤ (X211 + X212)(20)
(5.25)(10) ≤ (X131 + X132)(20)
(5.25)(11) ≤ (X311 + X312)(20)
(6)(8) ≤ (X231 + X232)(20)
(6)(7) ≤ (X321 + X322)(20)
Flight Frequency
Constraint for the number of flights for each route:
We want each route to be covered a certain number of times. This will insure a reliable airline, which runs regular flights.
(X121 + X122) ≥ 7
(X211 + X212) ≥ 6
(X131 + X132) ≥ 10
(X311 + X312) ≥ 11
(X231 + X232) ≥ 8
X321 + X322) ≥ 7
Eg. We want there to be at least 7 flights from YVR to SFO, and at least 10 from YVR to JFK.
LP Problem
Now putting our LP problem together we get:
Maximize: Z = 3265000 - 11931.75X121 – 6401.25X122 – 11931.75X211 – 6401.25X212 – 27840.75X131 – 14936.25X132 – 27840.75X311 – 14936.25X312 – 31818X231 – 17070X232 – 31818X321 – 17070X322
Subject to:
(supply of seats)
-300X121 - 150X122 ≤ -1350
-300X211 - 150X212 ≤ -850
-300X131 - 150X132 ≤ -1700
-300X311 - 150X312 ≤ -1100
-300X231 - 150X232 ≤ -950
-300X321 - 150X322 ≤ -1000
(max flight time)
-20X121 - 20X122 ≤ -15.75
-20X211 - 20X212 ≤ -13.5
-20X131 - 20X132 ≤ -52.5
-20X311 - 20X312 ≤ -57.75
-20X231 - 20X232 ≤ -48
-20X321 - 20X322 ≤ -42
Frequency of flights
-X121 - X122 ≤ -7
-X211 - X212 ≤ -6
-X131 - X132 ≤ -10
-X311 - X312 ≤ -11
-X231 - X232 ≤ -8
-X321 - X322 ≤ -7
Obviously the origin is not a feasible solution, as we would not satisfy the seating constraint. So if this equations were to be solved by hand, it would need to be done by the two phase method, or with dual feasibility. However I will just put it into Lindo to see what the optimal solution is.
Lindo Yields the following tableaux
OBJECTIVE FUNCTION VALUE
1) 2583805.5
VARIABLE VALUE REDUCED COST X121 2.000000 0.000000 X122 5.000000 0.000000 X211 0.000000 5530.500000 X212 6.000000 0.000000 X131 1.333333 0.000000 X132 8.666667 0.000000 X311 0.000000 12904.500000 X312 11.000000 0.000000 X231 0.000000 14748.000000 X232 8.000000 0.000000 X321 0.000000 14748.000000 X322 7.000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 36.869999 3) 50.000000 0.000000 4) 0.000000 86.029999 5) 550.000000 0.000000 6) 250.000000 0.000000 7) 50.000000 0.000000 8) 124.250000 0.000000 9) 106.500000 0.000000 10) 147.500000 0.000000 11) 162.250000 0.000000 12) 112.000000 0.000000 13) 98.000000 0.000000 14) 0.000000 870.750000 15) 0.000000 6401.250000 16) 0.000000 2031.750000 17) 0.000000 14936.250000 18) 0.000000 17070.000000 19) 0.000000 17070.000000
NO. ITERATIONS= 11
So on the route from YVR - SFO we want 2 Boeing's and 5 Airbus'. More analysis of the results is done after we confirm these answers with the dual problem.
The Dual Problem:
Minimize: -1350Y1 – 850Y2 – 1700Y3 -1100Y4 – 950Y5 – 1000Y6 – 15.75Y7 – 13.5Y8 – 52.5Y9 – 57.75Y10 - 48Y11 – 42Y12 - 7Y13 – 6Y14 -10Y15 – 11Y16 – 8Y17 - 7Y18
Subject to:
-300Y1 - 20 Y7 - Y13 ≥ -11931.75
-150Y1 – 20Y7 – Y13 ≥ -6401.25
-300Y2 – 20Y8 –Y14 ≥ -11931.75
-150Y2 – 20Y8 – Y14 ≥ -6401.25
-300Y3 - 20Y9 –Y15 ≥ -27840.75
-150Y3 -20Y9 – Y15 ≥ -14936.25
-300Y4 – 20Y10 – Y16 ≥ -27840.75
-150Y4 -20Y10 – Y16 ≥ -14936.25
-300Y5 -20Y11 – Y17 ≥ -31818
-150Y5 - 20Y11 – Y17 ≥ -17070
-300Y6 – 20Y12 – Y18 ≥ -31818
-150Y6 – 20Y12 – Y18 ≥ -17070
Or in standard Form:
Maximize: W = 1350Y1 + 850Y2 + 1700Y3 +1100Y4 + 950Y5 + 1000Y6 + 15.75Y7 + 13.5Y8 + 52.5Y9 + 57.75Y10 + 48Y11 + 42Y12 +7Y13 + 6Y14 +10Y15 + 11Y16 + 8Y17 + 7Y18
Subject to:
300Y1 + 20Y7 + Y13 ≤ 11931.75
150Y1 + 20Y7 + Y13 ≤ 6401.25
300Y2 + 20Y8 + Y14 ≤ 11931.75
150Y2 + 20Y8 + Y14 ≤ 6401.25
300Y3 +20Y9 + Y15 ≤ 27840.75
150Y3 + 20Y9 + Y15 ≤ 14936.25
300Y4 + 20Y10 + Y16 ≤ 27840.75
150Y4 + 20Y10 + Y16 ≤ 14936.25
300Y5 + 20Y11 + Y17 ≤ 31818
150Y5 + 20Y11 + Y17 ≤ 17070
300Y6 + 20Y12 + Y18 ≤ 31818
150Y6 + 20Y12 + Y18 ≤ 17070
The variables Y1-Y6 correspond to the extra price per seat. ($ per seat). This variable is assessing how much the price is for having an extra seat
The variables Y7-Y12 correspond to the price per flight hour. ($ per flight hour). This variable is assessing the value of each hour of flight from i to j.
The variables Y13-Y18 are stating how much each flight is worth. ($ per flight). This is the value of flying from i to j.
Each variable corresponds to its causal respective flight-route. So Y1 is the value of the seats from YVR to SFO. And Y10 is the value of $ per flight hour from JFK to YVR.
Lindo gives us this (insert here a sheet relating the shadow prices and the dual variables to the primal, we get all the values of how many aircraft (and which) to run for each flight)
Lindo Analysis
OBJECTIVE FUNCTION VALUE
1) 681194.5
VARIABLE VALUE REDUCED COST Y1 36.869999 0.000000 Y2 0.000000 50.000000 Y3 86.029999 0.000000 Y4 0.000000 550.000000 Y5 0.000000 250.000000 Y6 0.000000 50.000000 Y7 0.000000 124.250000 Y8 0.000000 106.500000 Y9 0.000000 147.500000 Y10 0.000000 162.250000 Y11 0.000000 112.000000 Y12 0.000000 98.000000 Y13 870.750000 0.000000 Y14 6401.250000 0.000000 Y15 2031.750000 0.000000 Y16 14936.250000 0.000000 Y17 17070.000000 0.000000 Y18 17070.000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 2.000000 3) 0.000000 5.000000 4) 5530.500000 0.000000 5) 0.000000 6.000000 6) 0.000000 1.333333 7) 0.000000 8.666667 8) 12904.500000 0.000000 9) 0.000000 11.000000 10) 14748.000000 0.000000 11) 0.000000 8.000000 12) 14748.000000 0.000000 13) 0.000000 7.000000
NO. ITERATIONS= 8
Conclusion of Toy Model
So after running the (revised) simplex method 8 times we have our optimal solution:
YVR - SFO | SFO - YVR | YVR - JFK | JFK -YVR | SFO- JFK | HJFK - SFO | |
---|---|---|---|---|---|---|
# of Boeing-787 | 2 | 0 | 1.333333 | 0 | 0 | 0 |
# of Airbus-320 | 5 | 6 | 8.666667 | 11 | 8 | 7 |
It is apparent from this table that the Airbus dominates Boeing. Why is this? Actually the Boeing can transport passengers more cheaply then the Airbus. The cost per passenger is roughly $18 per flight hour, while the cost for the airbus is roughly $19 per flight hour. The reason the Airbus is preferred in most cases is that our airline wants to run many routes to insure reliability. If we relaxed the constraint on the frequency of the each run we would probably see more and more Boeing's being used. I.e. if we lower the number of flights we wanted from JFK to YVR from 11 to something like 5 we would probably have exclusively the Boeing 787 flying that particular route.
Also note that it is impossible to fly 1.33333 of a Boeing and 8.6666 of an Airbus for the YVR - JFK route. A plausible solution would be to run 2 Boeing and 9 Airbus. This will surely lower the objective function, but it will satisfy all the constraints; so the solution will remain feasible.
Running the dual solution in lindo yields an optimal value of $681194.5. This is the cost of running the airline. So if we minus revenue from this cost we are left with:
Profit = $ 3,265,000- $681,194.5 = $2,583,805.5
Which seems like a lot of money left over; but our airline also has to pay advertising fees, pay government money for licensing, save more for repairs on aircraft, and save money for expansion and/or disasters. Plus we haven't consider the actual cost of airplane, which is given for each respective aircraft in the spread sheet near the top of this wiki entry.
Equations and Variable Analysis
Analysis of the correlation between the number of aircraft + airports and the number of equations + variables.
Let n denote the number of airports.
The number of routes are given by (n)(n-1). So if we have n=5 airports we will have 20 routes between all of them, this includes the flights going both ways i.e. if we go from LAX to YYZ we also have the route from YYZ to LAX.
Each constraint is a multiplier on the number of equations. In our toy example we had 3 constraints, namely, meeting passenger, total aircraft usage, and flight frequency. So the number of equations are given by:
(# of constraints)(n)(n-1)
The number of variables is derived from the number of aircraft and the number of airports. The amount of variables are given by:
(# of aircraft being considered)(n)(n-1)
Vehicle Optimization
Maximize Profit s.t. a) aircraft availability
b) demand fulfillment c) minimum frequency d) landing restriction
Profit function : P = Revenue - Cost
More Advanced Model
Now let’s analyze a more realistic small airline. 4 Airports:
YVR – Vancouver – Airport 1
YEG – Edmonton – Airport 2
YXY – Whitehorse – Airport 3
YZF – Yellowknife – Airport 4
We will be considering the 3 Bombardier airplanes, the CRJ series. The information of these three airplanes is given in the same file as the Boeing and Airbus:
File:Aircraft Characteristics.xlsx
CRJ100 | CRJ705 | CRJ1000 | |
---|---|---|---|
Cost per Hour Flight | $1575 | $1800 | $2620 |
Seating Capacity | 50 | 75 | 100 |
CRJ100 - Aircraft 1
CRJ705 - Aircraft 2
CRJ1000 - Aircraft 3
Our analysis of variables from above tells us that we will have (4)(4-1) = 12 routes. Using the same constraints as above we will have 12*3 = 36 equations and 12*3 = 36 variables.
Flight Time
Duration of each Flight
YVR - YEG | YVR - YZF | YVR - YXY | YEG - YXY | YEG - YZF | YXY - YZF |
---|---|---|---|---|---|
1h30m | 6h00m | 2h30m | 4h00m | 2h00m | 3h00m |
We will also assume that the return flight takes the same amount of time (ignoring prevalent head winds and coriolis effect).
Cost and Demand of Flights
YVR - YEG | YVR - YZF | YVR - YXY | YEG - YVR | YEG - YZF | YEG - YXY | YZF - YVR | YZF - YEG | YZF - YXY | YXY - YVR | YXY - YEG | YXY - YZF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Seating Demand | 650 | 250 | 400 | 500 | 200 | 250 | 300 | 175 | 25 | 150 | 325 | 40 |
Ticket Cost | $200 | $375 | $400 | $150 | $250 | $200 | $250 | $300 | $500 | $200 | $300 | $550 |
Desired # of Flights | ≥7 | ≥4 | ≥5 | ≥6 | ≥3 | ≥2 | ≥4 | ≥2 | ≥1 | ≥2 | ≥3 | ≥1 |
Revenue = (650)(200) + (250)(375) + (400)(400) + (500)(150) + (200)(250) + (250)(200) + (300)(250) + (175)(300) + (25)(500) + (150)(200) + (325)(300) +(40)(550) = $848,250
LP Problem
Using the same decision variables as we used for the LP problem we get:
Maximize: 848250 - (1.5)(1575X121 + 1800X122 + 2620X123) - (6)(1575X131 + 1800X132 + 2620X133) - (2.5)(1575X141 + 1800X142 + 2620X143) - (1.5)(1575X211 + 1800X212 + 2620X213) - (2)(1575X231 + 1800X232 + 2620X233) - (4)(1575X241 + 1800X242 + 2620X243) - (6)(1575X311 + 1800X312 + 2620X313) - (2)(1575X321 + 1800X322 + 2620X323) - (3)(1575X341 + 1800X342 + 2620X343) - (2.5)(1575X411 + 1800X412 + 2620X413) - (4)(1575X421 + 1800X422 + 2620X423) - (3)(1575X431 + 1800X432 + 2620X433)
Which is just the sum of the each individual flight time times the sum of all the flights multiplied by they're cost per hour flight time.
Maximize: 848250 - 2362.5X121 - 2700X122 - 3930X123 - 9450X131 - 10800X132 - 15720X133 - 3937.5X141 - 4500X142 - 6550X143 - 2362.5X211 - 2700X212 - 3930X213 - 3150X231 - 3600X232 - 5240X233 - 6300X241 - 7200X242 - 10480X243 - 9450X311 - 10800X312 - 15720X313 - 3150X321 - 3600X322 - 5240X323 - 4725X341 - 5400X342 - 7860X343 - 3937.5X411 - 4500X412 - 6550X413 - 6300X421 - 7200X422 - 10480X423 - 4275X431 - 5400X432 - 7860X433
Subject to:
Supply of Seats
50X121 + 75X122 + 100X123 >= 650
50X131 + 75X132 + 100X133 >= 250
50X141 + 75X142 + 100X143 >= 400
50X211 + 75X212 + 100X213 >= 500
50X231 + 75X232 + 100X233 >= 200
50X241 + 75X242 + 100X243 >= 250
50X311 + 75X312 + 100X313 >= 300
50X321 + 75X322 + 100X323 >= 175
50X341 + 75X342 + 100X343 >= 25
50X411 + 75X412 + 100X413 >= 150
50X411 + 75X412 + 100X413 >= 325
50X411 + 75X412 + 100X413 >= 40
Aircraft Availability
10.5 <= 20X121 + 20X122 + 20X123
24 <= 20X131 + 20X132 + 20X133
12.5 <= 20X141 + 20X142 + 20X143
9 <= 20X211 + 20X212 + 20X213
6 <= 20X231 + 20X232 + 20X233
8 <= 20X241 + 20X242 + 20X243
24 <= 20X311 + 20X312 + 20X313
4 <= 20X321 + 20X322 + 20X323
3 <= 20X341 + 20X342 + 20X343
5 <= 20X411 + 20X412 + 20X413
12 <= 20X421 + 20X422 + 20X423
3 <= 20X431 + 20X432 + 20X433
Flight Frequency
X121 + X122 + X123 >= 7
X131 + X132 + X133 >= 4
X141 + X142 + X143 >= 5
X211 + X212 + X213 >= 6
X231 + X232 + X233 >= 3
X241 + X242 + X243 >= 2
X311 + X312 + X313 >= 4
X321 + X322 + X323 >= 2
X341 + X342 + X343 >= 1
X411 + X412 + X413 >= 2
X421 + X422 + X423 >= 3
X431 + X432 + X433 >= 1
Running this LP on Lindo, the final tableaux reads:
OBJECTIVE FUNCTION VALUE
1) 607200.0
VARIABLE VALUE REDUCED COST X121 0.000000 562.500000 X122 8.666667 0.000000 X123 0.000000 330.000000 X131 2.000000 0.000000 X132 2.000000 0.000000 X133 0.000000 3570.000000 X141 0.000000 937.500000 X142 5.333333 0.000000 X143 0.000000 550.000000 X211 0.000000 562.500000 X212 6.666667 0.000000 X213 0.000000 330.000000 X231 1.000000 0.000000 X232 2.000000 0.000000 X233 0.000000 1190.000000 X241 0.000000 1500.000000 X242 3.333333 0.000000 X243 0.000000 880.000000 X311 0.000000 0.000000 X312 4.000000 0.000000 X313 0.000000 3570.000000 X321 0.000000 750.000000 X322 2.333333 0.000000 X323 0.000000 440.000000 X341 1.000000 0.000000 X342 0.000000 675.000000 X343 0.000000 3135.000000 X411 0.000000 0.000000 X412 2.000000 0.000000 X413 0.000000 1487.500000 X421 0.000000 1500.000000 X422 4.333333 0.000000 X423 0.000000 880.000000 X431 1.000000 0.000000 X432 0.000000 1125.000000 X433 0.000000 3585.000000
ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 -36.000000 3) 0.000000 -54.000000 4) 0.000000 -60.000000 5) 0.000000 -36.000000 6) 0.000000 -18.000000 7) 0.000000 -96.000000 8) 0.000000 -54.000000 9) 0.000000 -48.000000 10) 25.000000 0.000000 11) 0.000000 -22.500000 12) 0.000000 -96.000000 13) 10.000000 0.000000 14) 162.833328 0.000000 15) 56.000000 0.000000 16) 94.166664 0.000000 17) 124.333336 0.000000 18) 54.000000 0.000000 19) 58.666668 0.000000 20) 56.000000 0.000000 21) 42.666668 0.000000 22) 17.000000 0.000000 23) 35.000000 0.000000 24) 74.666664 0.000000 25) 17.000000 0.000000 26) 1.666667 0.000000 27) 0.000000 -6750.000000 28) 0.333333 0.000000 29) 0.666667 0.000000 30) 0.000000 -2250.000000 31) 1.333333 0.000000 32) 0.000000 -6750.000000 33) 0.333333 0.000000 34) 0.000000 -4725.000000 35) 0.000000 -2812.500000 36) 1.333333 0.000000 37) 0.000000 -4275.000000
NO. ITERATIONS= 18
It seems like we never use the CRJ1000. This is because it costs more per person to fly with the CRJ1000 then the CRJ705. As the CRJ705 is able to fulfill more constraints and carry passengers for cheaper, it will almost always be preferred. (Unless the CRJ705 just barely can't meet the demand of extra passengers and a plane that can carry just a tiny bit more is preferred).
However the extra little bit seems to take with the CRJ100. This aircraft is more useful for the fulfilling the small flights or the flights which are meant to have more frequency. Both the legs between Yellowknife and Whitehorse are flown exclusively with the CRJ100. This is because it is easily able to meet seating demand and we don't require frequent routes between those two cities.
Conclusion
To sum up, By using linear programs appropriately, our model can be easily maximized for profit and we can perform sensitivity analysis very easily. Our project presented a mathematical optimization model in linear programming , which intends to maximize the profits by reducing the flight cost and operation cost through an appropriate route and crew scheduling. After taking all the constraints into consideration, we eventually solved the LP problem, and got the efficient result on building aircraft routes and crew rotations which could be used to provide our company’s service while maximizing profits.