【问题标题】:julia/ JuMP: no method matching ndimsjulia/ JuMP:没有匹配 ndims 的方法
【发布时间】:2021-07-29 09:10:23
【问题描述】:

现在我想让自己更加熟悉使用 julia/JuMP 的线性编程领域。更具体地说,我正在尝试实现弯曲器分解的算法。由于我被困在某些部分,我想研究以前类似的其他实现。幸运的是,我可以在 JuMP 的官方教程部分找到一个:https://jump.dev/JuMP.jl/stable/tutorials/Optimization%20concepts/benders_decomposition/

https://github.com/jump-dev/JuMP.jl/blob/master/docs/src/tutorials/Optimization%20concepts/benders_decomposition.jl

不幸的是,我无法执行它。它在第一次迭代中崩溃:

with fm_current = 1.0e6
x_current = [0.0, 0.0]
ERROR: LoadError: MethodError: no method matching ndims(::AffExpr)
Closest candidates are:
  ndims(::GenericQuadExpr) at C:\Users\Laurenz\.julia\packages\JuMP\Xrr7O\src\quad_expr.jl:54
  ndims(::Base.Generator) at generator.jl:53
  ndims(::JuMP.Containers.VectorizedProductIterator) at C:\Users\Laurenz\.julia\packages\JuMP\Xrr7O\src\Containers\vectorized_product_iterator.jl:73
  ...
Stacktrace:

我所有的 julia 包都是最新的。

它在 MutableArithmetics.jl in this line: 内崩溃

也许有人已经在运行此代码,或者可以简单地尝试运行它。将不胜感激! 谢谢:)

【问题讨论】:

  • 请添加您正在使用的 Julia 版本和已安装的软件包版本。您可以通过在 Julia REPL 中输入 ] st -m 来获取它。
  • 上周我又更新了 jump 。现在它正在工作!

标签: optimization julia


【解决方案1】:

它适用于 julia 1.5.4 和以下版本的软件包

(jump_playground) pkg> st
Status `C:\Projects\jump_playground\Project.toml`
  [60bf3e95] GLPK v0.14.12
  [4076af6c] JuMP v0.21.9
  [8dfed614] Test

有时当您更新软件包版本时,您需要重新启动 julia REPL。此外,如果您使用的是一些旧版本的 julia 或它可能无法工作的软件包,在这种情况下,最好使用 ] up 进行更新。

【讨论】:

  • 上周我再次更新了 julia JuMP。现在它正在工作!我想这只是其中的一些构建,无法执行该示例!谢谢! :)
猜你喜欢
  • 2021-06-25
  • 1970-01-01
  • 1970-01-01
  • 2022-11-19
  • 2023-03-27
  • 2016-06-04
  • 1970-01-01
  • 2017-06-16
  • 1970-01-01
相关资源
最近更新 更多