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

The simulated annealing solver for the mixed-criticality scheduling. More...

Inheritance diagram for MCScheduling.MixedCriticality.SA.CMixedCriticalitySimulatedAnnealing:
MCScheduling.SimulatedAnnealing.CBaseSimulatedAnnealing< T >

List of all members.

Classes

class  CEarliestDeadlineFirst
 Comparer used to sort a list of job indices in earlist deadline first manner.
class  CExponentialAcceptor
 Classic exponential distribution acceptor. More...
class  CLowerBetterComparer
 Lower energy - lower makespan / lateness - better solution. More...
class  CMinimumMakespanLatenessEvaluator
 Evaluates the energy of the given state as a convex sum of the makespan and lateness of the corresponding solution schedule. More...
class  CPerturber
 The perturber used to change one state into one of its "neighbouring" state. More...
class  CProportionalCooler
 The proportional cooler works the way that the temperature at the next time instant is proportional to the temperature in the previous. More...

Public Member Functions

void setConfiguration (CSimulatedAnnealingConfiguration configuration)
 Sets up the configuration of this simulated annealing algorithm.
CSimulatedAnnealingConfiguration getConfiguration ()
 Returns the configuration of simulated annealing algorithm.
void setInstanceToSolve (CMixedCriticalityInstance instance)
 Sets the MC instance to be solved by running a simulated annealing.

Protected Member Functions

override CSimulatedAnnealingState InitialSolution ()
 Generates the initial solution for the simulated annealing algorithm.
override void moveToNeighbour (ref CState state, double temperature)
 Transformes the specified state to a state from its nearest neighbourhood.

Detailed Description

The simulated annealing solver for the mixed-criticality scheduling.


Member Function Documentation

CSimulatedAnnealingConfiguration MCScheduling.MixedCriticality.SA.CMixedCriticalitySimulatedAnnealing.getConfiguration ( )

Returns the configuration of simulated annealing algorithm.

Returns:
The configuration of simulated annealing algorithm.
override CSimulatedAnnealingState MCScheduling.MixedCriticality.SA.CMixedCriticalitySimulatedAnnealing.InitialSolution ( ) [protected, virtual]

Generates the initial solution for the simulated annealing algorithm.

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

Returns:
The initial state of the simulated annealing.

Implements MCScheduling.SimulatedAnnealing.CBaseSimulatedAnnealing< T >.

override void MCScheduling.MixedCriticality.SA.CMixedCriticalitySimulatedAnnealing.moveToNeighbour ( ref CState  state,
double  temperature 
) [protected, virtual]

Transformes the specified state to a state from its nearest neighbourhood.

Parameters:
stateThe state to move.
temperatureThe current value of the temperature parameter.

Reimplemented from MCScheduling.SimulatedAnnealing.CBaseSimulatedAnnealing< T >.

void MCScheduling.MixedCriticality.SA.CMixedCriticalitySimulatedAnnealing.setConfiguration ( CSimulatedAnnealingConfiguration  configuration)

Sets up the configuration of this simulated annealing algorithm.

Parameters:
configurationThe settings of this simulated annealing algorithm.
void MCScheduling.MixedCriticality.SA.CMixedCriticalitySimulatedAnnealing.setInstanceToSolve ( CMixedCriticalityInstance  instance)

Sets the MC instance to be solved by running a simulated annealing.

Parameters:
instanceThe MC instance to solve.
 All Classes Namespaces Functions Variables Properties