Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - satellite2

#1
Get Help / Re: About Time Constraints
December 21, 2018, 06:01:13 PM
Quote from: Liviu Lalescu on December 21, 2018, 02:21:42 PM
OK, I'll try to add these things into satellite2 custom version, but it will take some time, as I have some problems.

Maybe you can try the gea version and see if that feature is useful to you, and I'll try to add it also to the satellite2 version.

Thank you very much Liviu, I still got a few days for the whole data to be complete, still planning and doing some tests.
#2
Get Help / Re: About Time Constraints
December 21, 2018, 09:16:19 AM

Quote from: Liviu Lalescu on December 20, 2018, 10:32:01 AM

1) It is in the TODO, item #82. I added your name and suggestion to that item.

You might find useful this custom version: https://lalescu.ro/liviu/fet/download/custom/gea/


Thanks for the link Liviu. I examined the readme file but I guess I need to try it to see if it is useful for me. If there is a way to add this selection option to the "Campus" version, that would be great.

Quote from: Liviu Lalescu on December 20, 2018, 10:32:01 AM

2) It is a nice suggestion. I added it in the TODO. I am not sure - it might confuse some users with this name (constraint teacher(s)/students (set) max activities daily).

I could try a custom version for you, only in the engine part (no interface, hard coding the constraint that say all teachers or teachers whose names end in "MAXA2" or something like this have max 2 activities per day). Let me know if you are interested.

That would be very useful but it may confuse the teachers when they see a term like that near their names. If it is the best solution for now, I can give it a try. Maybe I can generate the timetable and lock it and delete the terms near their names.

I still need the "Campus" version in this link: https://lalescu.ro/liviu/fet/download/custom/satellite2/
I can give it a try if you can add to this version. Thank you very much for your support.
#3
Get Help / Re: About Time Constraints
December 21, 2018, 09:02:07 AM
Quote from: Volker Dirr on December 19, 2018, 06:14:55 PM
about 1:
sadly not implemented yet. if i remember correct it is already on the TODO for some time now. it is not difficult to implement in the algorithm (generate.cpp), because that can stay the same. It must be implemented in the part where the data is prepared (generate_pro.cpp) and the interface. Sadly that isn't easy and in fact if we add such a rule it will be logical to implement that similar to most of the other constraints. So a lot of work.
Adding all the teachers is luckily not too difficult. Just move the mouse over the combo box, turn the mouse wheel and press enter 2 times. Turn the wheel, press enter, ... In normal case you only need to do it "one" time, since teachers are normally always the same. So just always work with that fet file.

about 2:
Not implemented yet.

Thanks for the detailed answer Volker.
#4
Get Help / About Time Constraints
December 19, 2018, 01:45:25 PM
Hello again.

1- There are very useful time constraints for me concerning teachers (or students) such as "max days per week for a teacher (or for all teachers)". I want to use this constraint for the majority of teachers but not all of them. We have some teachers that have to teach 5 days a week because their course load is impossible for less days. I wonder whether there is a way to adapt this constraint like "max days per week for the selected teachers" or "max days per week except these teachers" instead of entering all of the teachers one by one. Is this difficult to implement? (Because there are lots of teachers in the university)

2- The other constraint is "max hours per day for a teacher (or all teachers)". Is there a way to add another constraint like "max activities per day for a teacher (or all teachers)" ? The hours of the activities change from 1 to 4 but teachers see them as an activity and let's say some of them don't want more than two activities a day etc. Thanks in advance.
#5
Get Help / Re: Question about printing layout
November 29, 2018, 07:09:47 PM
Quote from: Volker Dirr on November 29, 2018, 06:11:28 PM
All tables always shrink automaticly.

I coded the printing feature by using HTML. Sadly Qt doesn't support the "width" nor the "minimum-width" feature. So I can't enlarge it easy in the interface. We must sadly wait until Qt support that feature.

There are currently 2 workarounds possible:
Workaround 1:
Export as html file. Open the css filewith an editor. search for this line:
th.xAxis {
/* width: 8em; */
}


Modifiy it into this: (maybe with a greater number)
th.xAxis {
width: 8em;
}


Now you can print it with a webbroser (Firefox, Chrome, ...)


Workaround 2:
Rename your hour names. Maybe call it "___Monday___" instead of "Monday". So it will be larger. You can't rename it to "    Monday    " since that will automaticly shrink.


Don't forget that the workarounds have got disadvanatges: The tables might be much too large and might not fit on a single page anymore.

Thank you very much Volker, I will try your suggestions.
#6
Get Help / Question about printing layout
November 29, 2018, 08:08:14 AM
Hello, I have a question about the printing feature. When I try to print a student group's timetable with days_horizontal feature, first day column (Monday) shrinks too much although there is enough space at the right side of the layout. Other day columns seem normal. Is there a way to solve this issue?
#7
General Stuff / Re: Student Sets Not Overlapping
November 28, 2018, 07:55:34 PM
Quote from: Liviu Lalescu on November 28, 2018, 03:19:09 PM
I think you can add a dummy common students set in both 1st and 2nd class (same name, and FET will warn you).

That's a great idea, thanks.
#8
General Stuff / Student Sets Not Overlapping
November 28, 2018, 01:58:59 PM
Hello again,

We have 4 grades in a department and we want the activities of 1st class and 2nd class are not overlapping (also 2nd-3rd and 3rd-4th). There is a time constraint called "A set of activities are not overlapping" which is very useful for me and I can solve this problem by selecting the relevant activities and applying this constraint. Is there a way to adapt this constraint for the student sets? I mean is there a way to apply something like "1st grade students should not overlap with 2nd grade students" as a shortcut?
#9
Get Help / About Room Constraint
November 25, 2018, 06:05:30 AM
I have the following student sets:
Grade 1(as year)
--1A (as group)
--1B
--1C
--1D

The activities are added with respect to their groups. However, when I assign "a student set has a set of preferred rooms" for the Grade 1 as a whole, FET does not apply it for the groups. However, when I assign this constraint to each group individually, it works. What's the problem here?
#10
Quote from: Liviu Lalescu on November 24, 2018, 01:57:36 PM
Quote from: satellite2 on November 24, 2018, 01:51:31 PM
So it is about trying a few times. My current strategy is to set the time or space constraint to that specific activity after unlocking it with use of additional not available times or preferred room constraint. I guess that is the only way right now to check if the timetable generation is possible after each trial.

I am not sure I understand correctly, but maybe the answer is "yes". It is better to use the constraint activity preferred starting time, with 100% weight.

Oh yes, that makes more sense to set starting time and day instead of not available times.
#11
Quote from: Liviu Lalescu on November 24, 2018, 01:03:28 PM
Quote from: satellite2 on November 24, 2018, 11:54:07 AM
I think the same FET algorithm can be used for this. Let's say we have 250 activities and we generated a timetable and locked them all. When we unlock a single activity, the same FET algorithm will work just for one activity and the other 249 locked activities will be treated as "not available times and spaces". Of course this part can be complicated but is this difficult to implement?

You can lock all the activities of the current timetable and then unlock an activity from the timetable view dialogs and generate again. The unlocked activity is free to float now (but I guess it has little space to float).

So it is about trying a few times. My current strategy is to set the time or space constraint to that specific activity after unlocking it with use of additional not available times or preferred room constraint. I guess that is the only way right now to check if the timetable generation is possible after each trial.
#12
Quote from: Volker Dirr on November 24, 2018, 12:54:51 PM
yes, it will.

but i think that won't help much.

because:
1. it might happen that there are 6 alternatives, but if you run it 20 times it might show you only 4 variants. it is random. it's like throwing a dice. if you throw it 20 times you might see only 4 numbers even there are 6 number on the dice.

2. that variant will need much time (not in generating. it will use much time in checking the alternatives manually. especialy because they might be duplicated.) it will be even more critical if you do that for a lot of activities.

it is much faster if you do that with TiTiTo, since you can see every alternative exactly 1 time.

Dice example clarified everything, thanks.
#13
Quote from: Volker Dirr on November 24, 2018, 12:17:31 PM
yes and no.

i will explain with the "problem" at my school.

the nature science subjects (chemistry, physics and biology) have got each a special room.
sadly i need more room space for that 3 subjects.

so there are 2 other rooms that i can use if the "correct" room is already used.

now how do i use the room constraints?

i can't use subject chemistry preferred room "chemistry lab" with 100%. That is impossible.
i must use subject chemistry preferred rooms is "chemistry lab" or "alternative room 1" with 100%.
since my timetable is very difficult i generate it only with this constraint. (without adding the following constraint at the beginning, since that is too difficult).

as soon as i got the final table i unlock all rooms and activate a second constraint:
subject chemistry preferred room "chemistry lab" with 99.999%.

(i also do it similar for physics and biology)

now i generate again. Generating just need one second now.
the result is that most chemistry activities are in the chemistry lab. sadly it still might happen that the chemistry lab is unused while the other room is used for chemistry at the same time. this is a "problem" of the algorithm and can't be fixed with the current algorithm. if that should be fixed it will be needed to write a second algorithm that try to fix those bugs after the whole table is generated.
so you need to move the room yourself at the moment in those situations. I use TiTiTo for moving the room, since it is more comfortable.

I got the point. What about using multiple generation feature? Let's say I locked every activity and unlocked the activity that I want to change. When I generated 20 multiple timetables, will the program show me 20 or maybe less alternative results in the HTML outputs?
#14
Quote from: Liviu Lalescu on November 23, 2018, 08:05:26 PM
You got me here  :-[  I don't have experience in adding manual scheduling into FET, also I prefer to dedicate myself to algorithms.

Maybe Volker can answer (he wrote a proprietary tool named TiTiTo, which I think does this. You can read about it here on the forum).

I think the same FET algorithm can be used for this. Let's say we have 250 activities and we generated a timetable and locked them all. When we unlock a single activity, the same FET algorithm will work just for one activity and the other 249 locked activities will be treated as "not available times and spaces". Of course this part can be complicated but is this difficult to implement?
#15
Quote from: Volker Dirr on November 23, 2018, 08:55:47 PM
you can do it with FET sadly only a bit complicated.
TiTiTo isn't perfect in your feature request, since it main idea is doing supervision planning, not manually timetabling.
But it is more comfortable than FET in manually timetabling.

For alternative rooms it is the best to use
TiTiTo -> Activities -> Plan Activities 2
Don't forget that it is able to order the table by different items. Just click on the header name.
Click on the room name and you will see alternative rooms only.

For shifting times you can use
TiTiTo -> Activities -> Schedule Teachers (or one of the other "Schedule X" menus)

Thank you very much, I will try them.