Оптимизация функций

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

На самом деле правильнее будет сказать "Поиск значений".

В первую очередь поиск минимума и максимума функции. Именно для задач поиска экстремумов функции и были разработаны генетических алгоритмов (далее ГА).

Методами ГА (теоретически) можно приближенно найти любой экстремум. В реальности получается найти подходящее решение для задач с размерностью в пределах 1000 (но тут многое зависит от самой задачи, её нелинейности, от скорости вычисления функции - чем ниже нелинейность и чем выше скорость вычисления, тем бОльшую размерность мы можем себе позволить).

1. Для нахождения экстремума функции все неизвестные в нашей функции кодируются "генами" (один ген - одна переменная).

2. Запускается генетический алгоритм.

3. ГА создает начальную популяцию особей и вычисляет значения функции, которые соответсвуют этим особям.

3. Среди наиболее удачных вариантов выбираются лучшие, производится их "скрещивание" и небольшая мутация. После этого вычисляется значения функции этих вариантов.

4. Пункт 3 повторяется до тех пор, пока значение функции нас неудовлетворяет.

Для задачи с размерностью 1000 нужно (ориентировочно) 5-10 миллионов вычислений функции. Исходя из этого можно попытаться определить время работы ГА.


Первое важное замечание: если у функции имеется несколько экстремумов, то классический ГА найдет один из них.

Второе важное замечение: ГА может не найти абсолютный минимум (максимум) функции, а найти один из локальных минимумов (такое случается при неудачно заданных параметрах ГА, недостаточном времени работы).

 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home