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

Add solver list for more robust remote solving #55

Merged
merged 6 commits into from
Nov 16, 2023
Merged

Conversation

Fangop
Copy link
Collaborator

@Fangop Fangop commented Jun 7, 2023

Dear @ds2010,

This patch provides a solver list for more robust remote solving.
Removing dependence on single solver of remote NEOS server makes the remote solving feature more robust.
However, I need helps for accomplish this enhancement.

Remote solving by MOSEK/CBC solvers:

  • I tested a few instance solving with MOSEK and CBC with pyomo interface and NEOS server. All of these failed. I wonder do we have an example of successful execution which may help to enhance our package. (Maybe we did not pass the sufficient arguements?)

Complete solver list:

  • Is there a function for etraction of LP solvers, MIP solvers, and NLP solvers in pyomo interface? It has a solver list like:
    ['bonmin', 'cbc', 'conopt', 'couenne', 'cplex', 'filmint', 'filter', 'ipopt', 'knitro', 'l-bfgs-b', 'lancelot', 'lgo', 'loqo', 'minlp', 'minos', 'minto', 'mosek', 'octeract', 'ooqp', 'path', 'raposa', 'snopt']
  • Or, can you help me sort out different solvers? With more solvers in list, the less likely to fail optimization.

Thanks~
fix #54

@Fangop Fangop requested a review from ds2010 June 7, 2023 09:27
@Fangop Fangop self-assigned this Jun 7, 2023
@Fangop Fangop added enhancement New feature or request help wanted Extra attention is needed labels Jun 7, 2023
@ds2010
Copy link
Owner

ds2010 commented Jun 7, 2023

@Fangop Thanks for this pr. After NOES fixes this issue, I will review this pr then.

Let's wait a moment and see how we can enhance our package.

@Fangop Fangop marked this pull request as ready for review November 16, 2023 12:16
@Fangop
Copy link
Collaborator Author

Fangop commented Nov 16, 2023

Dear @ds2010 ,
This PR provides three functions for checking the local and remote solvers.
Though the implementation of checking solvers in the environment remains inpractical, these may enhance our package.

The check of the solver in the environment requires extra access to the system, which should not be the case with our package.

Here are some codes for testing the new feature:

from pystoned.utils.tools import check_local_solver, check_remote_solver, get_remote_solvers

print(check_local_solver("mosek"))
print(check_local_solver("gurobi"))
print(check_local_solver("ipopt"))

print(get_remote_solvers())

print(check_remote_solver("mosek"))
print(check_remote_solver("gurobi"))
print(check_remote_solver("ipopt"))

@ds2010 ds2010 merged commit 4d70516 into ds2010:master Nov 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Error: an error occured when optimizing with remote solver
2 participants