# ANN-assisted Goal attainment method for optimal design of a preamplifier

## Description

This data set contains MATLAB routines for ANN-assisted optimization of circuit parameters for an amplifier proposed by S. Devi et al [Doi: 10.1007/s00542-020-05114-y]. There are two ANN fitting functions which predict overall circuit area for eight known circuit parameters: slew rate, load capacitor, gain bandwidth product, maximal input voltage, minimal input voltage, input voltage, reference voltage and dissipation power. There are two scripts which seek for the optimal parameter set with respect to minimal circuit area, based on the use of the goal attainment method. Additionally, there are two scripts for interested readers who would like to create new ANN fitting functions and train them using their own examples.

## Files

## Steps to reproduce

You use LM10nodes701515fun.m and LM20nodes701515fun.m if you want to calculate circuit area for known circuit parameters slew rate, load capacitor, gain bandwidth product, maximal input voltage, minimal input voltage, dissipation power, input voltage and reference voltage, given as an input vector in that particular order. Their units are: slew rate (uV/s), load capacitor (pF), gain bandwidth product (MHz), maximal input voltage (V), minimal input voltage (V), dissipation power (uW), input voltage (uV) and reference voltage (uV). LM10nodes701515fun was obtained by the use of Levenberg-Marquardt training method and an artificial neural network with 10 nodes in a hidden layer with the data division: 70% training data, 15% validation data and 15% test data. LM20nodes701515fun was obtained by the use of Levenberg-Marquardt training method and an artificial neural network with 20 nodes in a hidden layer with the data division: 70% training data, 15% validation data and 15% test data. You use GOAL10 in combination with LM10nodes701515fun and GOAL20 in combination with LM20nodes701515fun. Inside scripts GOAL10 and GOAL20 you can set different goals for the minimal circuit area, different starting points for an input vector and different constraints. If you want to train another ANN fitting function on a new set of data, you use LM10nodes701515scr and LM20nodes701515scr and adapt them accordingly. New examples should be based on the fabrication or the simulation of circuit designed as per the reference [Doi: 10.1007/s00542-020-05114-y].