在使用CVXPY时,我经常得到"SolverError“。他们的文档只是说这是数字问题造成的,但是没有给出更多关于如何避免这些问题的信息。
下面的代码片段是一个示例,问题很小,但是“‘CVXOPT”解决程序只是抛出"SolverError“。诚然,如果我们将解决者改为另一个人,如“经济及社会理事会”,问题将如预期般得到解决。但关键是,“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')发布于 2018-03-08 16:22:01
使用prob.solve(solver='CVXOPT', kktsolver=cv.ROBUST_KKTSOLVER)使优化过程更加健壮。
https://stackoverflow.com/questions/49176880
复制相似问题