VIPR. Verifying Integer Programming Results
VIPR is new a software project to verify, in exact rational arithmetic, the correctness of results computed by mixed-integer linear programming solvers. It is based on an elementary file format for LP-based branch-and-cut certificates proposed in the article
Kevin K.H. Cheung, Ambros Gleixner, and Daniel E. Steffy: Verifying Integer Programming Results. In: F. Eisenbrand and J. Koenemann, eds., Integer Programming and Combinatorial Optimization: 19th International Conference, IPCO 2017, pp. 148-160, 2017,
This repository contains a detailed technical specification of the certificate file format, software to check, display, and compress certificate files, and supplementary information on the computational experiments conducted for the article above.
VIPR currently comes with three C++ programs:
viprchk: A program that verifies mixed-integer linear programming certificate files specified in the
viprttn: A program that tightens and improves .vipr files, potentially reducing their size and allowing for easier checking.
vipr2html: A program that converts
.viprcertificate files to a human readable HTML format (not recommended for large files).
The code should compile with most modern compilers supporting the C++11 standard. Directory
code provides a basic
makefile. We have successfully built the tools with GNU g++ version 5.4.0 under Ubuntu 16.04.4. It depends on the GNU Multiple Precision library.
File format specification
- Kevin K.H. Cheung, School of Mathematics and Statistics, Carleton University
- Ambros Gleixner, Department Optimization, Zuse Institute Berlin
- Daniel E. Steffy, Department of Mathematics and Statistics, Oakland University