Генетические алгоритмы

Генетические алгоритмы используют механизм биологической эволюции для поиска оптимальных решений. Они позволяют найти не точное, а приемлемое решение для сложных оптимизационных задач большой размерности.

Можно утверждать, что генетический алгоритм представляет собой разновидность градиентного спуска, при котором исследование абстрактной «поверхности» возможных значении производится одновременно из множества исходных данных. На каждом шаге оптимизации происходит порождение нового множества точек (популяции), соответствующих различным комбинациям значений переменных. При этом задастся требуемый уровень скрещивания/наследования (параметр crossover), например 0,8, т. е. для каждой точки вычисляется отклонение текущего значения ошибки от заданного (так называемая функция соответствия), и следующий шаг оптимизации будет произведен из тех 80% предыдущих точек, которые показали «лучший результат» в смысле минимизации ошибки при градиентном спуске.

Задается фактор мутации (параметр mutation), например 0,2, Это означает, что на каждом шаге оптимизации (новая популяция) в 20 % точек изменения значений соответствующих переменных будут проводиться по случайному закону. Поскольку каждое следующее поколение наследует лучшие признаки предыдущего (в данном случае — направления движения в сторону минимальной ошибки с учетом периодических мутаций), в конечном итоге получают некоторое подмножество точек, для которых отклонение от значений целевой функции минимально.

Генетический алгоритм оптимизации является множественно-вероятностным, т. е. позволяет находить множество значений, приблизительно соответствующих исковому условию. Это обстоятельство существенно для решения задач с неявно выраженными максимумами и минимумами.

Наиболее популярными программными продуктами, применяемыми в финансово-кредитной сфере и эффективно реализующими генетические алгоритмы, являются Evolver (Palisade Co., США), GeneHunter (Ward Systems, США), Omega (KiQ and CAP), США). Первые два реализованы в виде надстроек к MS Excel и написаны на языке Visual Basic for applications (VBA).

Пакет Evolver реализует шесть алгоритмов генетической оптимизации и представляет следующие возможности:

• введение ограничивающих условий в процессе оптимизации;

• явное задание параметров скрещивания и мутации;

• использование различных типов переменных и критериев оптимизации целевой функции (минимум, максимум, значение);

• визуализации вычислений и др.

В комплект поставки входит библиотека Developer Kit, предназначенная для разработки собственных приложений.

Продукт Omega ориентирован непосредственно на использование в финансовых приложениях. Комплект поставки содержит множество готовых примеров применения генетических алгоритмов в финансовом и инвестиционном анализе, маркетинге, планировании и т. д. Среди инструментальных систем отметим библиотеки Си-текстов EnGENEer (Logica, США) и Pegasus (GermanI National Research Center, Германия), а также генетический конструктор Splicer (NASA, США), состоящий из специальной оболочки, библиотек и исходных модулей.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: