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

Presolve bugs using "netlib" dataset #13

Closed
sschnug opened this issue Apr 28, 2018 · 3 comments
Closed

Presolve bugs using "netlib" dataset #13

sschnug opened this issue Apr 28, 2018 · 3 comments
Assignees

Comments

@sschnug
Copy link

sschnug commented Apr 28, 2018

While doing some first-hour experiments with this project (very interesting; especially the license!), the following was observed:

sascha@sascha-VirtualBox:~/Downloads/HiGHS/build/bin$ ./highs -p On -f ~/Downloads/greenbea.mps
Presolve is set to On
Reading file /home/sascha/Downloads/greenbea.mps
Setting default value crashMode = Off
Setting default value edWtMode = DSE1
====================================================================================
Running HiGHS
------
terminate called after throwing an instance of 'std::out_of_range'
  what():  vector::_M_range_check: __n (which is 18446744073709551615) >= this->size() (which is 30877)
Error during presolve: no variable found in singleton row 281.Aborted (core dumped)

It seems presolve is a relatively new addition and maybe bugs are to be expected. While probably not much relevant, i'm using a Linux + GCC + OpenMP=0 setup here and the exact mps-file in use can be obtained from this link (gz compressed).

Sascha

-----------
UPDATE
-----------
I wrote a small testing-script (available here).

Using above setup against the whole netlib-dataset (as described in the link above; README describes setup), there are:

  • 2 crashes in presolve
  • 1 timeout (with presolve on only) (with 30 seconds; should be more than enough according to the citation mentioned in README)

Output of the script (2 configs: default vs. default + presolve with 94 netlib instances each):

sascha@sascha-VirtualBox:~/Documents/HiGHS_eval$ python3 run.py
----------------
Run all 188 tests...
run 1/188
run 2/188
... (omitted in example)
run 188/188
    ...all tests finished!
-------------------
Check for errors...
Observed error:
    Instance: /home/sascha/Documents/HiGHS_eval/netlib/greenbea.mps
    Arguments: ['-p', 'On']
    Error-type: SOLVER ERROR
    -> returncode: -6
    -> stdout:
 
        Presolve is set to On
        Reading file /home/sascha/Documents/HiGHS_eval/netlib/greenbea.mps
        Setting default value crashMode = Off
        Setting default value edWtMode = DSE1
        ====================================================================================
        Running HiGHS
        ------
        Error during presolve: no variable found in singleton row 281.
 
    -> stderr:
 
        terminate called after throwing an instance of 'std::out_of_range'
          what():  vector::_M_range_check: __n (which is 18446744073709551615) >= this->size() (which is 30877)
 
 
Observed error:
    Instance: /home/sascha/Documents/HiGHS_eval/netlib/cycle.mps
    Arguments: ['-p', 'On']
    Error-type: TIMEOUT
    -> returncode: -999
    -> stdout:
 
 
 
    -> stderr:
 
 
 
Observed error:
    Instance: /home/sascha/Documents/HiGHS_eval/netlib/greenbeb.mps
    Arguments: ['-p', 'On']
    Error-type: SOLVER ERROR
    -> returncode: -6
    -> stdout:
 
        Presolve is set to On
        Reading file /home/sascha/Documents/HiGHS_eval/netlib/greenbeb.mps
        Setting default value crashMode = Off
        Setting default value edWtMode = DSE1
        ====================================================================================
        Running HiGHS
        ------
        Error during presolve: no variable found in singleton row 281.
 
    -> stderr:
 
        terminate called after throwing an instance of 'std::out_of_range'
          what():  vector::_M_range_check: __n (which is 18446744073709551615) >= this->size() (which is 30877)
 
 
    ...all checks finished!
@sschnug sschnug changed the title Presolve fails on "netlib/greenbea.mps" Presolve bugs using "netlib" dataset Apr 28, 2018
@galabovaa
Copy link
Contributor

Thank you for the info Sasha, we will look into it. Presolve is a newer feature, yes, but it still should be able to handle greenbea and greenbeb and a previous version of presolve did so. We extended the list of presolve rules so that must have changed something. Cycle I had not tested on so I will check that too when I get a chance.

@mattmilten
Copy link
Contributor

We should add all those instances to check/CMakeLists.txt to test them with TravisCI.

@galabovaa galabovaa self-assigned this Feb 12, 2019
@galabovaa
Copy link
Contributor

The bug is now fixed. Both problems are in check/instances and presolve is on in ctest too.

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

3 participants