[ 
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)

Reply via email to