- •1.3.1 Правила и особенности перехода к двойственной задаче.
- •2.6. Использование искусственной переменной в программировании симплекс-методом.
- •2.7.3.Алгоритм модифицированного симплекс-метода.
- •4.2.3. Пример решения задачи о назначении венгерским методом.
- •4.3.2.1. Пример решения задачи о назначении венгерским методом.
- •4.4.1. Алгоритм метода Мака
- •4.4.2. Пример решения задачи о назначении методом Мака.
4.4.1. Алгоритм метода Мака
-
Разделить множество столбцов на А и A', где
А – выбранное множество,
A' – невыбранное
В начале вычислений и при переходе от циклов к началу выбранных
столбцов нет; все столбцы относятся к A'.
Выбрать из множества A' столбец, содержащий более одного подчеркнутого элемента, перевести этот столбец из A' в А.
Подчеркнутый элемент – минимальный элемент в строке.
Примечание: перед первым шагом алгоритма множество А всегда является пустым.
-
Если подчеркнутый элемент находится в множестве А, найти в каждой строке разность между минимальным подчеркнутым и минимальным неподчеркнутым элементами. Из всех найденных разностей выбрать минимальную.
-
Увеличить все элементы матрицы А на выбранную на 2-м шаге минимальную разность.
-
В строке с минимальной разностью отметить пунктиром минимальный неподчеркнутый элемент
-
Столбец, содержащий отмеченный пунктиром элемент , перенести в множество С.
Если в С более 2-х неподчеркнутых элементов, то перенести С из A' в А и перейти ко 2-му шагу. Иначе, перейти к 6-му шагу.
-
Отмеченный пунктиром элемент подчеркнуть (меняется на ).
-
Найти исходный подчеркнутый элемент в строке с минимальной разностью (в той строке, где ) и убрать подчеркивание ( меняется на ). Обозначить столбец с элементом D.
-
Если D не содержит других подчеркнутых элементов, он должен содержать элементы, отмеченные пунктиром. Обозначить этот элемент и перейти к 6-му шагу.
Если D содержит еще 1 подчеркнутый элемент, то полностью подчеркнутые элементы образуют новый базис. В этом случае перейти к 1-му шагу.
4.4.2. Пример решения задачи о назначении методом Мака.
Пример 4. Исходная таблица:
Подчеркнем минимальные элементы в строке и внесем в множество А первый столбец, т.к. в нем два подчеркнутых элемента. Минимальная разность из найденных соответствует второй строке. Поскольку эта разность равна 0, элементы множества А остаются без изменений. Перейдем к следующей таблице.
Отметим пунктиром элемент . Добавим пятый столбец в множество С. В С только один подчеркнутый элемент. Подчеркиваем его сплошной чертой, убираем подчеркивание элемента и обозначаем первый столбец буквой D. В D есть еще один подчеркнутый элемент , значит, переходим к первому шагу.
Внесем в множество А третий столбец, найдем минимальную разность и перейдем к следующей таблице.
Отметим пунктиром элемент . Добавим четвертый столбец в множество С. В С только один подчеркнутый элемент. Подчеркиваем его сплошной чертой, убираем подчеркивание элемента и обозначаем третий столбец буквой D. В D есть еще подчеркнутые элементы, значит, переходим к первому шагу.
Внесем в множество А третий столбец, найдем минимальную разность и перейдем к следующей таблице.
Отметим пунктиром элемент . Добавим пятый столбец в множество С. В С есть еще подчеркнутые элементы, поэтому переводим пятый столбец в А. Минимальная разность соответствует второй строке.
Отметим пунктиром элемент . Добавим первый столбец в множество С. В С есть еще подчеркнутые элементы, поэтому переводим пятый столбец в А. Минимальная разность соответствует второй строке. Прибавляем ко всем элементам множества А величину минимальной разности, т.е. 1.
Отметим пунктиром элемент . Добавим второй столбец в множество С. В С только один подчеркнутый элемент. Подчеркиваем его сплошной чертой, убираем подчеркивание элемента и обозначаем пятый столбец буквой D. В D есть один подчеркнутый пунктиром элемент . Подчеркиваем его сплошной чертой, убираем подчеркивание элемента . Распределение закончено.Соответствующее значение целевой функции:
f = 6 + 16 + 6 + 14 + 8 = 50
Теория игр
Пример 5.2.6.1. Найти оптимальные стратегии банков для задачи из примера 3 с платежной матрицей А:
Решение.
1. Проверим, имеет ли игра решение в чистых стратегиях (см. пример 5.2.3.2).
2. Упростим платежную матрицу (см. пример 5.2.4.1):
Подпишем над столбцами матрицы смешанные стратегии банка В, которые остались после исключения доминируемых стратегий В2, В5, вероятности применения которых равны нулю: q2 = 0, q5 = 0. Рядом со строками матрицы подпишем смешанные стратегии банка А, которые остались после исключения доминируемых стратегий А1, А2, А5, вероятности применения которых также равны нулю: p1 = 0, p2 = 0, p5 = 0.
3. Так как среди элементов упрощенной матрицы есть отрицательные, то ко всем элементам А прибавим такое число L > 0, чтобы все значения стали неотрицательными. В нашем примере возьмем L = 1. При этом цена игры увеличится на L = 1 и станет равной , а оптимальные смешанные стратегии банков не изменятся. Получим следующую платежную матрицу:
.
4.
Составим пару взаимно двойственных
задач, эквивалентную матричной игре с
платежной матрицей А4.
Для этого подпишем над столбцами матрицы
переменные х1, х2, х3,
соответствующие смешанным стратегиям
банка В, а рядом со строками матрицы −
переменные y1, y2, соответствующие
смешанным стратегиям банка А:
Целевая функция z прямой задачи исследуется на максимум и равна сумме переменных , т.е.
.
А ограничения выписываются по строкам и не превышают единицы:
Целевая функция F двойственной задачи исследуется на минимум и равна сумме переменных , т.е.
,
при ограничениях, больших либо равных единице, которые выписываются по столбцам:
(Можно также просто построить двойственную задачу к прямой.)
5. Решим прямую задачу симплекс-методом:
Приведем ее к каноническому виду
Выпишем начальный опорный план задачи (это возможно, так как в каждом ограничении есть по одной базисной переменной: в 1-м – х4, во 2-м – х5):
.
Составим исходную симплекс-таблицу и решим задачу обычным симплекс - методом.
Итерация №0
базис |
значение |
x1 |
x2 |
x3 |
x4 |
x5 |
x4 |
1 |
8 |
2 |
0 |
1 |
0 |
x5 |
1 |
0 |
1 |
4 |
0 |
1 |
z (x) |
0 |
-1 |
-1 |
-1 |
0 |
0 |
Найдем ведущий элемент по минимальному симплексному отношению и пересчитаем таблицу методом замещения Жордана–Гаусса. Занесем новые данные во 2-ю симплексную таблицу.
Переменную x3 вводим в число базисных вместо переменной x5.
Ведущий элемент равен 4.
Итерация №1
базис |
значение |
x1 |
x2 |
x3 |
x4 |
x5 |
x4 |
1 |
8 |
2 |
0 |
1 |
0 |
x3 |
0,25 |
0 |
0,25 |
1 |
0 |
0,25 |
z (x) |
0,25 |
-1 |
-0,75 |
0 |
0 |
0,25 |
Аналогичным образом будем пересчитывать таблицы до тех пор, пока в z-строке все элементы (не считая значения) станут неотрицательными.
Переменную x1 вводим в число базисных вместо переменной x4.
Ведущий элемент равен 8.
Итерация №2
базис |
значение |
x1 |
x2 |
x3 |
x4 |
x5 |
x1 |
0,125 |
1 |
0,25 |
0 |
0,125 |
0 |
x3 |
0,25 |
0 |
0,25 |
1 |
0 |
0,25 |
z (x) |
0,375 |
0 |
-0,5 |
0 |
0,125 |
0,25 |
Переменную x2 вводим в число базисных вместо переменной x1.
Ведущий элемент равен 0,25.
Итерация №3
базис |
значение |
x1 |
x2 |
x3 |
x4 |
x5 |
x2 |
0,5 |
4 |
1 |
0 |
0,5 |
0 |
x3 |
0,125 |
-1 |
0 |
1 |
-0,125 |
0,25 |
z (x) |
0,625 |
2 |
0 |
0 |
0,375 |
0,25 |
|
|
|
|
|
|
|
Так как в z-строке последней симплексной таблицы все элементы больше или равны нулю, то найден оптимальный план. Он единственный, поскольку нули z-строки соответствуют только базисным переменным: , а значение целевой функции .
По соответствию переменных прямой и двойственной задач выпишем решение двойственной задачи. Так как у нас симметричная пара двойственных задач, то в строке оценок (z-строке) найдем элементы, соответствующие переменным, которые входили в исходный базис, x4, x5, и присвоим их значения двойственным неизвестным y1, y2, т. е. . Следовательно, . При этом минимальное значение целевой функции двойственной задачи совпадает с максимальным значением целевой функции исходной задачи, т.е. .
6. Используя соотношения между оптимальными решениями пары двойственных задач и , оптимальными стратегиями и и ценой игры , найдем решение игры в смешанных стратегиях.
Вычислим сначала цену игры , используя формулу
:
Используя соответствия между и , и из матрицы
найдем оптимальные смешанные стратегии банков А и В по формулам
;
.
Тогда оптимальные стратегии банка А будут равны:
Следовательно, из общей суммы средств а тыс. ден. ед., выделяемых банком А на строительство пяти объектов, на долю 3-го объекта следует выделить 60 % (так как ), а на долю 4-го − 40 % этой суммы (так как ). На остальные строительные объекты деньги выделять нецелесообразно (так как ).
Для банка В соответственно получим:
Таким образом, из общей суммы средств b тыс. ден. ед., выделяемых банком В на строительство пяти объектов, на долю 3-го объекта следует выделить 80 % (так как ), а на долю 4-го − 20 % всей суммы (так как ). В остальные строительные объекты деньги вкладывать нецелесообразно (так как ).
Такое распределение денежных средств банками А и В на строительство пяти объектов позволит им получить максимальную прибыль 0,6 тыс. ден. ед.