ToQUBO.jl icon indicating copy to clipboard operation
ToQUBO.jl copied to clipboard

PBO.jl Error

Open pedroripper opened this issue 7 months ago • 2 comments

MWE

using JuMP, QUBO, DWave

model = Model(() -> ToQUBO.Optimizer(DWave.Neal.Optimizer))

W = randn(10,10)
@variable(model, 0 <= x[1:10] <= 3)
@variable(model, 0 <= y[1:10] <= 3)
@objective(model, Min, x' * W * y)

optimize!(model)

I am getting this error

MethodError: no method matching term_head(::Type{PseudoBooleanOptimization.PBF{MathOptInterface.VariableIndex, Float64, Dict{PseudoBooleanOptimization.Term{MathOptInterface.VariableIndex}, Float64}}}, ::Vector{Any})

Closest candidates are:
  term_head(::Type{PseudoBooleanOptimization.PBF{V, _, Dict{PseudoBooleanOptimization.Term{V}, _}}}, ::Tuple{}) where {V, _}
   @ PseudoBooleanOptimization ~/.julia/packages/PseudoBooleanOptimization/UHhLL/src/library/function/dict/dict.jl:52
  term_head(::Type{PseudoBooleanOptimization.PBF{V, _, Dict{PseudoBooleanOptimization.Term{V}, _}}}, ::Tuple{Vararg{V, N}}) where {N, V, _}
   @ PseudoBooleanOptimization ~/.julia/packages/PseudoBooleanOptimization/UHhLL/src/library/function/dict/dict.jl:53
  term_head(::Type{PseudoBooleanOptimization.PBF{V, _, Dict{PseudoBooleanOptimization.Term{V}, _}}}, ::AbstractVector{V}) where {V, _}
   @ PseudoBooleanOptimization ~/.julia/packages/PseudoBooleanOptimization/UHhLL/src/library/function/dict/dict.jl:51
  ...


Stacktrace:
  [1] getindex(f::PseudoBooleanOptimization.PBF{MathOptInterface.VariableIndex, Float64, Dict{PseudoBooleanOptimization.Term{MathOptInterface.VariableIndex}, Float64}}, ω::Vector{Any})
    @ PseudoBooleanOptimization ~/.julia/packages/PseudoBooleanOptimization/UHhLL/src/library/function/dict/dict.jl:108
  [2] parse!(model::ToQUBO.Virtual.Model{Float64, DWave.Neal.Optimizer{Float64}}, g::PseudoBooleanOptimization.PBF{MathOptInterface.VariableIndex, Float64, Dict{PseudoBooleanOptimization.Term{MathOptInterface.VariableIndex}, Float64}}, f::MathOptInterface.ScalarQuadraticFunction{Float64}, ::QUBOTools.GenericArchitecture)
    @ ToQUBO.Compiler ~/.julia/packages/ToQUBO/XJPaT/src/compiler/parse.jl:123
  [3] objective!(model::ToQUBO.Virtual.Model{Float64, DWave.Neal.Optimizer{Float64}}, arch::QUBOTools.GenericArchitecture)
    @ ToQUBO.Compiler ~/.julia/packages/ToQUBO/XJPaT/src/compiler/objective.jl:16
  [4] compile!(model::ToQUBO.Virtual.Model{Float64, DWave.Neal.Optimizer{Float64}}, arch::QUBOTools.GenericArchitecture)
    @ ToQUBO.Compiler ~/.julia/packages/ToQUBO/XJPaT/src/compiler/compiler.jl:61
  [5] compile!(model::ToQUBO.Virtual.Model{Float64, DWave.Neal.Optimizer{Float64}})
    @ ToQUBO.Compiler ~/.julia/packages/ToQUBO/XJPaT/src/compiler/compiler.jl:39
  [6] macro expansion
    @ ./timing.jl:395 [inlined]
  [7] optimize!(model::ToQUBO.Virtual.Model{Float64, DWave.Neal.Optimizer{Float64}})
    @ ToQUBO ~/.julia/packages/ToQUBO/XJPaT/src/wrapper.jl:31
  [8] optimize!
    @ ~/.julia/packages/MathOptInterface/aJZbq/src/MathOptInterface.jl:122 [inlined]
  [9] optimize!(m::MathOptInterface.Utilities.CachingOptimizer{ToQUBO.Virtual.Model{Float64, DWave.Neal.Optimizer{Float64}}, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}})
    @ MathOptInterface.Utilities ~/.julia/packages/MathOptInterface/aJZbq/src/Utilities/cachingoptimizer.jl:321
 [10] optimize!
    @ ~/.julia/packages/MathOptInterface/aJZbq/src/Bridges/bridge_optimizer.jl:367 [inlined]
 [11] optimize!
    @ ~/.julia/packages/MathOptInterface/aJZbq/src/MathOptInterface.jl:122 [inlined]
 [12] optimize!(m::MathOptInterface.Utilities.CachingOptimizer{MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{ToQUBO.Virtual.Model{Float64, DWave.Neal.Optimizer{Float64}}, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}})
    @ MathOptInterface.Utilities ~/.julia/packages/MathOptInterface/aJZbq/src/Utilities/cachingoptimizer.jl:321
 [13] optimize!(model::Model; ignore_optimize_hook::Bool, _differentiation_backend::MathOptInterface.Nonlinear.SparseReverseMode, kwargs::@Kwargs{})
    @ JuMP ~/.julia/packages/JuMP/7rBNn/src/optimizer_interface.jl:595
 [14] optimize!(model::Model)
    @ JuMP ~/.julia/packages/JuMP/7rBNn/src/optimizer_interface.jl:546
 [15] top-level scope
    @ In[51]:1

pedroripper avatar Jul 12 '24 19:07 pedroripper