Function PGACrossover

Function Documentation

void PGACrossover(PGAContext *ctx, int p1, int p2, int pop1, int c1, int c2, int pop2)

Perform crossover on two parent strings to create two child strings (via side-effect).

Description

The type of crossover performed is either the default or that specified by PGASetCrossoverType().

Example

Perform crossover on the two parent strings mom and dad in population PGA_OLDPOP, and insert the child strings, child1 and child1, in population PGA_NEWPOP.

PGAContext *ctx;
int mom, dad, child1, child2;

...
PGACrossover (ctx, mom, dad, PGA_OLDPOP, child1, child2, PGA_NEWPOP);

Parameters:
  • ctx – the context variable

  • p1 – the first parent string

  • p2 – the second parent string

  • pop1 – symbolic constant of the population containing string p1 and p2

  • c1 – the first child string

  • c2 – the second child string

  • pop2 – symbolic constant of the population to contain string c1 and c2

Returns:

c1 and c2 in pop2 are children of p1 and p2 in pop1. p1 and p2 are not modified.