Raw data for evolving AVC controller
An Excel spreadsheet generated by the genetic algorithm (GA) program "GenAlgor4_1_5Arduino.m", which calls the Arduino Due program "ArduinoMatlabControllerV6_2.ino" to impliment hardware-in-the-loop active vibration control.
The spreadsheet contains raw data from a run of 250 generations of the GA optimising controller coefficients for active vibration control (AVC). The run in this file was for a population of 50 individuals, each of 60 x 4 bit genes.
Breeding was by elite selection with double point crossover and 1% mutation.
The first six rows contain the GA set up:
row 1: population size
row 2: number of genes per chromosome (population member)
row 3: number of bits per gene
row 4: breeding selection type (1=elite, 2=roulette)
row 5: breeding crossover type (1=single point, 2=double point or circular)
row 6: mutation rate
Rows 7 onwards give population genes and AVC results in each generation, sorted in order of performance index (PI) = fitness - cost
1st generation and thereafter every 10th generation are given in full. Other generations’ results are given only for the best, middle and worst individuals only.
Each row gives the value of each gene, a number 0-15 for 4 bit genes, in columns A-BH for 60 genes. This is followed by three columns containing the AVC results:
column BI: performance index = fitness - cost
column BJ: amplitude returned from Arduino
column BK: cost
fitness = amplitude reduction - cost
amplitude reduction = uncontrolled - AVC amplitude
cost = sum of delay line coefficients × a constant