python - CVXPY 不会终止(使用 CVXOPT 作为求解器)
问题描述
我们使用 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)
解决方案
推荐阅读
- php - MySQL (Laravel Eloquent) - 当两列同时具有两个或多个值时获取记录
- angular - 将来自 Angular 应用程序的请求发布到 firebase 数据库
- python - Python Plotly 图形与辅助 x 轴链接到主要
- mysql - Supertest 中的 MySQL 查询返回 {sql, bindings} 而不是结果
- java - 当一个线程执行java.lang.Class.getDeclaredMethods0时,其他线程被锁定
- javascript - 使用 forEach 循环构建 html 表和日期/时间作为 null
- python - 标准化 get_success_url
- reactjs - 实现 React DnD 后在 React 中刷新子组件
- android - 使用条件语句刷新 Webview
- qt - QML - GridLayout - ROW 和 COLUMN Span - 理解