PaPILO integration with Pseudo-Boolean Problem instances of filetype .opb
. File format is described here: http://www.cril.univ-artois.fr/PB16/format.pdf
papilo
library. Update paths in CMakeFiles.txt
before building. papilo
also requires TBB, refer to https://github.com/lgottwald/PaPILO for more information.
Standard location for papilo is <project_root>/papilo
. If your papilo is located in another folder, change location in CMakeLists.txt
mkdir build
cd build
cmake ..
make
All options:
--help Display all options
-I [ --filein ] arg Path to file in (.opb)
-O [ --fileout ] arg Path to file out (default <file-name>.pre.opb
--postsolve Postsolve solution. Supply .postsolve file and solution
-P [ --postfile ] arg Path to postsolve file (default
<file-name>.pre.postsolve
Presolve an instance by
./PresolveOpb -I <file-in>
Supply your solution along with the postsolve file.
./PresolveOpb -I <solution> -P <postsolve-file> --postsolve
Currently only supports RoundingSat solution format. If you use RoundingSat pipe the solution to a file and supply that file.
- run
./PresolveOpb -I example.opb -O example.pre.opb
- run
./roundingsat example.pre.opb --print-sol=1 > example.pre.sol
- run
./PresolveOpb -I example.pre.sol -P example.pre.postsolve --postsolve
The solver reads the settings from parameters.opb.txt
. Settings can be changed there. Note that there are a few settings that might break .opb
instances, these are marked in the parameters file.