# Solving Integer Linear Programs by Exploiting Variable-Constraint Interactions: A Survey

^{1}

^{2}

^{*}

## Abstract

**:**

## 1. Introduction

**NP**-complete, and a significant amount of research has been carried out on tractable fragments of ILP defined in terms of the algebraic properties of the instance (see, e.g., the work of Papadimitriou and Steiglitz exploiting total unimodularity (Section 13.2, [7])) or in terms of restrictions on the number of constraints or variables (see Lenstra’s algorithm [8] together with its subsequent improvements by Kannan [9], Frank and Tardos [10]).

**Survey Organization.**After introducing some basic preliminaries for ILPs, graphical representations and structural parameters in Section 2, Section 3 proceeds to a brief overview of classical algorithms for ILP that rely on explicit restrictions such as bounds on the number of variables and/or constraints. In Section 4 we focus on algorithms and lower bounds for ILP that target instances whose variable-constraint interactions give rise to graphical representations of bounded treewidth and/or treedepth. Section 5 then covers results utilizing other structural parameters related to variable-constraint interactions, and the final Section 6 provides an outlook to future work in the area.

## 2. Preliminaries

#### 2.1. Graphs

#### 2.2. Integer Linear Programming

#### 2.3. Parameterized Complexity

**FPT**(fixed-parameter tractable) which contains all problems that can be decided by an algorithm running in time $f\left(k\right)\xb7{n}^{\mathcal{O}\left(1\right)}$, where f is a computable function. Algorithms with this running time are called fpt-algorithms.

**paraNP**, which is defined as the class of problems that are solvable by a nondeterministic Turing-machine in fpt-time. We will make use of the characterization of

**paraNP**-hardness given by Flum and Grohe (Theorem 2.14, [15]): any parameterized (decision) problem that remains

**NP**-hard when the parameter is set to some constant is

**paraNP**-hard. Showing

**paraNP**-hardness for a problem rules out the existence of an fpt-algorithm under the assumption that $\mathbf{P}\ne \mathbf{NP}$. In fact, it even allows us to rule out algorithms running in time ${n}^{f\left(k\right)}$ for any function f (these are called XP algorithms).

#### 2.4. Graph Parameters

**Treewidth.**Treewidth is the most prominent structural parameter and has been extensively studied in a number of fields. In order to define treewidth, we begin with the definition of its associated decomposition. A tree-decomposition $\mathcal{T}$ of a graph $G=(V,E)$ is a pair $(T,\chi )$, where T is a tree and $\chi $ is a function that assigns each tree node t a set $\chi \left(t\right)\subseteq V$ of vertices such that the following conditions hold:

- (T1)
- For every edge $\{u,v\}\in E\left(G\right)$ there is a tree node t such that $u,v\in \chi \left(t\right)$.
- (T2)
- For every vertex $v\in V\left(G\right)$, the set of tree nodes t with $v\in \chi \left(t\right)$ forms a non-empty subtree of T.

**Proposition**

**1**

**.**It is possible to compute an optimal tree-decomposition of an n-vertex graph G with treewidth k in time ${k}^{\mathcal{O}\left({k}^{3}\right)}n$, and to compute a 5-approximate one in time ${2}^{\mathcal{O}\left(k\right)}n$. Moreover, the number of nodes in the obtained tree decompositions is at most $\mathcal{O}\left(n\right)$.

**Treedepth.**Another important notion that we make use of extensively is that of treedepth. Treedepth is a structural parameter closely related to treewidth, and the structure of graphs of bounded treedepth is well understood [21]. A useful way of thinking about graphs of bounded treedepth is that they are (sparse) graphs with no long paths.

**Definition**

**1**(Treedepth)

**.**

**Proposition**

**2**

**.**Given a graph G with n nodes and a constant w, it is possible to decide whether G has treedepth at most w, and if so, to compute an optimal treedepth decomposition of G in time $\mathcal{O}n$.

**Proposition**

**3**

**.**Let ${G}_{i}$ be the connected components of G. Then

**Proposition**

**4**

**.**

- If a graph G has no path of length d, then $\mathrm{td}\left(G\right)\le d$.
- If $\mathrm{td}\left(G\right)\le d$, then G has no path of length ${2}^{d}$.
- $\mathrm{tw}\left(G\right)\le \mathrm{td}\left(G\right)$.
- If $\mathrm{td}\left(G\right)\le d$, then $\mathrm{td}\left({G}^{\prime}\right)\le d+1$ for any graph ${G}^{\prime}$ obtained by adding one vertex into G.

**(Signed) Clique-width.**Let k be a positive integer. A k-graph is a graph whose vertices are labeled by $\left[k\right]$; formally, the graph is equipped with a labeling function $\gamma :V\left(G\right)\to \left[k\right]$, and we also use ${\gamma}^{-1}\left(i\right)$ to denote the set of vertices labeled i for $i\in \left[k\right]$.

- Disjoint union (denoted by ⊕);
- Relabeling: changing all labels i to j (denoted by ${p}_{i\to j}$);
- Edge insertion: adding an edge between each vertex labeled by i and each vertex labeled by j, where $i\ne j$ (denoted by ${\eta}_{i,j}$ or ${\eta}_{j,i}$).

- The difference between the signed clique-width (scw) and unsigned clique-width (cw) of a signed graph G can be arbitrarily large; more precisely, for every gap g there exists a signed graph G such that $\mathrm{scw}\left(G\right)\ge \mathrm{cw}\left(G\right)+g$ [25].
- Every signed graph of (signed) clique-width k can be defined by a (signed) k-expression which does not use the ${\eta}_{i,j}$ operator to create edges between vertices that are already adjacent (i.e., each edge is created only once).
- A signed k-expression of a bipartite signed graph G with bi-partition ${V}_{1},{V}_{2}$ can be converted to a signed $(k+1)$-expression of G such that the labels used for ${V}_{1}$ are completely disjoint from those used for ${V}_{2}$ (this is because any label that was originally used for ${V}_{1}$ and ${V}_{2}$ cannot be used to create new edges).

#### 2.5. Graphical Representations

#### 2.6. Representation Stability

## 3. Solving ILPs with Explicit Restrictions

**Theorem**

**1**

**Theorem**

**2**

**.**An ILP ${}_{=}$ instance $\mathcal{I}$ with m constraints can be solved in time $\mathcal{O}\left(\right(m\xb7{\parallel A\parallel}_{\infty}{)}^{m}\xb7log\parallel \mathbf{b}\parallel )$; in other words, ILP is fixed-parameter tractable parameterized by $m+{\parallel A\parallel}_{\infty}$.

**NP**-complete even when ${\parallel A\parallel}_{\infty}=\parallel \mathbf{b}\parallel =\parallel \mathbf{u}\parallel =1$ and $\parallel \mathbf{l}\parallel =0$, as witnessed by the folklore encoding of the Vertex Cover problem into ILP, i.e., given a graph G and an integer k, the ILP instance has one binary variable for every vertex of G (representing of whether or not the vertex is chosen to be in a vertex cover) and for every edge between u and v a constraint ensuring that the sum of the variables for u and v is at least one (ensuring that the vertex cover contains at least one vertex from every edge).

**Theorem**

**3**

**Theorem**

**4**

**.**A non-negative ILP ${}_{=}$ instance $\mathcal{I}$ with m constraints and n variables can be solved in time ${\mathcal{O}\left(\right(\parallel b\parallel}_{\infty}+1{)}^{2\omega}\omega mn+{m}^{2}n)$, where ω is equal to the branchwidth of the column-matroid of A.

## 4. Parameters for Sparse Variable-Constraint Interactions: Treewidth and Treedepth

**Theorem**

**5**

**.**Let c be a constant. Given an ILPF instance $\mathcal{I}$ with unary bounded domain satisfying the property that all but at most c variables have domain span at most d, and let ${G}_{P}$ be the primal graph of $\mathcal{I}$. Then $\mathcal{I}$ admits a fixed-parameter algorithm when parameterized by $d+{\mathrm{tw}}_{P}\left(\mathcal{I}\right)$.

**Theorem**

**6**

**.**ILPF is

**NP**-complete even when restricted to instances $\mathcal{I}$ such that ${\mathrm{tw}}_{P}\left(\mathcal{I}\right)\le 2$ and $\parallel \mathbf{b}\parallel ={\parallel A\parallel}_{\infty}=1$.

**Theorem**

**7**

**.**ILP is

**FPT**when parameterized by ${\mathrm{td}}_{P}\left(\mathcal{I}\right)+{\parallel A\parallel}_{\infty}$.

**NP**-hard when restricted to instances with ${\parallel A\parallel}_{\infty}=1$, and Ganian and Ordyniak [38] showed that it is also

**NP**-hard when restricted to instances with ${\mathrm{td}}_{P}\left(\mathcal{I}\right)\le 4$. It is worth noting that both Theorem 7 and its predecessor have a non-elementary dependency on the parameter.

**Theorem**

**8**

**.**ILP is

**FPT**when parameterized by ${\mathrm{td}}_{D}\left(\mathcal{I}\right)+{\parallel A\parallel}_{\infty}$.

**Theorem**

**9**

**.**ILPF is

**NP**-complete even when restricted to instances $\mathcal{I}$ such that ${\mathrm{tw}}_{D}\left(\mathcal{I}\right)\le 3$ and with ${\parallel A\parallel}_{\infty}=2$.

**NP**-complete when ${\mathrm{td}}_{D}\left(\mathcal{I}\right)=1$; in other words, it is not possible to strengthen Theorem 8 by dropping any of the parameters. By the standard reduction from Subset Sum we mean the reduction to the ILP instance that has one binary variable for every integer in the Subset Sum instance (representing whether or not the integer is in a solution) and one constraint over all variables ensuring that the sum of all chosen integers equals the target value of the Subset Sum instance.

**Theorem**

**10.**

**NP**-complete even when restricted to instances with strong restrictions on the treewidth and coefficients—to some extent justifying the dependency of the above algorithm on $\mathsf{\Gamma}$. Indeed, the first part of the following theorem follows from the classical encoding of Subset Sum into ILPF, while the second part was shown by Ganian et al. [40].

**Theorem**

**11.**

**NP**-complete even on instances $\mathcal{I}$ with (1) ${\mathrm{tw}}_{I}\left(\mathcal{I}\right)=1$ and Boolean domains for all variables, as well as with (2) ${\mathrm{tw}}_{I}\left(\mathcal{I}\right)\le 3$ and $max(\parallel A{\parallel}_{\infty},\parallel \mathbf{b}\parallel )=2$.

**Theorem**

**12**

**.**ILP remains

**NP**-complete even when restricted to instances $\mathcal{I}$ such that $max(\parallel A{\parallel}_{\infty},\parallel \mathbf{b}\parallel )=1$ and ${\mathrm{td}}_{I}\left(\mathcal{I}\right)\le 5$.

**Theorem**

**13.**

**FPT**parameterized by ${\parallel A\parallel}_{\infty}$ and the vertex cover number of ${G}_{I}\left(\mathcal{I}\right)$.

## 5. Other Parameters Exploiting Variable-Constraint Interactions

**NP**-hard if treedepth were used instead (see Theorem 12). See Figure 3 for an illustration of the relationships between the different variants of fracture number as well as their relation to treewidth and treedepth.

**Theorem**

**14**

**.**ILP admits an XP-algorithm parameterized by ${\parallel A\parallel}_{\infty}+\mathrm{frac}\left(\mathcal{I}\right)$.

**Theorem**

**15**

**.**ILP restricted to unary instances admits an XP-algorithm parameterized by ${\mathrm{frac}}_{C}\left(\mathcal{I}\right)$.

**NP**-hard if the variable fracture number is bounded by a constant (Theorem 13, [43]), which also excludes the use of a less restrictive parameter than constraint fracture number (such as treedepth) in Theorem 15.

- G has treewidth at most k, and
- the largest connected component of the subgraph of ${G}_{P}\left(\mathcal{I}\right)$ induced on $V\left({G}_{P}\left(\mathcal{I}\right)\right)\backslash V\left(G\right)$ contains at most k vertices.

**NP**-complete even when restricted to extremely simple instances whose incidence, primal, and/or dual graphs have bounded clique-width. However, ILP becomes polynomially tractable when restricted to unary instances of bounded signed clique-width (of their signed incidence graph), under the assumption that a suitable k-expression is provided in the input.

**Theorem**

**17.**

## 6. Summary and Future Work

## Author Contributions

## Funding

## Acknowledgments

## Conflicts of Interest

## References

- Floudas, C.; Lin, X. Mixed Integer Linear Programming in Process Scheduling: Modeling, Algorithms, and Applications. Ann. Oper. Res.
**2005**, 139, 131–162. [Google Scholar] [CrossRef] - van den Briel, M.; Vossen, T.; Kambhampati, S. Reviving Integer Programming Approaches for AI Planning: A Branch-and-Cut Framework. In Proceedings of the Fifteenth International Conference on Automated Planning and Scheduling (ICAPS 2005), Monterey, CA, USA, 5–10 June 2005; Biundo, S., Myers, K.L., Rajan, K., Eds.; AAAI: Menlo Park, CA, USA, 2005; pp. 310–319. [Google Scholar]
- Vossen, T.; Ball, M.O.; Lotem, A.; Nau, D.S. On the Use of Integer Programming Models in AI Planning. In Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence (IJCAI 99), Stockholm, Sweden, 31 July–6 August 1999; Dean, T., Ed.; Morgan Kaufmann: San Francisco, CA, USA, 1999; Volume 2, pp. 304–309. [Google Scholar]
- Toth, P.; Vigo, D. (Eds.) The Vehicle Routing Problem; Society for Industrial and Applied Mathematics: Philadelphia, PA, USA, 2001. [Google Scholar]
- Lodi, A.; Martello, S.; Monaci, M. Two-dimensional packing problems: A survey. Eur. J. Oper. Res.
**2002**, 141, 241–252. [Google Scholar] [CrossRef] - Alumur, S.A.; Kara, B.Y. Network hub location problems: The state of the art. Eur. J. Oper. Res.
**2008**, 190, 1–21. [Google Scholar] [CrossRef] - Papadimitriou, C.H.; Steiglitz, K. Combinatorial Optimization: Algorithms and Complexity; Prentice-Hall: Upper Saddle River, NJ, USA, 1982. [Google Scholar]
- Lenstra, H.W., Jr. Integer programming with a fixed number of variables. Math. Oper. Res.
**1983**, 8, 538–548. [Google Scholar] [CrossRef] - Kannan, R. Minkowski’s Convex Body Theorem and Integer Programming. Math. Oper. Res.
**1987**, 12, 415–440. [Google Scholar] [CrossRef] - Frank, A.; Tardos, É. An application of simultaneous Diophantine approximation in combinatorial optimization. Combinatorica
**1987**, 7, 49–65. [Google Scholar] [CrossRef] - Freuder, E.C. A Sufficient Condition for Backtrack-Bounded Search. J. ACM
**1985**, 32, 755–761. [Google Scholar] [CrossRef] - Dechter, R.; Pearl, J. Tree Clustering for Constraint Networks. Artif. Intell.
**1989**, 38, 353–366. [Google Scholar] [CrossRef] - Diestel, R. Graph Theory, 4th ed.; Graduate Texts in Mathematics; Springer: Berlin/Heidelberg, Germany, 2012; Volume 173. [Google Scholar]
- Cygan, M.; Fomin, F.V.; Kowalik, L.; Lokshtanov, D.; Marx, D.; Pilipczuk, M.; Pilipczuk, M.; Saurabh, S. Parameterized Algorithms; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar]
- Flum, J.; Grohe, M. Parameterized Complexity Theory; Texts in Theoretical Computer Science. An EATCS Series; Springer: Berlin/Heidelberg, 2006; Volume XIV. [Google Scholar]
- Niedermeier, R. Invitation to Fixed-Parameter Algorithms; Oxford University Press: Oxford, UK, 2006. [Google Scholar]
- Downey, R.G.; Fellows, M.R. Fundamentals of Parameterized Complexity; Texts in Computer Science; Springer: London, UK, 2013; pp. 3–707. [Google Scholar]
- Kloks, T. Treewidth: Computations and Approximations; Springer: Berlin, Germany, 1994. [Google Scholar]
- Bodlaender, H.L. A linear-time algorithm for finding tree-decompositions of small treewidth. SIAM J. Comput.
**1996**, 25, 1305–1317. [Google Scholar] [CrossRef] - Bodlaender, H.L.; Drange, P.G.; Dregi, M.S.; Fomin, F.V.; Lokshtanov, D.; Pilipczuk, M. A c
^{k}n 5-Approximation Algorithm for Treewidth. SIAM J. Comput.**2016**, 45, 317–378. [Google Scholar] [CrossRef] - Nešetřil, J.; Ossona de Mendez, P. Sparsity: Graphs, Structures, and Algorithms; Algorithms and Combinatorics; Springer: Berlin/Heidelberg, Germany, 2012; Volume 28. [Google Scholar]
- Courcelle, B.; Makowsky, J.A.; Rotics, U. Linear time solvable optimization problems on graphs of bounded clique-width. Theory Comput. Syst.
**2000**, 33, 125–150. [Google Scholar] [CrossRef] - Courcelle, B.; Olariu, S. Upper bounds to the clique width of graphs. Discret. Appl. Math.
**2000**, 101, 77–114. [Google Scholar] [CrossRef] - Golumbic, M.C.; Rotics, U. On the clique-width of some perfect graph classes. Int. J. Found. Comput. Sci.
**2000**, 11, 423–443. [Google Scholar] [CrossRef] - Bliem, B.; Ordyniak, S.; Woltran, S. Clique-Width and Directed Width Measures for Answer-Set Programming. In Proceedings ECAI 2016—22nd European Conference on Artificial Intelligence; Kaminka, G.A., Fox, M., Bouquet, P., Hüllermeier, E., Dignum, V., Dignum, F., van Harmelen, F., Eds.; IOS Press: Amsterdam, The Netherlands, 2016; Volume 285, pp. 1105–1113. [Google Scholar]
- Oum, S.; Seymour, P.D. Approximating clique-width and branch-width. J. Comb. Theory Ser. B
**2006**, 96, 514–528. [Google Scholar] [CrossRef] - Kanté, M.M.; Rao, M. The Rank-Width of Edge-Coloured Graphs. Theory Comput. Syst.
**2013**, 52, 599–644. [Google Scholar] [CrossRef] - Samer, M.; Szeider, S. Constraint satisfaction with bounded treewidth revisited. J. Comput. Syst. Sci.
**2010**, 76, 103–114. [Google Scholar] [CrossRef] - Ganian, R.; Ramanujan, M.S.; Szeider, S. Discovering Archipelagos of Tractability for Constraint Satisfaction and Counting. ACM Trans. Algorithms
**2017**, 13, 29:1–29:32. [Google Scholar] [CrossRef] - Samer, M.; Szeider, S. Fixed-Parameter Tractability. In Handbook of Satisfiability; Biere, A., Heule, M., van Maaren, H., Walsh, T., Eds.; IOS Press: Amsterdam, The Netherlands, 2009; Chapter 13; pp. 425–454. [Google Scholar]
- Papadimitriou, C.H. On the Complexity of Integer Programming. J. ACM
**1981**, 28, 765–768. [Google Scholar] [CrossRef] - 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 (SODA 2018), New Orleans, LA, USA, 7–10 January 2018; pp. 808–816. [Google Scholar]
- Jansen, K.; Rohwedder, L. On integer programming and convolution. In Proceedings of the 10th Innovations in Theoretical Computer Science Conference (ITCS 2019), San Diego, CA, USA, 10–12 January 2019; pp. 43:1–43:17. [Google Scholar]
- Knop, D.; Pilipczuk, M.; Wrochna, M. Tight complexity lower bounds for integer linear programming with few constraints. In Proceedings of the 36th International Symposium on Theoretical Aspects of Computer Science (STACS 2019), Berlin, Germany, 13–16 March 2019; pp. 44:1–44:15. [Google Scholar]
- Schrijver, A. Combinatorial Optimization—Polyhedra and Efficiency; Springer: Berlin, Germany, 2003. [Google Scholar]
- Jansen, B.M.P.; Kratsch, S. A structural approach to kernels for ILPs: Treewidth and total unimodularity. In Proceedings of the Algorithms—ESA 2015—23rd Annual European Symposium, Patras, Greece, 14–16 September 2015; Bansal, N., Finocchi, I., Eds.; Lecture Notes in Computer Science. Springer: Cham, Switzerland, 2015; Volume 9294, pp. 779–791. [Google Scholar]
- Cunningham, W.H.; Geelen, J. On integer programming and the branch-width of the constraint matrix. In Proceedings of the 12th International IPCO Conference on Integer Programming and Combinatorial Optimization, Ithaca, NY, USA, 25–27 June 2007; Fischetti, M., Williamson, D.P., Eds.; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 2007; Volume 4513, pp. 158–166. [Google Scholar]
- Ganian, R.; Ordyniak, S. The complexity landscape of decompositional parameters for ILP. Artif. Intell.
**2018**, 257, 61–71. [Google Scholar] [CrossRef][Green Version] - Koutecký, M.; Levin, A.; Onn, S. A parameterized strongly polynomial algorithm for block structured integer programs. In Proceedings of the 45th International Colloquium on Automata, Languages, and Programming, Prague, Czech Republic, 9–13 July 2018; pp. 85:1–85:14. [Google Scholar]
- Ganian, R.; Ordyniak, S.; Ramanujan, M.S. Going beyond primal treewidth for (M)ILP. In Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence, San Francisco, CA, USA, 4–9 February 2017; Singh, S.P., Markovitch, S., Eds.; AAAI Press: Menlo Park, CA, USA, 2017; pp. 815–821. [Google Scholar]
- Eiben, E.; Ganian, R.; Knop, D.; Ordyniak, S.; Pilipczuk, M.; Wrochna, M. Integer Programming and Incidence Treedepth. In Proceedings of the Integer Programming and Combinatorial Optimization—20th International Conference (IPCO 2019), Ann Arbor, MI, USA, 22–24 May 2019; pp. 194–204. [Google Scholar]
- Eiben, E.; Ganian, R.; Knop, D.; Ordyniak, S. Unary Integer Linear Programming with Structural Restrictions. In Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence (IJCAI 2018), Stockholm, Sweden, 13–19 July 2018; pp. 1284–1290. [Google Scholar]
- Dvořák, P.; Eiben, E.; Ganian, R.; Knop, D.; Ordyniak, S. Solving Integer Linear Programs with a Small Number of Global Variables and Constraints. In Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence, Melbourne, Australia, 19–25 August 2017; Sierra, C., Ed.; IJCAI: Freiburg, Germany, 2017; pp. 607–613. [Google Scholar]
- Eisenbrand, F.; Hunkenschröder, C.; Klein, K.; Koutecký, M.; Levin, A.; Onn, S. An algorithmic theory of integer programming. Mathematics
**2019**, arXiv:1904.01361. [Google Scholar] - Gaspers, S.; Szeider, S. Backdoors to satisfaction. In The Multivariate Algorithmic Revolution and Beyond—Essays Dedicated to Michael R. Fellows on the Occasion of His 60th Birthday; Bodlaender, H.L., Downey, R., Fomin, F.V., Marx, D., Eds.; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7370, pp. 287–317. [Google Scholar]
- Gaspers, S.; Ordyniak, S.; Szeider, S. Backdoor Sets for CSP. In The Constraint Satisfaction Problem: Complexity and Approximability; Schloss Dagstuhl—Leibniz-Zentrum fuer Informatik: Dagstuhl, Germany, 2017; pp. 137–157. [Google Scholar]

**Figure 2.**The primal, dual, incidence, and signed incidence graph of the constraint matrix shown in the top left corner. Vertices corresponding to variables (constraints) of the matrix are indicated by circles (rectangles). The label of a vertex corresponds to its row/column-index in the constraint matrix.

**Figure 3.**The relationship between the structural parameters treewidth, treedepth, and fracture number for the primal, dual, and incidence graph. An arc from one parameter to another indicates that the former is a more general parameter, i.e., whenever the later is bounded so is the former. The variable, constraint, and mixed fracture number are defined in Section 5.

**Table 1.**The complexity map for ILP${}_{\le}$ for unary instances (first row), instances whose coefficients are encoded in unary (second row), and instances with unary bounded domain (third row). Without these restrictions, the problem becomes intractable due to the simple acyclic structure of the classical encoding of Subset Sum into ILP.

Acyclic Primal Graph | Acyclic Incidence Graph | ||
---|---|---|---|

ILPF | ILP | ||

Unary | P | P | P |

Unary-C | NP-hard | P | NP-hard |

Unary-D | P | P | NP-hard |

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Ganian, R.; Ordyniak, S.
Solving Integer Linear Programs by Exploiting Variable-Constraint Interactions: A Survey. *Algorithms* **2019**, *12*, 248.
https://doi.org/10.3390/a12120248

**AMA Style**

Ganian R, Ordyniak S.
Solving Integer Linear Programs by Exploiting Variable-Constraint Interactions: A Survey. *Algorithms*. 2019; 12(12):248.
https://doi.org/10.3390/a12120248

**Chicago/Turabian Style**

Ganian, Robert, and Sebastian Ordyniak.
2019. "Solving Integer Linear Programs by Exploiting Variable-Constraint Interactions: A Survey" *Algorithms* 12, no. 12: 248.
https://doi.org/10.3390/a12120248