@jenetics jenetics released this May 31, 2018 · 3 commits to master since this release

Assets 3

Improvements

  • #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.

Bugs

  • #317: Fix links of Javadoc images.
  • #318: null result from engine.stream() after upgrade from 4.0.0 to 4.1.0.
  • #336: Errornous default implementation of 'Seq.indexWhere'.
  • #341: Error in internal 'bit.increment' method.
  • #345: Assumption for 'Genotype.newInstance(ISeq)' no longer holds.

@jenetics jenetics released this Feb 14, 2018 · 135 commits to master since this release

Assets 3

Improvements

  • #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.

Bugs

  • #290: User's manual fixes.
  • #298: Fix GP load/save of generated tree.

@jenetics jenetics released this Nov 16, 2017 · 588 commits to master since this release

Assets 3

Improvements

  • #28: Immutable population class. The original Population class has been replaced by Seq<Phenotype<G, C>>. This points to a more functional implementation of the library.
  • #119: Chromosome implementations are now fully immutable. This is an internal change only.
  • #121: Mutator class is easier now to extend. It has been extended with additional mutate methods which serves as extension points for onw Mutator implementations.
  • #123: Chromosome with 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)).
  • #172: io.jenetics.prngine library replaces the existing PRNG implementations in the io.jenetics.base module.
  • #175: Align random int range generation with io.jenetics.prngine library. This is an internal change only.
  • #180: Change library namespace from org.jenetics to 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 Genotype are 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 JAXB marshalling and the LCG64ShiftRandom class.
  • #260: Clean room implementation of internal subset function. 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.subset method 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 Engine:
final Engine<DoubleGene, Integer> engine = Engine.builder(problem)
	.mapping(EvolutionResult.toUniquePopulation())
	.build();
  • #264: Upgrade Gradle to version 4.3.
  • #266: The Seq serialization should be more robust in the case of implementation changes.
  • #268: Implementation of an EliteSelector.
  • #269: Cleanup of internal, mathematical helper functions.
  • #272: Obey Java naming convention. Two helper classes have been renamed to obey the Java naming conventions. codecs -> Codecs and limits -> Limits.
  • #279: Additional MSeq.swap method.

Bugs

  • #247: Fix the classpath of the jrun helper script.
  • #256: Buggy type signature of AnyChromosome.of method.

@jenetics jenetics released this Aug 22, 2017 · 1198 commits to master since this release

Assets 3

Improvements

  • #26: Extend Gradle scripts for multi-module releases.
  • #27: Parallel EvolutionStream.
  • #64: Implementation of TreeGene/Chromosome.
  • #181: XML marshaling module: org.jenetics.xml.
  • #199: Termination: Population convergence.
  • #201: Simplify Gradle build scripts.
  • #204: Remove internal Stack container class.
  • #207: Add missing BitChromosome factory methods.
  • #216: Restructuring of User's Manual.
  • #218: Mark LCG64ShiftRandom class as deprecated.
  • #219: Mark JAXB marshaling as deprecated.
  • #227: Genetic Programming module: org.jenetics.prog.
  • #228: Upgrade Gradle to 4.0.2.
  • #229: Define stable module names.
  • #236: Rename module jenetix to org.jenetics.ext
  • #238: Align project directories with maven artifact names.

Bugs

  • #212: Fix Seq.toArray(Object[]) method.
  • #226: Incorrect MinMax.toString() output.
  • #233: Engine.java Comment Grammar Fix.
  • #234: Population.empty() isn't empty

@jenetics jenetics released this Apr 28, 2017 · 1806 commits to master since this release

Assets 3

Improvements

@jenetics jenetics released this Dec 26, 2016 · 1941 commits to master since this release

Assets 3

Improvements

Bug fixes

  • #143: Fix serialization of EvolutionResult class.
  • #146: NPE in EvolutionResult.toBestEvolutionResult() when collecting empty EvolutionStreams.
  • #159: The User's Manual build fails for Lyx version 2.2.2.

@jenetics jenetics released this Sep 24, 2016 · 2100 commits to master since this release

Assets 3

Improvements

  • #103: Add MSeq.sort method.
  • #114: Alterer implementations are now able to handle Chromosomes of different length.
  • #135: Add Codec.decode(Genotype) default method.
  • #140: Additional EvolutionResult.toBestResult collectors.

Bug fixes

  • #129: Fix Javadoc encoding.

Updates

  • #134: Update Gradle to 3.1.
  • #138: Update TestNG to 6.9.13.

@jenetics jenetics released this May 26, 2016 · 2197 commits to master since this release

Assets 3

Bug fixes

  • #111: Dead lock for single-threaded executors.

@jenetics jenetics released this Apr 24, 2016 · 2205 commits to master since this release

Assets 3

Improvement

  • #81: It is now easier to register user-defined JAXB marshallings -- org.jenetics.util.IO.JAXB.register
  • #90, #91: The manual contains now a section where the performance of the MonteCarloSelector and an evolutionary Selector is 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.

Bug fixes

  • #92: Fix example code in user manual.
  • #94: Inconsistent pre-condition check of Engine.Builder.build method.
  • #99: EvolutionResult was not completely immutable.

@jenetics jenetics released this Feb 10, 2016 · 2589 commits to master since this release

Assets 3

Improvement

  • #68: Improve implementations of Seq interfaces. Note: The changes of this issue changes the Java serialization of the Genes and Chromosomes. Gene/Chromosomes which 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 Genes/Chromosomes in XML format and load it with version 3.4.
  • #73: Add additional methods to Seq interface: Seq.append and Seq.prepend.
  • #79: Improve evolution performance measuring. Code resides now in (experimental) org.jenetics.tool module.
  • #85: Add support for fixed-sized subsets in PermutationChromosome class. See also codecs.ofSubSet(ISeq, int).