Skip to content

Support additional solvers #144

@staadecker

Description

@staadecker

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:

  1. 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.
  2. 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.
  3. Update the installation documentation page. (Run mkdocs serve to preview the documentation)
  4. Add the solver and its license to the Github Actions CI pipeline.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions