PGAEvaluate

Langue: en

Version: 251115 (debian - 07/07/09)

Section: 1 (Commandes utilisateur)

NAME

PGAEvaluate - Calls a user-specified function to return an evaluation of each string in the population.

DESCRIPTION

The user-specified function is only called if the string has been changed (e.g., by crossover or mutation) or the user has explicitly signaled the string's evaluation is out-of-date by a call to PGASetEvaluationUpToDateFlag().

INPUT PARAMETERS

ctx
- context variable
pop
- symbolic constant of the population to be evaluated
f
- a pointer to a function to evaluate a string. This function will be called once for each string in population pop that requires evaluation. This function must return a double (the evaluation function value) and must fit the prototype double f(PGAContext *c, int p, int pop);
comm
- an MPI communicator

OUTPUT PARAMETERS

none

SYNOPSIS

 #include "pgapack.h"
 void  PGAEvaluate(ctx, pop, , comm)
 PGAContext *ctx
 int pop
 double (*f)(PGAContext *, int, int)
 MPI_Comm comm
 

LOCATION

parallel.c

EXAMPLE

 Example:
 Evaluate all strings in population PGA_NEWPOP using the user-defined
 evaluation function Energy.
 
 double Energy(PGAContext *ctx, int p, int pop) {
 :
 };
 
 PGAContext *ctx;
 :
 PGAEvaluate(ctx, PGA_NEWPOP, Energy, MPI_COMM_WORLD);