From f7f092587350fe49b81775e391a92d976917d53a Mon Sep 17 00:00:00 2001 From: Fabian Date: Fri, 13 Feb 2026 12:36:10 +0100 Subject: [PATCH] fix: update HiGHS URLs and naming Replace dead maths.ed.ac.uk links with highs.dev and correct options URL. Use "HiGHS" consistently in docstrings. --- README.md | 2 +- doc/index.rst | 2 +- doc/prerequisites.rst | 2 +- doc/release_notes.rst | 2 +- linopy/solvers.py | 20 ++++++++++---------- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 644b556c..3b0a7167 100644 --- a/README.md +++ b/README.md @@ -143,7 +143,7 @@ Fri 0 4 * [Cbc](https://projects.coin-or.org/Cbc) * [GLPK](https://www.gnu.org/software/glpk/) -* [HiGHS](https://www.maths.ed.ac.uk/hall/HiGHS/) +* [HiGHS](https://highs.dev/) * [Gurobi](https://www.gurobi.com/) * [Xpress](https://www.fico.com/en/products/fico-xpress-solver) * [Cplex](https://www.ibm.com/de-de/analytics/cplex-optimizer) diff --git a/doc/index.rst b/doc/index.rst index bff9fa65..a13e51ba 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -42,7 +42,7 @@ flexible data-handling features: - Support of various solvers - `Cbc `__ - `GLPK `__ - - `HiGHS `__ + - `HiGHS `__ - `MindOpt `__ - `Gurobi `__ - `Xpress `__ diff --git a/doc/prerequisites.rst b/doc/prerequisites.rst index 23b17897..97d51296 100644 --- a/doc/prerequisites.rst +++ b/doc/prerequisites.rst @@ -35,7 +35,7 @@ CPU-based solvers - `Cbc `__ - open source, free, fast - `GLPK `__ - open source, free, not very fast -- `HiGHS `__ - open source, free, fast +- `HiGHS `__ - open source, free, fast - `Gurobi `__ - closed source, commercial, very fast - `Xpress `__ - closed source, commercial, very fast (GPU acceleration available in v9.8+) - `Cplex `__ - closed source, commercial, very fast diff --git a/doc/release_notes.rst b/doc/release_notes.rst index 60926055..9359e55e 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -678,7 +678,7 @@ Version 0.0.5 * The `Variable` class now has a `lower` and `upper` accessor, which allows to inspect and modify the lower and upper bounds of a assigned variable. * The `Constraint` class now has a `lhs`, `vars`, `coeffs`, `rhs` and `sign` accessor, which allows to inspect and modify the left-hand-side, the signs and right-hand-side of a assigned constraint. * Constraints can now be build combining linear expressions with right-hand-side via a `>=`, `<=` or a `==` operator. This creates an `AnonymousConstraint` which can be passed to `Model.add_constraints`. -* Add support of the HiGHS open source solver https://www.maths.ed.ac.uk/hall/HiGHS/ (https://github.com/PyPSA/linopy/pull/8, https://github.com/PyPSA/linopy/pull/17). +* Add support of the HiGHS open source solver https://highs.dev/ (https://github.com/PyPSA/linopy/pull/8, https://github.com/PyPSA/linopy/pull/17). **Breaking changes** diff --git a/linopy/solvers.py b/linopy/solvers.py index fe516b47..48ffafca 100644 --- a/linopy/solvers.py +++ b/linopy/solvers.py @@ -773,10 +773,10 @@ def get_solver_solution() -> Solution: class Highs(Solver[None]): """ - Solver subclass for the Highs solver. Highs must be installed - for usage. Find the documentation at https://www.maths.ed.ac.uk/hall/HiGHS/. + Solver subclass for the HiGHS solver. HiGHS must be installed + for usage. Find the documentation at https://highs.dev/. - The full list of solver options is documented at https://www.maths.ed.ac.uk/hall/HiGHS/HighsOptions.set. + The full list of solver options is documented at https://ergo-code.github.io/HiGHS/stable/options/definitions/. Some exemplary options are: @@ -808,8 +808,8 @@ def solve_problem_from_model( explicit_coordinate_names: bool = False, ) -> Result: """ - Solve a linear problem directly from a linopy model using the Highs solver. - Reads a linear problem file and passes it to the highs solver. + Solve a linear problem directly from a linopy model using the HiGHS solver. + Reads a linear problem file and passes it to the HiGHS solver. If the solution is feasible the function returns the objective, solution and dual constraint variables. @@ -834,7 +834,7 @@ def solve_problem_from_model( ------- Result """ - # check for Highs solver compatibility + # check for HiGHS solver compatibility if self.solver_options.get("solver") in [ "simplex", "ipm", @@ -871,8 +871,8 @@ def solve_problem_from_file( env: None = None, ) -> Result: """ - Solve a linear problem from a problem file using the Highs solver. - Reads a linear problem file and passes it to the highs solver. + Solve a linear problem from a problem file using the HiGHS solver. + Reads a linear problem file and passes it to the HiGHS solver. If the solution is feasible the function returns the objective, solution and dual constraint variables. @@ -934,13 +934,13 @@ def _solve( sense: str | None = None, ) -> Result: """ - Solve a linear problem from a Highs object. + Solve a linear problem from a HiGHS object. Parameters ---------- h : highspy.Highs - Highs object. + HiGHS object. solution_fn : Path, optional Path to the solution file. log_fn : Path, optional