GRASP(1) ======== Joao Marques-Silva <jpms@ecs.soton.ac.uk> NAME ---sat-grasp - CNF satisfiability solver (v2.0) SYNOPSIS -------sat-grasp [ [+|-]D ] [ [+|-]V ] [ +B backtrack-limit ] [ +C conflict-limit ] [ +S database-growth-limit ] [ +T max-runtime ] [ +b backtrack-mode ] [ +d decision-making ] [ +g max-conf-clause-size ] [ +i implicationengine ] [ +m multiple-conflicts ] [ +p preprocess-mode ] [ [+|-]u ] filename DESCRIPTION ----------sat-grasp is a front-end for GRASP (Generic seaRch Algorithm for Satisfiability Problems), which permits reading Conjunctive Normal Form (CNF) formulas in the DIMACS CNF format and allows configuring GRASP. GRASP denotes a configurable algorithm for solving instances of the satisfiability problem (SAT), which implements different techniques for pruning the search space. GRASP can be used as the core search engine for different SAT-based tools or embedded in other application-specific tools. This man page is valid for version 2.0 of GRASP. Among other features, GRASP can realize different Boolean constraint propagation procedures and can implement different forms of dependencydirected backtracking, in both cases exploiting the structure of the problem instance and of the search. If a CNF formula is viewed as a database of clauses, then GRASP solves instances of SAT by adding additional clauses to the clause database in order to prune the amount of search. Different growth rates of the clause database are permitted. In addition, several techniques are used to control how clauses are added to the clause database. Decision making in GRASP is supported by several heuristics, that are chosen with the respective command-line argument. The decision making procedure chosen affects decisively the run times for different instances of SAT. OPTIONS ------------------------------------------------------[+|-]D Run GRASP with (+) and without (-) DEBUG mode (the default). [+|-]V Run GRASP with (+) and without (-) VERBOSE mode (the default). Running with VERBOSE mode provides information on how the search evolves. +B backtrack-limit Defines the maximum number of backtracks that can be used for solving a given instance of SAT. GRASP quits if this number of backtracks is reached. +C conflict-limit Defines the maximum number of conflicts that can be used for solving a given instance of SAT. GRASP quits if this number of conflicts is reached. For non-chronological backtracking option +B should be used, whereas option +C should be used with dynamic backtracking. +T max-runtime Defines the CPU time that can be used for solving a given instance of SAT. GRASP quits if this run time is reached. +S database-growth-limit Identifies a bound on the growth of the clause database. GRASP quits is this bound is reached. +b backtrack-mode Can either be 'C' for chronological backtracking, 'N' for nonchronological backtracking and 'D' for dynamic non-chronological backtracking. With chronological backtracking the size of teh clause database is contant. +d decision-making Choice of decision making procedure. Currently, sat-grasp accepts the following static decision making heuristics: F Fixed order decision making. Initial order of the variables is kept. LCS Prefer variables with the largest combined sum of literals. LIS Prefer variables with the largest individual sum of literals. JW Static implementation of the Jeroslow-Wang heuristic, which gives preference to assignments that simplify the smallest clauses. In addition, sat-grasp accepts the following dynamic decision making heuristics: BOHM Implements Max Bohm's heuristic (from Bohm's technical report). MSMM Customized version of MOM's heuristic (from Freeman's dissertation). MSOS One-sided variation of Jeroslow-Wang heuristic that includes weighted contributions of clauses that can be satisfied. MSTS Two-sided variation of the above heuristic. B2WS Another variation of the above heuristic which gives more weight given to clauses that can be satisfied by a given assignment. DLIS Dynamic LIS (i.e. for each decision assignment apply the LIS heuristic). DLCS Dynamic LCS. Similar to DLIS, but using the LCS heuristic. +g max-conf-clause-size In the presence of conflicts, this option denotes the largest size of identified conflicting clauses. This option guarantees a polynomial growth of the clause database. By default, any clause can be added to the clause database, and so the growth is exponential. +i implication-engine Defines the boolean constraint propagation procedure to apply after each decision assignment is made. By default (or with +i0) Boolean Constraint Propagation (BCP) is used. For the current implementation only the default option is available. +m multiple-conflicts Specifies that multiple conflicts are to be processed each time a conflicting decision assignment is made. This technique allows choos- ing the conflict that prunes the search tree the most. multipleconflicts identifies how multiple conflicts are to analysis options are merged (M) and separate (S). Currently, only merged analysis can be used. +p preprocess-mode Defines the engine to use for preprocessing purposes. [+|-]r Option (=) (the default) allows repacking a conflicting clause in terms of decision assignments whenever the size of that conflicting clause is too large. [+|-]t Option (+) (the default) allows for pruning unnecessary decision assignments. [+|-]u Option (+) (the default) allows the identification of UIPs. UIPs permit discovering structure in implication sequences, which provide stronger pruning conditions. ------------------------------------------------ENVIRONMENT ----------The current implementation of sat-grasp and GRASP does not allow for run time configuration based on environment variables. BUGS ---No oustanding bugs are known as far as the author is aware. In addition, there are no restrictions on the sizes of formulas and/or clauses. Some features provided in version 1.0 have not yet been incorporated in version 2.0. SEE ALSO -------GRASP was developed as the underlying search engine of a software package for the analysis of combinational switching circuits. The primary reference is Joao P. Marques Silva, "Search Algorithms for Satisfiability Problems in Combinational Switching Circuits", Ph. D. Dissertation, EECS Department, University of Michigan, Ann Arbor, May 1995. AUTHOR -----Joao Marques-Silva, IST/INESC-ID, Lisbon, Portugal (jpms@inescid.pt). Also, EECS Department, University of Michigan (jpms@eecs.umich.edu). CONTACT ------Joao Marques-Silva, ECS, Univ. Southampton, jpms@ecs.soton.ac.uk