{'fraction_non_alphanumeric': 0.01466544454628781, 'fraction_numerical': 0.0, 'mean_word_length': 5.658536585365853, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A constraint logic programming approach to examination scheduling

The scheduling of exams in institutions of higher education is a large, highly constrained and complex problem. The recent advent of modularity in many universities has resulted in an increase of the complexity of the problem, making the manual achievement of an acceptable solution a tedious and sometimes almost impossible problem. Examination scheduling is the process of assigning exams to time slots in a predetermined period of time and, simultaneously, to assign rooms and invigilators to each exam, satisfying a set of different constraints. This includes avoiding double bookings for rooms, teachers and students, room capacity and type constraints, exam sequence and spreading constraints, preassignments and availability of resources. In this paper we analyse the exam scheduling problem and propose a constraint logic programming approach to solve it. Details concerning problem representation, hard and soft constraints definition and labelling strategies as well as some preliminary results are also discussed.