Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 20

Even cycles: Solving Perfect Matching problems with side constraints

Elena Fernandez ¹ and Oscar Meza ²

¹ Statistics and Operations Research Department. Technical University of Catalonia.


Pau Gargallo, 5. 08028 Barcelona. Spain.
E.Fernandez@upc.es

² Computer Science and Information Technology Department. Simón Bolívar University.


Baruta. Venezuela.
meza@ldc.usb.ve

Draft 17/01/01
Abstract

The minimum weight perfect matching problem is one of the best-known


Combinatorial Optimization problems. From both the combinatorial and the polyhedral
point of view, odd cycles are the elements that permit to derive efficient algorithms to
solve this problem, by identifying blossoms in the first case or by generating valid
inequalities that eliminate extreme points associated to odd circuits in the second case.
Unfortunately, when side constraints are added most of the structural properties of the
underlying combinatorial problem are lost. Now it is also possible that even cycles be
associated to some extreme points of the corresponding polytope.
In this work we study two different types of graphs that contain even circuits and,
possibly, some chords. The objective is to analyze some properties of these types of
graphs that can be used to solve perfect matching optimization problems when side
constraints are posed. In particular, we obtain the maximum number of edges of certain
classes that can occur in the solutions to the considered problems. Finally, we examine
the application of the obtained results within two different algorithmic frameworks: We
present a class of valid inequalities and we sketch a possible enumerative scheme.

1. Introduction

Optimization Matching problems constitute one of the best-known classes of combinatorial optimization
problems. Comprehensive reviews on the topic can be found, for instance, in Gerads (1995), Grötschel,
Lovász and Schriver (1988), and Korte and Vygen (2000). In the case of the weighted perfect matching
problem, Edmonds (1965) gave a polynomial time algorithm and an explicit linear characterization of its
polyhedron, thus describing the problem as a linear program. Although the program has an exponential
number of constraints Edmonds was able to solve it in polynomial time by using the structural properties
of the underlying combinatorial problem. Nevertheless, algorithms that exploit the linear description of
the polyhedron (see Grötschel and Holland, 1985) have also proven to be competitive in terms of their
performance.
Whether they make use of the combinatorial or the polyhedral structure of the problem, efficient
algorithms exploit the fact that no perfect matching can exist in a subgraph induced by an odd
number of nodes. In particular, odd cycles are the elements that permit to derive such algorithms, by
identifying blossoms in the first case or by generating valid inequalities that eliminate extreme points
associated to odd circuits in the second case.

Unfortunately, when side constraints are added to a weighted matching problem on a graph, most of the
nice structural properties of the underlying combinatorial problem are lost. From a polyhedral point of
view, additional inequalities are required to give a description of the associated polyhedron. In particular,
if we consider the polyhedron that results from adding the side constraints to the linear description of the

1
polyhedron of the original weighted matching problem, it is possible that some of its extreme points be
associated to subgraphs induced by even subsets nodes.

On the other hand, different applications consider weighted matching problems with some type of side
constraints. This is often the case in various types of scheduling problems like, for instance, the ones
considered in Ball and Bodin (1983) and Bell (1992. Other applications are related to routing problems,
like Derigs and Metz (1992) for a variation of the Vehicle Routing Problem. In Garfinkel and Webb
(1999) and Fernández et al. (2000) the classical Rural Postman Problem is modeled as a minimum weight
perfect matching problem, with side constrains that imply connectivity among the components.
However, to the best of our knowledge matching problems with side constraints have only been studied
from a general point of view in Ball and Taverna (1985) and Ball et al. (1990).

In this paper we study two different types of graphs associated to subsets of nodes that contain even
circuits and, possibly, some chords. The objective of the work is to analyze some properties of these types
of graphs that can be used to solve perfect matching optimization problems when side constraints are
posed.

As opposed to the case of odd subsets of nodes, perfect matchings can potentially exist within graphs
associated to even sets of nodes. The simplest case is when the graph consists of a simple cycle through
an even number of nodes. Then the edges that alternate in the cycle can be partitioned into two subsets
each of which defines a perfect matching in the considered graph (the cycle). However, in that case every
feasible solution is such that all the nodes of the cycle are covered by the same of the two mentioned
matchings (alternating matchings). In other situations the graph may consist of a simple cycle through an
even set of nodes plus additional nodes and edges. For this type of graph it may be possible to obtain
perfect matchings where not all the nodes of the cycle are covered by the same alternating matching. The
question remains as to what is the maximum number of edges of each of the alternating matchings that
can co-exist in such feasible perfect matchings in the graph, that we denote the compatibility number.
The above information can be useful to solve weighted matching optimization problems with side
constraints within a mathematical programming context. In particular, it can be applied to obtain valid
inequalities that can be used as cutting planes in a LP-based approach or to define enumerative schemes
to solve the problems.

The paper is organized as follows: Definitions and notation are introduced in Section 2. In Sections 3 and
4, we obtain the compatibility number of the alternating matchings for the two types of considered
graphs.
Section 5 examines the application of the obtained results within two different algorithmic frameworks.
We first obtain a class of valid inequalities and we finally sketch a possible enumerative scheme.

2. Definitions and notation

Let G = (VG, EG) be a graph. An even cycle is a simple cycle C  G with an even number of edges. Let
VC and EC respectively denote the node set and the edge set of an even cycle C, and nC=VC. EC can be
partitioned in two sets of edges, M 1 and M2, that alternate in EC. Since nC =VC is even, M1 and M2 have
the same number of edges nC/2 . M1 and M2 are the alternating matchings of C (see Figure 1)
 

 Edges of M2

 Edges of M1

 The cycles
 continues
 

Figure 1: Alternating matchings in an even cycle

2
Suppose that G contains an even cycle C. Then, a perfect matching in G where not all the nodes of VC are
covered by the same alternating matching is called a combined matching or c-matching in G. For j=1,2,
the compatibility number of Mj in G, , is the maximum number of edges of Mj that can exist in any c-
matching in G. It is defined to be zero when no c-matching exists in G.

It is easy to see that when G itself is an even cycle no c-matching exists. This follows from the fact that
the only perfect matchings in G are M1 and M2. Thus, in any perfect matching in G3 all the nodes of VC
are covered by the same alternating matching. However, for other types of graphs that contain even
cycles, it is possible to find c-matchings. For instance, when G = Kn (complete graph of order n) with n
even, and C is any cycle in Kn through the n nodes (assume, for example, that the nodes are visited in the
natural order), = (n/2) –2.

We next study other types of graphs that contain simple cycles with an even number of edges. For these
graphs we study the compatibility number of the alternating matchings of the cycle.

A path P in G is represented by P=(v0, e1, v1, e2, v2, …er, vr) where v0, v1, …, vr  VG and e1, e2, …, er 
EG. v0, and vr are called the endnodes of P, and v1, …, vr-1 are the inner nodes of P. We say that a path is
odd (resp. even) if it has an odd (resp. even) number of edges. Two paths are vertex-disjoint if they have
no inner vertex in common (they may have one or two common endpoints). When a path P results from
the concatenation of several subpaths P 1, P2, …, Pr, it will also be represented by P=(u 0, P1, u1, P2, …, ur-1,
Pr, ur). Given two graphs A = (V A,EA) and B = (VB,EB), AB = (VAVB, EAEB), AB = (VAVB,
EAEB) and A\B = (VA\VB, EA\EB).

A disjoint chorded cycle or D-chorded cycle is a graph G = C  Ch such that

1. C and Ch are edge disjoint graphs.


2. C is an even cycle of the form C= (v 0, L1, u1, O1, v1, L2, u2, O2, v2 ,… ,Lr, ur, Or, vr), v0 = vr,. For
iI={1,…,r} Li and Oi are simple paths, each Li containing at least one edge.
3. Ch= iI Chi, where the Chi's are pairwise disjoint paths.
4. For iI, Oi and Chi are vertex-disjoint paths with the same endnodes u i and vi; i.e. Ri = Oi  Chi is a
simple cycle.

C is the cycle of G and the Ri's are the rings of G. For iI, Oi is the outer path, Chi is the chord, and ui
and vi are the endnodes of Ri. The Li's are the links of G. Both the outer paths and the links of G are called
the subchains of C. In what follows a D-chorded cycle will be denoted by G = L  O  Ch, being L=
iI Li, and O= iI Oi,

L1 u1 v1 L2
R1
u2 Figure 2 shows a D-chorded cycle where the outer cycle C is represented
v5 by the continuous lines. In this structure C has 30 edges and there are 5
R5 v2 rings. The outer path of R1 contains 4 edges and its chord 3 edges; Its
R3 endnodes are represented by u1 and v1. Note that R3 has one single endnode
u5
and its outer path is empty, while its chord contains its five edges.
v4 u3
u4

Figure 2: D-chorded cycle

Observe that a given graph possibly defines more than one D-chorded cycle. If in the above example, the
role of O2 and Ch2 were interchanged a different D-chorded cycle could be considered. Figure 3 shows the
outer cycle in the resulting structure.

3
u1 v1
But if in this example this interchange were performed in
u2 only one of the other rings the resulting outer cycle would
v5
not be even. Note also that interchanging O i and Chi may
v2 result in a non simple cycle. This would be the case if in this
example O3 and Ch3 were were interchanged.
u5
However, in this example, combined interchanges are also
v4 u3 possible to define different D-chorded cycles in the same
u4
underlying graph.
Figure 3: Different D-chorded cycle
with the same underlying graph

In general, the maximum number of D-chorded cycles in the same underlying graph is 2 r.

3. The Compatibility number of alternating matchings in a D-chorded cycle

In this section we study the compatibility number of the alternating matchings of the cycle of a D-chorded
cycle.
Consider a D-chorded cycle G = L  O  Ch with cycle C = L  O. Note that for any perfect matching
MG in G, all the inner nodes of any subchain of C are covered by the same alternating matching of C.
Therefore, in c-matchings in G, the endnodes of the rings play a special role, since they are the only nodes
that can be covered both by edges of C (i.e., by edges of the alternating matchings) and by edges of the
chords. If an endnode is covered by an edge of C its adjacent outer path and link use the same alternating
matching, whereas if the endnode is covered by an edge of a chord, its adjacent outer path and link use
different alternating matchings (see Figure 4). This idea is stated in the following lemma:

Oi Oi Oi

Li ui Chi Li ui Chi Li ui Chi

Figure 4: Possibilities for covering an endnode in a perfect matching


: Perfect Matching

Lemma 1: Let MG be a perfect matching in G, and let u and v be the endnodes of a ring Ri.
1. If u (respectively v) is covered by one edge of one of the alternating machings, then L i (respectively
Li+1) and Oi use the same alternating matching in MG.
2. If u (respectively v) is covered by one edge of Ch i, then Li (respectively Li+1) and Oi use a different
alternating matching in MG.

Proof of Lemma 1: The proof is obvious, since the endnodes are the only nodes where it is possible to
take over the alternating matching that is being used. 

Remark 1: A necessary condition for the existence of a c-matching in G is that |VG| be even, since
otherwise no perfect matching exists in G. Since we are assuming that |V C| is even, this is equivalent to
iI |VChi| = iI (|EChi| +1) be also even. Alternatively, the condition can be stated as: there is an even
number of even chords (equivalently, there is an even number of chords with an odd number of nodes). In
what follows we assume that |VG| is even. 

Proposition 1: Let MG be a perfect matching in G. For iI


1. If Chi is even, then Li and Li+1 use a different alternating matching in MG.
2. If Chi is odd, then Li and Li+1 use the same alternating matching in MG.

4
Proof of Proposition 1:
1. Chi is even  |VChi| is odd. Hence, in MG, of the two endnodes of Ri, one is covered by an edge of
Chi and the other one is covered by an edge of C. Thus, by Lemma 1, Li and Li+1 use a different
alternating matching in MG.
2. Chi is odd  |VChi| is even. Hence, in MG, either the two endnodes of R i are covered by edges of
Chi, or the two endnodes of R i are covered by edges of C. In the first case, by Lemma 1, L i and Li+1
use the same alternating matching and O i uses the other alternating matching in M G. In the second
case, again by Lemma 1, Li, Oi and Li+1 use the same alternating matching in MG.

The above proposition provides a partition of the links of C in two classes. In any perfect matching in G,
all the links within each class use the same alternating matching. Two consecutive links belong to the
same class if the chord connecting them is odd, otherwise the two links belong to different classes. Each
even chord generates a “switch” in the alternating matching to be used in the following link. For
coherence, the number of “switches” has to be even, which means that there must be an even number of
even chords. Recall that this is the necessary condition of Remark 1. In perfect matchings in G this
partition gives exactly two possibilities for the distribution in L of the edges of the alternating matchings.
Let Î and I \ Î be the subsets of indices associated with each of the two classes (without loss of generality
we can assume that link 1 belongs to Î ). In the first possibility M 1 is used in the links indexed in Î and M2
is used in the links indexed in I \ Î , while the second possibility uses M 2 in Î and M1 in I \Î . When all the
chords are odd, I \ Î is empty. In this case, perfect matchings in G use the same alternating matching in
all L. Note that it is also possible that no edge of M 1 (or M2) exists in some (or all) links indexed in Î or
I \ Î (Figure 10.a). If j denotes the index of one of the alternating matchings of C, let q(j) denote the index
of the other alternating matching in C. That is, q(j)=2 when j=1 and q(j)=1 when j=2. Throughout we will
only refer to the matching used in Î and we will say that a perfect matching in G starts with M j, meaning
that Mj is used in Î (and, therefore that Mq(j) is used in I \ Î ).

Therefore, Proposition 1 also partitions perfect matchings in G in two types depending on the alternating
matching they start with. However, a D-chorded cycle G may not contain a perfect matching that starts
with a given alternating matching M j. When such a perfect matching exists we say that j is a starting
index for G. We next give a characterization of starting indices for G.
Let us denote by MjL the set of edges that are used in the links for a perfect matching in G that starts with
Mj. That is, MjL=[iÎ(ELiMj)][iI \ Î (ELiMq(j))]. Note that, when j is a starting index for G, MjL is
common to all perfect matchings in G that start with Mj. Also, let GjL denote the subgraf of G that results
when eliminating from G the nodes covered by MjL.

Proposition 2: Let G be a D-chorded cycle. For j=1,2, j is a starting index for G if and only if all the
components of GjL have an even number of nodes.
Proof of Proposition 2:
: If some component had an odd number of nodes no perfect matchting of G could start with M j.
: Note that the components of GjL consist of cycles or paths. In both cases perfect matchings within the
components exist. 

For j= 1,2 we define the following values:

MkMjL. if j is a starting index for G


j,k
N =
0 otherwise

max{ | (MkERi) MG | : MG starts with Mj }, if j is a starting index for G


 i
j, k
=
0 otherwise

5
max{ | (MkC) MG | : MG starts with Mj }, if j is a starting index for G
 =
j,k

0 otherwise

When j is a starting index for G, N j,k represents the number of edges of M k in MjL; ij, k represents the the
maximum number of edges of Mk in ring i in any perfect matching that starts with M j; and j,k represents
the maximum number of edges of Mk in C in any perfect matching that starts with Mj.

Proposition 3: For k=1,2,

 iÎ |ELiMk)|, if k=j, and j is a starting index for G

Nj,k=  iI \ Î |ELiMk)|, if k≠j, and j is a starting index for G

0 otherwise

Proposition 4: For iI, and k=1,2

| EOi Mk | , if ui and vi are exposed for Mq(k) MLjand j is a starting index for G
 =
i
j, k

0, otherwise

Proof of Proposition 4:

Suppose that j is a starting index for G.


If ui or vi are not exposed for Mq(k) MjL, by Lemma 1.1, Mq(k) must be used in Oi and ij,k is 0.
Assume now that ui and vi are both exposed for Mq(k) MjL We will see that Mk can be used in Oi, thus ij,k
=| EOiMk|
- If some endnode is covered by MkMjL then, by Lemma 1.1, Mk must be used in Oi in any perfect
matching that starts with Mj and ij,k = | EOiMk|.
- Otherwise, the two endnodes are exposed for MjL. Since j is a starting index, R i is an even cycle.
Thus, one of the alternating matchings of R i, Mik, is formed by EOiMk and possibly additional edges
from the chord. Therefore, if MG is a perfect matching in G that starts with Mj, then (MG\ERi) Mik is
also a perfect matching in G that starts with Mj with the maximum number of edges of Mk in Ri.

Corollary 1: For k=1,2, j,k = j,k + iI ij,k.

Proof of Corollary 1:

j,k +  iI ij,k is an upper bound on j,k. The constructive proof of Proposition 4 can be used to obtain a
perfect matching MG whose number of edges of Mk in C belonging to MG is j,k + iI ij,k.

6
Example 1: Consider the D-chorded cycle of Figure 5.a Figures 5.b and 5.c depict perfect matchings that
start with M1 and M2, respectively.

e17 e18 e1 e2
L1 e3
R4 R1
e16 e4
e15
e14 L4 L2 e5
e13
e12 L3 R2 6
e
R3 e
e1 e10 e9 e 8 7

1
(a): D-Chorded cycle (b) Perfect matching that starts with M1 (c) Perfect matching that starts with M2

M1:
M2:
Figure 5: Example 1

Î={1,2,4}, I \ Î={3}
EL1 M1={e1}, EL1M2= ; EL2M1={e5}, EL2M2= ; EL3M1={e9}, EL3M2= ;
EL4M1={e13, e15}, EL4M2= {e14}. M1L ={e1, e5, e13, e15}, M2L ={e9, e14}
N1,1 = 4, N1,2=0, N2,1=1, N2,2 = 1
As we can see in Figure 6.a, all the endnodes are exposed for M2M1L (although M2 is used in L3, the
endnodes are not covered by M2. Moreover, in this particular case EL3M2=. Hence, M1 can be used in
all the rings and 11,1 =1, 21,1 =1, 31,1=1, 41,1=1. Thus, 1,1= N1,1 + (1+1+1+1) = 4+4 = 8

Figure 6.a M1L (Endnodes encircled) Figure 6.b M2L (Endnodes encircled)

Similarly, we can see that there is no ring where its two endnodes are exposed for M1M1L. Hence M2
cannot be used in any of the rings in any perfect matching that starts with M 1. Thus, 1,2= N1,2 =0. Since |
EC| =16 and 1,1= 8, this means that in this example there is a unique perfect matching that starts with M 1,
which uses M1 in all C. Thus this perfect matching is not a c-matching.

For matchings that start with M 2 (see Figure 6.b), M2L ={e9, e14}. Again the endnodes are exposed for
M2 M2L (now M2 is used in L1, L2, L4) and M1 can be used in all the rings.
Hence, 12,1=1,  22,1=1,  32,1=1,  42,1=1. Thus, 2,1=N2,1 +(1+1+1+1)=1+4=5. Now, this perfect matching
has at least N2,2=1 edges of M2, thus it is a c-matching.
To calculate 2,2 we observe that rings 1 and 4 have their two endnodes exposed for M1 M2L. Therefore,
M2 can be used in these two rings and 12,2=2, 22,2=0, 32,2=0, 42,2=2. Thus, 2,2 = N2,2 + (2+0+0+2) = 1 +
4 = 5. This value also corresponds to a c-matching since N2,1=1.

In the above example, we have seen that 1 is not a starting index for the considered graph. In the example
1,1= |EC|/2, and N1,2 =0. However, in other situations 1,1= |EC|/2 and N1,2 =0 but there exists a c-matching.
This is illustrated in the simple example of Figure 7.a, where for matchings that start with M 1 1,1 = |EC|/2=
4, N1,2 =0 but there is a c-matching as depicted in Figure 7.b.

7
Example 2:

R1 M1
M2
Ch1

(a): D-chorded cycle (b): c-matching

Figure 7: Example 2

The following proposition permits to identify when a D-chorded cycle contains a c-matching that starts
with a given alternating matching Mj.

Theorem 1: Let G be a D-chorded cycle. For j=1,2 there exists a c-matching that starts with M j  one of
the following conditions hold:
1. G contains an even chord
2. îI with Oî odd such that uî and vî are exposed for MjL.

Proof of Theorem 1:
: For a given c-matching that starts with M j there exist i1, i2I such that ui1 and vi2 are covered by
chords (the endnodes where the alternating matching changes).
- If i1=i2  ui1 and vi1 are covered by Chi1  Oi1 odd and ui1 and vi1 exposed for MjL.
- If i1i2  ui1 is covered by Chi1 and vi1 is covered by one alternating matching  Chi1 is even
:
- Suppose iI such that Chi is even. Then in any perfect matching in G u i (or vi) must be
covered by Chi. Thus Li (or Li+1) and Oi use a different alternating matching.
- If all the chords are odd and îI such that Oî is odd and uî and vî are exposed for MjL, the
following set of edges defines a c-matching in G:
. Edges that alternate in Chî and cover uî and vî (they exist since Chî is odd)
. Mq(j) Oî
. Mj(C\Oî)
. iI, iî, edges alternating in Chi but not covering neither ui nor vi (they exist since Chi is
odd)

Let represent the maximum number of edges of M k in any c-matching that starts with M j. When no
c-matching that starts with Mj exists, is defined to be zero.

Theorem 2: Let G be a D-chorded cycle. For k=1,2, = max { , } where


k,k, if k,k< |EC|/2
= k,k -1- if k,k= |EC|/2 and  k, q(k) >0
0 otherwise

= q(k),k

where

Proof of Theorem 2:

When k,k < |EC|/2, the perfect matching that attainsk,k is a c-matching. Thus =k,k.
When k,k = |EC|/2, k,k corresponds to a perfect matching that that uses all Mk. Hence all the chords are
odd. If k,q(k) = 0, no c-matching that starts with Mk exists and is 0.

8
If k,q(k) >0, there exists a c-matching in G that starts with M k. Hence, there exists at least a ring R i such
that its two endnodes are exposed for both Mk MkL, and Ri is even..
Therefore gives the index of such a ring
with the least number of edges of M . Since in c-matchings that start with M k the endnodes of the chords
k

of the rings where Mk is not used are not be covered by any of the alternating matchings, can be
obtained by subtracting from k,k –1.

“...
If k,k < |EC|/2, the perfect matching that realizes k,k is a c-matching, thus =k,k.
If k,k = |EC|/2, there exists a perfect matching that starts in M k that uses all Mk. Hence, all chords are odd.
Also, since k,q(k) >0, the matching MG that realizes k,q(k) is a c-matching that starts in M k. Hence, there
exists a ring Ri such that its two endnodes are covered by edges in M G that belong to Chi (recall that Chi is
odd). Therefore, the endnodes of Ri are exposed for Mk MkL and are exposed also for M q(k) MkL, and Ri
is even. If we take a such R i having minimum ik,k, then the maximum number of edges of M k in a c-
matching can be obtained by substracting ik,k from k,k-1 (recall that endnodes of R i will not be covered
by any alternating matching).
Finally, note that for matchings that start with M q(k), q(k),k < |EC|/2, thus q(k),k gives the maximum number
of edges of Mq(k) in any c-matching that starts with Mq(k).

...”
**********
Yo creo que esto no esta bien..
Faltaria considerar el caso k,k = |EC|/2, con k,q(k) =0, que puede ocurrir.
Luego, “the matching MG that realizes k,q(k) “ puede no ser el c-matching que de el mayor numero de
aristas de k, no? Porque es precisamente de los c-matchings el que tiene mas aristas de q(k)
Además, cuando k,k = |EC|/2, Mq(k) MkL=, o sea que la precision “are exposed also for M q(k) MkL” es
redundante.
*********

Example 3: Consider the example depicted in Figure 8.a

R1
M1
L1 L2 M2
Chords
R3 R2
L3
(a) D-chorded cycle (b) c-matching

Figure 8: Example 3

Î={1,2,3}. For matchings that start with M1, M1L =, 11,1= 21,1= 31,1=2.
Thus, 1,1 = N1,1 + (2+2+2) = 0 + 6 = 6= |EC|/2. Since 1,2 = N1,1 +(1+1+1) = 0 + 3 > 0, there exists a c-
matching that starts with M1. In the 3 rings ui and vi are exposed for M1 M1L, hence,
= 1,1 - min {2,2,2} = 6 - 2 = 4. This corresponds, for instance, to c-matching depicted in Figure 8.b

4. The Compatibility number of alternating matchings in 2-chorded cycles

9
In this section we focus on other types of chorded cycles. The graphs we will now consider, 2-chorded
cycles, are even cycles with two chords and, possibly, common edges in the outer paths of the two rings.
They are of the form: G = C  Ch where
a) C = (u1, Pu, u2, PO, v1, Pv, v2, L, u1), is a simple cycle with an even number of edges where L has at
least one edge.
b) Ch= Ch1  Ch2, where Ch1 and Ch2 are vertex disjoint paths. Ch 1 and O1 = (u1, Pu, u2, PO, v1) are
vertex disjoint paths connecting u1, and v1. Similarly, Ch2 and O2 = (u2, PO, v1, Pv, v2) are vertex
disjoint paths connecting u2, and v2.

O1 and O2 are called the outer paths and L the link of G. Let PJ=O1O2, be the joint outer path of C. Pu,
PO, Pv, and L are now the subchains of C and Ch1 and Ch2 are the chords of G. Note that PO can also be
expressed as O1O2 and that PJ and L are vertex disjoint subpaths of C with endnodes u1 and v2, i.e. C=
PJ  L. Since C has an even number of edges, there exist two alternating matchings in C, M1 and M2. For
a given alternating matching M j, let MjL = MjEL represent the set of edges of M j that belong to the link.
A 2-chorded cycle is graphically represented in Figure 9

PJ
PO
u2 v1
Pu Pv

u1 v2

L
Figure 9: 2-chorded cycle

Theorem 3: Let G be a 2-chorded cycle. G contains a perfect matching if and only if


1. |VG| is even
2. There exists an odd subchain or chord.

Proof of Theorem 3:
: The two conditions are necessary.
If |VG| is odd no perfect matching exists in G.
Let now suppose that all subchains and the two chords are even. Since the two chords are even, any
perfect matching in G covers one endnode of each of the chords and leaves exposed the other endnode.
Note that the subpath of C that connects the two covered nodes is one subchain of C, and all subchains of
C are even. Thus no perfect matching exists.

: The symmetry of G allows to consider only the case when L is odd.


|VG| even implies that Ch1Ch2 is even.
L odd implies PuPOPv odd, since C is even. Thus P uPOPv Ch1Ch2 is also odd. Therefore, a
perfect matching for G can be obtained with the following set of edges:
i) Edges that alternate in L but do not cover its endnodes
ii) Edges that alternate in the subpath of G depicted in Figure 10 and cover its starting and ending nodes
denoted by nu2 and nv1. nu2 (nv1) represents the neighbor of u2 (v1) in Ch2 (Ch1). Note that the considered
subpath is odd and it covers all the nodes of G not covered by the edges defined in i).

u2
nu2 nv1 v1

u1 v2
10
Figure 10: Odd subpath of G

Remark 2: Similarly to the case of D-chorded cycles, the endnodes of the outer paths are the only nodes
where a switch from one alternating path to the other one can take place in perfect matchings in G. In
fact, Lemma 1 also holds for the graphs associated to 2-chorded cycles. Therefore, the endnodes where
changes in the alternating matchings take place must be exposed for the two alternating matchings, thus
covered by the chords.
As opposed to the case of D-chorded cycles, it can occur that a perfect matching in C combines the two
alternating matchings in the same outer path. This can happen since the two outer paths are not disjoint
and there is always an endnode of one outer path that also belongs to the other outer path. (see Figure 11).
u2    v1 u2
    vv11
       
       
u1    v2 u1    v2

Figure 11: c-matching that combines two alternating matchings in the same outer path

Since L consists now of only one link, the same alternating matching needs to be used in all L. Thus, we
now say that a perfect matching M G in G starts with Mj, when MG uses Mj in all L. As before, M jL denotes
the set of edges of Mj in L. The number of edges of Mk in MjL is now given by

MjL , if j=k
j, k
N =
0 otherwise

Now we can enumerate the four possible types of perfect matchings in terms of the alternating matchings
to be used in PJ. These are:
Type 1. Use the same alternating matching Mk in all PJ
Type 2. Use alternating matching Mk in Pu and PO and use the other alternating matching Mq(k) in Pv.
Type 3. Use alternating matching Mk in Pu and use the other alternating matching Mq(k) in PO and Pv.
Type 4. Use alternating matching Mk in Pu and Pv and use the other alternating matching Mq(k) in PO.

The following propositions state under which conditions there exist perfect matchings in G of each of the
above types that start with a given alternating matching M j. For such perfect matchings we will also
obtain the maximum numbers of edges of each of the alternating matchings in P J. For an index j =1,2, we
define an associated index par(j), called the parity index of j as follows:

j if Ch1 and Ch2 are odd


par(j)=
q(j) if Ch1 and Ch2 are even

Note that given the type of a perfect matching the set of edges that is used in P J is fully determined from
the alternating matching that is used in P u. For this reason we will only refer to the alternating matching
that is used in Pu for the different types of perfect matchings. Now tj,k denotes the maximum number of
edges of Mk in PJ for any perfect matching of type t in G that starts with Mj. As before, j,k denotes the
maximum number of edges of Mk in C for any perfect matching in G that starts with Mj.

11
Proposition 5: Let G be a 2-chorded cycle. There exists a perfect matching in G of type 1 that starts with
Mj if and only if u1 and v2 are exposed for Mq(k)MjL where k=par(j) (See Figure 12)

Mj Mq(j)
u2 v1 u2
v1
Mj Mj Mq(j) Mq(j)
u1 v2 u1 v2

Mj Mj
Type 1. Ch1 and Ch2 odd Type 1. Ch1 and Ch2 even

Figure 12. Type 1 Perfect Matchings

Proof Proposition 5:
 When Ch1 and Ch2 are odd k = par(j) = j. Thus, Mq(k)MjL = Mq(j)MjL =  and u1 and v2 exposed for
 holds trivially.
When Ch1 and Ch2 are even k = par(j) = q(j). Thus, Mq(k)MjL = MjMjL = MjL and u1 and v2 must be
exposed for MjL in any feasible perfect matching of type 1, because otherwise v 1 or u2 would be
covered by the chords and the perfect matching would not be of type 1.

When Ch1 and Ch2 are odd k = par(j) = j. Thus, u1 and v2 exposed for Mq(k)MjL = Mq(j)MjL =  holds
trivially. In this case it is simple to define a perfect matching of type 1 in G that starts with Mj:
- Edges that alternate in Ch1 and do not cover neither u1 and v1 (they exist since Ch1 is odd)
- Edges that alternate in Ch2 and do not cover neither u2 nor v2 (they exist since Ch2 is odd)
- Mj
Since no endnode is covered by the chords, there are not changes in the alternating matchings and
Mk=Mj is used in all C.

When Ch1 and Ch2 are even k = par(j) = q(j). Thus, u 1 and v2 exposed for Mq(k)MjL = MjMjL = MjL
implies that L is odd which, in turn, implies that P J is odd. Therefore, the following set of edges defines
a perfect matching in G of type 1 that starts with Mj:
- Edges that alternate in Ch1 and cover u1 but not v1 (they exist since Ch1 is even)
- Edges that alternate in Ch2 and cover v2 but not u2 (they exist since Ch2 is even)
- MjL
- PJ Mk
Now, u1 and v2 are covered by the chords. Hence there is a change of alternating matching from L to P u
and another change from Pv to L. That is, Mk is used in PJ and Mj in L.

If we count the number of edges of each alternating matching in the perfect matchings considered in the
previous proof we have the following corollary:

Corollary 2:
|MkPJ | if k=par(j) and u1 and v2 are exposed for Mq(k)MjL

j, k=
0 otherwise

Proposition 6: Let G be a 2-chorded cycle. There exists a perfect matching of type 2 in G that starts with
Mj if and only if u1 is exposed for Mk MjL, v1 is covered by Mq(k)Pv, and v2 is exposed for Mq(k) MjL,
where k=par(j). (See Figure 13)

12
Mq(j) Mj
u2 v1 u2 v1
M q(j)
M j Mj Mq(j)
u1 v2 u1 v2

Mj Mj
Type 2. Ch1 and Ch2 odd Type 2. Ch1 and Ch2 even
Figure 13. Type 2 Perfect Matchings

Proof Proposition 6:

When Ch1 and Ch2 are odd k=par(j)=j. Then u1 must be exposed for Mk MjL= M j MjL = MjL, since
otherwise v1 would also be covered by one of the alternating matchings (Ch 1 is odd) and the perfect
matching would not be type 2. Also v2 is trivially exposed for Mq(k) MjL= Mq(j) MjL =.
Similarly, if v1 were exposed for Mq(k)Pv= Mq(j)  Pv, then Mq(j) would have to be used in P v. Thus,
since Mj is used in L, v2 would be exposed for Mq(j)Pv and it would be covered by Ch 2. But this
impossible because it would mean that u 2 is also covered by Ch2 (since Ch2 is odd) and, therefore, the
matching would not be type 2.
When Ch1 and Ch2 are even k=par(j)=q(j). Now trivially u 1 is exposed for Mk MjL= Mq(j) MjL =
and v2 is exposed for Mq(k) MjL= Mj MjL = MjL, since otherwise Mj would have to be used also in
Pv. This would mean that v 2 is covered by Mj and u2 is covered by Ch2 (Ch2 is even). Thus, the
matching would not be type 2. Again v1 must be covered by Mq(k)Pv= MjPv, because otherwise Mj
would have to be used in Pv. Therefore v2 would be covered by Mj and u2 by Ch2 (Ch2 is odd). Thus,
the matching would not be type 2.

 When Ch1 and Ch2 are odd k=par(j)=j. Thus the hypothesis can be re-stated as u 1 exposed for MjL and
v1 covered by Mq(j) Pv.
v1 covered by Mq(j) Pv, is equivalent to v 1 exposed for Mj Pv. Since u1 is also exposed for MjL this
means that LPv is odd. Thus PuPO is also odd. Therefore, the following set of edges defines a
perfect matching in G of type 2 that starts with Mj:
- Edges that alternate in Ch1 and cover u1 and v1 (they exist since Ch1 is odd)
- Edges that alternate in Ch2 and do not cover neither u2 nor v2 (they exist since Ch2 is odd)
- (LPv) Mj
- (Pu  PO)  Mq(j)
Note that in this case u1 and v1 are covered by the chord. Hence, the changes of alternating matching are
between L and Pu, and between PO and Pv. That is, Mq(j) is used in Pu and in PO, Mj is used in Pv and L.

When Ch1 and Ch2 are even k=par(j)=q(j). Now the hypothesis can be re-stated as v 1 covered by Mj Pv
and v2 exposed for MjL (which is equivalent to v2 covered by MjPv). Thus Pv is odd, and so is L  Pu 
PO. Therefore, the following set of edges defines a perfect matching in G of type 2 that starts with Mj:
- Edges that alternate in Ch1 and cover v1 but not u1 (they exist since Ch1 is even)
- Edges that alternate in Ch2 and cover v2 but not u2 (they exist since Ch2 is even)
- (L  Pu  PO)  Mj
- Pv  Mq(j)
In this case, v1 and v2 are covered by the chords. Hence, there is a change of alternating matching from
PO to Pv and another change from Pv to L. That is, Mj is used in L, Pu and PO and Mq(j) in Pv.

Again, if we count the number of edges of each alternating matching in the perfect matchings considered
in the above proof we obtain the following corollary:

13
Corollary 3:

|MkPv | if k=par(j), u1 is exposed for Mk MjL, v1 covered by


Mq(k)Pv, and v2 exposed for Mq(k) MjL,
j, k = |Mk(PuPO)| if kpar(j), u1 is exposed for Mq(k) MjL, v1 covered by
MkPv, and v2 exposed for Mk MjL,
0 otherwise

Remark 3: Note that by symmetry (exchanging P u by Pv, v1 by u2, and u1 by v2) similar conditions to those
of Proposition 6, characterize the existence of perfect matchings of type 3 that start with a given
alternating matching Mj (see Figure 14).

Mq(j) Mj
u2 u2
v1
v1
Mj Mq(j) Mq(j)
Mj
u1 v2 u1 v2

Mj Mj
Type 3. Ch1 and Ch2 odd Type 3. Ch1 and Ch2 even

Figure 14. Type 3 Perfect Matchings

Corollary 4:

|MkPu | if k=par(j), v2 is exposed for Mk MjL, u2 covered by


Mq(k)Pu, and u1 exposed for Mq(k) MjL,
j, k = |Mk(POPv)| if kpar(j), v2 is exposed for Mq(k) MjL, u2 covered by
MkPu, and u1 exposed for Mk MjL,
0 otherwise

Proposition 7: Let G be a 2-chorded cycle. There exists a perfect matching in G of type 4 that starts with
Mj if and only if u1 and v2 are exposed for MkMjL and u2 and v1 are exposed for MkPO, where k=par(j)
(see Figure 15)

Mj Mq
u2 v1 u2 (j)
v1
Mq(j) Mj
Mq(j) Mj
v2 u1 v2
u1

Mj Mj
Type 4. Ch1 and Ch2 odd Type 4. Ch1 and Ch2 even

Figure 15. Type 4 Perfect Matchings


Proof of Proposition 7:

 : Similar arguments to the ones used in Propositions 6 and 7 show that the conditions are necessary.

14
:
When Ch1 and Ch2 are odd k=par(j)=j. Now Mk MjL= M j MjL = MjL, and Mk PO= Mj PO. Thus the
hypothesis can be re-stated as u1 and v2 exposed for MjL and u2 and v1 exposed Mj PO.
On the one hand, u2 and v1 exposed Mj PO implies that PO is odd. On the other hand u 1 and v2 exposed
for MjL implies that L is odd. But P u is also odd because u1 exposed for MjL and u2 exposed Mj PO
imply that both u1 and u2 are covered by Mj Pu. Therefore, the following set of edges defines a perfect
matching in of type 4 that starts with Mj:
- Edges that alternate in Ch1 and cover u1 and v1 (they exist since Ch1 is odd)
- Edges that alternate in Ch2 and cover u2 and v2 (they exist since Ch2 is odd)
- MjL
- (Pu Pv)Mq(j)
- PO Mj
In this case, the four endnodes are covered by the chords. Hence the changes in the alternating matching
occur from L to Pu, from Pu to PO, from PO to Pv, and from Pv to L. That is, M j is used in L and P O while
Mq(j) is used in Pu and Pv.

When Ch1 and Ch2 are even k=par(j)=q(j). Now Mk MjL= Mq(j) MjL =, and Mk PO= Mq(j) PO.
Thus, the hypothesis can be re-stated as u 2 and v1 exposed Mj PO which implies that both PO and Pu
LPv are odd. Therefore, the following set of edges defines a perfect matching in G of type 2 that
starts with Mj :
- Edges that alternate in Ch1 and cover v1 but not u1 (they exist since Ch1 is even)
- Edges that alternate in Ch2 and cover u2 but not v2 (they exist since Ch2 is even)
- MjL
- (Pu Pv)  Mj
- PO  Mq(j)
In this case, only u2 and v1 are covered by the chords. Hence there is a change of alternating matching
from Pu to PO and another change from PO to Pv. That is, Mk=Mj is used in L, Pu and Pv while Mq(k) =Mq(j)
is used in PO.

Counting again the number of edges of each alternating matching in the perfect matchings considered in
the proof of Proposition 7 we obtain:

Corollary 5:

|MkPO | if k=par(j), u1 and v2 exposed for MkMjL, and u2 and v1 exposed


for MkPO
j, k = |Mk(PuPv)| if k par(j), u1 and v2 exposed for Mq(k)MjL, and u2 and v1
exposed for Mq(k)PO.

0 otherwise

Corollary 6: Let G be a 2-chorded cycle. The maximum number of edges of M k in PJ for any perfect
matching in G that starts with Mj, is given by

and the maximum number of edges of Mk in C for any perfect matching in in G that starts with Mj, is
j,k = j,k +  j,k

As in the case of D-chorded cycles, when j,j is smaller than |EC|/2 c-matchings exist. But even when j,j =
|EC|/2 c-matchings might exist. These are the cases where M q(j) can also be used in some subchains, that is

15
j,q(j)>0. For each type of matching t such that tj,k>0 for some j, that means that there is an c-matching
where Mj can be substituted by M k, in the subchains corresponding to the type of matching. Hence, when
j,j = |EC|/2 , the actual maximum number of edges of M j that can appear in c-matchings that start with M j,
can be evaluated by substracting from |EC|/2 the value vj = Min {tj,q(j) : t such that tj,q(j) >0}

Theorem 4: Let G be a 2-chorded cycle. For k=1,2, = max { , }, where


k,k, if k,k< |EC|/2
= k,k -1–vk if k,k= |EC|/2 and  k, q(k) >0
0 otherwise

= q(k),k

5. Applications

The results obtained in Sections 3 and 4 can be applied for solving some types of optimization problems
where feasible solutions are perfect matchings that fulfil some side constraints. In this section we point
out two different possibilities for exploiting the previous results within different algorithmic frameworks.
We will first see how the compatibility number of a D-chorded cycle or a 2-chorded cycle can be used to
obtain valid inequalities for the original problem. Then we will use the results of Sections 3 and 4 to
derive enumerative schemes where the set of feasible solutions to the original problems is easily
partitioned.

Consider an optimization problem (P) defined on a graph H=(V H, EH), where feasible solutions are perfect
matchings that fulfil some additional linear constraints.
One of the most popular approaches for solving linear integer problems is to solve the LP relaxation of
(P) and, when the obtained solution is not integral, derive conditions that need be satisfied by integer
solutions which are added to the LP formulation in terms of new linear constraints. Within this
framework, given a solution to the LP relaxation of problem (P), we can consider the graph induced by
the variables that are non-zero in the current solution G( ). If is not integral G( ) will certainly
contain at least one cycle, say C. The Edmond’s inequalities x(E(C))  (|VC|-1)/2 can be generated to
avoid the cycle when it is odd. But, when C is even, we are not aware of any conditions that can be used
to avoid such cycles. As we will see, when G( ) contains a D-chorded cycle or a 2-chorded cycle, the
results of the previous sections allow us to derive conditions to avoid even cycles.
There are two questions arise at this point: The first one is whether D-chorded cycles and 2-chorded
cycles are appropriate structures for deriving conditions to avoid even cycles in G( ) or more complex
structures should be considered. Of course G( ) can contain more complex structures than the ones
considered in this work, but then obtaining the compatibility number of the alternating matchings would
not be a simple task. On the other hand, the considered structures are quite general, in the sense that they
can be obtained from more complex structures by eliminating some of the nodes and edges. Thus, the
considered structures are realistic both in terms of 1) the type of structures that occur in G( ) when is
not integral and 2) the possibility of calculating the compatibility number of the alternating matchings.
The second question refers as to how easy it is to identify D-chorded cycles and 2-chorded cycles in a
given graph. We can easily identify cycles in a graph, that we can assume will be even when they exist,
since otherwise the associated Edmonds inequality would be generated. Then we can explore the nodes
with degree greater than two to see if they lead to chords in the cycle of one of the considered cases. Such
a simple procedure guarantees that we identify an even cycle with at least one chord when the original
cycle has any chords.

5.1. Valid Inequalities

16
Let (P) denote an optimization problem defined on a graph H=(V H, EH), where feasible solutions are
perfect matchings that fulfil some side constraints. Theorems 2 and 4 imply that when H contains a D-
chorded cycle or a 2-chorded cycle G, any perfect matching in H with more than edges of the
alternating matching M , does not contain a c-matching in G. That is, either it contains the whole M k or
k

some of the nodes of VC are covered by edges not in EG.


The following proposition generates valid inequalities for (P) that summarize this idea. The inequalities
apply when the graph H( ) = (VH, EH( ) ) induced by a solution to the LP relaxation of (P) contains a
D-chorded cycle or a 2-chorded cycle G. The proposition states that, under certain conditions, if more
than edges of Mk are used in a 0-1 feasible solution to (P), then at least one edge not in E H( ) is
needed. Thus, the inequalities model conditions of the type .
Three conditions are required to validate the inequalities. The first one states that H( ) contains a D-
chorded cycle or a 2-chorded cycle. The second condition forbids feasible solutions with more than
edges of Mk within H( ). The third condition is only used to exclude solutions that use exactly edges
k k
of M . In principle solutions where all the nodes of the even cycle are covered with edges of M could
exist. But this causes a difficulty if we want express a condition of the type s, +1  s < |Mk| ,
in a single linear inequality without resorting to additional binary variables.
Proposition 8: Let , 0 1 be a feasible solution to the LP relaxation of (P) and let H( )= (VH, EH( ) )
be the subgraph of H induced by . Suppose that
1. H( ) = R  G, where G is a D-chorded cycle or a 2-chorded cycle .
2. VR  VC 1; VR denotes the set of nodes covered by edges of R, and V C the set of nodes
covered by edges of C, where C is the outer cycle of G.
3. The subgraph H( ) \ ( VC , Mq(k)) does not contain any feasible solution to (P)
Then,
a. For any s  , (1)
is a valid inequality for (P), where is the compatibility degree of Mk in G.

b. The above inequality is violated by for any s, s<

Proof of Proposition 8:
a. We will prove that any 0-1 feasible solution to (P) with s  +1 edges of Mk satisfies
. Then the inequality holds. Let x be a 0-1 feasible solution to (P) with s edges of M k, s
+1 .
There are two cases:
a1. s < Mk. Theorem 2 (when G is a D-Chorded cycle) and Theorem 4 (when G is a 2-chorded cycle)
imply that there is at least one node of V C that is covered by an edge not in G. In fact, since the original
graph does not contain multiple edges and |V C| is even there must be at least two of such nodes. Thus, in
the solution x, there are at least 2 nodes of VC not covered by edges of G. Hence, these nodes are covered
by edges of H (incident in VC) not in G. By condition 2, at most one of the uncovered nodes can be
covered by an edge of R. This means that at least one of the uncovered nodes must be covered by an edge
not in EH( ). Hence, .
a2. s = Mk. Then x contains all the edges of M k and no edge of Mq(k). Condition 3 implies that if all the
edges of Mq(k) are excluded, the remaining edges of EH( ) are not enough to obtain feasible solutions for
(P). Hence, at least one additional edge not in EH( )\Mq(k) is needed to guarantee feasibility. Moreover,

17
the edge cannot be in Mq(k) since x defines a matching and all the edges in Mk are already included. Hence,
holds.

b. Since, for the current solution , , the inequality is violated by .


Example 4:
Consider the instance of the Rural Postman Problem (RPP) depicted in Figure 16.a. The continuous lines
correspond to the required edges while the dotted lines correspond to the other edges of the graph. The
values next to the edges are their costs. Similarly to the case of the Chinese Postman Problem, RPP can be
reduced to a matching problem (see Garfinkel and Webb, 1999). However, when the required edges
define more than one connected component some additional constraints are needed in order to guarantee
the connectivity of the solutions, since otherwise several subcircuits could be obtained. Based on some
dominance relationships of Garfinkel and Webb, 1999; and Fernandez et al., 2000) use such a model for
solving RPP. In any optimal solution to RPP, all the nodes whose degree relative to the required edges
(required degree) is odd have exactly one additional edge incident to them. Similarly, the nodes with even
required degree, have either zero or two additional edges incident to them in any optimal solution. Copies
of the nodes with even required degree and new edges of value zero connecting them can be used to
represent when no additional edge is incident to such nodes. Thus, the problem of finding a set of edges
that together with the required ones define an eulerian graph can be stated as a perfect matching problem
with side constraints to ensure connectivity. Connectivity can be ensured by stating that the value of each
cut-set be at least 2 (each eulerian cycle will “leave” the set of nodes at least once and will “return” to it at
least once).
In this simple example, all the nodes have odd required degree, so the associated problem is finding a
perfect matching that satisfies the connectivity constraints in the complete graph associated to the eight
nodes where the costs of the edges are the values of the shortest paths between the different pairs of nodes
in the original graph. The optimal solution to the LP relaxation of this problem is represented in Figure
16.b, where now the values next to the edges are the values of the variables in the solution.
2 1 8
½
1 1 ½ ½
1 1 2 7
2 ½ ½
1
1 1 1
1 2 3 6
1
1 1 ½ ½
2 ½
4 5

(a) (b)
Figure 16. Example 4
There is not known valid inequality for RPP (see Fernández et al., 2000) violated by this LP solution.

However, let us consider the alternating matching M 1={(1,8), (2,6), (3,7), (4,5)}. Since the subgraph
associated to the LP solution is an even cycle, there are no c-matchings and . It is straight forward
to see that M1 fulfils the conditions of Proposition 8 (note that if all the arcs of the alternating matching
are removed connectivity constraints cannot be satisfied).
Thus for any s 0, we get the valid inequality

x18 + x26 + x37 + x45  s + (4-s) [x13 + x14 + x23 + x24 + x57 + x58 + x67 + x68]

And for any s, 0 s < = ½ + ½ + ½ + ½ =2 the inequality is violated by the current solution.
In particular, taking s = 1 the violated inequality becomes

18
x18 + x26 + x37 + x45  1 + 3 [x13 + x14 + x23 + x24 + x57 + x58 + x67 + x68]

5.2 Enumerative Schemes

The analysis of the structures studied in Sections 3 and 4 allows to define different types of enumerative
schemes for solving problem (P). In this subsection we suggest one such possibility for decomposing a
problem in subproblems
Like in Section 5.1, let denote a feasible solution to the LP relaxation to problem (P). As before we will
assume that is not integral and that H( ) = (VH, EH( )) contains a D-chorded cycle or a 2-chorded
cycle G. As usual, let C denote the even cycle in G, L= iI Li the union of the links of G, M 1 and M2 the
alternating matchings of C. Let also denote the set of
edges of the original graph incident to some node of L that have value zero in the current solution and
denote the set of edges associated to the current solution that do not
belong to G but are incident to some node of L. We will assume that the edges of have been ordered
by increasing values of in the current solution so xr represents the r-th edge of .
The subproblems we will define belong to two possible types. In the first type all the variables are
associated to edges of the studied structures (a D-chorded cycle or a 2-chorded cycle). The subproblems
of the second type have at least one variable outside the structures. Therefore, the relaxations of
subproblems of the first type are more likely to provide feasible solutions whereas the relaxations of
subproblems of the second type are more likely to provide high lower bounds.

They are four subproblems of the first type. In all of them, the nodes of the links are covered by edges of
the alternating matchings. These subproblems are the following:

Subproblem 1: M1 is used in all C. Thus we fix to one all variables associated to the alternating matching
M1. Also, all variables associated to the alternating matching M 2 as well as the variables corresponding to
edges of  are fixed to zero.

Subproblem 2: M2 is used in all C. Thus we fix to one all variables associated to the alternating matching
M2. Also all variables associated to the alternating matching M 1 as well as the variables corresponding to
edges of  are fixed to zero.

Subproblem 3: The solution contains a c-matching in G that starts with M 1. Now we fix to one all
variables associated edges in M1L We also fix to zero all variables corresponding to edges of  . We

also add the valid inequality .

Subproblem 4: The solution contains a c-matching in G that starts with M 2. Now we fix to one all
variables associated edges in M2L As before we fix to zero all variables corresponding to edges of 

. Also we add the valid inequality

In feasible solutions to (P) that do not correspond to any to the above Subproblems 1-4, some node of L
must be covered by an edge that does not belong to any of the alternating matchings. Thus, the solutions
will not correspond to c- matchings that start with any of the alternating matchings. Therefore, for j=1,2,
the inequality , is be valid.
Additionally, one possibility to enumerate all such solutions is to define the following collection of

19
| +1 | subproblems that we will denote SL0, SL1, …,SL | | :

Subproblem SL0: Some node of L is covered by an edge of . We can add the following inequality:

Subproblems SLr , r =1,…, | | : The solution contains the r-th edge of , but does not contain any of
the edges 1, 2, …, r-1 of and does not contain any edge of . That is we fix x r=1, xk=0, k=1,…,r-1
and xij=0, (i,j) .

Acknowledgements:

This research has been partially supported by the Spanish Agency of International Cooperation (AECI).
This support is gratefully acknowledged.

Bibliography

Ball, M. and L. Bodin, (1983), A Matching Based Heuristic for Scheduling Mass Transit Crews and
Vehicles, Transportation Science 17, 1, 4-31.
Ball, M.; U. Derigs; C. Hilbrand and A. Metz, (1990), Matching problems with generalized upper bounds
side constraints, Networks 20, 6, 703-721.
Ball, M. and R. Taverna, (1985), Sensitivity analysis for the matching problem and its use in solving
matching problems with a single side constraint, Annals of Operations Research 4, 1, 25-56.
Bell, C., 1992, Weighted matching with vertex weights: An application to the scheduling training sessions
in NASA space shuttle cockpit simulators, European Journal of Operational Research 73, 443-
449.
Derigs, U. and A. Metz, (1992), A matching-based approach for solving a delivery/pick-up vehicle-
routing problem with time constraints, Operations Research Spektrum 14, 2, 91-106.
Edmonds, J., (1965), Maximum Matching and a polyhedron with 0-1 vertices, Journal of Research of the
National Bureau of Standards B69, 125-130.
Fernández, E.; O. Meza; R. Garfinkel and M. Ortega, (2000), On the Rural Postmant Problem: Tight
Bounds and Efficient Heuristics Based on a New Formulation, Research Report DR/2000/01,
Dpt. EIO, Universitat Politècnica de Catalunya.
Garfinkel, R. and I. Webb (1999), On Crossings, the Crossing Postman Problem, and the Rural Postman
Problem, Networks 34, 173-180.
Gerards, A.M.H., (1995), Matching, in M.O. Ball et al. Eds., Handbbooks in Operations Research and
Management Science, Vol. 7, Elsevier Science.
Grötschel, M. and O. Holland, (1985), Solving Matching Problems with Linear Programming,
Mathematical Programming 33, 243-259.
Grötschel, M.; L. Lovász and A. Schrijver, (1988), Geometric Algorithms and Combinatorial
Optimization, Springer-Verlag.
Korte, B. and J. Vygen, (2000), Combinatorial Optimization: Theory and Algorithms, Springer-Verlag.

20

You might also like