Abstract 1 Introduction 2 Preliminaries 3 Aggregation of an ILP 4 Bounding the Support for Bin Packing References

The Support of Bin Packing Is Exponential

Klaus Jansen ORCID Department of Computer Science, Kiel University, Germany Lis Pirotton ORCID Department of Computer Science, Kiel University, Germany Malte Tutas ORCID Department of Computer Science, Kiel University, Germany
Abstract

Consider the classical Bin Packing problem with d different item sizes si and amounts of items ai. The support of a Bin Packing solution is the number of differently filled bins. In this work, we show that the lower bound on the support of this problem is 2Ω(d). Our lower bound matches the upper bound of 2d given by Eisenbrand and Shmonin [Oper.Research Letters ’06] up to a constant factor.
This result has direct implications for the time complexity of several Bin Packing algorithms, such as Goemans and Rothvoss [SODA ’14], Jansen and Klein [SODA ’17] and Jansen and Solis-Oba [IPCO ’10].
To achieve our main result, we develop a technique to aggregate equality constrained ILPs with many constraints into an equivalent ILP with one constraint. Our technique contrasts existing aggregation techniques as we manage to integrate upper bounds on variables into the resulting constraint. We believe this technique can be useful for solving general ILPs or the d-dimensional knapsack problem.

Keywords and phrases:
Bin Packing, Integer Programming, Support
Copyright and License:
[Uncaptioned image] © Klaus Jansen, Lis Pirotton, and Malte Tutas; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Integer programming
; Theory of computation Packing and covering problems
Funding:
Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – Project number 528381760
Editors:
Anne Benoit, Haim Kaplan, Sebastian Wild, and Grzegorz Herman

1 Introduction

In their seminal work [8] Eisenbrand and Shmonin inspect integer conic combinations bd of a finite set of integer vectors Xd. They provide upper bounds on the size of the smallest subset XX such that b is an integer conic combination of elements in X. This can be interpreted in the context of integer programming. Integer Programs (IPs) are composed of a matrix Ad×n, an (optional) cost vector cn, a target vector bd and a solution vector xn. The goal is to compute the solution vector satisfying Ax=b while minimizing the value cTx. In this context, the set of integer vectors correspond to the columns of A and the size of the smaller subset X is the number of non-zero entries (the support) in the solution vector. More precisely, they show that for any polytope Pd and any integral vector x0|Pd| of multiplicities there exists a x0|Pd| such that |supp(x)|2d and pPdxpp=pPdxpp. They achieve this through a sophisticated exchange argument, transforming a solution with a large support into one with a bounded support. They show a second bound of O(dlog(dΔ)), where Δ=A is the largest number in the matrix A, in a similar fashion. These celebrated result have found application in a variety of applications. These include classical problems of computer science like scheduling on identical and uniform machines (using the second bound) [15, 19] and bin packing problem (using the first bound) [13, 18, 20].

Figure 1: An illustration of the Bin Packing problem with three item types, four bins and capacity C. Colors indicate item types. Each bin has a unique configuration, i.e., combination of items, assigned to it. Only the leftmost bin is completely filled. The sizes of each item type are shown on the right.

Improvements on the first bound would have direct implications for the time complexity of several algorithms. Consider the high-multiplicity Bin Packing (BP) problem with bin size C: We are given item sizes s1,sd[0,C], and multiplicities ai0,i[d]. The task is to find the minimum number B such that all items can be packed into B bins of size C. See Figure 1 for an illustration. For this problem, Jansen and Solis-Oba [20] give an additive approximation algorithm with guarantee OPT+1. The time complexity of their algorithm is dO(d2d)2O(8d)poly(enc), where poly(enc) represents a polynomial in the input. In their paper, they ask whether the support bound by Eisenbrand and Shmonin can be improved to be polynomial in d. Consequently, this would reduce the dependency on d in the algorithm to be singly-exponential, i.e., result in a running time of 2poly(d)poly(enc).

Figure 2: An illustration of the Cone and Polytope Intersection problem with three points piP and the target tQ. The values of each vector are given. A possible solution is shown.

Following this result, Goemans and Rothvoss [13] provide an algorithm running in time enc(s,a,C)2O(d). Here, enc(s,a,C) denotes the bitsize of encoding the size vector s, the multiplicity vector a and the bin capacity C in binary. The time complexity of this algorithm would also be improved by a smaller support bound. For example, a polynomial support poly(d) in d directly improves their running time to enc(s,a,C)poly(d). They achieve this result by solving a more general problem, the Cone and Polytope Intersection (CAPI) problem. Here, we are given two polytopes P,Qd, where P is bounded. The task is to decide whether there is a point in Q that can be expressed as a non-negative integer combination of integer points in P. Goemans and Rothvoss show that this problem captures the essence of high-multiplicity BP. They reduce BP to CAPI by setting the integer points in P={(x1)0d+1|sTxC} to every possible configuration, i.e., combinations of items that fit in a single bin. They set Q=(aB) to be the point that corresponds to all items being taken. The final entry in P and Q is used to count the number of used bins B.

Jansen and Klein extend the work of Goemans and Rothvoss in [18]. They give an algorithm for bin packing that depends on the number VI of vertices in the underlying knapsack polytope of a single bin. Their algorithm has a running time of |VI|2O(d)enc(s,a,C)O(1). Thus, it improves upon Goemans and Rothvoss’ result when VI is small. However, it does not improve upon the result by Goemans and Rothvoss in the general sense, as the bound on VI is Ω(enc(s,a,C))d as given by Hayes and Larman [14].

All three of these results could be improved with a polynomial (in d) support bound for BP. However, our result shows that there is no polynomial support bound in d for bin packing, and thus answers the question posed by Jansen and Solis-Oba negatively. Goemans and Rothvoss made first strides in this direction in [13], where they show that the bound given by Eisenbrand and Shmonin is tight for polytopes, i.e., there is an exponential support when reaching a target with only column vectors or linear combinations of them. They construct a set of column vectors X with dimension d and |X|=2d1. Define the polytope P=conv(X), where conv(X) is the convex hull of X. They then define t=xXx and show that you can only reach t by taking every element of X exactly once. This shows a lower bound on the support of 2d1=2Ω(d). However, their bound does not admit a knapsack constraint and can therefore not be applied to the bin packing problem directly. This is because the columns in the bin packing ILP originate from a knapsack constraint that determines the feasible packings of a single bin.

With so many different problems gaining important information from support bounds, it should come as no surprise that there are other bounds on the support of integer programs with different parameterizations. Berndt, Brinkop, Jansen, Mnich and Stamm show that the support is also bounded by d(log(3A1)+log(A1)) [3]. They complement this result by showing a lower bound on the size of the support of d(log(||A||1+1). Aliev, de Loera, Oertel and O’Neill [2] give two support bounds for linear diophantine equations of r(A)+log(H(A)), where r(A) is the column rank of the matrix A and H(A) is the determinant of the span of the r(A)-dimensional sublattice of n formed by all integer points in the linear subspace spanned by the columns of A, i.e., H(A)=det(span(A)n). Their second bound is 2dlog(2dΔ). Aliev, De Loera, Eisenbrand, Oertel and Weismantel [1] show the bound of 2dlog(2dΔ) for general ILPs.

The main tool we use in the following is aggregation. Aggregation is a powerful tool that transforms an ILP with multiple constraints into a single constraint. Research into this technique began in the 70’s, resulting in several different aggregation methods, see e.g. [4, 5, 9, 11, 12, 21, 22, 23, 24]. Elmaghraby and Wig [9] iteratively combine two equations into a single one. Applying this technique repeatedly yields a single constraint. Another approach is given by Padberg [22]. Instead of combining two equations iteratively, he aggregates all equations at the same time.

Our approach is based on the techniques by Padberg [22]. Our aggregation techniques also aggregate all constraints in a single step. However, we manage to include the upper bounds of the variables inside the resulting knapsack constraints, where Padbergs method leaves them outside the constraint. We believe that this type of aggregation can find application in different contexts, such as d-dimensional knapsack problems or general ILPs with d constraints. Here, the aggregation may yield faster algorithms, especially when one manages to reduce the size of the coefficients. This may be done by using techniques by Frank and Tardos [10], Eisenbrand, Hunkenschröder, Klein, Koutecký Levin and Onn [7] or Jansen, Kahler and Zwanger [16].

On the negative side, it is known that aggregation is not feasible for a set of inequalities, as was proven by Chvátal and Hammer [6]. They provide a simple two-line ILP that cannot be aggregated.

1.1 Our Contribution

In this work, we continue research into the support of Bin Packing solutions. We show that a set of points of Cone and Polytope Intersection can be embedded inside a knapsack polytope of dimension O(d). Using this polytope, we show that the support of the high-multiplicity BP problem is exponential, requiring at least 2Ω(d) many different configurations in an optimum solution. This yields our main result, Theorem 1:

Theorem 1.

There exists a high-multiplicity Bin Packing instance of dimension d such that the solution-vector x (a vector of configurations) contains at least 2Ω(d) non-zero entries, i.e., |supp(x)|2Ω(d).

With this result, we answer an open question posed by Jansen and Solis-Oba in [20]. They provide an algorithm for the cutting stock problem. The running time of this algorithm could be improved to be singly-exponential if the support of bin packing is not exponential. However, our result answers this question negatively. In a similar vein, our result shows that the algorithm by Goemans and Rothvoss [13] can not be directly improved. The same holds for the algorithm by Jansen and Klein [17].

A major tool to achieve this result is the aggregation of multiple constraints without upper bounds on the variables into a single constraint. To the best of our knowledge, this type of constraint-aggregation has not been done before. Contrasting prior results, our method of aggregation manages to include upper bounds inside the constraints instead of copying them from the original problem. This technique is given in Section 3.

Overview

Here, we give a brief overview of the structure of the document and the structure of our main proof. We begin, in Section 3, by developing a technique with which we can aggregate an ILP containing only d equalities into one containing only a single equality. Next, in Section 4.1 we adapt an idea originally given by Goemans and Rothvoss in [13] to construct a polytope P of dimension d+1 and generate a target vector t. We provide an alternative proof to [13] that shows we require 2d1 points in P to reach t. Next, in Section 4.2, we construct an equality ILP with O(d) constraints. Each constraint later defines an item size of the BP problem. We show that there are 2d1 feasible solutions to this ILP, with each solution x having the first d+1 entries as vectors in P, i.e., there is one solution to the ILP for each vector in P. These solutions are the 2d1 configurations X of the BP problem. Then, we aggregate this ILP using the technique in Section 3. This yields an equality ILP with one row. We transform this into a knapsack constraint with right hand side C. Denote the set of all configurations with total size at most C as X. This constraint is then used to define the capacity of a bin in the BP problem. The total number of items of each type is given as the sum of all configurations in X. To place all these items in the optimal 2d1 bins, we know, by Section 4.1, that need to take every configuration in X exactly once. Taking any configuration in XX would require at least one additional bin. This proves Theorem 1.

2 Preliminaries

For a positive integer n, we define [n]{1,2,,n} and [n]0{0,1,,n}. A vector that contains a certain value in all entries is stylized, e.g. the zero vector 0d is written as 𝕆d. We omit the dimension d if it is apparent from the context. The support of a d-dimensional vector v is the set of its indices with a non-zero entry. It is denoted by supp(v){i[d]vi0}. We define the size of the support with s(v)|supp(v)|.

Definition 2 (Bin Packing).

Given is a set of d different item types with sizes si(0,C] and amounts ai0. Given a number B0, the goal is to decide whether all items can be assigned to one of B bins, while all bins are filled to at most C.

A powerful tool to model countless optimization problems is that of integer programming.

Definition 3 (Integer Programming).

An integer linear program (ILP) is composed of a matrix Ad×n, an (optional) cost vector cn, a target vector bd and a solution vector x0n. The goal is to compute a solution vector satisfying Ax=b while minimizing the value cTx.

Such integer programs can be used to express high-multiplicity Bin Packing. These are often referred to as configuration ILPs. A configuration is a feasible assignment x0d of items into a bin, i.e., one with total size at most sTxC. Denote the set of all feasible configurations as 𝒞, and set n:=|𝒞|. Set c=𝟙n and let each column of A represent a configuration, where row i corresponds to item type i. Finally set the right hand side b:=a, i.e., the vector representing the total number of items of each size in the instance.

A useful tool that we use is the classical knapsack problem.

Definition 4 (Unbounded Knapsack).

Given a set I of n items each defined by a profit pi0 and a weight wi1, along with a knapsack of capacity C1. Find a solution vector x0n such that i=0nwixiC and i=0npixi is maximal. We call i=0nwixi=C the equality Knapsack constraint to the corresponding problem.

Following this definition, we call the set of all solutions fulfilling xi0, i[n] and i=0nwixiC the Knapsack Polytope.

3 Aggregation of an ILP

In this section, we show how to transform an ILP with multiple equality constraints into a single knapsack constraint. The novel aspect of our technique is that we also include the external upper bounds of the variables in the aggregation.

Consider an ILP of the form min{cTxAx=b,x0n,xu} with A=(aij)i[d],j[n]d×n,cn,u0n and bd and let ΔA be the largest absolute value in A.

For each variable xj,j[n], we define the following constraint: xj+sj=uj, where sj0 is a slack variable. This simulates the upper bound xjuj. Define Uj=1nuj as the overall upper bound on the sum of all variables. For this, add the constraint:

i=jn(xj+sj)+sn+1=U, (1)

with sn+10 as a slack variable. Note that bounding the sum of variables by the sum of their upper bounds does not change the solution.

This results in a new ILP A(xs)=(b,u,U), where

A(A0dn0InIn0𝟙n𝟙n1)(d+n+1)×(2n+1).

Next, we use the bound U to define a large integer M, which we then use to aggregate the constraints.

MΔU+max(b,u)+Δ+2>ΔU+max(b,u). (2)

By giving the upper-bound constraint (1) the largest weight Md+n, we ensure that it may never be broken and thus, keeps the sum of the variables in its range. Multiplying both sides of the equations with 1,M,M2,,Md+n generates the following ILP where all variables have to be non-negative integers.

j=1na1jxj=b1Mj=1na2jxj=Mb2Md1j=1namjxj=Md1bmMd(x1+s1)=Mdu1Md+n1(xn+sn)=Md+n1unMd+n(j=1n(xj+sj)+sn+1)=Md+nUxj0j[n]sj0j[n+1] (3)

These constraints can also be formulated as A(xs)=(b,u,U), where

A(A0dn0InIn0𝟙n𝟙n1)(d+n+1)×(2n+1)

An intuitive view of the aggregation technique is that the resulting single constraints solution is a base M number, where M is a large integer. There, the smallest digit represents the solution of the first constraint, the second constraints solution is represented by the second smallest digit and so on.

Next, we show that this ILP can be aggregated into a single equality knapsack constraint by proving that their solutions are identical. The proof is presented in the full version.

Lemma 5 (✂).

The vector 𝚜𝚘𝚕=(x,s)T02n+1 is a feasible integer solution to (3) if and only if 𝚜𝚘𝚕 is an integer solution to the following equation:

i=1d(Mi1j=1n(aijxj))+j=1n(Md+j1(xj+sj))+Md+n(j=1n(xj+sj)+sn+1)
=i=1d(Mi1bi)+j=1n(Md+j1uj)+Md+nU (4)

4 Bounding the Support for Bin Packing

Assume we are given a knapsack polytope P of dimension d+1. Also assume that there exists a Bin Packing instance with just one unique integer solution x0d, d=O(d) to the configIP and the d+1-dimensional integer points in P are equal to the first d+1 dimensions of the configurations. If we now require k different points in P to represent a vector t as a conic integer combination then x has at least k non-zero entries, which means that we need at least k different configurations in the Bin Packing solution. If now k is exponential in d, we have shown that there exists an exponential lower bound on the support of the Bin Packing problem, i.e., Theorem 1.

4.1 The support of closed polytopes

In this section, we give a knapsack polytope P of dimension d+1 and show that there exists a vector td+1 such that we need at least 2d1 points in P to represent t as a conic integer combination. We adapt a construction pioneered by Goemans and Rothvoss in [13] and set

X={𝕆}{(x1,,xd,(4k)i=0d12ixi)xi{0,1}i[d]}{(0,,0,1)}}={a0,a1,,ak} (5)

with k=2d1 and define Pconv(X). E.g. for d=2, we have

X ={(000),(104k),(01(4k)2),(11(4k)3)}.

Assume that the elements in X are sorted according to their length, i.e., a0=0 and ai=(4k)i for all i[k]. Then the following lemma proves the goal of this section.

Lemma 6.

Set t=i=0kai. The conic combination t=i=1kai is unique (except for arbitrarily adding a0). This implies that we need all 2d1 points in P exactly once to represent t as a conic integer combination.

Proof.

Each integer conic combination that represents t and includes 𝕆 can be transformed into an integer conic combination of less points by removing 𝕆. Therefore, we can assume that 𝕆 is not part of the conic combination.

Now considering P, the only integer points in P are the elements in X, i.e., Pd+1=X. This holds due to the first d coordinates. For all μi(0,1) with iμi=1 it holds that μi0+μj1 and for each pair of vectors (ai,aj)X with ij, there is at least one coordinate , where with ai()=0 and aj()=1 or ai()=1 and aj()=0. Thus, there can not be any integer points other than X in Pd+1.

Now consider an arbitrary integer conic combination i=1kμiai=t=(2d12d1i=1k(4k)i). Since t1==td1=2d1 and we do not include 𝕆, we can not take a single vector more than 2d1k times. Furthermore, we can not take more than dk vectors total, as each vector except 𝕆 has an entry in at least one of the d dimensions, and each entry can only sum up to k. This leaves us with the following:

0i=1kμi d2d1dk, and
μi 2d1ki[k]

i.e., that at most dk vectors can be summed up to reach t and each vector is taken k times.

We now show that μi=1 for all i[k] is the only solution to t=i=1kμiai. First, observe that td+1=i=1k(4k)i<2(4k)k holds. Therefore, we have μk<2. Next, observe that k(4k)x1<(4k)x(4k)x1(k+1)(4k)x1<(4k)x holds for all x1 because (k+1)<4k. Because of this, even after adding the maximum possible k copies of the k1-th item, we have that td+1k(4k)k1>(4k)k1. We can only compensate this difference by adding smaller items. Here, we can apply the argument iteratively, as we can only add k copies of column (k2) to sum up to a value >(4k)k1. Thus, i=1k1k(4k)i<(4k)k holds. Therefore, we can not sum up to (4k)k without the last item and μk>0 directly follows. Taking μk<2 and μk>0 together, we have μk=1. Because of μk=1, we have td+1=i=1k1(4k)i, and we only need to consider μi,i[k1]. Then, this argument can be applied iteratively, yielding μi=1 for all i[k].

By Lemma 6, we have shown that we require 2d1 different points in P to represent a vector t as a conic integer combination. In the following we build the bridge to Bin Packing and prove that there exists a Bin Packing instance where the first d+1 dimensions of the solution vector of its configIP equals the integer points in P. In total, our Bin Packing instance has O(d) dimensions which then with Lemma 6 implies the exponential lower bound of Bin Packing and therefore Theorem 1.

4.2 Construction of the ILP

In this section, we now aim to construct an ILP with equality constraints, where the first d+1 coordinates in its solution vectors are unique and form the following set:

{(x0bin,,xd1bin,γ=0d12xbin)xbin{0,1}[d1]0}{(0,,0,1)}}. (6)

Note that this is exactly the set X of points in P in the prior section without a0=𝕆 and where γ=4k and that the solution vectors form the configurations in the configIP.

Also note that the last coordinate is of the form γi for some i1 and the first d coordinates are the binary encoding of i. We first define a variable r(d), which we use to construct a set of constraints that is only feasible if r(d)=γi holds for some i1. Additionally, a certain set of variables in the constraints matches the points in Equation 6. In second part of this section, we use the aggregation presented in Section 3 to transform these constraints into a single knapsack constraint. We provide a proof that the knapsack constraint is indeed equivalent to the proposed set of constraints (i.e., both allow the same set of solutions) and requires O(d) many variables. With this equivalence, we then have that the first d+1 dimensions of the configurations in the configIP form the set Equation 6. In combination with the Lemma 6, this then implies that there exists an exponential lower bound on the support of the Bin Packing problem.

Next, assume that we are given a dimension d1 and a base γ2. We introduce a set of constraints with O(d) variables which has exactly 2d1 integer solutions. For each i[2d1], the variable r(d) of the solution vector is forced to take the value γi. Additionally, the variables xbin(){0,1},[d1]0 match the binary encoding of i, i.e., i==0d12xbin().

For a brief overview, our constraints behave as follows. First, the value r(d) is some integer in the interval [2,γ2d1]. Let us assume that r(d)=γi for some i. Later, we show that we only allow those integers that equal γi where i is a positive integer. Next, for each =d1,,0, we introduce the variable y() that helps us to correctly determine the bit xbin() of the binary encoding. We also introduce the variable z() that helps us to determine the r() which will then be used recursively. For a more detailed version of the procedure of converting a decimal number i1 to binary, we refer to Algorithm 1. Note that the number we aim to convert is in the exponent of γ.

Algorithm 1 Decimal to Binary.

Input: Dimension d1; Base γ2; Exponent i1
Output: Binary encoding xbin of i

The following set of constraints simulates this algorithm. Let α be some integer number larger than 3. Later, α represents the total number of constraints. Each set of constraints C,k,k[13] is defined for all [d1]0. They simulate the algorithm above. Additionally, Cα2 bounds r(d), i.e., ensures its binary encoding has at most d bits. C0 guarantees that in the end, there is no remainder left. This constraint is also needed to guarantee that the exponent i is integer (Lemma 12). Also, we do not want to allow i=0, respectively xbin()0. That is done by Cα3. Thus, in total, we have 13d+3 constraints.

Constraints 1.

For each [d1]0, we have the following set of constraints:

y()0(C,1)y()(r(+1)/γ2)+1/(γ2+1)(C,2)y()(r(+1)/γ2)(γ21)/γ2(C,3)xbin()0(C,4)xbin()1(C,5)xbin()y()(C,6)y()(γ2+1)xbin()(C,7)r()0(C,8)(γ21)z()+r()=r(+1)(C,9)z()0(C,10)z()γ2+γ2xbin()+r()(C,11)z()γ2xbin()(C,12)z()r()(C,13)

Also, we add the additional constraints C0,Cα3 and Cα2

r(0)=1(C0)r(d)2(Cα3)r(d)γ2d1(Cα2)

All of the constraints are necessary to ensure that r(d) takes some value of the form γi,i1, while xbin is the binary encoding of i. Moreover, the constraints forbid any other assignment of r(d) and xbin. All other variables are forced to take a specific value based on i. In the full version, we give an example that we cannot omit the variables z(), as that would allow other solutions with r(d)=γi,i1.

For easier understanding, we now present an example.

Example 7.

Let γ2 and set d3. Then, for i[7], we get the following values for the variables.

i 1 2 3 4 5 6 7
r(3) γ1 γ2 γ3 γ4 γ5 γ6 γ7
y(2) 0 0 0 1 γ1 γ2 γ3
y(1) 0 1 γ1 0 0 1 γ1
y(0) 1 0 1 0 1 0 1
xbin(2) 0 0 0 1 1 1 1
xbin(1) 0 1 1 0 0 1 1
xbin(0) 1 0 1 0 1 0 1
r(2) γ1 γ2 γ3 γ44=1 γ54=γ1 γ64=γ2 γ74=γ3
r(1) γ1 γ22=1 γ32=γ1 1 γ1 γ22=1 γ32=γ1
r(0) γ11=1 1 γ11=1 1 γ11=1 1 γ11=1
z(2) 0 0 0 1 γ1 γ2 γ3
z(1) 0 1 γ1 0 0 1 γ1
z(0) 1 0 1 0 1 0 1

Now, we state properties for the variables y(),xbin(),r(),z() based on the value of r(+1). After that, we prove that the vector xbin is indeed the binary encoding of i.

C,1,C,4,C,8 and C,10 are lower bounds of the variables y(),xbin(),r() and z(). We omit these constraints later on by restricting all variables of the constructed ILP to be non-negative.

C,1 to C,3 ensure that the currently most significant bit is assigned correctly. As the values of y() are assigned from the most significant bit to the least significant bit, this ensures the correctness of the binary encoding. More specifically, we have the following property.

Observation 8.

Constraints C,1 to C,3 imply

y(){=0,if r(+1)<γ21if r(+1)γ2

Proof.

We show this by analyzing the cases separately:

Case 1: Assume r(+1)<γ2. C,2 states y()r(+1)/γ2+1/(γ2+1). With the assumption and the fact that r(+1) is integer, we get y()(γ21)/γ2+1/(γ2+1). Now, 1/(γ2+1)<1/γ2 implies y()<γ2/γ2=1. Since y() is also restricted to integer values we get y()=0 with C,1. Now, we only need to show that the other constraint is also fulfilled for y()=0. For C,3 we get 0=y()r(+1)/γ2(γ21)/γ2, since r(+1)γ21 which completes this part of the proof.

Case 2: Assume r(+1)γ2. C,3 states y()r(+1)/γ2(γ21)/γ2. With the assumption, we get y()1(γ21)/γ2>0. Since y() is restricted to integer values we get y()1. Now, we only need to show that the other constraints are also fulfilled for y(). This clearly holds for C,1. For C,2 we get 1y()r(+1)/γ2+1/(γ2+1), since r(+1)/γ21 and 1/(γ2+1)1. This finalizes the proof. In particular, we have that the value of y()=r(+1)/γ2+1/(γ2+1) is unique for given r(+1). This is due to the fact that the feasible interval (given by C,2 and C,3)) is of size 11/γ21/(γ2+1)+(γ21)/γ2<1. The second inequality implies that there exists at most one integer value in the interval. The first inequality in combination with the fact that r(+1) is integer, we also have that there must exist an integer value in the interval.

Now, we are able to show that the xbin(),[d1]0 matches the binary encoding of i. C,6 ensures that xbin()=0 if y()=0, while C,7 provides that xbin()>0 if y()>0. Taken together with C,5 and the fact that xbin() is integer, we observe the following.

Observation 9.

Constraints C,1 to C,7 imply

xbin()={0,if r(+1)<γ21,if r(+1)γ2

Proof.

We show this by again separately analyzing the cases:

Case 1: Assume r(+1)<γ2. With Observation 8, we know y()=0. C,6 now implies xbin()=0. This also fulfills C,4,C,5 and C,7.

Case 2: Assume r(+1)γ2. Observation 8 and C,7 now imply xbin()1. With C,5 we get xbin()=1. This also fulfills C,4 and C,6 and finalizes the proof.

Note that this also upper bounds the value of y(). Since xbin()1, C,7 implies y()γ2+1.

And finally, C,10 to C,13 represent the remainder calculation and ensure that the constraints can be used recursively. More concretely, we have the following behavior.

Observation 10 (✂).

Constraints C,8 to C,13 imply

r()={r(+1),if r(+1)<γ2r(+1)/γ2,if r(+1)γ2

Also, for each [d]0, the remainder is bounded by r()γ21.

Proof Outline.

We prove this statement via case distinction and induction over . Due to space concerns the proof can be found in the full version.

Now, we prove that if the Constraints 1 are feasible, then r(d) is of the form γi,i1 and xbin is the binary encoding of i. We also show that the constraints do not permit any other integer solutions.

Lemma 11.

Let d1 and γ2. If there exists an i1 such that r(d)=γi,i1, with γiγ2d1, then xbin is the binary encoding of i.

Proof.

Assume, there exists an i1 such that r(d)=γi and γiγ2d1. We prove that xbin is the binary encoding of i by induction over =d1,,0.

Base Case: By the assumption r(d)=γi, we have that r(d) is correctly set.

Inductive Step: Let [d1] and assume that r() is the correct remainder in the -th iteration. Following the procedure described at the beginning of this section, we know that xbin(1) is required to be 1 if r()γ21 and 0 otherwise. This property holds due to Observations 8 and 9. By Observation 10, we know that the next remainder r(1) is correctly set to r()/γ21 if r()γ21 and to r() otherwise.

Now, we know that xbin is the binary encoding of i, if there exists i1 with γiγ2d1 and r(d)=γi. To finalize that the constraints fulfill the desired property, we need to show that the constraints are infeasible for any other value of r(d).

Lemma 12.

Let d1 and γ2. If r(d)=γi for some i1 holds, then the Constraints 1 are infeasible.

Proof.

Assume r(d)=γi for some i1. Note that we can formulate any integer number k in the form γlogk/logγ. The proof is split into different cases. For each case, we lead the constraints to a contradiction.

Case 1: First, we show that the set of constraints is infeasible when i is negative. Let d1 and γ2. Set ji. By the assumption, we have r(d)=γi=1/γj. This contradicts the constraint that r(d) is required to be integer.

Case 2: We now show that the set of constraints is infeasible when i is not integer. Let γ2 and i0. Again set r(d)=γi. We now show by induction that the exponent p() of γ is not integer for all [d]. This then leads to a contradiction. This contradiction appears either at the additional constraint r(0)=1 or already at constraint Ck,9 for some k[d1]0.

Base Case: By definition of i in this case, i is not integer and with the assumption r(d)=γi=γp(d) we get i=p(d) and therefore p(d) is not integer. Note that the assumption that the value γp(d) is assigned to the variable r(d) implies that γp(d) must be integer.

Inductive Step: Let [d] and assume p() is not integer and r()=γp() is integer. Now we can meet the following two cases. Either, r()<γ21 or r()γ21. In the first case, Observation 10 gives r(1)=r() which directly implies p(1)=p(). Thus, p(1) is not integer and r(1) is integer. In the second case, with Observation 10 we get r(1)=r()/γ21=γp()/γ21=γp()21. Since p() is not integer and 21 is integer, we get that p(1)=p()21 is not integer. If now r(1)=γp(1) is integer, we repeat the inductive step. However, if r(1)=γp(1) is not integer, there is no feasible integer assignment for r(1) as C,9 is an equality constraint.

If r() is integer for all [d], we get that p(0) is not integer. This implies r(0)=γp(0). This is a contradiction to r(0)=1.

Case 3: The only case left is γi=1, i.e., i=0. Again, by the assumption, we get r(d)=γi=1 which directly contradicts Cα3 which states r(d)2.

Thus, we have shown that the Constraints 1 are feasible if and only if variable r(d) takes a value of the form γi for given γ2 and positive integer i (Lemma 12). Additionally, xbin matches the binary encoding of i, i.e., it holds that i==0d12xbin() (Lemma 11).

The attentive reader might have noticed that in Example 7 the values of y() and z() match for all values of i and . In the full version, we show that we can not simply replace z() with y() in C,9.

4.3 Aggregation of the Constraints

Before we can aggregate the constraints into a single knapsack constraint, we need to transform the inequalities into equations such that we achieve an ILP of the form considered in Section 3. We can do that by introducing slack variables. Also, we omit the lower bounds C,1,C,4,C,8 and C,10 by restricting all variables to only take non-negative values. This results in the following new set of constraints:

Constraints 2.
r(0)=1(γ2+1+γ2)y()(γ2+1)r(+1)+s1()=γ2[d1]0γ2y()+r(+1)+s2()=γ21[d1]0xbin()+s3()=1[d1]0xbin()y()+s4()=0[d1]0y()(γ2+1)xbin()+s5()=0[d1]0(γ21)z()+r()r(+1)=0[d1]0γ2xbin()z()+r()+s7()=γ2[d1]0γ2xbin()+z()+s8()=0[d1]0z()r()+s9()=0[d1]0r(d)sα3=2r(d)+sα2=γ2d1

Now, we add the upper bounds of the variables. With Observation 10, we have r()γ21. In combination with Observation 8, we get y()(γ2+11)/γ2+1/(γ2+1)γ2. xbin() is bounded by 1 due to C,5 and it holds that z()min(γ2,γ21)=γ21 by C,12 and C,13. The slack variables are bounded by the coefficients, the variables and the right-hand-side of their constraint. For instance, since γ2xbin()z()+r()+s7()=γ2, we have s7()=γ2γ2xbin()+z()r(). With xbin()0,r()0 and the bound on z(), this implies s7()γ2+γ21=2γ21.

Now, as done in Section 3, we define U to be the sum of the upper bounds of all variables (including slacks) and introduce the constraint which restricts the sum of all variables by U. Let v=0d1(y()+z()+r()+j=19(sj()))+r(d)+sα3+sα2 be the sum of all variables. Thus, our additional constraint is v+sα=U. Setting M2γ2dU+γ2d1+2γ2d+2 and multiplying the ILP with the vector (1,M,M2,,Mα1) results in an ILP of the form (3) which is equivalent to the Constraints 2.

Lemma 5 now implies that vector 𝚜𝚘𝚕=(xbin,y,z,r,s)T012d+4 is a feasible solution to Constraints 2 if and only if 𝚜𝚘𝚕 is a solution to

r(0)+=0d1(M9+1((γ2+1+γ2)y()(γ2+1)r(+1)+s1())+M9+2(γ2y()+r(+1)+s2())+M9+3(xbin()+s3())+M9+4(xbin()y()+s4())+M9+5(y()(γ2+1)xbin()+s5())+M9+6((γ21)z()+r()r(+1))+M9+7(γ2xbin()z()+r()+s7())+M9+8(γ2xbin()+z()+s8())+M9+9(z()r()+s9()))+Mα3(r(d)sα3)+Mα2(r(d)+sα2)+Mα1(v+sα)=1+=1d1(M9+1γ2+M9+2(γ21)+M9+3+M9+7γ2)+Mα32+Mα2γ2d1+Mα1U. (7)

This equation can be transformed into an unbounded knapsack constraint by grouping coefficients such that each variable only occurs once. These coefficients then define the item size vector s. For example, the sizes of the item xbin(),[d1]0 is sxbin()=M9+3+M9+4+M9+7γ2M9+8γ2. To complete the transformation, set the lower bound of each variable to 0 and exchange the equality into , i.e., the sum of item sizes and multiplicites is at most the right hand side. Denote the polytope as P={xd|xi,sTxC}. All feasible configurations are then integer points in P, i.e., pPd.

4.4 Main proof

With this, we are ready to prove our main theorem.

Theorem 1. [Restated, see original statement.]

There exists a high-multiplicity Bin Packing instance of dimension d such that the solution-vector x (a vector of configurations) contains at least 2Ω(d) non-zero entries, i.e., |supp(x)|2Ω(d).

Proof.

Let d0. The dimension of the Bin Packing instance has dimension d, i.e., number of different item sizes, d=12d+4. Denote the capacity of a single bin as C and set the sizes according to (7), and denote them as the size vector s. Set C to be the right hand side of the knapsack constraint (7). Define the knapsack polytope P={xd|xi,sTxC}. Let X be the set of all solutions in Pd, i.e., with total size less than or equal to C. Define X={xX|sTx=A} to be the set of all solutions with size exactly C. See Figure 3 for an illustration. Thus, X is the set of all feasible configurations. By the definition of the knapsack constraint and Lemma 12, we know that |X|=2d1=:k, as (7) has exactly one solution for every possible combination of xbin(),[d1]0 with xbin(){0,1}. Define the total amount of items y as the sum of all configurations, i.e., y=xXx. Thus, the total size of all items to be placed is yTs=kC.

Clearly, the optimal solution to this Bin Packing instance uses exactly k bins. One possible solution is to take each configuration in X exactly once. In the following we show that this is the only solution using elements in X and using exactly k bins. Now, define the projection π:x(xbin(0),xbin(d1),r(d)). This projection reduces every configuration to just the binary encoding and the value r(d). It holds that π(y)=(2d12d1i=1k(4k)i). Recall that we set γ=4k. We can not consider configurations in XX as they have size <C. As the total size of the right hand size is exactly kC taking one of these configurations while still using k bins would require another bin to be filled >C, which is infeasible due to (7). Thus, there are no other feasible configurations, as only those of the form (after applying π) exactly like in Lemma 6, i.e., those in X, have size exactly C. Thus, when applying the projection π, we have met the conditions of applying Lemma 6 and know that the only optimal solution takes each of the k vectors exactly once.

Therefore, after removing the projection, the only optimal solution to the Bin Packing instance uses every configuration in X exactly once, and therefore we have |supp(x)|=k=2d1. As we have d=12d+4 we have |supp(x)|2Ω(d).

Figure 3: A 2-dimensional example of the knapsack constraint with item types s1,s2. The shaded area denotes the knapsack polytope P. The points resemble integer points and show all feasible configurations. Integer points in the shaded region are the configurations in the set X. Integer points on the red line form the set X of configurations. Only configurations in X fill the knapsack constraint with equality.

References

  • [1] Iskander Aliev, Jesús A. De Loera, Friedrich Eisenbrand, Timm Oertel, and Robert Weismantel. The support of integer optimal solutions. SIAM J. Optim., 28(3):2152–2157, 2018. doi:10.1137/17M1162792.
  • [2] Iskander Aliev, Jesús A. De Loera, Timm Oertel, and Christopher O’Neill. Sparse solutions of linear diophantine equations. SIAM J. Appl. Algebra Geom., 1(1):239–253, 2017. doi:10.1137/16M1083876.
  • [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 ISAAC, volume 283 of LIPIcs, pages 13:1–13:18. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023. doi:10.4230/LIPICS.ISAAC.2023.13.
  • [4] Gordon H. Bradley. Transformation of integer programs to knapsack problems. Discrete Mathematics, 1(1):29–45, 1971. doi:10.1016/0012-365X(71)90005-7.
  • [5] Gordon H. Bradley, Peter L. Hammer, and Laurence A. Wolsey. Coefficient reduction for inequalities in 0-1 variables. Math. Program., 7(1):263–282, 1974. doi:10.1007/BF01585527.
  • [6] Václav Chvátal and Peter Hammer. Aggregation of inequalities in integer programming. Ann. Discrete Math, 1:145–162, 1977.
  • [7] Friedrich Eisenbrand, Christoph Hunkenschröder, Kim-Manuel Klein, Martin Koutecký, Asaf Levin, and Shmuel Onn. Reducibility bounds of objective functions over the integers. Oper. Res. Lett., 51(6):595–598, 2023. doi:10.1016/J.ORL.2023.10.001.
  • [8] Friedrich Eisenbrand and Gennady Shmonin. Carathéodory bounds for integer cones. Oper. Res. Lett., 34(5):564–568, 2006. doi:10.1016/J.ORL.2005.09.008.
  • [9] SE Elmaghraby and MK Wig. On the treatment of stock cutting problems as diophantine programs. Operations Research Report, 61, 1970.
  • [10] András Frank and Éva Tardos. An application of simultaneous diophantine approximation in combinatorial optimization. Comb., 7(1):49–65, 1987. doi:10.1007/BF02579200.
  • [11] Fred W. Glover and Djangir A. Babayev. New results for aggregating integer-valued equations. Ann. Oper. Res., 58(3):227–242, 1995. doi:10.1007/BF02032133.
  • [12] Fred W. Glover and Robert E. D. Woolsey. Aggregating diophantine equations. Z. Oper. Research, 16(1):1–10, 1972. doi:10.1007/BF01917186.
  • [13] Michel X. Goemans and Thomas Rothvoss. Polynomiality for bin packing with a constant number of item types. J. ACM, 67(6):38:1–38:21, 2020. doi:10.1145/3421750.
  • [14] A. C. Hayes and David G. Larman. The vertices of the knapsack polytope. Discret. Appl. Math., 6(2):135–138, 1983. doi:10.1016/0166-218X(83)90067-7.
  • [15] Klaus Jansen. An EPTAS for scheduling jobs on uniform processors: Using an MILP relaxation with a constant number of integral variables. SIAM J. Discret. Math., 24(2):457–485, 2010. doi:10.1137/090749451.
  • [16] Klaus Jansen, Kai Kahler, and Esther Zwanger. Exact and approximate high-multiplicity scheduling on identical machines. CoRR, abs/2404.17274, 2024. doi:10.48550/arXiv.2404.17274.
  • [17] Klaus Jansen and Kim-Manuel Klein. A robust AFPTAS for online bin packing with polynomial migration. SIAM J. Discret. Math., 33(4):2062–2091, 2019. doi:10.1137/17M1122529.
  • [18] Klaus Jansen and Kim-Manuel Klein. About the structure of the integer cone and its application to bin packing. Math. Oper. Res., 45(4):1498–1511, 2020. doi:10.1287/MOOR.2019.1040.
  • [19] Klaus Jansen, Kim-Manuel Klein, and José Verschae. Closing the gap for makespan scheduling via sparsification techniques. Math. Oper. Res., 45(4):1371–1392, 2020. doi:10.1287/MOOR.2019.1036.
  • [20] Klaus Jansen and Roberto Solis-Oba. A polynomial time OPT + 1 algorithm for the cutting stock problem with a constant number of object lengths. Math. Oper. Res., 36(4):743–753, 2011. doi:10.1287/MOOR.1110.0515.
  • [21] Kenneth E Kendall and Stanley Zionts. Solving integer programming problems by aggregating constraints. Operations Research, 25(2):346–351, 1977.
  • [22] Manfred W. Padberg. Equivalent knapsack-type formulations of bounded integer linear programs: An alternative approach. Naval Research Logistics Quarterly, 19(4):699–708, 1972. doi:10.1002/nav.3800190410.
  • [23] Pierre-Louis Poirion. Optimal constraints aggregation method for ILP. Discret. Appl. Math., 262:148–157, 2019. doi:10.1016/J.DAM.2019.02.014.
  • [24] I.G. Rosenberg. Aggregation of equations in integer programming. Discrete Mathematics, 10(2):325–341, 1974. doi:10.1016/0012-365X(74)90126-5.