We are trying FET to generate our secondary school schedule G7-12. Our schedule is fixed 7 blocks 6 per day, the students sign up for 7 classes and have the same class in a moving block. Since it is fixed I only care about the A-G block schedule and set it up this way (1 day of 7 classes).
The class selections are pretty much fixed in grades 7-8 the difference is driven by their math needs, I have split the 7 year into our two classes, A and B, and split these based on their math needs, math7 and pre-alg. The problem is as the grade level increases the schedule becomes driven by the number of choices the students have. 12th grade having only one of two possible required English classes and 6 choices. I have attached a current course listing by grade.
Q: Having split the years into the 2 groups A and B, and split these into the fixed classes that the students have to take, I plan on creating subgroups, of 1 student, for all student in the upper grades to allow the many choices they have, is this the correct way to proceed? Is there a better way?
Q: How do I enter classes that have two sections of the same class? Like two sections of Algebra 1. I want to be able to move the students between the sections to resolve conflicts automatically. What is the best way to do this?
Q: What does "Split" under the add activities dialog do?
Q: What are sub activities for?
I am currently entering the current year's schedule into FET, I know it has at lease one solution, as a test to see if we can use it for next year. Do you see any concerns with our setup? Are there any pointers you can give us? Is there a similar example that we can model?
Thanks for the help! I look forward to reading the responses and using the software.
Cheers,
Brad
Quote from: bbshank on January 30, 2013, 02:52:42 PM
We are trying FET to generate our secondary school schedule G7-12. Our schedule is fixed 7 blocks 6 per day, the students sign up for 7 classes and have the same class in a moving block. Since it is fixed I only care about the A-G block schedule and set it up this way (1 day of 7 classes).
The class selections are pretty much fixed in grades 7-8 the difference is driven by their math needs, I have split the 7 year into our two classes, A and B, and split these based on their math needs, math7 and pre-alg. The problem is as the grade level increases the schedule becomes driven by the number of choices the students have. 12th grade having only one of two possible required English classes and 6 choices. I have attached a current course listing by grade.
Q: Having split the years into the 2 groups A and B, and split these into the fixed classes that the students have to take, I plan on creating subgroups, of 1 student, for all student in the upper grades to allow the many choices they have, is this the correct way to proceed? Is there a better way?
This is the correct way.
Quote
Q: How do I enter classes that have two sections of the same class? Like two sections of Algebra 1. I want to be able to move the students between the sections to resolve conflicts automatically. What is the best way to do this?
I am not sure I understand. You have to assign a fixed (predefined) sectioning to FET.
Quote
Q: What does "Split" under the add activities dialog do?
Divides an activity into more subactivities per week.
Quote
Q: What are sub activities for?
Instead of having only activities, if for instance you have 3 hours per week of Mathematics, but separate, you add 3 subactivities. It is a convention.
Quote
I am currently entering the current year's schedule into FET, I know it has at lease one solution, as a test to see if we can use it for next year. Do you see any concerns with our setup? Are there any pointers you can give us? Is there a similar example that we can model?
Thanks for the help! I look forward to reading the responses and using the software.
Cheers,
Brad
Thank you for your responses, suggestions, and confirmation. We have successfully generated the last years schedule :-)
We are changing our timetables for next year offering additional meeting times for certain classes in the additional block. We will have a rotating block schedule 8 blocks 6 per day resulting in one rotation lasting 4 days.
For example:
day 1 - a,b,c,d,e,f
day 2 - g,h,a,b,c,d
day 3 - e,f,g,h,a,b
day 4 - c,d,e,f,g,h
With the new requirements I can no longer set it up as one day with 8 blocks
Most of the classes will meet 3 of the 4 days (in the same block), we will also have select classes meet 1 of 4, and 2 of 4 as well as providing an additional time for certain 3 of 4 classes so that they meet every day.
For example English would meet 3 of 4 in block a and once in block g on day 4 ensuring that it meet every day.
Q: Setting up the days in FET is trivial, what constraints do we set to make sure classes always meet in the same block - Calc always meets block a, thus meets on day 1, 2, and 3; Bio always meets block g, thus meets on day 2, 3, and 4; and so on?
Q: What is the easiest/best way to add the additional time as in the example of English above. English split 3 and add a separate English activity with no split same teacher and students? How would I ensure it landed on the correct day( where the other 3/4 split English activity did not meet)?
Q: referring back to a previous question...
QuoteQ: How do I enter classes that have two sections of the same class? Like two sections of Algebra 1. I want to be able to move the students between the sections to resolve conflicts automatically. What is the best way to do this?
What I was asking was, if we have two sections of Algebra 1 and 40 students taking Algebra 1, what constraints do we set to get the most balanced classes (might result in 22 in section a and 18 in section b)? Is there a way of doing this without specifically assigning individual students to specific sections?
Thanks again for your excellent contribution and your answers :-)
Cheers,
Brad
I have attached a sample timetable of what we are trying to create.
https://docs.google.com/a/cmis.ac.th/file/d/0B71_pYxcTLo-ZU9VQWdYWXVwSkE/edit
Thanks for your help and advice.
Brad
Your file does not work, it asks me to login to CMIS email. Why don't you make a forum attachment?
(But I admit your question / problem is too complicated for me to answer).
Sorry, I was trying to attach an openoffice spreadsheet from my phone and couldn't so I added a link. The file is public now. Please try again. I'll add a proper file if you still can't access it.
Thanks,
Brad
Quote from: Liviu Lalescu on March 23, 2013, 11:03:46 AM
Your file does not work, it asks me to login to CMIS email. Why don't you make a forum attachment?
(But I admit your question / problem is too complicated for me to answer).
Attached is a pdf of the ods file. It contains an example of what we are trying to do for a ms student. The main thing is to ensure that a class meets the same block throughout the rotation. For example if Math meets in block c then it always meet in block c (period 3 on day 1) for the days which block c meets, days 1,2, and 4. I hope this makes sense.
Brad
I have tried setting FET up multiple ways to combine days, hours, and constraints to force the same class into the same block. We really only need to do this for the classes that meet 3 of the 4 days in the rotation as the extra classes should be able to fall in with the standard set of constraints.
examples:
- 1 day with 24 hours a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,...,h3
each activitiy has 3 sub activities, then add the constraint min gaps between a set of activities to try to force an activity into a1,a2,a3
24 days in a week set up the same as above with constraints min days between set of activities and max days between set of activities
Neither of the above help and I fear that it is getting too complicated for what seems to be a simple thing - 4 days, 6 classes per day, 8 different blocks which rotate a,b,c,d,e,f | g,h,a,b,c,d | e,f,g,h,a,b | c,d,e,f,g,h and the requirement that each activity meet 3 times per week in the same block for example class meeting in block d - period 4 on day 1, period 6 on day 2, and period 2 on day 4.
Again this can't be done with one day and 8 hours since there are other extra classes that need to be added into the mix (can be accomplished with the additional constraints).
Can anyone please help?
Sorry, but I do not understand. If you just add 3 activities for students set D and put min days 100%, why shouldn't it work?
I have tried this with one class AP Chem - added activity, assigned students, assigned teacher, split 3, min 100% as you suggested and it puts the classes in 5th period - block e on day 1, 3rd period - block a on day 2 and 6th period block h on day 4. Can you create a small example file, I will anonamize our fet file and post.
Thanks again for your help,
Brad
Quote from: bbshank on March 28, 2013, 02:56:28 AM
I have tried this with one class AP Chem - added activity, assigned students, assigned teacher, split 3, min 100% as you suggested and it puts the classes in 5th period - block e on day 1, 3rd period - block a on day 2 and 6th period block h on day 4. Can you create a small example file, I will anonamize our fet file and post.
I'm sorry, but I do not understand what is wrong with this setting.
I made a quick sample file with 1 activity, split 3, min 100%. It does not put the activities in the same block as described above. Please have a look and suggest based on this example. I hope I am missing something.
Thanks,
Brad
Please tell me what does it mean "it does not put the activities in the same block" and please forgive me for not understanding. Aren't there other users knowing better than me?
I understand your confusion as we explain it to our new staff every year. Each class (activity) meet in a fixed block, if one of our chemistry classes meets in block A then it meets 3 times every 4 days. 1st period on Day 1, 3rd period on Day 2, 5th period on day 3 and doesn't meet on day 4. The classes are fixed in a block and rotate like modular arithmetic starting over every 8 periods. I have seen many schools that use similar schedules, the benefit being that students only need remember that a particular class meet in a specific block as it is always preceded and followed by the same classes. Students usually have the list of classes and something to cross reference it against the day (1,2,3,or 4) like the attached blocks.jpg (which shows when block d classes meet according to the day in rotation), there is also a sample student schedule in the attached pdf. Also, if it helps, if Monday is day 1, Tuesday is day 2, ..., Thursday is day 4, Friday is Day 1, ..., the following Monday is Day 2, ... and so forth this continues throughout the school year.
The question is how do I make a class repeat every 8 periods, thus ensuring that it is in the same block?
I really do appreciate your help and your desire to understand our problem.
Thanks,
Brad
I can give more examples if you need them :-)
Maybe make a FET day represent a real week, then minimum 8 gaps between activities. Or inverse, make a FET week contain n days and 1 hour per day, when n is real n_hours_per_week; then add minimum+maximum "FET days" between activities.
There are max 35 days per FET week and 60 hours per day, or you can compile with increased limits if needed.
I should also add that additional class requirements next year prevent us form simply setting up one day with 8 hours and using this to build our rotating schedule. Felt did this effortlessly for current years schedule :-). (7 rotating blocks with no extra classes)
Also, the number of extra classes prohibit them being put in as an afterthought.
Thanks again,
Brad
I have tried both as in my post on March 25th. There must be a way.... I just don't see it.
Here is a Fet file with one day 24 hours and the min hours between activities constraint, as you can see it doesn't place the same activity in the same block, example - a, a2, a3
About my other question.... If I have an activity with 40 students is there a way to split them as best possible into two activities?
example 40 kids in Algebra 1, need to split them into 2 sections, not necessarily in the same block(hour) so that they fall into each section according to their other scheduled activities.
Brad
Quote from: bbshank on March 30, 2013, 03:44:35 AM
Here is a Fet file with one day 24 hours and the min hours between activities constraint, as you can see it doesn't place the same activity in the same block, example - a, a2, a3
Sorry, indeed, you need also a (not existing) max hours between activities. Maybe try with days instead of hours.
Quote
About my other question.... If I have an activity with 40 students is there a way to split them as best possible into two activities?
example 40 kids in Algebra 1, need to split them into 2 sections, not necessarily in the same block(hour) so that they fall into each section according to their other scheduled activities.
Brad
FET cannot split students into activities.
Attached is an example using min and max days, it will not generate with the max days constraint active. Can you please have a look at it and let me know what I am doing wrong. It generates with the max constraint off but does not give the desired result.
Thanks,
Brad
Sorry, I attach a solvable file.
PS: It's max days = 8, the same as min days.
So strange, I tried with max days eq 8 and it wouldn't solve so I changed it to nine to lossen the constraint and it still wouldn't solve. Did you do any thing else to the file? I am away from the computer but this has been driving me crazy. Please let me know what other changes were made.
I will try with the real data tomorrow. Thanks for all your help :-)
Brad
I did more changes. Instead of a constraint max days for 1, 2, and 3, I made two constraints, for 1 and 2, and for 2 and 3.
Hm, maybe this does not suit your case, because I establish an order for 1, 2, and 3, so I constrain the timetable more than necessary.
The order doesn't matter, I thought about trying this but didn't think it should make a difference. Is this necessary? Also, I noticed I am using an older version, do you have a ppa for fet? Using an Ubuntu based distribution. I can compile a newer version of fet, when I looked at the change logs it didn't look like it was anything that would affect me. However if there is a ppa I would use it.
I'll update you on how this works with our real data. Please let me know about the necessity of splitting the restraint.
Thanks,
Brad
There is no ppa for FET. I advise you to compile the new version, or write to your GNU/Linux to update FET.
It is necessary to split the constraint, because otherwise the program thinks that 1, 2, and 3 should be placed all in maximum 8 days, not 16. Let me know if this is clear.