Abstract
We give an optimal upper bound for the \(\ell _{\infty }\)-distance from a vertex of a knapsack polyhedron to its nearest feasible lattice point. In a randomised setting, we show that the upper bound can be significantly improved on average. As a corollary, we obtain an optimal upper bound for the additive integrality gap of integer knapsack problems and show that the integrality gap of a “typical” knapsack problem is drastically smaller than the integrality gap that occurs in a worst case scenario. We also prove that, in a generic case, the integer programming gap admits a natural optimal lower bound.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
Given \({\varvec{a}}\in {{\mathbb {Z}}}^n\), \(b\in {{\mathbb {Z}}}\), a knapsack polyhedron\(P({\varvec{a}}, b)\) is defined as
We will estimate the \(\ell _\infty \)-distance from a vertex of \(P({\varvec{a}}, b)\) to the set of its lattice points. For this purpose we define the (maximum) vertex distance
where \(\Vert {\cdot }\Vert _{\infty }\) stands for the \(\ell _\infty \)-norm and the maximum is taken over all vertices \({\varvec{v}}\) of the polyhedron \(P({\varvec{a}},b)\).
We will exclude the trivial case \(n=1\), where the vertex distance takes the values 0 and \(-\infty \) only. We may also assume without loss of generality that \({\varvec{a}}\) is a primitive integer vector with nonzero entries. Thus, we will assume the following conditions:
The first result of this paper gives an optimal upper bound for the vertex distance that depends only on the \(\ell _\infty \)-norm of the vector \({\varvec{a}}\) and independent of n and b.
Theorem 1
-
(i)
Let \({\varvec{a}}\) satisfy (1) and \(b\in {{\mathbb {Z}}}\). Then
$$\begin{aligned} {d}({\varvec{a}},b)\le \Vert {\varvec{a}}\Vert _\infty -1\,. \end{aligned}$$(2) -
(ii)
For any positive integer k and any dimension n there exist \({\varvec{a}}\) satisfying (1) with \(\Vert {\varvec{a}}\Vert _{\infty }=k\) and \(b\in {{\mathbb {Z}}}\) such that
$$\begin{aligned} {d}({\varvec{a}},b)=\Vert {\varvec{a}}\Vert _\infty -1\,. \end{aligned}$$
Note that the classical sensitivity theorem of Cook et al. [8, Theorem 1] implies in the knapsack setting the bound \({d}({\varvec{a}},b) \le n \Vert {\varvec{a}}\Vert _\infty .\) Let \(A=(a_{ij})\in {{\mathbb {Z}}}^{m \times n}\), \({\varvec{b}}\in {{\mathbb {Z}}}^m\) and let \(\Vert \cdot \Vert _1\) denote the \(l_1\)-norm. A very recent strong improvement on the results of Cook et al. [8] obtained by Eisenbrand and Weismantel [12] implies that to every vertex \({\varvec{v}}\) of the polyhedron \(P=\{{\varvec{x}}\in {{\mathbb {R}}}^n_{\ge 0}: A{\varvec{x}}={\varvec{b}}\}\) there exists an integer point \({\varvec{z}}\) in P (provided it is integer feasible), such that
where \(\Vert A\Vert _\infty =\max _{i,j} |a_{ij}|\). It remains an open question how tight this bound is. For a bounded knapsack polyhedron the bound (3) can be strengthened as follows. In the proof of Theorem 1 (i) we estimate the vertex distance using a covering argument that guarantees for any vertex \({\varvec{v}}\) of a bounded integer feasible polyhedron \(P({\varvec{a}},b)\) existence of a lattice point \({\varvec{z}}\in P({\varvec{a}},b)\) in an \((n-1)\)-dimensional simplex of sufficiently small diameter, translated by \({\varvec{v}}\). The argument implies the bound
How large is the vertex distance of a “typical” knapsack polyhedron? Specifically, consider for \(H\ge 1\) the set \({{Q}}(H)\) of \({\varvec{a}}\in {{\mathbb {Z}}}^{ n}\) that satisfy (1) and
The next theorem will estimate the proportion of the vectors \({\varvec{a}}\) in \({{Q}}(H)\) such that for some \(b\in {{\mathbb {Z}}}\) the knapsack polyhedron \(P({\varvec{a}}, b)\) has relatively large vertex distance. Let N(H) be the cardinality of \({{Q}}(H)\). For \(\epsilon \in (0,3/4)\) let
In the rest of the paper, the notation \(f({\varvec{x}})\ll _n g({\varvec{x}})\) for \({\varvec{x}}\in S\), where S is a set, means that \(|f({\varvec{x}})|\le c|g({\varvec{x}})|\), for \({\varvec{x}}\in S\) and a positive constant \(c=c(n)\) depending on n only. \(f({\varvec{x}})\asymp _n g({\varvec{x}})\) means that both \(f({\varvec{x}})\ll _n g({\varvec{x}})\), \(g({\varvec{x}})\ll _n f({\varvec{x}})\) hold.
Theorem 2
Fix \(n\ge 3\). For any \(\epsilon \in (0,3/4)\) we have
uniformly over all \(t>0\) and \(H\ge 1\). Here
To prove Theorem 2, we will utilize results of Strömbergsson [23] (see also Schmidt [21] and references therein) on the asymptotic distribution of Frobenius numbers.
Theorems 1 and 2 can be applied to estimating the (additive) integrality gaps for integer knapsack problems. In the proceedings [4] the authors have considered this problem for the case that \(\varvec{a}\) is non-negative. In this paper we extend those results to greater generality. In particular, in Corollarys 1 and 2, we show that the two main statements of [4] hold true for general knapsack polyhedra, i.e., we drop the non-negativity assumption. We remark that extending results of [4] to general knapsack polyhedra requires using new covering arguments in the proofs of Theorems 1 and 2. Also, we include in this paper proofs that were omitted in [4].
Given \({\varvec{a}}\in {{\mathbb {Z}}}^n\), \(b\in {{\mathbb {Z}}}\) and a cost vector \({\varvec{c}}\in {{\mathbb {Q}}}^n\), we will consider the integer knapsack problem
We will assume that (5) is feasible and bounded.
Let \(IP({\varvec{c}}, {\varvec{a}}, {b})\) and \(LP({\varvec{c}}, {\varvec{a}}, { b})\) denote the optimal values of (5) and its linear programming relaxation
respectively. The integrality gap \(IG({\varvec{c}}, {\varvec{a}}, {b})\) of (5) is defined as
Notice that
Given a pair \(({\varvec{c}}, {\varvec{a}})\), the maximum of \(IG({\varvec{c}}, {\varvec{a}}, {b})\) over all suitable b is referred to as the integer programming gap (Hoşten and Sturmfels [17])
Here b ranges over all integers such that (5) is feasible and bounded. Notice that computing \(\mathrm {Gap}({\varvec{c}}, {\varvec{a}})\) when n is a part of input is NP-hard (see Aliev [1] and Eisenbrand et al. [10]). For any fixed n, the integer programming gap can be computed in polynomial time due to results of Hoşten and Sturmfels [17] (see also Eisenbrand and Shmonin [11]).
As a corollary of Theorem 1 and its proof, we obtain the following optimal upper bound on the integer programming gap.
Corollary 1
-
(i)
Let \({\varvec{a}}\) satisfy (1) and let \({\varvec{c}}\in {{\mathbb {Q}}}^n\). Then
$$\begin{aligned} \mathrm {Gap}({\varvec{c}}, {\varvec{a}})\le \left( \Vert {\varvec{a}}\Vert _{\infty }-1 \right) \Vert {\varvec{c}}\Vert _1\,. \end{aligned}$$(8) -
(ii)
For any positive integer k and any dimension n there exist \({\varvec{a}}\) satisfying (1) with \(\Vert {\varvec{a}}\Vert _{\infty }=k\) and \({\varvec{c}}\in {{\mathbb {Q}}}^n\) such that
$$\begin{aligned} \mathrm {Gap}({\varvec{c}}, {\varvec{a}})= \left( \Vert {\varvec{a}}\Vert _{\infty }-1 \right) \Vert {\varvec{c}}\Vert _1\,. \end{aligned}$$
From (4) one can derive an upper bound on the average value of the (normalised) integer programming gap. The next corollary will show that for any \(\epsilon >2/n\) the ratio
is bounded, on average, by a constant that depends only on the dimension n. Hence, for fixed \(n>2\) and a “typical” integer knapsack problem with large \(\Vert {\varvec{a}}\Vert _{\infty }\), its linear programming relaxation provides a drastically better approximation (roughly of order \(\Vert {\varvec{a}}\Vert _{\infty }^{2/n}\)) to the solution than in the worst case scenario, determined by the optimal upper bound (8).
Corollary 2
Fix \(n\ge 3\). For any \(\epsilon >2/n\)
The last two theorems of this paper give lower bounds for the integer programming gap and its average value. In particular, Theorem 4 shows that the bound in Corollary 2 is not far from being optimal.
Let \({\varvec{a}}\in {{\mathbb {Z}}}^n_{>0}\) satisfy (1) and let \({\varvec{c}}\in {{\mathbb {Q}}}^n\). We will say that \(({\varvec{a}}, {\varvec{c}})\) is generic if for any positive \(b \in {{\mathbb {Z}}}\) the linear programming relaxation (6) has a unique optimal solution. In this setting, an optimal lower bound for \(\mathrm {Gap}({\varvec{c}}, {\varvec{a}})\) can be obtained using recent results [1] on the lattice programming gaps associated with the group relaxations to (5). For a generic \(({\varvec{a}},{\varvec{c}})\), let \(\tau =\tau ({\varvec{a}}, {\varvec{c}})\) be the unique index of the basic variable for the optimal solution to the linear relaxation (6) with a positive \(b\in {{\mathbb {Z}}}\). Let \(\pi _i(\cdot ): {{\mathbb {R}}}^n\rightarrow {{\mathbb {R}}}^{n-1}\) be the projection that forgets the ith coordinate and let \({\varvec{l}}({\varvec{a}}, {\varvec{c}})=\pi _{\tau }({\varvec{c}})-{c}_{\tau }{a}_{\tau }^{-1}\pi _{\tau }({\varvec{a}})\). Note that \({\varvec{l}}({\varvec{a}}, {\varvec{c}})\) corresponds to the dual slack.
Let \(\rho _{d}\) denote the covering constant of the standard d-dimensional simplex, defined in Sect. 2.
Theorem 3
-
(i)
Let \({\varvec{a}}\in {{\mathbb {Z}}}^n_{>0}\) satisfy (1) and let \({\varvec{c}}\in {{\mathbb {Q}}}^n\). Suppose that \(({\varvec{a}}, {\varvec{c}})\) is generic. Then for \(\tau =\tau ({\varvec{a}}, {\varvec{c}})\) and \({\varvec{l}}={\varvec{l}}({\varvec{a}}, {\varvec{c}})\) we have
$$\begin{aligned} \begin{aligned} \mathrm {Gap}({\varvec{c}}, {\varvec{a}})\ge \rho _{{n-1}} ({a}_{\tau } l_1\cdots l_{n-1})^{1/{(n-1)}}-\Vert {\varvec{l}}\Vert _1\,. \end{aligned} \end{aligned}$$(10) -
(ii)
For any \(\epsilon >0\), there exists a vector \({\varvec{a}}\in {{\mathbb {Z}}}^n_{>0}\), satisfying (1) and \({\varvec{c}}\in {{\mathbb {Q}}}^n\) such that \(({\varvec{a}}, {\varvec{c}})\) is generic and, in the notation of part (i), we have
$$\begin{aligned} \mathrm {Gap}({\varvec{c}}, {\varvec{a}})< (\rho _{{n-1}}+\epsilon ) ({a}_\tau l_1\cdots l_{n-1})^{1/{(n-1)}}-\Vert {\varvec{l}}\Vert _1\,. \end{aligned}$$
The only known exact values of \(\rho _{d}\) are \(\rho _1=1\) and \(\rho _2=\sqrt{3}\) (see [13]). It was proved in [2], that \(\rho _{d}>(d!)^{1/d}\). For sufficiently large d this bound is not far from being optimal. Indeed, \(\rho _{d}\le (d!)^{1/d}(1+O(d^{-1}\log d))\) (see [9, 19]).
Theorem 3 is the main ingredient in the proof of the last theorem of this paper that shows that the value of \(\epsilon \) in (9) cannot be smaller than \(1/(n-1)\).
Theorem 4
Fix \(n\ge 3\). For H large
2 Discrete coverings and Frobenius numbers
For linearly independent \({\varvec{b}}_1, \ldots , {\varvec{b}}_k\) in \({{\mathbb {R}}}^d\), the set \(\varLambda =\{\sum _{i=1}^{k} x_i {\varvec{b}}_i:\, x_i\in {{\mathbb {Z}}}\}\) is a k-dimensional lattice with basis\({\varvec{b}}_1, \ldots , {\varvec{b}}_k\) and determinant\(\det (\varLambda )=(\det [{\varvec{b}}_i\cdot {\varvec{b}}_j]_{1\le i,j\le k})^{1/2}\), where \({\varvec{b}}_i\cdot {\varvec{b}}_j\) is the standard inner product of the basis vectors \({\varvec{b}}_i\) and \({\varvec{b}}_j\). Recall that the Minkowski sum\(X+Y\) of the sets \(X, Y\subset {{\mathbb {R}}}^d\) consists of all points \({\varvec{x}}+{\varvec{y}}\) with \({\varvec{x}}\in X\) and \({\varvec{y}}\in Y\). For a lattice \(\varLambda \subset {{\mathbb {R}}}^d\) and \({\varvec{y}}\in {{\mathbb {R}}}^d\), the set \({\varvec{y}}+\varLambda \) is an affine lattice with determinant \(\det (\varLambda )\). For sets \(K, S \subset {{\mathbb {R}}}^d\) and a lattice \(\varLambda \subset {{\mathbb {R}}}^d\), the set \(K + \varLambda \) is a covering of S if \(S \subset K + \varLambda \).
In what follows, \({\mathcal {L}}^d\) will denote the set of all d-dimensional lattices in \({{\mathbb {R}}}^d\). By \({\mathcal {K}}^d\) we will denote the set of all d-dimensional convex bodies, i.e., closed bounded convex sets with non-empty interior in \({{\mathbb {R}}}^d\).
Lemma 1
Let \(K\in {\mathcal {K}}^d\), \(\varLambda \in {\mathcal {L}}^d\) and let \(K + \varLambda \) be a covering of \({{\mathbb {R}}}^d\). Then for any vectors \({\varvec{x}}, {\varvec{y}}\in {{\mathbb {R}}}^d\), we have \(({\varvec{x}}+K)\cap ({\varvec{y}}+\varLambda )\ne \emptyset \).
Proof
It is sufficient to show that for any vector \({\varvec{x}}\in {{\mathbb {R}}}^d\), we have \(({\varvec{x}}+K)\cap \varLambda \ne \emptyset \). Let \({\varvec{\lambda }}\) be any point of \(\varLambda \). Then \({\varvec{x}}\in K+{\varvec{\lambda }}\) if and only if \(-{\varvec{\lambda }}\in K+(-{\varvec{x}})\). Hence \({{\mathbb {R}}}^d\) is covered by the set \(K + \varLambda \) if and only if for each vector \({\varvec{x}}\in {{\mathbb {R}}}^d\), the set \({\varvec{x}}+K\) contains a point of \(\varLambda \). \(\square \)
For \(K\in {\mathcal {K}}^d\) and \(\varLambda \in {\mathcal {L}}^d\), we define the covering radius\(\mu (K,\varLambda )\) as
For further results on covering radii in the context of the geometry of numbers see e.g. Gruber [15] and Gruber and Lekkerkerker [16].
Let \(S^d_{\varvec{1}}=\{{\varvec{x}}\in {{\mathbb {R}}}^d_{\ge 0}: x_1+\cdots +x_d\le 1\}\) be the standard d-dimensional simplex. The optimal lower bound in Theorem 3 is expressed using the covering constant \(\rho _d=\rho _d(S^d_{\varvec{1}})\) defined as
Let \(\varLambda \) be a lattice in \({{\mathbb {R}}}^d\) with basis \({\varvec{b}}_1, \ldots , {\varvec{b}}_d\) and let \(\hat{\varvec{b}}_i\) be the vectors obtained using the Gram-Schmidt orthogonalisation of \({\varvec{b}}_1, \ldots , {\varvec{b}}_d\):
where \(\mu _{i,j}=({\varvec{b}}_i\cdot \hat{\varvec{b}}_j)/|\hat{\varvec{b}}_j|^2\).
Define the box \({{\hat{B}}}={{\hat{B}}}({\varvec{b}}_1, \ldots , {\varvec{b}}_d)\) as
We will need the following useful observation.
Lemma 2
\({{\hat{B}}}+\varLambda \) is a covering of \({{\mathbb {R}}}^d\).
A proof of Lemma 2 is implicitly contained, for instance, in the proof of the classical result of Babai [5] on the nearest lattice point problem (see Theorem 5.3.26 in [14]). For completeness, we include a proof that follows along an argument of the proof of Theorem 5.3.26 in [14].
Proof
Let \({\varvec{x}}\) be any point of \({{\mathbb {R}}}^d\). It is sufficient to find a point \({\varvec{y}}\in \varLambda \) such that
This can be achieved using the following procedure. First we write
Then we subtract \( \lfloor \lambda _d^0 \rfloor {\varvec{b}}_d\) to get a representation
where \(0\le \lambda _d^1<1\). Next subtract \( \lfloor \lambda _{d-1}^1 \rfloor {\varvec{b}}_{d-1}\) and so on until we obtain the representation (11). The lemma is proved. \(\square \)
Let now \(\varLambda \) be a sublattice of \({{\mathbb {Z}}}^{d}\) of full rank and let \(K\in {\mathcal {K}}^d\). In the course of the proof of part (i) of Theorem 1 we will need to work with coverings \(K+\varLambda \) of \({{\mathbb {Z}}}^d\), that we refer to as discrete coverings. For this purpose, we will need the following auxiliary results.
By Theorem I (A) and Corollary 1 in Chapter I of Cassels [7], there exists a unique basis \({\varvec{b}}_1, \ldots , {\varvec{b}}_d\) of the sublattice \(\varLambda \) of the form
where \({\varvec{e}}_i\) are the standard basis vectors of \({{\mathbb {Z}}}^d\), the coefficients \(v_{ij}\) are integers, \(v_{ii}>0\) for \(i=1,\ldots ,d\) and \(0\le v_{ij}<v_{jj}\) for \(1\le j<i\le d\). Alternatively, the basis \({\varvec{b}}_1, \ldots , {\varvec{b}}_d\) can be obtained by taking the Hermite Normal Form of a basis matrix for \(\varLambda \).
Define the box \(B=B(\varLambda )\) as
Lemma 3
Let \(\varLambda \) be a full-dimensional sublattice of \({{\mathbb {Z}}}^{d}\). Then \(B(\varLambda )+\varLambda \) is a covering of \({{\mathbb {Z}}}^d\).
Proof
Observe that for the basis (12) the box \({{\hat{B}}}={{\hat{B}}}({\varvec{b}}_1, \ldots , {\varvec{b}}_d)\) can be written as
The result now follows by Lemma 2. \(\square \)
Lemma 4
\((\det (\varLambda )-1)S^d_{\varvec{1}} + \varLambda \) covers \({{\mathbb {Z}}}^{d}\).
Proof
By Lemma 3, it is sufficient to show that \(B(\varLambda )\subset (\det (\varLambda )-1)S^d_{\varvec{1}}\) or, equivalently,
The inequality (13) can be verified by induction for d and noticing that \(\det (\varLambda )=v_{11}\cdots v_{dd}\). \(\square \)
Lemma 5
Suppose that \(K + \varLambda \) is a covering of \({{\mathbb {Z}}}^d\). Then for any vectors \({\varvec{x}}, {\varvec{y}}\in {{\mathbb {Z}}}^d\), we have \(({\varvec{x}}+K)\cap ({\varvec{y}}+\varLambda )\ne \emptyset \).
A proof of Lemma 5 can be easily obtained from the proof of Lemma 1.
Given \(K\in {\mathcal {K}}^d\) and \(\varLambda \in {\mathcal {L}}^d\), we define the discrete covering radius\(\mu (K,\varLambda ; {{\mathbb {Z}}}^d)\) as
For \({\varvec{y}}=(y_1, \ldots , y_d)^T\) with nonzero entries we will denote \(\mathrm {sign}(y_i)=y_i/|y_i|\). Let \({\mathcal {O}}_{\varvec{y}}=\{\varvec{x}\in {{\mathbb {R}}}^d\;|\;\mathrm {sign}(y_i) x_i\ge 0,\;1\le i \le d\}\) be the orthant that contains the vector \({\varvec{y}}\). Next, for \({\varvec{a}}\in {{\mathbb {Z}}}^n\) satisfying (1) we define the \((n-1)\)-dimensional simplex
and the \((n-1)\)-dimensional lattice
Given \({\varvec{a}}=(a_1, \ldots , a_n)^T\in {{\mathbb {Z}}}_{>0}^n\) with \(\gcd ({\varvec{a}})=1\), the Frobenius number\(g({\varvec{a}})\) is the smallest integer so that every integer \(b>g({\varvec{a}})\) can be represented as \( b= a_1 x_1 +\cdots + a_n x_n \) with nonnegative integers \(x_1,\ldots , x_n\).
Kannan [18] found the following very useful identities:
and
3 Proof of Theorem 1
We will start with a high-level informal description for the proof of part (i). For technical reasons, it is convenient to separately consider two special cases: Lemma 6 with Corollary 3 and Lemma 7 below prove part (i) for positive \({\varvec{a}}\) and for tuples \(({\varvec{a}}, b)\) that correspond to bounded or empty polyhedra \(P(\pi _n({\varvec{a}}),b)\), respectively. The proofs of these special cases are based on using covering tools from the geometry of numbers and results on Frobenius numbers.
The proof of the general case makes use of induction on dimension n with basis case \(n=2\). To settle the inductive step, we assume that part (i) holds for all dimensions \(2\le k < n\) and proceed as follows: Take \({\varvec{a}}\in {{\mathbb {Z}}}^n\) that satisfies (1), \(b\in {{\mathbb {Z}}}\) and assume without loss of generality that the knapsack polyhedron \(P({\varvec{a}},b)\) is integer feasible. Given any vertex \({\varvec{v}}\) of \(P({\varvec{a}},b)\), our aim is to show that \(P({\varvec{a}},b)\) contains an integer point \({\varvec{z}}\) with \(\ell _{\infty }\)-distance from \({\varvec{v}}\) at most \(\Vert {\varvec{a}}\Vert _{\infty }-1\). In this informal description we will only consider the case when the projected vertex \({\varvec{w}}=\pi _n({\varvec{v}})\) is nonzero (the proof of the case \({\varvec{w}}={\varvec{0}}\) makes use of a similar argument). In what follows, we will use the notation \(h= \gcd (\pi _n({\varvec{a}}))\). If \(P(\pi _n({\varvec{a}}),b)\) is integer feasible, the inductive hypothesis, applied to \(\pi _n({\varvec{a}})/h \) and b / h, implies existence of an integer point \({\varvec{y}} \in P(\pi _n({\varvec{a}}),b)\) with distance to the vertex \({\varvec{w}}\) of \(P(\pi _n({\varvec{a}}),b)\) at most \(\Vert \pi _n({\varvec{a}})\Vert _\infty /h-1\). By adding an extra zero entry, we lift \({\varvec{y}}\) to the point \({\varvec{z}}\).
Notice that by Corollary 3 and Lemma 7 we may assume that the polyhedron \(P(\pi _n({\varvec{a}}),b)\) is unbounded. If the (unbounded) polyhedron \(P(\pi _n({\varvec{a}}),b)\) is integer infeasible, we consider instead a polyhedron \(P(\pi _n({\varvec{a}}),t)\) with a suitable integer t that satisfies certain conditions (see conditions (a)-(c) on page 10). In particular, one of the conditions guarantees that the polyhedron \(P(\pi _n({\varvec{a}}),t)\) contains integer points. The inductive hypothesis, applied to \(\pi _n({\varvec{a}})/h\) and t / h, implies existence of an integer point \({\varvec{y}} \in P(\pi _n({\varvec{a}}),t)\) with distance to a suitably selected vertex of \(P(\pi _n({\varvec{a}}),t)\) at most \(\Vert \pi _n({\varvec{a}})\Vert _\infty /h-1\). Avoiding technical details, the conditions on t guarantee that the point \({\varvec{y}}\) can be lifted to the desired point \({\varvec{z}}\) of the original knapsack polyhedron \(P({\varvec{a}},b)\).
We will use the following notation. \(\varLambda ({\varvec{a}},b)\) will denote the affine lattice formed by integer points in the affine hyperplane \({\varvec{a}}^T{\varvec{x}}=b\), that is \(\varLambda ({\varvec{a}},b)=\{{\varvec{x}}\in {{\mathbb {Z}}}^n: {\varvec{a}}^T{\varvec{x}}=b\}\). We also set \(Q({\varvec{a}}, b)=\pi _n(P({\varvec{a}}, b))\) and \(L({\varvec{a}},b)=\pi _n(\varLambda ({\varvec{a}},b))\). Notice that the affine lattice \(L(\varvec{a},b)\) can be written in the form
Furthermore, \(L({\varvec{a}},0)=\varLambda _{\varvec{a}}\) is a lattice of determinant \(\det (\varLambda _{\varvec{a}})=a_n\) and \(L({\varvec{a}},b)=\varLambda _{\varvec{a}}+{\varvec{y}}\) for some \({\varvec{y}}\in {{\mathbb {Z}}}^{n-1}\).
As it was outlined above, we will start with two special cases. First we suppose that all entries of \({\varvec{a}}\) are positive. In this setting, we obtain an upper bound for \({d}({\varvec{a}},b)\) in terms of the Frobenius number \(g({\varvec{a}})\). This bound will be also used in the proof of Theorem 2.
Lemma 6
Let \({\varvec{a}}\in {{\mathbb {Z}}}_{>0}^{ n}\) satisfy (1) and \(b\in {{\mathbb {Z}}}\). Then
Proof
If \(b<0\) then the polyhedron \(P({\varvec{a}},b)\) is empty and in the case \(b=0\) we have \(P({\varvec{a}},b)= \{\varvec{0}\}\). Assume now that b is a positive integer. Clearly, \(P({\varvec{a}}, b)\) is a simplex with vertices
and, consequently,
Let \({\varvec{v}}\) be any vertex of \(P({\varvec{a}},b)\). Rearranging the entries of \({\varvec{a}}\), we may assume that \({\varvec{v}}=(0,\ldots , 0, b/a_n)^T\). If \(b \le \mu (S_{\varvec{a}},\varLambda _{\varvec{a}}; {{\mathbb {Z}}}^{n-1})\) then (15) combined with (18) implies (17). Suppose now that \(b > \mu (S_{\varvec{a}},\varLambda _{\varvec{a}}; {{\mathbb {Z}}}^{n-1})\). Then
By Lemma 5, applied to the covering \(\mu (S_{\varvec{a}},\varLambda _{\varvec{a}}; {{\mathbb {Z}}}^{n-1}) S_{\varvec{a}}+\varLambda _{\varvec{a}}\) of \({{\mathbb {Z}}}^{n-1}\), there is a point \((z_1, \ldots , z_{n-1})^T\in L({\varvec{a}},b)\cap \mu (S_{\varvec{a}},\varLambda _{\varvec{a}}; {{\mathbb {Z}}}^{n-1}) S_{\varvec{a}}\). Hence, using (19) and the definition of the lattice \(L({\varvec{a}},b)\),
is an integer point in the knapsack polyhedron \(P({\varvec{a}}, b)\).
Since \((z_1, \ldots , z_{n-1})^T\in \mu (S_{\varvec{a}},\varLambda _{\varvec{a}}; {{\mathbb {Z}}}^{n-1}) S_{\varvec{a}}\), we have
where the last equality follows from (15). The lemma is proved. \(\square \)
The next corollary will complete the proof of part (i) for vectors \({\varvec{a}}\) with positive entries.
Corollary 3
Let \({\varvec{a}}\in {{\mathbb {Z}}}^{n}_{>0}\) satisfy (1) and \(b\in {{\mathbb {Z}}}\). Then
Proof
We use a classical upper bound for the Frobenius number due to Schur (see Brauer [6]):
The bound (17) combined with (21) immediately implies (20). \(\square \)
Next, we will consider the case when at least one of the entries of \({\varvec{a}}\) is negative, the entries of \({\varvec{a}}\) satisfy the condition
and the polyhedron \(P(\pi _n({\varvec{a}}), b)=\{{\varvec{x}}\in {{\mathbb {R}}}^{n-1}_{\ge 0}: \pi _n({\varvec{a}})^T {\varvec{x}}=b\}\,\) is bounded or empty.
Lemma 7
Let \({\varvec{a}}\in {{\mathbb {Z}}}^{n}\) satisfy (1) and \(b\in {{\mathbb {Z}}}\). If \({\varvec{a}}\) has at least one negative entry, (22) holds and \(P(\pi _n({\varvec{a}}),b)\) is bounded or empty, then
Proof
The vector \({\varvec{a}}\) has at least one positive and at least one negative entry and, consequently, the polyhedron \(P({\varvec{a}}, b)\) is unbounded. Since we assumed \(a_n>0\), \(P(\pi _n({\varvec{a}}),b)\) can be bounded or empty only when all entries of \(\pi _n({\varvec{a}})\) are negative.
Suppose first that \(b>0\), so that \(P({\varvec{a}},b)\) has the single vertex \({\varvec{v}}=(0,\ldots , 0, b/a_n)^T\), the polyhedron \(P(\pi _n({\varvec{a}}),b)\) is empty and \(Q({\varvec{a}},b)={{\mathbb {R}}}^{n-1}_{\ge 0}\). By Lemma 4, \((a_n-1)S^{n-1}_{\varvec{1}}+\varLambda _{\varvec{a}}\) covers \({{\mathbb {Z}}}^{n-1}\). The affine lattice \(L({\varvec{a}},b)\) is an integer translate of the lattice \(\varLambda _{\varvec{a}}\). Hence, by Lemma 5, there is a point \({\varvec{y}}\in L({\varvec{a}},b)\cap (a_n-1)S^{n-1}_{\varvec{1}}\). In view of (22), we have \(a_n\le \Vert {\varvec{a}}\Vert _{\infty }-1\).
Hence
Let now
Since \({\varvec{y}}\in L({\varvec{a}},b)\cap Q({\varvec{a}},b)\), the point \({\varvec{z}}\) is an integer point in the knapsack polyhedron \(P({\varvec{a}},b)\). Thus, in view of (23), it is sufficient to check that \(|z_n-b/a_n|\le \Vert {\varvec{a}}\Vert _{\infty }-1\). Since \({\varvec{y}}\in (a_n-1)S^{n-1}_{\varvec{1}}\), we have \(|a_1|y_1+\cdots +|a_{n-1}|y_{n-1}\le (a_n-1)\Vert {\varvec{a}}\Vert _{\infty }\). Therefore
Suppose now that \(b\le 0\) and choose any vertex \({\varvec{v}}\) of the polyhedron \(P({\varvec{a}},b)\). We have \({\varvec{v}}=(0,\ldots , 0, b/a_j, 0, \ldots , 0)^T\) for some \(1\le j<n\) and, consequently, \({\varvec{w}}=\pi _n({\varvec{v}})\) is a vertex of the polyhedron \(P(\pi _n({\varvec{a}}),b)\). Let \({\varvec{u}}\) be the point obtained from \({\varvec{w}}\) by rounding up its jth entry, that is \({\varvec{u}}=(0,\ldots , 0, \lceil b/a_j\rceil , 0, \ldots , 0)^T\). Since all entries of \(\pi _n({\varvec{a}})\) are negative, we have \({\varvec{u}}\in Q({\varvec{a}},b)\).
By Lemmas 4 and 5, there is a point \({\varvec{y}}\in L({\varvec{a}},b)\) in the simplex \({\varvec{u}}+(a_n-1)S^{n-1}_{\varvec{1}}\). In view of (22), we have \(a_n\le \Vert {\varvec{a}}\Vert _{\infty }-1\). Hence
Let now
Since \({\varvec{y}}\in {\varvec{u}}+{{\mathbb {R}}}^{n-1}_{\ge 0}\subset Q({\varvec{a}},b)\), the point \({\varvec{z}}\) is an integer point in the knapsack polyhedron \(P({\varvec{a}},b)\). Thus, noticing (24), it is sufficient to check that \(z_n\le \Vert {\varvec{a}}\Vert _{\infty }-1\). Observe that \(\pi _n({\varvec{a}})^T{\varvec{w}}=b\) and \(\pi _n({\varvec{a}})^T{\varvec{y}}=a_1y_1+\cdots +a_{n-1}y_{n-1}\). Therefore,
The latter bound implies
The lemma is proved. \(\square \)
Now, to prove the statement (i) of Theorem 1 in the general case we will proceed by induction on n.
The basis step \(n=2\) is immediately settled by Corollary 3 and Lemma 7. Suppose now that \(n\ge 3\) and the statement (i) of Theorem 1 holds in all dimensions \(2\le k<n\). We may assume without loss of generality that the condition (22) is satisfied. Indeed, rearranging the entries of \({\varvec{a}}\) and replacing \({\varvec{a}}\), b by \(-{\varvec{a}}\), \(-b\) we may assume that \( 0<a_n= \min _{i} |a_i|\). Furthermore, \(\min _{i} |a_i|=\Vert {\varvec{a}}\Vert _{\infty }\) would imply that \({\varvec{a}}=(\pm 1,\ldots , \pm 1, 1)^T\). In this case \({\varvec{a}}\) is totally unimodular and, consequently, \(P({\varvec{a}},b)\) is an integral polyhedron.
Furthermore, by Corollary 3 and Lemma 7, we may assume that at least one of the entries of \({\varvec{a}}\) is negative and the polyhedron \(P(\pi _n({\varvec{a}}),b)\) is unbounded.
Let \({\varvec{v}}\) be any vertex of \(P({\varvec{a}},b)\). Observe that \({\varvec{v}}\) has at most one nonzero entry \(b/a_j\) for some \(1\le j \le n\) and that \({\varvec{w}}=\pi _n({\varvec{v}})\) is a vertex of the polyhedron \(Q({\varvec{a}}, b)\). Suppose first that \({\varvec{w}}\ne {\varvec{0}}\). Rearranging the first \(n-1\) entries of \({\varvec{a}}\), we may assume without loss of generality that \({\varvec{w}}=(0,\ldots ,0,b/a_{n-1})^T\).
Clearly, \({\varvec{w}}\) is a vertex of \(P(\pi _n({\varvec{a}}),b)\). Suppose that \(P(\pi _n({\varvec{a}}),b)\cap L({\varvec{a}},b)\) is not empty. Recall that we use the notation \(h= \gcd (\pi _n({\varvec{a}}))\). By the inductive hypothesis, applied with \(\pi _n({\varvec{a}})/h\) and b / h, there exists an integer point \({\varvec{y}}=(y_1,\ldots , y_{n-1})^T\in P(\pi _n({\varvec{a}}),b)\) such that \(\Vert {\varvec{w}}-{\varvec{y}}\Vert _{\infty }\le \Vert \pi _n({\varvec{a}})\Vert _{\infty }/h-1\). Hence the point \({\varvec{z}}=(y_1,\ldots , y_{n-1},0)^T\in P({\varvec{a}},b)\) satisfies (2).
Next we will suppose that \(P(\pi _n({\varvec{a}}),b)\cap L({\varvec{a}},b)=\emptyset \). Noting (16), we have
Hence \(P(\pi _n({\varvec{a}}),b)\cap {{\mathbb {Z}}}^{n-1}=\emptyset \) and, taking into account that \(P(\pi _n({\varvec{a}}),b)\) is unbounded, we have \(h\ge 2\). Since \(\gcd (h, a_n)=1\) and \(Q({\varvec{a}},b)=\{{\varvec{x}}\in {{\mathbb {R}}}_{\ge 0}^{n-1}: \pi _n({\varvec{a}})^T{\varvec{x}}\le b\}\), there exists an integer t such that
- (a)
t is in the interval \([b-ha_n+1, b)\),
- (b)
\(P(\pi _n({\varvec{a}}),t)\cap L({\varvec{a}},b)\) is not empty or, equivalently, \(t\equiv 0\;\mathrm {mod}\; h\) and \(t\equiv b\;\mathrm {mod}\; a_n\).
- (c)
\(P(\pi _n({\varvec{a}}),t)\subset Q({\varvec{a}},b)\).
Notice that the condition (a) implies (c).
Let us choose a vertex \({\varvec{p}}\) of the polyhedron \(P(\pi _n({\varvec{a}}),t)\) in the following way. If \({\varvec{p}}'=(0,\ldots , 0, t/a_{n-1})^T\) is a vertex of \(P(\pi _n({\varvec{a}}),t)\), then we set \({\varvec{p}}={\varvec{p}}'\). Otherwise, we select \({\varvec{p}}\) as an arbitrary vertex of \(P(\pi _n({\varvec{a}}),t)\). By the inductive hypothesis, applied with \(\pi _n({\varvec{a}})/h\) and t / h, there exists an integer point \({\varvec{y}}=(y_1,\ldots , y_{n-1})^T\in P(\pi _n({\varvec{a}}),t)\) such that
By (25), we have \({\varvec{y}}\in L({\varvec{a}},b)\) and, using (c), there exists an integer point \({\varvec{z}}=(y_1,\ldots , y_{n-1},z)^T\in P({\varvec{a}},b)\). Now \(a_1y_1+\cdots +a_{n-1}y_{n-1}+a_n z=b\) implies \(z=(b-t)/a_n\). Hence by (a) we have
Recall that \({\varvec{p}}=(0,\ldots , 0, t/a_j, 0, \ldots , 0)^T\) for some \(1\le j\le n-1\) and \({\varvec{w}}=(0,\ldots ,0,b/a_{n-1})^T\). If \(j=n-1\), then by (a)
On the other hand, if \(j\ne n-1\) then, by construction of \({\varvec{p}}\), we have \(t/a_{n-1}<0\), so that \(bt<0\). Consequently, by (a), we get \(|b|+|t|\le ha_n-1\). Hence
Taking into account (26), we have
Suppose first that \(\Vert {\varvec{a}}\Vert _{\infty }=h\). Then \(|a_1|=\cdots =|a_{n-1}|=h\) and, using the assumption (22), we have \(a_n\le h-1\). Now we get
We may now assume that \(\Vert {\varvec{a}}\Vert _{\infty }\ge 2h\). Then, using (22),
Let us now suppose that \({\varvec{w}}={\varvec{0}}\), so that \({\varvec{v}}=(0,\ldots , 0, b/a_n)^T\). In this setting, we will need to consider separately the case \(\Vert {\varvec{a}}\Vert _{\infty }=h=\gcd (\pi _n({\varvec{a}}))\). There exists an index \(1\le i< n\) such that \(\pi _i({\varvec{a}})\) has at least one negative entry. Hence, the polyhedron \(P(\pi _i({\varvec{a}}),b)\) is unbounded. Since \(|a_1|=\cdots =|a_{n-1}|=h\), we have \(\gcd (\pi _i({\varvec{a}}))=1\).
Next, \(\pi _i({\varvec{v}})\) is a vertex of \(P(\pi _i({\varvec{a}}),b)\) and, since \(\gcd (\pi _i({\varvec{a}}))=1\), we have \(P(\pi _i({\varvec{a}}),b)\cap {{\mathbb {Z}}}^{n-1}\ne \emptyset \). Then, by the inductive hypothesis, there exists an integer point \({\varvec{y}}\in P(\pi _i({\varvec{a}}),b)\) such that \(\Vert \pi _i({\varvec{v}})-{\varvec{y}}\Vert _{\infty }\le \Vert \pi _i({\varvec{a}})\Vert _{\infty }-1\). Therefore, (2) holds with the integer point \({\varvec{z}}=(y_1,\ldots , y_{i-1},0, y_{i+1}, \ldots , y_{n-1})^T\in P({\varvec{a}},b)\). For the rest of the proof of the part (i) we will assume without loss of generality that
Since \({\varvec{0}}={\varvec{w}}\in Q({\varvec{a}},b)\), there exists an integer t such that
- (\(\hbox {a}'\)):
t is in the interval \([-ha_n+1, 0]\),
- (\(\hbox {b}'\)):
\(P(\pi _n({\varvec{a}}),t)\cap L({\varvec{a}},b)\) is not empty,
- (\(\hbox {c}'\)):
\(P(\pi _n({\varvec{a}}),t)\subset Q({\varvec{a}},b)\).
Let \({\varvec{p}}\) be a vertex of the polyhedron \(P(\pi _n({\varvec{a}}),t)\). By the inductive hypothesis, applied with \(\pi _n({\varvec{a}})/h\) and t / h, there exists an integer point \({\varvec{y}}=(y_1,\ldots , y_{n-1})^T\in P(\pi _n({\varvec{a}}),t)\) such that
By (25), we have \({\varvec{y}}\in L({\varvec{a}},t)\). Therefore, using (\(\hbox {c}'\)), there exists an integer point \({\varvec{z}}=(y_1,\ldots , y_{n-1},z)^T\in P({\varvec{a}},b)\). Next, \(a_1y_1+\cdots +a_{n-1}y_{n-1}+a_n z=b\) implies \(z=(b-t)/a_n\) and, by (\(\hbox {a}'\)), we have
where the last inequality follows from (27).
Observe that \({\varvec{p}}=(0,\ldots , 0, t/a_j, 0, \ldots , 0)^T\) for some \(1\le j\le n-1\). Since \({\varvec{v}}=(0,\ldots ,0,b/a_{n})^T\) and taking into account (28), we have
Now, using (\(\hbox {a}'\)), (22) and (27),
This completes the proof of part (i).
To prove part (ii), we set \({\varvec{a}}=(k,\ldots ,k,1)^T\) and \(b=k-1\). The knapsack polyhedron \(P({\varvec{a}},b)\) contains precisely one integer point, \({\varvec{z}}=(k-1)\cdot \varvec{e}_n\). Choosing the vertex \({\varvec{v}}=\frac{k-1}{k}\cdot \varvec{e}_1\) of \(P({\varvec{a}},b)\) we get \(\Vert {\varvec{v}}-{\varvec{z}}\Vert _{\infty }=k-1 =\Vert {\varvec{a}}\Vert _{\infty }-1\).
4 Proof of Corollary 1
The part (i) immediately follows from part (i) of Theorem 1. To prove part (ii) it is sufficient to consider the same \({\varvec{a}}, b\) as in the proof of part (ii) of Theorem 1 and take \(\varvec{c}=\varvec{e}_n\). Then the integer programming problem (5) has precisely one feasible, and therefore optimal, integer solution \((k-1)\cdot \varvec{e}_n\). Thus \(IP(\varvec{c},{\varvec{a}},b)=k-1\). The corresponding linear relaxation (6) has the, in general not unique, optimal solution \(\frac{k-1}{k}\cdot \varvec{e}_1\) with \(LP(\varvec{c},{\varvec{a}},b)=0\). Hence, \(\mathrm {Gap}(\varvec{c},{\varvec{a}}) \ge IG(\varvec{c}, {\varvec{a}},b) = k-1 = (\Vert {\varvec{a}}\Vert _{\infty }-1) \Vert {\varvec{c}}\Vert _1\).
5 Proof of Theorem 2
We will first obtain an analog of Lemma 6 for the unbounded polyhedra \(P({\varvec{a}},b)\).
Set \({\varvec{a}}^+=(|a_1|, \ldots , |a_n|)^T\). For convenience, we will work with the quantity
Lemma 8
Let \({\varvec{a}}\in {{\mathbb {Z}}}^{ n}\) satisfy (1) and \(b\in {{\mathbb {Z}}}\). If \(P({\varvec{a}},b)\) is unbounded then
Proof
We will use the notation from the proof of Theorem 1. Let \({\varvec{v}}\) be any vertex of \(P({\varvec{a}},b)\). Rearranging the entries of \({\varvec{a}}\) and replacing \({\varvec{a}}\), b by \(-{\varvec{a}}\), \(-b\), we may assume that \({\varvec{v}}=(0,\ldots , 0, b/a_n)^T\), \(a_n>0\), and \(b\ge 0\). The unbounded polyhedron
can be represented in the form \(Q({\varvec{a}},b)=R({\varvec{a}},b)+C({\varvec{a}},b)\), where \(R({\varvec{a}},b)\) is a polytope and
is the recession cone of the polyhedron \(Q({\varvec{a}},b)\) (see e.g. [22, Section 8.2]). For \(t\ge 0\) let \({\varvec{u}}(t)=(u_1(t), \ldots , u_{n-1}(t))^T\) with
Observe that \({\varvec{u}(t)}+tS_{\varvec{a}}\subset C({\varvec{a}},b)\). Indeed, it is easy to check that \(C({\varvec{a}},b)\) contains all vertices \({\varvec{u}}(t)\), \({\varvec{u}}(t)+ (t/a_i) {\varvec{e}}_i\), \(1\le i\le n-1\) of the simplex \({\varvec{u}(t)}+tS_{\varvec{a}}\).
Recall that \(\mathrm {sign}(a_i)=a_i/|a_i|\) for \(1\le i \le n\). Let \(\phi \) be the linear map that sends a vector \({\varvec{x}}=(x_1, \ldots , x_{n-1})^T\in {{\mathbb {R}}}^{n-1}\) to the vector \(\phi ({\varvec{x}})= (\mathrm {sign}(a_1)x_1, \ldots , \mathrm {sign}(a_{n-1})x_{n-1})^T\). Observe that \(\phi (S_{{\varvec{a}}^+})=S_{\varvec{a}}\) and \(\phi (\varLambda _{{\varvec{a}}^+})=\varLambda _{\varvec{a}}\) . Therefore, by (14) and the linear invariance of the covering radius, we have
Let \(t_0=f({\varvec{a}}^+)\). Hence, using (29), \(t_0 S_{\varvec{a}} + \varLambda _{\varvec{a}}\) is a covering of \({{\mathbb {R}}}^{n-1}\). We have \({\varvec{u}}(t_0)+t_0 S_{\varvec{a}}\subset C({\varvec{a}},b)\subset Q({\varvec{a}},b)\), where the last inclusion follows from the assumption that \(b\ge 0\). By Lemma 1, there exists a point \({\varvec{y}}\) of the affine lattice \(L({\varvec{a}},b)\) in \({\varvec{u}}(t_0)+t_0 S_{\varvec{a}}\). Therefore, \(|y_i|\le t_0/|a_i|\) for \(1\le i \le n-1\). Hence, there exists a point \({\varvec{z}}=(y_1, \ldots , y_{n-1},z)^T\in \varLambda ({\varvec{a}},b)\cap P({\varvec{a}},b)\) with
The lemma is proved. \(\square \)
Set
and recall that
We keep \(t' > 0\) to be fixed later. Then, setting \(s({\varvec{a}})= a_{n-1} a_n^{1/(n-1)}\) and noting (30), we get
The first of the last two terms in (31) can be estimated using a special case of Theorem 3 in Strömbergsson [23].
Lemma 9
uniformly over all \(r>0\) and \(H\ge 1\).
Proof
The inequality (32) follows from Theorem 3 in [23]. Specifically, we apply the theorem to \({\mathcal D}=[0,1]^{n-1}\). Notice that \(\#({{Q}}(H)\cap {R}) \asymp _n \#{Q}(H)=N(H)\) and the normalization \(s(\varvec{a})\asymp _n\left( \sum _{j=1}^n a_j\sqrt{\Vert \varvec{a}\Vert ^2_2-a_j^2}\right) /\left( \Vert a\Vert _2^{1-1/(d-1)}\right) \) for \(\varvec{a} \in R\). Then, using the notation of [23], the left-hand side of the inequality (32) is \(\ll _n \#({\hat{{{\mathbb {N}}}}}^n \cap H{\mathcal {D}})\cdot {{\tilde{P}}}_n(H,r)\) over all \(H\ge 1\) and \(r>0\). \(\square \)
To estimate the last term in (31), we will need the following lemma.
Lemma 10
uniformly over all \(r>0\) and \(H\ge 1\).
Proof
Since \({\varvec{a}}\in {R}\), we have \(a_{n-1}\le a_n\). Hence
Furthermore, all \({\varvec{a}}\in {{Q}}(H)\cap {R}\) with \(a_n^{1+1/(n-1)-\epsilon }> r a_1\) are in the set
It is easy to show that
see for example the proof of Lemma 1 in [3]. Then, since \(\#(U\cap {{\mathbb {Z}}}^n)< \min \{H^{n+1/(n-1)-\epsilon }/r, H^n\}\), the result follows. \(\square \)
Next, we will bound H from below in terms of t, similar to Theorem 3 in [23]. The upper bound of Schur (21) implies \(f({\varvec{a}})< n a_1 a_n\). Thus, using (30),
The latter set is empty if \(H \le (t/(n(n-1)))^{\frac{1}{1-\epsilon }}\). Hence we may assume
Using (35), (36), and noticing that \(\epsilon <3/4\), we have
To minimise the exponent of the right hand side of (37), set \(t'=t^\beta \) and choose \(\beta \) with
We get
with \(\alpha (\epsilon ,n)=\beta (n-1)\). The theorem is proved.
6 Proof of Corollary 2
It is sufficient to show (9) for
Observe that the conditions \(n\ge 3\) and \(\epsilon >2/n\) imply that in (4) \(\alpha (\epsilon , n)>1\). For an integer s, consider the vectors \({\varvec{a}}\in {Q}(H)\) with
By (7), we have
Therefore, the contribution of vectors satisfying (40) to the sum
is
where the last inequality holds by (4) and the upper bound in (39). Therefore
Finally, observe that the series
is convergent for \(\alpha (\epsilon , n)>1\).
7 Proof of Theorem 3
We will first show that \(\mathrm {Gap}({\varvec{c}},{\varvec{a}})\) is bounded from below by the lattice programming gap associated with a certain lattice program.
For a vector \(\bar{\varvec{l}}\in {{\mathbb {Q}}}^{n-1}_{>0}\), an \((n-1)\)-dimensional lattice \(\varLambda \subset {{\mathbb {Z}}}^{n-1}\) and \({\varvec{r}}\in {{\mathbb {Z}}}^{n-1}\) consider the lattice program (also referred to as the group problem)
Here \({\varvec{x}} \equiv {\varvec{r}} (\,\mathrm {mod}\; \varLambda )\) if and only if \({\varvec{x}} - {\varvec{r}}\) is a point of \(\varLambda \).
Let \(m(\varLambda ,\bar{\varvec{l}}, {\varvec{r}})\) denote the value of the minimum in (41). The lattice programming gap\(\mathrm {Gap}(\varLambda , \bar{\varvec{l}})\) of (41) is defined as
Notice that the maximum is attained because \(m(\varLambda ,\bar{\varvec{l}}, {\varvec{r}})\) is constant for all \(\varvec{r}\) in the same congruence class modulo \(\varLambda \) and there are precisely \(\det (\varLambda )\) congruence classes. The lattice programming gaps were introduced and studied for sublattices of all dimensions in \({{\mathbb {Z}}}^{n-1}\) by Hoşten and Sturmfels [17].
To proceed with the proof of the part (i), we assume without loss of generality that \(\tau ({\varvec{a}}, {\varvec{c}})=\{n\}\). The (Gomory’s) group relaxation to (5) is a lattice program
where \({\varvec{l}}={\varvec{l}}({{\varvec{a}}},{\varvec{c}})\) is the vector from Theorem 3 and \({\varvec{r}}\in {{\mathbb {Z}}}^{n-1}\) is any point of the affine lattice \(\pi _n(\varLambda ({\varvec{a}}, b))\). We refer the reader to [22, Section 24.2] and [24] for a detailed introduction to the theory of group relaxations.
The group relaxation (43) provides a lower bound for the integrality gap of (5). Specifically, for any \(b\in {{\mathbb {Z}}}\) such that (5) is feasible and bounded, we have
for all \(\varvec{r} \in \pi _n(\varLambda ({\varvec{a}}, b))\). On the other hand, for every \(\varvec{r}\in {{\mathbb {Z}}}^{n-1}\) there exists a \(b\in {{\mathbb {Z}}}\) such that (5) is feasible and \(\varvec{r} \in \pi _n(\varLambda ({\varvec{a}}, b))\). Consequently, by (44),
We will need the following result, obtained in [1].
Proposition 1
(Theorem 1.2 (i) in [1]) For any \(\bar{\varvec{l}}=(\bar{l}_1, \ldots , {\bar{l}}_k)^T\in {{\mathbb {Q}}}^k_{>0}\), \(k\ge 2\), and any k-dimensional lattice \(\varLambda \subset {{\mathbb {Z}}}^k\)
Note that for \(n=2\) we have \(\mathrm {Gap}(\varLambda _{\varvec{a}}, {\varvec{l}})=l_1(|a_2|-1)\) and thus (45) implies (10). For \(n>2\), the bound (10) immediately follows from (45) and Proposition 1.
The proof of the part (ii) will be based on the following lemma.
Lemma 11
Let \({\varvec{a}}\in {{\mathbb {Z}}}^n_{>0}\) satisfy (1), \({\varvec{c}}=(a_1, \ldots , a_{n-1}, 0)^T\) and \({\varvec{l}}=(a_1, \ldots , a_{n-1})^T\). Then
Proof
Recall that \(\varLambda ({\varvec{a}},b)=\{{\varvec{x}}\in {{\mathbb {Z}}}^n: {\varvec{a}}^T{\varvec{x}}=b\}\) denotes the affine lattice formed by integer points in the affine hyperplane \({\varvec{a}}^T{\varvec{x}}=b\) and \(P({\varvec{a}},b)=\{{\varvec{x}}\in {{\mathbb {R}}}_{\ge 0}: {\varvec{a}}^T{\varvec{x}}=b\}\) denotes the knapsack polytope. The assumption \({\varvec{a}}\in {{\mathbb {Z}}}^n_{>0}\) implies that the linear programming relaxation (6) is feasible if and only if b is nonnegative. Suppose that for a nonnegative b the knapsack problem (5) has solution \({\varvec{y}}\in {{\mathbb {Z}}}^n_{\ge 0}\). Then for \({\varvec{r}}=\pi _n({\varvec{y}})\in {{\mathbb {Z}}}^{n-1}_{\ge 0}\)
As \(c_n=0\), the optimal value of the linear programming relaxation \(LP({\varvec{c}},{\varvec{a}}, b)=0\). Therefore, noting that \({\varvec{c}}=(a_1, \ldots , a_{n-1}, 0)^T\) and \({\varvec{l}}=\pi _n({\varvec{c}})\),
Since
and \({\varvec{l}}^T {\varvec{r}}\le {\varvec{a}}^T{\varvec{y}}=b\), the constraint \({\varvec{x}}\in \pi _n(P({{\varvec{a}}}, b))\) in (47) can be replaced by \({\varvec{x}}\in {{\mathbb {R}}}^{n-1}_{\ge 0}\). Consequently, we have
Hence, by (42), we obtain
Together with (45), this implies (46). \(\square \)
As was shown in the proof of Theorem 1.1 in [1], for \({\varvec{l}}=(a_1, \ldots , a_{n-1})^T\)
Thus we obtain the following corollary.
Corollary 4
Let \({\varvec{a}}=(a_1, \ldots , a_n)^T\in {{\mathbb {Z}}}^n_{>0}\) satisfy (1) and \({\varvec{c}}=(a_1, \ldots , a_{n-1}, 0)^T\). Then
To complete the proof of Theorem 3 we will need the following result, obtained in [2].
Proposition 2
(see Theorem 1.1 (ii) in [2]) For any \(\epsilon >0\), there exists a vector \({\varvec{a}}\in {{\mathbb {Z}}}^{n}_{>0}\) such that
For \(n=2\), we have
by a classical result of Sylvester (see e.g. [20]). Hence the part (ii) immediately follows from Corollary 4. For \(n>2\), the part (ii) follows from Corollary 4 and Proposition 2.
8 Proof of Theorem 4
We will denote for \({\varvec{a}}\in Q(H)\cap {{\mathbb {Z}}}^n_{>0}\) the index of a maximum coordinate by \(i({\varvec{a}})\) and we set \({\varvec{c}}_{{\varvec{a}}}=-\varvec{e}_{i({\varvec{a}})}\). The tuples \(({\varvec{a}},{\varvec{c}}_{\varvec{a}} )\) are generic and in view of Theorem 3 we find
Hence
Next we observe that
for \(n\ge 3\). Since \(N(H)> \tfrac{1}{3} H^n\), by (34), we know that
Instead of summing over all \(Q(H)\cap {{\mathbb {Z}}}^n_{>0}\) in the first summand we will consider the subset
for which we know \(a_i/\Vert {\varvec{a}}\Vert _\infty \ge 1/2\). In order to estimate (very roughly) the cardinality of \({{\overline{Q}}}(H)\) we start with \(n=2\) and we denote this 2-dimensional set by \({{\overline{Q}}}_2(H)\). There are at most
tuples \((a,b)\in [0,H]^2\) with \(\gcd (a,b)=m\) and \(a,b\ge H/2\). Thus
for \(H\ge 2\). Since \(\# {{\overline{Q}}}(H)\ge \#{\overline{Q}}_2(H)\times (H/2)^{n-2}\) we get
for H large enough. Hence, all together we have found for sufficiently large H
The theorem is proved.
References
Aliev, I.: On the lattice programming gap of the group problems. Oper. Res. Lett. 43, 199–202 (2015)
Aliev, I., Gruber, P.M.: An optimal lower bound for the Frobenius problem. J. Number Theory 123, 71–79 (2007)
Aliev, I., Henk, M., Hinrichs, A.: Expected Frobenius numbers. J. Combin. Theory Ser. A 118, 525–531 (2011)
Aliev, I., Henk, M., Oertel, T.: Integrality gaps of integer knapsack problems, integer programming and combinatorial optimization. Lect. Notes Comput. Sci. 10328, 25–38 (2017)
Babai, L.: On Lovász’ lattice reduction and the nearest lattice point problem. Combinatorica 6, 1–13 (1986)
Brauer, A.: On a problem of partitions. Am. J. Math. 64, 299–312 (1942)
Cassels, J.W.S.: An Introduction to the Geometry of Numbers. Springer, Berlin (1971)
Cook, W., Gerards, A.M.H., Schrijver, A., Tardos, É.: Sensitivity theorems in integer linear programming. Math. Progr. 34, 251–264 (1986)
Dougherty, R., Faber, V.: The degree-diameter problem for several varieties of Cayley graphs. I. The abelian case. SIAM J. Discrete Math. 17, 478–519 (2004)
Eisenbrand, F., Hähnle, N., Pálvölgyi, D., Shmonin, G.: Testing additive integrality gaps. Math. Progr. A 141, 257–271 (2013)
Eisenbrand, F., Shmonin, G.: Parametric integer programming in fixed dimension. Math. Oper. Res. 33, 839–850 (2008)
Eisenbrand, F., Weismantel, R.: Proximity results and faster algorithms for integer programming using the steinitz lemma. Proc. SODA 29, 808–816 (2018)
Fáry, I.: Sur la densité des réseaux de domaines convexes. Bull. Soc. Math. Fr. 78, 152–161 (1950)
Grötschel, M., Lovász, L., Schrijver, A.: Geometric Algorithms and Combinatorial Optimization, Algorithms and Combinatorics, vol. 2. Springer, Berlin (1988)
Gruber, P.M.: Convex and Discrete Geometry. Springer, Berlin (2007)
Gruber, P.M., Lekkerkerker, C.G.: Geometry of Numbers. North-Holland, Amsterdam (1987)
Hoşten, S., Sturmfels, B.: Computing the integer programming gap. Combinatorica 27(3), 367–382 (2007)
Kannan, R.: Lattice translates of a polytope and the Frobenius problem. Combinatorica 12, 161–177 (1992)
Marklof, J., Strömbergsson, A.: Diameters of random circulant graphs. Combinatorica 33, 429–466 (2013)
Ramírez Alfonsín, J.L.: The Diophantine Frobenius Problem, Oxford Lecture Series in Mathematics and Its Applications, vol. 30. Oxford University Press, Oxford (2005)
Schmidt, W.M.: Integer matrices, sublattices of \({\mathbb{Z}}^m\), and Frobenius numbers. Monatsh. Math. 178, 405–451 (2015)
Schrijver, A.: Theory of Linear and Integer Programming. Wiley-Interscience Series in Discrete Mathematics. Wiley, Chichester (1986)
Strömbergsson, A.: On the limit distribution of Frobenius numbers. Acta Arith. 152, 81–107 (2012)
Thomas, R.R.: The structure of group relaxations, handbooks in operations research and management. Science 12, 123–170 (2005)
Acknowledgements
We would like to thank the anonymous referees for their helpful comments.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Earlier proceeding version: Iskander Aliev, Martin Henk and Timm Oertel, Integrality Gaps of Integer Knapsack Problems, Integer Programming and Combinatorial Optimization, Lecture Notes in Computer Science, 10328 (2017), 25–38.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Aliev, I., Henk, M. & Oertel, T. Distances to lattice points in knapsack polyhedra. Math. Program. 182, 175–198 (2020). https://doi.org/10.1007/s10107-019-01392-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10107-019-01392-1