8
Problem Modeling (2) Presented by: Amira Gamaleldin Marlien Edward Mounir Stino Thursday, 20 July 2006

Problem Modeling (2) Presented by: Amira Gamaleldin Marlien Edward Mounir Stino Thursday, 20 July 2006

Embed Size (px)

Citation preview

Page 1: Problem Modeling (2) Presented by: Amira Gamaleldin Marlien Edward Mounir Stino Thursday, 20 July 2006

Problem Modeling (2)

Presented by: Amira Gamaleldin Marlien Edward

Mounir Stino

Thursday, 20 July 2006

Page 2: Problem Modeling (2) Presented by: Amira Gamaleldin Marlien Edward Mounir Stino Thursday, 20 July 2006

Agenda

Entity Relations

Input Data Model

Relations Model

Constraints Model

Page 3: Problem Modeling (2) Presented by: Amira Gamaleldin Marlien Edward Mounir Stino Thursday, 20 July 2006

Entity Relations

S tudents tudentID

Room

room _num berfloor

bu ild ingcapac ity

invig ila tor_countequ ipm ent

S tudent_Group

group_nam egroup_count

Tim e_s lo t

s tart_ tim e_datedura tion

Course

courseIDdifficu lty_ra tings tudent_countcourse_hours

duringreg is teredass igned

Page 4: Problem Modeling (2) Presented by: Amira Gamaleldin Marlien Edward Mounir Stino Thursday, 20 July 2006

Input Data Model Time

time_unit(Day, Hour, Minute, Duration)Day: integer (1-60)Hour: integer (8-20)Minute: integer (0,15,30,45)Duration: integer (0,30,60,90,120,150,180,210,240,270,300)

Example: time_unit(12,9,0,120) 12th day of exams, 9:00, 120 minutes duration

Coursecourse(Course_id, Duration, Difficulty_rating, Student_count)

Course_id: string (first 4 letters giving the faculty name, then the course number)Duration: integer (0,30,60,90,120,150,180,210,240,270,300)

Diffuclty_rating: integer (1-3) “1Student_count: integer (0 - 1000)

Example: course(CSEN401, 120, 2, 250) course CSEN401 (course number 401, offered by CSEN

faculty), 120minute exam, difficulty rating 2 and 250 students are

registered in the course

Page 5: Problem Modeling (2) Presented by: Amira Gamaleldin Marlien Edward Mounir Stino Thursday, 20 July 2006

Input Data Model (2) Room

room(Room_number,Building,Floor,Capacity,Invigilator_count,[Equipment])Room_number: integer (1 -20)Building: string Floor: integer (0-5)Capacity: integer (0-250)Invigilator_count: integer (1-20)[Equipment]: [string] (beamer, speakers, computer, microphone)

Example: room( 01,B2,3,12,1,[beamer,speakers] ) Room number 01, in building B2, 3rd floor, capacity of 12

students and 1 invigilator required, with a beamer and speakers.

Student Group

student_group(Group_name, Group_count, Courses)Group_name: stringGroup_count: integer (1 - 1000)Courses: [string] of courseIDs

Example: student_group(CSEN_6, 60, [CSEN601, CSEN602, CSEN603]) group CSEN_6 has 60 students taking CSEN601, CSEN602,

CSEN603

Page 6: Problem Modeling (2) Presented by: Amira Gamaleldin Marlien Edward Mounir Stino Thursday, 20 July 2006

Relations Model

The aim is to produce the required output of assigning exams (per student group) to rooms at specific time slots:

Output: [Exam] “list of exams”

where each Exam (Course, [Rooms], Time)

The assignment is done as follows:

assign([Rooms], Course, [Assigned_rooms], Time)Rooms: list of all rooms

Course: the course to be scheduled

Assigned_rooms: list of assigned rooms

Time: tuple of time-unit assignment (output)

Page 7: Problem Modeling (2) Presented by: Amira Gamaleldin Marlien Edward Mounir Stino Thursday, 20 July 2006

Hard Constraints Model

No student can have more than one exam at the same time, and there should be a gap between exams on the same day.

single_exam_check(Student_group, [Exam])

- where Exam (course, [Rooms], Time). check:

all_different’(Exam_Time)

check: For each pair of exam times:

ExamTime1 + duration + Interval <= ExamTime2

- where Interval is a predefined gap value of 30 minutes.

Between exam sessions held in each room, there should be a gap between each exam and the following one, to give time for exam preparation procedures.

room_time_gap(Room, [ExamsInRoom], Interval)

check: For each pair of exam times:

ExamTime1 + duration + Interval <= ExamTime2

Page 8: Problem Modeling (2) Presented by: Amira Gamaleldin Marlien Edward Mounir Stino Thursday, 20 July 2006

Soft Constraints Model Difficulty rating should be considered when scheduling exams on the same day.

single_day_check(Student_group, [ReleventExams]) check:

all_different’’([Day], [Difficulty_rating])

where:sum of difficulty rating determines the easiness of the exam combination;the higher the sum the easier the combination (e.g. 1+1 harder combination than 3+1 and harder than 3+3 combination)

Exams should be distributed amongst the minimum number of rooms.minimum_rooms(Exam) minimum length of [Rooms]

Closeness of rooms:close_to (Room1, Room2, Factor) Factor gives information about how far two rooms are from each other.

Student’s examination place should not change frequently.

Achieved during labeling phase by assigning courses of the same group in the same room, otherwise it will assign them to another room.

Developing heuristics to be used also during the labeling phase:

Using already existing traditions in the university.