This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Complexity and Approximation Algorithms for Fixed Charge Transportation Problems

Yong Chen
Department of Mathematics
Hangzhou Dianzi University,
Hangzhou, Zhejiang Province, China
chenyong@hdu.edu.cn
   Shi Li
School of Computer Science,
Nanjing University,
Nanjing, Jiangsu Province, China
shili@nju.edu.cn
   Zihao Liang footnotemark:
School of Computer Science,
Nanjing University,
Nanjing, Jiangsu Province, China
zhliang@smail.nju.edu.cn
Abstract

The Fixed Charge Transportation (FCT) problem models transportation scenarios where we need to send a commodity from nn sources to mm sinks, and the cost of sending a commodity from a source to a sink consists of a linear component and a fixed component. Despite extensive research on exponential time exact algorithms and heuristic algorithms for FCT and its variants, their approximability and computational complexity are not well understood.

In this work, we initiate a systematic study of the approximability and complexity of these problems. When there are no linear costs, we call the problem the Pure Fixed Charge Transportation (PFCT) problem. We also distinguish between cases with general, sink-independent, and uniform fixed costs; we use the suffixes “-S” and “-U” to denote the latter two cases, respectively. This gives us six variants of the FCT problem.

We give a complete characterization of the existence of O(1)O(1)-approximation algorithms for these variants. In particular, we give 22-approximation algorithms for FCT-U and PFCT-S, and a (6/5+ϵ)(6/5+\epsilon)-approximation for PFCT-U. On the negative side, we prove that FCT and PFCT are NP-hard to approximate within a factor of O(log2ϵ(max{n,m}))O(\log^{2-\epsilon}(\max\{n,m\})) for any constant ϵ>0\epsilon>0, FCT-S is NP-hard to approximate within a factor of clog(max{n,m})c\log(\max\{n,m\}) for some constant c>0c>0, and PFCT-U is APX-hard. Additionally, we design an Efficient Parameterized Approximation Scheme (EPAS) for PFCT when parameterized by the number nn of sources, and an O(1/ϵ)O(1/\epsilon)-bicriteria approximation for the FCT problem, when we are allowed to violate the demand constraints for sinks by a factor of 1±ϵ1\pm\epsilon.

1 Introduction

In 1954, Hirsch and Dantzig [1, 2] introduced the Fixed Charge Transportation (FCT) problem, where the cost of transportation from a source to a sink contains a linear component, which is proportional to the amount transported, and a fixed cost, which is incurred whenever the transportation occurs. The objective is to allocate all supplies of the commodity from sources to sinks in a way that minimizes the total cost, which is the sum of linear and fixed costs.

The FCT problem is a special case of the single-commodity uncapacitated fixed-charge network problem [3, 4], which itself belongs to a broader class of network design problems [5, 6, 7]. The single-commodity uncapacitated fixed-charge network problem is defined on an arbitrary directed graph (V,E)(V,E), where each edge eEe\in E has a linear cost and a fixed cost as in the FCT problem. The commodity can be transported only along edges in EE. The goal is to match the given supplies and demands so as to minimize the sum of variable and fixed costs. The FCT problem can be seen as a special case of this problem on complete bipartite directed graphs from sources to sinks. As a byproduct in this paper, we show that the two problems are indeed equivalent.

When there are only fixed costs (i.e., linear costs are zero), the FCT problem is called the Pure Fixed Charge Transportation (PFCT) problem [8, 9]. The PFCT problem arises in scenarios where transportation costs are negligible compared to the costs of establishing transportation routes, such as pipelines and electric power systems. Fisk and McKeown [8] proposed a search algorithm to solve the PFCT problem exactly, and Göthe-Lundgren and Larsson [9] reformulated it as a set-cover problem, and designed heuristic algorithms by relating it to the maximum flow problem.

Despite considerable research on exact algorithms [10, 11, 12, 13, 14], branch-and-bound algorithms [15, 16, 17, 18], and heuristic algorithms [19, 20, 21, 22] for the FCT and PFCT problems, their computational complexity and approximation algorithms were not well studied. To the best of our knowledge, the only known results in this direction are that both FCT [23] and PFCT [24, 25] are NP-hard.

In this paper, we initiate a systematic study of the approximability and complexity of FCT problems. Before we state our results, we give formal definitions of the problems.

1.1 Formal Definitions of Problems

In the Fixed Charge Transportation (FCT) problem, we are given a set SS of nn sources and a set TT of mm sinks. Each source iSi\in S has a supply of ai>0a_{i}\in\mathbb{Z}_{>0} units for a commodity, and each sink jTj\in T has a demand of bj>0b_{j}\in\mathbb{Z}_{>0} units. It is guaranteed that iSai=jTbj\sum_{i\in S}a_{i}=\sum_{j\in T}b_{j}. For every pair iSi\in S and jTj\in T, there is an edge ijij with a fixed cost fij0f_{ij}\in\mathbb{R}_{\geq 0} and a linear cost ratio cij0c_{ij}\in\mathbb{R}_{\geq 0}. The objective is to satisfy all demands by sending the commodity from sources to sinks while minimizing the total cost. The formal mathematical formulation is as follows:

miniS,jT(1xij>0fij+cijxij)s.t.x𝒳,\textstyle\min\quad\sum_{i\in S,j\in T}\left(1_{x_{ij}>0}\cdot f_{ij}+c_{ij}\cdot x_{ij}\right)\qquad\text{s.t.}\qquad x\in\mathcal{X},

where throughout the paper we use

𝒳:={x0S×T:jTxij=ai,iS;iSxij=bj,jT}\textstyle\mathcal{X}:=\left\{x\in\mathbb{R}_{\geq 0}^{S\times T}\quad:\quad\sum_{j\in T}x_{ij}=a_{i},\forall i\in S;\quad\sum_{i\in S}x_{ij}=b_{j},\forall j\in T\right\}

to denote the set of all feasible solutions to the given FCT instance.

The Pure Fixed Charge Transportation (PFCT) problem is the special case where there are no linear costs, i.e., cij=0c_{ij}=0 for every iSi\in S and jTj\in T. We shall show that FCT and PFCT problems capture the Directed Steiner Tree (DST) and Set Cover problems respectively, and thus do not admit constant approximation unless P == NP. To gain a more refined understanding of its complexity, we study two special cases of the fixed cost vector ff:

  • Sink-independent fixed costs. The fixed costs (fij)iS,jT(f_{ij})_{i\in S,j\in T} are said to be sink-independent if there exists a cost vector f0Sf\in\mathbb{R}_{\geq 0}^{S} such that fij=fif_{ij}=f_{i} for all iSi\in S and jTj\in T. We denote this special case using the suffix “-S”.

  • Uniform fixed costs. The fixed costs are uniform if fij=1f_{ij}=1 for all iSi\in S and jTj\in T. This case is denoted by the suffix “-U”.

So, combining these variations—whether linear costs are present and the properties of the fixed costs—results in six variants of the FCT problem, denoted as FCT, FCT-S, FCT-U, PFCT, PFCT-S and PFCT-U.

1.2 Our Results: O(1)O(1)-Approximability

We provide a complete characterization of the existence of O(1)O(1)-approximation algorithms for the six variants of FCT. The results are listed in Table 1 for convenience.

FCT PFCT
Approx. Ratio Hardness Approx. Ratio Hardness
general Ω(log2ϵ(mn))\Omega(\log^{2-\epsilon}(mn)) Ω(log2ϵ(mn))\Omega(\log^{2-\epsilon}(mn))
-S Ω(log(mn))\Omega(\log(mn)) 22 APX-hard
-U 22 APX-hard 65+ϵ\frac{6}{5}+\epsilon APX-hard
Table 1: Approximability and Hardness of Variants of FCT.

We first discuss the approximation results. For both PFCT-S and FCT-U, we give 22-approximation algorithms:

Theorem 1.

There is a 22-approximation algorithm for the Pure Fixed Charge Transportation with Sink-Independent Fixed Costs (PFCT-S) problem.

Theorem 2.

There is a 22-approximation algorithm for the Fixed Charge Transportation with Uniform Fixed Costs (FCT-U) problem.

For the most restricted problem PFCT-U, we present a better approximation algorithm:

Theorem 3.

For any constant ϵ>0\epsilon>0, there is a (65+ϵ)(\frac{6}{5}+\epsilon) approximation algorithm for the Pure Fixed Charge Transportation with Uniform Fixed Costs (PFCT-U) problem.

Then we complement the results by showing the other variants are NP-hard to approximate within a constant factor. First, we give a reduction from the Directed Steiner Tree (DST) problem to the PFCT problem. As the polynomial-time approximability of DST remains open, we include the reduction in the theorem statement; any future improvements in the hardness of DST automatically carry over to PFCT.

Theorem 4.

Let α:>0>0\alpha:\mathbb{Z}_{>0}\to\mathbb{R}_{>0} be a monotone function. If there is a polynomial-time α(max{n,m})\alpha(\max\{n,m\})-approximation algorithm for the Pure Fixed Charge Transportation (PFCT) problem in polynomial time, then there is a polynomial-time α(n)\alpha(n)-approximation for the Directed Steiner Tree (DST) problem.

Using the Ω(log2ϵ(n))\Omega(\log^{2-\epsilon}(n))-hardness of DST [36], this gives us

Corollary 5.

It is NP-hard to approximate the Pure Fixed Charge Transportation (PFCT) problem within a factor of O(log2ϵ(max{n,m}))O(\log^{2-\epsilon}(\max\{n,m\})), for any constant ϵ>0\epsilon>0.

Since PFCT is a special case of FCT, the results extend to FCT as well.

We provide a reduction from the Set Cover problem to FCT-S, proving the following result:

Theorem 6.

There is a constant c>0c>0 such that the following holds. It is NP-hard to approximate the Fixed Charge Transportation with Sink-Independent Fixed Costs (FCT-S) problem within a factor of cln(max{n,m})c\ln(\max\{n,m\}).

Finally, we rule out the possibility of a PTAS for the PFCT-U problem, the most restricted variant we study. This is achieved via a reduction from the 3-Dimensional Matching with Bounded Frequency (3DM-B) problem.

Theorem 7.

There is an absolute constant c>1c>1 such that Pure Fixed Charge Transportation with Uniform Fixed Costs (PFCT-U) problem does not have a cc-approximation, unless NP == BPP.

The APX-hardness also extends to the more general problems FCT-U and PFCT-S.

1.3 Our Results: Efficient Polynomial Time Approximation Scheme (EPAS) and Bicriteria Approximation Algorithm

We then consider approximation algorithms parameterized by the number nn of sources. We show that there is an Efficient Parameterized Approximation Scheme (EPAS) for the PFCT problem:

Theorem 8.

Given any constant ϵ>0\epsilon>0, there is a g(n,ϵ)poly(m)g(n,\epsilon)\cdot\mathrm{poly}(m)-time (1+ϵ)(1+\epsilon)-approximation algorithm for the Pure Fixed Charge Transportation (PFCT) problem, for some efficiently computable function gg.

For the FCT problem, we show a simple (O(1/ϵ),1±ϵ)(O(1/\epsilon),1\pm\epsilon)-bicriteria approximation algorithm in polynomial time. Such algorithms output solutions which may violate the sink demand constraints by a factor of 1±ϵ1\pm\epsilon.

Theorem 9.

Given a Fixed Charge Transportation (FCT) instance defined by S,T,(ai)i,(bj)j,(fij)i,j,(cij)i,jS,T,(a_{i})_{i},(b_{j})_{j},(f_{ij})_{i,j},(c_{ij})_{i,j}, and a constant ϵ>0\epsilon>0, we can efficiently output a vector x0S×Tx\in\mathbb{R}_{\geq 0}^{S\times T} subject to jTxij=ai\sum_{j\in T}x_{ij}=a_{i} for every iSi\in S, iSxij(1±ϵ)bj\sum_{i\in S}x_{ij}\in(1\pm\epsilon)b_{j} for every jTj\in T, and iS,jT(1xij>0fij+cijxij)\sum_{i\in S,j\in T}\big{(}1_{x_{ij}>0}\cdot f_{ij}+c_{ij}x_{ij}\big{)} is at most O(1/ϵ)O(1/\epsilon) times the optimal cost of the instance.

Organization  The rest of the paper is organized as follows. In Section 2, we introduce the problems used in our hardness reductions. We provide an overview of our techniques in Section 3. In Section 4, we describe the 22-approximation for PFCT-S, proving Theorem 1. In Section 5, we prove Theorem 3 by describing the (65+ϵ)(\frac{6}{5}+\epsilon)-approximation for PFCT-U. We show the hardness of the PFCT and PFCT-U problems in Sections 6 and 7, which prove Theorems 4 and 7 respectively. The Efficient Parameterized Approximation Scheme (EPAS) for PFCT, which prove Theorems 8 is given in Sections 8. Due to the page limit, we give the simple 22-approximation for FCT-U (proof of Theorem 2), the Set Cover hardness of FCT-S (proof of Theorem 6), and the bi-criteria approximation for FCT (proof of Theorem 9) in the appendix.

2 Preliminaries

We define several problems that we use in our reductions for proving the hardness results.

Directed Steiner Tree  In the Directed Steiner Tree (DST) problem, we are given a directed graph G=(V,E)G=(V,E) of n=|V|n=|V| vertices, with a root rVr\in V and a set TV{r}T\subseteq V\setminus\{r\} of kk terminals. Every edge eEe\in E has a cost ce0c_{e}\in\mathbb{R}_{\geq 0}. The goal of the problem is to find a subgraph HH of GG with the minimum cost, that contains a path from rr to tt for every tTt\in T. A minimal subgraph satisfying this property is a directed tree rooted at rr (i.e, a out arborescence), hence the name Directed Steiner Tree (DST).

A simple reduction from Set Cover to DST gives a (1ϵ)lnk(1-\epsilon)\ln k-hardness for the latter problem, which translates to a hardness of Ω(logn)\Omega(\log n) in terms of nn. Stronger inapproximability results are known: it is NP-hard to approximate DST within a factor of O(log2ϵn)O(\log^{2-\epsilon}n) for any constant ϵ>0\epsilon>0 [36]. Moreover, under the stronger assumption that NP\textrm{NP}\not\subseteq BPPTime(2logO(1)n)\textrm{BPPTime}(2^{\log^{O(1)}n}), the problem does not admit an o(log2k/loglogk)o(\log^{2}k/\log\log k)-approximation algorithm. On the positive side, DST admits a quasi-polynomial time O(log2n/loglogn)O(\log^{2}n/\log\log n)-approximation [35, 37, 38], and a nO(1/ϵ)n^{O(1/\epsilon)}-time O(nϵ)O(n^{\epsilon})-approximation algorithm for any constant ϵ>0\epsilon>0 [39]. Whether there is a polynomial-time poly-logarithmic approximation for DST is a notorious open problem.

Maximum 3-Dimensional Matching  In the 3-Dimensional Matching (3DM) problem, we are given a set MX×Y×ZM\subseteq X\times Y\times Z of triples, where XX, YY and ZZ are disjoint sets. The goal of the problem is to find the largest subset MMM^{\prime}\subseteq M such that no two tuples in MM^{\prime} have the same coordinate. This is one of the Karp’s 21 NP-hard problems.

In our reduction, it is important to ensure that the number of times an element in XYZX\cup Y\cup Z appears in MM is bounded by an absolute constant BB. We call such the problem the 3-Dimensional Matching with bounded frequency (3DM-B) problem. The 3DM-B problem was proven to be APX-hard by Kann [26], and later was shown to be NP-hard to approximate within a factor of 9897ϵ\frac{98}{97}-\epsilon for any constant ϵ>0\epsilon>0 [27]:

Theorem 10 ([27]).

There is a large enough integer BB such that the following is true for any small constant ϵ>0\epsilon>0. Given a 3DM instance (X,Y,Z,E)(X,Y,Z,E) where |X|=|Y|=|Z|=n|X|=|Y|=|Z|=n and every vXYZv\in X\cup Y\cup Z appears in between 22 and BB triples in EE, it is NP-hard to distinguish between the following two cases:

  • (X,Y,Z,E)(X,Y,Z,E) is a yesyes-instance : there is a matching MEM\subseteq E of size nn,

  • (X,Y,Z,E)(X,Y,Z,E) is a nono-instance : every matching MEM\subseteq E has size at most (9798+ϵ)n\big{(}\frac{97}{98}+\epsilon\big{)}n.

Maximum kk-Set Packing   In the Maximum kk-Set Packing problem, we are given a collection of nn sets, each containing at most kk elements from a given ground set. The objective is to find the largest collection of pairwise disjoint sets. This problem generalizes the kk-Dimensional Matching problem, which involves finding a maximum matching in a kk-partite kk-uniform hypergraph. In particular, Maximum 33-Set Packing generalizes 3-Dimensional Matching. The best-known approximation algorithm for the Maximum kk-Set Packing problem achieves a k+1+ϵ3\frac{k+1+\epsilon}{3}-approximation ratio, given by Cygan [28], with subsequent improvements by Fürer and Yu [29] on the algorithm’s running time dependence on ϵ\epsilon.

Other Notations  Given a real vector x𝔻x\in\mathbb{R}^{\mathbb{D}} for some domain 𝔻\mathbb{D}, we use supp(x):={i𝔻:xi0}\mathrm{supp}(x):=\{i\in\mathbb{D}:x_{i}\neq 0\} to denote the set of its coordinates with non-zero values. For any subset U𝔻U\subseteq\mathbb{D}, we define x(U):=iUxix(U):=\sum_{i\in U}x_{i}, unless specified otherwise.

3 Overview of Techniques

In this section, we provide a brief overview of the techniques used in our results.

22-Approximation Algorithm for PFCT  We formulate an LP relaxation by considering a linear objective iS,jTxijbjfi\sum_{i\in S,j\in T}\frac{x_{ij}}{b_{j}}\cdot f_{i}. This is upper bounded by its actual cost iS,jTxijbjfi\sum_{i\in S,j\in T}\left\lceil\frac{x_{ij}}{b_{j}}\right\rceil\cdot f_{i} of xx. The LP can be solved using a greedy algorithm that processes sources in descending orders of fif_{i} values, and sinks in descending order of bjb_{j} values. The solution obtained will not contain a “crossing” pair of edges. Using this property, we show that the gap between the actual cost and its LP cost is small.

(65+ϵ)(\frac{6}{5}+\epsilon)-Approximation Algorithm for PFCT   Our goal is to partition STS\cup T into the maximum number of balanced sets, where a set is balanced if its total supply equals its total demand. The cost of a solution is n+mn+m minus the number of balanced sets. The maximization problem is a special case of the set-packing problem. Intuitively, the optimum solution in a bad instance of the PFCT-U problem should contain many small balanced sets. Fortunately, for the kk-set-packing problem, the case where each given set has size at most kk, a local search algorithm can give a (k+1+ϵ)/3(k+1+\epsilon)/3-approximation [29]. Then we restrict our attention to balanced sets of sizes 3,4,5,63,4,5,6. For each size kk, we run the local search (k+1+ϵ)/3(k+1+\epsilon)/3-approximation algorithm and output the best solution. The final approximation ratio 65\frac{6}{5} is then obtained by a small linear program.

Directed-Steiner-Tree-Hardness of PFCT  To prove the hardness of PFCT, we introduce an intermediate problem called the PFCT-Digraph problem, where we are given a directed graph and the flows can only be sent along the edges. The reduction from Directed Steiner Tree to PFCT-Digraph is immediate: we just treat the root as a source with supply kk, and every terminal as a sink with demand 11, and assign a fixed cost of 11 to each edge. We then show that PFCT-Digraph is equivalent to the original PFCT problem, by splitting each vertex vv into an edge (vout,vin)(v_{\mathrm{out}},v_{\mathrm{in}}).

Set-Cover-Hardness of FCT-S  To prove the hardness of FCT-S, we only need to use the special case where each cijc_{ij} is either 0 or \infty. In this setting, the linear cost ratios determine which edges can be used. The reduction from Set Cover follows the similar vertex-splitting approach as in the previous reduction. Since the fixed costs depend only on the sources, we can only use Set Cover (rather than Directed Steiner Tree) as the basis for the reduction, resulting in a weaker hardness result.

Reduction from 3DM-B to PFCT-U  For a given 3DM-B instance (X,Y,Z,E)(X,Y,Z,E), we randomly assign each element vXYZv\in X\cup Y\cup Z a demand bvb_{v}, from the integer interval (Δ,2Δ](\Delta,2\Delta]. For every triple ijkEijk\in E, we create a source ijkijk with supply aijk:=bi+bj+bka_{ijk}:=b_{i}+b_{j}+b_{k}. The balanced set {i,j,k,ijk}\{i,j,k,ijk\} will correspond to the triple ijkEijk\in E. A dummy sink is added to ensure total supply equals total demand. Ideally, a solution to the 3DM-B instance should choose the maximum number of balanced sets of the form {i,j,k,ijk}\{i,j,k,ijk\}, and put the remaining sources and sinks into a big balanced set. To prevent “cheating”, we choose a sufficiently large Δ\Delta so that all the bvb_{v} values for vXYZv\in X\cup Y\cup Z are sufficiently “independent”: no two small disjoint multi-sets of XYZX\cup Y\cup Z have the same total bb value. This will make cheating expensive. Note that it is important to have a bounded frequency BB, so that the total number of sources and sinks is not too big compared to the total number of balanced sets in the target solution, which is 1 plus the size of the maximum 3-dimensional matching.

22-Approximation for FCT-S  The 2-approximation algorithm for FCT-S is straightforward. We first ignore the fixed costs to obtain a solution xx. As the fixed costs are uniformly 1, the total fixed cost is simply the number of edges we used. As supp(x)\mathrm{supp}(x) is a forest, this yields a 2-approximation for the fixed-cost component, leading to an overall 2-approximation.

EPAS for PFCT Parameterized by nn  For the PFCT problem, a PTAS is easy to obtain when n=O(1)n=O(1): we can guess the set PP of n/ϵn/\epsilon most expensive edges in the solution, and use the 22-approximation greedy algorithm. The difference between the actual cost and the LP cost of the greedy solution can be bounded by nn times the cost of the most expensive undecided edge. This is small compared to the total cost of PP. To improve the running time to g(n,ϵ)poly(m)g(n,\epsilon)\cdot\mathrm{poly}(m), we reduce the number of candidates for the n/ϵn/\epsilon most expensive edges. This is achieved by discretizing the fixed costs, and partitioning the sinks into (O(logmϵ))n\left(O\left(\frac{\log m}{\epsilon}\right)\right)^{n} classes such that all sinks in a class have the same incident fixed cost vector. Each class can be treated as a PFCT-S instance. In this case, we show there is an approximately optimum solution where the n/ϵn/\epsilon most expensive edges are incident to a few sinks with the largest demands. This reduces the size of the candidate edges for the set PP.

4 22-Approximation for Pure Fixed Charge Transportation with Sink-Independent Fixed Costs (PFCT-S)

In this section, we give our 22-approximation for the Pure Fixed Charge Transportation with Sink-Independent Costs (PFCT-S) problem. Recall that we are given sources SS with |S|=n|S|=n, sinks TT with |T|=m|T|=m, supply vector a>0Sa\in\mathbb{Z}_{>0}^{S}, demand vector b>0Tb\in\mathbb{Z}_{>0}^{T} with a(S)=b(T)a(S)=b(T) and fixed cost vector (fi0)iS(f_{i}\geq 0)_{i\in S}.

We rename the sources as [n][n] and sort them in descending order of fif_{i} values. Also, we rename the sinks as [m][m] and sort them in descending order of bjb_{j} values. So we have f1f2fnf_{1}\geq f_{2}\geq\cdots\geq f_{n} and b1b2bmb_{1}\geq b_{2}\geq\cdots\geq b_{m}.

We consider the following linear program for the problem.

miniS,jTxijbjfis.t.x𝒳\min\sum_{i\in S,j\in T}\frac{x_{ij}}{b_{j}}\cdot f_{i}\qquad\text{s.t.}\quad x\in\mathcal{X} (1)

Recall that 𝒳\mathcal{X} is defined in Section 1.1. The actual cost of the solution xx is iS,jTxijbjfi\sum_{i\in S,j\in T}\left\lceil\frac{x_{ij}}{b_{j}}\right\rceil\cdot f_{i}, which is non-linear in xx. In the LP, we use the linear function iS,jTxijbjfi\sum_{i\in S,j\in T}\frac{x_{ij}}{b_{j}}\cdot f_{i} as the objective. Clearly, this is upper bounded by the actual cost.

We prove the following claim, which will lead to the greedy algorithm for solving the LP.

Claim 11.

Focus on a solution xx to (1). Assume xij>0,xij>0x_{ij^{\prime}}>0,x_{i^{\prime}j}>0 for some i<ii<i^{\prime} and j<jj<j^{\prime}. Let ϵ=min{xij,xij}\epsilon=\min\{x_{ij^{\prime}},x_{i^{\prime}j}\}. Then the following operation will maintain the validity of xx without increasing its cost to (1): decrease xijx_{ij^{\prime}} and xijx_{i^{\prime}j} by ϵ\epsilon, and increase xijx_{ij} and xijx_{i^{\prime}j^{\prime}} by ϵ\epsilon.

Proof.

Clearly, the operation will maintain the feasibility of xx. It increases the cost by

ϵ(fibj+fibjfibjfibj)=ϵ(fifi)(1bj1bj)0.\displaystyle\displaystyle\epsilon\left(\frac{f_{i}}{b_{j}}+\frac{f_{i^{\prime}}}{b_{j^{\prime}}}-\frac{f_{i}}{b_{j^{\prime}}}-\frac{f_{i^{\prime}}}{b_{j}}\right)=\epsilon(f_{i}-f_{i^{\prime}})\left(\frac{1}{b_{j}}-\frac{1}{b_{j^{\prime}}}\right)\leq 0.

The last inequality holds as fifif_{i}\geq f_{i^{\prime}} and bjbjb_{j}\geq b_{j^{\prime}}. ∎

Therefore, there is an optimum solution xx to (1), whose support does not contain a “crossing” pair of edges as described in Claim 11. Such a solution is unique, and can be obtained by the following greedy algorithm:

Algorithm 1 Greedy Algorithm for PFCT-S
1:xij0x_{ij}\leftarrow 0 for all iS,jTi\in S,j\in T
2:i1,j1i\leftarrow 1,j\leftarrow 1
3:while ini\leq n and jmj\leq m do
4:     xijmin{ai,bj},aiaixij,bjbjxijx_{ij}\leftarrow\min\{a_{i},b_{j}\},a_{i}\leftarrow a_{i}-x_{ij},b_{j}\leftarrow b_{j}-x_{ij}
5:     if ai=0a_{i}=0 then ii+1i\leftarrow i+1     
6:     if bj=0b_{j}=0 then jj+1j\leftarrow j+1     

Till the end of this section, we call the xx obtained by the greedy algorithm the greedy solution, and we fix this xx. We output xx as the solution to the PFCT-S instance.

For real t(0,b([m])]t\in(0,b([m])], let π(t)\pi(t) be the smallest jj such that b([j])tb([j])\geq t, i.e., the smallest jj such that the first jj sinks have total demand at least tt. Let fn+1=0f_{n+1}=0 for convenience.

Lemma 12.

The optimum solution of the PFCT instance has cost at least i=1n(fifi+1)π(a([i]))\sum_{i=1}^{n}(f_{i}-f_{i+1})\pi(a([i])).

Proof.

We analyze the cost of the optimum solution as follows. When some sink is connected to a source ii, we split the cost fif_{i} into segments (fifi+1)+(fi+1fi+2)++(fnfn+1)(f_{i}-f_{i+1})+(f_{i+1}-f_{i+2})+\cdots+(f_{n}-f_{n+1}). The segment fifi+1f_{i}-f_{i+1} will be paid if we connect a sink to a source in [i][i]. The number of sinks connected to [i][i] is at least π(a[i])\pi(a[i]) by the definition of π\pi and that b1b2bmb_{1}\geq b_{2}\geq\cdots\geq b_{m}. The lemma then follows. ∎

Lemma 13.

The cost of xx to the PFCT-S instance is at most i=1n(fifi+1)π(a([i]))+i=2nfi\sum_{i=1}^{n}(f_{i}-f_{i+1})\pi(a([i]))+\sum_{i=2}^{n}f_{i}.

Proof.

Similar to the proof of Lemma 12, when xx incurs a cost of fif_{i}, we split it into segments (fifi+1)+(fi+1fi+2)++(fnfn+1)(f_{i}-f_{i+1})+(f_{i+1}-f_{i+2})+\cdots+(f_{n}-f_{n+1}). So, the segment fifi+1f_{i}-f_{i+1} is paid whenever we make a connection to sources in [i][i]. Notice that the greedy algorithm will only connect [i][i] to sinks in [π(a[i])][\pi(a[i])]. As supp(x)\mathrm{supp}(x) is a forest, the number of edges incident to [i][i] in supp(x)\mathrm{supp}(x) is at most π(a[i])+i1\pi(a[i])+i-1. So, the cost of xx to the PFCT-S instance is at most

i=1n(fifi+1)(π(a[i])+i1)=i=1n(fifi+1)π(a[i])+i,i[n]:ii1(fifi+1)\displaystyle\quad\sum_{i=1}^{n}(f_{i}-f_{i+1})\big{(}\pi(a[i])+i-1\big{)}=\sum_{i=1}^{n}(f_{i}-f_{i+1})\pi(a[i])+\sum_{i,i^{\prime}\in[n]:i^{\prime}\leq i-1}(f_{i}-f_{i+1})
=i=1n(fifi+1)π(a[i])+i=1ni=i+1n(fifi+1)=i=1n(fifi+1)π(a[i])+i=1nfi+1.\displaystyle=\sum_{i=1}^{n}(f_{i}-f_{i+1})\pi(a[i])+\sum_{i^{\prime}=1}^{n}\sum_{i=i^{\prime}+1}^{n}(f_{i}-f_{i+1})=\sum_{i=1}^{n}(f_{i}-f_{i+1})\pi(a[i])+\sum_{i^{\prime}=1}^{n}f_{i^{\prime}+1}.

Combining Lemmas 12 and 13 and that the cost of the optimum solution is at least i=2nfi\sum_{i=2}^{n}f_{i}, we conclude that the cost of xx is at most 22 times optimum cost. This finishes the proof of Theorem 1.

The following corollary is implied by Lemmas 12 and 13. It will be used in our EPAS for the PFCT problem. For convenience, we prove it here.

Corollary 14.

Suppose we have two PFCT-S instances with the same sources [n][n], same supplies a1,a2,,ana_{1},a_{2},\cdots,a_{n} and same costs f1f2fnf_{1}\geq f_{2}\geq\cdots\geq f_{n}. One instance has mm sinks with demands b1,b2,,bmb_{1},b_{2},\cdots,b_{m}, and the other has mm^{\prime} sinks with demands b1,b2,,bmb^{\prime}_{1},b^{\prime}_{2},\cdots,b^{\prime}_{m^{\prime}}. For every t(0,a([n])]t\in(0,a([n])], let π(t)\pi(t) be the smallest jj such that b([j])tb([j])\geq t let π(t)\pi^{\prime}(t) be the smallest jj such that b([j])tb^{\prime}([j])\geq t. Assume π(t)π(t)+Δ\pi^{\prime}(t)\leq\pi(t)+\Delta holds for some integer Δ0\Delta\geq 0 and every t(0,a([n])]t\in(0,a([n])].

Then, the cost of the greedy solution to the second instance is at most the cost of the optimum solution to the first instance plus Δf1+i=2nfi\Delta f_{1}+\sum_{i=2}^{n}f_{i}.

Proof.

By Lemma 13, the cost of the greedy solution to the second instance is at most i=1n(fifi+1)π(a[i])+i=2nfi\sum_{i=1}^{n}(f_{i}-f_{i+1})\pi^{\prime}(a[i])+\sum_{i=2}^{n}f_{i}. By Lemma 12, the optimum cost to the first instance is at least i=1n(fifi+1)π(a[i])\sum_{i=1}^{n}(f_{i}-f_{i+1})\pi(a[i]). The difference of the two quantities is

i=1n(fifi+1)(π(a[i])π(a[i]))+i=2nfii=1n(fifi+1)Δ+i=2nfi=Δf1+i=2nfi.\displaystyle\sum_{i=1}^{n}(f_{i}-f_{i+1})(\pi^{\prime}(a[i])-\pi(a[i]))+\sum_{i=2}^{n}f_{i}\leq\sum_{i=1}^{n}(f_{i}-f_{i+1})\cdot\Delta+\sum_{i=2}^{n}f_{i}=\Delta f_{1}+\sum_{i=2}^{n}f_{i}.

The inequality used that π(t)π(t)+Δ\pi^{\prime}(t)\leq\pi(t)+\Delta for every tt. ∎

5 (65+ϵ)(\frac{6}{5}+\epsilon)-Approximation for Pure Fixed Charge Transportation with Uniform Fixed Costs (PFCT-U)

In this section, we consider the most restricted case of the FCT problem, PFCT-U; that is, the Pure Fixed Charge Transportation with Unit Fixed Costs problem. Our main result is a (65+ϵ)\left(\frac{6}{5}+\epsilon\right)-approximation for the problem.

Notice that we can easily make the support of the solution a forest, without increasing the cost. Since there are no linear costs and all edges have the same fixed cost, the problem is equivalent to partitioning STS\cup T into as many balanced sets as possible: a subset VSTV\subseteq S\cup T is said to be balanced if a(VS)=b(VT)a(V\cap S)=b(V\cap T). The cost of the partition is precisely m+nm+n minus the number of sets in the partition. We remark that though the two problems are equivalent from the perspective of exact algorithms, the approximation ratio for one problem does not convert to the same ratio for the other.

Whenever there is some iSi\in S and jTj\in T with ai=bja_{i}=b_{j}, we can WLOG let {i,j}\{i,j\} be a set in the partition. If any solution puts ii in some set VV and jj in a different set VV^{\prime} in the partition, we can replace VV and VV^{\prime} with {i,j}\{i,j\} and VV{i,j}V\cup V^{\prime}\setminus\{i,j\} in the partition; this does not change the cost of the solution. Notice that VV{i,j}V\cup V^{\prime}\setminus\{i,j\} is also balanced. By removing ii from SS and jj from TT, we obtain a harder instance from the perspective of approximation algorithms. Therefore, from now on, we can assume in the instance, we have no balanced sets of size 22.

With the connection, we can reduce our problem to the kk-set packing problem. For every k{3,4,5}k\in\{3,4,5\}, we construct a kk-set packing instance defined over the ground set STS\cup T and the family 𝒮\mathcal{S} of all balanced sets VSTV\subseteq S\cup T of size at most kk. We then run the algorithm of [29] to obtain a k+1+ϵ3\frac{k+1+\epsilon}{3}-approximate solution 𝒯𝒮\mathcal{T}\subseteq\mathcal{S} for the instance, which naturally gives a solution of cost m+n|𝒯|m+n-|\mathcal{T}| to the PFCT-U instance. Our final solution is the best one we obtained over all k{3,4,5}k\in\{3,4,5\}.

Analysis of Approximation Ratio

We then analyze the approximation ratio of the algorithm. We formulate the following factor revealing LP, with variables r,z,x3,x4,x5r,z,x_{3},x_{4},x_{5} and x6x_{6}:

maxr\max\qquad r (2)
z(x3+x4+x5+x6)\displaystyle z-(x_{3}+x_{4}+x_{5}+x_{6}) =1\displaystyle=1 (3)
(3x3+4x4+5x5+6x6)z\displaystyle(3x_{3}+4x_{4}+5x_{5}+6x_{6})-z 0\displaystyle\leq 0 (4)
r(z34x3)\displaystyle r-\Big{(}z-\frac{3}{4}x_{3}\Big{)} 0\displaystyle\leq 0 (5)
r(z35(x3+x4))\displaystyle r-\Big{(}z-\frac{3}{5}(x_{3}+x_{4})\Big{)} 0\displaystyle\leq 0 (6)
r(z36(x3+x4+x5))\displaystyle r-\Big{(}z-\frac{3}{6}(x_{3}+x_{4}+x_{5})\Big{)} 0\displaystyle\leq 0 (7)
x3,x4,x5,x6,z\displaystyle x_{3},x_{4},x_{5},x_{6},z 0\displaystyle\geq 0 (8)

We prove the following lemma:

Lemma 15.

Let rr^{*} be the value of LP (2). The approximation ratio of the algorithm is at most (1+ϵ4)r\big{(}1+\frac{\epsilon}{4}\big{)}r^{*}.

Proof.

Focus on any instance of the PFCT-U problem (S,T,(ai)iS,(bj)jT)(S,T,(a_{i})_{i\in S},(b_{j})_{j\in T}) with |S|=n|S|=n and |T|=m|T|=m. We let 𝒯\mathcal{T}^{*} be optimum partition of STS\cup T into balanced sets, i.e, the one that maximizes the number of sets. Let c3,c4,c5c_{3},c_{4},c_{5} and c6c_{6} respectively be the number of subsets of size 33, 44, 55 and at least 66 in 𝒯\mathcal{T}^{*}. Recall that we assumed there can not be balanced subsets of size 22. Then, the cost of the optimum solution is opt:=m+n(c3+c4+c5+c6)\mathrm{opt}:=m+n-(c_{3}+c_{4}+c_{5}+c_{6}), and the cost of the solution given by our algorithm is at most

min{m+n4+ϵ3c3,m+n5+ϵ3(c3+c4),m+n6+ϵ3(c3+c4+c5)}.\displaystyle\min\left\{m+n-\frac{4+\epsilon}{3}\cdot c_{3},\quad m+n-\frac{5+\epsilon}{3}\cdot(c_{3}+c_{4}),\quad m+n-\frac{6+\epsilon}{3}\cdot(c_{3}+c_{4}+c_{5})\right\}.

This holds as the optimum solution for the 33-set (resp. 44-set and 55-set) packing instance has value at least c3c_{3} (resp. c3+c4c_{3}+c_{4} and c3+c4+c5c_{3}+c_{4}+c_{5}).

We show that the approximation ratio for this instance is at most (1+ϵ4)r\big{(}1+\frac{\epsilon}{4}\big{)}r^{*}, by giving a feasible solution to LP (2):

xk\displaystyle x_{k^{\prime}} =ckopt,k{3,4,5},z=m+nopt,\displaystyle=\frac{c_{k^{\prime}}}{\mathrm{opt}},\forall k^{\prime}\in\{3,4,5\},\quad z=\frac{m+n}{\mathrm{opt}},
andr\displaystyle\quad\text{and}\quad r =min{z34x3,z35(x3+x4),z36(x3+x4+x5)}.\displaystyle=\min\Big{\{}z-\frac{3}{4}x_{3},\quad z-\frac{3}{5}(x_{3}+x_{4}),\quad z-\frac{3}{6}(x_{3}+x_{4}+x_{5})\Big{\}}.

Notice that m+n=opt+k=36ckm+n=\mathrm{opt}+\sum_{k^{\prime}=3}^{6}c_{k^{\prime}}. Dividing both sides by opt\mathrm{opt} gives us z=1+k=36xkz=1+\sum_{k^{\prime}=3}^{6}x_{k^{\prime}}, which is (3). Also m+nk=36kckm+n\geq\sum_{k^{\prime}=3}^{6}k^{\prime}c_{k^{\prime}} as 𝒯\mathcal{T}^{*} is a partition of STS\cup T. Dividing both sides of the inequality by opt\mathrm{opt}, we have zk=36kxkz\geq\sum_{k^{\prime}=3}^{6}k^{\prime}x_{k^{\prime}}, which is (4). By the way we define rr, (5), (6) and (7) are satisfied. The non-negativity constraints hold trivially.

The approximation ratio of our algorithm for the instance is

1optmin{m+n4+ϵ3c3,m+n5+ϵ3(c3+c4),m+n6+ϵ3(c3+c4+c5)}\displaystyle\quad\frac{1}{\mathrm{opt}}\cdot\min\left\{m+n-\frac{4+\epsilon}{3}\cdot c_{3},\quad m+n-\frac{5+\epsilon}{3}\cdot(c_{3}+c_{4}),\quad m+n-\frac{6+\epsilon}{3}\cdot(c_{3}+c_{4}+c_{5})\right\}
=min{z4+ϵ3x3,z5+ϵ3(x3+x4),z6+ϵ3(x3+x4+x5)}\displaystyle=\min\left\{z-\frac{4+\epsilon}{3}x_{3},\quad z-\frac{5+\epsilon}{3}(x_{3}+x_{4}),\quad z-\frac{6+\epsilon}{3}(x_{3}+x_{4}+x_{5})\right\}
(1+ϵ4)min{z43x3,z53(x3+x4),z63(x3+x4+x5)}=(1+ϵ4)r(1+ϵ4)r.\displaystyle\leq\big{(}1+\frac{\epsilon}{4}\big{)}\cdot\min\left\{z-\frac{4}{3}x_{3},z-\frac{5}{3}(x_{3}+x_{4}),z-\frac{6}{3}(x_{3}+x_{4}+x_{5})\right\}\quad=\quad(1+\frac{\epsilon}{4})r\quad\leq\quad(1+\frac{\epsilon}{4})r^{*}.

We show that the value of LP (2) is r=65r^{*}=\frac{6}{5}, acheived by the following solution:

(x2=0,x3=415,x4=115,x5=115,x6=0,z=75,r=65).\displaystyle\left(x_{2}=0,x_{3}=\frac{4}{15},x_{4}=\frac{1}{15},x_{5}=\frac{1}{15},x_{6}=0,z=\frac{7}{5},r=\frac{6}{5}\right).

First, it is easy to check that the solution satisfies all the constraints in the LP.

We show that this is optimal, by considering the dual LP. The optimal dual solution is α=65,β=15,y3=415,y4=13,y5=25\alpha=\frac{6}{5},\beta=\frac{1}{5},y_{3}=\frac{4}{15},y_{4}=\frac{1}{3},y_{5}=\frac{2}{5}, where the 5 variables correspond to constraints (3), (4), (5), (6) and (7) respectively. Formally, for any solution (x3,x4,x5,x6,z,r)(x_{3},x_{4},x_{5},x_{6},z,r) satisfying the constraints, we have

r\displaystyle r 415(z34x3)+13(z35(x3+x4))+25(z36(x3+x4+x5))\displaystyle\leq\frac{4}{15}\Big{(}z-\frac{3}{4}x_{3}\Big{)}+\frac{1}{3}\Big{(}z-\frac{3}{5}(x_{3}+x_{4})\Big{)}+\frac{2}{5}\Big{(}z-\frac{3}{6}(x_{3}+x_{4}+x_{5})\Big{)}
=z(15+15+15)x3(15+15)x415x5=z35x325x415x5\displaystyle=z-\big{(}\frac{1}{5}+\frac{1}{5}+\frac{1}{5}\big{)}x_{3}-\big{(}\frac{1}{5}+\frac{1}{5}\big{)}x_{4}-\frac{1}{5}x_{5}=z-\frac{3}{5}x_{3}-\frac{2}{5}x_{4}-\frac{1}{5}x_{5}
=65(z(x3+x4+x5+x6))15(z3x34x45x56x6)65.\displaystyle=\frac{6}{5}(z-(x_{3}+x_{4}+x_{5}+x_{6}))-\frac{1}{5}(z-3x_{3}-4x_{4}-5x_{5}-6x_{6})\leq\frac{6}{5}.

Therefore, the value of the LP is exactly 65\frac{6}{5}. This proves that our algorithm is an (65+ϵ)(\frac{6}{5}+\epsilon)-approximation.

We remark that the approximation ratio remains 65+ϵ\frac{6}{5}+\epsilon even if we consider bigger values of kk. The primal solution (x2=0,x3=415,x4=115,x5=115,xk=0,k6,z=75,r=65)(x_{2}=0,x_{3}=\frac{4}{15},x_{4}=\frac{1}{15},x_{5}=\frac{1}{15},x_{k}=0,\forall k\geq 6,z=\frac{7}{5},r=\frac{6}{5}) remains a valid solution of value 65\frac{6}{5}.

6 Hardness of Pure Fixed Charge Transportation (PFCT) via Reduction from Directed Steiner Tree (DST)

In this section, we prove Theorem 4 and Corollary 5 by giving the reduciton from Directed Steiner Tree (DST) to Pure Fixed Charge Transportation (PFCT). In Section 6.1, we introduce the Pure Fixed Charge Transportation on Directed Graphs (PFCT-Digraph) problem, which is seemingly more general than the PFCT problem. But in Section 6.2, we show that the two problems are indeed equivalent. In Section 6.3, we give a reduction from DST problem to PFCT-Digraph, and thus PFCT.

Refer to caption
Figure 1: Reductions used in our hardness results.

6.1 The Pure Fixed Charge Transportation on Digraphs (PFCT-Digraph) Problem

We introduced the Pure Fixed Charge Transportation in a Directed Graph (PFCT-DAG) problem, which has been studied previously [3, 4]. We are given a directed graph (DAG) G=(V,E)G=(V,E), a set SVS\subseteq V of sources, and a set TVT\subseteq V of sinks such that ST=S\cap T=\emptyset.

As in PFCT, each source ii has ai>0a_{i}\in\mathbb{Z}_{>0} units of supply, each sink jj has bj>0b_{j}\in\mathbb{Z}_{>0} units of demand, and iSai=jTbj\sum_{i\in S}a_{i}=\sum_{j\in T}b_{j}. Every edge eEe\in E has a fixed cost fe0f_{e}\in\mathbb{R}_{\geq 0}.

The goal of the problem is to send flows from SS to TT across GG, so that each iSi\in S sends exactly aia_{i} units of flow, and each jTj\in T receives exactly bjb_{j} units of flow. If an edge eEe\in E is carrying a non-zero units of flow, then we pay a cost of fef_{e}. The goal of the problem is to minimize the total cost we pay. Formally, we need to output a flow vector x0Ex\in\mathbb{R}_{\geq 0}^{E} satisfying that eδvoutxeeδvinxe\sum_{e\in\delta^{\mathrm{out}}_{v}}x_{e}-\sum_{e\in\delta^{\mathrm{in}}_{v}}x_{e} is ava_{v} if vSv\in S, bv-b_{v} if vTv\in T and 0 otherwise. Our goal is to minimize eE(𝟏xe>0fe)\sum_{e\in E}\big{(}\mathbf{1}_{x_{e}>0}\cdot f_{e}\big{)}.

Clearly, PFCT is a special case of PFCT-Digraph where the graph is a directed bipartite graph from the sources SS to the sinks TT.

6.2 Equivalence of PFCT and PFCT-Digraph

In this section, we show a reduction from PFCT-Digraph to PFCT, establishing the equivalence of the two problems. We assume we are given a PFCT-Digraph instance (G=(V,E),S,T,a>0S,b>0T,f0E)(G=(V,E),S,T,a\in\mathbb{Z}_{>0}^{S},b\in\mathbb{Z}_{>0}^{T},f\in\mathbb{R}_{\geq 0}^{E}). WLOG we assume SS does not have incoming edges and TT does not have outgoing edges. For every vertex vV(ST)v\in V\setminus(S\cup T), we apply the following splitting operation on vv. See Figure 2 for an illustration of the operation.

Refer to caption
Figure 2: Splitting operation in reduction from PFCT-Digraph to PFCT.

We break vv into vinv_{\mathrm{in}} and voutv_{\mathrm{out}} and add an edge from voutv_{\mathrm{out}} to vinv_{\mathrm{in}} of cost 0. All the incoming edges of vv now go to vinv_{\mathrm{in}}, and all the outgoing edges of vv are from voutv_{\mathrm{out}}; we do not change the ff values of these edges. vinv_{\mathrm{in}} now has a demand DD and voutv_{\mathrm{out}} has a supply DD, for a sufficient large integer DD. (D=iSai=jTbjD=\sum_{i\in S}a_{i}=\sum_{j\in T}b_{j} suffices.) After this conversion, the graph becomes a directed bipartite graph, where edges are from S{vout:vV(ST)}S\cup\{v_{\mathrm{out}}:v\in V\setminus(S\cup T)\} to T{vin:vV(ST)}T\cup\{v_{\mathrm{in}}:v\in V\setminus(S\cup T)\}.

It is easy to see the equivalence between the two instances. Focus on a solution x0Ex\in\mathbb{R}_{\geq 0}^{E} to the PFCT-Digraph instance. Then, in the solution for the PFCT instance, we keep the xx values of these edges unchanged. The xx value the edge (vout,vin)(v^{\mathrm{out}},v^{\mathrm{in}}) for vV(ST)v\in V\setminus(S\cup T) is defined as Deδvoutxe=DeδvinxeD-\sum_{e\in\delta^{\mathrm{out}}_{v}}x_{e}=D-\sum_{e\in\delta^{\mathrm{in}}_{v}}x_{e}. This is non-negative if DD is large enough. The edges (vout,vin)(v^{\mathrm{out}},v^{\mathrm{in}}) have ff value being 0, and thus the cost of the solution to the PFCT instance is the same as the cost of xx for the original PFCT-Digraph instance. Similarly, we can convert a solution for the PFCT instance to one for the PFCT-Digraph instance with the same cost.

We also remark that the reduction naturally extends to the case where we have linear costs on the edges; we only need to set the cc value of voutinv_{\mathrm{out}\mathrm{in}} to 0. This establishes the earlier claim that the single-commodity uncapacitated fixed-charge network problem is indeed equivalent to the FCT problem.

6.3 Reduction from DST to PFCT-Digraph

In this section, we reduce the Directed Steiner Tree (DST) problem to the PFCT-Digraph problem with two sources. We are given a DST instance (G=(V,E),c,r,T,k=|T|)(G=(V,E),c,r,T,k=|T|), and we assume each terminal tTt\in T has only one incoming edge and no outgoing edges. We create a PFCT-Digraph instance as follows. Start from G=(V,E)G=(V,E) and let the costs fef_{e} in the PFCT-Digraph problem equal to the costs cec_{e} in the DST-O problem. We let the root rr be a source and the terminals TT be the sinks; the source rr has ar:=ka_{r}:=k units of supply and each sink tTt\in T has bt:=1b_{t}:=1 unit of demand.

To see the equivalence between the PFCT-Digraph instance and the DST instance, it suffices to notice that the following property: There is an optimal solution x0Ex\in\mathbb{R}_{\geq 0}^{E} for the PFCT-Digraph instance such that the underlying undirected graph for supp(x)\mathrm{supp}(x) contains no cycles. If this is not the case, we can take any cycle in the undirected graph, choose a direction for the cycle, and increase or decrease xx values of the edges on the cycle depending on whether the edges have the same or opposite direction to the chosen direction, until the xx value of some edge on the cycle becomes 0. This operation does not increase the cost of xx to the PFCT-Digraph instance. So, supp(x)\mathrm{supp}(x) is precisely a directed Steiner tree with the root rr and the terminals TT.

We then finish the proof of Theorem 4. Given a DST instance, we can construct an equivalent PFCT instance that preserves the optimum cost. If the DST instance has nn vertices, then PFCT instance has at most nn sources and at most nn sinks. Therefore, an α(max{n,m})\alpha(\max\{n,m\})-approximation for the PFCT instance leads to an α(n)\alpha(n)-approximation for the DST instance. Conversely, the Ω(log2ϵ(n))\Omega(\log^{2-\epsilon}(n))-hardness for DST of [36] implies an Ω(log2ϵ(max{n,m}))\Omega(\log^{2-\epsilon}(\max\{n,m\}))-hardness of approximation for PFCT, which proves Corollary 5.

7 APX-Hardness of Pure Fixed Charge Transportation with Uniform Fixed Costs (PFCT-U) from 3DM-B

In this section, we prove the APX-hardness of PFCT-U (Theorem 7) by a reduction from the 3DM-B problem. We let α=9798\alpha=\frac{97}{98} and BB be the constants in Theorem 10, and let ϵ>0\epsilon>0 from the theorem be small enough. Let B=3(3+B4(α+ϵ))/ϵB^{\prime}=\left\lceil 3(3+B-4(\alpha+\epsilon))/\epsilon\right\rceil. Suppose we are given a 3DM instance (X,Y,Z,E)(X,Y,Z,E) as stated in the theorem. Let n=|X|=|Y|=|Z|n=|X|=|Y|=|Z|, and m=|E|m=|E|. We assume nn is large enough. As every element appears in at most BB triples, we have mBnm\leq Bn.

Let Δ=2(6n+1)B\Delta=2(6n+1)^{B^{\prime}}. For each element vXYZv\in X\cup Y\cup Z, we let bvb_{v} be an integer chosen from (Δ,2Δ](\Delta,2\Delta] uniformly at random.

Lemma 16.

With probability at least 1/21/2, the following event happens. For every hXYZh\in\mathbb{Z}^{X\cup Y\cup Z} with |h|1[1,B]|h|_{1}\in[1,B^{\prime}], we have vXYZhvbv0\sum_{v\in X\cup Y\cup Z}h_{v}b_{v}\neq 0.

Proof.

A vector hZXYZh\in Z^{X\cup Y\cup Z} with |h|1B|h|_{1}\leq B^{\prime} can be recorded as a sequence of BB^{\prime} operations starting from the 0 vector, where each operation is increasing hvh_{v} by 1 for some vXYZv\in X\cup Y\cup Z, decreasing hvh_{v} by 1 for some vXYZv\in X\cup Y\cup Z, or doing nothing. So, there are at most (2×3n+1)B=(6n+1)B(2\times 3n+1)^{B^{\prime}}=(6n+1)^{B^{\prime}} different vectors hZXYZh\in Z^{X\cup Y\cup Z} with |h|1B|h|_{1}\leq B^{\prime}.

For a fixed vector hZXYZh\in Z^{X\cup Y\cup Z} with |h|1[1,B]|h|_{1}\in[1,B^{\prime}], the probability that vXYZhvbv=0\sum_{v\in X\cup Y\cup Z}h_{v}b_{v}=0 happens is at most 1Δ\frac{1}{\Delta}. Then applying union bound gives the lemma. ∎

We choose (bv)vXYZ(b_{v})_{v\in X\cup Y\cup Z} values satisfying the condition of the lemma. Then we construct a PFCT-U instance (S,T,a,b)(S,T,a,b) as follows. First, every vXYZv\in X\cup Y\cup Z is a sink, with the chosen bvb_{v} value. Every triple ijkEijk\in E is a source in the instance, with aijk:=bi+bj+bka_{ijk}:=b_{i}+b_{j}+b_{k}. Finally, we add a “dummy” sink tt with bt:=ijkEaijkvXYZbvb_{t}:=\sum_{ijk\in E}a_{ijk}-\sum_{v\in X\cup Y\cup Z}b_{v} to make the instance balanced. So, in the PFCT-U instance, we have S=ES=E and T=XYZ{t}T=X\cup Y\cup Z\cup\{t\}.

Till the end of this section, we say a set USTU\subseteq S\cup T is balanced if a(SU)=b(TU)a(S\cap U)=b(T\cap U).

Claim 17.

If the 3DM-B instance is a yes-instance, then the optimum cost of the PFCT-U instance is at most 2n+m2n+m.

Proof.

Let MEM\subseteq E be a perfect matching for the 3DM-B instance. We can partition STS\cup T into n+1n+1 balanced sets naturally: For every ijkMijk\in M, we select the balanced set {i,j,k,ijk}\{i,j,k,ijk\}. Then we put the remaining elements in the final balanced set, which is {t}EM\{t\}\cup E\setminus M. The cost of the solution to the PFCT-U instance is 3n+m+1(n+1)=2n+m3n+m+1-(n+1)=2n+m. ∎

Then we focus on the case where the 3DM-B instance is a no-instance. We say a balanced set USTU\subseteq S\cup T is canonical if it is {i,j,k,ijk}\{i,j,k,ijk\} for some ijkEijk\in E.

Lemma 18.

Let USTU\subseteq S\cup T be a non-empty balanced set. Then UU is either the union of some disjoint canonical sets, or has size at least B/3B^{\prime}/3.

Proof.

First, assume tUt\notin U. As UU is balanced, we have ijkUS(bi+bj+bk)vUTbv=0\sum_{ijk\in U\cap S}(b_{i}+b_{j}+b_{k})-\sum_{v\in U\cap T}b_{v}=0. We view each bvb_{v} in the equation as variables and focus on the coefficients hvh_{v}’s of bvb_{v}’s. If hXYZh\in\mathbb{Z}^{X\cup Y\cup Z} is the 0-vector, then UU must be the union of some disjoint canonical sets. If h0h\neq 0, then by Lemma 16, we have |h|1B+1|h|_{1}\geq B^{\prime}+1 non-zero entries, implying that the size of UU is at least B/3B^{\prime}/3.

Consider the case tUt\in U. bt=ijkE(bi+bj+bk)vXYZbvVXYZbv3nΔb_{t}=\sum_{ijk\in E}(b_{i}+b_{j}+b_{k})-\sum_{v\in X\cup Y\cup Z}b_{v}\geq\sum_{V\in X\cup Y\cup Z}b_{v}\geq 3n\Delta. Each ijkEijk\in E has aijk6Δa_{ijk}\leq 6\Delta. Thus |U|n/2+1|U|\geq n/2+1. As we assumed that nn is big enough, we have |U|B/3|U|\geq B^{\prime}/3. ∎

Lemma 19.

If the 3DM-B instance is a no-instance, then the cost of the PFCT-U instance is at least (3α2ϵ)n+m(3-\alpha-2\epsilon)n+m.

Proof.

Focus on the optimum partition 𝒫\mathcal{P} of STS\cup T into balanced sets. If a balanced set U𝒫U\in\mathcal{P} is the union of at least 22 canonical sets, then 𝒫\mathcal{P} is not optimum since breaking UU into canonical sets will make 𝒫\mathcal{P} better. Therefore, every U𝒫U\in\mathcal{P} is either a canonical set, or has size at least B/3B^{\prime}/3, by Lemma 18. As the maximum matching for the 3DM instance has size at most (α+ϵ)n(\alpha+\epsilon)n, the number of canonical sets in 𝒫\mathcal{P} is at most (α+ϵ)n(\alpha+\epsilon)n. Therefore, we have

|𝒫|(α+ϵ)n+3n+m+14(α+ϵ)nB/3.\displaystyle|\mathcal{P}|\leq(\alpha+\epsilon)n+\frac{3n+m+1-4(\alpha+\epsilon)n}{B^{\prime}/3}.

The cost of the solution is at least

3n+m+1|𝒫|(3αϵ)n+m3(3n+m4(α+ϵ)n)B\displaystyle 3n+m+1-|\mathcal{P}|\geq(3-\alpha-\epsilon)n+m-\frac{3(3n+m-4(\alpha+\epsilon)n)}{B^{\prime}}

As mBnm\leq Bn and B3(3+B4(α+ϵ))ϵB^{\prime}\geq\frac{3(3+B-4(\alpha+\epsilon))}{\epsilon}, we have 3(3n+m4(α+ϵ)n)Bϵn\frac{3(3n+m-4(\alpha+\epsilon)n)}{B^{\prime}}\leq\epsilon n. So, the cost is at least (3α2ϵ)n+m(3-\alpha-2\epsilon)n+m. ∎

So, the multiplicative gap between the costs for the no-instance case and the yes-instance case is at least

(3α2ϵ)n+m2n+m.\displaystyle\frac{(3-\alpha-2\epsilon)n+m}{2n+m}.

If 2ϵ<1α2\epsilon<1-\alpha, then 3α2ϵ>23-\alpha-2\epsilon>2. The gap is at least (3α2ϵ)n+Bn2n+Bn=3α2ϵ+B2+B\frac{(3-\alpha-2\epsilon)n+Bn}{2n+Bn}=\frac{3-\alpha-2\epsilon+B}{2+B}, which is an absolute constant larger than 11. This finishes the proof of the APX-hardness for the PFCT-U problem in Theorem 7.

8 Efficient Parameterized Approximation Scheme (EPAS) for Pure Fixed Charge Transportation (PFCT) Problem

In this section we give an Efficient Parameterized Approximation Scheme (EPAS) for the PFCT problem, parameterized by the number nn of sources. For the case n=2n=2 and fij=1f_{ij}=1, the problem is equivalent to the subset sum problem: if the subset sum instance is feasible, the optimum cost of the PFCT instance is mm; otherwise it is m+1m+1. This rules out FPTAS for the case, unless P == NP. As a starting point, we show a PTAS for the case where nn is a constant in Section 8.1. This will serve as our building block for the EPAS.

8.1 (1+ϵ)(1+\epsilon)-Approximation in (nm)O(n/ϵ)(nm)^{O(n/\epsilon)} Time

We first give a PTAS for the PFCT problem with running time (nm)O(n/ϵ)(nm)^{O(n/\epsilon)}. Throughout, we assume 1/ϵ1/\epsilon is an integer. We guess the set PP of 2n/ϵ2n/\epsilon most expensive edges in the optimum solution; there are at most (nm)2nϵ(nm)^{\frac{2n}{\epsilon}} possibilities for this set. We output the best solution over all guesses. So, from now on, we assume we correctly guessed the set PP. Let F:=minijPfijF:=\min_{ij\in P}f_{ij} be the cost of the cheapest edge in PP. We then solve the following linear program to obtain xx, and return xx as the solution for the PFCT instance.

minijPfij+ij(S×T)Pxijbjfijs.t.\min\quad\sum_{ij\in P}f_{ij}+\sum_{ij\in(S\times T)\setminus P}\frac{x_{ij}}{b_{j}}\cdot f_{ij}\quad\text{s.t.}\quad (9)
x𝒳,xij=0,ij(S×T)P with fij>F\displaystyle x\in\mathcal{X},\quad x_{ij}=0,\forall ij\in(S\times T)\setminus P\text{ with }f_{ij}>F

The value of the LP is at most the cost of the optimum solution to the PFCT instance. Again, we can assume that supp(x)\mathrm{supp}(x) is a forest. For a leaf sink jj in the forest, and its unique incident edge ijij, we must have xij=bjx_{ij}=b_{j}. Therefore, there are at most 2n2n edges ijPij\notin P with xij(0,bj)x_{ij}\in(0,b_{j}). The maximum fijf_{ij} value among all these edges is at most FF. So, the actual cost of xx to the PFCT instance is at most the LP value plus 2nF2nF. As 2nF2nF is at most ϵ\epsilon times the cost of PP, which is at most ϵ\epsilon times the optimum cost, we have that xx is a (1+ϵ)(1+\epsilon)-approximate solution. This finishes the description of the PTAS for the problem when n=O(1)n=O(1).

To improve the running time to g(n,ϵ)poly(m)g(n,\epsilon)\cdot\mathrm{poly}(m), our goal is to reduce the number of candidates for the n/ϵn/\epsilon most expensive edges. In Section 8.2, we show that there exists a (1+ϵ)(1+\epsilon)-approximate solution, where the n/ϵn/\epsilon most expensive edges are incident to the n/ϵn/\epsilon sinks with the largest demands, for the PFCT-S instance. This will greatly reduce the candidate set of edges and result in the desired running time. For the PFCT problem, we partition the sinks into many classes, where each class of sinks has the same cost vector incident to the nn sources. Using a standard discretization step, we can bound the number of classes by (O(logmϵ))n\left(O\left(\frac{\log m}{\epsilon}\right)\right)^{n}. Then, the instance restricted to each class can be viewed as a PFCT-S instance. We bound the size of the candidate set for each class, leading to an overall bound for all classes. This algorithm is described in Section 8.3.

8.2 The Case of Sink-Independent Fixed Costs

In this section we show that we can reduce the size of the candidate set of the most expensive edges, with a loss of 1+ϵ1+\epsilon in the approximation ratio. We main theorem we prove is:

Theorem 20.

Suppose we are given a PFCT-S instance defined by the set S=[n]S=[n] of sources, the set T=[m]T=[m] of sinks, the supply vector (ai)i[n](a_{i})_{i\in[n]}, the demand vector (bj)j[m](b_{j})_{j\in[m]} and the fixed cost vector (fi)i[n](f_{i})_{i\in[n]}. Assume f1f2fnf_{1}\geq f_{2}\geq\cdots\geq f_{n} and b1b2bmb_{1}\geq b_{2}\geq\cdots\geq b_{m}. Let xx^{*} be the optimum solution to the instance. Assume supp(x)\mathrm{supp}(x^{*}) is the union of disjoint stars centered at sources; that is, every sink j[m]j\in[m] is incident to exactly one source in supp(x)\mathrm{supp}(x^{*}).

Let ϵ>0\epsilon>0 be a small enough constant. Then there is a (1+ϵ)(1+\epsilon)-approximate optimum solution xx, such that the n/ϵn/\epsilon most expensive edges in supp(x)\mathrm{supp}(x) are incident to sinks in [n/ϵ][n/\epsilon].

Refer to caption
Refer to caption
Refer to caption
Figure 3: Notations used in proof of Theorem 20. In the three sub-figures, the nn sources are denoted by squares, the mm sinks are denoted by dots, the sinks [m][m^{\prime}] are those in the yellow rectangle, and sinks TT^{\prime} are represented by red dots. The lines connecting the sources and the sinks in sub-figure (a) denote supp(x)\mathrm{supp}(x^{*}). The lines in sub-figures (b) and (c) denote the pre-selected edges for the first and second PFCT-S instances respectively. The blue thick lines show the difference between the two instances.
Proof.

For every i[n]i\in[n], let TiT_{i} be the set of sinks connected to ii in supp(x)\mathrm{supp}(x^{*}). So, T1,T2,,TnT_{1},T_{2},\cdots,T_{n} form a partition of [m][m] as supp(x)\mathrm{supp}(x^{*}) is a forest of stars centered at sources. Let m=n/ϵm^{\prime}=n/\epsilon; [m][m^{\prime}] is the set of the mm^{\prime} sinks with the largest bb values.

Let Esupp(x)E^{\prime}\subseteq\mathrm{supp}(x^{*}) be the mm^{\prime} most expensive edges in supp(x)\mathrm{supp}(x^{*}), and TT^{\prime} be the set of sinks incident to EE^{\prime}. Let Ti=TTiT^{\prime}_{i}=T^{\prime}\cap T_{i} for every i[n]i\in[n]. As supp(x)\mathrm{supp}(x^{*}) is a forest of stars and f1f2fnf_{1}\geq f_{2}\geq\cdots\geq f_{n}, there exists some n[n]n^{\prime}\in[n] such that Ti=TiT^{\prime}_{i}=T_{i} for every i[n1]i\in[n^{\prime}-1], TiTi\emptyset\neq T^{\prime}_{i}\subseteq T_{i} and Ti=T^{\prime}_{i}=\emptyset for every i>ni>n^{\prime}.

Notice that |T|=m|T^{\prime}|=m^{\prime}, and thus |T[m]|=|[m]T||T^{\prime}\setminus[m^{\prime}]|=|[m^{\prime}]\setminus T^{\prime}|. Moreover the bb-value of any sink in [m]T[m^{\prime}]\setminus T^{\prime} is at least the bb-value of any sink in T[m]T^{\prime}\setminus[m^{\prime}]. We can use a greedy algorithm to construct disjoint subsets U1,U2,,UnU_{1},U_{2},\cdots,U_{n^{\prime}} of [m]T[m^{\prime}]\setminus T^{\prime} such that the following happens for every i[n]i\in[n^{\prime}].

  1. (P1)

    b(Ui)b(Ti[m])b(U_{i})\geq b(T^{\prime}_{i}\setminus[m^{\prime}]).

  2. (P2)

    b(Uij)<b(Ti[m])b(U_{i}\setminus j)<b(T^{\prime}_{i}\setminus[m^{\prime}]) for every jUij\in U_{i}. This implies |Ui||Ti[m]||U_{i}|\leq|T^{\prime}_{i}\setminus[m^{\prime}]|.

Let U=U1U2Un[m]TU=U_{1}\cup U_{2}\cup\cdots\cup U_{n^{\prime}}\subseteq[m^{\prime}]\setminus T^{\prime}; notice that it is possible that U[m]TU\subsetneq[m^{\prime}]\setminus T^{\prime}. See Figure 3(a) for an illustration of definitions we made so far.

We define two PFCT-S instances, on which we apply Corollary 14. Both instances are residual instances of the given instance. The first residual instance is obtained by assigning demands in TT^{\prime}, but not [m]T[m]\setminus T^{\prime}, according to xx^{*}. See Figure 3(b) for the instance. Therefore, in the first PFCT-S instance,

  • every sink i>ni>n^{\prime} has aia_{i} units of supply, and

  • every j[m]Tj\in[m]\setminus T^{\prime} has bjb_{j} units demand.

The second residual instance is obtained from the first one by switching the flows sent to Ti[m]T^{\prime}_{i}\setminus[m^{\prime}] to UiU_{i}, for each i[n]i\in[n^{\prime}]. By (P1) and (P2), we can guarantee that at most one sink in UiU_{i} has a positive demand remaining. See Figure 3(c) for an illustration of the instance. Therefore, in the second PFCT-S instance,

  • every sink i>ni>n^{\prime} has aia_{i} units of supply,

  • every j(m,m]([m]TU)j\in(m^{\prime},m]\cup([m^{\prime}]\setminus T^{\prime}\setminus U) has bjb_{j} units demand, and

  • for every i[n]i\in[n^{\prime}], there exists a jUij\in U_{i} with b(Ui)b(Ti[m])b(U_{i})-b(T^{\prime}_{i}\setminus[m^{\prime}]) units demand, if the amount is positive.

We then compare the two PFCT-S instances using Corollary 14. We define π(t)\pi(t) and π(t)\pi^{\prime}(t) as in the corollary. Let D=|[m]T||U|=|T[m]||U|=i[n](|Ti[m]||Ui|)D=|[m^{\prime}]\setminus T^{\prime}|-|U|=|T^{\prime}\setminus[m^{\prime}]|-|U|=\sum_{i\in[n^{\prime}]}(|T^{\prime}_{i}\setminus[m^{\prime}]|-|U_{i}|).

Lemma 21.

π(t)π(t)+D+n\pi^{\prime}(t)\leq\pi(t)+D+n^{\prime} for every t(0,b(U)]t\geq(0,b(U)].

Proof.

It suffices for us to show that, for any V1[m]TV^{1}\subseteq[m]\setminus T^{\prime}, there exists a set V2[m]V^{2}\subseteq[m] of size at most |V1|+D+n|V^{1}|+D+n^{\prime} such that the total demand in V1V^{1} in the first PFCT-S instance is at most the total demand in V2V^{2} in the second PFCT-S instance. Notice that the sinks in ((m,m]T)([m]T)([m]TU)\big{(}(m^{\prime},m]\setminus T^{\prime}\big{)}\cup\big{(}[m^{\prime}]\cap T^{\prime}\big{)}\cup\big{(}[m^{\prime}]\setminus T^{\prime}\setminus U\big{)} have the same demands in both instances. It suffices for us to focus on sets V1UV^{1}\subseteq U and require V2U(T[m])V^{2}\subseteq U\cup(T^{\prime}\setminus[m^{\prime}]).

Consider any subset V1[m]TV^{1}\subseteq[m^{\prime}]\setminus T^{\prime}; define Vi1=UiV1V^{1}_{i}=U_{i}\cap V^{1} for every i[n]i\in[n^{\prime}]. We shall construct a set V2V^{2} of sinks as follows. For every i[n]i\in[n^{\prime}], we add to V2V^{2} the sink in UiU_{i} with a positive supply in the second instance, if it exists. Then, we add to V2V^{2} an arbitrary subset of Ti[m]T^{\prime}_{i}\setminus[m^{\prime}] of size |Ti[m]||UiVi1||T^{\prime}_{i}\setminus[m^{\prime}]|-|U_{i}\setminus V^{1}_{i}|. Clearly, the total demand of these sinks in the second instance is at least b(Vi1)b(V^{1}_{i}). The total demand of W2:=Ui(Ti[m])W^{2}:=U_{i}\cup(T^{\prime}_{i}\setminus[m^{\prime}]) in the second instance is equal to b(Ui)b(U_{i}). The bb-value of any sink in Ti[m]T^{\prime}_{i}\setminus[m^{\prime}] is at most the bb-value of any sink in UiU_{i}. So, after we remove |UiVi1||U_{i}\setminus V^{1}_{i}| sinks in (Ti[m])(T^{\prime}_{i}\setminus[m^{\prime}]) from W2W^{2}, and |UiVi1||U_{i}\setminus V^{1}_{i}| from UiU_{i}, the demand in the former set is at least the demand in the latter, w.r.t their respective PFCT-S instances.

Therefore, the total demand at V2V^{2} in the second instance is at least b(V1)b(V^{1}). Moreover, |V2|i[n](|Ti[m]||UiVi1|+1)=i[n](|Ti[m]||Ui|)+i[n]|Vi1|+n=D+|V1|+n|V^{2}|\leq\sum_{i\in[n^{\prime}]}(|T^{\prime}_{i}\setminus[m^{\prime}]|-|U_{i}\setminus V^{1}_{i}|+1)=\sum_{i\in[n^{\prime}]}(|T^{\prime}_{i}\setminus[m^{\prime}]|-|U_{i}|)+\sum_{i\in[n^{\prime}]}|V^{1}_{i}|+n^{\prime}=D+|V^{1}|+n^{\prime}. The lemma then follows. ∎

Therefore, using the Corollary 14, the greedy solution we construct for the second instance has cost at most that of the optimum solution for the first instance, plus (D+n)fn+1+fn+2+fn+3++fn(D+n1)fn+1(D+n^{\prime})f_{n^{\prime}+1}+f_{n^{\prime}+2}+f_{n^{\prime}+3}+\cdots+f_{n}\leq(D+n-1)f_{n^{\prime}+1}. The cost for the pre-selected edges in the first instance, is that in the second instance, plus

i[n]fi(|Ui||Ti[m]|)fn+1i[n](|Ui||Ti[m]|)=Dfn+1.\displaystyle\sum_{i\in[n^{\prime}]}f_{i}(|U_{i}|-|T^{\prime}_{i}\setminus[m^{\prime}]|)\geq f_{n^{\prime}+1}\sum_{i\in[n^{\prime}]}(|U_{i}|-|T^{\prime}_{i}\setminus[m^{\prime}]|)=Df_{n^{\prime}+1}.

We let xx be the solution for the original instance, using the greedy solution for the second residual instance. That is, xx contains the pre-selected edges for the second instance, and the edges given by the greedy algorithm. xx^{*} contains the pre-selected edges for the first residual instance, the optimum solution for the instance. Therefore, the cost of xx minus the cost of xx^{*} is at most (D+n1)fn+1Dfn+1=(n1)fn+1(D+n-1)f_{n^{\prime}+1}-Df_{n^{\prime}+1}=(n-1)f_{n^{\prime}+1} more than the cost of xx^{*}. This is at most ϵ\epsilon times the cost of EE^{\prime}, which is at most ϵ\epsilon times cost of xx^{*}.

Finally, in the solution xx, there is no “crossing” between sinks [m][m^{\prime}] and (m,m](m^{\prime},m]: there is no pair ij,(i,j)supp(x)ij,(i^{\prime},j^{\prime})\in\mathrm{supp}(x) such that i>i,j[m]i>i^{\prime},j\in[m^{\prime}] and j[m][m]j^{\prime}\in[m]\setminus[m^{\prime}]. This holds as pre-selected edges of the instance go from [n][n^{\prime}] to [m][m^{\prime}]. The greedy algorithm only makes connections to sources (n,n](n^{\prime},n] and it does not create crossings. ∎

Now, we shall remove the assumption in Theorem 20 that xx^{*} is the union of stars centered at sources. This is summarized in the following corollary.

Corollary 22.

Let S,n,T,m,(ai)i[n],(bj)j[m]S,n,T,m,(a_{i})_{i\in[n]},(b_{j})_{j\in[m]} and (fi)i[n](f_{i})_{i\in[n]} be as in Theorem 20; they define a PFCT-S instance. Let ϵ>0\epsilon>0 be a small enough constant. Then there is an (1+ϵ)(1+\epsilon)-approximate solution xx, such that the n/ϵnn/\epsilon-n most expensive edges in supp(x)\mathrm{supp}(x) are incident to [n/ϵ+n][n/\epsilon+n].

Proof.

Let xx^{*} be the optimum solution to the PFCT-S instance. We modify the instance and xx^{*} as follows. Assume some sink jj is incident to o2o\geq 2 sources i1,i2,,ioi_{1},i_{2},\cdots,i_{o} in supp(x)\mathrm{supp}(x^{*}), and the flow sent by the oo sources are respectively y1:=xi1j,y2:=xi2j,,yo=xiojy_{1}:=x^{*}_{i_{1}j},y_{2}:=x^{*}_{i_{2}j},\cdots,y_{o}=x^{*}_{i_{o}j}, with y1+y2++yo=bjy_{1}+y_{2}+\cdots+y_{o}=b_{j}. We can then modify the PFCT-S instance by splitting jj into oo sinks, with demands being y1,y2,,yoy_{1},y_{2},\cdots,y_{o} respectively. We modify the solution xx^{*} naturally: The qq-th newly created sink receives yqy_{q} units flow from iqi_{q}. Notice that this operation can only make the instance harder: any solution for the new instance can be converted into one for the old instance with no greater cost. On the other hand, the cost of xx^{*} does not change. We repeat the operation until every sink is incident to exactly one source in supp(x)\mathrm{supp}(x^{*}). Notice that the xx^{*} is a forest at the beginning, and thus the splitting operations will increase the number of sinks by at most n1n-1.

We then apply Theorem 20 on the new instance; so there is a (1+ϵ)(1+\epsilon) approximate solution xx, such that the n/ϵn/\epsilon most expensive edges EE^{\prime} in supp(x)\mathrm{supp}(x) are incident to sinks in [n/ϵ][n/\epsilon]. By merging sinks, xx can be transformed into a solution for the original instance with no greater cost. Some edges may be merged due to the merging of sinks. But the merging operation does not change the fact that EE^{\prime} remains the most expensive edges after merging. |E||E^{\prime}| may be decreased by at most n1n-1. Due to the merging of sinks, the parent sinks of the n/ϵn/\epsilon sinks with the largest bb values in the new instance is a subset of the n/ϵ+nn/\epsilon+n sinks with the largest bb values in the original instance. ∎

8.3 Efficient Parameterized Approximation Scheme (EPAS) for PFCT

In this section, we use Corollary 22 built in Section 8.2 to design an Efficient Parameterized Approximation Scheme (EPAS) for the Pure Fixed Charge Transportation (PFCT) problem. Notice that now every pair ijS×Tij\in S\times T has a fijf_{ij} value. We can use standard techniques to discretize the fijf_{ij} values so that there are only O(log1+ϵm)O(\log_{1+\epsilon}m) different fijf_{ij} values. By guessing we assume we know the cost FF of the most expensive edge used in the optimum solution. If an edge has fij>Ff_{ij}>F we can change fijf_{ij} to \infty. If an edge has fij<ϵF/(n+m)f_{ij}<\epsilon F/(n+m), we can change it to 0. This will only incur a loss of 1+ϵ1+\epsilon in the approximation ratio. For the remaining edges, we round fijf_{ij} up to its nearest integer power of 1+ϵ1+\epsilon. Therefore, there are only O(log1+ϵm)=O(logmϵ)O(\log_{1+\epsilon}m)=O\left(\frac{\log m}{\epsilon}\right) different fijf_{ij} values, after this processing. We only lose a factor of (1+ϵ)2(1+\epsilon)^{2} in the approximation ratio.

We partition TT into classes, where two sinks jj and jj^{\prime} are in the same class if fij=fijf_{ij}=f_{ij^{\prime}} for every iSi\in S. So, there are at most (O(logmϵ))n\left(O\left(\frac{\log m}{\epsilon}\right)\right)^{n} different classes of sinks. Let M=(O(logmϵ))nM=\left(O\left(\frac{\log m}{\epsilon}\right)\right)^{n} be this number.

Lemma 23.

We can efficiently construct a set TTT^{\prime}\subseteq T of at most M(n/ϵ+n)M(n/\epsilon+n) sinks such that the following holds. There is a (1+ϵ)(1+\epsilon)-approximate solution to the PFCT instance, where the n/ϵnn/\epsilon-n most expensive edges in supp(x)\mathrm{supp}(x) are incident to TT^{\prime}.

Proof.

Let T1,T2,,TMTT^{1},T^{2},\cdots,T^{M}\subseteq T be the MM classes. Focus on the optimum solution xx^{*} for the instance. We can partition xx^{*} into MM pieces, with the pp-th piece being x|S×Tpx^{*}|_{S\times T^{p}}. Then, we can view x|S×Tpx^{*}|_{S\times T^{p}} as a solution to the PFCT-S instance with sources SS, sinks TpT^{p}, demand vector (bj)jTp(b_{j})_{j\in T^{p}}.

  • The supply for a source iSi\in S is jTpxij\sum_{j\in T^{p}}x^{*}_{ij},

  • The cost fif_{i} for a source iSi\in S is fijf_{ij} for any jTpj\in T^{p}. As all fijf_{ij}’s are the same for all jTpj\in T^{p}, fif_{i} is uniquely defined.

By Corollary 22, there is a 1+ϵ1+\epsilon-approximate solution xpx^{p} to the PFCT-S instance, where the n/ϵnn/\epsilon-n most expensive edges are incident to the n/ϵ+nn/\epsilon+n sinks in TpT^{\prime p} with the largest demands; call these sinks TpT^{p}. Putting xpx^{p}’s for all p[M]p\in[M] together gives a solution xx for the whole PFCT instance. The n/ϵnn/\epsilon-n most expensive edges in supp(x)\mathrm{supp}(x) are incident to T:=p[M]TpT^{\prime}:=\operatorname{\bigcup}_{p\in[M]}T^{\prime p}. ∎

Therefore, we can guess the n/ϵnn/\epsilon-n most expensive edges in xx. There are at most (Mn(n/ϵ+n))n/ϵ=(O(n2ϵ))n/ϵ(O(logmϵ))n2/ϵ(Mn(n/\epsilon+n))^{n/\epsilon}=\left(O\left(\frac{n^{2}}{\epsilon}\right)\right)^{n/\epsilon}\cdot\left(O\left(\frac{\log m}{\epsilon}\right)\right)^{n^{2}/\epsilon} different possibilities for the set. Once we obtain the set, we can use the greedy algorithm to obtain a solution with approximation ratio 1+n1n/ϵn1+2ϵ1+\frac{n-1}{n/\epsilon-n}\leq 1+2\epsilon. Overall, the approximation ratio we obtain is 1+O(ϵ)1+O(\epsilon).

The running time of the algorithm is (O(n2ϵ))n/ϵ(O(logmϵ))n2/ϵpoly(m)\left(O\left(\frac{n^{2}}{\epsilon}\right)\right)^{n/\epsilon}\cdot\left(O\left(\frac{\log m}{\epsilon}\right)\right)^{n^{2}/\epsilon}\cdot\mathrm{poly}(m). We focus on the term (O(logmϵ))n2/ϵ\left(O\left(\frac{\log m}{\epsilon}\right)\right)^{n^{2}/\epsilon}. When n(ϵlogm)1/3n\leq\left(\epsilon\log m\right)^{1/3}, this is at most mO(1)m^{O(1)}. When n>(ϵlogm)1/3n>\left(\epsilon\log m\right)^{1/3}, the bound is at most (O(n3ϵ2))n2/ϵ=(nϵ)O(n2/ϵ)\left(O\left(\frac{n^{3}}{\epsilon^{2}}\right)\right)^{n^{2}/\epsilon}=\left(\frac{n}{\epsilon}\right)^{O(n^{2}/\epsilon)}. Therefore, the running time of the algorithm is at most (nϵ)O(n2/ϵ)poly(m)\left(\frac{n}{\epsilon}\right)^{O(n^{2}/\epsilon)}\cdot\mathrm{poly}(m).

9 Discussion

In this paper, we initiated a systematic study of variants of the Fixed Charge Transportation problem, and provided a complete characterization of the existence of O(1)O(1)-approximation algorithms for them. Although our techniques are simple, we believe this work opens a new research direction on the problem.

There are several interesting open problems. For the PFCT-S and FCT-U problems, can we achieve an approximation ratio better than 2? For the FCT-S problem, is it possible to obtain a polylogaritmic approximation? For the PFCT problem, can we show that it is not significantly harder than the Directed Steiner Tree problem? For example, by allowing quasi-polynomial time algorithms, can we obtain a polylogarithmic approximation? Finally, can we establish much stronger hardness of approximation results for the two problems, or the most general FCT problem?

References

  • [1] Hirsch WM, Dantzig GB. Notes on linear programming: Part XIX—The fixed charge problem. RAND Research Memorandum 1383, RAND Corporation, Santa Monica, CA, 1954.
  • [2] Hirsch WM, Dantzig GB. The fixed charge problem. Naval Research Logistics Quarterly. 15(3):413-424, 1968.
  • [3] Rardin RL, Wolsey LA. Valid inequalities and projecting the multicommodity extended formulation for uncapacitated fixed charge network flow problems. Eur. J. Oper. Res. 71(1):95–109, 1993.
  • [4] Ortega F, Wolsey LA. A branch-and-cut algorithm for the single commodity, uncapacitated, fixed-charge network flow problem. Networks. 41(3):143–158, 2003.
  • [5] Agarwal Y. K-partition-based facets of the network design problem. Networks. 47(3):123–139, 2006.
  • [6] Frangioni A, Gendron B. Reformulations of the multicommodity capacitated network design problem. Discr. Appl. Math. 157(6): 1229–1241, 2009.
  • [7] Raack C, Koster AMCA, Orlowski S, Wessaly R. On cut-based inequalities for capacitated network design polyhedra. Networks. 57(2):141–156, 2011.
  • [8] Fisk J, McKeown PG. The pure fixed charge transportation problem. Naval Research Logistics Quarterly. 26(4):631–641, 1979.
  • [9] Göthe-Lundgren M, Larsson T. A set covering reformulation of the pure fixed charge transportation problem. Discrete Applied Mathematics. 48(3):245–259, 1994.
  • [10] Murty KG. Solving the fixed charge problem by ranking the extreme points. Oper. Res. 16(2):268–279, 1968.
  • [11] Gray P. Exact solution of the fixed-charge transportation problem. Oper. Res. 19(6):1529–1538, 1971.
  • [12] Agarwal Y, Aneja Y. Fixed-charge transportation problem: Facets of the projection polyhedron. Oper. Res. 60(3):638–654, 2012.
  • [13] Zhao Y, Larsson T, Rönnberg E, Pardalos PM. The fixed charge transportation problem: a strong formulation based on Lagrangian decomposition and column generation. Journal of Global Optimization. 72: 517–538, 2018.
  • [14] Mingozzi A, Roberti R. An Exact Algorithm for the Fixed Charge Transportation Problem Based on Matching Source and Sink Patterns. Management Sci. 52(2):229-496, 2018.
  • [15] Kennigton J, Unger E. A new branch-and-bound algorithm for the fixed-charge transportation problem. Management Sci. 22(10): 1116–1126, 1976.
  • [16] Barr RS, Glover F, Klingman D. A new optimization method for large scale fixed charge transportation problems. Oper. Res. 29(3):448–463, 1981.
  • [17] Cabot AV, Erenguc SS. Some branch and bound procedures for fixed cost transportation problems. Naval Res. Logist. Quart. 31(1):145–154, 1984.
  • [18] Roberti R, Bartolini E, Mingozzi A. The fixed charge transportation problem: An exact algorithm based on a new integer programming formulation. Management Sci. 61(6):1197-1471, 2015.
  • [19] Wright DD, Haehling von Lanzenauer C. Solving the fixed charge problem with Lagrangian relaxation and cost allocation heuristics. Eur. J. Oper. Res. 42(3):305–312,1989.
  • [20] Sun M, Aronson JE, McKeown PG, Drinka D. A tabu search heuristic procedure for the fixed charge transportation problem. Eur. J. Oper. Res. 106(2–3):441–456, 1998.
  • [21] Aguado JS. Fixed charge transportation problems: A new heuristic approach based on Lagrangean relaxation and the solving of core problems. Ann. Oper. Res. 172(1):45–69, 2009.
  • [22] Buson E, Roberti R, Toth P. A Reduced-Cost Iterated Local Search Heuristic for the Fixed-Charge Transportation Problem. Oper. Res. 62(5):973-1201, 2014.
  • [23] Guisewite G, Pardalos P, Minimum concave-cost network flow problems: applications, complexity, and algorithms, Annals of Operations Research. 25(1): 75–99, 1990.
  • [24] Kowalski K. On the structure of the fixed charge transportation problem, International Journal of Mathematical Education in Science and Technology.36(8):879–888, 2005.
  • [25] Schrenk S, Finke G, Cung VD. Two classical transportation problems revisited: Pure constant fixed charges and the paradox. Mathematical and Computer Modelling. 54:2306-2315, 2011.
  • [26] Kann k. Maximum bounded 3-dimensional matching is MAX SNP-complete. Information Processing Letters, 37:27-35, 1991.
  • [27] Berman P, Karpinski M. Improved approximation lower bounds on small occurrence optimization. ECCC, 10(008), 2003.
  • [28] Cygan M. Improved approximation for 3-dimensional matching via bounded pathwidth local search. In SODA, pages 509–518, 2013.
  • [29] Furer M, Yu H. Approximating the k-set packing problem by local improvements. In ISCO, pages 408–420, 2014.
  • [30] Johnson DS. Approximation algorithms for combinatorial problems. J. Comput. Syst. Sci., 9(3):256–278, 1974.
  • [31] Lovász L. On the ratio of optimal integral and fractional covers. Discrete Mathematics, pages 383–390, 1975.
  • [32] Lund C and Yannakakis M. On the hardness of approximating minimization problems. J. ACM, 41(5):960–981, 1994.
  • [33] Feige U. A threshold of ln n for approximating set cover. Journal of the ACM, 45(4):634–652, 1998.
  • [34] Dinur I and Steurer D. Analytical approach to parallel repetition. In STOC, pages 624-633, 2014.
  • [35] Grandoni F, Laekhanukit B, and Li S. O(log2k/loglogk)O(log^{2}k/loglogk)-approximation algorithm for directed steiner tree: A tight quasi-polynomial time algorithm. SIAM Journal on Computing, 52(2):298–322, 2022.
  • [36] Halperin E and Krauthgamer R. Polylogarithmic inapproximability. In Lawrence L. Larmore and Michel X. Goemans, editors, Proceedings of the 35th Annual ACM Symposium on Theory of Computing, June 9-11, 2003, San Diego, CA, USA, pages 585–594. ACM, 2003.
  • [37] Ghuge R and Nagarajan V. Quasi-polynomial algorithms for submodular tree orienteering and directed network design problems. Math. Oper. Res., 47(2):1612–1630, 2022.
  • [38] Charikar M, Chekuri C, Cheung T, Dai Z, Goel A, Guha S, and Li M. Approximation algorithms for directed steiner problems. J. Algorithms, 33(1):73–91, 1999.
  • [39] Zelikovsky A. A series of approximation algorithms for the acyclic directed steiner tree problem. Algorithmica, 18(1):99–110, 1997.

Appendix A 22-Approximation for Fixed Charge Transportation with Uniform Fixed Costs (FCT-U)

The Fixed Charge Transportation with Uniform Fixed Costs (FCT-U) problem has a simple 22-approximation, and thus we include it in the preliminaries. We ignore the fixed costs, and consider the problem of minimizing the linear cost iS,jTcijxij\sum_{i\in S,j\in T}c_{ij}x_{ij}. This is simply a linear program and thus we can obtain an optimum solution efficiently. WLOG, we can assume the support of the solution xx is a forest. If there is a cycle in the support, we can rotate the flow on the cycle in one direction until the flow on some edge becomes 0. There are two directions in which we can rotate the cycle, and we can choose the direction so that the operation does not increase the cost.

As the solution xx we obtain is a forest, its fixed cost is at most m+n1m+n-1. The fixed cost of any solution is at least max{m,n}(m+n1)/2\max\{m,n\}\geq(m+n-1)/2. As xx minimizes the linear cost, it is a 22-approximate solution to the FCT-U instance. This proves Theorem 2.

Appendix B Set-Cover Hardness of Fixed Charge Transportation with Sink-Independent Costs (FCT-S)

In this section, we give the reduction from Set Cover to Fixed Charge Transportation with Sink-Independent Costs (FCT-S) problem; this proves Theorem 6. Indeed, our reduction is to the special case of FCT-S with cij{0,}c_{ij}\in\{0,\infty\} for every ijS×Tij\in S\times T. The mere role of the cc-vector is to define the set of edges that can be used.

Set Cover

In the Set Cover problem, we are given the ground set [n][n], and mm sets S1,S2,,Sm[n]S_{1},S_{2},\cdots,S_{m}\subseteq[n]. The goal of the problem is to choose the smallest number of subsets to cover the whole ground set [n][n]. That is, to find the smallest I[m]I\subseteq[m] with iISi=[n]\operatorname{\bigcup}_{i\in I}S_{i}=[n]. It is well-known that a simple greedy algorithm yields a (lnn+1)(\ln n+1)-approximation for the problem [30, 31]. A long line of research [32, 33, 34] culminated in a tight lower bound by Dinur and Steurer [34], who proved that it is NP-hard to approximate the Set Cover problem within a factor of (1ϵ)lnn(1-\epsilon)\ln n, for any constant ϵ>0\epsilon>0.

Throughout, we shall view the Set Cover problem as following dominating set problem on a bipartite graph. We are given a bipartite graph (V,U,E)(V,U,E) with |V|=m|V|=m and |U|=n|U|=n, and the goal is to choose the smallest subset VVV^{\prime}\subseteq V to dominate UU: VV^{\prime} dominates UU if every uUu\in U is adjacent to at least one vertex in VV^{\prime}. By viewing each vVv\in V as a set, each uUu\in U as an element, and vuEvu\in E indicates uu is in the set vv, we can see that the problem is indeed the Set Cover problem.

At a high level, we reduce the Set Cover instance to a PFCT-Digraph instance with a single source ss^{*}. We then apply the splitting operation in Section 6.3 to change this to a FCT-S instance, where we use cijc_{ij} values to control which edges can be used. The outgoing edges of ss^{*} have fixed costs 11; the other edges have fixed costs 0. Thus the costs are sink-independent. See Figure 4 for an illustration.

Refer to caption
Figure 4: Reduction from Set Cover to FCT-S.

Formally, we introduce a source ss^{*}, and a source voutv_{\mathrm{out}} for every set vVv\in V. So S={s}{vout:vV}S=\{s^{*}\}\cup\{v_{\mathrm{out}}:v\in V\}. We introduce a sink vinv_{\mathrm{in}} for every vVv\in V; each uUu\in U is also a sink. So, T={vin:vV}UT=\{v_{\mathrm{in}}:v\in V\}\cup U. As we mentioned, we use the vector c{0,}S×Tc\in\{0,\infty\}^{S\times T} to define the edges that can be used. There is an edge from voutv_{\mathrm{out}} to vinv_{\mathrm{in}} for every vVv\in V, an edge from ss^{*} to vinv_{\mathrm{in}} for every vVv\in V, and an edge from voutv_{\mathrm{out}} to uu for every (v,u)E(v,u)\in E, that is, for every v,uv,u such that the set vv contains the element uu.

Then we define the a,ba,b and ff values. The source ss^{*} has as=(m1)na_{s^{*}}=(m-1)n and fs=1f_{s^{*}}=1. A source voutv_{\mathrm{out}} has avout=na_{v_{\mathrm{out}}}=n and fvout=0f_{v_{\mathrm{out}}}=0. A sink vinv_{\mathrm{in}} has bvin=nb_{v_{\mathrm{in}}}=n, and a sink uUu\in U has bu=1b_{u}=1. So, the total supply of all sources is equal to the total demand of all sinks. Only ss^{*} has a non-zero ff-value, which is 1; the other sources have ff-values being 0.

We now show a one-to-one correspondence between a solution VV^{\prime} and a solution for the FCT-S instance. Assume we are given a set VVV^{\prime}\subseteq V that dominates UU in the bipartite graph (V,U,E)(V,U,E); we define a solution to the FCT-S instance with cost |V||V^{\prime}|. For every vVVv\in V\setminus V^{\prime}, we sent nn units flow from voutv_{\mathrm{out}} to vinv_{\mathrm{in}}; this will satisfy the supplies and demands on the two vertices. Every uUu\in U is dominated by some vVv\in V^{\prime}, and we sent one unit flow from voutv_{\mathrm{out}} to uu for this vv. Notice that every voutv_{\mathrm{out}} has nn units supply, which is sufficient for the demands from UU. For every vVv\in V^{\prime}, the remaining unused supply will be sent to vinv_{\mathrm{in}}. After this, the unsatisfied demand at vinv_{\mathrm{in}} will be satisfied by ss^{*}. The cost of this solution is at most |V||V^{\prime}|, as we only send positive flows from ss^{*} to vinv_{\mathrm{in}} for vVv\in V^{\prime}.

Now focus on a feasible solution to the FCT-S instance. Let VV^{\prime} be the set of vertices vVv\in V with positive flow sent from ss^{*} to vinv_{\mathrm{in}}; so the cost of the solution is |V||V^{\prime}|. Then for every vVVv\in V\setminus V^{\prime}, there is no flow sent from ss^{*} to vinv_{\mathrm{in}}, and thus nn units flow sent from voutv_{\mathrm{out}} to vinv_{\mathrm{in}}. This implies that there is no flow sent from voutv_{\mathrm{out}} to UU. Therefore, all the demands at UU are satisfied by {vout:vV}\{v_{\mathrm{out}}:v\in V^{\prime}\}. Therefore, VV^{\prime} dominates UU.

We then finish the proof of Theorem 6. To avoid confusion, we use NN and MM to denote the numbers of sources and sinks in the FCT-S instance we construct, and nn and mm to denote the numbers of elements and sets in the given Set Cover instance. The hard Set-Cover instances of [34] have m=poly(n)m=\mathrm{poly}(n). Given the Set Cover instance with nn elements and m=poly(n)m=\mathrm{poly}(n) sets, we constructed FCT-S instance with N:=n+1N:=n+1 sources and M:=m+nM:=m+n sinks. If cc is small enough, then cln(max{N,M})=cln(m+n)0.9lnnc\ln(\max\{N,M\})=c\ln(m+n)\leq 0.9\ln n. Then a cln(max{N,M})c\ln(\max\{N,M\})-approximation for FCT-S implies a 0.9lnn0.9\ln n-approximation for Set Cover, contradicting the (1ϵ)lnn(1-\epsilon)\ln n-hardness result of [34].

Appendix C Bi-Criteria Approximation for Fixed Charge Transportation (FCT)

In this section, we prove Theorem 9 by giving the bicriteria-approximation for the FCT problem. Define pij=min{ai,bj}p_{ij}=\min\{a_{i},b_{j}\} for every iS,jTi\in S,j\in T. We solve the LP of minimizing iS,jT(cij+fijpij)xij\sum_{i\in S,j\in T}\big{(}c_{ij}+\frac{f_{ij}}{p_{ij}}\big{)}x_{ij} subject to x𝒳x\in\mathcal{X}. Then for every iS,jTi\in S,j\in T, we define yij:=xijpij[0,1]y_{ij}:=\frac{x_{ij}}{p_{ij}}\in[0,1].

The support of yijy_{ij} is a forest. WLOG, we assume it is a tree 𝐓\mathbf{T}; if this is not the case, we can consider each tree separately. We shall get a new solution yy^{\prime} as follows. We root 𝐓\mathbf{T} at an arbitrary vertex in STS\cup T. Focus on every vv and all its child edges EE^{\prime}. We define (a|b)v(a|b)_{v} to be ava_{v} if vSv\in S, or bvb_{v} if vTv\in T. The vector y|Ey^{\prime}|_{E^{\prime}} satisfies the following properties:

  • ye=yey^{\prime}_{e}=y_{e} if yeϵy_{e}\geq\epsilon,

  • ye{0,ϵ}y^{\prime}_{e}\in\{0,\epsilon\} if ye<ϵy_{e}<\epsilon,

  • eEpeyeeEpeye(ϵ(a|b)v,0]\sum_{e\in E^{\prime}}p_{e}y^{\prime}_{e}-\sum_{e\in E^{\prime}}p_{e}y_{e}\in(-\epsilon\cdot(a|b)_{v},0], and

  • eE(cepe+fe)yeeE(cepe+fe)ye\sum_{e\in E^{\prime}}(c_{e}p_{e}+f_{e})y^{\prime}_{e}\leq\sum_{e\in E^{\prime}}(c_{e}p_{e}+f_{e})y_{e}.

That is, if ye[ϵ,1]y_{e}\in[\epsilon,1], we then keep it unchanged. Otherwise, ye[0,ϵ)y_{e}\in[0,\epsilon) and we need to change it to either 0 or ϵ\epsilon. We can do this without changing eEpeye\sum_{e\in E^{\prime}}p_{e}y_{e} or increasing eE(cepe+fe)ye\sum_{e\in E^{\prime}}(c_{e}p_{e}+f_{e})y_{e}, until when there is at most one edge eEe\in E^{\prime} with ye(0,ϵ)y_{e}\in(0,\epsilon). Then we simply change yey_{e} to 0. This will not increase eE(cepe+fe)ye\sum_{e\in E^{\prime}}(c_{e}p_{e}+f_{e})y_{e}, and eEpeye\sum_{e\in E^{\prime}}p_{e}y^{\prime}_{e} will be decreased by at most ϵpeϵ(a|b)v\epsilon p_{e}\leq\epsilon(a|b)_{v}. So the four properties can be satisfied.

Once we obtain the vector yy^{\prime}, we can define xij=pijyijx^{\prime}_{ij}=p_{ij}y^{\prime}_{ij} for every iS,jTi\in S,j\in T. We output xx^{\prime} as our solution. For every iSi\in S, we have jTpijyijjTpijyijϵai\sum_{j\in T}p_{ij}y^{\prime}_{ij}-\sum_{j\in T}p_{ij}y_{ij}\leq\epsilon a_{i}, where the difference can only come from the parent edge of ii. On the other hand,

jTpijyijjTpijyijϵai+ϵai=2ϵai.\displaystyle\sum_{j\in T}p_{ij}y_{ij}-\sum_{j\in T}p_{ij}y^{\prime}_{ij}\leq\epsilon\cdot a_{i}+\epsilon\cdot a_{i}=2\epsilon\cdot a_{i}.

The first ϵai\epsilon\cdot a_{i} comes from the parent edge of ii, and the second one comes from the child edges. Notice that jTpijyij=jTxij=ai\sum_{j\in T}p_{ij}y_{ij}=\sum_{j\in T}x_{ij}=a_{i}. Therefore, for every iSi\in S, we have

jTxij=jTpijyij((12ϵ)ai,(1+ϵ)ai].\displaystyle\sum_{j\in T}x^{\prime}_{ij}=\sum_{j\in T}p_{ij}y^{\prime}_{ij}\in((1-2\epsilon)a_{i},(1+\epsilon)a_{i}].

Similarly, for every jTj\in T, we have

iSxij[(12ϵ)bj,(1+ϵ)bj].\displaystyle\sum_{i\in S}x^{\prime}_{ij}\in[(1-2\epsilon)b_{j},(1+\epsilon)b_{j}].

Therefore, we have a flow x0S×Tx^{\prime}\in\mathbb{R}_{\geq 0}^{S\times T} where the amount of flow sent by each iSi\in S is between (12ϵ)ai(1-2\epsilon)a_{i} and (1+ϵ)ai(1+\epsilon)a_{i}, and the flow received by each jTj\in T is between (12ϵ)bj(1-2\epsilon)b_{j} and (1+ϵ)bj(1+\epsilon)b_{j}. We can scale the all xx^{\prime} values within a factor between 11+ϵ\frac{1}{1+\epsilon} and 112ϵ\frac{1}{1-2\epsilon} so that

  • every source ii sends exactly aia_{i} units flow

  • every sink jj receives between 12ϵ1+ϵbj\frac{1-2\epsilon}{1+\epsilon}\cdot b_{j} and 1+ϵ12ϵbj\frac{1+\epsilon}{1-2\epsilon}\cdot b_{j} units of flow.

We can scale down the ϵ\epsilon value at the beginning so that in the end so that the flow received by each jj is within (1±ϵ)bj(1\pm\epsilon)b_{j}. The cost of xx^{\prime} to the FCT instance is at most O(1/ϵ)O(1/\epsilon) times its cost to the LP, which is at most O(1/ϵ)O(1/\epsilon) times the cost of optimum solution to the LP, which is at most O(1/ϵ)O(1/\epsilon) times the cost of the optimum solution to the FCT instance. This finishes the proof of Theorem 9.