[ https://issues.apache.org/jira/browse/MATH-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
AVIJIT BASAK closed MATH-1620. ------------------------------ Resolution: Duplicate This proposal has been incorporated as part of Jira MATH-1563 > Changes in Design and Data Structure of GeneticAlgorithm component > ------------------------------------------------------------------ > > Key: MATH-1620 > URL: https://issues.apache.org/jira/browse/MATH-1620 > Project: Commons Math > Issue Type: Improvement > Affects Versions: 3.6.1 > Reporter: AVIJIT BASAK > Priority: Minor > > I would like to propose following changes for GeneticAlgorithm library. > *1) Introducing Elitism interface*: In current design ElitisticListPopulation > introduces couple of new operations related to elitism without declaring them > in any abstraction. Elitism interface would be introduced, which would be > implemented by ElitisticListPopulation. > Removed Components: None > New Components: Elitism > Affected Components: ElitisticListPopulation > *2) Change of Indirect encoding chromosome hierarchy*: The hierarchy of > chromosome having indirect encoding would be changed. Currently the design > only considers permutation chromosome for combinatorial optimization. The > base interface is PermutationChromosome which is implemented by RandomKey > chromosome. A more appropriate name(like IndirectEncoding) of > PermutationChromosome can be used which will declare the decode() method. > This interface will be implemented by RandomKey chromosome. Tt would be more > meaningful for any other new indirectly encoded chromosome representing > different domain to implement the new interface. > Removed Components: PermutationChromosome > New Components: IndirectEncoding > Affected Components: RandomKey > *3) Improvement of BinaryChromosome data structure*: Currently binary > chromosome has been implemented as a list of Integer data where each binary > bit is represent as Integer. This reduces the memory utilization to a > considerable extent as 31 out of 32 bits are wasted. This needs to be > implemented as an array of int data type with each integer representing 32 > binary alleles. This would improve the memory utilization to 100%. This will > also impact the corresponding mutation and crossover operations. > Removed Components: o.a.c.m.g.BinaryChromosome > New Components: BinaryChromosome, OnePointBinaryCrossover, FlipMutation > Affected Components: None > > -- This message was sent by Atlassian Jira (v8.20.1#820001)