До сих пор мы использовали самый информативный способ оптимизации – полный перебор всех возможных комбинаций параметров. Этот метод требует вычисления значений целевой функции во всех узлах оптимизационного пространства. Поскольку расчет целевой функции каждого узла требует сложных многоступенчатых вычислений, недостаток полного перебора состоит в большом количестве расчетов и времени требуемого для завершения полного оптимизационного цикла. С увеличением числа параметров количество расчетов и времени растет по степенному закону. Расширение области допустимых значений параметров и уменьшение шага оптимизации также увеличивают продолжительность времени, необходимого для полного перебора.
Во всех рассмотренных ранее примерах оптимизировались всего два параметра, для каждого из которых тестировались 60 значений. Соответственно, оптимизационное пространство состояло из 3600 ячеек. В среднем продолжительность одной прогонки (вычисление одного узла) составляла порядка одной минуты (при использовании системы параллельных вычислений на нескольких современных персональных компьютерах). Это означает, что для построения полного оптимизационного пространства, аналогичного рассматривавшимся ранее, требуется около 60 часов. Очевидно, что это неприемлемо для оперативной работы по построению и модификации автоматизированных торговых стратегий. Более того, добавление в систему лишь одного дополнительного параметра (всего три) увеличивает время вычислений до пяти месяцев! Все это делает полный перебор не самым практичным, а во многих случаях и вовсе не применимым, методом поиска оптимальных решений.
Решить эту проблему можно путем применения специализированных методик, не требующих полного перебора всех узлов оптимизационного пространства. Существует целая группа методов (от самых простых до невероятно сложных), позволяющих вести
Методы оптимизации, не требующие полного перебора, имеют два существенных недостатка. Предполагается, что оптимизационное пространство унимодально, то есть имеет единственный экстремум. При наличии в пространстве параметров нескольких локальных экстремумов (то есть когда пространство полимодально) эти методы могут привести к решению, которое не является наилучшим (то есть выбрать локальный экстремум вместо глобального максимума). Образно говоря, такую ситуацию можно описать как восхождение на вершину холма вместо покорения расположенного неподалеку горного пика. Это общий недостаток всех методов, использующих значения целевой функции в непосредственной близости от ранее вычисленных узлов, для постепенного улучшения значения функции. Это объективный недостаток, присущий всем без исключения методам целенаправленного поиска. Как мы уже сказали, гарантию нахождения глобального экстремума в общем случае дает лишь полный перебор всех узлов оптимизационного пространства.
Существует достаточно простой, хоть и затратный с точки зрения времени, способ решения этой проблемы. Если из содержательных соображений невозможно обосновать наличие в оптимизационном пространстве единственного экстремума, являющегося глобальным максимумом, следует многократно повторить процедуру «поиск экстремума при разных стартовых условиях» (то есть каждый раз начинать оптимизацию с разных узлов пространства). Стартовые узлы можно распределить равномерно в оптимизационном пространстве или выбрать случайным образом. Хотя достижение экстремума в этом случае не гарантируется, с практической точки зрения вероятность его получения может быть доведена до приемлемого уровня. Разумеется, чем больше попыток будет сделано, тем выше вероятность того, что хотя бы одна из них приведет к нахождению глобального максимума (однако и временные затраты также быстро возрастают). Чем больше оптимизационное пространство, тем больше попыток придется сделать.