SlideShare a Scribd company logo
On Solving Covering Problems
33rd DAC, June 5, 1996
Olivier Coudert
Synopsys, Inc.
Summary
Introduction
Branch-and-bound
Lower Bound Computation
Experiments & Conclusion
Binate Covering Problem
Input:
Output:
 A Boolean function f(y1, ..., yn)
 A cost function Cost on the assignment of the yk’s
 A minimum cost n-tuple satisfying f
Binate Covering Problem
f = y2y3 + (y1 y4)⊕
Cost(yk = 0) = 0
Cost(yk = 1) = 1
y1 + y3 + y4
y2 + y3 + y4
y2 + y3 + y4
y1 + y2 + y4
y3y1 y2 y4
1
1
0
1
0
0
1
1
1
0
1
0
Minimum solutions:
y1 = 1, y2 = y3 = y4 = 0
y1 = y2 = y3 = 0, y4 = 1
Binate Covering Problem
 2-level Boolean function and relation minimization
 State minimization
 DAG covering
 Exact encoding
 3-level NAND minimization
 ....
Summary
Introduction
Branch-and-bound
Lower Bound Computation
Experiments & Conclusion
Branch-and-bound Resolution
y1 y2 y3 y4
0
1
1
0
1
1
0
1
x1
x2
x3
y1
0
1
y3 y4
1
0x1
x2
y2=0
y3
1x2
y1=0
y4
0x1
y1=1
y1
x3
1
y3 y4
1
1 1
x2
y2=1
y1
x3
1
y3
1
1
x2
y4=0
y1
1
y3
1x2
y4=1
Branch-and-bound Resolution

Pruning technique
Lower bound computation
Summary
Introduction
Branch-and-bound
Lower Bound Computation
Experiments & Conclusion
Independent Set Based Lower Bound
x4x1
x5
x2
x3
y1 y2 y3 y4
x1
x2
x3
x4
x5
1 1
1
0
0
1
10
0
1
1
1
0
1
Cost(yk = 0) = 2
Cost(yk = 1) = 3
Optimum Independent Set
x1
x2
x3
x4
x5
x6
1
1
1 1 1 1
1
1
1
1
1
1
1 1 1
1
1
1
1
1
1 1
1
1
1
1
1
1
1 1
x1
x2
x3
x4
x5
x6
Solution is n/2, while the lower bound is only 1
Optimum Ind. Set Based Lower Bound
The optimum independent set based lower bound
is NP-complete
… and can be arbitrary far from
the minimum covering solution

Greedy Independent Set
Select the minimum degree vertex
Greedy Independent Set
2n+1 vertices
1
n n
Independent set
(n)
(n+1)
(2n-1)
Greedy: 2
Maximum: n
Greedy Ind. Set Based Lower Bound
The greedy independent set based lower bound
can be arbitrary far from
the optimum independent set based lower bound

..., which itself
can be arbitrary far from
the minimum covering solution

1
x7 1 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
x1
x2
x3
x4
x5
x6
1
1
1
1
1
1
1
11
x7 1 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
x1
x2
x3
x4
x5
x6
1
1
1
1
1
1
1
1
Greedy
Log-approximation of Covering
Optimal≤ log(|X|) ∗≥Optimal
Greedy
log(|X|)
Which Lower Bound is Better?
Greedy Independent set based
Greedy solution based
arbitrary far from the optimal solution
within log(|X|) of the optimal solution
can take advantage of limit lower bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
Limit Lower Bound
further prune
Limit Lower Bound
Takes advantage of an independent set based lower bound
to the search spacefurther prune
Can reduce the search space
by 1000


Which Lower Bound is Better?
Greedy Independent set based
Greedy solution based
arbitrary far from the optimal solution
within log(|X|) of the optimal solution
can take advantage of limit lower bound
Summary
Introduction
Branch-and-bound
Lower Bound Computation
Experiments & Conclusion
1
10
100
1000
10000
100000
1000000
Standart
Scherzo
CPU improvement from x10 to x1000

More Related Content

PDF
Operations research 1_the_two-phase_simp
PPT
Graphical Method
PDF
2. lp iterative methods
PPTX
Two Phase Method- Linear Programming
PDF
Section4 stochastic
PDF
Graphical Method Of LPP
PPT
Artificial variable technique big m method (1)
Operations research 1_the_two-phase_simp
Graphical Method
2. lp iterative methods
Two Phase Method- Linear Programming
Section4 stochastic
Graphical Method Of LPP
Artificial variable technique big m method (1)

What's hot (19)

PPT
Constrained Maximization
PPTX
LINEAR PROGRAMMING
PDF
Math powerpoint- Polynomial equations and graph of polynomial functions
PDF
Jejemon
PDF
2.3 Operations that preserve convexity & 2.4 Generalized inequalities
DOC
Dual simplexmethod
PDF
5.4 Saddle-point interpretation, 5.5 Optimality conditions, 5.6 Perturbation ...
PPT
Simplex two phase
PDF
Linear programming using the simplex method
PPTX
5. advance topics in lp
PDF
Two phase method lpp
PPT
Simplex Method
PPTX
Rabbit challenge 3 DNN Day1
PDF
23 industrial engineering
PPSX
Bounded variables new
PPT
4.1 implicit differentiation
PDF
Ece3075 a 8
DOCX
Simplex method - Maximisation Case
PDF
How good are interior point methods? Klee–Minty cubes tighten iteration-compl...
Constrained Maximization
LINEAR PROGRAMMING
Math powerpoint- Polynomial equations and graph of polynomial functions
Jejemon
2.3 Operations that preserve convexity & 2.4 Generalized inequalities
Dual simplexmethod
5.4 Saddle-point interpretation, 5.5 Optimality conditions, 5.6 Perturbation ...
Simplex two phase
Linear programming using the simplex method
5. advance topics in lp
Two phase method lpp
Simplex Method
Rabbit challenge 3 DNN Day1
23 industrial engineering
Bounded variables new
4.1 implicit differentiation
Ece3075 a 8
Simplex method - Maximisation Case
How good are interior point methods? Klee–Minty cubes tighten iteration-compl...
Ad

Similar to On Solving Covering Problems (20)

PPT
Giáo trình Phân tích và thiết kế giải thuật - CHAP 8
PPTX
Overview of techniques for solving integer programs
PPTX
Dynamic programming, Branch and bound algorithm & Greedy algorithms
PDF
Integer programming branch and bound
PPT
BranchandBoundAlgorithms[1].ppt
PDF
Review
PPT
Chap8 new
PDF
A Parallel Depth First Search Branch And Bound Algorithm For The Quadratic As...
PDF
A Branch And Bound Algorithm For The Generalized Assignment Problem
PPT
fdocuments.in_branch-and-bound-design-and-analysis-of-alogorithm.ppt
PPTX
Integer Linear Programming
PPT
Unit-2 Branch & Bound Design of Algorithms.ppt
PPT
Greedy algorithm
PPT
branch bb.ppt
PPT
Branch & bound
PPT
design and analysis of algorithms lecture 43
PDF
28 Dealing with the NP Poblems: Exponential Search and Approximation Algorithms
Giáo trình Phân tích và thiết kế giải thuật - CHAP 8
Overview of techniques for solving integer programs
Dynamic programming, Branch and bound algorithm & Greedy algorithms
Integer programming branch and bound
BranchandBoundAlgorithms[1].ppt
Review
Chap8 new
A Parallel Depth First Search Branch And Bound Algorithm For The Quadratic As...
A Branch And Bound Algorithm For The Generalized Assignment Problem
fdocuments.in_branch-and-bound-design-and-analysis-of-alogorithm.ppt
Integer Linear Programming
Unit-2 Branch & Bound Design of Algorithms.ppt
Greedy algorithm
branch bb.ppt
Branch & bound
design and analysis of algorithms lecture 43
28 Dealing with the NP Poblems: Exponential Search and Approximation Algorithms
Ad

More from Olivier Coudert (6)

PPT
Exact coloring of real-life graphs is easy
PPT
A Performance Study of BDD-Based Model Checking
PPT
Timing and Design Closure in Physical Design Flows
PPT
An Efficient Algorithm to Verify Generalized False Paths
PDF
Model checking in the cloud
PDF
Chip design and cloud computing
Exact coloring of real-life graphs is easy
A Performance Study of BDD-Based Model Checking
Timing and Design Closure in Physical Design Flows
An Efficient Algorithm to Verify Generalized False Paths
Model checking in the cloud
Chip design and cloud computing

Recently uploaded (20)

PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
top salesforce developer skills in 2025.pdf
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Nekopoi APK 2025 free lastest update
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
assetexplorer- product-overview - presentation
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Introduction to Artificial Intelligence
PPTX
ai tools demonstartion for schools and inter college
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Navsoft: AI-Powered Business Solutions & Custom Software Development
How to Choose the Right IT Partner for Your Business in Malaysia
PTS Company Brochure 2025 (1).pdf.......
Operating system designcfffgfgggggggvggggggggg
top salesforce developer skills in 2025.pdf
Odoo Companies in India – Driving Business Transformation.pdf
Nekopoi APK 2025 free lastest update
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
assetexplorer- product-overview - presentation
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Reimagine Home Health with the Power of Agentic AI​
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
Introduction to Artificial Intelligence
ai tools demonstartion for schools and inter college
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
CHAPTER 2 - PM Management and IT Context
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises

On Solving Covering Problems

Editor's Notes

  • #3: - What’s the problem? Why is it useful? - An approach: Branch-and-bound resolution - Depend on the quality of a lower bound
  • #5: - A function - A cost function - Decompose the function as a product of sum - Put in regards the variables of the function - Build the covering matrix - Solve the covering matrix
  • #6: - Exact method are important to evaluate the performances of polynomial heuristics algorithms
  • #8: - Choose a branching column y - Assume that y=0 or y=1, and consequently simplify the matrix - Exponential search space
  • #9: - Prevent from exploring unsuccessful branches that do not yield a better solution - Relies on lower bound computation
  • #11: - From the matrix, one build a graph such that two rows are connected by an edge iff there is an assignment of a variable that covers both of these rows. - An independent set of this graph produces a lower bound of the optimal solution
  • #12: -How far the optimum independent set based lower bound can be from the cost of the optimal solution? - Well, as far as one wants… - If the rows are connected to all (clique) or most (dense graph) of the other, the independent set is small, and thus the lower bound is of poor quality.
  • #13: - Not only the maximum independent set is NP-complete, but the lower bound it produces can be arbitrary far from the optimal solution.
  • #14: - Need a polynomial independent set algorithm - Greedy: select a node according to some criterion, put it in the independent set, remove all edges and nodes connected to the chosen node, and iterate. - Simple criterion: take the node of minimal degree - Here, it yields the optimal independent set - But in general, what can we expect from such a greedy algorithm?
  • #15: - Here, the greedy produces an independent set that is arbitrary far from the maximum independent set - One can change the criterion selection, but likely, if the criterion is polynomial, one can build a counter expample that still produces an arbitrary large gap between the greedy and the maximum independet sets.
  • #16: - General status of the Greedy independent set based lower bound: there are 2 arbitrary large gap between the computed lower bound and the cost of the optimal solution.
  • #17: - Consider a unate covering matrix (I.e., a set covering problem) - It is log-approximable by a greedy algorithm - Indeed, the log-ratio is the best possible one (except if P = NP) - Only the multiplicative constant may be improved - The upper bound on the solution yields a lower bound as well…. -…and this lower bound is no further than log(|X|) from the cost of the optimal solution.
  • #18: - So the greedy solution based lower bound looks much better than the (greedy or maximum) independent set lower bound. - But the independent set lower bound can take advantage of the limit lower bound to further prune the search.
  • #19: - This set covering problem has several optimum solution of cost 6.
  • #20: - This set covering problem has several optimum solution of cost 6.
  • #21: - This set covering problem has several optimum solution of cost 6.
  • #22: - This set covering problem has several optimum solution of cost 6.
  • #23: - Let’s build an independent set. It consists in selecting an element, putting it in the independent set, and deleting the sets covering this element as well as the elements covered by these sets. - At the end, we got an independent set of cost 5. - Assuming that we already found a solution 6 (which is optimal), it’s impossible to prune the recursion since the lower bound is only 5.
  • #24: - Let’s build an independent set. It consists in selecting an element, putting it in the independent set, and deleting the sets covering this element as well as the elements covered by these sets. - At the end, we got an independent set of cost 5. - Assuming that we already found a solution 6 (which is optimal), it’s impossible to prune the recursion since the lower bound is only 5.
  • #25: - Let’s build an independent set. It consists in selecting an element, putting it in the independent set, and deleting the sets covering this element as well as the elements covered by these sets. - At the end, we got an independent set of cost 5. - Assuming that we already found a solution 6 (which is optimal), it’s impossible to prune the recursion since the lower bound is only 5.
  • #26: - Let’s build an independent set. It consists in selecting an element, putting it in the independent set, and deleting the sets covering this element as well as the elements covered by these sets. - At the end, we got an independent set of cost 5. - Assuming that we already found a solution 6 (which is optimal), it’s impossible to prune the recursion since the lower bound is only 5.
  • #27: - Let’s build an independent set. It consists in selecting an element, putting it in the independent set, and deleting the sets covering this element as well as the elements covered by these sets. - At the end, we got an independent set of cost 5. - Assuming that we already found a solution 6 (which is optimal), it’s impossible to prune the recursion since the lower bound is only 5.
  • #28: - Let’s build an independent set. It consists in selecting an element, putting it in the independent set, and deleting the sets covering this element as well as the elements covered by these sets. - At the end, we got an independent set of cost 5. - Assuming that we already found a solution 6 (which is optimal), it’s impossible to prune the recursion since the lower bound is only 5.
  • #29: - But the sets that do not contain any elements selected for the independent set cannot be used to build a better solution. So we can delete them...
  • #30: -And if we do so, we create essential sets, I.e., sets that must be taken as belonging to the minimum solution since they are the only one to cover some elements. - Consequenly simplifying the matrix yield a unique solution, whose cost is 6 - So it is impossible to improve upon the solution, and the search is complete
  • #31: - Thus the limit lower bound uses an independent set based lower bound that is close enough to the current best solution to further prune the search spaceee - Indeed, in examples coming from logic minimizatiuon, the reduction of the search space range from 50 to 1000.
  • #32: - Thus the independent set based lower bound is, from the practical point of view, more effective than the theoritically better greedy solution based lower bound. - But for high density covering matrix (e.g., some examples coming from operating research), the second can be more effective than the first one.