[galib] Parallelization of ga.step()

Campbell, Todd D [CARD] tdc at iastate.edu
Mon Apr 18 16:19:39 EDT 2011


I'm not in a position to give out source, but it may be too big & elaborate for an example anyway.  It's a Windows MFC-based program with a class derived from CPopulation, containing a function "evaluate_multithreaded" which invokes a modal dialog which calls CreateThread (a windows API function).  The objective function calls a Fortran program on each individual. Using a modal dialog gives us an ongoing display of progress and a button to stop the run at the end of any generation.

-Todd

-----Original Message-----
From: galib-bounces at mit.edu [mailto:galib-bounces at mit.edu] On Behalf Of Paul Smith
Sent: Monday, April 18, 2011 3:09 PM
To: galib at mit.edu
Subject: Re: [galib] Parallelization of ga.step()

Interesting, Todd. Is there some minimal example to illustrate that?

Paul


On Mon, Apr 18, 2011 at 8:33 PM, Campbell, Todd D [CARD] <tdc at iastate.edu> wrote:
> Hi,
>
> We did this.  Unfortunately, the function CPopulation.evaluate is not declared virtual, so you can't just derive a class from CPopulation to replace it.  You need to write your own GASteadyState.step to call your own evaluate.
>
> I think most objective functions are independent enough to be ideal for parallel execution.
>
> -Todd Campbell
> tdc at iastate.edu
>
> -----Original Message-----
> From: galib-bounces at mit.edu [mailto:galib-bounces at mit.edu] On Behalf 
> Of Gustavo Bouzon
> Sent: Monday, April 18, 2011 2:21 PM
> To: galib at mit.edu
> Subject: [galib] Parallelization of ga.step()
>
> Hi,
>
> we are using GASteadyState and GARealGenome to optimize a system where each individual's evaluation takes some seconds. Has anyone worked with parallel execution of individuals?
>
> We are currently using GASteadyState::step(). Are there methods of GASteadyState to control evaluation on an individual basis?
>
> In case not, we're likely to modify GASteadyState::step() to execute each individual inside a thread (all threads will be joined in the end each step).
>
> Thanks in advance, Gustavo.
>
> --
>
> Gustavo Bouzon
> Automation Engineer
> SCADAPLUS Project
> Tel: +55 48 8801 7188
> www.optimale.com.br
>
> _______________________________________________
> galib mailing list
> galib at mit.edu
> http://mailman.mit.edu/mailman/listinfo/galib
>
> _______________________________________________
> galib mailing list
> galib at mit.edu
> http://mailman.mit.edu/mailman/listinfo/galib
>

_______________________________________________
galib mailing list
galib at mit.edu
http://mailman.mit.edu/mailman/listinfo/galib




More information about the galib mailing list