<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Algorithms</journal-id>
<journal-title>Algorithms</journal-title>
<issn pub-type="epub">1999-4893</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/a4010075</article-id>
<article-id pub-id-type="publisher-id">algorithms-04-00075</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Approximating the Minimum Tour Cover of a Digraph</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Nguyen</surname><given-names>Viet Hung</given-names></name></contrib>
<aff id="af1-algorithms-04-00075">LIP6, Université Pierre et Marie Curie Paris 6, 4 place Jussieu, Paris, France; E-Mail: <email>hung.nguyen@lip6.fr</email></aff></contrib-group>
<pub-date pub-type="collection">
<year>2011</year></pub-date>
<pub-date pub-type="epub">
<day>20</day>
<month>04</month>
<year>2011</year></pub-date>
<volume>4</volume>
<issue>1</issue>
<fpage>75</fpage>
<lpage>86</lpage>
<history>
<date date-type="received">
<day>02</day>
<month>03</month>
<year>2011</year></date>
<date date-type="rev-recd">
<day>24</day>
<month>03</month>
<year>2011</year></date>
<date date-type="accepted">
<day>02</day>
<month>04</month>
<year>2011</year></date></history>
<permissions>
<copyright-statement>© 2011 by the author; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2011</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>Given a directed graph <italic>G</italic> with non-negative cost on the arcs, a directed tour cover <italic>T</italic> of <italic>G</italic> is a cycle (not necessarily simple) in <italic>G</italic> such that either head or tail (or both of them) of every arc in <italic>G</italic> is touched by <italic>T</italic>. The minimum directed tour cover problem (DToCP), which is to find a directed tour cover of minimum cost, is <italic>NP</italic>-hard. It is thus interesting to design approximation algorithms with performance guarantee to solve this problem. Although its undirected counterpart (ToCP) has been studied in recent years, in our knowledge, the DToCP remains widely open. In this paper, we give a 2 log<sub>2</sub>(<italic>n</italic>)-approximation algorithm for the DToCP.</p></abstract>
<kwd-group>
<kwd>approximation algorithm</kwd>
<kwd>graph algorithm</kwd>
<kwd>packing and covering</kwd>
<kwd>tour cover</kwd>
<kwd>tree cover</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Let <italic>G</italic> = (<italic>V, A</italic>) be a directed graph with a (non-negative) cost function <italic>c</italic> : <italic>A</italic> ⇒ ℚ<sub>+</sub> defined on the arcs. A <italic>directed tour cover T</italic> is a subgraph <italic>T</italic> = (<italic>U, F</italic>) such that</p>
<list list-type="order">
<list-item>
<p>For every <italic>e</italic> ∈ <italic>A, F</italic> contains an arc <italic>f</italic> intersecting <italic>e</italic>, i.e., <italic>f</italic> and <italic>e</italic> have at least one end-node in common.</p></list-item>
<list-item>
<p><italic>T</italic> is a closed directed walk (or branching in the case of tree cover).</p></list-item></list>
<p>We consider in this paper <italic>the minimum directed tour cover</italic> (DToCP) problem which is to find a directed tour cover of minimum cost. As in the previous works [<xref ref-type="bibr" rid="b1-algorithms-04-00075">1</xref>,<xref ref-type="bibr" rid="b2-algorithms-04-00075">2</xref>] on the undirected tour cover, we allow the directed tour cover to be a closed directed walk, <italic>i.e.</italic>, it may visit a node more than once, to avoid restricting the cost function <italic>c</italic> to be a metric. However, if the cost function <italic>c</italic> satisfies the triangle inequality, this directed walk can be short-cut into a simple directed cycle which covers every arc in <italic>A</italic> without increasing the cost. The undirected version of DToCP is the minimum tour cover (ToCP) problem which has been studied in recent years. The ToCP was introduced in a paper by Arkin <italic>et al.</italic> [<xref ref-type="bibr" rid="b1-algorithms-04-00075">1</xref>]. The authors proved that ToCP is <italic>NP</italic>-hard and gave a purely combinatorial 5.5-approximation algorithm. Later, Konemann <italic>et al.</italic> [<xref ref-type="bibr" rid="b2-algorithms-04-00075">2</xref>] proposed an integer formulation for ToCP and used it to improve the approximation ratio to 3. In this paper, the DToCP was listed as an open problem.</p>
<p>We can prove that DToCP is <italic>NP</italic>-hard by a reduction from the metric Asymmetric Traveling Salesman Problem (ATSP). The proof is very similar to the one for ToCP described in [<xref ref-type="bibr" rid="b1-algorithms-04-00075">1</xref>]. Given any instance <italic>G</italic> = (<italic>V, A</italic>) of ATSP, for every node <italic>v</italic> ∈ <italic>V</italic>, we create a new node <italic>v′</italic> and an arc (<italic>v, v′</italic>) of cost +∞ to obtain a new graph <italic>G′</italic>. Let us consider the DToCP on <italic>G′</italic>, we can see that any directed tour cover on <italic>G′</italic> must cover <italic>V</italic>. As the costs are metric, given any directed tour cover, we can find a traveling salesman tour on <italic>G</italic> of no greater cost. Hence, there is an one-to-one correspondence between the optimal solutions of DToCP on <italic>G′</italic> and the optimal traveling salesman tours on <italic>G</italic>. Moreover, this reduction is approximation-preserving, <italic>i.e.</italic>, if we have an <italic>α</italic>-approximation algorithm for DToCP then we can approximate the metric ATSP with the same ratio <italic>α</italic>. In our knowledge, the best approximation ratio for ATSP is so far 0.824log<sub>2</sub>(<italic>n</italic>) achieved by Kaplan <italic>et al.</italic> [<xref ref-type="bibr" rid="b3-algorithms-04-00075">3</xref>]. Therefore, it is rather difficult to design an algorithm of a constant approximation ratio for DToCP. In this paper, we will present a 2log<sub>2</sub>(<italic>n</italic>)-approximation algorithm for the DToCP. This ratio is more than 2 times the ratio for ATSP, since our algorithm is inspired from the algorithm given by Konemann <italic>et al.</italic> [<xref ref-type="bibr" rid="b2-algorithms-04-00075">2</xref>] for the undirected case which is based on the bound of the Held-Karp relaxation for metric TSP It is proved that the metric TSP costs no more than 
<inline-formula>
<mml:math id="mm1" display="inline">
<mml:semantics id="sm1">
<mml:mrow>
<mml:mfrac>
<mml:mn>3</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula> the Held-Karp bound for the undirected case and the metric ATSP costs no more than log<sub>2</sub>(<italic>n</italic>) the Held-Karp bound for the directed case [<xref ref-type="bibr" rid="b4-algorithms-04-00075">4</xref>,<xref ref-type="bibr" rid="b5-algorithms-04-00075">5</xref>]. Hence, our ratio 2 log<sub>2</sub>(<italic>n</italic>) for DToCP follows logically the best ratio 3 for ToCP. Our work for DToCP is motivated by the asymmetric versions of the applications enumerated by Arkin <italic>et al.</italic> for the undirected case, especially a special case of the Symmetric Traveling Purchaser Problem [<xref ref-type="bibr" rid="b1-algorithms-04-00075">1</xref>]. We give here a concrete example of applications of DToCP, which is the following simplified version of the waste collection problem. A company is in charge of waste collection in an urban area. The area is supposed to be small enough so that one truck is sufficient to collect all of its daily wastes. The gather is done by the truck in early morning of each day. For each street in the area, waste should be regrouped at one of the end-points of the street in the night of the day before. When the truck goes along a street, this induces some cost to the company. Hence, the aim of the company is to find a cheapest tour from its depot for the truck such that the waste collection is accomplished for every street of the area. Note that streets could be one-way or sloping, making the costs asymmetric. This problem suggests that the depot should belong to the tour. We shall see that our algorithm for DToCP will also work for the case when the tour should contain a fixed vertex.</p>
<p>The paper is organized as follows: In Section 2, we present an integer formulation for DToCP. We discuss in Section 3 about the parsimonious property of Eulerian directed graphs, in particular in Section 3.1. We prove the equivalent directed version of Goemans and Bertsimas's theorem on splitting operations. In Section 3.2, we derive an equivalent linear program to the Held-Karp relaxation for metric ATSP. This linear program will be useful in the analysis of our algorithm's performance guarantee in Section 5. Before that, we state our approximation algorithm for DToCP in Section 4.</p>
<p>Let us introduce the notations that will be used in the paper. Let <italic>G</italic> = (<italic>V, A</italic>) be a digraph with vertex set <italic>V</italic> and arc set <italic>A</italic>. If <italic>x</italic> ∈ ℚ<sup>|</sup><italic><sup>A</sup></italic><sup>|</sup> is a vector indexed by the arc set <italic>A</italic> and <italic>F</italic> ⊆ <italic>A</italic> is a subset of arcs, we use <italic>x</italic>(<italic>F</italic>) to denote the sum of values of <italic>x</italic> on the arcs in <italic>F, x</italic>(<italic>F</italic>) = Σ<italic><sub>e</sub></italic><sub>∈</sub><italic><sub>F</sub> x<sub>e</sub></italic>. Similarly, for a vector <italic>y</italic> ∈ ℚ<sup>|</sup><italic><sup>V</sup></italic><sup>|</sup> indexed by the vertices and <italic>S</italic> ⊆ <italic>V</italic> is a subset of vertices, <italic>y</italic>(<italic>S</italic>) denotes the sum of values of <italic>y</italic> on the vertices in the set <italic>S</italic>. For a subset of vertices <italic>S</italic> ⊆ <italic>V</italic>, let <italic>A</italic>(<italic>S</italic>) denote the set of the arcs having both end-nodes in <italic>S</italic>. Let <italic>δ</italic><sup>+</sup>(<italic>S</italic>) and <italic>δ</italic><sup>−</sup>(<italic>S</italic>) denote the set of the arcs having only the tail and head in <italic>S</italic>, respectively. Let <italic>δ</italic>(<italic>S</italic>) = <italic>δ</italic><sup>+</sup>(<italic>S</italic>) ∪ <italic>δ</italic><sup>−</sup>(<italic>S</italic>). We will call <italic>δ</italic><sup>+</sup>(<italic>S</italic>) the <italic>outgoing cut</italic> associated to <italic>S, δ</italic><sup>−</sup>(<italic>S</italic>) the <italic>ingoing cut</italic> associated to <italic>S</italic> and <italic>δ</italic>(<italic>S</italic>) simply the cut associated to <italic>S</italic>. For each vertex <italic>v</italic> ∈ <italic>V</italic>, let <italic>d</italic><sup>+</sup>(<italic>v</italic>) be the <italic>outgoing degree</italic> of <italic>v</italic> which is equal to the number of arcs in <italic>G</italic> having <italic>v</italic> as tail and let <italic>d<sup>−</sup></italic>(<italic>v</italic>) be the <italic>ingoing degree</italic> of <italic>v</italic> which is equal to the number of arcs in <italic>G</italic> having <italic>v</italic> as head. For two subset <italic>U, W</italic> ⊂ <italic>V</italic> such that <italic>U</italic> ∩ <italic>W</italic> = Ø, let (<italic>U</italic> : <italic>W</italic>) be the set of the arcs having the tail in <italic>U</italic> and the head in <italic>W</italic>. For <italic>u</italic> ∈ <italic>V</italic>, we specify <italic>v</italic> as an <italic>outneighbor</italic> of <italic>u</italic> if (<italic>u, v</italic>) ∈ <italic>A</italic> and as an <italic>inneighbor</italic> of <italic>u</italic> if (<italic>v, u</italic>) ∈ <italic>A</italic>. For any <italic>u, v</italic> ∈ <italic>V</italic>, let <italic>p</italic>(<italic>u, v</italic>) be the number of arc-disjoint paths from <italic>u</italic> to <italic>v</italic>. For the sake of simplicity, in clear contexts, the singleton {<italic>u</italic>} will be denoted simply by <italic>u</italic>. When we work on more than one graph, we specify the graph in the index of the notation, e.g., 
<inline-formula>
<mml:math id="mm2" display="inline">
<mml:semantics id="sm2">
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> will denote <italic>δ</italic><sup>+</sup>(<italic>S</italic>) in the graph <italic>G</italic>.</p></sec>
<sec>
<label>2.</label>
<title>Integer Formulation</title>
<p>Let
<disp-formula id="FD1">
<mml:math id="mm3" display="block">
<mml:semantics id="sm3">
<mml:mrow>
<mml:mi>ℱ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>⊆</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>∣</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≠</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>\</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≠</mml:mo>
<mml:mo>∅</mml:mo>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Given any tour cover <italic>TC</italic> of <italic>G</italic>, by definition, for any <italic>S</italic> ∈ ℱ we have <italic>TC</italic> ∩ <italic>δ</italic><sup>+</sup>(<italic>S</italic>) ≥ 1 and <italic>TC</italic> ∩ <italic>δ</italic><sup>−</sup>(<italic>S</italic>) ≥ 1. Note that the condition <italic>TC</italic> ∩ <italic>δ</italic><sup>−</sup>(<italic>S</italic>) ≥ 1 is equivalent to <italic>TC</italic> ∩ <italic>δ</italic><sup>+</sup>(<italic>V \ S</italic>) ≥ 1, and by definition of ℱ, a vertex subset <italic>S</italic> belongs to ℱ if and only if <italic>V \ S</italic> belongs to ℱ. This observation motivates our integer formulation for DToCP. For any <italic>e</italic> ∈ <italic>A</italic>, let <italic>x<sub>e</sub></italic> indicate the number of copies of <italic>e</italic> included in the tour cover. We minimize the total weight of arcs included, under the condition that every outgoing cut associated to some <italic>S</italic> ∈ ℱ should be crossed at least one. In order to ensure that our solution is a tour we also need to specify that for any node <italic>v</italic> ∈ <italic>V</italic>, the number of arcs entering <italic>v</italic> is equal to the number of arcs leaving <italic>v</italic> in the tour. This integer formulation can be stated as follows:
<disp-formula id="FD2">
<mml:math id="mm4" display="block">
<mml:semantics id="sm4">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="right">
<mml:mrow>
<mml:mo>min</mml:mo>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>A</mml:mi></mml:mrow></mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mtd>
<mml:mtd columnalign="left"/></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>-</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mtext>for all</mml:mtext>
<mml:mspace width="0.3em"/>
<mml:mi>v</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>V</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>≥</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mtext>for all</mml:mtext>
<mml:mspace width="0.3em"/>
<mml:mi>S</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>ℱ</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="center">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mspace width="0.2em"/>
<mml:mtext>integer</mml:mtext></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mtext>for all</mml:mtext>
<mml:mspace width="0.3em"/>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>A</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>If one specific vertex <italic>u</italic> should belong to the optimal tour, we just need to set 
<inline-formula>
<mml:math id="mm5" display="inline">
<mml:semantics id="sm5">
<mml:mrow>
<mml:munder>
<mml:mtext>∑</mml:mtext>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>u</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mtext>∑</mml:mtext>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>-</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>u</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:semantics></mml:math></inline-formula> in the formulation. Replacing the integrality constraints by
<disp-formula id="FD3">
<mml:math id="mm6" display="block">
<mml:semantics id="sm6">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>≥</mml:mo>
<mml:mn>0</mml:mn>
<mml:mspace width="0.3em"/>
<mml:mtext>for all</mml:mtext>
<mml:mspace width="0.3em"/>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>A</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula>we obtain the linear programming relaxation. We use DToC(<italic>G</italic>) to denote the convex hull of all vectors <italic>x</italic> satisfying the above constraints (those of the linear programming relaxation). Clearly minimizing the linear cost function Σ<italic><sub>e</sub></italic><sub>∈</sub><italic><sub>A</sub> c<sub>e</sub>x<sub>e</sub></italic> over DToC(<italic>G</italic>) can be done in polynomial time since the separation problem of the cut constraint can be solved in polynomial time. Indeed, given a candidate solution <italic>x</italic> and for every <italic>e</italic> ∈ <italic>A</italic>, let us consider <italic>x<sub>e</sub></italic> as the capacity on arc <italic>e</italic>. For each pair of arcs <italic>e</italic><sub>1</sub>, <italic>e</italic><sub>2</sub> ∈ <italic>E</italic>, we compute the minimum capacity cuts <italic>δ</italic><sup>+</sup>(<italic>U</italic>) separating them.</p></sec>
<sec>
<label>3.</label>
<title>Parsimonious Property for Directed Eulerian Graphs</title>
<sec>
<label>3.1.</label>
<title>Connectivity and the Splitting Operation</title>
<p>Given a positive integer <italic>k</italic>, suppose that we want to find a minimum cost strongly <italic>k</italic>-connected Eulerian directed subgraph of <italic>G, i.e</italic>., there are at least <italic>k</italic> arcs-disjoint paths between every pair of vertices. Moreover, each vertex in the subgraph should have the outgoing and ingoing degree both equal to <italic>k</italic>. The metric ATSP is a special case of this problem when <italic>k</italic> = 1. An integer formulation for the problem can be stated as follows.</p>
<disp-formula id="FD4">
<label>(1)</label>
<mml:math id="mm7" display="block">
<mml:semantics id="sm7">
<mml:mrow>
<mml:mo>min</mml:mo>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>A</mml:mi></mml:mrow></mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<array>
<tbody>
<tr>
<td align="left" valign="top">subject to</td>
<td align="right" valign="top"/></tr>
<tr>
<td align="left" valign="top"><italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>u</italic>)) = <italic>k</italic></td>
<td align="right" valign="top">for all <italic>u</italic> ∈ <italic>V</italic></td></tr>
<tr>
<td align="left" valign="top"><italic>x</italic>(<italic>δ</italic><sup>−</sup>(<italic>u</italic>)) = <italic>k</italic></td>
<td align="right" valign="top">for all <italic>u</italic> ∈ <italic>V</italic></td></tr>
<tr>
<td align="left" valign="top"><italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>S</italic>)) ≥ <italic>k</italic></td>
<td align="right" valign="top">for all <italic>S</italic> ⊂ <italic>V</italic> such that |<italic>S</italic>| ≥ 2</td></tr>
<tr>
<td align="left" valign="top"> <italic>x<sub>e</sub></italic> ≥ 0 and integer</td>
<td align="right" valign="top">for all <italic>e</italic> ∈ <italic>A</italic></td></tr></tbody></array>
<p>Let us consider the linear programming relaxation of (<xref rid="FD4" ref-type="disp-formula">1</xref>).</p>
<disp-formula id="FD5">
<label>(2)</label>
<mml:math id="mm8" display="block">
<mml:semantics id="sm8">
<mml:mrow>
<mml:mo>min</mml:mo>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>A</mml:mi></mml:mrow></mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<array>
<tbody>
<tr>
<td align="left" valign="top">subject to</td>
<td align="right" valign="top"/></tr>
<tr>
<td align="right" valign="top"><italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>u</italic>)) = <italic>k</italic></td>
<td align="right" valign="top">for all <italic>u</italic> ∈ <italic>V</italic></td></tr>
<tr>
<td align="right" valign="top"><italic>x</italic>(<italic>δ</italic><sup>−</sup>(<italic>u</italic>)) = <italic>k</italic></td>
<td align="right" valign="top">for all <italic>u</italic> ∈ <italic>V</italic></td></tr>
<tr>
<td align="right" valign="top"><italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>S</italic>)) ≥ <italic>k</italic></td>
<td align="right" valign="top">for all <italic>S</italic> ⊂ <italic>V</italic> such that |<italic>S</italic>| ≥ 2</td></tr>
<tr>
<td align="right" valign="top"><italic>x<sub>e</sub></italic> ≥ 0</td>
<td align="right" valign="top">for all <italic>e</italic> ∈ <italic>A</italic></td></tr></tbody></array>
<p>The parsimonious property for Eulerian directed graphs says that if the costs are metric, in (<xref rid="FD5" ref-type="disp-formula">2</xref>), we do not need to impose that the degree of each vertex should be exactly <italic>k</italic> but only at least <italic>k</italic>. This means that the following linear program
<disp-formula id="FD6">
<label>(3)</label>
<mml:math id="mm9" display="block">
<mml:semantics id="sm9">
<mml:mrow>
<mml:mo>min</mml:mo>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>A</mml:mi></mml:mrow></mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<array>
<tbody>
<tr>
<td align="left" valign="top">subject to</td>
<td align="right" valign="top"/></tr>
<tr>
<td align="left" valign="top"><italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>u</italic>)) ≥ <italic>k</italic></td>
<td align="right" valign="top">for all <italic>u</italic> ∈ <italic>V</italic></td></tr>
<tr>
<td align="left" valign="top"><italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>u</italic>)) = <italic>x</italic>(<italic>δ</italic><sup>−</sup>(<italic>u</italic>))</td>
<td align="right" valign="top">for all <italic>u</italic> ∈ <italic>V</italic></td></tr>
<tr>
<td align="left" valign="top"><italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>S</italic>)) ≥ <italic>k</italic></td>
<td align="right" valign="top">for all <italic>S</italic> ⊂ <italic>V</italic> such that |<italic>S</italic>| ≥ 2</td></tr>
<tr>
<td align="left" valign="top"> <italic>x<sub>e</sub></italic> ≥ 0</td>
<td align="right" valign="top">for all <italic>e</italic> ∈ <italic>A</italic></td></tr></tbody></array>
<p>is equivalent to (<xref rid="FD5" ref-type="disp-formula">2</xref>).</p>
<sec>
<title>Theorem 1</title>
<p>If the costs <italic>c</italic> satisfy the triangle inequality then the optimum of (<xref rid="FD6" ref-type="disp-formula">3</xref>) is equal to the optimum of the linear programming relaxation (<xref rid="FD5" ref-type="disp-formula">2</xref>).</p>
<p>The parsimonious property can be also formulated for undirected Eulerian graphs. We simply replace the outgoing and ingoing cuts in (<xref rid="FD6" ref-type="disp-formula">3</xref>) and (<xref rid="FD5" ref-type="disp-formula">2</xref>) by the corresponding cut to obtain the two linear programs for the undirected case.</p>
<p>The undirected version of Theorem 1 (in a little more general form) has been proved by Goemans and Bertsimas [<xref ref-type="bibr" rid="b6-algorithms-04-00075">6</xref>]. Their proof consists mainly in showing the following lemma.</p></sec>
<sec>
<title>Lemma 1</title>
<p>[<xref ref-type="bibr" rid="b6-algorithms-04-00075">6</xref>] Let <italic>G</italic> = (<italic>V, E</italic>) be an Eulerian multigraph. Let <italic>c<sub>G</sub></italic>(<italic>i, j</italic>) (<italic>i, j</italic> ∈ <italic>V</italic>) denote the maximum number of edge-disjoint paths between <italic>i</italic> and <italic>j</italic>. Let <italic>s</italic> be any vertex of <italic>G</italic> and let <italic>u</italic> be any neighbor of <italic>s</italic>. Then there exists another neighbor of <italic>s</italic>, say <italic>v</italic>, such that, by splitting <italic>su</italic> and <italic>sv, i.e.</italic>, removing the edges <italic>su</italic> and <italic>sv</italic> and adding the edge <italic>uv</italic>, we obtain a multigraph <italic>G′</italic> satisfying the following conditions:</p>
<list list-type="order">
<list-item>
<p><italic>c<sub>G′</sub></italic>(<italic>i, j</italic>) = <italic>c<sub>G</sub></italic>(<italic>i, j</italic>) for all <italic>i, j</italic> ∈<italic>V</italic> \ {<italic>s</italic>} and</p></list-item>
<list-item>
<p><italic>c<sub>G′</sub></italic>(<italic>s, j</italic>) = min(<italic>c<sub>G</sub></italic>(<italic>s, j</italic>), <italic>d<sub>G</sub></italic>(<italic>s</italic>) − 2) for all <italic>j</italic> ∈ <italic>V</italic> \ {<italic>s</italic>}, where <italic>d<sub>G</sub></italic>(<italic>s</italic>) represents the degree of the vertex <italic>s</italic> in <italic>G</italic>.</p></list-item></list>
<p>Condition 1 of Lemma 1 is a result due to Lovasz [<xref ref-type="bibr" rid="b7-algorithms-04-00075">7</xref>] on the connectivity properties of Eulerian multigraphs. Condition 2, added by Goemans and Bertsimas, states that splitting operation can be performed while maintaining most connectivity requirements involving vertex <italic>s</italic>. For the connectivity of Eulerian multi-digraphs, Jackson [<xref ref-type="bibr" rid="b8-algorithms-04-00075">8</xref>] shows a similar result as Lovasz's one (<italic>i.e.</italic>, Condition 1) for Eulerian multigraphs. This result can be stated in the following lemma.</p></sec>
<sec>
<title>Lemma 2</title>
<p>[<xref ref-type="bibr" rid="b8-algorithms-04-00075">8</xref>] Given an Eulerian graph <italic>G</italic>. Let <italic>s</italic> be any node of <italic>G</italic> and let <italic>u</italic> be any outneighbor of <italic>s</italic>. Then there exists another inneighbor of <italic>s</italic>, say <italic>v</italic>, such that, by splitting (<italic>s, u</italic>) and (<italic>v, s</italic>), <italic>i.e.</italic>, removing the arcs (<italic>s, u</italic>) and (<italic>v, s</italic>) and adding the arc (<italic>v, u</italic>), we obtain a multigraph <italic>G′</italic> satisfying</p>
<list list-type="order">
<list-item>
<p><italic>p<sub>G′</sub></italic>(<italic>i, j</italic>) = <italic>p<sub>G</sub></italic>(<italic>i, j</italic>) for all <italic>i, j</italic> ∈ <italic>V</italic> \ {<italic>s</italic>}.</p></list-item></list>
<p>Like the work of Goemans and Bertsimas for the undirected case, we will subsequently prove that we can add a similar condition as Condition 2 of Lemma 1 to Lemma 2 which express the connectivities involving <italic>s</italic>. We obtain the following lemma.</p></sec>
<sec>
<title>Lemma 3</title>
<p>Let <italic>s</italic> be any node of <italic>G</italic> and let <italic>u</italic> be any outneighbor of <italic>s</italic>. Then there exists another inneighbor of <italic>s</italic>, say <italic>v</italic>, such that, by splitting (<italic>s, u</italic>) and (<italic>v, s</italic>), <italic>i.e.</italic>, removing the arcs (<italic>s, u</italic>) and (<italic>v, s</italic>) and adding the arc (<italic>v, u</italic>), we obtain a multigraph <italic>G′</italic> satisfying the following conditions:
<list list-type="order">
<list-item>
<p><italic>p<sub>G′</sub></italic>(<italic>i, j</italic>) = <italic>p<sub>G</sub></italic>(<italic>i, j</italic>) for all <italic>i, j</italic> ∈ <italic>V</italic> \ {<italic>s</italic>} and</p></list-item>
<list-item>
<p>
<inline-formula>
<mml:math id="mm10" display="inline">
<mml:semantics id="sm10">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>′</mml:mo></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>min</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>.</p></list-item></list></p>
<sec>
<title>Proof</title>
<p>Our proof for Lemma 3 is very similar to the Goemans and Bertsimas' proof for Lemma 1. This latter is also in major part inspired from the one of Lovasz for Lemma 1 (Condition 1) which proceeds along the following lines.</p>
<list list-type="order">
<list-item>
<p>There exists at most one set <italic>S</italic> satisfying:</p>
<p><bold>(a1)</bold> <italic>s</italic> ∈ <italic>S, u</italic> ∉ <italic>S</italic>,</p>
<p><bold>(b1)</bold> |<italic>δ<sub>g</sub></italic>(<italic>S</italic>)| = <italic>c<sub>G</sub></italic>(<italic>i, j</italic>) for some <italic>i, j</italic> ∈ <italic>V, i</italic> ∈ <italic>S, j</italic> ∉ <italic>S</italic> and <italic>i</italic> ≠ <italic>s</italic> and</p>
<p><bold>(c1)</bold> <italic>S</italic> is minimal with respect to the above two conditions.</p></list-item>
<list-item>
<p>If there is no such <italic>S</italic>, then any neighbor <italic>v</italic> of <italic>s</italic> can be used for the splitting operation.</p></list-item>
<list-item>
<p>If such a <italic>S</italic> exists then there exists at least one neighbor of <italic>s</italic> in <italic>S</italic>. Moreover, any neighbor of <italic>s</italic> in <italic>S</italic> can be used for the splitting operation.</p></list-item></list>
<p>We will show that this proof procedure can be used for the directed case. Let us remove the orientation on the arcs of <italic>G</italic>, then <italic>G</italic> becomes an undirected Eulerian multigraph. The following remark expresses the relation between <italic>c<sub>G</sub></italic>(<italic>i, j</italic>), which is the number of edge-disjoint paths between <italic>i</italic> and <italic>j</italic> in undirected <italic>G</italic>, and <italic>p<sub>G</sub></italic>(<italic>i, j</italic>), which is the number of arc-disjoint paths from <italic>i</italic> to <italic>j</italic> (or <italic>p<sub>G</sub></italic>(<italic>j, i</italic>) for the number of arc-disjoint paths from <italic>j</italic> to <italic>i</italic>) in the original directed graph <italic>G</italic>.</p></sec></sec>
<sec>
<title>Remark 1</title>
<p>Let <italic>δ<sub>G</sub></italic>(<italic>S</italic>) be the cut associated to <italic>S</italic> in the undirected <italic>G</italic>. We have</p>
<list list-type="bullet">
<list-item>
<p>
<inline-formula>
<mml:math id="mm11" display="inline">
<mml:semantics id="sm11">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> for all <italic>S</italic> ⊂ <italic>V</italic>.</p></list-item>
<list-item>
<p><italic>c<sub>G</sub></italic>(<italic>i, j</italic>) = 2<italic>p<sub>G</sub></italic>(<italic>i, j</italic>) = 2<italic>p<sub>G</sub></italic>(<italic>j, i</italic>).</p></list-item></list>
<sec>
<title>Proof</title>
<p>We have 
<inline-formula>
<mml:math id="mm12" display="inline">
<mml:semantics id="sm12">
<mml:mrow>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>∪</mml:mo>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> and as 
<inline-formula>
<mml:math id="mm13" display="inline">
<mml:semantics id="sm13">
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>∩</mml:mo>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>∅</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>, 
<inline-formula>
<mml:math id="mm14" display="inline">
<mml:semantics id="sm14">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>. Since <italic>G</italic> is Eulerian, we have 
<inline-formula>
<mml:math id="mm15" display="inline">
<mml:semantics id="sm15">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> for all S ⊂ <italic>V</italic>. Hence, 
<inline-formula>
<mml:math id="mm16" display="inline">
<mml:semantics id="sm16">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>. For all pair <italic>i, j</italic> in <italic>V</italic> with <italic>i</italic> ≠ <italic>j</italic>, as <italic>p<sub>G</sub></italic>(<italic>j, i</italic>) = min{|<italic>δ</italic><sup>+</sup>(<italic>T</italic>)| : <italic>i</italic> ∈ <italic>T</italic> and <italic>j</italic> ∈ <italic>V \ T</italic>}, <italic>p<sub>G</sub></italic>(<italic>j, i</italic>) = min{|<italic>δ</italic><sup>−</sup>(<italic>T</italic>)| : <italic>i</italic> ∈ <italic>T</italic> and <italic>j</italic> ∈ <italic>V \ T</italic>} and 
<inline-formula>
<mml:math id="mm17" display="inline">
<mml:semantics id="sm17">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> for all <italic>T</italic> ⊂ <italic>V</italic>, we have <italic>p<sub>G</sub></italic>(<italic>i, j</italic>) = <italic>p<sub>G</sub></italic>(<italic>j, i</italic>) and <italic>c<sub>G</sub></italic>(<italic>i, j</italic>) = 2<italic>p<sub>G</sub></italic>(<italic>i, j</italic>) = 2<italic>p<sub>G</sub></italic>(<italic>j, i</italic>).</p>
<p>Hence, given any <italic>s</italic> ∈ <italic>V</italic>, applying the Lovasz's procedure for undirected <italic>G</italic>, we have
<list list-type="bullet">
<list-item>
<p>either there exists exactly a <italic>S</italic> satisfying <bold>(a1), (b1)</bold> and <bold>(c1)</bold>. Reconsider <italic>S</italic> in the original directed <italic>G</italic>, we prove that <italic>S</italic> satisfies</p>
<p><bold>(a2)</bold> <italic>s</italic> ∈ <italic>S, u</italic> ∉ <italic>S</italic>,</p>
<p><bold>(b2)</bold> 
<inline-formula>
<mml:math id="mm18" display="inline">
<mml:semantics id="sm18">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> for some <italic>i, j</italic> ∈ <italic>V, i</italic> ∈ <italic>S, j</italic> ∉ <italic>S</italic> and <italic>i</italic> ≠ <italic>s</italic> and</p>
<p><bold>(c2)</bold> <italic>S</italic> is minimal with respect to the above two conditions.</p>
<p>Indeed, by Remark 1, if
<disp-formula id="FD7">
<mml:math id="mm19" display="block">
<mml:semantics id="sm19">
<mml:mrow>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>min</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>:</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>T</mml:mi>
<mml:mspace width="0.3em"/>
<mml:mtext>and</mml:mtext>
<mml:mspace width="0.3em"/>
<mml:mi>j</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>\</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>then
<disp-formula id="FD8">
<mml:math id="mm20" display="block">
<mml:semantics id="sm20">
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>min</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>:</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>T</mml:mi>
<mml:mspace width="0.3em"/>
<mml:mtext>and</mml:mtext>
<mml:mspace width="0.3em"/>
<mml:mi>j</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>\</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo stretchy="false">}</mml:mo>
<mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The conditions <bold>(a1)</bold> and <bold>(a2)</bold> (or <bold>(c1)</bold> and <bold>(c2)</bold>, respectively) are the same, independent from the fact that <italic>G</italic> is directed or not.</p></list-item>
<list-item>
<p>otherwise, <italic>i.e.</italic>, no <italic>S</italic> satisfying <bold>(a1), (b1)</bold> and <bold>(c1)</bold> exists. Then for all <italic>S</italic> ⊂ <italic>V</italic> such that <italic>s</italic> ∈ <italic>S</italic> and <italic>u</italic> ∉ <italic>S</italic>, we have |<italic>δ<sub>G</sub></italic>(<italic>S</italic>)| &gt; <italic>c<sub>G</sub></italic>(<italic>i, j</italic>) for all <italic>i, j</italic> ∈ <italic>V, i</italic> ∈ <italic>S, j</italic> ∉ <italic>S</italic> and <italic>i ≠ s</italic>. By 
<inline-formula>
<mml:math id="mm21" display="inline">
<mml:semantics id="sm21">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>, we have also in the original directed graph <italic>G</italic>, 
<inline-formula>
<mml:math id="mm22" display="inline">
<mml:semantics id="sm22">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>&gt;</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> for all <italic>i, j</italic> ∈ <italic>V, i</italic> ∈ <italic>S, j</italic> ∉ <italic>S</italic> and <italic>i ≠ s</italic>. Hence, we can select any inneighbor <italic>v</italic> of <italic>s</italic> and split (<italic>s, u</italic>) and (<italic>v, s</italic>) without changing the value of <italic>p<sub>G</sub></italic>(<italic>i, j</italic>) for all <italic>i, j</italic> ∈ <italic>V</italic> \ {<italic>s</italic>}.</p></list-item></list></p>
<p>Hence we can summarize below the directed version of Lovasz's proof procedure.</p>
<list list-type="order">
<list-item>
<p>There exists at most one set <italic>S</italic> satisfying <bold>(a2), (b2)</bold> and <bold>(c2)</bold>.</p></list-item>
<list-item>
<p>If there is no such <italic>S</italic>, then any inneighbor <italic>v</italic> of <italic>s</italic> can be used for the splitting operation.</p></list-item>
<list-item>
<p>If such a <italic>S</italic> exists, then there exists at least one inneighbor of <italic>s</italic> in <italic>S</italic>. Moreover, any inneighbor of <italic>s</italic> in <italic>S</italic> can be used for the splitting operation.</p></list-item></list>
<p>To show Lemma 3, we add a new node <italic>ŝ</italic> to <italic>G</italic> and 
<inline-formula>
<mml:math id="mm23" display="inline">
<mml:semantics id="sm23">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:semantics></mml:math></inline-formula> arcs from <italic>ŝ</italic> to <italic>s</italic> and 
<inline-formula>
<mml:math id="mm24" display="inline">
<mml:semantics id="sm24">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:semantics></mml:math></inline-formula> arcs from <italic>s</italic> to <italic>ŝ</italic>. Let <italic>Ĝ</italic> be this new graph. Clearly, <italic>Ĝ</italic> is Eulerian. Moreover,
<disp-formula id="FD9">
<mml:math id="mm25" display="block">
<mml:semantics id="sm25">
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mspace width="0.5em"/>
<mml:mtext>for all</mml:mtext>
<mml:mspace width="0.5em"/>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>\</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">}</mml:mo>
<mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mi>s</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>min</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mspace width="0.5em"/>
<mml:mtext>for all</mml:mtext>
<mml:mspace width="0.5em"/>
<mml:mi>j</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>\</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">}</mml:mo>
<mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:semantics></mml:math></disp-formula></p>
<p>Now applying the proof procedure to <italic>Ĝ</italic>, we can see that there are two possible cases:</p>
<list list-type="order">
<list-item>
<p>There is no <italic>S</italic> ⊂ <italic>V</italic> ∪ {<italic>ŝ</italic>} that satisfies <bold>(a2), (b2)</bold> and <bold>(c2)</bold> expressed for <italic>Ĝ</italic>. Then we can select any inneighbor <italic>v</italic> ≠ <italic>ŝ</italic> of <italic>s</italic> and do the splitting operation on the arcs (<italic>v, s</italic>) and (<italic>s, u</italic>). Let <italic>G′</italic> be the resulted graph after this splitting operation. Since the splitting operation does not affect the connectivity of all the nodes in <italic>V</italic> ∪ {<italic>ŝ</italic>} \ {<italic>s</italic>}, we have <italic>p<sub>G′</sub></italic>(<italic>ŝ, j</italic>) = <italic>p<sub>Ĝ</sub></italic>(<italic>ŝ, j</italic>) for all <italic>j</italic> ∈ <italic>V</italic> \ {<italic>s</italic>}. But as 
<inline-formula>
<mml:math id="mm26" display="inline">
<mml:semantics id="sm26">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>′</mml:mo></mml:mrow>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:semantics></mml:math></inline-formula>,
<disp-formula id="FD10">
<mml:math id="mm27" display="block">
<mml:semantics id="sm27">
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mi>s</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>min</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mspace width="0.5em"/>
<mml:mtext>for all</mml:mtext>
<mml:mspace width="0.5em"/>
<mml:mi>j</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>\</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">}</mml:mo>
<mml:mspace width="0.2em"/>
<mml:mtext>and</mml:mtext></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>′</mml:mo></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mi>s</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>min</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>′</mml:mo></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>′</mml:mo></mml:mrow>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mspace width="0.5em"/>
<mml:mtext>for all</mml:mtext>
<mml:mspace width="0.5em"/>
<mml:mi>j</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>\</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">}</mml:mo>
<mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:semantics></mml:math></disp-formula></p>
<p>As <italic>p<sub>Ĝ</sub></italic>(<italic>ŝ, j</italic>) = <italic>p<sub>G′</sub></italic>(<italic>ŝ, j</italic>) then <italic>p<sub>G′</sub></italic>(<italic>s, j</italic>) can not be strictly smaller than 
<inline-formula>
<mml:math id="mm28" display="inline">
<mml:semantics id="sm28">
<mml:mrow>
<mml:mo>min</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> and as <italic>p<sub>G′</sub></italic>(<italic>s, j</italic>) ≤ <italic>p<sub>g</sub></italic>(<italic>s, j</italic>), by construction, <italic>p<sub>G′</sub></italic>(<italic>s, j</italic>) can not be strictly greater than 
<inline-formula>
<mml:math id="mm29" display="inline">
<mml:semantics id="sm29">
<mml:mrow>
<mml:mo>min</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>. Hence 
<inline-formula>
<mml:math id="mm30" display="inline">
<mml:semantics id="sm30">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>′</mml:mo></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>min</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>Otherwise, <italic>i.e.</italic>, there exists exactly one set <italic>S</italic> ⊂ <italic>V</italic> ∪ {<italic>ŝ</italic>} satisfying (<bold>a2</bold>), (<bold>b2</bold>) and (<bold>c2</bold>). Note that the condition (<bold>b2</bold>) expressed for <italic>Ĝ</italic> is 
<inline-formula>
<mml:math id="mm31" display="inline">
<mml:semantics id="sm31">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> for some <italic>i, j</italic> ∈ <italic>V</italic> ∩ {<italic>ŝ</italic>}, <italic>i</italic> ∈ <italic>S, j</italic> ∉ <italic>S</italic> and <italic>i</italic> ≠ <italic>s</italic>.</p>
<p><bold>Proposition 1</bold> If such a <italic>S</italic> exists then <italic>ŝ</italic> ∈ <italic>S</italic>.</p>
<p><italic>Proof</italic>. Indeed if <italic>ŝ</italic> ∉ <italic>S</italic> then 
<inline-formula>
<mml:math id="mm32" display="inline">
<mml:semantics id="sm32">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> since both <italic>u</italic> and <italic>ŝ</italic> ∉ <italic>S</italic> and <italic>Ĝ</italic> is Eulerian. Moreover 
<inline-formula>
<mml:math id="mm33" display="inline">
<mml:semantics id="sm33">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> would be equal to <italic>p<sub>Ĝ</sub></italic>(<italic>i</italic>, <italic>ŝ</italic>) for some <italic>i</italic> ∈ <italic>S</italic> \ {<italic>s</italic>}. This follows by <bold>(b2)</bold> and the fact that 
<inline-formula>
<mml:math id="mm34" display="inline">
<mml:semantics id="sm34">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo></mml:msup>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>∪</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mover accent="true">
<mml:mi>s</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo stretchy="false">}</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>&lt;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> (since <italic>s</italic> ∈ <italic>S</italic>) which implies that there is no <italic>i</italic> and <italic>j</italic> in <italic>V</italic> \ {<italic>s</italic>} with <italic>i</italic> ∈ <italic>S</italic> and <italic>j</italic> ∉ <italic>S</italic> such that 
<inline-formula>
<mml:math id="mm35" display="inline">
<mml:semantics id="sm35">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>. This leads to a contradiction since 
<inline-formula>
<mml:math id="mm36" display="inline">
<mml:semantics id="sm36">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≤</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:mi>s</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≤</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mi>s</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>&lt;</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>.</p>
<p><bold>Proposition 2</bold> If a <italic>S</italic> satisfying <bold>(a2)-(c2)</bold> exists, there must exist some <italic>v</italic> ∈ <italic>S</italic> with <italic>v</italic> ≠ <italic>ŝ</italic> such that <italic>v</italic> is an inneighbor of <italic>s</italic>.</p>
<p><italic>Proof</italic>. Indeed, if <italic>S</italic> does not contain any inneighbor of <italic>s</italic> other than <italic>ŝ</italic>, then 
<inline-formula>
<mml:math id="mm37" display="inline">
<mml:semantics id="sm37">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mo>≥</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>. Hence
<disp-formula id="FD11">
<mml:math id="mm38" display="block">
<mml:semantics id="sm38">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>&gt;</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mi>s</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≥</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mi>s</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Hence, there would exist some <italic>i</italic> ∈ <italic>S, s</italic> ≠ <italic>i</italic> ≠ <italic>ŝ</italic> and <italic>j</italic> ∉ <italic>S</italic> such that 
<inline-formula>
<mml:math id="mm39" display="inline">
<mml:semantics id="sm39">
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>. This leads to a contradiction to the fact that <italic>S</italic> is minimal since <italic>S</italic> \ {<italic>s, ŝ</italic>} would separate <italic>i</italic> from <italic>j</italic> and as
<disp-formula id="FD12">
<mml:math id="mm40" display="block">
<mml:semantics id="sm40">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo></mml:msup>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>\</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:mi>s</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo stretchy="false">}</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>:</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">}</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>-</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">}</mml:mo>
<mml:mo>:</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>\</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>and |(<italic>S</italic> : {<italic>s</italic>})<italic><sub>Ĝ</sub></italic>| = 0 as <italic>s</italic> ∈ <italic>S</italic> and |({<italic>s</italic>} : <italic>V \ S</italic>)<italic><sub>Ĝ</sub></italic>| &gt; 0, We have
<disp-formula id="FD13">
<mml:math id="mm41" display="block">
<mml:semantics id="sm41">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo></mml:msup>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>\</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:mi>s</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo stretchy="false">}</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>&lt;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Therefore, there exists some <italic>v</italic> = <italic>ŝ</italic> such that by splitting (<italic>s, u</italic>) and (<italic>v, s</italic>) we obtain a graph <italic>Ĝ′</italic> with <italic>p<sub>Ĝ</sub></italic>(<italic>i, j</italic>) = <italic>p<sub>Ĝ′</sub></italic>(<italic>i, j</italic>) for all <italic>i, j</italic> ∈ <italic>V</italic> ∪ {<italic>ŝ</italic>} \ {<italic>s</italic>}. After removing <italic>ŝ</italic>, we obtain a graph <italic>G′</italic> which can be also obtained from <italic>G</italic> by splitting off (<italic>s, u</italic>) and (<italic>s, v</italic>). <italic>G′</italic> satisfies
<disp-formula id="FD14">
<mml:math id="mm42" display="block">
<mml:semantics id="sm42">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:msup>
<mml:mi>G</mml:mi>
<mml:mo>′</mml:mo></mml:msup></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:msup>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>′</mml:mo></mml:msup></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mspace width="0.5em"/>
<mml:mtext>for all</mml:mtext>
<mml:mspace width="0.5em"/>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>\</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>and
<disp-formula id="FD15">
<mml:math id="mm43" display="block">
<mml:semantics id="sm43">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:msup>
<mml:mi>G</mml:mi>
<mml:mo>′</mml:mo></mml:msup></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:msup>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>′</mml:mo></mml:msup></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>≥</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:msup>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>′</mml:mo></mml:msup></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mi>s</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mi>s</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>min</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>G</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mspace width="0.5em"/>
<mml:mtext>for all</mml:mtext>
<mml:mspace width="0.5em"/>
<mml:mi>j</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>\</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">}</mml:mo>
<mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Moreover, due to splitting operation <italic>p<sub>G′</sub></italic>(<italic>s, j</italic>) ≤ <italic>p<sub>G</sub></italic>(<italic>s, j</italic>) and 
<inline-formula>
<mml:math id="mm44" display="inline">
<mml:semantics id="sm44">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>′</mml:mo></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≤</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:semantics></mml:math></inline-formula>.</p></list-item></list>
<p>We finish here the proof of Lemma 3.</p></sec></sec>
<sec>
<title>Proof of Theorem 1</title>
<p>Let <italic>C</italic> be the optimal value of (<xref rid="FD6" ref-type="disp-formula">3</xref>) and <italic>C′</italic> be the optimal value of (<xref rid="FD5" ref-type="disp-formula">2</xref>). As (<xref rid="FD6" ref-type="disp-formula">3</xref>) is a relaxation of (<xref rid="FD5" ref-type="disp-formula">2</xref>), we have <italic>C</italic> ≤ <italic>C′</italic>. To show <italic>C</italic> ≥ <italic>C′</italic> let <italic>x</italic> be an optimal solution of (<xref rid="FD6" ref-type="disp-formula">3</xref>), <italic>i.e.</italic>, <italic>C</italic> = Σ<sub><italic>e</italic>∈<italic>A</italic></sub> <italic>c<sub>e</sub>x<sub>e</sub></italic>. We can assume without loss of generality that <italic>x</italic> is integer since there exists some integer <italic>p</italic> such that <italic>px</italic> is integer and we can replace <italic>k</italic> by <italic>p.k</italic> in (<xref rid="FD6" ref-type="disp-formula">3</xref>) and (<xref rid="FD5" ref-type="disp-formula">2</xref>). Let <italic>G</italic> = (<italic>V, A</italic>) be the multigraph which has <italic>x<sub>e</sub></italic> copies of each arc <italic>e</italic> such that <italic>x<sub>e</sub></italic> &gt; 0. Applying repeatedly the splitting operation described in Lemma 3 with <italic>s</italic> chosen among the nodes of <italic>V</italic> such that <italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>s</italic>)) &gt; <italic>k</italic> until 
<inline-formula>
<mml:math id="mm45" display="inline">
<mml:semantics id="sm45">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>′</mml:mo></mml:mrow>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:semantics></mml:math></inline-formula> for all <italic>i</italic> ∈ <italic>V</italic>, we will obtain a multigraph <italic>G′</italic> such that</p>
<list list-type="bullet">
<list-item>
<p><italic>p<sub>G′</sub></italic>(<italic>i, j</italic>) ≥ <italic>k</italic> for all <italic>i, j</italic> ∈ <italic>V</italic></p></list-item>
<list-item>
<p>
<inline-formula>
<mml:math id="mm46" display="inline">
<mml:semantics id="sm46">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>′</mml:mo></mml:mrow>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:semantics></mml:math></inline-formula> for all <italic>i</italic> ∈ <italic>V</italic>.</p></list-item></list>
<p>Let <italic>x′</italic> be the point such that for each <italic>e</italic> ∈ <italic>A</italic>, 
<inline-formula>
<mml:math id="mm47" display="inline">
<mml:semantics id="sm47">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> is equal to the number of copies of <italic>e</italic> in <italic>G′</italic>. We can see that <italic>x′</italic> is a solution of (<xref rid="FD5" ref-type="disp-formula">2</xref>). Since the costs satisfy the triangle inequality, each time we perform a splitting operation the cost of the solution does not increase, which implies that 
<inline-formula>
<mml:math id="mm48" display="inline">
<mml:semantics id="sm48">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>A</mml:mi></mml:mrow></mml:msub>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:msub>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>A</mml:mi></mml:mrow></mml:msub>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>′</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>.</p></sec></sec>
<sec>
<label>3.2.</label>
<title>Held-Karp Relaxation for ATSP and the Parsimonious Property</title>
<p>Let us consider the Asymmetric Traveling Salesman Problem (ATSP) on <italic>G</italic>. The Held-Karp bound for this problem can be computed by solving the following linear program:
<disp-formula id="FD16">
<mml:math id="mm49" display="block">
<mml:semantics id="sm49">
<mml:mrow>
<mml:mo>min</mml:mo>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>A</mml:mi></mml:mrow></mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<array>
<tbody>
<tr>
<td align="left" valign="top">subject to</td>
<td align="right" valign="top"/></tr>
<tr>
<td align="right" valign="top"><italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>S</italic>)) ≥ 1</td>
<td align="right" valign="top">for all <italic>S</italic> ⊂ <italic>V</italic> such that |<italic>S</italic>| ≥ 2</td></tr>
<tr>
<td align="right" valign="top"><italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>v</italic>)) = 1</td>
<td align="right" valign="top">for all <italic>v</italic> ∈ <italic>V</italic></td></tr>
<tr>
<td align="right" valign="top"><italic>x</italic>(<italic>δ</italic><sup>−</sup>(<italic>v</italic>)) = 1</td>
<td align="right" valign="top">for all <italic>v</italic> ∈ <italic>V</italic></td></tr>
<tr>
<td align="right" valign="top">0 ≤ <italic>x<sub>e</sub></italic> ≤ 1</td>
<td align="right" valign="top">for all <italic>e</italic> ∈ <italic>A</italic></td></tr></tbody></array>
<p>This linear program is called <italic>Held-Karp relaxation</italic> for ATSP. In fact the upper bound constraint <italic>x<sub>e</sub></italic> ≤ 1 for all <italic>e</italic> ∈ <italic>A</italic> is redundant due to the degree constraints <italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>v</italic>)) = 1 and <italic>x</italic>(<italic>δ</italic><sup>−</sup>(<italic>v</italic>)) = 1 for all <italic>v</italic> ∈ <italic>V</italic>. Thus, we can rewrite the Held-Karp relaxation as follows:
<disp-formula id="FD17">
<label>(4)</label>
<mml:math id="mm50" display="block">
<mml:semantics id="sm50">
<mml:mrow>
<mml:mo>min</mml:mo>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>A</mml:mi></mml:mrow></mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<array>
<tbody>
<tr>
<td align="left" valign="top">subject to</td>
<td align="right" valign="top"/></tr>
<tr>
<td align="right" valign="top"><italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>S</italic>)) ≥ 1</td>
<td align="right" valign="top">for all <italic>S</italic> ⊂ <italic>V</italic> such that |<italic>S</italic>| ≥ 2</td></tr>
<tr>
<td align="right" valign="top"><italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>v</italic>)) = 1</td>
<td align="right" valign="top">for all <italic>v</italic> ∈ <italic>V</italic></td></tr>
<tr>
<td align="right" valign="top"><italic>x</italic>(<italic>δ</italic><sup>−</sup>(<italic>v</italic>)) = 1</td>
<td align="right" valign="top">for all <italic>v</italic> ∈ <italic>V</italic></td></tr>
<tr>
<td align="right" valign="top"><italic>x<sub>e</sub></italic> ≥ 0</td>
<td align="right" valign="top">for all <italic>e</italic> ∈ <italic>A</italic></td></tr></tbody></array>
<p>The following theorem is a direct application of Theorem 1.</p>
<sec>
<title>Theorem 2</title>
<p>If the costs <italic>c</italic> satisfy the triangle inequality then the optimum of (<xref rid="FD17" ref-type="disp-formula">4</xref>) is equal to the optimum of:
<disp-formula id="FD18">
<label>(5)</label>
<mml:math id="mm51" display="block">
<mml:semantics id="sm51">
<mml:mrow>
<mml:mo>min</mml:mo>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>A</mml:mi></mml:mrow></mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<array>
<tbody>
<tr>
<td align="left" valign="top">subject to</td>
<td align="right" valign="top"/></tr>
<tr>
<td align="left" valign="top"><italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>S</italic>)) ≥ 1</td>
<td align="right" valign="top"><italic>for all</italic> Ø ≠ <italic>S</italic> ⊂ <italic>V</italic> (<italic>included S singleton</italic>)</td></tr>
<tr>
<td align="left" valign="top"><italic>x</italic>(<italic>δ</italic><sup>+</sup>(<italic>v</italic>)) = <italic>x</italic>(<italic>δ</italic><sup>−</sup>(<italic>v</italic>))</td>
<td align="right" valign="top"><italic>for all v</italic> ∈ <italic>V</italic></td></tr>
<tr>
<td align="left" valign="top"> <italic>x<sub>e</sub></italic> ≥ 0</td>
<td align="right" valign="top"><italic>for all e</italic> ∈ <italic>A</italic></td></tr></tbody></array></sec></sec></sec>
<sec>
<label>4.</label>
<title>Algorithm</title>
<p>We are now ready to state our algorithm for directed tour cover which is heavily inspired from the one for ToCP in [<xref ref-type="bibr" rid="b2-algorithms-04-00075">2</xref>].</p>
<list list-type="order">
<list-item>
<p>Let <italic>x</italic>* be the vector minimizing <italic>cx</italic> over DToC(<italic>G</italic>);</p></list-item>
<list-item>
<p>Let 
<inline-formula>
<mml:math id="mm52" display="inline">
<mml:semantics id="sm52">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mo>←</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>∣</mml:mo>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo></mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>v</mml:mi></mml:mrow>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac></mml:mrow>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>;</p></list-item>
<list-item>
<p>Let <italic>G<sub>U</sub></italic> = (<italic>V<sub>U</sub>, A<sub>U</sub></italic>) be a graph with vertex set <italic>V<sub>U</sub></italic> = <italic>U</italic> and the arc set <italic>A<sub>U</sub></italic> is built as follows: for each pair of nodes <italic>i, j</italic> ∈ <italic>U</italic>, if there exists a path from <italic>i</italic> to <italic>j</italic> in <italic>G</italic>, create an arc (<italic>i, j</italic>) in <italic>G<sub>U</sub></italic> with the cost 
<inline-formula>
<mml:math id="mm53" display="inline">
<mml:semantics id="sm53">
<mml:mrow>
<mml:msubsup>
<mml:mi>c</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mi>U</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> being equal to the cost of the shortest path from <italic>i</italic> to <italic>j</italic> in <italic>G</italic>;</p></list-item>
<list-item>
<p>Run the Frieze, Galbiati and Maffioli heuristic [<xref ref-type="bibr" rid="b4-algorithms-04-00075">4</xref>] to find an approximate minimum traveling salesman directed tour on <italic>G<sub>U</sub></italic>. Note that the linear program in step <bold>(1)</bold> can be solved in polynomial time by using the ellipsoid method with a minimum cut computation as separation oracle. The algorithm outputs a directed tour which spans <italic>U</italic>. We can see that <italic>U</italic> is vertex cover of <italic>G</italic>. Since for any arc <italic>e</italic> = (<italic>u, v</italic>) ∈ <italic>A, x</italic>*(<italic>δ</italic><sup>+</sup>({<italic>u, v</italic>})) ≥ 1 and 
<inline-formula>
<mml:math id="mm54" display="inline">
<mml:semantics id="sm54">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mi>u</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo stretchy="false">}</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>u</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>-</mml:mo>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>e</mml:mi>
<mml:mo>∗</mml:mo></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>, at least <italic>x</italic>*(<italic>δ</italic><sup>+</sup>(<italic>u</italic>)) or <italic>x</italic>*(<italic>δ</italic><sup>+</sup>(<italic>v</italic>)) is greater or equal to 
<inline-formula>
<mml:math id="mm55" display="inline">
<mml:semantics id="sm55">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula>, <italic>i.e.</italic>, at least <italic>u</italic> or <italic>v</italic> should belong to <italic>U</italic>. Therefore, the algorithm outputs a directed tour cover of <italic>G</italic>.</p></list-item></list></sec>
<sec>
<label>5.</label>
<title>Performance Guarantee</title>
<p>Let x* be the vector minimizing Σ<sub><italic>e</italic>∈<italic>A</italic></sub> <italic>c<sub>e</sub>x<sub>e</sub></italic> over DToC(<italic>G</italic>) and 
<inline-formula>
<mml:math id="mm56" display="inline">
<mml:semantics id="sm56">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>∣</mml:mo>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo></mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>v</mml:mi></mml:mrow>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac></mml:mrow>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>. Let <italic>y</italic>* = 2<italic>x</italic>*, and let <italic>k</italic> be the minimum integer such that <italic>ky</italic>* is integer. Let <italic>G̃</italic> = (<italic>V, Ã</italic>) be the multi-graph that has 
<inline-formula>
<mml:math id="mm57" display="inline">
<mml:semantics id="sm57">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="italic">ky</mml:mtext>
<mml:mi>e</mml:mi>
<mml:mo>∗</mml:mo></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> copies of arc <italic>e</italic> for each <italic>e</italic> ∈ <italic>Ã</italic>. Note that <italic>G̃</italic> is Eulerian. For any <italic>i</italic> ≠ <italic>j</italic> ∈ <italic>V</italic>, let <italic>p<sub>G̃</sub></italic>(<italic>i, j</italic>) be number of disjoint paths from <italic>i</italic> to <italic>j</italic> in <italic>G̃</italic>.</p>
<sec>
<title/>
<sec>
<title>Remark 2</title>
<p><italic>p<sub>G̃</sub></italic>(<italic>u, j</italic>) ≥ <italic>k</italic> for all <italic>u</italic> ∈ <italic>U</italic> and <italic>j</italic> ∈ <italic>V</italic> \ {<italic>u</italic>}.</p>
<sec>
<title>Proof</title>
<p>To prove the remark, we will show that for any <italic>S</italic> ⊂ <italic>V</italic> such that <italic>u</italic> ∈ <italic>S</italic> and <italic>j</italic> ∈ <italic>V</italic> \ <italic>S</italic>, we have 
<inline-formula>
<mml:math id="mm58" display="inline">
<mml:semantics id="sm58">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>∼</mml:mo></mml:mover>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:semantics></mml:math></inline-formula>. Indeed, if <italic>A</italic>(<italic>S</italic>) ≠ Ø then by construction, 
<inline-formula>
<mml:math id="mm59" display="inline">
<mml:semantics id="sm59">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>∼</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≥</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula> which implies 
<inline-formula>
<mml:math id="mm60" display="inline">
<mml:semantics id="sm60">
<mml:mrow>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≥</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:semantics></mml:math></inline-formula> and consequently 
<inline-formula>
<mml:math id="mm61" display="inline">
<mml:semantics id="sm61">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>∼</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:semantics></mml:math></inline-formula>. Otherwise, if <italic>A</italic>(<italic>S</italic>) = Ø then 
<inline-formula>
<mml:math id="mm62" display="inline">
<mml:semantics id="sm62">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≥</mml:mo>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>u</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≥</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula>. Equivalently, 
<inline-formula>
<mml:math id="mm63" display="inline">
<mml:semantics id="sm63">
<mml:mrow>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>G</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≥</mml:mo>
<mml:msup>
<mml:mi>y</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>u</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≥</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:semantics></mml:math></inline-formula>. Hence, we also have 
<inline-formula>
<mml:math id="mm64" display="inline">
<mml:semantics id="sm64">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>∼</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:semantics></mml:math></inline-formula>.</p>
<p>In <italic>G̃</italic>, for each <italic>i</italic> ∈ <italic>V \ U</italic>, repeat the splitting operation on <italic>i</italic> until 
<inline-formula>
<mml:math id="mm65" display="inline">
<mml:semantics id="sm65">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>∼</mml:mo></mml:mover>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>∼</mml:mo></mml:mover>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:semantics></mml:math></inline-formula>. Consequently, after these operations, all the arcs in <italic>G̃</italic> having the end-nodes in <italic>U</italic>. Let <italic>G̃<sub>U</sub></italic> = (<italic>U, Ã<sub>U</sub></italic>) be the subgraph of induced by <italic>U</italic> of <italic>G̃</italic>.</p></sec></sec>
<sec>
<title>Remark 3</title>
<p>After these splitting operations, <italic>p<sub>G̃<sub>U</sub></sub></italic>(<italic>u, v</italic>) ≥ <italic>k</italic> for all <italic>u</italic> ∈ <italic>U</italic> and <italic>v</italic> ∈ <italic>U</italic> \ {<italic>u</italic>}.</p>
<p>Consider the graph <italic>G<sub>U</sub></italic> = (<italic>U, A<sub>U</sub></italic>) that is defined in Step <bold>(2)</bold> of the algorithm. Note that all the arcs in <italic>Ã<sub>U</sub></italic> (with eventually multiple copies) are in <italic>A<sub>U</sub></italic> but there may exist arcs in <italic>A<sub>U</sub></italic> that are not in <italic>Ã<sub>U</sub></italic>. Let <italic>x<sup>U</sup></italic> be the vector in ℝ<sup>|<italic>A<sub>U</sub></italic>|</sup> such that for each <italic>e</italic> ∈ <italic>A<sub>U</sub></italic>, 
<inline-formula>
<mml:math id="mm66" display="inline">
<mml:semantics id="sm66">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="italic">x</mml:mtext>
<mml:mi>e</mml:mi>
<mml:mi>U</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow>
<mml:mi>k</mml:mi></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula>, where <italic>p<sub>e</sub></italic> is the number of copies of <italic>e</italic> in <italic>Ã<sub>U</sub></italic> (<italic>p<sub>e</sub></italic> = 0 if <italic>e</italic> ∉ <italic>Ã<sub>U</sub></italic>).</p></sec>
<sec>
<title>Lemma 4</title>
<p>We have 2<italic>cx</italic>* = <italic>cy</italic>* ≥ <italic>c<sup>U</sup>x<sup>U</sup></italic>.</p>
<sec>
<title>Proof</title>
<p>We have seen that <italic>kx<sup>U</sup></italic> is obtained from <italic>ky</italic>* by repeated splitting operations on the vertices in <italic>V \ U</italic>. By definition of <italic>c<sup>U</sup></italic> which takes the shortest path cost, we have <italic>c<sup>U</sup></italic>(<italic>kx<sup>U</sup></italic>) ≤ <italic>c</italic>(<italic>ky</italic>*) which implies <italic>c<sup>U</sup>x<sup>U</sup></italic> ≤ <italic>cy</italic>* = 2<italic>cx</italic>*.</p>
<p>Let <italic>z</italic>* be an optimal solution of Held-Karp relaxation over <italic>G<sub>U</sub></italic>.</p></sec></sec>
<sec>
<title>Lemma 5</title>
<p><italic>c<sup>U</sup>x<sup>U</sup></italic> ≥ <italic>c<sup>U</sup>z</italic>*.</p>
<sec>
<title>Proof</title>
<p>We can see that <italic>x<sup>U</sup></italic> satisfies the following linear inequalities
<disp-formula id="FD19">
<mml:math id="mm67" display="block">
<mml:semantics id="sm67">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>U</mml:mi></mml:msub></mml:mrow>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>u</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>U</mml:mi></mml:msub></mml:mrow>
<mml:mo>-</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>u</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>U</mml:mi></mml:msub></mml:mrow>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≥</mml:mo>
<mml:mn>1</mml:mn>
<mml:mspace width="0.5em"/>
<mml:mtext>for all</mml:mtext>
<mml:mspace width="0.5em"/>
<mml:mo>∅</mml:mo>
<mml:mo>⊂</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>⊂</mml:mo>
<mml:mi>U</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula>which are the inequalities of (<xref rid="FD18" ref-type="disp-formula">5</xref>) applied to <italic>G<sub>U</sub></italic>. By Theorem 2, <italic>z</italic>* minimizes the cost function <italic>c<sup>U</sup> x</italic> over (<xref rid="FD18" ref-type="disp-formula">5</xref>). Hence we have <italic>c<sup>U</sup>x<sup>U</sup></italic> ≥ <italic>c<sup>U</sup>z</italic>*.</p>
<p>We are ready now to state the main theorem</p></sec></sec>
<sec>
<title>Theorem 3</title>
<p>The algorithm outputs a directed tour cover of cost no more than 2 log<sub>2</sub>(<italic>n</italic>) times the cost of the minimum directed tour cover.</p>
<sec>
<title>Proof</title>
<p>The algorithm return, as a solution of DToCP, the traveling salesman directed tour output <italic>T</italic> by Frieze <italic>et al.</italic>'s heuristic applied on <italic>G<sub>U</sub></italic>. Let <italic>x<sup>T</sup></italic> be its incidence vector. The cost of <italic>T</italic> is then equal to <italic>c<sup>U</sup>x<sup>T</sup></italic>. Williamson [<xref ref-type="bibr" rid="b5-algorithms-04-00075">5</xref>] proved that the cost of <italic>T</italic> is not more than log<sub>2</sub>(<italic>n</italic>) times the cost of the optimal solution of Held-Karp relaxation over <italic>G<sub>U</sub>, i.e., c<sup>U</sup>x<sup>T</sup></italic> ≤ log<sub>2</sub>(<italic>n</italic>)<italic>c<sup>U</sup>z</italic>*. By Lemmas 5 and 4, we have <italic>c<sup>U</sup>x<sup>T</sup></italic> ≤ 2 log<sub>2</sub>(<italic>n</italic>)<italic>cx</italic>*.</p></sec></sec></sec></sec>
<sec sec-type="conclusions">
<label>6.</label>
<title>Conclusions</title>
<p>In a recent paper [<xref ref-type="bibr" rid="b9-algorithms-04-00075">9</xref>], Asadpour <italic>et al.</italic> showed that one can find an asymmetric traveling salesman tour of cost at most <italic>O</italic>(log <italic>n</italic>/log log <italic>n</italic>) times the cost of the optimal solution of the Held-Karp. Hence we can use their algorithm in Step 4 of our algorithm in place of the Frieze <italic>et al.</italic> heuristic to obtain a ratio of <italic>O</italic>(log <italic>n</italic>/log log <italic>n</italic>) for DToCP. In fact, Asadpour <italic>et al.</italic> gave a (2 + 8 log <italic>n</italic>/log log <italic>n</italic>)-approximate solution for ATSP. This ratio is asymptotically better but worse for realistic value of <italic>n</italic> (<italic>n</italic> ≤ 10<sup>20</sup>) than log<sub>2</sub>(<italic>n</italic>), which is the ratio achieved by the Frieze <italic>et al.</italic> heuristic. An obvious extension is to design a combinatorial approximation algorithm for DToCP. In [<xref ref-type="bibr" rid="b1-algorithms-04-00075">1</xref>], the authors built combinatorially an undirected tour cover by duplicating some trees over a vertex cover. Since duplicating a branching does not give a directed tour, this idea can not be applied for the directed case. Thus a combinatorial approximation algorithm for DToCP remains wide open. Another possible extension is to use the parsimonious property for Eulerian digraphs in Section 3 to design approximation algorithms for other problems which involve a tour in directed graphs. In another paper [<xref ref-type="bibr" rid="b10-algorithms-04-00075">10</xref>], we have successfully applied this idea to design an approximation algorithm for the prize collecting asymmetric traveling salesman problem.</p></sec></body>
<back>
<ref-list>
<title>References</title>
<ref id="b1-algorithms-04-00075"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Arkin</surname><given-names>E.M.</given-names></name><name><surname>Halldórsson</surname><given-names>M.M.</given-names></name><name><surname>Hassin</surname><given-names>R.</given-names></name></person-group><article-title>Approximating the tree and tour covers of a graph</article-title><source>Inf. Pro. Lett.</source><year>1993</year><volume>47</volume><fpage>275</fpage><lpage>282</lpage><pub-id pub-id-type="doi">10.1016/0020-0190(93)90072-H</pub-id></citation></ref>
<ref id="b2-algorithms-04-00075"><label>2.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Könemann</surname><given-names>J.</given-names></name><name><surname>Konjevod</surname><given-names>G.</given-names></name><name><surname>Parekh</surname><given-names>O.</given-names></name><name><surname>Sinha</surname><given-names>A.</given-names></name></person-group><article-title>Improved Approximations for Tour and Tree Covers</article-title><source>Algorithmica</source><year>2003</year><volume>38</volume><fpage>441</fpage><lpage>449</lpage></citation></ref>
<ref id="b3-algorithms-04-00075"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kaplan</surname><given-names>H.</given-names></name><name><surname>Lewenstein</surname><given-names>M.</given-names></name><name><surname>Shafrir</surname><given-names>N.</given-names></name><name><surname>Sviridenko</surname><given-names>M.</given-names></name></person-group><article-title>Approximation algorithms for asymmetric TSP by decomposing directed regular multigraphs</article-title><source>J. ACM</source><year>2005</year><volume>52</volume><fpage>602</fpage><lpage>626</lpage><pub-id pub-id-type="doi">10.1145/1082036.1082041</pub-id></citation></ref>
<ref id="b4-algorithms-04-00075"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Frieze</surname><given-names>A.M.</given-names></name><name><surname>Galbiati</surname><given-names>G.</given-names></name><name><surname>Maffioli</surname><given-names>F.</given-names></name></person-group><article-title>On the worst case performance of some algorithms for the asymmetric traveling salesman problem</article-title><source>Networks</source><year>1982</year><volume>12</volume><fpage>23</fpage><lpage>39</lpage><pub-id pub-id-type="doi">10.1002/net.3230120103</pub-id></citation></ref>
<ref id="b5-algorithms-04-00075"><label>5.</label><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>Williamson</surname><given-names>D.P.</given-names></name></person-group><article-title>Analysis of the Held-Karp heuristic for the traveling salesman problem</article-title><source>M.D. Thesis</source><publisher-name>Massachusettes Institute of Technology</publisher-name><publisher-loc>Cambridge, MA, USA</publisher-loc><year>1990</year></citation></ref>
<ref id="b6-algorithms-04-00075"><label>6.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Goemans</surname><given-names>M.X.</given-names></name><name><surname>Bertsimas</surname><given-names>D.J.</given-names></name></person-group><article-title>On the parsimonious property of connectivity problems</article-title><conf-name>Proceeding of the First Annual ACM-SIAM Symposimum on Discrete Algorithm</conf-name><publisher-name>Society for Industrial and Applied Mathematics</publisher-name><publisher-loc>Philadelphia, PA, USA</publisher-loc><year>1990</year><fpage>388</fpage><lpage>396</lpage></citation></ref>
<ref id="b7-algorithms-04-00075"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lovasz</surname><given-names>L.</given-names></name></person-group><article-title>On some connectivity properties of Eulerian graphs</article-title><source>Acta Mathematica Hungarica</source><year>1976</year><volume>28</volume><fpage>129</fpage><lpage>138</lpage><pub-id pub-id-type="doi">10.1007/BF01902503</pub-id></citation></ref>
<ref id="b8-algorithms-04-00075"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jackson</surname><given-names>B.</given-names></name></person-group><article-title>Some remarks on arc-connectivity, vertex splitting, and orientation in graphs and digraphs</article-title><source>J. Graph Theory</source><year>1988</year><volume>12</volume><fpage>429</fpage><lpage>436</lpage><pub-id pub-id-type="doi">10.1002/jgt.3190120314</pub-id></citation></ref>
<ref id="b9-algorithms-04-00075"><label>9.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Asadpour</surname><given-names>A.</given-names></name><name><surname>Goemans</surname><given-names>M.X.</given-names></name><name><surname>Madry</surname><given-names>A.</given-names></name><name><surname>Oveis Gharan</surname><given-names>S.</given-names></name><name><surname>Saberi</surname><given-names>A.</given-names></name></person-group><article-title>An O(log <italic>n</italic>/log log <italic>n</italic>)–approximation algorithm for the asymmetric traveling salesman problem</article-title><conf-name>Procceding of 21st ACM-SIAM Symposium on Discrete Algorithms</conf-name><year>2010</year></citation></ref>
<ref id="b10-algorithms-04-00075"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nguyen</surname><given-names>V.H.</given-names></name><name><surname>Nguyen</surname><given-names>T.T.T.</given-names></name></person-group><article-title>Approximating the asymmetric profitable tour</article-title><source>Electron. Notes Discrete Math.</source><year>2010</year><volume>36</volume><fpage>907</fpage><lpage>914</lpage><pub-id pub-id-type="doi">10.1016/j.endm.2010.05.115</pub-id></citation></ref></ref-list></back></article>
