MCScheduling 1.0
Set of Algorithms for Solving Mixed-Criticality Scheduling
Classes | Public Member Functions | Protected Member Functions
MCScheduling.MixedCriticality.GA.CMixedCriticalityGeneticAlgorithm Class Reference

The implementation of a genetic algorithm to solve mixed-criticality scheduling problems. More...

Inheritance diagram for MCScheduling.MixedCriticality.GA.CMixedCriticalityGeneticAlgorithm:
MCScheduling.GeneticAlgorithm.CBaseGeneticAlgorithm

List of all members.

Classes

class  CEarliestDeadlineFirst
 Comparer used to sort a list of job indices in earlist deadline first manner.
class  CEarliestDeadlineLast
 Comparer used to sort a list of job indices in earliest deadline last manner.
class  CLatestCompletionTimeFirst
 Comparer used to sort a list of job indices in latest completion time first manner.
class  CLatestCompletionTimeLast
 Comparer used to sort a list of job indices in latest completion time last manner.
class  CMixedCriticalityGeneDistanceMeasurer
 The gene distance measurer for mixed-criticality genetic algorithm. More...

Public Member Functions

 CMixedCriticalityGeneticAlgorithm (CMixedCriticalityConfiguration configuration)
 Creates the genetic algorithm initialized with the specified configuration that may be used to solve a mixed-criticality scheduling problem.
override void createInitialPopulation (CPopulation population)
 Creates an initial population for the start of the genetic algorithm.

Protected Member Functions

CMixedCriticalityChromosome initialPriorityBasedSolution (CMixedCriticalityInstance instance, IComparer< int > jobPriorityOrdering)
 Generates the initial solution for the genetic algorithm.

Detailed Description

The implementation of a genetic algorithm to solve mixed-criticality scheduling problems.


Constructor & Destructor Documentation

MCScheduling.MixedCriticality.GA.CMixedCriticalityGeneticAlgorithm.CMixedCriticalityGeneticAlgorithm ( CMixedCriticalityConfiguration  configuration)

Creates the genetic algorithm initialized with the specified configuration that may be used to solve a mixed-criticality scheduling problem.

Parameters:
configurationThe configuration of the algorithm.

Member Function Documentation

override void MCScheduling.MixedCriticality.GA.CMixedCriticalityGeneticAlgorithm.createInitialPopulation ( CPopulation  population) [virtual]

Creates an initial population for the start of the genetic algorithm.

The initial population is generated this way: first 4 individuals are generated according to 4 heuristics and the rest of the population is generated randomly.

Parameters:
populationThe initial population to be filled up with chromosomes.

Implements MCScheduling.GeneticAlgorithm.CBaseGeneticAlgorithm.

CMixedCriticalityChromosome MCScheduling.MixedCriticality.GA.CMixedCriticalityGeneticAlgorithm.initialPriorityBasedSolution ( CMixedCriticalityInstance  instance,
IComparer< int >  jobPriorityOrdering 
) [protected]

Generates the initial solution for the genetic algorithm.

The initial solution is found by a heuristic priority-based algorithm using earliest deadline first priority rule.

Parameters:
instanceThe MC instance that is being solved by this genetic algorithm.
jobPriorityOrderingThe job priority-based ordering method.
Returns:
The initial solution for the specified mixed-criticality instance.
 All Classes Namespaces Functions Variables Properties