Testing FET-6.0.0

Started by Alex Chernous, April 01, 2021, 11:04:59 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Alex Chernous

Sharing FET-6.0.0 test result.
In my case I generate 4 timetables in 4 threads. Time limit 20 min, 519 activities total.

Multiply mode FET-6:
1. The timetable numer not a right sequence (2,4,6,8 but not a 1,2,3,4).
2. Only 2 of 4 threads are working (Thread 2 and 4 of 4). This was seen by the processor load.
3. Tab #3 display 0 out of 0 activities plased. Maybe, because only 2 and 4 threads are working? But tab #1 displayed the result.
4. Two empty (with *_random_seed_before.txt) directories (named 1 and 10 ???) in directory *-multi was created.

In single mod both of FET-5 and FET-6 take a same results:
Random seeds are:
    s10=1 s11=2 s12=3
    s20=4 s21=5 s22=6
FET-5
    Activities 519/519
    Time 10:31
    Max activities 519 (10:31)
FET-6
    Activities 519/519
    Time 10:45
    Max activities 519 (10:45)

AMD Ryzen 3 3200U (4 CPU 2 Threads per core)

Alex Chernous

#1
4 timetables in 4 threads. Time limit 25 min, 532 activities total.
1-3. the same result as previous.
4. Empty (with *_random_seed_before.txt) directories (named 1,2,5,6,8 ???) in directory *-multi was created.
5. Only 1 timetable fully generated (#4)
Расписание №4 => (Thread 4) Timetable breaks 12 soft constraints, has 11.4 soft conflicts total, and was generated in 0 hours, 2 minutes and 16 seconds.
Расписание №2 => (Thread 2) Время, отведённое для составления расписания, истекло. Максимум занятий размещено: 528 (через 21 мин 55 сек после начала).
Расписание №1 => (Thread 1) Время, отведённое для составления расписания, истекло. Максимум занятий размещено: 528 (через 9 мин 57 сек после начала).
Расписание №8 => (Thread 4) Время, отведённое для составления расписания, истекло. Максимум занятий размещено: 528 (через 13 мин 39 сек после начала).

Liviu Lalescu

Quote from: Alex Chernous on April 01, 2021, 11:04:59 PM
Sharing FET-6.0.0 test result.
In my case I generate 4 timetables in 4 threads. Time limit 20 min, 519 activities total.

Multiply mode FET-6:
1. The timetable numer not a right sequence (2,4,6,8 but not a 1,2,3,4).
2. Only 2 of 4 threads are working (Thread 2 and 4 of 4). This was seen by the processor load.
3. Tab #3 display 0 out of 0 activities plased. Maybe, because only 2 and 4 threads are working? But tab #1 displayed the result.
4. Two empty (with *_random_seed_before.txt) directories (named 1 and 10 ???) in directory *-multi was created.

Hmm, this is very weird. On my computer I have no such problems. Only (4.) is maybe normal, because these timetables are not finished.

About (1.): The timetables are not in order, but they should be something like: 2, 1, 4, 3 (or a thread might finish two timetables before another thread, so we have: 2, 1, 4, 6, 3.)

About (2.): I have 8 cores and 16 threads. If I generate on 8 threads, I get 50% processor load.

About (3.): Are you sure?

Maybe you could post some screenshots or, if they are too large, send them by email.

Quote
In single mod both of FET-5 and FET-6 take a same results:
Random seeds are:
    s10=1 s11=2 s12=3
    s20=4 s21=5 s22=6
FET-5
    Activities 519/519
    Time 10:31
    Max activities 519 (10:31)
FET-6
    Activities 519/519
    Time 10:45
    Max activities 519 (10:45)

AMD Ryzen 3 3200U (4 CPU 2 Threads per core)

This is good!

Alex Chernous

#3
Quote from: Liviu Lalescu on April 02, 2021, 08:40:37 AM
About (3.): Are you sure?
Not sure. Yesterday I started FET-5 and FET-6 at the same time with same source files, and this (3) was observed with both files on FET-6. Perhaps this was the reason for this behavior. Now, starting FET-6 only, I can't reproduce it.

For threads: I have 4 CPU 2 Threads per core, but nTreadsSpinBox show max 4 thread, even if I try generate more then 4 timetables, and 100% load CPU. If I start less then 4 threads, CPU loads proportionally (75% by 3 thread, 50% by 2 etc.)

But, threads really faster! Great thanks for you job!

Volker Dirr

#4
wired. you second screen shoot looks correct (4 threads), but you first one is incorrect, because an AMD Ryzen 3200g has 4cores with only 1 thread per core. It is a 4/4 cpu, not a 4/8 cpu.

Volker Dirr

a sorry. AMD 3200U. (Not G)
That has only 2 cores with 2 threads per core. So it is a 2/4 CPU.
The screenshot is correct, just confusing, since "CPU" is only "virtual" CPU, not "real" CPU.

Liviu Lalescu


Alex Chernous

Quote from: Volker Dirr on April 02, 2021, 04:17:04 PM
a sorry. AMD 3200U. (Not G)
That has only 2 cores with 2 threads per core. So it is a 2/4 CPU.
The screenshot is correct, just confusing, since "CPU" is only "virtual" CPU, not "real" CPU.
It`s right. Thank you, Volker.

Alex Chernous

Maybe It's not important, but one thread display correct time result in timeteblesTabWigets. Only last result of time generatiion in currentResultTextEdit same as the value in timeteblesTabWigets.

Liviu Lalescu

I think it is correct. Only when the last timetable is generated (the 4th) all the threads are stopped.

Alex Chernous

fet-6.0.0-snapshot-2-apr-2021-18_17

I can add same constraints (constraints "students set home room", "min days per week for a teacher", "activities start at the same time", "teachers not available time" - it was tested).

When start generation, FET correctly warns about same "students set home room" constraint
When add "teacher's not available time", I can't add same constraints.
In other case ("min days per week for a teacher" and "activities start at the same time") it not warning.

Is this the right behavior? I have not previously paid attention to this and adding constraints one after another without repeating them, but now my target is test. Why constraints checked in different time (events): when input, generate or not checked? Is this algoritm property?

Liviu Lalescu

Thank you very much for your kind testing!

It is normal results. This is how I implemented at that time. I did not care from the beginning of this and by time this is how they ended up. The architecture is complicated now to change.

So, it is a feature, not a bug  :)

Please test also changing the mode of the files, opening, modifying, saving and opening files.

Alex Chernous

Quote from: Liviu Lalescu on April 02, 2021, 08:54:33 PM
Please test also changing the mode of the files, opening, modifying, saving and opening files.
Already done, when studied the concepts of modes. There are no errors when opening, modifying, saving. I couldn't generate timetable only in Terms mode, because not set right terms.
You are working in the Terms mode and the number of days per week (5) is not equal to the number of terms (5) x the number of days per term (5) - please correct this before generating.

Liviu Lalescu

There are example terms mode files in the examples/ directory. These terms mode files have 25 days per week and 5 terms and 5 days per term.

Thank you for the testing! But in the fet-6.0.0-snapshot-2-apr-2021-18_17 snapshot I made some changes in the interface, I think you saw them. So maybe you could test a bit again these facilities (say 10 minutes).

Alex Chernous

Interface:
1. Dividing the menu into parts is very convenient.
2. Check boxes when selecting a mode are slightly confusing, it seems you can select several modes.
3. Some new elements wihtout translate cause discomfort. Who is working on the Russian translation?
4. Useful links in help for new modes. I think, this modes are used not only in Algeria/Morocco/Finland. In my university we have 2 terms (green/yellow on faculty of physics or even/odd on faculty of mathematics). Maybe in South America or Australia are used mornings/afternoons mode. The names of modes are understandable without countries.
5. I imported some previous data, added some constriants and generated timetable. No interface errors were noticed.

Files format:
1. New file opens in old version (5.49.1) with warnings, but correctly and even generate timetable.