Skip to main content
Log in

Fixed-Parameter Algorithms for Unsplittable Flow Cover

  • Published:
Theory of Computing Systems Aims and scope Submit manuscript

Abstract

The Unsplittable Flow Cover problem (UFP-cover) models the well-studied general caching problem and various natural resource allocation settings. We are given a path with a demand on each edge and a set of tasks, each task being defined by a subpath and a size. The goal is to select a subset of the tasks of minimum cardinality such that on each edge e the total size of the selected tasks using e is at least the demand of e. There is a polynomial time 4-approximation for the problem (Bar-Noy et al. STOC 2001) and also a QPTAS (Höhn et al. ICALP 2018). In this paper we study fixed-parameter algorithms for the problem. We show that it is W[1]-hard but it becomes FPT if we can slighly violate the edge demands (resource augmentation) and also if there are at most k different task sizes. Then we present a parameterized approximation scheme (PAS), i.e., an algorithm with a running time of \(f(k)\cdot n^{O_{\epsilon }(1)}\) that outputs a solution with at most (1 + 𝜖)k tasks or asserts that there is no solution with at most k tasks. In this algorithm we use a new trick that intuitively allows us to pretend that we can select tasks from OPT multiple times. We show that the other two algorithms extend also to the weighted case of the problem, at the expense of losing a factor of 1 + 𝜖 in the cost of the selected tasks.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. In the weighted case we look for a solution with at most k tasks of minimum total cost.

References

  1. Albers, S., Arora, S., Khanna, S.: Page replacement for general caching problems. In: SODA, vol. 99, pp 31–40. Citeseer (1999)

  2. Antoniadis, A., Hoeksma, R., Meißner, J., Verschae, J., Wiese, A.: A QPTAS for the general scheduling problem with identical release dates. In: Chatzigiannakis, I., Indyk, P., Kuhn, F., Muscholl, A. (eds.) 44th International Colloquium on Automata, Languages, and Programming (ICALP 2017), volume 80 of Leibniz International Proceedings in Informatics (LIPIcs). https://doi.org/http://drops.dagstuhl.de/opus/volltexte/2017/7457https://doi.org/10.4230/LIPIcs.ICALP.2017.31 Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, pp 31:1–31:14, Dagstuhl, Germany (2017)

  3. Bansal, N., Chakrabarti, A., Epstein, Schieber, B.: A quasi-PTAS for unsplittable flow on line graphs. In: Proceedings of the 38th Annual ACM Symposium on Theory of Computing (STOC 2006), pp 721–729. ACM (2006)

  4. Bansal, N., Krishnaswamy, R., Saha, B.: On capacitated set cover problems. In: Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques, pp 38–49. Springer (2011)

  5. Bar-Noy, A., Bar-Yehuda, R., Freund, A., Naor, J., Schieber, B.: A Unified Approach To Approximating Resource Allocation and Scheduling, vol. 48, pp 1069–1090. ACM, New York (2001). https://doi.org/10.1145/502102.502107

    MATH  Google Scholar 

  6. Batra, J., Garg, N., Kumar, A., Mömke, T., Wiese, A.: New approximation schemes for unsplittable flow on a path. In: Proceedings of the 26th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2015). https://doi.org/10.1137/1.9781611973730.5, pp 47–58 (2015)

  7. Bazgan, C.: Schémas d’approximation et Complexité Paramétrée, Rapport du stage (DEA) Technical report Universitée Paris Sud (1995)

  8. Belady, L.A.: A study of replacement algorithms for a virtual-storage computer. IBM Syst. J. 5(2), 78–101 (1966)

    Article  Google Scholar 

  9. Bonsma, P., Schulz, J., Wiese, A.: A constant-factor approximation algorithm for unsplittable flow on paths. SIAM J. Comput. 43, 767–799 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  10. Cai, L., Huang, X.: Fixed-parameter approximation: Conceptual framework and approximability results. In: Proceedings of Parameterized and Exact Computation, Second International Workshop, IWPEC 2006, Zürich, Switzerland, September 13-15, 2006. https://doi.org/10.1007/11847250_9, pp 96–108 (2006)

  11. Carr, R.D., Fleischer, L.K., Leung, V.J., Phillips, C.A.: Strengthening integrality gaps for capacitated network design and covering problems. In: Proceedings of the 11th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2000), Society for Industrial and Applied Mathematics, pp 106–115 (2000)

  12. Cesati, M., Trevisan, L.: On the efficiency of polynomial time approximation schemes. Inf. Process. Lett. 64(4), 165–171 (1997). https://doi.org/10.1016/S0020-0190(97)00164-6

    Article  MathSciNet  MATH  Google Scholar 

  13. Chakrabarty, D., Grant, E., Könemann, J.: On column-restricted and priority covering integer programs. In: International Conference on Integer Programming and Combinatorial Optimization, pp 355–368. Springer (2010)

  14. Chen, Y., Grohe, M., Grüber, M.: On parameterized approximability. In: Proceedings of Parameterized and Exact Computation, Second International Workshop, IWPEC 2006, Zürich, Switzerland, September 13-15, 2006. https://doi.org/10.1007/11847250_10, pp 109–120 (2006)

  15. Cheung, M., Mestre, J., Shmoys, D.B., Verschae, J.: A primal-dual approximation algorithm for min-sum single-machine scheduling problems. SIAM J. Discret. Math. 31(2), 825–838 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  16. Chrobak, M., Woeginger, G., Makino, K., Xu, H.: Caching is hard, even in the fault model. In: ESA, pp 195–206 (2010)

  17. Cristi, A., Wiese, A.: Better approximations for general caching and UFP-cover under resource augmentation. Unpublished (2019)

  18. Downey, R.G., Fellows, M.R., McCartin, C.: Parameterized approximation problems. In: Proceedings of Parameterized and Exact Computation, Second International Workshop, IWPEC 2006, Zürich, Switzerland, September 13-15, 2006. https://doi.org/10.1007/11847250_11, pp 121–129 (2006)

  19. Feldmann, A.E., Karthik, C.S., Lee, E., Manurangsi, P.: A survey on approximation in parameterized complexity hardness and algorithms. Algorithms 13(6), 146 (2020). https://doi.org/10.3390/a13060146

    Article  MathSciNet  Google Scholar 

  20. Fellows, M.R., Koblitz, N.: Fixed-parameter complexity and cryptography. In: International Symposium on Applied Algebra, Algebraic Algorithms, and Error-Correcting Codes, pp 121–131. Springer (1993)

  21. Franaszek, P.A., Wagner, T.J.: Some distribution-free aspects of paging algorithm performance. J ACM 21(1), 31–39 (1974). https://doi.org/10.1145/321796.321800

    Article  MathSciNet  MATH  Google Scholar 

  22. Grandoni, F., Mömke, T., Andreas, W., Zhou, H.: To augment or not to augment: Solving unsplittable flow on a path by creating slack. In: Proc. of the 28th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2017). To appear (2017)

  23. Grandoni, F., Mömke, T., Wiese, A., Zhou, H.: A (5/3+ε)-approximation for unsplittable flow on a path: placing small tasks into boxes. In: Proceedings of the 50th Annual ACM Symposium on Theory of Computing (STOC 2018), pp 607–619. ACM (2018)

  24. Höhn, W., Mestre, J., Wiese, A.: How unsplittable-flow-covering helps scheduling with job-dependent cost functions. Algorithmica 80(4), 1191–1213 (2018)

    Article  MathSciNet  MATH  Google Scholar 

  25. Irani, S.: Page replacement with multi-size pages and applications to web caching. In: Proceedings of the Twenty-ninth Annual ACM Symposium on Theory of Computing, pp 701–710. ACM (1997)

  26. Lokshtanov, D., Panolan, F., Ramanujan, M.S., Saurabh, S.: Lossy kernelization. In: Proceedings of the 49th Annual ACM SIGACT Symposium on Theory of Computing (STOC 2017), pp 224–237. ACM (2017)

  27. Marx, D.: Parameterized complexity and approximation algorithms. Comput. J. 51(1), 60–78 (2008). https://doi.org/10.1093/comjnl/bxm048

    Article  Google Scholar 

  28. Sloper, C., Telle, J.A.: An overview of techniques for designing parameterized algorithms. Comput. J. 51(1), 122–136 (2008)

    Article  Google Scholar 

  29. Wiese, A.: A (1+epsilon)-approximation for unsplittable flow on a path in fixed-parameter running time. In: 44th International Colloquium on Automata, Languages, and Programming, ICALP 2017, pp 67:1–67:13 (2017)

Download references

Funding

Andrés Cristi Supported by CONICYT-PFCHA/Doctorado Nacional/2018-21180347. Andreas Wiese Partially supported by FONDECYT Regular grants 1170223 and 1200173.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrés Cristi.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This article belongs to the Topical Collection: Special Issue on Theoretical Aspects of Computer Science (STACS 2020) Guest Editors: Christophe Paul and Markus Bläser

Appendix : A: Reduction from Generalized Caching in the Fault Model

Appendix : A: Reduction from Generalized Caching in the Fault Model

A reduction from generalized caching in the fault model to UFP-cover was given in [1, 5]. For completeness we present the reduction here using our notation. In the fault model of general caching we are given a value \(M\in {\mathbb {N}}\) that denotes the size of the cache and we are given a set of pages \(\mathcal {P}\). Each page \(q\in \mathcal {P}\) has a (not necessarily unit) size \(s(q)\in {\mathbb {N}}\). Also we are given a set of requests \(\mathcal {R}\) where each request \(j\in \mathcal {R}\) is characterized by a time tj ≥ 0 and a page \(q_{j} \in \mathcal {P}\) meaning that at time tj the page qj has to be present in the cache. The goal is to decide at what times we bring each page into the cache in order to minimize the total number of these transfers, assuming that initially the cache is empty. We show here how to reduce this problem to UFP-cover with unit weights.

Lemma 28

Given an instance \((\mathcal {P},\mathcal {R},M)\) of general caching in the fault model, in polynomial time we can compute an instance (V,E,T,u) of UFP-cover such that for any solution to \((\mathcal {P},\mathcal {R},M)\) with cost C, there is a solution \(T^{\prime }\subseteq T\) to (V,E,T,u) with \(|T^{\prime }|=C\), and vice versa.

Proof

W.l.o.g. we can restrict ourselves to solutions of \((\mathcal {P},\mathcal {R},M)\) where each page enters the cache only when it is requested and leaves the cache only right after it is requested, and to instances where each page is requested at least once and \(M< {\sum }_{q\in \mathcal {P}} s(q)\). Thus, a solution is completely defined by deciding at each point in time whether we evict the page that was just requested or whether we keep it in the cache until it is requested again. We construct the path (V,E) by defining one edge e(t) for each time t such that there is a request \(j\in \mathcal {R}\) with tj = t, and ordering the edges on the path by increasing values of t. For defining the tasks T, we initialize T := . Then, for every page \(q\in \mathcal {P}\) and every pair j1,j2R of consecutive requests of page q, we add a task i(j1,j2) to T with size \(p_{i(j_{1},j_{2})} = s(q)\). The subpath \(P_{i(j_{1},j_{2})}\) is the one that starts in the right vertex of \(e(t_{j_{1}})\) and ends in the left vertex of \(e(t_{j_{2}})\). We define the demand of the edge e(t) to be \(u_{e(t)}= p(T_{e(t)}) - M + {\sum }_{j\in R: t_{j}=t} s(q_{j})\) for every time t. We also add an extra edge e0 at the left of E with capacity \(u_{e_{0}}={\sum }_{q\in \mathcal {P}} s(q)\) and we add a task \(i^{*}_{q}\) with \(P_{i^{*}_{q}}= \{e_{0}\}\) and \(p_{i^{*}_{q}}= s(q)\) for each page \(q\in \mathcal {P}\). The cost of these tasks is exactly the total cost of loading each page into the cache once, i.e., the first time that the respective page is requested.

Given a solution to \((\mathcal {P},\mathcal {R},M)\), we construct a solution \(T^{\prime }\) for (V,E,T,u) in the following way. For every page q and every pair of consecutive requests j1,j2 of page q, we add i(j1,j2) to \(T^{\prime }\) if and only if page q is evicted from (and therefore re-loaded into) the cache between \(t_{j_{1}}\) and \(t_{j_{2}}\). We also add \(i^{*}_{q}\) to \(T^{\prime }\) for all \(q\in \mathcal {P}\). It is clear that \(|T^{\prime }|\) is exactly the number of times a page is brought into the cache in the original solution. We now check that \(T^{\prime }\) is a feasible solution. Consider an edge e(t) ∈ E. Then \(p(T_{e(t)}\setminus T^{\prime })\) is the sum of sizes of the pages that are in the cache at time t that are not requested exactly at time t. The total size of all pages in the cache is at most M, so \(p(T_{e(t)}\setminus T^{\prime })+ {\sum }_{j\in R: t_{j}=t} s(q_{j})\leq M\). Then, as \(p(T_{e(t)}) = p(T_{e(t)}\cap T^{\prime }) + p(T_{e(t)}\setminus T^{\prime })\) and \(u_{e(t)} = p(T_{e(t)}) - M + {\sum }_{j\in R: t_{j}=t} s(q_{j})\) we conclude that \(p(T^{\prime }\cap T_{e(t)})\geq u_{e(t)}\). Also it holds by construction that \(p(T^{\prime }\cap T_{e_{0}})=u_{e_{0}}\).

Let now \(T^{\prime }\) be a feasible solution to (V,E,T,u). Of course \(i^{*}_{q}\in T^{\prime }\) for all \(q\in \mathcal {P}\). This accounts for the first time each page is brought into the cache. We construct a solution \(S^{\prime }\) to \((\mathcal {P},\mathcal {R},M)\) as follows. For every page q and every pair of consecutive requests j1,j2 of page q we keep page q in the cache between \(t_{j_{1}}\) and \(t_{j_{2}}\) if and only if \(i(j_{1},j_{2})\not \in T^{\prime }\). Thus, for each element in \(T^{\prime }\) we have to bring a page into the cache once, and then the cost of the solution is exactly \(|T^{\prime }|\). We have to check that the size of the pages in the cache never exceeds M in \(S^{\prime }\). In fact, note that the total size of the pages in the cache at time t is \(p(T_{e(t)}\setminus T^{\prime }) +{\sum }_{j\in R: t_{j}=t} s(q_{j})\). But \(p(T_{e(t)}\cap T^{\prime })\geq u_{e(t)}\), and therefore,

$$ \begin{array}{@{}rcl@{}} p(T_{e(t)}\cap T^{\prime}) &\geq& p(T_{e(t)}) - M + \sum\limits_{j\in R: t_{j}=t} s(q_{j}) \\ \Leftrightarrow\qquad \qquad \qquad M &\geq & p(T_{e(t)}) +p(T_{e(t)}\cap T^{\prime})+ \sum\limits_{j\in R: t_{j}=t} s(q_{j})\\ \Leftrightarrow\qquad\qquad\qquad M &\geq& p(T_{e(t)}\setminus T^{\prime}) +\sum\limits_{j\in R: t_{j}=t} s(q_{j}) . \end{array} $$

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Cristi, A., Mari, M. & Wiese, A. Fixed-Parameter Algorithms for Unsplittable Flow Cover. Theory Comput Syst 67, 89–124 (2023). https://doi.org/10.1007/s00224-021-10048-7

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00224-021-10048-7

Keywords

Navigation