给定一个方程
比如 2(p 1 ) + 3(p 2 ) + 7(p 3 ) >= 257
我需要找到 p 1、 p 2、 p 3的所有可能组合,这样上述陈述是正确的,并且在所有 x n都已知 的情况下,得到的总和(等式的左侧)是最小的。
我尝试为一般情况查找算法,例如
(x 1 )(p 1 ) + (x 2 )(p 2 ) + (x 3 )(p 4 ) + ... + (x n )(p n ) >= 目标
我遇到了背包问题和子集和算法解决方案,但它们并不完全像这个问题。
我在 Python 3.x 中使用具有 p n下界值的算法之前尝试过,但它仍然以 O(荒谬)的时间复杂度运行。
显然这里的所有数字都是自然数,否则将有无限的解决方案。