Skip to content

Commit

Permalink
Fix pyomo breakage (#713)
Browse files Browse the repository at this point in the history
* Fix broken pyomo docs links
* Set pyomo lowerbound to 6.8.2 to avoid gurobi 12 incompatibility
  • Loading branch information
irm-codebase authored Nov 19, 2024
1 parent 3980d53 commit dea1c15
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 4 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@
|changed| `data_sources` -> `data_tables` and `data_sources.source` -> `data_tables.data`.
This change has occurred to avoid confusion between data "sources" and model energy "sources" (#673).

### Internal changes

|fixed| Avoided gurobi 12.0 incompatibility with pyomo by setting the lower bound to v6.8.2.

## 0.7.0.dev4 (2024-09-10)

### User-facing changes
Expand Down
2 changes: 1 addition & 1 deletion docs/creating/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ In fact, you can use a set of results from using `plan` model to initialise both
### `config.solve.solver`

Possible options for solver include `glpk`, `gurobi`, `cplex`, and `cbc`.
The interface to these solvers is done through the Pyomo library. Any [solver compatible with Pyomo](https://pyomo.readthedocs.io/en/6.5.0/solving_pyomo_models.html#supported-solvers) should work with Calliope.
The interface to these solvers is done through the Pyomo library. Any [solver compatible with Pyomo](https://pyomo.readthedocs.io/en/latest/reference/topical/appsi/appsi.solvers.html) should work with Calliope.

For solvers with which Pyomo provides more than one way to interface, the additional `solver_io` option can be used.
In the case of Gurobi, for example, it is usually fastest to use the direct Python interface:
Expand Down
2 changes: 1 addition & 1 deletion docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ However, we recommend to not use this solver where possible, since it performs r
Indeed, our example models use the free and open source [CBC](#cbc) solver instead, but installing it on Windows requires an extra step.
[CBC](#cbc) (open-source) or [Gurobi](#gurobi) (commercial) are recommended for large problems, and have been confirmed to work with Calliope.
The following subsections provide additional detail on how to install a solver.
This list is not exhaustive; any solvers [supported by Pyomo](https://pyomo.readthedocs.io/en/stable/solving_pyomo_models.html#supported-solvers) can be used.
This list is not exhaustive; any solvers [supported by Pyomo](https://pyomo.readthedocs.io/en/latest/reference/topical/appsi/appsi.solvers.html) can be used.

### CBC

Expand Down
4 changes: 2 additions & 2 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ natsort >= 8, < 9
netcdf4 >= 1.2, < 1.7
numpy >= 1, < 2
pandas >= 2.1.3, < 2.3 # Minimum bound is 2.1.3 because of a regression in v2.1.0/2.1.1 inflating time/memory consumption on groupby operations with MultiIndex
pyomo >= 6.5, < 6.7.2
pyomo >= 6.8.2, < 7
pyparsing >= 3.0, < 3.1
ruamel.yaml >= 0.18, < 0.19
typing-extensions >= 4, < 5
xarray >= 2024.1, < 2024.4
xarray >= 2024.1, < 2024.4

0 comments on commit dea1c15

Please sign in to comment.