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().
- 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);