Commit Graph

14 Commits

Author SHA1 Message Date
Johannes Merl
1ae23c20ee make fitness evaluation pure, speeding the program up by ~10x 2024-02-12 10:36:46 +01:00
Johannes Merl
bcddedabee update to RVar 2024-02-11 21:25:15 +01:00
David Pätzel
77d29208d2 Add possibility of unassigned topics 2023-04-26 15:47:05 +02:00
David Pätzel
6e139370a5 Fix solution validity check for seminar problem
Invalid solutions where one topic was assigned multiple times were
evaluated as valid; this issue arose whenever there were less students
than topics.
2021-04-27 15:00:44 +02:00
David Pätzel
3976e09506 Enable (almost) all GHC warning, fix warnings 2020-05-02 17:42:04 +02:00
David Pätzel
9866603dbe Add pre-commit hook that enforces ormolu formatting 2019-10-22 16:42:16 +02:00
David Pätzel
59b5e4de8b Rewrite and clean up Seminar module 2019-10-22 06:49:46 +02:00
David Pätzel
2a9459f226 Use noDupsList generator for more tests 2019-10-19 15:57:55 +02:00
David Pätzel
36999532c2 Fix Seminar.switch bug if (i' == j') 2019-10-19 15:56:44 +02:00
David Pätzel
3c1a1a9be6 Rewrite 'Seminar.valid' check with tests 2019-10-19 15:50:02 +02:00
David Pätzel
c8af014976 Setup QuickCheck testing 2019-10-18 23:20:19 +02:00
David Pätzel
73c62b0a8f Add better default priorities and fitness
By not having too large default priorities, the GA seems to be more stable.
Instead of inverting the relation induced by fitness using `(1 /)`, we use
`negate` to get more numerical stability (or in this case, less instability
introduced by floating point precision problems).
2019-10-18 13:47:03 +02:00
David Pätzel
531cb74aac Rename Topic to T, fix T Eq instance, fix fitness calculation 2019-10-18 09:10:11 +02:00
David Pätzel
5f4e212414 Add Seminar module draft and SS19 example 2019-10-17 19:50:39 +02:00