Linear programming formulation of the vertex

0 downloads 0 Views 3MB Size Report
Abstract: In this paper, we present a first linear programming (LP) formulation of the vertex colouring problem (VCP). The complexity orders of the number.
Int. J. Mathematics in Operational Research, Vol. 2, No. 3, 2010

259

Linear programming formulation of the vertex colouring problem Moustapha Diaby Operations and Information Management, University of Connecticut, Storrs, CT 06268, USA E-mail: [email protected] Abstract: In this paper, we present a first linear programming (LP) formulation of the vertex colouring problem (VCP). The complexity orders of the number of variables and the number of constraints of the proposed LP are O (G9˜93) and O (G8˜93), respectively, where G and 9 are the number of vertices and the number of available colours in the VCP instance, respectively. Hence, the proposed model represents a reaffirmation of ‘P = NP’. First, we develop a bipartite network flow (BNF) based model of the problem. Then, we use a graph-based modelling framework similar to that of Diaby to develop the proposed LP model. A numerical example is used to illustrate the approach. Keywords: vertex colouring; graph colouring; vertex packing; LP; linear programming; combinatorial optimisation; computational complexity. Reference to this paper should be made as follows: Diaby, M. (2010) ‘Linear programming formulation of the vertex colouring problem’, Int. J. Mathematics in Operational Research, Vol. 2, No. 3, pp.259–289. Biographical notes: Moustapha Diaby is a Professor of Production and Operations Management at the University of Connecticut. He received a PhD degree in Management Science/Operations Research, MS degree in Industrial Engineering and BS degree in Chemical Engineering from the State University of New York at Buffalo. His teaching and research interests are in the areas of mathematical programming, manufacturing systems modelling and analysis, and supply chain and logistics management. His publications have appeared in top-tier journals such as European Journal of Operational Research, Int. J. Production Research, Journal of the Operational Research Society, Management Science, Operational Research and others. He serves/has served as a Reviewer and/or ad-hoc Editorial Team Member for many of these journals.

1

Introduction

Let  = (., ) be an undirected graph, with vertex (node) set &, and edge set . A subset & c Ž & of vertices of  is called an independent set if no two members of &c are adjacent. For a given integer k > 0, a k-colouring of  is a partitioning of & into k independent sets. The vertex colouring problem (VCP) seeks to determine the smallest

Copyright © 2010 Inderscience Enterprises Ltd.

260

M. Diaby

integer 0 () > 0, known as the chromatic number of , such that  admits a 0()-colouring. The VCP has a history dating back to the 19th century, when it was first posed as a mathematical problem in the context of colouring geographical maps (see Fritsch and Fritsch, 1998). Other applications of the problem that have been described in the recent literature are numerous, including contexts such as cloth/fabric design (Govindaraju et al., 2005), communication network design (Oliveira et al., 2005; Woo et al., 2002), computation of derivative matrices (Gebremedhin et al., 2005), crew scheduling (Gamache et al., 2007), image segmentation (Gomez et al., 2007), logic circuits design (Kania and Kulisz, 2007), radio frequency identification systems design (Saygin et al., 2006), robotics planning and scheduling (Demange et al., 2009), satellite range scheduling (Zufferey et al., 2008), sequencing of stamping operations (Chu et al., 2008), spectrum assignments in wireless communication systems (Peng et al., 2006), timetabling (Burke et al., 2007; de Werra, 1985; Dowsland and Thompson, 2005) and wavelength assignments in optical networks (Noronha and Ribeiro, 2006). Reviews of work aimed at developing solution procedures for the VCP can be found in Galinier and Hertz (2006), Laguna and Marti (2001), Malaguti et al. (2008) and Pardalos et al. (1999). Some closely related variants are also reviewed in Calamoneri (2006). Because the problem was shown to be NP-complete (Karp, 1972), exact procedures that have been developed have been enumerative approaches (Kubale and Jackowski, 1985; Lucet et al., 2006; Mehrotra and Trick, 2007; Sager and Lin, 1991; Sewell, 1993). The main focus of research has been heuristics. The early procedures were greedy procedures. The best known of these are the ‘maximum saturation degree (DSATUR)’ procedure (Brelaz, 1979), and the ‘recursive largest first (RLF)’ procedure (Leighton, 1979). The more recent heuristics have been, in general, local search methods (Avanthay et al., 2003; Blöchliger and Zufferey, 2008; Caramia and Dell’Olmo, 2008; Galinier and Hertz, 2006), biology-inspired procedures (Costa et al., 1995; Dowsland and Thompson, 2005; Fleurent and Ferland, 1996; Malaguti and Toth, 2008; Talaván and Yáñez, 2008) or ‘hybrids’ that combine local search and evolutionary algorithms (Fleurent and Ferland, 1996; Galinier and Hao, 1999; Malaguti and Toth, 2008; Malaguti et al., 2008). Lower bounding and reformulation approaches also have been proposed (Albertson et al., 1989; Butenko et al., 2001; Caramia and Dell’Olmo, 2002; Coll et al., 2002; Dukanovic and Rendl, 2007; Glover, 2003; Kochenberger et al., 2005; Meurdesoif, 2005; Schiermeyer, 2008). Although good successes have been reported using some of the procedures above in terms of solution quality and/or the problem sizes tackled, these fall short with respect to a resolution of the fundamental issue of the tractability of the problem (see Garey and Johnson, 1979). The most significant contribution of this paper is in that sense. We present a first linear programming (LP) formulation of the VCP. The complexity orders of the number of variables and the number of constraints of the proposed LP are O (G9˜93) and O (G8˜93), respectively, where G and 9 are the number of nodes and the number of available colours in the VCP instance, respectively. Hence, beyond the scope of the VCP per se, the model represents a reaffirmation of the equality of the computational complexity classes ‘P’ and ‘NP’. First, we develop a bipartite network flow (BNF) based model of the problem. Then, we use a path-based modelling framework similar to that of Diaby (2007) to develop the proposed LP model. A numerical example is used to illustrate the approach.

LP formulation of the vertex colouring problem

261

The plan of this paper is as follows. The BNF-based model is discussed in Section 2. The path-based formulation is discussed in Section 3. The overall LP model is discussed in Section 4. Conclusions are discussed in Section 5. The following notation will be used throughout the rest of this paper. Notation 1 (general notation): 1 2

*: set of real numbers. § x· For two column vectors x and y, ¨ ¸ ( xT , yT )T will be written as ‘(x, y)’ (where © y¹ (˜)T denotes the transpose of (˜)), except for where that causes ambiguity.

3

xi: ith component of vector x.

4

‘0’: column vector (of comfortable size) that has every entry equal to 0.

5

‘1’: column vector (of comfortable size) that has every entry equal to 1.

6

Conv(˜): convex hull of (˜).

7

Ext(˜): set of extreme points of (˜).

8

The notation ‘  i1  A1 : B1 ;!; i p  Ap : Bp , ¢C1; !; Cq ² ’ stands for ‘ i1  A1 : B1 ,!, i p  Ap : B p , each statement C j ( j 1,!, q) holds true’. Where that does not cause ambiguity, the brackets (one or both sets) will be omitted.

9

The symbol ‘ ’ stands for ‘such that’.

10 The notation ‘ ¢i1  A1 ; !; i p  Ap ² ¢ B1; !; Bq ² ’ stands for ‘There exists at least one object from each Ar (r 1, ! , p), such that each expression Bs ( s 1, ! , q ) holds true’. Where that does not cause ambiguity, the brackets (one or both sets) will be omitted.

2

BNF-based model

Our overall LP model (described in the next section) consists essentially of a reformulation of the BNF-based model developed in this section. To the best of our knowledge, this BNF-based model is a first network flow-based reformulation of the VCP. The idea of the reformulation approach is, roughly, to treat the vertices and the available colours of the VCP as sinks and sources, respectively (see Bazaraa et al., 2005). We will first give an overview of the standard integer programming (IP) formulation of the VCP. Then, we will develop the proposed BNF-based reformulation. Finally, we will illustrate the reformulation with a numerical example. Definition 1: We refer to a set of colour assignments that satisfies the VCP constraints, as a ‘feasible colouring of (the VCP graph)  ’. Notation 2 (VCP parameters): 1

G : number of vertices of the VCP graph, 

262

M. Diaby

2

9 : number of available colours/labels (9 d G)

3

. : {X1 , X2 ,! , XG } (set of vertices of Graph  )

4

& : {1, 2,! , G } (set of indices for the vertices of Graph  )

5

 : {(k , t )  & 2 : Xk and Xt are adjacent to each other} (set of edges of Graph  )

6

L : {c1 , c2 ,! , c9 } (set of available colours/labels)

7

 : {1, !, 9 } (index set for the colours)

8

 : {(k , t )  ( & 2 \  ) : k z t} (set of edges of the complement graph,  ( & ,  ), of  .

Assumption 1: We assume, without loss of generality (w.l.o.g.), that: 1

Graph  does not have any isolated node

2

Graph  has been augmented with a ‘dummy’ node, denoted XG 1

3

dummy node XG 1 is not adjacent to any node in &

4

dummy node XG 1 can be ‘coloured’ multiple times, using one or more of the available colours

5

the nodes that receive a given colour, (c j  L), do so in order.

Let uj (j   ) denote a binary 0/1 variable that is equal to 1 iff cj is used. Let oij ((i, j)  (&,  )) denote a binary 0/1 variable that is equal to 1 iff vertex Xi receives colour c j . The standard integer programming formulation of the VCP is as follows (see e.g. Coll et al., 2002 or Kochenberger et al., 2005): Problem 1 (Problem VCP): Minimise:

] (u , o) :

¦u

(1)

j

j

s.t.:

¦o

ij

1; i  &

(2)

j 

okj  otj d u j ; (k , t )   , u j , oij  {0,1};

j 

j  , i  &

(3) (4)

Definition 2: Let P0 : {(u, o)  *9 (G 1) : (u, o) satisfies (2)  (4)}. We refer to Conv(P0) as the ‘VCP polytope’.

LP formulation of the vertex colouring problem

263

Theorem 1: There exists a one-to-one correspondence between the extreme points of the VCP Polytope (i.e. the points of P0) and the feasible colourings of the VCP graph, . Proof: Trivial.



Our BNF-based reformulation of the VCP will now be discussed. Notation 3: 1

i  & * {G  1}, i : { j  & : (i, j )   } (set of indices of the nodes that are

non-adjacent to node i in the augmented VCP graph ) 2

j   , K j : {1,! , G } (index set for the order in which colour c j  L is used)

3

j   , u j denotes a binary 0/1 variable that is equal to 1 iff cj is not used; (i.e. u j  u j

4

1)

 i  & * {G  1}; j   ; k  K j , xijk denotes a non-negative variable that is greater

than zero iff Xi is the kth of the vertices that receive cj. Our BNF-based formulation of the VCP is as follows. Problem 2 (Problem BNF): maximise:

¦u

] (u , x) :

(5)

j

j

s.t.:

¦¦x

1; i  &

ijk

(6)

j kK j

¦ ¦ xG

1, jk

¦

xijk

G (9  1)

(7)

j  k K j

1;

j  , k  K j

(8)

i( & *{Q 1})

¦x

k K j

pjk



¦x

qjk

 u j d 1; ( p, q)   ,

j 

(9)

k K j

u j , xijk  {0,1}; xQ 1, jk t 0;

j  , k  K j , i  &

j  , k  K j

(10) (11)

The objective function (5) seeks to maximise the number of colours that are not used. Constraints (6) ensure (in light of constraints (10)) that each node in & is coloured exactly once. Constraints (9) ensure that no node receives a colour that is not used, and that no two adjacent nodes receive a same given colour when that colour is used.

264

M. Diaby

Constraints (7) and (8) properly account the number of times the colours are not used (by being assigned to the dummy node). Hence, Problem BNF correctly models the VCP. Definition 3: Let P1 : {(u , x)  *9G (G 1) : (u , x ) satisfies (6)  (11)} . We refer to ConX ( P1 ) as the ‘BNF polytope’. Theorem 2: The following statements hold true: (i) every point of P1 (i.e. every extreme point of the BNF polytope) corresponds to exactly one feasible coloring of , and there exists a many-to-one mapping of the points of P1 onto the feasible colorings of  (ii) every point of P1 corresponds to exactly one point of P0 (i.e. one extreme point of the VCP polytope), and there exists a many-to-one mapping of the points of P1 onto the points of P0.

Proof: First, observe that it follows trivially from definitions that each x  P1 (i.e. each feasible solution to Problem BNF) corresponds to exactly one feasible coloring of  , and that a point of P1 can be trivially ‘constructed’ from any given feasible coloring of  . Now, let j   , (k1, k2)  K 2j : k1 z k2, (i1, i2)  & 2 : i1 z i2. Clearly, xi1 , j , k1 and xi1 , j , k2

xi2 , j , k1

xi2 , j , k2

1

1 are the same color assignment for Xi1 and Xi2 . The theorem

follows from these directly.



The BNF-based formulation is illustrated in Example 1. Example 1: For Ȣ = 3 (i.e. 3 colours) and the VCP graph shown below (taken from Kochenberger et al., 2005)

the BNF tableau form of the BNF-based formulation is:

k=

1 X1 1 X2 1 X3 1 X4 1 X5 1 X6 1 “Supply” 1

2 1 1 1 1 1 1 1

c1 3 1 1 1 1 1 1 1

4 1 1 1 1 1 1 1

5 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

2 1 1 1 1 1 1 1

c2 3 1 1 1 1 1 1 1

4 1 1 1 1 1 1 1

5 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

2 1 1 1 1 1 1 1

c3 3 1 1 1 1 1 1 1

4 1 1 1 1 1 1 1

5 1 1 1 1 1 1 1

“Demand” 1 1 1 1 1 10 –

LP formulation of the vertex colouring problem

3

265

Reformulations of the BNF polytope

In this section, we first develop (in Section 3.1) a path representation of the extreme points of the BNF polytope (i.e. the points of P1), using a multipartite graph framework. Then, we formulate (in Section 3.2) variables and constraints that model flows over the proposed multipartite graph in such a way that they (i.e. the flows) are restricted, in a rough sense, to paths that correspond to points of P1 only. Finally, we show (in Section 3.3) that the induced polytope is an equivalent of the BNF polytope (and therefore, of the VCP polytope).

3.1 Multipartite graph representation The graph, G = (V, A), that serves as the framework for our reformulation of the BNF polytope is illustrated in Example 2. In this graph, nodes consist of triples (i, j , k )  (( & * {G  1}),  , K j ). The arcs of the graph are specified through the explicit statements of the forward and backward stars of the nodes, respectively. They correspond essentially to edges of the complement graph,  , of the VCP graph,  . Definition 4: 1

The set of nodes of Graph G that correspond to a given pair (j, k)  (&, Kj ) is referred to as a stage of the graph.

2

The set of nodes of Graph G that correspond to a given node i  ( & * {G  1}) is referred to as a level of the graph.

Notation 4 (Multipartite graph notations): 1

: : & * {G  1}

2

n : G ˜ 9 (number of stages of Graph G)

3

S : {1,! , n} (set of stages of Graph G)

4

R := S\{n} (set of stages of Graph G from which arcs originate)

5

j   , b j : (( j  1)9  1) (‘stage index’ of the pair ( j , 1)); that is, index of the stage

corresponding to the pair (j, 1)) 6

j   , e j : j ˜ 9 (‘stage index’ of the pair ( j , G ))

7

r  S , [ r : max{ j   : b j d r} (‘colour’ of stage r; that is, index of the colour

associated with stage r)

266

M. Diaby

8

V : {(i, r ) : (i, r )  (:, S )} (set of nodes/vertices of Graph G)

9

 r  S ; i  & * {G  1} ,

­{G  1} for b[r d r  e[r ; i G  1 ° ° i * {G  1} for r b[r ; i z G  1 °  * {G  1} for b  r  e ; i z G  1;  z ‡ i [r [r ° i Fr (i ) : ®  ‡ for b  r d e ; i z G  1; ‡ i [r [r ° °( & \ {i}) * {G  1} for r e ; r  n;  z ‡ [r i ° °¯‡ for r n (Forward star of node (i,r ) of Graph G); 10  r  S ; i  ( & * {G  1}) , ­‡ for r 1 Br (i ) : ® ¯{ j : : i  Fr 1 ( j )} for r ! 1 (Backward star of node (i, r ) of Graph G) 11

A : {(i, r , j )  (:, R, :) : j  Fr (i )} (set of arcs of Graph G).

The notation for the multipartite graph representation is illustrated in Example 2 for the VCP instance of Example 1. Definition 5: 1

We refer to a path of Graph G that spans the set of stages of the graph (i.e. a walk of length (n  1) of the graph) as a through-path of the graph

2

We refer to a through-path of Graph G that includes each node in & exactly once and such that the stages of pairs of nodes pertaining to adjacent vertices of  have different colours, as a VCP path of the graph; that is, a set of arcs, ((i1 ,1, i2 ), (i2 , 2, i3 ), !, (in 1 , n  1, in ))  An 1 , is a VCP path iff (t  & , p  S i p

t ), (( p , q )  ( S , S \ { p}) : (i p , iq )  & 2 , i p z iq ) and

(( p, q )  S 2 : (i p , iq )   , [ p z [ q ).

LP formulation of the vertex colouring problem

267

Example 2: For the VCP of Example 1, we have the following: ƒ

VCP graph

Augmented VCP graph ƒ

Adjacencies in the augmented complement graph

node index, i 1 2 3 4 5 6 ƒ

Augmented complement VCP graph

Di {3,4} ‡ {1,5} {1} {3} {1,2,3,4,5}

adjacency set {3,4,6} {6} {1,5,6} {1,6} {3,6} {1,2,3,4,5}

Multipartite graph notation: x

n

3 u 5 15; S

{1, 2,! ,15}; R {1, ! ,14}

x

‘Stage coverages’ of the colours:

Colour index, j 1 2 3

x

First stage, bj 1 6 11

Last stage, ej 5 10 15

‘Colours’ of the stages:

Stage, r r  {1, 2, 3, 4, 5} r  {6, 7, 8, 9, 10} r  {11, 12, 13, 14, 15}

‘Colour’, ȟr 1 2 3

268

M. Diaby x

Forward stars of the nodes of Graph G: Stage, r r  {1, 6, 11}

r  {2, 3, 4, 7, 8, 9, 12, 13, 14}

i=1

{3, 4, 6}

{3, 4, 6}

{2, 3, 4, 5, 6}

‡

i=2

{6}

‡

‡

‡

i=3

{1, 5, 6}

{1, 5, 6}

{1, 2, 4, 5, 6}

‡

i=4

{1, 6}

{1, 6}

{1, 2, 3, 5, 6}

‡

i=5

{3, 6}

{3, 6}

{1, 2, 3, 4, 6}

‡

i=6

{6}

{6}

{1, 2, 3, 4, 5, 6}

‡

Level, i

x

r  {5, 10}

r = 15

Backward stars of the nodes of Graph G: Stage, r

Level, i

R=1

r  {2, 7, 12}

r  {3, 4, 5, 8, 9, 10, 13, 14, 15}

r  {6, 11}

i=1

‡

{3, 4}

{3, 4}

{3, 4, 5, 6}

i=2

‡

‡

‡

{1, 3, 4, 5, 6}

i=3

‡

{1, 5}

{1, 5}

{1, 4, 5, 6}

i=4

‡

{1}

{1}

{1, 3, 5, 6}

i=5

‡

{3}

{3}

{1, 3, 4, 6}

i=6

‡

{1, 2, 3, 4, 5, 6}

{1, 3, 4, 5, 6}

{1, 2, 3, 4, 5, 6}

ƒ

Graph G illustration



LP formulation of the vertex colouring problem

269

Remark 1: It follows directly from definitions that: 1

There exists a one-to-one mapping between the VCP paths of Graph G and the points of P1(i.e. the extreme points of the BNF polytope).

2

Every VCP path of Graph G corresponds to exactly one point of P0 (i.e. one extreme point of the VCP polytope), and there exists a many-to-one mapping of the VCP paths of Graph G onto the points of P0.

3

Every VCP path of Graph G corresponds to exactly one feasible coloring of , and there exists a many-to-one mapping of the VCP paths of Graph G onto the feasible colorings of .

VCP paths are illustrated in Figures 1 and 2 for the VCP instance of Example 1. The through-path shown in Figure 1 is a VCP path and corresponds to the colouring where (vertices) X1 and X4 receive (colour) c1, X2 receives c2, and X3 and X5 (both) receive c3. The partial (i.e. non-spanning with respect to the set of stages) path shown in Figure 2 corresponds to a colouring in which c2 is applied to X2 , and c1 is exclusively applied to X3 . It can be verified that there exists no VCP path in the graph of the figure (Figure 2) that comprises this partial path (because either a level of the graph (excluding the dummy) is ‘revisited’, or at least one level cannot be ‘visited’), which is consistent with the fact that there exists no feasible colouring of the problem instance comprising this partial assignment of colours. Theorem 3: A given VCP path of Graph G cannot be represented as a convex combination of other VCP paths of Graph G. Figure 1

Illustration of a VCP path of Graph G

270

M. Diaby

Figure 2

Illustration of infeasibility for a VCP path

Proof: The theorem follows directly from the fact that every VCP path of Graph G represents an extreme point of the standard shortest path network flow polytope associated with Graph G, ­ W : ® w | 0,1|| A| : ¦ ¦ wi ,1, j iNi jFi (i ) ¯ ¦ wirj 

jFr (i )

1

½ 0 r  R \ {1}, i  N r ¾ ¿

¦ w j ,r 1,i

jBr (i )

(where w is the vector of flow variables associated with the arcs of Graph G) (see Bazaraa et al., 2005). Notation 5: We denote the set of all VCP paths of Graph G as '; that is, ':

^ i ,1, i , i , 2, i ,!, i 1

2

2

3

n 1 , n  1, in

( p, q) (S , S \{ p}) : i , i  & p

q

 An 1 :

2



( t  & ,  p  S i p





t );

`

, i p z iq ; ( p, q )  S 2 : i p , iq   , [ p z [q .

3.2 Integer programming reformulation Assumption 2: We assume w.l.o.g. that number of vertices of the VCP is greater than three, and that the number of colours is greater than one (v t 4, and 9 t 2 ). Notation 6: 1

 ( p, r , s )  R3 : r  s  p;(i, j , k , t , u, X )  (:, Fr (i ), :, Fs (k ), :, Fp (u )) , z(irj )( kst )(upX )

denotes a non-negative variable that represents the amount of flow in Graph G that propagates from arc ( i, r,j ) on to arc (k,s ,t ), via arc (u ,p , X )

LP formulation of the vertex colouring problem 2

271

 (r , s )  R 2 : r  s;(i, j , k , t )  (:, Fr (i ), :, Fs ( k )) , y(irj )( kst ) denotes a non-negative

variable that represents the total amount of flow in Graph G that propagates from arc (i, r, j) on to arc (k,s ,t ). The constraints of our Integer Programming (IP) reformulation of P1 are as follows:

¦ ¦ ¦ X¦

i: jF1 (i ) tF2 ( j ) F3 (t )

¦

XB p (u )

z(i ,1, j )( j ,2,t )(t ,3,X )

z(irj )( kst )(X , p 1,u ) 

¦

XFp (u )

1

z(irj )( kst )(upX )

(12) 0;

(13)

p, r , s  R : r  s  p  1; i  :; j  Fr (i ); k  :; t  Fs (k ); u  :

¦

XB p (u )

z(irj )(X , p 1,u )( kst ) 

¦

XFp (u )

z(irj )(upX )( kst )

0;

(14)

p, r , s  R : r  1  p  s; i  :; j  Fr (i ); k  :; t  Fs (k ); u  :

¦

X B p (u )

z(X , p 1,u )(irj )( kst ) 

¦

X Fp (u )

z(upX )(irj )( kst )

0;

(15)

p, r , s  R :1  p  r  s; i :; j  Fr (i ); k :; t  Fs (k ); u : y(irj )( kst ) 

¦ ¦

u: XFp (u )

z(irj )( kst )(upX )

0;

(16)

p, r , s  R : r  s  p; i  :; j  Fr (i ); k  :; t  Fs (u ) y(irj )(upX ) 

¦¦

k: tFs ( k )

z(irj )( kst )(upX )

0;

(17)

p, r , s  R : r  s  p; i  :; j  Fr (i ); u  :; X  Fp (u ) y( kst )(upX ) 

¦¦

i: jFr (i )

z(irj )( kst )(upX )

0;

(18)

p, r , s  R : r  s  p; k  :; t  Fs (k ); u  :; X  Fp (u ) y(irj )( kst )  

¦ ¦

pR: vFp (u ) pr

¦ ¦

pR: XB p 1 (u ) s p

z( upX )(irj )( kst ) 

z(irj )( kst )(X pu )

¦ X¦

pR: Fp (u ) r  ps

z(irj )( upX )( kst )

0;

r , s  R : r  s; i  :; j  Fr (i ); k  :; t  Fs (k ); u  : \ {i, j , k , t}

(19)

272

M. Diaby

¦ ¦ ¦

( r , s )R 2 : kFr (i ) tFs ( j ) r  s; [r [ s







y(irk )( jst ) 

¦ ¦ ¦

( r , s )R 2 : kFr (i ) tBs 1 ( j ) r  s; [ r [ s

¦ ¦ ¦

y( kri )( jst ) 

¦ ¦ ¦

y( jst )(irk ) 

¦ ¦ ¦

y( jst )(irk ) 

( r , s )R 2 : kBr 1 (i ) tFs ( j ) r  s; [r [s

( r , s )R 2 : kFr (i ) tFs ( j ) r ! s; [r [ s

( r , s )R 2 : kFr (i ) tFs ( j ) r ! s; [r [ s

y(irk )(tsj )

¦ ¦ ¦

( r , s )R 2 : kBr 1 (i ) tBs 1 ( j ) r  s; [r [s

y( kri )(tsj )

¦ ¦ ¦

y(tsj )(irk )

¦ ¦ ¦

y(tsj )(irk )

( r , s )R 2 : kFr (i ) tBs 1 ( j ) r ! s; [r [ s

( r , s )R 2 : kFr (i ) tBs 1 ( j ) r ! s; [r [ s

(20)

0;

(i, j )  H

¦ ¦

k: \{ j } tFr 1 ( k )

y(irj )( k , r 1,t )

¦ ¦ ¦

( r , s )R 2 : jFr ( i ) kBs 1 (i ) s !r



0; r  R \ {n  1}; i  :; j  Fr (i )

y(irj )( ksi ) 

¦ ¦ ¦

( r , s )R 2 : jBr 1 (i ) k Bs 1 (i ) s!r

¦ ¦ ¦

( r , s )R 2 : jFr (i ) kFs ( i ) s !r

y( jri )( ksi ) 

(21)

y(irj )(isk )

¦ ¦ ¦

( r , s )R 2 : jBr 1(i ) kFs ( i ) s ! r 1

y( jri )(isk )

0;

(22)

i& y(irj )( kst ) {0,1} r , s  R : r  s; (i, j , k , t )  (:, Fr (i ), :, Fs (k )) z(irj )( kst )( upX ) {0,1}

(23)

p , r , s  R : r  s  p; (24)

(i, j , k , t , u, X )  (:, F1 (i ), :, Fs (k ), :, Fp (u )). Constraint (12) initiates the propagation of one unit of flow from stage 1 of Graph G. Constraints (13)–(15) are extended versions of Kirchhoff’s equations for ‘regular’ network flow problems (see Bazaraa et al., 2005). They ensure that all flows initiated at stage 1 propagate onward, to stage n of the graph, in a connected and balanced manner. Specifically, constraints (13) stipulate that the total amount of flow from arc (i, r, j) that propagates through arc (k, s, t) and subsequently enters a ‘downstream’ node, (u, p), is equal to the amount of flow from arc (i, r, j) that propagates through arc ( k, s, t) and leaves the node. Constraints (14) stipulate that the total amount of flow from arc (i, r, j) that enters an ‘intermediary’ node, (u, p), to propagate on to arc (k, s, t) is equal to the total amount of flow from arc (i, r, j) that leaves node (u, p) to propagate on to arc (k, s, t). Constraints (15) stipulate that the total amount of flow from arc ( i, r , j) that propagates through arc (k , s, t) after having entered an ‘upstream’ node, (u, p), is equal to the amount of flow from arc (i, r, j) that propagates through arc ( k, s, t ) and leaves the node. Constraints (16)–(18) ensure that the flow propagation between any pair of arcs of Graph G is consistently accounted across all the stages of the graph. Constraints (19) require that the total flow on any given arc of Graph G must propagate on to every level of the graph pertaining to a node in &, or be part of a flow propagation that spans the

LP formulation of the vertex colouring problem

273

levels of the graph pertaining to a node in &. Constraints (20) ensure that adjacent nodes of the VCP graph, , do not receive the same colour. Constraints (21) ensure that the initial flow propagation from any given arc of Graph G occurs in an ‘unbroken’ fashion. Finally, constraints (22) stipulate (in light of the other constraints) that no part of the flow from arc (i, r, j) of Graph G can propagate back onto level i of the graph if i pertains to a node of the VCP Graph, , or onto level j if j pertains to a node of the VCP graph, . The correspondence between the constraints of our overall IP model above and those of Problem BNF is as follows. Constraints (6) and (7) of Problem BNF are ‘enforced’ (i.e. the equivalent of the condition they impose is enforced) in the overall IP model by the combination of constraints (12), (19) and (22). Constraints (8) of Problem BNF are enforced through the combination of constraints (12)–(15) of the overall IP model. Finally, constraints (9) of the BNF-based reformulation are enforced by constraints (20) of the overall IP model. Note that constraints (20) of the overall IP model only serve to restrict variables to be zero. Hence, constraints (9), which are the ‘complicating’ constraints in Problem BNF, can be handled implicitly in the overall IP model, since they are reduced to simple restrictions of variables to zero in that model. Remark 2: Following standard conventions, any y- or z-variable that is not used in the system (12)–(24) (i.e. not defined in Notation 6) is assumed to be constrained to zero throughout the remainder of this paper. Definition 6: 1

let QI : {( y, z )  * Y : ( y, z ) satisfies (12)–(24)}, where Y is the number of variables in the system (12)–(24). We refer to Conv(QI) as the ‘IP Polytope’

2

we refer to the LP relaxation of QI as the ‘LP Polytope’, and denote it by QL; that is, QL : { y, z}  * Y : ( y, z ) satisfies (12)–(22), and 0 ” (y, z) ” 1}, where Y is the number of variables in the system (12)–(22).

Remark 3: The following statements hold true for QI and QL: 1

the number of variables in the system (12)–(22) is O(G 9 ˜ 9 3 )

2

the number of constraints in the system (12)–(22) is O(G 8 ˜ 9 3 ).

Theorem 4: such that: (i)

( y , z )  QI

z( arb )( csd )( epf )

(ii) y( arb )(csd )

iff there exists exactly one n-tuple

­°1 for p, r , s  R : r  s  p; (a, b, c, d , e, f ) ® °¯0 otherwise

°­1 for r , s  R : r  s; (a, b, c, d ) ® °¯0 otherwise

(iii) t  & ,  p  S i p

ir , ir 1 , is , is 1 , i p , i p 1

ir , ir 1 , is , is 1

t

(iv) ( p , q )  ( S , S \ { p}), (i p , iq )  &

2

(ir  :, r 1, ! , n)

Ÿ (i p z iq , and [ p z [ q ).

274

M. Diaby

Proof: Let (y, z)  QI. Then, given (23)–(24): (a)Ÿ: Constraint (12) Ÿ There exists exactly one 4-tuple (ir  :, r 1, ! , 4) such that: z(i1 ,1,i2 )(i2 ,2,i3 )(i3 ,3,i4 )

1

(25)

Condition (i) follows directly from the combination of (25) with constraints (13)–(15). Condition (ii) follows from the combination of condition (i) with constraints (16)–(18) and (21). Condition (iii) follows from the combination of conditions (i) and (ii) with constraints (19). Condition (iv) follows from the combination of condition (iii) with constraints (20) and (22). (b) : Trivial.



Theorem 5: The following statements hold true: (i)

there exists a one-to-one mapping between the points of QI and the VCP paths of Graph G

(ii) there exists a one-to-one mapping between the points of QI and the points of P1 (i.e. the extreme points of the BNF polytope) (iii) every point of QI corresponds to exactly one point of P0 (i.e. one extreme point of the VCP polytope), and there exists a many-to-one mapping of the points of QI onto the points of P0 (iv) every point of QI corresponds to exactly one feasible coloring of , and there exists a many-to-one mapping of the points of QI onto the feasible colorings of . Proof: Conditions (i) follows directly from the combination of Theorem 4 and Definition 5.2. Conditions (ii)–(iv) of the theorem follow from the combination of condition (i) with Remark 1. Definition 7: Let ( y, z )  QI . Let (ir  :, r 1, ! , n) be the n-tuple satisfying Theorem 4 for (y, z): 1

we refer to the solution to Problem BNF corresponding to (y, z) as the ‘colouring corresponding to (y, z)’, and denote it by % ( y, z ) : {(ir , [ r ), r 1, ! , n}

2

we refer to / ( y, z ) : { j   : (i, j )  % ( y, z ) for some i  & } as the ‘colour set of (y, z)’.

LP formulation of the vertex colouring problem

275

3.3 LP reformulation Our LP reformulation of the BNF polytope consists of QL. We show that every point of QL is a convex combination of points of QI, thereby establishing (in light of Theorems 3 and 5) the one-to-one correspondence between the extreme points of QL and the points of QI. Theorem 6: The following constraints are valid for QL: (i) (r , s, t )  R3 : r  s  t ,

¦ ¦ ¦ ¦ ¦ ¦

ir : jr Fr (ir ) is : js Fs (is ) it : jt Ft ( it )

z(ir ,r , jr )(is , s , js )( it ,t , jt )

1

(ii) (r , s)  R 2 : r  s,

¦ ¦ ¦ ¦

ir : jr Fr (ir ) is : js Fs (is )

y(ir ,r , jr )(is , s , js )

1

Proof: (i) Condition (i). First, note that by constraint (12), condition (i) of the theorem holds for (r, s, t) = (1, 2, 3). Now, assume 1 < r < s < t. Then, we have:

¦ ¦ ¦ ¦ ¦ ¦

ir : jr Fr (ir ) is : js Fs (is ) it : jt Ft ( it )

¦ ¦ ¦ ¦

ir : jr Fr (ir ) is : js Fs (is )

z(ir ,r , jr )(is , s , js )(it ,t , jt )

y(ir ,r , jr )(is , s, js )

((Using (16))

¦ ¦ ¦ ¦ ¦ ¦

z(i1 ,1, j1 )(ir ,r , jr )( is , s, js )

(Using (18))

¦ ¦ ¦ ¦ ¦ ¦

z(i1 ,1, j1 )(ir ,r , jr )( is , s, js )

(Rearranging)

ir : jr Fr (ir ) is : js Fs (is ) i1: j1F1 ( i1 )

i1: j1F1 (i1 ) is : js Fs (is ) ir : jr Fr ( ir )

¦ ¦ ¦ ¦

ir : jr Fr (ir ) is : js Fs (is )

y(ir ,1, jr )(is , s, js )

(Using (17))

¦ ¦ ¦ ¦ ¦ ¦

z(i1 ,1, j1 )(i2 ,2, j2 )(is , s , js )

(Using (17))

¦ ¦ ¦ ¦ ¦ ¦

z(i1 ,1, j1 )(i2 ,2, j2 )(is , s , js )

(Rearranging)

i1: j1F1 (i1 ) is : js Fs (is ) i2 : j2 F2 ( i2 )

i1: j1F1 (i1 ) i2 : j2 F2 (i2 ) is : js Fs ( is )

¦ ¦ ¦ ¦

i1: j1F1 (i1 ) i2 : j2 F2 (i2 )

y(i1 ,1, j1 )( i2 ,2, j2 )

(Using (16))

276

M. Diaby

¦ ¦ ¦ ¦ ¦ ¦

i1: j1F1 (i1 ) i2 : j2 F2 (i2 ) i3: j3 F3 ( i3 )

z(i1 ,1, j1 )(i2 ,2, j2 )(i3 ,3, js )

(Using (16))

=1

(Using (12))

(ii) Condition (ii) of the theorem follows directly from the combination of condition (i) and constraints (16)–(18). Lemma 1: Let ( y, z )  QL . The following holds true:  r  R : r d n  3; (ir , ir 1 , ir  2 , ir 3 )  (:, Fr (ir ), :, Fr  2 (ir  2 )) , ­°(i) ir  2  Fr 1 (ir 1 ); and y i , r ,i (i ,r  2,i ) ! 0 œ ® r r 1 r  2 r 3 °¯(ii) z(ir ,r ,ir 1 )(ir 1 , r 1,ir 2 )(ir  2 ,r  2,ir 3 ) ! 0

(26)

Proof: For r  R, constraints (17) for s = r + 1 and p = r + 2 can be written as: yi

r , r ,ir 1 ir 2,r 2,ir 3



¦ ¦

k: tFr 1 k

z ir ,r ,ir 1 k ,r 1,t ir 2 ,r  2,ir 3

0

(27)

(ir , ir 1 , ir  2 , ir 3 )  (:, Fr (ir ), :, Fr  2 (ir  2 )) Constraints (21) and (16)–(18)Ÿ  (ir , ir 1 , ir  2 , ir 3 , k , t )  (:, Fr (ir ), :, Fr  2 (ir  2 ), :, :) , z(ir ,r ,ir 1 )( k ,r 1,t )(ir 2, r  2,ir 3 ) ! 0 Ÿ k

ir 1 , and t

ir  2 .

(28)

Using (28), (27) can be written as:

y ir ,r ,ir 1 ir 2 ,r  2,ir 3  z ir , r ,ir 1 ir 1 , r 1,ir 2 ir 2 , r  2,ir 3  ir , ir 1 , ir  2 , ir  3  :, Fr ir , :, Fr  2 ir  2 .

0

(29)

Condition (ii) of the equivalence in the lemma follows directly from (28) and (29). Condition (i) follows from Remark 2 and the fact that z i , r ,i i ,r 1,i i ,r  2,i is r r 1 r 1 r 2 r 2 r 3 not defined if ir  2  Fr 1 (ir 1 ). Notation 7 (‘Support graph’ of (y,z)) For (y ,z)  QL: 1

The sub-graph of Graph G induced by the positive components of (y, z) is denoted as: H y, z :

where:

V y, z , A y, z

LP formulation of the vertex colouring problem ­° V y , z : ® i,1 V : ¯°

277

½° y i ,1, j j ,2,t ! 0¾ * j F1 i t F2 j ¿°

¦ ¦

­ ½ y( a ,1,b )(irj ) ! 0¾ * ® i, r V :1  r  n; a N1 b F1 ( a ) j Fr (i ) ¯ ¿

¦ ¦ ¦

(30)

­ ½ ° ° y( a ,1,b )( j ,n 1,i ) ! 0¾ ; ® i, n V : °¿ a N1 b F1 ( a ) j Bn (i ) ¯°

¦ ¦ ¦

°­ °½ A( y, z ) : ® i,1, j  A : y i ,1, j j ,2,t ! 0¾ * t F2 j °¿ ¯° ­ ½ y( a ,1,b )(irj ) ! 0¾ . ®(i, r , j )  A : r ! 1; a N1 b F1 ( a ) ¯ ¿

¦

(31)

¦ ¦

2

The set of arcs of H (y, z) originating at stage r of H (y, z) is denoted r(y, z).

3

The number of arcs originating at stage r of Graph H (y, z) is denoted Kr ( y, z ) | r ( y, z ) | . For simplicity, K r ( y, z ) will be henceforth written as Kr (unless that causes ambiguity).

4

The index set associated with r(y, z) is denoted / r ( y, z ) : {1, 2, ! , K r }. For simplicity, / r ( y, z ) will be henceforth written as / r .

5

The vth arc in r(y, z) is denoted as ar,v (y, z). For simplicity, ar,v (y, z) will be henceforth written as ar,v.

6

For (r , v)  ( R , -r ), the tail of ar,v is labelled tr ,v ( y , z ); the head of ar,v is labelled hr ,v ( y, z ). For simplicity, tr ,v ( y , z ) will be henceforth written as tr ,v , and hr ,v ( y, z ), as hr ,v .

7

Where that causes no confusion (and where that is convenient), for (r , s)  R 2 : s ! r and (U, V )  (/ r , / s ), “ y(ir ,U , r , jr ,U )(is ,V , s , js ,V ) ” will be henceforth written as “ y( r , U )( s,V ) ” . Similarly, for (r , s, t )  R3 with r < s < t and ( U , V ,W )  (/ r , / s , /t ), “ z(ir ,U , r , jr ,U )(is ,V , s , js ,V )(it ,W ,t , jt ,W ) ” will be henceforth written as “ z( r , U )( s ,V )(t ,W ) ”.

8

 (r , s )  R 2 : s t r  2;( U , V )  (/ r , / s ) , the set of arcs at stage (r + 1) of H (y, z)

through which flow propagates from ar,U onto as,V is denoted:

I ( r , U )( s ,V ) ( y, z ) : 9

^O  / r 1 : z(r ,U )(r 1,O)( s,V ) ! 0` .

 (r , s )  R 2 : s t r  2;( U , V )  (/ r , / s ) , the set of arcs at stage (s  1) of H (y, z)

through which flow propagates from ar,U onto as,V is denoted:

278

M. Diaby J ( r , U )( s,V ) ( y, z ) :

^P  / s 1 : z(r ,U )( s 1,P )(s,V ) ! 0`.

Remark 4: An arc of Graph G is included in the graph, H (y,z), induced by a (feasible) instance of (y, z) iff at least one of the complex flow variables associated with the arc (as defined in Notation 6) is positive in the instance. Lemma 2: Let (y, z)  QL. The following holds true:  (r , s )  R 2 : s t r  2;( U , V )  / r , / s , (i) y( r ,U )( s ,V ) ! 0 œ I ( r ,U )( s ,V ) ( y , z ) z ‡ ; (ii) y( r ,U)( s ,V ) ! 0 œ J ( r ,U )( s ,V ) ( y, z ) z ‡; (iii) y( r , U )( s ,V )

¦

OI ( r ,U )( s ,V ) ( y , z )

z( r , U )( r 1,O )( s ,V )

¦

PJ r , U s ,V ( y , z )

z r , p s 1, P s ,V .

Proof: The lemma follows directly from the combination of constraints (17), and constraints (21). Definition 8 (‘Paths in (y, z)’): Let (y, z)  QL. For (r, s)  R2: s t r + 2, we refer to the set of arcs, {ar ,vr , ar 1,vr 1 , !, as ,vs }, of a walk of H (y, z) as a ‘path in (y, z) from (r, vr) to (s, vs)’ if ( g , p, q)  R3 : r d g  p  q d s, z( g ,Q g )( p ,Q p )( q ,vq ) ! 0. Notation 8: Let ( y, z )  QL . (r , s)  R 2 : s t r  2;( U , V )  (/ r , / s ) , 1

The set of all paths in (y, z) from (r, U) to (s, V) is denoted U ( r , U )( s ,V ) ( y, z ) .

2

The index set associated with U ( r , p)( s ,V ) ( y, z ) is denoted ) (J , U )( s ,V ) ( y, z ) : {1, 2, !, M( r , U )( s,V ) ( y, z )}, where M( r , U )( s ,V ) ( y, z ) : | U ( r , U )( s ,V ) ( y, z ) | .

3

The kth element of U ( r , U )( s,V ) ( y, z )(k  ) ( r , U )( s ,V ) ( y, z )) is denoted $( r , U ),( s,V ),k ( y, z ) .

4

k  ) ( r , U )( s ,V ) ( y, z ), the (s  r + 2)-tuple of augmented-VCP-graph-node indices for

nodes of H (y, z) upon which arcs in $( r , U ),( s,V ),k ( y, z ) are incident is denoted , ( r ,U ),( s ,V ), k , ( y, z ) : ( tr ,ir ,k , ! , ts 1,is 1,k ), where the ( p, i p , k )’s ( p

r , ! , s ) index the

arcs in $( r ,U )( s ,V ), k , and ts 1,is1,k : hs ,is ,k . Theorem 7: Let (y, z)  QL. The following holds true:

 (r , s)  R 2 : s t r  2;

( U, V )  ( / r , / s ) ,

y( r , U )( s ,V )

­(i) U ( r , U )( s ,V ) ( y, z ) z ‡; and ° ° ! 0 œ ®(ii)  p  R : r  p  s; v p  / p , z( r , U )( p ,v p )( s ,V ) ! 0 œ ° k  ) ( r , U )( s ,V ) ( y, z ) a p , v p  $( r , U ),( s ,V ),k ( y, z ) °¯

LP formulation of the vertex colouring problem

279

Proof: First, note that it follows directly from the combination of Lemma 1, that the theorem holds true for all (r, s)  R2 with s = r + 2, and all (Q r ,Q s )  (/ r , / s ). (a) Ÿ: Assume there exists an integer Z t 2 such that the theorem holds true for all (r, s)  R2 with s = r + Z , and all (Q r ,Q s )  (/ r , / s ). We will show that the theorem must hold for all (r, s)  R2 with s = r + Z + 1, and all (Q r ,Q s )  (/ r , / s ). Let (p, q)  R2 with q = p + Z + 1, and (D , E )  (/ p , / q ) be such that: y( p ,D )( q ,E ) ! 0.

(32)

(a.1) Relation (32) and Lemma 2 Ÿ I ( p ,D )( q ,E ) ( y, z ) z ‡.

(33)

It follows from (33), Notation 7.8 and constraints (18) that: O  I ( p ,D )( q , E ) ( y, z ), y( p 1,O )( q , E ) ! 0.

(34)

By assumption (since q = (p + 1)+ Z ) , (34) Ÿ (a.1.1)

O  I ( p ,D )( q , E ) ( y, z ), U ( p 1,O )( q , E ) ( y , z ) z ‡

(a.1.2)

 O  I ( p ,D )( q ,E ) ( y, z ); t  R : p  1  t  q; W  / t ,

(35a)

z( p 1,O )(t ,W )( q , E ) ! 0 œ i  ) ( p 1,O )( q , E ) ( y, z ) at ,W  $( p 1,O )( q , E ),i ( y, z ) . (35b) (a.2) Relation (32) and Lemma 2 Ÿ J ( p ,D )( q , E ) ( y, z ) z ‡.

(36)

It follows from (36), Notation 7.9 and constraints (16) that: P  J ( p ,D )( q , E ) ( y, z ), y( p ,D )( q 1, P ) ! 0.

(37)

By assumption (since (q  1) = p + Z), (37) Ÿ (a.2.1)

P  J ( p ,D )( q , E ) ( y , z ), U ( p ,D )( q 1, P ) ( y , z ) z ‡

(a.2.2)

 P  J ( p ,D )( q , E ) ( y, z ); t  R : p  t  q  1;W  / t ,

(38a)

z( p ,D )(t ,W )( q 1, P ) ! 0 œ k  ) ( p ,D )( q 1, P ) ( y, z ) at ,W  $( p ,D )( q 1, P ), k ( y, z ) . (38b) (a.3) Constraints (16)–(19) and Lemma 2.iii Ÿ (a.3.1)

P  / q 1 ,  O  I ( p ,D )( q , E ) , ( y, z ); i  ) ( p 1,O )( q , E ) ( y , z )

aq 1, P  $( p 1,O )( q , E ),i ( y , z )

(a.3.2)

O  / p 1 ,  P  J ( p ,D )( q , E ) , ( y, z ); k  ) ( p ,D )( q 1, P ) ( y, z )

(39a)

280

M. Diaby a p 1,O  $( p ,D )( q 1, P ),k ( y, z )

(a.4) The combination constraints (14) Ÿ

of

(39b)

(35a),

(35b),

(38a)–(39b),

constraints

(19)

and

 O  I ( p ,D )( q ,E ) ( y, z ); i ) ( p 1,O )( q ,E ) ( y, z ); P  J ( p ,D )( q ,E ) ( y, z ); k ) ( p ,D )( q 1, P ) ( y, z )

 t  R : p  t  q; W / t ; at ,W  $( p 1,O )( q ,E ),i ( y, z ) , z( p ,D )(t ,W )( q ,E ) ! 0;

$

( p 1, O )( q ,E ),i ( y , z ) \

^a E ` $

( p ,D )( q 1, P ), k ( y , z ) \

q,

(40)

^a D ` z ‡ . p,

(In words, (40) says that there must exist paths in (y,z) from (p + 1, O) to (q,E), and paths in (y, z) from (p, D) to (q  1, E) that ‘overlap’ at intermediary stages between (p + 1) and (q  1) (inclusive)). (a.5) Let O  I ( p,D )( q ,E ) ( y, z ), i  ) ( p 1,O )( q, E ) ( y, z ), P  J ( p ,D )( q, E ) ( y, z ), and k  ) ( p,D )( q 1,P ) ( y, z ) be such that they satisfy (40). Then, it follows directly from definitions that

^a p,D ` * $( p1,O)(q,E ),i ( y, z) ^aq,E ` * $( p,D )(q 1,P ),k ( y, z)

L:

(41)

is a path in (y, z) from (p, D) to (q, E). Hence, we have that U ( p,D )( q ,E ) ( y, z ) z ‡. (b) : Follows directly from definitions and constraints (17).



Theorem 8 Let(y, z)  QL. Let (D , E )  (/1 , / n 1 ) be such that y(1,D )( n 1, E ) ! 0. The following hold true: (i) U (1,D )( n 1, E ) ( y, z ) z ‡ and ) (1,D )( n 1,E ) ( y, z ) z ‡; (ii) k ) (1,D )( n 1,E ) ( y, z ), & Ž , (1,D )( n 1,E ),k ( y, z ); (iii)  k ) (1,D )( n 1,E ) ( y, z ); ( p, q )  ( S , S \ { p}) ,

i , i  (, p

q

(1,D )( n 1, E ), k ( y , z ) \{G

 1})2 Ÿ i p z iq ;





(iv)  k ) (1,D )( n 1,E ) ( y, z );( p, q )  ( S , S \{ p}) , i p , iq 

  ,

2 (1,D )( n 1,E ), k ( y , z )

Ÿ[

p

z [q .

Proof: Condition (i) follows from Theorem 7. Condition (ii) follows from constraints (19). Condition (iii) follows from constraints (22). Condition (iv) follows from constraints (20). Definition 9 (‘VCP path in (y, z)’): Let ( y, z )  QL . (Q1 ,Q n 1 )  (/1 , / n 1 ), a path in (y, z) from (1, v1) to (n  1, vn 1 ) is referred to as a ‘VCP path in (y, z) (from (1, v1) to (n  1, vn 1 )’.

LP formulation of the vertex colouring problem

281

Notation 9: Let (y, z)  QL. For all (D , E )  (/1 , / n 1 ) : 1 2

The set of all paths in (y, z) from (1, D) to (n  1, E) is denoted as 3DE(y, z). The index set associated with 3DE(y, z) is denoted

Suggest Documents