Implementation of a simple Genetic Algorithm for scheduling optimization
OfflineScheduler.exe [options]
[options] -a FILE Use FILE as library of architectures (please see bellow for formatting restrictions)
-c DECIMAL_NUM
Set the crossover rate to DECIMAL_NUM
-d FILE
Use FILE as the DFG file (usually contains a .aif extention)
-g INTEGER
Run the genetic algorithm for INTEGER generations
-m DECIMAL_NUM
Set the mutation rate to DECIMAL_NUM
-p INTEGER
Set the Population size to INTEGER individuals
-t INTEGER
Seed the random number generator with INTEGER
- These arguments are all optional and can be entered in any order.
- more options are currently in development
Default Values - Architecture Library file = input/architecture_library.txt - DFG = input/B1_10_5.aif
- Crossover rate = 0.85
- Mutation rate = 0.005
- Population size = 50
- Number of Generations = 500
Program Output - Error messages are currently being printed to stderr - All other program output is printed to stdout
The DFG should be generated by Ahmed's taskGenerator
The Crossover rate should be a decimal number between 0 and 1 The Mutation rate should be a decimal number between 0 and 1
The Population size should be a number between 2 and 10000 The number of generations should be greater than 1
The very first line in the file MUST be as follows: Num_Tasks= # # = the number different tasks that this file contains
The properties of each task must be entered in the following order:
<CONFIGURATION_TIME> <EXECUTION_TIME> <CONFIGURATION_POWER> <EXECUTION_POWER>
- each property must be an integer separated by one or more whitespaces
Lines beginning with # are ignored by the parser
All implementations of the same task MUST have the exact same name (eg. TASK2)
Please see the tag \ FUTURE in the source code