Tải bản đầy đủ - 0 (trang)
Chapter 8. Aggregation of Inequalities in Integer Programming

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) zero-one

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 rn-surnmable. If f is

not rn-summable then f is called m-assumable. It is well-known [3, 81 that a

switching function is threshold of and only if it is m-assumable for every rn. (The

proof is quite easy: denote by S, the set of all the zero-one 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 rn-assumable 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 zero-one matrix A = (a,)will be called threshold if, and only if, there

is a single linear inequality

j=l



whose zero-one solutions are precisely the zero-one solutions of the system



Note that the zero-one 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

self-contained, 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 two-element 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 zero-one matrix A , we shall associate its intersection graph

G ( A) defined as follows. The vertices of G ( A) are in a one-to-one 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 zero-one 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 zero-one

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 zero-one 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 zero-one 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 zero-one 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 zero-one

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 zero-one solutions

of



2



a,x, s b



,=I



are precisely the characteristic vectors of stable sets in G. Then the zero-one

solutions of



2 a+, + bx,,,



sb



j=1



are precisely the characteristic vectors of stable sets in G

zero-one 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

2-assumable.



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 zero-one matrix, we shall consider the

following zero-one 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 ,



St-1,



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 1-tough 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 1-rough,

(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 1-tough.

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 zero-one 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 zero-one 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 zero-one 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 zero-one

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 zero-one 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 zero-one

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 zero-one 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 graph-theoretical 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 “NP-hard”. 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

NP-hard 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 NP-hard.



Proof. Poljak [ l l ] proved that even for graphs G that contain n o traingles, the

problem of finding a ( G )is NP-hard. 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

NP-hard, our problem is NP-hard.

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 NP-hard;

hence for large graphs G, the right-hand side of (3.4) may b e very difficult to



u



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Chapter 8. Aggregation of Inequalities in Integer Programming

Tải bản đầy đủ ngay(0 tr)

×