- •Учебно-методические материалы к изучению дисциплины «Методы оптимизации» (конспект лекций)
- •1. Классификация задач оптимизации
- •2. Классификация математических методов и моделей в экономике
- •3. Линейное программирование
- •3.1. Постановка задачи линейного программирования
- •3.2. Экономическая интерпретация задач линейного программирования
- •3.3. Требования совместности условий
- •3.4. Графический метод решения задач линейного программирования
- •3.5. Симплекс-метод
- •3.6. Модифицированный симплекс-метод
- •3.7. Построение опорных планов
- •3.8. Условия оптимальности
- •3.9. Метод искусственного базиса
- •3.10. Транспортная задача
- •3.11. Двойственные задачи линейного программирования
- •3.12. Устойчивость оптимизационного решения
- •4. Нелинейное программирование
- •4.1. Классификация и общая постановка задач нелинейного программирования
- •4.2. Метод множителей Лагранжа
- •4.3. Возможные обобщения метода множителей. Седловая точка функции Лагранжа
- •4.4. Оптимальные решения при ограничениях-неравенствах. Теорема Куна - Таккера
- •4.5. Выпуклое программирование. Задача выпуклого программирования
- •4.6. Квадратичное программирование
- •4.7. Градиентные методы
- •5. Оптимизация на графах
- •5.1. Основные понятия теории графов
- •5.2. Связность
- •5.3. Подграфы
- •5.4. Матрица графов
- •5.5. Потоки в сетях
- •5.6. Задача о максимальном потоке сети
- •5.7. Задача о кратчайшем пути
- •5.8. Задача коммивояжера
- •5.9. Оптимизация сетевого графика
- •5.10. Методы оптимизации производственной программы
- •6. Динамическое программирование
- •6.1. Общая постановка задачи динамического программирования
- •6.2. Принцип оптимальности. Уравнение Беллмана
- •6.3. Простейшие экономические задачи, решаемые методом динамического программирования
- •7. Математические модели потребительского поведения и спроса
- •7.1. Отношение предпочтения и функция полезности
- •7.2. Решение задачи об оптимальном выборе потребителя
- •7.3. Функции спроса. Коэффициент эластичности
4.6. Квадратичное программирование
Задачи квадратичного программирования имеют следующие особенности: целевая функция представляет собой сумму вида функции, входящие в ограничения, линейны относительно хj, т.е. обычно присутствует требование неотрицательности переменных.
Структура задач квадратичного программирования позволяет широко использовать теорию Куна - Таккера для поиска оптимальных решений. Различные интерпретации необходимых условий существования экстремума (4) (п. 4.4) привели к разработке целого ряда алгоритмов, многие из которых преследуют цель свести решение исходной квадратичной задачи к вариантам линейного программирования. Что касается достаточных условий экстремума, то в данном случае они выражены в требовании выпуклости (вогнутости) функции . Можно показать, что рассматриваемая квадратичная форма обладает свойством выпуклости (вверх), если она является неположительно (или отрицательно) определенной в U, т.е. для всех хj, xk, удовлетворяющих принятым ограничениям.
Учитывая сказанное, обратимся к задаче: найти
при
(5)
Положив , говорить в дальнейшем только о глобальном экстремуме z. .
Рассмотрим необходимые условия существования X*, z*. Здесь
и
Обозначим для удобства через pj - производную , а через производную qi - . Тогда искомые условия можно трактовать так: значения определяются теми решениями системы
(6)
которые удовлетворяют требованиям
Переход к системе (6) позволяет в большинстве случаев упростить процедуру отыскания за счёт использования симплекс-алгоритма. Возвращаясь к (6), заметим, что рассматриваемая система содержит т+п линейных уравнений с 2(n+m) неизвестными . Предполагая уравнения (6) независимыми (поскольку независимы условия, из которых они получены), можно сказать, что п+т из названных 2(п+т) переменных являются свободными.
Если некоторое решение (6) удовлетворяет требованиям
то среди его компонент должно быть как минимум п+т равных нулю; таким образом, оно может иметь вид «ровно п+т компонент отличны от нуля, ровно п+т компонент равны нулю» или «менее п+т компонент отличны от нуля, более п+т компонент равны нулю».
Очевидно, подобные решения являются базисными, и для отыскания X* должен существовать метод, аналогичный симплекс-методу, оперирующему с базисными решениями. Возникает вопрос: нельзя ли сразу, выбрать произвольно п+т свободных переменных среди положить их равными нулю, а затем определить через них остальные переменные в соответствии, с уравнениями (6)? Ответ, здесь может быть только отрицательным, потому что произвольный выбор решения может привести к нарушению условий . Приходится обращаться к специальным методам определения . Одним из них является так называемый метод Вольфа, предусматривающий исследование задач линейного программирования с целью получить решения задачи квадратичного программирования.