Skip to content

Commit

Permalink
Version 0.8 (#1126)
Browse files Browse the repository at this point in the history
* Version 0.8

* - Correction for passing tests
- Description of changes in version 0.8 in NEWS.md

* README update
  • Loading branch information
rrsadykov authored Jan 31, 2024
1 parent ce28df4 commit 398d307
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 15 deletions.
19 changes: 19 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -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:
Expand Down
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.7.0"
version = "0.8.0"

[deps]
BlockDecomposition = "6cde8614-403a-11e9-12f1-c10d0f0caca0"
Expand Down
24 changes: 11 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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: WIPInitial 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: ActiveThe 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)


Expand All @@ -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.

Expand All @@ -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

Expand Down
2 changes: 1 addition & 1 deletion src/Coluna.jl
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down

2 comments on commit 398d307

@rrsadykov
Copy link
Collaborator 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/99958

Tip: Release Notes

Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.

@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.

Tagging

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.8.0 -m "<description of version>" 398d3075f489bb7d8f7f61b0a145fa1dde2bdeb6
git push origin v0.8.0

Please sign in to comment.