How to get the dual of a non convex MIQCP Gurobi

hi All,
I need to get the duals of a nonconvex MIQCP i tried below code from


model = Model(Gurobi.Optimizer)
set_optimizer_attribute(model, "NonConvex", 2)
@variable(model, x, Bin)
@variable(model, y >= 0)
@constraint(model, x * y <= 10)  # Non-convex bilinear term
@objective(model, Max, y)

@constraint(model,linear_constraint_name,x+y<=10)
optimize!(model)

# Fix binaries and solve as convex QCP (if possible)
fixed_model = copy(model)
set_optimizer(fixed_model, Gurobi.Optimizer)
set_optimizer_attribute(model, "QCPDual", 1)
fix(x, value(x); force=true)
fix(y, value(y); force=true)
set_optimizer_attribute(fixed_model, "QCPDual", 1)
optimize!(fixed_model)

# Retrieve duals (if convex)
dual_value = shadow_price(fixed_model[:linear_constraint_name])

See this tutorial Computing the duals of a mixed-integer program ยท JuMP and use JuMP.fix_discrete_variables:

julia> using JuMP, Gurobi

julia> begin
           model = Model(Gurobi.Optimizer)
           set_silent(model)
           set_attribute(model, "NonConvex", 2)
           @variable(model, x, Bin)
           @variable(model, y >= 0)
           @constraint(model, x * y <= 10)
           @objective(model, Max, y)
           @constraint(model, linear_constraint_name, x + y <= 10)
           optimize!(model)
           undo_relax = fix_discrete_variables(model)
           set_attribute(model, "QCPDual", 1)
           optimize!(model)
           dual_value = shadow_price(linear_constraint_name)
       end
Set parameter LicenseID to value 890341
1.0