[Paradiseo-help] Trying to use ParadisEO-PEO
paradiseo-help at lists.gforge.inria.fr
Lun 4 Mai 12:28:27 CEST 2009
Indeed, the processes do not know about other's results. Therefore, an
inelegant way would be simply to store the best results in
a (txt, xls, ods, ...) file and then compare between them.
Clément Perrod wrote:
> On Wed, Apr 15, 2009 at 4:02 PM, paradiseo help
> <paradiseo-help at lists.gforge.inria.fr> wrote:
>> peo :: run( );
>> peo :: finalize( );
>> if (getNodeRank()==1)
>> if (pop1.fitness() > pop2.fitness())
>> cout << "Best solution found\t" << pop1.fitness() << endl;
>> cout << "Best solution found\t" << pop2.fitness() << endl;
>> As to the second question, the answer is no. All processes execute the same
>> program. The results are common to all processes. Any process should do the
>> If you wish to fully understand the parallel aspect, you could read the
>> Message Passing Interface documentation.
> According to your messages I tried this approach. Unfortunately it
> doesn't work. Assuming three populations (pop1, pop2 and pop3) if I
> launch them on 3 nodes I can access information about each easily (by
> testing the value of getNodeRank).
> But if I am trying to do the same in only one node (for example: one
> node 1) I have an error telling me pop2 and pop3 have invalid fitness.
> That means the node 1 does not know anything about the actual process
> on the nodes 2 and 3.
> This seems pretty normal for me because if the node 1 tries to access
> information about pop2 or pop3 and the evaluation process on these
> nodes are not ended there will be a problem.
> So I still looking for a solution to only print the best result of my
> distributed EA. have you any idea? Or the best solution is to have a
> post-treatment, comparing best fitness in another program?
Plus d'informations sur la liste de diffusion Paradiseo-help