commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gilles <>
Subject Re: [math] questions on GA
Date Thu, 17 Mar 2016 18:35:26 GMT

On Thu, 17 Mar 2016 19:11:16 +0300, Семенов Кирилл wrote:
> Hi,
> I've been using genetic algorithm for some pet projects. And I'd like 
> to
> shed some light on a number of topics.

Thanks for you interest.

Given that there exist Java softwares that seem to provide a more 
features set, I'd be interested to know a user's opinion on how the
CM implementation compares with those.
In effect, some time ago we evoked the possibility to drop GA support
altogether since the code seemed little used and a lot of work was
anticipated for making it useful beyond demo applications.

> 1. Am I correct to think, that now GA is working in a single thread?


Very few CM codes are multi-thread ready.  It was one of the task to
be tackled for future versions of the library, but lacking human 
it's unlikely to become a reality any time soon.

> In
> such case, was there any discussions on the subject (I didn't find 
> within a
> quick check of Jira).

There were discussions (cf. "dev" ML archive).

> If not, could you provide some API reference. The
> subject is important, because the ability to be distributed is one of 
> the
> key features of the GA.
> 2. Was there talks about implementing Pool for chromosomes? I found
> enhancement proposal 
> -
> which is aimed to solve the same problem - creating an enormous 
> amount of
> chromosomes in each generation. Chromosomes after each generation 
> hangs in
> a heap waiting for GC. Also, object pool can be implemented, 
> supposing that
> chromosome would consist of List<? extends PooledObject>.

If someone would want to start a large overhaul of the GA code, that is
worth considering.
Do you mean using an existing library, or do you suggest implementing 
functionality specifically for CM?

> 3. Examples of using getRepresentation method of 
> AbstractListChromosome
> seem misleading. Because getRepresentation  is protected method and 
> writing
> classes that implement MutationPolicy/CrossoverPolicy can't use it. 
> For
> rapid development one could implement public overriding method, but 
> can't
> it be defined public in AbstractListChromosome? If one is to write 
> some
> particular policy, he must override getRepresentation method in
> CustomChromosome. But if one wants to write some common genetic 
> policy
> (e.g., some reordering crossover), he would face an obstacle 
> mentioned.
> I'd like to create tasks for those in Jira. Just want to make sure, 
> that
> these topics would be useful and gather some information, other 
> devepoler's
> opinions on a matter.

You can always point to lacking features by opening JIRA reports, but 
you intend to work on them yourself, I wouldn't bet on having them 

Best regards,

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message