Cutting Planes Math 482, Lecture 34 Misha Lavrov April 29, 2020 - - PowerPoint PPT Presentation

cutting planes
SMART_READER_LITE
LIVE PREVIEW

Cutting Planes Math 482, Lecture 34 Misha Lavrov April 29, 2020 - - PowerPoint PPT Presentation

Cutting plane methods The Gomory fractional cut Further observations Cutting Planes Math 482, Lecture 34 Misha Lavrov April 29, 2020 Cutting plane methods The Gomory fractional cut Further observations Cutting planes Suppose we have an


slide-1
SLIDE 1

Cutting plane methods The Gomory fractional cut Further observations

Cutting Planes

Math 482, Lecture 34 Misha Lavrov April 29, 2020

slide-2
SLIDE 2

Cutting plane methods The Gomory fractional cut Further observations

Cutting planes

Suppose we have an integer linear program, and a fractional solution x∗ to its LP relaxation. Definition A cutting plane is an inequality α · x ≤ β that

slide-3
SLIDE 3

Cutting plane methods The Gomory fractional cut Further observations

Cutting planes

Suppose we have an integer linear program, and a fractional solution x∗ to its LP relaxation. Definition A cutting plane is an inequality α · x ≤ β that

1 Is true at every integer solution.

slide-4
SLIDE 4

Cutting plane methods The Gomory fractional cut Further observations

Cutting planes

Suppose we have an integer linear program, and a fractional solution x∗ to its LP relaxation. Definition A cutting plane is an inequality α · x ≤ β that

1 Is true at every integer solution. 2 Is false at x∗.

slide-5
SLIDE 5

Cutting plane methods The Gomory fractional cut Further observations

Cutting planes

Suppose we have an integer linear program, and a fractional solution x∗ to its LP relaxation. Definition A cutting plane is an inequality α · x ≤ β that

1 Is true at every integer solution. 2 Is false at x∗.

Example:      −x + 3y ≤ 3 3x − y ≤ 3 x, y ≥ 0

slide-6
SLIDE 6

Cutting plane methods The Gomory fractional cut Further observations

Cutting planes

Suppose we have an integer linear program, and a fractional solution x∗ to its LP relaxation. Definition A cutting plane is an inequality α · x ≤ β that

1 Is true at every integer solution. 2 Is false at x∗.

Example:      −x + 3y ≤ 3 3x − y ≤ 3 x, y ≥ 0 x + y ≤ 2

slide-7
SLIDE 7

Cutting plane methods The Gomory fractional cut Further observations

Cutting plane algorithms

If we can generate cutting planes, we can solve integer linear programs.

slide-8
SLIDE 8

Cutting plane methods The Gomory fractional cut Further observations

Cutting plane algorithms

If we can generate cutting planes, we can solve integer linear programs.

1 Solve the LP relaxation.

slide-9
SLIDE 9

Cutting plane methods The Gomory fractional cut Further observations

Cutting plane algorithms

If we can generate cutting planes, we can solve integer linear programs.

1 Solve the LP relaxation. 2 If we get a fractional solution, add a cutting plane to our

constraints.

slide-10
SLIDE 10

Cutting plane methods The Gomory fractional cut Further observations

Cutting plane algorithms

If we can generate cutting planes, we can solve integer linear programs.

1 Solve the LP relaxation. 2 If we get a fractional solution, add a cutting plane to our

constraints.

3 Solve the new LP relaxation.

slide-11
SLIDE 11

Cutting plane methods The Gomory fractional cut Further observations

Cutting plane algorithms

If we can generate cutting planes, we can solve integer linear programs.

1 Solve the LP relaxation. 2 If we get a fractional solution, add a cutting plane to our

constraints.

3 Solve the new LP relaxation. 4 Repeat steps 2–3 until we get an integer solution.

slide-12
SLIDE 12

Cutting plane methods The Gomory fractional cut Further observations

Cutting plane algorithms

If we can generate cutting planes, we can solve integer linear programs.

1 Solve the LP relaxation. 2 If we get a fractional solution, add a cutting plane to our

constraints.

3 Solve the new LP relaxation. 4 Repeat steps 2–3 until we get an integer solution.

There are lots of methods to generate cutting planes. They vary in quality and in how long they take to find. We’ll just talk about one

  • f them.
slide-13
SLIDE 13

Cutting plane methods The Gomory fractional cut Further observations

An example

maximize

x,y∈Z

2x + 3y subject to x + 2y ≤ 3 4x + 5y ≤ 10 x, y ≥ 0

slide-14
SLIDE 14

Cutting plane methods The Gomory fractional cut Further observations

An example

maximize

x,y∈Z

2x + 3y subject to x + 2y ≤ 3 4x + 5y ≤ 10 x, y ≥ 0 Properties of this example that we need to have:

1 All variables are integers, not just some.

slide-15
SLIDE 15

Cutting plane methods The Gomory fractional cut Further observations

An example

maximize

x,y∈Z

2x + 3y subject to x + 2y ≤ 3 4x + 5y ≤ 10 x, y ≥ 0 Properties of this example that we need to have:

1 All variables are integers, not just some. 2 All coefficients in the constraints are integers.

slide-16
SLIDE 16

Cutting plane methods The Gomory fractional cut Further observations

An example

maximize

x,y∈Z

2x + 3y subject to x + 2y ≤ 3 4x + 5y ≤ 10 x, y ≥ 0 Properties of this example that we need to have:

1 All variables are integers, not just some. 2 All coefficients in the constraints are integers.

This means that the slacks s1 = 3 − (x + 2y) and s2 = 10 − (4x + 5y) are also integers.

slide-17
SLIDE 17

Cutting plane methods The Gomory fractional cut Further observations

Solving the LP relaxation

Starting tableau: x y s1 s2 s1 1 2 1 3 s2 4 5 1 10 −z 2 3

slide-18
SLIDE 18

Cutting plane methods The Gomory fractional cut Further observations

Solving the LP relaxation

Starting tableau: x y s1 s2 s1 1 2 1 3 s2 4 5 1 10 −z 2 3 Pivot on y: x y s1 s2 y

1/ 2

1

1/ 2 3/ 2

s2

3/ 2

−5/

2

1

5/ 2

−z

1/ 2

−3/

2

−9/

2

slide-19
SLIDE 19

Cutting plane methods The Gomory fractional cut Further observations

Solving the LP relaxation

Starting tableau: x y s1 s2 s1 1 2 1 3 s2 4 5 1 10 −z 2 3 Pivot on y: x y s1 s2 y

1/ 2

1

1/ 2 3/ 2

s2

3/ 2

−5/

2

1

5/ 2

−z

1/ 2

−3/

2

−9/

2

Pivot on x: x y s1 s2 y 1

4/ 3

−1/

3 2/ 3

x 1 −5/

3 2/ 3 5/ 3

−z −2/

3

−1/

3

−16/

3

slide-20
SLIDE 20

Cutting plane methods The Gomory fractional cut Further observations

Generating the cut

The first row of the optimal tableau says: y + 4

3s1 − 1 3s2 = 2 3.

slide-21
SLIDE 21

Cutting plane methods The Gomory fractional cut Further observations

Generating the cut

The first row of the optimal tableau says: y + 4

3s1 − 1 3s2 = 2 3.

We separate this into a integer part and a nonnegative part: y + s1 − s2

  • integer

+ 1

3s1 + 2 3s2

  • nonnegative

= 2

3.

slide-22
SLIDE 22

Cutting plane methods The Gomory fractional cut Further observations

Generating the cut

The first row of the optimal tableau says: y + 4

3s1 − 1 3s2 = 2 3.

We separate this into a integer part and a nonnegative part: y + s1 − s2

  • integer

+ 1

3s1 + 2 3s2

  • nonnegative

= 2

3.

Dropping the nonnegative part creates an inequality: y + s1 − s2 ≤ 2

3.

slide-23
SLIDE 23

Cutting plane methods The Gomory fractional cut Further observations

Generating the cut

The first row of the optimal tableau says: y + 4

3s1 − 1 3s2 = 2 3.

We separate this into a integer part and a nonnegative part: y + s1 − s2

  • integer

+ 1

3s1 + 2 3s2

  • nonnegative

= 2

3.

Dropping the nonnegative part creates an inequality: y + s1 − s2 ≤ 2

3.

An integer that’s ≤ 2

3 is ≤ 0, so we can strengthen this:

y + s1 − s2 ≤ 0. This is the Gomory fractional cut.

slide-24
SLIDE 24

Cutting plane methods The Gomory fractional cut Further observations

Alternate form I: solving for x and y

The inequality we get has several equivalent forms. For example, y + s1 − s2 ≤ 0 = ⇒ y +

  • 3 − (x + 2y)
  • 10 − (4x + 5y)
  • ≤ 0
  • r 3x + 4y ≤ 7.
slide-25
SLIDE 25

Cutting plane methods The Gomory fractional cut Further observations

Alternate form I: solving for x and y

The inequality we get has several equivalent forms. For example, y + s1 − s2 ≤ 0 = ⇒ y +

  • 3 − (x + 2y)
  • 10 − (4x + 5y)
  • ≤ 0
  • r 3x + 4y ≤ 7.

This is useful for adding the cutting plane to our constraints: maximize

x,y∈Z

2x + 3y subject to x + 2y ≤ 3 4x + 5y ≤ 10 x, y ≥ 0

slide-26
SLIDE 26

Cutting plane methods The Gomory fractional cut Further observations

Alternate form I: solving for x and y

The inequality we get has several equivalent forms. For example, y + s1 − s2 ≤ 0 = ⇒ y +

  • 3 − (x + 2y)
  • 10 − (4x + 5y)
  • ≤ 0
  • r 3x + 4y ≤ 7.

This is useful for adding the cutting plane to our constraints: maximize

x,y∈Z

2x + 3y subject to x + 2y ≤ 3 4x + 5y ≤ 10 3x + 4y ≤ 7 x, y ≥ 0

slide-27
SLIDE 27

Cutting plane methods The Gomory fractional cut Further observations

Alternate form II: tableau form

The inequality we get has several equivalent forms. We can:

1 Add a slack variable, turning y − s1 + s2 ≤ 0 into

y + s1 − s2 + s3 = 0. (Note that s3 is an integer!)

slide-28
SLIDE 28

Cutting plane methods The Gomory fractional cut Further observations

Alternate form II: tableau form

The inequality we get has several equivalent forms. We can:

1 Add a slack variable, turning y − s1 + s2 ≤ 0 into

y + s1 − s2 + s3 = 0. (Note that s3 is an integer!)

2 Subtract the equation y + 4

3s1 − 1 3s2 = 2 3 we started with,

getting − 1

3s1 − 2 3s2 + s3 = − 2 3.

slide-29
SLIDE 29

Cutting plane methods The Gomory fractional cut Further observations

Alternate form II: tableau form

The inequality we get has several equivalent forms. We can:

1 Add a slack variable, turning y − s1 + s2 ≤ 0 into

y + s1 − s2 + s3 = 0. (Note that s3 is an integer!)

2 Subtract the equation y + 4

3s1 − 1 3s2 = 2 3 we started with,

getting − 1

3s1 − 2 3s2 + s3 = − 2 3.

This form is good for adding to the tableau: x y s1 s2 y 1

4/ 3

−1/

3 2/ 3

x 1 −5/

3 2/ 3 5/ 3

−z −2/

3

−1/

3

−16/

3

slide-30
SLIDE 30

Cutting plane methods The Gomory fractional cut Further observations

Alternate form II: tableau form

The inequality we get has several equivalent forms. We can:

1 Add a slack variable, turning y − s1 + s2 ≤ 0 into

y + s1 − s2 + s3 = 0. (Note that s3 is an integer!)

2 Subtract the equation y + 4

3s1 − 1 3s2 = 2 3 we started with,

getting − 1

3s1 − 2 3s2 + s3 = − 2 3.

This form is good for adding to the tableau: x y s1 s2 s3 y 1

4/ 3

−1/

3 2/ 3

x 1 −5/

3 2/ 3 5/ 3

s3 −1/

3

−2/

3

1 −2/

3

−z −2/

3

−1/

3

−16/

3

slide-31
SLIDE 31

Cutting plane methods The Gomory fractional cut Further observations

Solving the new LP

We can continue with the dual simplex method. Our new tableau: x y s1 s2 s3 y 1

4/ 3

−1/

3 2/ 3

x 1 −5/

3 2/ 3 5/ 3

s3 −1/

3

−2/

3

1 −2/

3

−z −2/

3

−1/

3

−16/

3

slide-32
SLIDE 32

Cutting plane methods The Gomory fractional cut Further observations

Solving the new LP

We can continue with the dual simplex method. Our new tableau: x y s1 s2 s3 y 1

4/ 3

−1/

3 2/ 3

x 1 −5/

3 2/ 3 5/ 3

s3 −1/

3

−2/

3

1 −2/

3

−z −2/

3

−1/

3

−16/

3

Pivot on s3’s row: x y s1 s2 s3 y 1

3/ 2

−1/

2

1 x 1 −2 1 1 s2

1/ 2

1 −3/

2

1 −z −1/

2

−1/

2

−5

slide-33
SLIDE 33

Cutting plane methods The Gomory fractional cut Further observations

Solving the new LP

We can continue with the dual simplex method. Our new tableau: x y s1 s2 s3 y 1

4/ 3

−1/

3 2/ 3

x 1 −5/

3 2/ 3 5/ 3

s3 −1/

3

−2/

3

1 −2/

3

−z −2/

3

−1/

3

−16/

3

Pivot on s3’s row: x y s1 s2 s3 y 1

3/ 2

−1/

2

1 x 1 −2 1 1 s2

1/ 2

1 −3/

2

1 −z −1/

2

−1/

2

−5 Here, we found the integer optimal solution (x, y) = (1, 1). In general, this may take more cutting plane steps.

slide-34
SLIDE 34

Cutting plane methods The Gomory fractional cut Further observations

General form

In general, starting from an inequality a1x1 + a2x2 + · · · + anxn = b in integer variables x1, . . . , xn,

slide-35
SLIDE 35

Cutting plane methods The Gomory fractional cut Further observations

General form

In general, starting from an inequality a1x1 + a2x2 + · · · + anxn = b in integer variables x1, . . . , xn, the Gomory cut is ⌊a1⌋ x1 + ⌊a2⌋ x2 + · · · + ⌊an⌋ xn ≤ ⌊b⌋

slide-36
SLIDE 36

Cutting plane methods The Gomory fractional cut Further observations

General form

In general, starting from an inequality a1x1 + a2x2 + · · · + anxn = b in integer variables x1, . . . , xn, the Gomory cut is ⌊a1⌋ x1 + ⌊a2⌋ x2 + · · · + ⌊an⌋ xn ≤ ⌊b⌋ though you’ll see it more often written as (a1 − ⌊a1⌋)x1 + (a2 − ⌊a2⌋)x2 + · · · + (an − ⌊an⌋)xn ≥ b − ⌊b⌋ .

slide-37
SLIDE 37

Cutting plane methods The Gomory fractional cut Further observations

General form

In general, starting from an inequality a1x1 + a2x2 + · · · + anxn = b in integer variables x1, . . . , xn, the Gomory cut is ⌊a1⌋ x1 + ⌊a2⌋ x2 + · · · + ⌊an⌋ xn ≤ ⌊b⌋ though you’ll see it more often written as (a1 − ⌊a1⌋)x1 + (a2 − ⌊a2⌋)x2 + · · · + (an − ⌊an⌋)xn ≥ b − ⌊b⌋ . (This last form is the negative of the inequality we added to the tableau.)

slide-38
SLIDE 38

Cutting plane methods The Gomory fractional cut Further observations

Branch-and-cut

We can combine the two methods we’ve learned into a hybrid method called “branch-and-cut”.

slide-39
SLIDE 39

Cutting plane methods The Gomory fractional cut Further observations

Branch-and-cut

We can combine the two methods we’ve learned into a hybrid method called “branch-and-cut”. In the hybrid method, when we solve an LP relaxation and get a fractional solution, we have two choices: Branch on a fractional variable, as in branch-and-bound.

slide-40
SLIDE 40

Cutting plane methods The Gomory fractional cut Further observations

Branch-and-cut

We can combine the two methods we’ve learned into a hybrid method called “branch-and-cut”. In the hybrid method, when we solve an LP relaxation and get a fractional solution, we have two choices: Branch on a fractional variable, as in branch-and-bound. Add a cutting plane.

slide-41
SLIDE 41

Cutting plane methods The Gomory fractional cut Further observations

Branch-and-cut

We can combine the two methods we’ve learned into a hybrid method called “branch-and-cut”. In the hybrid method, when we solve an LP relaxation and get a fractional solution, we have two choices: Branch on a fractional variable, as in branch-and-bound. Add a cutting plane. How to decide which one to do? Some LPs are more amenable to cutting planes than others. If we’re going to get a really strong cutting plane, we should add it. If it looks like cuts are not working, we can decide to branch.