Possible ideas for a possible new FET-6 version

Started by Liviu Lalescu, March 17, 2021, 11:00:48 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Liviu Lalescu

I have some ideas for a possible new FET-6 version. They are very difficult to implement and I am not sure I can do them:

1) The mode of operation will be: official, mornings-afternoons, block-planning, and terms (unite official, MA, BP, and Finland-terms into a single official version).

2) Get rid of the limits (max days per week, max hours per day, max teachers, max total subgroups, etc.).

3) Make multiple generation start on n threads, where the user can choose n between 1 and the number of cores of the computer.

The changes will be critical. I would need users to test old and new FET on complex files starting with the same random seed. The random seed at the end should be identical and the generation times should be comparable.

What do you think?

PS: If you cannot reply to this topic (because it is an admin board), please start a new topic on other boards.

Liviu Lalescu

#1
OK, I have partial success:

(2) Is done. MAX_ACTIVITIES is now 500,000, MAX_TOTAL_SUBGROUPS remained 30,000 so that users don't abuse them,  MAX_DAYS_PER_WEEK=365 (I will make it 366, better), MAX_HOURS_PER_DAY=1440.

(1) I added official, mornings-afternoons (the very difficult work), and block-planning. I will think of terms for Finland.

(3) Not yet.

If you want to see my current work and test it, here it is: https://lalescu.ro/liviu/Backup-fet/  . For now, there is a Windows executable, but I cannot guarantee this all the time. Also, I might remove/modify this location.

If you use FET-5-official or FET-5-MA18 (MA18, not 17 or older!), please run on your file FET-5 and FET-6-snapshot starting with the same random seed, the behavior should be identical and the final random seeds should be identical. You can run the two versions (old and new) in parallel, if you have at least dual-core. If you obtain different behavior, please send me your file and random seed.

It was hard work and I am happy with the results  :)

Please let me know (if you cannot reply here because it is an admin section, reply here: https://lalescu.ro/liviu/fet/forum/index.php?topic=4795.0 ).

PS: Larger size and longer compilation time, sorry. And for some rare files the generation might be even 10% slower, but in general seems about 2% slower or less. This is unavoidable when combining more FET versions into a single one  :(

Liviu Lalescu

I added a new snapshot version, fixing a bug: the generated locked file was saved with mode "official" always. I changed the location of the snapshot (test) version: https://lalescu.ro/liviu/fet/download/test/

Liviu Lalescu

OK, (1) and (2) done  :)  (I added also Terms mode, as in Finland)

I just put a new snapshot here: https://lalescu.ro/liviu/fet/download/test/

I will now think of the feasibility of (3).

Liviu Lalescu

I just corrected some bugs and made some improvements; there is a new snapshot here: https://lalescu.ro/liviu/fet/download/test/

Liviu Lalescu

OK, I am (nearly) ready with (3)  :)  I hope you'll like it as much as I do. Especially if you have multi-core computer. Enter generate multiple dialog.

I added a new version: https://lalescu.ro/liviu/fet/download/test/

Please let me know (few reactions lately  :(   ). If you cannot write here, write in https://lalescu.ro/liviu/fet/forum/index.php?topic=4795.0 or open a new topic.

Liviu Lalescu

I am ready with (3), and I added a new version: https://lalescu.ro/liviu/fet/download/test/  . This fixes crashes in generate multiple if using the new Qt 6 and interrupting the generation when no complete timetable was generated.

I am very happy with the results and it won't take long until the official FET-6.0.0 release  :)