Skip to content

Conversation

mdhaber
Copy link
Contributor

@mdhaber mdhaber commented Jan 23, 2022

Reference issue

Closes gh-14455
gh-15294
gh-9269

What does this implement/fix?

In gh-15294, we exposed HiGHS MILP features by adding the integrality parameter to linprog. In gh-14455, however, the consensus was that MILP also deserved its own function. This PR adds a new milp function dedicated to mixed integer linear programming.

Additional information

gh-15394 should merge first.

@mdhaber mdhaber added enhancement A new feature or improvement scipy.optimize labels Jan 23, 2022
@mdhaber mdhaber requested a review from mckib2 January 23, 2022 07:10
@mdhaber mdhaber requested a review from andyfaff as a code owner January 23, 2022 07:10
Copy link
Contributor Author

@mdhaber mdhaber left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here are fixes for most test failures. Still need to fix Meson build failure

Run pushd tools
~/work/scipy/scipy/tools ~/work/scipy/scipy
Traceback (most recent call last):
  File "/home/runner/work/scipy/scipy/tools/check_installation.py", line 74, in <module>
    main(install_dir)
  File "/home/runner/work/scipy/scipy/tools/check_installation.py", line 49, in main
    raise Exception("%s is not installed" % scipy_test_files[test_file])
Exception: /home/runner/work/scipy/scipy/scipy/optimize/tests/test_milp.py is not installed
Error: Process completed with exit code 1.

Copy link
Member

@tupui tupui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @mdhaber! I have a few suggestions and questions.

mdhaber and others added 2 commits January 26, 2022 04:55
[skip actions][skip azp]

Co-authored-by: Pamphile Roy <roy.pamphile@gmail.com>
[skip actions][skip azp]
@mdhaber
Copy link
Contributor Author

mdhaber commented Jan 26, 2022

Thanks for the thoughts @tupui; I committed all of your suggestions and implemented most of the other ideas. There were a few things that needed some more discussion. Please resolve discussions that you're happy with and let me know your thoughts on the rest. (BTW I skipped tests because the were passing before and not much has changed. We'll run them all again before merge.)

Copy link
Member

@tupui tupui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for the updates @mdhaber. I don't have more comments (versionadded does not count 😉). Do you want to add something?

@tupui tupui added this to the 1.9.0 milestone Jan 26, 2022
@mdhaber
Copy link
Contributor Author

mdhaber commented Jan 27, 2022

Do you want to add something?

Nope, but there are a few things this is waiting on:

Copy link
Contributor

@mckib2 mckib2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has been open for a about a month and @mdhaber has responded to all feedback and it's been approved by another core dev. LGTM, so will go ahead and merge. Thanks all!

@mckib2 mckib2 merged commit 821f622 into scipy:main Feb 16, 2022
@tupui
Copy link
Member

tupui commented Feb 16, 2022

Thanks everyone. I suppose we can mark this as a release highlight.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement A new feature or improvement scipy.optimize
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Adds Mixed Integer Linear Programming from highs
7 participants