Linear programming formulation of the vertex colouring problem · LP formulation of the vertex...

31
Int. J. Mathematics in Operational Research, Vol. 2, No. 3, 2010 259 Copyright © 2010 Inderscience Enterprises Ltd. 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 ( 9 3 ) and O ( 8 3 ), respectively, where and 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 of vertices of is called an independent set if no two members of 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

Transcript of Linear programming formulation of the vertex colouring problem · LP formulation of the vertex...

Page 1: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

Int. J. Mathematics in Operational Research, Vol. 2, No. 3, 2010 259

Copyright © 2010 Inderscience Enterprises Ltd.

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 ( 9 3) and O ( 8 3), respectively, where and 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 of vertices of is called an independent set if no two members of are

adjacent. For a given integer k > 0, a k-colouring of is a partitioning of into kindependent sets. The vertex colouring problem (VCP) seeks to determine the smallest

Page 2: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

260 M. Diaby

integer ( ) > 0, known as the chromatic number of , such that admits a ( )-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 ( 9 3)and O ( 8 3), respectively, where and 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.

Page 3: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

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 : set of real numbers.

2 For two column vectors x and y, ( , )T T Txx y

y will be written as ‘(x, y)’ (where

( )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 ‘ 1 1 1 1: ; ; : , ; ;p p p qi A B i A B C C ’ stands for

‘ 1 1 1: , , : ,p p pi A B i A B each statement ( 1, , )jC j 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 ‘ 1 1 1; ; ; ;p p qi A i A B B ’ stands for ‘There exists at least one

object from each ( 1, , ),rA r p such that each expression ( 1, , )sB s 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 : number of vertices of the VCP graph,

Page 4: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

262 M. Diaby

2 : number of available colours/labels ( )

3 1 2: { , , , } (set of vertices of Graph )

4 : {1, 2, , } (set of indices for the vertices of Graph )

5 2: {( , ) : kk t and t are adjacent to each other} (set of edges of Graph )

6 1 2: { , , , }L c c c (set of available colours/labels)

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

8 2: {( , ) ( \ ) : }k t k 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 1

3 dummy node 1 is not adjacent to any node in

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

5 the nodes that receive a given colour, ( ),jc 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 i receives colour .jc 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:

( , ) : jj

u o u (1)

s.t.:

1;ijj

o i (2)

; ( , ) ,kj tj jo o u k t j (3)

, {0,1}; ,j iju o j i (4)

Definition 2: Let ( 1)0 : {( , ) : ( , ) (2) (4)}.P u o u o satisfies We refer to Conv(P0) as

the ‘VCP polytope’.

Page 5: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

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 { 1}, : { : ( , ) }ii j i j (set of indices of the nodes that are non-adjacent to node i in the augmented VCP graph )

2 , : {1, , }jj K (index set for the order in which colour jc L is used)

3 , jj u denotes a binary 0/1 variable that is equal to 1 iff cj is not used;

(i.e. 1)j ju u

4 { 1}; ; ,j ijki j k K x denotes a non-negative variable that is greater

than zero iff i is the kth of the vertices that receive cj.

Our BNF-based formulation of the VCP is as follows.

Problem 2 (Problem BNF): maximise:

( , ) : jj

u x u (5)

s.t.:

1;j

ijkj k K

x i (6)

1, ( 1)j

jkj k K

x (7)

( { 1})

1; ,ijk ji

x j k K (8)

1; ( , ) ,j j

pjk qjk jk K k K

x x u p q j (9)

, {0,1}; , ,j ijk ju x j k K i (10)

1, 0; ,jk jx j k K (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.

Page 6: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

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 ( 1)1 : {( , ) : ( , ) (6) (11)}P u x u x satisfies . We refer to 1Con ( )P

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) 2 :jK k1 k2, (i1, i2) 2 : i1 i2. Clearly,

1 1 2 2, , , , 1i j k i j kx x

and1 2 2 1, , , , 1i j k i j kx x are the same color assignment for

1i and

2.i 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:

c1 c2 c3k = 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 “Demand”

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 14 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10

“Supply” 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 –

Page 7: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

LP formulation of the vertex colouring problem 265

3 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 ( , , ) (( { 1}), , ).ji j k K 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 ( { 1})i is referred to as a level of the graph.

Notation 4 (Multipartite graph notations):

1 : { 1}

2 :n (number of stages of Graph G)

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

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

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

corresponding to the pair (j, 1))

6 , :jj e j (‘stage index’ of the pair ( , ))j

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

associated with stage r)

Page 8: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

266 M. Diaby

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

9 ; { 1} ,r S i

{ 1} ; 1

{ 1} ; 1

{ 1} ; 1;( ) :

; 1;

( \{ }) { 1} ; ;

r r

r

r r

r r

r

i

i ir

i

i

for b r e i

for r b i

for b r e iF i

for b r e i

i for r e r n

for r n

(Forward star of node (i ,r ) of Graph G);

10 ; ( { 1}) ,r S i

1

for 1( ) :

{ : ( )} for 1rr

rB i

j i F j r

(Backward star of node (i , r ) of Graph G)

11 : {( , , ) ( , , ) : ( )}rA i r j R j F 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 havedifferent colours, as a VCP path of the graph; that is, a set of arcs,

11 2 2 3 1(( ,1, ), ( , 2, ), , ( , 1, )) ,n

n ni i i i i n i A is a VCP path iff 2( , ), ( ( , ) ( , \ { }) : ( , ) , )p p q p qt p S i t p q S S p i i i i and

2( ( , ) : ( , ) , ).p q p qp q S i i

Page 9: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

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 Augmented complement VCP graph

Adjacencies in the augmented complement graph

node index, i Di adjacency set 1 {3,4} {3,4,6}2 {6}3 {1,5} {1,5,6}4 {1} {1,6}5 {3} {3,6}6 {1,2,3,4,5} {1,2,3,4,5}

Multipartite graph notation:

3 5 15; {1,2, ,15}; {1, ,14}n S R

‘Stage coverages’ of the colours:

Colour index, j First stage, bj Last stage, ej

1 1 52 6 103 11 15

‘Colours’ of the stages:

Stage, r ‘Colour’, r

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

Page 10: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

268 M. Diaby

Forward stars of the nodes of Graph G:

Stage, r

Level, i r {1, 6, 11} r {2, 3, 4, 7, 8,

9, 12, 13, 14} r {5, 10} r = 15

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}

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

Page 11: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

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) 1 and 4 receive (colour) c1, 2 receives c2, and 3 and 5 (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 2 , and c1 is exclusively applied to

3. 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

Page 12: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

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,

| |,1,

( )

, 1,( ) ( )

: | 0,1| : 1

0 \{1},

i i

r r

Ai j

i N j F i

irj j r i rj F i j B i

W w w

w w r R i N

(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,1

1 2 2 3 1

2 2

: ,1, , , 2, , , , 1, : ( , );

( , ) ( , \{ }) : , , ; ( , ) : , , .

nn n p

p q p q p q p q

i i i i i n i A t p S i t

p q S S p i i i i p q S i i

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 4, and 2 ).

Notation 6:

1 3( )( )( )( , , ) : ; ( , , , , , ) ( , ( ), , ( ), , ( )) ,r s p irj kst upp r s R r s p i j k t u F i F k F u z

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 , )

Page 13: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

LP formulation of the vertex colouring problem 271

2 2( )( )( , ) : ; ( , , , ) ( , ( ), , ( )) ,r s irj kstr s R r s i j k t F i F k y 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:

1 2 3( ,1, )( ,2, )( ,3, )

( ) ( ) ( )1i j j t t

i j F i t F j F tz (12)

( )( )( , 1, ) ( )( )( )( ) ( )

0;

, , : 1; ; ( ); ; ( );p p

irj kst p u irj kst upB u F u

r s

z z

p r s R r s p i j F i k t F k u (13)

( )( , 1, )( ) ( )( )( )( ) ( )

0;

, , : 1 ; ; ( ); ; ( );p p

irj p u kst irj up kstB u F u

r s

z z

p r s R r p s i j F i k t F k u (14)

( , 1, )( )( ) ( )( )( )( ) ( )

0;

, , :1 ; ; ( ); ; ( );p p

p u irj kst up irj kstB u F u

r s

z z

p r s R p r s i j F i k t F k u (15)

( )( ) ( )( )( )( )

0;

, , : ; ; ( ); ; ( )p

irj kst irj kst upu F u

r s

y z

p r s R r s p i j F i k t F u (16)

( )( ) ( )( )( )( )

0;

, , : ; ; ( ); ; ( )s

irj up irj kst upk t F k

r p

y z

p r s R r s p i j F i u F u (17)

( )( ) ( )( )( )( )

0;

, , : ; ; ( ); ; ( )r

kst up irj kst upi j F i

s p

y z

p r s R r s p k t F k u F u (18)

1

( )( ) ( )( )( ) ( )( )( ): ( ) : ( )

( )( )( ): ( )

0;

, : ; ; ( ); ; ( ); \{ , , , }

p p

p

irj kst up irj kst irj up kstp R v F u p R F up r r p s

irj kst pup R B us p

r s

y z z

z

r s R r s i j F i k t F k u i j k t

(19)

Page 14: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

272 M. Diaby

2 21

2 21 1 1

( )( ) ( )( )( ) ( ) ( ) ( )( , ) : ( , ) :

; ;

( )( ) ( )( )( ) ( ) ( ) ( )( , ) : ( , ) :

; ;

( ,

r s r sr s r s

r s r sr s r s

irk jst irk tsjk F i t F j k F i t B jr s R r s R

r s r s

kri jst kri tsjk B i t F j k B i t B jr s R r s R

r s r s

r

y y

y y

2 21

2 21

( )( ) ( )( )( ) ( ) ( ) ( )) : ( , ) :

; ;

( )( ) ( )( )( ) ( ) ( ) ( )( , ) : ( , ) :

; ;

0;

( , )

r s r sr s r s

r s r sr s r s

jst irk tsj irkk F i t F j k F i t B js R r s R

r s r s

jst irk tsj irkk F i t F j k F i t B jr s R r s R

r s r s

y y

y y

i j

(20)

1( )( , 1, )

\{ } ( )0; \{ 1}; ; ( )

rirj k r t r

k j t F ky r R n i j F i (21)

2 21

2 21 1

( )( ) ( )( )( ) ( ) ( ) ( )( , ) : ( , ) :

( )( ) ( )( )( ) ( ) 1( ) ( )( , ) : ( , ) :

1

0;

r s r s

r s r s

irj ksi irj iskj F i k B i j F i k F ir s R r s R

s r s r

jri ksi jri iskj B i k B i j B i k F ir s R r s R

s r s r

y y

y y

i

(22)

( )( ) {0,1} , : ; ( , , , ) ( , ( ), , ( ))irj kst r sy r s R r s i j k t F i F k (23)

( )( )( ) {0,1} , , : ;irj kst upz p r s R r s p (24)

1( , , , , , ) ( , ( ), , ( ), , ( )).s pi j k t u F i F k F 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 levelof the graph pertaining to a node in , or be part of a flow propagation that spans the

Page 15: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between 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 areenforced 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 I : {( , ) : ( , )Q y z y z satisfies (12)–(24)}, where 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, : { , } : ( , )LQ y z y z satisfies (12)–(22), and 0 (y, z) 1}, where 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 9 3( )O

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

Theorem 4: ( , ) Iy z Q iff there exists exactly one n-tuple ( , 1, , )ri r nsuch that:

(i) 1 1 1( )( )( )

1 , , : ; ( , , , , , ) , , , , ,

0r r s s p p

arb csd epffor p r s R r s p a b c d e f i i i i i i

zotherwise

(ii) 1 1( )( )

1 , : ; ( , , , ) , , ,0

r r s sarb csd

for r s R r s a b c d i i i iy

otherwise

(iii) , pt p S i t

(iv) 2( , ) ( , \{ }), ( , ) ( , ).p q p q p qp q S S p i i i i and

Page 16: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

274 M. Diaby

Proof: Let (y ,z) QI. Then, given (23)–(24):

(a) :

Constraint (12) There exists exactly one 4-tuple ( , 1, , 4)ri r such that:

1 2 2 3 3 4( ,1, )( ,2, )( ,3, ) 1i i i i i iz (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 ( , ) .Iy z Q Let ( , 1, , )ri r 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 i t by ( , ) : {( , ), 1, , }r ry z i r n

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

Page 17: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

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) 3( , , ) : ,r s t R r s t

( , , )( , , )( , , )( ) ( ) ( )

1r r s s t t

r r r r s s s s t t t ti r j i s j i t j

i j F i i j F i i j F iz

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

( , , )( , , )( ) ( )

1r r s s

r r r r s s s si r j i s j

i j F i i j F iy

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:

( , , )( , , )( , , )( ) ( ) ( ) r r s s t t

r r r r s s s s t t t ti r j i s j i t j

i j F i i j F i i j F iz

( , , )( , , )( ) ( ) r r s s

r r r r s s s si r j i s j

i j F i i j F iy ((Using (16))

1 11 1 1 1

( ,1, )( , , )( , , )( ) ( ) ( ) r r s s

r r r r s s s si j i r j i s j

i j F i i j F i i j F iz (Using (18))

1 11 1 1 1

( ,1, )( , , )( , , )( ) ( ) ( ) r r s s

s s s s r r r ri j i r j i s j

i j F i i j F i i j F iz (Rearranging)

( ,1, )( , , )( ) ( ) r r s s

r r r r s s s si j i s j

i j F i i j F iy (Using (17))

1 1 2 21 1 1 1 2 2 2 2

( ,1, )( ,2, )( , , )( ) ( ) ( ) s s

s s s si j i j i s j

i j F i i j F i i j F iz (Using (17))

1 1 2 21 1 1 1 2 2 2 2

( ,1, )( ,2, )( , , )( ) ( ) ( ) s s

s s s si j i j i s j

i j F i i j F i i j F iz (Rearranging)

1 1 2 21 1 1 1 2 2 2 2

( ,1, )( ,2, )( ) ( )

i j i ji j F i i j F i

y (Using (16))

Page 18: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

276 M. Diaby

1 1 2 2 31 1 1 1 2 2 2 2 3 3 3 3

( ,1, )( ,2, )( ,3, )( ) ( ) ( ) si j i j i j

i j F i i j F i i j F iz (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 ( , ) .Ly z Q The following holds true:

1 2 3 2 2: 3; ( , , , ) ( , ( ), , ( )) ,r r r r r r r rr R r n i i i i F i F i

1 2 31 1 2 2 3

2 1 1, , ( , 2, )

( , , )( , 1, )( , 2, )

(i) ( );0 (ii) 0r r r r

r r r r r r

r r ri r i i r i

i r i i r i i r i

i F i andy

z (26)

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

1 2 31 2, 2, 3 1, , , 1, , 2,, ,

1 2 3 2 2

0

( , , , ) ( , ( ), , ( ))

r r r rr r r r ir ri r i k r t i r ii r i i k t F k

r r r r r r r r

y z

i i i i F i F i (27)

Constraints (21) and (16)–(18)

1 2, 3

1 2 3 2 2

( , , )( , 1, )( 2, ) 1 2

( , , , , , ) ( , ( ), , ( ), , ) ,

0 , and .r r r r

r r r r r r r r

i r i k r t i r i r r

i i i i k t F i F i

z k i t i (28)

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

1 2 3 1 1 2 2 3, , , 2, , , , 1, , 2,

1 2 3 2 2

0

, , , , , , .r r r r r r r r r ri r i i r i i r i i r i i r i

r r r r r r r r

y z

i i i i F i F i(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

1 1 2 2 3, , , 1, , 2,r r r r r ri r i i r i i r iz is

not defined if 2 1 1( ).r r ri F i

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 V y z A y z

where:

Page 19: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

LP formulation of the vertex colouring problem 277

1 2

1 1

1 1

,1, ,2,

( ,1, )( )( ) ( )

( ,1, )( , 1, )( ) ( )

, : ,1 : 0

, :1 ; 0

, : 0 ;

r

n

i j j tj F i t F j

a b irja N b F a j F i

a b j n ia N b F a j B i

V y z i V y

i r V r n y

i n V y

(30)

2

1 1

,1, ,2,

( ,1, )( )( )

( , ) : ,1, : 0

( , , ) : 1; 0 .

i j j tt F j

a b irja N b F a

A y z i j A y

i r j A r y

(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 ( , ) | ( , ) | .r ry z y z For simplicity, ( , )r y z will be henceforth written as r (unless

that causes ambiguity).

4 The index set associated with r(y, z) is denoted ( , ) : {1,2, , }.r ry z 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 ,( , ) ( ),rr v R the tail of ar,v is labelled , ,r vt ( y z ); the head of ar,v is labelled

, ,r vh ( y z ). For simplicity, , ,r vt ( y z ) will be henceforth written as , ,r vt and

, ,r vh ( y z ), as , .r vh

7 Where that causes no confusion (and where that is convenient), for 2( , ) :r s R s r and ( , ) ( , ),r s , , , , ,( , , )( , )“ ”

r r s si r j i s jy will be henceforth

written as ( , )( , )“ ”r sy . Similarly, for 3( , , )r s t R with r < s < t and

( , , ) ( , , ),r s t , , , , , ,( , , )( , , )( , , )“ ”r r s s t ti r j i s j i t jz will be henceforth written as

( , )( , )( , )“ ”.r s tz

8 2( , ) : 2;( , ) ( , ) ,r sr s R s r the set of arcs at stage (r + 1) of H (y, z)

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

( , )( , ) 1 ( , )( 1, )( , )( , ) : : 0r s r r r sI y z z .

9 2( , ) : 2;( , ) ( , ) ,r sr s R s r the set of arcs at stage (s 1) of H (y, z)

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

Page 20: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

278 M. Diaby

( , )( , ) 1 ( , )( 1, )( , )( , ) : : 0 .r s s r s sJ y z z

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:

2( , ) : 2;( , ) , ,r sr s R s r

( , )( , ) ( , )( , )0 ( , ) ;r s r s(i) y I y z

(ii) ( , )( , ) ( , )( , )0 ( , ) ;r s r sy J y z

(iii) ( , )( , ) , ,

( , )( , ) ( , )( 1, )( , ) , 1, ,( , ) ( , )

.r s r s

r s r r s r p s sI y z J y z

y z z

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 r + 2, we refer to the set of arcs,

1, 1, ,{ , , , },r r sr v r v s va a a of a walk of H (y, z) as a ‘path in (y, z) from (r, vr) to

(s, vs)’ if 3( , )( , )( , )( , , ) : , 0.

g p qg p q vg p q R r g p q s z

Notation 8: Let 2( , ) . ( , ) : 2;( , ) ( , ) ,L r sy z Q r s R s r

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

2 The index set associated with ( , )( , ) ( , )r p sU y z is denoted ( , )( , ) ( , ) :s y z

( , )( , ){1, 2, , ( , )},r s y z where ( , )( , ) ( , )( , )( , ) : | ( , ) |r s r sy z U y z .

3 The kth element of ( , )( , ) ( , )( , )( , )( ( , ))r s r sU y z k y z is denoted ( , ),( , ), ( , )r s k y z .

4 ( , )( , ) ( , ),r sk y z the (s r + 2)-tuple of augmented-VCP-graph-node indices for nodes of H (y, z) upon which arcs in ( , ),( , ), ( , )r s k y z are incident is denoted

( , ),( , ), , ( , )r s k y z, 1,, 1,: ( , , ),

r k s kr i s it t where the ,( , )’ ( , , )p kp i s p r s index the

arcs in ( , )( , ), ,r s k and 1, ,1, ,: .

s k s ks i s it h

Theorem 7: Let (y, z) QL. The following holds true: 2( , ) : 2;r s R s r

( , ) ( , ) ,r s

( , )( , )

( , )( , ) ( , )( , )( , )

( , )( , ) , ( , ),( , ),

(i) ( , ) ;

0 (ii) : ; , 0

( , ) ( , )p

r s

r s p p r p v s

r s p p r s k

U y z and

y p R r p s v z

k y z a v y z

Page 21: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

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 ( , ) ( , ).r s r s

(a) :

Assume there exists an integer 2 such that the theorem holds true for all (r, s) R2

with s = r + , and all ( , ) ( , ).r s r s We will show that the theorem must hold for all (r, s) R2 with s = r + + 1, and all ( , ) ( , ).r s r s

Let (p, q) R2 with q = p + + 1, and ( , ) ( , )p q be such that:

( , )( , ) 0.p qy (32)

(a.1) Relation (32) and Lemma 2

( , )( , ) ( , ) .p qI y z (33)

It follows from (33), Notation 7.8 and constraints (18) that:

( , )( , ) ( 1, )( , )( , ), 0.p q p qI y z y (34)

By assumption (since q = (p + 1)+ ) , (34)

(a.1.1) ( , )( , ) ( 1, )( , )( , ), ( , )p q p qI y z U y z (35a)

(a.1.2) ( , )( , ) ( , ); : 1 ; ,p q tI y z t R p t q

( 1, )( , )( , ) ( 1, )( , ) , ( 1, )( , ),0 ( , ) ( , ) .p t q p q t p q iz i y z a y z (35b)

(a.2) Relation (32) and Lemma 2

( , )( , ) ( , ) .p qJ y z (36)

It follows from (36), Notation 7.9 and constraints (16) that:

( , )( , ) ( , )( 1, )( , ), 0.p q p qJ y z y (37)

By assumption (since (q 1) = p + ), (37)

(a.2.1) ( , )( , ) ( , )( 1, )( , ), ( , )p q p qJ y z U y z (38a)

(a.2.2) ( , )( , ) ( , ); : 1; ,p q tJ y z t R p t q

( , )( , )( 1, ) ( , )( 1, ) , ( , )( 1, ),0 ( , ) ( , ) .p t q p q t p q kz k y z a y z (38b)

(a.3) Constraints (16)–(19) and Lemma 2.iii

(a.3.1) 1 ( , )( , ) ( 1, )( , ), , ( , ); ( , )q p q p qI y z i y z

1, ( 1, )( , ), ( , )q p q ia y z (39a)

(a.3.2) 1 ( , )( , ) ( , )( 1, ), , ( , ); ( , )p p q p qJ y z k y z

Page 22: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

280 M. Diaby

1, ( , )( 1, ), ( , )p p q ka y z (39b)

(a.4) The combination of (35a), (35b), (38a)–(39b), constraints (19) and constraints (14)

( , )( , ) ( 1, )( , ) ( , )( , )

( , )( 1, )

, ( 1, )( , ), ( , )( , )( , )

( 1, )( , ), , ( , )( 1, ), ,

( , ); ( , ); ( , );

( , )

: ; ; ( , ) , 0;

( , ) \ ( , ) \ .

p q p q p q

p q

t t p q i p t q

p q i q p q k p

I y z i y z J y z

k y z

t R p t q a y z z

y z a y z a

(40)

(In words, (40) says that there must exist paths in (y,z) from (p + 1, ) to (q, ), and paths in (y, z) from (p, ) to (q 1, ) that ‘overlap’ at intermediary stages between (p + 1) and (q 1) (inclusive)).

(a.5) Let ( , )( , ) ( 1, )( , ) ( , )( , )( , ), ( , ), ( , ),p q p q p qI y z i y z J y z and ( , )( 1, )p qk

( , )y z be such that they satisfy (40). Then, it follows directly from definitions that

, ( 1, )( , ), , ( , )( 1, ),: ( , ) ( , )p p q i q p q kL a y z a y z (41)

is a path in (y, z) from (p, ) to (q, ).Hence, we have that ( , )( , ) ( , ) .p qU y z

(b) : Follows directly from definitions and constraints (17).

Theorem 8 Let(y, z) QL. Let 1 1( , ) ( , )n be such that (1, )( 1, ) 0.ny The

following hold true:

(i) (1, )( 1, ) ( , )nU y z and (1, )( 1, ) ( , ) ;n y z

(ii) (1, )( 1, ) (1, )( 1, ),( , ), ( , );n n kk y z y z

(iii) (1, )( 1, ) ( , ); ( , ) ( , \{ }) ,nk y z p q S S p

2(1, )( 1, ),, ( ( , ) \{ 1}) ;p q n k p qi i y z i i

(iv) (1, )( 1, )

2(1, )( 1, ),

( , ); ( , ) ( , \{ }) , ,

( , ) .

n p q

n k p q

k y z p q S S p i i

y z

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 ( , ) .Ly z Q 1 1 1 1( , ) ( , ),n n a path in (y, z) from (1, v1) to 1( 1, )nn v is referred to as a ‘VCP path in (y, z) (from (1, v1) to

1( 1, )’.nn v

Page 23: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

LP formulation of the vertex colouring problem 281

Notation 9: Let (y, z) QL. For all 1 1( , ) ( , )n :

1 The set of all paths in (y, z) from (1, ) to (n 1, ) is denoted as (y, z).

2 The index set associated with (y, z) is denoted ( , ) :y z (1, 2, , ( , )},y zwhere ( , ) : | ( , ) |y z y z .

3 The kth element of (y, z) is denoted k (y, z).

Remark 5: Let 1 1( , ) . ( , ) ( , ),L ny z Q

1 (1, )( 1, )( , ) ( , )ny z U y z

2 (1, ),( 1, )( , ) ( , );ny z y z

3 (1, )( 1, )( , ) ( , );ny z y z

4 We assume (w.l.o.g.) that: (1, ),( 1, ),( , ), ( , ) ( , ).k n kk y z y z y z

Theorem 9: For (y , z ) QL:

(i) Every VCP path in (y, z) corresponds to exactly one VCP path of Graph G.

(ii) Every VCP path in (y, z) corresponds to exactly one extreme point of the BNF polytope.

(iii) Every VCP path in (y, z) corresponds to exactly one point of P0.

(iv) Every VCP path in (y, z) corresponds to exactly one extreme point of the VCP polytope.

(v) Every VCP path in (y, z) corresponds to exactly one point of P1.

(vi) Every VCP path in (y, z) corresponds to exactly one feasible colouring of the VCP graph, .

(vii) Every VCP path in (y, z) corresponds to exactly one point of QI.

Proof: Condition (i) follows from the combination of Theorem 8 and Definition 5.2. Conditions (ii)–(vii) follow from the combination of Condition (i) with Theorem 5 and Remark 1.

Theorem 10: Let (y, z) QL. The following hold true:

(i) ; ,rr R

1 1 ,; ; ( , ) ( , ).n r py z a y z

(ii) 2( , ) : ; ;r sr s R r s ,

2( , )( , ) 1 1 , ,0 ; ; ( , ) , ( , ) .r s n r sy y z a a y z

(iii) 3( , , ) : ; ; ; ,r s tr s t R r s t

Page 24: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

282 M. Diaby

( , )( , )( , ) 1 1

3, , ,

0 ; ; ( , )

( , , ) ( , ) .

r s t n

r s t

z y z

a a a P y z

Proof: The theorem follows directly from Theorem 7.

Theorem 11: Let (y, z) QL. A given VCP path in (y, z) cannot be represented as a convex combination of other VCP paths in (y, z).

Proof: The theorem follows directly from the combination of Theorems 3 and 9.

Definition 10 (‘Weights’ of VCP paths in (y, z)): Let (y, z) QL. For 1 1( , ) ( , )n

such that (1, )( 1, ) 0,ny and , ( , ),k y z we refer to the quantity

,

( , )( , )( , )33( ,, ,

( , ) : min( , , ) : ; ( , , ) ( , , ):

, ) ( , )r

k r s tr s t

s t k

y z zr s t R r s t

a a a P y z

(42)

as the ‘weight’ of (VCP path in (y, z)) k(y, z).

Lemma 3: Let (y, z) QL. The following holds true:

(i) 2( , ) : ; , , ,r s r sr s R r s v v

1 1, ,

( , ):2( , ,

( , ).

, ) ( , )r s

n

r s

r v s vy z

r v s v

y y z

a a P y z

(ii) 3( , , ) : ; , , , , ,r s t r s tr s t R r s t

1 13

, , ,

, , ,( , ):

( , , ) ( , )

( , ).r s t

n

r v s v tr s t

r s ty z

a a a P y z

z y z

Proof: The lemma follows directly from the combination of Theorem 10, the flow additivities implied by Theorem 11, the flow conservations implicit in constraints (13)–(15), and constraints (16)–(18).

Theorem 12: Let (y, z) QL. The following holds true:

(i) 2( , ) : ; , , ,r s r sr s R r s v v

1 12

, ,

, ,( , ):

( , ) ( , )

( , ).r s

n

r v s vr s

r v s vy z

a a P y z

y y z

(ii) 3( , , ) : ; , , , , ,r s t r s tr s t R r s t

Page 25: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

LP formulation of the vertex colouring problem 283

1 13

, , ,

, , ,( , ):

( , , ) ( , )

( , ).r s t

n

r v s v tr s t

r s ty z

a a a P y z

z y z

Proof:

(i) Let (r, s) R2: s > r.

From the combination of constraints (12)–(18) and Theorems 6 and 11, we have:

1( , )( , )

( , )( , ) 1

r s r nr s

y zy y z (43)

Using Theorem 10, we have:

1 1 1 12

, , ( , )

( , ) ( , ):( , )

( , ) ( , )n r s n

r s y z

y z y za a P

y z y z (44)

Combining (43) and (44), we have:

1 12

, ,

( , )( , )( , ):

( , ) ( , )

( , ) 0r s n

r s

r sy z

a a P y z

y y z (45)

Condition (i) of the theorem follows directly from the combination of (45) and Lemma 3(i).

(ii) Let (r, s, t) R3: r < s < t.

From the combination of constraints (12)–(15) and Theorems 6 and 11, we have:

1 1( , )( , )( , )

( , )( , ) 1

r s t n

r s ty z

z y z (46)

Using Theorem 10, we have:

1 1 1 1 13

, , ,

( , ) ( , ):( , , ) ( , )

( , ) ( , )n s t n

r s t

y z y za a a P y z

y z y z (47)

Combining (46) and (47), we have:

1 13

, , ,

( , )( , )( , )( , ):

( , , ) ( , )

( , ) 0r s t n

r s t

r s ty z

a a a y z

z y z (48)

Condition (ii) of the theorem follows directly from the combination of (48) and Lemma 3(ii).

Page 26: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

284 M. Diaby

Corollary 1

(i) (y, z) QL iff (y, z) corresponds to a convex combination of VCP paths of Graph G with coefficients equal to the weights of the corresponding VCP paths in (y, z).

(ii) (y, z) QL iff (y , z ) corresponds to a convex combination of extreme points of the BNF polytope with coefficients equal to the weights of the corresponding VCP paths in (y, z).

(iii) (y, z) QL iff (y , z ) corresponds to a convex combination of feasible colourings for the VCP with coefficients equal to the weights of the corresponding VCP paths in (y, z).

Theorem 14 The following holds true:

(i) QL = Conv(QI)

(ii) Ext(QL ) = Q1.

Proof: Condition (i) of the theorem follows directly from the combination of Theorem 9, Theorem 11 and Corollary 1. Condition (ii) follows from the combination of condition (i) and Theorem 5.v.

4 LP model of the VCP

4.1 Objective function

The objective function to apply over QL may seek to minimise the number of colours used (as in the standard VCP formulation; that is, Problem VCP), or may seek to maximise the number of colours not used (as in Problem BNF). These two alternatives are illustrated in Figures 3 and 4 for the illustrative problem of Example 12. In the remainder of this paper, we will use the maximisation form.

Notation 10 (LP objective function ‘costs’): 3( , , ) : ,p r s R p r s ( , , , , , )u i j k t( , ( ), , ( ), , ( )),p r sF u F i F k the ‘costs’ associated with the z-variables of our LP model

are as follows:

( )( )( )1 ; 1; 2; 1

:0 .

rup irj kst

if p b r p s p ud

otherwise

Theorem 15 Let:

3( )( )( ) ( )( )( )

( ) ( ) ( )( , , ) :

( , ) :

p r s

T T

up irj kst up irj kstu F u i j F i k i F kp r s R p r s

y z d z y

d z

0

Then, for (y, z) Ext(QL ), (y, z ) accurately accounts the cost of the VCP solution corresponding to (y, z).

Page 27: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

LP formulation of the vertex colouring problem 285

Proof: From Theorem 14,

( , ) Ext( ) ( , )L Iy z Q y z Q

Now, using Theorem 4 and Definition 7, it can be verified directly that for (y, z) QI,(y, z) accurately accounts the number of colours not-used.

The arc costs are illustrated in Figures 3 and 4 for the numerical illustration of Example 12.

Figure 3 Illustration of arc costs for an objective function to be minimised

Figure 4 Illustration of arc costs for an objective function to be maximised

Page 28: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

286 M. Diaby

4.2 Overall linear program

Theorem 16: The following statements are true of basic feasible solutions (BFS) of Problem LP:

max{ ( , ) : ( , ) }Ly z y z Q

and feasible colourings of :

(i) Every BFS of Problem LP corresponds to a feasible colouring of .

(ii) Every feasible colouring of corresponds to a BFS of Problem LP.

(iii) The mapping of BFS’s of Problem LP onto feasible colourings of is surjective.

Proof: Statements (i) and (ii) of the theorem follow directly from the combination of Theorem 14, Corollary 2.iii, and the correspondence between BFS’s of LP models and extreme points of their associated polyhedra (see Bazaraa et al., 2005, pp.92–101). Statement (iii) follows from the primal degeneracy of Problem LP (see Nemhauser and Wolsey, 1988, p.32).

Corollary 3: Problem LP solves the VCP.

5 Conclusions

We have developed a BNF-based model and a first LP formulation of the VCP. The computational complexity order of the number of variables and the number of constraints of our proposed LP are O ( 9 3) and O ( 8 3), respectively, where and are the number of nodes and the number of colours in the VCP, respectively. Hence, the significance of our development reaches beyond the scope of the VCP per se, to a reaffirmation of the equality of the computational complexity classes ‘P’ and ‘NP.’ With respect to solving practical-sized problems, the major difficulties with our LP model are that it is very-large-scale, and that it is very degenerate (in both its primal and dual forms). We believe a worthwhile direction for future research in trying to overcome these difficulties may be the development of large-scale optimisation approaches (e.g. see Mehrotra and Trick, 1996) aimed at exploiting the special structure of our model (as developed in this paper). Also, it seems that good, mathematical programming-based heuristic solutions may be obtained using the BNF-based reformulation proposed in this paper. Such solutions could be used as starting points for the large-scale optimisation approaches we have suggested.

Acknowledgements

The author would like to thank anonymous referees for comments that helped improve this paper.

Page 29: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

LP formulation of the vertex colouring problem 287

References Albertson, M.O., Jamison, R.E., Hedetniemi, S.T. and Locke, S.C. (1989) ‘The subchromatic

number of a graph’, in D. de Werra and A. Hertz (Eds.), ‘Graph Coloring and Variations’, Annals of Discrete Mathematics, Vol. 39, pp.33–50.

Avanthay, C., Hertz, A. and Zufferey, N. (2003) ‘A variable neighborhood search for graph coloring’, European Journal of Operational Research, Vol. 151, No. 2, pp.379–388.

Bazaraa, M.S., Jarvis, J.J. and Sherali, H.D. (2005) Linear Programming and Network Flows,Wiley, New York.

Blöchliger, I. and Zufferey, N. (2008) ‘A graph coloring heuristic using partial solutions and a reactive tabu scheme’, Computers and Operations Research, Vol. 35, No. 3, pp.960–975.

Brelaz, D. (1979) ‘New methods to color the vertices of a graph’, Communications of the ACM,Vol. 22, pp.251–256.

Burke, E.K., McCollum, B., Meisels, A., Petrovic, S. and Qu, R. (2007) ‘A graph-based hyper-heuristic for educational timetabling problems’, European Journal of Operational Research, Vol. 176, No. 1, pp.177–192.

Butenko, S., Festa, P. and Pardalos, P.M. (2001) ‘On the chromatic number of graphs’, Journal of Optimization Theory and Applications, Vol. 109, No. 1, pp.69–83.

Calamoneri, T. (2006) ‘The L(h, k)-labelling problem: a survey and annotated bibliography’, The Computer Journal, Vol. 49, No. 5, pp.585–608.

Caramia, M. and Dell’Olmo, P. (2002) ‘Constraint propagation in graph coloring’, Journal of Heuristics, Vol. 8, No. 1, pp.83–107.

Caramia, M. and Dell’Olmo, P. (2008) ‘Embedding a novel objective function in a two-phased local search for robust vertex coloring’, European Journal of Operational Research, Vol. 189, No. 3, pp.1358–1380.

Chu, C-Y., Tor, S.B. and Britton, G.A. (2008) ‘Graph theoretic algorithm for automatic operation sequencing for progressive die design’, Int. J. Production Research, Vol. 46, No. 11, pp.2965–2988.

Coll, P., Marenco, J., Diaz, I.M. and Zabala, P. (2002). ‘Facets of the graph coloring polytope’, Annals of Operations Research, Vol. 116, No. 1, pp.79–90.

Costa, D., Hertz, A. and Dubuis, O. (1995) ‘Embedding of a sequential procedure within an evolutionary algorithm for coloring problem in graphs’, Journal of Heuristics, Vol. 1, No. 1, pp.105–128.

de Werra, D. (1985) ‘An introduction to timetabling’, European Journal of Operational Research,Vol. 19, No. 2, pp.151–162.

Demange, M., Ekim, T. and de Werra, D. (2009) ‘A tutorial on the use of graph coloring for some problems in robotics’, European Journal of Operational Research, Vol. 192, No. 1, pp.41–55.

Diaby, M. (2007) ‘The traveling salesman problem: a linear programming formulation’, WSEAS Transactions on Mathematics, Vol. 6, No. 6, pp.745–754.

Dowsland, K.A. and Thompson, J.M. (2005) ‘Ant colony optimization for the examination scheduling problem’, Journal of the Operational Research Society, Vol. 56, No. 4, pp.426–438.

Dukanovic, I. and Rendl, F. (2007) ‘Semidefinite programming relaxations for graph coloring and maximal clique problems’, Mathematical Programming, Vol. 109, Nos. 2/3, pp.345–365.

Fleurent, C. and Ferland, J.A. (1996) ‘Genetic and hybrid algorithms for graph coloring’, Annals of Operations Research, Vol. 63, No. 3, pp.437–461.

Fritsch, R. and Fritsch, G. (1998) The Four-Color Theorem, New York: Wiley. Galinier, P. and Hao, J.K. (1999) ‘Hybrid evolutionary algorithms for graph coloring’, Journal of

Combinatorial Optimization, Vol. 3, No. 4, pp.379–397. Galinier, P. and Hertz, A. (2006) ‘A survey of local search methods for graph coloring’, Computers

and Operations Research, Vol. 33, No. 9, pp.2547–2562.

Page 30: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

288 M. Diaby

Gamache, M., Hertz, A. and Ouellet, J.O. (2007) ‘A graph coloring model for a feasibility problem in monthly crew scheduling with preferential bidding’, Computers and Operations Research,Vol. 34, No. 8, pp.2384–2395.

Garey, M. and Johnson, D.S. (1979) Computers and Intractability: A Guide to the Theory of NP-Completeness, San Francisco: Freeman.

Gebremedhin, A.H., Manne, F. and Pothen, A. (2005) ‘What color is your Jacobian? Graph coloring for computing derivatives’, SIAM Review, Vol. 47, No. 4, pp.629–705.

Glover, F. (2003) ‘Tutorial on surrogate constraint approaches for optimization in graphs’, Journal of Heuristics, Vol. 9, No. 3, pp.175–227.

Gomez, D., Montero, J., Yanez, J. and Poidomani, C. (2007) ‘A graph coloring approach for image segmentation’, Omega, Vol. 35, No. 2, pp.173–183.

Govindaraju, N.K., Knott, D., Jain, N., Kabul, I., Tamstorf, R., Gayle, R., Lin, M.C. and Manocha, D. (2005) ‘Interactive collision detection between deformable models using chromatic decomposition’, ACM Transactions on Graphics, Vol. 24, No. 3, pp.991–999.

Kania, D. and Kulisz, J. (2007) ‘Logic synthesis for PAL-based CPLD-s based on two-stage decomposition’, The Journal of Systems and Software, Vol. 80, No. 7, pp.1129–1141.

Karp, R.M. (1972) ‘Reducibility among combinatorial problems’, in R.E. Miller and J.W. Thatcher (Eds.), Complexity of Computer Computations, New York: Plenum Press, pp.85–103.

Kochenberger, G.A., Glover, F., Alidaee, B. and Rego, C. (2005) ‘An unconstrained quadratic binary programming approach to the vertex coloring problem’, Annals of Operations Research, Vol. 139, No. 1, pp.229–241.

Kubale, M. and Jackowski, B. (1985) ‘A generalized implicit enumeration algorithm for graph coloring’, Communications of the ACM, Vol. 28, No. 4, pp.412–418.

Laguna, M. and Marti, R. (2001) ‘A GRASP for coloring sparse graphs’, Computational Optimization and Applications, Vol. 19, No. 2, pp.165–178.

Leighton, F.T. (1979) ‘A graph coloring algorithm for large scheduling problems’, Journal of Research of the National Bureau of Standards, Vol. 84, pp.489–503.

Lucet, C., Mendes, F. and Moukrim, A. (2006) ‘An exact method for graph coloring’, Computers and Operations Research, Vol. 33, No. 8, pp.2189–2207.

Malaguti, E., Monaci, M. and Toth, P. (2008) ‘A metaheuristic approach for the vertex coloring problem’, INFORMS Journal on Computing, Vol. 20, No. 2, pp.302–316.

Malaguti, E. and Toth, P. (2008) ‘An evolutionary approach for bandwidth multicoloring problems’, European Journal of Operational Research, Vol. 189, No. 3, pp.638–651.

Mehrotra A. and Trick M.A. (1996) ‘A colum generation approach for graph coloring’, INFORMS Journal on Computing, Vol. 8, No. 4, pp.344–354.

Mehrotra A. and Trick M.A. (2007) ‘A branch-and-price approach for graph multi-coloring’, in E.K. Baker, A. Joseph, A. Mehrotra and M.A. Trick (Eds.), Extending the Horizons: Advances in Computing, Optimization, and Decision Technologies, Springer Operations Research/Computer Science Interface Series, New York: Springer, pp.39–46.

Meurdesoif, P. (2005) ‘Strengthening the Lovász [theta](G[bar]) bound for graph coloring’, Mathematical Programming, Vol. 102, No. 3, pp.577–588.

Nemhauser, G.L. and Wolsey, L.A. (1988) Integer and Combinatorial Optimization, New York: Wiley.

Noronha, T.F. and Ribeiro, C.C. (2006) ‘Routing and wavelength assignment by partition colouring’, European Journal of Operational Research, Vol. 171, No. 3, pp.797–810.

Oliveira, C.A.S., Pardalos, P.A. and Querido, T.M. (2005) ‘A combinatorial algorithm for message scheduling on controller area networks’, Int. J. Operational Research, Vol. 1, Nos. 1/2, pp.160–171.

Pardalos, P.M., Mauridon, T. and Xue, J. (1999) ‘The graph coloring problem: a bibliographic survey’, in D.Z. Du and P.M. Pardalos (Eds.), Handbook of Combinatorial Optimization,Vol. 2, Dordrecht, Holland: Kluwer Academic Publishers, pp.331–395.

Page 31: Linear programming formulation of the vertex colouring problem · LP formulation of the vertex colouring problem 263 Theorem 1: There exists a one-to-one correspondence between the

LP formulation of the vertex colouring problem 289

Peng, C., Zheng, H. and Zhao, B.Y. (2006) ‘Utilization and fairness in spectrum assignment for opportunistic spectrum access’, Mobile Networks and Applications, Vol. 11, No. 4, pp.555–576.

Sager T.J. and Lin S. (1991) ‘A pruning procedure for exact graph coloring’, ORSA Journal on Computing, Vol. 3, No. 3, pp.226–230.

Saygin, C., Cha, K., Zawodniok, M., Ramachandran, A. and Sarangapani, J. (2006) ‘Interference mitigation and read rate improvement in RFID-based network-centric environments’, Sensor Review, Vol. 26, No. 4, pp.318–325.

Schiermeyer, I. (2008) ‘Algorithmic bounds for the chromatic number’, Optimization, Vol. 57, No. 1, pp.153–158.

Sewell, E. (1993) ‘An improved algorithm for exact graph coloring’, in D.S. Johnson and M.A. Trick (Eds.), ‘Cliques, Coloring, and Satisfiability’, Proceedings of t he Second DIMACS Implementation Challenge, American Mathematical Society, pp.359–373.

Talaván, P.M. and Javier Yáñez, J. (2008) ‘The graph coloring problem: a neuronal network approach’, European Journal of Operational Research, Vol. 191, No. 1, pp.98–109.

Woo, T.K., Su, S.Y.W. and Wolfe, R.N. (2002) ‘Resource allocation in a dynamically partitionable bus network using graph coloring algorithm’, IEEE Transactions on Communications,Vol. 39, No. 12, pp.1794–1801.

Zufferey, N., Amstutz, P. and Giaccari, P. (2008) ‘Graph colouring approaches for a satellite range scheduling problem’, Journal of Scheduling, Vol. 11, No. 4, pp.263–277.