Skip to content

Commit

Permalink
0.5.0 (#742)
Browse files Browse the repository at this point in the history
* release 0.5

* Apply suggestions from code review
  • Loading branch information
guimarqu authored Oct 5, 2022
1 parent ac49df5 commit e020dbf
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 8 deletions.
30 changes: 26 additions & 4 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,19 @@ 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
- Pricing callback
- 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
Expand Down

2 comments on commit e020dbf

@guimarqu
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/69578

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v0.5.0 -m "<description of version>" e020dbf0582aafe08f366d89070f1c4d8f706f50
git push origin v0.5.0

Please sign in to comment.