Struct PGAAlgorithm

Struct Documentation

struct PGAAlgorithm

GA Algorithm Structure.

Public Members

int datatype

data type: binary, integer, or real

int optdir

direction of optimization

int tw

total number of words, full + partial

int fw

number of full (WL length) words

int eb

number of extra bits in last NOT full word

int PopSize

Number of strings to use

int NumAuxEval

Number of auxiliary evaluation values

int NumConstraint

Number of constraints

int SumConstraints

PGA_TRUE if no dominance-sorting for constraints

double Epsilon

Current epsilon for eps constraints

double Epsilon_0

Initial Epsilon for eps constraints

int EpsilonGeneration

Max Generation for epsilon constraints

double EpsilonExponent

Exponent for tightening epsilon

double EffEpsExponent

Effective Exponent for tightening epsilon.

int EpsTLambda

Generation lambda for dynamic exponent

int EpsilonTheta

Theta best individual of epsilon init

int StringLen

string lengths

int StoppingRule

Termination Criteria

int MaxIter

Maximum number of iterations to run

int MaxNoChange

Number of iters with no change before stopping

int MaxSimilarity

Percentage of pop the same before stopping.

int NumReplace

Number of string to replace each gen

int PopReplace

Method of choosing ind.s to copy to newpop.

int iter

iteration (generation) counter

int last_iter

Used by selection methods internally

int perm_idx

Index into scratch permute array

int ItersOfSame

Number of iterations with no change in best

int PercentSame

Percentage of pop that is homogeneous

int NoDuplicates

Don’t allow duplicate strings

int CrossoverType

Type of crossover for genetic algorithm

int CrossBoundedFlag

Confine alleles to given range (bound)

int CrossBounceFlag

Confine alleles to given range (bounce)

double CrossSBXEta

eta value for SBX

int CrossSBXOnce

SBX probability once for whole string

int SelectType

Type of selection for genetic algorithm

int SelectIndex

index of Select for next two individuals

int FitnessType

Type of fitness transformation used

int FitnessMinType

Transformation for minimization problems

int MixingType

Combination of crossover/mutation

int MutationType

Type of mutation used

int MutateIntegerValue

Multiplier to mutate Integer strings with.

int MutateBoundedFlag

Confine alleles to given range (bound)

int MutateBounceFlag

Confine alleles to given range (random)

double MutatePolyEta

Eta for polynomial mutation

double MutatePolyValue

Value for polynomial mutation

double TournamentSize

Number of participants in tournament

int RTRWindowSize

Window for restricted tournament select

int TournamentWithRepl

Tournament with / without replacement

int RandomizeSelect

Additional randomisation during select

int DEVariant

Differential evolution (DE) variant

int DENumDiffs

Number of differences for DE (1 or 2)

int DECrossoverType

Crossover type DE

int DEDitherPerIndividual

Per indidivual or per generation

double DEDither

Dither value centered around F

double DEScaleFactor

Scale Factor F for DE

double DEAuxFactor

Auxiliary Factor K for DE

double DECrossoverProb

Crossover probability Cr for DE

double DEJitter

Jitter interval DE (uniform dist)

double DEProbabilityEO

Either-Or-Probability for DE

double MutateRealValue

Multiplier to mutate Real strings with

double MutationProb

Starting mutation probability

double CrossoverProb

Crossover probability

double UniformCrossProb

Prob of bit select in uniform crossover

double PTournamentProb

Prob of selection in Prob.

Tournament

double FitnessRankMax

MAX value for use in ranking

double FitnessCmaxValue

Cmax value used to convert minimizations

double restartAlleleProb

prob of changing an allele in a restart

double TruncProportion

proportion for truncation selection

int NAMWindow

Win size for negative assortative mating

int restart

whether to use the restart operator

int restartFreq

frequency with which to restart

int *selected

array of indices for selection

int *sorted

array of sorted individual indices

size_t nrefdirs

Number of reference directions

void *refdirs

Reference directions for NSGA-III

void *normdirs

normalized reference directions

size_t ndpoints

Number of points in refdir point cloud

double dirscale

Scale factor for reference directions

int ndir_npart

Number Das Dennis partitions for refdir

size_t nrefpoints

Number of reference points

void *refpoints

Ref points on normalized hyperplane

void *extreme

Extreme vector for NSGA-III

int extreme_valid

PGA_TRUE of above is valid

double *utopian

Utopian vector for NSGA-III

int utopian_valid

PGA_TRUE of above is valid

double *nadir

nadir point for NSGA-III

double *worst

Worst point discovered so far

int worst_valid

PGA_TRUE of above is valid

size_t n_edges

Number of fixed edges

int symmetric

Fixed edges are symmetric?

PGAFixedEdge *edges

Fixed edges for edge crossover

PGAInteger (*r_edge)[2]

Right node + index into edges

FILE *OutputFile

Output file

char *OutFileName

Output filename

void *CustomData

For the user, not sent via MPI

PGAIndividual *oldpop

pointer to population (old)

PGAIndividual *newpop

pointer to population (new)