recent advances in mixed- integer linear programminginteger linear programming at carleton...
TRANSCRIPT
![Page 1: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/1.jpg)
Recent Advances in Mixed-Integer Linear Programmingat Carleton University
John W. ChinneckSystems and Computer EngineeringCarleton UniversityOttawa, Canada
![Page 2: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/2.jpg)
Outline
1. Introduction2. Node selection for faster optimality◦ Important common patterns
3. Active constraints branching variable selection
4. Branching to force change5. General disjunctions6. Conclusions
Chinneck: Recent Advances in MILP 2
![Page 3: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/3.jpg)
INTRODUCTION
Chinneck: Recent Advances in MILP 3
![Page 4: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/4.jpg)
Themes
Relationship between MILP-feasibility and MILP-optimalitySeeking MILP-feasibility quicklyFocus on candidate variables◦ Integer/binary variables that do not have
integer/binary values in LP relaxation solution
Branching to force change in the candidate variables
4Chinneck: Recent Advances in MILP
![Page 5: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/5.jpg)
AssumptionsBranch and bound method for minimization◦ Focus on branching◦ Branching always needed, even in conjunction with
cutting, local exploration, root node heuristics, etc.Simplex LP solver◦ Usual MILP choice, for fast restart at child nodesMeasuring solution speed:◦ Time: best◦ Simplex iterations: good proxy for time
Non-simplex time must be minimalBest choice for multi-core machines where time measurements are not repeatable
◦ Node count: often poor proxy for time
Chinneck: Recent Advances in MILP 5
![Page 6: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/6.jpg)
NODE SELECTION FOR FASTER OPTIMALITY
Interesting patterns...
Chinneck: Recent Advances in MILP 6
![Page 7: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/7.jpg)
Node selectionDepth-first◦ Choose child of last solved node◦ Big advantage: child node almost identical to
parent. Hot start speeds LP solutions!Best bound◦ Choose node having best bounding function value
anywhere on treeUsually high in the tree
Best estimate◦ Rate node’s progress toward integer feasibility vs.
degradation in objective function valueOthers...
Chinneck: Recent Advances in MILP 7
![Page 8: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/8.jpg)
Triggering backtrack/jumpback
Assuming depth-first dive as default behaviour:◦ What conditions trigger backtrack?◦ Which node should be selected?
Aspiration level trigger:◦ Trigger backtrack when node bound is worse
than pre-selected aspiration level
Chinneck: Recent Advances in MILP 8
![Page 9: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/9.jpg)
Pattern:Optimality, feasibility, and depth
Chinneck: Recent Advances in MILP 9
Optimum is shallowest integer-feasible node in about half of all cases.Close to shallowest in many other cases.Why? Fewest changes from optimistic root node.
![Page 10: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/10.jpg)
Optimality, feasibility, and depth
LessonNode selection chooses the most promising nodeShallowest integer-feasible descendent most likely to give best objective valueErgo: fastest integer-feasibility important for optimality
Chinneck: Recent Advances in MILP 10
![Page 11: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/11.jpg)
Pattern:Depth and objective value
Chinneck: Recent Advances in MILP 11
Nodes at same depth as optimum tend to have bounding function values that are similar to optimum objective value.
Bounds worsen with depth.
![Page 12: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/12.jpg)
Pattern:Candidates decrease with depth
Chinneck: Recent Advances in MILP 12
Typical dive pattern, but not guaranteed.
Integer-feasible when there are 0 candidate variables.
Corollary: due to tree fan-out, more nodes have few candidates (deep in tree) than have many candidates (high in tree).
![Page 13: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/13.jpg)
Idea: Aspiration level by linear extrapolation
Chinneck: Recent Advances in MILP 13
2. Estimate optimum obj value using depth information3. Set an aspiration value using estimated optimum objective value
1. Predict optimum depth by extrapolating number of candidates
LEXA method
![Page 14: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/14.jpg)
Pattern:Objective value vs. candidates
Chinneck: Recent Advances in MILP 14
Zmin(c): smallest bounding function value given ccandidates.
Extrapolate optimum value using Zmin(c) over a range of c.
Set aspiration level.
![Page 15: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/15.jpg)
Modified best projectionTwo “anchors”: ◦ root and node with fewest candidatesFor node selection (MOBP):◦ Zbp(i) = Zi + Ci[Zmin(Cmin)-Z0]/(C0-Cmin)
Zbp(i): best projection of Z at node iZ0, C0: bounding value, candidates at root nodeZi, Ci: bounding value, candidates at node iCmin: minimum candidate variables at any node
For setting aspiration level (MPAS):◦ Find min(Zbp(i)) over all active nodes◦ Backtrack if Zi > min(Zbp(i)) Does not need incumbent like original does
Chinneck: Recent Advances in MILP 15
![Page 16: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/16.jpg)
Pattern:Common distributions
Chinneck: Recent Advances in MILP 16
Distribution of Zi Distribution of number of candidate variables
Both distributions often Normal-like
![Page 17: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/17.jpg)
Distribution node selection (DIST)
Balance pursuit of feasibility and optimality◦ Smaller Zi and Ci both desirable◦ Zi larger where Ci is smaller, and vice versa
Ranges quite different: how to balance?◦ Normalize ranges of Zi and Ci assuming
independent normal probability distributions◦ Choose node n = arg mini P(Z ≤ Zi)×P(C ≤ Ci)
Chinneck: Recent Advances in MILP 17
![Page 18: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/18.jpg)
Idea: Active node search threshold (ANST)
Advanced node selection can take a lot of timeSwitch to simple depth-first node selection if current node selection method is taking too much time
Chinneck: Recent Advances in MILP 18
![Page 19: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/19.jpg)
Experiments with GLPK 4.9
Chinneck: Recent Advances in MILP 19
GLPK default
Node sel: distributionTriggering: mod. best proj. aspirationActive node search threshold
Node sel: mod. best proj.Triggering: mod. best proj. aspirationActive node search threshold
GLPK default with ordinary best-projection
![Page 20: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/20.jpg)
Lessons learned
MILP-feasibility (candidates) and optimality are linkedPatterns relating them can be exploitedReaching first integer-feasible solution quickly helps to reach optimality quickly
Chinneck: Recent Advances in MILP 20
![Page 21: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/21.jpg)
ACTIVE CONSTRAINTS BRANCHING VARIABLE SELECTION
Goal: reaching first integer-feasible solution quickly
Chinneck: Recent Advances in MILP 21
![Page 22: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/22.jpg)
Is branching variable selection important?
B&B nodes to First Feasible Soln
model Cplex 9.0 Active-Constraints Method
aflow30a 23,481 22 (A, HM, HO, O, P)
aflow40b 100,000+ (limit) 33 (HO, O, P)
fast0507 14,753 26 (A)
glass4 7,940 62 (A, HM, HO, O, P)
nsrand-ipx 3,301 18 (HM)
timtab2 14,059 100,000+ (limit)
Chinneck: Recent Advances in MILP 22
![Page 23: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/23.jpg)
Chinneck: Recent Advances in MILP 23
y
x
LP relaxation before branching
Branch on x Branch on y
Feasible Region
Traditional: branch to impact objective function value
New: branch to impact active constraints in current LP-relaxation
Try to make the child LP-relaxations as different as possible
![Page 24: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/24.jpg)
Selecting the branching variableCalculate a weight Wik for each candidate i in active constraint k:A: Wik=1.◦ Is candidate variable present in the active constraint?M: Wik = 1/(no. candidate variables)◦ Like A, but relative impact of a constraint normalized by number of
candidate variables it containsO: Wik = |coeffi|/(no. of integer variables)◦ size of coefficient affects weight of varb in constraintA, O, M: choose k with largest ∑iWikHM, HO, etc.: choose k with largest WikMany other methods….
Chinneck: Recent Advances in MILP 24
![Page 25: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/25.jpg)
Experiment 1: Cplex heuristics off
Chinneck: Recent Advances in MILP 25
Usually a better optimality gap at first integer-feasible solution (53-78% of models).
![Page 26: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/26.jpg)
Experiment 2: Cplex heuristics on
Chinneck: Recent Advances in MILP 26
Only for models not solved at root node.Usually a smaller optimality gap at first integer-feasible solution
![Page 27: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/27.jpg)
Lessons learned
It’s important to impact the active constraints◦ Forces many candidates to change values
simultaneously◦ Forces child node solutions to be quite
different from each other and from parent
Chinneck: Recent Advances in MILP 27
![Page 28: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/28.jpg)
BRANCHING TO FORCE CHANGE
Goal: reaching first integer-feasible solution quickly
Chinneck: Recent Advances in MILP 28
![Page 29: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/29.jpg)
QuestionShould you branch so child node has largest or smallest probability of a feasible solution?Insight from multiple choice constraints◦ x1 + x2 + x3 + ... xn {≤,=} 1, where xi are binary
Branch down: xi can take real valuesBranch up: all xi forced to integer values
◦ E.g.: x1 + x2 + x3 + x4 = 1 at (0.25, 0.25, 0.25, 0.25)◦ Branching on x1:
Branch down: (0, 0.333, 0.333, 0.333) or many othersBranch up: (1, 0, 0, 0) is only solution, and all integer.
Chinneck: Recent Advances in MILP 29
![Page 30: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/30.jpg)
A new principle
Goal: zero candidates (integer feasibility)Observations:◦ Often: each branching forces roughly 1 candidate
variable to integrality◦ Desirable: force as many candidates as possible
to integrality at each branch
Branch to force change in as many candidate variables as possible◦ Hope that many will take integer values
Chinneck: Recent Advances in MILP 30
![Page 31: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/31.jpg)
Probability-based branching
Counting solutions (Pesant and Quimper 2008)l ≤ cx ≤ u : l, c, u are integer values, x integerExample: x1 + 5x2 ≤ 10 where x1, x2 ≥ 0
Value of x2 Range for x1 Soln count Soln densityx2=0 [0,10] 11 11/18 = 0.61x2=1 [0,5] 6 6/18 = 0.33x2=2 [0] 1 1/18 = 0.06Total solutions 18Choose x2 =0 for max prob of satisfactionChoose x2=2 for min prob of satisfactionWhich is best?
Chinneck: Recent Advances in MILP 31
![Page 32: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/32.jpg)
New: Generalization
Assume:All variables bounded, real-valuedUniform distribution within range
Result:linear combination of variables yields normal distribution for function valueExample: g(x) = 3x1 + 2x2 + 5x3, 0 ≤ x ≤ 5has mean 25, variance 110.83Plot.... Look at g(x) ≤ 12
Chinneck: Recent Advances in MILP 32
![Page 33: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/33.jpg)
g(x) = 3x1 + 2x2 + 5x3 ≤ 12 for 0 ≤ x ≤ 5
Chinneck: Recent Advances in MILP 33
Probability density plot• Cumulative prob of satisfying function in blue
P[g(x)≤12] = 0.1085
![Page 34: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/34.jpg)
Chinneck: Recent Advances in MILP 34
• Separate distributions for DOWN and UP branches due to changed variable ranges
• Calculate cumulative probability of satisfying constraint in each direction
Example:• Branch on x1=1.5• Down: x1 range [0,1], p=0.23• Up: x1 range [2,5], p=0.05
To use for branching:
![Page 35: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/35.jpg)
New: handling equality constraints
Chinneck: Recent Advances in MILP 35
g(x) = 3x1 + 2x2 + 5x3 = 12 for 0 ≤ x ≤ 5
P[g(x)≤12]=0.1085 P[g(x)≥12]=0.8915
Equality “probability” =(smaller cum. prob)(larger cum. prob)
0.1085/0.8915 = 0.1217
Gives value between 0 and 1.
Larger value means more centred in the distribution, hence larger chance of satisfying the equality
![Page 36: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/36.jpg)
New branching direction methods
Given the branching variable:
Choose direction based on cum. prob. in anyactive constraint branching variable is in:◦ LCP: Lowest cum. prob. in any active constraint◦ HCP: Highest cum. prob. in any active constraint
Choose direction based on votes using cum. prob. in all active constraints branching variable is in:◦ LCPV: direction most often selected based on lowest
cum. prob.◦ HCPV: direction most often selected based on highest
cum. prob.
Chinneck: Recent Advances in MILP 36
![Page 37: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/37.jpg)
New simultaneous variable and direction selection methods
VDS-LCP: choose varb and direction having lowest cum. prob. among all candidate varbsand all active constraints containing them
VDS-HCP: choose varb and direction having highest cum. prob. among all candidate varbs and all active constraints containing them
Chinneck: Recent Advances in MILP 37
![Page 38: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/38.jpg)
New violation-based methods
Fix all variables except branching variable. What happens when branching UP vs. DOWN?◦ Inequality: is act. constraint violated or still satisfied?◦ Equality:
“violated”: less centred direction“satisfied”: more centred direction
MVV: Most Violated Votes method◦ Choose direction that violates largest number of active
constraints containing branching varb.MSV: Most Satisfied Votes method
Chinneck: Recent Advances in MILP 38
![Page 39: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/39.jpg)
Chinneck: Recent Advances in MILP 39
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1 2 3 4 5 6 7 8 9 10
Frac
tion
of M
odel
s
Ratio to Fewest Simplex Iterations
LCP/LCPV vs. HCP/HCPV
GLPK Default
LCP
HCP
LCPV
HCPV
Branching to lower probabilities is better
![Page 40: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/40.jpg)
Chinneck: Recent Advances in MILP 40
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1 2 3 4 5 6 7 8 9 10
Frac
tion
of M
odel
s
Ratio to Fewest Simplex Iterations
VDS-LCP vs. VDS-HCP
GLPK default
VDS-LCP
VDS-HCP
Branching to lower probabilities is better
![Page 41: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/41.jpg)
Chinneck: Recent Advances in MILP 41
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1 2 3 4 5 6 7 8 9 10
Frac
tion
of M
odel
s
Ratio to Fewest Simplex Iterations
MVV vs. MSV
GLPK Default
MSV
MVV
Branching to violate constraints is better
![Page 42: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/42.jpg)
Chinneck: Recent Advances in MILP 42
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1 2 3 4 5 6 7 8 9 10
Frac
tion
of M
odel
s
Ratio to Fewest Simplex Iterations
A-UP vs. VDS-LCP
GLPK Default
A-UP
VDS-LCP
A-UP: Method A to select variable, always branch up.
![Page 43: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/43.jpg)
Simple branch-up rule is effective
Chinneck: Recent Advances in MILP 43
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1 2 3 4 5 6 7 8 9 10
Frac
tion
of M
odel
s
Ratio to Fewest Simplex Iterations
Up vs. Down vs. Closest Integer: All Models
GLPK DefaultUpDownClosest Integer
Why does it work?73% of MIPLIB models have at least one multiple choice constraint!
![Page 44: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/44.jpg)
Lessons learnedMost effective:◦ Branch to low probability variables and
directions◦ Branch to violate constraints◦ Branch to force change in the candidates
Compare:◦ MILP:
Constraints always satisfied, varbs not integer◦ Constraint programming:
Constraints not satisfied, varbs always integer
Chinneck: Recent Advances in MILP 44
![Page 45: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/45.jpg)
GENERAL DISJUNCTIONS
Goal: reaching first integer-feasible solution quickly
Chinneck: Recent Advances in MILP 45
![Page 46: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/46.jpg)
Beyond branching on variables
Why not branch on a general linear equation? E.g.:◦ a1x1 + a2x2 + a3x3 +... + anxn ≤ k◦ a1x1 + a2x2 + a3x3 +... + anxn ≥ k + 1◦ ai and k are integers
Literature:◦ Very hard to find a good general disjunction
NP-hard to find best general disjunction
◦ Usually fewer nodes, but much more time
Chinneck: Recent Advances in MILP 46
![Page 47: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/47.jpg)
“45-degree” general disjunctions
Coefficients are +1, -1, 0Run through many lattice pointsLeave an empty interior
Chinneck: Recent Advances in MILP 47
Still NP-hard to find best disjunction
![Page 48: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/48.jpg)
New methods: principles
When to use a general disjunction:◦ Infrequently, only when it is beneficial
Constructing the general disjunction:◦ 45 degree type, based on the active constraint
having the most impact on candidate variablesReverse of active constraint variable branching
◦ Branch to force change!
Chinneck: Recent Advances in MILP 48
![Page 49: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/49.jpg)
When to insert a general disjunction?
Only when there are many candidate variables (60+)◦ i.e. large models, high in tree
Only when axis-parallel branching is stalling:◦ Monitor:
number of candidatesinfeasibility sum
◦ 2A: both increase 3 times in a row◦ 2B: either increase 10 times in a row
Chinneck: Recent Advances in MILP 49
![Page 50: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/50.jpg)
Constructing a general disjunction
1. Select active constraint as foundation:◦ 3A: Choose active constraint having most
integer variables. Break ties using highest sum of integer-variable absolute coefficients.◦ 3B: Choose active constraint having most
candidate variables. Break ties using highest sum of candidate-variable absolute coefficients.
Chinneck: Recent Advances in MILP 50
![Page 51: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/51.jpg)
Constructing a general disjunction
2. If foundation is an inequality:◦ Branching disjunction is
approximately parallel to foundation: match signs
◦ E.g.: 2x1 – 7x2 + 15x3 ≤ 30, where xi ≥ 0 and integer. LP-relaxation soln (4.6, 3.2, 2.88)
Down branch: x1–x2+x3 ≤ 4.6-3.2 +2.88 = 4Up branch: x1–x2+x3 ≥ 4.6-3.2+2.88 + 1= 5
Chinneck: Recent Advances in MILP 51
Red line: foundationDashed lines: disjunction
opt
![Page 52: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/52.jpg)
Constructing a general disjunction
3. If foundation is an equality:◦ Branching disjunction: approximately perpendicular to
foundation(exactly perpendicular to approx. parallel)No point to approximately parallel: usually no intersection
◦ Many ways to construct!E.g.: approx parallel x1–x2+x3
Approx perpend: (1,1,0), (-1,0,1), (0,1,1), etc.
◦ Method: Odd no. coeffs: set least impact coeff to zeroLeast impact: cont < non-cand int < cand with larger int infeas< larger abs coeff in foundation < varb in more active constraintsSwitch signs in remaining varbs on even counter
Chinneck: Recent Advances in MILP 52
![Page 53: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/53.jpg)
Branching direction
Branch to force changeApprox parallel disjunctions:◦ 5A: satisfying direction of inequality, offset by 1
Offset in case disjunction lies on foundation (e.g. multiple choice foundation)Pushes into feasible region
◦ 5B: farther from LP-relaxation optimum pt
Approx perpendicular disjunctions:◦ Farther from LP-relaxation optimum
Chinneck: Recent Advances in MILP 53
![Page 54: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/54.jpg)
Experimental setupBuilt into Cplex 12.1 via callbacksDefault Cplex: all default except:◦ Stop at first integer-feasible solution◦ Emphasize integer-feasibility◦ Depth-first search◦ Time limit 8 hours◦ Single threadBaseline Cplex: same as default but also:◦ Pre-solve off◦ Aggregation off◦ Internal node heuristics off◦ Cut generation off
Chinneck: Recent Advances in MILP 54
![Page 55: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/55.jpg)
Compare to baseline Cplex 12.1
Chinneck: Recent Advances in MILP 55
Compared on “hard models” that take baseline Cplex more than 1 hour to solve
![Page 56: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/56.jpg)
Compare to default Cplex 12.1
Chinneck: Recent Advances in MILP 56
Compared on “hard models” that take baseline Cplex more than 1 hour to solve
![Page 57: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/57.jpg)
Vs. default Cplex over all models
Chinneck: Recent Advances in MILP 57
Little impact on easy models
![Page 58: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/58.jpg)
CONCLUSIONS
Chinneck: Recent Advances in MILP 58
![Page 59: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/59.jpg)
Lessons learned
There are patterns in MILP solutions that can be exploitedSeeking integer-feasibility and seeking optimality are relatedBranching should force change in the candidate variablesGeneral disjunctions can be helpful
Chinneck: Recent Advances in MILP 59
![Page 60: Recent Advances in Mixed- Integer Linear ProgrammingInteger Linear Programming at Carleton University ohn WJ Chinneck. Systems and Computer Engineering. Carleton University. Ottawa,](https://reader033.vdocuments.mx/reader033/viewer/2022042914/5f4e1702a5bb6160e723f660/html5/thumbnails/60.jpg)
ReferencesH. Mahmoud and J.W. Chinneck (2012), Achieving MILP Feasibility Quickly Using General Disjunctions, in preparation.
J. Pryor and J.W. Chinneck (2011), Faster Integer-Feasibility in Mixed-Integer Linear Programs by Branching to Force Change, Computers and Operations Research, vol. 38, pp.1143–1152.
D.T. Wojtaszek and J.W. Chinneck (2010), Faster MIP Solutions via New Node Selection Rules, Computers and Operations Research, vol. 37, no. 9, pp. 1544-1556.
J. Patel and J.W. Chinneck (2007), Active-Constraint Variable Ordering for Faster Feasibility of Mixed Integer Linear Programs, Mathematical Programming Series A, vol. 110, pp. 445-474.
Chinneck: Recent Advances in MILP 60