【发布时间】:2018-03-08 15:35:12
【问题描述】:
使用 CVXPY 时,我经常收到“SolverError”。他们的doc 只是说这是由数字问题引起的,但没有提供有关如何避免它们的进一步信息。
下面的代码sn-p是一个例子,问题很简单,但是'CVXOPT'求解器只是抛出“SolverError”。确实,如果我们将求解器更改为另一个求解器,例如“ECOS”,问题将按预期得到解决。但关键是,“CVXOPT”原则上应该解决这个微不足道的问题,它为什么不起作用真的让我感到困惑。
import numpy as np
import cvxpy as cv
np.random.seed(0)
temp = np.random.rand(5)
T = 2
x = cv.Variable(T)
u = cv.Variable(2, T)
pbs = []
for t in range(T):
cost = cv.sum_squares(x[t]-temp[t])
constr = [x[t] == u[0,t]+u[1,t],]
pbs.append(cv.Problem(cv.Minimize(cost), constr))
prob = sum(pbs)
prob.solve(solver='CVXOPT')
【问题讨论】:
标签: python convex-optimization cvxopt cvxpy