Warning: foreach() argument must be of type array|object, bool given in /var/www/html/web/app/themes/studypress-core-theme/template-parts/header/mobile-offcanvas.php on line 20

Devise a branch-and-bound algorithm for the SET COVER problem. This entails deciding:

(a) What is a subproblem?

(b) How do you choose a subproblem to expand?

(c) How do you expand a subproblem?

(d) What is an appropriate lowerbound

Do you think that your choices above will work well on typical instances of the problem? Why?

Short Answer

Expert verified

(a) A subproblem of set problem is given below.

(b) A choosing of subproblem to expand given below.

(c) A subproblem to expand is given below.

(d) An appropriate lowerbound is proved below.

Step by step solution

01

Step 1: Branch-and-bound algorithm for the SET COVER problem.

The idea of the branch and bound algorithm is simple. It finds the bounds of the cost function fgiven certain subsets ofX .

How do we arrive at these subsets exactly? An example would be if certain members of our solution vector Xare integers, and we know that these members are bounded between 0and2for example.

By this we can get the solution ofBranch-and-bound algorithm for the SET COVER problem easily.

The branch and bound algorithm is similar to backtracking but is used for optimization problems.

It performs a graph transversal on the space-state tree, but general searches Breadth first search instead of Depth first search.

During the search bounds for the objective function on the partial solution are determined.

02

Define subproblem.

a).

SET COVER problem.

This county is in its early stages of planning and is deciding where to put schools. There are only two constraints: each school should be in a town, and no one should have to travel more than thirty miles to reach one of them. What is the minimum number of schools needed? This is a typical set cover problem. For each town x, let Sxbe the set of towns within thirty miles of it. A school at x will essentially โ€œcoverโ€ these other towns. The question is then, how many sets Sxmust be picked in order to cover all the towns in the county.

03

Step 3: Choose a subproblem to expand.

b).

This sounds trivial enough, but it is a very useful and common way of establishing that a problem is NP-complete:

Simply notice that it is a generalization of a known NP-complete problem. For example, the SET COVER problem is NP-complete because it is a generalization of VERTEX COVER (and also, incidentally, of three-D MATCHING) for more examples. Often it takes a little work to establish that one problem is a special case of another. The reduction from ZOE to ILP is a case in point. In ILP we are looking for an integer vector x that satisfiesAxโ‰คb, for given matrix Aand vector b.

To write an instance of ZOE in this precise form, we need to rewrite each equation of the ZOE instance as two inequalities, and to add for each variable xithe inequalitiesxiโ‰ค1and-xiโ‰ค0.

04

Step 4: Expand a subproblem.

c).

SET COVER

Input: Aset of elementsB;

Sets,

S1,...,SmโŠ†B

Output: Aselection of the Si whose union is B.

Cost: Number of sets picked. (In our example, the elements ofBare the towns.)

This problem lends itself immediately to a greedy solution:

Repeat until all elements of b, e, and i. are covered: Pick the set with the largest number of uncovered element.

This is extremely natural and intuitive.

Letโ€™s see what it would do on our earlier example:

It would first place a school at town a, since this covers the largest number of other towns. Thereafter, it would choose three more school and either for a total of four. However, there exists a solution with just three schools, atxiโ‰ค1and-xiโ‰ค0.

The greedy scheme is not optimal! But luckily, it isnโ€™t too far from optimal.

05

Define lowerbound.        

d) .

An upper bound is a value larger than or equal to the largest value in a set.A lower bound is a value smaller than or equal to the smallest value in a set. Bounds can be used to express some certainty about uncertain events... Branch and Bound

Start with some problem P0

Let S={P0},the set of active subproblems,

bestsofar=โˆžRepeatwhileSisnonempty:chooseasubproblem(partialsolution)PโˆˆSandremoveitfromSexpanditintosmallersubproblemsP1,P2,...,Pk

ForeachPi:IfPiisacompletesolution:updatebestsofarelseiflowerbound(Pi)<bestsofar:addPitoSreturnbestsofar

And thelowerbound(Pi)<bestโ€Šโ€Šโ€Šsoโ€Šโ€Šfarin set problem is always less than.bestโ€Šโ€Šโ€Šsoโ€Šโ€Šโ€Šfar

Unlock Step-by-Step Solutions & Ace Your Exams!

  • Full Textbook Solutions

    Get detailed explanations and key concepts

  • Unlimited Al creation

    Al flashcards, explanations, exams and more...

  • Ads-free access

    To over 500 millions flashcards

  • Money-back guarantee

    We refund you if you fail your exam.

Over 30 million students worldwide already upgrade their learning with Vaia!

One App. One Place for Learning.

All the tools & learning materials you need for study success - in one app.

Get started for free

Most popular questions from this chapter

In the MULTIWAY CUT problem, the input is an undirected graphG=(V,E) and a set of terminal nodess1,s2,...,skโˆˆV. The goal is to find the minimum set of edges in whose removal leaves all terminals in different components.

(a) Show that this problem can be solved exactly in polynomial time when k=2.

(b) Give an approximation algorithm with ratio at most2 for the case k=3.

(c) Design a local search algorithm for multiway cut.

In the backtracking algorithm for SAT, suppose that we always choose a subproblem (CNF formula) that has a clause that is as small as possible; and we expand it along a variable that appears in this small clause. Show that this is a polynomial-time algorithm in the special case in which the input formula has only clauses with two literals (that is, it is an instance of 2SAT).

In the MAXIMUM CUT problem we are given an undirected graphG=(V,E) with a weightw(e) on each edge, and we wish to separate the vertices into two sets S and V โˆ’ S so that the total weight of the edges between the two sets is as large as possible. For eachSโŠ†V definew(S) to be the sum of allwe over all edges{u,v} such that |Sโˆฉu,v|=1. Obviously, MAX CUT is about maximizing w(S) over all subsets of .

Consider the following local search algorithm for MAX CUT:

start with anySโŠ†V

while there is a subsetS'โŠ†V such that

||S 0 | โˆ’ |S|| = 1 andw(S')>w(S) do:

set S=S'

  1. Show that this is an approximation algorithm for MAX CUT with ratio2.

(b) But is it a polynomial-time algorithm?

Given an undirected graphG=(V,E) in which each node hasdegreeโ‰คd , show how to efficiently find an independent set whose size is at least1d+1times that of the largest independent set.

In the MINIMUM STEINER TREE problem, the input consists of: a complete graph G=(V,E)with distances duvbetween all pairs of nodes; and a distinguished set of terminal nodesV'โŠ†V.The goal is to find a minimum-cost tree that includes the vertices V'. This tree may or may not include nodes in V-V'

Suppose the distances in the input are a metric (recall the definition on page 292). Show that an efficient ratio-2approximation algorithm for MINIMUM STEINER TREE can be obtained by ignoring the nonterminal nodes and simply returning the minimum spanning tree onV'. (Hint: Recall our approximation algorithm for the TSP.)

See all solutions

Recommended explanations on Computer Science Textbooks

View all explanations

What do you think about this solution?

We value your feedback to improve our textbook solutions.

Study anywhere. Anytime. Across all devices.

Sign-up for free