# # ChangeLog for framspy # # Generated by Trac 1.2.1 # 03/28/24 16:17:13 Mon, 25 Apr 2022 22:56:33 GMT Maciej Komosinski [1178] * framspy/frams.py (modified) Windows and python 3.9.5+ compatibility: endless nuances/bugs in dll ... Mon, 25 Apr 2022 22:52:58 GMT Maciej Komosinski [1177] * framspy/FramsticksLib.py (modified) FramsticksLib.dissimilarity() now has a mandatory argument to select ... Tue, 04 Jan 2022 23:29:41 GMT Maciej Komosinski [1170] * framspy/FramsticksLib.py (modified) * framspy/recording-body-coords.sim (modified) Added comments Sun, 12 Dec 2021 22:37:25 GMT Maciej Komosinski [1169] * framspy/recording-body-coords.sim (added) Added a .sim file with a script that records the center of gravity of ... Sun, 12 Dec 2021 22:35:54 GMT Maciej Komosinski [1168] * framspy/only-body.sim (modified) Also disabled neural mutations in fH Sun, 12 Dec 2021 22:34:08 GMT Maciej Komosinski [1167] * cpp/frams/genetics/f9/f9_oper.cpp (modified) * cpp/frams/genetics/fH/fH_general.h (modified) * cpp/frams/genetics/fH/fH_oper.cpp (modified) * framspy/frams.py (modified) Cosmetic Sun, 12 Dec 2021 11:18:35 GMT sz [1166] * framspy/frams.py (modified) on a mac the library file name is 'frams-objects.dylib' Sun, 05 Dec 2021 22:41:03 GMT Maciej Komosinski [1165] * framspy/only-body.sim (added) Added a helper settings file that turns off mutations in f0, f1, f4 ... Wed, 01 Dec 2021 01:20:28 GMT sz [1164] * framspy/frams.py (modified) describe the use of lib_path Mon, 29 Nov 2021 22:28:00 GMT Maciej Komosinski [1163] * framspy/FramsticksEvolution.py (modified) Improved diagnostic messages Mon, 29 Nov 2021 02:37:09 GMT Maciej Komosinski [1162] * framspy/eval-allcriteria.sim (modified) * framspy/frams-test-props.py (modified) * framspy/frams-test.py (modified) * framspy/sample-period-2.sim (modified) * framspy/sample-period-longest.sim (modified) Cosmetic Mon, 29 Nov 2021 02:33:54 GMT Maciej Komosinski [1161] * framspy/FramsticksEvolution.py (modified) * framspy/run-deap-examples.cmd (added) Multiple new functionalities in simple evolutionary optimization in ... Mon, 29 Nov 2021 02:25:01 GMT Maciej Komosinski [1160] * framspy/frams.py (modified) Supported python 3.8+ and Windows after breaking change in python 3.8 ... Fri, 01 Oct 2021 21:40:49 GMT Maciej Komosinski [1158] * cpp/common/threads.h (modified) * cpp/frams/Makefile-SDK (modified) * cpp/frams/config/sdk-build-config.h (moved) * cpp/frams/frams-objects.h (modified) * cpp/frams/genetics/fS/fS_general.h (modified) * cpp/frams/model/geometry/modelgeoclass.cpp (modified) * cpp/frams/model/modelobj.cpp (modified) * cpp/frams/model/similarity/measure-greedy.cpp (modified) * cpp/frams/neuro/impl/neuroimpl-fuzzy.cpp (modified) * cpp/frams/util/extvalue.h (modified) * cpp/frams/vm/classes/3dobject.cpp (modified) * cpp/frams/vm/classes/collectionobj.cpp (modified) * cpp/frams/vm/classes/collectionobj.h (modified) * cpp/frams/vm/classes/genoobj.cpp (modified) * framspy/deterministic.sim (modified) * framspy/frams-test-props.py (modified) * framspy/run-evolalg-examples.cmd (modified) * framspy/sample-period-longest.sim (modified) Cosmetic/minor improvements Fri, 01 Oct 2021 15:13:35 GMT sz [1151] * framspy/frams-test-props.py (added) example code showing how to use the new property access functions ... Fri, 01 Oct 2021 15:11:05 GMT sz [1150] * framspy/frams.py (modified) low level functions for getting more info about framsticks object ... Fri, 24 Sep 2021 23:02:06 GMT Maciej Komosinski [1149] * framspy/FramsticksLib.py (modified) * framspy/deterministic.sim (added) * framspy/eval-allcriteria.sim (modified) * framspy/evolalg/examples/multicriteria.py (modified) * framspy/evolalg/examples/niching_novelty.py (modified) * framspy/evolalg/examples/standard.py (modified) * framspy/run-evolalg-examples.cmd (modified) * framspy/sample-period-2.sim (added) * framspy/sample-period-longest.sim (added) Added support for loading multiple .sim files where each can ... Mon, 09 Aug 2021 22:48:18 GMT Maciej Komosinski [1148] * framspy/evolalg/examples/multicriteria.py (modified) * framspy/evolalg/selection/nsga2.py (modified) Added exception when popsize is not a multiple of 4 (required by ... Tue, 03 Aug 2021 13:15:57 GMT Maciej Komosinski [1147] * framspy/evolalg/examples/multicriteria.py (added) * framspy/evolalg/selection/nsga2.py (added) * framspy/evolalg/statistics/multistatistics_deap.py (added) * framspy/run-evolalg-examples.cmd (modified) Multi-criteria optimization, can optionally include diversity is one ... Tue, 03 Aug 2021 12:00:12 GMT Maciej Komosinski [1146] * framspy/evolalg/base/union_step.py (modified) * framspy/evolalg/examples/niching_novelty.py (modified) * framspy/evolalg/examples/standard.py (modified) * framspy/evolalg/statistics/statistics_deap.py (modified) * framspy/frams.py (modified) Cosmetic Wed, 07 Jul 2021 12:38:57 GMT Maciej Komosinski [1145] * framspy/evolalg/dissimilarity/dissimilarity.py (modified) * framspy/evolalg/dissimilarity/frams_dissimilarity.py (modified) * framspy/evolalg/examples/niching_novelty.py (modified) * framspy/run-evolalg-examples.cmd (modified) Added niching and novelty search with limited (i.e., local) ... Mon, 17 May 2021 13:39:43 GMT Maciej Komosinski [1141] * framspy/frams.py (modified) More useful exception message - shows argument type Sat, 08 May 2021 18:10:15 GMT Maciej Komosinski [1140] * framspy/evolalg/examples/niching_novelty.py (modified) * framspy/evolalg/examples/standard.py (modified) Introduced a parameter for the size of the hall of fame Sat, 08 May 2021 10:42:58 GMT Maciej Komosinski [1139] * framspy/evolalg/base/frams_step.py (modified) * framspy/evolalg/base/lambda_step.py (modified) * framspy/evolalg/base/step.py (modified) * framspy/evolalg/base/union_step.py (modified) * framspy/evolalg/dissimilarity/frams_dissimilarity.py (modified) * framspy/evolalg/dissimilarity/levenshtein.py (modified) * framspy/evolalg/examples/niching_novelty.py (modified) * framspy/evolalg/experiment.py (modified) * framspy/evolalg/fitness/fitness_step.py (modified) * framspy/evolalg/fitness/multiple_evaluations.py (modified) * framspy/evolalg/mutation_cross/frams_cross.py (modified) * framspy/evolalg/mutation_cross/frams_cross_and_mutate.py (modified) * framspy/evolalg/mutation_cross/frams_cross_or_mutate.py (modified) * framspy/evolalg/mutation_cross/frams_mutation.py (modified) * framspy/evolalg/population/frams_population.py (modified) * framspy/evolalg/repair/const.py (modified) * framspy/evolalg/repair/halloffame_repair.py (modified) * framspy/evolalg/repair/multistep.py (modified) * framspy/evolalg/repair/mutate.py (modified) * framspy/evolalg/repair/remove/field.py (modified) * framspy/evolalg/repair/remove/function.py (modified) * framspy/evolalg/repair/remove/remove.py (modified) * framspy/evolalg/repair/repair.py (modified) * framspy/evolalg/selection/identity.py (modified) * framspy/evolalg/selection/selection.py (modified) * framspy/evolalg/selection/tournament.py (modified) * framspy/evolalg/statistics/halloffame_custom.py (modified) * framspy/evolalg/statistics/halloffame_stats.py (modified) * framspy/evolalg/statistics/statistics.py (modified) * framspy/evolalg/statistics/statistics_deap.py (modified) * framspy/evolalg/utils/name_propagation.py (added) * framspy/evolalg/utils/population_save.py (modified) Added --debug mode that prints names of steps; final multiple ... Sat, 01 May 2021 20:32:21 GMT Maciej Komosinski [1138] * framspy/evolalg/examples/niching_novelty.py (modified) * framspy/run-evolalg-examples.cmd (modified) Added limits for the number of Parts, Joints, Neurons and Neural ... Sat, 01 May 2021 19:13:08 GMT Maciej Komosinski [1137] * framspy/evolalg/examples/niching_novelty.py (modified) Removed unnecessary (duplicated) stages Sat, 01 May 2021 19:07:14 GMT Maciej Komosinski [1136] * framspy/evolalg/examples/niching_novelty.py (modified) checkpoint_path is optional, let the program work without this value ... Thu, 22 Apr 2021 23:08:00 GMT Maciej Komosinski [1133] * framspy/evolalg/examples/standard.py (modified) Invalid genotypes are now removed immediately from the population and ... Tue, 20 Apr 2021 12:33:27 GMT Maciej Komosinski [1132] * framspy/evolalg/examples/niching_novelty.py (modified) Cosmetic Tue, 20 Apr 2021 12:33:05 GMT Maciej Komosinski [1131] * framspy/evolalg/examples/standard.py (moved) The "standard.py" example now incorporates features of invalid.py ... Sun, 11 Apr 2021 01:27:06 GMT Maciej Komosinski [1129] * framspy/evolalg/examples/niching_novelty.py (modified) * framspy/evolalg/examples/standard.py (modified) Introduced tournament size as a command-line parameter Sun, 11 Apr 2021 01:21:14 GMT Maciej Komosinski [1128] * framspy/evolalg/examples/invalid.py (modified) * framspy/evolalg/examples/niching_novelty.py (modified) * framspy/evolalg/examples/standard.py (modified) * framspy/evolalg/statistics/halloffame_stats.py (modified) Introduced the number of generations as a command-line parameter; ... Sun, 11 Apr 2021 01:15:42 GMT Maciej Komosinski [1127] * framspy/evolalg/experiment.py (modified) Experiment: measure running time and save checkpoints safely Sun, 11 Apr 2021 00:44:58 GMT Maciej Komosinski [1126] * framspy/evolalg/utils/population_save.py (modified) Saving a population prints a message Sat, 10 Apr 2021 23:51:55 GMT Maciej Komosinski [1123] * cpp/frams/frams-objects.h (added) * framspy/frams.py (modified) Added a header file for interfacing the frams-objects library (.dll ... Wed, 31 Mar 2021 01:06:34 GMT Maciej Komosinski [1119] * framspy/FramsticksLib.py (modified) Cache a function reference for better performance Sat, 27 Mar 2021 02:43:22 GMT Maciej Komosinski [1117] * framspy/FramsticksEvolution.py (modified) * framspy/run-evolalg-examples.cmd (modified) Cosmetic Sat, 27 Mar 2021 02:42:04 GMT Maciej Komosinski [1116] * framspy/FramsticksLib.py (modified) * framspy/frams-test.py (modified) Improved performance significantly by moving the step-by-step ... Wed, 24 Mar 2021 21:27:53 GMT Maciej Komosinski [1114] * framspy/FramsticksLib.py (modified) * framspy/eval-allcriteria.sim (modified) * framspy/evolalg/base/lambda_step.py (modified) * framspy/frams-test.py (modified) Cosmetic Wed, 24 Mar 2021 21:25:50 GMT Maciej Komosinski [1113] * framspy/evolalg (added) * framspy/evolalg/__init__.py (added) * framspy/evolalg/base (added) * framspy/evolalg/base/__init__.py (added) * framspy/evolalg/base/frams_step.py (added) * framspy/evolalg/base/individual.py (added) * framspy/evolalg/base/lambda_step.py (added) * framspy/evolalg/base/step.py (added) * framspy/evolalg/base/union_step.py (added) * framspy/evolalg/dissimilarity (added) * framspy/evolalg/dissimilarity/__init__.py (added) * framspy/evolalg/dissimilarity/dissimilarity.py (added) * framspy/evolalg/dissimilarity/frams_dissimilarity.py (added) * framspy/evolalg/dissimilarity/levenshtein.py (added) * framspy/evolalg/examples (added) * framspy/evolalg/examples/__init__.py (added) * framspy/evolalg/examples/invalid.py (added) * framspy/evolalg/examples/niching_novelty.py (added) * framspy/evolalg/examples/standard.py (added) * framspy/evolalg/experiment.py (added) * framspy/evolalg/fitness (added) * framspy/evolalg/fitness/__init__.py (added) * framspy/evolalg/fitness/fitness_step.py (added) * framspy/evolalg/fitness/multiple_evaluations.py (added) * framspy/evolalg/mutation_cross (added) * framspy/evolalg/mutation_cross/__init__.py (added) * framspy/evolalg/mutation_cross/frams_cross.py (added) * framspy/evolalg/mutation_cross/frams_cross_and_mutate.py (added) * framspy/evolalg/mutation_cross/frams_cross_or_mutate.py (added) * framspy/evolalg/mutation_cross/frams_mutation.py (added) * framspy/evolalg/population (added) * framspy/evolalg/population/__init__.py (added) * framspy/evolalg/population/frams_population.py (added) * framspy/evolalg/repair (added) * framspy/evolalg/repair/__init__.py (added) * framspy/evolalg/repair/const.py (added) * framspy/evolalg/repair/halloffame_repair.py (added) * framspy/evolalg/repair/multistep.py (added) * framspy/evolalg/repair/mutate.py (added) * framspy/evolalg/repair/remove (added) * framspy/evolalg/repair/remove/__init__.py (added) * framspy/evolalg/repair/remove/field.py (added) * framspy/evolalg/repair/remove/function.py (added) * framspy/evolalg/repair/remove/remove.py (added) * framspy/evolalg/repair/repair.py (added) * framspy/evolalg/selection (added) * framspy/evolalg/selection/__init__.py (added) * framspy/evolalg/selection/identity.py (added) * framspy/evolalg/selection/selection.py (added) * framspy/evolalg/selection/tournament.py (added) * framspy/evolalg/statistics (added) * framspy/evolalg/statistics/__init__.py (added) * framspy/evolalg/statistics/halloffame_custom.py (added) * framspy/evolalg/statistics/halloffame_stats.py (added) * framspy/evolalg/statistics/statistics.py (added) * framspy/evolalg/statistics/statistics_deap.py (added) * framspy/evolalg/utils (added) * framspy/evolalg/utils/__init__.py (added) * framspy/evolalg/utils/population_save.py (added) * framspy/evolalg/utils/stable_generation.py (added) * framspy/run-evolalg-examples.cmd (added) Added a framework for evolutionary algorithms cooperating with ... Wed, 17 Mar 2021 21:36:57 GMT Maciej Komosinski [1112] * framspy/frams-test.py (modified) Added an example of sampling a 3D Model using the ModelGeometry class Fri, 12 Mar 2021 23:50:05 GMT Maciej Komosinski [1106] * framspy/frams.py (modified) Since 5.0rc19 there is no need to restore the current working ... Fri, 12 Mar 2021 23:46:26 GMT Maciej Komosinski [1105] * framspy/FramsticksCLI.py (modified) Using the "framsfiles" module to write genotypes to a file instead of ... Fri, 12 Mar 2021 23:44:51 GMT Maciej Komosinski [1104] * framspy/framsfiles (added) * framspy/framsfiles/__init__.py (added) * framspy/framsfiles/_context.py (added) * framspy/framsfiles/framscript.xml (added) * framspy/framsfiles/reader (added) * framspy/framsfiles/reader/__init__.py (added) * framspy/framsfiles/reader/_all.py (added) * framspy/framsfiles/tests (added) * framspy/framsfiles/tests/reader_tests.py (added) * framspy/framsfiles/tests/run_tests.cmd (added) * framspy/framsfiles/tests/run_tests.sh (added) * framspy/framsfiles/tests/test_files (added) * framspy/framsfiles/tests/test_files/test_files.zip (added) * framspy/framsfiles/tests/writer_tests.py (added) * framspy/framsfiles/writer (added) * framspy/framsfiles/writer/__init__.py (added) * framspy/framsfiles/writer/_loader.py (added) * framspy/framsfiles/writer/_parser.py (added) * framspy/framsfiles/writer/_serializer.py (added) Added the "framsfiles" module for reading and writing Framsticks- ... Thu, 11 Mar 2021 18:51:11 GMT Maciej Komosinski [1103] * framspy/frams-test.py (modified) Added an example of setting a different expdef (experiment definition) Wed, 10 Mar 2021 20:13:26 GMT Maciej Komosinski [1102] * framspy/FramsticksLib.py (modified) Do not fail when the dissimilarity matrix is not symmetric, print a ... Wed, 10 Mar 2021 19:04:56 GMT Maciej Komosinski [1101] * framspy/FramsticksLib.py (modified) Import simulation settings only once in the beginning, not on every ... Fri, 05 Mar 2021 18:34:20 GMT Maciej Komosinski [1100] * cpp/common/loggers/loggers.h (modified) * cpp/frams/model/similarity/simil-measure.cpp (modified) * experiments/frams/foraminifera/data/scripts/foraminifera.expdef (modified) * experiments/frams/foraminifera/data/scripts/foraminifera.inc (modified) * framspy/frams.py (modified) Cosmetic / minor fixes Thu, 04 Mar 2021 20:08:25 GMT sz [1096] * framspy/frams.py (modified) restore the original working directory after frams.init() Wed, 03 Mar 2021 03:47:10 GMT Maciej Komosinski [1095] * framspy/FramsticksEvolution.py (modified) * framspy/FramsticksLib.py (modified) Cosmetic Thu, 25 Feb 2021 20:01:59 GMT Maciej Komosinski [1094] * framspy/FramsticksEvolution.py (modified) Same as r1091 but for evolution: allowed to override settings of the ... Wed, 24 Feb 2021 12:45:04 GMT Maciej Komosinski [1093] * framspy/eval-allcriteria.sim (modified) Updated settings for version 5.0rc18: added new fields and removed ... Wed, 24 Feb 2021 12:41:50 GMT Maciej Komosinski [1092] * framspy/FramsticksCLI.py (modified) * framspy/frams-test.py (modified) Cosmetic Wed, 24 Feb 2021 12:41:24 GMT Maciej Komosinski [1091] * framspy/FramsticksLib.py (modified) Allowed to override settings of the simulation using a file with the ... Sat, 20 Feb 2021 12:34:03 GMT Maciej Komosinski [1090] * framspy/FramsticksLib.py (modified) Cosmetic Sat, 20 Feb 2021 12:32:12 GMT Maciej Komosinski [1089] * framspy/frams-test.py (modified) Added more examples of using Framsticks in python - building ... Sat, 20 Feb 2021 12:26:18 GMT Maciej Komosinski [1088] * framspy/frams.py (modified) More friendly message when the dll/so cannot be found Fri, 19 Feb 2021 02:14:41 GMT Maciej Komosinski [1087] * framspy/FramsticksCLI.py (modified) * framspy/FramsticksLib.py (modified) * framspy/frams-test.py (modified) * framspy/frams.py (modified) Cosmetic Thu, 18 Feb 2021 21:51:55 GMT sz [1085] * framspy/frams-test.py (modified) * framspy/frams.py (modified) - more sophisticated frams.py init() so frams-test.py (and other ... Thu, 18 Feb 2021 18:06:53 GMT Maciej Komosinski [1084] * framspy/FramsticksLib.py (modified) Introduced bool PRINT_FRAMSTICKS_OUTPUT to mute messages while ... Thu, 18 Feb 2021 17:58:55 GMT Maciej Komosinski [1083] * framspy/frams-test.py (modified) * framspy/frams.py (modified) Allowed to override the default name of frams-objects.dll/so Wed, 17 Feb 2021 15:59:46 GMT Maciej Komosinski [1081] * framspy/FramsticksLib.py (modified) * framspy/frams-test.py (modified) * framspy/frams.py (modified) Cosmetic Wed, 17 Feb 2021 13:36:10 GMT Maciej Komosinski [1080] * framspy/FramsticksEvolution.py (modified) Use direct connection to Framsticks .so/.dll in evolution Wed, 17 Feb 2021 13:32:44 GMT Maciej Komosinski [1079] * framspy/FramsticksCLI.py (modified) Cosmetic Wed, 17 Feb 2021 13:31:08 GMT Maciej Komosinski [1078] * framspy/FramsticksLib.py (added) * framspy/frams-test.py (added) * framspy/frams.py (added) Direct connection from python to Framsticks .so/.dll Tue, 16 Feb 2021 05:37:09 GMT Maciej Komosinski [1076] * cpp/frams/util/extvalue.cpp (modified) * cpp/frams/vm/classes/collectionobj.cpp (modified) * framspy/FramsticksCLI.py (modified) Cosmetic Sun, 24 Jan 2021 12:29:42 GMT Maciej Komosinski [1060] * framspy/FramsticksCLI.py (modified) * framspy/FramsticksEvolution.py (modified) "Vectorized" mutation for better performance due to decreased time of ... Fri, 22 Jan 2021 17:01:04 GMT Maciej Komosinski [1059] * framspy/FramsticksCLI.py (modified) Warn when the number of performance evaluations is different from the ... Tue, 29 Dec 2020 23:26:25 GMT Maciej Komosinski [1057] * framspy/FramsticksEvolution.py (modified) Updated to match changes from r1024 Fri, 07 Aug 2020 20:26:57 GMT Maciej Komosinski [1024] * framspy/FramsticksCLI.py (modified) evaluate() now handles a list of genotypes, not just a single genotype Tue, 28 Jul 2020 14:00:06 GMT Maciej Komosinski [1021] * framspy/FramsticksCLI.py (modified) Checking for genotype validity can now handle multiple genotypes at once Tue, 21 Jul 2020 12:45:30 GMT Maciej Komosinski [1019] * framspy/FramsticksCLI.py (modified) Better filename extensions for files with results; .gen was ... Thu, 16 Jul 2020 13:10:12 GMT Maciej Komosinski [1014] * framspy/FramsticksCLI.py (modified) Added more details to docs Thu, 16 Jul 2020 12:37:45 GMT Maciej Komosinski [1013] * framspy/FramsticksCLI.py (modified) Turned off echo for communication under Windows; implemented ... Tue, 30 Jun 2020 12:42:27 GMT Maciej Komosinski [971] * framspy/FramsticksCLI.py (modified) Added support for calculation of dissimilarity of more than two ... Fri, 26 Jun 2020 15:17:21 GMT Maciej Komosinski [962] * framspy/FramsticksCLI.py (modified) Added an optional parameter: unique process ID. Only relevant when ... Thu, 25 Jun 2020 23:32:15 GMT Maciej Komosinski [961] * cpp/frams/genetics/fB/fB_oper.cpp (modified) * framspy/FramsticksCLI.py (modified) * framspy/FramsticksEvolution.py (modified) Cosmetic Thu, 25 Jun 2020 01:03:28 GMT Maciej Komosinski [956] * framspy/FramsticksCLI.py (modified) Allowed multiple instances of FramsticksCLI class to safely use a ... Wed, 24 Jun 2020 19:40:30 GMT Maciej Komosinski [953] * framspy/FramsticksCLI.py (modified) Keep executable name and each argument separate in the Popen() call Fri, 12 Jun 2020 13:57:09 GMT Maciej Komosinski [949] * framspy/FramsticksEvolution.py (modified) Fixed the choice of single/multiple-criteria selection method Wed, 10 Jun 2020 12:02:18 GMT Maciej Komosinski [948] * framspy/FramsticksCLI.py (modified) * framspy/FramsticksEvolution.py (added) * framspy/eval-allcriteria.sim (added) Integrated FramsticksCLI.py with deap (Distributed Evolutionary ... Wed, 10 Jun 2020 08:53:01 GMT Maciej Komosinski [947] * framspy/FramsticksCLI.py (modified) Added DETERMINISTIC boolean choice Sun, 31 May 2020 23:23:00 GMT Maciej Komosinski [939] * framspy (added) * framspy/FramsticksCLI.py (added) Added a python wrapper for Framsticks command-line interface