New Algorithm for Combinatorial n-Folds and Applications
Abstract
Block-structured integer linear programs (ILPs) play an important role in various application fields. We address -fold ILPs where the matrix has a specific structure, i.e., where the blocks in the lower part of consist only of the row vectors . In this paper, we propose an approach tailored to exactly these combinatorial -folds. We utilize a divide and conquer approach to separate the original problem such that the right-hand side iteratively decreases in size. We show that this decrease in size can be calculated such that we only need to consider a bounded amount of possible right-hand sides. This, in turn, lets us efficiently combine solutions of the smaller right-hand sides to solve the original problem. We can decide the feasibility of, and also optimally solve, such problems in time where is the number of blocks, the number of rows in the upper blocks and .
We complement the algorithm by discussing applications of the -fold ILPs with the specific structure we require. We consider the problems of (i) scheduling on uniform machines, (ii) closest string and (iii) (graph) imbalance. Regarding (i), our algorithm results in running times of matching a lower bound derived via ETH. For (ii) we achieve running times matching the current state-of-the-art in the general case. In contrast to the state-of-the-art, our result can leverage a bounded number of column-types to yield an improved running time. For (iii), we improve the parameter dependency on the size of the vertex cover.
Keywords and phrases:
integer linear programming, n-fold, parameterized complexity, scheduling, uniform machinesCopyright and License:
2012 ACM Subject Classification:
Theory of computation Parameterized complexity and exact algorithms ; Theory of computation Design and analysis of algorithmsAcknowledgements:
We thank Martin Koutecký for the helpful discussions regarding the topic of .Funding:
Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – Project numbers 453769249 and 528381760.Editors:
Akanksha Agrawal and Erik Jan van LeeuwenSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
At an abstract level, computer science is about solving hard problems. In a seminal work, Karp formulated a list of twenty-one NP-hard problems [24]. Among these is the problem of integer linear programming. An integer linear program (ILP) in standard form is defined by
with constraint matrix , right-hand side (RHS) and objective function vector The constraints and the objective function are required to be linear functions. Such integer programs have been the subject of vast amounts of research, such as [35, 22, 36, 21], with the latter two results representing the current state of the art of running times regarding and respectively. However, with integer programming being an NP-hard problem, research has flourished into different structures of integer programs, which utilize a more specific structure to yield improved running times. One such structure is the -fold ILP.
-fold ILP
Let . An -fold ILP is an integer linear program with RHS vector and with a constraint matrix of the form
where and are matrices, and is the desired solution. In other words, if we delete the first constraints, which are called the global constraints, the problem decomposes into independent programs, which are called local. If is the largest absolute value in and , -fold integer programs can be solved in time [8]. This algorithm comes as the latest development in a series of improvements spanning almost twenty years [1, 8, 9, 32, 10, 16, 20, 30]. -fold integer programs have already found applications in countless problems, often yielding improved running times over other techniques. As the total number of applications is too large, we refer the reader to [7, 32, 14, 19, 25, 26, 28] for some examples.
In the following, we focus on combinatorial -fold ILPs where we allow blocks of different width, i.e., is a vector and therefore, the block has columns. Also, we have for all which implies . Thus, we have the following ILP
| () |
with for all , and where is the total number of columns in . The currently best known algorithms for such combinatorial -fold ILPs have parameter dependency [8, 28]. In our work, we often consider the upper part of the vector differently from its lower part. Therefore, we introduce the following notation: with and . Also, define and .
Our contribution
In this paper, we provide a novel approach to solving such combinatorial -fold ILPs. While the idea of the algorithm we provide is inspired by Jansen and Rohwedder [21], we note that we utilize the structure of -fold ILPs to generate different techniques to split solutions apart into smaller sub-solutions. Using these techniques, we achieve the following result.
Theorem 1.
Comparatively, the algorithm in [21] yields a running time of when applied to our setting, while the state-of-the-art algorithm [8] achieves a running time of .
To complement the general techniques we provide to solve combinatorial -fold ILPs, we show how our result can be applied to common problems. First, we consider scheduling on uniform machines with the objective of makespan minimization and Santa Claus . After publication of a preliminary version of our results, Rohwedder [37] recently bounded by for , where is the largest processing time. They also provide an (almost) tight algorithm for with running time , where is the number of job-types, is the total number of columns in the configuration ILP and is the total number of machines. Replacing a subroutine in [37] by our algorithm improves their result to , where i.e., we achieve a better result with respect to parameter and . This answers the open question by Koutecký and Zink in [31]. They pose the question whether can be solved in time . In more detail, the calculation of the Multi-Choice IP in [37] has a running time of , while our -fold algorithm runs in , i.e., solves these Multi-Choice IPs more quickly.
We also manage to extend these techniques to This yields running times that are (almost) tight by an ETH-lower bound.
Theorem 2.
and can be solved in time .
We also apply our algorithm to the Closest String problem and the Imbalance problem (see Section 4 for formal definitions). The current best running times [28] for both problems have a quadratic dependency of in the exponent, where is the number of considered strings (Closest String), respectively the size of the vertex cover (Imbalance). When the number of column-types (Closest String), respectively vertex-types (Imbalance) is bounded by , our algorithm achieves the following results.
Corollary 3.
The Closest String problem can be solved in time .
Corollary 4.
The Imbalance problem with vertices can be solved in time , where is the size of a vertex cover and is the number of vertex-types.
Generally, is bounded by for Closest String. In this case, we meet the state-of-the-art parameter dependency. For Imbalance, may take any integer value up to . The resulting parameter dependency of improves on the state-of-the-art which is the application of [28] to the problem. Additionally, when is bounded by , we are able to reduce the dependency in the exponent to linear for both problems. When applying Rohwedder’s algorithm for the Multi-Choice IP [37, Theorem 2] to those problems, the resulting running times are , where is the upper bound on string distance (Closest String) and (Imbalance).
We expect that our techniques can be extended to several other problems that can be formulated as a combinatorial -fold ILP as well, such as the string problems given in [28].
Related Work
Integer linear programming is one of the twenty-one problems originally proven to be NP-hard by Karp in his seminal work [24]. Since then, ILPs have been used to solve countless NP-hard problems, for examples see e.g. [14]. The currently best known running times can be separated by their parameterization. When considering a small number of constraints , the best known running time is given by Jansen and Rohwedder [21], and runs in time For a small number of variables , the current best known algorithm is given by Reis and Rothvoss [36], with a running time of .
With the general ILP being a hard problem, research into certain substructures that are more easily solvable began. For an overview of this process, see e.g., [11, 14]. Of particular interest to this paper is the -fold ILP, whose current best known algorithm is given by Cslovjecsek, Eisenbrand, Hunkenschröder, Rohwedder and Weismantel [8]. Their algorithm runs in time and is the latest result in a series of improvements that spans close to twenty years, see [9, 32, 10, 16, 20, 30] for works complementing this line of research.
Scheduling is one of the most well-known operations research problems. We now specifically turn towards uniform machines. By formulating the problem as an -fold ILP, Knop and Koutecký [29] showed that can be solved in time if the number of machines is encoded in unary. By solving a relaxation to schedule many of the jobs in advance and then applying a dynamic program, Koutecký and Zink [31] improved this to , still with the number of machines encoded in unary. Leveraging the huge--fold machinery, Knop et al. [27] get rid of the assumption on and obtain a -time algorithm. Koutecký and Zink [31] pose the open question whether the dependency for the objective can be improved, as it has been for identical machines. In a recent result, Rohwedder [37] gives an algorithm for running in time We note that our work has been compiled independently and prior to Rohwedders result, but we can leverage his novel ideas to reduce the value of to guarantee a similar result. Chen, Jansen and Zhang show that, for a given makespan , there is no algorithm solving in time [6]. Jansen, Kahler and Zwanger extended these results to derive a lower bound of [18]. As is a generalization of , these results extend to it.
Regarding the Closest String problem with input strings of length , Gramm et al. [15] formulated the problem as an ILP of dimension . This led to an algorithm with running time . Knop et al. [28] improved this double-exponential dependency to the currently best known algorithm with running time . Rohwedder and Węgrzycki [38] showed that the Closest String problem (with binary alphabet) cannot be solved in time with unless the ILP Hypothesis fails. The ILP Hypothesis states that for every , there is no -time algorithm for ILPs with .
Imbalance is known to be NP-complete for various special graph classes [4, 23]. Fellows, Lokshtanov, Misra, Rosamond and Saurabh [13] showed that the problem is fixed-parameter tractable (FPT) parameterized by the size of the vertex cover. Their algorithm has a double exponential running time. There also exist FPT algorithms for this problem parameterized by other parameters, for instance imbalance [33], neighborhood diversity [2] and the combined parameter of treewidth and maximum degree [33]. Misra and Mittal [34] showed that Imbalance is in XP when parameterized by twin cover, and FPT when parameterized by the twin cover and the size of the largest clique outside the twin cover.
2 Overview
In this section, we give an overview of the paper and the techniques within. We begin by giving some concepts essential to the functionality of our algorithm. Then, we prove the feasibility version of Theorem 1 under the assumption that contains only non-negative entries. At its core, we use a divide and conquer approach to separate the entire problem into smaller sub-problems, which we can then solve more quickly via dynamic programming. Then, we combine these small solutions such that they solve iteratively larger sub-problems, again requiring a novel structural result to show that such combinations are feasible. A core strength of this dynamic programming formulation and approach is that we only need to solve the dynamic program once for each recombination step. This procedure can be iterated until we have solved the entire -fold ILP. After that, we show how we can reduce the general problem which also allows negative coefficients to the special case where is non-negative. After that, we prove Theorem 1.
The algorithm we provide is complemented by a discussion on its applications to relevant problems. We begin this by elaborating on the problem of scheduling on uniform machines in Section 4. Here, we can adapt some novel concepts to our techniques such that we achieve a running time that is (almost) tight according to a lower bound derived via the exponential time hypothesis. This yields Theorem 2. Finally, in the full version [17] we provide a brief outlook onto other relevant problems, the Closest String problem which results in Corollary 3 and the Imbalance problem which results in Corollary 4.
The full proofs as well as omitted statements can be found in the full version [17].
Preliminaries
Before we define concepts essential to the algorithm and its functionality, we first specify some notation. We denote and use base 2 logarithms, i.e., we assume A vector that contains a certain value in all entries is stylized, e.g. the zero vector is written as We omit the dimension if it is apparent from the context. For vector we refer to its maximum value with The support of a -dimensional vector is the set of its indices with a non-zero entry. It is denoted by We define a brick as the -th block of the solution vector of , i.e., we have with for all
Support of a Solution
By applying the result by Eisenbrand and Shmonin [12, Theorem 1 (ii)] to the -fold ILP, one can show the following support bound:
Lemma 5.
Proof.
Let be a solution to . Then for each , the ILP
is feasible and we can apply the support bound by Eisenbrand and Shmonin [12, Theorem 1 (ii)]. Hence, there exists a solution with Combining these solutions for all yields a solution with the desired property.
Note that this bound only holds for the feasibility problem. Using the support bound by Eisenbrand and Shmonin [12, Corollary 5 (ii)], the same technique achieves the following result . Other bounds, for instance [3], can also be applied in our approach and may achieve better results in specific application settings.
3 Combinatorial -fold Algorithm
On a high level, our algorithm implements an elegant idea. Instead of solving the – often times large – entire -fold ILP in one fell swoop, we manage to reduce it to a set of smaller problems, which we then use to solve the large problem. More specifically, we show that there exists a feasible solution to that can be constructed by doubling a solution near and adding the solution of a small sub-problem. This concept can be repeated iteratively, i.e., a solution near can be computed by doubling a solution near and adding the solution of another small sub-problem, and so on. We repeat this until the remaining problem only contains a small upper RHS . For an illustration of this process, see Figure 1. A core strength of this approach is that we only need to compute this dynamic program once for every iteration, independent of the amount of candidate solutions.
Taking a closer look, we use insights generated from the structure of our repeatedly doubled intermediary solutions to uniquely determine the lower RHS at every step of the algorithm. As we double solutions in each step, we can calculate the total number of iterations our algorithm needs. We denote this number by . Later in this section, we give the exact value of and provide a proof that our algorithm needs exactly iterations.
For any iteration , we denote the lower RHS by . In the first iteration, and every time we solve a small sub-problem, we know by Lemma 5 that the support of the individual bricks is bounded by
| (1) |
which also limits the upper RHS, which we refer to as , of these sub-problems. Later, we show how this bound is determined. The more detailed process is illustrated in Figure 2. Here, the continuous (blue) arrow contains the solution to the small sub-problem, while the dashed (red) arrow represents the doubling of an earlier solution.
We begin the description of our algorithm by showing that the lower RHS in each of these iterations is uniquely determinable. We further show that we can indeed find solutions close to each that can be doubled to produce a feasible solution. Finally, we show how to utilize these insights to construct a feasible schedule while only needing to iteratively solve small sub-problems.
3.1 Structure of Intermediary Solutions
In this section, we show that if is feasible, there exists a feasible upper RHS near , for all , which then can be extended to solve main -fold. We say that a RHS or upper RHS is feasible if and only if there exists a solution to . We bound the size of the RHS in the small sub-problems needed to be solved in order to extend these intermediary solutions in each step.
Within this section, we view the problem top-down, i.e., in each iteration we divide the problem into two sub-problems. The first sub-problem, which we call parity constrained, contains only even entries in its lower RHS Because of this, that sub-problem can then be divided in two equal parts which we solve inductively. We call the second sub-problem, with lower RHS , small. The small sub-problem fulfills and can therefore be solved efficiently using dynamic programming.
For a given iteration , we denote the RHS of the considered problem by Note that we have The division into the two sub-problems implies As we divide parity constrained problem into two equal problems and then repeat the procedure, we have . We ensure, that the upper RHS also contains only even entries.
With this notation in mind, we begin by determining the lower RHS values for each iteration and their sub-problems. To determine the value of the -th entry in the lower RHS of the small sub-problems , we consider the corresponding entry . If that entry is small, that is if , we set . This implies and . Therefore, for all following iterations this entry remains 0, i.e, and for all . However, if is large, that is if , we set to or such that is even. Thus, the parity constrained entry is larger than 0 and can be divided by 2. Now, set and repeat the procedure for the next smaller iteration.
More formally, for known value of we can derive as follows:
| (2) | ||||
The following lemmas derive that, despite of the uncertainty due to the parity-constraint, the lower RHS in each iteration can be uniquely determined from the input to .
Lemma 6 (✂).
Let and . Then is integer for all where values are determined by the procedure iteratively applying (2).
Using this property and (2), we achieve the desired result by elegantly formulating the term as a continued fraction and using a property of the geometric sum.
Lemma 7 (✂).
Let and . Then is determinable as
| (3) |
Proof Idea..
We determine the interval in which lies. The interval size is less than one. With Lemma 6, this implies the lemma.
We now focus on the case, when is large. Since we reduce the lower RHS in each entry by at most such that the remaining entries are even, the remaining lower RHS can be divided by two. However, this does not directly imply that we can split the complete ILP into two equal sub-ILPs, as the upper RHS might have odd entries. To provide this, we give a procedure on how to reduce the solution of the -fold within the iterations. We show that after the reduction, there exists a feasible solution for the remaining problem, which contains only even entries, which then implies that the complete RHS is even. Again, we make use of the support theorem (Lemma 5) of Eisenbrand and Shmonin [12, Theorem 1 (ii)]. Define
| (4) |
In the latter case, determine as follows (for details we refer to the full version [17], where we present a pseudocode description of this procedure).
-
1.
Set .
-
2.
For all odd entries in , add 1 to . This ensures the correct parity.
-
3.
Until equals the desired value or , add 2 to an arbitrary component , with Note that there always exists such entry as otherwise, we would have and the RHS of the remaining problem would be .
This procedure ensures that only consists of even components. Therefore, the RHS of such ILP does not have any odd entries. Therefore, the complete problem can be split into two equal sub-problems.
Using the previously described reduction strategies, we now deduce how the upper RHS changes during an iteration. As we do not know the solution of , the intermediate solutions are also unknown. Note that the described algorithm only gives a procedure to derive the current intermediate solution, assuming the prior one is known. Therefore, we cannot uniquely determine the upper RHS of the sub-problems. In the following, we often refer to a feasible RHS as a feasible upper RHS or point when is apparent from the context. Recall that it is enough to determine the feasible points near for all Now, we determine the size of the boxes in which a feasible point must lie if is feasible. For this purpose set The next lemma states that for given small lower RHS the size of the upper RHS is bounded by in each dimension (Figure 2).
Lemma 8 (✂).
Let with and assume is feasible. Then it holds that
With this property, we can derive the boxes with all relevant feasible upper RHS of the sub-problems. The center of the box in iteration is and the side length in each dimension is (Figure 2).
Lemma 9 (✂).
Let and assume is feasible. Then the following two properties hold:
-
(i)
For all there exists with and is feasible.
-
(ii)
There exists with and
This means that if there exists a feasible point near there also exists another feasible point near for all iterations We also find a feasible point near if there is a feasible point near Altogether, this gives us a path from to , with at least one feasible point near each for all
Now, we determine the total number of needed iterations by showing how to determine the number of iterations until the lower RHS equals . Let be the number of non-zero iterations of machine-type An iteration of machine-type is non-zero when
Lemma 10 (✂).
Let , Then the number of non-zero iterations can be determined by
Proof Idea..
We use (3) in Lemma 7 to determine the iteration with and As calculating is deterministic, this can be calculated uniquely.
Having determined the number of non-zero iterations of each machine-type, we can directly derive the total number of iterations as
Lemma 11 (✂).
For the total number of iterations it holds that
3.2 Solving the -fold ILP
In this section, we introduce an algorithm that determines the feasibility of the -fold ILP with only non-negative entries in . Combined with the reduction in Section 3.3, this results in the following:
Lemma 12.
Proof Idea..
In the preceding section we derived the property that we only have to solve small sub-problems (Lemma 8) and that we can combine their solutions in an efficient way to solve . We split the algorithm into two parts. In the preprocessing we generate solutions for all required small sub-problems. Then, we generate the final solution by combining the intermediate solutions. A detailed proof of both the dynamic program and the combining step can be found in the full version [17].
Preprocessing.
First, determine the number of non-zero iterations for all and the total number of iterations with Lemma 10 and Lemma 11. Then determine all required lower RHS and for all as described in Section 3.1. For each vector define the set of required upper RHS in iteration
The elements in can be calculated via dynamic programming (Algorithm 1). Instead of determining the feasibility of the complete -fold , we split it into its bricks. For each brick and upper RHS , we determine the feasibility of with . These feasible points are then combined into the set .
Input: Lower RHS
Output: Set of required points (upper RHS)
The feasibility of the small sub-problems (base case) can be determined using a standard ILP algorithm. Applying the Jansen-Rohwedder algorithm [21] yields a running time of
| (5) |
Combining the Solutions.
Having solved all small sub-problems, we are now able to iteratively derive the feasibility of . In the first iteration, set as the set of feasible points after this iteration. Note that for all it holds that is feasible.
In every other iteration we first double the solutions of the previous iteration and obtain the feasible ILP with and . Let be the set of feasible points after that step. We now construct the set of the feasible points after this iteration by combining all vectors in with all vectors in and only keep the ones close enough to (Lemma 9), i.e.,
Note again that for all it holds that is feasible.
Running Time.
The running time of the preprocessing is dominated by the dynamic program. In the worst case, it is called times. Creating the base table (BT) of the DP, we have to solve small sub-problems, each having a running time of (5). The dynamic program then constructs a dynamic table (DT) with entries. Each can be calculated by doing a boolean convolution using FFT which takes time (see e.g. [5]). With for all , the total running time for the preprocessing amounts to
The number of iterations, we need to combine the solutions is generally bounded by . However, if the upper RHS is relatively small in all entries, it becomes before does. In order to be feasible in that case, we only need to check whether a in each where the corresponding entry in the lower RHS is not 0, exists. Thus, these sub-problems are trivial to solve and therefore, we may say that we need iterations, where . Each set and contains at most vectors. Therefore, determining each set is possible in time With this yields a total running time of .
3.3 Allowing Negative Coefficients
In this section, we provide a linear-time reduction from a general combinatorial -fold ILP to an ILP of the same form which only allows non-negative entries in More concretely, we prove:
Lemma 13.
Proof.
Let . We construct as by adding to each entry in , i.e., , where is the entry in that is in the -th row and -th column (analogous notation for ). Since the absolute entries in are smaller than or equal to all entries in are non-negative and upper bounded by .
Now we show how the RHS is adapted. Note that the local constraints of define the 1-norm of the solution vectors, i.e., for all it holds that . Viewing the matrix-multiplication as summing up vectors (columns of the matrix), we are summing up exactly vectors. Therefore, by changing the constraint matrix as described above, we know that exactly are added to each entry of the upper RHS. Thus, we define as follows: For each set . Since the local constraints do not change, the lower RHS stays the same that is .
3.4 Solving the Optimization Problem
While we focused our discussions on the problem of deciding whether a feasible solution to a given combinatorial -fold exists, we note that some modifications further extend our results to finding an optimal solution according to some objective function, for instance . We need to adapt the upper bound on the support (Lemma 5) and the dynamic program (Algorithm 1) according to this new objective function. For , the running time of the dynamic program changes as follows: Instead of determining the feasibility of the small sub-problems in the base case, we need the optimal solution of those. The currently best algorithm by Jansen and Rohwedder [21] achieves a running time of . In the inductive step, we replace the boolean convolution with -convolution, which has generally has quadratic running time. This and the change of the support bound to does not affect the asymptotic running time which yields: See 1
4 Applying the Algorithm
To complete the discussion of our algorithm, we present exemplary applications of the algorithm to different contexts. Here, we introduce the considered problems, while we refer to the full version [17] for the detailed applications and resulting running times.
Scheduling on Uniform Machines
A scheduling instance is defined by the number of jobs with processing times and the number of machines with speed values This means that jobs of different sizes have to be scheduled on machines with different speeds. Since the processing times are integer, the total number of different job-types is bounded by Each job has to be executed on a single machine.
Let be the set of all machines. A schedule is a mapping that assigns all jobs to the available machines. The load of machine is the sum of the sizes of all jobs assigned to that machine by the schedule Assume has speed Then we define the completion time of machine by i.e., the time when machine has finished processing all jobs that were assigned to it by
The objective functions that we consider in this work are:
-
Makespan Minimization ():
-
Santa Claus ():
Closest String Problem
When considering the Closest String problem, we are given a set of strings of length from alphabet and an integer . The task is to find a string of length (called the “closest string”) such that the Hamming distance between and any string is at most . The Hamming distance for two equal-length strings is the number of positions at which they differ.
Imbalance Problem
The input to the Imbalance problem is an undirected graph with vertices. An ordering of the vertices in is a bijective function . For , we define neighborhood of by , the set of left neighbors and the set of right neighbors . Note that . The imbalance of at is defined as and the total imbalance of the ordering is . The aim is now to find an ordering that minimizes the total imbalance.
5 Conclusion
We have shown that we can solve combinatorial -fold ILPs in time Our algorithm builds on insights regarding the partition of the entire problem into smaller and smaller sub-problems, which we solve and use to reconstruct the entire problem in a novel manner. Complementing our algorithmic results, we present applications of our algorithm to the world of scheduling on uniform machines, the closest string problem and imbalance. In the case of scheduling on uniform machines, we can apply techniques to bound and achieve an algorithm with a running time matching a lower bound provided by the ETH for both makespan minimization and Santa Claus. For closest string our algorithm matches the current state of the art, but can, in contrast to existing algorithms, leverage bounded number of column-types to achieve improved running times. Finally, when applied to imbalance, our algorithm results in an improved running time over the state-of-the-art. For both closest string and imbalance our algorithm matches the current state of the art, but can, in contrast to existing algorithms, leverage bounded number of column/vertex types to achieve improved running times.
References
- [1] Matthias Aschenbrenner and Raymond Hemmecke. Finiteness theorems in stochastic integer programming. Foundations of Computational Mathematics, 7(2):183–227, 2007. doi:10.1007/S10208-005-0174-1.
- [2] Olav Røthe Bakken. Arrangement problems parameterized by neighbourhood diversity. Master’s thesis, University of Bergen, 2018.
- [3] Sebastian Berndt, Hauke Brinkop, Klaus Jansen, Matthias Mnich, and Tobias Stamm. New support size bounds for integer programming, applied to makespan minimization on uniformly related machines. In International Symposium on Algorithms and Computation (ISAAC), volume 283 of LIPIcs, pages 13:1–13:18, 2023. doi:10.4230/LIPICS.ISAAC.2023.13.
- [4] Therese Biedl, Timothy M. Chan, Yashar Ganjali, Mohammad Taghi Hajiaghayi, and David R. Wood. Balanced vertex-orderings of graphs. Discrete Applied Mathematics, 148(1):27–48, 2005. doi:10.1016/J.DAM.2004.12.001.
- [5] Karl Bringmann and Vasileios Nakos. Fast n-fold boolean convolution via additive combinatorics. In International Colloquium on Automata, Languages, and Programming, (ICALP), volume 198 of LIPIcs, pages 41:1–41:17, 2021. doi:10.4230/LIPICS.ICALP.2021.41.
- [6] Lin Chen, Klaus Jansen, and Guochuan Zhang. On the optimality of exact and approximation algorithms for scheduling problems. Journal of Computer and System Sciences, 96:1–32, 2018. doi:10.1016/J.JCSS.2018.03.005.
- [7] Lin Chen, Dániel Marx, Deshi Ye, and Guochuan Zhang. Parameterized and approximation results for scheduling with a low rank processing time matrix. In Symposium on Theoretical Aspects of Computer Science, (STACS), volume 66 of LIPIcs, pages 22:1–22:14, 2017. doi:10.4230/LIPICS.STACS.2017.22.
- [8] Jana Cslovjecsek, Friedrich Eisenbrand, Christoph Hunkenschröder, Lars Rohwedder, and Robert Weismantel. Block-structured integer and linear programming in strongly polynomial and near linear time. In ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 1666–1681, 2021. doi:10.1137/1.9781611976465.101.
- [9] Jana Cslovjecsek, Friedrich Eisenbrand, Michal Pilipczuk, Moritz Venzin, and Robert Weismantel. Efficient sequential and parallel algorithms for multistage stochastic integer programming using proximity. In European Symposium on Algorithms, ESA, volume 204 of LIPIcs, pages 33:1–33:14, 2021. doi:10.4230/LIPICS.ESA.2021.33.
- [10] Friedrich Eisenbrand, Christoph Hunkenschröder, and Kim-Manuel Klein. Faster algorithms for integer programs with block structure. In International Colloquium on Automata, Languages, and Programming, (ICALP), volume 107 of LIPIcs, pages 49:1–49:13, 2018. doi:10.4230/LIPICS.ICALP.2018.49.
- [11] Friedrich Eisenbrand, Christoph Hunkenschröder, Kim-Manuel Klein, Martin Koutecký, Asaf Levin, and Shmuel Onn. An algorithmic theory of integer programming, 2022. arXiv:1904.01361.
- [12] Friedrich Eisenbrand and Gennady Shmonin. Carathéodory bounds for integer cones. Operations Research Letters, 34(5):564–568, 2006. doi:10.1016/J.ORL.2005.09.008.
- [13] Michael R. Fellows, Daniel Lokshtanov, Neeldhara Misra, Frances A. Rosamond, and Saket Saurabh. Graph layout problems parameterized by vertex cover. In International Symposium on Algorithms and Computation (ISAAC), volume 5369 of LNCS, pages 294–305, 2008. doi:10.1007/978-3-540-92182-0_28.
- [14] Tomas Gavenciak, Martin Koutecký, and Dusan Knop. Integer programming in parameterized complexity: Five miniatures. Discrete Optimization, 44(Part):100596, 2022. doi:10.1016/J.DISOPT.2020.100596.
- [15] Jens Gramm, Rolf Niedermeier, and Peter Rossmanith. Fixed-parameter algorithms for CLOSEST STRING and related problems. Algorithmica, 37(1):25–42, 2003. doi:10.1007/S00453-003-1028-3.
- [16] Raymond Hemmecke, Shmuel Onn, and Lyubov Romanchuk. -fold integer programming in cubic time. Mathematical Programming, 137(1-2):325–341, 2013. doi:10.1007/S10107-011-0490-Y.
- [17] Klaus Jansen, Kai Kahler, Lis Pirotton, and Malte Tutas. New algorithm for combinatorial -folds and applications, 2025. arXiv:2409.04212.
- [18] Klaus Jansen, Kai Kahler, and Esther Zwanger. Exact and approximate high-multiplicity scheduling on identical machines. In Conference on Algorithms and Complexity (CIAC), volume 15679 of LNCS, pages 1–17, 2025. doi:10.1007/978-3-031-92932-8_1.
- [19] Klaus Jansen, Kim-Manuel Klein, Marten Maack, and Malin Rau. Empowering the configuration-IP: new PTAS results for scheduling with setup times. Mathematical Programming, 195(1):367–401, 2022. doi:10.1007/S10107-021-01694-3.
- [20] Klaus Jansen, Alexandra Lassota, and Lars Rohwedder. Near-linear time algorithm for -fold ILPs via color coding. SIAM Journal on Discrete Mathematics, 34(4):2282–2299, 2020. doi:10.1137/19M1303873.
- [21] Klaus Jansen and Lars Rohwedder. On integer programming, discrepancy, and convolution. Mathematics of Operations Research, 48(3):1481–1495, 2023. doi:10.1287/MOOR.2022.1308.
- [22] Hendrik W. Lenstra Jr. Integer programming with a fixed number of variables. Mathematics of Operations Research, 8(4):538–548, 1983. doi:10.1287/MOOR.8.4.538.
- [23] Jan Kára, Jan Kratochvíl, and David R. Wood. On the complexity of the balanced vertex ordering problem. Discrete Mathematics & Theoretical Computer Science, 9(1), 2007. doi:10.46298/DMTCS.383.
- [24] Richard M. Karp. Reducibility among combinatorial problems. In Raymond E. Miller, James W. Thatcher, and Jean D. Bohlinger, editors, Complexity of Computer Computations, pages 85–103. Springer US, Boston, MA, 1972. doi:10.1007/978-1-4684-2001-2_9.
- [25] Dusan Knop and Martin Koutecký. Scheduling meets -fold integer programming. Journal of Scheduling, 21(5):493–503, 2018. doi:10.1007/S10951-017-0550-0.
- [26] Dusan Knop, Martin Koutecký, Asaf Levin, Matthias Mnich, and Shmuel Onn. Parameterized complexity of configuration integer programs. Operations Research Letters, 49(6):908–913, 2021. doi:10.1016/J.ORL.2021.11.005.
- [27] Dusan Knop, Martin Koutecký, Asaf Levin, Matthias Mnich, and Shmuel Onn. High-multiplicity n-fold IP via configuration LP. Mathematical Programming, 200(1):199–227, 2023. doi:10.1007/S10107-022-01882-9.
- [28] Dusan Knop, Martin Koutecký, and Matthias Mnich. Combinatorial -fold integer programming and applications. Mathematical Programming, 184(1):1–34, 2020. doi:10.1007/S10107-019-01402-2.
- [29] Dušan Knop and Martin Koutecký. Scheduling Meets N-Fold Integer Programming. Journal of Scheduling, 21(5):493–503, October 2018. doi:10.1007/S10951-017-0550-0.
- [30] Martin Koutecký, Asaf Levin, and Shmuel Onn. A parameterized strongly polynomial algorithm for block structured integer programs. In International Colloquium on Automata, Languages, and Programming, (ICALP), volume 107 of LIPIcs, pages 85:1–85:14, 2018. doi:10.4230/LIPICS.ICALP.2018.85.
- [31] Martin Koutecký and Johannes Zink. Complexity of scheduling few types of jobs on related and unrelated machines. Journal of Scheduling, 28(1):139–156, 2025. doi:10.1007/S10951-024-00827-8.
- [32] Jesús A. De Loera, Raymond Hemmecke, Shmuel Onn, and Robert Weismantel. -fold integer programming. Discrete Optimization, 5(2):231–241, 2008. doi:10.1016/J.DISOPT.2006.06.006.
- [33] Daniel Lokshtanov, Neeldhara Misra, and Saket Saurabh. Imbalance is fixed parameter tractable. Information Processing Letters, 113(19-21):714–718, 2013. doi:10.1016/J.IPL.2013.06.010.
- [34] Neeldhara Misra and Harshil Mittal. Imbalance parameterized by twin cover revisited. Theoretical Computer Science, 895:1–15, 2021. doi:10.1016/J.TCS.2021.09.017.
- [35] Christos H. Papadimitriou. On the complexity of integer programming. Journal of the ACM, 28(4):765–768, 1981. doi:10.1145/322276.322287.
- [36] Victor Reis and Thomas Rothvoss. The subspace flatness conjecture and faster integer programming. In IEEE Symposium on Foundations of Computer Science (FOCS), pages 974–988, 2023. doi:10.1109/FOCS57990.2023.00060.
- [37] Lars Rohwedder. Eth-tight FPT algorithm for makespan minimization on uniform machines. In International Colloquium on Automata, Languages, and Programming, (ICALP), volume 334 of LIPIcs, pages 126:1–126:13. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2025. doi:10.4230/LIPICS.ICALP.2025.126.
- [38] Lars Rohwedder and Karol Wegrzycki. Fine-grained equivalence for problems related to integer linear programming. In Innovations in Theoretical Computer Science (ITCS), volume 325 of LIPIcs, pages 83:1–83:18, 2025. doi:10.4230/LIPICS.ITCS.2025.83.
