This is an implementation of a simple SAT solver with some optimizations. Most of the optimizations can be turned on/off or adjusted.
List of optimizations:
- Unit propagation
- Adjacency list, watched literals
- Unique implication points (Clause learning)
- Backjumping
- Heuristical variable selection
- Restarting
In the benchmarks folder, there are some benchmarks showing how quickly the solver is with different settings.