short story unit #1 plot and suspense

16
Integer Programming Robert J. Vanderbei December 16, 2010 Slides last edited on December 16, 2010 Operations Research and Financial Engineering Princeton University Princeton, NJ 08544 http://www.princeton.edu/rvdb

Upload: others

Post on 12-Sep-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Short Story Unit #1 Plot and Suspense

Integer Programming

Robert J. Vanderbei

December 16, 2010

Slides last edited on December 16, 2010

Operations Research and Financial EngineeringPrinceton UniversityPrinceton, NJ 08544http://www.princeton.edu/∼rvdb

Page 2: Short Story Unit #1 Plot and Suspense

Airline Equipment Scheduling

Given:

• A set of flight legs (e.g. Newark to Chicago departing 7:45am).

• A set of aircraft.

Problem: which specific aircraft should fly which flight legs?

Model:

• Generate a set of feasible routes (i.e., a collection of legs which taken together can beflown by one airplane).

• Assign a cost to each route (e.g. 1).

• Pick a minimum cost collection of routes that exactly covers all of the legs.

Page 3: Short Story Unit #1 Plot and Suspense

Let:

xj =

{1 if route j is selected,0 otherwise

aij =

{1 if leg i is part of route j,0 otherwise

cj = cost of using route j.

An Integer Programming Problem:

minimizen∑

j=1

cjxj

subject ton∑

j=1

aijxj = 1 i = 1, 2, . . . ,m,

xj ∈ {0, 1} j = 1, 2, . . . , n.

An example of set-partitioning problems.

Page 4: Short Story Unit #1 Plot and Suspense

Airline Crew Scheduling

Similar to equipment scheduling except:

It’s possible to put more than one crew on a flight:

• only one crew works• any others are just being shuttled

Integer Programming Problem:

minimizen∑

j=1

cjxj

subject ton∑

j=1

aijxj ≥ 1 i = 1, 2, . . . ,m,

xj ∈ {0, 1} j = 1, 2, . . . , n.

An example of set-covering problems.

Page 5: Short Story Unit #1 Plot and Suspense

Column Generation

The problem of producing a set of possible routes is called column generation.

It is important and nontrivial.

Reason: there are lots of routes.

For example, on a weekly schedule a route might consist of 20 legs.

If there are m legs in total, then there are up to m20 possible routes.

Page 6: Short Story Unit #1 Plot and Suspense

Traveling Salesman Problem

Most famous example of a hard problem:

Given n cities, determine the order in which to visit them so as to minimize the totaltravel distance.

Page 7: Short Story Unit #1 Plot and Suspense

Fixed Costs

c(x) =

{0 if x = 0K + cx if x > 0.

Equivalent to:c(x) = Ky + cx

together with the following constraints:

x ≤ uy

x ≥ 0

y ∈ {0, 1}.

where u is an upper bound on x.

Page 8: Short Story Unit #1 Plot and Suspense

Nonlinear Objective Functions

Nonlinear objective functions are sometimes approximated by piecewise linear func-tions.

Piecewise linear functions can be treated using techniques similar to the fixed costmethod above.

LP Relaxation

General Integer Programming Problem

maximize cTxsubject to Ax≤ b

x≥ 0x has integer components.

Page 9: Short Story Unit #1 Plot and Suspense

Example

maximize 17x1 + 12x2

subject to 10x1 + 7x2 ≤ 40x1 + x2 ≤ 5

x1, x2 ≥ 0x1, x2 integers.

1 2 3 4 5 600

1

2

3

4

5

6

333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333

x1

x2

10x1+7x2=40

Optimal Solutionto LP−relaxation

x1+x2=5

17x1+12x2=68.33

=z0

Optimal solution is (x1, x2) = (1.67, 3.33) with objective value 68.33.

Rounding to integers: (2, 3) ⇐= infeasible.

Closest feasible: (1, 3) ⇐= suboptimal.

Page 10: Short Story Unit #1 Plot and Suspense

Branch-and-Bound

In LP relaxation, x∗1 = 1.67. Two possi-bilites:

• x1 ≤ 1

• x1 ≥ 2

Let

• P1 = LP relaxation plus: x1 ≤ 1

• P2 = LP relaxation plus: x1 ≥ 2

1 2 3 4 5 600

1

2

3

4

5

6

x1

x2

333333333333333333333333333333333333

33333333333333333333333333333333333P1

P2

Optimal Solutions

• P1: (1, 4) ⇐= integer solution!

• P2: (2, 2.86)

Page 11: Short Story Unit #1 Plot and Suspense

Enumeration Tree

P0: x1=1.67, x2=3.33

ζ=68.33

x1<1 x1

>2

x2>3x2

<2

P1: x1=1, x2=4

ζ=65

P2: x1=2, x2=2.86

ζ=68.29

Double boxed node represents integer solution.

Integer solutions provide lower bounds on optimal integer solution.

LP relaxations at each node provide upper bounds for the subtree below it.

Page 12: Short Story Unit #1 Plot and Suspense

Refinement of P2 to P3

Feasible Region:

1 2 3 4 5 600

1

2

3

4

5

6

x1

x2

333333333333333333333333333333333333

333333333333333333333333333333

P1

P3

Enumeration Tree:

P0: x1=1.67, x2=3.33

ζ=68.33

P3: x1=2.6, x2=2

ζ=68.2

x1<1 x1

>2

x2>3x2

<2

x1<2 x1

>3

P1: x1=1, x2=4

ζ=65

P2: x1=2, x2=2.86

ζ=68.29

Page 13: Short Story Unit #1 Plot and Suspense

Splitting of P3 into P4 and P5

Enumeration Tree is Growing

1 2 3 4 5 600

1

2

3

4

5

6

x1

x2

333333333333333333333333333333333333

333333333333

P1

P5

33333333333333

P4

Enumeration Tree is Growing

P0: x1=1.67, x2=3.33

ζ=68.33

P3: x1=2.6, x2=2

ζ=68.2

x1<1 x1

>2

x2>3x2

<2

x1<2 x1

>3

x2<1 x2>2

P1: x1=1, x2=4

ζ=65

P4: x1=2, x2=2

ζ=58

P5: x1=3, x2=1.43

ζ=68.14

P2: x1=2, x2=2.86

ζ=68.29

Page 14: Short Story Unit #1 Plot and Suspense

More Branching

1 2 3 4 5 600

1

2

3

4

5

6

x1

x2

333333333333333333333333333333333333

333333333

P1

P6

33333333333333

P4

1 2 3 4 5 600

1

2

3

4

5

6

x1

x2

333333333333333333333333333333333333

P1

P7

33333333333333

P5

3333

3333

P8

Page 15: Short Story Unit #1 Plot and Suspense

Enumeration Tree Still Growing

P0: x1=1.67, x2=3.33

ζ=68.33

P8: x1=4, x2=0

ζ=68

P6: x1=3.3, x2=1

ζ=68.1

P3: x1=2.6, x2=2

ζ=68.2

x1<1 x1

>2

x2>3x2

<2

x1<2 x1

>3

x2<1 x2>2

x1<3 x1

>4

P1: x1=1, x2=4

ζ=65

P4: x1=2, x2=2

ζ=58

P7: x1=3, x2=1

ζ=63

P5: x1=3, x2=1.43

ζ=68.14

P2: x1=2, x2=2.86

ζ=68.29

Page 16: Short Story Unit #1 Plot and Suspense

The Complete Enumeration Tree

P0: x1=1.67, x2=3.33

ζ=68.33

P8: x1=4, x2=0

ζ=68

P6: x1=3.3, x2=1

ζ=68.1

P3: x1=2.6, x2=2

ζ=68.2

x1<1 x1

>2

x2>3x2

<2

x1<2 x1

>3

x2<1 x2>2

x1<3 x1

>4

P1: x1=1, x2=4

ζ=65

P4: x1=2, x2=2

ζ=58

P7: x1=3, x2=1

ζ=63

P5: x1=3, x2=1.43

ζ=68.14

P2: x1=2, x2=2.86

ζ=68.29

P9: Infeasible

P10: Infeasible

Optimal solution: (x1, x2) = (4, 0).