Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции

ЛАБОРАТОРНАЯ РАБОТА № 2

ЧИСЛЕННЫЕ МЕТОДЫ ПОИСКА БЕЗУСЛОВНОГО ЭКСТРЕМУМА

ЛАБОРАТОРНАЯ РАБОТА № 2.1.

Методы нулевого порядка

МЕТОД ДЕФОРМИРУЕМЫХ СИМПЛЕКСОВ (Метод Нелдера-Мида)

Постановка задачи

Требуется найти безусловный минимум функции Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru многих переменных т.е. найти такую точку Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru , что Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru , Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru .

Стратегия поиска

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

Алгоритм

Шаг 1. Задать координаты вершин многогранника Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru ; Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru

Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru

Параметры отражения Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru , сжатия Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru , растяжения Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru ; число Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru для остановки алгоритма. Положить Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru (последующие шаги 2-6 соответствуют текущему номеру Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru системы точек).

Шаг 2. Среди вершин найти «наилучшую» Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru и «наихудшую» Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru , соответствующие минимальному и максимальному значению функции:

Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru

а также точку Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru , в которой достигается второе по величине после максимального значение функции Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru .

Шаг 3. Найти «центр тяжести» всех вершин симплекса за исключением наихудшей Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru

Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru

Шаг 4. Проверить условие окончания:

4.1. Если Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru процесс поиска завершается (Конец) и в качестве приближенного решения можно взять наилучшую текущую точку симплекса Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru .

4.2. Если Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru , процесс продолжается (переход на Шаг 5).

Шаг 5. Выполнить операцию отражения наихудшей вершины Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru через центр тяжести Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru :

Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru

Шаг 6. Проверить выполнение условий:

6.1. Если Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru , выполнить операцию растяжения:

Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru

Найти вершины нового многогранника:

6.1.1. Если Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru , то вершина Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru заменяется на Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru . Затем Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru и переход на Шаг 2.

6.1.2. Если Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru , то вершина Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru заменяется на Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru . Затем Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru и переход на Шаг 2.

6.2. Если Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru , выполнить операцию сжатия:

Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru

Следует заменить вершину Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru на Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru , положить Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru и переход на Шаг 2.

6.2.1. Если Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru , то вершина Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru заменяется на Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru . При этом Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru и переход на Шаг 2.

6.2.2. Если Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru , выполнить операцию редукции. Формируется новый симплекс с уменьшенными вдвое сторонами и вершиной Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru :

Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru

При этом следует положить Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru и переход на Шаг 2.

Замечание 1. Нелдер и Мид рекомендовали использовать параметры Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru Павиани - Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru Паркинсон и Хатчинсон - Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции - student2.ru В последнем случае в рамках операции отражения фактически выполняется растяжение.

ЗАДАНИЕ

Написать программу на языке , реализующую алгоритм метода Нелдера –Мида на примерах целевой функции.

Наши рекомендации