diff --git a/NEWS.md b/NEWS.md index e40e0a4a5..6ce00da58 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,22 @@ +# Coluna 0.8.0 + +This is a major update which implements the presolve algorithm. + +Other features: +- Possibility for the user to get the custom data of a column (i.e., SP solution) in the global solution. +- Print the master and DW subproblem with only user-defined variables and constraints. +- One can now specify the branching priority of columns, either through branching priority of DW sub-problems, + or directly in the CustomData of the SP solution + +It also resolves some bugs: +- Correction in dual price smoothing stabilization +- Correction in integrality check inside column generation. +- Correction in calculating initial (global) bounds of the master representative (implicit) variables. +- Corrected the "Sleeping bug" related to the Id type promotion, which appeared in Julia 1.10 +- Removed superfluous Heuristics module. +- Global dual bound printer is corrected +- Strong branching printer is corrected. + # Coluna 0.7.0 This is minor update with two breaking changes: diff --git a/Project.toml b/Project.toml index 70967f17d..32f8cb8de 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.7.0" +version = "0.8.0" [deps] BlockDecomposition = "6cde8614-403a-11e9-12f1-c10d0f0caca0" diff --git a/README.md b/README.md index d9c80324f..fdee205c1 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![Documentation](https://img.shields.io/badge/docs-stable-blue.svg)](https://atoptima.github.io/Coluna.jl/stable) ![CI](https://github.com/atoptima/Coluna.jl/workflows/CI/badge.svg?branch=master) [![codecov](https://codecov.io/gh/atoptima/Coluna.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/atoptima/Coluna.jl) -[![Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip) +[![Project Status: Active – The project has reached a stable, usable state and is being actively developed](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) [![License: MPL 2.0](https://img.shields.io/badge/License-MPL%202.0-brightgreen.svg)](https://opensource.org/licenses/MPL-2.0) @@ -27,7 +27,7 @@ Open Julia's interactive session (REPL) and type: ] add Coluna ``` -The documentation is still under construction but provides examples to run advanced branch-cut-and-price. +The documentation provides examples to run advanced branch-cut-and-price. Improvements in documentation are expected in the future. You can browse the [stable documentation](https://atoptima.github.io/Coluna.jl/stable) if you work with the latest release or the [dev documentation](https://atoptima.github.io/Coluna.jl/latest) if you work with the master version of Coluna. @@ -36,23 +36,21 @@ or the [dev documentation](https://atoptima.github.io/Coluna.jl/latest) if you w We aim to integrate into Coluna the state-of-the-art techniques used for branch-and-cut-and-price algorithms. -The latest minor release `0.6.0` suffers from regressions as some features are not available anymore. Indeed, we focused on the correctness of the algorithms and all the missing features will be back soon, well implemented and well tested. - -- ![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 well but need more tests/usage and performance review before being stable: +- ![Stable](https://img.shields.io/badge/-stable-brightgreen) Features which are well-tested (but performance may still be improved). - Dantzig-Wolfe decomposition - - Benders decomposition - - Branch-and-bound algorithm + - Branch-and-bound algorithm (with branching in master) - Column generation (MILP pricing solver/pricing callback) - - Cut generation (robust and non-robust cut generation) - - Strong-branching +- ![Beta](https://img.shields.io/badge/-beta-green) Features that work well but need more tests/usage and performance review before being stable: + - Strong branching (with branching in master) - Stabilization for column generation + - Cut generation (robust and non-robust) + - Benders decomposition + - Preprocessing (presolve) of formulations and reformulations - ![Alpha](https://img.shields.io/badge/-alpha-yellow) Features that should work. Structural work is done but these features may have bugs: - Benders cut generation - ![Dev](https://img.shields.io/badge/-dev-orange) Features in development. - - Stabilization for benders. - - Clean-up of large scales formulation (regression) - - Preprocessing of formulations and reformulations + - Clean-up of the master formulation (removal of unpromising columns and cuts) + - Saving/restoring LP basis when changing a node in branch-and-bound ## Contributing diff --git a/src/Coluna.jl b/src/Coluna.jl index c816b7e20..89fa1161e 100644 --- a/src/Coluna.jl +++ b/src/Coluna.jl @@ -29,7 +29,7 @@ export Algorithm, ColunaBase, MathProg, Env, DefaultOptimizer, Parameters, const _to = TO.TimerOutput() -version() = v"0.7.0" +version() = v"0.8.0" include("kpis.jl") include("parameters.jl")