Skip to main content
Log in

Distances between optimal solutions of mixed-integer programs

  • Short Communication
  • Series A
  • Published:
Mathematical Programming Submit manuscript

Abstract

A classic result of Cook et al. (Math. Program. 34:251–264, 1986) bounds the distances between optimal solutions of mixed-integer linear programs and optimal solutions of the corresponding linear relaxations. Their bound is given in terms of the number of variables and a parameter \( \varDelta \), which quantifies sub-determinants of the underlying linear inequalities. We show that this distance can be bounded in terms of \( \varDelta \) and the number of integer variables rather than the total number of variables. To this end, we make use of a result by Olson (J. Number Theory 1:8–10, 1969) in additive combinatorics and demonstrate how it implies feasibility of certain mixed-integer linear programs. We conjecture that our bound can be improved to a function that only depends on \( \varDelta \), in general.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

References

  1. András, M.: Matroid Metszetek Pakolása. Master’s thesis, Eötvös Loránd Tudományegyetem Természettudományi Kar (2015)

  2. Baldick, R.: Refined proximity and sensitivity results in linearly constrained convex separable integer programming. Linear Algebra Its Appl. 226–228, 389–407 (1995)

    Article  MathSciNet  Google Scholar 

  3. Blair, C., Jeroslow, R.: The value function of a mixed integer program: I. Discrete Math. 19, 121–138 (1977)

    Article  MathSciNet  Google Scholar 

  4. Blair, C., Jeroslow, R.: The value function of a mixed integer program: II. Discrete Math. 25, 7–19 (1979)

    Article  MathSciNet  Google Scholar 

  5. Conforti, M., Cornuéjols, G., Zambelli, G.: Integer Programming, vol. 271. Springer, Berlin (2014)

    MATH  Google Scholar 

  6. Cook, W., Gerards, A., Schrijver, A., Tardos, E.: Sensitivity theorems in integer linear programming. Math. Program. 34, 251–264 (1986)

    Article  MathSciNet  Google Scholar 

  7. Eisenbrand, F., Weismantel, R.: Proximity results and faster algorithms for integer programming using the Steinitz lemma. In: Proceedings of the Twenty-Ninth Annual ACM–SIAM Symposium on Discrete Algorithms, pp. 808–816 (2018)

    Chapter  Google Scholar 

  8. Granot, F., Skorin-Kapov, J.: Some proximity and sensitivity results in quadratic integer programming. Math. Program. 47, 259–268 (1990)

    Article  MathSciNet  Google Scholar 

  9. Hochbaum, D.S., Shanthikumar, J.G.: Convex separable optimization is not much harder than linear optimization. J. ACM 37(4), 843–862 (1990). https://doi.org/10.1145/96559.96597

    Article  MathSciNet  MATH  Google Scholar 

  10. Olson, J.E.: A combinatorial problem on finite abelian groups. I. J. Number Theory 1, 8–10 (1969)

    Article  MathSciNet  Google Scholar 

  11. Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1986)

    MATH  Google Scholar 

  12. Veselov, S., Chirkov, A.: Integer programming with bimodular matrix. Discrete Optim. 6, 220–222 (2009)

    Article  MathSciNet  Google Scholar 

  13. Werman, M., Magagnosc, D.: The relationship between integer and real solutions of constrained convex programming. Math. Program. 51, 133–135 (1991)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

The authors would like to thank Ahmad Abdi for referring us to [1], where Olson’s result was previously used. The second author was supported by the Alexander von Humboldt Foundation. The authors would also like to thank Stephan Artmann for his comments regarding Lemma 3.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stefan Weltge.

Appendix: A proof of Theorem 3

Appendix: A proof of Theorem 3

The original proof of Theorem 3 in [10] uses the notion of group algebras. We provide a variation of the original proof that avoids explicitly defining group algebras.

Let \(d,p \in \mathbb {Z}_{\ge 1}\) with p prime and consider the additive group \(G := \mathbb {Z}^d/p\mathbb {Z}^d\). We denote the all-zero vector by \( \mathbf {0}\in G \), and the standard unit vectors by \( e_1,\cdots ,e_d \in G \). Let \(r \ge pd -d +1\) and \(g_1, \cdots , g_r \in G\). For a group element \(g \in G\), we can uniquely write g as \(g = \sum _{i=1}^d z_i^g e_i\), where \(z_1^g, \cdots , z_d^g \in \{0,\cdots ,p-1\} \), and the coefficient vector of g as

$$\begin{aligned} \alpha (g) := (z_1^g, \cdots , z_d^g). \end{aligned}$$
(2)

Let us first provide some intuition for the proof of Theorem 3. Consider polynomials of the form

$$\begin{aligned} p_{\lambda }(x_1, \cdots , x_d) := \sum _{g \in G} \lambda _g x^{\alpha (g)}, \end{aligned}$$
(3)

where \(\lambda \in \mathbb {Z}^G\), \(\alpha (g)\) is from (2), and \(x^{\alpha (g)} := \prod _{i=1}^d x_i^{z_i^g}\). For \(\lambda , \tilde{\lambda } \in \mathbb {Z}^G\), we define the product of \(p_{\lambda }\) and \(p_{\tilde{\lambda }}\) to be the polynomial

$$\begin{aligned} p_{\lambda }(x) p_{\tilde{\lambda }}(x) := \sum _{g_1, g_2 \in G} \lambda _{g_1}\tilde{\lambda }_{g_2} x^{\alpha (g_1) + \alpha (g_2) \ {\mathrm {mod}}\ p}. \end{aligned}$$
(4)

Notice that the exponents are taken modulo p, rather than normal polynomial multiplication. This extra condition on polynomial multiplication reflects the group behavior of G. We illustrate the polynomial multiplication in (4) with the following example.

Example 2

Let \(g_1, g_2 \in G \setminus \{\mathbf {0}\}\) and set \(g_0 := \mathbf {0}\). Using the notation introduced in (2),

$$\begin{aligned} \alpha (g_0) = (0, \cdots , 0) \quad \text { and } \quad \alpha (g_i) = (z_1^{g_i} \cdots , z_d^{g_j}) ~~ \forall ~ i \in \{1,2\}. \end{aligned}$$

For \(i \in \{0,1,2\}\), define \(\lambda ^i \in \mathbb {Z}^G\) component-wise to be

$$\begin{aligned} \lambda ^i_h := {\left\{ \begin{array}{ll} 1, &{} \text {if } h = g_i\\ 0, &{} \text {else} \end{array}\right. }. \end{aligned}$$
(5)

The product \((p_{\lambda ^0} - p_{\lambda ^1}) ( p_{\lambda ^0} - p_{\lambda ^2})\) evaluates to

$$\begin{aligned}&(p_{\lambda ^0} - p_{\lambda ^1}) ( p_{\lambda ^0} - p_{\lambda ^2})(x) = \left( 1 - x^{\alpha (g_1)} \right) \left( 1 -x^{\alpha (g_2)} \right) \nonumber \\&\quad = 1- x^{\alpha (g_1)} - x^{\alpha (g_2)} +x^{\alpha (g_1)+\alpha (g_2)\ {\mathrm {mod}}\ p}. \end{aligned}$$
(6)

Now, note that

$$\begin{aligned} \alpha (g_1 + g_2) = \sum _{i=1}^d (z_i^{g_1}+z_i^{g_2} \ {\mathrm {mod}}\ p) e_i, \end{aligned}$$

so \(\alpha (g_1+g_2) = \alpha (g_1)+\alpha (g_2)\ {\mathrm {mod}}\ p\). Therefore, (6) becomes

$$\begin{aligned} (p_{\lambda ^0} - p_{\lambda ^1}) ( p_{\lambda ^0} - p_{\lambda ^2}) (x) = 1- x^{\alpha (g_1)} - x^{\alpha (g_2)} +x^{\alpha (g_1+g_2)}. \end{aligned}$$
(7)

\(\diamond \)

Observe that (7) encodes information about \(\mathbf {0}, g_1, g_2\), and \(g_1 + g_2\), that is, (7) encodes information about the partial sums of the sequence \(g_1, g_2\). Therefore, Example 2 shows that multiplying suitably chosen polynomials yields information about partial sums of elements in G. More generally, if we are given a sequence \(g_1, \dots , g_r \in G\), then we can determine information about the partial sums of \(g_1, \dots , g_r \) by looking at the coefficients of the polynomial \((p_{\lambda ^0} - p_{\lambda ^1}) \cdot (p_{\lambda ^0} - p_{\lambda ^2}) \cdot \cdots \cdot (p_{\lambda ^0} - p_{\lambda ^r}) \).

This relationship between polynomial multiplication and partial sums is the main idea behind the proof of Theorem 3. Upon closer inspection, it can be seen that the partial sum information can also be determined by looking only at a discrete convolution of the vectors of coefficients \((\lambda _g)_{g \in G}\), which can be viewed as functions from G to \(\mathbb {Z}\). Therefore, we formally prove Theorem 3 by examining convolutions of functions from G to \(\mathbb {Z}\). For \( f_1,f_2 : G \rightarrow \mathbb {Z}\), the convolution of \(f_1\) and \(f_2\) is the function \( f_1 \otimes f_2 : G \rightarrow \mathbb {Z}\) defined by

$$\begin{aligned} (f_1 \otimes f_2)(g) = \sum _{h \in G} f_1(h) f_2(g - h) \end{aligned}$$

for \( g \in G \). This operation is associative, commutative, and distributive, and satisfies

$$\begin{aligned} (f_1 \otimes \cdots \otimes f_k)(g) = \sum _{\begin{array}{c} (g_1,\cdots ,g_k) \in G^k,\\ g_1+\cdots +g_k = g \end{array}} \prod _{j=1}^k f_j(g_j). \end{aligned}$$
(8)

For \(g \in G\), define \(\chi _g : G \rightarrow \mathbb {Z}\) by \(\chi _g(g) = 1\) and \(\chi _g(h) = 0\) for all \(h \in G \setminus \{g\}\).

Lemma 4

Let \( r \in \mathbb {Z}_{\ge 1} \) and \( g_1,\cdots ,g_r \in G \), and consider the function \( \pi := (\chi _{\mathbf {0}} - \chi _{g_1}) \otimes \dots \otimes (\chi _{\mathbf {0}} - \chi _{g_r}) \). Then \( \pi \) can be written as a finite sum of functions of the form

$$\begin{aligned} f \otimes \bigotimes _{i=1}^d \bigotimes _{j=1}^{t_i} (\chi _\mathbf {0}- \chi _{e_i}) \end{aligned}$$
(9)

for some \( f : G \rightarrow \mathbb {Z}\) and \( t_1,\cdots ,t_d \in \mathbb {Z}_{\ge 0} \) with \( \sum _{i=1}^d t_i = r \).

Proof

Since \( \otimes \) is associative, commutative, and distributive, it suffices to prove the claim for \( r = 1 \). Recall from (2) that every element \( h \in G \) has unique numbers \( z_1^h,\cdots ,z_d^h \in \{0,\cdots ,p-1\} \) such that \( h = \sum _{i=1}^d z_i^h e_i \). Thus, we can define \( w(h) := z_1^h + \cdots + z_d^h \). We prove the claim via induction over \( w(g_1) \). If \( w(g_1) = 0 \), then \( g_1 = \mathbf {0}\) and \( \pi \equiv 0 \), which satisfies the claim by choosing the empty sum. If \( w(g_1) \ge 1 \), then there exists some \( i \in [ d ] \) with \( z_i^{g_1} \ge 1 \). It is straightforward to verify that

$$\begin{aligned} \chi _\mathbf {0}- \chi _{g_1} = \chi _\mathbf {0}\otimes (\chi _\mathbf {0}- \chi _{e_i}) + \chi _g \otimes (\chi _\mathbf {0}- \chi _{g_1 - e_i}). \end{aligned}$$

Since \( w(g_1 - e_i) = w(g_1) - 1 \), the latter term has a representation as in (9), and therefore, so does \( \pi = \chi _\mathbf {0}- \chi _{g_1} \). \(\square \)

Lemma 5

(Olson (1969), see [10, Theorem 1]) Let r, \( g_1,\cdots ,g_r \), and \( \pi \) be defined as in Lemma 4. If \( r \ge pd-d+1 \), then \(\pi (h) \in p \mathbb {Z}\) for each \( h \in G \).

Proof

By Lemma 4, we know that \( \pi \) is a finite sum of functions of the form (9). Thus, it suffices to show that every function \( \pi ' \) of the form

$$\begin{aligned} \pi ' = f \otimes \bigotimes _{i=1}^d \bigotimes _{j=1}^{t_i} (\chi _\mathbf {0}- \chi _{e_i}), \end{aligned}$$

with \( \sum _{i=1}^d t_i = r \) satisfies \( \pi '(h) \in p \mathbb {Z}\) for every \( h \in G \).

Since, \( \sum _{i=1}^d t_i = r \ge pd-d+1 > d(p-1)\), there exists some \( i \in \{1, \cdots , d\} \) such that \( t_i \ge p \). Define \( \pi '' := \bigotimes _{j=1}^p (\chi _\mathbf {0}- \chi _{e_i}) \), and note that \( \pi ' = f' \otimes \pi '' \) for some \( f' : G \rightarrow \mathbb {Z}\). Let \( h \in G \) and consider \( \pi ''(h) \). If \(h = \mathbf {0}\), then using (8) it follows that \( \pi ''(h) = 2 \in p \mathbb {Z}\) when \(p = 2\) and \( \pi ''(h) = 0 \in p \mathbb {Z}\) when \( p > 2\). Now, suppose that \(h \ne \mathbf {0}\). Using (8), it follows that if h is not a multiple of \( e_i \), then \( \pi ''(h) = 0 \in p \mathbb {Z}\). In the case that if h is a multiple of \( e_i \), say \( h = k e_i \) for some \( k \in \{1,\cdots ,p - 1\} \), one can verify that \( \pi ''(h) = (-1)^k \left( {\begin{array}{c}p\\ k\end{array}}\right) \) holds. Since p divides \( \left( {\begin{array}{c}p\\ k\end{array}}\right) \), we have that \( \pi ''(h) \in p \mathbb {Z}\). Thus, we obtain that \( \pi ''(h) \in p \mathbb {Z}\) holds for all \( h \in G \), which implies that \( \pi '(h) = (f' \otimes \pi '')(h) \in p \mathbb {Z}\) also holds for all \( h \in G \). \(\square \)

Proof of Theorem 3

Consider the function \( \pi \) as defined in Lemma 4. By Lemma 5, \(\pi (\mathbf {0}) \in p \mathbb {Z}\). Since \( p \ge 2 \), it follows that \( \pi (\mathbf {0}) \ne 1 \). Express \( \pi (\mathbf {0}) \) using the sum in (8) and note that one of the summands is

$$\begin{aligned} \prod _{i=1}^r (\chi _{\mathbf {0}} - \chi _{g_i})(\mathbf {0}) = \prod _{i=1}^r 1 = 1. \end{aligned}$$

Since \( \pi (\mathbf {0}) \ne 1 \), there must exist another non-zero summand. This means that there exist \( h_1,\cdots ,h_r \in G \) not all zero with \( h_1+\cdots +h_r = \mathbf {0}\) such that

$$\begin{aligned} \prod _{i=1}^r (\chi _{\mathbf {0}} - \chi _{g_i})(h_i) \ne 0. \end{aligned}$$

For each \(i \in \{1, \dots , r\}\), the function \(\chi _{\mathbf {0}} - \chi _{g_i}\) is zero everywhere except at the points \(\mathbf {0}\) and \(g_i\). So, the latter implies that \( h_i \in \{\mathbf {0}, g_i \}\) for each \( i \in \{ 1,\cdots ,r \}\). Defining \( I := \{i \in \{1, \dots , r\} : h_i = g_i \} \), we obtain

$$\begin{aligned} \sum _{i \in I} g_i = \sum _{i \in I} h_i = \sum _{i=1}^r h_i = \mathbf {0}. \end{aligned}$$

Note that I is not empty since not all \( h_i \) are zero. \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Paat, J., Weismantel, R. & Weltge, S. Distances between optimal solutions of mixed-integer programs. Math. Program. 179, 455–468 (2020). https://doi.org/10.1007/s10107-018-1323-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10107-018-1323-z

Mathematics Subject Classification

Navigation