12248

Прямые методы минимизации функции одной переменной

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа 1. Прямые методы минимизации функции одной переменной. В данной работе рассматриваются методы решения поставленной задачи не использующие вычисления производных прямые методы минимизации. Постановка задачи: Требуется найти безусловный ми...

Русский

2013-04-24

1 MB

58 чел.

Лабораторная работа 1.

Прямые методы минимизации функции одной переменной.

В данной работе рассматриваются методы решения поставленной задачи, не использующие вычисления производных (прямые методы минимизации).

Постановка задачи: Требуется найти безусловный минимум функции одной переменной f(x), т.е. такую точку , что . Значение точки минимума вычислить приближенно с заданной точностью ε.

Предполагается, что для функции f(x) предварительно определен начальный интервал неопределенности L0 = [a0, b0] (имеется априорная информация о положении точки минимума, а именно то, что точка минимума , но более точное положение ее неизвестно), причем на заданном интервале функция является унимодальной (для любых функция монотонно убывает, для любых функция монотонно возрастает).

Метод равномерного поиска (метод перебора).

Стратегия поиска: Метод относится к пассивным стратегиям.

Задается количество интервалов N, на которое разбивается исходный интервал
L0 = [a0, b0]. Вычисления производятся в N +1 равноотстоящих друг от друга точках. Путем сравнения величин f(xi), i = 0,1,…,N находится точка xk, в которой значение функции наименьшее. Искомая точка минимума считается заключенной в интервале [xk-1, xk+1].

Алгоритм:

  1. Задать начальный интервал неопределенности L0 и точность ε.
  2. Задать количество интервалов разбиения .
  3. Вычислить точки ,  .
  4. Вычислить значения функции в найденных точках: f(xi) , .
  5. Среди точек найти такую, в которой функция принимает наименьшее значение: .
  6. Выбрать приближенно , . Поиск завершен.

Метод поразрядного поиска.

Стратегия поиска: Метод является усовершенствованным вариантом метода перебора. В этом методе перебор точек интервала неопределенности L0 происходит сначала с шагом , i = 0, 1, … (при этом точка x0 совпадает с концом отрезка a0) до тех пор, пока не выполнится условие , или пока очередная из точек xi не совпадет с концом отрезка b0. После этого шаг уменьшается в несколько (2, 4, 10) раз, и производится перебор точек в противоположном направлении (с новым шагом) до тех пор, пока значения f(x) не перестанут уменьшаться, или очередная точка не совпадет с концом отрезка a0. Процедура уменьшения шага и смены направления перебора на противоположное повторяется несколько раз. Поиск прекращается, если текущий шаг дискретизации при последнем проходе алгоритма  не превосходит заданной точности .

Следует отметить, что в данном методе интервал неопределенности может быть полубесконечным: L0 = [a0, +∞) или L0 = (-, b0] (во втором случае начальное направление перебора выбирается в сторону уменьшения значений x).

Алгоритм:

  1. Задать начальный интервал неопределенности L0 и точность ε.
  2. Задать начальный шаг дискретизации .
  3. Положить i = 1, x0 = a0. Вычислить значение функции  f(x0).
  4. Определить точку xi = xi-1+Δ и значение функции  f(xi).
  5. Если и , то положить i = i +1 и вернуться к шагу 4.
  6. Задать новый шаг дискретизации .
  7. Если , то перейти к шагу 12.
  8. Вычислить точку xi = xi-1-Δ и значение функции  f(xi).
  9. Если и , то положить i = i +1 и вернуться к шагу 8.
  10. Задать новый шаг дискретизации и перейти к шагу 4.
  11. Если , то перейти к шагу 12.
  12. Выбрать приближенно , . Поиск завершен.

Метод дихотомии.

Стратегия поиска: Метод относится к последовательным стратегиям и является одним из вариантов метода исключения отрезков.

Алгоритм опирается на анализ значений функции в двух точках. Для их нахождения текущий интервал неопределенности делится пополам и в обе стороны от середины откладывается по по δ/2, где δ < 2ε – малое положительное число. По результатам сравнения значений функции в этих точках из дальнейшего рассмотрения исключается часть текущего интервала неопределенности: из трех отрезков, полученных в результате разбиения интервала, выбирается тот отрезок, который не содержит точку с меньшим значением функции, и исключается из дальнейшего рассмотрения. Условия окончания итераций для всех вариантов метода исключения отрезков стандартные: поиск заканчивается, когда длина текущего интервала неопределенности оказывается меньше установленной величины точности ε.

Алгоритм:

  1. Задать начальный интервал неопределенности L0 и точность ε.
  2. Выбрать δ < .
  3. Положить k = 0 (k – номер итерации).
  4. Вычислить длину текущего интервала L0 = b0 - a0.
  5. Вычислить точки , и значения функции f(x1), f(x2).
  6. Сравнить f(x1) и f(x2).
  7. Если , то положить ak+1 = ak, bk+1 = x2.

  В противном случае () положить ak+1 = x1, bk+1 = bk.

  1. Вычислить длину нового интервала неопределенности Lk+1 = bk+1- ak+1.
  2. Если Lk+1 > ε, то перейти к шагу 5.
  3. Выбрать приближенно , . Поиск завершен.

Метод золотого сечения.

Стратегия поиска: Метод относится к последовательным стратегиям и является одним из вариантов метода исключения отрезков.

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

Алгоритм:

  1. Задать начальный интервал неопределенности L0 и точность ε.
  2. Положить k = 0 (k – номер итерации).
  3. Вычислить длину текущего интервала L0 = b0 - a0.
  4. Вычислить значение и точки , .
  5. Вычислить значения функции , .
  6. Сравнить значения , .
  7. Если , то положить , , , .
    В противном случае () положить , , , .
  8. Вычислить длину нового интервала неопределенности Lk+1 = bk+1- ak+1.
  9. Если Lk+1 > ε, то перейти к шагу 5.
  10. Выбрать приближенно , . Поиск завершен.

Вопросы и задания

  1. Реализовать функции для трех методов из приведенных выше: метода перебора, метода поразрядного поиска, метода дихотомии (либо метода золотого сечения вместо метода дихотомии).
  2. Выбрать для выполнения лабораторной работы тестовую функцию, номер которой соответствует последней цифре номера Вашего компьютера
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13. Для выбранной функции и для каждого реализованного метода изучить зависимость скорости работы (числа вычислений функции N) от заданного значения точности ε. Для этого необходимо определить число вычислений функции N при нескольких (от трех до пяти) значениях точности, например, при  и построить график зависимости .
  14.  Провести сравнение методов между собой: сравнить сложность реализации, скорость работы (точность). Какой из рассмотренных методов более оптимален для низкой точности () и для высокой точности ()?
  15.  Сохранить результаты для использования в лабораторной работе 2.

 

А также другие работы, которые могут Вас заинтересовать

17543. Основні теореми підстановок та розкладання алгебри логіки 301.5 KB
  Лабораторна робота №4 Тема: основні теореми підстановок та розкладання алгебри логіки. Мета: вирішити задачі за допомогою теорем підстановок та розкладання. Варіант 13 Теоретичні відомості При побудові складних логічних схем із логічних елементів використовую
17544. Представлення перемикаючих функцій у канонічних формах 86.5 KB
  Лабораторна робота №5 Тема: представлення перемикаючих функцій у канонічних формах. Мета: перевести довільну булеву функцію у канонічні форми: ДДНФ ДНФДКНФ КНФ. Варіант 13 Теоретичні відомості: Диз’юнкція конституент одиниці рівних одиниці на тих наборах що ...
17545. Скорочені нормальні форми. Мінімізація булевих функцій задопомогою імплікатних матриць 276.5 KB
  Лабораторна робота №5 Тема: скорочені нормальні форми. Мінімізація булевих функцій задопомогою імплікатних матриць. Мета: виконати мінімізацію перемикаючих функцій методом імплікантних матриць. Варіант 13 Теоретичні відомості: Мінімальні форми представленн
17546. Мінімізація перемикаючих функцій за допомогою площинних діаграм 188 KB
  Лабораторна робота №7 Тема: мінімізація перемикаючих функцій за допомогою площинних діаграм. Мета: виконати мінімізацію перемикаючих функцій метод площинних діаграм. Варіант 13 Теоретичні відомості: Процедура мінімізація перемикаючих функцій за допомогою...
17547. ИСПЫТАНИЯ ПУСКОВОГО ПОРШНЕВОГО КОМПРЕССОРА 7.94 MB
  Лабораторная работа № 3 ИСПЫТАНИЯ ПУСКОВОГО ПОРШНЕВОГО КОМПРЕССОРА 1.Стенд поршневого компрессора среднего давления На стенде установлен компрессор типа 2 OK1 см. рис.1. Данные компрессора 2 OK1 Число ступеней 2 Число рабочих полостей каждой ступени 1 Ч...
17548. ИСПЫТАНИЯ POTOРHO-ЛОПАСТНОГО КОМПРЕССОРА 675.5 KB
  Лабораторная работа №5 ИСПЫТАНИЯ POTOРHOЛОПАСТНОГО КОМПРЕССОРА 1. Стенд роторнолопастного компрессора РЛК На лабораторном стенде установлен продувочный компрессор двигателя ЯАЗ204. Основные данные компрессора Диаметр окружности выступов роторов мм 145; ...
17549. Испытания приводного центробежного компрессора 470 KB
  Лабораторная работа №4 Испытания приводного центробежного компрессора 1. Стенд приводного центробежного компрессора На стенде рис.1 установлен центробежный компрессор предназначенный для высотного наддува бензинового авиационного поршневого двигателя самолёта...
17550. Испытания центробежного насоса 385.5 KB
  ЛАБОРАТОРНАЯ РАБОТА №2 Испытания центробежного насоса Стенд для испытаний центробежного насоса. Центробежный насос 1 установлен на специальном стенде рис.1 Рис.1. Схема стенда для испытаний центробежного насоса: 1 – насос; 2– расходный резервуар; 3 – клап
17551. Испытания шестерённого насоса 317 KB
  ЛАБОРАТОРНАЯ РАБОТА №2 Испытания шестерённого насоса Стенд для испытаний шестерённого насоса. Шестерённый насос 1 установлен на специальном стенде рис.1 Рис.1. Схема стенда для испытаний шестерённого насоса: 1 – насос; 2– приемный резервуар; 3 – дроссельн