An Alloy Recommender System Based on Genetic Algorithms and Neural Networks
This Project was done under the Clutch Special Interest Group of ISTE-NITK
The Project was done entirely in Python 3 and its various libraries
For instructions on how to run GUI refer here
The Project had the following main phases:
- 1)Web scraping and Dataset acquistion:
- Scraped alloy property data from various online sources
- Used Dataset from here
- Performed data preprocessing to be able to be fed into Neural Network
- Libraries used: BeautifulSoup4, requests, Pandas ,Pickle
- 2)Model Training:
- Experimented with different architechtures to obtain best fit model for each of the dataset target properties namely Tensile Strength,Yield Strength,Elongation Limit
- Performed GridSearch to optimise hyperparamters
- Further details regarding model architectures can be found here
- Libraries Used: Tensorflow,scikit-learn,matplotlib
- 3)Build a Genetic Algorithm Solver
- The Genetic Algorithm takes input as desired alloy property and outputs theoretical composition of such an alloy
- This is done by treating trained neural network as blackbox with GA optimising on its outputs
- Libraries used: Tensorflow,PyGAD
- 4)Build GUI
- Designed simple Graphical User Interface to abstract code implementation from end user
- Libraries used: tkinter,PyGAD,Tensorflow
NOTE:
While the GUI presented pertains to only Steels,the methodology suggested can be used for any alloy family provided appropriate dataset is available
The resulting composition suggested by GA is purely theoretical and as of now has not been verified experimentally.