Джулия "не найдено ни одного метода support_default_copy_to (:: GLPK.Optimizer, :: Bool)", объявляющего модель - PullRequest
1 голос
/ 07 января 2020

Я новичок в Джулии и попытался запустить первый пример сценария во Втором издании Julia Programming for Operations Research , но первые две строки:

using JuMP, GLPK
m = Model(with_optimizer(GLPK.Optimizer))

бросить следующая ошибка:

julia> m = Model(with_optimizer(GLPK.Optimizer))
ERROR: MethodError: no method matching supports_default_copy_to(::GLPK.Optimizer, ::Bool)
Closest candidates are:
  supports_default_copy_to(::MathOptInterface.Utilities.AbstractModel, ::Bool) at /home/mepstein/.julia/packages/MathOptInterface/C1XBe/src/Utilities/model.jl:693
  supports_default_copy_to(::MathOptInterface.Utilities.MockOptimizer, ::Bool) at /home/mepstein/.julia/packages/MathOptInterface/C1XBe/src/Utilities/mockoptimizer.jl:521
  supports_default_copy_to(::MathOptInterface.Utilities.CachingOptimizer, ::Bool) at /home/mepstein/.julia/packages/MathOptInterface/C1XBe/src/Utilities/cachingoptimizer.jl:165

В случае необходимости using JuMP, GLPK выбросил следующее warning:

┌ Warning: Replacing module MathOptInterface
└ @ Base loading.jl:942

И мои версии:

Julia: 1.3.1 (latest stable)
  "GLPK" => v"0.12.0"
  "JuMP" => v"0.20.1"

1 Ответ

0 голосов
/ 08 января 2020

Проблема, решенная автором книги при https://github.com/chkwon/jpor_codes/issues/4

Запуск ] up из интерпретатора julia повысил GLPK до 12,1 с 12,0. Интересно, потому что я только что установил GLPK всего за пару часов go. На самом деле я даже не уверен, что «обновил» установленную версию; из журнала это выглядит так: ] up сделал определенные файлы конфигурации в соответствии с уже установленной версией?

julia>
(v1.3) pkg>  up
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
 Resolving package versions...
 Installed GLPK ─ v0.12.1
  Updating `~/.julia/environments/v1.3/Project.toml`
  [60bf3e95] ↑ GLPK v0.12.0 ⇒ v0.12.1
  Updating `~/.julia/environments/v1.3/Manifest.toml`
  [60bf3e95] ↑ GLPK v0.12.0 ⇒ v0.12.1
  Building GLPK → `~/.julia/packages/GLPK/HjJiX/deps/build.log`

В любом случае, код в вопросе выше теперь работает и дает следующий вывод:

julia> using JuMP, GLPK

julia> m = Model(with_optimizer(GLPK.Optimizer))
A JuMP Model
Feasibility problem with:
Variables: 0
Model mode: AUTOMATIC
CachingOptimizer state: EMPTY_OPTIMIZER
Solver name: GLPK```
...