ETH-Tight FPT Algorithm for Makespan Minimization on Uniform Machines
Abstract
Given jobs with processing times and machines with speeds our goal is to allocate the jobs to machines minimizing the makespan. We present an algorithm that solves the problem in time , where is the maximum processing time and is the number of distinct processing times. This is essentially the best possible due to a lower bound based on the exponential time hypothesis (ETH).
Our result improves over prior works that had a quadratic term in in the exponent and answers an open question by Koutecký and Zink. The algorithm is based on integer programming techniques combined with novel ideas from modular arithmetic. It can also be implemented efficiently for the more compact high-multiplicity instance encoding.
Keywords and phrases:
Scheduling, Integer ProgrammingCategory:
Track A: Algorithms, Complexity and Games2012 ACM Subject Classification:
Theory of computation Parameterized complexity and exact algorithms ; Theory of computation Mathematical optimizationFunding:
Supported by Dutch Research Council (NWO) project “The Twilight Zone of Efficiency: Optimality of Quasi-Polynomial Time Algorithms” [grant number OCEN.W.21.268].Editors:
Keren Censor-Hillel, Fabrizio Grandoni, Joël Ouaknine, and Gabriele PuppisSeries and Publisher:

1 Introduction
We consider a classical scheduling problem, where we need to allocate jobs with processing times to machines with speeds . Job takes time if executed on machine and only one job can be processed on a machine at a time. Our goal is to minimize the makespan. Formally, the problem is defined as follows.
Makespan Minimization on Uniform Machines Input: , , Task: Find assignment that minimizes
The special case with is called Makespan Minimization on Identical Machines. Either variant is strongly NP-hard and has been studied extensively towards approximation algorithms. On the positive side, both variants admit an EPTAS [10, 8], that is, a -approximation algorithm in time for any . Here, is an arbitrary function in .
More recently, the problem has also been studied regarding exact FPT algorithms, where the parameter is the maximum (integral) processing time or the number of different processing times , or a combination of both. Note that . An algorithm is fixed-parameter tractable (FPT) in a parameter , if its running time is bounded by , that is, the running time can have an exponential (or worse) running time dependence on the parameter, but not on the overall instance encoding length . The study of FPT algorithms in the context of our problem was initiated by Mnich and Wiese [16], who showed, among other results, that for identical machines there is an FPT algorithm in . The running time was improved through the advent of new generic integer programming (ILP) tools. Specifically, a series of works led to fast FPT algorithms for highly structured integer programs called -Fold Integer Programs, see e.g. [5]. Makespan Minimization on Uniform Machines (and, in particular, the special case on identical machines) can be modeled in this structure and one can directly derive FPT results from the algorithms known for -Fold Integer Programs [13]. Namely, the state-of-the-art for -Fold ILPs [5] leads to a running time of
Koutecký and Zink [15] stated as an open question whether the exponent of can be improved to . This is essentially the best one can hope for: even for identical machines Chen, Jansen, and Zhang [3] have shown that for any there is no algorithm that given an upper bound decides if the optimal makespan is at most in time , assuming the Exponential Time Hypothesis (ETH). Since there cannot be an algorithm for our problem with running time or either. Here, the latter follows from the fact that for .
A similar gap of understanding exists for algorithms for integer programming in several variants, see [19] for an overview. Since no improvement over the direct application of -Fold Integer Programs is known, Makespan Minimization on Uniform Machines can be seen as a benchmark problem for integer programming techniques. For brevity we omit a definition of -Fold Integer Programs here and refer the reader to [5] for further details.
Jansen, Kahler, Pirotton, and Tutas [9] proved that for the case where the number of distinct machine speeds, that is, , is polynomial in , the running time of can be achieved. Note that this includes the identical machine case. Jansen et al. [9] credit a non-public manuscript by Govzmann, Mnich, and Omlo for discovering the identical machine case earlier and for some proofs used in their result.
Our contribution
We fully settle the open question by Koutecký and Zink [15].
Theorem 1.
Makespan Minimization on Uniform Machines can be solved in time .
We first prove this for the following intermediate problem, which is less technically involved and simplifies the presentation of our algorithm.
Multiway Partitioning Input: , , with Task: Find partition such that
For consistency, we also use the job-machine terminology when talking about Multiway Partitioning. As a subroutine we solve the following generic integer programming problem that might be of independent interest.
Multi-Choice Integer Program Input: , with , , . Further, a partition of and for each . Task: Find maximizing , subject to and for all .
In literature this problem (or sometimes a very closely related variant) is also known as Combinatorial -Fold Integer Programming, see [14]. The running times achieved for this variant were later subsumed by algorithms achieving the same or better for general -Fold Integer Programs. We show a different parameter tradeoff than what is known from the literature on -Fold Integer Programs.
Theorem 2.
Multi-Choice Integer Programs can be solved in time
where .
Our algorithm is based on an approach that Eisenbrand and Weismantel [6] introduced, where they use the Steinitz Lemma for reducing the search space in integer programming. Their setting is the same as ours except that there is no partition , that is, one aims to find maximizing under the constraints . Directly using the algorithm by Eisenbrand and Weismantel, one would need to encode the constraints for as extra rows in , which would lead to a much worse running time of . Alternatively, one could apply algorithms for (Combinatorial) -Fold Integer Programs such as [5], but this would also lead to a quadratic exponent, that is, , which is not enough to achieve our goals.
We note that Jansen et al. [9] also used a tailored integer programming algorithm to obtain their result. There are similarities to our ILP algorithm, which is partly inspired by it. The method in [9] also reduces the search space, but via a divide-and-conquer approach due to Jansen and Rohwedder [11] rather than the Steinitz Lemma. It is the author’s impression that this method may also be able to produce a guarantee similar to Theorem 2, but since it is not stated in a generic way, we cannot easily verify this and use it as a black box. It seems that the approach in [9] suffers from significantly more technical complications than ours. Our proof is arguably more accessible and compact.
An important aspect in the line of work on FPT algorithms for Makespan Minimization is high-multiplicity encoding. Since the number of possible processing times is bounded, one can encode an instance efficiently by storing processing times and a multiplicity . Semantically, this means that there are jobs with processing time for each . The encoding can be much more compact than encoding many processing times explicitly. In fact, the difference can be exponential and therefore obtaining a polynomial running time in the high-multiplicity encoding length can be much more challenging than in the natural encoding. Our algorithm can easily be implemented in time , when given an input in high-multiplicity encoding of length . Alternatively, a preprocessing based on a continuous relaxation and proximity results can be used to reduce sufficiently and apply our algorithm as is, see e.g. [2, 15]. For readability, we use the natural instance encoding throughout most of this document.
Other related work
The special case of Multiway Partitioning where is exactly the classical Subset Sum problem. This problem has received considerable attention regarding the maximum item size as a parameter lately. Note that in contrast to the other mentioned problems, Subset Sum is only weakly NP-hard and admits algorithms pseudopolynomial in the number of items and the maximum size. Optimizing this polynomial (also in the more general Knapsack setting) has been subject of a series of recent works, see [18, 12, 4, 1].
It is natural to ask whether Makespan Minimization on Uniform Machines (or any of the previously mentioned variants) admits an FPT algorithm only in parameter (and not ). In the identical machine case, this depends on the encoding type. For high-multiplicity encoding there is a highly non-trivial XP algorithm due to Goemans and Rothvoss [7], that is, an algorithm with running time , and it is open whether an FPT algorithm exists. For natural encoding the result of Goemans and Rothvoss directly implies an FPT algorithm, see [15]. For uniform machines, the problem is -hard in both encodings, even under substantial additional restrictions, as shown by Koutecký and Zink [15].
Overview of techniques
Key to our result is showing and using the perhaps surprising fact that feasibility of a certain integer programming formulation is sufficient for feasibility of Multiway Partitioning. In essence, this model relaxes the load constraints for machines with large values of , requiring only congruence modulo for a particular choice of . We refer to Section 2 for details. It is not trivial to see that the model can be solved in the given time. We achieve this via a new algorithm for Multi-Choice Integer Programs, see Section 3, that we then use in Section 4 to solve our model for Multiway Partition. The result transfers to Makespan Minimization on Uniform Machines by a straight-forward reduction. Finally, we sketch how to adapt the algorithm to high-multiplicity encoding in Section 5.
2 Modulo Integer Programming Formulation
Our model uses a pivot element . The selection of is intricate as its definition is based on the unknown solution to the problem. We can avoid this issue by later attempting to solve the model for each of the possible choices of .
A machine is called small if and big otherwise. We denote the set of small machines by and the big machines by . Define mod-IP() as the following mathematical system:
(1) | |||||
(2) | |||||
(3) | |||||
(4) | |||||
Here, (4) guarantees that the solution is an assignment of jobs to machines, encoded by binary variables . Constraint (1) forces the machine load of small machines to be correct. Instead of requiring this also for big machines, (2) only guarantees the correct load modulo . Furthermore, we require that a sufficient number of jobs with processing time is assigned to the big machines. There always exists a pivot element, for which this system is feasible. We defer the details to Section 4 and dedicate the rest of this section to proving that any feasible solution for mod-IP() can be transformed efficiently into a feasible solution to Multiway Partition. In particular, feasibility of mod-IP() implies feasibility of the original problem, regardless of the choice of .
2.1 Algorithm
The solution from mod-IP() may have the wrong load on big machines. The algorithm repairs this by carefully removing and adding back jobs, which is done in three phases.
Phase I
Starting with the solution for mod-IP(), from each big machine we remove all jobs of processing time . Furthermore, as long as there is a processing time such that at least many jobs of size are assigned to the same big machine , we remove many of these jobs from . Note that both of these operations maintain Constraint (2).
However, Constraint (4) will be temporarily violated, namely some jobs are not assigned. After the operations have been performed exhaustively, there are at most jobs on each big machine and, using the definition of big machines, it follows that their total processing time is less than .
Phase II
We now assign back the jobs that we previously removed. First, we take each bundle of many jobs with the same processing time that we had removed together earlier. In a Greedy manner we assign the jobs of each bundle together to some big machine , where they can be added without exceeding . As we will show in the analysis, there always exists such a machine.
Phase III
Once all bundles are assigned, we continue with the jobs with processing time . We individually assign them Greedily to big machines , where they do not lead to exceeding .
2.2 Analysis
Lemma 3.
Let be the current assignment at some point during Phase II. Then there is a big machine with
In particular, adding any bundle to will not exceed .
Proof.
Let be the initial solution to mod-IP(), from which we derived . Recall that by the problem definition we have . Further, it holds that
Together, these statements imply that
Consider the operations on that led to and focus on one particular job . This jobs was either removed from some big machine and added back to another big machine, which does not change the left-hand side of the equation above; or its assignment did not change, which also does not affect the left-hand side; or it was removed without being added back, which decreases the left-hand side by . The latter is the case at least for the jobs with processing time equal to . It follows that
The last inequality follows from Constraint (3). It follows that there is a big machine with
Since each bundle consists of at most jobs with processing time at most , adding this bundle to will not exceed .
Lemma 4.
Let be the current assignment at some point during Phase III, but before all jobs have been assigned back. Then there is a big machine with
In particular, a job with processing time can be added to without exceeding .
Proof.
With the same argument as in the proof of Lemma 3 it follows that
Here, we do not have the same gap as in Lemma 3, since some jobs of size might already be assigned to big machines, but we still have strict inequality, since not all jobs are assigned. Thus, there is a big machine with . Notice that , since the initial solution for mod-IP(), from which was derived, satisfies this and all operations we perform only add or subtract a multiple of from the machine load. It follows that
Theorem 5.
Given a feasible solution to mod-IP(), the procedure described in Section 2.1 constructs a feasible solution to Multiway Partitioning in time polynomial in .
Proof.
By the previous Lemmas the algorithm succeeds in finding an assignment where each machine has load . Since equality must hold for each machine. The linear running time is straight-forward due to the Greedy nature of the algorithm.
3 Multi-Choice Integer Programming
This section is dedicated to proving Theorem 2. We refer to Section 1 for the definition Multi-Choice Integer Programs.
3.1 Algorithm
Let . On a high level we start with and then for iterations increase a single variable by one. We keep track of the right-hand side of the partial solution at all times. We do not, however, want to explicitly keep track of the current progress for each . Instead, we fix in advance, which set we will make progress on in each iteration, ensuring that for each there are exactly iterations corresponding to it. Further, we want to make sure that all sets progress in a balanced way, which will later help bound the number of right-hand sides we have to keep track of. For intuition, we think of a continuous time . At all variables are zero; at all sets are finalized, that is, for each . For each set we increase a variable at the breakpoints . This almost defines a sequence of increments, except that some sets may share the same breakpoints, in which case the order is not clear. We resolve this ambiguity in an arbitrary way.
Formally, we take the pairs for all and and order them non-decreasingly by their first component. Let us denote by the resulting sequence.
We now model the Multi-Choice Integer Program as a path problem in a layered graph. There are sets of vertices . The vertices correspond to right-hand sides , which stand for a potential right-hand side generated by the partial solution constructed in iterations . Formally, contains one vertex for every with . Let and and let be the corresponding right-hand sides. There is an edge from to if there is some with . Intuitively, choosing this edge corresponds to increasing by one. The weight of the edge is , or the maximum such value if there are several with .
We solve the longest path problem in the graph above from the -vertex of to the -vertex of . Since the graph is a DAG, this can be done in linear time in the number of edges of the graph, which is bounded by . From this path we derive the solution by incrementing the variable corresponding to each edge, as described above.
3.2 Analysis
It is straight-forward that given a path of weight in the graph above, we obtain a feasible solution of value for the Multi-Choice Integer Program. However, because we restrict the right-hand sides allowed in it is not obvious that the optimal solution corresponds to a valid path. In the remainder, we will prove this.
Lemma 6.
Given a solution of value for the Multi-Choice Integer Program, there exists a path of the same weight in the graph described in Section 3.1.
This crucially relies on the following result.
Proposition 7 (Steinitz Lemma [20], see also [6]).
Let be an arbitrary norm. Let and with and for all . Then there exists a permutation such that for all it holds that
The challenge lies in coordinating the many sequences in the construction of our graph. We remark that this is at least in spirit related to an interesting variant of the lemma above, the so-called colorful Steinitz Lemma, which was recently proven by Oertel et al. [17] and applied to another integer linear programming problem. Their bounds, however, require an intricate new proof, while we can rely on the traditional Steinitz Lemma as described above.
Proof of Lemma 6.
Consider first one set . Let
be the solution restricted to . For each we define a vector
Observe that for all and
Thus, by the Steinitz Lemma we can find a bijection such that
Using the definition of we obtain that
Next we define the following increments: for an iteration with and we increment the variable . In other words, for each set we follow exactly the order given by .
It remains to bound the right-hand side of each partial solution. Consider again an iteration . Let be the number of increments to set that have been performed during iterations . Then must be such that . In other words,
Let be the partial solution after iteration . Then using and several triangle inequalities, we calculate that
It follows that solution can be emulated as a path in the given graph using the increment sequence defined above. Since the weights of the edges correspond to the values of , this path has weight .
We conclude this section by showing that the previous result extends to the case of Multi-Choice Integer Programs with inequalities instead of equalities.
Corollary 8.
Let with , , and . Let be a partition of and for each . In time
where , we can solve
Proof.
We reduce to Theorem 2 by adding slack variables. First, we remove all trivial constraints. If then the corresponding constraint cannot be violated. For each row of we add two variables , which form a new set in the partition with required cardinality . We add to the left-hand side of th inequality and replace it by an inequality. Given a solution to the ILP with inequalities, we can set and for to obtain a feasible solution for the ILP with equalities. For a feasible solution for the ILP with equalities, the same settings of variables is also feasible for the ILP with inequalities. Hence, both ILPs are equivalent. The transformation increases by , by , and by . These changes do not increase the running time bound asymptotically.
4 Main Result
We first need to verify that mod-IP() is indeed feasible for some choice of .
Lemma 9.
Given a feasible instance of Multiway Partitioning, there exists a pivot such that mod-IP() is feasible.
Proof.
Consider the assignment corresponding to the solution of Multiway Partitioning. By definition of the problem, this assignment satisfies Constraint (4) and for each that
(5) |
This implies that Constraints (1) and (2) are satisfied, for any choice of . Recall that each big machine has . In particular, (5) implies that
(6) |
Thus,
(7) |
Thus, there exists some with
(8) |
In other words, Constraint (3) holds for this choice of , which concludes the proof. We will now model the problem of solving mod-IP() as a Multi-Choice Integer Program. The following is a relaxation of mod-IP():
Here, we swap the constraint on jobs of size to the small machines instead of the large ones and, more importantly, we do not require all jobs to be assigned. This model and mod-IP() are in fact equivalent, since all jobs that are unassigned must have a total processing time that is divisible by (because of and the constraints). Thus, one can derive a solution to mod-IP() by adding all unassigned jobs to an arbitrary big machine, assuming . If, on the other hand, then the requirement that small machines have the correct load implies that all jobs are assigned, making the model exactly equivalent to mod-IP().
We can therefore focus on solving the model above, which is done with the help of the standard modeling technique of configurations.
Notice that in the model above small machines can have at most jobs assigned to each. For big machines, we may also assume without loss of generality that at most jobs are assigned to each, since otherwise we can remove many jobs of the same processing time without affecting feasibility.
Importantly, there are only a small number of machine types: for the small machines there are only possible values of and all machines with the same value of behave in the same way; for big machines, all machines with the same value of behave the same and thus there are only many types. For one of the many types , we say that a vector is a configuration if the given multiplicities correspond to a potential job assignment, namely if and if . Here, is the target (or remainder modulo ) corresponding to the type and are the sorted distinct processing times . We denote by the set of configurations for type and by the number of machines of type . In the following model, we use variables to describe how many machines of type use configuration .
It is straight-forward that this model is indeed equivalent to the previous one. The integer program has the structure of a Multi-Choice Integer Program (with inequalities) partitioned into the sets for each type . The maximum coefficient of the constraint matrix is , the number of rows of constraint matrix is , and the sum of cardinality requirements is . Applying Corollary 8 this leads to a running time of , assuming the values have been precomputed.
Makespan Minimization on Uniform Machines
We use a binary search framework on the problem, where given our goal is to determine if there is a solution with machine loads for each machine . Since the optimal value has the form for some and , a binary search all these values increases the running time by a factor of only , which is polynomial in the input length. Our techniques rely heavily on exact knowledge of machine loads. To emulate this, we add many dummy jobs with processing time . Clearly, this maintains feasibility and, more precisely, creates a feasible instance of Multiway Partitioning, assuming that is a valid upper bound. Note that may increase by one, which is negligible with respect to our running time. We can now solve the resulting instance using the algorithm for Multiway Partitioning.
5 High-Multiplicity Encoding
Recall that in the high-multiplicity setting we are given processing times with multiplicities (next to the machine speeds ). The encoding length is therefore
A solution is encoded by vectors that indicate how many jobs of processing time are assigned to machine , which is of size polynomial in . Through a careful implementation we can solve Makespan Minimization on Uniform Machines also in time . The binary search explained at the end of Section 4 adds only an overhead factor of Notice that the ILP solver in Section 4 already runs in time of , which is sufficiently fast. This needs to be repeated times for each guess of . Afterwards, we need to implement the Greedy type of algorithm in Section 2. Instead of removing one bundle or job at a time, we iterate over all machines and processing times and remove as many bundles as possible in a single step. This requires only time . Similarly, we can add back bundles and jobs of size in time by always adding as many bundles as possible in one step.
References
- [1] Karl Bringmann. Knapsack with small items in near-quadratic time. In Proceedings of STOC, pages 259–270, 2024. doi:10.1145/3618260.3649719.
- [2] Hauke Brinkop, David Fischer, and Klaus Jansen. Structural results for high-multiplicity scheduling on uniform machines. CoRR, abs/2203.01741, 2024. arXiv:2203.01741.
- [3] Lin Chen, Klaus Jansen, and Guochuan Zhang. On the optimality of approximation schemes for the classical scheduling problem. In Proceedings SODA, pages 657–668, 2014. doi:10.1137/1.9781611973402.50.
- [4] Lin Chen, Jiayi Lian, Yuchen Mao, and Guochuan Zhang. Faster algorithms for bounded knapsack and bounded subset sum via fine-grained proximity results. In Proceedings SODA, pages 4828–4848, 2024. doi:10.1137/1.9781611977912.171.
- [5] 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 Proceedings of SODA, pages 1666–1681, 2021. doi:10.1137/1.9781611976465.101.
- [6] Friedrich Eisenbrand and Robert Weismantel. Proximity results and faster algorithms for integer programming using the steinitz lemma. ACM Transactions on Algorithms (TALG), 16(1):1–14, 2019. doi:10.1145/3340322.
- [7] Michel X Goemans and Thomas Rothvoß. Polynomiality for bin packing with a constant number of item types. Journal of the ACM (JACM), 67(6):1–21, 2020. doi:10.1145/3421750.
- [8] Klaus Jansen. An eptas for scheduling jobs on uniform processors: using an milp relaxation with a constant number of integral variables. SIAM Journal on Discrete Mathematics, 24(2):457–485, 2010. doi:10.1137/090749451.
- [9] 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.
- [10] Klaus Jansen, Kim-Manuel Klein, and José Verschae. Closing the gap for makespan scheduling via sparsification techniques. Mathematics of Operations Research, 45(4):1371–1392, 2020. doi:10.1287/MOOR.2019.1036.
- [11] 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.
- [12] Ce Jin. 0-1 knapsack in nearly quadratic time. In Proceedings STOC, pages 271–282, 2024. doi:10.1145/3618260.3649618.
- [13] Dusan Knop and Martin Koutecký. Scheduling meets n-fold integer programming. Journal on Scheduling, 21(5):493–503, 2018. doi:10.1007/S10951-017-0550-0.
- [14] Dusan Knop, Martin Koutecký, and Matthias Mnich. Combinatorial n-fold integer programming and applications. Mathematical Programming, 184(1):1–34, 2020. doi:10.1007/S10107-019-01402-2.
- [15] Martin Koutecký and Johannes Zink. Complexity of scheduling few types of jobs on related and unrelated machines. In Proceedings of ISAAC, volume 181, pages 18:1–18:17, 2020. doi:10.4230/LIPICS.ISAAC.2020.18.
- [16] Matthias Mnich and Andreas Wiese. Scheduling and fixed-parameter tractability. Mathematical Programming, 154(1-2):533–562, 2015. doi:10.1007/S10107-014-0830-9.
- [17] Timm Oertel, Joseph Paat, and Robert Weismantel. A colorful steinitz lemma with application to block-structured integer programs. Mathematical Programming, 204(1):677–702, 2024. doi:10.1007/S10107-023-01971-3.
- [18] Adam Polak, Lars Rohwedder, and Karol Węgrzycki. Knapsack and subset sum with small items. In Proceeding of ICALP, pages 1–19, 2021. doi:10.4230/LIPICS.ICALP.2021.106.
- [19] Lars Rohwedder and Karol Wegrzycki. Fine-grained equivalence for problems related to integer linear programming. In Proceedings of ITCS, 2025.
- [20] S Sevast’janov. Approximate solution of some problems of scheduling theory. Metody Diskret. Analiz, 32:66–75, 1978.