Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
96cb9d9
Add Knitro solver support
FabianHofmann Dec 11, 2025
2337f16
Fix Knitro solver integration
FabianHofmann Dec 14, 2025
241c6e9
Document Knitro and improve file loading
FabianHofmann Dec 14, 2025
8bec540
merge from master
finozzifa Jan 19, 2026
ebc30ea
Merge branch 'master' of https://github.com/PyPSA/linopy into feature…
finozzifa Jan 30, 2026
2b42291
code: add check to solve mypy issue
finozzifa Jan 30, 2026
77b9c81
code: remove unnecessary candidate loaders
finozzifa Feb 2, 2026
8dbfdbe
code: remove unnecessary candidate loaders
finozzifa Feb 2, 2026
bfd89c8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 2, 2026
634f186
code: use just KN_read_problem for lp
finozzifa Feb 2, 2026
ec4af13
code: merge from origin
finozzifa Feb 2, 2026
3f291a6
add read_options
finozzifa Feb 2, 2026
3b7f85b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 2, 2026
37ecec7
code: update KN_read_problem calling
finozzifa Feb 2, 2026
8548709
Merge remote-tracking branch 'origin/feature/add-knitro-solver' into …
finozzifa Feb 2, 2026
a3a5015
code: new changes from Daniele Lerede
finozzifa Feb 3, 2026
65799de
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 3, 2026
32617a4
code: add reported runtime
finozzifa Feb 3, 2026
25e2972
code: include merge conflicts
finozzifa Feb 3, 2026
ef7e04e
code: remove unnecessary code
finozzifa Feb 3, 2026
ee1cd9f
doc: update README.md and realease_notes
finozzifa Feb 4, 2026
49cb2aa
code: add new unit tests for Knitro
finozzifa Feb 4, 2026
2bb8c5d
code: add new unit tests for Knitro
finozzifa Feb 4, 2026
9aab4db
code: add test for lp for knitro
finozzifa Feb 4, 2026
aa81351
code: add test for lp for knitro
finozzifa Feb 4, 2026
ca172f6
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 4, 2026
3e9a7bb
code: add-back again skip
finozzifa Feb 4, 2026
164a1e0
code: remove uncomment to skipif
finozzifa Feb 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ Fri 0 4
* [MOSEK](https://www.mosek.com/)
* [COPT](https://www.shanshu.ai/copt)
* [cuPDLPx](https://github.com/MIT-Lu-Lab/cuPDLPx)
* [Knitro](https://www.artelys.com/solvers/knitro/)

Note that these do have to be installed by the user separately.

Expand Down
6 changes: 6 additions & 0 deletions doc/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,19 @@ Upcoming Version

* Fix docs (pick highs solver)
* Add the `sphinx-copybutton` to the documentation
* Add support for the `knitro` solver via the knitro python API

Version 0.6.1
--------------

* Avoid Gurobi initialization on linopy import.
* Fix LP file writing for negative zero (-0.0) values that produced invalid syntax like "+-0.0" rejected by Gurobi

* Fix compatibility for xpress versions below 9.6 (regression)
* Add support for the Artelys Knitro solver (via the Knitro Python API)
* Performance: Up to 50x faster ``repr()`` for variables/constraints via O(log n) label lookup and direct numpy indexing
* Performance: Up to 46x faster ``ncons`` property by replacing ``.flat.labels.unique()`` with direct counting

Version 0.6.0
--------------

Expand Down
11 changes: 11 additions & 0 deletions linopy/solver_capabilities.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,17 @@ def supports(self, feature: SolverFeature) -> bool:
}
),
),
"knitro": SolverInfo(
name="knitro",
display_name="Artelys Knitro",
features=frozenset(
{
SolverFeature.QUADRATIC_OBJECTIVE,
SolverFeature.LP_FILE_NAMES,
SolverFeature.SOLUTION_FILE_NOT_NEEDED,
}
),
),
"scip": SolverInfo(
name="scip",
display_name="SCIP",
Expand Down
Loading