# Fastest known complexity for combinatorial ILP algorithm?

I'm wondering, what is the best known algorithm, in terms of Big-$O$ notation, to solve Integer Linear Programming?

I know that the problem is $NP$-complete, so I'm not expecting anything polynomial. And I know there are lots of heuristics and such that are used in practical applications like CPLEX, but I'm more interested in the formal, worst-case complexity of an exact algorithm.

Some $NP$-complete problems have algorithms in time $O(b^n p(n))$ where $1 < b < 2$ and $p$ is a polynomial. Vertex cover, independent set and 3SAT fall into this category, but general-SAT and TSP don't (as far as we know).

Can any such statements be made about Integer Programming, or particular sub-instances?

If anyone has a reference for the related problem of Quantifier Free Presburger Arithmetic, I'd be very interested in that too.

• Aardal, Karen, Robert Weismantel, and Laurence A. Wolsey. "Non-standard approaches to integer programming." Discrete Applied Mathematics 123.1 (2002): 5-74. gives a lot of references. Maybe you can find the answer by looking at these, or tracing what newer papers cite this one. Look at Section 2 in particular. – Juho Apr 12 '15 at 16:36
• What's the difference between $O(1.1^{n})$ and $O(99^{n})$? – greybeard Apr 13 '15 at 7:33
• @greybeard, not much for P vs NP, but a lot in terms of real life tractability, depending on the constants, it makes a huge difference. – jmite Apr 18 '15 at 11:57
• I wish I had been hoping for an up-front reminder that given $O(b^n)$ and $O(cn)$, a difference in $b$ results in a different set of functions, while one in $c$ doesn't and consequently gets abstracted away. – greybeard Apr 18 '15 at 15:50