• Stars
    star
    191
  • Rank 202,877 (Top 4 %)
  • Language
    Julia
  • License
    Other
  • Created over 6 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Branch-and-Price-and-Cut in Julia

Coluna.jl

Documentation CI codecov Project Status: WIP โ€“ Initial development is in progress, but there has not yet been a stable, usable release suitable for the public License: MPL 2.0

Coluna is a branch-and-price-and-cut framework written in Julia. You write an original MIP that models your problem using the JuMP modeling language and our specific extension BlockDecomposition offers a syntax to specify the problem decomposition. Then, Coluna reformulates the original MIP and optimizes the reformulation using the algorithms you choose. Coluna aims to be very modular and tweakable so that you can define the behavior of your customized branch-and-price-and-cut algorithm.

Installation

Coluna is a Julia Language package.

You can install Coluna through the Julia package manager. 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. You can browse the stable documentation if you work with the latest release or the dev documentation if you work with the master version of Coluna.

Features

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 No stable feature at the moment
  • Beta Features that work well but need more tests/usage and performance review before being stable:
    • Dantzig-Wolfe decomposition
    • Benders decomposition
    • Branch-and-bound algorithm
    • Column generation (MILP pricing solver/pricing callback)
    • Cut generation (robust and non-robust cut generation)
    • Strong-branching
    • Stabilization for column generation
  • Alpha Features that should work. Structural work is done but these features may have bugs:
    • Benders cut generation
  • Dev Features in development.
    • Stabilization for benders.
    • Clean-up of large scales formulation (regression)
    • Preprocessing of formulations and reformulations

Contributing

If you encounter a bug or something unexpected happens while using Coluna, please open an issue via the GitHub issues tracker.

See the list of contributors who make Coluna possible.

Premium support

Using Coluna for your business? Contact us to get tailored and qualified support.

Acknowledgments

The platform development has received an important support grant from the international scientific society Mathematical Optimization Society (MOS) and Rรฉgion Nouvelle-Aquitaine.

Atoptima

University of Bordeaux

Inria

Related packages