【问题标题】:How to use @constraintref correctly? In Julia Language如何正确使用@constraintref?朱莉娅语言
【发布时间】:2020-07-27 03:46:41
【问题描述】:

伙计们,我写了代码并得到以下错误:@constraint is not defined。我做错了什么。如何解决?谢谢

@constraintref restrição[1:2]
for j=1:2
@constraint(m, restrição[j], sum(A[j,i]*x[i] for i=1:3) <= b[j])`
end
```

【问题讨论】:

    标签: julia error-code julia-jump ijulia-notebook julia-studio


    【解决方案1】:

    您使用的是在 JuMP 0.18 中有效的旧语法(您可以查看链接了解更多详细信息)

    从今天开始,您可以只使用赋值运算符而不是 @constraintref 宏,您的代码可能如下所示:

    using GLPK
    m = Model(with_optimizer(GLPK.Optimizer))
    @variable(m, x[1:5] >= 0)
    myCons = Vector{ConstraintRef}(undef, 5)
    for i = 1:5
        myCons[i] = @constraint(m, x[i] >= i)
    end
    

    【讨论】:

    • 我不清楚矩阵形式的约束在哪里。您能否详细说明一下您的解释。我是初学者。我会非常感激。谢谢。
    • 你认为我下载长稳定版而不是1.4-2版更好吗?这个版本我有很多问题。我在研究中遇到的所有示例都在此版本中返回错误
    • 问题出在 JuMP 的版本上,而不是 Julia 的版本上。您应该使用最新版本的 JuMP,也许您会不时遇到旧版本的教程(JuMP API 已完全更改为 0.19 版本,您需要查找 2019 年 7 月之后创建的教程)跨度>
    • “我不清楚矩阵形式的约束在哪里” - 所有约束和数据都保存在 m 类型为 JuMP.Model 的对象中。有很多方法可以提取它们。看看这个 SO 问题:stackoverflow.com/questions/62782287/…
    猜你喜欢
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 2014-04-26
    • 1970-01-01
    • 2014-02-04
    • 2014-12-31
    • 2017-01-15
    相关资源
    最近更新 更多