【发布时间】:2018-10-20 13:06:41
【问题描述】:
我是 SymPy 和 python 的新手,我遇到了一个问题。 我正在尝试解决系统“kunSys”:
>>> kunSys
[-w0 + w1 - 8*x1 + 20,
-2*w0 + w2 - 8*x2 + 4,
w0*(-x1 - 2*x2 + 2),
w1*x1,
w2*x2,
w0 >= 0,
w1 >= 0,
w2 >= 0]
带有变量“lagVars”的列表:
>>> lagVars
(x1, x2, w0, w1, w2)
如您所见,我的系统同时包含方程和不等式。
尝试:
>>> solve(kunSys,lagVars)
获取:
NotImplementedError:
inequality has more than one symbol of interest
但在分别求解方程和不等式时效果很好:
>>> kunSys[:5]
[-w0 + w1 - 8*x1 + 20,
-2*w0 + w2 - 8*x2 + 4,
w0*(-x1 - 2*x2 + 2),
w1*x1,
w2*x2]
>>> solve(kunSys[:5],lagVars)
[(0, 0, 0, -20, -4),
(0, 1/2, 0, -20, 0),
(0, 1, -2, -22, 0),
(2, 0, 4, 0, 4),
(11/5, -1/10, 12/5, 0, 0),
(5/2, 0, 0, 0, -4),
(5/2, 1/2, 0, 0, 0)]
>>> kunSys[5:]
[w0 >= 0, w1 >= 0, w2 >= 0]
>>> solve(kunSys[5:],lagVars)
(0 <= w0) & (0 <= w1) & (0 <= w2) & (w0 < oo) & (w1 < oo) & (w2 < oo)
但这不是想要的结果。 我尝试使用 solveset() 但它似乎也不起作用。 我google了很多,但没有找到答案。
问题:
我该如何解决这个系统?
【问题讨论】: