0% found this document useful (0 votes)
20 views48 pages

Branch and Cut

class for branch and bound

Uploaded by

mr.visastudy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views48 pages

Branch and Cut

class for branch and bound

Uploaded by

mr.visastudy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 48

Lecture II-2: Branch-and-Cut

Method for Integer Programming

Haitao Li, PhD


Professor and Chair
Supply Chain & Analytics Department
Founding Director
Lab of Advanced Supply Chain Analytics (LASCA)
Topics Covered
• Concept of Cutting Planes
• Branch-and-Cut Algorithm
• Valid Inequalities and Cut Generation Methods
- Gomory Cut
- Minimum Cover Cut
• Tight Formulations
An Illustrating Example of Cutting Plane
Adding a First Cutting Plane
Adding the First Cutting Plane and
Reoptimize
Adding the Second Cutting Plane
Adding the Two Cutting Planes and
Reoptimize
Consider the Following IOP
Description of Branch-and-Cut Algorithm
Branch-and-Cut Algorithm (Cont.)
Example: Branch-and-Cut Algorithm
Solving the Initial Relaxation
Branch with 𝑥𝑥1 ≥ 3
Branch with 𝑥𝑥1 ≤ 2
Adding Cutting Plane: 2𝑥𝑥1 + 𝑥𝑥2 ≤ 7
Branch-and-Cut Tree

Fathom by Integrality

Fathom by
Bounds
Lifting
• Notice that the cutting plane introduced in the second
subproblem is not valid for the first subproblem.
• This inequality can be modified to make it valid for the first
subproblem by using a lifting technique.
Solving the Relaxations
• The relaxations can be solved using any method for linear
programming problems.
• Typically, the initial relaxation is solved using the simplex method.
• Subsequent relaxations are solved using the dual simplex method,
since the dual solution for the relaxation of the parent subproblem
is still feasible in the relaxation of the child subproblem.
• Further, when cutting planes are added in Step 4, the current
iterate is still dual feasible, so again the modified relaxation can be
solved using the dual simplex method.
Generating Cutting Planes
• Many IOPs have structures that can be exploited to generate
problem-specific cuts
• For example, the subtour elimination constraints are valid constraints
for the traveling salesman problem (TSP)
Perfect Formulation

It is well known that the general class of minimum cost flow problems and a variety of its
special cases have “perfect formulation”, e.g., the transportation problem, assignment
problem, shortest path problem, maximum flow problem, etc.
Valid Inequalities
If the perfect formulation of an IOP is not known, then we can try to
approximate it by generating cutting planes (also known as valid inequalities)

Definition: Valid Inequality.


An inequality ax ≤ b is a valid inequality for X ⊆ Rn if ax ≤ b, for all
x ∈ X.
Example: Using Simple Bounds

X = {(x, y) : x ≤ 999y; 0 ≤ x ≤ 5, y ∈ B }

The constraint
x ≤ 5y

is implied by the formulation above. Indeed if y is 0 then x 0, if y is 1 then


x 5. Hence x will never be larger than 5.
Example: Using Simple Algebraic Operations
Example: Recognizing Useful Valid Inequalities
Gomory Cuts
Consider the following integer optimization problem:
LP Relaxation
Solve the LP Relaxation

∗ 25 23
Thus an optimal solution to the LP relaxation is 𝑥𝑥𝐿𝐿𝐿𝐿 = ( , ).
14 7
Graph of the LP Relaxation
The Constraints in the Final Tableau
Logical Arguments: Three Steps
• Turn the fractional numbers into non-negative coefficients
• Separate the integer and fractional terms of summation on both side
of the equations:
- The fractional term on the LHS must be no less the fractional part on
the RHS
- But the current solution to the LP relaxation violates the above
constraint, because the non-basic variables are zero
- The above two facts has yielded the Gomory cut
Gomory Cutting Planes
An Example
𝑛𝑛

� 𝑓𝑓𝑗𝑗 𝑥𝑥𝑗𝑗 ≥ 𝑓𝑓0


𝑗𝑗=1
An Example
Another Example
Minimal Cover Cut
Consider the binary integer programming (BIP) formulation for a
knapsack problem.
𝑀𝑀𝑀𝑀𝑀𝑀 ∑𝑛𝑛𝑗𝑗=1 𝑣𝑣𝑗𝑗 𝑥𝑥𝑗𝑗
s.t. ∑𝑛𝑛𝑗𝑗=1 𝑎𝑎𝑗𝑗 𝑥𝑥𝑗𝑗 ≤ 𝑏𝑏
𝑥𝑥𝑗𝑗 ∈ {0, 1}
Example
Consider a knapsack problem with the following data:
Example of Convex Hull
A convex hull is the smallest convex set that contains a shape,
or the smallest convex polygon that encloses a set of points.
Example: Uncapacitated Facility Location
Problem (UFL)
Therefore, P2 is a better formulation than P1.
In-Class Exercise 1: Generate Gomory Cuts
for the following problem

𝑥𝑥5
In-Class Exercise 2
Consider the binary knapsack constraint:
18x1 + 3x2 + 20x3 + 17x4 + 6x5 + 10x6 + 5x7 + 12x8 … 25
x1, …, x8 = 0 or 1
Identify 5 minimal cover inequalities valid for this knapsack
polytope, including the one involving the last 3 variables.
HW-6 Problem 1
Consider an integer program with the following optimal tableau of the
is LP relaxation:

Since the solution is not integral, generate Gomory cuts as cutting


planes that are satisfied by every integer feasible solution, but are
violated by certain corner solutions of the linear relaxation.
For each Gomory cut, show both the two forms: rounding down and
the fractional form.
HW-6 Problem 2
Consider the following integer linear program (ILP):
max 21x1 + 21x2 + 48x3 + 33x4 + 18x5 + 17x6 + 39x7
s.t. 5x1 + 14x2 + 12x3 + 21x4 + 1x5 + 6x6 + 13x7 <= 30 (i)
x1 + x2 + x3 <= 1 (ii)
xj binary for all j (iii)
(1) Solve the linear (root) relaxation of the ILP. Use your favorite optimization
tool: IBM Cplex Studio, Gurobi/Python or Excel Solver. Examine whether the
root relaxation solution is integral.
(2) If not, generate valid inequalities (cutting plane) and add them to the root
relaxation problem.
(3) Perform a branch-and-cut algorithm to obtain an optimal solution. Cuts can be
added during the iteration as needed.
(4) Solve the original ILP by the optimization tool and verify your solution in (3).

You might also like