![]() |
|||
Главная Рефераты по авиации и космонавтике Рефераты по административному праву Рефераты по безопасности жизнедеятельности Рефераты по арбитражному процессу Рефераты по архитектуре Рефераты по астрономии Рефераты по банковскому делу Рефераты по сексологии Рефераты по информатике программированию Рефераты по биологии Рефераты по экономике Рефераты по москвоведению Рефераты по экологии Краткое содержание произведений Рефераты по физкультуре и спорту Топики по английскому языку Рефераты по математике Рефераты по музыке Остальные рефераты Рефераты по биржевому делу Рефераты по ботанике и сельскому хозяйству Рефераты по бухгалтерскому учету и аудиту Рефераты по валютным отношениям Рефераты по ветеринарии Рефераты для военной кафедры Рефераты по географии Рефераты по геодезии Рефераты по геологии Рефераты по геополитике Рефераты по государству и праву Рефераты по гражданскому праву и процессу Рефераты по кредитованию Рефераты по естествознанию Рефераты по истории техники Рефераты по журналистике Рефераты по зоологии Рефераты по инвестициям Рефераты по информатике Исторические личности Рефераты по кибернетике Рефераты по коммуникации и связи Рефераты по косметологии Рефераты по криминалистике Рефераты по криминологии Рефераты по науке и технике Рефераты по кулинарии Рефераты по культурологии |
Лабораторная работа: Методы оптимизации функций многих переменныхЛабораторная работа: Методы оптимизации функций многих переменныхМЕТОДЫ ОПТИМИЗАЦИИ ФУНКЦИЙ МНОГИХ ПЕРЕМЕННЫХ Оглавление Введение Лабораторная работа № 1. 1. Методы безусловной оптимизации 1.1 Теоретический обзор. Исследование функции на безусловный экстремум 1.2 Численные методы минимизации функции 2. Порядок выполнения лабораторной работы 3. Пример выполнения лабораторной работы 4. Задания для лабораторного практикума Лабораторная работа № 2. 1. Методы условной оптимизации 1.1 Теоретический обзор. Решение задачи минимизации со смешанными ограничениями 1.2 Седловые точки функции Лагранжа 1.3 Решение задач квадратичного программирования методом седловой точки 2. Порядок выполнения лабораторной работы 3. Пример выполнения лабораторной работы 4. Задания для лабораторного практикума Библиографический список Приложение ВведениеНастоящая работа является первой в серии методических указаний к лабораторным работам по дисциплинам "Методы оптимизации и нелинейное программирование" и "Методы оптимизации". Данные дисциплины читаются студентам 2-го курса специальности 230101 - Вычислительные машины, комплексы, системы и сети и направления 230100 - Информатика и вычислительная техника (бакалавры). В указаниях рассматриваются задачи безусловной и условной нелинейной оптимизации. В теоретической части по каждой теме приводятся базовые понятия, теоремы и алгоритмы, которые потребуются для выполнения работ. Для выполнения графической и расчетной частей задач и реализации численных методов оптимизации студенты должны применить знание языков программирования и пакетов MATLAB, MATCAD, EXCEL. Выбор конкретного инструмента предоставляется самому студенту. Приведены примеры порядка выполнения и оформления лабораторных работ. Проведенные вычисления, графические работы, анализ полученных результатов должны быть оформлены в виде отчета в соответствии со стандартными требованиями, предъявляемыми к отчетам и пояснительным запискам [1]. Сведения из теории, содержащиеся в данных методических указаниях, в отчет включать не рекомендуется. Лабораторная работа № 1.1. Методы безусловной оптимизацииЦель лабораторной работы - закрепление навыков исследования функций на выпуклость, решение задач на нахождение безусловного экстремума выпуклой функции аналитически и численными методами, изучение способов визуализации функций двух переменных в EXCEL и MATLAB. 1.1 Теоретический обзор. Исследование функции на безусловный экстремумРассматривается задача f (x)
→ extr, x Метод поиска безусловного экстремума основывается на следующих утверждениях: Пусть функция f (x) дифференцируема в точке х* grad f (x*) =0. (2) Пусть функция f (x) дважды дифференцируема в точке х* а) если х* - точка локального минимума в
задаче (1), то матрица Гессе Н (х*) неотрицательно
определена, т.е. б) если х* - точка локального минимума в
задаче (1), то матрица Н (х*) неположительно определена, т.е. Пусть функция f (x) дважды дифференцируема в точке х* grad f (x*) =0. Тогда а) если матрица Н (х*) положительно
определена, т.е. б) если матрица Н (х*) отрицательно
определена, т.е. Если grad f (x*) =0, то х* называется стационарной точкой. Для выпуклой (вогнутой) на Rn функции стационарные точки являются точками ее глобального минимума (максимума). Строго выпуклые (вогнутые) функции имеют единственный глобальный минимум (максимум). Критерий выпуклости функции. Дважды непрерывно
дифференцируемая на выпуклом множестве Х с непустой внутренностью функция
является выпуклой (вогнутой) на этом множестве в том и только том случае, когда
матрица Гессе Н (х*) неотрицательно (не положительно) определена
для всех х При исследовании на знакоопределенность матрицы вторых производных функции рекомендуется применять критерий Сильвестра или анализ собственных значений матрицы. Схема поиска безусловных экстремумов функции: Составить и решить систему алгебраических уравнений (2). В стационарных точках (точках, являющихся решением системы (2)) исследовать на знакоопределенность матрицу вторых производных; точки, в которых Н (х) >0, являются точками глобального минимума; стационарные точки, в которых Н (х) <0, являются точками глобального максимума. Исходя из вида исследуемой функции, проанализировать стационарные точки, в которых матрица вторых производных не является строго знакоопределенной. Найденные точки локального экстремума исследуются на глобальный экстремум (если это возможно). В частности, если матрица Гессе неотрицательно (не положительно) определена на всем пространстве Еn, то все стационарные точки функции являются точками глобального минимума (максимума). 1.2 Численные методы минимизации функцииЧисленное решение задачи минимизации (1), как правило, связано с построением минимизирующей последовательности точек x0,x1,x2,…,xn,…, обладающих свойством f (xk) <f (xk-1), k=0,1,… (3) Общее правило построения минимизирующей последовательности имеет вид x k+1=x k+t kd k, k=0,1,…, где х0 - начальная точка поиска; dk - приемлемое направление перехода из точки xk в точку xk+1, которое обеспечивает выполнение условий (3) и называется направлением спуска; tk - величина шага. Начальная точка поиска задается исходя из физического содержания решаемой задачи и априорных данных о существовании и положении точек экстремума. При решении вопроса о выборе численного метода рекомендуется оценить поведение линий уровня целевой функции в окрестностях предполагаемой точки экстремума. Число m = L/l, где L и l - максимальное и минимальное собственные значения гессиана функции f в предполагаемой точке экстремума x0 (характеризующее разброс собственных значений оператора f (x)), называется числом обусловленности гессиана функции f в точке x0. Если m >> 1, то функция f называется плохо обусловленной или овражной. Овражность, то есть вытянутость линий уровня вдоль одного направления, приводит к тому, что градиентные методы поиска экстремума функции сходятся медленно. В зависимости от наивысшего порядка частных производных функции f (x), используемых для формирования dk и tk, численные методы принято делить на три группы: Методы нулевого порядка, использующие информацию только о значениях функции f (x) (методы деформируемого многогранника, конфигураций). Эти методы могут применяться в тех случаях, когда функция задана неявно или не задана аналитически, но известен ряд значений функции или эти значения вычисляются непосредственно в ходе реализации алгоритма. Они также могут быть полезны в случаях, когда производные функции могут быть заданы аналитически, но их выражения очень громоздки. Методы первого порядка, использующие информацию о значениях самой функции f (x) и ее первых производных (методы наискорейшего градиентного спуска, дробления шага, Гаусса-Зейделя, Флетчера-Ривса). Методы второго порядка, использующие, кроме того, и информацию о вторых производных функции f (x) (метод Ньютона и его модификации). Метод конфигураций (Хука - Дживса) Следует выделить два этапа метода конфигураций: 1) исследование с циклическим изменением переменных и 2) ускорение поиска по образцам. Исследующий поиск начинается в точке х0, называемой старым базисом. Направления поиска - координатные направления. По каждому направлению поочередно с шагом +t0 (-t0) проверяется выполнение условия (2) и в качестве нового базиса берется точка с координатами, полученными в результате удачных шагов из начальной точки по каждому направлению. Направление от старого базиса к новому задает направление ускорения поиска: в качестве следующей точки минимизирующей последовательности проверяется точка y1=x0+l (x1-x0). Здесь l - ускоряющий множитель, задаваемый пользователем. Если полученная точка является удачной, то она берется в качестве следующей точки для исследования. В противном случае исследование ведется из точки x1. Метод деформируемого многогранника (Нелдера - Мида). При решении задачи поиска минимума функции f (x) методом Нелдера-Мида строится последовательность множеств из n+1 точек, которые являются вершинами выпуклого многогранника. На каждом последующем k+1-м шаге из системы точек xi (k), i=1, …,n+1, полученной на k-м шаге, выводится точка xh (k), в которой функция f (x) имеет наибольшее значение (худшая точка). Вместо xh (k) в систему вводится новая точка, выбираемая на отрезке прямой, проходящей через худшую точку и центр тяжести оставшихся n вершин многогранника: xn+2= xn+3= xn+2+a (xn+2 - xh) новая точка (“растянутое” отражение наихудшей вершины). В данном методе строится релаксационная последовательность точек, т.е. таких точек {xk}, k=0,1,…, что f (xk) <f (xk-1), k=0,1,…. Точки последовательности {xk} вычисляются по следующему правилу: xk+1=xk-tkgrad f (xk), k=0,1,… (4) Начальная точка х0 и начальный шаг t0 задаются пользователем. Величина шага t0 не изменяется до тех пор, пока функция убывает в точках последовательности. Это контролируется путем проверки выполнения условия f (xk+1) - f (xk) <0 (или <-ε). Если условие убывания не выполняется, то величина шага уменьшается, как правило, вдвое, т.е. tk=tk/2. Метод наискорейшего градиентного спуска Как и в предыдущем методе, точки релаксационной последовательности
{xk}, k=0,1,…
вычисляются по правилу (4). Точка х0 задается пользователем; величина
шага tk определяется из условия
минимума одномерной функции φ (tk)
=f (xk-tkgrad f (xk)).
Задача минимизации функции φ (tk)
может быть решена с использованием необходимого условия минимума Метод сопряженных направлений (Флетчера - Ривса). В данном методе используются свойства векторов, сопряженных относительно некоторой матрицы. Определение. Векторы p и q называются сопряженными относительно матрицы Q, если выполняется равенство pQq=0. Точки релаксационной последовательности {xk}, k=0,1,… вычисляются по правилу xk+1=xk-tkdk, k=0,1,…; dk = - grad f (xk) +βk-1 dk - 1; (5) d0= - grad f (x0); βk-1=║grad f (xk) ║2∕║grad f (xk-1) ║2. Точка х0 задается пользователем; величина
шага tk определяется из условия
минимума функции φ (t) =f (xk-tdk). Задача минимизации одномерной функции
φ (tk) может быть решена
с использованием необходимого условия минимума Строится последовательность точек {xk},
k=0,1,…, таких, что 2. Порядок выполнения лабораторной работыЗаписать необходимые условия экстремума. Аналитически или используя прикладные пакеты найти стационарные точки. Проверить выполнение достаточных условий экстремума в найденных стационарных точках. Найти глобальный минимум функции. Оценить обусловленность задачи в точке минимума и овражность графика в окрестности точки минимума. Сделать предварительный вывод о работоспособности избранного численного метода. Выбрать пакет, в котором будет строиться график. Рекомендации приведены в приложении. Построить график функции, задавая пределы изменения координат с учетом аналитически найденных точек минимума - максимума. Выбрать несколько начальных точек для реализации численного метода. Задать критерий завершения итерационного процесса. Найти минимум. Сравнить результаты с аналитически найденным значением глобального минимума. Исследовать сходимость алгоритма, фиксируя точность определения минимума, количество итераций метода и количество вычислений минимизируемой функции в зависимости от задаваемой точности поиска. Результатом выполнения данного пункта должны быть выводы об объёме вычислений в зависимости от задаваемой точности и начального приближения. 3. Пример выполнения лабораторной работы[1]Функция: Методы: градиентного спуска и Ньютона. Решение: 1. Построим график функции и линии уровня (рис.1). Примечание: при построении графика используется среда MathCAD.
Рис.1. Графики функции 2. Решим задачу минимизации аналитически. Система для нахождения стационарных точек из условия равенства нулю градиента имеет вид Если x1x2 =0, то из системы следует, что x1 =0 и x2 =0. Первая стационарная точка - A0 (0; 0). Если x1x2 ≠0, то Подставим х1 в первое уравнение: Введем замену
Обозначим
Получаем остальные стационарные точки:
Приближенные числовые координаты найденных точек: А0 (0; 0), А1 (1.068; 1.668), А2 (-1.068; - 1.668), А3 (-0.331; 0.848), А4 (0.331;0.848). Построим и исследуем на знакоопределенность матрицу Гессе в точках А0,…, А4.
H (A0 (0; 0)) =0 (требуется дополнительное исследование точки). Анализ поведения функции в окрестности точки A0 (0; 0) показывает, что, придавая х1 положительное и отрицательное значение при любом х2, можно получить соответственно положительное и отрицательное значение функции. Таким образом, A0 (0; 0) не является ни точкой локального минимума, ни точкой локального максимума. Н (А1 (1,068; 1,668)) ≈ Н (А2 (-1,068; - 1,668)) ≈ Н (А3 (-0,331; 0,848)) ≈ Н (А4 (0,331; - 0,848)) ≈ Точками глобального экстремума являются А1 (1,068; 1,668) - глобальный максимум, f (A1) ≈1,801; А2 (-1,068; - 1,668) - глобальный минимум, f (A2) ≈≈ - 1,801. 3. Остальные задания реализованы на языке СИ, для чего написаны классы для работы с векторами и матрицами (Cvector и Cmatrix) и использующее их приложение. В методе наискорейшего спуска для одномерной минимизации используется метод золотого сечения. Для отыскания собственных чисел матрицы Гессе применяется метод Якоби, для построения обратной матрицы - метод Жордана-Гаусса. В начале работы программа выводит информацию о стационарных точках: Stationary dots: x1x2f (x1,x2) Extreme 1.0678901.6675661.801131LOC MAX 1.067890-1.667566-1.801131LOC MIN 0.3310770.848071-0.144426LOC MIN 0.331077-0.8480710.144426LOC MAX GLOBAL MIN: x (-1.067890, - 1.667566) f (x) = - 1.801131 GLOBAL MAX: x (1.067890, 1.667566) f (x) = 1.801131 Затем устанавливается начальная точка x0 (-2,-2), функция исследуется на выпуклость/вогнутость в этой точке, выводится число обусловленности матрицы Гессе: x0 (-2.000000, - 2.000000) Hessian: Alternating sign f (x0) = - 0.398297 cond H (x0) = 4.751665 Таким образом, квадратичная форма, соответствующая матрице Далее запускается метод наискорейшего градиентного спуска, и выполняются две итерации. Steepest descent method: x2 (-1.200031, - 1.706888) Hessian: Convex grad_f (x2) = (-0.963083, 0.275166) f (x2) = - 1.741440 В результате двух итераций мы получили точку, достаточно близкую к точке глобального минимума. Теперь из точки (-2; - 2) стартует метод Ньютона с поправкой гессиана. Результат двух итераций: Newton method: x2 (-2.735431, - 2.306328) Hessian: Alternating sign grad_f (x2) = (-0.110421, 0.031948) f (x2) = - 0.018516 Видно, что метод расходится. Начальная точка выбрана неудачно. Увеличение числа итераций приводит к дальнейшему расхождению метода. Это объясняется тем, что в начальной точке функция не является выпуклой. Анализируя линии уровня функции, выберем начальную точку ближе к оптимальной. Например, (-1; - 2): x0 (-1.000000, - 2.000000) Hessian: Convex, f (x0) = - 1.471518, cond H (x0) = 3.786885 Newton method: x2 (-1.047041, - 1.722604) Hessian: Convex grad_f (x2) = (0.379214, - 0.339841) f (x2) = - 1.787758 Как в начальной, так и в конечной точке функция является выпуклой. За две итерации мы приблизились к точке А2 (-1,068; - 1,668). Теперь возьмем начальную точку еще ближе к А2, например (-1; - 1,5): x0 (-1.000000, - 1.500000) Hessian: Convex f (x0) = - 1.752302 cond H (x0) = 3.857905 Newton method: x2 (-1.067889, - 1.667566) Hessian: Convex grad_f (x2) = (0.000000, 0.000000) f (x2) = - 1.801131 Метод Ньютона достиг точки глобального минимума, об этом говорит практически нулевой вектор-градиент. Точное значение В лабораторной работе проведено исследование заданной функции на глобальный экстремум с использованием аналитических преобразований, графика функции и разработанного приложения на языке C++. С помощью метода градиентного спуска удалось улучшить целевую функцию. Выбор точки x0 (-2,-2) в качестве начальной для реализации метода Ньютона оказался неудачным, так как матрица Гессе в ней не является положительно определенной. Замена начальной точки на более подходящую для данного метода позволила за две итерации прийти в точку глобального минимума. Полученные результаты хорошо согласуются с теорией. Разработанные классы Cvector и Cmatrix могут применяться в будущих проектах. 4. Задания для лабораторного практикумаАналитически найти стационарные точки заданной функции, области выпуклости/вогнутости функции. Найти точку глобального минимума. Оценить овражность исследуемой функции в окрестности точки минимума. Построить график функции, используя средства EXCEL или MATLAB. Решить задачу минимизации численным методом из нескольких начальных точек. Сделать вывод об эффективности выбранного метода. При выполнении задания на языке СИ написать классы для работы с векторами и матрицами. Задание выбирать в соответствии с порядковым номером фамилии студента в списке группы.
Контрольные вопросы: Объяснить алгоритмы следующих методов Метод конфигураций (Хука-Дживса). Метод деформируемого многогранника (Нелдера Мида). Метод наискорейшего спуска. Метод сопряженных направлений и его модификации. Метод Ньютона и его модификации. Метод дробления шага. Лабораторная работа № 2.1. Методы условной оптимизацииЦель лабораторной работы - закрепление навыков аналитического решения задач оптимизации со смешанными ограничениями с использованием теоремы Куна-Таккера, нахождение седловой точки функции Лагранжа, использование теории двойственности для оценки чувствительности решения задачи оптимизации. 1.1 Теоретический обзор. Решение задачи минимизации со смешанными ограничениямиОбщая задача нахождения экстремума функции при наличии ограничений - равенств и ограничений - неравенств записывается в следующем виде: f (x) → extr, (6) xÎX= {xÎEn: gi (x) ≤0, i=1,2,…,r; gi (x) =0, i=r+1, …, m, m-r<n}, где среди функций f (x) и gi (x) могут быть нелинейные. Активные ограничения - неравенства в точке х* ─ это ограничения, которые выполняются в данной точке в виде равенства. Пассивные ограничения - неравенства в точке х* ─ это ограничения, которые выполняются в данной точке в виде строгого неравенства. Если градиенты активных ограничений-неравенств и ограничений-равенств в точке х* линейно независимы, то говорят, что в оптимальной точке выполнено условие регулярности. Обобщенная функция Лагранжа для задачи со смешанными ограничениями задается как L (x,λ0,λ) =λ0f (x) + При выполнении условия регулярности λ0≠0 и можно положить этот коэффициент равным 1. Теорема Куна - Таккера (дифференциальная форма необходимого условия
минимума). Пусть точка х* - точка локального минимума в задаче
математического программирования (6), функции f,gr+1,…,gm
дважды непрерывно дифференцируемы в точке х, функции g1,…,gr
дважды непрерывно дифференцируемы в некоторой окрестности точки x. Тогда существует число условие стационарности обобщенной функции Лагранжа по х: gradxL (x*, условие нетривиальности:
условие неотрицательности:
т.е. множители Лагранжа, соответствующие целевой функции и ограничениям - неравенствам, неотрицательны; условия дополняющей нежесткости: gi (x*) =0, i=1, 2, …, r. Если при этом выполнено условие регулярности, то для выпуклых функций f, gr+1,…, gm и линейных функций g1,…, gr условия теоремы Куна - Таккера являются одновременно необходимыми и достаточными условиями глобального минимума. Достаточное условие минимума первого порядка. Пусть имеется точка (х*, Достаточное условие минимума второго порядка. Пусть имеется точка (х*, Общая схема решения задачи условной минимизации функции: Составляется обобщенная функция Лагранжа вида (7). Выписываются необходимые условия минимума, сформулированные в теореме Куна - Таккера. К этим условиям добавляются ограничения, задающие допустимое множество Х. Полученная система алгебраических уравнений и неравенств используется для поиска условно-стационарных (подозрительных на экстремум) точек. Целесообразно проанализировать отдельно случаи λ0=0 и λ0=1 (или λ0 - любое положительное число). Однако если выполнено одно из условий регулярности, то вариант λ0=0 рассматривать не надо. В найденных точках проверяется выполнение достаточных условий минимума и проводится анализ на глобальный экстремум. Чувствительность решения ЗНП. Множители Лагранжа могут быть использованы для оценивания влияния малых изменений правых частей ограничений на оптимальное решение задачи нелинейного программирования. Пусть х*=х* (b) - решение ЗНП f (x) → min, (8) xÎX= {xÎEn: gi (x) ≤bi, i=1,2,…, m; х≥0} при некотором векторе b свободных членов в ограничениях - неравенствах, а v (b) соответственно значение целевой функции при этом решении ЗНП, т.е. v (b) =f (x*). Тогда справедлива следующая оценка изменения целевой функции: ∆v=f (b+∆b) - f (b) при изменении вектора b на некоторый малый вектор-приращение ∆b: ∆f≈ (∆b,λ*), (9) где λ* - вектор множителей Лагранжа, соответствующий решению х* (b). 1.2 Седловые точки функции ЛагранжаСуществование экстремума тесно связано с наличием у функции Лагранжа (6) так называемой седловой точки. Рассматривается задача выпуклого программирования с ограничениями-неравенствами f (x) → min, (10) xÎX= {xÎEn: gi (x) ≤0, i=1,2,…, m; х≥0}. Предполагается, что выполнено условие регулярности, т.е. можно рассматривать только вариант λ0=1. Определение. Точка (х*, λ*), где х*Î Х, L (x*,λ) ≤ L (x*, λ*) ≤ L (x, λ*). (11) Утверждение 1 (критерий для седловой точки функции Лагранжа). Точка (х*, λ*) - является седловой для функции Лагранжа L (x,λ) в том и только в том случае, когда выполнены следующие условия: L (х*, λ*) =min {L (x, λ*) ׀ x Î Х}, (12) L (х*, λ*) =max {L (x*,λ) ׀ λ ≥0}, (13)
х*≥0,λ*≥0. Условие (12) минимума функции Лагранжа по х эквивалентно выполнению в точке (х*, λ*) неравенства
Условие (13) максимума функции Лагранжа по λ эквивалентно выполнению в точке (х*, λ*) неравенства
Утверждение 2. х* - оптимальное решение задачи (3) в том и только в том случае, когда существует такой вектор λ* ≥0, что (х*, λ*) - седловая точка функции Лагранжа L (x,λ). 1.3 Решение задач квадратичного программирования методом седловой точкиРассмотрим задачу квадратичного программирования, т.е. f (x) = (Сx,x) + (d,x) где С - матрица размера n*n; d, х - векторы-столбцы n*1; А - матрица размера m*n; b - вектор-столбец m*1. Для задачи квадратичного программирования критерий существования седловой точки приобретает вид задачи решения СЛАУ. Действительно, функция Лагранжа в этом случае запишется в виде L = где ckj - элементы матрицы С; dk - элементы вектора d; bi - элементы вектора свободных членов b; aij - элементы матрицы А; λi - коэффициенты Лагранжа. Необходимые и достаточные условия оптимальности решения х* принимают вид vj yi xjvj=0, xj≥0, (j=1,...,n), (19) λi (-yi) =0, λi≥0. (20) Равенства (17), (18) образуют систему n+m линейных уравнений с 2 (n+m) неизвестными x1,…,xn,v1,…,vn, λ1,…, λm,y1,…,ym. Решения этой системы, при которых выполняются равенства (19), (20), дают координаты седловой точки (х*,λ*). Соответственно n координат х* дают оптимальное решение задачи (15). 2. Порядок выполнения лабораторной работыПостроить допустимую область задачи и линии уровня. Записать функцию Лагранжа и необходимые условия экстремума, из которых аналитически или используя прикладные пакеты найти условно-стационарные точки. Для каждой точки указать активные и пассивные ограничения. Проверить выполнение достаточных условий экстремума в найденных стационарных точках. Найти глобальный минимум функции. Используя критерий (утверждение 1), проверить, что найденная точка является седловой точкой функции Лагранжа. Проверить справедливость оценки (9), решив задачу при положительных и отрицательных малых значениях приращения ∆b. Решить задачу квадратичного программирования методом седловой точки. Для этого записать систему (17) - (18), найти ее решения, удовлетворяющие условиям (19) - (20). 3. Пример выполнения лабораторной работыМинимизировать нелинейную функцию
Допустимая область - часть сферы
Рассмотрим случай Из (21) - (23) ® Если Из (21) - (23) ® Рассмотрим теперь случай Если Остальные "симметричные" точки здесь и далее приводить не будем. Если
Далее получаем точки
Для
Если Если
Следовательно, противоречию. Таким образом, Суммирование первых трех уравнений дает уравнение
в котором последнее слагаемое равно нулю, поэтому
С другой стороны,
Следовательно, откуда Разделим равенства на
Получаем точку
(в силу симметрии переменных х1, х2, х3 координаты можно переставить),
Предположив Найдены следующие точки:
Запишем второй дифференциал обобщенной функции Лагранжа.
является активным ограничением только для точки Применим достаточное условие минимума второго порядка к этой точке: Подставив
Запишем матрицу квадратичной формы относительно приращений:
Для "верхнего" знака
Для "нижнего" знака элементы матрицы меняют знак. Согласно критерию Сильвестра, в этой точке нет экстремума. Сравним значения функции в остальных точках:
Точкой глобального минимума является
значение функции в этой точке
Проверим справедливость оценки Возьмем вектор
Следовательно,
Перепишем условие задачи, введя приращение
Возьмем, например,
С другой стороны,
Аналогично для
Решить задачу максимизации квадратичной функции
Перепишем условие следующим образом: Функция Лагранжа имеет вид
Необходимые и достаточные условия минимума:
Получаем систему уравнений и неравенств: Для решения промежуточной задачи ЛП воспользуемся средствами MS Excel. Введем формулы, соответствующие системе (рис.2), и начальное приближение для решения системы уравнений (рис.3). Рис.2. Ввод данных задачи Рис.3. Задание начального приближения Заполним поля диалога "Поиск решения" (рис.4). Рис.4. Экранная форма "Поиск решения" В окне "Параметры" установим флажок "Неотрицательные значения". В результате решения найдена седловая точка функции Лагранжа (х*,λ*) = (15; 0; 0; 30) (рис.5). Рис.5. Результаты поиска решения. Оптимальное решение задачи: х* (15; 0; 0), f (x*) = 225. 4. Задания для лабораторного практикумаРешить задачу минимизации функции методом множителей Лагранжа. Решить ЗНП методом седловой точки. Промежуточную задачу решения СЛАУ решить, используя EXCEL. 1. 2. 3. 4. 5. 6. 7. 8. Ограничения (для всех вариантов):
Контрольные вопросы: Активные и пассивные ограничения. Регулярная задача. Теорема Куна-Такера. Достаточные условия минимума в задачах математического программирования. Седловая точка. Метод седловой точки для задачи квадратичного программирования. Библиографический список1. Стандарт предприятия: Общие требования и правила оформления дипломных и курсовых проектов (работ): СТП УГТУ - УПИ 1 - 96. Екатеринбург, 1996. 2. Акулич И.Л. Математическое программирование в примерах и задачах / И.Л. Акулич. М.: Высшая школа, 1993.335 с. 3. Аттетков А.В. Методы оптимизации / А.В. Аттетков, С.В. Галкин, 4. В.С. Зарубин. М.: МГТУ, 2004.432 с. 5. Васильев В.П. Численные методы решения экстремальных задач / В.П. Васильев. М.: Наука, 1980.518 с. 6. Габасов Р. Методы оптимизации / Р. Габасов, Ф.М. Кириллова. Минск: БГУ, 1981.350 с. 7. Дьяконов В. Matlab: учебный курс / В. Дьяконов. СПб.: Питер, 2001.560 с. 8. Еремин И.И. / И.И. Еремин, Н.Н. Астафьев. М.: Наука, 1976.192 с. 9. Пантелеев А.В. Методы оптимизации в примерах и задачах / 10. А.В. Пантелеев, Т.А. Летова. М.: Высшая школа, 2005.544 с. 11. МЕТОДЫ ОПТИМИЗАЦИИ ФУНКЦИЙ МНОГИХ ПЕРЕМЕННЫХ: методические указания к лабораторным работам / сост. С.Д. Чернина. Екатеринбург: УГТУ-УПИ, 2007.36 с. ПриложениеРекомендации по использованию EXCEL и MATLAB Для построения графика функции y=f (x1,x2) могут быть использованы следующие инструменты: 1. В EXCEL - Мастер диаграмм, подтип Поверхность. а. Используя автозаполнение, на листе EXCEL в столбец А и первую строку с выбранным шагом ввести соответственно значения переменных x1 и x2, для которых будут вычисляться значения функции. б. В ячейку В2 ввести выражение для вычисления функции f (x1,x2) в точках $A2, B$1 (знак $ - признак абсолютной адресации, при которой будут зафиксированы первый столбец - перебор значений переменной x1 и первая строка - перебор значений переменной x2) и нажать одновременно три клавиши Ctrl, Shift, Enter, поскольку формула используется для обработки массивов. В строке формул должны появиться фигурные скобки. в. Выделить ячейку В2 и, протянув маркер заполнения сначала вниз, пробегая все ячейки, заполненные в столбце А, а затем вправо, пробегая все ячейки, заполненные в строке 1, заполнить массив значений функции в узловых точках области построения графика. г. На вкладке "Стандартные" Мастера диаграмм выбрать подтип Поверхность. Поверхностная диаграмма дает трехмерное изображение функции, а контурная диаграмма представляет вид сверху на поверхностную диаграмму и является аналогом линий уровня исследуемой функции. 2. В 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). Для нахождения собственных значений и собственных векторов матрицы Гессе могут быть использованы следующие инструменты MATLAB: λ = eig (a) - функция eig (a) возвращает собственные значения заданной матрицы a. Пример задания матрицы 4х4: a = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] ; [v,d] = eig (a) - при таком обращении функция возвращает собственные векторы v и собственные значения как элементы диагональной матрицы d. Для нахождения матрицы, обратной матрице Гессе, могут быть использованы следующие инструменты: В EXCEL - функция МОБР возвращает обратную матрицу для матрицы, хранящейся в массиве. В MATLAB - функция y=inv (a) возвращает обратную матрицу для матрицы a. [1] Лабораторная работа выполнена студентом Коневым С. |
||
|