
- •Методы оптимизации функций многих переменных
- •Введение
- •Введение 3 Лабораторная работа № 2. Методы безусловной оптимизации 4
- •Лабораторная работа №3. Методы условной оптимизации 16
- •1.2. Численные методы минимизации функции
- •Метод конфигураций (Хука-Дживса)
- •Метод деформируемого многогранника (Нелдера-Мида)
- •Метод дробления шага
- •Метод наискорейшего градиентного спуска
- •Метод сопряженных направлений (Флетчера – Ривса)
- •Метод Ньютона
- •II. Порядок выполнения лабораторной работы
- •III. Пример выполнения лабораторной работы
- •IV. Задания для лабораторного практикума
- •Контрольные вопросы
- •1.2. Седловые точки функции Лагранжа
- •1.3. Метод седловой точки в задачах квадратичного программирования
- •II. Порядок выполнения лабораторной работы
- •III. Пример выполнения лабораторной работы
- •IV. Задания для лабораторного практикума
- •Контрольные вопросы
- •Литература
- •Приложение. Рекомендации по использованию excel и matlab
- •1. Построение графиков
- •2. Действия с матрицами
- •Методы оптимизации функций многих переменных
III. Пример выполнения лабораторной работы
Минимизировать нелинейную функцию
при условиях
и
, применяя метод функции Лагранжа. Проверить справедливость оценки изменения целевой функции (14).
Решение.
при условиях
и
.
Решение.
IV. Задания для лабораторного практикума
Решить задачу минимизации функции методом множителей Лагранжа.
Решить ЗНП методом седловой точки. Промежуточную задачу решения СЛАУ решить, используя EXCEL.
Задания выбирать в соответствии с порядковым номером студента в журнале.
1.
,
2.
.
3.
4.
5.
6.
7.
8.
Ограничения (для всех вариантов):
.
Контрольные вопросы
Активные и пассивные ограничения. Регулярная задача.
Теорема Куна-Такера.
Достаточные условия минимума в задачах математического программирования.
Седловая точка.
Метод седловой точки для задачи квадратичного программирования.
Литература
Стандарт предприятия: Общие требования и правила оформления дипломных и курсовых проектов (работ). СТП УГТУ-УПИ 1-96. Екатеринбург, 1996.
Акулич И.Л. Математическое программирование в примерах и задачах. – М.; Высшая школа, 1993. – 335 с.
Аттетков А.В., Галкин С.В., Зарубин В.С. Методы оптимизации - М.; Издательство МГТУ им. Н.Э. Баумана, 2004. - 432 с
Васильев В.П. Численные методы решения экстремальных задач. - М.: Наука, 1980. - 518 с.
Габбасов Р., Кириллова Ф.М. Методы оптимизации. – Минск: Изд-во БГУ, 1981. -
Пантелеев А.В., Летова Т.А. Методы оптимизации в примерах и задачах. – М.; Высшая школа, 2005. – 544 с.
Дьяконов В. Matlab: учебный курс / В. Дьяконов. СПб.: Питер, 2001. 560 с.
Приложение. Рекомендации по использованию excel и matlab
1. Построение графиков
Для построения графика функции y=f(x1,x2) могут быть использованы следующие инструменты:
В EXCEL – Мастер диаграмм, подтип Поверхность.
Используя автозаполнение, на листе EXCEL в столбец А и первую строку с выбранным шагом ввести соответственно значения переменных x1 и x2, для которых будут вычисляться значения функции.
В ячейку В2 ввести выражение для вычисления функции f(x1,x2) в точках $A2, B$1 (знак $ - признак абсолютной адресации, при которой будут зафиксированы первый столбец– перебор значений переменной x1 и первая строка – перебор значений переменной x2) и нажать одновременно три клавиши Ctrl, Shift, Enter, поскольку формула используется для обработки массивов. В строке формул должны появиться фигурные скобки.
Выделить ячейку В2 и, протянув маркер заполнения сначала вниз, пробегая все ячейки, заполненные в столбце А. а затем вправо, пробегая все ячейки. заполненные в строке 1, заполнить массив значений функции в узловых точках области построения графика.
На вкладке Стандартные Мастера диаграмм выбрать Поверхность. Поверхностная диаграмма дает 3-мерное изображение функции, а Контурная диаграмма представляет вид сверху на поверхностную диаграмму и является аналогом линий уровня исследуемой функции.
В MATLAB – функции plot3, mesh, surf, surfl.
С помощью функции meshgrid получить двумерные массивы координат узловых точек области построения графика: u=a:∆1:b; v=c: ∆2:d; [x,y]=meshgrid(u,v);
Задать исследуемую функцию: f= f(х,у);
Применяя указанные выше функции, получить трехмерное изображение: plot3(x,y,f) или mesh(x,y,f), surf(x,y,f), surfl(x,y,f).