This project contains some of the files I created for the purpose of a research project at UCL in the Optical Networks Group.
The purpose of the project was to develop an optimization approach (genetic algorithm) to optimize the input to the SOA (semiconductor optical amplifier). The SOAs are electrically pumped optical amplifiers of small size and with a potential for ultra-fast, energy-efficient switching. This could be useful in the all-optical network for the cloud data center of the future.
The results obtained improve upon any standard techniques or novel approaches found in the literature, and have been published in an IEEE JLR paper "Optimal Control of SOAs with Artificial Intelligence for Sub-Nanosecond Optical Switching".
To see the genetic algorithm in action, run the "simulation_ga_optimization.py" file. You probably won't be able to run any other file successfully unless you're in ONG's lab, but feel free to read through the code.