- •Содержание
- •Введение
- •Тема 1. Экономико-математические методы и модели и их классификация
- •1.1. Социально-экономические системы, методы их исследования и моделирования
- •1.2.Этапы экономико-математического моделирования, классификация экономико-математических моделей и методов
- •Примеры описательных моделей
- •Тема 2. Балансовый метод в экономике
- •2.1. Общие понятия балансового метода, принципиальная схема межпродуктового баланса
- •2.2. Экономико-математическая модель межотраслевого баланса
- •2.3. Плановые расчеты на основе матричных моделей систем производства и распределения продукции
- •2.3.1. Методика расчета планового баланса по заданным валовым выпускам продукции Xiпл
- •2.3.2. Коэффициенты полных материальных затрат и методы их расчета
- •2.3.3. Методика расчета планового баланса по заданным плановым уровням конечной продукции Yiпл
- •2.4. Пример расчета планового баланса для трехотраслевой экономической системы
- •2.5. Использование балансового метода на предприятии
- •Тема 3. Математические методы сетевого планирования и управления
- •3.1. Основные понятия сетевой модели
- •Распределение (расслоение) вершин сетевого графика по рангам
- •3.2. Анализ сетевого графика и расчет его временных характеристик
- •3.2.1. Расчет временных характеристик событий
- •3.2.2. Расчет временных характеристик работ
- •3.3. Сетевое планирование в условиях неопределенности
- •Вероятностные оценки продолжительности работ
- •3.4. Оптимизация сетевой модели
- •Краткая характеристика метода оптимизации
- •Тема 4. Классификация задач математического программирования и область их эффективного применения в экономике
- •4.1. Математическая постановка и структура задачи оптимизации
- •4.2. Краткая классификация методов математического программирования
- •Тема 5. Линейное программирование
- •5.1. Предмет линейного программирования
- •5.2. Построение оптимизационных моделей для решения экономических задач
- •5.3. Общая задача линейного программирования. Основные определения
- •5.4. Графический метод решения задач линейного программирования
- •I этап. Графическая интерпретация области допустимых решений
- •II этап. Графическая интерпретация целевой функции
- •III этап. Нахождение оптимального решения
- •5.5. Примеры решения задач линейного программирования графическим методом
- •5.6. Понятие о симплекс-методе озлп
- •5.7. Каноническая форма задач линейного программирования
- •5.8. Базисные решения задачи линейного программирования
- •5.9. Алгоритм симплекс-метода озлп
- •5.10.Примеры решения задач линейного программирования симплекс-методом
- •Тема 6. Двойственность в линейном программировании
- •6.1.Понятие двойственности. Построение двойственных задач и их свойства
- •6.2. Основные теоремы двойственности и их экономическое содержание
- •Первая теорема двойственности
- •Вторая теорема двойственности (теорема о дополняющей нежесткости)
- •6.3.Экономическая интерпретация двойственной задачи Пример 1. Задача оптимального использования ресурсов.
- •6.4.Экономико-математический анализ полученных оптимальных решений
- •Свойство 1. Оценки как мера дефицитности ресурсов
- •Свойство 2. Оценки как мера влияния ограничений на функционал
- •Свойство 3. Оценки - инструмент определения эффективности отдельных вариантов (технологических способов) с позиций общего оптимума
- •Тема 7. Транспортная задача линейного программирования
- •7.1. Постановка транспортной задачи
- •Классическая постановка транспортной задачи
- •Модели транспортной задачи
- •7.2.Методы построения исходного плана
- •Метод северо-западного угла
- •Метод минимального элемента
- •7.3.Оптимизация исходного базисного плана перевозок. Метод потенциалов
- •Основные процедуры метода потенциалов
- •Алгоритм метода потенциалов
- •7.4. Пример решения транспортной задачи
- •7.5. Применение модели транспортной задачи при решении различных экономических задач
- •Тема 8. Модели и методы дискретного программирования
- •8.1. Постановка задачи дискретного программирования
- •Задача о назначении (проблема выбора, задача о женихах и невестах)
- •8.2.Краткая классификация математических моделей дискретного программирования
- •8.3.Методы решения задач дискретного программирования
- •8.3.1. Методы отсечения для решения полностью целочисленной задачи линейного программирования
- •8.3.2.Сущность метода ветвей и границ
- •Тема 9. Модели и методы динамического программирования
- •9.1. Моделирование процессов наилучшего распределения ресурсов методом динамического программирования
- •Итоговая таблица условно-оптимальных решений
- •Графики предельной и средней эффективности
- •Тема 10. О других моделях и методах математического программирования
- •10.1.Нелинейное программирование
- •10.2.Стохастическое программирование
- •Тема 11. Модели конфликтных ситуаций в теории игр
- •11.1.Основные понятия теории игр
- •11.2.Решение игры в чистых стратегиях
- •11.3.Решение игры без седловой точки
- •Графический способ решения матричной игры
- •11.4. Пример решения экономической задачи методами теории игр
- •Тема 12. Модели управления запасами
- •12.1. Основные понятия
- •12.2. Статические модели управления запасами Уилсона
- •12.2.1. Статическая модель без дефицита
- •12.2.2. Статическая модель с дефицитом
- •12.3. Модели со случайным спросом
- •Тема 13. Модели массового обслуживания
- •Литература
5.9. Алгоритм симплекс-метода озлп
Как уже известно, прежде чем решать задачу линейного программирования симплекс-методом, ее необходимо привести к канонической форме (см. § 5.7). После этого выделяют переменные, которые присутствуют только в одном уравнении с коэффициентом единица и принимают их в качестве базисных. Если в ограничении такую переменную выделить нельзя, то вводят искусственную базисную переменную. Затем определяется исходный базисный план и значение целевой функции для этого плана (см. § 5.8). Далее выполняется описанная ниже последовательность шагов.
Шаг 1. Строим и заполняем исходную симплексную таблицу по следующей схеме (табл. 3):
Таблица 3
|
-1 |
0 |
|
... |
cj |
... |
|
|
C |
B |
|
... |
xj |
... |
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
xi |
ci |
bi |
|
|
aij |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f |
|
... |
j |
... |
|
В столбце "Базис" записываются базисные переменные, в столбце "С" - коэффициенты при базисных переменных в целевой функции (ci), в столбце "В" - свободные члены ограничений (bi), т.е. значения базисных переменных. В столбцах xj (небазисные переменные) отражаются коэффициенты при небазисных переменных в ограничениях (aij), над переменными xj - коэффициенты при этих переменных в целевой функции (cj). Строка "" в столбце "В" содержит значение целевой функции, которое рассчитывается по формуле:
(22) |
а столбцы xj этой же строки - значения относительных оценок (j), рассчитываемых по формуле:
. |
(23) |
Относительными эти оценки называются потому, что их значение зависит от выбора базисного плана.
Условие оптимальности плана задачи линейного программирования (для задачи на max). Если для некоторого базисного плана относительные оценки , то этот план является оптимальным.
Рассмотренное условие является достаточным условием оптимальности базисного плана задачи.
Числа (-1) и 0, записываемые соответственно над столбцами "С" и "В", неизменно присутствуют в каждой симплексной таблице и носят вспомогательный характер, чтобы при расчете оценок j по таблице не забывать о вычислении cj.
При определении значения f фактически нужно найти сумму произведений элементов столбца "С" на соответствующие элементы столбца "В", что равносильно подстановке базисного плана в целевую функцию, а при определении значения относительной оценки j - сумму произведений элементов столбца "С", включая (-1), на соответствующие элементы того столбца xj, для которого она рассчитывается.
Шаг 2. Проверим полученный базисный план на оптимальность по условию оптимальности.
2.1. Если , то полученный базисный план не является оптимальным и необходимо переходить к другому базисному плану. Идти на шаг 3.
2.2. Если все и среди базисных переменных есть искусственные, то задача неразрешима, так как ее система ограничений несовместна.
Идти на шаг 7.
2.3. Если в оптимальном плане , то это говорит о том, что задача имеет бесконечное число планов (см. пример 3 в §5.10).
Идти на шаг 7.
2.4. Если все0, то план является оптимальным и единственным. Решение найдено. Идти на шаг 7.
Шаг 3. Для перехода к новому базисному плану в первую очередь из числа небазисных переменных с отрицательными оценками j выбирается переменная, которая вводится в базис. Введем в новый базис переменную xk, которой соответствует наибольшая по абсолютной величине отрицательная оценка j:
. |
(24) |
Столбец, отвечающий переменной xk, назовем главным. Элементы главного столбца обозначаются через aik. Выбранная переменная будет вводиться в базис.
Если окажется несколько одинаковых наибольших по абсолютной величине отрицательных оценок, то выбирается любая из соответствующих им переменных.
Шаг 4. Выбираем переменную, которая выводится из базиса. Ее индекс r находится из соотношения:
(25) |
по всем i, для которых aik>0.
Строку таблицы, в которой получено наименьшее отношение элемента столбца "В" к соответствующему положительному элементу главного столбца, назовем главной. Элементы главной строки обозначаются через arj. Выбранная переменная xr будет выводиться из базиса.
Если окажется несколько одинаковых наименьших значений отношений, то выбирается любая из соответствующих им переменных. Это может произойти в вырожденной задаче.
Элемент, стоящий на пересечении главной строки и главного столбца, назовем главным (обозначается через ark или ).
В случае отсутствия значений aik>0 задача неразрешима, так как ее целевая функция не ограничена на множестве планов задачи сверху.
Шаг 5. Преобразование симплексной таблицы. Для определения нового базисного плана производим перерасчет элементов таблицы и результаты заносим в новую симплексную таблицу. Выбранные переменные в новой таблице меняются местами вместе со своими коэффициентами в целевой функции. Остальные переменные переписываются без изменений со своими коэффициентами.
Элементы новой симплексной таблицы рассчитываются следующим образом:
-
разрешающий элемент заменяется на обратную величину 1/;
-
разрешающая строка делится на разрешающий элемент;
-
разрешающий столбец делится на разрешающий элемент с противоположным знаком;
-
все остальные элементы таблицы преобразуются по правилу прямоугольника:
новый элемент |
= |
старый элемент |
|
разрешающий элемент |
- |
элемент разрешающей строки |
|
элемент разрешающего столбца |
разрешающий элемент |
Некоторые практические советы:
1) если в главном столбце пересчитываемой таблицы стоит нуль, то соответствующая ему строка переписывается в новую симплексную таблицу без изменений;
2) если в главной строке пересчитываемой таблицы стоит нуль, то соответствующий ему столбец переходит в новую таблицу без изменений;
3) если из числа базисных исключается искусственная переменная, то соответствующий ей столбец в новую симплексную таблицу не включается и, следовательно, не пересчитывается. Как указывалось ранее, искусственные переменные вводятся только для получения исходного базисного плана. Впоследствии они выводятся из базиса и в число базисных больше не попадут. Данный прием не ускоряет процесса получения оптимального плана, однако уменьшает объем вычислений.
Шаг 6. Проверяем правильность расчета значений целевой функции f и оценок j по формулам (22), (23). Переходим к шагу 2.
Шаг 7. Расчет закончен.