
- •Раздел 5. Основы теории игр
- •Раздел 1. Структура оптимизационной модели. Классификация моделей.
- •Раздел 2. Линейное программирование
- •Характеристика линейной оптимизационной модели. Примеры задач линейного программирования и графический метод их решения.
- •2 .2. Симплекс-метод
- •2.3. Теория двойственности в линейном программировании
- •Раздел 3. Нелинейное программирование.
- •3.1.Общая характеристика нелинейной оптимизационной модели.
- •3.2.Способы решения задач нелинейного программирования.
- •Раздел 4. Динамическое программирование.
- •4.1. Общая характеристика метода динамического программирования.
- •4.2. Задача транспортировки груза по сети дорог.
- •4.3.Задача распределения ресурсов.
- •4.4. Задача определения оптимальной политики замены оборудования.
- •Раздел 5. Основы теории игр.
- •5.1.Основные понятия теории игр. Парные матричные игры с нулевой суммой.
- •5.2. Методы решения матричных игр.
- •5.3. Статистические игры.
- •6. Основы теории управления запасами.
- •6.1.Основные понятия теории управления запасами.
- •6.2. Детерминированные модели управления запасами.
- •6.3. Стохастические модели управления запасами.
- •Раздел 7. Основы теории систем массового обслуживания.
- •7.1. Основные понятия теории систем массового обслуживания.
- •7.2. Основные характеристики функционирования смо с отказами.
- •7.3. Основные характеристики функционирования смо с очередью.
- •Нелинейное программирование
2 .2. Симплекс-метод
Возможность использовать графический метод решения задач линейного программирования возникает редко. Как правило, размерность модели такова, что ее запись нельзя трансформировать с сохранением одной или двух инструментальных переменных. Симплекс-метод является универсальным способом решения задач линейного программирования любой размерности.
Подготовка задачи к применению симплекс-метода включает две процедуры: 1) трансформацию записи задачи из общей или симметричной в каноническую (когда это необходимо); 2) определение начального неотрицательного базисного решения.
Приведем к каноническому виду задачу определения оптимальной производственной программы, записанную в симметричной форме. Воспользуемся неотрицательными балансовыми переменными, которые добавим к левым частям ограничений-неравенств. В целевую функцию данные переменные вводятся с нулевыми коэффициентами. Таким образом, запись задачи примет следующий вид:
Убедимся в том, что мы располагаем неотрицательным базисным решением. Признак наличия такого решения следующий: в каждом уравнении системы ограничений должна присутствовать такая переменная, которая в данном уравнении имеет коэффициент 1, а в остальных уравнениях системы коэффициент 0. Таким образом, в матрице системы при соответствующем размещении столбцов должна выделяться единичная подматрица.
Если система данному требованию не соответствует, то существует две альтернативных возможности получения неотрицательного базисного решения: 1) преобразование матрицы методом полного исключения переменных; 2) введение в модель искусственных переменных с соответствующим изменением записи.
В рассматриваемом примере матрица системы удовлетворяет сформулированному выше требованию, поскольку единичная подматрица формируется коэффициентами балансовых переменных.
Для объяснения процедуры использования симплекс-метода важно напомнить понятие базисной переменной и базисного решения. Базисными именуются все те переменные, коэффициенты которых образуют столбцы единичной подматрицы. Остальные переменные будем именовать свободными. Если выразить базисные переменные через свободные, а свободные переменные приравнять к нулю, то мы получим базисное решение системы линейных уравнений.
Убедившись в наличии неотрицательного базисного решения, можно приступать к реализации процедуры симплекс-метода. Рассмотрим табличную форму записи хода решения.
Заполняем
симплексную таблицу, предварительно
приведя задачу к каноническому виду и
выделив начальное неотрицательное
базисное решение. Переменные
являются свободными, а переменные
-базисными.
Таблица 5 иллюстрирует один из существующих стандартов заполнения симплексных таблиц.
Таблица 5. Исходная симплексная таблица.
БП |
Сб |
Ао |
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
|||
|
0 |
|
|
|
|
1 |
0 |
0 |
|
0 |
|
|
|
|
0 |
1 |
0 |
. . . |
. . . |
. . . |
. . . |
|
|
|
|
|
|
0 |
|
|
|
|
0 |
0 |
1 |
|
|
∆ 0 |
∆1 |
∆2… |
∆n |
0 |
0 |
0 |
В данной таблице: БП – совокупность
базисных
переменных; Сб – вектор коэффициентов,
стоящих в целевой функции при базисных
переменных;
– коэффициенты при переменных в целевой
функции;
– вектор свободных членов ограничений;
– коэффициенты при переменных в системе
уравнений;
-
значение целевой функции при начальном
базисном решении;
– оценки свободных переменных.
Для
расчета
– используем формулу
.
Оценки
рассчитываем по формулам
,
где
-
вектор коэффициентов при соответствующей
переменной.
Процедура начинается
с анализа заключительной строки таблицы,
именуемой индексной
(строкой оценок
).
Если в данной строке при решении задачи
на максимум целевой функции все
,
а при решении на min
все
,
то начальное базисное решение и является
оптимальным.
Если
существуют
,
не удовлетворяющие данному требованию,
то необходимо продолжить поиск
оптимального решения. Среди отрицательных
при решении задачи на максимум (среди
положительных при решении на min)
выбираем наибольшую по модулю. В
соответствующем ей столбце
среди положительных коэффициентов
выделяем разрешающий элемент, для
которого отношение
является минимальным.
Приступаем к
заполнению следующей таблицы. Начинаем
с определения нового состава БП. Поскольку
количество базисных переменных постоянно,
то место переменной
займет та переменная
,
в столбце которой выбран разрешающий
элемент. Затем определяем состав
компонентов вектора
и переносим без изменений столбцы
тех переменных, которые остались
базисными. На месте разрешающего
элемента ставим 1, на остальных местах
в данном столбце ставим 0, а остальные
места в данной строке заполняем числами,
полученными путем деления прежних чисел
на разрешающий элемент.
Остальные элементы новой таблицы, включая свободные члены и оценки , получаем путем расчетов по так называемому правилу прямоугольника.
Пусть,
например, в качестве разрешающего выбран
элемент
.
Для вычисления элемента
новой таблицы применяем следующую
процедуру :
. На рисунке 2
представлена иллюстрация использования
данного принципа.
Рис. 2. Правило прямоугольника.
Иными словами, выделяем в исходной таблице прямоугольник, образованный пересечением разрешающих строки и столбца, а также строки и столбца элемента, подлежащего пересчету. Из произведения элементов основной диагонали, включающей разрешающий элемент, вычитаем произведение элементов второстепенной диагонали. Данную разность делим на разрешающий элемент.
После
проведения расчетов можно осуществить
проверку по формулам для вычисления
и
.
Если в результате преобразований все оценки индексной строки оказались неотрицательны при решении на max (или неположительны при решении на min), то оптимальное решение получено. В противном случае процедура повторяется.
Ответ
задачи состоит из оптимальных значений
переменных
и экстремального значения Z.
Экстремум целевой функции размещен в
ячейке
,
оптимальные значения базисных переменных
находятся в столбце
,
значения свободных переменных равны
нулю.
Искусственный
базис формируется (в тех случаях, когда
это необходимо и целесообразно)
коэффициентами неотрицательных
переменных
,
которые добавляются к левым частям
уравнений, образующих систему ограничений
задачи. В целевую функцию эти переменные
включаются с коэффициентом «-М» при
решении задачи на максимум и «+М» при
решении задачи на минимум целевой
функции. «М» символизирует бесконечно
большое положительное число.
Задача с искусственными переменными решается симплекс-методом в соответствии с описанной выше процедурой. Первоначальный базис формируется столбцами коэффициентов искусственных переменных. По мере перехода к последующим таблицам, искусственные переменные вытесняются из числа базисных. Если искусственная переменная исключается из состава базисных, то в следующей таблице ее столбец просто ликвидируют.
Оптимальное решение М-задачи (если оно существует) является также и оптимальным решением исходной задачи.
В таблицах 6-9 проиллюстрирован ход решения задачи определения оптимальной производственной программы, рассмотренной в подразделе 2.1.
В результате трансформации записи задачи из симметричной в каноническую автоматически выделяется базис системы уравнений. Это дает возможность заполнить первую симплексную таблицу (табл. 6).
Таблица 6. Первая симплексная таблица.
БП |
Сб |
Ао |
X1 |
X2 |
X3 |
Х4 |
X5 |
X6 |
4 |
6 |
0 |
0 |
0 |
0 |
|||
X3 |
0 |
18 |
1 |
1 |
1 |
0 |
0 |
0 |
X4 |
0 |
12 |
0,5 |
1 |
0 |
1 |
0 |
0 |
Х5 |
0 |
12 |
1 |
0 |
0 |
0 |
1 |
0 |
X6 |
0 |
9 |
0 |
1 |
0 |
0 |
0 |
1 |
|
0 |
-4 |
-6 |
0 |
0 |
0 |
0 |
Проверка индексной строки показывает, что оптимум не достигнут. Следовательно, решение следует продолжить. Определяем разрешающий элемент. В таблице его местоположение отмечено пересечением выделенных строки и столбца. Выбор разрешающего элемента позволяет заполнить следующую таблицу (табл.7).
На первом этапе решения значение целевой функции равно нулю. Переход к новому базисному решению должен увеличить значение Z.
Таблица 7. Вторая симплексная таблица.
БП |
Сб |
Ао |
X1 |
X2 |
X3 |
Х4 |
X5 |
X6 |
4 |
6 |
0 |
0 |
0 |
0 |
|||
X3 |
0 |
9 |
1 |
0 |
1 |
0 |
0 |
-1 |
X4 |
0 |
3 |
0,5 |
0 |
0 |
1 |
0 |
-1 |
Х5 |
0 |
12 |
1 |
0 |
0 |
0 |
1 |
0 |
X2 |
6 |
9 |
0 |
1 |
0 |
0 |
0 |
1 |
|
54 |
-4 |
0 |
0 |
0 |
0 |
6 |
Новое базисное решение увеличило значение Z до 54, однако оптимум вновь не достигнут. Решение следует продолжить.
После выбора разрешающего элемента заполняем следующую таблицу (табл. 8).
Таблица 8. Третья симплексная таблица.
БП |
Сб |
Ао |
X1 |
X2 |
X3 |
Х4 |
X5 |
X6 |
4 |
6 |
0 |
0 |
0 |
0 |
|||
X3 |
0 |
3 |
0 |
0 |
1 |
-2 |
0 |
1 |
X1 |
4 |
6 |
1 |
0 |
0 |
2 |
0 |
-2 |
Х5 |
0 |
6 |
0 |
0 |
0 |
-2 |
1 |
2 |
X2 |
6 |
9 |
0 |
1 |
0 |
0 |
0 |
1 |
|
78 |
0 |
0 |
0 |
8 |
0 |
-2 |
Значение Z увеличилось до 78, но максимум целевой функции не достигнут. Поиск оптимального решения следует продолжить.
Заполняем очередную таблицу (табл. 9).
Таблица 9. Заключительная симплексная таблица.
БП |
Сб |
Ао |
X1 |
X2 |
X3 |
Х4 |
X5 |
X6 |
4 |
6 |
0 |
0 |
0 |
0 |
|||
X6 |
0 |
3 |
0 |
0 |
1 |
-2 |
0 |
1 |
X1 |
4 |
12 |
1 |
0 |
2 |
-2 |
0 |
0 |
Х5 |
0 |
0 |
0 |
0 |
-2 |
2 |
1 |
0 |
X2 |
6 |
6 |
0 |
1 |
-1 |
2 |
0 |
0 |
|
84 |
0 |
0 |
2 |
4 |
0 |
0 |
В индексной строке нет отрицательных показателей. Следовательно, целевая функция достигла максимума, а полученное на данном шаге базисное решение является оптимальным.