FET Forum

FET Development => Report Test Results => Topic started by: Alex Chernous on April 01, 2021, 11:04:59 PM

Title: Testing FET-6.0.0
Post by: 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.

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)
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 01, 2021, 11:52:27 PM
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 сек после начала).
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 02, 2021, 08:40:37 AM
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!
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 02, 2021, 02:44:50 PM
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!
Title: Re: Testing FET-6.0.0
Post by: Volker Dirr on April 02, 2021, 04:11:59 PM
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.
Title: Re: Testing FET-6.0.0
Post by: 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.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 02, 2021, 04:46:31 PM
You are welcome, Alex!
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 02, 2021, 05:28:44 PM
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.
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 02, 2021, 06:50:30 PM
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.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 02, 2021, 06:56:25 PM
I think it is correct. Only when the last timetable is generated (the 4th) all the threads are stopped.
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 02, 2021, 08:48:19 PM
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?
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 02, 2021, 08:54:33 PM
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.
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 02, 2021, 09:14:52 PM
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.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 02, 2021, 09:24:20 PM
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).
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 02, 2021, 10:11:35 PM
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.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 02, 2021, 10:21:30 PM
1. OK.
2. I did my best to show the user the chosen mode. There is no possibility of making these a radio button, only check boxes. I think it is better to show the current choice (as a check box), but I can change my mind if you and other users say so.
3. The Russian translator abandoned work many years ago (he is not in touch).
4. OK. But for the moment I prefer to keep the countries names, because this is where the suggestions came from and I have no other reports from other countries (yes, I have for mornings-afternoons from Vietnam).
5. Thank you!

1'. Thank you!
Title: Re: Testing FET-6.0.0
Post by: YOUSSEF HOUIET on April 02, 2021, 11:13:33 PM
Hi
when i use fet-6 to generate multiple timetable with nbr threads= nbr timetables
4 for exemple; the program exit without any msg
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 02, 2021, 11:16:00 PM
1. When started FET with blank (no data) I can't change mode (new file create necessary).
2. But, when create new file, the modes change easy.
3. No default choice selected in radiogroup "select mode for new file". It will be faster, when simply press "enter".

I understand, that modes no changed during one *.fet file. Who knows? In this year I changed timetable from two shifts to one.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 03, 2021, 06:55:26 AM
Quote from: YOUSSEF HOUIET on April 02, 2021, 11:13:33 PM
Hi
when i use fet-6 to generate multiple timetable with nbr threads= nbr timetables
4 for exemple; the program exit without any msg

Hello, and thank you for your feed-back! However, I believe you have an old snapshot version, which indeed could crash. Could you please get the latest snapshot from https://lalescu.ro/liviu/fet/download/test/ and test again and let me know as soon as possible?

Maybe you could send me your file, please?

In your report, please write the complete name of the snapshot you are testing (it contains the date and the time).
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 03, 2021, 07:01:05 AM
Quote from: Alex Chernous on April 02, 2021, 11:16:00 PM
1. When started FET with blank (no data) I can't change mode (new file create necessary).
2. But, when create new file, the modes change easy.
3. No default choice selected in radiogroup "select mode for new file". It will be faster, when simply press "enter".

I understand, that modes no changed during one *.fet file. Who knows? In this year I changed timetable from two shifts to one.

1. It is intended.
2. OK.
3. I would prefer this way, so that the user needs to select an option. It is a bit slower, but it is not important, because this option is not used many times. The only thing is that I need to add some help information here.
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 03, 2021, 09:46:39 PM
I try translate FET to Russian and found some bug.

Snapshot: fet-6.0.0-snapshot-3-apr-2021-21_47
File: src/interface/addconstraintstudentsminhourspermorningform_template.ui
Bug: Component "allowLabel" with text="Label" is not being processed by the QtLinquist.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 03, 2021, 09:52:11 PM
Thank you!

It is intentional, because that text is not used, but the label's text is overwritten in the C++ code. So I marked it as untranslatable.

I added you as the Russian translator: https://lalescu.ro/liviu/fet/forum/index.php?topic=699.msg26650#msg26650  (don't worry, you can abandon).
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 03, 2021, 10:26:17 PM
Quote from: Liviu Lalescu on April 03, 2021, 09:52:11 PM
Thank you!

Please! I am glad that I can help something.

Quote from: Liviu Lalescu on April 03, 2021, 09:52:11 PM
It is intentional, because that text is not used, but the label's text is overwritten in the C++ code. So I marked it as untranslatable.

I guessed that there was a replacement text, but I think that text will be some default at start or empty, because before I did not meet this on FET forms.

Quote from: Liviu Lalescu on April 03, 2021, 09:52:11 PM
I added you as the Russian translator: https://lalescu.ro/liviu/fet/forum/index.php?topic=699.msg26650#msg26650  (don't worry, you can abandon).

I hope I can do this.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 03, 2021, 10:27:53 PM
Quote from: Alex Chernous on April 03, 2021, 10:26:17 PM
I guessed that there was a replacement text, but I think that text will be some default at start or empty, because before I did not meet this on FET forms.

It is in time constraints of students in Mornings-afternoons mode.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 03, 2021, 10:47:28 PM
About Russian translation: the most important fields are in FetMainForm_template and FetMainForm (and not too many or long).
Title: Re: Testing FET-6.0.0
Post by: YOUSSEF HOUIET on April 04, 2021, 01:46:56 AM
I use the fet-6.0.0-snapshot-3-apr-2021-21_47 mode MA

the program  exit without any msg
when i tried to generate multiple timetable with max thread (4 in my PC)


the test file in attachements
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 04, 2021, 10:35:13 AM
Quote from: YOUSSEF HOUIET on April 04, 2021, 01:46:56 AM
I use the fet-6.0.0-snapshot-3-apr-2021-21_47 mode MA

the program  exit without any msg
when i tried to generate multiple timetable with max thread (4 in my PC)


the test file in attachements

Thank you! But I cannot replicate it on my computer.

What computer do you have? What operating system? Windows 7, 8, 10? Do you use the precompiled Windows I have put or do you compile? What Qt version?
Title: Re: Testing FET-6.0.0
Post by: YOUSSEF HOUIET on April 04, 2021, 11:24:07 AM
Hi
i have a HP elitebook 820 G2 with processor intel core i7 5600U (4 cores) 8G RAM
the OS: windows 10 64bits
i dont konw the version of Qt.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 04, 2021, 11:26:26 AM
Thanks for the info!

So, you use my precompiled FET for Windows? (To see the Qt version, you go to Help in FET -> About Qt).

Please tell me also, do you use "check for updates on startup"?
Title: Re: Testing FET-6.0.0
Post by: YOUSSEF HOUIET on April 04, 2021, 11:35:06 AM
yes i use "check for updates on startup"
the Qt version is 5.15.2
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 04, 2021, 11:57:55 AM
Could you please from Settings -> restore to default settings and try again? (exit FET after you restore to default settings).

If you want, we could initiate a TeamViewer on your computer so I can see that. I cannot replicate (Windows 10 64-bit, Ryzen 2700X). I also cannot replicate on my usual openSUSE Tumbleweed GNU/Linux.
Title: Re: Testing FET-6.0.0
Post by: YOUSSEF HOUIET on April 04, 2021, 12:44:51 PM
I have recorded the screen
link of record (change quality to 720)
https://drive.google.com/file/d/1z791YqzRyg17nKPicYw6Eg4h7VgPO-TH/view?usp=sharing (https://drive.google.com/file/d/1z791YqzRyg17nKPicYw6Eg4h7VgPO-TH/view?usp=sharing)
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 04, 2021, 12:58:37 PM
Thank you!

It surpasses me  :(  I don't know.

Your processor has 2 cores and 4 threads, I searched on the internet. But it should not crash.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 04, 2021, 02:48:58 PM
I confirm: I have the same behavior on a friend's computer. Laptop i7 with 6 cores/12 threads. Sometimes it just quits, but depends on file and luck.

But why doesn't Windows say: "This program has crashed." etc...?
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 04, 2021, 03:04:37 PM
I tested on another laptop of another friend. Crash on the first simulation, no crash on the ulterior simulations.

I will need to check the code.
Title: Re: Testing FET-6.0.0
Post by: YOUSSEF HOUIET on April 04, 2021, 03:30:58 PM
Yes, the same for me;
crash just in 1st simulation
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 04, 2021, 03:34:14 PM
Great! Thank you for your help! I know where to look for the error.

Please test this: restore settings to default, then see if it crashes like first time, then if it doesn't crash second, third time. Only if you have time and possibility.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 07, 2021, 10:13:13 AM
Mr. YOUSSEF HOUIET,

I just put a new snapshot: https://lalescu.ro/liviu/fet/download/test/  . Could you please test it? I hope it won't crash anymore on generate multiple. Test by leaving it finish, by interrupting it, with timetables complete or with no timetable complete.

Please let me know as soon as possible.

Edit: It still crashes on Windows 10 when generating multiple  :(
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 07, 2021, 02:54:49 PM
I made some more changes, I just put a new snapshot: https://lalescu.ro/liviu/fet/download/test/  . I tested on two computers with Windows 10.

Please let me know as soon as possible if the bug is gone or not.

I hope it won't crash anymore on generate multiple. Test by leaving it finish, by interrupting it, with timetables complete or with no timetable complete.
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 07, 2021, 09:02:25 PM
Version: 6.0.0-snapshot-7-apr-2021-16_23 (April 2021).
Multiply threads generation (20 min., 4 timetables in 4 threads).

1. When one or two (less then 4) timetable is complete, the CPU load remains high for all CPU's (screenshot);
2. When stop manually generation, only one highest timetable writing to the disk.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 07, 2021, 09:14:30 PM
1. You forgot the screenshot. But no problem, this is the desired behavior, all processors will work to see which finds a timetable first.
2. Do you mean if no timetable is generated and you interrupt? Also desired behavior, only max placed activities timetables are written in highest-stage form.
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 07, 2021, 09:53:33 PM
1. I agree, but not understand how :-\ I need to learn the theory of threads control.
2. When I press Stop button. I understand. I expected highest timetable for each threads.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 08, 2021, 07:15:05 AM
So is it OK?
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 08, 2021, 06:12:58 PM
Quote from: Liviu Lalescu on April 08, 2021, 07:15:05 AM
So is it OK?
Yes, it is OK.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 08, 2021, 06:48:27 PM
Thank you!  :)
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 11, 2021, 11:54:01 AM
I added a new snapshot. See the Snapshots section for the details ( https://lalescu.ro/liviu/fet/forum/index.php?topic=4796.msg26703#msg26703 )

It should not crash anymore now when generating multiple. I redesigned the basics of that part.

Mr. YOUSSEF HOUIET, please let me know if the crashes are gone.

Other users, also please let me know.
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 23, 2021, 10:34:20 PM
Test 6.0.2-snapshot-23-apr-2021-11_50
It was generated 4 timetable in multithread with time limit 20 min for each. When time exceeds, FET write only one highest timetable, but show, that 4 timetables generated (see attachment). The same situation, when generate 2 complete timetables and time exceeds for other - show 4 generated, but 2 write on disk. Is it expected behavior? I expect number of real generated timetable.
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 23, 2021, 10:43:35 PM
Thank you for the feed-back, Alex!

It is expected behavior: if no timetable complete, FET will write in highest stage mode all the timetables which reached maximum placed activities. In your case, only one (the one with 530 placed activities). If some timetables complete, FET will only write them. In your case, only two.
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 23, 2021, 10:50:25 PM
I understand, but why show four generated when really write to disk one (in first case) or two (in second) timetables?

Maybe four is a generating, not timetables?
Title: Re: Testing FET-6.0.0
Post by: Liviu Lalescu on April 23, 2021, 11:02:28 PM
I am sorry, I cannot do better. "Generated" means indeed "Finished timetables", but I intended the user to understand "Finished or unfinished timetables".

Also, there is another minor "bug": take a very easy file, like Romania/Pedagogic Mures/2006-2007.fet. Generate on many threads 10 timetables, sometimes I get "Generated: 11" or even 13, because it finishes so fast. I cannot fix this. But on the disk there are saved only 10.
Title: Re: Testing FET-6.0.0
Post by: Alex Chernous on April 23, 2021, 11:13:00 PM
Thank you, it helps me to translate this form.