MCScheduling 1.0
Set of Algorithms for Solving Mixed-Criticality Scheduling
Public Member Functions | Protected Member Functions
MCScheduling.GeneticAlgorithm.CBaseMutationOperator Class Reference

A base class for implementation of a mutation genetic operator. More...

Inheritance diagram for MCScheduling.GeneticAlgorithm.CBaseMutationOperator:
MCScheduling.GeneticAlgorithm.CGeneticOperator MCScheduling.GeneticAlgorithm.IMutationOperator MCScheduling.GeneticAlgorithm.CDisplacedInversionMutation MCScheduling.GeneticAlgorithm.CDisplacementMutation MCScheduling.GeneticAlgorithm.CExchangeMutation MCScheduling.GeneticAlgorithm.CInsertionMutation MCScheduling.GeneticAlgorithm.CInversionMutation MCScheduling.GeneticAlgorithm.CScrambleMutation

List of all members.

Public Member Functions

double getMutationRate ()
 Returns the mutation rate used by this operator.
void setMutationRate (double mutationRate)
 Sets the mutation rate for this operator.
bool shouldPerformMutation ()
 Determines whether the mutation should be performed.
abstract void apply (IChromosome chromosome)
 Mutates the specified chromosome in a operator-specific way forming a new chromosome, which will then go to the next generation.

Protected Member Functions

 CBaseMutationOperator (CConfiguration configuration, double mutationRate)
 Instantiates the base mutation operator.

Detailed Description

A base class for implementation of a mutation genetic operator.


Constructor & Destructor Documentation

MCScheduling.GeneticAlgorithm.CBaseMutationOperator.CBaseMutationOperator ( CConfiguration  configuration,
double  mutationRate 
) [protected]

Instantiates the base mutation operator.

Parameters:
configurationThe configuration of the genetic algorithm that will utilize this operator.
mutationRateThe mutation rate for this operator.
Exceptions:
NullReferenceExceptionIf confuguration is null.
ArgumentOutOfRangeExceptionIf mutationRate is not in 0.0 and 1.0 range.

Member Function Documentation

abstract void MCScheduling.GeneticAlgorithm.CBaseMutationOperator.apply ( IChromosome  chromosome) [pure virtual]
double MCScheduling.GeneticAlgorithm.CBaseMutationOperator.getMutationRate ( )

Returns the mutation rate used by this operator.

Returns:
The mutation rate.
void MCScheduling.GeneticAlgorithm.CBaseMutationOperator.setMutationRate ( double  mutationRate)

Sets the mutation rate for this operator.

The mutationRate is expected to be decimal value between 0.0 and 1.0 inclusive.

Parameters:
mutationRateThe mutation rate to be set.
Exceptions:
ArgumentOutOfRangeExceptionIf mutationRate is not in 0.0 and 1.0 range.
bool MCScheduling.GeneticAlgorithm.CBaseMutationOperator.shouldPerformMutation ( )

Determines whether the mutation should be performed.

Returns:
True if the mutation should be performed by this operator, otherwise, false.
 All Classes Namespaces Functions Variables Properties