Applying Local Search to MAX-SAT Problems with Hard and Soft Constraints