This is a complete rewrite of the original prototype package, with an entirely new API, focused on performance, scalability and flexibility.
Added
- Add support for Python/Gurobipy and Julia/JuMP, in addition to the existing Python/Pyomo interface.
- Add six new random instance generators (bin packing, capacitated p-median, set cover, set packing, unit commitment, vertex cover), in addition to the three existing generators (multiknapsack, stable set, tsp).
- Collect some additional raw training data (e.g. basis status, reduced costs, etc)
- Add new primal solution ML strategies (memorizing, independent vars and joint vars)
- Add new primal solution actions (set warm start, fix variables, enforce proximity)
- Add runnable tutorials and user guides to the documentation.
Changed
- To support large-scale problems and datasets, switch from an in-memory architecture to a file-based architecture, using HDF5 files.
- To accelerate development cycle, split training data collection from feature extraction.
Removed
- Temporarily remove ML strategies for lazy constraints
- Remove benchmarks from documentation. These will be published in a separate paper.