Reference
Reading a file
Every published instance is a gzipped MPS beside a .meta.json sidecar recording how it was derived. Every field is described below; the JSON Schema is the machine-readable contract.
Both subsets
- instancestring
- Name of the MIPLIB 2017 instance this file derives from. The published filename is that name plus _if or _ub.
- sample_kindstring
- The half the file belongs to: pruned_infeasible_sibling for the primal set, lp_unbounded_after_drop for the dual one. The first name predates the wording on these pages and claims more than the file records, which is the side of a branch the search did not explore.
- n_vars, n_cons, nnzinteger
- Columns, rows and matrix nonzeros of the published file, in that order, counted from the file itself rather than from the model that produced it. The objective row is not counted in n_cons.
- file_bytesinteger
- Exact byte length of the published .mps.gz file.
- sha256string
- Lowercase SHA-256 digest of the published .mps.gz file. Use it with file_bytes to detect a truncated or corrupted download.
- source_termsobject
- Terms the source instance carries, which govern this file too. spdx is an SPDX identifier, or null for the 130 sources imported from an earlier MIPLIB, which carry no licence at all; miplib_import then carries MIPLIB's own account of where that source came from.
Primal-infeasible
- depthinteger
- Depth of the node in the branch-and-bound tree, counted from 0 at the root.
- branch_var, branch_var_nameinteger, string
- The branched column, as a 0-based index into the published file and as the name that file gives it. Prefer the name: a column called x91 can sit at index 90, so an index read as a name points at the wrong variable.
- branch_sense, branch_valuestring, number
- The bound that defines this side of the branch. >= 29 means the search took <= 28 and this file is the other side.
- path_entrieslist of strings
- Every bound the node tightens relative to the source instance, written x<index><sense><value>, where sense is <= or >=. The index is 0-based into the published file, which path_entries_are_column_indices records. The list is the node's whole bound box rather than the branch decisions alone, so it usually runs far longer than depth.
- path_head_namedlist of strings
- The first twelve path_entries with their column names resolved, which is what this site shows.
Dual-infeasible
- n_droppedinteger
- Number of bounds and rows removed from the source relaxation. It is 0 where natural_unbounded is true.
- drops[]list of objects
- One entry per removal. A bound drop carries kind: bound, the column as var (0-based index) and name, the side relaxed (lb for the lower bound, ub for the upper bound), and the original_value it held. A row drop carries kind: row, the row index and name, and the original_sense, original_rhs and original_range it had. A dropped row's coefficients are not recorded: restoring one means taking the row from the source instance.
- natural_unboundedboolean
- Whether the source relaxation was unbounded as given, with nothing removed.
Pipeline and versioning
These fields identify record formats or trace a file back to the run that made it. They serve reproducibility, and are neither properties of the linear program nor versions of the MPS format.
- sample_id, sample_kind_version, schema_version, sizevarious
- Four fields left over from the mining pipeline. sample_id indexes the candidate pool the published file was drawn from, not this collection. sample_kind_version and schema_version identify mining-pipeline record formats; neither is an MPS-format version. size is MIPLIB's own difficulty class for the source and says nothing about the published file.
- parent_uid, parent_depthinteger
- The parent node in the run that produced the file: parent_uid is a solver-internal identifier and parent_depth is always depth - 1.
- beta, n_rounds, picks, seedvarious
- Parameters and the pre-pruning trace of the greedy search behind a dual-infeasible file. picks lists what the search removed before the pruning pass put most of it back, so it is much longer than drops and is not the published removal set.