milp algorithms: branch -and-bound and branch-and-cut
TRANSCRIPT
![Page 1: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/1.jpg)
Norwegian University of Science and Technology
MILP algorithms: branch-and-bound and branch-and-cut
![Page 2: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/2.jpg)
Norwegian University of Science and Technology 2
Content
• The Branch-and-Bound (BB) method.– the framework for almost all commercial software for
solving mixed integer linear programs
• Cutting-plane (CP) algorithms.
• Branch-and-Cut (BC)– The most efficient general-purpose algorithms for
solving MILPs
![Page 3: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/3.jpg)
Norwegian University of Science and Technology 3
Basic idea of Branch-and-bound
BB is a divide and conquer approach: break problem into subproblems (sequence of LPs) that are easier to solve
![Page 4: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/4.jpg)
Norwegian University of Science and Technology 4
Decomposing the initial formulation P
![Page 5: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/5.jpg)
Norwegian University of Science and Technology 5
Enumeration treeIP example 1:
How to proceed withoutcomplete enumeration?
0 1 2 3 4 50
1
2
3
4
y1
y 2
LP relaxationNode #2 SolutionNode #3 Solution
s
s s
![Page 6: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/6.jpg)
Norwegian University of Science and Technology 6
Implicit enumeration: Utilize solution bounds
![Page 7: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/7.jpg)
Norwegian University of Science and Technology 7
Pruning (= beskjæring av tre)
Utilize convexity of the LP relaxations to prune the enumeration tree.
1. Pruning by optimality : A solution is integer feasible; the solution cannot be improved by further decomposing the formulation and adding bounds.
2. Pruning by bound: A solution in a node i is worse than the best known upper bound, i.e.
3. Pruning by infeasibility : A solution is (LP) infeasible.
![Page 8: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/8.jpg)
Norwegian University of Science and Technology 8
Branching: choosing a fractional variable
Which variable to choose?Branching rules
• Most fractional variable: branch on variable with fractional part closest to 0.5.
• Strong branching: tentative branch on each fractional variable (by a few iterations of the dual simplex) to check progress before actual branching is performed.
• Pseudocost branching: keep track of success variables already branched on.
• Branching priorities.
![Page 9: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/9.jpg)
Norwegian University of Science and Technology 9
Node selection
Each time a branch cannot be pruned, two new children-nodes are created.
Node selection rules concerns which node (and hence which LP) to solve next:
• Depth-first search.
• Breath-first search.
• Best-bound search.
• Combinations.
![Page 10: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/10.jpg)
Norwegian University of Science and Technology 10
L is a list of with the nodes
Initialize upper bound.Assume LP is bounded
Solve and check LP relaxationin root node
Select node a solve new LP with added branching constraint
Check if solution can be pruned.Removed nodes from L where the solution is dominated by the best lower bound
Choose branching variable,add nodes to the list L of unsolved nodes
![Page 11: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/11.jpg)
Norwegian University of Science and Technology 11
Earlier IP example• Branching rule: most fractional• Node selection rule: best-bound
s
ss
0 1 2 3 4 50
1
2
3
4
y1
y 2
s s
s s
IP:
![Page 12: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/12.jpg)
Norwegian University of Science and Technology 12
Software
Optimization modeling languages:
• Matlab through YALMIP
• GAMS: Generalized Algebraic Modeling System
• AMPL: A mathematical programming language
MILP software:
• CPLEX
• Gurobi
• Xpress-MP
![Page 13: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/13.jpg)
Norwegian University of Science and Technology 13
![Page 14: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/14.jpg)
Norwegian University of Science and Technology 14
Recall the LP relaxation:
![Page 15: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/15.jpg)
Norwegian University of Science and Technology 15
The Cutting-plane algorithm
s
![Page 16: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/16.jpg)
Norwegian University of Science and Technology 16
Generating valid inequalities
![Page 17: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/17.jpg)
Norwegian University of Science and Technology 17
Example on cut generation: Chvátal-Gomory valid inequalities
![Page 18: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/18.jpg)
Norwegian University of Science and Technology 18
Branch-and-cut
![Page 19: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/19.jpg)
Norwegian University of Science and Technology 19
Earlier IP example: Branch-and-Cut• Branching rule: most fractional• Node selection rule: best-bound
s
ss
0 1 2 3 4 50
1
2
3
4
y1
y 2
IP:
![Page 20: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/20.jpg)
Norwegian University of Science and Technology 20
The GAP problem in GAMS with Branch and Cut
![Page 21: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/21.jpg)
Norwegian University of Science and Technology 21
Choice of LP algorithm in Branch and Bound
s
ss
• Very important for the numerical efficiency of branch-and-bound methods.
• Re-use optimal basis from one node to the next.
![Page 22: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/22.jpg)
Norwegian University of Science and Technology 22
Solution of large-scale MILPs
Important aspects of the branch-and-cut algorithm:
• Presolve routines
• Parallelization of branch-and-bound tree
• Efficiency of LP algorithm
Utilize structures in problem:
• Decomposition algorithms
• Apply heuristics to generate a
feasible solution
![Page 23: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/23.jpg)
Norwegian University of Science and Technology 23
MINLP: challenges
![Page 24: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/24.jpg)
Norwegian University of Science and Technology 24
MINLP: solution approaches
Source: ZIB Berlin
![Page 25: MILP algorithms: branch -and-bound and branch-and-cut](https://reader030.vdocuments.site/reader030/viewer/2022012420/6174dcad07bc4c3b181efa6d/html5/thumbnails/25.jpg)
Norwegian University of Science and Technology 25
Conclusions
• Branch-and-bound defines the basis for all modern MILP codes.
• Pure cutting-plane approaches are ineffective for large MILPs.
• BB is very efficient when integrated with advanced cut-generation, leading to branch-and-cut methods.
• Solving large-scale MINLPs are significantly more difficult than MILPs.