jump-dev / jump-dev/MatrixOptInterface.jl
Add basic presolve into MatOI
- 主要语言
- Julia
- 星标
- 12
- 派生
- 4
- 平均合并
- 5 小时 50 分钟
- 30 天内合并 PR
- 3
描述
I open this issue to discuss a more long-term subject: I wonder if we could include basic presolve operations into MatOI?
I think it would be easier to develop that inside this package instead of MOI, but I may be wrong. The idea would be to share the efforts and get good presolve abilities for LP's solver written in pure Julia, like [Tulip.jl](https://github.com/ds4dm/Tulip.jl/) or [Simplex.jl](https://github.com/exanauts/Simplex.jl).
An idea would be to adapt already existing codes, like
- [Scipy presolve](https://github.com/scipy/scipy/blob/v1.5.1/scipy/optimize/_linprog_util.py#L443)
- [Tulip.jl presolve](https://github.com/ds4dm/Tulip.jl/tree/master/src/Presolve), cc @mtanneau
- [HiGHs presolve](https://github.com/ERGO-Code/HiGHS/tree/master/src/presolve)
I think [Presolving in linear programming](https://link.springer.com/article/10.1007/BF01586000) by E. Andersen and K. Andersen, is also a good paper to grasp inspiration from.
贡献指南
这个仓库没有索引到贡献指南
调研方向
Start by comparing SciPy's scipy/optimize/_linprog_util.py, Tulip.jl's src/Presolve, and HiGHS's src/presolve, alongside the cited presolve paper. The issue needs a concrete scope and an agreed definition of basic presolve before implementation can be considered done.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- julia
- 领域
- backend-api-design
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100