Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
- #325: Allow customization of fitness evaluation execution for bundling calculations
- #327: Improve CPU utilization during fitness evaluation.
- #335: Seq view wrapper for List and T types.
- #223: Implementation of Multi-Objective Optimization.
- #259: Pruning GP program tree.
- #285: Population exchange between different Engines.
- #294: Cleanup of Jenetics examples.
- #295: Upgrade Gradle version 4.5.
- #297: Compile JMH test on test execution.
- #306: Improve Javadoc on how to extend chromosomes.
- #307: Enable @APinote, @implSpec and @implNote Javadoc tag.
- #28: Immutable population class. The original
Populationclass has been replaced by
Seq<Phenotype<G, C>>. This points to a more functional implementation of the library.
Chromosomeimplementations are now fully immutable. This is an internal change only.
Mutatorclass is easier now to extend. It has been extended with additional
mutatemethods which serves as extension points for onw
Chromosomewith variable number of genes: Most chromosomes can now be created with a variable number of genes.
DoubleChromosome.of(0.0, 1.0, IntRange.of(5, 16)).
io.jenetics.prnginelibrary replaces the existing PRNG implementations in the
- #175: Align random int range generation with
io.jenetics.prnginelibrary. This is an internal change only.
- #180: Change library namespace from
io.jenetics. This is the most invasive change of this release. Users have to adopt the imports in all their code.
- #183: Change copyright email address to ...@gmail.com
- #200: Implementation of gene convergence termination: A termination method that stops the evolution when a user-specified percentage of the genes that make up a
Genotypeare deemed as converged. A gene is deemed as converged when the average value of that gene across all of the genotypes in the current population is less than a user-specified percentage away from the maximum gene value across the genotypes.
- #253: Removal of deprecated code and classes: mainly
JAXBmarshalling and the
- #260: Clean room implementation of internal
subsetfunction. This method was a port from the C++ source written by John Burkardt. The original source has been published under the LGPL licence, which is not compatible to tha Apache 2 licence. To avoid legal issues, the affected method has been reimplemented using the Clean Room method, based on the original book, Combinatorial Algorithms for Computers and Calculators, by Albert Nijenhuis and Herbert Wilf. The
io.jenetics.internal.math.comb.subsetmethod is now fully compatible with the Apache 2 licence.
- #262: Filter for duplicate individuals: It is now possible to intercept the stream of
EvolutionResults of the evolution
final Engine<DoubleGene, Integer> engine = Engine.builder(problem) .mapping(EvolutionResult.toUniquePopulation()) .build();
- #264: Upgrade Gradle to version 4.3.
- #266: The
Seqserialization should be more robust in the case of implementation changes.
- #268: Implementation of an
- #269: Cleanup of internal, mathematical helper functions.
- #272: Obey Java naming convention. Two helper classes have been renamed to obey the Java naming conventions.
- #279: Additional
- #26: Extend Gradle scripts for multi-module releases.
- #27: Parallel
- #64: Implementation of
- #181: XML marshaling module:
- #199: Termination: Population convergence.
- #201: Simplify Gradle build scripts.
- #204: Remove internal
- #207: Add missing
- #216: Restructuring of User's Manual.
- #218: Mark
LCG64ShiftRandomclass as deprecated.
- #219: Mark
JAXBmarshaling as deprecated.
- #227: Genetic Programming module:
- #228: Upgrade Gradle to 4.0.2.
- #229: Define stable module names.
- #236: Rename module
- #238: Align project directories with maven artifact names.
- #157: Add
- #158: Add
- #168: Remove dependency to
- #169: Describe how to configure (μ, λ) and (μ + λ) Evolution Strategies in manual.
- #177: Additional 'Seq' conversion functions:
- #182: Rename build script to default names. All build scripts are now named
- #188: Additional
TruncationSelectoris now able to globally limit best selected individuals. This is used for (μ, λ) and (μ + λ) Evolution Strategies.
- #197: Improve CPU utilization for long running fitness functions.
- #127: Change the maven group and artifact ID from
- #142: Jenetics now compiles without warnings with Java 9 EA.
- #145: Add additional
- #150: Implement fitness convergence termination strategy.
- #152: Remove
sameState(T)for mutable objects.
- #156: Implementation of an UniformCrossover.
- #162: Update and improve User's Manual.
- #103: Add
Altererimplementations are now able to handle
Chromosomes of different length.
- #135: Add
- #140: Additional
- #129: Fix Javadoc encoding.
- #81: It is now easier to register user-defined JAXB marshallings --
- #90, #91: The manual contains now a section where the performance of the
MonteCarloSelectorand an evolutionary
Selectoris compared (fig. 6.8, page 52).
- #96: Merge branch with incubation module
org.jenetix, which contains experimental classes.
- #101: Add manual example for solving the Rastrigin function.
- #68: Improve implementations of
Seqinterfaces. Note: The changes of this issue changes the Java serialization of the
Chromosomeswhich has been serialized with version 3.3 can't be loaded with version 3.4. As a workaround, it is still possible to write the
Chromosomesin XML format and load it with version 3.4.
- #73: Add additional methods to
- #79: Improve evolution performance measuring. Code resides now in (experimental)
- #85: Add support for fixed-sized subsets in
PermutationChromosomeclass. See also codecs.ofSubSet(ISeq, int).