The data model
Explains how the data is organized.
The data model specifies basically:
The set of educational requirements named
RequirementSet, modeled by a set of tuples:tuple Requirement { string Class; // a set of pupils string discipline; // what will be taught int Duration; // course duration int repetition; // how many time the course is repeated };A set of teacher skills
TeacherDisciplineSet, modeled as a set of<teacher, discipline>pairs.A set of dedicated rooms
DedicatedRoomSet, modeled as a set of<room, discipline>pairs.A set of available rooms
Room,modeled as a set of strings.
For each educational requirement, the model specifies a course repetition parameter. The actual entities to be scheduled are instances of courses that fulfill the requirements. They are described with the following tuple:
tuple Instance {
string Class;
string discipline;
int Duration;
int repetition;
int id;
int requirementId;
};
where the id and requirement parameters
indicate the sequential number of the course specified by the requirement
of index requirementId. All these instances
are generated by means of the following OPL construct:
{Instance} InstanceSet = {
<c,d,t,r,i,z> | <c,d,t,r> in RequirementSet
, z in ord(RequirementSet,<c,d,t,r>) .. ord(RequirementSet,<c,d,t,r>)
, i in 1..r
};