运行JuMP示例

时间:2018-11-22 09:38:49

标签: julia julia-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

我在做什么错?这样一个简单的示例似乎应该很容易运行。

1 个答案:

答案 0 :(得分:3)

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

您应该查看本地存储库中的basic.jl文件。它应位于~/.julia/packages/JuMP/Xvn0n/examples/basic.jl之类的目录位置(Xvn0n部分在您的情况下可能有所不同,但路径模式应相同;如果在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在您的示例中本地计算机。