我们将CVXPY和CVXOPT用作求解器(并将cvx.ROBUST_KKTSOLVER
用作KKT求解器)作为变更点检测方法的一部分。
在某些情况下,对Problem.solve()
的调用不会终止。对于相同的数据,我们无法确定性地重现该问题,因为有时会返回,有时(非常罕见)不会。
如果在一定时间内没有返回求解器,是否有一些解决方案?有什么理由吗? (我们尚未在文档中找到它。)
仅提供一些上下文,我们这样称呼求解器
w = cvx.Variable((_degree + 1 + dimensions, 1))
objective = cvx.Minimize(cvx.norm(A * w - Y, _regression_norm) ** _regression_norm + _penalty * cvx.norm(w[_degree + 1:], _basis_norm) ** _basis_norm)
constraints = []
prob = cvx.Problem(objective, constraints)
optimal_value = prob.solve(solver='CVXOPT', kktsolver=cvx.ROBUST_KKTSOLVER, verbose=True)