MaxSAT-2007: Benchmarks and Solver Requirements

Updates

This document lists the requirements that benchmarks and solvers must conform to. These requirements may evolve slightly over time. You are invited to check the content of this page regularly.

Input format

The input file must be read from the file given in parameter. For example:

./mysolver <input_file_name>

Max-SAT input format

The input file format for Max-SAT will be in DIMACS format:

c
c comments Max-SAT
c
p cnf 3 4
1 -2 0
-1 2 -3 0
-3 2 0
1 3 0

Weighted Max-SAT input format

In Weighted Max-SAT, the parameters line is "p wcnf nbvar nbclauses". The weights of each clause will be identified by the first integer in each clause line. The weight of each clause is an integer greater than or equal to 1, and smaller than 220.

Example of Weighted Max-SAT formula:

c
c comments Weighted Max-SAT
c
p wcnf 3 4
10 1 -2 0
3 -1 2 -3 0
8 -3 2 0
5 1 3 0

Partial Max-SAT input format

In Partial Max-SAT, the parameters line is "p wcnf nbvar nbclauses top". We associate a weight with each clause, wich is the first integer in the clause. Weigths must be greater than or equal to 1, and smaller than 220. Hard clauses have weigth top and soft clauses have weigth 1. We assure that top is a weight always greater than the sum of the weights of violated soft clauses.

Example of Partial Max-SAT formula:

c
c comments Partial Max-SAT
c
p wcnf 4 5 15
15 1 -2 4 0
15 -1 -2 3 0
1 -2 -4 0
1 -3 2 0
1 1 3 0

Weigthed Partial Max-SAT input format

In Weigthed Partial Max-SAT, the parameters line is "p wcnf nbvar nbclauses top". We associate a weight with each clause, wich is the first integer in the clause. Weigths must be greater than or equal to 1, and smaller than 220. Hard clauses have weigth top and soft clauses have a weigth smaller than top. We assure that top is a weight always greater than the sum of the weights of violated soft clauses.

Example of Weigthed Partial Max-SAT formula:

c
c comments Weigthed Partial Max-SAT
c
p wcnf 4 5 16
16 1 -2 4 0
16 -1 -2 3 0
8 -2 -4 0
4 -3 2 0
3 1 3 0

Output format

The solvers must output messages on the standard output that will be used to check the results. The output format is inspired by the DIMACS output specification of the SAT competition and may be used to manually check some results.

The solver cannot write to any files except standard output and standard error (only standard output will be parsed for results, but both output and error will be memorized during the whole evaluation process, for all executions).

Messages

All the lines must be ended by a standard Unix end of line character ('\n');

Examples

c -----------------
c My Max-SAT Solver
c -----------------
o 10
o 7
o 6
o 5
s OPTIMUM FOUND
v -1 2 3 -4 -5 6 -7 8 9 10 -11 -12 13 -14 -15

c --------------------------
c My Weighted Max-SAT Solver
c --------------------------
o 481
o 245
o 146
o 145
o 144
o 143
s OPTIMUM FOUND
v -1 2 3 -4 -5 6 -7 8 9 10 -11 -12 13 -14 -15 16 -17 18 19 20

Bugs

In the following cases a solver is considered buggy: