Timetable with Individual Students

Started by alex, July 05, 2014, 09:07:33 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

alex

Hello! I've just installed FET Timetable Generator. My problem:

The Institution is a Music High School. This type of school includes both group lessons as well as individual students lessons. For some periods per week each group is split into its individual students in order to attend the musical instruments classes (for individual students). So, the general timetable is generated by another (commercial) program. What I have is the timetable for the periods of the week that each group is spit, and therefore its individual students are available. For example the 1st class (A) of the High School is divided into 3 groups. Each group is split for four periods per week. The constrain that I have is the these above exact periods that the students can attend the musical instrument course. From the above mentioned 4 hours, 1 hour is for piano, 1 hour for a traditional instrument and 2 hours for an elective instrument. Each student attents his/her own lesson, for example, the one student may attend the piano course, the other the elective instrument, etc, at the same period but in different rooms (each teacher has his own room). The students don't need to attend the same type of course. My questions: 1) Should I assign the individual students to subgroups or something else (for example a room as I saw in some other posts of the forum)? 2) How can I assign ONCE the exact period that the entire group is available to the entire group, without having to assign it separately for each one of the students? 3) Is there any "automatic" option for creating sets of students who attend the same course with the same instructor (as a set and not as individual students) due to the lack of satisfactory number of instructors? For example, if there are only 2 guitar instructors at school and we need 5, the individual students should form sets of (let's say) 5 students each in order to attend the guitar course.

Thanks!

Liviu Lalescu

Your question was received, but it is difficult to read and understand. I hope to find more time in the future to read thoroughly, or maybe others can answer better.

Anyway, I hope to give some correct answers:

1) and 3) seem related. I think you need course planning, which unfortunately is not possible in FET. Maybe use FET rooms as real students and assign activities to FET rooms, or read about the custom FET mapr version.

2) I am not sure I understand. Maybe you can use constraints break, activity(ies) preferred times or activities occupy max time slots from selection.

alex

I have recently installed the latest Windows version of FET. This version seems to have the constraints options (time-students): 1) a student set to be available for a specific number of hours per week and 2) a student set to be available for a specific number of hour per day.
The data I've already entered in FET have the following structure:
The Institution is a High School with individual groups. For example, for the 1st class of the High School we have the groups A1, A2, A3, A4, etc. These groups are entered as "Years" (I think that FET recognizes sets of students and the label "Year" is referring to ANY superset of a set which is labelled as "Group"). So, the structure of my school has the first level of superset of students the individual groups A1, A2, A3... are "Years". The other level of subset of A1, A2, A3 are the individual students of these groups. The names of the students were entered as "Groups" in the FET structure. The individual students (assigned as "Groups") attend some private-like courses (one student per hour with one teacher), when their group (let's say A1, which is assigned as "Year"). I want to optimize the distribution of the above mentioned hours (the hours per week, when each "Year" (A1, A2, etc) is available for these private-like courses. What I did is that I entered the following type of constraints (the example refers to the "Year" A1): The Student set A1 is available for 4 hour per week and A1 set is available for 1 hour per day. The timetable which was generated, DOES NOT constrain the individual students of A1 (and not only A1 of course) to be available simultaneously (as a unique set of students) for 4 hours per week and 1 hour per day, and eventually, generates a timetable with all students of A1 placed ANYWHERE, and not only in 4 hours per week and 1 hour per day. Since I want to find the optimal distribution of the "Years" (A1, A2, B1, etc) in the timetable, I wonder if there is any solution to this problem, or if I have to find manually an good distribution by testing the results of each one of them. Thanks a lot!

Volker Dirr

#3
I am not 100% sure if i understood your mail correct.
Do you already know which teacher teach must which group and/or student?
I that case you can at least use "year" and "group" structure like you want. "subgroup" must be similar to a "name of a student".
But that is maybe a bit work to add. maybe you can do it faster. difficult to answer without more information. It will be maybe much easier if i can see an old (correct) timetable.

Liviu Lalescu

alex, your message is very unclear to me. But as I see, maybe you could use constraint activities occupy max time slots from selection, for each day (max 1 slot occupied) and the whole week (max 4 slots occupied).


alex

I'm going to give you some more details. Later, I could send you a correct timetable, but I need some time in order to delete/hide personal information. I created a sample timetable for two virtual private-like music lessons (for two music teachers; Smith and Brown). If this is not helpful, I should send you a correct and integrated timetable.
About my school... It is a high school (i.e. the courses literature, maths, physics, chemistry, etc. are taught regularly (as lessons in groups). So, for example the A1 group (around 25 students) attends the above mentioned lessons as group courses. For 4 hours per week (and at most 1 per day) the A1 group is "split" into its individual students. The individual students for these 4 hours per week attend their private-like music lessons (for example piano, guitar, etc). These private lessons are taught with one teacher per student. In my school there are two "programmers" for the timetable. One for the group lessons (maths, physics, etc), and one for the private-like lessons (that's me...). I have to generate the timetable for the music teachers. The music teachers (for these private-like lessons) have some students from the A1 group, some from the A2, etc. Of course I know who is the teacher of each student (for all music lessons). What I want to do is to optimize the private-like music lessons timetable (in order to have a reasonable scheduling for the music teachers) and give this "solution" (the Groups ("Years" for FET) distribution, not the Students ("Groups" for FET)) one to the other "programmer". For example, a sample solution (which I found "manually") is the one that I included in the attachment file (A1, B1, C2, L1 etc are the Groups ("Years" for FET) of my school. This is not the REAL distribution for the music lessons, but just a sample one, and might not coincide with the other doc file with the sample timetable for the music teachers. (The sample timetable is derived from the "teachers-days-horizontal" doc file). The above mentioned distribution ("Years" available for music lessons) only affects the other programmer's work by making these groups NOT AVAILABLE for the OTHER COURSES (maths, physics, etc) at the hours specified in the attachment. Let's say that it's a restriction for him, equivalent to having one teacher with the exact timetable you see in the doc file. So,we have to optimize two timetables. The first one is for the music teachers and the other one all the other teachers timetable. I want FET to generate the optimal timetable for the music teachers by 1) finding the optimal groups ("Years" for FET) timetable for the music lessons (let's say the one I sent you, 2) finding the optimal distribution of the music private-like lessons. The second task, is feasible; FET is capable of optimizing the private-like lessons for a SPECIFIC group timetable (i.e. if the Groups ("Years") timetable is GIVEN.
By assigning Groups as "Years" and Students as "Groups" in FET (and of course by constraining the sets "Years" for being available for specific hours per week) I can optimize the gaps, hours continuously, etc for the music teachers. BUT, for doing this, the availability of the "Years" in the timetable (which affects and affected by) the entire scheduling of my school. The only way I succeeded in creating this "Years" availability chart, was the manual one; something similar to "trial and error". Some "Years" distributions generate good timetables for the music teachers, some others really bad. I tried to constrain the availability in the most generic form. So, what I entered in FET was not this specific and exact "Years" availability chart, but the constrains that each "Year" is available for N (for example 4,2,1) hours per week and 1 hour daily (the latest windows version of FET has the TIME-STUDENTS constrains with these options). Although I expected these constrains to restrict the availability of the students ("Groups") according to the rule I entered for their corresponding Group ("Year" availability) for example 4 hours per week, 1 hour daily), FET made ALL the students from ALL "Years" available for ALL hours, thereby generating a wrong timetable wherein you can find ANY student from ANY group having their music lesson at ANY hour of the week. I expected FET to restrict these lessons for 4 hours per week and 1 per day for the specified "Year" (let's say A1), so that for these 4 hours per week ONLY the students of this Group ("Year" for FET) should be available. This could result in a distribution for the "Years" availability for the music lessons (a "timetable" like the one I sent you as an doc file). Then, I could enter the "rules" (constrains) for the music teachers and generate another (better) "Years" availability distribution. After some efforts, and when I had a good solution, I could give it to the other programmer. So, is there any way to optimize both distributions? The music teachers timetable along with the "Years" availability for the music lessons?

alex

Liviu, due to the large number of activities (around 350) I need to much time to constrain the activities in "time slots". And actually, I want to find the optimal "time slots" for my timetable. If you read what I just posted, you'll see that its more detailed. The major problem is that the type of school I work at, is quite a "unique" one.... Anyway, thanks a lot!

P.S. I've already found "manually" a good solution. But I wonder, if there is a more "algorithmic" one....