A.6 Termination Conditions

Although the kernel can work until not stopped by the user, some build-in stopping conditions exists of course.

A.6.1 Termination Conditions in Child Process

The child process can stop due to these condition:

operation ... almost evety GA tool execution is considered as an operation. Exceptions are: GA selectors, GA tables and some others (Empty, Copy, Move). change ... every change in the genes bit array is considered as a change.

Here is a list of appropriate parameters (switch means a boolean parameter un/enabling the condition)

Parameter Description Switch
MaxGenerations Maximal count of generations CheckMaxGenerations
MaxOps Maximal count of operations CheckMaxOps
MaxChngs Maximal count of changes CheckMaxChngs
MinEndFit Minimal fitness to end CheckMinEndFit
AvgEndFit Average fitness to end CheckAvgEndFit
MaxEndFit Fit of best gene to end CheckMaxEndFit

A.6.2 Termination Conditions in Parent Process

If a parent is stopped. It stops all running child processes immediately.

These are the stopping conditions:

Parameter Description Switch
MaxGenerations Maximal count of generations CheckMaxGenerations
MaxOps Maximal count of operations CheckMaxOps
MaxChngs Maximal count of changes CheckMaxChngs
MinEndFit Minimal fitness to end CheckMinEndFit
AvgEndFit Average fitness to end CheckAvgEndFit
MaxEndFit Fit of best gene to end CheckMaxEndFit
 

A.6.4 Technical Details

The stopping conditions are guarded using kernel infos. Namely: TKIGaStats, T KIGaNumInfo and TGKIGaStats.. The only exception are the parent's stopping conditions, that depend on the number of stopped childs. These are maintained by direct messages from child processes to parent about their state.

Programmer's Guide Project Antares