A university needs to schedule 10 courses across 5 time slots and 4 rooms. Each course has specific requirements:
1. Course CS101 requires a computer lab and cannot be scheduled at the same time as CS201
2. Course CS201 requires a computer lab
3. Course MA101 must be in the first time slot
4. Course PH101 requires a lab with special equipment
5. Course EN101 has no special requirements
6. Course BI101 requires a lab with special equipment
7. Course HI101 prefers not to be in the last time slot
8. Course EC101 must be scheduled in Room 2
9. Course PS101 cannot be in the first time slot and must not be in the same room as MA101
10. Course AR101 has no special requirements
The rooms have the following attributes:
- Room 1 is a computer lab
- Room 2 is a regular classroom
- Room 3 is a regular classroom
- Room 4 is a lab with special equipment
Schedule all courses to minimize the number of preferences violated while ensuring all hard constraints are satisfied.