MiniMaxSAT: An Efficient Weighted Max-SAT solver