42
1 NEXTOR/Virginia Tech - Air Transportation Systems Lab Analysis of Air Transportation Systems Mathematical Programming (LP) Dr. Antonio A. Trani Associate Professor of Civil and Environmental Engineering Virginia Polytechnic Institute and State University Falls Church, Virginia Jan 9-11, 2008

Analysis of Air Transportation Systems Mathematical Programming

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Analysis of Air Transportation Systems Mathematical Programming

Analysis of Air Transportation Systems

Mathematical Programming (LP)

Dr. Antonio A. TraniAssociate Professor of Civil and Environmental Engineering

Virginia Polytechnic Institute and State University

Falls Church, VirginiaJan 9-11, 2008

1NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 2: Analysis of Air Transportation Systems Mathematical Programming

Resource AllocationPrinciples of Mathematical Programming

Mathematical programming is a general technique to solve resource allocation problems using optimization. Types of problems:

• Linear programming

• Integer programming

• Dynamic programming

• Decision analysis

• Network analysis and CPM

2NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 3: Analysis of Air Transportation Systems Mathematical Programming

Mathematical ProgrammingOperations research was born with the increasing need to solve optimal resource allocation during WWII. Sample Applications are:

• Air Battle of Britain

• Military supply routing problems

Dantzig (1947) is credited with the first solutions to linear programming problems using the Simplex Method

3NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 4: Analysis of Air Transportation Systems Mathematical Programming

Resource AllocationMathematical Programming Applications

• Airline resouce allocation problems (fleet assignment)

• Allocation of mobile resources in infrastructure construction (e.g., trucks, loaders, etc.)

• Crew scheduling problems

• Network flow models

• National Airspace Collaborative Optimization (Monaco)

4NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 5: Analysis of Air Transportation Systems Mathematical Programming

Linear ProgrammingGeneral Formulation

Maximize cjj 1=

n

∑ xj

subject to: aijj 1=

n

∑ xj bi≤ for i 1 2 … m, , ,=

xj 0≥ for j 1 2 … n, , ,=

5NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 6: Analysis of Air Transportation Systems Mathematical Programming

Linear Programming

Maximize Z c1x1 c2x2 … cnxn+ + +=

Subject to:

a11x1 a12x2 … a1nxn+ + + b1≤

a21x1 a22x2 … a2nxn+ + + b2≤

...

am1x1 am2x2 … amnxn+ + + bm≤

and x1 0 x2 0 … xn 0≥, ,≥,≥

6NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 7: Analysis of Air Transportation Systems Mathematical Programming

Linear Programming

cj

j 1=

n

∑ xj Objective Function (OF)

aij

j 1=

n

∑ xj bi≤ Functional Constraints (m of them)

xj 0≥ Nonnegativity Conditions (n of these)

xj are decision variables to be optimized (min or max)

cj are costs associated with each decision variable

7NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 8: Analysis of Air Transportation Systems Mathematical Programming

Linear Programming

aij are the coefficients of the functional constraints

bi are the amounts of the resources available (RHS)Some definitions

Feasible Solution (FS) - A solution that satisfies all functional constraints of the problem

Basic Feasible Solution (BFS)- A solution that needs to be further investigated to determine if optimal

Initial Basic Feasible Solution - a BFS used as starting point to solve the problem

8NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 9: Analysis of Air Transportation Systems Mathematical Programming

LP Example (Construction)During the construction of an off-shore airport in Japan the main contractor used two types of cargo barges to transport materials from a fill collection site to the artificial island built to accommodate the airport.

The types of cargo vessels have different cargo capacities and crew member requirements as shown in the table:

Vessel Type Capacity (m-ton) Crew required Number

available

Fuji 300 3 40

Haneda 500 2 60

9NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 10: Analysis of Air Transportation Systems Mathematical Programming

Osaka Bay ModelAccording to company records there are 180 crew members in the payroll and all crew members are trained to either manage the “Haneda” or “Fuji” vessels.

Osaka

AirportKansai

Bridge

10NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 11: Analysis of Air Transportation Systems Mathematical Programming

Osaka Bay ModelMathematical Formulation

Maximize Z 300x1 500x2+=

subject to: 3x1 2x2+ 180≤

x1 40≤

x2 60≤

x1 0≥ and x2 0≥

Note: let x1 and x2 be the no. “Fuji” and “Haneda” vessels

11NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 12: Analysis of Air Transportation Systems Mathematical Programming

Osaka Bay LP ModelMaximize Z 300x1 500x2+=

Solution:

a) Covert the problem in standard (canonical) form

subject to: 3x1 2x2 x3+ + 180=

x1 x4+ 40=

x2 x5+ 60=

x1 0≥ and x2 0≥

12NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 13: Analysis of Air Transportation Systems Mathematical Programming

0

Osaka Bay Problem (Graphical Solutionx2

x1

30

40

20

10

50

60

10 20 4030 5010

60

FeasibleRegion

(40,30)

(20,60)

Corner Points

3x1 + 2x2 = 18

)

13NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 14: Analysis of Air Transportation Systems Mathematical Programming

Osaka Bay Problem (Graphical Solutionx2

x1

30

40

20

10

50

60

10 20 4030 50 60

(40,30)

(20,60)

Corner Points

z = 36,000z = 30,000

z = 27,000

Note: Optimal Solution (x1, x2) = (20,60) vessels

)

14NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 15: Analysis of Air Transportation Systems Mathematical Programming

Osaka Bay Problem (Simplex)Arrange objective function in standard form to perform Simplex tableaus

Z 300x1 500– x2– 0=

3x1 2x2 x3+ + 180=

x1 x4+ 40=

x2 x5+ 60=

x1 0≥ , x2 0≥ , x3 0≥ , x4 0≥ and x5 0≥

15NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 16: Analysis of Air Transportation Systems Mathematical Programming

S

Note: x3, x4, x5 are slack variables

BV z x1 x2 x3 x4 x5 RH

z 1 -300 -500 0 0 0 0

x3 0 3 2 1 0 0 180

x4 0 1 0 0 1 0 40

x5 0 0 1 0 0 1 60

Osaka Bay Example (Initial Tableau)

BV = x3, x4, x5 and NBV = x1, x2

16NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 17: Analysis of Air Transportation Systems Mathematical Programming

o

Solution: (x1, x2,x3, x4, x5) = (0,0,180,40,60)

BV z x1 x2 x3 x4 x5 RHS rati

z 1 -300 -500 0 0 0 0

x3 0 3 2 1 0 0 180 90

x4 0 1 0 0 1 0 40 inf

x5 0 0 1 0 0 1 60 60

Osaka Bay Example (Initial Tableau)

x2 improves the objective function more than x1

17NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 18: Analysis of Air Transportation Systems Mathematical Programming

io

Leaving BV = x5 : New BV = x2

BV z x1 x2 x3 x4 x5 RHS rat

z 1 -300 0 0 0 500 30,000

x3 0 3 0 1 0 0 60 20

x4 0 1 0 0 1 0 40 40

x2 0 0 1 0 0 1 60 inf

Osaka Bay Example (Second Tableau)

x1 improves the objective function the maximum

18NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 19: Analysis of Air Transportation Systems Mathematical Programming

Leaving BV = x3 : New BV = x1

BV z x1 x2 x3 x4 x5 RHS

z 1 0 0 100 0 300 36,000

x1 0 1 0 1/3 0 0 20

x4 0 0 0 -1/3 1 0 20

x2 0 0 1 0 0 1 60

Osaka Bay Example (Final Tableau)

Note: All NVB coefficients are positive or zero in tableau

19NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 20: Analysis of Air Transportation Systems Mathematical Programming

Optimal Solution: (x1, x2,x3, x4, x5) = (20,60,0,20,0)

20NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 21: Analysis of Air Transportation Systems Mathematical Programming

Solution Using Excel Solver• Solver is a Generalized Reduced Gradient (GRG2)

nonlinear optimization code

• Developed by Leon Lasdon (UT Austin) and Allan Waren (Cleveland State University)

• Optimization in Excel uses the Solver add-in.

• Solver allows for one function to be minimized, maximized, or set equal to a specific value.

• Convergence criteria (convergence), integer constraint criteria (tolerance), and are accessible through the OPTIONS button.

21NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 22: Analysis of Air Transportation Systems Mathematical Programming

Excel Solver• Excel can solve simultaneous linear equations using

matrix functions

• Excel can solve one nonlinear equation using Goal Seek or Solver

• Excel does not have direct capabilities of solving n multiple nonlinear equations in n unknowns, but sometimes the problem can be rearranged as a minimization function

22NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 23: Analysis of Air Transportation Systems Mathematical Programming

Osaka Bay Problem in ExcelOptimization Problem for Osaka Bay

Decision Variables

x1 20 Number of Ships Type 1x2 60 Number of Ships Type 2

Objective Function

300 x1 + 500 x2 36000

Constraint EquationsFormula

3 x1 + 2 x2 <= 180 180 <= 180x1 <= 40 20 <= 40x2 <= 60 60 <= 60x1 >= 0 20 >= 0x2 >= 0 60 >= 0

Objective functionStuff to be solved

23NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 24: Analysis of Air Transportation Systems Mathematical Programming

Osaka Bay Problem in ExcelOptimization Problem for Osaka Bay

Decision Variables

x1 20 Number of Ships Type 1x2 60 Number of Ships Type 2

Objective Function

300 x1 + 500 x2 36000

Constraint EquationsFormula

3 x1 + 2 x2 <= 180 180 <= 180x1 <= 40 20 <= 40x2 <= 60 60 <= 60x1 >= 0 20 >= 0x2 >= 0 60 >= 0

Decision variables(what your control)

24NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 25: Analysis of Air Transportation Systems Mathematical Programming

Osaka Bay Problem in ExcelOptimization Problem for Osaka Bay

Decision Variables

x1 20 Number of Ships Type 1x2 60 Number of Ships Type 2

Objective Function

300 x1 + 500 x2 36000

Constraint EquationsFormula

3 x1 + 2 x2 <= 180 180 <= 180x1 <= 40 20 <= 40x2 <= 60 60 <= 60x1 >= 0 20 >= 0x2 >= 0 60 >= 0

Constraint equations(limits to the problem)

25NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 26: Analysis of Air Transportation Systems Mathematical Programming

Solver Panel in Excel

26NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 27: Analysis of Air Transportation Systems Mathematical Programming

Solver Panel in Excel

27NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 28: Analysis of Air Transportation Systems Mathematical Programming

Solver Panel in ExcelObjective function

28NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 29: Analysis of Air Transportation Systems Mathematical Programming

Solver Panel in ExcelOperation to execute

29NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 30: Analysis of Air Transportation Systems Mathematical Programming

Solver Panel in ExcelDecision variables

30NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 31: Analysis of Air Transportation Systems Mathematical Programming

Solver Panel in ExcelConstraint equations

31NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 32: Analysis of Air Transportation Systems Mathematical Programming

Solver Options Panel Excel

32NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 33: Analysis of Air Transportation Systems Mathematical Programming

Excel Solver Limits Report• Provides information about the limits of decision

variables

33NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 34: Analysis of Air Transportation Systems Mathematical Programming

Excel Solver Sensitivity Report• Provides information about shadow prices of decision

variables

34NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 35: Analysis of Air Transportation Systems Mathematical Programming

Simplex Method Anomaliesa) Ties for leaving BV - break without arbitration

b) Ties for entering BV - break without arbitration

c) Zero coefficient of NBV in OF (final tableau) - Implies multiple optimal solutions

d) No leaving BV - implies unbounded solution

35NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 36: Analysis of Air Transportation Systems Mathematical Programming

Steps in the Simplex MethodI) Initialization Step

• Introduce slack variables

• Select original variables of the problems as part of the NBV

• Select slacks as BV

II) Stopping Rule

• The solution is optimal if every coefficient in the OF is nonnegative

36NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 37: Analysis of Air Transportation Systems Mathematical Programming

• Coefficients of OF measure the rates of change of the OF as any other variable increases from zero

III) Iterative Step

• Determine the entering NBV (pivot column)

• Determine the leaving BV (from BV set) as the first variable to go to zero without violating constraints

• Perform row operations to make coefficients of BV unity in their respective rows

• Eliminate new BV coefficients (from pivot column) from other equations performing row operations

37NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 38: Analysis of Air Transportation Systems Mathematical Programming

Linear Programming Strategies Using the Simplex Method

•Identify the problem•Formulate the problem using LP•Solve the problem using LP•Test the model (correlation and sensitivity analysis)•Establish controls over the model•Implementation•Model re-evaluation

38NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 39: Analysis of Air Transportation Systems Mathematical Programming

Type of Constraint How to handle

3x1 2x2+ 180≤ Add a slack variable

3x1 2x2+ 180= Add an artificial variable

Add a penalty to OF (BigM)

3x1 2x2+ 180≥ Add a negative slack and a positive artificial variable

LP Formulations

39NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 40: Analysis of Air Transportation Systems Mathematical Programming

Type of Constraint Equivalent Form

3x1 2x2+ 180≤ 3x1 2x2 x3+ + 180=

3x1 2x2+ 180= 3x1 2x2 x3+ + 180=

z c1x1= c2x2 Mx3–+

3x1 2x2+ 180≥ 3x1 2x2 x3– x4+ + 180=

z c1x1= c2x2 Mx4–+

LP (Handling Constraints)

Note: M is a large positive number

40NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 41: Analysis of Air Transportation Systems Mathematical Programming

also known,

cB 300 0 500= and hence Z cBxB A( ) 1– b= = or

Z 300 0 500202060

36000= = Optimal Solution

41NEXTOR/Virginia Tech - Air Transportation Systems Lab

Page 42: Analysis of Air Transportation Systems Mathematical Programming

Linear Programming ProgramsSeveral computer programs are available to solve LP problems:

•LINDO - Linear INteractive Discrete Optimizer•GAMS - also solves non linear problems•MINUS•Matlab Toolbox - Optimization toolbox (from

Mathworks)•QSB - LP, DP, IP and other routines available (good for

students or just to get started)

42NEXTOR/Virginia Tech - Air Transportation Systems Lab