【问题标题】:CVXPY and CPLEX - What is this attribute error about?CVXPY 和 CPLEX - 这个属性错误是关于什么的?
【发布时间】:2020-04-18 14:31:11
【问题描述】:

我正在尝试使用 CVXPY 框架对问题进行建模并使用 CPLEX 来解决问题,从而解决单元承诺问题(混合整数二次规划问题)。

当我运行我的代码时,我得到一个 AttributeError:“问题”对象没有属性“_compute_once_is_mixed_integer”

这是我主要得到的错误:

AttributeError:“问题”对象没有属性“_compute_once_is_mixed_integer”

【问题讨论】:

    标签: python-3.x attributeerror cplex cvxpy


    【解决方案1】:

    这似乎不是特定于 CPLEX 的问题。在 github here 中报告了类似的 cvxpy 问题。简而言之:

    堆栈跟踪表明问题出在您的代码上,而不是 CVXPY。特别是,它表明您在 constrlist 是一个 NumPy 对象。

    如果您注释掉以下约束:

    # Spinning Reserve Constraint
    sum(isOn[:, k] * P_MAX) >= Load[k] + SR[k]
    

    那么,求解成功。

    【讨论】:

    • 你能澄清一下你的意思是解决成功吗?因为我注释掉了您建议的行,但仍然没有解决方案。在您提出建议之前,我确实尝试了其他方法,即将 sum 的任何实例更改为 cp.sum,现在我收到一条错误消息,提示 CPLEX 失败。现在我确实尝试在另一个我知道与 ECOS 求解器一起使用的代码上使用 CPLEX 求解器,但它也失败了。安装和使用 CPLEX 和 CVXPY 有什么特别需要我做的吗?我只是使用 pip install cplex 安装了它。现在我需要使用 CPLEX 而不是 ECOS,因为这是一个 MIQP 问题。
    • 对于免费的 CPLEX 社区版来说问题太大了。您将需要安装 CPLEX 的生产版本来解决此模型。
    • 如果您符合条件,您可以通过 Academic Initiative 计划获得完全解锁的 CPLEX 版本。有关详细信息,请参阅this 博客文章。
    • 我一直在使用 CPLEX Optimization Studio 12.10.0(通过我的大学访问)来解决 MATLAB 中的这个确切问题。而在使用 MATLAB 时,我通常会在 MATLAB 中为 cplex 文件添加路径。不确定如果使用 CVXPY 这将如何应用?
    • 想通了。需要使用 cp.multiply 而不是 *.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    相关资源
    最近更新 更多