JuliaOpt / CoinOptServices.jl

Julia interface to COIN-OR Optimization Services https://projects.coin-or.org/OS
Other
16 stars 4 forks source link

symbol not defined in CoinOptServices.jl #46

Open utotch opened 6 years ago

utotch commented 6 years ago

Hi, I want to pass options arguments to OsilBonminSolver / OsilCouenneSolver by using JuMP API.

model = Model(solver = OsilBonminSolver(OSOption("time_limit", 10.0)))

But it fails with "UndefVarError: symbol not defined"@CoinOptServices.jl:390.

I'm afraid that "symbol" function in CoinOptServices.jl is deprecated and "Symbol" is correct.

Does anyone know how to recover it?

[Whole sample code]

using JuMP
using CoinOptServices

model = Model(solver = OsilBonminSolver(OSOption("time_limit", 10.0))) # Only this line matters
# model = Model(solver = OsilCouenneSolver(OSOption("time_limit", 10.0))

n = 3
P0=Symmetric(randn(n,n))
q0=rand(n)
r0=0
P1=Symmetric(randn(n,n))
q1=rand(n)
r1=0
@variable(model, x[1:n])
@objective(model, Min, 0.5*x'*P0*x+q0'*x+r0)
@constraint(model, 0.5*x'*P1*x+q1'*x+r1 <= 0)
status = JuMP.solve(model)
@show getvalue(x), model.objVal, status

[Result]

UndefVarError: symbol not defined

Stacktrace:
 [1] write_osol_file(::String, ::Array{Float64,1}, ::Array{Dict,1}) at /opt/julia/v0.6/CoinOptServices/src/CoinOptServices.jl:390
 [2] optimize!(::CoinOptServices.OsilMathProgModel) at /opt/julia/v0.6/CoinOptServices/src/CoinOptServices.jl:555
 [3] optimize!(::CoinOptServices.OsilLinearQuadraticModel) at /opt/julia/v0.6/CoinOptServices/src/probmod.jl:410
 [4] #solve#116(::Bool, ::Bool, ::Bool, ::Array{Any,1}, ::Function, ::JuMP.Model) at /opt/julia/v0.6/JuMP/src/solvers.jl:175
 [5] solve(::JuMP.Model) at /opt/julia/v0.6/JuMP/src/solvers.jl:150

ref: my environment

Julia Version 0.6.2
Commit d386e40c17 (2017-12-13 18:08 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, skylake)