next up previous contents
Next: Heuristics Up: Preprocessing Previous: Preprocessor sequence   Contents

Preprocessor command

Proprocessing is specified on the command line using the -preprocess-sequence or -P switch followed by a preprocessor sequence. For example,


$ sbsat -preprocess-sequence {ExDc}3{ExSt}2{ExPr}10 example.cnf


The following does the same thing:


$ sbsat -P {ExDc}3{ExSt}2{ExPr}10 example.cnf

For some problems, preprocessing might take too long or may not produce a desired result. In this case the user may enable or disable preprocessing options or change their sequence. For example,


$ sbsat -St 0 example.cnf


skips the strengthening operation in the current sequence. For example,


$ sbsat -P {Dc{ExSt}{ExPr}St}10 -St 0 example.cnf


is the same as


$ sbsat -P {Dc{Ex}{ExPr}}10 example.cnf


Also, the user may want to turn off every preprocessing option except one or two. This can be achieved by using the -All 0 command, which turns off all preprocessing options, followed by (for example) -St 1, which turns strengthening back on. For example,


$ sbsat -P {Dc{ExSt}{ExPr}St}10 -All 0 -St 1 example.cnf


is the same as
$ sbsat -P {{St}St}10 example.cnf

Remark: One may avoid long preprocessing by saving the problem after preprocessing in SMURF file format7 using, for example,
$ sbsat -output-file newfile.smurf -s myoldfile
and disabling preprocessing the next time sbsat is applied to the same input using
$ sbsat -All 0 newfile.smurf.

Remark: Input files in canonical form (see Sections [*] and [*]) allow preprocessing operations (and some other operations) to be performed while the input file is parsed. The canonical form admits directives which specify such operations in the order and precisely at the point they appear in the input file. See Section [*] for a list of such operations.


next up previous contents
Next: Heuristics Up: Preprocessing Previous: Preprocessor sequence   Contents
John Franco 2011-09-15