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

EHN: Add Numba-jitted linprog solver #532

Merged
merged 6 commits into from
Apr 30, 2021
Merged

Conversation

oyamad
Copy link
Member

@oyamad oyamad commented Apr 21, 2020

Supercedes #413

@pep8speaks
Copy link

pep8speaks commented Apr 21, 2020

Hello @oyamad! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

There are currently no PEP 8 issues detected in this Pull Request. Cheers! 🍻

Comment last updated at 2021-04-30 05:45:46 UTC

@coveralls
Copy link

coveralls commented Apr 21, 2020

Coverage Status

Coverage increased (+0.09%) to 94.393% when pulling ba02284 on oyamad:linprog_simplex into 83ae0a2 on QuantEcon:master.

@QBatista
Copy link
Member

@oyamad I've updated the default PivOptions parameter values.

Summarizing the motivation behind this choice, the recommendation in Linear Programming Computation is the following:

fea_tol = 1e-6
1e-11 < tol_piv < 1e-7

Based on the experiments on the Netlib problems, the choice of tol_piv affects the performance of the solver significantly, while fea_tol and tol_ratio_diff only marginally affect performance. It seems that there's a negative relationship between performance and tol_piv on these problems. The best parameter combination that I found is fea_tol=1.e-06, tol_piv=1.e-04, tol_ratio_diff=1.e-13]).

As a compromise between these experiments and the book's recommendation, we can set the default values to fea_tol=1e-6, tol_piv=1e7, tol_ratio_diff=1e-13.

@oyamad oyamad marked this pull request as ready for review April 25, 2021 06:26
@oyamad oyamad added ready and removed in-work labels Apr 25, 2021
@oyamad oyamad changed the title [WIP] EHN: Add Numba-jitted linprog solver EHN: Add Numba-jitted linprog solver Apr 25, 2021
Copy link
Member

@QBatista QBatista left a comment

Choose a reason for hiding this comment

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

This looks great to me.

quantecon/optimize/linprog_simplex.py Outdated Show resolved Hide resolved
quantecon/optimize/linprog_simplex.py Outdated Show resolved Hide resolved
quantecon/optimize/linprog_simplex.py Outdated Show resolved Hide resolved
quantecon/optimize/linprog_simplex.py Outdated Show resolved Hide resolved
Co-authored-by: Quentin Batista <quentin.batista@mail.mcgill.ca>
@mmcky
Copy link
Contributor

mmcky commented Apr 30, 2021

thanks @oyamad and @QBatista. I didn't see this issue until just now with the ready tag. @oyamad please feel free to merge this when you're ready. I can also issue a new release when you need one.

@oyamad oyamad merged commit 760dc3c into QuantEcon:master Apr 30, 2021
@oyamad oyamad deleted the linprog_simplex branch April 30, 2021 13:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants