![Page 1: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/1.jpg)
Outline
Integer Programming: Theory and Algorithms
Piotr Wojciechowski1
1LCSEEWest Virginia UniversityMorgantown, WV USA
April 11, 2015
P. Wojciechowski Optimization Methods in Finance
![Page 2: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/2.jpg)
Outline
Outline
1 Theory of Integer Programming
Introduction
Modeling Logical Constraints
2 Solving Mixed Integer Linear Programs
LP Relaxation
Branch and Bound
Cutting Planes
Branch and Cut
P. Wojciechowski Optimization Methods in Finance
![Page 3: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/3.jpg)
Outline
Outline
1 Theory of Integer Programming
Introduction
Modeling Logical Constraints
2 Solving Mixed Integer Linear Programs
LP Relaxation
Branch and Bound
Cutting Planes
Branch and Cut
P. Wojciechowski Optimization Methods in Finance
![Page 4: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/4.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Outline
1 Theory of Integer Programming
Introduction
Modeling Logical Constraints
2 Solving Mixed Integer Linear Programs
LP Relaxation
Branch and Bound
Cutting Planes
Branch and Cut
P. Wojciechowski Optimization Methods in Finance
![Page 5: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/5.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Reasoning
Linear Programming allows variables to take non integer values.
In many cases rounding of solutions can be performed.
Integer Programming allows for the modeling of yes or no choices.
In these cases non-integer solutions are of little use.
Definition (Integer Program)
An Integer Program (IP), like an LP, has linear constraints and linear objectivefunction.
However, variables are now restricted to take only integer values.
Thus, an IP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
x ∈ Zn
P. Wojciechowski Optimization Methods in Finance
![Page 6: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/6.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Reasoning
Linear Programming allows variables to take non integer values.
In many cases rounding of solutions can be performed.
Integer Programming allows for the modeling of yes or no choices.
In these cases non-integer solutions are of little use.
Definition (Integer Program)
An Integer Program (IP), like an LP, has linear constraints and linear objectivefunction.
However, variables are now restricted to take only integer values.
Thus, an IP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
x ∈ Zn
P. Wojciechowski Optimization Methods in Finance
![Page 7: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/7.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Reasoning
Linear Programming allows variables to take non integer values.
In many cases rounding of solutions can be performed.
Integer Programming allows for the modeling of yes or no choices.
In these cases non-integer solutions are of little use.
Definition (Integer Program)
An Integer Program (IP), like an LP, has linear constraints and linear objectivefunction.
However, variables are now restricted to take only integer values.
Thus, an IP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
x ∈ Zn
P. Wojciechowski Optimization Methods in Finance
![Page 8: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/8.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Reasoning
Linear Programming allows variables to take non integer values.
In many cases rounding of solutions can be performed.
Integer Programming allows for the modeling of yes or no choices.
In these cases non-integer solutions are of little use.
Definition (Integer Program)
An Integer Program (IP), like an LP, has linear constraints and linear objectivefunction.
However, variables are now restricted to take only integer values.
Thus, an IP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
x ∈ Zn
P. Wojciechowski Optimization Methods in Finance
![Page 9: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/9.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Reasoning
Linear Programming allows variables to take non integer values.
In many cases rounding of solutions can be performed.
Integer Programming allows for the modeling of yes or no choices.
In these cases non-integer solutions are of little use.
Definition (Integer Program)
An Integer Program (IP), like an LP, has linear constraints and linear objectivefunction.
However, variables are now restricted to take only integer values.
Thus, an IP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
x ∈ Zn
P. Wojciechowski Optimization Methods in Finance
![Page 10: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/10.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Reasoning
Linear Programming allows variables to take non integer values.
In many cases rounding of solutions can be performed.
Integer Programming allows for the modeling of yes or no choices.
In these cases non-integer solutions are of little use.
Definition (Integer Program)
An Integer Program (IP), like an LP, has linear constraints and linear objectivefunction.
However, variables are now restricted to take only integer values.
Thus, an IP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
x ∈ Zn
P. Wojciechowski Optimization Methods in Finance
![Page 11: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/11.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Reasoning
Linear Programming allows variables to take non integer values.
In many cases rounding of solutions can be performed.
Integer Programming allows for the modeling of yes or no choices.
In these cases non-integer solutions are of little use.
Definition (Integer Program)
An Integer Program (IP), like an LP, has linear constraints and linear objectivefunction.
However, variables are now restricted to take only integer values.
Thus, an IP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
x ∈ Zn
P. Wojciechowski Optimization Methods in Finance
![Page 12: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/12.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Reasoning
Linear Programming allows variables to take non integer values.
In many cases rounding of solutions can be performed.
Integer Programming allows for the modeling of yes or no choices.
In these cases non-integer solutions are of little use.
Definition (Integer Program)
An Integer Program (IP), like an LP, has linear constraints and linear objectivefunction.
However, variables are now restricted to take only integer values.
Thus, an IP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
x ∈ Zn
P. Wojciechowski Optimization Methods in Finance
![Page 13: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/13.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Reasoning
Linear Programming allows variables to take non integer values.
In many cases rounding of solutions can be performed.
Integer Programming allows for the modeling of yes or no choices.
In these cases non-integer solutions are of little use.
Definition (Integer Program)
An Integer Program (IP), like an LP, has linear constraints and linear objectivefunction.
However, variables are now restricted to take only integer values.
Thus, an IP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
x ∈ Zn
P. Wojciechowski Optimization Methods in Finance
![Page 14: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/14.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Reasoning
Linear Programming allows variables to take non integer values.
In many cases rounding of solutions can be performed.
Integer Programming allows for the modeling of yes or no choices.
In these cases non-integer solutions are of little use.
Definition (Integer Program)
An Integer Program (IP), like an LP, has linear constraints and linear objectivefunction.
However, variables are now restricted to take only integer values.
Thus, an IP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
x ∈ Zn
P. Wojciechowski Optimization Methods in Finance
![Page 15: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/15.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Definition (Mixed Integer Linear Program)
In a Mixed Integer Linear Program (MILP) not all variables are restricted to onlyinteger values.
Thus both IPs and LPs are restircted forms of MILPs.
An MILP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
xi ∈ Z, i = 1 . . . p
P. Wojciechowski Optimization Methods in Finance
![Page 16: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/16.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Definition (Mixed Integer Linear Program)
In a Mixed Integer Linear Program (MILP) not all variables are restricted to onlyinteger values.
Thus both IPs and LPs are restircted forms of MILPs.
An MILP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
xi ∈ Z, i = 1 . . . p
P. Wojciechowski Optimization Methods in Finance
![Page 17: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/17.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Definition (Mixed Integer Linear Program)
In a Mixed Integer Linear Program (MILP) not all variables are restricted to onlyinteger values.
Thus both IPs and LPs are restircted forms of MILPs.
An MILP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
xi ∈ Z, i = 1 . . . p
P. Wojciechowski Optimization Methods in Finance
![Page 18: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/18.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Definition (Mixed Integer Linear Program)
In a Mixed Integer Linear Program (MILP) not all variables are restricted to onlyinteger values.
Thus both IPs and LPs are restircted forms of MILPs.
An MILP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
xi ∈ Z, i = 1 . . . p
P. Wojciechowski Optimization Methods in Finance
![Page 19: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/19.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Definition (Mixed Integer Linear Program)
In a Mixed Integer Linear Program (MILP) not all variables are restricted to onlyinteger values.
Thus both IPs and LPs are restircted forms of MILPs.
An MILP will have the following form.
max z = c · x
A · x ≤ b
x ≥ 0
xi ∈ Z, i = 1 . . . p
P. Wojciechowski Optimization Methods in Finance
![Page 20: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/20.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Outline
1 Theory of Integer Programming
Introduction
Modeling Logical Constraints
2 Solving Mixed Integer Linear Programs
LP Relaxation
Branch and Bound
Cutting Planes
Branch and Cut
P. Wojciechowski Optimization Methods in Finance
![Page 21: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/21.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Difference from Linear Programming
Unlike LPs, IPs and MILPs allow us to model a disjunction of constraints.
Example
In an IP we can model x1 ≤ 0 or −x1 ≤ −5.To do this we introduce a new (0, 1)-variable x2. The disjunction can now be expressedas:
x1 −M · x2 ≤ 0
−x1 −M · (1− x2) ≤ −5
This technique can also be used to model constraints like x1 6= 4.
P. Wojciechowski Optimization Methods in Finance
![Page 22: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/22.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Difference from Linear Programming
Unlike LPs, IPs and MILPs allow us to model a disjunction of constraints.
Example
In an IP we can model x1 ≤ 0 or −x1 ≤ −5.To do this we introduce a new (0, 1)-variable x2. The disjunction can now be expressedas:
x1 −M · x2 ≤ 0
−x1 −M · (1− x2) ≤ −5
This technique can also be used to model constraints like x1 6= 4.
P. Wojciechowski Optimization Methods in Finance
![Page 23: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/23.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Difference from Linear Programming
Unlike LPs, IPs and MILPs allow us to model a disjunction of constraints.
Example
In an IP we can model x1 ≤ 0 or −x1 ≤ −5.To do this we introduce a new (0, 1)-variable x2. The disjunction can now be expressedas:
x1 −M · x2 ≤ 0
−x1 −M · (1− x2) ≤ −5
This technique can also be used to model constraints like x1 6= 4.
P. Wojciechowski Optimization Methods in Finance
![Page 24: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/24.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Difference from Linear Programming
Unlike LPs, IPs and MILPs allow us to model a disjunction of constraints.
Example
In an IP we can model x1 ≤ 0 or −x1 ≤ −5.
To do this we introduce a new (0, 1)-variable x2. The disjunction can now be expressedas:
x1 −M · x2 ≤ 0
−x1 −M · (1− x2) ≤ −5
This technique can also be used to model constraints like x1 6= 4.
P. Wojciechowski Optimization Methods in Finance
![Page 25: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/25.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Difference from Linear Programming
Unlike LPs, IPs and MILPs allow us to model a disjunction of constraints.
Example
In an IP we can model x1 ≤ 0 or −x1 ≤ −5.To do this we introduce a new (0, 1)-variable x2. The disjunction can now be expressedas:
x1 −M · x2 ≤ 0
−x1 −M · (1− x2) ≤ −5
This technique can also be used to model constraints like x1 6= 4.
P. Wojciechowski Optimization Methods in Finance
![Page 26: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/26.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Difference from Linear Programming
Unlike LPs, IPs and MILPs allow us to model a disjunction of constraints.
Example
In an IP we can model x1 ≤ 0 or −x1 ≤ −5.To do this we introduce a new (0, 1)-variable x2. The disjunction can now be expressedas:
x1 −M · x2 ≤ 0
−x1 −M · (1− x2) ≤ −5
This technique can also be used to model constraints like x1 6= 4.
P. Wojciechowski Optimization Methods in Finance
![Page 27: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/27.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Exercise
Construct an IP which models the following problem.
We wish to invest $19, 000.
Investment 1 requires an investment of $6, 700 and has a net present value of$8, 000.
Investment 2 requires $10, 000 and has a value of $11, 000.
Investment 3 requires $5, 500 and has a value of $6, 000.
Investment 4 requires $3, 400 and has a value of $4, 000.
P. Wojciechowski Optimization Methods in Finance
![Page 28: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/28.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Exercise
Construct an IP which models the following problem.
We wish to invest $19, 000.
Investment 1 requires an investment of $6, 700 and has a net present value of$8, 000.
Investment 2 requires $10, 000 and has a value of $11, 000.
Investment 3 requires $5, 500 and has a value of $6, 000.
Investment 4 requires $3, 400 and has a value of $4, 000.
P. Wojciechowski Optimization Methods in Finance
![Page 29: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/29.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Exercise
Construct an IP which models the following problem.
We wish to invest $19, 000.
Investment 1 requires an investment of $6, 700 and has a net present value of$8, 000.
Investment 2 requires $10, 000 and has a value of $11, 000.
Investment 3 requires $5, 500 and has a value of $6, 000.
Investment 4 requires $3, 400 and has a value of $4, 000.
P. Wojciechowski Optimization Methods in Finance
![Page 30: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/30.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Exercise
Construct an IP which models the following problem.
We wish to invest $19, 000.
Investment 1 requires an investment of $6, 700 and has a net present value of$8, 000.
Investment 2 requires $10, 000 and has a value of $11, 000.
Investment 3 requires $5, 500 and has a value of $6, 000.
Investment 4 requires $3, 400 and has a value of $4, 000.
P. Wojciechowski Optimization Methods in Finance
![Page 31: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/31.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Exercise
Construct an IP which models the following problem.
We wish to invest $19, 000.
Investment 1 requires an investment of $6, 700 and has a net present value of$8, 000.
Investment 2 requires $10, 000 and has a value of $11, 000.
Investment 3 requires $5, 500 and has a value of $6, 000.
Investment 4 requires $3, 400 and has a value of $4, 000.
P. Wojciechowski Optimization Methods in Finance
![Page 32: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/32.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Exercise
Construct an IP which models the following problem.
We wish to invest $19, 000.
Investment 1 requires an investment of $6, 700 and has a net present value of$8, 000.
Investment 2 requires $10, 000 and has a value of $11, 000.
Investment 3 requires $5, 500 and has a value of $6, 000.
Investment 4 requires $3, 400 and has a value of $4, 000.
P. Wojciechowski Optimization Methods in Finance
![Page 33: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/33.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Exercise
Construct an IP which models the following problem.
We wish to invest $19, 000.
Investment 1 requires an investment of $6, 700 and has a net present value of$8, 000.
Investment 2 requires $10, 000 and has a value of $11, 000.
Investment 3 requires $5, 500 and has a value of $6, 000.
Investment 4 requires $3, 400 and has a value of $4, 000.
P. Wojciechowski Optimization Methods in Finance
![Page 34: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/34.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Solution
We get the following IP
max 8 · x1 + 11 · x2 + 6 · x3 + 4 · x4
6.7 · x1 + 10 · x2 + 5.5 · x3 + 3.4 · x4 ≤ 19
x1, x2, x3, x4 ∈ {0, 1}
P. Wojciechowski Optimization Methods in Finance
![Page 35: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/35.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Solution
We get the following IP
max 8 · x1 + 11 · x2 + 6 · x3 + 4 · x4
6.7 · x1 + 10 · x2 + 5.5 · x3 + 3.4 · x4 ≤ 19
x1, x2, x3, x4 ∈ {0, 1}
P. Wojciechowski Optimization Methods in Finance
![Page 36: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/36.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Solution
We get the following IP
max 8 · x1 + 11 · x2 + 6 · x3 + 4 · x4
6.7 · x1 + 10 · x2 + 5.5 · x3 + 3.4 · x4 ≤ 19
x1, x2, x3, x4 ∈ {0, 1}
P. Wojciechowski Optimization Methods in Finance
![Page 37: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/37.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Modeling Restrictions
We can also use integer programs to model restrictions on investment choices. Forexample:
We can only make two investments.
x1 + x2 + x3 + x4 ≤ 2
If we choose Investment 2, then we must also choose investment 4.
x2 − x4 ≤ 0
We cannot choose both Investment 1 and Investment 3.
x1 + x3 ≤ 1
P. Wojciechowski Optimization Methods in Finance
![Page 38: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/38.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Modeling Restrictions
We can also use integer programs to model restrictions on investment choices. Forexample:
We can only make two investments.
x1 + x2 + x3 + x4 ≤ 2
If we choose Investment 2, then we must also choose investment 4.
x2 − x4 ≤ 0
We cannot choose both Investment 1 and Investment 3.
x1 + x3 ≤ 1
P. Wojciechowski Optimization Methods in Finance
![Page 39: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/39.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Modeling Restrictions
We can also use integer programs to model restrictions on investment choices. Forexample:
We can only make two investments.
x1 + x2 + x3 + x4 ≤ 2
If we choose Investment 2, then we must also choose investment 4.
x2 − x4 ≤ 0
We cannot choose both Investment 1 and Investment 3.
x1 + x3 ≤ 1
P. Wojciechowski Optimization Methods in Finance
![Page 40: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/40.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Modeling Restrictions
We can also use integer programs to model restrictions on investment choices. Forexample:
We can only make two investments.
x1 + x2 + x3 + x4 ≤ 2
If we choose Investment 2, then we must also choose investment 4.
x2 − x4 ≤ 0
We cannot choose both Investment 1 and Investment 3.
x1 + x3 ≤ 1
P. Wojciechowski Optimization Methods in Finance
![Page 41: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/41.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Modeling Restrictions
We can also use integer programs to model restrictions on investment choices. Forexample:
We can only make two investments.
x1 + x2 + x3 + x4 ≤ 2
If we choose Investment 2, then we must also choose investment 4.
x2 − x4 ≤ 0
We cannot choose both Investment 1 and Investment 3.
x1 + x3 ≤ 1
P. Wojciechowski Optimization Methods in Finance
![Page 42: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/42.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Modeling Restrictions
We can also use integer programs to model restrictions on investment choices. Forexample:
We can only make two investments.
x1 + x2 + x3 + x4 ≤ 2
If we choose Investment 2, then we must also choose investment 4.
x2 − x4 ≤ 0
We cannot choose both Investment 1 and Investment 3.
x1 + x3 ≤ 1
P. Wojciechowski Optimization Methods in Finance
![Page 43: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/43.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Modeling Restrictions
We can also use integer programs to model restrictions on investment choices. Forexample:
We can only make two investments.
x1 + x2 + x3 + x4 ≤ 2
If we choose Investment 2, then we must also choose investment 4.
x2 − x4 ≤ 0
We cannot choose both Investment 1 and Investment 3.
x1 + x3 ≤ 1
P. Wojciechowski Optimization Methods in Finance
![Page 44: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/44.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
IntroductionModeling Logical Constraints
Modeling Restrictions
We can also use integer programs to model restrictions on investment choices. Forexample:
We can only make two investments.
x1 + x2 + x3 + x4 ≤ 2
If we choose Investment 2, then we must also choose investment 4.
x2 − x4 ≤ 0
We cannot choose both Investment 1 and Investment 3.
x1 + x3 ≤ 1
P. Wojciechowski Optimization Methods in Finance
![Page 45: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/45.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Outline
1 Theory of Integer Programming
Introduction
Modeling Logical Constraints
2 Solving Mixed Integer Linear Programs
LP Relaxation
Branch and Bound
Cutting Planes
Branch and Cut
P. Wojciechowski Optimization Methods in Finance
![Page 46: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/46.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (LP Relaxation)
When given an MILP we can relax it to an LP by removing all integrality requirements.Since the LP is less constrained than the original MILP we have the following.
The optimal solution to the LP provides us with an upper bound on the solution tothe MILP.
If the LP is infeasible, then so is the MILP.
If the optimal solution to the LP has xi ∈ Z for i = 1 . . . p, then it is also the optimalsolution to the MILP.
P. Wojciechowski Optimization Methods in Finance
![Page 47: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/47.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (LP Relaxation)
When given an MILP we can relax it to an LP by removing all integrality requirements.
Since the LP is less constrained than the original MILP we have the following.
The optimal solution to the LP provides us with an upper bound on the solution tothe MILP.
If the LP is infeasible, then so is the MILP.
If the optimal solution to the LP has xi ∈ Z for i = 1 . . . p, then it is also the optimalsolution to the MILP.
P. Wojciechowski Optimization Methods in Finance
![Page 48: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/48.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (LP Relaxation)
When given an MILP we can relax it to an LP by removing all integrality requirements.Since the LP is less constrained than the original MILP we have the following.
The optimal solution to the LP provides us with an upper bound on the solution tothe MILP.
If the LP is infeasible, then so is the MILP.
If the optimal solution to the LP has xi ∈ Z for i = 1 . . . p, then it is also the optimalsolution to the MILP.
P. Wojciechowski Optimization Methods in Finance
![Page 49: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/49.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (LP Relaxation)
When given an MILP we can relax it to an LP by removing all integrality requirements.Since the LP is less constrained than the original MILP we have the following.
The optimal solution to the LP provides us with an upper bound on the solution tothe MILP.
If the LP is infeasible, then so is the MILP.
If the optimal solution to the LP has xi ∈ Z for i = 1 . . . p, then it is also the optimalsolution to the MILP.
P. Wojciechowski Optimization Methods in Finance
![Page 50: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/50.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (LP Relaxation)
When given an MILP we can relax it to an LP by removing all integrality requirements.Since the LP is less constrained than the original MILP we have the following.
The optimal solution to the LP provides us with an upper bound on the solution tothe MILP.
If the LP is infeasible, then so is the MILP.
If the optimal solution to the LP has xi ∈ Z for i = 1 . . . p, then it is also the optimalsolution to the MILP.
P. Wojciechowski Optimization Methods in Finance
![Page 51: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/51.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (LP Relaxation)
When given an MILP we can relax it to an LP by removing all integrality requirements.Since the LP is less constrained than the original MILP we have the following.
The optimal solution to the LP provides us with an upper bound on the solution tothe MILP.
If the LP is infeasible, then so is the MILP.
If the optimal solution to the LP has xi ∈ Z for i = 1 . . . p, then it is also the optimalsolution to the MILP.
P. Wojciechowski Optimization Methods in Finance
![Page 52: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/52.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Consider the following IP.
max z = 20 · x1 + 10 · x2 + 10 · x3
2 · x1 + 20 · x2 + 4 · x3 ≤ 15
6 · x1 + 20 · x2 + 4 · x3 = 20
x1, x2, x3 ≥ 0
x1, x2, x3 ∈ Z
When we relax this to an LP we obtain the following as the optimal solution.
(x1, x2, x3) = (3.3̄, 0, 0) z = 66.6̄
However when we consider the original IP we obtain the following as the optimalsolution.
(x1, x2, x3) = (2, 0, 2) z = 60
P. Wojciechowski Optimization Methods in Finance
![Page 53: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/53.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Consider the following IP.
max z = 20 · x1 + 10 · x2 + 10 · x3
2 · x1 + 20 · x2 + 4 · x3 ≤ 15
6 · x1 + 20 · x2 + 4 · x3 = 20
x1, x2, x3 ≥ 0
x1, x2, x3 ∈ Z
When we relax this to an LP we obtain the following as the optimal solution.
(x1, x2, x3) = (3.3̄, 0, 0) z = 66.6̄
However when we consider the original IP we obtain the following as the optimalsolution.
(x1, x2, x3) = (2, 0, 2) z = 60
P. Wojciechowski Optimization Methods in Finance
![Page 54: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/54.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Consider the following IP.
max z = 20 · x1 + 10 · x2 + 10 · x3
2 · x1 + 20 · x2 + 4 · x3 ≤ 15
6 · x1 + 20 · x2 + 4 · x3 = 20
x1, x2, x3 ≥ 0
x1, x2, x3 ∈ Z
When we relax this to an LP we obtain the following as the optimal solution.
(x1, x2, x3) = (3.3̄, 0, 0) z = 66.6̄
However when we consider the original IP we obtain the following as the optimalsolution.
(x1, x2, x3) = (2, 0, 2) z = 60
P. Wojciechowski Optimization Methods in Finance
![Page 55: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/55.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Consider the following IP.
max z = 20 · x1 + 10 · x2 + 10 · x3
2 · x1 + 20 · x2 + 4 · x3 ≤ 15
6 · x1 + 20 · x2 + 4 · x3 = 20
x1, x2, x3 ≥ 0
x1, x2, x3 ∈ Z
When we relax this to an LP we obtain the following as the optimal solution.
(x1, x2, x3) = (3.3̄, 0, 0) z = 66.6̄
However when we consider the original IP we obtain the following as the optimalsolution.
(x1, x2, x3) = (2, 0, 2) z = 60
P. Wojciechowski Optimization Methods in Finance
![Page 56: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/56.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Consider the following IP.
max z = 20 · x1 + 10 · x2 + 10 · x3
2 · x1 + 20 · x2 + 4 · x3 ≤ 15
6 · x1 + 20 · x2 + 4 · x3 = 20
x1, x2, x3 ≥ 0
x1, x2, x3 ∈ Z
When we relax this to an LP we obtain the following as the optimal solution.
(x1, x2, x3) = (3.3̄, 0, 0) z = 66.6̄
However when we consider the original IP we obtain the following as the optimalsolution.
(x1, x2, x3) = (2, 0, 2) z = 60
P. Wojciechowski Optimization Methods in Finance
![Page 57: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/57.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Consider the following IP.
max z = 20 · x1 + 10 · x2 + 10 · x3
2 · x1 + 20 · x2 + 4 · x3 ≤ 15
6 · x1 + 20 · x2 + 4 · x3 = 20
x1, x2, x3 ≥ 0
x1, x2, x3 ∈ Z
When we relax this to an LP we obtain the following as the optimal solution.
(x1, x2, x3) = (3.3̄, 0, 0) z = 66.6̄
However when we consider the original IP we obtain the following as the optimalsolution.
(x1, x2, x3) = (2, 0, 2) z = 60
P. Wojciechowski Optimization Methods in Finance
![Page 58: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/58.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Consider the following IP.
max z = 20 · x1 + 10 · x2 + 10 · x3
2 · x1 + 20 · x2 + 4 · x3 ≤ 15
6 · x1 + 20 · x2 + 4 · x3 = 20
x1, x2, x3 ≥ 0
x1, x2, x3 ∈ Z
When we relax this to an LP we obtain the following as the optimal solution.
(x1, x2, x3) = (3.3̄, 0, 0) z = 66.6̄
However when we consider the original IP we obtain the following as the optimalsolution.
(x1, x2, x3) = (2, 0, 2) z = 60
P. Wojciechowski Optimization Methods in Finance
![Page 59: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/59.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Outline
1 Theory of Integer Programming
Introduction
Modeling Logical Constraints
2 Solving Mixed Integer Linear Programs
LP Relaxation
Branch and Bound
Cutting Planes
Branch and Cut
P. Wojciechowski Optimization Methods in Finance
![Page 60: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/60.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Branch and Bound)
Branch and Bound is a technique for solving Integer Programs.
We first utilize LP Relaxation to obtain the linear optimum for the problem.
We then branch by dividing the solution space.
A branch is pruned under the following conditions.The optimum solution to the branch is integral. (Pruning by integrality)The solution space for the branch is empty. (Pruning by infeasibility)The optimum value for the branch is lower than that of a branch with an integer optimum.(Pruning by bounds)
P. Wojciechowski Optimization Methods in Finance
![Page 61: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/61.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Branch and Bound)
Branch and Bound is a technique for solving Integer Programs.
We first utilize LP Relaxation to obtain the linear optimum for the problem.
We then branch by dividing the solution space.
A branch is pruned under the following conditions.The optimum solution to the branch is integral. (Pruning by integrality)The solution space for the branch is empty. (Pruning by infeasibility)The optimum value for the branch is lower than that of a branch with an integer optimum.(Pruning by bounds)
P. Wojciechowski Optimization Methods in Finance
![Page 62: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/62.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Branch and Bound)
Branch and Bound is a technique for solving Integer Programs.
We first utilize LP Relaxation to obtain the linear optimum for the problem.
We then branch by dividing the solution space.
A branch is pruned under the following conditions.The optimum solution to the branch is integral. (Pruning by integrality)The solution space for the branch is empty. (Pruning by infeasibility)The optimum value for the branch is lower than that of a branch with an integer optimum.(Pruning by bounds)
P. Wojciechowski Optimization Methods in Finance
![Page 63: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/63.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Branch and Bound)
Branch and Bound is a technique for solving Integer Programs.
We first utilize LP Relaxation to obtain the linear optimum for the problem.
We then branch by dividing the solution space.
A branch is pruned under the following conditions.The optimum solution to the branch is integral. (Pruning by integrality)The solution space for the branch is empty. (Pruning by infeasibility)The optimum value for the branch is lower than that of a branch with an integer optimum.(Pruning by bounds)
P. Wojciechowski Optimization Methods in Finance
![Page 64: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/64.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Branch and Bound)
Branch and Bound is a technique for solving Integer Programs.
We first utilize LP Relaxation to obtain the linear optimum for the problem.
We then branch by dividing the solution space.
A branch is pruned under the following conditions.
The optimum solution to the branch is integral. (Pruning by integrality)The solution space for the branch is empty. (Pruning by infeasibility)The optimum value for the branch is lower than that of a branch with an integer optimum.(Pruning by bounds)
P. Wojciechowski Optimization Methods in Finance
![Page 65: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/65.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Branch and Bound)
Branch and Bound is a technique for solving Integer Programs.
We first utilize LP Relaxation to obtain the linear optimum for the problem.
We then branch by dividing the solution space.
A branch is pruned under the following conditions.The optimum solution to the branch is integral. (Pruning by integrality)
The solution space for the branch is empty. (Pruning by infeasibility)The optimum value for the branch is lower than that of a branch with an integer optimum.(Pruning by bounds)
P. Wojciechowski Optimization Methods in Finance
![Page 66: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/66.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Branch and Bound)
Branch and Bound is a technique for solving Integer Programs.
We first utilize LP Relaxation to obtain the linear optimum for the problem.
We then branch by dividing the solution space.
A branch is pruned under the following conditions.The optimum solution to the branch is integral. (Pruning by integrality)The solution space for the branch is empty. (Pruning by infeasibility)
The optimum value for the branch is lower than that of a branch with an integer optimum.(Pruning by bounds)
P. Wojciechowski Optimization Methods in Finance
![Page 67: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/67.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Branch and Bound)
Branch and Bound is a technique for solving Integer Programs.
We first utilize LP Relaxation to obtain the linear optimum for the problem.
We then branch by dividing the solution space.
A branch is pruned under the following conditions.The optimum solution to the branch is integral. (Pruning by integrality)The solution space for the branch is empty. (Pruning by infeasibility)The optimum value for the branch is lower than that of a branch with an integer optimum.(Pruning by bounds)
P. Wojciechowski Optimization Methods in Finance
![Page 68: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/68.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us consider the Integer program described by System 1.
max z = x1 + x2
−x1 + x2 ≤ 2
8 · x1 + 2 · x2 ≤ 19 (1)
x1, x2 ≥ 0
x1, x2 ∈ Z
P. Wojciechowski Optimization Methods in Finance
![Page 69: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/69.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us consider the Integer program described by System 1.
max z = x1 + x2
−x1 + x2 ≤ 2
8 · x1 + 2 · x2 ≤ 19 (1)
x1, x2 ≥ 0
x1, x2 ∈ Z
P. Wojciechowski Optimization Methods in Finance
![Page 70: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/70.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us consider the Integer program described by System 1.
max z = x1 + x2
−x1 + x2 ≤ 2
8 · x1 + 2 · x2 ≤ 19 (1)
x1, x2 ≥ 0
x1, x2 ∈ Z
P. Wojciechowski Optimization Methods in Finance
![Page 71: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/71.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us now look at this problem graphically.
x2
x1
−x1 + x2 = 28 · x1 + 2 · x2 = 19
z=5
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 72: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/72.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us now look at this problem graphically.
x2
x1
−x1 + x2 = 28 · x1 + 2 · x2 = 19
z=5
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 73: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/73.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us now look at this problem graphically.
x2
x1
−x1 + x2 = 2
8 · x1 + 2 · x2 = 19
z=5
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 74: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/74.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us now look at this problem graphically.
x2
x1
−x1 + x2 = 28 · x1 + 2 · x2 = 19
z=5
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 75: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/75.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us now look at this problem graphically.
x2
x1
−x1 + x2 = 28 · x1 + 2 · x2 = 19
z=5
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 76: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/76.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us now look at this problem graphically.
x2
x1
−x1 + x2 = 28 · x1 + 2 · x2 = 19
z=5
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 77: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/77.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System 1 is (x1, x2) = (1.5, 3.5) which givesus z = 5.
We can now branch on x1.
Any integer solution must have either x1 ≤ 1 or x1 ≥ 2.
Thus, we can create two new systems of constraints:one by adding x1 ≤ 1one by adding x1 ≥ 2
We can solve these branches graphically.
P. Wojciechowski Optimization Methods in Finance
![Page 78: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/78.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System 1 is (x1, x2) = (1.5, 3.5) which givesus z = 5.
We can now branch on x1.
Any integer solution must have either x1 ≤ 1 or x1 ≥ 2.
Thus, we can create two new systems of constraints:one by adding x1 ≤ 1one by adding x1 ≥ 2
We can solve these branches graphically.
P. Wojciechowski Optimization Methods in Finance
![Page 79: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/79.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System 1 is (x1, x2) = (1.5, 3.5) which givesus z = 5.
We can now branch on x1.
Any integer solution must have either x1 ≤ 1 or x1 ≥ 2.
Thus, we can create two new systems of constraints:one by adding x1 ≤ 1one by adding x1 ≥ 2
We can solve these branches graphically.
P. Wojciechowski Optimization Methods in Finance
![Page 80: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/80.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System 1 is (x1, x2) = (1.5, 3.5) which givesus z = 5.
We can now branch on x1.
Any integer solution must have either x1 ≤ 1 or x1 ≥ 2.
Thus, we can create two new systems of constraints:one by adding x1 ≤ 1one by adding x1 ≥ 2
We can solve these branches graphically.
P. Wojciechowski Optimization Methods in Finance
![Page 81: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/81.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System 1 is (x1, x2) = (1.5, 3.5) which givesus z = 5.
We can now branch on x1.
Any integer solution must have either x1 ≤ 1 or x1 ≥ 2.
Thus, we can create two new systems of constraints:
one by adding x1 ≤ 1one by adding x1 ≥ 2
We can solve these branches graphically.
P. Wojciechowski Optimization Methods in Finance
![Page 82: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/82.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System 1 is (x1, x2) = (1.5, 3.5) which givesus z = 5.
We can now branch on x1.
Any integer solution must have either x1 ≤ 1 or x1 ≥ 2.
Thus, we can create two new systems of constraints:one by adding x1 ≤ 1
one by adding x1 ≥ 2
We can solve these branches graphically.
P. Wojciechowski Optimization Methods in Finance
![Page 83: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/83.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System 1 is (x1, x2) = (1.5, 3.5) which givesus z = 5.
We can now branch on x1.
Any integer solution must have either x1 ≤ 1 or x1 ≥ 2.
Thus, we can create two new systems of constraints:one by adding x1 ≤ 1one by adding x1 ≥ 2
We can solve these branches graphically.
P. Wojciechowski Optimization Methods in Finance
![Page 84: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/84.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System 1 is (x1, x2) = (1.5, 3.5) which givesus z = 5.
We can now branch on x1.
Any integer solution must have either x1 ≤ 1 or x1 ≥ 2.
Thus, we can create two new systems of constraints:one by adding x1 ≤ 1one by adding x1 ≥ 2
We can solve these branches graphically.
P. Wojciechowski Optimization Methods in Finance
![Page 85: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/85.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
x2
x1
z=4
z=3.5
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 86: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/86.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
x2
x1
z=4
z=3.5
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 87: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/87.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
x2
x1
z=4
z=3.5
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 88: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/88.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
x2
x1
z=4
z=3.5
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 89: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/89.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
x2
x1
z=4
z=3.5
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 90: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/90.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
x2
x1
z=4
z=3.5
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 91: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/91.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
x2
x1
z=4
z=3.5
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 92: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/92.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
x2
x1
z=4
z=3.5
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 93: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/93.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System (1) is (x1, x2) = (1.5, 3.5) which gaveus z = 5.
When we add the constraint x1 ≤ 1 we get that the optimum solution is(x1, x2) = (1, 3) which gives us z = 4.
Since the optimum solution is integeral we prune this branch.
When we add the constraint x1 ≥ 2 we get that the optimum solution is(x1, x2) = (2, 1.5) which gives us z = 3.5.
Since the optimum solution lower than a known integral solution we also prune thisbranch.
All branches are now pruned and we have that the optimum integer solution is(x1, x2) = (1, 3) which gives us z = 4.
P. Wojciechowski Optimization Methods in Finance
![Page 94: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/94.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System (1) is (x1, x2) = (1.5, 3.5) which gaveus z = 5.
When we add the constraint x1 ≤ 1 we get that the optimum solution is(x1, x2) = (1, 3) which gives us z = 4.
Since the optimum solution is integeral we prune this branch.
When we add the constraint x1 ≥ 2 we get that the optimum solution is(x1, x2) = (2, 1.5) which gives us z = 3.5.
Since the optimum solution lower than a known integral solution we also prune thisbranch.
All branches are now pruned and we have that the optimum integer solution is(x1, x2) = (1, 3) which gives us z = 4.
P. Wojciechowski Optimization Methods in Finance
![Page 95: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/95.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System (1) is (x1, x2) = (1.5, 3.5) which gaveus z = 5.
When we add the constraint x1 ≤ 1 we get that the optimum solution is(x1, x2) = (1, 3) which gives us z = 4.
Since the optimum solution is integeral we prune this branch.
When we add the constraint x1 ≥ 2 we get that the optimum solution is(x1, x2) = (2, 1.5) which gives us z = 3.5.
Since the optimum solution lower than a known integral solution we also prune thisbranch.
All branches are now pruned and we have that the optimum integer solution is(x1, x2) = (1, 3) which gives us z = 4.
P. Wojciechowski Optimization Methods in Finance
![Page 96: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/96.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System (1) is (x1, x2) = (1.5, 3.5) which gaveus z = 5.
When we add the constraint x1 ≤ 1 we get that the optimum solution is(x1, x2) = (1, 3) which gives us z = 4.
Since the optimum solution is integeral we prune this branch.
When we add the constraint x1 ≥ 2 we get that the optimum solution is(x1, x2) = (2, 1.5) which gives us z = 3.5.
Since the optimum solution lower than a known integral solution we also prune thisbranch.
All branches are now pruned and we have that the optimum integer solution is(x1, x2) = (1, 3) which gives us z = 4.
P. Wojciechowski Optimization Methods in Finance
![Page 97: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/97.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System (1) is (x1, x2) = (1.5, 3.5) which gaveus z = 5.
When we add the constraint x1 ≤ 1 we get that the optimum solution is(x1, x2) = (1, 3) which gives us z = 4.
Since the optimum solution is integeral we prune this branch.
When we add the constraint x1 ≥ 2 we get that the optimum solution is(x1, x2) = (2, 1.5) which gives us z = 3.5.
Since the optimum solution lower than a known integral solution we also prune thisbranch.
All branches are now pruned and we have that the optimum integer solution is(x1, x2) = (1, 3) which gives us z = 4.
P. Wojciechowski Optimization Methods in Finance
![Page 98: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/98.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System (1) is (x1, x2) = (1.5, 3.5) which gaveus z = 5.
When we add the constraint x1 ≤ 1 we get that the optimum solution is(x1, x2) = (1, 3) which gives us z = 4.
Since the optimum solution is integeral we prune this branch.
When we add the constraint x1 ≥ 2 we get that the optimum solution is(x1, x2) = (2, 1.5) which gives us z = 3.5.
Since the optimum solution lower than a known integral solution we also prune thisbranch.
All branches are now pruned and we have that the optimum integer solution is(x1, x2) = (1, 3) which gives us z = 4.
P. Wojciechowski Optimization Methods in Finance
![Page 99: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/99.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We have that the optimal solution to System (1) is (x1, x2) = (1.5, 3.5) which gaveus z = 5.
When we add the constraint x1 ≤ 1 we get that the optimum solution is(x1, x2) = (1, 3) which gives us z = 4.
Since the optimum solution is integeral we prune this branch.
When we add the constraint x1 ≥ 2 we get that the optimum solution is(x1, x2) = (2, 1.5) which gives us z = 3.5.
Since the optimum solution lower than a known integral solution we also prune thisbranch.
All branches are now pruned and we have that the optimum integer solution is(x1, x2) = (1, 3) which gives us z = 4.
P. Wojciechowski Optimization Methods in Finance
![Page 100: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/100.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We can consider the LPs solved as part of branch and bound as forming a binary tree.For System (1) this tree is:
(x1, x2) = (1.5, 3.5)
z = 5
(x1, x2) = (1, 3)
z = 4
x1 ≤ 1
Pruned by integrality
(x1, x2) = (2, 1.5)
z = 3.5
x1 ≥ 2
Pruned by bounds
Figure: Branching Tree
P. Wojciechowski Optimization Methods in Finance
![Page 101: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/101.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We can consider the LPs solved as part of branch and bound as forming a binary tree.For System (1) this tree is:
(x1, x2) = (1.5, 3.5)
z = 5
(x1, x2) = (1, 3)
z = 4
x1 ≤ 1
Pruned by integrality
(x1, x2) = (2, 1.5)
z = 3.5
x1 ≥ 2
Pruned by bounds
Figure: Branching Tree
P. Wojciechowski Optimization Methods in Finance
![Page 102: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/102.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We can consider the LPs solved as part of branch and bound as forming a binary tree.For System (1) this tree is:
(x1, x2) = (1.5, 3.5)
z = 5
(x1, x2) = (1, 3)
z = 4
x1 ≤ 1
Pruned by integrality
(x1, x2) = (2, 1.5)
z = 3.5
x1 ≥ 2
Pruned by bounds
Figure: Branching Tree
P. Wojciechowski Optimization Methods in Finance
![Page 103: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/103.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We can consider the LPs solved as part of branch and bound as forming a binary tree.For System (1) this tree is:
(x1, x2) = (1.5, 3.5)
z = 5
(x1, x2) = (1, 3)
z = 4
x1 ≤ 1
Pruned by integrality
(x1, x2) = (2, 1.5)
z = 3.5
x1 ≥ 2
Pruned by bounds
Figure: Branching Tree
P. Wojciechowski Optimization Methods in Finance
![Page 104: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/104.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
We can consider the LPs solved as part of branch and bound as forming a binary tree.For System (1) this tree is:
(x1, x2) = (1.5, 3.5)
z = 5
(x1, x2) = (1, 3)
z = 4
x1 ≤ 1
Pruned by integrality
(x1, x2) = (2, 1.5)
z = 3.5
x1 ≥ 2
Pruned by bounds
Figure: Branching Tree
P. Wojciechowski Optimization Methods in Finance
![Page 105: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/105.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Exercise
Perform Branch and bound to find the solution to the following IP.
max z = 3 · x1 + x2
−x1 + x2 ≤ 2
8 · x1 + 2 · x2 ≤ 19
x1, x2 ≥ 0
x1, x2 ∈ Z
P. Wojciechowski Optimization Methods in Finance
![Page 106: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/106.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Exercise
Perform Branch and bound to find the solution to the following IP.
max z = 3 · x1 + x2
−x1 + x2 ≤ 2
8 · x1 + 2 · x2 ≤ 19
x1, x2 ≥ 0
x1, x2 ∈ Z
P. Wojciechowski Optimization Methods in Finance
![Page 107: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/107.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Exercise
Perform Branch and bound to find the solution to the following IP.
max z = 3 · x1 + x2
−x1 + x2 ≤ 2
8 · x1 + 2 · x2 ≤ 19
x1, x2 ≥ 0
x1, x2 ∈ Z
P. Wojciechowski Optimization Methods in Finance
![Page 108: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/108.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Solution
(x1, x2) = (1.5, 3.5)
z = 8
(x1, x2) = (1, 3)
z = 6
x1 ≤ 1
Pruned by integrality
(x1, x2) = (2, 1.5)
z = 7.5
x1 ≥ 2
(x1, x2) = (2.125, 1)
z = 7.375
x2 ≤ 1
Infeasible
x2 ≥ 2
Pruned by infeasibility
(x1, x2) = (2, 1)
z = 7
x1 ≤ 2
Pruned by integrality
Infeasible
x1 ≥ 3
Pruned by infeasibility
Figure: Branching Tree
P. Wojciechowski Optimization Methods in Finance
![Page 109: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/109.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Solution
(x1, x2) = (1.5, 3.5)
z = 8
(x1, x2) = (1, 3)
z = 6
x1 ≤ 1
Pruned by integrality
(x1, x2) = (2, 1.5)
z = 7.5
x1 ≥ 2
(x1, x2) = (2.125, 1)
z = 7.375
x2 ≤ 1
Infeasible
x2 ≥ 2
Pruned by infeasibility
(x1, x2) = (2, 1)
z = 7
x1 ≤ 2
Pruned by integrality
Infeasible
x1 ≥ 3
Pruned by infeasibility
Figure: Branching Tree
P. Wojciechowski Optimization Methods in Finance
![Page 110: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/110.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Solution
(x1, x2) = (1.5, 3.5)
z = 8
(x1, x2) = (1, 3)
z = 6
x1 ≤ 1
Pruned by integrality
(x1, x2) = (2, 1.5)
z = 7.5
x1 ≥ 2
(x1, x2) = (2.125, 1)
z = 7.375
x2 ≤ 1
Infeasible
x2 ≥ 2
Pruned by infeasibility
(x1, x2) = (2, 1)
z = 7
x1 ≤ 2
Pruned by integrality
Infeasible
x1 ≥ 3
Pruned by infeasibility
Figure: Branching Tree
P. Wojciechowski Optimization Methods in Finance
![Page 111: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/111.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Solution
(x1, x2) = (1.5, 3.5)
z = 8
(x1, x2) = (1, 3)
z = 6
x1 ≤ 1
Pruned by integrality
(x1, x2) = (2, 1.5)
z = 7.5
x1 ≥ 2
(x1, x2) = (2.125, 1)
z = 7.375
x2 ≤ 1
Infeasible
x2 ≥ 2
Pruned by infeasibility
(x1, x2) = (2, 1)
z = 7
x1 ≤ 2
Pruned by integrality
Infeasible
x1 ≥ 3
Pruned by infeasibility
Figure: Branching Tree
P. Wojciechowski Optimization Methods in Finance
![Page 112: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/112.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Solution
(x1, x2) = (1.5, 3.5)
z = 8
(x1, x2) = (1, 3)
z = 6
x1 ≤ 1
Pruned by integrality
(x1, x2) = (2, 1.5)
z = 7.5
x1 ≥ 2
(x1, x2) = (2.125, 1)
z = 7.375
x2 ≤ 1
Infeasible
x2 ≥ 2
Pruned by infeasibility
(x1, x2) = (2, 1)
z = 7
x1 ≤ 2
Pruned by integrality
Infeasible
x1 ≥ 3
Pruned by infeasibility
Figure: Branching Tree
P. Wojciechowski Optimization Methods in Finance
![Page 113: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/113.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Solution
(x1, x2) = (1.5, 3.5)
z = 8
(x1, x2) = (1, 3)
z = 6
x1 ≤ 1
Pruned by integrality
(x1, x2) = (2, 1.5)
z = 7.5
x1 ≥ 2
(x1, x2) = (2.125, 1)
z = 7.375
x2 ≤ 1
Infeasible
x2 ≥ 2
Pruned by infeasibility
(x1, x2) = (2, 1)
z = 7
x1 ≤ 2
Pruned by integrality
Infeasible
x1 ≥ 3
Pruned by infeasibility
Figure: Branching Tree
P. Wojciechowski Optimization Methods in Finance
![Page 114: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/114.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Solution
(x1, x2) = (1.5, 3.5)
z = 8
(x1, x2) = (1, 3)
z = 6
x1 ≤ 1
Pruned by integrality
(x1, x2) = (2, 1.5)
z = 7.5
x1 ≥ 2
(x1, x2) = (2.125, 1)
z = 7.375
x2 ≤ 1
Infeasible
x2 ≥ 2
Pruned by infeasibility
(x1, x2) = (2, 1)
z = 7
x1 ≤ 2
Pruned by integrality
Infeasible
x1 ≥ 3
Pruned by infeasibility
Figure: Branching Tree
P. Wojciechowski Optimization Methods in Finance
![Page 115: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/115.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Solution
(x1, x2) = (1.5, 3.5)
z = 8
(x1, x2) = (1, 3)
z = 6
x1 ≤ 1
Pruned by integrality
(x1, x2) = (2, 1.5)
z = 7.5
x1 ≥ 2
(x1, x2) = (2.125, 1)
z = 7.375
x2 ≤ 1
Infeasible
x2 ≥ 2
Pruned by infeasibility
(x1, x2) = (2, 1)
z = 7
x1 ≤ 2
Pruned by integrality
Infeasible
x1 ≥ 3
Pruned by infeasibility
Figure: Branching Tree
P. Wojciechowski Optimization Methods in Finance
![Page 116: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/116.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Outline
1 Theory of Integer Programming
Introduction
Modeling Logical Constraints
2 Solving Mixed Integer Linear Programs
LP Relaxation
Branch and Bound
Cutting Planes
Branch and Cut
P. Wojciechowski Optimization Methods in Finance
![Page 117: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/117.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Cutting Planes)
When relaxing an MILP to an LP we can add additional constraints.
These added constraints are designed to be satisfied by every solution to theMILP.
However, they can still eliminate possible solutions to the relaxed LP.
Such additional constraints serve to strengthen the LP relaxation and are calledCutting Planes.
The optimal solution to the strengthened LP provides us with an upper bound on thesolution to the MILP.If the strengthened LP is infeasible, then so is the MILP.If the optimal solution to the strengthened LP has xi ∈ Z for i = 1 . . . p, then it is alsothe optimal solution to the MILP.
P. Wojciechowski Optimization Methods in Finance
![Page 118: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/118.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Cutting Planes)
When relaxing an MILP to an LP we can add additional constraints.
These added constraints are designed to be satisfied by every solution to theMILP.
However, they can still eliminate possible solutions to the relaxed LP.
Such additional constraints serve to strengthen the LP relaxation and are calledCutting Planes.
The optimal solution to the strengthened LP provides us with an upper bound on thesolution to the MILP.If the strengthened LP is infeasible, then so is the MILP.If the optimal solution to the strengthened LP has xi ∈ Z for i = 1 . . . p, then it is alsothe optimal solution to the MILP.
P. Wojciechowski Optimization Methods in Finance
![Page 119: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/119.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Cutting Planes)
When relaxing an MILP to an LP we can add additional constraints.
These added constraints are designed to be satisfied by every solution to theMILP.
However, they can still eliminate possible solutions to the relaxed LP.
Such additional constraints serve to strengthen the LP relaxation and are calledCutting Planes.
The optimal solution to the strengthened LP provides us with an upper bound on thesolution to the MILP.If the strengthened LP is infeasible, then so is the MILP.If the optimal solution to the strengthened LP has xi ∈ Z for i = 1 . . . p, then it is alsothe optimal solution to the MILP.
P. Wojciechowski Optimization Methods in Finance
![Page 120: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/120.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Cutting Planes)
When relaxing an MILP to an LP we can add additional constraints.
These added constraints are designed to be satisfied by every solution to theMILP.
However, they can still eliminate possible solutions to the relaxed LP.
Such additional constraints serve to strengthen the LP relaxation and are calledCutting Planes.
The optimal solution to the strengthened LP provides us with an upper bound on thesolution to the MILP.If the strengthened LP is infeasible, then so is the MILP.If the optimal solution to the strengthened LP has xi ∈ Z for i = 1 . . . p, then it is alsothe optimal solution to the MILP.
P. Wojciechowski Optimization Methods in Finance
![Page 121: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/121.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Cutting Planes)
When relaxing an MILP to an LP we can add additional constraints.
These added constraints are designed to be satisfied by every solution to theMILP.
However, they can still eliminate possible solutions to the relaxed LP.
Such additional constraints serve to strengthen the LP relaxation and are calledCutting Planes.
The optimal solution to the strengthened LP provides us with an upper bound on thesolution to the MILP.If the strengthened LP is infeasible, then so is the MILP.If the optimal solution to the strengthened LP has xi ∈ Z for i = 1 . . . p, then it is alsothe optimal solution to the MILP.
P. Wojciechowski Optimization Methods in Finance
![Page 122: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/122.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Cutting Planes)
When relaxing an MILP to an LP we can add additional constraints.
These added constraints are designed to be satisfied by every solution to theMILP.
However, they can still eliminate possible solutions to the relaxed LP.
Such additional constraints serve to strengthen the LP relaxation and are calledCutting Planes.
The optimal solution to the strengthened LP provides us with an upper bound on thesolution to the MILP.
If the strengthened LP is infeasible, then so is the MILP.If the optimal solution to the strengthened LP has xi ∈ Z for i = 1 . . . p, then it is alsothe optimal solution to the MILP.
P. Wojciechowski Optimization Methods in Finance
![Page 123: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/123.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Cutting Planes)
When relaxing an MILP to an LP we can add additional constraints.
These added constraints are designed to be satisfied by every solution to theMILP.
However, they can still eliminate possible solutions to the relaxed LP.
Such additional constraints serve to strengthen the LP relaxation and are calledCutting Planes.
The optimal solution to the strengthened LP provides us with an upper bound on thesolution to the MILP.If the strengthened LP is infeasible, then so is the MILP.
If the optimal solution to the strengthened LP has xi ∈ Z for i = 1 . . . p, then it is alsothe optimal solution to the MILP.
P. Wojciechowski Optimization Methods in Finance
![Page 124: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/124.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Cutting Planes)
When relaxing an MILP to an LP we can add additional constraints.
These added constraints are designed to be satisfied by every solution to theMILP.
However, they can still eliminate possible solutions to the relaxed LP.
Such additional constraints serve to strengthen the LP relaxation and are calledCutting Planes.
The optimal solution to the strengthened LP provides us with an upper bound on thesolution to the MILP.If the strengthened LP is infeasible, then so is the MILP.If the optimal solution to the strengthened LP has xi ∈ Z for i = 1 . . . p, then it is alsothe optimal solution to the MILP.
P. Wojciechowski Optimization Methods in Finance
![Page 125: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/125.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Generating Cutting Planes
Let Constraint (2) be satisfied by the solutions to an MILP with b 6∈ Z.
p∑i=1
ai · xi +n∑
i=p+1
ai · xi = b (2)
Let f0 = b − bbc, and let fi = ai − baic for i = 1 . . . p.We can now rewrite Constraint (2) as
∑i≤p,fi≤f0
fi · xi +∑
i≤p,fi>f0
(fi − 1) · xi +n∑
i=p+1
ai = k + f0.
Where k ∈ Z.
P. Wojciechowski Optimization Methods in Finance
![Page 126: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/126.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Generating Cutting Planes
Let Constraint (2) be satisfied by the solutions to an MILP with b 6∈ Z.
p∑i=1
ai · xi +n∑
i=p+1
ai · xi = b (2)
Let f0 = b − bbc, and let fi = ai − baic for i = 1 . . . p.We can now rewrite Constraint (2) as
∑i≤p,fi≤f0
fi · xi +∑
i≤p,fi>f0
(fi − 1) · xi +n∑
i=p+1
ai = k + f0.
Where k ∈ Z.
P. Wojciechowski Optimization Methods in Finance
![Page 127: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/127.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Generating Cutting Planes
Let Constraint (2) be satisfied by the solutions to an MILP with b 6∈ Z.
p∑i=1
ai · xi +n∑
i=p+1
ai · xi = b (2)
Let f0 = b − bbc, and let fi = ai − baic for i = 1 . . . p.We can now rewrite Constraint (2) as
∑i≤p,fi≤f0
fi · xi +∑
i≤p,fi>f0
(fi − 1) · xi +n∑
i=p+1
ai = k + f0.
Where k ∈ Z.
P. Wojciechowski Optimization Methods in Finance
![Page 128: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/128.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Generating Cutting Planes
Let Constraint (2) be satisfied by the solutions to an MILP with b 6∈ Z.
p∑i=1
ai · xi +n∑
i=p+1
ai · xi = b (2)
Let f0 = b − bbc, and let fi = ai − baic for i = 1 . . . p.
We can now rewrite Constraint (2) as
∑i≤p,fi≤f0
fi · xi +∑
i≤p,fi>f0
(fi − 1) · xi +n∑
i=p+1
ai = k + f0.
Where k ∈ Z.
P. Wojciechowski Optimization Methods in Finance
![Page 129: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/129.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Generating Cutting Planes
Let Constraint (2) be satisfied by the solutions to an MILP with b 6∈ Z.
p∑i=1
ai · xi +n∑
i=p+1
ai · xi = b (2)
Let f0 = b − bbc, and let fi = ai − baic for i = 1 . . . p.We can now rewrite Constraint (2) as
∑i≤p,fi≤f0
fi · xi +∑
i≤p,fi>f0
(fi − 1) · xi +n∑
i=p+1
ai = k + f0.
Where k ∈ Z.
P. Wojciechowski Optimization Methods in Finance
![Page 130: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/130.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Generating Cutting Planes
If k ≥ 0 then Constraint (2) implies that
∑i≤p,fi≤f0
fif0· xi −
∑i≤p,fi>f0
1− fif0· xi +
n∑i=p+1
ai
f0≥ 1.
If k ≤ −1 then Constraint (2) implies that
−∑
i≤p,fi≤f0
fi1− f0
· xi +∑
i≤p,fi>f0
1− fi1− f0
· xi −n∑
i=p+1
ai
1− f0≥ 1.
Since each xi is non negative we will always have that.
∑i≤p,fi≤f0
fif0· xi +
∑i≤p,fi>f0
1− fi1− f0
· xi +∑
i>p,ai>0
ai
f0−
∑i>p,ai<0
ai
1− f0≥ 1.
This constraint is known as the Gomory mixed integer cut.
P. Wojciechowski Optimization Methods in Finance
![Page 131: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/131.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Generating Cutting Planes
If k ≥ 0 then Constraint (2) implies that
∑i≤p,fi≤f0
fif0· xi −
∑i≤p,fi>f0
1− fif0· xi +
n∑i=p+1
ai
f0≥ 1.
If k ≤ −1 then Constraint (2) implies that
−∑
i≤p,fi≤f0
fi1− f0
· xi +∑
i≤p,fi>f0
1− fi1− f0
· xi −n∑
i=p+1
ai
1− f0≥ 1.
Since each xi is non negative we will always have that.
∑i≤p,fi≤f0
fif0· xi +
∑i≤p,fi>f0
1− fi1− f0
· xi +∑
i>p,ai>0
ai
f0−
∑i>p,ai<0
ai
1− f0≥ 1.
This constraint is known as the Gomory mixed integer cut.
P. Wojciechowski Optimization Methods in Finance
![Page 132: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/132.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Generating Cutting Planes
If k ≥ 0 then Constraint (2) implies that
∑i≤p,fi≤f0
fif0· xi −
∑i≤p,fi>f0
1− fif0· xi +
n∑i=p+1
ai
f0≥ 1.
If k ≤ −1 then Constraint (2) implies that
−∑
i≤p,fi≤f0
fi1− f0
· xi +∑
i≤p,fi>f0
1− fi1− f0
· xi −n∑
i=p+1
ai
1− f0≥ 1.
Since each xi is non negative we will always have that.
∑i≤p,fi≤f0
fif0· xi +
∑i≤p,fi>f0
1− fi1− f0
· xi +∑
i>p,ai>0
ai
f0−
∑i>p,ai<0
ai
1− f0≥ 1.
This constraint is known as the Gomory mixed integer cut.
P. Wojciechowski Optimization Methods in Finance
![Page 133: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/133.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Generating Cutting Planes
If k ≥ 0 then Constraint (2) implies that
∑i≤p,fi≤f0
fif0· xi −
∑i≤p,fi>f0
1− fif0· xi +
n∑i=p+1
ai
f0≥ 1.
If k ≤ −1 then Constraint (2) implies that
−∑
i≤p,fi≤f0
fi1− f0
· xi +∑
i≤p,fi>f0
1− fi1− f0
· xi −n∑
i=p+1
ai
1− f0≥ 1.
Since each xi is non negative we will always have that.
∑i≤p,fi≤f0
fif0· xi +
∑i≤p,fi>f0
1− fi1− f0
· xi +∑
i>p,ai>0
ai
f0−
∑i>p,ai<0
ai
1− f0≥ 1.
This constraint is known as the Gomory mixed integer cut.
P. Wojciechowski Optimization Methods in Finance
![Page 134: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/134.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Generating Cutting Planes
If k ≥ 0 then Constraint (2) implies that
∑i≤p,fi≤f0
fif0· xi −
∑i≤p,fi>f0
1− fif0· xi +
n∑i=p+1
ai
f0≥ 1.
If k ≤ −1 then Constraint (2) implies that
−∑
i≤p,fi≤f0
fi1− f0
· xi +∑
i≤p,fi>f0
1− fi1− f0
· xi −n∑
i=p+1
ai
1− f0≥ 1.
Since each xi is non negative we will always have that.
∑i≤p,fi≤f0
fif0· xi +
∑i≤p,fi>f0
1− fi1− f0
· xi +∑
i>p,ai>0
ai
f0−
∑i>p,ai<0
ai
1− f0≥ 1.
This constraint is known as the Gomory mixed integer cut.
P. Wojciechowski Optimization Methods in Finance
![Page 135: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/135.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us return to System (1).Adding slack and surplus variables yields the system
max z = x1 + x2
−x1 + x2 + x3 = 2
8 · x1 + 2 · x2 + x4 = 19
x1, x2, x3, x4 ≥ 0
x1, x2, x3, x4 ∈ Z
Using the simplex method we get the following at the linear optimum,
z = 5− 0.6 · x3 − 0.2 · x4
x1 = 1.5 + 0.2 · x3 − 0.1 · x4
x2 = 3.5− 0.8 · x3 − 0.1 · x4
We can now use the constraint x2 + 0.8 · x3 + 0.1 · x4 = 3.5 to generate a Gomorymixed integer cut.
P. Wojciechowski Optimization Methods in Finance
![Page 136: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/136.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us return to System (1).
Adding slack and surplus variables yields the system
max z = x1 + x2
−x1 + x2 + x3 = 2
8 · x1 + 2 · x2 + x4 = 19
x1, x2, x3, x4 ≥ 0
x1, x2, x3, x4 ∈ Z
Using the simplex method we get the following at the linear optimum,
z = 5− 0.6 · x3 − 0.2 · x4
x1 = 1.5 + 0.2 · x3 − 0.1 · x4
x2 = 3.5− 0.8 · x3 − 0.1 · x4
We can now use the constraint x2 + 0.8 · x3 + 0.1 · x4 = 3.5 to generate a Gomorymixed integer cut.
P. Wojciechowski Optimization Methods in Finance
![Page 137: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/137.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us return to System (1).Adding slack and surplus variables yields the system
max z = x1 + x2
−x1 + x2 + x3 = 2
8 · x1 + 2 · x2 + x4 = 19
x1, x2, x3, x4 ≥ 0
x1, x2, x3, x4 ∈ Z
Using the simplex method we get the following at the linear optimum,
z = 5− 0.6 · x3 − 0.2 · x4
x1 = 1.5 + 0.2 · x3 − 0.1 · x4
x2 = 3.5− 0.8 · x3 − 0.1 · x4
We can now use the constraint x2 + 0.8 · x3 + 0.1 · x4 = 3.5 to generate a Gomorymixed integer cut.
P. Wojciechowski Optimization Methods in Finance
![Page 138: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/138.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us return to System (1).Adding slack and surplus variables yields the system
max z = x1 + x2
−x1 + x2 + x3 = 2
8 · x1 + 2 · x2 + x4 = 19
x1, x2, x3, x4 ≥ 0
x1, x2, x3, x4 ∈ Z
Using the simplex method we get the following at the linear optimum,
z = 5− 0.6 · x3 − 0.2 · x4
x1 = 1.5 + 0.2 · x3 − 0.1 · x4
x2 = 3.5− 0.8 · x3 − 0.1 · x4
We can now use the constraint x2 + 0.8 · x3 + 0.1 · x4 = 3.5 to generate a Gomorymixed integer cut.
P. Wojciechowski Optimization Methods in Finance
![Page 139: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/139.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us return to System (1).Adding slack and surplus variables yields the system
max z = x1 + x2
−x1 + x2 + x3 = 2
8 · x1 + 2 · x2 + x4 = 19
x1, x2, x3, x4 ≥ 0
x1, x2, x3, x4 ∈ Z
Using the simplex method we get the following at the linear optimum,
z = 5− 0.6 · x3 − 0.2 · x4
x1 = 1.5 + 0.2 · x3 − 0.1 · x4
x2 = 3.5− 0.8 · x3 − 0.1 · x4
We can now use the constraint x2 + 0.8 · x3 + 0.1 · x4 = 3.5 to generate a Gomorymixed integer cut.
P. Wojciechowski Optimization Methods in Finance
![Page 140: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/140.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us return to System (1).Adding slack and surplus variables yields the system
max z = x1 + x2
−x1 + x2 + x3 = 2
8 · x1 + 2 · x2 + x4 = 19
x1, x2, x3, x4 ≥ 0
x1, x2, x3, x4 ∈ Z
Using the simplex method we get the following at the linear optimum,
z = 5− 0.6 · x3 − 0.2 · x4
x1 = 1.5 + 0.2 · x3 − 0.1 · x4
x2 = 3.5− 0.8 · x3 − 0.1 · x4
We can now use the constraint x2 + 0.8 · x3 + 0.1 · x4 = 3.5 to generate a Gomorymixed integer cut.
P. Wojciechowski Optimization Methods in Finance
![Page 141: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/141.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us return to System (1).Adding slack and surplus variables yields the system
max z = x1 + x2
−x1 + x2 + x3 = 2
8 · x1 + 2 · x2 + x4 = 19
x1, x2, x3, x4 ≥ 0
x1, x2, x3, x4 ∈ Z
Using the simplex method we get the following at the linear optimum,
z = 5− 0.6 · x3 − 0.2 · x4
x1 = 1.5 + 0.2 · x3 − 0.1 · x4
x2 = 3.5− 0.8 · x3 − 0.1 · x4
We can now use the constraint x2 + 0.8 · x3 + 0.1 · x4 = 3.5 to generate a Gomorymixed integer cut.
P. Wojciechowski Optimization Methods in Finance
![Page 142: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/142.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Use the constraint x2 + 0.8 · x3 + 0.1 · x4 = 3.5 to generate a Gomory mixed integercut we get the constraint
1− 0.81− 0.5
· x3 +0.10.5· x4 ≥ 1.
This is equivalent to the constraint
2 · x3 + x4 ≥ 5.
Since x3 = 2 + x1 − x2 and x4 = 19− 8 · x1 − 2 · x2 this constraint is equivalent to
3 · x1 + 2 · x2 ≥ 9.
P. Wojciechowski Optimization Methods in Finance
![Page 143: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/143.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Use the constraint x2 + 0.8 · x3 + 0.1 · x4 = 3.5 to generate a Gomory mixed integercut we get the constraint
1− 0.81− 0.5
· x3 +0.10.5· x4 ≥ 1.
This is equivalent to the constraint
2 · x3 + x4 ≥ 5.
Since x3 = 2 + x1 − x2 and x4 = 19− 8 · x1 − 2 · x2 this constraint is equivalent to
3 · x1 + 2 · x2 ≥ 9.
P. Wojciechowski Optimization Methods in Finance
![Page 144: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/144.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Use the constraint x2 + 0.8 · x3 + 0.1 · x4 = 3.5 to generate a Gomory mixed integercut we get the constraint
1− 0.81− 0.5
· x3 +0.10.5· x4 ≥ 1.
This is equivalent to the constraint
2 · x3 + x4 ≥ 5.
Since x3 = 2 + x1 − x2 and x4 = 19− 8 · x1 − 2 · x2 this constraint is equivalent to
3 · x1 + 2 · x2 ≥ 9.
P. Wojciechowski Optimization Methods in Finance
![Page 145: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/145.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Use the constraint x2 + 0.8 · x3 + 0.1 · x4 = 3.5 to generate a Gomory mixed integercut we get the constraint
1− 0.81− 0.5
· x3 +0.10.5· x4 ≥ 1.
This is equivalent to the constraint
2 · x3 + x4 ≥ 5.
Since x3 = 2 + x1 − x2 and x4 = 19− 8 · x1 − 2 · x2 this constraint is equivalent to
3 · x1 + 2 · x2 ≥ 9.
P. Wojciechowski Optimization Methods in Finance
![Page 146: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/146.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us now look at this problem graphically.
x2
x1
−x1 + x2 = 2
8 · x1 + 2 · x2 = 19
3 · x1 + 2 · x2 = 9
z=4
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 147: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/147.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us now look at this problem graphically.
x2
x1
−x1 + x2 = 2
8 · x1 + 2 · x2 = 19
3 · x1 + 2 · x2 = 9
z=4
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 148: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/148.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us now look at this problem graphically.
x2
x1
−x1 + x2 = 2
8 · x1 + 2 · x2 = 19
3 · x1 + 2 · x2 = 9
z=4
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 149: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/149.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us now look at this problem graphically.
x2
x1
−x1 + x2 = 2
8 · x1 + 2 · x2 = 19
3 · x1 + 2 · x2 = 9
z=4
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 150: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/150.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us now look at this problem graphically.
x2
x1
−x1 + x2 = 2
8 · x1 + 2 · x2 = 19
3 · x1 + 2 · x2 = 9
z=4
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 151: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/151.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us now look at this problem graphically.
x2
x1
−x1 + x2 = 2
8 · x1 + 2 · x2 = 19
3 · x1 + 2 · x2 = 9
z=4
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 152: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/152.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Example
Let us now look at this problem graphically.
x2
x1
−x1 + x2 = 2
8 · x1 + 2 · x2 = 19
3 · x1 + 2 · x2 = 9
z=4
Figure: Graphical Solution
P. Wojciechowski Optimization Methods in Finance
![Page 153: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/153.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Outline
1 Theory of Integer Programming
Introduction
Modeling Logical Constraints
2 Solving Mixed Integer Linear Programs
LP Relaxation
Branch and Bound
Cutting Planes
Branch and Cut
P. Wojciechowski Optimization Methods in Finance
![Page 154: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/154.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Branch and Cut)
Branch an Cut is a combination of branch and bound and cutting planes.
This method proceeds just like regular branch and bound except that at eachbranch the LP is strengthened using cutting planes.
P. Wojciechowski Optimization Methods in Finance
![Page 155: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/155.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Branch and Cut)
Branch an Cut is a combination of branch and bound and cutting planes.
This method proceeds just like regular branch and bound except that at eachbranch the LP is strengthened using cutting planes.
P. Wojciechowski Optimization Methods in Finance
![Page 156: Integer Programming: Theory and Algorithmscommunity.wvu.edu › ~krsubramani › courses › sp15 › optfin › lecnote… · Outline Outline 1 Theory of Integer Programming Introduction](https://reader033.vdocuments.site/reader033/viewer/2022060410/5f105ad07e708231d448b2a3/html5/thumbnails/156.jpg)
Theory of Integer ProgrammingSolving Mixed Integer Linear Programs
LP RelaxationBranch and BoundCutting PlanesBranch and Cut
Definition (Branch and Cut)
Branch an Cut is a combination of branch and bound and cutting planes.
This method proceeds just like regular branch and bound except that at eachbranch the LP is strengthened using cutting planes.
P. Wojciechowski Optimization Methods in Finance