run 3 data_250.xls (926 kB)
Download file

Raw data for evolving AVC controller

Download (926 kB)
posted on 2023-01-24, 11:48 authored by Jack HaleJack Hale

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