Learning to Branch Ellen Vitercik Joint work with Nina Balcan, Travis Dick, and Tuomas Sandholm Published in ICML 2018 1
Integer Programs (IPs) a π β π maximize π΅π β€ π subject to π β {0,1} π 2
Facility location problems can be formulated as IPs. 3
Clustering problems can be formulated as IPs. 4
Binary classification problems can be formulated as IPs. 5
Integer Programs (IPs) a π β π maximize π΅π = π subject to π β {0,1} π NP-hard 6
Branch and Bound (B&B) β’ Most widely-used algorithm for IP-solving (CPLEX, Gurobi) β’ Recursively partitions search space to find an optimal solution β’ Organizes partition as a tree β’ Many parameters β’ CPLEX has a 221-page manual describing 135 parameters βYou may need to experiment.β 7
Why is tuning B&B parameters important? β’ Save time β’ Solve more problems β’ Find better solutions 8
B&B in the real world Delivery company routes trucks daily Use integer programming to select routes Demand changes every day Solve hundreds of similar optimizations Using this set of typical problems⦠can we learn best parameters? 9
Model π΅ 1 , π 1 , π 1 , β¦ , π΅ π , π π , π π Application- Specific B&B parameters Algorithm Distribution Designer How to use samples to find best B&B parameters for my domain? 10
Model π΅ 1 , π 1 , π 1 , β¦ , π΅ π , π π , π π Application- Specific B&B parameters Algorithm Distribution Designer Model has been studied in applied communities [Hutter et al. β09] 11
Model π΅ 1 , π 1 , π 1 , β¦ , π΅ π , π π , π π Application- Specific B&B parameters Algorithm Distribution Designer Model has been studied from a theoretical perspective [Gupta and Roughgarden β16, Balcan et al., β17] 12
Model 1. Fix a set of B&B parameters to optimize 2. Receive sample problems from unknown distribution π΅ 1 , π 1 , π 1 π΅ 2 , π 2 , π 2 3. Find parameters with the best performance on the samples βBestβ could mean smallest search tree, for example 13
Questions to address How to find parameters that are best on average over samples? π΅ 1 , π 1 , π 1 π΅ 2 , π 2 , π 2 π΅, π, π ? Will those parameters have high performance in expectation? 14
Outline 1. Introduction 2. Branch-and-Bound 3. Learning algorithms 4. Experiments 5. Conclusion and Future Directions 15
(40, 60, 10, 10, 3, 20, 60) β π max 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. π β {0,1} 7 16
1 (40, 60, 10, 10, 3, 20, 60) β π max 2 , 1, 0, 0, 0, 0, 1 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. 140 π β {0,1} 7 17
1 (40, 60, 10, 10, 3, 20, 60) β π max 2 , 1, 0, 0, 0, 0, 1 B&B 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. 140 π β {0,1} 7 1. Choose leaf of tree 18
1 (40, 60, 10, 10, 3, 20, 60) β π max 2 , 1, 0, 0, 0, 0, 1 B&B 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. 140 π β {0,1} 7 π¦ 1 = 0 π¦ 1 = 1 1. Choose leaf of tree 1 3 0, 1, 0, 1, 0, 4 , 1 1, 5 , 0, 0, 0, 0, 1 2. Branch on a variable 135 136 19
1 (40, 60, 10, 10, 3, 20, 60) β π max 2 , 1, 0, 0, 0, 0, 1 B&B 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. 140 π β {0,1} 7 π¦ 1 = 0 π¦ 1 = 1 1. Choose leaf of tree 1 3 0, 1, 0, 1, 0, 4 , 1 1, 5 , 0, 0, 0, 0, 1 2. Branch on a variable 135 136 20
1 (40, 60, 10, 10, 3, 20, 60) β π max 2 , 1, 0, 0, 0, 0, 1 B&B 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. 140 π β {0,1} 7 π¦ 1 = 0 π¦ 1 = 1 1. Choose leaf of tree 1 3 0, 1, 0, 1, 0, 4 , 1 1, 5 , 0, 0, 0, 0, 1 2. Branch on a variable 135 136 π¦ 2 = 0 π¦ 2 = 1 1, 0, 0, 1, 0, 1 1, 1, 0, 0, 0, 0, 1 2 , 1 3 120 120 21
1 (40, 60, 10, 10, 3, 20, 60) β π max 2 , 1, 0, 0, 0, 0, 1 B&B 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. 140 π β {0,1} 7 π¦ 1 = 0 π¦ 1 = 1 1. Choose leaf of tree 1 3 0, 1, 0, 1, 0, 4 , 1 1, 5 , 0, 0, 0, 0, 1 2. Branch on a variable 135 136 π¦ 2 = 0 π¦ 2 = 1 1, 0, 0, 1, 0, 1 1, 1, 0, 0, 0, 0, 1 2 , 1 3 120 120 22
1 (40, 60, 10, 10, 3, 20, 60) β π max 2 , 1, 0, 0, 0, 0, 1 B&B 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. 140 π β {0,1} 7 π¦ 1 = 0 π¦ 1 = 1 1. Choose leaf of tree 1 3 0, 1, 0, 1, 0, 4 , 1 1, 5 , 0, 0, 0, 0, 1 2. Branch on a variable 135 136 π¦ 6 = 0 π¦ 6 = 1 π¦ 2 = 0 π¦ 2 = 1 0, 1, 1 0, 3 1, 0, 0, 1, 0, 1 1, 1, 0, 0, 0, 0, 1 3 , 1, 0, 0, 1 5 , 0, 0, 0, 1, 1 2 , 1 3 133.3 116 120 120 23
1 (40, 60, 10, 10, 3, 20, 60) β π max 2 , 1, 0, 0, 0, 0, 1 B&B 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. 140 π β {0,1} 7 π¦ 1 = 0 π¦ 1 = 1 1. Choose leaf of tree 1 3 0, 1, 0, 1, 0, 4 , 1 1, 5 , 0, 0, 0, 0, 1 2. Branch on a variable 135 136 π¦ 6 = 0 π¦ 6 = 1 π¦ 2 = 0 π¦ 2 = 1 0, 1, 1 0, 3 1, 0, 0, 1, 0, 1 1, 1, 0, 0, 0, 0, 1 3 , 1, 0, 0, 1 5 , 0, 0, 0, 1, 1 2 , 1 3 133.3 116 120 120 24
1 (40, 60, 10, 10, 3, 20, 60) β π max 2 , 1, 0, 0, 0, 0, 1 B&B 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. 140 π β {0,1} 7 π¦ 1 = 0 π¦ 1 = 1 1. Choose leaf of tree 1 3 0, 1, 0, 1, 0, 4 , 1 1, 5 , 0, 0, 0, 0, 1 2. Branch on a variable 135 136 π¦ 6 = 0 π¦ 6 = 1 π¦ 2 = 0 π¦ 2 = 1 0, 1, 1 0, 3 1, 0, 0, 1, 0, 1 1, 1, 0, 0, 0, 0, 1 3 , 1, 0, 0, 1 5 , 0, 0, 0, 1, 1 2 , 1 3 133.3 116 120 120 π¦ 3 = 0 π¦ 3 = 1 0, 4 5 , 1, 0, 0, 0, 1 0, 1, 0, 1, 1, 0, 1 133 118 25
1 (40, 60, 10, 10, 3, 20, 60) β π max 2 , 1, 0, 0, 0, 0, 1 B&B 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. 140 π β {0,1} 7 π¦ 1 = 0 π¦ 1 = 1 1. Choose leaf of tree 1 3 0, 1, 0, 1, 0, 4 , 1 1, 5 , 0, 0, 0, 0, 1 2. Branch on a variable 135 136 3. Fathom leaf if: i. LP relaxation solution is π¦ 6 = 0 π¦ 6 = 1 π¦ 2 = 0 π¦ 2 = 1 integral ii. LP relaxation is infeasible 0, 1, 1 0, 3 1, 0, 0, 1, 0, 1 1, 1, 0, 0, 0, 0, 1 3 , 1, 0, 0, 1 5 , 0, 0, 0, 1, 1 2 , 1 iii. LP relaxation solution 3 isnβt better than best - 133.3 116 120 120 known integral solution π¦ 3 = 0 π¦ 3 = 1 0, 4 5 , 1, 0, 0, 0, 1 0, 1, 0, 1, 1, 0, 1 133 118 26
1 (40, 60, 10, 10, 3, 20, 60) β π max 2 , 1, 0, 0, 0, 0, 1 B&B 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. 140 π β {0,1} 7 π¦ 1 = 0 π¦ 1 = 1 1. Choose leaf of tree 1 3 0, 1, 0, 1, 0, 4 , 1 1, 5 , 0, 0, 0, 0, 1 2. Branch on a variable 135 136 3. Fathom leaf if: i. LP relaxation solution π¦ 6 = 0 π¦ 6 = 1 π¦ 2 = 0 π¦ 2 = 1 is integral ii. LP relaxation is infeasible 0, 1, 1 0, 3 1, 0, 0, 1, 0, 1 1, 1, 0, 0, 0, 0, 1 3 , 1, 0, 0, 1 5 , 0, 0, 0, 1, 1 2 , 1 iii. LP relaxation solution 3 isnβt better than best - 133.3 116 120 120 known integral solution π¦ 3 = 0 π¦ 3 = 1 0, 4 5 , 1, 0, 0, 0, 1 0, 1, 0, 1, 1, 0, 1 133 118 Integral 27
1 (40, 60, 10, 10, 3, 20, 60) β π max 2 , 1, 0, 0, 0, 0, 1 B&B 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. 140 π β {0,1} 7 π¦ 1 = 0 π¦ 1 = 1 1. Choose leaf of tree 1 3 0, 1, 0, 1, 0, 4 , 1 1, 5 , 0, 0, 0, 0, 1 2. Branch on a variable 135 136 3. Fathom leaf if: i. LP relaxation solution is π¦ 6 = 0 π¦ 6 = 1 π¦ 2 = 0 π¦ 2 = 1 integral ii. LP relaxation is infeasible 0, 1, 1 0, 3 1, 0, 0, 1, 0, 1 1, 1, 0, 0, 0, 0, 1 3 , 1, 0, 0, 1 5 , 0, 0, 0, 1, 1 2 , 1 iii. LP relaxation solution 3 isnβt better than best - 133.3 116 120 120 known integral solution π¦ 3 = 0 π¦ 3 = 1 0, 4 5 , 1, 0, 0, 0, 1 0, 1, 0, 1, 1, 0, 1 133 118 28
B&B 1. Choose leaf of tree This talk: How to choose which variable? 2. Branch on a variable (Assume every other aspect of B&B is fixed.) 3. Fathom leaf if: i. LP relaxation solution is integral ii. LP relaxation is infeasible iii. LP relaxation solution isnβt better than best - known integral solution 29
Variable selection policies can have a huge effect on tree size 30
Outline 1. Introduction 2. Branch-and-Bound a. Algorithm Overview b. Variable Selection Policies 3. Learning algorithms 4. Experiments 5. Conclusion and Future Directions 31
Variable selection policies (VSPs) 1, 3 5 , 0, 0, 0, 0, 1 Score-based VSP: 136 At leaf πΉ , branch on variable π π maximizing πππ©π¬π πΉ, π π¦ 2 = 0 π¦ 2 = 1 1 1 1, 0, 0, 1, 0, 2 , 1 1, 1, 0, 0, 0, 0, 3 120 120 Many options! Little known about which to use when 32
Variable selection policies For an IP instance π : β’ Let π π be the objective value of its LP relaxation β be π with π¦ π set to 0, and let π π + be π with π¦ π set to 1 β’ Let π π Example. 1 (40, 60, 10, 10, 3, 20, 60) β π max 2 , 1, 0, 0, 0, 0, 1 π 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. π π π β {0,1} 7 140 33
Variable selection policies For an IP instance π : β’ Let π π be the objective value of its LP relaxation β be π with π¦ π set to 0, and let π π + be π with π¦ π set to 1 β’ Let π π Example. 1 (40, 60, 10, 10, 3, 20, 60) β π max 2 , 1, 0, 0, 0, 0, 1 π 40, 50, 30, 10, 10, 40, 30 β π β€ 100 s.t. π π π β {0,1} 7 140 π¦ 1 = 0 π¦ 1 = 1 0, 1, 0, 1, 0, 1 1, 3 4 , 1 5 , 0, 0, 0, 0, 1 π π 1 π π 1 β 135 136 + 34
Recommend
More recommend