The Frobenius Problem

This paper considers the “Frobenius problem” : Given n natural numbers a1, a2, ... a n such that the greatest common divisor of a1,a2, ... a n equal to 1, find the largest natural number that is not expressible as a nonnegative integer combination of them. This problem is NP-hard; but for the cases n=2, 3 polynomial time algorithms are known to solve it. Here a polynomial time algorithm is given for every fixed n. This is done by first proving an exact relation between the Frobenius problem and a geometric concept called the “covering radius”. Then a polynomial time algorithm is developed for finding the covering radius of any polytope in a fixed number of dimensions. The last algorithm relies on a structural theorem proved here that describes for any polytope K, the set K + Zn = {x : x ∈ Rn; x = y + z; y ∈ K; z ∈ Zn∼. The proof of the structural theorem relies on some recent developments in the Geometry of Numbers. In particular, it draws on the notion of “width” and covering radius introduced in Kannan and Lovasz [7], a theorem of Hastad [5] bounding the width of lattice-point-free convex bodies and the techniques of Kannan, Lovasz and Scarf [8] to study the shapes of a polyhedron obtained by translating each facet parallel to itself. The concepts involved are defined from first principles.