Presentation is loading. Please wait.

Presentation is loading. Please wait.

Optimal Solutions for Generalized Covering Problems

Similar presentations


Presentation on theme: "Optimal Solutions for Generalized Covering Problems"— Presentation transcript:

1 Optimal Solutions for Generalized Covering Problems
Matthias F. Stallmann, 2006/02/07, NCSU IE/OR Joint Seminar Xiao Yu Li Seattle, WA, USA Franc Brglez Raleigh, NC, USA Joint work with: Our paper addresses the unate covering and binate covering problems. They are both special cases of the Minimum-Cost Satisfiability Problem. Most work discussed in this presentation was done while I was a Ph.D. student at North Carolina State University. I am now working as an optimization engineer at Amazon.com. 11/20/2018

2 Outline Unate and binate cover problems Basics of branch and bound
Lower bounds make a lot of difference All-integer dual Some preliminary results and conclusions Stochastic search for better upper bounds Final thoughts 11/20/2018

3 Background Work Unate (Set) Cover Problem (UCP)
1987: espresso, Rudell et al 1993: espresso-signature, McGeer at al …. Binate Cover Problem (BCP) 1996: scherzo, Coudert 2002: bsolo, Manquinho et al 11/20/2018

4 Native MinCostSat Problems
Covering Non-Covering Minimum-Length Plan ATPG Binate Covering Unate Covering Logic Minimization Crew Scheduling Vehicle Routing Many optimization problems can be formulated by the minimum-cost assignment problem. They can be roughly categorized as Covering and non-covering. On the covering side, there are the unate covering problem and the binate covering problem. Set covering has applications in two-level logic minimization and application in OR that include crew scheduling, and vehicle routing. Binate covering’s main applications are in the logic synthesis domain that include technology mapping, finite state machine minimization and boolean Relations. On the non-covering side, MinCostSat can formulated problems in automated test pattern generation, minimum length plan. And it also has applications in expert systems. Technology Mapping FSM Minimization Boolean Relations 11/20/2018

5 Unate (Set) Covering Three backup positions to fill.
Five players to choose from. Want to minimize the number of players. Duncan Francis Malone Stockton Yao Before we get too carried away … Guard 1 1 Forward 1 1 Center 1 1 1 11/20/2018

6 Unate Covering as CNF Sat
Conjunctive Normal Form Guard F  S Forward D  M Center D  M  Y Goal: minimize F + S + D + M + Y Min-cost solutions: F =1, D =1, S = M = Y = 0 M =1, S =1, D = F = Y = 0 11/20/2018

7 Binate Covering Problem
Additional constraint 1: Malone and Stockton are together ( M  S) M  S M  S Additional constraint 2: Duncan and Stockton can’t be signed together ( D  S ) D  S 11/20/2018

8 Binate Covering Problem (cont.)
constraints covering matrix D F M S Y 1 -1 F  S D  M D  M  Y M  S D  S 11/20/2018

9 MinCostSat Problems Revisited
Covering Non-Covering Minimum-Length Plan ATPG Binate Unate Technology Mapping FSM Minimization Boolean Relations Logic Minimization Crew Scheduling Vehicle Routing Most rows have both 1’s and -1’s Covering Matrix No -1’s Most rows have no -1’s 11/20/2018

10 Solve MinCostSat as ILP
MinCostSat is a special case of 0-1 integer linear programming For each constraint in the MinCostSat instance... x1  x2  x3  x4 ...replace xi with (1 - xi): MinCostSAT can be transformed in ILP easily. We show an example here. (1 - x1) + x2 + (1 - x3) + x4  1 - x1 + x2 - x3 + x4  -1 11/20/2018

11 MinCostSat as ILP: an example
-x1 + x2 - x3 + x4  -1 -x1 - x2 - x  -2 x1 + x2 + x  1 x1 v x2 v x3 v x4 x1 v x2 v x4 x1 v x2 v x3 Assume unit cost, minimize: x1 + x2 + x3 + x4 11/20/2018

12 Branch and Bound Solvers
1. Upper/lower bound calculation (for a unate example) 2. Branching (variable assignment) 3. One iteration of the main algorithm 4. Effect of better (global) upper bounds and (local) lower bounds. 11/20/2018

13 An Example (Steiner 9) UB = 6 find “cover” to get UB LB = 3 based on
1 UB = 6 find “cover” to get UB LB = 3 based on max. ind. set (MIS) 11/20/2018

14 After assignment of a variable
st09 UB = 4 (+ 1 = 5) X1 = 0 X1 = 1 1 X9 X8 X7 X6 X5 X4 X3 X2 LB = 2 (+ 1 = 3) 11/20/2018

15 The algorithm: one iteration
2. select a variable 1. dequeue “best” node in priority queue x x=0 x=1 UB=5 LB=4 UB=6 LB=3 3. create two new nodes UB=5 LB=4 UB=5 LB=3 UB=5 LB=3 4. do reduction and compute bounds 5. enqueue both new nodes 11/20/2018

16 Lower and Upper Bounds UB= 7 6 5 x5=0 x5=1 x9=0 x9=1 legend 7/3 7/5
on queue UB/LB UB= 7 6 5 7/3 x5=0 x5=1 7/5 6/4 x9=0 x9=1 dead end 7/6 5/4 dead end 11/20/2018

17 Branch-and-bound solver: eclipse
The algorithm Initialize root; Q.enqueue(root); globalUB=UB(root) while ( Q is not empty ) { node = Q.dequeue(); if ( LB(node) < globalUB ) { select branching variable x_i for ( b = 0 to 1 ) { n_b = (node for x_i = b) do reduction and bounds for n_b if ( UB(n_b) < globalUB ) { globalUB = UB(n_b) } if ( LB(n_b) < globalUB ) { Q.enqueue( n_b) } }}} 11/20/2018

18 Eclipse Performance Factors
Seven Performance Factors Lower Bounding (ILP techniques) Upper Bounding (stochastic search) Search-Tree Exploration Strategies Branching Variable Selection Search Pruning Reductions Data Structures 11/20/2018

19 Factor 1: Lower Bounding
Four lower-bounding strategies: Maximal Independent Set (MIS) of rows (e.g., maximal matching for vertex cover) Linear Programming Relaxation (LPR) Cutting Planes (CP) All Integer Dual Simplex 11/20/2018

20 Lower Bounding: LP Relaxation
Relax integer constraints (LPR): Feasible region x2 Integer optimum = 2 (1, 1) The Gomery cuts never exclude integer feasible solutions from an ILP problem, but has the potential of eliminating optimal non-integer solution for the LP problem; therefore, increases the lower bound. In this case, (0.5, 0.5) is excluded by the Gomery cuts. (0.5, 0.5) LP cost = 1.0 x1 LP optimum is a lower bound on integer optimum 11/20/2018

21 Lower Bounding: Cutting Planes (CP)
x2 Feasible region (0.7, 1.1) The Gomery cuts never exclude integer feasible solutions from an ILP problem, but has the potential of eliminating optimal non-integer solution for the LP problem; therefore, increases the lower bound. In this case, (0.5, 0.5) is excluded by the Gomery cuts. Cut (0.5, 0.5) x1 CP cuts off fractional solution but not integer solutions 11/20/2018

22 Lower Bound Methods (rot.b)
are needed to see this picture. Graphics decompressor 90 95 100 105 110 115 QuickTimeェ and a CP LPR MIS2 MIS 1 2 3 4 OPT 5 (MIS2 is MIS with extra tricks) Most effective by far: CP 11/20/2018

23 Experimental Results The solvers Scherzo [Coudert, DAC1996]
Cplex (State of the art IP/ILP Solver) Eclipse-lpr (LP Relaxation) Eclipse-cp (Cutting Planes) The benchmarks Logic minimization (unate covering) FSM minimization (binate covering) 11/20/2018

24 Unate Results (nodes visited)
“harder” (timed out) 11/20/2018

25 Typical Results: Unate (runtime)
timeout = 1 hour 11/20/2018

26 Large binate benchmarks
We visit fewer nodes... ... but spend more time 11/20/2018

27 Hardest Binate Benchmarks
Solver -> Benchmark cplex (time) cplex (nodes) eclipse (time) eclipse (nodes) rot.b R:2984 C:1452 L:40755 12.49 70.65::52.88 308 3967::3706 time out alu4 R:1838 C:808 L:36250 e64.b R:1053 C:608 L:8200 (mean::stdev) 11/20/2018

28 All-Integer Dual Simplex
vertex cover of a triangle x2 x3 1 -1 -1 1 11/20/2018

29 example (continued) -1 1 -1 1 -2
-1 1 -2 At this point, when we divide by the pivot, we get fractions. The LP solution is x1 = ½, x2 = ½, x3 = ½ 11/20/2018

30 Maintaining an integer tableau
x3 e1 e3 ct -1 1 -2 -2 1 -1 x1 x1 e2 e2 x2 x2 ct x3 Negative of the solution is shown in green circle. 11/20/2018

31 Features of All-Integer Dual
Terminates with optimum solution (but may take a long time). Upper left tableau entry (negated) can always be used as a lower bound for (primal) solution. With clever choice of pivot row, can be encouraged to increase the LB rapidly. Can choose pivot row so that a greedy maximal independent set of rows is chosen first. 11/20/2018

32 Some Preliminary Results
32 runs, Intel® Xeon™ CPU 3.20GHz, 2MB cache, default(4096 it.,64K flips) Benchmark Runtime Nodes rot.b ( 8192 it.) 25.4::18.8 24.7::22.1 1.8::1.4 1.1::0.3 alu4 4.3::4.3 4.8::6.0 1.2::0.6 1.0::0.0 e64. b ( it.) 416.0::835.0 21.6::27.0 72.1::149.0 1.1::0.7 Large variance in number of iterations needed to match UB and in whether optimum UB is found at root Large variance in when optimal UB is first found 11/20/2018

33 Preliminary Conclusions
All-integer dual, when used in conjunction with stochastic search, is a powerful tool (even with no B&B). Different instance types need radically different solution techniques: Unate problems require more effort for upper bounds – simpler, faster, LB’s are best (e.g., ordinary LP) Binate problems – all-int dual + stoch search Non-covering – satisfiability techniques (feasibility is hard) 11/20/2018

34 Still MIA: the unate benchmark test4.pi
variables constraints literals time/cplex test4.pi 6139 1437 109318 ??? ex5 2428 831 41085 65.6 exam.pi 4676 509 25694 21.0 rot.b 1451 2932 40755 62.0 apex4.a 4316 11912 57595 9.9 11/20/2018

35 Simple Stochastic Search
Each step flips the value of one variable type of step how often details satisfy a constraint 0.95 pick a random unsatisfied constraint and flip its ‘best’ variable OR flip a random variable to decrease cost aim for lower cost 0.0499 pick ‘best’ variable to decrease cost (lowest number of clauses left unsatisfied) completely random 0.0001 pick a variable at random -- need this to get out of a rut 11/20/2018

36 Anytime Algorithms Can be terminated any time based on time budget or number of iterations Will report a feasible solution if one has been found Realistic method for judging algorithms: want to know how good a solution is available given a time budget 11/20/2018

37 Anytime Algorithms: cplex vs. umbra
11/20/2018

38 Summary and Open Problems
Need a lot of different approaches to deal with hard problems No one method wins all the time Order of presentation matters (sometimes a lot) Benchmark “profiling” Better theory (e.g., more sophisticated branching and bounding) Better knowledge of machine architecture (parallelism and pipelining, distributed computing) 11/20/2018


Download ppt "Optimal Solutions for Generalized Covering Problems"

Similar presentations


Ads by Google