Author Topic: How much time is correct to wait to build a timetable?  (Read 218 times)

0 Members and 1 Guest are viewing this topic.

federico59

  • Level 1
  • *
  • Posts: 3
    • View Profile
How much time is correct to wait to build a timetable?
« on: July 21, 2017, 03:19:28 AM »
I have a schhol with 33 classroom and 2 buildings.
I can obtain a timetable only deleting some constraints. I have some ConstraintMinDaysBetweenActivities and ConstraintActivitiesSameStartingTime. Buit I have to set the Weight_Percentage to 0 in many ot theese constraints.
I tried to restore the Weight to 95 each time for a different group of constraints (each group with the same topic) but after two group the program runs for a long time without build a timetable and I had to stop it.
So is it reasonable wait for a long time. Is it possible that the program generate a complete timetable in more than 3 hours?



Volker Dirr

  • Forum Administrator
  • Level 5
  • *****
  • Posts: 1906
    • View Profile
Re: How much time is correct to wait to build a timetable?
« Reply #1 on: July 21, 2017, 03:26:19 AM »
yes, even days.
i highly recommend to increase weight up to 100%, since you can find impossible constraints by that. you should fix those bugs. that will save a lot of generating time.

federico59

  • Level 1
  • *
  • Posts: 3
    • View Profile
Re: How much time is correct to wait to build a timetable?
« Reply #2 on: July 21, 2017, 05:58:02 AM »
if I set the weight to 100 also just for some constraints, I did not receive any message but the elaboration seems to stop with one activity without trying to go back and forward again. So I decided to have a weight of 95 and in that case the program go forward and seems to try to find a solution. It is normal?

Volker Dirr

  • Forum Administrator
  • Level 5
  • *****
  • Posts: 1906
    • View Profile
Re: How much time is correct to wait to build a timetable?
« Reply #3 on: July 21, 2017, 06:22:24 AM »
[...] but the elaboration seems to stop with one activity without trying to go back and forward again.

That is an indicator for a bug/impossible in your dataset. you should fix it.

[...] seems to try to find a solution. It is normal?
yes, but if you set 95%weight it mean that a lot of time is wasted to try something impossible. You will be much faster if you solve the bug you wrote above.
« Last Edit: July 21, 2017, 06:32:38 AM by Volker Dirr »

federico59

  • Level 1
  • *
  • Posts: 3
    • View Profile
Re: How much time is correct to wait to build a timetable?
« Reply #4 on: July 21, 2017, 09:54:54 AM »
I understood it. I have a new questions.  If the program continues  moving back and forward the number of activity can I be confident that it will produce a timetable even in days?

Volker Dirr

  • Forum Administrator
  • Level 5
  • *****
  • Posts: 1906
    • View Profile
Re: How much time is correct to wait to build a timetable?
« Reply #5 on: July 21, 2017, 10:31:05 AM »
yes.
it's difficult to say how many. it might even take thousand of years, but i guess you don't have so much time :-)
i generated my difficult timetable several times. sometimes it solve in just a few minutes, but sometimes i abort after a week.

there are several hints how to improve speed if you know your dataset well. for example same starting time constraint can help if you know that there are activities with same starting times. also constraint max occupy from a selection can improve pretty much. (for example with my "easy" timetable the same staring time constraint speed up around 7 times and the max occupy speed up 2 times.)

Liviu Lalescu

  • Forum Administrator
  • Level 5
  • *****
  • Posts: 5190
  • FET author and forum moderator
    • View Profile
    • Homepage
Re: How much time is correct to wait to build a timetable?
« Reply #6 on: July 21, 2017, 12:23:00 PM »
I understood it. I have a new questions.  If the program continues  moving back and forward the number of activity can I be confident that it will produce a timetable even in days?

It takes experience. I advise you to have a progressive approach. Obtain a timetable, then make constraints stronger, then generate again, and so on. Maybe stop after 1 hour at the beginning, and then leave it more hours. It depends very much of your kind of data.