CouplingOperations.h File Reference

This file contains declaration of classes that implement coupling operations. More...

#include "PopulationOperations.h"

Namespaces

namespace  Population
namespace  Population::CouplingOperations

Classes

class  Population::CouplingOperations::GaSimpleCoupling
 GaSimpleCoupling coupling takes first two parents and it produces two child using crossover operations, and each parent is bound to one child, then it takes next two parents, and so on... If all parents are used, but more children should be produced, this coupling operation wraps-around parent counter and starts from beginning until enough children is produced. This coupling use GaCouplingParams class for parameters. More...
class  Population::CouplingOperations::GaMulitpleCrossoverCouplingParams
 This class should be used (directly or by inheritance) by coupling operations which produce more then one child per parent pair before it chooses best child. More...
class  Population::CouplingOperations::GaCrossCoupling
 GaCrossCoupling coupling takes first parents sequentially from selection result set, and second parents are the ones who are right below the first. If all parents are used, but more children should be produced, this coupling operation wraps-around parent counter and starts from beginning until enough children is produced. When two parents are chosen this operation produces specified number of children using crossover operation and then it chooses child with best fitness value among produced children and first parent is bound to it. This coupling use GaMultipleCrossoverCouplingParams class for parameters. More...
class  Population::CouplingOperations::GaInverseCoupling
 GaInverseCoupling coupling takes first parents sequentially from selection results, and second parents are the ones who are at the distance from the last chromosome in selection results which is equal to distance of first parent form first chromosome in result set. If all parents are used, but more children should be produced, this coupling operation wraps-around parent counter and starts from beginning until enough children is produced. When two parents are chosen this operation produces specified number of children using crossover operation and then it chooses child with best fitness value among produced children and first parent is bound to it. This coupling use GaMultipleCrossoverCouplingParams class for parameters. More...
class  Population::CouplingOperations::GaRandomCoupling
 GaRandomCoupling coupling takes first parents sequentially from selection result set, and second parents are chosen randomly. If all parents are used as firs parent, but more children should be produced, this coupling operation wraps-around parent counter for the first parent and starts from beginning until enough children is produced. When two parents are chosen this operation produces specified number of children using crossover operation and then it chooses child with best fitness value among produced children and first parent is bound to it. This coupling use GaMultipleCrossoverCouplingParams class for parameters. More...
class  Population::CouplingOperations::GaBestAlwaysCoupling
 GaBestAlwaysCoupling coupling always takes chromosome with the best fitness value from selection result set, and the second parents are sequentially taken from. If all parents are used, but more children should be produced, this coupling operation wraps-around parent counter for second the parents and starts from beginning until enough children is produced. When two parents are chosen this operation produces specified number of children using crossover operation and then it chooses child with best fitness value among produced children and the second parent is bound to it. This coupling use GaMultipleCrossoverCouplingParams class for parameters. More...


Detailed Description

This file contains declaration of classes that implement coupling operations.


Genetic Algorithm Library
Coolsoft Software Development