
Undirected graphs
:

Let G=(V,E) be an undirected graph. For vertex sets X and Y, the cut induced by X is defined to be the set of edges of G having exactly one endvertex in X and is denoted by . The degree (or d_{
E
}(X)) of X is the cardinality of the cut induced by X, that is, d_{
G
}(X)=δ_{
G
}(X). The number of edges between X∖Y and Y∖X is denoted by . The number of edges of G having both (resp. at least one) endvertices in X is denoted by or i_{
E
}(X) or simply i(X) (resp. ). It is wellknown that (1) is satisfied for all X,Y⊆V,
We say that a vector m on V is the degree vector of G if d_{
G
}(v)=m(v) for all v∈V. For a vector m on V, we consider m as a modular function, that is, we use the notation . Let us recall that d_{
G
}(X) is the degree function of G. We define as the modular function defined by the degree vector d_{
G
}(v) of G. Note that \(\hat{d}_{G}(X)=d_{G}(X)+2i_{G}(X)\forall X\subseteq V\).
We denote by the set of vertices of G of odd degree. For an edge set F of G, the subgraph induced by F, that is, (V,F), is denoted by . We say that G is Eulerian if the degree of each vertex is even, that is, if T_{
G
}=∅. Note that we do not suppose the graph to be connected.
Let T be a vertex set in G. An edge set F of G is called Tjoin if the set of odd degree vertices in the subgraph induced by F coincide with T, that is if T_{G(F)}=T. Given a cost vector on the edge set of G, a minimum cost Tjoin can be found in polynomial time by Edmonds and Johnson’s algorithm [5].
Let f be a nonnegative integer vector on V. An edge set F of G is called an ffactor of G if f is the degree vector of G(F), that is, d_{
F
}(v)=f(v) for all v∈V. If f(v)=1 for all v∈V, then we say that F is a 1factor or a perfect matching. An ffactor—if it exists—can be found in polynomial time, see [20]. The graph G is called 3regular if each vertex is of degree 3. Note that for a 3regular graph, the existence of two edgedisjoint perfect matchings is equivalent to the existence of three edgedisjoint perfect matchings which is equivalent to the 3edgecolorability of the graph.

Directed graphs
:

Let D=(V,A) be a directed graph. For a vertex set X, the set of arcs of D entering (resp. leaving) X is denoted by (resp. ). The indegree (resp. outdegree) of X is the number of arcs of D entering (resp. leaving) X, that is \(d^{}_{D}(X)=\varrho _{D}(X)\) (resp. \(d^{+}_{D}(X)=\delta_{D}(X)\)). The set of arcs of G having both endvertices in X is denoted by . The following equality will be used frequently without reference:
We say that a vector m on V is the indegree vector of D if \(d^{}_{D}(v)=m(v)\) for all v∈V. Let us recall that \(d^{}_{D}(X)\) is the indegree function of D. Let f be a nonnegative integer vector on V. An arc set F of D is called a directedffactor of D if f is the indegree vector of D(F), that is, \(d^{}_{F}(v)=f(v)\) for all v∈V.
We say that D is Eulerian if the indegree of v is equal to the outdegree of v for all v∈V, that is, \(d^{}_{D}(v)=d^{+}_{D}(v)\) for all v∈V. Note that we do not suppose the graph to be connected.
Let f and g be two vectors on the arcs of D such that f(e)≤g(e) for all e∈A. A vector x on the arcs of D is a circulation if (3) and (4) are satisfied.
Note that if f(e)=g(e)=1 for all e∈A, then D is Eulerian if and only if f is a circulation. We will use the following characterization when a circulation exists.
Theorem 1
(Hoffmann [15])
LetD=(V,A) be a directed graph andfandgtwo vectors onAsuch thatf(e)≤g(e)∀e∈A. There exists a circulation inDif and only if
We say that H=(V,E∪A) is a mixed graph if E is an edge set and A is an arc set on V. For an undirected graph G=(V,E), if we replace each edge uv by the arc uv or vu, then we get the directed graph . We say that \(\vec{G}\) is an orientation of G.
Mixed graphs having Eulerian orientations are characterized as follows.
Theorem 2
(Ford, Fulkerson [8])
A mixed graphH=(V,E∪A) has an Eulerian orientation if and only if
The following theorem characterizes graphs having an orientation with a given indegree vector.
Theorem 3
(Hakimi [13])
Given an undirected graphG=(V,E) and a nonnegative integer vectormonV, there exists an orientation\(\vec{G}\)ofGwhose indegree vector ismif and only if

Functions
:

Let b be a set function on the subsets of V. We say that b is submodular if for all X,Y⊆V,
The function b is called supermodular if −b is submodular. A function is modular if it is supermodular and submodular. We will use frequently in this paper the following facts.
Claim 1
The degree functiond_{
G
}(Z) of an undirected graphGand the indegree function\(d^{}_{D}(Z)\)of a directed graphDare submodular and the functioni(Z) is supermodular.
Theorem 4
[17, 21]
The minimum value of a submodular function can be found in polynomial time.
Theorem 5
(Frank [9])
Letbandpbe a submodular and a supermodular set function onVsuch thatp(X)≤b(X) for allX⊆V. Then there exists a modular functionmonVsuch thatp(X)≤m(X)≤b(X) for allX⊆V. Ifbandpare integer valued thenmcan also be chosen integer valued.
A pair (p,b) of set functions on 2^{V} is a strong pair if p (resp. b) is supermodular (submodular) and they are compliant, that is, for every pairwise disjoint triple X,Y,Z,
$$b(X\cup Z)  p(Y\cup Z) \geq b(X) p(Y).$$
Note that a pair (α,β) of modular functions is a strong pair if and only if α≤β. If (p,b) is a strong pair then the polyhedron
is called a generalized polymatroid (or a gpolymatroid). When α≤β are modular, we also call the gpolymatroid Q(α,β) a box.
Theorem 6
(Frank, Tardos [11])
The intersection of an integral gpolymatroidQ(p,b) and an integral boxQ(α,β) is an integral gpolymatroid. It is nonempty if and only ifα≤bandp≤β.

Matroids
:

A set system \(M=(V,{\mathcal{F}})\) is called a matroid if \({\mathcal{F}}\) satisfies the following three conditions:

(I1)
\(\emptyset\in{\mathcal{F}}\),

(I2)
if \(F\in{\mathcal{F}}\) and F′⊆F, then \(F'\in{\mathcal{F}}\),

(I3)
if \(F, F'\in{\mathcal{F}}\) and F>F′, then there exists f∈F∖F′ such that \(F'\cup f\in{\mathcal{F}}\).
A subset X of V is called independent in M if \(X\in{\mathcal{F}}\), otherwise it is called dependent. The maximal independent sets of V are the basis of M. Let \({\mathcal{B}}\) be the set of basis of M. Then \({\mathcal{B}}\) satisfies the following two conditions:

(B1)
\({\mathcal{B}}\neq\emptyset\),

(B2)
if \(B, B'\in{\mathcal{B}}\) and b∈B∖B′, then there exists b′∈B′∖B such that \((Bb)\cup b'\in{\mathcal{B}}\).
Conversely, if a set system \((V,{\mathcal{B}})\) satisfies (B1) and (B2), then \(M=(V,{\mathcal{F}})\) is a matroid, where \({\mathcal{F}}=\{F\subseteq V:\exists B\in{\mathcal{B}}, F\subseteq B\}\).
For S⊂V, the matroid M∖S obtained from M by deletingS is defined as \(M\setminus S=(V\setminus S, {\mathcal{F}}_{V\setminus S})\), where X⊆V∖S belongs to \({\mathcal{F}}_{V\setminus S}\) if and only if \(X\in{\mathcal{F}}\). For \(S\in{\mathcal{F}}\), the matroid M/S obtained from M by contractingS is defined as \(M/S=(V\setminus S, {\mathcal{F}}_{S})\), where X⊆V∖S belongs to \({\mathcal{F}}_{S}\) if and only if \(X\cup S\in{\mathcal{F}}\). Let {V_{1},…,V_{
l
}} be a partition of V and a_{1},…,a_{
l
} a set of nonnegative integers. Then \(M=(V,{\mathcal{F}})\) is a matroid, where \({\mathcal{F}}=\{F\subseteq V: F\cap V_{i}\leq a_{i}\}\), we call it partition matroid. The dual matroid M^{∗} of M is defined as follows: the basis of M^{∗} are the complements of the basis of M.
Let \(M=(V,{\mathcal{F}})\) be a matroid and c a cost vector on V={v_{1},…,v_{
n
}}. We can find a minimum cost basis F_{
n
} of M in polynomial time by the greedy algorithm: take a nondecreasing order of the elements of V:c(v_{1})≤…≤c(v_{
n
}). Let F_{0} be empty and for i=1,…,n, let F_{
i
}=F_{i−1}+v_{
i
} if \(F_{i1}+v_{i}\in {\mathcal{F}}\), otherwise let F_{
i
}=F_{i−1}.
If M_{1} and M_{2} are two matroids on the same ground set V, then we can find a common basis of M_{1} and M_{2} in polynomial time (if there exists one) by the matroid intersection algorithm of Edmonds [4].
Theorem 7
(Edmonds, Rota [18])
For an integervalued, nondecreasing, submodular functionbdefined on a ground setS, the set {F⊆S;F′≤b(F′) for all ∅≠F′⊆F} forms the set of independent sets of a matroidM_{
b
}whose rank functionr_{
b
}is given by
$$r_b(Z) = \min\bigl\{b(X) + ZX, X \subseteq Z\bigr\}.$$
Given an undirected graph G=(V,E) and a nonnegative integer vector m on V, let \(\bar{m}^{G}=\bar{m}\) be the set function defined on E by \(\bar{m}(F) = m(V(F))\) where V(F) is the set of vertices covered by F. One can easily check that \(\bar{m}\) is integer valued, nondecreasing and submodular. Thus, by Theorem 7, \(\bar {m}\) defines a matroid \(M_{\bar{m}}\). The following claim is straightforward.
Claim 2
The set {F⊆E:m(X)≥i_{
F
}(X),∀X⊆V} is the set of independent sets of the matroid\(M_{\bar{m}}\).