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

Bug in free format read #20

Closed
jajhall opened this issue Aug 16, 2018 · 3 comments
Closed

Bug in free format read #20

jajhall opened this issue Aug 16, 2018 · 3 comments
Assignees

Comments

@jajhall
Copy link
Member

jajhall commented Aug 16, 2018

I've found two bugs in the free format read routine. They show up because HiGHS using the free format MPS read doesn't get the optimal objective value obtained by Hsol, Clp, Glop and Soplex - so it's an MPS read problem, not a solver issue!

Bug 1

For mod2 (at least) there are multiple "N" rows in the MPS file

It looks as if the FF read merges them all. Specifically

The first "N" Row is called "func", there is another called "noipr.ad"

Column "aleo....aa" has no entry in the row "func" - so Hsol etc give it a cost coefficient of zero. However, it has an entry of 1.0 in row "noipr.ad", and the free format read gives a cost coefficient of 1.0

The constraint matrix read is also compromised - possibly for the same reason. The FF read yields 198250 entries, whereas the matrix from Hsol etc has 165129 entries.

Bug 2

For dcp2

http://www.maths.ed.ac.uk/hall/PublicLP/

the FF read fails to get the row upper bounds correct: making them infinite rather than the finite value which comes as a result of the RANGES section.

I hope that these can be fixed soon, since I need to be confident that models are being read correctly when benchmarking and analysing models via the behaviour of HiGHS.

@galabovaa galabovaa self-assigned this Sep 6, 2018
@galabovaa galabovaa mentioned this issue Sep 6, 2018
Merged
@galabovaa
Copy link
Contributor

dcp2 issue fixed.

For mod2 I now get the opposite:

Free format yields 165129 because it doesn't add the free rows to the constraint matrix but fixed format read yields 198250 because it adds them. To see if this causes the issue I modified free format read to add them as well. Sadly, this did not change anything - we still get a different objective value. I am not sure why yet, the bug must be elsewhere.

@jajhall
Copy link
Member Author

jajhall commented Mar 7, 2019 via email

@galabovaa
Copy link
Contributor

mod2 now solves the same with both parsers.

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