Redes neurais artificiais são redes complexas que emulam a forma como os neurônios racionais humanos processam os dados. Elas têm sido amplamente utilizadas em previsão, agrupamento, classificação e associação. Os algoritmos de treinamento que determinam os pesos da rede são quase o fator mais importante que influencia o desempenho da rede neural. Ultimamente vários algoritmos meta-heurísticos e evolutivos são empregados para otimizar os pesos das redes neurais a fim de obter maior desempenho neural.Para resolver problemas computacionais complexos, muitos algoritmos de otimização meta-heurística foram desenvolvidos. Uma meta-heurística é um procedimento de nível superior projetado para descobrir, criar ou selecionar uma heurística que pode fornecer uma solução suficientemente boa para um problema de otimização, especialmente com informações incompletas ou imperfeitas ou capacidade de computação limitada. A meta-heurística pode fazer suposições limitadas sobre o problema de otimização que está sendo resolvido, e por isso pode ser utilizável para uma variedade de problemas. Muitas meta-heurísticas implementam alguma forma de otimização estocástica para que a solução encontrada seja dependente do conjunto de variáveis aleatórias geradas.