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

2.3Оптимизация без ограничений

2.3.1Прямой одномерный поиск

Если уравнение не решается аналитически, например, функция F неиз­вестна, для его решения используются численные (прямые) методы.

С помощью прямых методов минимум целевой функции ищется непосредственно на некотором интервале a<x<b, в котором, как предполагается, лежит минимум, вычисляя зна­чения функции в выбранных точках данного интервала. Иногда это единственно возможная стратегия поиска.

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

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

Задачей численных математических методов является достижение поставленной цели наиболее эффективным способом - при минимальном числе экспериментов.

Рис. 2.29 Расчетная схема

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

Предположим, что имеется интервал неопределенности (х1,х3) и известно значение функции f(x2) внутри этого интервала (рис. 2.3). Если можно вычислить функцию всего один раз в точке х4, то где следует поместить точку х4, для того чтобы получить наименьший воз­можный интервал неопределенности?

Положим х2-х1=L и х3-х2=R, причем L>R и эти значения будут фиксированы, если из­вестны х1,х2 и х3.

Если х* находится в интервале (х1,х2), то:

  1. если f(x4)<f(x2), то новым интервалом неопределенности будет (х1,х2) длиной x2-x1=L;

  2. если f(x4)>f(x2), то новым интервалом неопределенности будет (х4,х3) длиной x3-x4=D.

Поскольку неизвестно, какая из этих ситуаций будет иметь место, выберем х4 таким образом, чтобы минимизировать наибольшую из длин x3-x4 и x2-x1. Достигнуть этого можно, сделав длины L и D равными, то есть, поместив х4 внутри интервала (x1,x2) симметрично от­носительно точки х2, лежащей внутри интервала (x1,x3).

Любое другое положение точки х4, может привести к тому, что полученный интервал D будет больше L. Помещая х4 симмет­рично относительно х2, мы ничем не рискуем в любом случае.

Если окажется, что можно выполнить еще одно вычисление функции, то следует при­менить описанную процедуру к интервалу (х1,х2), в котором уже есть значение функции, вы­численное в точке х4, или к интервалу (х4,х1), в котором уже есть значение функции вычис­ленное в точке х2.

Следовательно, стратегия поиска ясна с самого начала. Нужно поместить следующую точку внутри интервала неопределенности симметрично относительно уже нахо­дящейся там точки.

Для организации поиска используется последовательность Фибоначчи: F0=1, F1=1 и Fk=Fk-1+Fk-2 для k=2,3…,m.

Если начальный интервал (а, b) имеет длину L0=ba и требуется получить результат с точностью (интервал неопределенности 2), необходимо выполнить n+1 шаг, причем n оп­ределяется из условия: и это наилучший результат (число шагов минимально).

Задача поиска может быть поставлена в двух вариантах:

  • при заданном числе шагов найти оптимальное решение с максимальной точностью;

  • при заданной точности найти оптимальное решение за минимальное число шагов.

Пример: 1) начальный интервал ( а, b ) имеет длину L1=bа, за четыре шага найти решение с максимальной точностью (рис. 2.4).

Рис. 2.30 L4 - окончательный интервал неопределенности

2) начальный интервал (0,10) м, найти минимальное число шагов для получения ре­шения с точностью 0,01 м. F13=377, F14=610. Число шагов равно 15.

Поиск методом «золотого сечения». Не всегда удается определить, сколько раз при­дется вычислять функцию. В методе Фибоначчи это нужно для определения первого шага, то есть положения начальной точки поиска.

Метод «золотого сечения» почти столь же эффек­тивен как метод Фибоначчи, однако при этом не требуется знать n - количество вычислений функции, определяемое заранее.

Функция последовательно вычисляется в точках, делящих интервал неопределенности в соотношении, определяемом как «золотое сечение»: (рис. 2.5).

Рис. 2.31 «Золотое сечение»

Вывод формулы «золотого сечения»:

Рис. 2.32 Поиск минимума функции

На первом шаге значения функции определяются в точках x1 и x2, делящих начальный интервал так, чтобы отношение целого к большей части равнялось отношению большей части к меньшей, что возможно только при равенстве этого отношения «золотому сечению». Затем в зависимости от соотношения значения функции f(x1) и f(x2) интервал (a,x1) или ин­тервал (x2,b) отбрасывается. После этого на каждом шаге значение функции определяется только в одной точке (на втором шаге в точке х3), при этом «золотое сечение» всегда сохраняется (рис. 2.6).

Случайный поиск - метод Монте-Карло

При случайном поиске значения функции определяются последовательно для x равномерно распределенных на начальном интервале (a,b).

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

При a = 0, b = 10 м, p = 0.99, точности =  0.005 м: .

Для одноэкстремальной задачи с аналогичными характеристиками, при использовании метода Фибоначчи - N=17.

Метод Монте-Карло - простейший из методов случайного поиска.

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