|
4 | 4 | ### Added |
5 | 5 | - Added automated script for generating type stubs |
6 | 6 | - Include parameter names in type stubs |
7 | | -- Added pre-commit hook for automatic stub regeneration (see .pre-commit-config.yaml) |
8 | | -- Wrapped isObjIntegral() and test |
9 | | -- Added structured_optimization_trace recipe for structured optimization progress tracking |
10 | | -- Added methods: getPrimalDualIntegral() |
11 | | -- getSolVal() supports MatrixExpr now |
| 7 | +- Added pre-commit hook for automatic stub regeneration (see `.pre-commit-config.yaml`) |
| 8 | +- Wrapped `isObjIntegral()` and test |
| 9 | +- Added `structured_optimization_trace` recipe for structured optimization progress tracking |
| 10 | +- Added methods: `getPrimalDualIntegral()` |
| 11 | +- `getSolVal()` supports `MatrixExpr` now |
12 | 12 | ### Fixed |
13 | | -- getBestSol() now returns None for infeasible problems instead of a Solution with NULL pointer |
| 13 | +- `getBestSol()` now returns `None` for infeasible problems instead of a `Solution` with `NULL` pointer |
14 | 14 | - all fundamental callbacks now raise an error if not implemented |
15 | | -- Fixed the type of MatrixExpr.sum(axis=...) result from MatrixVariable to MatrixExpr. |
16 | | -- Updated IIS result in PyiisfinderExec() |
17 | | -- Model.getVal now supports GenExpr type |
18 | | -- Fixed lotsizing_lazy example |
19 | | -- Fixed incorrect getVal() result when _bestSol.sol was outdated |
20 | | -- Fixed segmentation fault when using Variable or Constraint objects after freeTransform() or Model destruction |
21 | | -- getTermsQuadratic() now correctly returns all linear terms |
| 15 | +- Fixed the type of `MatrixExpr.sum(axis=...)` result from `MatrixVariable` to `MatrixExpr`. |
| 16 | +- Updated IIS result in `PyiisfinderExec()` |
| 17 | +- `Model.getVal` now supports `GenExpr` type |
| 18 | +- Fixed `lotsizing_lazy` example |
| 19 | +- Fixed incorrect `getVal()` result when `_bestSol.sol` was outdated |
| 20 | +- Fixed segmentation fault when using `Variable` or `Constraint` objects after `freeTransform()` or `Model` destruction |
| 21 | +- `getTermsQuadratic()` now correctly returns all linear terms |
22 | 22 | ### Changed |
23 | | -- changed default value of enablepricing flag to True |
24 | | -- Speed up MatrixExpr.sum(axis=...) via quicksum |
25 | | -- Speed up MatrixExpr.add.reduce via quicksum |
26 | | -- Speed up np.ndarray(..., dtype=np.float64) @ MatrixExpr |
27 | | -- Speed up Expr * Expr via C-level API and Term * Term |
28 | | -- Speed up Term * Term via a $O(n)$ sort algorithm instead of Python $O(n\log(n))$ sorted function. `Term.__mul__` requires that Term.vartuple is sorted. |
29 | | -- Rename from `Term.__add__` to `Term.__mul__`, due to this method only working with Expr * Expr. |
30 | | -- MatrixExpr and MatrixExprCons use `__array_ufunc__` protocol to control all numpy.ufunc inputs and outputs |
31 | | -- Set `__array_priority__` for MatrixExpr and MatrixExprCons |
32 | | -- changed addConsNode() and addConsLocal() to mirror addCons() and accept ExprCons instead of Constraint |
| 23 | +- changed default value of `enablepricing` flag to `True` |
| 24 | +- Speed up `MatrixExpr.sum(axis=...)` via `quicksum` |
| 25 | +- Speed up `MatrixExpr.add.reduce` via `quicksum` |
| 26 | +- Speed up `np.ndarray(..., dtype=np.float64) @ MatrixExpr` |
| 27 | +- Speed up `Expr * Expr` via C-level API and `Term * Term` |
| 28 | +- Speed up `Term * Term` via a $O(n)$ sort algorithm instead of Python $O(n\log(n))$ sorted function. `Term.__mul__` requires that `Term.vartuple` is sorted. |
| 29 | +- Rename from `Term.__add__` to `Term.__mul__`, due to this method only working with `Expr * Expr`. |
| 30 | +- `MatrixExpr` and `MatrixExprCons` use `__array_ufunc__` protocol to control all `numpy.ufunc` inputs and outputs |
| 31 | +- Set `__array_priority__` for `MatrixExpr` and `MatrixExprCons` |
| 32 | +- changed `addConsNode()` and `addConsLocal()` to mirror `addCons()` and accept `ExprCons` instead of `Constraint` |
33 | 33 | - Improved `chgReoptObjective()` performance |
34 | | -- Return itself for abs to UnaryExpr(Operator.fabs) |
| 34 | +- Return itself for `abs` to `UnaryExpr(Operator.fabs)` |
35 | 35 | ### Removed |
36 | 36 |
|
37 | 37 | ## 6.0.0 - 2025.11.28 |
|
116 | 116 | - Stopped tests from running in draft PRs |
117 | 117 | ### Removed |
118 | 118 |
|
119 | | -## 5.4.1 - 2024.02.24 |
| 119 | +## 5.4.1 - 2025.02.24 |
120 | 120 | ### Added |
121 | 121 | - Added option to get Lhs, Rhs of nonlinear constraints |
122 | 122 | - Added cutoffNode and test |
|
0 commit comments