[galib] Parallelization of ga.step()

Paul Smith phhs80 at gmail.com
Mon Apr 18 16:38:45 EDT 2011


Thanks anyway, Todd.

Paul


On Mon, Apr 18, 2011 at 9:19 PM, Campbell, Todd D [CARD]
<tdc at iastate.edu> wrote:
>
> 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
>
> _______________________________________________
> galib mailing list
> galib at mit.edu
> http://mailman.mit.edu/mailman/listinfo/galib
>




More information about the galib mailing list