Skip to content

Repository files navigation

MIPLIB 2017 Infeas

Licence: see LICENSE

Linear programs with no optimal solution, derived from MIPLIB 2017 instances with their integrality dropped. One set has no feasible point and the other is unbounded, forming a large-scale benchmark for detecting infeasibility and unboundedness.

Browse the collection: https://mit-lu-lab.github.io/MIPLIB2017-Infeas

instances variables constraints ZIP download
Primal-infeasible 229 622 to 20,682,487 36 to 19,912,111 1.55 GiB
Dual-infeasible 105 297 to 550,539 27 to 19,335,696 686.9 MiB

Each instance is a gzipped MPS file holding continuous variables only. Beside it sits a .meta.json sidecar that records how the program was derived from its source instance.

Primal-infeasible

A branch-and-bound search splits on a variable and explores one side of the split. These instances are the other side, taken at nodes where that side turns out to have no feasible point.

Dual-infeasible

For 103 instances, bounds and constraints were dropped from a feasible, bounded root LP relaxation until its objective became unbounded; every unnecessary drop was then restored. The other two root relaxations were already unbounded and therefore required no drops.

Software

These are the versions that produced the published files. A solver named without its version describes a run nobody can repeat: which nodes a tree holds depends on the solver that built it, and what a presolve run disposes of changes between releases.

software version what it did
CPLEX 22.1.2.1 Built the branch-and-bound trees the primal-infeasible set is taken from, and ran the loop that drops bounds and constraints for the dual-infeasible one.
HiGHS 1.14.0 The first presolver a candidate had to survive, reached through the highspy bindings.
Gurobi 12.0.3 The second presolver a candidate had to survive.
Python 3.11.9 Ran the mining code driving all three: the callback that follows the search, the drop loop, and the selection.

Download

Everything is on the latest release: primal-infeasible.zip and dual-infeasible.zip each hold a whole subset, laid out as instances/infeasible/ and instances/unbounded/.

To script against it, the site publishes the same catalogue as JSON. index.json names both subsets and the release prefix; primal-infeasible.json and dual-infeasible.json list every instance with its dimensions, its SHA-256 and its filename. Join the prefix and a filename for a download URL. Each JSON document declares its format_version; the .csv beside each subset document carries the same rows.

Citation

@misc{miplib2017_infeas,
  author       = {Haihao Lu and Bo Tang},
  title        = {MIPLIB 2017 Infeas: Primal- and Dual-Infeasible Linear Programs from MIPLIB 2017},
  howpublished = {\url{https://mit-lu-lab.github.io/MIPLIB2017-Infeas}},
  year         = {2026}
}

Please also cite Gleixner et al., “MIPLIB 2017: Data-Driven Compilation of the 6th Mixed-Integer Programming Library”.

Licence

The 262 MIPLIB 2017 instances adapted here do not all carry the same terms, and LICENSE sets out each case against MIPLIB's own submission records:

source instances terms
131 CC BY-SA 4.0, the default of the MIPLIB 2017 submission form
1 BSD 3-Clause, for adult-max5features, whose notice is reproduced in full
130 no licence of record: MIPLIB's own instance pages record these as imported from an earlier edition, which predates its licensing requirement

To the extent this project holds copyright or related rights in them, its own work (the derivation, the sidecars, the indexes, and the site and the code that builds it) is released under CC BY-SA 4.0, as are the linear programs derived from the 131 instances that carry it. That licence is not applied to the 130, because neither MIPLIB nor anyone else ever placed them under it; they are redistributed on the footing ZIB distributes them on, with their source named and their contributor credited.

About

Primal- and dual-infeasible linear programs derived from MIPLIB 2017

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages