【问题标题】:CVXPY throws SolverErrorCVXPY 抛出 SolverError
【发布时间】: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


    【解决方案1】:

    使用prob.solve(solver='CVXOPT', kktsolver=cv.ROBUST_KKTSOLVER) 使优化过程更加稳健。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-18
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多