Scheduling of individual music lessons

Started by Bob Hairgrove, February 05, 2015, 05:40:28 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Bob Hairgrove

I have just started experimenting with FET with a goal to automate the generation of timetables for music teachers at our school where I teach piano. Since I also do some programming (C/C++ on Linux, GUI things with Qt), I compiled the source package using the latest QtCreator on Ubuntu 14.04. I must say, the compilation and installation was extremely easy -- and no compiler warnings at all (except for the missing GL/gl.h file which needed a prerequisite library). Everything seems to work as designed, and although the GUI seems a bit counterintuitive at times, I think it just takes some time getting used to it.

Now I have a problem getting the students' constraints set up in such a way that the program doesn't complain about empty days. Most students receive either a full 45 minute lesson once a week at the same hour and day, and some receive only a half lesson. Some highly talented students receive two full 45 minute lessons per week. Lessons are given during their free hours not occupied by other subjects, or in the lesson times immediately before or after school. School days are MO-FR starting at 7:45 AM and ending at 5:30 PM.

Obviously, I have set up the timetable grid using half lesson units, activity duration is either 1 or 2. Also, both min. hours and max. hours need to correspond exactly to the lesson lengths, i.e. durations. But when I activate "Allow empty days" in the "Settings->Advanced" menu, I am not allowed to enter a "1" in the constraint; a minimum value of 2 is required.

How can I work around this?

Thanks for any help!

Liviu Lalescu

#1
Quote from: Bob Hairgrove on February 05, 2015, 05:40:28 PM
the compilation and installation was extremely easy -- and no compiler warnings at all (except for the missing GL/gl.h file which needed a prerequisite library).

I took care to fix all compiler warnings :)  And about the GL/gl.h I wrote in the README.

Quote
when I activate "Allow empty days" in the "Settings->Advanced" menu, I am not allowed to enter a "1" in the constraint; a minimum value of 2 is required.

I think you are wrong. Don't allow empty days should permit min 1 hours. But if you allow empty days, why say that a day has 0 hours or min 1 hours? It is useless/redundant. Just don't add a constraint min hours.

Bob Hairgrove

Thanks for replying so quickly. I removed the "min hours per day" constraint, and the timetable was generated OK. I think it will work as well as, or even better, than I had hoped!

Bob Hairgrove

One more quick question:

It seems that each student is given a unique ID number which is a sequence starting with 1 and incrementing by 1. Can I define my own ID through the GUI, or do I have to edit manually the XML data once it has been input? I assume that everything would function just the same with other numbers as ID as long as they are unique. Since we store the student names in a database, I would like to use that number (a five- or six-digit integer).

Thanks again!

Volker Dirr

Of course you can use the ID's from your database. But in my opinion it doesn't make sense to modify them by the gui. It is just a lot of work and will help only very less or even nothing at all. In my opinion the correct way is to import the data direcly from your database.

Liviu Lalescu

#5
Quote from: Bob Hairgrove on February 05, 2015, 10:24:37 PM
One more quick question:

It seems that each student is given a unique ID number which is a sequence starting with 1 and incrementing by 1. Can I define my own ID through the GUI, or do I have to edit manually the XML data once it has been input? I assume that everything would function just the same with other numbers as ID as long as they are unique. Since we store the student names in a database, I would like to use that number (a five- or six-digit integer).

Thanks again!

Yes, you can define any different ID for activities, but not by GUI, only by modifying the .fet XML file. Take care of activity group ID, though, how it is defined/used in the .fet file.

Note that a number in FET is 32-bit int, so <= 2^31-1 = 2147483647. You could use any string by adding activity tags instead.

barefoot

I too am looking to create a rotating music timetable for my school, im overwhelmed with FET right now, and honestly dont know where to start.
is there an example of individual instrumental tuition that someone could share please?

Liviu Lalescu

Quote from: barefoot on March 27, 2015, 09:46:05 PM
I too am looking to create a rotating music timetable for my school, im overwhelmed with FET right now, and honestly dont know where to start.
is there an example of individual instrumental tuition that someone could share please?

I hope someone else will answer as well, providing some examples. But we could devise methods for your data. Maybe you could, in a new topic, post your requirements.

barefoot

Thanks Liviu, i will start a new topic.