我正在使用 scipy.optimize.linprog 库来使用单纯形法计算最小化。我有两种情况会出现错误:
“ValueError:单纯形法的第 1 阶段未能找到可行的解决方案。伪目标函数的计算结果为 3.1e-12,超出了解决方案“足够接近”零所需的容差 1e-12。一个基本的解决方案。考虑将容差增加到大于 3.1e-12。如果这个容差大得不可接受,则问题可能不可行。”
也许有人会发现问题出在哪里。
Minimaze: 45x1 + 54x2 + 42x3 + 36x4
Subject to: x1 + x2 + x3 + x4 = 1600
30x1 + 60x2 + 70x3 + 80x4 = 100000
30x1 + 40x2 + 0x3 + 20x4 = 30000
Run Code Online (Sandbox Code Playgroud)
我写的代码:
A = np.array([[-30, -60, -70, -80], [-30, -40, 0, -20], [-1, -1, -1, -1]])
b = np.array([-100000, -30000, -1600])
c = np.array([45, 54, 42, 36])
res = linprog(c, A_eq=A, b_eq=b, bounds=(0, None)) …Run Code Online (Sandbox Code Playgroud)