GithubHelp home page GithubHelp logo

bitacc / coluna.jl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from atoptima/coluna.jl

0.0 0.0 0.0 26.71 MB

Branch-and-Price-and-Cut in Julia

Home Page: https://www.atoptima.com

License: Other

Shell 0.03% Julia 99.97%

coluna.jl's Introduction

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

coluna.jl's People

Contributors

guimarqu avatar vitornesello avatar fd-v avatar najaverzat avatar issamt avatar rrsadykov avatar laradicp avatar artalvpes avatar tbulhoes avatar github-actions[bot] avatar itamarrocha avatar eduardovegas avatar gitter-badger avatar yp-ye avatar cristianabentes avatar hhkramer avatar juliatagbot avatar loti45 avatar dianabarros avatar guilhemdupuis avatar jolan99 avatar mbrachner avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.