An Exact L0-penalized Problem Solver.
This package provides solution methods to address L0-penalized problems of the form
where
🖥 Interfaces
-
Simple problem instantiation
-
Allows user-defined functions
$f(\cdot)$ and$h(\cdot)$ -
Popular choices of
$f(\cdot)$ and$h(\cdot)$ already implemented -
Regularization path fitting
🚀 Solution methods
- Branch-and-Bound algorithm
- Specialized exploration strategies
- Specialized branching strategies
- Efficient bounding solver
- Structure-exploiting acceleration methods
- Robust to dimensionality scaling
Our package can be installed through Julia's Pkg
manager as follows:
pkg> add "https://github.com/TheoGuyard/El0ps.jl"
The package is still in beta version and is not accessible through Julia's general registry yet.
An alpha version will be released soon.
The current version is tested against Julia 1.7
and 1.8
on Linux architectures.
Please report any problem on the issue page.
Feel free to suggest improvements via a pull request !
This software is distributed under the GNU AGPL-3 license.
To cite this package, please refer to the following paper (in french):
@inproceedings{guyard2023solveur,
title={Un solveur efficace pour la r{\'e}solution de probl{\`e}mes parcimonieux avec p{\'e}nalit{\'e} L0},
author={Guyard, Theo},
booktitle={24{\`e}me {\'e}dition du congr{\`e}s annuel de la Soci{\'e}t{\'e} Fran{\c{c}}aise de Recherche Op{\'e}rationnelle et d'Aide {\`a} la D{\'e}cision},
year={2023}
}