You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replaced command line parsing library with CLI11. Removed C++17 reference with cxxopts, which is no longer in HiGHS
6
-
7
3
## Code changes
8
4
9
-
Any LP offset is communicated to the IPM solver, and used in logging and primal/dual objective calculations.
10
-
11
-
If there is a valid basis when Highs::run() is called, presolve isn't skipped unless the solver option is "simplex" or "choose" (when simplex will always be chosen if there is an advanced basis).
12
-
13
-
Added basis solve methods to highspy
14
-
15
-
Added methods to get primal/dual ray and dual unboundedness direction to highspy
16
-
17
-
When a presolved LP has model status kUnknown, rather than returning this to the user, it performs postsolve and then uses the basis to solve the original LP
18
-
19
-
Fixed bug in presolve when pointers stored in HighsMatrixSlice get invalidated when the coefficient matrix is reallocated (e.g. when non-zeros are added in HPresolve::addToMatrix)
20
-
21
-
Primal and dual residual tolerances - applied following IPM or PDLP solution - now documented as options
22
-
23
-
Highs::getCols (Highs::getRows) now runs in linear time if the internal constraint matrix is stored column-wise (row-wise). Added ensureColwise/Rowwise to the Highs class, the C API and highspy so that users can set the internal constraint matrix storage orientation
24
-
25
-
When columns and rows are deleted from the incumbent LP after a basic solution has been found, HiGHS no longer invalidates the basis. Now it maintains the basic and nonbasic status of the remaining variables and constraints. When the model is re-solved, this information is used to construct a starting basis.
26
-
27
-
Fixed bugs in presolve
28
-
29
-
When running from the command line, changes to default option values are reported
30
-
31
-
Added callback to allow users to supply integer feasible solutions to the MIP solver during execution
32
-
33
-
Bug fix for primal heuristics in the MIP solver
34
-
35
-
Model status is set appropriately when a solver's claimed optimality doesn't satify the general HiGHS primal/dual feasibilily tolerances. Affects IPM without crossover and PDLP
36
-
37
-
Command line parsing now done with pure C++11 code
38
-
39
-
Added command line flags to read basis from and write basis to a file
40
-
41
-
Bug fixes in records of primal/dual rays
42
-
43
-
MPS read utility improved. Error logging is now less verbose; inability to handle USERCUTS section is properly logged
44
-
45
-
Implemented lifting for probing as described by Achterberg et al in _Presolve Reductions in Mixed Integer Programming._ INFORMS Journal on Computing 32(2):473-506 (2019). Not used by default, but option mip_lifting_for_probing allows it to be used with two levels of modification
5
+
Fixed incorrect assertion in `HighsMipSolver::solutionFeasible()` (fixing [#2204](https://github.com/ERGO-Code/HiGHS/issues/2204)))
46
6
47
-
Propagated updates from cuPDLP-C
7
+
getColIntegrality now returns `HighsVarType::kContinuous` when `model_.lp_.integrality_` is empty (fixing [#2261](https://github.com/ERGO-Code/HiGHS/issues/2261))
48
8
49
-
Added GPU support for cuPDLP-C
9
+
Now ensuring that when solving a scaled LP with useful but unvalidated basis, it does not lose its scaling after validation, since the scaling factors will be applied to the solution (fixing [#2267](https://github.com/ERGO-Code/HiGHS/issues/2267))
0 commit comments