[
https://issues.apache.org/jira/browse/MATH-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17451222#comment-17451222
]
Gilles Sadowski commented on MATH-1620:
---------------------------------------
Please add links to all the related JIRA issues and to the corresponding PRs.
Thanks.
> 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)