Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 0.8 #1126

Merged
merged 3 commits into from
Jan 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading