首页 > 解决方案 > 运行 JuMP 示例

问题描述

我正在尝试在全新的 julia 安装(版本 1.0.2 (2018-11-08))上运行此示例:

https://github.com/JuliaOpt/JuMP.jl/blob/master/examples/basic.jl

但我总是得到这个错误。

julia> using JuMP, Clp

julia> m = Model(with_optimizer(Clp.Optimizer))
ERROR: UndefVarError: with_optimizer not defined
Stacktrace:
 [1] top-level scope at none:0

我究竟做错了什么?看起来这样一个简单的例子应该很容易运行。

标签: juliajulia-jump

解决方案


您正在查看master来自 GitHub 存储库的分支的示例。自上次发布以来,JuMP API 发生了重大变化。

您应该查看本地存储库中的 basic.jl 文件。它应该位于类似的目录位置~/.julia/packages/JuMP/Xvn0n/examples/basic.jlXvn0n在您的情况下,该部分可能不同,但路径模式应该相同;如果您在 Windows 上,那么~是您的用户配置文件的目录)。

您所指的示例在软件包的发布版本中如下所示:

using JuMP, Clp

m = Model(solver = ClpSolver())

@variable(m, 0 <= x <= 2)
@variable(m, 0 <= y <= 30)

@objective(m, Max, 5x + 3y)
@constraint(m, 1x + 5y <= 3.0)

print(m)

status = solve(m)

println("Objective value: ", getobjectivevalue(m))
println("x = ", getvalue(x))
println("y = ", getvalue(y))

您还可以在此处找到最新版本的压缩源https://github.com/JuliaOpt/JuMP.jl/releases/tag/v0.18.4,但当然随着新版本的发布,数字会发生变化,因此最可靠查看代码的地方是 JuMP 在您的本地计算机上的示例。


推荐阅读