1. Именно для задачи поиска минимума функции можно реализовать функцию в виде нейросети, затем считать градиент методом обратного распространения ошибки и юзать быстрый метод градиентной оптимизации (типа сопряженных градиентов). Градиент на нейросетке считается гораздо быстрее обычного способа - время расчета всего вектора градиента всего раза в три больше времени вычисления значения самой функции, а при традиционном способе (конечные разности или аналитический) это время будет примерно такого порядка: время вычисления функции умножить на число параметров функции.
2. Обычно вместо ввода дополнительного внешнего объекта-оптимизатора (генетический алгоритм над оптимизируемым объектом и некоторой целевой функцией-критерием) задача просто переформулируется под нейросетку, которая будет обучать сама себя - как в примере в п.1.
--------------------------
нейронные сети, анализ данных, прогнозирование