Читать реферат по информатике, вычислительной технике, телекоммуникациям: "Одномерная оптимизация функций методом золотого сечения" Страница 2


назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

неопределенности.

Второй шаг проводим на отрезке [a1, b1], где a1 = a0, b1 = x2. Нужно снова выбрать две внутренние точки, но одна из них (x1) осталась из предыдущего шага, поэтому достаточно выбрать лишь одну точку x3, вычислить значение f(x3) и провести сравнение. Поскольку здесь f(x3) > f(x1), ясно, что минимум находится на отрезке [x3, b1]. Обозначим этот отрезок [a2, b2], снова выберем одну внутреннюю точку и повторим процедуру сужения интервала неопределенности. Процесс оптимизации повторяется до тех пор, пока длина очередного отрезка [an, bn] не станет меньше заданной величины ε.

Теперь рассмотрим способ размещения внутренних точек на каждом от резке [ak, bk]. Пусть длина интервала неопределенности равна l, а точка деления делит его на части l1, l2: l1 > l2, l = l1 + l2. Золотое сечение интервала неопределенности выбирается так, чтобы отношение длины большего отрезк к длине всего интервала равнялось отношению длины меньшего отрезка к длине большего отрезка: (1)

Из этого соотношения можно найти точку деления, определив отношение l2/l1. Преобразуем выражение (1), и найдем это значение: l=l2l1, l=l2(l1 + l2),

l+l1l2 - l=0,

2 + - 1 =0,

=. Поскольку нас интересует только положительное решение, то . Отсюда l1 k1l, l2 k2l.

Поскольку заранее неизвестно, в какой последовательности делить интервал неопределенности, то рассматривают внутренние точки, соответствующие двум этим способам деления. Точки деления x1 и x2 выбираются с учетом полученных значений для частей отрезка. В данном случае имеем x1 – a0 = b0 – x2 = k2d0,

b0 - x1 = x2 – a0 = k1d0,

d0 = b0 – a0. После первого шага оптимизации получается новый интервал неопределенности – отрезок [a1, b1].

Можно показать, что точка x1 делит этот отрезок в требуемом отношении, при этом b1 – x1 = k2d1, d1 = b1 – a1. Для этого проведем очевидные преобразования: b1 – x1 = x2 – x1 = (b0 – a0) – (x1 – a0) – (b0 – x2) = d0 – k2d0 - k2d0 = k3d0,

d1 = x2 – a0 = k1d0,

b1 – x1 = k3(d1/k1) = k2d1. Вторая точка деления x3 выбирается на таком же расстоянии от левой границы отрезка, т.е. x3 – a1 = k2d1.

И снова интервал неопределенности уменьшается до размера d2 = b2 – a2 = b1 – x3 = k1d1 = kd0. Используя полученные соотношения, можно записать координаты точек деления y и z отрезка [ak, bk] на k +1 шаге оптимизации (y < z): y = k1ak + k2bk,

z = k2ak + k1bk. При этом длина интервала неопределенности равна dk = bk – ak = kd0. Процесс оптимизации заканчивается при выполнении условия dk < ε. При этом проектный параметр оптимизации составляет ak < x < bk. Можно в качестве оптимального значения принять x = ak (или x = bk, или x = (ak + bk)/2 и т.п.). Блок-схема алгоритма 3. Программная часть 3.1 Текст программы в среде matlab А. Программа вычисления максимума: function maximum(a,b,eps)

%Maximum(a,b,eps) функция нахождения максимума функции f(x)

% методом "золотого сечения" на отрезке [a, b] с точностью eps.

% Функция f(x) задаётся в M-файле, находящимся в той же дирекктории.

% (!) Для правильной работы функции необходимо, чтоб aB

b=x2;

if b-a



Интересная статья: Быстрое написание курсовой работы