El problema puede considerarse como un problema de monedas. Hay $k$ monedas con denominaciones $m_1,\dots,m_k$ y quieres expresar una cantidad $n$ con estas monedas. Como se ha dicho, el problema es una cuestión de programación entera que es NP-completa cuando $k$ es parte de la entrada. Está en P (con dependencia exponencial de $k$ ) cuando $k$ se fija mediante un algoritmo de Lenstra.
El problema está estrechamente relacionado con el problema de la moneda de Frobenius/Sylvester: encontrar el mínimo $n$ para que todo entero mayor tenga una representación de este tipo. Véase aquí y aquí . Un algoritmo polinómico cuando $k$ está acotado fue logrado por Ravi Kannan. (La dependencia de $k$ es doblemente exponencial).
Estos dos problemas (encontrar una representación para el $n$ y encontrar el valor de $n$ por encima de la cual siempre existe una representación) representan los dos primeros niveles en la jerarquía de Presburger. Un importante problema abierto aquí es encontrar un algoritmo P para problemas de orden superior en la Jerarquía de Presburger.
Por supuesto, otra cuestión importante es cómo resolver estas cuestiones en la práctica. Supongo que otras personas pueden responder a eso mejor que yo. Un método que ciertamente me viene a la mente es considerar la relajación de la programación lineal (es decir, permitir que los racionales $a_i$ s) y luego aplicar algunos redondeos y mejoras "locales".
El rango propuesto por el OP donde $k$ - (el número de monedas) está en los cientos es interesante. No sé si los algoritmos actuales pueden arañar este valor.
2 votos
MO está destinado a temas de nivel de posgrado y superior.
14 votos
No veo cómo esto no es a nivel de escuela de posgrado o superior, sin embargo el problema parece ser equivalente al problema de la suma de subconjuntos no limitados, cuya completitud NP se menciona en mathoverflow.net/a/144983/12705 .
3 votos
La pregunta me parece perfectamente legítima (y Emil Jerábek ha proporcionado una respuesta a la misma - tal vez quiera publicarla como una respuesta real en lugar de un comentario, ahora que la pregunta se ha reabierto).
2 votos
Andy, esta es una cuestión importante relacionada con los trabajos de Sylvester y Frobenius donde se ha descubierto mucho en las últimas décadas.