Coluna.jl: A Branch-Cut-and-Price Framework in Julia
François Vanderbeck, Guillaume Marques, Ruslan Sadykov, Vitor Nesello, Natacha Javerzat, Artur Pessoa, Teobaldo Bulhões, Cristiana Bentes, Vinicius L. de Lima, Anand SubramanianMixed-integer programming (MIP) models are highly successful in both academic and industrial settings, but they often suffer from scalability issues and weak relaxations. These issues have been effectively addressed by Dantzig-Wolfe decomposition and branch-cut-and-price (BCP) approaches in many different applications. Such approaches are among the most successful for solving large-scale MIP models; however, their complex and sophisticated implementations might not be practical for nonspecialists. This has prompted the development of generic BCP frameworks, which aim to simplify the implementation process while maintaining a high level of efficiency and flexibility. The present paper introduces Coluna.jl, an innovative BCP framework developed in Julia, a language known for its high computational performance and ease of use. Coluna.jl is an open-source package that enhances user experience by enabling more accessible coding and rapid prototyping without compromising computational efficiency. Among its key advantages, Coluna.jl provides a framework for advanced features like state-of-the-art column generation with dual stabilization, strong branching, and a comprehensive presolve routine. This combination of enabling advanced features and user-friendly implementation establishes Coluna.jl as a significant contribution to the field of optimization software.
History: Accepted by Ted Ralphs, Area Editor for Software Tools.
Funding: This work was supported by Fundação de Apoio à Pesquisa do Estado da Paraíba [Grants 041/2023, 2021/3182, and 261/2020], Universidade Federal da Paraíba [Grants PVL13395-2020 and PVL13400-2020], and Conselho Nacional de Desenvolvimento Científico e Tecnológico [Grants 309580/2021-8, 314088/2021-0, 311654/2023-1, and 406245/2021-5].
Supplemental Material: The software that supports the findings of this study is available within the paper and its Supplemental Information ( https://pubsonline.informs.org/doi/suppl/10.1287/ijoc.2025.1130 ) as well as from the IJOC GitHub software repository ( https://github.com/INFORMSJoC/2025.1130 ). The complete IJOC Software and Data Repository is available at https://informsjoc.github.io/ .