MCScheduling 1.0
Set of Algorithms for Solving Mixed-Criticality Scheduling
|
The implementation of a genetic algorithm to solve mixed-criticality scheduling problems. More...
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. |
The implementation of a genetic algorithm to solve mixed-criticality scheduling problems.
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.
configuration | The configuration of the algorithm. |
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.
population | The 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.
instance | The MC instance that is being solved by this genetic algorithm. |
jobPriorityOrdering | The job priority-based ordering method. |