Python based project involving Technique based Multi-objective optimisation.
-
Clone the repository to your local workspace using
git clone https://github.com/zencodess/genetic-algorithms-optimization.git -
The main executable file is
./run.py, this is the only file to be run. It has all the commands to invoke and execute all remaining files too. -
The
pygenmodule generates first generation of files with differentWn, Wp, Ln, Lpvalues. -
The
mutationmodule introduces random error in the values ofWn, Wp, Ln, Lpof the files maintaining them in results. -
The modules
crossoverandcrossover_childperform crossover and produce children. -
fitnessmodule, runs hspice on files having different values ofWn, Wp, Ln, Lp, takes values of leakagepower and delays , assigns fitness value to each file in the generation. -
Once you run the file , run.py , directories to hold 20 generations are created. In each generation's directory (
genXX), we havemutation, delay, leakage, crossoverdirectories, byproduct text filesstats.txtandnext_gen.txt.- In the text file,
next_gen.txt, we have files of that generation in decreasing order of their fitness values. - In the
stats.txt, file, the leakages and delays are put in the order from the best file to the worst ones in the generation.
- In the text file,
-
The change in delays and leakage powers can be known by , observing the delays and leakages of file with index number same as that of last number in the stats file of the initial generation (stats file in gen0 directory) and the delays and leakages of file with index number same as that of first number in the stats file (stats file in gen19 directory) of the final generation.
-
In mutation directory (
genXX/mutation), we getdelayandleakagedirectories , which havedelay.mt0andleakage.ms0files (of different indices) which can be looked up for getting the values of delay and leakages of best files in that generation.
Commands to run the file
python run.py- The maxdelay and average leakage are displayed on the screen for all the 100 files in each genertion- Let k be the last generation
cat genk/next_gen.txt - The first number indicates the best child let it be
i,cat genk/mutation/delay/i_delay.mt0andcat genk/mutation/leakage/i_leakage.ms0gives the leakage and delay results on the screen - To get the delay and leakage of all population also gives the file with best heuristic, run python fitness.py give no.of generations as input