Skip to content

Commit

Permalink
Merge pull request #1823 from ERGO-Code/fix-1812
Browse files Browse the repository at this point in the history
Moved pdlp_iteration_count back to where it was inserted, breaking the C API
  • Loading branch information
galabovaa authored Jul 1, 2024
2 parents c2c4bb0 + 7679e11 commit 7ffaa25
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 34 deletions.
42 changes: 9 additions & 33 deletions FEATURES.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,17 @@
## Build changes

### HiGHS on nixpkgs

HiGHS now has a `flake.nix` to build the binary, allowing `nix` users to try it out

### Python build update

Highspy with setuptools from v1.7.0 only worked on Python 3.12
For v1.7.0 we have dropped setuptools and switched to scikit-build-core

### Windows versions

Fixed version info of shared library
Added version info to executable

## Code changes

Inserting `pdlp_iteration_count` into various structs (for v1.7.0) breaks the C API, so it has been moved to the end of those structs

`setBasis` has been added to `highspy`

`writePresolvedModel` has been added

Saved MIP solution pool is populated when presolve reduces MIP to empty

Compilation date has been removed improve build reproducibility. Methods to print compilation dates are deprecated

Logging and error return when user-supplied solution or basis is rejected on vector dimensions

Memory allocation errors in presolve are caught and `Highs::run()` returns `HighsStatus::kError` with `model_status_ = HighsModelStatus::kMemoryLimit`

QP solver logging is now neater and quieter

Any Hessian for the incumbent model is modified with zero entries when adding columns to the model, and rows/columns are removed when columns are deleted from the model.
The accessor function Highs_getCallbackDataOutItem in the C API means
that `pdlp_iteration_count` can be moved back to where it was inserted
into the `HighsCallbackDataOut` struct in v1.7.0, which broke the C
API. This fixes #1812

Minor bug fix in MIP presolve
Some duplicate code has been eliminated from the MIP solver, and
modifications made to eliminate compiler warnings

QP solver will now hot start given a basis and solution
Declaration of the (deprecated) method `char* highsCompilationDate()`
has been corrected

Fixed bug when describing integrality status during the human-readable solution write

2 changes: 1 addition & 1 deletion src/lp_data/HighsCallbackStruct.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ typedef struct {
double running_time;
HighsInt simplex_iteration_count;
HighsInt ipm_iteration_count;
HighsInt pdlp_iteration_count;
double objective_function_value;
int64_t mip_node_count;
double mip_primal_bound;
Expand All @@ -43,7 +44,6 @@ typedef struct {
double* cutpool_value;
double* cutpool_lower;
double* cutpool_upper;
HighsInt pdlp_iteration_count;
} HighsCallbackDataOut;

typedef struct {
Expand Down

0 comments on commit 7ffaa25

Please sign in to comment.