Solving Scheduling Problems with Setup Times and Alternative Resources