- •Оглавление
- •Глава 9. Теория систем массового обслуживания 98
- •Введение
- •Глава 1. Построение математической модели задачи линейного программирования
- •Задачи для самостоятельного решения
- •Глава 2. Графический метод решения задач линейного программирования
- •1. Изобразим на плоскости систему координат
- •2. Рассмотрим ограничения неотрицательности
- •3. Строим множество точек, соответствующее множеству решений системы ограничений.
- •Задачи для самостоятельного решения
- •Глава 3. Стандартная и каноническая формы задачи линейного программирования
- •Задачи для самостоятельного решения
- •Глава 4. Симплексный метод решения задач линейного программирования
- •4.1.Общая идея симплексного метода
- •4.2.Табличный симплексный метод
- •4.3. Метод искусственного базиса
- •Задачи для самостоятельного решения
- •Глава 5. Двойственная задача линейного программирования
- •Задачи для самостоятельного решения
- •Глава 6. Целочисленные задачи линейного программирования
- •Задачи для самостоятельного решения
- •Глава 7. Транспортная задача
- •Задачи для самостоятельного решения
- •Глава 8. Теория игр
- •8.1. Общие понятия
- •8.2. Решение игр в чистых стратегиях
- •8.3. Решения игр в смешанных стратегиях
- •8.3.1. Решение игры 2×2 в смешанных стратегиях
- •8.3.2. Решение игры 2×2 в смешанных стратегиях геометрическим методом
- •8.3.3. Решение игр вида 2×n и m×2 геометрическим методом
- •8.4. Решение матричной игры m×n симплексным методом
- •Задачи для самостоятельного решения
- •Глава 9. Теория систем массового обслуживания
- •9.1. Компоненты и классификация моделей массового обслуживания
- •9.2. Определение характеристик одноканальных систем массового обслуживания
- •9.2.1. Одноканальная смо с отказами
- •9.2.2. Одноканальная смо с ожиданием и ограниченной длиной очереди
- •9.2.3. Одноканальная смо с ожиданием без ограниченной длины очереди
- •9.3. Определение характеристик многоканальных систем массового обслуживания
- •9.3.1. Многоканальная система массового обслуживания с отказами
- •9.3.2 Многоканальная система массового обслуживания с ожиданием и неограниченной очередью
- •9.4. Модель замкнутой системы массового обслуживания
- •Задачи для самостоятельного решения
- •Список литературы
Задачи для самостоятельного решения
Решить задачу линейного программирования с помощью симплекс-таблиц или М-методом:
1.
|
2.
|
3.
|
4.
|
5.
|
6.
|
7.
|
8.
|
9.
|
10.
|
11.
|
12.
|
13.
|
14.
|
15.
|
16.
|
17.
|
18.
|
19.
|
20.
|
21.
|
22.
|
23.
|
24.
|
25.
|
26.
|
27.
|
28.
|
29.
|
30.
|
Глава 5. Двойственная задача линейного программирования
Любой задаче линейного программирования можно поставить в соответствие другую задачу, сформулированную по стандартным правилам таким образом, что решение любой из них является и решением другой задачи. Такие задачи называются взаимо двойственными.
Двойственная обратная задача — задача линейного программирования, формулируемая с помощью определенных правил непосредственно из условий исходной( прямой, задачи. В литературе по линейному программированию в большинстве случаев рассматриваются формулировки двойственной задачи, соответствующие различным формам прямой задачи, которые, в свою очередь, определяются типом ограничений, знаками переменных и направлением оптимизации (максимизация или минимизация).
Прямая задача линейного программирования в стандартной форме записывается следующим образом:
Чтобы сформулировать условия двойственной задачи, проведем симметричное структурное преобразование условий прямой задачи в соответствии со следующими правилами:
В одной задаче ищется максимум целевой функции, в другой – минимум.
Коэффициенты при переменных в целевой функции одной задачи являются свободными членами системы ограничений другой задачи, и наоборот.
В каждой задаче система ограничений задается в виде неравенств, причем в задаче, в которой ищется максимум целевой функции, все неравенства вида «≤», а в задаче, в которой находится минимум целевой функции, все неравенства вида «≥».
Коэффициенты при переменных системах ограничений записываются матрицами транспонированными относительно друг друга.
Число неравенств в системе ограничений одной задачи совпадает с числом переменных в другой задаче.
Свободной переменной прямой задачи соответствует ограничение в виде равенства двойственной задачи и, наоборот, ограничению в виде равенства прямой задачи соответствует свободная переменная двойственной задачи.
Условия неотрицательности переменных сохраняются в обеих задачах.
Пример №1
Дана математическая модель прямой задачи линейного программирования
Составить двойственную задачу.
Решение:
1. Приводим все неравенства системы ограничений исходной задачи к одному смыслу:
2. Составляем матрицу коэффициентов при неизвестных системы неравенств и целевой функции:
и транспонируем матрицу
3. Формулируем двойственную задачу. Коэффициенты при переменных в целевой функции одной задачи являются свободными членами системы ограничений другой задачи, и наоборот:
Число переменных исходной задачи является числом неравенств двойственной, и число неравенств в системе ограничений прямой задачи совпадает с числом переменных в двойственной задаче:
Условия неотрицательности переменных сохраняются в обеих задачах:
Таким образом, получаем двойственную задачу:
Пример №2
Дана математическая модель двойственной задачи линейного программирования
Составить прямую задачу.
Решение:
1. Все знаки неравенств системы ограничений двойственной задачи удовлетворяют требованиям стандартного вида, т.е. преобразовывать систему не надо:
2. Составляем матрицу коэффициентов при неизвестных системы неравенств и целевой функции:
транспонируем матрицу
3. Формулируем прямую задачу. Коэффициенты при переменных в целевой функции одной задачи являются свободными членами системы ограничений другой задачи, и наоборот:
Число переменных исходной задачи является числом неравенств двойственной, и число неравенств в системе ограничений прямой задачи совпадает с числом переменных в двойственной задаче:
Если изменить знак в свободном члене второго неравенства система ограничений может выглядеть следующим образом:
Условия неотрицательности переменных сохраняются в обеих задачах:
Таким образом, получаем прямую задачу:
Пример №3
Дана математическая модель прямой задачи линейного программирования
Составить двойственную задачу.
Решение:
1. Первоначально требуется привести все знаки неравенств системы ограничений исходной задачи к одному смыслу. Поскольку первое неравенство удовлетворяет требованиям целевой функции, то его не изменяем. В системе ограничений на втором месте находится равенство, его мы также не изменяем, но будем иметь в виду, что в двойственной задаче будет присутствовать свободная переменная, т.е. она может принимать как положительное, так и отрицательное значение:
2. Составляем матрицу коэффициентов при неизвестных системы неравенств и целевой функции:
и транспонируем матрицу
3. Формулируем двойственную задачу. Коэффициенты при переменных в целевой функции одной задачи являются свободными членами системы ограничений другой задачи, и наоборот:
Число переменных исходной задачи является числом неравенств двойственной, и число неравенств в системе ограничений прямой задачи совпадает с числом переменных в двойственной задаче:
Условия неотрицательности переменных сохраняются в обеих задачах, но учитывая, что в исходной задаче присутствует знак равенства, получаем:
Таким образом, получаем двойственную задачу:
Пример №4
Дана математическая модель двойственной задачи линейного программирования
где .
Составить прямую задачу.
Решение:
1. Все знаки неравенств системы ограничений двойственной задачи удовлетворяют требованиям стандартного вида, т.е. преобразовывать систему не надо:
2. Составляем матрицу коэффициентов при неизвестных системы неравенств и целевой функции:
и транспонируем матрицу
3. Формулируем прямую задачу. Коэффициенты при переменных в целевой функции одной задачи являются свободными членами системы ограничений другой задачи, и наоборот:
Число переменных исходной задачи является числом неравенств двойственной, и число неравенств в системе ограничений прямой задачи совпадает с числом переменных в двойственной задаче. Учитывая условия ограничений двойственной задачи на переменную y1, получаем следующую систему ограничений прямой задачи:
Если изменить знак в свободном члене второго неравенства система ограничений может выглядеть следующим образом:
Условия ограничений переменных сохраняются в обеих задачах:
Таким образом, получаем прямую задачу:
Из последних двух примеров следует правило: свободной переменной прямой задачи соответствует ограничение в виде равенства двойственной задачи и, наоборот, ограничению в виде равенства прямой задачи соответствует свободная переменная двойственной задачи.
Задачу линейного программирования можно рассматривать как модель распределения ограниченных ресурсов, в которой целевая функция, отображающая прибыль или доход от производственной деятельности, подлежит максимизации. Если рассматривать задачу линейного программирования с этой точки зрения, соответствующая ей двойственная задача получает интересную экономическую интерпретацию. Переменная уi двойственной задачи представляет стоимость единицы ресурса i. В литературе по исследованию операций переменные уi двойственной задачи часто называют двойственными ценами. Кроме того, иногда их именуют теневыми ценами и симплексными мультипликаторами.
Для любой пары допустимых решений прямой и двойственной задач неравенство F<Z можно интерпретировать следующим образом:
Доход < Общая стоимость ресурсов
Это соотношение показывает, что до тех пор, пока суммарный доход от всех видов деятельности строго меньше суммарной стоимости всех используемых ресурсов, решение как прямой, так и двойственной задачи не может быть оптимальным. Оптимум (максимальный доход) может быть достигнут только тогда, когда все потребляемые ресурсы использованы полностью, т.е. оптимум при F=Z.
Связь между решениями исходной и двойственной задач
Каждая из пары двойственных задач может быть решена самостоятельно. Однако при определении оптимального плана прямой задачи находится их решение двойственно.
Если X* = (x1*, x2*,..., xn*) - оптимальный план прямой задачи,
а Y* = (y1*, y2*,..., ym*) — система оптимальных оценок ресурсов, то
max F(X) = min Z(Y).
Таким образом, если найти оптимальный план прямой задачи, то можно получить оптимальный план двойственной задачи.
Установим соответствие (таблица 1) между переменными прямой и двойственной задач в симплексной таблице.
Таблица 1. Соответствие переменных прямой и двойственной задач
Переменные прямой задачи (заголовок симплексной таблицы) |
|
|
Переменные двойственной задачи (их значения расположены в целевой строке оптимальной симплексной таблицы) |
|
|
Пример №5
Рассмотрим пример №1 из четвертой главы, и составим двойственную ей задачу.
Прямая задача в стандартном виде: |
Двойственная задача: |
|
|
Для установки соответствия между переменными прямой и двойственной задачей рассмотрим оптимальную симплексную таблицу, полученную ранее при решении прямой задачи.
Переменные Базис |
x1 |
x2 |
x3 |
x4 |
x5 |
Свободные члены b |
x3 |
0 |
0 |
1 |
-5 |
2 |
4 |
x2 |
0 |
1 |
0 |
2 |
-1 |
2 |
x1 |
1 |
0 |
0 |
-1 |
1 |
5 |
F |
0 |
0 |
0 |
1 |
1 |
19 |
Установим соответствие переменных исходной и двойственной задачи:
Значения yi берем из целевой строки симплексной таблицы:
y1=0;
y2=1;
y3=1.
Подставляем эти значения в целевую функцию двойственной задачи, получаем:
, что совпадает с ранее полученным результатом F(X)=19.
Z(Y)= F(X) = 19.
Двойственный симплексный метод
Двойственный симплексный метод основан на теории двойственности и используется для решения задач линейного программирования, свободные члены которых могут принимать любые значения, а система ограничений задана неравенствами «≤», «≥» или равенством «=».
В двойственном симплексном методе оптимальный план получается в результате движения по псевдопланам. Псевдопланом называется план, удовлетворяющий условиям оптимальности, а среди значений базисных переменных Xi присутствуют отрицательные значения.
Алгоритм двойственного симплексного метода включает следующие этапы:
1. Принцип решения основан на поиске макисмума функции, поэтому систему неравенств необходимо привести к стандартному виду максимизации. Затем от системы неравенств смысла «≤» переходят к системе уравнений, вводя неотрицательные дополнительные переменные, которые являются базисными переменными. Первый опорный план заносят в двойственную симплексную таблицу, такую же, как и симплексная таблица.
2. Проверка плана на оптимальность.
Если в полученном опорном плане не выполняется условие оптимальности (значения базисных переменных содержат отрицательные числа), то решаем задачу симплексным методом. Если в опорном плане условия оптимальности удовлетворяются и все значения базисных переменных - положительные числа, то получен оптимальный план.
3. Выбор ведущих строки и столбца. Среди отрицательных значений базисных переменных выбираются наибольшие по абсолютной величине. Строка, соответствующая этому значению, является ведущей. Двойственную симплексную таблицу дополняют строкой «оценочное отношение», в которую заносят взятые по абсолютной величине результаты деления коэффициентов целевой строки на отрицательные коэффициенты ведущей строки. Минимальные значения оценочной строки определяют ведущий столбец и переменную, вводимую в базис. На пересечении ведущих строки и столбца находится разрешающий элемент.
4. Расчет нового опорного плана.
Расчет производится также как и в симплексной таблице по формуле Жордана-Гаусса.
Пример №6
Дана математическая модель двойственной задачи линейного программирования:
Получить оптимальное решение двойственным симплексным методом
Решение:
Приводим задачу к требуемому виду. Все неравенства в системе ограничений привести к знаку «≤».
Вводим дополнительные переменные:
Заполняем двойственную симплекс-таблицу:
Переменные Базис |
y1 |
y2 |
y3 |
y4 |
y5 |
Свободные члены b |
y4 |
-1 |
-1 |
-3 |
1 |
0 |
-3 |
y5 |
-3 |
-1 |
-1 |
0 |
1 |
-2 |
Z |
-15 |
-7 |
-12 |
0 |
0 |
0 |
Проверка плана на оптимальность. В столбце свободных членов есть отрицательные значения, следовательно план не оптимален.
Выбираем ведущую строку (заметим, что в симплекс-методе первым выбирался столбец). Среди отрицательных значений базисных переменных выбираются наибольшие по абсолютной величине, что соответствует y4. Первая строка – ведущая.
Выбираем ведущий столбец.
В строку оценочное отношение заносим взятые по абсолютной величине результаты деления коэффициентов целевой строки на отрицательные коэффициенты ведущей строки.
Переменные Базис |
y1 |
y2 |
y3 |
y4 |
y5 |
Свободные члены b |
y4 |
-1 |
-1 |
-3 |
1 |
0 |
-3 |
y5 |
-3 |
-1 |
-1 |
0 |
1 |
-2 |
Z |
-15 |
-7 |
-12 |
0 |
0 |
0 |
Оценочное отношение |
=15 |
=7 |
=4 |
∞ |
∞ |
|
Как видно в оценочном отношении для y4 и y5 значения не рассчитаны, т.к.:
Во первых, для y4 значение целевой функции 0 , кроме того в ведущей строке положительный элемент.
Во вторых, для y5 значения целевой функции и ведущей строки = 0. Выбираем минимальный из полученных результатов. Это третий столбик соответствующей переменной y3. Переменная y4 исключается из базиса, а переменная y3 вводится в базис. Производим пересчет таблицы.
Переменные Базис |
y1 |
y2 |
y3 |
y4 |
y5 |
Свободные члены b |
y3 |
1/3 |
1/3 |
1 |
- 1/3 |
0 |
1 |
y5 |
-2 2/3 |
- 2/3 |
0 |
- 1/3 |
1 |
-1 |
Z |
-11 |
-3 |
0 |
-4 |
0 |
12 |
Оценочное отношение |
4 1/8 |
4 1/2 |
|
12 |
|
|
План не оптимален, т.к. в столбце свободных членов присутствует отрицательный элемент. Определяем вторую строку y5 ведущей. Просчитав оценочное отношение, получим, что y1 вводится в базис. Пересчитываем таблицу.
Переменные Базис |
y1 |
y2 |
y3 |
y4 |
y5 |
Свободные члены b |
y3 |
0 |
1/4 |
1 |
- 3/8 |
1/8 |
7/8 |
y1 |
1 |
1/4 |
0 |
1/8 |
- 3/8 |
3/8 |
Z |
0 |
- 1/4 |
0 |
-2 5/8 |
-4 1/8 |
16 1/8 |
План оптимальный т.к. в столбце свободных членов нет отрицательных значений.