Question

In: Computer Science

Show Integer Programming is NP-complete.

Show Integer Programming is NP-complete.

Solutions

Expert Solution

Integer linear programming (ILP) is like linear programming, with the
additional constraint that all variables must take on integral values.
The decision version of integer programming asks whether or not there
exists a point satisfying all the constraints (for the decision
version there is no objective function).

Claim: ILP is NP-complete.

Proof:

(1) ILP is in NP.

(2) We can reduce 3SAT to ILP:

Let the variables in the 3SAT formula be x_1, x_2, ..., x_n.  We will
have corresponding variables z_1, z_2, ..., z_n in our integer linear
program.  First, restrict each variable to be 0 or 1:

0 <= z_i <= 1       for all i

Assigning z_i=1 in the integer program represents setting x_i=true in
the formula, and assigning z_i=0 represents setting x_i=false.

For each clause like (x_1 OR not(x_2) OR x_3), have a constraint like:

z_1 + (1-z_2) + z_3 > 0.

To satisfy this inequality we must either set z_1=1 or z_2=0 or z_3=1,
which means we either set x_1=true or x_2=false or x_3=true in the
corresponding truth assignment.

Related Solutions

What is NP? What is P? What is NP-complete? What is NP- hard?
What is NP? What is P? What is NP-complete? What is NP- hard? Give brief definitions. Give an example of an NP- complete problem. Is P equal to NP?
What is P-Problem? What is NP-Problem? What is NP-Complete problem?
What is P-Problem? What is NP-Problem? What is NP-Complete problem?
Solve the following linear integer programming model using the Cutting Plane method. Show all relevant work...
Solve the following linear integer programming model using the Cutting Plane method. Show all relevant work in your solution report. Maximize Z = x1 + x2 Subject to 3x1 + 2x2 < 5 x2 < 2 x1, x2 > 0 and integer.
Show that an integer is divisible by 17 if and only if the integer formed by...
Show that an integer is divisible by 17 if and only if the integer formed by subtracting 5 times the last digit from the integer formed from the remaining digits is divisible by 17. [For example 442 is divisible by 17 since 44 – 5*2 = 34 is divisible by 17] course: discrete structure
Show that if G is a group of order np where p is prime and 1...
Show that if G is a group of order np where p is prime and 1 < n < p, then G is not simple. (Please do not use Sylow theorem)
In BUSINESS, why binary integer programming (BIP) is useful? Thanks!
In BUSINESS, why binary integer programming (BIP) is useful? Thanks!
Show that the following problem is NP-hard. Input: A boolean function in CNF such that every...
Show that the following problem is NP-hard. Input: A boolean function in CNF such that every clause has at most three literals and every variable appears in at most three clauses. Output: An assignment that evaluates the given function TRUE.
Show that if P=NP then there is a polynomial-time algorithm for the following search problem: given...
Show that if P=NP then there is a polynomial-time algorithm for the following search problem: given a graph, find its largest clique.
Prove that the partition problem is NP-complete by giving a polynomial time reduction of the subset-sum...
Prove that the partition problem is NP-complete by giving a polynomial time reduction of the subset-sum problem to the partition problem.
Java Programming Create a program that prompts the user for an integer number and searches for...
Java Programming Create a program that prompts the user for an integer number and searches for it within an array of 10 elements. What is the average number of comparisons required to find an element in the array? Your program should print the number of comparisons required to find the number or determine that the number does not exist. Try finding the first and last numbers stored in the array. Run your program several times before computing the average.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT