Computational Complexity: Definition of Mixed-Integer Programming
Computational Complexity: Definition of Mixed-Integer Programming
Here,
p and n are non-negative integers such that p+n ≥ 1
c , h , A , G , b are matrices with integral coefficients (More convenient than rational coefficients)
Size of Problem:
The amount of information required to describe the instance in a standard representation
δ i ϵ { 0,1 } ∀ i=1 , … ,n
n
x=∑ δ i 2i
i=0
q i= 1 if q i ∈ Q
{
0 otherwise
Graphs can be represented by-
o Node-incidence matrix
A graph with m nodes and n edges can be represented by a m x n matrix
o Adjacency matrix
o A list of its elements
Size of an instance of optimization problem is traditionally defined by the number of variables
and constraints
o Not always adequate
o Some algorithms’ number of steps depends explicitly on the magnitude of the numerical
data
An algorithm in integer knapsack problem’s number of computations is
proportional to number of variables times the right hand side of the constraint
In Ellipsoid method, the number of computation depends on the magnitude of
numerical data
o Size of numbers involved in elementary calculations (e.g: addition and multiplication)
may also be of concern
It is frequently assumed that these operations are done in constant or unit time
Not reasonable for huge integers
Alphabet used to represent data must contain at least two symbols
Let A be an algorithm that can solve each instance of X in finite time g A (d i). Then the running time
associated with all instances of size k is given by-
f A ( k )=max { g A ( di ) :l ( d i )=k }
f is said to be exponential if for some constants c 1 , c2 >0 and d 1 , d 2>1 and a positive integer k’,
we have-
c 1 d k1 ≤ f (k )≤ c 2 d k2
Decision/Feasibility Problem:
A feasibility or decision problem X is a pair (D, F) with F ⊆ D, where
D is the set of instances of X
F is the set of feasible instances
For example: Associated with an optimization problem, we define a feasibility problem in which
an instance corresponds to a description of a constraint set. F is the set of instances for which
the constraint set is nonempty.
Let us consider the optimization problem max {cx : x ∈ S }. An instance of this consists of {c, and
a standard representation of S}
Here, D=S and F should be a value greater than the value of cx for the previous instance. We
can consider that value as k.
Its corresponding decision problem can be:
Isthere any x ∈ S with value cx ≥k
Here, an instance consists of {c, a standard representation of S, and an integer k}
NP:
It is the class of decision problems with the property that for any instance for which the answer
is Yes, there is a short (polynomial) proof of Yes.
NP-Complete Problem:
The subset of problems P ∈ NP such that for all Q∈ NP , Q is polynomially reducible to P.
If we have a NP-Complete problem, we may be able to find others by polynomial reduction
If x 1 ∈ NPC , and x 1 is polynomially reducible to x 2 ∈ NP , then x 2 ∈ NPC
Certificate of Feasibility:
Information that can be used to check feasibility in polynomial time is called a certificate of feasibility
Given X =(D , F), for each instance d ∈ F we let Q d denote such a certificate
Qd must be short
Non-deterministic Algorithm:
Satisfiability Problem:
Let a finite set N={1,2,……,n}
Also let us assume m pairs of subsets of N be denote by-
C i=¿
Cook’s Theorem:
The satisfiability problem is NP-complete.
Examples of NP-Complete Problems:
Satisfiability Problem
0-1 Integer Program Feasibility Problem
Node Packing Problem
Set-partitioning Problem
Node Packing:
A node packing on a graph G = (V, E) is a subset U ⊆ V of the vertices so that no two vertices in U are
adjacent.
{x ∈ Bn : xi + x j ≤ 1 for all(i, j )∈ E }
Here,
n=¿ V ∨¿
Given a 0-1 matrix Am x n, does there exist a x ∈ { 0,1 }n such that Ax=1?
Clique:
A clique in a graph G= (V , E ) is a subset C ⊆ V with the property that every pair of nodes in C is
joined by an edge
A node packing can contain no more than one node from each clique
NP-hard Problem:
An optimization problem whose decision/feasibility version is NP-complete is known as NP-hard
A problem is called NP-hard if there is a NP-complete problem that can be polynomially reduced
to it
An NP-hard problem is at least as difficult as any NP-complete problem
For example: Finding the maximum cardinality node packing in a graph is NP-hard
¿
that is violated by x
Given a family of full-dimensional polyhedral, there is a polynomial time algorithm for the
separation algorithm, if and only if there is a polynomial time algorithm for the linear
programming problem
Separation Problem:
Is x ∈ conv (S)? If not, find an equally satisfied by all points of S, but cutting off x
Given a family of polyhedral associated with a class of problems, the family of optimization
problems max { cx : x ∈ conv ( s ) } is polynomially solvable if and only if the family of separation
problems is polynomially solvable
If separation problem can be solved in polynomial time, it can be used as a subroutine in the
ellipsoid method to solve the optimization problem in polynomial time
o In each iteration of ellipsoid algorithm, we need to check whether the current point is
feasible
o If it is not feasible, then the current ellipsoid is cut to half using a hyperplane that
separates the current solution from the polyhedron
o At each iteration, the separation oracle can be used to generate such a cutting
hyperplane in polynomial time
Ellipsoid Algorithm: