Hello,
I am encountering a MethodError when calling JuMP.optimize! on a model using MadIPM with the CUDSSSolver. It seems there is a version incompatibility between MadIPM's MOI wrapper and QuadraticModels.
Minimal Reproducible Example
Here is the script that triggers the error:
using ExaModels
using CUDA
using KernelAbstractions
using MadNLP
using MadIPM
using CUDSS
using MadNLPGPU
using JuMP
N = 1000
u = rand(Float64, N) .* 0.0 # simplified for MRE
u_gpu = CuArray(u)
model = Model(MadIPM.Optimizer)
set_optimizer_attribute(model, "array_type", CuVector{Float64})
set_optimizer_attribute(model, "linear_solver", MadNLPGPU.CUDSSSolver)
@variable(model, x[1:N])
set_start_value.(x, fill(0.0, N))
@objective(model, Min, 0.5 * sum((x .- 1.0) .^ 2))
for j in 1:N
@constraint(model, (u[j] * sum(x) - 500.0) .<= 0.0)
end
JuMP.optimize!(model)
ERROR: LoadError: MethodError: no method matching QuadraticModels.QPData(::Float64, ::Vector{Float64}, ::Vector{Float64}, ::SparseMatricesCOO.SparseMatrixCOO{Float64, Int64}, ::SparseMatricesCOO.SparseMatrixCOO{Float64, Int64})
Closest candidates are:
QuadraticModels.QPData(::T, ::S, ::S, ::M1, ::M2, ::Bool, ::I, ::T) where {T, S, M1<:Union{AbstractMatrix{T}, LinearOperators.AbstractLinearOperator{T}}, M2<:Union{AbstractMatrix{T}, LinearOperators.AbstractLinearOperator{T}}, I<:(AbstractVector{<:Integer})}
@ QuadraticModels C:\Users\Chetan\.julia\packages\QuadraticModels\u3FxY\src\qpmodel.jl:10
Version Information:
[4076af6c] JuMP v1.30.1
[4406d55e] MadIPM v0.2.0
[f468eda6] QuadraticModels v0.9.16
Hello,
I am encountering a
MethodErrorwhen callingJuMP.optimize!on a model usingMadIPMwith theCUDSSSolver. It seems there is a version incompatibility betweenMadIPM's MOI wrapper andQuadraticModels.Minimal Reproducible Example
Here is the script that triggers the error: