European Commission logo
English English
CORDIS - EU research results
CORDIS

Technology Transfer between Integer Programming and Efficient Algorithms

Periodic Reporting for period 2 - TIPEA (Technology Transfer between Integer Programming and Efficient Algorithms)

Reporting period: 2021-06-01 to 2022-11-30

TIPEA is a project in theoretical computer science that seeks a deeper understanding of fundamental optimization problems such as Subset Sum, Knapsack, and more generally Integer Programming. These problems arise in everyday situations such as finding out which lectures can be attended without collision, as well as in less commonplace areas such as post-quantum cryptography, where the hardness of Subset Sum is used to design software that is secure against quantum computers. Since modern solvers can handle industrial instances with up to millions of variables despite the problem being NP-hard, Integer Programming has become a vital tool for industry. The goal of this project is to utilize recent advances in theoretical computer science to design faster, and in many cases best-possible algorithms for these fundamental optimization problems, in order to lay the foundations for next-generation industrial solvers. To this end, we develop an algorithm design approach consisting of (1) modern algorithmic techniques such as dynamic or sublinear-time algorithms to design faster subroutines, (2) mathematical structure theory such as additive combinatorics to gain problem insights, and (3) the recently developed fine-grained complexity theory to establish that our algorithms are best-possible. We apply this approach to open problems on exact, parameterized, and approximation algorithms for Subset Sum, Knapsack, and Integer Programming. Conversely, we also utilize the insights of practical integer programming solvers to obtain highly-efficient implementations for problems from different domains.
During the reporting period we developed our general algorithm design approach and primarily applied it to the Subset Sum problem. Our main results in this direction are as follows:
- We designed improved output-sensitive algorithms for Subset Sum, where the running time depends on the output size. [Bringmann, Nakos STOC'20]
- We determined the best-possible running time for approximating Subset Sum. [Bringmann, Nakos SODA'21]
- We classified in which situations Subset Sum can be solved in near-linear time. [Bringmann, Wellnitz SODA'21]
- We improved the space requirements of Schroeppel and Shamir's classic Subset Sum algorithm. [Nederlof, Wegrzycki STOC'21]
- We designed improved algorithms for Sparse Convolution, a subroutine that is frequently used in modern Subset Sum algorithms. [Bringmann, Fischer, Nakos STOC'21, Bringmann, Nakos ICALP'21]

Beyond these main results, we demonstrated the usefulness of our algorithm design approach on exemplary problems from various other problem areas besides optimization, for example:
- On strings: We designed improved approximation algorithms for the Edit Distance problem. [Bringmann, Cassis, Fischer, Nakos STOC'22, Bringmann, Cassis, Fischer, Nakos ICALP'22]
- On graphs: We proved new fine-grained complexity lower bounds for distance oracles and cycle detection. [Abboud, Bringmann, Khoury, Zamir STOC'22]
- On geometry: We showed fine-grained complexity lower bounds for computing the translation-invariant Hausdorff distance between point sets. [Bringmann, Nusser SoCG'21]
- On databases: We determined the optimal time complexity for direct access on join queries. [Bringmann, Carmeli, Mengel PODS'22]

On the implementation side of the project we have:
- Designed and implemented practical algorithms for translation-invariant curve similarity measures. [Bringmann, Künnemann, Nusser ESA'20]
One of the driving questions of this project is whether Subset Sum can be solved faster than by the standard meet-in-the-middle approach; resolving this question would be a major breakthrough. Besides this grand goal, the project will tackle several open problems on exact, parameterized, and approximation algorithms for fundamental optimization problems such as:
- Determine the optimal running time of approximation schemes for the Partition and for the Knapsack problem.
- Design improved exact algorithms for Subset Sum and Knapsack in terms of standard parameters.
- Apply the same algorithm design approach to different classes of Integer Programming, to explore whether our results for Subset Sum can be generalized.
On the implementation side of the project in particular we hope to:
- Implement a further improved curve similarity algorithm that achieves comparable running time to a memory access in RAM.
project overview