我正在研究一个编程问题,该问题归结为一组方程和不等式:

x[0]*a[0] + x[1]*a[1] + ... x[n]*a[n] >= D
x[0]*b[0] + x[1]*b[1] + ... x[n]*b[n] =  C

我想求解 X 的值,该值将给出 C 的绝对最小值,给定输入 D 和列表以及 ABa[0 - n]b[0 - n ] 组成。

我目前正在用 Python 解决这个问题,但一般来说这个问题与语言无关。

澄清更新:系数 x[0 - n] 仅限于非负整数集。

最佳答案

这看起来像是 linear programming 问题。 Simplex algorithm 通常会给出很好的结果。它基本上遍历由不等式分隔的子空间的边界,寻找最优值。

从视觉上考虑:每个不等式表示一个半空间,一个 n 维空间中的平面,你必须在它的右侧。您的效用函数就是您要优化的函数。如果空间是封闭的,则最优值将在封闭空间的顶点之一;如果它是开放的,则最优值可能是无限的。

关于python - 求解最小值的不等式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/227282/

10-10 04:21