Skip to content
New issue

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

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

Already on GitHub? # to your account

Failure? on ALLINITC.SIF and when using MPS file #113

Closed
jajhall opened this issue Apr 17, 2023 · 3 comments
Closed

Failure? on ALLINITC.SIF and when using MPS file #113

jajhall opened this issue Apr 17, 2023 · 3 comments

Comments

@jajhall
Copy link

jajhall commented Apr 17, 2023

When testing in relation to openjournals/joss-reviews#4882, I tried

sdgal binarybuilder.bb.gfo qpa ALLINITC.SIF

and got the opaque error ERROR return from PRESOLVE (exitc =-21). What does this mean?

I also tried to solve a simple LP using the command

sdgal binarybuilder.bb.gfo lpa ml.SIF

where ml.SIF is an MPS file ml.SIF.txt with renamed extension. I got the message

File successfully decoded
Problem: AVGAS SIZE
problem dimensions: n = 8, m = 10, a_ne = 30
Stopping with inform%status = -29
Total CPU, clock times = 0.000, 0.000
Problem: AVGAS SIZE
objective < ------ time ----- >
Method iterations value status setup solve total


LPA 1 -1.0000E+00 -29 0.00 0.00 0.00

Although the file seems to have been read correctly, the optimal objective value is incorrect. Status=-29 is opaque. I am unable to find documentation to explain what this status represents. What does this mean? Can LPA solve LPs defined by MPS files?

@nimgould
Copy link
Contributor

The documentation for the presolve package ($GALAHAD/doc/presolve.pdf) says that the a return code of -21 indicates an infeasible problem. ALLINITC is a nonlinear problem, and any of the GALAHAD LP/QP solvers will try to solve a linearized version about the given initial point; this linearized problem is indeed infeasible.

The lpa package relies on the HSL code la04, which has to be obtained separately; it is propitiatory code that is available without cost to academics. If you try instead, lpb, you will find (something like)

Problem: AVGAS SIZE

problem dimensions: n = 8, m = 10, a_ne = 30

Stopping with inform%status = 0

Solution :
<------ Bounds ------>
# name state value Lower Upper Dual
1 C1 LOWER 1.4331E-10 0.0000E+00 1.0000E+00 4.9422E-01
2 C2 UPPER 1.0000E+00 0.0000E+00 1.0000E+00 -3.3911E-01
3 C3 FREE 7.5000E-01 0.0000E+00 1.0000E+00 -2.5580E-10
4 C4 FREE 2.5000E-01 0.0000E+00 1.0000E+00 2.5580E-10
5 C5 FREE 5.0000E-01 0.0000E+00 1.0000E+00 -1.2790E-10
6 C6 FREE 2.5000E-01 0.0000E+00 1.0000E+00 2.5580E-10
7 C7 FREE 7.5000E-01 0.0000E+00 1.0000E+00 -2.5580E-10
8 C8 LOWER 3.8370E-11 0.0000E+00 1.0000E+00 1.6667E+00

Constraints :
<------ Bounds ------>
# name state value Lower Upper Multiplier
1 R1 LOWER -1.0000E+00 -1.0000E+00 1.0000E+20 2.9942E+00
2 R2 LOWER -1.0000E+00 -1.0000E+00 1.0000E+20 1.6667E+00
. . ..... .......... .......... .......... ..........
9 R9 LOWER 4.7962E-11 0.0000E+00 1.0000E+20 1.3333E+00
10 R10 FREE 2.5000E-01 0.0000E+00 1.0000E+20 2.5580E-10

Of the 8 variables, 3 are on bounds & 0 are dual degenerate
Of the 10 constraints, 0 are equations, & 0 are redundant
Of the 10 inequalities, 6 are on bounds, & 0 are degenerate

Final objective function value -7.74999999942445E+00
Maximum dual variable 2.99421979799857E+00
Maximum constraint violation 0.00000000000000E+00
Maximum dual infeasibility 1.27899024704448E-10
Maximum complementary slackness 7.08286038934377E-11

Number of LPB iterations = 14

SSIDS symmetric equation solver used
Typically 38, 55 entries in matrix, factors
Analyse, factorize & solve CPU times = 0.038 0.009 0.001
Analyse, factorize & solve clock times = 0.038 0.009 0.001

Total CPU, clock times = 0.051, 0.077
number of threads = 1

Problem: AVGAS SIZE

                 objective          < ------ time ----- > 

Method iterations value status setup solve total


LPB 14 -7.7500E+00 0 0.00 0.07 0.08

Is that what you would have expected?

@jajhall
Copy link
Author

jajhall commented Apr 17, 2023

Ah, I now see a raft of READMEs and pdf in https://github.com/ralna/GALAHAD/tree/v4.0.0/doc. I did wonder whether I was trying to apply a QP solver to a nonlinear problem.

As for AVGAS - you get the right objective value, but I just get a status = -29 error. I guess that I didn't install lpb

@nimgould
Copy link
Contributor

nimgould commented Jan 3, 2025

I believe that this was resolved, so I am closing it

@nimgould nimgould closed this as completed Jan 3, 2025
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants