man PGASetUserFunction (Fonctions bibliothèques) - specifies the name of a user-written function call to provide a specific GA capability (e.g., crossover, mutation, etc.). This function MUST be used when using a non-native datatype and must be called once for each of: PGA_USERFUNCTION_CREATESTRING -- String creation PGA_USERFUNCTION_MUTATION -- Mutation PGA_USERFUNCTION_CROSSOVER -- Crossover PGA_USERFUNCTION_PRINTSTRING -- String Output PGA_USERFUNCTION_COPYSTRING -- Duplication PGA_USERFUNCTION_DUPLICATE -- Duplicate Checking PGA_USERFUNCTION_INITSTRING -- Initialization PGA_USERFUNCTION_BUILDDATATYPE -- MPI Datatype creation PGA_USERFUNCTION_STOPCOND -- Stopping conditions PGA_USERFUNCTION_ENDOFGEN -- Auxiliary functions at the end of each generation It MAY be called when using a native datatype to replace the built-in functions PGAPack has for that datatype (For example, if the Integer data type is used for a traveling salesperson problem, the user may want to provide their own custom crossover operator). See the user guide and the examples in the examples directory for more details.
NAME
PGASetUserFunction - specifies the name of a user-written function call to provide a specific GA capability (e.g., crossover, mutation, etc.). This function MUST be used when using a non-native datatype and must be called once for each of: PGA_USERFUNCTION_CREATESTRING -- String creation PGA_USERFUNCTION_MUTATION -- Mutation PGA_USERFUNCTION_CROSSOVER -- Crossover PGA_USERFUNCTION_PRINTSTRING -- String Output PGA_USERFUNCTION_COPYSTRING -- Duplication PGA_USERFUNCTION_DUPLICATE -- Duplicate Checking PGA_USERFUNCTION_INITSTRING -- Initialization PGA_USERFUNCTION_BUILDDATATYPE -- MPI Datatype creation PGA_USERFUNCTION_STOPCOND -- Stopping conditions PGA_USERFUNCTION_ENDOFGEN -- Auxiliary functions at the end of each generation It MAY be called when using a native datatype to replace the built-in functions PGAPack has for that datatype (For example, if the Integer data type is used for a traveling salesperson problem, the user may want to provide their own custom crossover operator). See the user guide and the examples in the examples directory for more details.
INPUT PARAMETERS
- ctx
- - context variable
- constant
- - symbolic constant of the user function to set
- f
- - name of the function to use
OUTPUT PARAMETERS
- none
SYNOPSIS
#include "pgapack.h" void PGASetUserFunction(ctx, constant, f) PGAContext *ctx int constant void *f
LOCATION
user.c
EXAMPLE
Example: void MyStringInit(PGAContext *, void *); PGAContext *ctx; : PGASetUserFunction(ctx, PGA_USERFUNCTION_INITSTRING, MyStringInit);