В Python вы можете сделать:
print(gurobipy.gurobi.version())
Что эквивалентно Юлии и JuMP?
Я пытался
using Gurobi
Gurobi.version()
Безуспешно. Я не пытаюсь получить версию пакета Gurobi.jl
, которую можно получить с помощью ] status Gurobi
.
Есть три целочисленные переменные, для этого вам нужно их объединить, чтобы получить полный номер версии:
julia> println("Grurobi version: $(Gurobi.GRB_VERSION_MAJOR).$(Gurobi.GRB_VERSION_MINOR).$(Gurobi.GRB_VERSION_TECHNICAL)")
Grurobi version: 9.5.0
JuMP не зависит от решателя. У вас может быть один JuMP и Model
s с разными решателями. С другой стороны, Gurobi.jl предоставляет все, что Gurobi имеет в своем программном интерфейсе C. Также загляните на github.com/jump-dev/Gurobi.jl/blob/master/src/gen95/…
Ответ @przemyslaw-szufel в основном правильный, но в второстепенной версии он может быть ошибочным. Константы, на которые он ссылается, на самом деле являются теми, которые мы копируем из файла gurobi.h
, а не из самой библиотеки Gurobi, поэтому вы можете вернуть v9.5.0
, когда реальная библиотека будет v9.5.1
.
Вы можете получить точную версию, используя:
julia> using Gurobi
julia> const MOI = Gurobi.MOI
MathOptInterface
julia> v = MOI.get(Gurobi.Optimizer(), MOI.SolverVersion())
"9.1.0"
julia> VersionNumber(v)
v"9.1.0"
это в основном не зависит от решателя, хотя не все пакеты поддерживают MOI.SolverVersion
.
Спасибо! Может быть, в JuMP может быть простая функция, такая как
JuMP.solverversion()
, которая выводит эту простую информацию?