FET Forum

FET Support (English) => Get Help => Topic started by: jimmyjim on April 04, 2014, 11:54:20 AM

Title: Scheduling students
Post by: jimmyjim on April 04, 2014, 11:54:20 AM
Hello, and thanks for a great scheduler.

I been twisted my head around trying to figure out how to schedule the students to activity.
Scheduling activities/teachers and rooms works beautifully but as soon as I try to add students or student groups there is no way to solve the schedule.
I'm trying to add the students randomly to the activities they should attend but thats obiously not good enough as that creates conflicts

I have the following scenario as an example:

I have 3 activities that each can have 20 students (total 60 students)
I have 50 students that need to be scheduled to one of the three activities using FET.

I have tried to create students as rooms as mentioned in other forum posts without success. Can someone please explain to me how this can be done?

I have attached the FET file trying to use room as students.

Thanks

Title: Re: Scheduling students
Post by: Liviu Lalescu on April 04, 2014, 01:29:16 PM
Your approach is wrong.

To assign 50 students to 3 activities you need to consider a real student = a FET activity and a real activity = a FET room. Assign (FET) activities to (FET) rooms. Another solution: assign 50 (FET) activities to 3 (FET) time slots. This second approach permits you, using time constraint max simultaneous activities in selected time slots, to specify the maximum number of (real) students for a (real) activity.

We might need to talk more about that; I don't know all the details.
Title: Re: Scheduling students
Post by: jimmyjim on April 04, 2014, 06:40:07 PM
Thanks for your reply.

So your first solution where a real student = a FET activity and a real activity = a FET room.. will you be able to control max number of FET activities (students) in each room (real activity)?

Also the second approach.. what if one of the (real activitys) is scheduled to the same time slots as one of the other two with a different teacher, will that work?
Title: Re: Scheduling students
Post by: Liviu Lalescu on April 04, 2014, 07:05:35 PM
Quote from: jimmyjim on April 04, 2014, 06:40:07 PM
So your first solution where a real student = a FET activity and a real activity = a FET room.. will you be able to control max number of FET activities (students) in each room (real activity)?

A single room can hold a single activity at a certain time slot. Considering this, I think you can use constraint activities occupy max time slots from selection (select all slots) to obtain what you need.

Quote
Also the second approach.. what if one of the (real activitys) is scheduled to the same time slots as one of the other two with a different teacher, will that work?

I am not sure I understand the question. An activity with no students and teacher T1 and another activity with no students and teacher T2 can be scheduled in the same time slot. If you want to control how many activities can be scheduled simultaneously, you have constraint activities max simultaneous in selected time slots.
Title: Re: Scheduling students
Post by: jimmyjim on April 04, 2014, 07:33:54 PM
I'm banging my head against the wall here  :o

I tried the first approach but all rooms are all over the place.. added <Max_Number_of_Different_Rooms>3</Max_Number_of_Different_Rooms> to all activitys (students)

See attached FET file

appreciate your help
Title: Re: Scheduling students
Post by: Liviu Lalescu on April 04, 2014, 08:12:07 PM
I attach a file to assign 50 real students to 3 real activities. The two time constraints are redundant/useless (max simultaneous is redundant because there are only 3 rooms, and the occupy max because there are only 20 slots per week). But this may be only a part of what you need - we may need to discuss this further.
Title: Re: Scheduling students
Post by: jimmyjim on April 04, 2014, 08:54:56 PM
I'm not sure you understand my question correctly and will try to explain the best I can.

Here is an example of what I need scheduled:

Example 1:
I have 3 sections in the course named MATH that all have a duration of 5 hours a week one for each day with preferred starting time period 1. The 3 course have different teachers.
Each of the courses takes a maximum of 20 students. (room capacity)

I have a total of 50 students that is going to be added to the the course split up within the 3 sections.. so each of the sections will have for example 15x15x20 students.

Example 2:
Same as above but with the same teacher for all sections.

Obviously I have a lot more students and sections but if I got this example to work I think FET would work for our needs.
Title: Re: Scheduling students
Post by: Liviu Lalescu on April 05, 2014, 12:55:58 PM
I am sorry, I tried, but it seems that your scheduling problem (is it called course planning?) is too difficult to express in FET, even using tricks.

I tried to follow http://lalescu.ro/liviu/fet/forum/index.php?topic=1155.msg6555#msg6555 , but the problem on that page has at most one teacher for an activity, while you allow 20 students per activity. A single room can host a single activity at a certain slot, so I cannot define activities with a single student and assign them to the same room in the same time slot.

It may be possible to devise a custom FET version, but it looks very complicated.

As an idea, why don't you try to do by hand the course planning (assigning students to activities)? It is very probable that you will obtain a possible data file. Then FET will do the rest.
Title: Re: Scheduling students
Post by: Liviu Lalescu on April 05, 2014, 02:38:24 PM
I found this internet page: https://code.google.com/p/scheduling-project/ . From the description it looks like they are doing firstly the course planning, which should be easier than the timetabling part, then they use a timetabling program. I think they are using FET as the timetabling program.
Title: Re: Scheduling students
Post by: jimmyjim on April 05, 2014, 03:56:55 PM
Hmm.. I'm handling all creating of sections outside of FET and I'm also able to create a very good teacher/course schedule using FET.. FET handles this perfectly ... but I want to use FET to schedule the students to the sections (activities) that I already created including teachers.

One thing I do not get.. you are saying that I can use rooms for real activities and activities for real students.. thats fine but it seems to me that there is no way to schedule more than one activity to each room for each timeslot... is this correct?

So I can create a schedule with activities and teachers first from what I have today using FET and then Im thinking in the second operation schedule the students to the activitys using FET... And I belive this would work if I was able to use room as activity and add multible activitys to one room in the same period/day

The basic constrain for room that has to be there controls that.. or?

These are the basic compulsory constraints (referring to rooms allocation) for any timetable
Weight (percentage)=100%
The basic space constraints try to avoid:
- rooms assigned to more than one activity simultaneously
- activities with more students than the capacity of the room
Title: Re: Scheduling students
Post by: jimmyjim on April 05, 2014, 04:02:23 PM
Is there a way to remove the basic compulsory constraints?
Title: Re: Scheduling students
Post by: Liviu Lalescu on April 05, 2014, 04:23:18 PM
The basic compulsory time and space constraints are at the basis of the algorithm, and it would be (maybe very) difficult/complicated to remove them for a custom version. I am not sure how difficult, though, as I never thought too much about it.
Title: Re: Scheduling students
Post by: Liviu Lalescu on April 20, 2014, 08:30:27 PM
We made a custom version - see http://lalescu.ro/liviu/fet/forum/index.php?topic=1633.0