NAME

diff_evol -- minimization by differential evolution

PROTOTYPE

unitptr diff_evol( int iOperands, int iDim, int iNum, float fFac, float fAcc, char *pcOpt, unitptr uHost)

ARGUMENTS

int iOperands
number of operands
int iDim
dimension of genotype vector
int iNum
number of members in population
float fFac
initial value for step weight factor
float fAcc
probability for accepting child genes
char *pcOpt
option string (may be NULL)
unitptr uHost
host unit

RETURN VALUE:

A pointer to the created unit or NULL in the case of an error.

INTERFACE OF CREATED UNIT:

X_in[iNum*iDim]:
(packed input field 0) iNum iDim dimensional genotype vectors, representing initial population
Y_in[1]:
(input field 1) cost value as evaluated by operands
Z_in[2]:
(input field 2) parameters fFac and fAcc
CTL_in[1]:
(control field) nr of evolutionary steps to take (default = 1)
X_out[iDim]:
(output field 0) current genotype to evaluate by operands. After execution of the unit this field contains the best genotype that was found.
Y_out[iNum]:
(packed output field 1) current cost values. After execution of the unit, the lowest cost value will be in element 0 (the order of the remaining cost values is random).
Z_out[iNum*iDim]:
(packed output field 2) current population (this field is only updated after all nr steps have been made). After execution of the unit, the first iDim elements belong to the best vector.

EXECUTION OF CREATED UNIT:

Performs CTL_in steps of differential evolution.

DESCRIPTION:

CONTROL MODES:

NST_INIT:
re-initialize population with vectors at input field 0.

STATUS:

Preliminary.

SEE ALSO:

FILE

/local/homes/rhaschke/nst7/man/../o.linx86//../foldersrc/nst_cjgr.c