Abstract 1 Introduction 2 Technical Overview 3 Proof of Theorem 1 4 Dealing with inequalities in constraints 5 Applications References

A Simple Algorithm for Combinatorial n-Fold ILPs Using the Steinitz Lemma

Sushmita Gupta ORCID The Institute of Mathematical Sciences, HBNI, Chennai, India Pallavi Jain ORCID IIT Jodhpur, India Sanjay Seetharaman ORCID The Institute of Mathematical Sciences, HBNI, Chennai, India Meirav Zehavi ORCID Ben-Gurion University of the Negev, Beer-Sheva, Israel
Abstract

We present an algorithm for a class of n-fold ILPs whose existing algorithms in literature are often either (1) based on the augmentation framework where one starts with an arbitrary solution and then iteratively moves towards an optimal solution by solving appropriate programs; or (2) require solving a linear relaxation of the program; or (3) are based on decomposition/proximity based arguments. Combinatorial n-fold ILPs is a class of n-fold ILPs introduced and studied by Knop et al. [MP2020] that captures several other problems in a variety of domains. We present a simple and direct algorithm that solves combinatorial n-fold ILPs with unbounded non-negative variables via an application of the Steinitz lemma. Depending on the structure of the input ILP, we also improve upon the existing algorithms in the literature in terms of the running time, thereby showing an improvement that mirrors the one shown by Rohwedder [ICALP2025] contemporaneously and independently.

Keywords and phrases:
n-fold integer linear program, parameterized algorithms
Copyright and License:
[Uncaptioned image] © Sushmita Gupta, Pallavi Jain, Sanjay Seetharaman, and Meirav Zehavi; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Integer programming
Acknowledgements:
We thank the reviewers of an earlier draft as well as this for their contribution in improving the clarity and presentation of our results.
Editors:
Akanksha Agrawal and Erik Jan van Leeuwen

1 Introduction

The power of the linear algebra method has a long and storied history in the design and analysis of algorithms, [3, 32]. The question of reordering vectors so that all partial sums are bounded was posed by mathematicians Paul Lévy and George Riemann in the early 20th century. The question was first affirmatively answered by Ernst Steinitz [33, 15] showing that such a reordering of vectors, that sum to zero and are all in a unit ball with respect to any arbitrary norm, is indeed possible where all the partial sums can be bounded by a constant that depends only on d, the dimension of the vectors. This result, now eponymously known as the Steinitz Lemma, stated in Proposition 2, has become a cornerstone in our understanding of the geometry of numbers and has led to numerous algorithmic applications centered around problems that have an integer linear program (ILP) formulation [12]. In this paper, we study a simple Steinitz Lemma based non-augmenting algorithm for a class of combinatorial n-fold ILPs.

The usefulness of Steinitz Lemma in modern algorithmic research is perhaps best underscored by its applicability to analyze integer linear programs (ILP), as exhibited by Eisenbrand and Weismantel [12] who improved upon the longstanding best bound of Papadimitriou [29]. Papadimitriou’s seminal work gave a simpler proof of ILPs being in NP and the first pseudo-polynomial algorithm when the number of constraints is constant. This can be viewed as a pseudo-parameterized algorithm with respect to the number of constraints. Subsequently, Jansen and Rohwedder [20] further improved the running time by applying the Steinitz Lemma in an alternative way. In this paper, we are continuing this line of investigation by employing Steinitz Lemma on a special class of ILPs, namely combinatorial n-fold ILP, for the purpose of obtaining better bounds.

Notwithstanding these exciting possibilities, the bottom line is that solving an ILP is known to be NP-complete and that poses a computational challenge when we desire integral solutions only. While we know of certain classes of ILPs, such as totally unimodular, bimodular [2], binet [1] that can be solved in polynomial time, the task of mapping the ILP landscape into families that are tractable under modest restrictions is ongoing. In particular, in recent times researchers are motivated to design parameterized algorithms because they behave like polynomial-time algorithms when the parameter is constant-valued. An algorithm is said to be fixed-parameter tractable (FPT) with respect to parameters k1,,k, if its running time is of the form f(k1,,k)|input|𝒪(1) for some computable function f. Steinitz Lemma has proven to be useful even in this direction of research, as exhibited in its usefulness in the study of block-structured ILPs.

Block-structured ILP.

A class of block structured programs called the n-fold ILP has come to sharp focus due to their relevance to efficiently solving problems in scheduling [23], fair division [28], and social choice [26] to name a few. For example, in the high-multiplicity scheduling setting, the input is succinctly encoded by partitioning the jobs (machines) into types such that all jobs (machines) within a type are identical. Note that the number of job (machine) types can be much smaller than the number of jobs (machines). Using n-fold ILP, Knop and Koutecký [23] obtain algorithms for some scheduling problems that are FPT with respect to the number of job (machine) types.

More broadly, the n-fold setting has unlocked the door towards parameterized and approximation algorithms and their rich tool-kit. Formally, we define n-fold ILP as the following

min{cx𝒜x=b,xu,xnt},

where vectors cnt,br+ns,,u({,})nt and the constraint matrix

𝒜:=(TTTD000D000D), such that

the top block Tr×t and the diagonal block Ds×t. Let ΔX denote an upperbound on the absolute value of an entry in a matrix X, and let ΔI denote the same for the numbers in the input. Hemmecke et al. [16] were the first to give an FPT algorithm for (1) with respect to the parameters Δ𝒜,r,s,t. This algorithm runs in time 𝒪(n3t3Δ𝒜𝒪(t(rs+st))log(Δc)). Hence, this has better performance than [29] and [12] that work for general ILPs. Subsequently, Eisenbrand et al. [9], using the Steinitz Lemma in a manner similar to [12], improved the result of [16], in terms of the dependence on t given that tr,s. Their algorithm has running time n2t2logΔIlog2nt(rsΔ𝒜)𝒪(r2s+rs2)+𝐋𝐏, where 𝐋𝐏 denotes the time needed to solve the LP relaxation of (1). This is an FPT algorithm with respect to the parameters r,s,Δ𝒜. We are naturally interested in algorithms with smaller dependence on t, the number of columns, because t can be as large as Δ𝒜r+s, a common occurrence in applications involving configuration IPs, as noted in [9]. Koutecky et al. [27] showed an algorithm that runs in time (nt)6log(nt)(rsΔ𝒜)𝒪(r2s+rs2)+𝐋𝐏. This is the first strongly polynomial time algorithm for fixed values of r,s,Δ𝒜. Subsequently, Eisenbrand et al. [10], Jansen et al. [19], and Cslovjecsek et al. [6] have developed algorithms that run in time (nt)2log3(nt)(rsΔ𝒜)𝒪(r2s+rs2)+𝐋𝐏, ntlog𝒪(1)(nt)log(ΔI2)(rsΔ𝒜)𝒪(r2s+s2), and (nt)1+o(1)2𝒪(rs2)(rsΔ𝒜)𝒪(r2s+s2), respectively.

A special class of n-fold ILP known as the combinatorial n-fold ILP–where the diagonal block D=(1,,1)1×t–was introduced by Knop et al. [25] and it captures many problems in various domains including computational social choice, stringology, and scheduling. They showed that such programs can be solved in time t𝒪(r)(Δ𝒜r)𝒪(r2)𝒪(n3I)+𝐋𝐏, where I denotes the size of encoding b,,u,c. We would like to note that the result of [6] improves upon this and gives a (rΔ𝒜)𝒪(r2)(nt)1+o(1) algorithm for this special class.

In this paper, we solve a variant of combinatorial n-fold ILP where the variables are non-negative and unbounded from above. However, our constraint matrix is more general because in our setting the top blocks T need not be identical. We formally define our problem and result in Section 1.1. We believe our methodology is conceptually simpler than the earlier approaches, described in the next sub-section, for solving this problem.

1.1 Background and our contribution

In this article we present a simple non-iterative algorithm that leverages the power of the Steinitz Lemma to solve a class of combinatorial n-fold ILP, (1.1). In other words, our approach solves this problem directly and not via a sequence of augmentation steps involving the Graver bases as exhibited in earlier papers such as [12, 10], or via non-iterative approaches that involve proximity-based arguments [6] or decomposition-based arguments [7].

Formally, we define our setting as follows.

Our setting.

We study ILPs of the following form

min{cx𝒜x=b,x0nt}

where vectors br+n and cnt×1; and the constraint matrix

𝒜:=(T(1)T(2)T(n)D000D000D), such that

the diagonal block D=(1,,1)1×t and the top blocks T(1),,T(n)r×t.

The main technical contribution of this paper is to prove the following.

Theorem 1.

The ILP (1.1) can be solved in time 𝒪(nt(nΔ𝒜(n+1+4r))rq), where q denotes the sum of the last n entries in b.

While the expression of time complexity in Theorem 1 is not FPT with respect to r,Δ𝒜, we note, however, that it allows us to identify a class of instances where our algorithm will outperform the existing algorithms for n-fold ILP, including [10, 19, 6], as exhibited for the problems Lobbying and Binary Closest String in Section 5. We consider this to be a conceptual contribution of our approach and note that structure of the b vector, and parameters such as q, are worthy of further investigation. We also present an application of our result on the problem Equitable Coloring.

We note that if we apply the pre-n fold ILP framework [25, Corollary 23] to (1.1) we would obtain an algorithm with running time (tn)r(Δ𝒜r)𝒪(r2)𝒪(n3I))+𝐋𝐏. There is no linear dependence on q, and there is an (Δ𝒜r)𝒪(r2) term in the running time.

Next, we state the running time of existing algorithms when applied to (1.1): Eisenbrand et al. [9] n2t2log2ntlogΔI(rΔ𝒜)𝒪(r2)+𝐋𝐏; Jansen et al. [19] ntlog𝒪(1)(nt)log2ΔI(rΔ𝒜)𝒪(r2); Cslovjecsek et al. [6] (nt)1+o(1)2𝒪(r)(rΔ𝒜)𝒪(r2). The algorithms in [16, 27, 7] require the top row block to contain identical matrices and it is not clear how to obtain a solution to our problem using them.

Contemporaneous related works.

In [30] (recently accepted in ICALP’25), Rohwedder presented an algorithm for Multi-choice Integer Programming, a problem very closely related to (1.1) (either can be reduced to the other in polynomial time). The running times are identical (in terms of the dependence on parameters), and the techniques are very similar. The main technical difference is in the first phase of the algorithm (Lemma 4) where they present a “time-based” approach instead of the “greedy imbalance-based” approach we present. The main result of that paper is an algorithm for scheduling on uniform machines, which uses the solution for the above problem as a subroutine. Our main contribution is a more detailed presentation of the algorithm, including in Section 4 how we deal with inequalities in the constraints and apply it on Lobbying and Binary Closest String. Moreover, our result can be applied to obtain the corollaries and applications indicated by Rohwedder [30]. We note that dealing with inequalities is an important step in our analysis because we are using the n-fold ILP framework while Rohwedder is not.

We also note that Jansen et al. [17] present a divide-and-conquer-based algorithm (based on the approach in [21]) for a problem that is closely related to the feasibility version of (1.1). It is not clear whether similar guarantees as ours could be achieved by their result, we refer to [30] for a discussion on this. We note that in the updated version [18] of the work (also accepted in IPEC’25), they present an algorithm for (1.1) with running time that has an identical exponential dependence on n,r,Δ𝒜, but has only a logarithmic dependence on q. These articles are contemporaneous and independent.

Preliminaries

The main technical tool in our result is the Steinitz Lemma, stated below.

Proposition 2 (Steinitz Lemma, [33, 15]).

Let be an arbitrary norm of d. Let x1,,xmd such that i[m]xi=0 and xi1 for each i[m]. There exists a permutation πSm such that all partial sums satisfy

j[k]xπ(j)d for each k[m].

Eisenbrand and Weismantel [12] generalize the above lemma and show the following.

Proposition 3 ([12]).

Let x1,,xmd such that i[m]xi=s and xiΔ for each i[m]. There exists a permutation πSm such that all partial sums satisfy

j[k]xπ(j)kms2Δd for each k[m].
Note on variations of 𝒏-fold ILP.

(1.1) forms a special case of the n-fold integer programs. The following are some of the studied variations of such programs:

  1. 1.

    The n diagonal blocks, which are D=(1,,1) above, can be non-identical s×t matrices, [9, 24];

  2. 2.

    Moreover, combinatorial n-fold IPs usually refers to problems where the constraint matrix is a restricted version of (1.1), with the top block, denoted by (T(1),,T(n)), being n identical matrices, [25, 7];

  3. 3.

    The objective function may be more general than linear, such as separable convex, [25].

Notation.

For the sake of convenience, from now on we use Δ to denote Δ𝒜. For any z0, we denote the set {1,,z} by [z]. We subdivide the set of entries in a vector xnt into x bricks x(1),,x(n), where each brick is a vector in t and x=((x(1)),(x(2)),,(x(n))). For each i[n],j[t], we use xj(i) to denote the entry corresponding to the jth variable in the ith brick of x.

For a matrix M, we use M[,w] and M[w,] to denote the wth column and the wth row of M respectively. For a matrix M, we use psum(M,j) to denote the partial sum up to column j in M: that is, psum(M,j)=w[j]M[,w]. For a matrix M and an entry e, we use occM(e,j) to denote the number of occurrences of e in M up till column j. For a matrix M and a permutation of its columns σ, we use Mσ to denote the matrix where Mσ[,j]=M[,σ(j)].

With the definition of bricks, we have that any feasible solution x satisfies

(T(1)T(2)T(n)1T0001T0001T)(x(1)x(2)x(n))=(b(0)b(1)b(2)b(n)).

Due to the matrix structure, the problem (1.1) is equivalent to the following question, which we will focus on from now. Let q=i[n]b(i). Does there exist x0nt such that

  • [all but the top row block] j[t]xj(i)=b(i), for each i[n],

  • [top row block] there is a sequence of columns, say v1,,vq, such that k[q]vk=b(0), and column T(i)[,j] appears xj(i) times in the sequence,

  • cx is maximized?

If there is no such x, then we decide that it is infeasible.

2 Technical Overview

Suppose that the given program (1.1) admits a solution x. From x, we obtain a sequence of vectors v1,,vq such that

  1. 1.

    q=i[n]b(i);

  2. 2.

    each vj is a column of one of the top blocks T(1),,T(n);

  3. 3.

    j[q]vj=b(0);

  4. 4.

    the column T(i)[,k] appears xk(i) many times in the sequence.

Consider the 1×q matrix M with entries from [n] where M[j]=i if vj=T(i)[,k] for some k[t], and each i[n] is present exactly b(i) times in M. Informally, through M we identify the block from which each vector is obtained. The first step of our approach is to “balance” this one-row matrix M.

Suppose that the symbol (or element) e[n] appears me times in M. Consider a random rearrangement of the matrix M. The expected number of occurrences of e in the first j columns, by the linearity of expectation, is (j/q)me. This is because the probability that a random rearrangement of symbols in M contains e in a particular index is me/q, and the linearity of expectation is applied over the first j columns. Let occM(e,j) denote the number of occurrences of symbol e between columns 1 to j in M. The imbalance of a symbol e at a column j in M is defined as

imbM(e,j)occM(e,j)(j/q)me.

Thus, the imbalance of a symbol e at a particular column is the difference between the number of occurrences of e and the expected number of occurrences of e until that column in a random rearrangement of the entries. We show that we can, in time 𝒪(nq), rearrange the symbols such that the matrix has bounded imbalance111We would like to note that a similar result can be obtained by applying the Steinitz Lemma on the qn matrix M where for each j[q], M[,j] is a vector containing 1 in position M[j] and 0 in all other positions. However, such an application will result in a weaker imbalance upper-bound of n and a slightly more complicated algorithm..

Lemma 4 (Balancing a one-row matrix).

Let M be a 1×q matrix with entries from [n]. There is a permutation σ such that for each symbol e[n] and column j[q], nimbMσ(e,j)1. Moreover, the matrix Mσ can be computed in time 𝒪(nq).

For each block i[n], we do the following. Consider the r×b(i) matrix formed by all the b(i)-many vectors in the sequence corresponding to the block i, say V(i). By Proposition 3, there is a permutation of the vectors in V(i), say π(i)Sb(i), such that each coordinate of the jth partial sum is at most 2rΔ away from the (j/b(i))th fraction of the total sum of vectors in V(i). We construct a new r×q matrix O from Mσ by replacing the entries with vectors from those blocks. We place these vectors Vπ(i)(i) (in the same order) in O based on where i occurs in Mσ: the wth vector in Vπ(i)(i) is placed in the wth occurrence of i in Mσ. We show that all partial sums in O are bounded.

Lemma 5 (Bounding the partial sums).

For each j[q] and k[r], we have nΔ(n+2r)psum(O,j)[k]jqb(0)[k]nΔ(1+2r).

We construct a weighted directed acyclic graph G based on the bounds we obtained in Lemma 5. The key property of G is that any shortest path between two particular vertices in G corresponds to an optimal solution of the program and vice versa. If there is no such path, then we assert that there is no solution. Otherwise, we compute an optimal solution corresponding to the path. Thus, we have our main result, Theorem 1.

3 Proof of Theorem 1

In this section, we prove Lemma 4 in Section 3.1, followed by Lemma 5 in Section 3.2, and then present the overall algorithm in Section 3.3 which forms a proof of Theorem 1.

3.1 Balancing a one-row matrix: Proof of Lemma 4

We restate Lemma 4 for convenience.

Lemma 4 (Balancing a one-row matrix). [Restated, see original statement.]

Let M be a 1×q matrix with entries from [n]. There is a permutation σ such that for each symbol e[n] and column j[q], nimbMσ(e,j)1. Moreover, the matrix Mσ can be computed in time 𝒪(nq).

Algorithm 1 An algorithm to balance a one-row matrix.

Consider Mσ, the 1×q matrix with entries in [n], constructed by Algorithm 1. The algorithm starts with an empty Mσ; then, it iteratively fills the symbols column-wise by finding the symbol with minimum imbalance (note that imbalances can be negative).

Maintaining the imbalances of each of the n distinct symbols and finding a symbol with minimum imbalance (Line 3) can be done in time 𝒪(n). This can be done by storing and updating the imbalances of each of the n symbols. Overall, Algorithm 1 runs in time j[q]𝒪(n)=𝒪(nq).

Next, we show the bounds on the symbol imbalances in Mσ. Recall that a symbol e[n] appears me times in M. Fix any j[q]. Consider the stage of the algorithm where the first j columns of Mσ are filled. Now we show the imbalance upper-bound in the lemma. Observe that the quantity imbMσ(e,j), when viewed as a sequence indexed by j, increases only when symbol e is in the entry Mσ[j]. Assume for the sake of contradiction that imbMσ(e,j)>1 for some e[n] and j[q]. Consider the first index j such that imbMσ(e,j)>1 and Mσ[j]=e. Due to the greedy choice in the construction of Mσ, we have that imbMσ(e,j)>0 for each e[n]. We then arrive at a contradiction since

j=e[n]occMσ(e,j)=e[n](imbMσ(e,j)+jqme)>e[n](jqme)=j.

Next, we show the imbalance lower-bound in the lemma. A crucial property that we will use to show the bound is that the sum of imbalances at column j is zero.

Claim 0.1.
e[n]imbMσ(e,j)=0.
Proof.
e[n]imbMσ(e,j)=e[n](occMσ(e,j)jqme)=e[n]occMσ(e,j)e[n]jqme=jjqq=0.

Assume for contradiction that imbMσ(e,j)<n for some e[n] and j[q]. The sum of symbol imbalances at j is

e[n]imbMσ(e,j)=imbMσ(e,j)+e[n]{e}imbMσ(e,j)<n+e[n]{e}imbMσ(e,j).

Combining the above with Claim 0.1, there exists an element e[n]{e} such that imbMσ(e,j)>1 and thus we have a contradiction.

Combining the lower and upper-bounds, we infer that nimbMσ(e,j)1 for each e[n] and j[q]. What is left to be shown is that the matrix Mσ is a permutation of the columns of M. For that, it is sufficient to prove that for each e[n], the number of occurrences of element e in Mσ is me. Assume for contradiction that Mσ is not a permutation of columns of M. We observe that since e[n]occMσ(e,q)=q=e[n]me, there exists a symbol e[n] such that occMσ(e,q)>me. Consider the last index j such that the jth column in Mσ contains e. We have

imbMσ(e,j)=occMσ(e,j)jqme=occMσ(e,q)jqmeme+1jqme.

If j<q, then imbMσ(e,j)>1 and we have a contradiction to the upper-bound in the lemma. Otherwise, we have j=q. Observe that imbMσ(e,q)=1. By Line 3, we have that imbMσ(e,q)0 for each e[n]{e}. However, this implies that e[n]imbMσ(e,q)1, a contradiction to Claim 0.1. This completes the proof of the lemma.

3.2 Bounding the partial sums: Proof of Lemma 5

We restate Lemma 5 for convenience.

Lemma 5 (Bounding the partial sums). [Restated, see original statement.]

For each j[q] and k[r], we have nΔ(n+2r)psum(O,j)[k]jqb(0)[k]nΔ(1+2r).

Before we prove Lemma 5, we recall the construction of O and relevant notation that were introduced in Section 2. We consider an optimal solution x of (1.1) and from it obtain a sequence of vectors v1,,vq satisfying the conditions given in Section 2. Next, using Algorithm 1 we compute Mσ, a 1×q matrix such that for each symbol i[n]

  1. 1.

    i occurs b(i) times in Mσ;

  2. 2.

    for each j[q], nimbMσ(i,j)1. (i.e., n+(j/q)b(i)occMσ(i,j)1+(j/q)b(i)).

For each block i[n], we do the following. Consider V(i), the r×b(i) matrix formed by the set of columns in the sequence corresponding to block i. Applying Proposition 3 on V(i), we obtain a permutation πiSb(i) such that all partial sums of Vπi(i) are bounded. In particular,

psum(Vπi(i),w)wb(i)tot(V(i))2rΔ for all w[b(i)], (1)

where tot(V(i)) is the sum of the columns of V(i) (note that tot(V(i))=tot(Vπi(i))).

Algorithm 2 An algorithm to construct the matrix O.

Next, we construct O, an r×q matrix as described in Algorithm 2. Essentially, we place the columns of Vπi(i) on the positions where i appears in Mσ. Now we are ready to show that this matrix has bounded partial sums.

For any j[q] and k[r], we bound the partial sum of O at index k of column j as

psum(O,j)[k] =i[n]psum(Vπi(i),occMσ(i,j))[k]i[n](occ(i,j)b(i)tot(Vπi(i))[k]+2rΔ)
i[n](1+jqb(i)b(i)tot(V(i))[k]+2rΔ)
=i[n](1b(i)tot(V(i))[k]+jqtot(V(i))[k]+2rΔ)
i[n](1b(i)Δb(i)+jqtot(V(i))[k]+2rΔ)=jqb(0)[k]+i[n](Δ+2rΔ)
=jqb(0)[k]+nΔ(1+2r).

Similarly, we have the following lower bound.

psum(O,j)[k] =i[n]psum(Vπi(i),occMσ(i,j))[k]i[n](occ(i,j)b(i)tot(Vπi(i))[k]2rΔ)
i[n](n+jqb(i)b(i)tot(V(i))[k]2rΔ)
=i[n](nb(i)tot(V(i))[k]+jqtot(V(i))[k]2rΔ)
i[n](nb(i)Δb(i)+jqtot(V(i))[k]2rΔ)=jqb(0)[k]+i[n](nΔ2rΔ)
=jqb(0)[k]nΔ(n+2r).

3.3 The algorithm

Algorithm 3 An algorithm to solve (1.1).

We now describe a direct algorithm to solve (1.1). From now on, we suppose that the given program admits an optimal solution x. Otherwise, the algorithm asserts that there is no solution for the program and we are correct. Firstly, using Algorithm 1, we compute Mσ, a 1×q matrix that satisfies the conditions of Lemma 4. Note that the existence of x alone is sufficient to compute Mσ since Algorithm 1 only requires the total number of occurrences of each symbol (which is b(i) for each i[n]).

The existence of x now implies that there is a matrix O which satisfies the conditions of Lemma 5. To find such an x, we find the existence of a matrix satisfying Lemma 5, by finding shortest paths in certain graphs - in a way similar to [12]. We construct a weighted directed acyclic graph G=(V,A) as follows.

 Construction 1.
  1. 1.

    (Vertices) For each j[n] and each integer vector vr such that

    (j/q)b0[k]nΔ(n+2r)v[k](j/q)b0[k]+nΔ(1+2r)

    for each k[r], we add a vertex hj,v to V. Lastly, we add the vertex h0,0 to V.

  2. 2.

    (Edges) For each j[q], we do the following. Suppose that Mσ[j]=i. We add the arc (hv1,j1,hv2,j) to A if v2v1 is the column T(i)[,k] for some k[t], and the weight of the arc is set as ck(i).

In the following claim, we bound the sizes of |V| and |A|.

Claim 6.

|V|1+q(nΔ(n+1+4r))r and |A|=𝒪(nt|V|). Moreover, we can construct G in time 𝒪(qnt(nΔ(n+1+4r))r).

Proof.

For each j[q], the number of integer vectors v such that (j/q)b0[k]nΔ(n+2r)v[k](j/q)b0[k]+nΔ(1+2r) for each k[r] is at most (nΔ(n+1+4r))r. This is because for a fixed k[r], the number of possible values that v[k] can take is nΔ(n+1+4r). Summing over all j[q] and then counting the vertex h0,0, we have the claim. Note that we can construct V in time proportional to its size.

To construct A, we can iterate over all vertices hj,v, and in time nt compute all arcs incident on hj,v. Thus, we have |A|=𝒪(nt|V|), and we can construct the graph G in time 𝒪(|V|+nt|V|)=𝒪(qnt(nΔ(n+1+4r))r).

By the definition of G and the existence of x, we have that there is a path of cost cx in G between vertices h0,0 and hb(0),q with cost cx and this is the shortest such path. We can compute such a path by using BFS in time 𝒪(|A|)=𝒪(qnt(nΔ(n+1+4r))r). To compute an optimal solution for (1.1) corresponding to P, we simply trace the path and set the variables according to the vertices that appear on the path.

4 Dealing with inequalities in constraints

In this section, we generalize our main result by showing that programs which contain “certain” inequalities in the constraints can be solved in the same time that we take for (1.1) where we have 𝒜x=b. This is towards the ease of expressing problems involving inequalities as n-fold integer programs which we will see later in Section 5.

We call the upper rows (T(1)T(2)T(n))x=b(0) as globally uniform constraints, and the lower rows 1x(i)=b(i) as locally uniform constraints. Consider the generalization of (1.1)

  1. 1.

    where the globally uniform constraints may contain either of {,=,};

  2. 2.

    where the locally uniform constraints may contain either of {,=}.

Let A=(1,,1)1×t, T(1),,T(n)r×t, br+n, and cnt×1. Formally, we consider the following generalization.

min{cx𝒜xb,x0nt} (𝐏𝟐)
where 𝒜:=(T(1)T(2)T(n)A000A000A) (7)
and  is a sequence of inequalities satisfying conditions 1 and 2.

We emphasize that the generalization does not allow locally uniform constraints to contain “”. We would like to note that our approach at a high level is almost the same as that of [25], and the main difference lies in the fact that (unlike as in their model,) here the variables in the programs we consider are non-negative and have no explicit lower or upper bounds. The proof strategy is to construct an appropriate program of the form (1.1) by adding new (slack) variables. Let ψ2+2cmaxi[n]{b(i)}. Observe that ψ/2 is strictly larger than the maximum value the objective function in (𝐏𝟐) can take.

First, we deal with the locally uniform constraints in (𝐏𝟐). We add n variables: for each i[n], we add xt+1(i) and replace T(i) by (T(i) 0) where 𝟎 is the r×1 matrix (i.e column) containing zeros. If the ith constraint has a “”, then we set ct+1(i)=0. Otherwise it contains an “=”, and we set ct+1(i)=ψ.

Next, we deal with the globally uniform constraints in (𝐏𝟐). Without loss of generality, we assume that each constraint either contains a “” or an “=”. This is a safe assumption because if there is a constraint containing a “”, then we can negate that constraint (which flips the inequality in that constraint to “”) and obtain a program that is still of the form we consider. We replace each (T(i) 0) by (T(i) 0Ir), where Ir is the r×r identity matrix. We also introduce a new (n+1)st block (Zr 0Ir) where Zr is the r×t matrix consisting of zeros, and 𝟎 is the r×1 matrix consisting of zeros. The coefficients of the new variables in the first n blocks are set to ψ. That is, for each i[n] and j[t+2,t+r+1], we set cj(i)=ψ. For the (n+1)st block, we set the coefficients as follows. For each j[t+r+1], we set cj(n+1)=0. Then, we set b(n+1)=2rΔmaxi[n]{b(i)}, where Δ is the largest entry in the constraint matrix 𝒜 we started with. This concludes the construction of the program of the form (1.1).

Consider any feasible solution y to the initial program (𝐏𝟐). We define a solution x to the constructed program of the form (1.1) of the same cost by setting the newly added variables appropriately. Firstly, we set xj(i)=yj(i) for each i[n] and j[t]. Recall that we assume w.l.o.g. that each globally uniform constraint contains either a “” or an “=”. For each k[r], we deal with the kth globally uniform constraint in (𝐏𝟐) as follows. We set xt+1+k(n+1)=b(0)[k]𝒜[k,]y. Observe that xt+1+k(n+1) is precisely the slack in the kth globally uniform constraint corresponding to solution y, and it is a number that is at most 2Δb(k). For each i[n], we deal with the ith locally uniform constraint in (𝐏𝟐) as follows. We set xt+1(i)=b(i)(11)y(i). Finally, we set xt+1(n+1)=b(n+1)k[r]xt+1+k(n+1). Similar to before, observe that xt+1(i) is precisely the slack in the ith locally uniform constraint corresponding to solution y, and it is a number that is at most b(i). All other variables whose values have not yet been set in x, we set them to 0.

We claim that x is a solution to the constructed program (1.1) of the same cost. Firstly, it is a feasible solution by construction. Secondly, the cost is the same because any newly added variable that is set to a non-zero value corresponds to a “” constraint, and its coefficient is 0 in (1.1). For the other direction, suppose that we are given a solution x to (1.1). If the cost of x is at least ψ/2 (which is strictly larger than the value of any feasible solution in (𝐏𝟐)), then we can assert that (𝐏𝟐) does not admit any solution. Otherwise, we obtain a solution to (𝐏𝟐) of the same cost by discarding the newly added variables.

Now that we have established how to compute the solution of one program given that of the other, we move on to assess the time to construct (1.1) and the change in parameters. Each locally uniform constraint can be dealt with separately in time 𝒪(nt) by adding a column corresponding to it and updating c appropriately. All globally uniform constraints can be dealt with together in time 𝒪(nrnt) by adding r columns to each block, adding a new block, and then updating b appropriately. In total, we can construct (1.1) in time 𝒪(n2rt). Thus, given (𝐏𝟐), we can construct (1.1) in time 𝒪(n2rt).

Next, we assess the change in parameters: the number of blocks is n+1, the number of columns in a block is t+r+1, the number of globally uniform constraints is r, the parameter q (which is the sum of the right hand sides of the locally uniform constraints) becomes q+2rΔmaxi[n]{b(i)}, and the largest entry Δ remains the same since the newly added entries to the matrix are either 0 or 1. Applying Theorem 1, we can solve (1.1) in time

𝒪((q+2rΔmaxi[n]{b(i)})(n+1)(t+r+1)((n+1)Δ(n+1+1+4r))r) (8)
𝒪(qrΔ(n+1)(t+r+1)((n+1)Δ(n+2+4r))r) (9)
𝒪(qrt((n+1)Δ(n+2+4r))r+1). (10)

Summing with the time to construct (1.1), we obtain the total time to solve (𝐏𝟐).

Corollary 7.

The ILP (𝐏𝟐) can be solved in time 𝒪(qrt((n+1)Δ(n+2+4r))r+1).

5 Applications

In this section, we apply our main result on three problems: Lobbying, Binary Closest String, and Equitable Coloring.

5.1 Lobbying in multiple referenda

Given the binary approvals (equivalently, yes or no answers) of n voters on m issues, the question of Lobbying is whether the lobby can choose k voters to be “influenced” so that each issue gets a majority of approvals. By influence a voter, we mean gaining complete control over the voter, and getting her approval on all issues. Christian et al. [5] introduced Lobbying and modeled it as the following binary matrix modification problem.

Lobbying Input: A matrix A{0,1}w×m and an integer k0 Question: Can one choose k rows and flip all 0s to 1s in these rows so that in the resulting matrix every column has more 1s than 0s?

First, we recall how Bredereck et al. [4] express Lobbying as an integer program. Let denote the number of distinct types of rows in M: two rows are said to be of the same type if they are identical. Observe that 2m. Let c(r1),,c(r) denote the number of rows of each type. For each i[] and j[m], let Bj(ri)=1 if the jth column of row type ri has value 0, and let Bj(ri)=0 otherwise. For each i[], let bi be an integer variable that indicates the number of times one has to modify a row of type ri. For each j[m], let gj denote the number of missing 1s to make column j have more 1s than 0s. Thus, we have the following two constraints: (1) 0bic(ri) for each i[]; (2) gji[]biBj(ri) for each j[m]. Overall, we have the following program which is of the form (𝐏𝟐). The objective is to minimize i[]bi subject to

(B1(r1)B1(r2)B1(r)B2(r1)B2(r2)B2(r)Bm(r1)Bm(r2)Bm(r)100010001)(b1b2b)(g1g2gmc(r1)c(r2)c(r)).

Observe that the optimal solution is at most k if and only if there are k rows that can be chosen to satisfy the objective in question. The parameters corresponding to the above program are r=m, t=1, n=2m, Δ=1, and q=k[m]gk+i[]c(r)wm+w=(m+1)w. Given the input, we can construct the above program in time 𝒪(2mw). Applying Corollary 7, we have the following.

Theorem 8.

Lobbying can be solved in time 2𝒪(m2)w𝒪(1).

The best known dependency on m prior to this work, established by Knop et al. [25], is m𝒪(m2). Next, we discuss the consequence of existing algorithms on the above program. Using the algorithms for standard ILPs, including [22, 21], results in algorithms that are double exponential with respect to m. Using the algorithms for n-fold ILP, including [19, 6], results in algorithms that run in time m𝒪(m2)logw+𝒪(2mw) (the 𝒪(2mw) term is for the construction of the program). Thus, we establish an improvement in running time in terms of the dependence on m.

5.2 Stringology

We consider δ-Multi Strings, a general problem defined by Knop et al. in [25] that captures many previously studied string problems including Closest String, Farthest String, d-Mismatch, Distinguishing String Selection, Optimal Consensus, and Closest to Most Strings. See [25] for a clear description of how it captures the other problems.

δ-Multi Strings Input: k strings s1,,sk, each of length L from an alphabet Σ{} (where denotes a wildcard: a special character that matches with all characters in Σ), distance lower-bounds d1,,dk, and distance upper-bounds D1,,Dk, distance function δ:Σ×Σ, and a binary parameter β{0,1}. Question: Find a string yΣL such that y minimizes β(h=1kδ(y,sh)); for each sh, the distance (based on δ) between y and sh, denoted by δ(y,sh), is at least dh and at most Dh.

A restriction of δ that makes the problem expressible by n-fold integer programs is when δ is a character-wise wildcard-compatible: for any two strings x,y(Σ{})L, δ(x,y)=j=1Lδ(x[j],y[j]) and δ(c,)=0 for all cΣ. From now on, we consider only this restriction.

We begin by viewing the input as a k×L character matrix S where the ith row contains the string si. We say that two columns in S are of the same type if they are identical (i.e., both in terms of the number of occurrences of each symbol and the order of the occurrences). Since A is a k×L matrix with entries from Σ{}, there are at most w=(|Σ|+1)k column-types in S. W.l.o.g., we assume that each column-type is denoted by an element in [w]. A solution zΣL can be mapped to a (k+1)×L matrix where the first k rows are the k input strings and the (k+1)st row is z. We construct an integer program that detects the existence of such a matrix.

For each i[w] and cΣ, the variable xc(i) indicates the number of columns in the solution matrix which contain i followed by c. For each i[w], let 𝐞𝐢 denote the k×1 string corresponding to column-type i. The globally uniform constraints are the following. For each j[k], we have

cΣi[w]xc(i)δ(c,𝐞𝐢[j])dj;cΣi[w]xc(i)δ(c,𝐞𝐢[j])Dj.

For each i[w], let oi denote the number of columns of type i; the ith locally uniform constraint constraint is

cΣxc(i)=oi.

The objective function is β(h=1kδ(y,sh))=β(h[k]i[w]cΣxc(i)δ(𝐞i[h],c)). Note that it is a linear function on the variables since β{0,1}, and thus we can set c appropriately. The parameters corresponding to the program are n=(|Σ|+1)k, r=2k, t=|Σ|, q=i[w]oi=L, and Δ=maxc1,c2δ(c1,c2). Given the input, we can construct the above program in time 𝒪((|Σ|+1)kkL). Applying Corollary 7, we have the following.

Theorem 9.

δ-Multi Strings can be solved in time (Δk)𝒪(k)(|Σ|)𝒪(k2)L𝒪(1), where Δ=maxc1,c2δ(c1,c2), and δ is a character-wise wildcard-compatible function.

Knop et al. [25] showed that δ-Multi Strings can be solved in time ((|Σ|+1)𝒪(k2)(Δk)𝒪(k2)log(L)+𝒪((|Σ|+1)kkL). Subsequent algorithms for n-fold ILP applied on the program they consider, including [19, 6], result in algorithms that run in time (kΔ)𝒪(k2)(|Σ|+1)𝒪(k)+𝒪((|Σ|+1)kkL). Next, we discuss the application of existing algorithms in the above program. Using the algorithms for standard ILPs, including [22, 21], results in algorithms that are double exponential in k. Using the algorithm by Cslovjecsek et al. [6] results in an algorithm that runs in time (kΔ)𝒪(k2)(|Σ|+1)𝒪(k)+𝒪((|Σ|+1)kkL).

The problem Closest String is the special case of δ-Multi Strings where β=0, the distance function δ is the Hamming distance, and di=0 and Di=d for each i[k]. Applying Theorem 9, we obtain an algorithm for Closest String that runs in time (k)𝒪(k2)L2. In terms of the dependence on k, this matches the current best algorithms [11, 25].

When Σ={0,1} in the Closest String problem, Theorem 9 gives an algorithm that runs in time 2𝒪(k2)L2. We note that this is an improvement over applying the existing algorithms for n-fold ILP, including [19, 6] which have a k𝒪(k2) term in the running time. To the best of our knowledge, we are the first to exhibit an algorithm with 2𝒪(k2) dependence on k. We note that this matches the lower bound hypothesized by Rohwedder and Wegrzycki [31] for the problem. Thus, we have the following.

Corollary 10.

Closest String can be solved in time (k)𝒪(k2)L𝒪(1). Moreover, Binary Closest String can be solved in time 2𝒪(k2)L𝒪(1).

5.3 Equitable coloring parameterized by vertex cover

We consider the Equitable Coloring problem parameterized by the vertex cover number k. We note that Gomes et al. [14] show that the problem can be solved in time 2𝒪(klogk)|V(G)|𝒪(1) using a flow-based approach. Though we don’t match their running time, we still present an ILP to exhibit the applicability of our algorithm.

Given a graph G=(V,E), a vertex coloring of G is a function c:V(G) if for any (u,v)E(G) we have c(u)c(v). A vertex v is said to be colored i if c(v)=i. For each i, the set of vertices colored i form the ith color class Vi. We study the following problem.

Equitable Coloring Input: A graph G=(V,E) and a positive integer h Question: Is there a vertex coloring c of G using at most h colors such that the sizes of any two color classes differ by at most 1.

A vertex cover in G is a subset of vertices whose deletion results in an edgeless graph (also called an independent set). The vertex cover number of G is the size of a smallest vertex cover in G. Fiala et al. [13] show that Equitable Coloring is FPT when with respect to the vertex cover number k. They study the two cases of hk and hk separately. For the sake of presentation, we only cover the first case, and we note that the second case is dealt with in an almost identical manner and the claimed running time holds.

We assume that we are given a vertex cover W of size k: note that such a W can be computed in time 2𝒪(k) [8]. Let {I1,,Is} denote the partition of the independent set V(G)W according to their neighborhoods. Observe that s2k.

Let w=|V(G)|h, a=|V(G)|hw, and b=ha. For each proper coloring (V1,,Vh) of W, they construct a system of linear inequalities with sh variables xj(i), i[s] and j[h], where xj(i) indicates the number of vertices of color j in the set Ii:

  1. 1.

    xj(i)0;

  2. 2.

    xj(i)=0, if color j is used in N(Ii). Note that the non-negativity of the variables implies that this can equivalently be expressed as a single constraint i,jxj(i)=0 where the summation is over i[s],j[h] such that color j is used in N(Ii);

  3. 3.

    xj(1)++xj(s)=t+1|WVj| if j{1.,a};

  4. 4.

    xj(1)++xj(s)=t|WVj| if j{a,,h};

  5. 5.

    x1(i)++xh(i)=|Ii| for each i[s].

We claim that the above integer program is of the form (𝐏𝟐). The sh variables are partitioned into s blocks of size h. The constraints written in Items 2, 3, and 4 form the h+1 global constraints. The constraints written in Item 5 form the local constraints. The parameters corresponding to the above program are r=k+1, t=h|V(G)|, n=s2k, Δ=1, and q=i[s]|Ii|=|V(G)|k. Recall that for each k-coloring of W an integer program of the above kind is created. This can be done in time 2𝒪(k)|V(G)|𝒪(1). Thus, the overall running time is given by summing over all kk colorings the time to create and solve the corresponding program. Applying Corollary 7, we have the following.

Theorem 11.

Equitable Coloring can be solved in time 2𝒪(k2)|V(G)|𝒪(1).

We note that using existing algorithms for n-fold ILP, including [19, 6], results in a k𝒪(k2) dependence on k while we only have a 2𝒪(k2) dependence.

References

  • [1] Gautam Appa, Balázs Kotnyek, Konstantinos Papalamprou, and Leonidas S. Pitsoulis. Optimization with binet matrices. Oper. Res. Lett., 35(3):345–352, 2007. doi:10.1016/J.ORL.2006.04.003.
  • [2] Stephan Artmann, Robert Weismantel, and Rico Zenklusen. A strongly polynomial algorithm for bimodular integer linear programming. In Hamed Hatami, Pierre McKenzie, and Valerie King, editors, Proceedings of the 49th Annual ACM SIGACT Symposium on Theory of Computing, STOC 2017, pages 1206–1219. ACM, 2017. doi:10.1145/3055399.3055473.
  • [3] Imre Bárány. On the Power of Linear Dependencies, pages 31–45. Springer Berlin Heidelberg, Berlin, Heidelberg, 2008. doi:10.1007/978-3-540-85221-6_1.
  • [4] Robert Bredereck, Jiehua Chen, Sepp Hartung, Stefan Kratsch, Rolf Niedermeier, Ondrej Suchý, and Gerhard J. Woeginger. A multivariate complexity analysis of lobbying in multiple referenda. J. Artif. Intell. Res., 50:409–446, 2014. doi:10.1613/JAIR.4285.
  • [5] Robin Christian, Mike Fellows, Frances Rosamond, and Arkadii Slinko. On complexity of lobbying in multiple referenda. Review of Economic Design, 11(3):217–224, November 2007. doi:10.1007/s10058-007-0028-1.
  • [6] 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 Dániel Marx, editor, Proceedings of the 2021 ACM-SIAM Symposium on Discrete Algorithms, SODA 2021, Virtual Conference, January 10 - 13, 2021, pages 1666–1681. SIAM, 2021. doi:10.1137/1.9781611976465.101.
  • [7] Jana Cslovjecsek, Martin Koutecký, Alexandra Lassota, Michal Pilipczuk, and Adam Polak. Parameterized algorithms for block-structured integer programs with large entries. In David P. Woodruff, editor, Proceedings of the 2024 ACM-SIAM Symposium on Discrete Algorithms, SODA 2024, pages 740–751. SIAM, 2024. doi:10.1137/1.9781611977912.29.
  • [8] Marek Cygan, Fedor V. Fomin, Lukasz Kowalik, Daniel Lokshtanov, Dániel Marx, Marcin Pilipczuk, Michal Pilipczuk, and Saket Saurabh. Parameterized Algorithms. Springer, 2015. doi:10.1007/978-3-319-21275-3.
  • [9] Friedrich Eisenbrand, Christoph Hunkenschröder, and Kim-Manuel Klein. Faster algorithms for integer programs with block structure. In 45th International Colloquium on Automata, Languages, and Programming, ICALP 2018, volume 107 of LIPIcs, pages 49:1–49:13. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2018. doi:10.4230/LIPICS.ICALP.2018.49.
  • [10] Friedrich Eisenbrand, Christoph Hunkenschröder, Kim-Manuel Klein, Martin Koutecký, Asaf Levin, and Shmuel Onn. An algorithmic theory of integer programming. CoRR, abs/1904.01361, 2019. arXiv:1904.01361.
  • [11] Friedrich Eisenbrand, Lars Rohwedder, and Karol Wegrzycki. Sensitivity, proximity and FPT algorithms for exact matroid problems. In 65th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2024, pages 1610–1620. IEEE, 2024. doi:10.1109/FOCS61266.2024.00100.
  • [12] Friedrich Eisenbrand and Robert Weismantel. Proximity results and faster algorithms for integer programming using the Steinitz Lemma. ACM Trans. Algorithms, 16(1):5:1–5:14, 2020. doi:10.1145/3340322.
  • [13] Jirí Fiala, Petr A. Golovach, and Jan Kratochvíl. Parameterized complexity of coloring problems: Treewidth versus vertex cover. Theor. Comput. Sci., 412(23):2513–2523, 2011. doi:10.1016/J.TCS.2010.10.043.
  • [14] Guilherme C. M. Gomes, Matheus R. Guedes, and Vinícius Fernandes dos Santos. Structural parameterizations for equitable coloring: Complexity, FPT algorithms, and kernelization. Algorithmica, 85(7):1912–1947, 2023. doi:10.1007/S00453-022-01085-W.
  • [15] V. S. Grinberg and S. V. Sevast’yanov. Value of the steinitz constant. Functional Analysis and Its Applications, 14(2):125–126, April 1980. doi:10.1007/BF01086559.
  • [16] Raymond Hemmecke, Shmuel Onn, and Lyubov Romanchuk. n-fold integer programming in cubic time. Math. Program., 137(1-2):325–341, 2013. doi:10.1007/S10107-011-0490-Y.
  • [17] Klaus Jansen, Kai Kahler, Lis Pirotton, and Malte Tutas. Improving the parameter dependency for high-multiplicity scheduling on uniform machines. CoRR, abs/2409.04212, 2024. doi:10.48550/arXiv.2409.04212.
  • [18] Klaus Jansen, Kai Kahler, Lis Pirotton, and Malte Tutas. New algorithm for combinatorial n-folds and applications, 2025. arXiv:2409.04212.
  • [19] Klaus Jansen, Alexandra Lassota, and Lars Rohwedder. Near-linear time algorithm for n-fold ILPs via color coding. SIAM J. Discret. Math., 34(4):2282–2299, 2020. doi:10.1137/19M1303873.
  • [20] Klaus Jansen and Lars Rohwedder. On integer programming and convolution. In Avrim Blum, editor, 10th Innovations in Theoretical Computer Science Conference, ITCS 2019, volume 124 of LIPIcs, pages 43:1–43:17. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2019. doi:10.4230/LIPICS.ITCS.2019.43.
  • [21] Klaus Jansen and Lars Rohwedder. On integer programming, discrepancy, and convolution. Math. Oper. Res., 48(3):1481–1495, 2023. doi:10.1287/MOOR.2022.1308.
  • [22] Ravi Kannan. Minkowski’s convex body theorem and integer programming. Math. Oper. Res., 12(3):415–440, 1987. doi:10.1287/MOOR.12.3.415.
  • [23] Dusan Knop and Martin Koutecký. Scheduling meets n-fold integer programming. J. Sched., 21(5):493–503, 2018. doi:10.1007/S10951-017-0550-0.
  • [24] Dusan Knop, Martin Koutecký, Asaf Levin, Matthias Mnich, and Shmuel Onn. High-multiplicity n-fold IP via configuration LP. Math. Program., 200(1):199–227, 2023. doi:10.1007/S10107-022-01882-9.
  • [25] Dusan Knop, Martin Koutecký, and Matthias Mnich. Combinatorial n-fold integer programming and applications. Math. Program., 184(1):1–34, 2020. doi:10.1007/S10107-019-01402-2.
  • [26] Dusan Knop, Martin Koutecký, and Matthias Mnich. Voting and bribing in single-exponential time. ACM Trans. Economics and Comput., 8(3):12:1–12:28, 2020. doi:10.1145/3396855.
  • [27] Martin Koutecký, Asaf Levin, and Shmuel Onn. A parameterized strongly polynomial algorithm for block structured integer programs. In 45th International Colloquium on Automata, Languages, and Programming, ICALP 2018, volume 107 of LIPIcs, pages 85:1–85:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2018. doi:10.4230/LIPICS.ICALP.2018.85.
  • [28] Trung Thanh Nguyen and Jörg Rothe. Complexity results and exact algorithms for fair division of indivisible items: a survey. In Proceedings of the Thirty-Second International Joint Conference on Artificial Intelligence, IJCAI ’23, 2023. doi:10.24963/ijcai.2023/754.
  • [29] Christos H. Papadimitriou. On the complexity of integer programming. J. ACM, 28(4):765–768, 1981. doi:10.1145/322276.322287.
  • [30] Lars Rohwedder. Eth-tight FPT algorithm for makespan minimization on uniform machines. In Keren Censor-Hillel, Fabrizio Grandoni, Joël Ouaknine, and Gabriele Puppis, editors, 52nd International Colloquium on Automata, Languages, and Programming, ICALP 2025, July 8-11, 2025, volume 334 of LIPIcs, pages 126:1–126:13. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2025. doi:10.4230/LIPICS.ICALP.2025.126.
  • [31] Lars Rohwedder and Karol Wegrzycki. Fine-grained equivalence for problems related to integer linear programming. In Raghu Meka, editor, 16th Innovations in Theoretical Computer Science Conference, ITCS 2025, volume 325 of LIPIcs, pages 83:1–83:18. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2025. doi:10.4230/LIPICS.ITCS.2025.83.
  • [32] Sergey Vasil’evich Sevast’janov. on some geometric methods in scheduling theory: A survey. Discret. Appl. Math., 55(1):59–82, 1994. doi:10.1016/0166-218X(94)90036-1.
  • [33] Ernst Steinitz. Bedingt konvergente reihen und konvexe systeme. Journal für die reine und angewandte Mathematik, 1913(143):128–176, 1913. doi:10.1515/crll.1913.143.128.