DAQP was supposedly solving convex mixed-binary quadratic programming until I tried.
The GitHub page
said that the matrix must be positive semi-definite, which it is. (The objective expression literally cannot be less than zero.)
using DAQP
using JuMP
function main()
model = Model(DAQP.Optimizer)
@variable(model, x, Bin)
@variable(model, y, Bin)
@objective(model,Min, (2*x+y)^2)
println(model)
optimize!(model)
solution_summary(model)
#println(value(x))
end
main()
This gave an infeasible result even though the problem is quite obviously a positive semi-definite matrix as required. It gave “infeasible” result, even though you could literally just have put any number in the system.
And if you do
using DAQP
using JuMP
function main()
model = Model(DAQP.Optimizer)
@variable(model, 0<=x<=3, Int)
@objective(model,Min, (x)^2)
println(model)
optimize!(model)
solution_summary(model)
#println(value(x))
end
main()
AssertionError: DAQP requires the objective to be strictly convex to support binary variables
Is this non-convex?
Maybe something is wrong here?