12250

Методы минимизации функции многих переменной

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

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

Лабораторная работа 3. Методы минимизации функции многих переменной. Постановка задачи: Требуется найти безусловный минимум функции от n переменных fx1 x2 xn т.е. такую точку что . Значение точки минимума вычислить приближенно с заданной точностью ε. Метод пр

Русский

2013-04-24

255.93 KB

60 чел.

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

Методы минимизации функции многих переменной.

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

Метод правильного симплекса.

Стратегия поиска: Симплексом в Rn называется выпуклая оболочка (n+1) точек
x1, x2, …, xn+1, не принадлежащих ни к какому (n-1)-мерному подпространству Rn. Правильным симплексом называется множество из (n+1) равноудаленной точки. На плоскости (в двухмерном пространстве) правильный симплекс является правильным треугольником, в трехмерном пространстве правильный симплекс – правильный тетраэдр.

На первой итерации данного метода выбирается некоторый правильный симплекс в пространстве Rn . На каждой итерации сравниваются значения f(x) в вершинах симплекса. Затем преобразуется та вершина симплекса, в которой достигается максимальное значение. Преобразование происходит путем отражения  данной вершины симметрично относительно центра тяжести xC  остальных вершин. Если значение функции в полученной точке меньше, чем в исходной, то переходят к новому симплексу. Иначе пытаются осуществить процедуру отражения для остальных вершин исходного симплекса. Если все попытки неудачны, повторяют процедуру с уменьшенной длиной ребра до тех пор, пока данная длина не станет меньше заданной точности.

Алгоритм:

  1. Задать точность вычислений , выбрать начальное приближение , ребро a.
  2. Построить начальный правильный симплекс по заданному ребру a и точке .
  3. Вычислить значения f(x) в вершинах симплекса.
  4. Упорядочить вершины симплекса в порядке возрастания значений f(x).
  5. Найти и выполнить отражение вершины xn: . Если , то положить и перейти к шагу 3. Иначе перейти к шагу 6.
  6. По формулам, аналогичным формулам пункта 5, вычислить отражения вершин с номерами j = n-1, …, k. Где k выбирается из условия , либо
    k =1.
  7. Если k > 1, то положить и перейти к шагу 3. Иначе перейти к шагу 8.
  8. Выбрать новый размер ребра a = a / 2. Если a > перейти к пункту 2. Иначе остановка расчета и выбор в качестве точки минимума точки x0.

Метод деформируемого симплекса

(Метод Нелдера-Мида)

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

На практике хорошо себя зарекомендовал следующий выбор параметров для нахождения пробных точек: .

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

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

(Метод Хука-Дживса).

Стратегия поиска: Алгоритм на каждом шаге содержит две основные процедуры:

а) исследующий покоординатный поиск  в окрестности данной точки x, предназначенный для определения направления убывания функции f(x) – точка ;

б) перемещение в направлении убывания (-x).

Если после шага а) = x, то происходит уменьшение шага исследующего спуска.

Если шаг становится меньше заданной точности, то прекращение поиска.

Алгоритм исследующего покоординатного спуска:

  1. Положить j = 1.
  2. Сделать пробный шаг . - заданный шаг в направлении j. Если f(y) < f(x), перейти к шагу 6, иначе к шагу 3.
  3. Сделать пробный шаг . - заданный шаг в направлении j. Если f(y) < f(x), перейти к шагу 6, иначе к шагу 4.
  4. Если j < n, положить j = j +1 и перейти к шагу 2. Иначе перейти к шагу 5.
  5. Положить = x и завершить поиск.
  6. Положить = y и завершить поиск.

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

Также очень часто в литературе под названием покоординатный спуск (поиск) фигурируют альтернативные методы в основе которых лежит идея чередования направлений соответствующих отдельным координатам.

Метод градиентного спуска с постоянным шагом.

Стратегия поиска: Предполагается, что целевая функция f(x) - дифференцируема в и возможно вычисление ее производных в произвольной точке .

Рассмотрим итерационные процедуры минимизации вида

  (1)

где направление убывания pk определяется тем или иным способом с учетом информации о частных производных функции f(x), а величина шага > 0 такова, что

  (2)

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

Алгоритм:

  1. Задать точность вычислений , , выбрать начальное приближение .
  2. Выбрать начальное значение шага .
  3. Положить k = 0 (k – номер итерации).
  4. Вычислить значение .
  5. Вычислить точку .
  6. Проверить выполнение критерия окончания поиска:

, .

Если критерий выполнен переход к шагу 10, иначе к шагу 7.

  1. Положить k = k+1.
  2. Проверка условия (2). Если условие не выполнено, положить =/2.
  3. Переход к новой итерации (шаг 4).
  4. Выбираем приближенно , . Поиск завершен.

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

  1. Написать в среде MATLAB функции, реализующие следующие три метода: метод правильного симплекса (либо метод Нелдера-Мида), метод покоординатного спуска Хука-Дживса, метод градиентного спуска с постоянным шагом.
  2. Протестировать работу реализованных методов на примере функции:

,

выбрав несколько значений a в диапазоне от 1  до 100 (3-5 значений), при одинаковом начальном приближении (10, 10). Сравнить скорость работы методов при различных значениях параметра a, заполнив таблицу следующего вида:

Таблица 1. Число итераций N для различных значений a.

Метод

a = 1

a = 10

a = 100

a=…

ε = 0.01

ε = 0.001

ε = 0.01

ε = 0.001

ε = 0.01

ε = 0.001

Правильного симплекса

Хука-Дживса

Градиентного спуска

Для точности также выбирается 3-5 значений, соответствующих степеням десяти.

  1. Изучить зависимость работы методов от начального приближения при фиксированном значении a для функции задания 2. Результаты представить в виде таблицы, аналогичной заданию 1. Например, сравнить выбор начального приближения на осях (точки (0, 10) и (10, 0)) и на прямой x=y (точка (10, 10)). 
  2. На примере функции Химмельблау

рассмотреть особенности применения данных методов для минимизации многомодальной функции. Как в данном случае будет зависеть работа рассматриваемых алгоритмов от выбора начального приближения?

  1. Сравнить поведение предложенных методов на примере функции Розенброка («овражной» функции):

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


 

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

25962. Крупнопанельные конструкции 28 KB
  Пространственная жесткость и устойчивость этих зданий обеспечивается взаимной связью между панелями наружных и внутренних стен и панелями перекрытий. Бескаркасные панельные здания могут иметь четыре конструктивных варианта: с тремя продольными несущими стенами двумя наружными и одной внутренней с опиранием перекрытий по двум коротким сторонам; с несущими наружными стенами и внутренними продольными и поперечными с опиранием панелей перекрытий по контуру ; с несущими наружными степами и внутренними поперечными с опиранием перекрытий по трем...
25963. Основные конструкций крупнопанельного здания 28 KB
  Панели двух и трехслойные виброкирпичные панели с применением пластических масс являются разновидностями двух указанных основных групп. Однослойные панели в сравнении с многослойными требуют меньше металла менее трудоемки в изготовлении обеспечивают теплотехнический режим в помещении в таких стенах меньше мостиков холода достаточно прочны. В двухслойной панели одна скорлупа и слой утеплителя опасность накопления влаги в утеплителе не изолированном железобетонной плитой больше чем в трехслойной. Однослойные панели могут быть...
25965. ЗДАНИЯ ИЗ ОБЪЕМНО-ПРОСТРАНСТВЕННЫХ БЛОКОВ 193.5 KB
  ЗДАНИЯ ИЗ ОБЪЕМНОПРОСТРАНСТВЕННЫХ БЛОКОВ Преимуществом строительства зданий из объемнопространственных блоков по сравнению с крупнопанельным строительством является существенное сокращение затрат труда непосредственно на строительных площадках а также сроков возве дения зданий. Объемнопространственные блоки изготовляют на домостроительных заводах в виде полностью законченных оборудованных и отделанных объемных элементов на одну иногда и на две комнаты рис. изготовления монолитных блоков их формуют из железобетона тяжелого и легкого...
25966. Объемно-блочные дома имеют две основные конструктивные схемы: блочные и блочно-панельные 75 KB
  В зданиях блочнопанельной системы объемные блоки устанавливаются друг на друга а между ними укладываются панели перекрытий. Объемные блоки могут также размещаться в шахматном или другом порядке. Объемные блоки изготовляются из бетона при этом для наружных стен возможно использование керамзито перлито и шлакобетона. Сборные объемные блоки делают из готовых плоских железобетонных панелей.
25967. Аудит учета фондов и резервов 35 KB
  Если в учредительных документах предприятия не предусмотрено создание резервов капитала то предприятие не имеет права его создавать. При проверке резервного и специальных фондов аудитору следует знать что на большинстве предприятий формируется резервный капитал необходимый для их деятельности и социального развития коллектива. Резервный капитал учитывается на одноименном счете 82 и создается за счет прибыли до налогообложения если предусмотрено законодательством для покрытия непредвиденных потерь и убытков или за счет прибыли оставшейся...
25969. Аудит учредительных документов и формирования уставного капитала 29 KB
  При этом следует знать что для достижения этой цели аудиторами должны быть решены следующие задачи: определение юридического статуса предприятия сферы деятельности прав его функционирования; установление наличия лицензии по видам деятельности подлежащих лицензированию; проверка порядка формирования и изменения уставного складочного капитала и изучение его структуры. При проверке учредительных документов и формирования уставного капитала необходимо руководствоваться следующими основными нормативными документами: Гражданским кодексом часть...
25970. Аудиторская выборка 51.5 KB
  Аудиторская выборка дает возможность аудитору получить и оценить аудиторские доказательства в отношении некоторых характеристик элементов отобранных для того чтобы сформировать или помочь сформировать выводы касающиеся генеральной совокупности из которой произведена выборка; При разработке процедур аудита аудиторская организация или индивидуальный аудитор должны определить надлежащие методы отбора элементов подлежащих проверке при сборе аудиторских доказательств для достижения целей аудиторских тестов. Риск связанный с использованием...