Цель работы:
Изучение численных методов поиска экстремума функции двух переменной с использованием инструментария электронных таблиц MS Excel.
Формальная постановка задачи:
Дано: функция f(x1,x2), заданная аналитически (формулой);
начальное приближение x0=(x1 0 ;x2 0 ); точность N
Найти: x*=(x1 * ;x2 * ) такой, что f(x1 * ;x2 * )=min (f(x1,x2))
Предполагается, что начальное приближение находится достаточно близко от точки минимума и в его окрестности точка минимума единственная.
Задание:
1) Минимизировать заданную функцию с точностью e=0,001 методом наискорейшего спуска.
2) Минимизировать заданную функцию, используя окно диалога "Поиск решения".
Этапы выполнения работы:
1) Создать электронную таблицу для поиска минимума функции двух переменных.
В первой строке таблицы расположить название работы, выделить его жирным шрифтом. В следующие строки ввести функцию и ее частные производные в соответствии с номером варианта. Обе строки текста выделить жирным шрифтом.
2) Построить таблицу для поиска минимума функции методом наискорейшего спуска.
В ячейку A6 ввести 1, в ячейки B6 и C6 – начальное приближение. В ячейки D6 и E6 ввести формулы для расчета значений частных производных функции.
В ячейку F6 введем 1, это значение изменится после выполнения одномерной оптимизации.
В ячейках G6 и H6 рассчитать значения переменных:
х1нов = х1 – h*df/dx1,
х2нов = х2 – h*df/dx2,
в ячейке I6 – значение функции в точке (x1нов,x2нов),
в ячейке J6 – погрешность.
Для минимизации функции использовать подпрограмму «Поиск решения». В качестве целевой функции указать ячейку I6, в качестве изменяемой ячейки F6.
После выполнения минимизации числа в ячейках F6:K6 изменятся.
Скопировать формулы в следующую, 7-ю строку. В ячейки B7 и C7 ввести ссылки на новые значения переменных G6 и H6 соответственно.
Задать значение h в ячейке F7 равным 1. Выполнить «Поиск решения», указав в качестве целевой функции указать ячейку I7, в качестве изменяемой ячейки F7. Убедиться, что значение функции в ячейке I7 уменьшилось, как и значение погрешности в ячейке J7.
Скопировать формулы в следующую строку. Задать значение h равным 1, выполнить «Поиск решения». Повторять эту процедуру до тех пор, пока в значение погрешности не станет меньше 0,001 (в столбце K не появится «да»).
Внимание: если после выполнения «поиска решения» значения в ячейках не изменились, изменить начальное значение h (ввести 10 или 100 вместо 1) и повторить «поиск решения».
Выделить светло-желтым фоном ячейки, содержащие координаты минимума, значение функции в точке минимума, погрешность решения и количество итераций.
3) Построить точечную диаграмму, описывающую поиск минимума функции методом наискорейшего спуска, по данным в столбцах G, H. Использовать диаграмму с прямыми отрезками и маркерами.
4) Уточнить экстремумы при помощи подпрограммы "Поиск решения"
Ниже таблицы для поиска минимума методом наискорейшего спуска ввести текст – «Уточнение минимума "Поиском решения"». Скопировать из предыдущей таблицы значений функции заголовки столбцов G, H, I. Задать начальные приближения. Скопировать из предыдущей таблицы формулу для вычисления функции (из столбца I).
Выполнить «Поиск решения», указав в качестве целевой ячейку с формулой функции, а в качестве изменяемых – обе ячейки с начальными приближениями значений переменных.
Необходимо убедиться, что полученное в результате «Поиска решения» значение близко к значениям, полученным с помощью метода наискорейшего спуска.