Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Оптимальное проектирование ЭМ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.67 Mб
Скачать

2 Методы поиска для функции одной переменной

В тех случаях, когда функция не задана аналитически, или уравнение не решается простым способом прибегают к численным методам.

С помощью численных методов минимум ищется в некотором интервале , в котором, как предполагается, лежит минимум. Иногда это единственно возможная стратегия.

Естественным является стремление достичь поставленной цели как можно более эффективным способом, т.е. осуществляя наименьшее количество вычислений функции.

Предположим, что точки определяют (возможно, очень грубо) интервал, который содержит истинную точку минимума, и внутри этого интервала функция унимодальная, т.е. имеет один минимум в точке (смотреть рисунок).

Если известны значения функции в двух точках и , таких что , а , то точка будет лежать внутри интервала , меньшего, чем интервал .

2.1 Поиск методом Фибоначчи

Нужно определить минимум функции как можно точнее, т.е. с наименьшим интервалом неопределённости, но при этом можно выполнить только ‘n’ вычислений функции. Как следует выбрать ‘n’ точек, в которых вычисляется функция? Надо попытаться сделать так, чтобы значения функции, полученные в предыдущих экспериментах, определяли положение последующих точек.

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

Положим и , причём . Если находится на интервале , то:

а) если , то новым интервалом неопределённости будет интервал длиной ;

б) если , то новым интервалом неопределённости будет интервал длинной .

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

При реализации поисковой оптимизации всегда решают два вопроса:

а) с чего начать?

б) когда закончить поиск?

Рассматривая метод Фибоначчи, чтобы ответить на первый вопрос, необходимо разобраться в том, как следует закончить поиск лучшего решения?

Метод предполагает, что решение может быть получено за ‘n’ вычислений функции. На последнем вычислении функции последнюю точку следует поместить симметрично по отношению к предыдущей точке . Положение последней точки зависит от нас. Для того, чтобы получить наибольшее уменьшение интервала неопределённости на данном этапе, следует разделить пополам предыдущий интервал. Но тогда точка будет совпадать с точкой . При этом мы не получим никакой новой информации. Чтобы определить, в какой половине находится интервал неопределённости, точки и размещают на расстоянии по обе стороны от середины отрезка (отрезка неопределённости предыдущего вычисления). После выполнения последнего вычисления функции и принятия решения интервал неопределённости будет иметь длину , следовательно, .

Предыдущий интервал неопределённости равняется сумме двух последующих интервалов неопределённости.

Следовательно, в соответствии с построениями, показанными на рисунке, можно записать:

;

;

;

и т.д.

Если определить последовательность чисел Фибоначчи следующим образом: , то , где . Например, если , а , то имеем:

,

где длина исходного отрезка неопределённости.

Из полученного равенства выразим длину отрезка :

.

Следовательно, произведя ‘n’ вычислений функции, мы уменьшим отрезок неопределённости, примерно, в раз по сравнению с начальным отрезком и это будет лучший результат.

Для начала поиска необходимо определить положение первой точки внутри исходного отрезка неопределённости. Эта точка определит длину второго отрезка неопределённости .

.

Подставим в полученное равенство выражение отрезка .

.

или

.

Значение расстояния между двумя точками внутри отрезка неопределённости перед последним вычислением функции выбирается не произвольно и зависит от числа вычислений, т.е. от числа Фибоначчи :

.

Для реализации поиска экстремума функции может быть использован следующий алгоритм. Определяются границы области поиска экстремума функции , число вычислений функции и величина . Формируются числа Фибоначчи. Вычисляется длина второго отрезка неопределённости . Определяется положение двух точек внутри отрезка неопределённости:

В точках и вычисляется значение функций и , которые сравниваются между собой. Если значение функции лучше чем значение функции , то новый отрезок неопределённости будет . Для этого случая производят изменение значений переменных:

.

Значение функции в точке принимают равным . Вычисляют значение второй точки внутри отрезка неопределённости :

и в этой точке вычисляют значение функции .

Аналогичные действия выполняют, если значение функции лучше чем значение функции и новый отрезок неопределённости будет :

Вычисляется значение функции .