Neural network and metaheuristic algorithm are two technique of machine learning. Each of them is employed for different purposes. NN is used for classification, regression, etc., however, a metaheuristic algorithm is used to find the optima in a huge search space. To use a neural network, first, it should be trained. In the process of training, the weight of each connection is obtained so that the total error (real output minus predicted amount) became minimum. That’s where stochastic search space come in to help find the best set of weights. Therefore, finding weights of a neural network can be interpreted as finding the optima of a vast search space. The focus of this paper is on the use of metaheuristic algorithm on training and evolving structure of feed-forward neural networks