jump-dev / jump-dev/MatrixOptInterface.jl

Add basic presolve into MatOI

未关闭
#5 7 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。