Main Menu

Groups of teachers

Started by Liviu Lalescu, September 02, 2025, 11:23:27 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Liviu Lalescu

We got many suggestions to create groups of teachers. It would be indeed useful.

I am exploring this possibility. It would be complicated.

I am not sure about how this could be implemented: <Teacher> and <TeachersGroup>? And a constraint will have <Teachers> instead of <Teacher>?

I need ideas and encouragement.

Željko Vrabec

What would group of teachers represent? Could you give some example?

Liviu Lalescu

The groups of teachers will be used when adding constraints for more teachers. For instance, if you have 80 teachers and 50 must have max 1 gap per day, create a group of these 50 teachers and constrain only it, not individually.

Željko Vrabec

Great idea! However, watching *.fet file structure I can assume your doubts. As I can see you use object name as some kind of ID (all names of basic objects must be unique). Maybe that could be solution for groups of teachers too. For instance in the fet part below there is a constraint for all groups of students of the 8. grade. How many groups (divisions) are there in 8. grade is defined somewhere up in the same file. Isn't in this case "8." something like a group of groups? Maybe you could apply the same for groups of teachers by forcing users to give every group of teachers unique name.
<ConstraintStudentsSetNotAvailableTimes>
      <Weight_Percentage>100</Weight_Percentage>
      <Students>8.</Students>
      <Number_of_Not_Available_Times>31</Number_of_Not_Available_Times>
      <Not_Available_Time>
        <Day>PON</Day>
        <Hour>1 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PON</Day>
        <Hour>2 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PON</Day>
        <Hour>3 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PON</Day>
        <Hour>4 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PON</Day>
        <Hour>5 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PON</Day>
        <Hour>6 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>UTO</Day>
        <Hour>7|0</Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>UTO</Day>
        <Hour>1 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>UTO</Day>
        <Hour>2 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>UTO</Day>
        <Hour>3 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>UTO</Day>
        <Hour>4 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>UTO</Day>
        <Hour>5 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>UTO</Day>
        <Hour>6 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>SRI</Day>
        <Hour>1 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>SRI</Day>
        <Hour>2 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>SRI</Day>
        <Hour>3 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>SRI</Day>
        <Hour>4 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>SRI</Day>
        <Hour>5 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>SRI</Day>
        <Hour>6 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>ČET</Day>
        <Hour>1 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>ČET</Day>
        <Hour>2 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>ČET</Day>
        <Hour>3 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>ČET</Day>
        <Hour>4 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>ČET</Day>
        <Hour>5 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>ČET</Day>
        <Hour>6 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PET</Day>
        <Hour>1 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PET</Day>
        <Hour>2 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PET</Day>
        <Hour>3 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PET</Day>
        <Hour>4 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PET</Day>
        <Hour>5 </Hour>
      </Not_Available_Time>
      <Not_Available_Time>
        <Day>PET</Day>
        <Hour>6 </Hour>
      </Not_Available_Time>
      <Active>true</Active>
      <Comments></Comments>
    </ConstraintStudentsSetNotAvailableTimes>

Liviu Lalescu

Yes, exactly! But it is a very complicated change, and I am only thinking of it for now.