Change Log Report
Total number of changed sets: 1
Changes from an unknown range
Total commits: 195
Total number of files changed: 283
| Timestamp | Author | Details |
|---|---|---|
| 2026-07-19 15:10:53 | Bruno Mahé <bruno@bmahe.net> | Apply spotless format |
| 2026-07-19 03:21:35 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2026-07-19 03:21:32 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r6.0 |
| 2026-07-17 21:45:03 | Bruno Mahé <bruno@bmahe.net> | Apply Spotless to ensure code is formatted appropriately |
| 2026-07-17 21:43:53 | Bruno Mahé <bruno@bmahe.net> | Use openrewrite to s/Validate.notNull/Objects.requireNonNull/g Command: ```bash mvn -U org.openrewrite.maven:rewrite-maven-plugin:run --define rewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-static-analysis:RELEASE --define rewrite.activeRecipes=org.openrewrite.staticanalysis.ReplaceApacheCommonsLang3ValidateNotNullWithObjectsRequireNonNull --define rewrite.exportDatatables=true ``` |
| 2026-07-17 21:41:32 | Bruno Mahé <bruno@bmahe.net> | Apply openrewrite common sast rules Command: ```bash mvn -U org.openrewrite.maven:rewrite-maven-plugin:run --define rewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-static-analysis:RELEASE --define rewrite.activeRecipes=org.openrewrite.staticanalysis.CommonStaticAnalysis ``` |
| 2026-07-17 19:15:13 | Bruno Mahé <bruno@bmahe.net> | Apply junit openrewrite recipe Command: ```bash mvn -U org.openrewrite.maven:rewrite-maven-plugin:run --define rewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-testing-frameworks:RELEASE --define rewrite.activeRecipes=org.openrewrite.java.testing.junit5.JUnit5BestPractices ``` |
| 2026-07-17 19:12:52 | Bruno Mahé <bruno@bmahe.net> | Run openrewrite recipe for Java 25 Command: ```bash mvn -U org.openrewrite.maven:rewrite-maven-plugin:run --define rewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-migrate-java:RELEASE --define rewrite.activeRecipes=org.openrewrite.java.migrate.UpgradeToJava25 --define rewrite.exportDatatables=true ``` |
| 2026-07-17 19:05:35 | Bruno Mahé <bruno@bmahe.net> | Ran openrewrite to remove unused imports Command: ```bash mvn -U org.openrewrite.maven:rewrite-maven-plugin:run \ -Drewrite.activeRecipes=org.openrewrite.java.RemoveUnusedImports ``` |
| 2026-07-16 22:42:41 | Bruno Mahé <bruno@bmahe.net> | Document Java 25 compatibility Update CI and contributor guidance for the Java 25 baseline, document the 5.x/6.x compatibility split, and recommend the latest stable 5.3 release in examples.\n\nTests: mvn --batch-mode spotless:check\nTests: mvn --batch-mode clean verify -DskipPITests=true |
| 2026-07-16 22:08:33 | Bruno Mahé <bruno@bmahe.net> | Start 6.0 development line Bump the Maven reactor to 6.0-SNAPSHOT after adopting Java 25 as the minimum supported runtime. Tests: mvn --batch-mode validate |
| 2026-04-30 05:24:06 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2026-04-30 05:24:02 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r5.3 |
| 2026-04-29 02:50:34 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2026-04-29 02:50:30 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r5.2 |
| 2025-11-24 01:48:38 | Bruno Mahé <bruno@bmahe.net> | Fix a bug in Terminations::ofMaxtime It was looking at the nano part rather than converting the entire duration to nanos |
| 2025-11-15 14:12:12 | Bruno Mahé <bruno@bmahe.net> | Update formatting rules |
| 2025-11-15 12:09:23 | Bruno Mahé <bruno@bmahe.net> | Add a new maven plugin to ensure consistent formatting |
| 2025-10-01 07:29:27 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2025-10-01 07:29:23 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r5.1 |
| 2025-10-01 02:08:23 | Bruno Mahé <bruno@bmahe.net> | Add support for Java 25. It required an adjustment related to a change pushed with Java 23. That changes require us to explicitly declate any annotation processor instead of being picked up automatically in previous versions of Java. See for details https://mail.openjdk.org/pipermail/jdk-dev/2024-May/009028.html |
| 2025-09-29 08:53:46 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2025-09-29 08:53:39 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r5.0 |
| 2025-09-28 15:45:24 | Bruno Mahé <bruno@bmahe.net> | Add SelectiveRefinementTournament in the intro doc to the list of selection operators |
| 2025-09-28 15:34:52 | Bruno Mahé <bruno@bmahe.net> | Fix link to DoubleTournament in intro doc |
| 2025-09-28 15:33:33 | Bruno Mahé <bruno@bmahe.net> | Remove test strings in asciidoc docs |
| 2025-09-27 18:54:59 | Bruno Mahé <bruno@bmahe.net> | Move DoubleTournament to GP module. It is dedicated to genetic programming and there is a more generic alternative with the Selective Refinement Tournament operator |
| 2025-09-27 00:26:50 | Bruno Mahé <bruno@bmahe.net> | Mass format the code |
| 2025-09-27 00:24:36 | Bruno Mahé <bruno@bmahe.net> | Add a new symbolic regression example based on SRT and update the article about bloat issues |
| 2025-09-25 01:06:24 | Bruno Mahé <bruno@bmahe.net> | Fix SelectiveRefinementTournamentSelector test mock setup Fixed three failing tests by correcting mock RandomGenerator setup: - selectWithRefinementApplied: Updated mock to properly sequence tournament selection calls - selectWithoutRefinement: Fixed mock values to match expected fitness tournament behavior - selectWithMinimization: Corrected mock setup for minimization optimization logic The tests were failing because the mock didn't account for all nextInt() calls made during tournament selection. Each tournament requires multiple random number generations, and the expected assertions needed to match the actual selection behavior based on fitness comparators and refinement logic. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
| 2025-09-24 00:53:43 | Bruno Mahé <bruno@bmahe.net> | Remove unused imports in SRT |
| 2025-09-24 00:52:31 | Bruno Mahé <bruno@bmahe.net> | Remove example from SRT and formatting |
| 2025-09-24 00:34:19 | Bruno Mahé <bruno@bmahe.net> | Add comprehensive Javadoc documentation to SelectiveRefinementTournament - Document class-level functionality with algorithm overview and use cases - Add detailed method-level documentation for all public methods - Include code example showing typical usage pattern - Document validation constraints and builder API - Provide cross-references to related classes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
| 2025-09-24 00:12:32 | Bruno Mahé <bruno@bmahe.net> | Clean up codebase and add SelectiveRefinementTournament selection strategy - Replace Apache Commons Lang3 Validate with Objects.requireNonNull() for null checks - Remove unnecessary @Value.Style annotations and clean up Tournament class - Add SelectiveRefinementTournament selection policy with handler and selector implementation - Add package-info.java files across all modules for improved documentation - Update test classes to use concrete types instead of Immutable variants - Add convenient factory methods to InputSpec for easier instantiation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
| 2025-09-21 15:49:20 | Bruno Mahé <bruno@bmahe.net> | Add utility method for evaluating fitness of single chromosomes - Add static utility method to simplify fitness evaluation for single chromosomes - Include comprehensive documentation with usage examples and edge cases - Add complete test suite covering valid cases, error conditions, and edge cases - Update TSVExample to demonstrate usage of the new utility method - Improve code formatting and documentation consistency in Fitness interface 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
| 2025-09-21 13:08:50 | Bruno Mahé <bruno@bmahe.net> | Optimize children generation by parallelizing the process |
| 2025-09-20 01:03:44 | Bruno Mahé <bruno@bmahe.net> | Fix bounds overflow bug in IntChromosomeOrderCrossover and add comprehensive test - Fix chromosome2Idx bounds check that could cause IndexOutOfBoundsException - Add bounds wrapping logic to properly cycle through second parent chromosome - Add test case that reproduces the edge case with multiple chromosome2 iterations - Minor optimization: use cached numAlleles variable instead of method calls 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
| 2025-09-20 00:50:10 | Bruno Mahé <bruno@bmahe.net> | Enhance evolution listeners with lifecycle hooks and improved documentation - Added preEvaluation and postEvaluation lifecycle hooks to EvolutionListener interface - Updated EASystem to call lifecycle hooks for all registered listeners - Enhanced DefaultEvolutionListener with comprehensive JavaDoc and lifecycle support - Enhanced EvolutionListenerLogTopN with detailed JavaDoc and lifecycle support - Added comprehensive test suite for EvolutionListenerLogTopN with 18 test cases - Updated EvolutionListener interface with improved documentation and examples - Fixed comparator handling to respect EA configuration fitness comparators - Enhanced thread safety documentation and implementation notes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
| 2025-09-20 00:04:29 | Bruno Mahé <bruno@bmahe.net> | Make sure example in README.md is runnable in jshell and add a new stdout based logger |
| 2025-09-18 22:02:36 | Bruno Mahé <bruno@bmahe.net> | Add some convenience methods in BitChromosome and IntChromosome |
| 2025-09-18 22:02:12 | Bruno Mahé <bruno@bmahe.net> | Add static constructor for fixed number of swap in SwapMutation |
| 2025-09-18 22:01:18 | Bruno Mahé <bruno@bmahe.net> | More deprecated Validate.notNull |
| 2025-09-18 22:00:36 | Bruno Mahé <bruno@bmahe.net> | Formatting for Genotype |
| 2025-09-18 22:00:09 | Bruno Mahé <bruno@bmahe.net> | Formatting for Fitness |
| 2025-09-18 00:44:10 | Bruno Mahé <bruno@bmahe.net> | Replace deprecated Validate::notNull with Objects::requireNonNull |
| 2025-09-17 23:12:19 | Bruno Mahé <bruno@bmahe.net> | Remove unused ExecutorService in EASystemFactory |
| 2025-09-17 23:09:54 | Bruno Mahé <bruno@bmahe.net> | Replace deprecated Validate::notNull with Objects::requireNonNull |
| 2025-09-17 23:06:59 | Bruno Mahé <bruno@bmahe.net> | Add virtual thread support for fitness evaluation - Implement FitnessEvaluatorVirtualThread with one virtual thread per evaluation - Add EASystemFactory.fromWithVirtualThreads() factory method - Optimize for I/O-bound fitness functions and large populations - Maintain compatibility with existing evaluation architecture 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
| 2025-09-17 06:19:19 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2025-09-17 06:19:13 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r4.2 |
| 2025-09-16 23:42:20 | Bruno Mahé <bruno@bmahe.net> | Mutator gets passed `generation` to enable implementations to adjust their behavior over time |
| 2025-09-16 23:27:16 | Bruno Mahé <bruno@bmahe.net> | Introduce a proper PostEvaluationProcessor and ensure it gets passed `generation` to enable implementations to adjust their behavior over time |
| 2025-09-16 23:09:48 | Bruno Mahé <bruno@bmahe.net> | Bumped major version as the previous commit break interfaces and compatibility Command run: ```bash mvn --batch-mode release:update-versions -DdevelopmentVersion=5.0-SNAPSHOT ``` |
| 2025-09-16 23:07:05 | Bruno Mahé <bruno@bmahe.net> | Selector gets passed `generation` to enable implementations to adjust their behavior over time |
| 2025-09-16 22:23:19 | Bruno Mahé <bruno@bmahe.net> | Improve DoubleTournamentSelectionPolicyHandlerTest to test an verified case |
| 2025-09-16 20:49:13 | Bruno Mahé <bruno@bmahe.net> | Replace Validate.notNull with Objects.requireNonNull and misc. clean up |
| 2025-09-13 23:29:20 | Bruno Mahé <bruno@bmahe.net> | Address build issues after upgrade. The root cause is the update of Apache Maven Site on two fronts: * It get stuck with the first module. This means that ${basedir} is stuck to the value of the first module it is executed in and provides the wrong values. This is the same for every other module specific variables such as ${maven.multiModuleProjectDirectory} * There are bugs in the locales handling. And while this is optional, it won't work without it |
| 2025-09-07 15:48:01 | Bruno Mahé <bruno@bmahe.net> | Update dependencies |
| 2025-06-21 17:53:11 | Bruno Mahé <bruno@bmahe.net> | Add tests for PopulationIterator |
| 2025-06-21 17:44:08 | Bruno Mahé <bruno@bmahe.net> | Improve javadoc for EASystem |
| 2025-06-21 17:40:26 | Bruno Mahé <bruno@bmahe.net> | Improve testing for EASystem |
| 2025-06-14 21:12:59 | Bruno Mahé <bruno@bmahe.net> | Complete comprehensive javadoc documentation for core module components This commit adds extensive javadoc documentation for the remaining core module classes and interfaces, focusing on high-priority undocumented components and improving minimal existing documentation. Major additions include: - PopulationIterator: Complete documentation with usage patterns and thread safety considerations for population traversal - TreeNode: Comprehensive genetic programming tree structure documentation with examples and performance considerations - EASystemFactory: Extensive factory method documentation with configuration guides and usage patterns for different evaluation strategies - Terminations: Complete utility class documentation with logical combination examples and termination criteria patterns - FitnessBulkAsync: Detailed asynchronous batch evaluation interface documentation with implementation examples and use cases - GenotypeGenerator: Population initialization documentation with automatic and custom generation patterns Enhanced existing documentation: - FitnessEvaluator: Added comprehensive evaluation strategy documentation - SelectionPolicy: Detailed selection strategy interface documentation - ReplacementStrategy: Complete replacement strategy documentation - Minor cross-reference fixes and HTML compliance improvements All core module classes now have professional-quality documentation following consistent patterns with practical examples, performance considerations, and clear usage guidance. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
| 2025-06-14 20:50:52 | Bruno Mahé <bruno@bmahe.net> | Complete core module javadoc documentation with system orchestration and factories - Enhance EASystem class with comprehensive evolutionary process documentation - Document floating-point chromosome types: DoubleChromosome, FloatChromosome - Add detailed ChromosomeFactory interface documentation with factory pattern explanation - Document EvolutionListener interface for monitoring and callback mechanisms - Include performance considerations, thread safety, and usage examples - Provide implementation guidelines and best practices for custom extensions 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
| 2025-06-14 20:46:10 | Bruno Mahé <bruno@bmahe.net> | Enhance core module javadoc documentation for key interfaces and classes - Document core evolutionary algorithm interfaces: Mutator, Selector, Termination - Add comprehensive javadocs for chromosome types: IntChromosome, TreeChromosome - Document specification interfaces: ChromosomeSpec, IntChromosomeSpec, MutationPolicy - Include detailed usage examples, design patterns, and cross-references - Explain strategy pattern implementation and configuration approaches - Add thread safety, performance, and constraint handling documentation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
| 2025-06-14 20:37:04 | Bruno Mahé <bruno@bmahe.net> | Add comprehensive javadoc documentation for core API classes - Document core classes: Individual, Genotype, Population, Chromosome, BitChromosome, Fitness - Add javadocs for GP module: Operation, OperationFactory - Document MOO module: FitnessVector with Pareto dominance explanation - Include detailed parameter descriptions, return values, and usage examples - Add cross-references between related classes - Explain design patterns, thread safety, and performance considerations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
| 2025-06-14 16:05:00 | Bruno Mahé <bruno@bmahe.net> | Migrate Validate::notNull to Objects::requireNonNull for IntChromosomeOrderCrossover |
| 2024-09-18 22:53:48 | Bruno Mahé <bruno@bmahe.net> | Fix javadoc in FitnessEvaluator |
| 2024-06-24 02:36:02 | Bruno Mahé <bruno@bmahe.net> | Small clean up and quality of life changes |
| 2024-05-19 16:52:35 | Bruno Mahé <bruno@bmahe.net> | Extract genotype generation handling in its own class for easier maintenance |
| 2024-05-17 00:32:19 | Bruno Mahé <bruno@bmahe.net> | Use Objects::requireNonNull for bitChromosomeUtils |
| 2024-05-17 00:32:05 | Bruno Mahé <bruno@bmahe.net> | Add a builder method to ChromosomeFactoryProvider |
| 2024-02-12 11:01:32 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2024-02-12 11:01:30 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r4.1 |
| 2023-10-16 01:30:16 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2023-10-16 01:30:13 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r4.0 |
| 2023-10-14 15:01:56 | Bruno Mahé <bruno@bmahe.net> | Update site for java 21 Fix conflict in generated graphviz diagrams from the docs |
| 2023-10-12 00:26:46 | Bruno Mahé <bruno@bmahe.net> | Update DistributionUtils to java 21 |
| 2023-10-11 21:12:21 | Bruno Mahé <bruno@bmahe.net> | Update version to 4.0-SNAPSHOT in preparation for the java 21 updates |
| 2023-07-25 03:58:30 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2023-07-25 03:58:28 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r3.4 |
| 2023-07-24 00:56:12 | Bruno Mahé <bruno@bmahe.net> | Delete unused code |
| 2023-07-16 23:00:21 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2023-07-16 23:00:18 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r3.3 |
| 2023-07-16 20:03:15 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2023-07-16 20:03:13 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r3.2 |
| 2023-07-15 21:50:04 | Bruno Mahé <bruno@bmahe.net> | Extend auto-loading capabilities to all handlers and migrate MOO handlers auto-loading |
| 2023-06-15 10:19:18 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2023-06-15 10:19:16 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r3.1 |
| 2023-06-14 20:39:24 | Bruno Mahé <bruno@bmahe.net> | Remove the extra `-` in the main website page. This is due to doxia trying to compute a title without leaving room for configuration. Having investigated, it's easier to sed out the dash than contribute a patch or fight it |
| 2023-06-14 00:24:32 | Bruno Mahé <bruno@bmahe.net> | Add ability to set minimum level of offsprings and survivors for elitism and set a default of 1 for survivors. This helps ensure there will always be at least one survivor in small populations. |
| 2023-04-30 19:06:00 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2023-04-30 19:05:56 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r3.0 |
| 2023-04-28 00:40:29 | Bruno Mahé <bruno@bmahe.net> | Upgrade major version to 3.0-SNAPSHOT |
| 2023-04-23 20:53:28 | Bruno Mahé <bruno@bmahe.net> | Improve test coverage for the NEAT module |
| 2023-04-17 23:35:12 | Bruno Mahé <bruno@bmahe.net> | Improve test coverage |
| 2022-12-04 02:10:56 | Bruno Mahé <bruno@bmahe.net> | Refactor the way the fitness comparator is computed. |
| 2022-11-29 01:23:25 | Bruno Mahé <bruno@bmahe.net> | Fix typo in Optimization s/MAXIMZE/MAXIMIZE/g |
| 2022-11-29 01:16:56 | Bruno Mahé <bruno@bmahe.net> | Extract Tournament Selector in its own class |
| 2022-11-23 22:12:15 | Bruno Mahé <bruno@bmahe.net> | Refactor and export a new method EASystem::createOffsprings to generate offsprings from an existing population |
| 2022-10-16 18:32:54 | Bruno Mahé <bruno@bmahe.net> | Add basic NEAT implementation |
| 2022-05-23 21:12:41 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2022-05-23 21:12:38 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r2.0 |
| 2022-03-25 00:21:56 | Bruno Mahé <bruno@bmahe.net> | Avoid extra array allocation if not logging at trace level |
| 2022-03-23 22:35:01 | Bruno Mahé <bruno@bmahe.net> | Add FloatChromosome and DoubleChromosome entries in the doc of core |
| 2022-03-21 01:34:27 | Bruno Mahé <bruno@bmahe.net> | Add a GPU module for OpenCL based evolution and a sample demonstrating its use for mixture models |
| 2022-01-16 22:13:41 | Bruno Mahé <bruno@bmahe.net> | EASystem::evaluateOnce should call the registered EvaluationListeners |
| 2022-01-11 23:42:19 | Bruno Mahé <bruno@bmahe.net> | Add a new method to EASystem to evaluate a specific population |
| 2022-01-04 19:58:00 | Bruno Mahé <bruno@bmahe.net> | Add support for Float based chromosomes |
| 2022-01-04 17:03:14 | Bruno Mahé <bruno@bmahe.net> | Provide the generation to the fitness evaluation and more hooks |
| 2022-01-03 16:50:54 | Bruno Mahé <bruno@bmahe.net> | Make error message more user friendly |
| 2021-12-28 13:24:55 | Bruno Mahé <bruno@bmahe.net> | Abstract out EAExecutionContext This will make it easier to extend for GPU specific context |
| 2021-12-25 20:28:32 | Bruno Mahé <bruno@bmahe.net> | Rename EAConfigurationSync to EAConfiguration This sets the synchronous configuration as the default one as it's the easiest one to get started with. |
| 2021-12-25 19:50:13 | Bruno Mahé <bruno@bmahe.net> | Provide a way for users to compute the fitness in their own asynchronous way |
| 2021-10-06 19:23:21 | Bruno Mahé <bruno@bmahe.net> | Fix bug with stable fitness termination when minimizing solutions It needs to use the fitnessComparator to properly deal with the optimization goal |
| 2021-09-21 03:47:43 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2021-09-21 03:47:41 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r1.8 |
| 2021-09-21 01:24:45 | Bruno Mahé <bruno@bmahe.net> | Upgrade mvn pmd plugin to 3.15.0 and do not run pitest reports if pitest is disabled |
| 2021-09-21 00:37:51 | Bruno Mahé <bruno@bmahe.net> | Set major version to 2.0-SNAPSHOT in preparation to the java 17 migration |
| 2021-09-21 00:26:46 | Bruno Mahé <bruno@bmahe.net> | Update to java 17 and junit 5 Also disable pitest temporarily until it supports java 17 |
| 2021-09-19 16:29:56 | Bruno Mahé <bruno@bmahe.net> | Add a new doc about Clustering and clean up the associated code |
| 2021-09-04 15:14:49 | Bruno Mahé <bruno@bmahe.net> | Add a support for halting evolution when the fitness does not improve over a specified number of generations |
| 2021-09-04 14:47:55 | Bruno Mahé <bruno@bmahe.net> | Add Single Point and Multi-Point Arithmetic combination policies This is implemented for integer and double based chromosomes |
| 2021-08-31 01:49:17 | Bruno Mahé <bruno@bmahe.net> | Add support for creep mutations |
| 2021-08-29 17:49:00 | Bruno Mahé <bruno@bmahe.net> | Add support for double in swap mutations |
| 2021-08-29 17:32:44 | Bruno Mahé <bruno@bmahe.net> | Add a chromosome handler for random mutations in double chromosomes |
| 2021-08-29 17:11:50 | Bruno Mahé <bruno@bmahe.net> | Add support for Single Point Crossover for double |
| 2021-08-29 17:00:44 | Bruno Mahé <bruno@bmahe.net> | Add support for Multi Point Crossover for double |
| 2021-08-29 15:16:24 | Bruno Mahé <bruno@bmahe.net> | Add DoubleChromosome |
| 2021-08-14 05:32:19 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2021-08-14 05:32:16 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r1.7 |
| 2020-11-12 06:31:13 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2020-11-12 06:31:10 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r1.6 |
| 2020-06-21 02:40:12 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2020-06-21 02:40:10 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r1.5 |
| 2020-06-19 02:11:51 | Bruno Mahé <bruno@bmahe.net> | Add Tarpeian Method to fight bloat and documented the Symbolic Regression examples in the samples website |
| 2020-06-13 01:08:34 | Bruno Mahé <bruno@bmahe.net> | Proportional Tournaments should make the decision of which comparator to use on each tournament |
| 2020-06-12 22:44:08 | Bruno Mahé <bruno@bmahe.net> | Add a `and` operation for Terminations |
| 2020-06-12 22:43:47 | Bruno Mahé <bruno@bmahe.net> | Make DoubleTournament::parsimonyTournamentSize a double for convenience |
| 2020-06-12 19:08:13 | Bruno Mahé <bruno@bmahe.net> | Generalize Tournament comparisons. This provides the genotype to the comparator in addition to the fitness. This makes it easier to implement some of the flows without going into multi objectives implementations. For instance, Double or Partial tournaments do use the size of the program as part of the comparisons. |
| 2020-06-10 22:24:56 | Bruno Mahé <bruno@bmahe.net> | Add support for Double and proportional tournaments |
| 2020-06-01 20:13:13 | Bruno Mahé <bruno@bmahe.net> | Add more tests for core module |
| 2020-05-31 18:07:44 | Bruno Mahé <bruno@bmahe.net> | Add support for SPEA2 |
| 2020-05-13 08:22:27 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2020-05-13 08:22:25 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r1.4 |
| 2020-05-12 01:32:54 | Bruno Mahé <bruno@bmahe.net> | Add Fitness Sharing on top of a new concept for Post Evaluation processing. This fix #21 |
| 2020-05-12 01:31:41 | Bruno Mahé <bruno@bmahe.net> | Fix boundary issue in the BitChromosome implementaiton of the MultiPointCrossover |
| 2020-05-11 21:25:39 | Bruno Mahé <bruno@bmahe.net> | Add a new EvolutionListener which dumps results in a CSV One of the benefits is it abstracts the user from worrying how to structure the columns |
| 2020-05-09 19:30:04 | Bruno Mahé <bruno@bmahe.net> | s/Evolution Strategy/Replacement Strategy/g Replacement Strategy is more clear and appropriate. Based on how _evolution strategy_ is used in different books, it might be interpreted slightly differently depending on the context, which could lead to confusion. |
| 2020-05-09 19:07:47 | Bruno Mahé <bruno@bmahe.net> | Add more doc |
| 2020-05-08 01:51:21 | Bruno Mahé <bruno@bmahe.net> | Relax the constraint of int chromosome random mutation We don't have to fail if the mutation wasn't that effective |
| 2020-05-06 22:18:52 | Bruno Mahé <bruno@bmahe.net> | Multiple points crossover should return both possible combinations |
| 2020-05-06 22:03:19 | Bruno Mahé <bruno@bmahe.net> | Single point crossover should return all the combinations |
| 2020-05-05 18:52:36 | Bruno Mahé <bruno@bmahe.net> | Add Delete N Last evolution strategy Delete N Last replaces the N weakest individuals of the current population with offsprings |
| 2020-05-05 00:10:24 | Bruno Mahé <bruno@bmahe.net> | Introduce the concept of Evolution Strategy An Evolution Strategy defines how the next generation is created based on the offsprings and the current generation. Fix #19 |
| 2020-05-03 17:21:49 | Bruno Mahé <bruno@bmahe.net> | Add more documentation |
| 2020-05-02 14:10:35 | Bruno Mahé <bruno@bmahe.net> | Minor doc update This reflects the renaming of the last commit and also fixes a few typos encountered along the way. |
| 2020-05-01 07:11:18 | Bruno Mahé <bruno@bmahe.net> | Docs and usability tweaks |
| 2020-05-01 02:08:07 | Bruno Mahé <bruno@bmahe.net> | Rename classes as their names weren't appropriate. Renamed: - GenotypeSpec -> EAConfiguration - GeneticSystem -> EASystem - GeneticSystemDescriptor -> EAExecutionContext Evolutionary Algorithm is a more appropriate and generic term given the scope of this project. Fix #16 |
| 2020-04-23 22:23:11 | Bruno Mahé <bruno@bmahe.net> | Add a new module for Multi-Objective Optimization. This new module implements NSGA2 |
| 2020-04-15 00:47:33 | Bruno Mahé <bruno@bmahe.net> | Add Ramped Half and Half GP Program generation and abstract fitness function. |
| 2020-04-02 01:39:08 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2020-04-02 01:39:05 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r1.3 |
| 2020-04-01 23:47:32 | Bruno Mahé <bruno@bmahe.net> | Compute fitness across multiple threads for speedup |
| 2020-03-27 22:43:04 | Bruno Mahé <bruno@bmahe.net> | Simplify pit configuration in Apache Maven by moving some of it in the parent pom |
| 2020-03-27 07:30:23 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2020-03-27 07:30:19 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r1.2 |
| 2020-03-27 05:30:45 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2020-03-27 05:30:43 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r1.1 |
| 2020-03-26 20:20:04 | Bruno Mahé <bruno@bmahe.net> | honor maven skipTests flag |
| 2020-03-26 19:53:17 | Bruno Mahé <bruno@bmahe.net> | Enrich Genetic Programming constructs |
| 2020-01-04 23:12:21 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare for next development iteration |
| 2020-01-04 23:12:19 | Gitlab CI <ci@bmahe.net> | [maven-release-plugin][ci skip] prepare release r1.0 |
| 2020-01-04 13:28:20 | Bruno Mahé <bruno@bmahe.net> | Move the genetic programming related classes to their own brand new module `gp` |
| 2020-01-03 11:44:37 | Bruno Mahé <bruno@bmahe.net> | Genetic Programming implementation |
| 2019-11-13 01:50:31 | Bruno Mahé <bruno@bmahe.net> | Add exponential function to GP math |
| 2019-11-13 01:45:47 | Bruno Mahé <bruno@bmahe.net> | Fix typo |
| 2019-11-13 01:43:22 | Bruno Mahé <bruno@bmahe.net> | Make the input terminal pick only the relevant input and add a new rounded coefficient |
| 2019-11-13 01:10:49 | Bruno Mahé <bruno@bmahe.net> | Rework GP to extract the relationship into a tree chromosome. Without it, it would make mutations and combination quite difficult to implement |
| 2019-11-02 21:11:19 | Bruno Mahé <bruno@bmahe.net> | Initial implementation of GP |
| 2019-10-23 01:14:34 | Bruno Mahé <bruno@bmahe.net> | Implement #1 - the Edge Recombination Crossover combination operator and enable the Swap mutation operator to not use a fix number of swaps |
| 2019-10-21 23:49:47 | Bruno Mahé <bruno@bmahe.net> | Add a partial mutation operator |
| 2019-10-21 22:41:26 | Bruno Mahé <bruno@bmahe.net> | Implement combinations of chromosome combinators |
| 2019-10-19 02:37:18 | Bruno Mahé <bruno@bmahe.net> | Add ability to specify meta-selections which combine multiple selection policies |
| 2019-10-19 01:13:30 | Bruno Mahé <bruno@bmahe.net> | Make Mutator a functional interface |
| 2019-10-18 19:50:32 | Bruno Mahé <bruno@bmahe.net> | Add ability to specify meta-mutations which points to other mutation policies This has required some extensive refactoring to accomodate this capability |
| 2019-09-20 21:21:42 | Bruno Mahé <bruno@bmahe.net> | Refactor how GeneticSystem gets the fitness function |
| 2019-08-23 21:41:15 | Bruno Mahé <bruno@bmahe.net> | Fix compilation error |
| 2019-08-23 21:05:42 | Bruno Mahé <bruno@bmahe.net> | Misc. cleanup and refactoring. Also handle TSPLIB problems |
| 2019-08-22 23:41:23 | Bruno Mahé <bruno@bmahe.net> | Provide a way to supply population generator |
| 2019-08-22 00:19:27 | Bruno Mahé <bruno@bmahe.net> | Add Order Crossover (OX) operator and TSV problem sample |
| 2019-08-20 01:33:39 | Bruno Mahé <bruno@bmahe.net> | Add minimization feature |
| 2019-08-19 21:22:37 | Bruno Mahé <bruno@bmahe.net> | Remove trailing spaces |
| 2019-08-18 22:53:33 | Bruno Mahé <bruno@bmahe.net> | Remove unusued variable |
| 2019-08-17 23:44:33 | Bruno Mahé <bruno@bmahe.net> | Fix typo. Will kill both classes anyway |
| 2019-08-17 23:28:13 | Bruno Mahé <bruno@bmahe.net> | Initial commit |