Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Huge overhead using JuMP #121

Closed
vepiteski opened this issue Oct 6, 2024 · 1 comment · Fixed by #122
Closed

Huge overhead using JuMP #121

vepiteski opened this issue Oct 6, 2024 · 1 comment · Fixed by #122

Comments

@vepiteski
Copy link

When solving large LCP models using JuMP, I observe a huge overhead. Here is an example, the LCP is the Murty model.

`using PATHSolver
using LinearAlgebra
using Complementarity

MA=2.0*ones(n,n)
M=tril(MA,-1) + I

x=zeros(n)
q = vec(-ones(n,1))

mJuMP = Model(PATHSolver.Optimizer)
@variable(mJuMP, x[1:n] >= 0)
@constraint(mJuMP, M * x .+ q ⟂ x)

@time optimize!(mJuMP)
`

Its output trailer is as follows for n=1024

`Total Time. . . . . . . 0.018557
Residual. . . . . . . . 0.000000e+00
Postsolved residual: 0.0000e+00

5.496285 seconds (12.75 k allocations: 68.493 MiB)
`

As you may observe, @time returns 5.49 seconds and PATH itself needed 0.02 seconds. The overhead is much worse for larger models, for instance, for n=2048, @time returns 109.05 seconds but PATH itself reports 0.06 seconds. Actually, one has to wait that long before PATH begins its execution.

@odow
Copy link
Collaborator

odow commented Oct 6, 2024

Fix is in #122. I'll get a new release today.

@odow odow closed this as completed in #122 Oct 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants