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

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

Open
jajhall opened this issue Apr 17, 2023 · 2 comments
Open

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

jajhall opened this issue Apr 17, 2023 · 2 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

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

2 participants