Update, we now support COPT and Mosek
Currently, Pyoframe supports Gurobi, HiGHS, and Ipopt.
I will happily consider adding support for the following solvers if there is interest. React to this message to show interest.
Steps to add a new solver
If the solver is supported by PyOptInterface the process is relatively straightforward:
- You'll need a license for testing and I (Martin) will need a license for testing and maintain the library + running the tests in the CI pipeline.
- Add a
_Solver object in the _constants.py file and make other changes to the source code such that all the tests succeed. This includes a) updating the model initializing code in _model.py, and b) generating new test output files so that test_examples.py passes. If the solver has quirks or behaves differently than other solvers, add additional feature flags to the _Solver class rather than directly adding edge cases to the core code.
- Update the installation documentation page. (Run
mkdocs serve to preview the documentation)
- Add the solver and its license to the Github Actions CI pipeline.
Update, we now support COPT and Mosek
Currently, Pyoframe supports Gurobi, HiGHS, and Ipopt.
I will happily consider adding support for the following solvers if there is interest. React to this message to show interest.
🎉 Mosek solverCOPT solverSteps to add a new solver
If the solver is supported by PyOptInterface the process is relatively straightforward:
_Solverobject in the_constants.pyfile and make other changes to the source code such that all the tests succeed. This includes a) updating the model initializing code in_model.py, and b) generating new test output files so thattest_examples.pypasses. If the solver has quirks or behaves differently than other solvers, add additional feature flags to the_Solverclass rather than directly adding edge cases to the core code.mkdocs serveto preview the documentation)