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

GLPK errors on JuMP-HiGHS MPS benchmarks #68

Open
siddharth-krishna opened this issue Dec 2, 2024 · 0 comments
Open

GLPK errors on JuMP-HiGHS MPS benchmarks #68

siddharth-krishna opened this issue Dec 2, 2024 · 0 comments

Comments

@siddharth-krishna
Copy link
Contributor

@jacek-oet @danielelerede-oet I notice in the results on #64 (commit 59f1e54) that GLPK errors on all the newly added MPS benchmarks, so I ran one manually to see the problem:

glpsol --mps runner/benchmarks/genx-7_three_zones_w_colocated_VRE_storage-3-24h.mps 
GLPSOL--GLPK LP/MIP Solver 5.0
Parameter(s) specified in the command line:
 --mps runner/benchmarks/genx-7_three_zones_w_colocated_VRE_storage-3-24h.mps
Reading problem data from 'runner/benchmarks/genx-7_three_zones_w_colocated_VRE_storage-3-24h.mps'...
runner/benchmarks/genx-7_three_zones_w_colocated_VRE_storage-3-24h.mps:1: warning: missing model name in field 3
Objective: Obj
runner/benchmarks/genx-7_three_zones_w_colocated_VRE_storage-3-24h.mps:19573: in fixed MPS format positions 37-39 must be blank
MPS file processing error

I can't see anything obviously wrong in the MPS file on that line. Googling for the error message leads to this issue:
Pyomo/pyomo#2115

But I can't understand the difference between the 2 MPS file in the OP, it looks like there are just white space differences? Any ideas what the problem could be? (cc @FabianHofmann in case you've seen this error before)
image

Another problem is that currently we are recording such errors like so:

Benchmark,Size,Solver,Solver Version,Solver Release Year,Status,Termination Condition,Runtime (s),Memory Usage (MB),Objective Value,Max Integrality Violation,Duality Gap
genx-1_three_zones,3-1h,glpk,5.0,2020,warning,unknown,0.3038334846496582,170.26,nan,,

But this means that this counts as a runtime of 0.30s for GLPK and this skews the SGM table in the Home dashboard, making it look like GLPK is the fastest solver! What's the correct thing to do here: exclude warning rows before calculating SGM? Or, change run_solver.py to put the timeout value in the runtime column if the status is warning and include it in the SGM calculation (which is what we do for TOs).

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

No branches or pull requests

1 participant