Skip to content

Releases: thomasWeise/moptipy

fixed another stupid typo

28 Sep 00:11
Compare
Choose a tag to compare

fixed another stupid typo

fixed a stupid typo

27 Sep 22:17
Compare
Choose a tag to compare

fixed a stupid typo

Refactoring of FFA-based Algorithms and More FFA-based Hybrids

27 Sep 10:05
Compare
Choose a tag to compare

Refactoring of FFA-based Algorithms and More FFA-based Hybrids

hopefully fixed dependency issue in log file generation

21 Sep 09:44
Compare
Choose a tag to compare

hopefully fixed dependency issue in log file generation

Removed Parallel Experiment Execution via Fork and Using pycommons 0.8.45

21 Sep 06:33
Compare
Choose a tag to compare

Python 3.12 uses multi-threading.
The parallel experiment execution via forking cannot be made to work properly, as it may lead to deadlocks and other issues in Python 3.12 due to the multi-threading.
We can also not use the spawn or forkserver contexts to create new processes, because they require that every shared data must be pickled.
Unfortunately, lambdas, which we basically use everywhere to create instance and algorithm objects in the experiment execution, cannot be pickled.
There is just no way to make this work.
Thus, I removed it entirely.
If we want parallel experiments, we just have to execute the experiment program multiple times in parallel.
This seems to be the safest method.

We also stepped to pycommons 0.8.45, which offers improved static testing and also uses the newest pylint version.
By applying this also to the tests folder, lots of additional issues were found and removed.

Hopefully Fixed Issue with Experiment Execution

20 Sep 20:49
Compare
Choose a tag to compare

We wanted to use "spawn" as multiprocessing context, because "fork" is deprecated.
However, "spawn" cannot be used as it cannot pickle lambdas and almost all of our experiments use lambdas to generate algorithms and instances.
Without changing almost all code for experiment generation, right now, "spawn" is not usable.
In the long-term future, we will have to change the experiment generation facility entirely, probably to launch the python interpreter with the same command line arguments as the original process but with using only 1 CPU core or something.
This will have several other implications that need to be dealt with.
But it cannot be done now.

Now Using pycommons 0.8.44

20 Sep 00:55
Compare
Choose a tag to compare

Now Using pycommons 0.8.44

Now Supporting Only Python 3.12 and Using pycommons 0.8.43

19 Sep 11:18
Compare
Choose a tag to compare

Now Supporting Only Python 3.12 and Using pycommons 0.8.43

fixed bug that leads to division by zero if total_fes == 2 in _check_max_time_millis

30 Jul 04:53
Compare
Choose a tag to compare

fixed bug that leads to division by zero if total_fes == 2 in _check_max_time_millis

using new version of pycommons and dependency stepping

29 Jul 21:23
Compare
Choose a tag to compare

using new version of pycommons and dependency stepping