Approximating Maximum Integral Multiflows on Bounded Genus Graphs

We devise the first constant-factor approximation algorithm for finding an integral multi-commodity flow of maximum total value for instances where the supply graph together with the demand edges can be embedded on an orientable surface of bounded genus. This extends recent results for planar instances. Our techniques include an uncrossing algorithm, which is significantly more difficult than in the planar case, a partition of the cycles in the support of an LP solution into free homotopy classes, and a new rounding procedure for freely homotopic non-separating cycles.


Introduction
Multi-commodity flows, or multiflows for short, are well-studied objects in combinatorial optimization; see, e.g., Part VII of [36].A multiflow of maximum total value can be found in polynomial time by linear programming.Often, a multiflow must be integral, and then the problem is much harder; the well-known edge-disjoint paths problem is a special case.Recently, constant-factor approximation algorithms have been found for maximum edge-disjoint paths and integral multiflows in fully planar instances, i.e., when G + H, the supply graph together with the demand edges, can be embedded in the plane [22,17].We generalize these results to surfaces of bounded genus and devise the first constant-factor approximation algorithm for that case.
Beyond using some ideas of [17,22], we need several new ingredients.Like [17], we start by computing an optimal (fractional) multiflow and "uncross" the cycles in its support as much as possible, but uncrossing is significantly more complicated on general surfaces than in the plane.Next, we need to deal with two cases separately: depending on whether most of the fractional multiflow is on separating cycles (that case is similar to the planar case) or on non-separating cycles.In the latter case we partition the cycles into free homotopy classes and define a cyclic order in each free homotopy class, which is possible due to the uncrossing and allows for a simple greedy algorithm.

Our results
The (fractional) maximum multiflow problem can be described as follows.An instance consists of an undirected graph (V, D ∪ E) whose edge set is partitioned into demand edges, in D, and supply edges, in E. We write G = (V, E), H = (V, D), and G + H = (V, D ∪ E).Moreover we have a function u : D ∪ E → Z >0 which defines a capacity u(e) for each supply edge e ∈ E and a demand u(d) for each demand edge d ∈ D. The goal is to satisfy as much of the demand as possible by routing flow on supply edges.More precisely, we ask for an s-t-flow f d of value at most u(d) for every demand edge d = {t, s} such that the total flow on each supply edge is at most its capacity and the total value of all those flows is maximum.
It is well known that every s-t-flow can be decomposed into flow on s-t-paths and on cycles, and for integral flows there is an integral decomposition.The cycles in such a decomposition do not contribute to the value of the s-t-flow and can be ignored.An s-t-path in (V, E) together with the demand edge d = {t, s} forms a D-cycle: a cycle in G + H that contains exactly one demand edge.If we let C denote the set of all D-cycles in G + H, we can write the maximum multiflow problem equivalently as In some previous works, the problem has been defined with u(d) = ∞ for d ∈ D, and this variant is easily seen to be equivalent.We call the linear program (1) the maximum multiflow LP.The maximum integral multiflow problem is identical, except that the flow must be integral: The special case where u(e) = 1 for every edge e ∈ D ∪ E is known as the maximum edge-disjoint paths problem.Even that special case is unlikely to have a constant-factor approximation algorithm for general graphs (see Section 1.2).Our main result is a constant-factor approximation algorithm in the case when G + H can be embedded on an orientable surface of bounded genus.
Theorem 1.There is a polynomial-time algorithm that takes as input an instance (G, H, u) of the maximum integral multiflow problem such that G+H is embedded on an orientable surface of genus g, and which outputs an integral multiflow whose value is at most a factor O(g 2 log g) smaller than the value of any fractional multiflow.
See Section 3 for an outline of the algorithm and the proof.It is worth pointing out that almost all known hardness results for the maximum edge-disjoint paths problem hold even when G is planar (see Section 1.2).Theorem 1, along with the two recent papers [17,22], highlight that for tractability one needs more than the planarity of G alone.The topology of G + H together plays an important role.
The dual LP of (1) is: u(e)y e s.t.
e∈C y e 1 for all C ∈ C y e 0 for all e ∈ D ∪ E and this may be called the minimum fractional multicut problem.The minimum multicut problem results from replacing the inequality y e 0 in (3) by y e ∈ {0, 1} for all edges e ∈ D ∪ E. Again, many previous works considered the equivalent special case where u(d) = ∞ for d ∈ D, in which case no dual variables for demand edges are needed.By weak duality, the value of any multiflow is at most the capacity of any multicut.
Using Theorem 1 and a previous result of [38], we obtain (in Section 9): Corollary 2. For any instance (G, H, u) of the maximum integral multiflow problem such that G + H is embedded on an orientable surface of genus g, the minimum capacity of a multicut is at most O(g 3.5 log g) times the maximum value of an integral multiflow.
In general the integral multiflow-multicut gap1 , and even the integrality gap of (1), can be as large as Θ(|D|), even when G is planar and G + H is embedded in the projective plane [19]; see Section 8.In this paper we consider orientable surfaces only.Corollary 2 states that the gap becomes constant when G + H has bounded genus.So far very few such constant integral multiflow-multicut gaps are known, for example when G is a tree [19], or when G + H is planar, as recently shown in [17,22].
Finally, in Section 10, we obtain an improved approximation ratio (but not with respect to the LP value): Theorem 3.There is a polynomial-time algorithm that takes as input an instance (G, H, u) of the maximum integral multiflow problem such that G + H is embedded on an orientable surface of genus g, and which outputs an integral multiflow whose value is at most a factor O(g 2 ) smaller than the optimum.
Whether a quadratic dependence on g is necessary remains open.However, we note in Section 8 that the integrality gap of the maximum multiflow LP can depend at least linearly on g.

Related Work
Approximation algorithms and hardness for integral multiflows.Most of the hardness results for the maximum integral multiflow problem follow from the special case of the maximum edge-disjoint paths problem (EDP).The decision version of EDP is one of Karp's original NP-complete problems [23], and remains NPcomplete even in many special cases [32], including the case of interest in this paper, namely even when G + H is planar [30].In terms of approximation, EDP is APX-hard [2].Assuming that NP ⊆ DetTIME(n O(log n) ), where n = |V |, there is no n o(1/ √ log n) approximation for EDP, even when G is planar and sub-cubic [7].Assuming that for some positive δ, NP ⊆ RandTIME(2 n δ ), there is no n O(1/(log log n) 2 ) approximation for EDP, even when G is planar and sub-cubic [8].As far as we know, no stronger hardness result is known for integral mutliflows.
On the positive side, EDP can be solved in polynomial time when the number of demand edges is bounded by a constant [35].The same holds for integral multiflows when G + H is planar [37].For exact algorithms in various special cases, see the survey [32].In general, the best known approximation guarantee for EDP and maximum integral multiflows is O( √ n) [5].Approximation algorithms with better approximation ratios for various special cases have been designed.We refer the readers to the survey [11] and to [19,24,32] and the references therein.
Recent work on the planar case.Recently, [17] and [22] gave constant-factor approximation algorithms for maximum integer multiflows when G + H is planar.Both papers proceed by first obtaining a half-integral multiflow and then using the four color theorem to round it to an integral solution (similar to Section 6).The main difference between the two works is the way such half-integral multiflows are obtained.In [17], it is constructed by uncrossing a fractional multiflow (see Section 5 for a definition) to construct a certain network matrix, which is known to be totally unimodular; in [22], such a half-integral multiflow is obtained by rounding a feasible solution of a related problem in the planar dual graph of G + H.Both approaches do not extend to higher genus graphs in a straightforward way, because the dual of a cycle is no longer a cut in general and cycles cannot always be uncrossed.

Minimum multicut problem.
The minimum multicut problem is NP-hard even when there are only three demand edges [12].In general, assuming that the Unique Games conjecture holds, there is no O(1)approximation [4], but a O(log |D|)-approximation algorithm [18].Better approximations also have been shown for special cases; see [19,38] and the references therein.In particular, when G + H is planar, [27] gave an approximation scheme.When G has genus g, an FPT-approximation scheme with parameters of g and |D| has been proposed [9].Tools from topology.The design of multiflows on surfaces is closely related to the properties of sets of curves on a surface.In a recent breakthrough, Przytycki [33] proved that the maximum number of essential curves on a closed surface of genus g such that no two of them are freely homotopic or intersect more than once is O(g 3 ), improving on the previous exponential upper bound by [29].Very recently, this number was shown to be O(g 2 log g) by [20], which almost matches the lower bound Ω(g 2 ) on the size of such sets [29].We will use this result in Section 7.

Preliminaries
Consider an instance (G, H, u) of the maximum integral multiflow problem, and let G + H = (V, E ∪ D) be the graph whose edge set is the disjoint union of the edge sets of the supply graph G = (V, E) and the demand graph H = (V, D).Throughout the paper, we assume that the graph G + H is connected, otherwise, we can run the algorithm on each of its connected components.
Graphs on surfaces.Surfaces are either orientable or non-orientable; in this paper we only consider closed orientable surfaces.A closed orientable surface of genus g can be seen as a connected sum of g tori, or equivalently a sphere with g handles attached on it, where g is called the genus of the surface.Given an integer g 0, all closed surfaces with genus g are mutually homeomorphic, and we refer to any one of them as S g .For instance, S 0 is the sphere and S 1 is the torus.
A (multi)graph has genus g or is a genus-g graph, if it can be drawn on S g without edge crossings, but not on S g−1 .A genus-g graph may have several non-equivalent embeddings on S g , but all of them satisfy the same invariant, called the Euler characteristic: #Faces − #Edges + #Vertices = 2 − 2g.
A simple application of Euler's formula gives the following upper bound on the coloring number of genus-g graphs, when g 1.
Theorem 4. (Map color theorem) A genus-g graph can be colored in polynomial time with at most χ g colors.
For g = 0, this is an algorithmic version of the 4-color theorem [34].For g 1, the coloring is obtained in polynomial time by a simple recursive algorithm that removes a vertex of minimum degree and colors the remaining graph [21].For additional details and results about graphs on surfaces see e.g.[31,10].
Combinatorial embeddings.Given a graph, let δ(v) denote the set of edges incident to a vertex v, and δ(U ) the set of edges with exactly one endpoint in vertex set U .Given an embedding of a graph on an orientable surface, and an arbitrary orientation of this surface, for each vertex v, a clockwise cyclic order can be defined on the edges of δ(v).Note that contracting an edge e = {u, v} results in removing e from δ(u) and from δ(v) and concatenating the orders to obtain the clockwise cyclic order of the edges around the vertex created by the contraction.Using these orders together with the incidence relation between edges and faces, embeddings become purely combinatorial objects.For additional details see, e.g., [31], Chapter 4.
Graph duality.Given an embedding of a genus-g graph G on S g , there exists a uniquely defined dual graph, denoted as G * .This graph can be embedded on the same surface as G.There exists a bijection between the faces of G and the vertices of G * , a bijection between the vertices of G and the faces of G * , and a bijection between the edge sets of G and of G * .Moreover, the embeddings of G and G * are consistent: with this bijection, every edge only crosses its dual edge, every face only contains its corresponding dual vertex and reciprocally.For notational simplicity, the latter bijection is implicit.

Cycles and cuts.
A path in a graph G is a sequence (v 0 , e 1 , v 1 , . . ., e k , v k ) for some k 0, where v 0 , . . ., v k are distinct vertices and e i = {v i−1 , v i } is an edge for all i = 1, . . ., k.A cycle in a graph G is a sequence (v 0 , e 1 , v 1 , . . ., e k , v k ) such that v 1 , . . ., v k are distinct vertices, {v i−1 , v i } is an edge for all i = 1, . . ., k, and v 0 = v k .Sometimes we view cycles as edge sets or as graphs.A cut is an edge set δ(U ) for some proper subset ∅ = U ⊂ V .A cut δ(U ) is simple if both U and V \ U are connected.We say that an edge set F in a graph is a (simple) dual cut if the corresponding set of edges F * in the dual is a (simple) cut.A cycle C in G is called separating if it is a dual cut, and non-separating otherwise.Note that every separating cycle is a simple dual cut.
Given an embedding of the graph G+H on S, we say that a cycle C in G+H is represented2 by a topological cycle γ of S if the image of γ is the embedding of C on S. Two cycles in G + H are freely homotopic if and only if they can be represented by two freely homotopic topological cycles.In the sequel, we use the following well-known fact.Intuitively, the image of the continuous homotopy function from C to C on the surface forms an annulus [13].See Figure 1 for an illustration.

Overview
In this section, we give an overview of our constant-factor approximation algorithm for the maximum integral multiflow problem when G + H is embedded on an orientable surface S g of genus g, where g is bounded by a constant (Theorem 1).Again, without loss of generality, we assume that G + H is connected.Here is the main algorithm.Steps 1,2,3,4 will be described in detail in Sections 4,5,6,7, respectively.
2. Construct another multiflow f such that any two cycles in the support of f cross at most once (Lemma 7).
See Definition 1 for the definition of "crossing." 3. If at least half of the total value of f is contributed by separating cycles, these cycles now form a laminar family.Construct a half-integral multiflow f half (Theorem 10), and from there, using the map color theorem (Theorem 4), compute an integral multiflow f (Lemma 11), which is the output.
4. Otherwise, partition the non-separating cycles in the support of f into free homotopy classes.Pick the class H with the largest total flow value.Remove the flow on all other cycles and greedily construct an integral multiflow (Lemmas 18 and 16), which is the output.
It can be proved that we only lose a constant factor at every step of the algorithm: see Section 8 for the analysis of the above algorithm, proving Theorem 1.

Finding a fractional multiflow (Step 1)
A feasible solution f to the maximum multiflow LP (1) will be simply called a multiflow.Recall that C denotes the set of all D-cycles, i.e., all cycles in G + H that contain precisely one demand edge.We denote by |f | = C∈C f C the value of f , and by C(f has an exponential number of variables, it is well known that it can be reformulated by polynomially many flow variables and constraints (see, e.g., [16,1]) and thereby solved in polynomial time: Proposition 6.There is an algorithm that finds an optimal solution f * to the maximum multiflow LP In this section we show that for a given embedding, we can "uncross" a multiflow in such a way that any two D-cycles in the support cross at most once.While doing this we will lose only an arbitrarily small fraction of the multiflow value.
Uncrossing is a well-known technique in combinatorial optimization, but in most cases it is applied to families of subsets of a ground set U .Such a family is said to be cross-free if, for any two of its sets, A and B, at least one of the four sets A \ B, B \ A, A ∩ B, and U \ (A ∪ B) is empty.Here we want to uncross D-cycles in the topological sense, and this can be reduced to the above (with some extra care) only if all these cycles are separating (which, for example, is always the case if G + H is planar; cf.[17]).Definition 1.We say that two D-cycles C 1 and C 2 cross if there exists a path P (possibly a single vertex), which is a subpath of both C 1 and C 2 , and such that in the embedding, after contracting the edges of P , the vertex v thus obtained is incident to two edges of C 1 and to two edges of C 2 , all distinct, and in the embedding the restriction of the cyclic order of δ(v) to those four edges alternates between an edge of C 1 and an edge of C 2 .Two cycles may cross multiple times.We denote by cr(C, C ) the number of times that C and C cross.See Figure 2 for three examples.In contrast to the planar case, it is possible that two cycles cross exactly once and cannot be uncrossed.The third example in Figure 2 shows another difficulty: when uncrossing two D-cycles it might be necessary to generate new crossings with other cycles.Lemma 7. Let > 0 be fixed.Given a multiflow f whose support has size at most |E||D|, there is a polynomialtime algorithm to construct another multiflow f , of value at least |f | (1 − )|f |, and such that any two cycles in the support of f cross at most once.
Proof.First we discretize the multiflow, losing an fraction in value; then we iteratively modify it, without changing its value, to reduce the number of crossings or the total amount of flow on all edges; finally, we analyze the process and argue that the number of iterations is polynomially bounded.
The discretized multiflow f can be represented by a multi-set S of unweighted D-cycles: Uncrossing.To construct f , we perform a sequence of transformations of the multiflow.We will modify S while maintaining the following invariants: (a) The number of elements of S (counting multiplicities) remains constant.
(b) For every e ∈ D ∪ E, the number of elements of S (counting multiplicities) that contain e never increases.
Thanks to (b), at any stage, f is a multiflow, where f is defined by where k is the multiplicity of C in S. Initially f = f .Thanks to (a), the value of the multiflow is preserved.In the following we work only with S.
While there exist two cycles C 1 and C 2 in S that cross at least twice, do the following uncrossing operation (on one copy of C 1 and one copy of C 2 ).Let d 1 be the edge in C 1 ∩ D, and let d 2 be the edge in C 2 ∩ D. Let P and Q be two of the paths where C 1 and C 2 cross (cf.Definition 1), such that Q contains only edges of E. Orient C 1 so that in that orientation, when traversing the entirety of P and then walking towards Q, edge d 1 is traversed before reaching Q.Let C 1 denote the resulting directed cycle.Let a be the first vertex on P in the orientation of C 1 , and let b be an arbitrary vertex on Q. Vertices a and b partition C 1 into a path C + 1 from a to b that contains d 1 and a path C − 1 from b to a that does not contain d 1 .
Case 1: P contains an edge of D. Then this edge is  See Figure 3 for two examples, one for each case.
Analysis.From the construction it follows that C 1 and C 2 are D-cycles and Hence removing one copy of C 1 and C 2 from S and adding one copy of C 1 and C 2 to S maintains the invariants (a) and (b).
To show that the after a polynomial number of uncrossing operations any pair of cycles in S crosses at most once, we consider the total number of edges Φ 1 = C∈S |C| (counting multiplicities) and the total number of crossings Φ 2 = C,C ∈S cr(C, C ) (where we again count multiplicities).Note that |S| remains constant by invariant (a), and To prove Claim 8, consider an uncrossing operation that replaces C 1 and C 2 by C 1 and C 2 , and suppose that Φ 1 remains the same, so C 1 consists of C + 1 plus C − 2 , and C 2 consists of C + 2 plus C − 1 .We first observe that cr(C 1 , C 2 ) < cr(C 1 , C 2 ).Indeed, the crossings at P and at Q go away, and no new crossing arises.
Finally we need to show that for any cycle C ∈ C, To show (4), consider a crossing of C and , and let e 0 , e k+1 , e 0 , e k+1 be edges such that e 0 , e 1 , . . ., e k , e k+1 are subsequent on C and e 0 , e 1 , . . ., e k , e k+1 are subsequent on C .After contracting R, the incident edges e 0 , e 0 , e k+1 , e k+1 are embedded in this cyclic order.(Note that e 0 = e k+1 or e 0 = e k+1 is possible if k 1, then contracting R yields a loop.)See Figure 4 (a).4(c)).Finally, if R contains a and b, say at v i and v j for 0 i < j k, then e 0 , . . ., e i and e j+1 , . . ., e k+1 belong to C 1 and e i+1 , . . ., e j belong to C 2 (Figure 4(d)).Again, C 1 or C 2 crosses C at a subpath of R.This concludes the proof of Claim 8.
We can now conclude the proof of Lemma 7 because Φ 1 decreases at most |V ||S| times, and while Φ 1 is constant, Φ 2 decreases at most |V ||S| 2 times, so the total number of uncrossing operations is at most

Separating cycles: routing an integral flow (Step 3)
Let f result from Lemma 7, and let C sep denote the set of separating cycles in the support of f .We now consider the case when the separating cycles contribute at least half to the total flow value, i.e., |f (C sep )| 1 2 |f |.This branch of our algorithm consists of two steps: 1. Given f (C sep ), construct a half-integral multiflow f half of value at least |f |/2; 2. Given f half , construct an integral multiflow of value at least |f half |/Θ( √ g).

Obtaining a half-integral multiflow
To obtain a half-integral multiflow, we follow the technique used by [17] for the case where G + H is planar.By the Jordan curve theorem, any cycle in a planar graph is separating.As for the plane, the following property is easy to check for higher genus surfaces.
Proposition 9.If C and C are two cycles embedded on a surface, and C is a separating cycle, then C and C must cross an even number of times.
Proof.C is separating the surface into two sides.While walking along C from a vertex v, we go from one side to the other each time we cross C .When we return at v, we are on the same side where we started so the number of crossing is even.
Since any pair of cycles in the support of f crosses at most once, C sep must be a non-crossing family by Proposition 9.In particular, we can show that C sep have a laminar structure.
We say that a family of subsets of the dual vertex set V * is laminar if any two members either are disjoint or one contains the other.Let us take any face of G + H that we call ∞.For any cycle C ∈ C sep we define in(C) and out(C) to be the two connected components of (G + H) * \ C * , such that ∞ ∈ out(C).We claim that the family L := {in(C) : C ∈ C sep } is laminar.
Indeed, take any two cycles C and C in C sep .Since they do not cross, either (i) Using the terminology in [17], we say that a multiflow f is laminar if where L is a laminar family (of subsets of V * ).Thus, f (C sep ) is laminar and we can apply the following result to get f half .Theorem 10. ( [17]) If f is a laminar multiflow, then there exists a laminar half-integral multiflow f such that Such a multiflow can be computed in polynomial time.

Obtaining an integral multiflow
In this section we show the following result, which is an extension of a result from [22,17], who proved it for planar graphs.
Lemma 11.Let (G, H, u) be an instance of the maximum multiflow problem such that G + H has genus g, and let f half be a laminar half-integral multiflow whose support C(f half ) contains only separating cycles.Then there exists an integral multiflow f of value |f | 2|f half |/χ g (such that C(f ) ⊆ C(f half )).Such a multiflow can be found in polynomial time.
Our proof follows the same outline as the proof of Theorem 1 of Fiorini et al. [15].Let C half := C(f half ) be the set of D-cycles C such that f half C > 0. We first reduce the problem to the case where all cycles in C half have flow value 1  2 and every edge has capacity 1.To do that, we reduce the flow f half C by f half

C
for each cycle C ∈ C half , and reduce edge capacities accordingly.Then, since now f half is small, we can further reduce demands and capacities to u (e) = min{u(e), |C(f half )|} for each e ∈ E ∪ D, so that e∈D ∪E u(e) is polynomially bounded.We can then replace each edge e by u(e) parallel edges of unit capacity.Given a cycle C such that f half C = 1  2 , we replace each edge e ∈ C by one of its parallel edges.This can be done while ensuring that the resulting flow is still feasible and laminar.To facilitate the proof, we still denote this graph by G + H and keep all other notations.
Recall that cycles in C half ⊆ C sep are separating and do not cross each other, so that the family {in(C), C ∈ C half } is laminar.We partially order C half with the following relation: C ≺ C if in(C) ⊂ in(C ).We have the following simple property: In the second case we have C 1 ≺ C and in(C ) ∩ in(C 2 ) = ∅ and then: so e ∈ C .See Figure 5. Thus in both cases e belongs to C as well as to C 1 and C 2 .Since these three D-cycles are in the support of a half-integral multiflow, this implies that the flow along this edge is at least 3  2 , contradicting feasibility.Our goal is to get a large subset C ⊆ C half such that any two cycles in C , are edge-disjoint.This is equivalent to finding a large independent set in a properly defined graph Int(C half ) with vertex set C half and such that two cycles are adjacent if they share at least one edge.Using Lemma 12 we can show: Lemma 13.Given a graph embedded in S g , let C half be defined as above.Let Int(C half ) be the graph with vertex set C half and such that two cycles are adjacent if they share at least one edge.Then Int(C half ) is a genus-g graph.
Proof.We prove the statement by induction on g + |C half |.When g + |C half | 2, it is trivial.Otherwise let G be a connected genus-g graph, embedded on S g , and C half a family as described above.
Suppose first that {in(C) | C ∈ C half } are pairwise disjoint.Then, contract in G * each set in(C) into a single node.Two cycles C and C share an edge if and only if in this contracted graph, the nodes corresponding to in(C) and in(C ) are adjacent.This means that Int(C half ) is a minor of G * , and in particular has genus less than or equal to the genus of G * .
The case where there is one cycle C such that C ≺ C for all C ∈ C half \ C and {in(C) | C ∈ C half \ C} are pairwise disjoint works similarly; here we contract out( C).
Otherwise there exists a triple The separating cycle C divides S g into two sides.Each side can be closed -by identifying the boundary of a disk with the boundary form by C -so that they are homeomorphic to S gin and S gout , respectively.The connected sum of these two surfaces is homeomorphic to S g , and in particular we have g in + g out = g.This equality can easily be checked with Euler's formula.
Let G in (resp.G out ) be the subgraph of G induced by the vertices embedded on the side corresponding to S gin (resp.S gout ), such that both contain C. The embedding of G in S g induces an embedding of G in in S gin and an embedding of G out in S gout .Thus, genus(G in ) + genus(G out ) g. Finally we prove that Int(C half ) can be embedded on a surface genus g in + g out g.To see that, remove small disks D in and D out in S gin and S gout , respectively, around the point that corresponds to vertex C and that intersects only edges incident to C, and glue them together by identifying boundaries of D in and D out .The surface obtained is homeomorphic to S gin+gout It is easy to see that C, and the edges incident to C, can be re-embedded in this surface without intersecting any other edges.This terminates the proof of Lemma 13.
Using Theorem 4, this lemma ensures that one can compute in polynomial time a subset C ⊆ C half of at least |C half |/χ g pairwise edge-disjoint D-cycles.From this set, we define an integral multiflow by setting f C = 1 for C ∈ C and f C = 0 for C ∈ C \ C .It is easy to check that f is a multiflow that satisfies the properties of Lemma 11.

Non-separating cycles: routing an integral multiflow (Step 4)
If the separating cycles contribute less than half to the total value of the multiflow f obtained by Lemma 7, we consider the non-separating cycles in the support of f .We first partition them into free homotopy classes.The next theorem gives an upper bound on the number of such classes.
Theorem 14. ( [20]) Let S g be an orientable surface of genus g.Then there are at most O(g 2 log g) topological cycles such that any two of them are in different free homotopy classes and cross each other at most once.
Corollary 15.The D-cycles in the support of f can be partitioned into O(g 2 log g) free homotopy classes in polynomial time.
Proof.Take pairs of cycles in the support of f and check whether they are freely homotopic, for example as in [14,28].

Greedy algorithm
Let H be a free homotopy class of non-separating cycles whose total flow value |f (H)| is largest.We will run the following simple greedy algorithm (Algorithm 1) on H to get an integral multiflow.
Input: a sequence C 1 , . . ., C k of D-cycles of C(f ).Output: an integral multiflow f .f ← the all-zero multiflow; for i = 1 to k do Set f Ci to be the greatest integer such that f remains feasible.
The value of the integral multiflow returned by this algorithm depends on the order of the D-cycles in the input.If it is ordered according to the following definition, then we show that we lose only a constant fraction of the flow value.Definition 2. A family of cycles {C 1 , C 2 , . . ., C k } is cyclically ordered, or has a cyclic order if, whenever two cycles C a and C b share an edge, where a < b, then this edge is: The following lemma establishes the approximation ratio of Algorithm 1 on cyclically ordered input.We call i 0 the smallest index 1 i k such that there exists an edge e ∈ C i such that f (H 1,i+1 )(e) = u(e) and H i,1 ⊆ H e .Remark that in particular, for all i > i 0 , we must have f Ci = 0, and thus We first show by induction that for all Assume now that at some iteration 1 < i < i 0 of the algorithm we set f Ci = x.By the choice of x, we know that there is an edge e ∈ C i such that u(e) = f (H 1,i+1 )(e).In particular, notice that |f (H e )| = |f (H e ∩ H 1,i+1 )| = u(e).By feasibility of f , we have Now, let a, b be the two indexes such that H a,b = H e .Since we assumed that i < i 0 , we must have i < b k.There are two cases: either Together with the induction hypothesis we obtain: and thus the inequality claimed follows directly from equation (5).We have established the induction.In particular, we have proved that By definition of i 0 , we know that there exists an edge e ∈ C i0 such that f (e) = u(e) and such that H i0,1 ⊆ H e .By feasibility of f , we deduce that |f (H i0,1 )| u(e) = f (e) |f |.This concludes the proof.

Computing a cyclic order
Lemma 18, the second main result of the section, states that a family H of pairwise freely homotopic cycles crossing at most once can be cyclically ordered in polynomial time.One key ingredient in the proof is that cycles in H are pairwise non-crossing.This fact uses the assumption that the surface is orientable.In a non-orientable surface, two freely homotopic cycles may cross exactly once.
Recall that f denotes the minimally-crossing multiflow obtained by Lemma 7.
Lemma 17.Two freely homotopic cycles in C(f ) do not cross.
Proof.(Lemma 17) By construction of f , if two cycles C and C in C(f ) cross, then they cross at exactly one path P .To simplify, let us take two topological cycles γ and γ , freely homotopic to C and C , that are in a small neighborhood around C and C , respectively, and such that γ and γ only cross at a single point v of the surface.We show that γ ∪ γ do not disconnect the orientable surface.By Fact 5 this implies that C and C are not freely homotopic.
To see that γ ∪ γ do not disconnect the surface, pick four points w 1 , w 2 , w 3 , w 4 in a small neighborhood of v, each one of them being on a different of the four sections of this neighborhood delimited by γ ∪ γ .If (w i ) 1 i 4 are in clockwise order around v, then w i and w i+1 are still connected for i = 1, . . ., 4 (where w 5 := w 1 ), because we can walk all along γ (or γ ).Notice that here we use the property that the surface is orientable (otherwise, w i might be connected to w i+2 instead of w i+1 ).By transitivity, we conclude that γ ∪ γ do not disconnect the surface.Lemma 18.A family of non-separating, pairwise non-crossing and freely homotopic cycles of a graph embedded in an orientable surface can be cyclically ordered.Such a cyclic order can be found in polynomial time.
This result holds more generally for a family of non-contractible 3 , pairwise non-crossing and freely homotopic cycles.For simplicity, we only consider the special case of non-separating cycles, which is sufficient for our main result.
Proof.Let H be a set of non-separating, pairwise freely homotopic and non-crossing cycles.We first order the cycles in H and then prove that this is a cyclic order.We assume that |H| 3, otherwise any order on H is a cyclic order.
In topology it is usually more convenient to work with disjoint cycles.If two (graph) cycles do not cross, but may share common edges, it is possible to continuously deform by free homotopy one of them, into an arbitrarily small open neighborhood so that the two resulting (topological) cycles are now disjoint.
In the context of graph cycles, we now give a reduction from the setting of Lemma 18 to the special case where the cycles are disjoint.Initially, Q = G + H.
Step 1: If an edge is shared by s cycles, replace it s parallel edges.Each of these edges corresponds to a different cycle so that the resulting set of cycles is still pairwise non-crossing.Now the cycles are pairwise edge-disjoint but may still share some vertices.
Step It is easy to see that this graph is connected (since G + H is connected) and can be embedded in the same surface S g .Figure 6 illustrates the construction of Q.Moreover, a cyclic ordering of the resulting cycles naturally induces a cyclic ordering of H.This completes the reduction.For simplicity, let us also call H the family of cycles in Q.
In the dual Q * , let K denote the set of connected components of Q * \ C∈H C * .They correspond to the connected components of S g \ C∈H C .We say that a cycle C ∈ H is incident to a connected component K ∈ K if there is an edge in C * with one endpoint in K. Consider the bipartite graph B that has a vertex for each cycle in H and a vertex for each element of K, and whose edges represent the incidence relation.Next we show that the graph B is a cycle, and we order the D-cycles in H according to the cyclic order induced by B.
Claim 19.B is a cycle. 3all cycles that are not freely homotopic to a point on the surface.
The connectivity of B follows by construction from the connectivity of Q.Then it is enough to prove that this graph is 2-regular.
We first prove that each vertex of B that corresponds to a cycle in H has degree two in B. Since the cycles in H are disjoint, each cycle C has one component on its left, and one on its right, when we walk along the cycle.Assume, for a contradiction, that they are the same component: C is incident to only one component of S g \ C∈H C .This cycle is also incident to only one component of S g \ (C ∪ C ) where C is any other cycle in H.By Fact 5, we know that S g \ (C ∪ C ) has two connected components.But since C is incident to only one connected component of S g \ (C ∪ C ), S g \ C must also have two connected components, which contradicts the assumption that C is non-separating.Thus, each cycle in B must have degree two.Now we prove that each element of K has degree two.For a contradiction, assume that an element of K is incident to three cycles C, C , C or more.Then one component of Q * \ (C ∪ C ∪ C ) is also incident to C, C and C , and Q * \ (C ∪ C ∪ C ) has two or three components in total.If it has three components, then one of the other two components would be incident to exactly one cycle, which would mean that this cycle is separating, a contradiction.If Q * \ (C ∪ C ∪ C ) has exactly two connected components, then Q * \ (C ∪ C ) must be connected which contradicts Fact 5. Thus, each component is incident to exactly two cycles.This concludes the proof of the claim.
It remains to show that the order induced by B satisfies the property of Definition 2. If an edge e = {u, v} of G + H is shared by some cycles C 1 , . . ., C , then the vertex v can be mapped to a path P = (v 1 , . . ., v ) in Q, so that C i ∩ P = {v i }, 1 i . See Figure 6.It follows that for all 1 i − 1, C i and C i+1 are both incident the same connected component of Q * \ C∈H C that contains the edge {v i , v i+1 } * .In particular, C i and C i+1 are consecutive in the order induced by B.

Proof of Theorem 1
By construction, the output of the algorithm is a feasible solution.We now analyze the value of the output.Since Lower bound on the integrality gap.We note that the gap between an integral and a fractional multiflow can depend at least linearly on g.
For any n 1, we define a graph G n as in [3].This graph consists of n concentric cycles (rings) and 4n radial line segments that intersect each cycles, and each has endpoint s i or t i , for 1 i 2n.See Figure 7.We now define the demand edges H n = {(s i , t i ), 1 i 2n}.The graph G n + H n can be embedded in the projective plane but cannot be embedded in an orientable surface of genus smaller than n; see [3] for a proof.Now, to obtain a large integrality gap, we define a new graph G n by splitting each degree-4 vertex of G n into two vertices, joined by a new edge, such that two of the four incident edges are incident to each of the two new vertices (similarly as in an example of [19]).We have the following properties: (1) G n + H n has orientable genus at least n.This holds since G n + H n is a minor of G n + H n .
(2) In an integral solution we can satisfy only one demand: any (s i , t i )-path must cross with any (s j , t j )-path, for j = i.
(3) A fractional solution of value n exists: two commodities share a ring, and for each commodity we route 1/4 on that ring in each direction.9 Proof of Corollary 2 In this section, we observe how Corollary 2 follows from Theorem 1 and the following result by Tardos and Vazirani [38] (based on work by Klein, Plotkin and Rao [26]).
Theorem 20. [38] Let (G, H, u) be a multiflow instance and γ > 1 such that the supply graph G does not have a K γ,γ minor.Then the minimum capacity of a multicut is O(γ 3 ) times the maximum value of a (fractional) multiflow.
The following is well known.
Claim 21.If a graph G has genus at most g, where g 1, then it has no K γ,γ minor for any γ > 2( √ g + 1).
Proof.Suppose that such a minor K γ,γ exists in G.As the three operations for obtaining a minor (deleting edges/vertices and contracting edges) do not increase the genus, K γ,γ has genus at most g.Furthermore, K has 2γ vertices, γ 2 edges, and at most γ 2 2 faces (since there is no odd cycle in a bipartite graph).By Euler's formula, 2 − 2g 2γ − γ 2 + γ 2 2 , which implies γ 2( √ g + 1).
By Claim 21 and Theorem 20, the ratio between the minimum capacity of a multicut and the maximum value of a (fractional) multiflow is O(g 1.5 ).This, combined with Theorem 1, proves Corollary 2.
10 An improved approximation ratio (Proof of Theorem 3) Theorem 1 yields an approximation ratio of O(g 2 log g) for the maximum integer multiflow problem for instances where G + H is embedded on an orientable surface of genus g.Here we show how to improve this ratio to O(g 2 ), proving Theorem 3.
Namely, after applying Corollary 15, consider the O(g 2 log g) free homotopy classes of the non-separating cycles in the support of our uncrossed multiflow, and take a representative cycle in each class.Let I be the graph whose vertices are these free homotopy classes and whose edges correspond to pairs of classes whose representative cycles cross.This definition does not depend on the choice of the representative cycles.Now a theorem of Przytycki [33] says that this graph has maximum degree O(g 2 ).

Theorem 22 ([33]
).There is a universal constant β > 0 such that the following is true.Let g 1 and let Γ be a family of simple curves on S g such that any two of them are not freely homotopic and cross at most once.Then, the maximum degree of the intersection graph of Γ is at most βg 2 .
Hence we can color the vertices of this graph I greedily with O(g 2 ) colors so that the color classes are stable sets, i.e., sets of cycles that do not cross.Hence there is a color class K whose cycles support an Ω( 1 g 2 ) fraction of the total flow value.
Next, we throw away all cycles outside K and apply the greedy algorithm of Section 7.1 to each free homotopy class of this color class K separately, but before, in each free homotopy class of K, we reduce the capacity of every edge in the two extreme cycles to its total flow value in this class, rounded down.Lemma 23.Each free homotopy class H i in K has two extreme cycles C + i and C − i such that any cycle C of another homotopy class in K that shares an edge with a cycle in H i also shares an edge with C + i or C − i .The set of extreme cycles can be computed in polynomial time.
Intuitively, for each class, the extreme cycles correspond to the pair of cycles that delimits the maximal annulus among all pairs in this class.Notice that when a class consists of a single cycle C, we have Proof.We can assume that g 2, otherwise K has at most one free homotopy class and the statement is trivially true.Additionally, if H i contains exactly one cycle, the statement is also trivially true.Then, let H be a free homotopy class of size at least two.Cutting along cycles in H i might separate the surface into several components that are all homeomorphic to annuli or disks except one component K that has genus at least one.Its boundary is contained in the union of two cycles, which we call C + i and C − i .All other cycles in K \ H i are contained in K. Thus, if a cycle in K \ H i shares an edge e with a cycle in H i , this edge must be on K's boundary, and in particular e ∈ C + i ∪ C − i .
Thus, for each homotopy class H i in K and each edge e that is contained in an extreme cycle of H i , we reduce its capacity to f (H i )(e) .This is sufficient to make the multiflow problems of the free homotopy classes independent of each other because any edge that lies on two cycles from two distinct classes must also lie on one of the extreme cycles of the corresponding classes.The rounding down loses an additive constant of at most 2|K| (at most two per free homotopy class); by Corollary 15, this is O(g 2 log g).Losing this additive constant can be afforded since this loses only a constant factor unless the optimum value is OP T = O(g 2 log g).
To cover this case, we can guess the value of an optimum integral flow f OP T (d) through each demand edge d ∈ D. For each guess, we create an instance of the edge-disjoint paths problem by replacing each demand edge d ∈ D by f OP T (d) parallel demand edges (of unit capacity), and each supply edge e ∈ E by min(u(e), OP T ) parallel supply edges (of unit capacity).Since OP T = O(g 2 log g), this new graph has polynomial size.Since the number of demand edges in the edge-disjoint paths instance is bounded by a constant, we can apply the polynomial-time algorithm by Robertson and Seymour [35] (whose running time O(n 3 ) was later improved to O(n 2 ) by [25], with n referring to the number of vertices in the graph) to decide whether this instance is feasible or not.Since we need to enumerate only |D| O(g 2 log g) guesses, we can compute an optimal solution f OP T to the original maximum integral multiflow instance in polynomial time, assuming that OP T = O(g 2 log g).This concludes the proof of Theorem 3.
However, due to the last step of this algorithm, this does not imply a stronger bound on the integrality gap shown in Theorem 1 or the max-multiflow-min-cut ratio shown in Corollary 2.

Figure 1 :
Figure 1: Some cycles on an orientable surface of genus 2. On the left, two separating cycles.On the right, three non-separating cycles.C and C are freely homotopic and their union disconnects the surface.

Fact 5 .
If two cycles C and C are freely homotopic, then their symmetric difference is a dual cut.If C and C are additionally disjoint and non-separating, then their union is a simple dual cut.

( 1 )
such that |C(f * )| |D||E|.Its running time is polynomial in the size of the input graph.Proof.By introducing flow variables x d e := C∈C:d,e∈C f C for all d ∈ D and e ∈ D ∪ E we can maximize the total value d∈D x d d subject to nonnegativity and flow conservation constraints (for each d ∈ D and for each vertex).This is a linear program of polynomial size.By flow decomposition, one can then construct a feasible solution to (1) of the same value and with support at most |D||E|.Later we will restrict a multiflow to subsets of D-cycles.For C ⊆ C we define a multiflow f by f C := f C for C ∈ C and f C := 0 for C ∈ C \ C , and write f (C ) := f .5 Making a fractional flow minimally crossing (Step 2)

Figure 2 :
Figure 2: Each of the two figures on the left show two D-cycles, C1 (red, dotted) and C2 (blue, solid).The edges belonging to D are marked as d1 and d2.Edges are arranged at every vertex in the order of their embedding.Crossings are marked by yellow shade.The two D-cycles on the left cross three times.The two D-cycles in the middle cross four times.The figure on the right shows two D-cycles C1 and C2 that cross twice, and a third D-cycle C3 (green, dashed) that crosses neither C1 nor C2.Uncrossing C1 and C2 here generates a crossing of C3 with a new D-cycle (namely with the triangle containing d2).
Discretization.The statement is trivial if |f | = 0. Otherwise, before uncrossing, we round down the flow on every D-cycle to integer multiples of |f | |E||D| .That is, we define f

Figure 3 :
Figure 3: Uncrossing the pairs of D-cycles from Figure 2. (a) and (b) show an example for Case 1, (c) and (d) an example for Case 2. The initial situation (C1 red, dotted, and C2 blue, solid) and a possible choice of P, Q, a, b and the resulting orientation is shown in (a) and (c).As the result of the uncrossing operation, shown in (b) and (d), we have the new D-cycles C 1 (red, dotted) and C 2 (blue, solid) with fewer crossings among each other.

Figure 4 :
Figure 4: For each crossing of C with a new cycle C ∈ {C 1 , C 2 } at a path R there is a crossing of C with one of the old cycles C1 and C2 at a subpath of R.This crossing is marked with yellow shade in the three examples.
C 1 and C 2 are edge-disjoint.Proof.(Lemma 12) Assume, for a contradiction, that C 1 and C 2 share an edge e.Let e * = {u * in , u * out } denote its dual edge, such that u * in ∈ in(C 1 ) and u * out ∈ out(C 1 ).Since C 2 ⊀ C , by laminarity either C ≺ C 2 or in(C ) ∩ in(C 2 ) = ∅.In the first case we have C 1 ≺ C ≺ C 2 and then:
Now we define C half C := {C ∈ C half |C ≺ C} ∪ {C} and C half ⊀C := {C ∈ C half |C ⊀ C} ∪ {C}.The choice of C implies that these two families are proper subsets of C half .Since the cycles in C half do not cross, we have {C ∈ C half : C ⊆ G in } = C half C and {C ∈ C half : C ⊆ G out } = C half ⊀C .By the induction hypothesis, Int(C half C ) and Int(C half ⊀C ) can be embedded on S gin and S gout , respectively.By Lemma 12, the graph Int(C half ) arises from Int(C half C ) and Int(C half ⊀C ) by identifying the two vertices that correspond to C.

Lemma 16 .
Let f be a multiflow and H = {C 1 , C 2 , . . ., C k } a cyclically ordered family of C(f ).Then Algorithm 1 returns in polynomial time an integral multiflow of value at least |f ({C 1 , . . ., C k })|/2.Proof.Let f be a multiflow and H = {C 1 , C 2 , . . ., C k } a cyclically ordered family of C(f ).It is clear that Algorithm 1 runs in polynomial time and returns an integral multiflow.Let f be this flow.We show that its value is at least |f (H)|/2.Let us define H a,b = {C a , C a+1 , . . ., C b−1 } and H b,a = {C b , C b+1 , . . ., C k , C 1 , . . ., C a−1 } for all 1 a b k.Additionally, for all edges e ∈ C∈H C, we define H e := {C ∈ H | e ∈ C}.Since we assumed that H is cyclically ordered, we know that for each e ∈ C∈H C, there are indexes 1 a, b k, such that H e = H a,b .
(1) is a relaxation of the maximum integral multiflow problem, |f * | OPT.By Lemma 7, |f | (1− )|f * |.For = 1 2 we have |f | 1 2 |f * |.Consider the multiflow restricted to separating cycles, f sep .If |f sep | 1 2 |f |, then by Theorem 10, Lemma 11, and Theorem 4 we obtain an integral flow of value at least |f sep |/Θ( √ g).Otherwise, by Theorem 14 there exists a free homotopy class H of non-separating cycles such that |f (H)| |f |/Θ(g 2 log g).Use Lemmas 16 and 18 to obtain that the output has value at least |f * |/Θ(g 2 log g).Finally, we analyze the running time.As observed in Section 4, an optimum fractional multiflow f * can be found in polynomial time.(Discretizing and) uncrossing is done in time polynomial in |E||D| by Lemma 7. Partitioning into free homotopy classes is done by Corollary 15.Finally, the operations of Theorem 10, Theorem 4, Lemma 11, Lemma 16 and Lemma 18 can all be done in polynomial time, hence polynomial running time overall.This concludes the proof of Theorem 1.

Figure 7 :
Figure 7: The graph Gn.To obtain the graph G n , we split each degree-4 vertex of Gn into two vertices, joined by a new edge, such that two of the four incident edges are incident to each of the two new vertices.
We orient C 2 so that the orientation on P agrees with the orientation of C 1 on P .Let C 2 denote the resulting directed cycle.Then the vertices a and b also partition C 2 into a path C + 2 from a to b that contains d 2 and a path C − 2 from b to a that does not contain d 2 .Case 2: P contains edges of E only.Then we orient C 2 so that in that orientation, when traversing the entirety of P and then walking towards Q, edge d 2 is traversed before reaching Q.Let C 2 denote the directed cycle.With that orientation, vertices a and b also partition C 2 into a path C + 2 from a to b that contains d 2 and a path C − 2 from b to a that does not contain d 2 .To obtain C 1 , we concatenate C + 1 and C − 2 , remove any cycle that does not contain d 1 , and remove the orientation.To obtain C 2 , we concatenate C + 2 and C − 1 , remove any cycle that does not contain d 2 , and remove the orientation.Note that C 1 and C 2 are D-cycles because each of C + 1 and C + 2 contains exactly one demand edge, and C − 1 and C − 2 contain no demand edge.