Skip to content

Querying dual of a FixRef is very slow on larger models #17

@dlcole3

Description

@dlcole3

I am running an LP model with ~250K variables and ~300K constraints as a test case for CuPDLPx. When I tried to query a dual value from the fixed constraint reference on a variable, it took 9 minutes to query a single dual value. I did test querying the dual of a fixed constraint reference on a simpler model that was solved with CuPDLPx, and it worked fine. For reference, the .lp file of the model I am using can be found at the githup repo here (it won't upload directly on the issue, so apologies for the roundabout way of uploading). The following code loads the .lp file and recreates the problem. Any ideas why the dual is not being returned quickly?

using JuMP, CuPDLPx

m = read_from_file((@__DIR__)*"/test_model.lp")

set_optimizer(m, CuPDLPx.Optimizer)
set_optimizer_attribute(m, "verbose", true)
set_optimizer_attribute(m, "l_inf_ruiz_iterations", 0)
set_optimizer_attribute(m, "iteration_limit", 1e5)

optimize!(m)
println(solution_summary(m))

fixed_variables = []
for v in all_variables(m)
    if is_fixed(v)
        push!(fixed_variables, v)
    end
end

println("TRYING TO GET DUAL VALUE")
@time dual(FixRef(fixed_variables[1]))

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions