Метод Нелдера – Мида
Автор: ArtemFinaev • Ноябрь 7, 2019 • Контрольная работа • 679 Слов (3 Страниц) • 321 Просмотры
Министерство науки и высшего образования РФ
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Факультет «Элитного образования и магистратуры»
Кафедра «Нефтегазового дела, стандартизации и метрологии»
Домашнее задание
по дисциплине: Основы научных исследований, организация и планирование эксперимента
Метод Нелдера – Мида
Вариант 27
Выполнил: ст. гр. НДм-191 Финаев А.М.
Проверила: асс. Кононова М.И.
Омск 2019
Общий алгоритм – операций:
- Пусть f(x,y) функция, которую необходимо оптимизировать. На первом шаге выбираем три случайные точки и формируем симплекс (треугольник). Вычисляем значение функции в каждой точке: f(h), f(g), f(l).
- Сортируем точки по значениям функции f(x,y) в этих точках, таким образом получаем двойное неравенство: f(h) > f(g) > f(l).
- Находим центр тяжести всех точек (за исключением точки h).
- Применяем операцию отражения (отражаем точку h относительно центра тяжести с). Находим точку , следующим образом:[pic 1]
.[pic 2]
где – коэффициент отложения. Принимаем .[pic 3][pic 4]
- Рассмотрим значение функции в ряду f(h), f(g), f(l).[pic 5]
5.1) Если f(h) > f(g) > f(l) > f(r), то это говорит о том, что направление выбрано удачно и можно провести симплекс. Тогда:
.[pic 6]
где принимаем т.е. расстояние увеличиваем в 2 раза.[pic 7][pic 8]
Если f(е) < f(r), то присваиваем точки h значение е (xh=xe) и переходим к пункту №9.
Если f(е) > f(r), то присваиваем точки h значение е (xh=xr) и переходим к пункту №9.
5.2) Если f(h) > f(g) > f(r) > f(l), следовательно f(е) > f(r), (xh=xr)
5.3) Если f(h) > f(r) > f(g) > f(l), то меняем местами значения xh↔xr, f(h) ↔ f(r) и переходим к пункту №9.
5.4) Если f(r) > f(h) > f(g) > f(l), то переходим к пунrту №6.
- Применяем операцию сжатие. Находим точку , следующим образом:[pic 9]
,[pic 10]
где принимаем .[pic 11][pic 12]
- Если f(s) < f(h), то xh=xs и переходим к пункту №9.
- Если f(s) > f(h), то xh=xs, то делаем редукцию симплекса в точке с наименьшим значением функции.
- Проверка сходимости
[pic 13]
Если условие выполняется, то решение на этом заканчивается. Если нет, то возвращаемся к начальным пунктам и повторяем алгоритм.
Дано: , [pic 14][pic 15]
Эксперимент №1.
- Задаем произвольные точки и вычисляем значения для данной функции:
| A | B | C |
x1 | -1 | -3 | 2 |
x2 | 1 | 0 | -5 |
.[pic 16]
Аналогично вычисляем для остальных:
F(x) | -22 | 67 | 332 |
- Сортируем точки по значениям функции f(x,y) при f(h) > f(g) > f(l):
| h | g | l |
x1 | 2 | -3 | -1 |
x2 | -5 | 0 | 1 |
F(x) | 332 | 67 | -22 |
- Находим центр тяжести
;[pic 17]
.[pic 18]
- Применяем операцию отражения
;[pic 19]
.[pic 20]
- Сведем результаты в таблицу
| h | g | l | c | r |
x1 | 2 | -3 | -1 | -2 | -6 |
x2 | -5 | 0 | 1 | 0,5 | 6 |
F(x) | 332 | 67 | -22 |
| 63,0625 |
По полученным данным, . f(h) > f(g) > f(r) > f(l), переходим к пункту №6.
- Применяем операцию сжатие
;[pic 21]
.[pic 22]
| h | S |
x1 | 2 | 0 |
x2 | -5 | -2,25 |
F(x) | 332 | 63,0625 |
- f(s) < f(h), то xh=xs, переходим к пункту №9.
9) Проверка сходимости
[pic 23]
Проверка на сходимость не выполняется , следовательно, выполняем эксперимент №2.[pic 24]
Для визуализации покажем эксперимент №1 в системе координат (рисунок 1)
[pic 25]
Рисунок 1 – Эксперимент №1.
Проделываем эксперимент №2 аналогично данному алгоритму:
Полученные результаты сводим в таблицу.
...