【问题标题】:Solver 'CPLEX' failed in CVXPY求解器“CPLEX”在 CVXPY 中失败
【发布时间】:2019-11-19 17:49:30
【问题描述】:

我正在使用 CVXPY 和 CPLEX 针对不同数量的变量解决 QP 问题。它适用于较少数量的变量,但当我增加变量数量时返回错误。

需要一些帮助。谢谢。

【问题讨论】:

  • 您是否已经尝试按照错误消息中的建议添加verbose=True 标志?
  • 请不要发布文字图片,将其剪切并粘贴到您的帖子中并相应地格式化
  • 是的,上面的日志描述是verbose=True的结果。

标签: python numpy cplex cvxpy


【解决方案1】:

在日志输出中你可以看到消息:

障碍不能确定不可行。

这表示数字问题。 最后来自 CVXPY 的错误消息也表明您的模型/数据可能存在数值问题。

您必须仔细检查您的数据。也许启用data check parameternumerical emphasis parameter(我不知道如何在CVXPY中设置这些东西)。

您可以做的另一件事是使用 CVXPY 将模型导出到 SAV(或 LP)文件,将该文件加载到 CPLEX 交互式优化器中,然后执行 display prob stats。如果这显示了很大范围的数字,那么数字问题就得到了证实。您也可以在交互式优化器中解决问题,然后仔细查看那里返回的解决方案状态。

如果您需要进一步的帮助,您必须更新您的问题

  • 将verbose设置为true时的输出
  • 导出的模型或至少disp prob stats的输出

【讨论】:

  • 有关在 CVXPY 中设置 CPLEX 参数的详细信息,请参阅 this stackoverflow 答案。 CVXPY 官方文档here 中也描述了设置 CPLEX 参数和导出模型。
  • 非常感谢!我试试看。
【解决方案2】:

虽然这些打印通常意味着您的问题规范有问题,但这可能有时很少是库方面的错误,可以通过将max_iters 设置为更高的值来解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    相关资源
    最近更新 更多