Integer Programming: Optimality Conditions and Algorithms

Week 7
Integer Programming: Optimality
Conditions and Algorithms
OPR 992
Applied Mathematical Programming
OPR 992 - Applied Mathematical Programming
- p. 1/12
Optimality and Bounds
● Optimality and Bounds
z = max{c(x) : x ∈ X ⊆ Z n }
● Primal Bounds: Greedy
Heuristic
● Primal Bounds: Local Search
● Dual Bounds: Relaxations
Find a decreasing sequence of upper bounds
● Dual Bounds: LP Relaxations
● Dual Bounds: Lagrangian
Relaxation
● Duality for Integer Linear
Programs
Branch and Bound
z1 > z 2 > . . . > z s ≥ z
and an increasing sequence of lower bounds
z1 > z 2 > . . . > z t ≤ z
such that
zs − zt ≤ .
■
■
Primal Bound: Any feasible solution will provide a lower
bound.
Dual Bound: Any optimal solution to a relaxation will provide
an upper bound.
OPR 992 - Applied Mathematical Programming
- p. 2/12
Primal Bounds: Greedy Heuristic
● Optimality and Bounds
● Primal Bounds: Greedy
Heuristic
● Primal Bounds: Local Search
● Dual Bounds: Relaxations
● Dual Bounds: LP Relaxations
● Dual Bounds: Lagrangian
Relaxation
● Duality for Integer Linear
Programs
Branch and Bound
Construct an initial feasible solution (incumbent) from
scratch
■ Focus on immediate rewards
The Knapsack Problem: Choose among 4 items, with values
(12, 8, 17, 11) and weights (4, 3, 7, 5), to place in a knapsack
that can accommodate a maximum weight of 9.
The Travelling Salesman Problem: Find the minimum distance
tour given the distance matrix:


− 9 2 8 12 11


− 7 19 10 32




− 29 18 6 



− 24 3 




− 19

−
■
OPR 992 - Applied Mathematical Programming
- p. 3/12
Primal Bounds: Local Search
● Optimality and Bounds
● Primal Bounds: Greedy
Heuristic
● Primal Bounds: Local Search
● Dual Bounds: Relaxations
● Dual Bounds: LP Relaxations
● Dual Bounds: Lagrangian
Relaxation
● Duality for Integer Linear
Programs
Branch and Bound
Define a neighborhood of solutions close to the incumbent
■ If the best solution in the neighborhood is better than the
incumbent, replace the incumbent and repeat.
Uncapacitated Facility Location: 6 clients, 4 depots, fixed costs
of depots (21, 16, 11, 24) and variable costs


6
2 3 4


9 4 11
1


15 2 6 3 


 9 11 4 8 




 7 23 2 9 
4
3 1 5
■
Graph Equipartition Problem: 6 nodes with edges (1,4), (1,6),
(2,3), (2,5), (2,6), (3,4), (3,5), and (4,6). Find the two partitions
of equal size to minimize the number of edges in between
OPR 992 - Applied Mathematical Programming
- p. 4/12
Dual Bounds: Relaxations
● Optimality and Bounds
● Primal Bounds: Greedy
Heuristic
● Primal Bounds: Local Search
● Dual Bounds: Relaxations
● Dual Bounds: LP Relaxations
● Dual Bounds: Lagrangian
Relaxation
● Duality for Integer Linear
Programs
Branch and Bound
Definition: A problem (RP) z R = max{f (x) : x ∈ T ⊆ Rn } is a
relaxation of (IP) z = max{c(x) : x ∈ X ⊆ Rn } if:
■ X ⊆ T , and
■ f (x) ≥ c(x) for all x ∈ X.
Proposition: If RP is a relaxation of IP, z R ≥ z.
OPR 992 - Applied Mathematical Programming
- p. 5/12
Dual Bounds: LP Relaxations
● Optimality and Bounds
● Primal Bounds: Greedy
Remove the integrality requirement from
Heuristic
● Primal Bounds: Local Search
max
s.t.
● Dual Bounds: Relaxations
● Dual Bounds: LP Relaxations
● Dual Bounds: Lagrangian
Relaxation
● Duality for Integer Linear
Programs
Branch and Bound
cT x
Ax
x
x
≤ b
≥ 0
∈ Z n.
Example:
max
s.t.
OPR 992 - Applied Mathematical Programming
4x1 − x2
7x1 − 2x2
x2
2x1 − 2x2
x
≤
≤
≤
∈
14
3
3
n
Z+
- p. 6/12
Dual Bounds: Lagrangian Relaxation
● Optimality and Bounds
● Primal Bounds: Greedy
Remove the linear constraints from
Heuristic
● Primal Bounds: Local Search
z = max
s.t.
● Dual Bounds: Relaxations
● Dual Bounds: LP Relaxations
● Dual Bounds: Lagrangian
Relaxation
● Duality for Integer Linear
Programs
Branch and Bound
cT x
Ax
x
x
≤ b
≥ 0
∈ Zn
and put them in the objective function
z(u) = max
s.t.
cT x + uT (b − Ax)
x
x
≥ 0
∈ Z n.
Proposition: z(u) ≥ z for all u ≥ 0.
OPR 992 - Applied Mathematical Programming
- p. 7/12
Duality for Integer Linear Programs
● Optimality and Bounds
● Primal Bounds: Greedy
Definition: The two problems
Heuristic
● Primal Bounds: Local Search
(IP ) : z
(D) : w
● Dual Bounds: Relaxations
● Dual Bounds: LP Relaxations
● Dual Bounds: Lagrangian
Relaxation
● Duality for Integer Linear
Programs
Branch and Bound
= max{c(x) : x ∈ X}
= min{w(u) : u ∈ U }
form a weak-dual pair if c(x) ≤ w(u) for all x ∈ X and all u ∈ U .
When z = w, they form a strongly-dual pair.
Proposition: The integer program
n
} and the linear program
z = max{cT x : Ax ≤ b, x ∈ Z+
wLP = min{bT u : AT u ≥ c, u ∈ Rm
+ } form a weak-dual pair.
OPR 992 - Applied Mathematical Programming
- p. 8/12
● Optimality and Bounds
● Primal Bounds: Greedy
Heuristic
● Primal Bounds: Local Search
● Dual Bounds: Relaxations
● Dual Bounds: LP Relaxations
● Dual Bounds: Lagrangian
Relaxation
● Duality for Integer Linear
Programs
Branch and Bound
Branch and Bound
● An Example
● Pruning the Branch and
Bound Tree
● Practical Issues
OPR 992 - Applied Mathematical Programming
- p. 9/12
An Example
● Optimality and Bounds
● Primal Bounds: Greedy
Heuristic
● Primal Bounds: Local Search
● Dual Bounds: Relaxations
● Dual Bounds: LP Relaxations
● Dual Bounds: Lagrangian
Relaxation
● Duality for Integer Linear
Programs
maximize
subject to
17x1 + 12x2
10x1 + 7x2
x1 + x 2
x
≤ 40
≤ 5
2
∈ Z+
Branch and Bound
● An Example
● Pruning the Branch and
Bound Tree
● Practical Issues
OPR 992 - Applied Mathematical Programming
- p. 10/12
Pruning the Branch and Bound Tree
● Optimality and Bounds
■
● Primal Bounds: Greedy
Heuristic
● Primal Bounds: Local Search
● Dual Bounds: Relaxations
● Dual Bounds: LP Relaxations
● Dual Bounds: Lagrangian
Relaxation
● Duality for Integer Linear
Programs
■
■
Pruning by Optimality
Pruning by Bound
Pruning by Infeasibility
Branch and Bound
● An Example
● Pruning the Branch and
Bound Tree
● Practical Issues
OPR 992 - Applied Mathematical Programming
- p. 11/12
Practical Issues
● Optimality and Bounds
■
● Primal Bounds: Greedy
Heuristic
● Primal Bounds: Local Search
■
Storing the tree
Choosing a node: Depth-First vs. Best-Node First
● Dual Bounds: Relaxations
● Dual Bounds: LP Relaxations
● Dual Bounds: Lagrangian
Relaxation
● Duality for Integer Linear
Programs
Branch and Bound
● An Example
● Pruning the Branch and
Bound Tree
● Practical Issues
OPR 992 - Applied Mathematical Programming
- p. 12/12