给定仅包含整数元素的记录集,找到总计达到给定限制的(一个或所有)记录组合。例如,如果有记录代表水果及其特征(元素)是维生素A,B和C
Apple - A=10, B=5, C=15
Orange - A=1, B=20, C=14
Banana - A=4, B=9, C=5
限制是
For A - 13 to 15
For B - 10 to 15
For C - 20 to 25
在这种情况下,满足限制的组合将是Apple和Banana。有没有比蛮力更好的算法?
答案 0 :(得分:0)
这是一个整数线性程序(具有恒定的目标函数)。
解决这样的问题是NP,但有些解决方案可以有效地解决实际问题(甚至是非常大的问题)。
一个这样的解算器是GLPK。
寻找有效解决ILP的算法是一个活跃的研究领域。在Integer Programming的维基百科页面上有一些信息。