Special time contrains for activities

Started by freetree, December 04, 2018, 11:55:26 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

freetree

Hello,

first of all: This software looks really interesting to me. As scouts, we are not able to buy one of these big timetable generators for our group leader workshop week but also want to use our time for other things than moving activities on a whiteboard.

But I have to questions:

1. I saw that it is possible to add a constraint that one activity is always after a second one. At our workshop, we have normal classes and a corresponding exam. Is it possible to add just one constraint, so that every for example math exam is after all math classes? But not in general so that every math exam is after every math class. But in connection to a class.

2. We also have new teachers who before they give a lesson want to hear how another teacher does it. So the constraint should look like this: There are to activities: A and B, with each, have 4 split lessons. If you now count the lessons of A and B over the time of the timetable the counter of B should always be lower or equal than the counter of A. That would cause that the new teacher in class B can teach things he already heard in class A.
I can't find a contains that satisfy this needs. So my question is if it is possible to implement this idea.
I understand that this is very special and could consume some time. So I also would try it on my own. But after a quick look at the source, I was not able to find the structure of the constraints.
Could someone help me finding the right code lines to modify?

Thanks,
Paul

Liviu Lalescu

Hello,

1. Why can't you add more constraints two activities ordered, for each pair (math class, single math exam)? It is no big work.

2. Indeed, I think you cannot achieve this with the official FET. A customization might be possible. To make it simpler, so that we don't need to add it also in the interface, we may add a special activity tag "1_A" and "1_B", then "2_A" and "2_B" for other activities, and so on. At each step when adding an activity ending in "B" we count the difference between A and B for that number and eliminate a B activity from the previous ones if necessary.

I think the needed changes are in generate.cpp only. But it might be difficult for you. We can add the necessary code say after line 4782, after two activities ordered code.