/AI_SchoolScheduleProjectAUEB

A class scheduling program for a high school, which takes as input the teachers, lessons and some restrictions and finds one of the best valid solutions ( schedules that meet all restrictions and are fair for all the teachers ). Implemented in Java, the program uses 3 different algorithms: A*, Beam Search and a modified version of A* which combines A* with Hill Climbing and Beam Search, generating the best results. This program was written as a project in terms of the subject Artificial Intelligence in AUEB.

Primary LanguageJavaApache License 2.0Apache-2.0

AI_SchoolScheduleProjectAUEB

A class scheduling program for a high school, which takes as input the teachers, lessons and some restrictions and finds one of the best valid solutions ( schedules that meet all restrictions and are fair for all the teachers ). Implemented in Java, the program uses 3 different algorithms: A*, Beam Search and a modified version of A* which combines A* with Hill Climbing and Beam Search, generating the best results. This program was written as a project in terms of the subject Artificial Intelligence in AUEB.