Opened 13 months ago

Last modified 8 weeks ago

#32282 new enhancement

Add MILP solver backends for HiGHS via scipy.optimize.linprog

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.7
Component: linear programming Keywords:
Cc: dimpase, slabbe, dcoudert Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: #34081 Stopgaps:

Status badges

Description (last modified by mkoeppe)

scipy 1.6 added a vendored copy of the HiGHS LP solvers. https://github.com/scipy/scipy/tree/master/scipy/optimize/_highs/src

https://docs.scipy.org/doc/scipy/reference/optimize.linprog-highs.html

We should start using them.

scipy 1.7 makes dual values available - https://docs.scipy.org/doc/scipy/reference/release.1.7.0.html#scipy-optimize-improvements

https://www.maths.ed.ac.uk/hall/HiGHS/ also has MIP, but this is not yet exposed in scipy.optimize.

highs also has a rudimentary python interface in its own source tree - https://github.com/ERGO-Code/HiGHS/blob/master/src/interfaces/highs_python_api.py

For an interface that provides access to tableau data, as of 2022-04, neither scipy nor the OsiHiGHSSolverInterface provides the necessary methods:

See also:

  • A possible route for a high-level interface goes through CVXPY (#31962)
  • #33919 Add MILP solver backends for HiGHS via highspy

Part of Meta-ticket #26511: Use Python optimization interfaces: CVXPY, or-tools, PuLP, Pyomo, cylp...

Change History (14)

comment:1 Changed 13 months ago by mkoeppe

  • Description modified (diff)

comment:2 Changed 13 months ago by mkoeppe

  • Description modified (diff)

comment:3 Changed 13 months ago by mkoeppe

  • Description modified (diff)

comment:4 Changed 8 months ago by mkoeppe

  • Milestone changed from sage-9.5 to sage-9.6

comment:5 Changed 6 months ago by mkoeppe

  • Cc slabbe dcoudert added
  • Description modified (diff)
  • Summary changed from Add LP solver backends for HiGHS via scipy.optimize.linprog to Add MILP solver backends for HiGHS via scipy.optimize.linprog

comment:6 Changed 6 months ago by mkoeppe

  • Milestone changed from sage-9.6 to sage-9.7

comment:7 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:8 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:9 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:10 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:11 Changed 5 months ago by mkoeppe

  • Description modified (diff)

comment:12 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:13 Changed 3 months ago by mkoeppe

  • Description modified (diff)

comment:14 Changed 8 weeks ago by mkoeppe

  • Dependencies set to #34081
Note: See TracTickets for help on using tickets.