- •1. Общая и основная задача линейного программирования (лп).
- •2.Формулы Эрланга систем массового обслуживания
- •1.Понятие плана. Выпуклость множества планов. Понятие опорного плана. Область допустимых решений задач лп.
- •Правила выбора разрешающего элемента при поиске опорного плана.
- •2.Теория графов Календарное планирование
- •3. Оценка потреб-
- •2. Оценка продол-
- •Расчленение
- •1.Двойственность и эквивалентность задач лп.
- •2.Матричные игры. Цена игры. Оптимальные стратегии
- •1.Стандартная (каноническая) задача (лп) и ее геометрическая интерпретация.
- •2.Матричные игры со смешанными стратегиями. Оптимальные стратегии
- •1.Оптимальный план. Достаточное условие существования оптимального плана..
- •2. Модель управления запасами.
- •1. Опорный план транспортной задачи. Метод «северо- западного угла». Метод минимального элемента. Метод северо-западного угла
- •Метод минимальной стоимости
- •2. Характеристики работы разомкнутых смо
- •1. Оптимальный план транспортной задачи. Метод потенциалов.
- •2. Системы массового обслуживания с ожиданием.
- •1.Модификация транспортной задачи.
- •2. Графический способ решения задачи лп
- •1. Основные понятия теории графов. Критический путь
- •2. Паутинная модель рынка.
- •1. Сетевые графики.
- •2. Теорема теории игр Неймана.
- •1.Метод наименьших квадратов. Система нормальных уравнений мнк
- •2. Имитационные модели.
- •1. Модель Леонтьева Многоотраслевой экономики (балансовый анализ).
- •2. Интерполирование опытных данных. Линейное интерполирование
- •1. Продуктивные модели Леонтьева.
- •2. Матричное решение задачи лп
- •1. Линейная модель обмена. Модель международной торговли.
- •2. Система массовое обслуживание с ограниченным временем ожиданием.
- •1. Модель равновесных цен. Балансовая модель.
- •2.Функции спроса и предложения. Равновесная цена.
- •1. Метод последовательного улучшения базисного плана. Симплекс метод.
- •2.Однофакторная линейная регрессионная модель
- •1. Финансовые операции и их эффективность. Виды начисления процентов на денежный вклад.
- •2. Локальная и интегральная теоремы Лапласа.
- •1. Кооперативные игры. Точка равновесия по Нэшу
- •2. Двойственность задач линейного программирования.. Двойственная задача линейного программирования.
1. Метод последовательного улучшения базисного плана. Симплекс метод.
Пусть рассматривается задача минимизации [максимизации] линейной функции (различия, относящиеся к задаче максимизации, далее будем сопровождать квадратными скобками)
с
ограничениями, заданными в виде линейных
уравнений. Пусть, кроме того, в системе
выделен базис
т.е.
система ограничений имеет вид
(7.1)
и все неизвестные задачи удовлетворяют условиям неотрицательности.
Разрешим
целевую функцию относительно свободных
неизвестных
и
уединим свободный член в её аналитическом
выражении в левой части:
Будем
предполагать, что в базисе
задача
имеет предпочтительный
вид.
Это означает, что, придавая всем свободным
переменным значение, равное нулю,
получим, что базисные неизвестные равны
соответствующим свободным членам
системы ограничений (7.1):
и
выполняется условие неотрицательности
неизвестных задачи (очевидно, что это
условие будет выполнено в том случае,
когда все свободные члены в системе
(7.1) неотрицательны). Тогда решение
называется начальным опорным решением, а значение целевой функции на этом плане, очевидно, составит
Рассмотрим алгоритм метода, суть которого заключается в переходе от одного базиса системы ограничений к другому, в результате чего значение целевой функции должно уменьшаться [увеличиваться] или, по крайней мере, не увеличиваться [не уменьшаться] при соблюдении условий неотрицательности переменных. Этот метод получил название метода последовательного улучшения плана или симплекс–метода. Симплекс–метод был разработан американским математиком Дж. Данцигом. Суть этого метода заключается в том, что вначале получают допустимый вариант, удовлетворяющий всем ограничениям, но необязательно оптимальный (так называемое начальное опорное решение); оптимальность достигается последовательным улучшением исходного варианта за определённое число этапов. Нахождение начального опорного решения и переход к следующему решению проводятся с помощью формул прямоугольника для задачи линейного программирования, записанной в канонической форме. Направление перехода от одного опорного решения к другому выбирается при этом на основе критерия оптимальности (целевой функции) исходной задачи.
По исходным данным рассматриваемой задачи линейного программирования заполним начальную симплекс–таблица (табл. 7.1).
Шаг
1. Выясним,
имеются ли в последней строке табл. 7.1
положительные [отрицательные] числа
(число
во
внимание не принимать). Если все числа
отрицательные [положительные], то процесс
закончен: начальное опорное
решение
является
оптимальным и доставляет целевой функции
минимум
[максимум
].
Если в последней строке имеются положительные [отрицательные] числа, перейдём к шагу 2.
Шаг
2. Просмотрим
столбец, соответствующий наибольшему
положительному [наименьшему отрицательному]
числу из последней строки (если таких
несколько, выберем любой), и выясним,
имеются ли в нём положительные числа.
Если ни в одном из таких столбцов нет
положительных чисел, то линейная
функция L не
ограничена снизу [сверху], и оптимального
решения задачи не существует. Если
найден столбец, содержащий хотя бы одно
положительное число, отметим этот
столбец вертикальной стрелкой (например,
столбец
)
и перейдём к шагу 3.
Шаг
3. Разделим
свободные члены на соответствующие
положительные числа из выделенного
столбца и выберем наименьшее частное.
Отметим строку таблицы, соответствующую
этому наименьшему частному, горизонтальной
стрелкой (например, строку
).
Выделим разрешающий элемент
стоящий
на пересечении отмеченных строки и
столбца, и перейдём к заполнению
новой симплекс–таблицы,
используя формулы прямоугольника. При
этом переменная
заменит
переменную
в
базисе. После заполнения этой таблицы
следует переход к шагу 1.
Гарантии результативности симплекс–метода обеспечиваются следующей теоремой.
Теорема. Если существует оптимальное решение задачи линейного программирования, то существует и базисное оптимальное решение, которое может быть получено через конечное число шагов симплекс–методом, начиная с любого начального опорного решения
Пример. Найти оптимальное решение стандартной задачи максимизации для целевой функции
с системой ограничений
и условиями неотрицательности
Решение. Задача
линейного программирования записана
в симметричной форме. Для реализации
алгоритмасимплекс-метода
приведём её к каноническому виду, вводя
дополнительно в систему ограничений
неотрицательные балансовые
неизвестные
следующим
образом:
Теперь задача записана в канонической форме. Очевидно, что последняя система – это система с базисом:
В этом базисе задача имеет предпочтительный вид, поскольку начальное опорное решение системы
удовлетворяет всем ограничениям и условиям неотрицательности.
Целевая функция не содержит базисных переменных. Преобразуем её, уединяя свободный член в правой части:
и перейдём к заполнению начальной симплекс-таблицы (табл. 7.2).
В последней строке табл. 7.2 есть отрицательные числа, поэтому начальное опорное решение не является оптимальным, т. е. не доставляет целевой функции максимальное значение.
Выберем
и отметим вертикальной стрелкой столбец,
соответствующий наименьшему отрицательному
числу в последней строке этой таблицы
− это столбец неизвестной
.
Разделим свободные члены (первый столбец
табл. 7.2) на соответствующие положительные
числа взятого столбца и результат
деления поместим справа от таблицы в
каждой строке: 8/3, 4/2, 1/1. Очевидно,
наименьшее частное получено в строке,
соответствующей базисной неизвестной
.
Отметим эту строку горизонтальной
стрелкой.
На пересечении выбранных строки и столбцы располагается разрешающий элемент 1, который обведём кружком.
Теперь можем приступать к составлению следующей симплекс-таблицы (табл. 7.3), в которой базисную неизвестную заменит неизвестная . Заполним эту таблицу по правилам, описанным в пункте 3.
Табл.
7.3 в последней строке содержит единственное
отрицательное число, т.е. оптимальное
решение задачи линейного программирования
пока не найдено, а потому
алгоритм симплекс-метода
следует продолжить. Отметим вертикальной
стрелкой столбец, соответствующий
отрицательному числу в последней строке,
− это столбец неизвестной
.
В первой и во второй строках этого
столбца есть положительные числа, на
которые разделим соответствующие
свободные члены, а результат деления
припишем к таблице справа в нужных
строках: 5/5 и 2/1. Наименьшему частному
соответствует строка базисной
неизвестной
;
отметим её горизонтальной стрелкой.
Тем самым определён разрешающий элемент
− число 5. Составим следующую симплекс-таблицу
(табл. 7.4), в которой место неизвестной
в
базисе займёт неизвестная
.
Как и табл. 7.3, табл. 7.4 заполним по
правилам, описанным в пункте 3.
Таблица 7.4
Базис |
Свободные члены |
|
|
|
|
|
|
|
1 |
1 |
0 |
−3/5 |
1/5 |
0 |
−3/5 |
|
1 |
0 |
0 |
13/5 |
−1/5 |
1 |
−7/5 |
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
Форма L |
4 |
0 |
0 |
7/5 |
1/5 |
0 |
17/5 |
Все числа последней строки этой симплекс-таблицы неотрицательны, следовательно, найдено оптимальное решение задачи линейного программирования, записанной в канонической форме:
Соответствующее значение целевой функции равно
Исключая из решения балансовые переменные, получим ответ:
