FET and rooms insufficient?

Started by Benahmed Abdelkrim, May 13, 2016, 09:18:42 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Benahmed Abdelkrim

 
هل بإمكان البرنامج التنبأ باستحالة انتاج الجدول في حالة ما إذا كان عدد الحجرات غير كافي؟
الجدول المرفق يبين أن البرنامج يستمر في جدولة المهام رغم أن جدول الزمن مستحيل.
FET can it prevent the impossibility of finding a solution in case the number of rooms is insufisant?
The attached table shows that the program continues in the Task Scheduler Although the time schedule is impossible!
B.A/krim

Volker Dirr

There are sadly a few situation that are impossible. Easy to understand for a human, but difficult to detect that with an algorithm, so fet tries to solve, even it is impossible.
if you use only 100% weight constraints, then it is easy to see those bugs for a human, since the number of placed activities suddenly go down more and more and never increase anymore (just flipping +/-1 placed activities).

Benahmed Abdelkrim

#2
 
أعتقد أنه من الممكن أن نجنب البرنامج من البداية جدولة النشاطات في حالة ما إذا كانت الحجرات غير كافية. و ذالك بواسطة:
   1/  اضافة في قائمة البيانات معطى خاص بالحجرات المتخصصة.
   2/ جعل البرنامج يحسب فائض الزمن للحجرات العادية المخصصة للقسم المتنقل و مقارنته بعدد الساعات التي يحتاجها لجدولة نشاطاته في تلك الحجرات. فإذا كان فائض  الزمن أكبر من عدد الساعات للنشاطات بإن البرنامج يبدأ في الإنجاز و إلا يقدّم رسالة مفادها استحالة الجدولة.
I think it is possible to spare the program from the start scheduling activities in the case of whether the rooms are not enough:
  1/ Add to the list of special data given specialized rooms (laboratory, workshop, gym...).
  2/ Make the program calculates a surplus of time allocated to this class and compared to the number of hours needed to schedule activities in those regular classroom.
  If the surplus time is greater than the number of hours of activities that the program starts in the achievement and otherwise it provides a message that only the impossibility of scheduling.
please read the theory of surplus time in the section algerian arabic. unfortunately it is written in Arabic.
B.A/krim

Liviu Lalescu

I was able to run until 557 / 575 placed activities. I do not understand which room is overloaded.

Anyway, there are many potential problematic cases, and I cannot care about them all. Your suggested request does not work if a home room or preferred room constraint is changed from 100% to a bit lower value. The user should be able to detect such impossible cases manually.

Volker Dirr

a part of your suggestion is correct. it is already several years in the TODO. (see TODO 15)
but on the other hand a part of your suggestion is incorrect; like Liviu already said. Not only if you use less then 100%; also if you use courses - you won't be able to count that numbers with an algorithm at the moment since fet is't able the see minimum and maximum number of course hours.

Benahmed Abdelkrim

#5
  je pense que cela n'a rien avoir avec le poids choisi. d'ailleurs j'ai changé le poids pour toutes les contrainte et je l'ai ramené à 95%.
si on observe de prés le tableau, on constate que la classe 1am7, à seulement 2 chambres préféré, ce qui est insuffisant pour satisfaire toutes ces activités a savoir: 26 activités d'une duré totale 28 heures. et si on soustrait les heures des activités qui se déroulent dans des salles spécialisés:
            TP dans L1_W1 ou L2_W2; 2h
            sport dans gym1 ou gym2; 2h
            activités id=543 et id=563 dans les salles spécialisé: L1_W1 et L2_W2 1h+1h=2h
en faite: W1_L1 signifie deux salles W1 et L1 car ce genre d'activités se déroulent dans deux salles différentes en même temps.
je joint le même fichier FET mes traduit pour une meilleur compréhension.

I think it has nothing to do with the chosen weight. Besides I changed the weights of all the constraint and I reduced to 95%.
  if observed from near the table, we see that the 1am7 class, only 2 rooms favorite, which is insufficient to meet all these activities are: 26 activities with a total lasted 28 hours. and if we subtract the hours of activities taking place in special rooms:
             TP in L1_W1 ou L2_W2; 2h
            sport in gym1 ou gym2; 2h
            activities id=543 et id=563 in special rooms: L1_W1 et L2_W2 ; 1h+1h= 2h
     28h-(2h+2h+2h)=22h
     22h>12h(number of hours allowed by the two rooms)
      therefore an impossible table!
a real say W1_L1 means two W1 and L1 rooms because such activities take place in two different rooms simultaneously.
I attached the same file FET but translated to a better comphension.
B.A/krim

Volker Dirr

and it is even much more difficult if you have got courses. fet can't coun't course numbers since that data isn't stored in fet. so fet can't find those bugs.

Volker Dirr

you also misunderstood the weight Liviu and me are talking about. we talk about weights of room/space contraints. not about weight of min n day constraints.

Benahmed Abdelkrim

Quote from: Volker Dirr on May 14, 2016, 11:35:42 AM
you also misunderstood the weight Liviu and me are talking about. we talk about weights of room/space contraints. not about weight of min n day constraints.
sorry about that...
B.A/krim

Volker Dirr

of course your " 22h>12h(number of hours allowed by the two rooms)" is correct.
like i said: i already wrote that into TODO 15. with such an information a timetablemaker (human) can see those bugs much more easy; but fet will still not be able to detect it itself.

Liviu Lalescu

Quote from: Benahmed Abdelkrim on May 14, 2016, 11:22:06 AM
I think it has nothing to do with the chosen weight. Besides I changed the weights of all the constraint and I reduced to 95%.
  if observed from near the table, we see that the 1am7 class, only 2 rooms favorite, which is insufficient to meet all these activities are: 26 activities with a total lasted 28 hours. and if we subtract the hours of activities taking place in special rooms:
             TP in L1_W1 ou L2_W2; 2h
            sport in gym1 ou gym2; 2h
            activities id=543 et id=563 in special rooms: L1_W1 et L2_W2 ; 1h+1h= 2h
     28h-(2h+2h+2h)=22h
     22h>12h(number of hours allowed by the two rooms)
      therefore an impossible table!
a real say W1_L1 means two W1 and L1 rooms because such activities take place in two different rooms simultaneously.
I attached the same file FET but translated to a better comphension.

I have checked your situation and you are right. But there are so many possible wrong situations that I cannot add checks for each of them. The user must check for himself some impossible cases.