Chapter 8. Aggregation of Inequalities in Integer Programming
Tải bản đầy đủ  0trang
V. Chvatal, P.L. Hammer
146
f : {0,11"
+
{0,11
is called a switchingfunction. If there are real numbers a t ,az,. . ., a, and b such that
f(xl, xz, . . ., x,)
=0 C
C ajxj
j=l
b,
then f is called a threshold function. If there are (not necessarily distinct) zeroone
vectors yl, yz,. . ., y k and Z i , Z z , . . ., Z k Such that
f(yi) = 0,
f ( z i )= 1,
for all i
=
1,2,. . ., k,
then, for each integer rn with rn 5 k, the function f is called rnsurnmable. If f is
not rnsummable then f is called massumable. It is wellknown [3, 81 that a
switching function is threshold of and only if it is massumable for every rn. (The
proof is quite easy: denote by S, the set of all the zeroone vectors x with f(x) = i.
By definition, f is threshold if and only if there is a hyperplane separating So from
S , . Such a hyperplane exists if and only if the convex hulls of Soand S , are disjoint.
Clearly, these convex hulls are disjoint if and only i f f is rn assumable for every rn.)
Coming back to our problem, we may associate with (1.3) a switching function f
defined by
f(x1, xZ, . . ., x.) = 0 C (1.3) holds.
Then the desired inequality (1.4) exists if and only i f f is rnassumable for every rn.
However, such an answer t o our question is unsatisfactory on several counts.
Above all, it does not provide an efficient algorithm for deciding whether (1.4)
exists. We shall develop such an algorithm in the special case when all the
coefficients a,, and b, in (1.3) are zeroes and ones.
An rn x n zeroone matrix A = (a,)will be called threshold if, and only if, there
is a single linear inequality
j=l
whose zeroone solutions are precisely the zeroone solutions of the system
Note that the zeroone solutions of (1.5) are completely determined by the set of
those pairs of columns of A which have a positive dot product. This information is
conveniently described by means of a graph; in order to make our paper
selfcontained, we shall now present a few elementary definitions from graph
theory .
A graph G is an ordered pair (V, E ) such that V is a finite set and E is some set
of twoelement subsets of V. The elements of V are called the vertices of G, the
Aggregation of inequalities in integer programming
147
elements of E are called the edges of G. Two vertices u, u E V are called adjacent
if {u , v } E E and nonadjacent otherwise. For simplicity, we shall denote each edge
{ u , v } by uv. A subset S of V is called stable in G if n o two vertices from S are
adjacent in G.
With each m x n zeroone matrix A , we shall associate its intersection graph
G ( A) defined as follows. The vertices of G ( A) are in a onetoone correspondence
with the columns of A ; two such vertices are adjacent if and only if the
corresponding columns have a positive dot product. The motivation for introducing
the concept is obvious: the zeroone solutions of (1.5) are precisely the characteristic vectors of stable sets in G ( A ) .We shall call a graph G with vertices u l , uz, . . ., u,
threshold if there are real numbers al, a z , .. ., a, and b such that the zeroone
solutions of
2
ujxj zs
b
j=1
are precisely the characteristic vectors of stable sets in G. Clearly, G ( A ) is
threshold if and only if A is threshold; let us also note that G ( A )can be constructed
from A in O ( m n 2 )steps. Thus the question “Is A threshold?” reduces into the
question “Is G ( A ) threshold?”.
2. The main result
In this section, we develop an algorithm for deciding, within O(n2)steps, whether
a graph G on n vertices is threshold. W e shall begin by showing that certain small
graphs are not threshold. These graphs are called 2Kz, P4and C4;they are shown in
Fig. 1.
L4
FIG.1
V. Chvatal. P.L. Hammer
148
Fact 1.
If G is 2K2, P, or C,, then G is not threshold.
Proof. Assume that one of the above graphs G is threshold. Then there is a linear
inequality
a l x l+ a2x2+ a,x, + a4x4s b
whose zeroone solutions are precisely the characteristic vectors of stable sets in G.
In particular, we have
al+a4>b,
az+as>b,
al+a,sb,
a2+a4cb;
clearly, these four inequalities are inconsistent. 0
In order to make our next observation about threshold graphs, we need the
notion of an “induced subgraph”. Let G = (V, E ) be.a graph and let S be a subset
of V. The subgraph of G induced by S is the graph H whose set of vertices is S ; two
such vertices are adjacent in H if and only if they are adjacent in G.
Fact 2. If G is a threshold graph, then every induced subgraph of G is threshold.
Proof. Let the zeroone solutions of
2
ajxj s b
,=I
be precisely the characteristic vectors of stable sets in G. Let H be a subgraph of G
induced by S. Denote by
the summation over all the subscripts j with u, E S.
Then the zeroone solutions of
c*
are precisely the characteristic vectors of stable sets in H. 0
Now, we have an easy way of showing that certain graphs are not threshold
(simply by pointing out an induced subgraph isomorphic to 2K2, P4or C,). On the
other hand, we are about to develop a way of showing that certain graphs are
threshold. Let G be a graph with vertices u I , u 2 , .. ., u,. G will be called strongly
threshold if there are positive integers a l ,a 2 , .. ., a, and b such that the zeroone
solutions of
2 ajxjs b
,=I
are precisely the characteristic vectors of stable sets in G. (It will turn o u t later, and
may be proved directly, that every threshold graph is strongly threshold.) W e shall
show that the property of being strongly threshold is preserved under two simple
By G + K l , we shall
operations. Let G be a graph with vertices uI,uZ,...,un.
denote the graph obtained from G by adding a new vertex u,,+~and all the edges
149
Aggregation of inequalities in integer programming
U,U,+~with 1 s i s n. G U K I ,we shall denote the graph obtained from G by adding
a new vertex u n i land no edges at all.
Fact 3. If G is strongly threshold then G + K , and G U K , are strongly threshold.
Proof. Let a,, a 2 , .. ., a, and b be positive integers such that the zeroone solutions
of
2
a,x, s b
,=I
are precisely the characteristic vectors of stable sets in G. Then the zeroone
solutions of
2 a+, + bx,,,
sb
j=1
are precisely the characteristic vectors of stable sets in G
zeroone solutions of
+ K , . Similarly,
the
are precisely the characteristic vectors of stable sets in G U K , . 0
Now, we are ready for the theorem.
Theorem 1. For every graph G, the following three conditions are equivalent:
(i) G is threshold,
(ii) G has no induced subgraph isomorphic to 2K2, P4 or C4,
(iii) there is a n ordering v , , vz, .. ., v, of the vertices of G and a partition of
{ v z , v 3 , .. ., v n } into disjoint subsets P and Q such that
every v, E P is adjacent to all the vertices ui with i < j ,
every v, E Q is adjacent to none of the vertices vi with i < j .
+
Proof. The implication (i)
(ii) follows from Fact 1 and Fact 2. T h e implica(i) may be deduced from Fact 3. Indeed, let G, denote the subgraph
tion (iii)
of G induced by {v,,v z , . . ., v, }. If a+,E P, then G,,, = G, + K , ; if u , + E
~ Q, then
G,+I= G, U K1. Hence, by induction on t, every G, is strongly threshold.
(iii). We shall accomplish this by means of
It remains to be proved that (ii)
an algorithm which finds, for every graph G, either one of the three forbidden
induced subgraphs o r the ordering and partition described in (iii). If G has n
vertices then the algorithm takes O ( n 2 )steps.
Before the description of the algorithm, a few preliminary remarks may be in
order. It will be convenient to introduce the notion of the degree d G ( u )of a vertex u
in a graph G ; this quantity is simply the number of vertices of G which are adjacent
to u . A t each stage of the algorithm, we shall deal with some sequence S of k
=+
=+
V. Chvatal, P.L. Hammer
150
vertices of G ; the remaining vertices will already be enumerated as u k + l , V k + z , . . ., u,
and partitioned into sets P and Q. Furthermore, each w E S will be adjacent to all
the vertices from P and to n o vertices from Q ; hence it will be adjacent to exactly
dG( w ) 1 P 1 vertices from S .
Step 0. For each vertex w of G, evaluate d G ( w ) ,(This may take as many as O ( n 2 )
steps.) Then arrange the vertices of G into a sequence w l , w 2 , .. ., w, such that
dG(w,)2 dG(wz)2 * . . adG(w,);
call this sequence S. (This can be done in O ( n log n ) steps; the rest of the algorithm
takes only O ( n ) steps.) Set k = n and P = Q = 0.
Step 1. If k = 1, then S has only one term; call that vertex u l , and stop. If k > 1
then let u be the first term of S and let u be the last term of S ; note that
1 PI + k
I
 1 2 dG(U) 3 & ( w ) 3 dG(U)2 P
I
forevery w E S . H d G ( u ) = J P I + k  1 , g o t o S t e p 2 . 1 fd G ( u ) = J P I , g o t o S t e p 3 . 1 f
I P ( < d , ( v ) ~ d , ( u ) < ( P ( + k  l go
, to Step 4.
Step 2. Set uk = u, delete u from S, replace P by P U { u k } , replace k by k  1 and
return to Step 1.
Step 3. Let uk = u, delete u from S, replace Q by Q U {&}, replace k by k  1
and return to Step 1.
Step 4. Let ul = u. Find a vertex u3E S which is not adjacent to u l . Find a vertex
u z E S which is adjacent t o u3. Find a vertex u4E S which is adjacent to u1 but not
to u2. Then stop (the vertices ul, u2,u3,u4 induce 2Kz o r P4 o r C , in G ) . 0
Remark. In Step 4, we take the existence of u, for granted. However, the
existence of such a vertex follows at once from the fact that d G ( u 1 ) 3dG(u2)and
from the fact that u3 is adjacent to u z but not to u l .
In the rest of this section, we shall present several consequences of Theorem 1.
Remark 1. For every graph G = ( V ,E ) , we may define a binary relation < on V
by writing u < u if and only if
uwEE,w#u
++
wuEE.
By this definition, < is reflexive and transitive but not necessarily antisymmetric.
From Theorem 1, we conclude the following.
Corollary 1A. A graph G is threshold i f and only if for every two distinct vertices
u, u of G, at least one of u < u and u < u holds.
Remark 2.
For every graph G = (V,E ) and for every vertex u of G, we define
N ( u ) = { u E V : u is adjacent to u } .
Aggregation of inequalities in integer programming
151
From Theorem 1, we conclude the following.
Corollary 1B. A graph G = (V, E ) is threshold if and only if there is a partition of
V into disjoint sets A , B and an ordering u l , uz,. . ., Uk of A such that
no two vertices in A are adjacent,
every two vertices in B are adjacent,
N ( u J N ( U 2 ) .. * c N u , ) .
c
c
Let us sketch the proof. If G has the structure described by Corollary IB then G
cannot possibly have an induced subgraph isomorphic to 2Kz, P4 or C,; hence G is
threshold. On the other hand, if G is threshold then G has the structure described
by (iii) of Theorem 1. In that case, we may set A = Q, B = V  Q. Finally, we scan
the list u l , u 2 , .. ., un in the reuerse order (from un to u l ) and enumerate the vertices
of B as u l , uz,.. ., uk.
Remark 3. For every graph G, we define the complement G of G to be a graph
with the same set of vertices as G ; two distinct vertices are adjacent in G if and
only if they are not adjacent in G. From the equivalence of (i) and (ii) in Theorem 1,
we conclude the following.
Corollary 1C. A graph is threshold if and only if its complement is threshold.
Let us point out that this fact does not seem to follow directly from the definition.
Remark 4. In order to decide whether a graph G (with vertices u l , uz,. . ., u , ) is
,
. . ., d G ( u n )of its
threshold, it suffices to know only the degrees d G ( u , ) &(u2),
vertices. Indeed, executing Steps 1, 2 and 3 of the algorithm, we manipulate only
these quantities. On the other hand, if we are about to execute Step 4 then we
already know that G is not threshold.
Remark 5. Theorem 1 implies that threshold graphs are very rare. Indeed, from
(iii) of Theorem 1, we conclude that the number of distinct threshold graphs with
vertices u,, u 2 , .. ., un does not exceed
n !2"'.
On the other hand, the number of all distinct graphs with the same set of vertices is
2"( n 1)/Z
~
Hence a randomly chosen graph will almost certainly be not threshold.
. u., we may associate a
Remark 6. With each graph G on vertices u l , u ~ ,..,
switching function
f :{0,1)" +(0211
V. Chvatal, P.L. Hammer
152
by setting f ( x , , xz, . . ., x,,) = 0 if and only if (xl, xz, . . ., x,) is the characteristic vector
of some stable set in G. A switching function arising in this way will be called
graphic.
From Theorem 1, we conclude the following.
Corollary 1D. A graphic switching function is threshold i f and only i f it is
2assumable.
Let us point out that for switching functions that are not graphic, the “if” part of
Corollary 1D is no longer true. Indeed, for every m with m 2 2 , there are switching
functions which are m assumable but not ( m + l)assumable. Ingenious examples
of such functions have been constructed by Winder [14].
Remark 7. When A = ( a i i )is an m x n zeroone matrix, we shall consider the
following zeroone linear programming problem:
C cfx,
maximize
,=I
u p j S 1 (1 S i
subject to
S
m),
j=1
xj = 0 , l
(1 S j
n).
Defining c ( u , ) = c, for every vertex uj of G(A), we reduce (2.1) to the following
problem:
in G ( A ) , find a stable set S
maximizing c(s)=
C c(u).
UES
In general, (2.2) is hard; one may ask whether it becomes any easier when A is
threshold. T h e answer is affirmative. Indeed, if G ( A ) is threshold then we can find
the ordering u l , uz, . . ., u, and the partition P U Q described in (iii), Theorem 1; this
takes only O ( m n * )steps. Then we define
s1
=
{
P,
if c(ul)
{ v , } if c ( u l ) a O
and, for each t with 2
t
n,
if u, E Q and c ( u , ) < O ,
St1,
U { u,}, if u, E Q and c ( v , ) a 0,
S,l,
if u, E P and c ( u , ) < c(S,l),
{utl,
if u, E P and c ( u , ) S c ( L 1 ) .
Aggregation of inequalities in integer programming
153
Clearly, S, is a solution of (2.2).
Remark 8. G. Minty observed that it is quite easy to decide whether a threshold
graph has a hamiltonian cycle. W e reproduce his observation below with a slightly
different proof. A graph G is called 1tough if for every nonempty set S of its
vertices, the graph G  S has at most I S I components.
Corollary 1E. For every threshold graph G, the following three conditions are
equivalent:
(i) G is hamiltonian,
(ii) G is 1rough,
(iii) the degree sequence d , G d z < . . . d , of G is such that
+d n  1 3 n  j .
d,~j
(ii) and (iii)
(i) hold for arbitrary
Proof. Since the implications (i) +=
(iii). For this purpose, we shall
graphs (see [4, 5 ] ) , it suffices to prove that (ii)
consider a threshold graph G violating (iii) and prove that G violates (ii). Thus we
have d, G j and dn, < n  j for some j < n / 2 . Representing G as in Corollary l B ,
we observe that di = d G ( u i )for i = 1 , 2 , . . ., k. Let us distinguish two cases.
Case 1: j s k. Define S = N({ul, uz,. . ., u,}) and observe that I S 1 = dj s j < n / 2 .
Note also that G  S contains j isolated vertices u l , u z,. . ., uj and at least one
additional component. Hence G is not 1tough.
Case 2: j > k . This case simply cannot occur since d, 3 d t + l3 n  k  1 3 n  j .
+
3. Variations
Let A = (a,,)be an m x n zeroone matrix. We shall denote by r ( A ) the smallest
for which there exists a system of linear inequalities
cijxl< di
j=1
(1 s i < t )
t
(3.1)
such that (3.1) and
have the same set of zeroone solutions. Theorem 1 characterizes matrices A with
t ( A ) = 1; in this section, we shall discuss the problem of finding t ( A ) for every
matrix A .
Again, the language of graph theory will be useful. For every graph G = (V, E),
we shall denote by t ( G ) the smallest t such that there are threshold graphs
GI = (V, El), Gz = ( V ,EZ),
. . ., G, = (V, E,) with E , U E2 U * U E, = E. O u r next
result may not sound too surprising. Note, however, that Theorem 1 is used in its
proof.
V. Chvatal, P.L. Hammer
154
Let A be a zero one matrix and let G be G ( A ). Then t ( A ) = t ( G ) .
Theorem 2.
Proof. The inequality t ( A )6 t ( G )is fairly routine. Indeed, there are t threshold
graphs G, = (V, Ei)with
E, = E and t = t ( G ) .For each i, there is an inequality
u
whose zeroone solutions are precisely the characteristic vectors of stable sets in G,.
A subset of V is stable in G if and only if it is stable in every G,. Hence the zeroone
solutions of the system
2
,=1
c,,x, s d,
(1 s i 6 t )
(3.3)
are precisely the characteristic vectors of stable sets in G. Since G = G ( A ) , the
characteristic vectors of stable sets in G are precisely the zeroone solutions of
(3.1). Hence t ( A ) s t = t ( G ) .
In order to prove the reversed inequality, we shall use Theorem 1. There is a
system (3.2) with t = t ( A ) such that (3.1) and (3.2) have the same set of zeroone
solutions. Set V = {ul,ur,.. ., u,} for each i, define
E, = {u,u, : r# s and c,,
+ c,, > d , }
and G, = (V, E # ) .Since (3.1) and (3.2) have the same set of zeroone solutions, we
have
U Ei = {u,u,: ai,+ a, > 1 for some i = 1 , 2 , . . ., m } .
,=I
u
Hence G = (V,
Ei)is G ( A ) ;it remains to be proved that each G, is threshold.
Assume the contrary. Then.,by part (ii) of Theorem 1, there are vertices u,, us, up, u,
such that
u,u, E E,,
u,u, E E,,
u,u,!Z E,,
u,u,!Z E,.
Hence by the definition of E,, we have
+ c,, > d,,
c,, + c,,
d,,
c,,
c,,
+ c,, > d,,
c,,
+ c,,
=sd,.
Clearly, these four inequalities are inconsistent. 0
Next, we shall establish an upper bound on t ( G ) . In order to do that, we shall
need a few more graphtheoretical concepts. A triangle is a graph consisting of
three pairwise adjacent vertices; a star (centered at u ) is a graph all of whose edges
contain the same vertex u. The stability number a ( G )of a graph G is the size of the
largest stable set in G.
Aggregation of inequalities in integer programming
155
Theorem 3 . For every graph G on n vertices, we hnve t ( G ) s n  a ( G ) . Furthermore, if G contains no triangle, then t ( G )= n  a ( G ) .
Proof. Write G = (V, E ) and k = n  a ( G ) .Let S be a largest stable set in G ;
enumerate the vertices in V  S as u l , u 2 , .. ., uk. For each i with 1 c i c k , let E,
consist of all the edges of G which contain u,. Then each G, = (V, E , ) is a star and
therefore a threshold graph. Since S is stable, we have
E, = E. Hence t ( G )S k.
Secondly, let us assume that G contains no triangle. There are t threshold graphs
G = (V, E , )with 1 < i G t, t = t ( G ) and
E, = E. It follows easily from Theorem
1 that each G,, being threshold and containing n o triangle, must be a star. Hence
there are vertices u 1 7uz, . . ., u, such that every edge of every G, contains u,. Since
E, = E. the set
u
u
u
v  {UI,
u27. . ., U J
is stable in G. Hence cu(G)s n  t ( G ) . 0
Let us note that we may have t ( G )= n  a ( G ) even when G does contain a
triangle. For example, see the graph in Fig. 2.
FIG.2.
When a ( G )is very large, the upper bound on t ( G ) given by Theorem 3 is much
smaller than n. O n the other hand, if a ( G )is very small, then t ( G ) is often very
small. (In particular, if a ( G )= 1, then t ( G )= 1.) Thus one might hope that, say,
t ( G ) n / 2 for every graph o n n vertices. O u r next result shows such hopes to be
very much unjustified.
Corollary 3A. For every positive
t ( G )> (1  & ) n .
E
there is a graph G on n vertices such that
Proof. Erdos [9] has proved that for every positive integer k there is a graph G on
n vertices such that G contains no triangle, a ( G ) < k and, for some positive
constant c (independent of k ) , n > c(k/log k)’. Given a positive E , choose k large
enough, so that Eck 3 (log k ) * , and consider the graph G with the above properties.
We have
156
V. Chvatal, P.L. Hammer
and so, by Theorem 3, t ( G )= n

a ( G ) > (1  ~ ) n . 0
Finally, we shall show that the problem of finding t ( G ) is very hard; more
precisely, we shall show that it is “NPhard”. Perhaps a brief sketch of the meaning
of this term is called for. There is a certain wide class of problems; this class is called
NP. It includes some very hard problems such as the problem of deciding whether
the vertices of a graph are colorable in k colors. An algorithm for solving a problem
is called good if it terminates within a number of steps not exceeding some (fixed)
polynomial in the length of the input [7]. A few years ago, Cook [6] proved that the
existence of a good algorithm for finding the stability number of a graph would
imply the existence of a good algorithm for every problem in NP. Such a
conclusion, if true, is very strong. (For example, it implies the existence of a good
algorithm for the celebrated traveling salesman problem.) A problem X is called
NPhard if the existence of a good algorithm for X would imply the existence of a
good algorithm for every problem in NP. (For more information on the subject, the
reader is referred to [l] and [lo].)
Corollary 3B.
The problem of finding t ( G ) is NPhard.
Proof. Poljak [ l l ] proved that even for graphs G that contain n o traingles, the
problem of finding a ( G )is NPhard. For such graphs, however, we have a ( G )=
n  t ( G ) ;hence the existence of a good algorithm for finding t ( G )would imply the
existence of a good algorithm for Poljak’s problem. Since Poljak’s problem is
NPhard, our problem is NPhard.
We shall close this section with two remarks on t ( G ) .
Remark 1. First of all, we shall present a simple lower bound on t ( G ) .For every
graph G = (V, E ) , let us define a new graph G * = (V*, E * ) as follows. The vertices
of G * are the edges of G ; that is, V* = E. Two vertices of G*, say { u , u } E V* and
{ w , z } E V*, are adjacent in G * if and only if the set {u, u, w , z } induces 2Kz, P, or
C, in G. Fig. 3 shows an example of G and G*.
As usual, the chromatic number x ( H ) of a graph H = (V, E ) is the smallest k
such that V can be partitioned into k stable sets. We claim that
t ( G )2 ,y(G *).
(3.4)
Indeed, there are threshold graphs G, = (V, E , ) with 1 i =st, t = t ( G ) and
E, = E. By (ii) of Theorem 1 and by our definition of G *, each E, is a stable set
of vertices in G *. Hence x (G *) t.
Note that the problem of finding the chromatic number of a graph is NPhard;
hence for large graphs G, the righthand side of (3.4) may b e very difficult to
u