-3

我是 CVXR 包的新手。我正在使用它在 EM 算法的每次迭代中进行凸优化。一开始一切都很好,但经过 38 次迭代后,我有一个错误:

Error in valuesById(object, results_dict, sym_data, solver) : 
Solver failed. Try another.

我不确定为什么求解器一开始可以正常工作,但后来无法正常工作。我查阅了有关如何更改求解器的手册,但找不到答案。我也很好奇我们是否可以在 CVXR 中指定学习步长。非常感谢任何帮助

4

1 回答 1

2

您可以获得的 CVXR 中已安装求解器的列表

installed_solvers()

在我的情况下是:

# "ECOS"    "ECOS_BB" "SCS"

您可以更改仅使用参数求解器使用的那个,例如从默认的 ECOS 更改为 SCS:

result <- solve(prob, solver="SCS")

我认为开发人员计划在未来支持其他求解器,例如 gurobi ...

于 2017-12-20T00:34:01.020 回答