Overview:
Built an automated system to generate exam seating arrangements across 4 branches (CSE, ECE, MECH, CIVIL) and 2 semesters (4th and 6th), managing constraints like student backlogs, room capacities, and exam clashes.
Managing exam seating manually for multiple branches and semesters is complex and error-prone. Conflicts such as overlapping exams and exceeding room capacity need to be avoided while optimizing seating arrangements.
// Example: Fitness calculation for timetable population
def calculate_fitness(individual):
penalty = 0
for exam in individual.exams:
# Penalize overlapping exams for students
if has_conflict(exam, individual):
penalty += 10
# Penalize room capacity overflow
if exam.students_count > exam.room.capacity:
penalty += 5
fitness = 1 / (1 + penalty)
return fitness