
- •Учебно-методические материалы к изучению дисциплины «Методы оптимизации» (конспект лекций)
- •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. Функции спроса. Коэффициент эластичности
3.6. Модифицированный симплекс-метод
Основная идея модифицированного
симплекс-метода заключается в использовании
текущей обратной матрицы
(и
исходных данных задачи) при выполнении
вычислений, необходимых для определения
включаемой и исключаемой переменных.
Представление обратной матрицы в
мультипликативной форме позволяет
вычислять последовательность обратных
матриц непосредственно по исходным
данным без использования многократных
операций обращения каждого базиса. Как
и в обычном симплекс-методе, в данном
случае исходный базис всегда представляет
собой единичную матрицу I, обратной
к которой является сама эта матрица.
Поэтому, если
- последовательность матриц, а
- последовательность обратных матриц,
то
Последовательность подстановок приводит к следующей формуле:
Следует подчеркнуть, что мультипликативное представление обратной матрицы не является необходимой процедурой для реализации вычислительной схемы модифицированного симплекс-метода, и на каждой итерации можно применять любой из способов обращения текущего базиса. При использовании модифицированного симплекс-метода важно то, что обратные матрицы вычисляются способом, позволяющим уменьшить влияние машинных ошибок округления.
Шаги алгоритма модифицированного симплекс-метода, по существу, такие же, как и в алгоритме обычного симплекс-метода.
3.7. Построение опорных планов
Рассмотрим каноническую форму задачи линейного программирования
(1)
при ограничениях
Пусть
. Предположим, что система ограничений
содержит m - единичных векторов.
Пусть это первые n - векторов, тогда:
(2)
(3)
Запишем систему (2) в векторной форме
(4)
,
,
.
Векторы
- единичные, линейно независимые векторы
m - мерного пространства, они образуют
базис. В (4) за базисные неизвестные
выберем
. Свободные неизвестные приравниваем
нулю и учитывая, что
(где
),
а векторы - единичные. Получим
первоначальный план
(5).
Плану (5) соответствует разложение
(6), так как
- линейно независимые, то первоначальный
план является и опорным.
Рассмотрим, как исходя из опорного
плана (5) можно построить другой опорный
план
- базис, поэтому
.
Предположим, что для некоторого вектора,
не входящего в базис, например для
,
является положительным хотя бы один из
коэффициентов
,
входящих в разложение
(7). Зададимся величиной
,
пока неизвестной, умножим (7) на
и почленно вычислим из (6),получаем
вектор
является планом, если его компоненты
положительны.
(9).
Из (9) следует, что
,
план, если
(10).
Чтобы план был опорным должно быть m - положительных компонентов.
Необходимо обратить в нуль хотя бы одну из компонентов
(11).
3.8. Условия оптимальности
Предположим, что задача линейного
программирования (1) - (3) обладает планами
и каждый ее опорный план невырожден. В
этом случае для опорного плана (5) имеем
(12)
(13), где
- это значение линейной формы,
соответствующее плану
.
Разложение любого вектора
по векторам базиса
- единственно.
(14)
(15)
Теорема (для задачи на min):
Если для некоторого вектора
выполняются условия
,
то план
не является оптимальным и можно построить
такой план X:
.
Доказательство:
Умножим равенство (14) на
и вычтем из равенства (12), получаем
.
Умножим равенство (15) на и вычтем из равенства (13), получаем
(16).
Следствие: Если для некоторого плана
разложение всех векторов
в данном базисе, удовлетворяющих условию
(17),
то план
является оптимальным. Неравенство (17)
это условие оптимальности задачи на
минимум, а величины
- оценки плана.
Теорема (для задачи на max):
Если для некоторого вектора
выполняются условия
,
то план
не является оптимальным и можно построить
такой план X:
.
Следствие: Если для некоторого плана
разложение всех векторов
в данном базисе, удовлетворяющих условию
(18),
то план
является оптимальным. Неравенство (18)
это условие оптимальности задачи на
минимум, а величины
- оценки плана.
- формула Жордана-Гаусса.