Right now the algorithm uses the actual rooms and looks if one of the possible room combinations of an exam is a subset of the valid and available rooms. A super room would contain one set of actual rooms and it would require logic that when a super room is assigned all super rooms that use at least one actual room from that combination will also be marked unavailable. A simple graph where super rooms that share actual rooms are neighbors might suffice. Adjacency lists actually.
super rooms are only to be created from exams' potential rooms combinations list in the ExamTTDataBuilder to avoid creating lots of super rooms that can never be used by any exam.
Right now the algorithm uses the actual rooms and looks if one of the possible room combinations of an exam is a subset of the valid and available rooms. A super room would contain one set of actual rooms and it would require logic that when a super room is assigned all super rooms that use at least one actual room from that combination will also be marked unavailable. A simple graph where super rooms that share actual rooms are neighbors might suffice. Adjacency lists actually.