Solving satisfiability problems with preferences