I have a project that consists of creating a class schedule in clips. The requirements are:
1. Read facts from input file. Facts are defined as following:
(item (id 4) (name ComputerScience) (instructor Instr) (duration 2) (groups 3))
(item (id 2) (name Chemistry) (instructor Instr2) (duration 2) (groups 1 2 3 4 5))
these facts mark the following: Instructor Instr, teaches X/Y has a 2 hour class with the following groups: 1,2,3,4,5
There will also be a "rooms" fact, describing the available rooms:
(rooms Room1 Room2 Room3)
These are the hard constrains.
Soft constrains (are optional, but if you can program them, it will be better). They say preferred time for a teacher. They are represented as follows:
(instructor (name TeacherName) (intervals [ Mon 8 12] [ Mon 16 20] [ Wed 8 16]))
This means that "TheacherName" would like to have classes Monday 8-12, 16-20 or Wednesday 8-16.
After a class schedule has been generated, you must alter it N times(where N < 100) so that it respects the constrains better. The best schedule is the one that has the best fitness function.
Also, I would like all of this to have comments so I can understand your code better. If everything is OK, you will receive your funding and a 10 star rating.