I have a class design for a school timetable and skeletal implementation in Java. I need an implementation of the timetable API using genetic algorithm (or other efficient algorithm) that will generate it based on the inputs provided (subjects, work loads, classes, teachers, etc).