diff --git a/NEWS.md b/NEWS.md index 65c0158c5..4b65b92bd 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,7 +1,29 @@ -# Coluna 0.4.2 Release notes +# Coluna 0.5.0 Release notes -- new implementation of the solution pool that leads to significant improvements for columns insertion in column generation +This release is a major update of the algorithms. +From now on, we will release new versions more frequently. -- specific error for "unexpected variable state" error to allow developers to debug -their code (see `ColumnAlreadyInsertedColGenError` struct). +In the `Algorithm` submodule: +- Interface & generic implementation for the tree search algorithm; default implementation of a branch & bound; documentation +- Simplified interface for storages; documentation +- Interface & generic implementation for the branching algorithm; interface & default implementation for the strong branching; documentation +- Preparation of the conquer algorithm refactoring +- Preparation of the column generation algorithm refactoring +- Preparation of the refactoring of the algorithms calling the subsolver +- End of development of the Preprocessing algorithm (no unit tests and had bugs); it will be replaced by the Presolve algorithm that does not work +- Increase of the reduced cost tolerance in the column generation algorithm +- Separation of algorithm and printing logic +- Various bug fixes + + +In the `MathProg` submodule: + +- `VarIds` & `ConstrIds` are subtype of Integer so we can use them as indices of sparse vectors and arrays +- Solution are stored in sparse array from `SparseArrays` (not a packed memory array from `DynamicSparseArray` anymore because the solution is static) + + +Other: + +- Documentation of dynamic sparse arrays +- Support of expressions in BlockDecomposition \ No newline at end of file diff --git a/Project.toml b/Project.toml index 9c0ed4519..6e813b7c0 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "Coluna" uuid = "88b4ec78-b192-11e8-04aa-4d367dd96a64" authors = ["François Vanderbeck", "Guillaume Marques", "Vitor Nesello", "Ruslan Sadykov"] -version = "0.4.2" +version = "0.5.0" [deps] BlockDecomposition = "6cde8614-403a-11e9-12f1-c10d0f0caca0" diff --git a/README.md b/README.md index 77f66008d..020d77744 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,8 @@ branch-and-cut-and-price algorithms. We look for beta users as Coluna is under active development. - ![Stable](https://img.shields.io/badge/-stable-brightgreen) No stable feature at the moment -- ![Beta](https://img.shields.io/badge/-beta-green) Features that work but you may have some bugs: +- ![Beta](https://img.shields.io/badge/-beta-green) Features that work but still in development: + - Branch-and-price-and-cut algorithm - Cuts generation - Column generation algorithm - Dantzig-Wolfe decomposition @@ -46,9 +47,10 @@ active development. - Robust cut callback - Stabilization - Strong-branching -- ![Alpha](https://img.shields.io/badge/-alpha-yellow) Features that should work. Structural work is done but it may be not performant: +- ![Alpha](https://img.shields.io/badge/-alpha-yellow) Features that should work. Structural work is done but these features may have bugs and be not performant: - Benders decomposition - - Branch-and-price-and-cut algorithm + - Benders algorithm + - Non-robust cuts - Clean up of large scale formulations - ![Dev](https://img.shields.io/badge/-dev-orange) Features in development, foundations have been laid: - Nested/Recursive decomposition