- •1. Элементы теории игр
- •1.1. Основные понятия
- •1.2. Матричные игры
- •1.3. Принцип минимакса. Седловые точки
- •1.4. Смешанные стратегии
- •1.5. Пример полного решения матричной игры
- •1.6. Задания для самостоятельной работы}
- •2.Задача о назначениях
- •2.1. Содержательная постановка
- •2.2. Математическая модель
- •2.3. Венгерский метод
- •2.4. Алгоритм венгерского метода
- •2.5. Пример
- •2.6. Задания для самостоятельной работы
- •3.Задача коммивояжера
- •Постановка задачи
- •Метод ветвей и границ
- •Метод ветвей и границ для решения задачи коммивояжера.
- •3.4 Пример
- •3.5. Задания для самостоятельной работы
- •4.Динамическое программирование
- •4.1. Постановка задачи
- •4.2. Построение модели дп
- •4.3. Построение вычислительной схемы дп
- •4.4. Несколько замечаний к методу дп
- •4.5. Задачи распределения ресурсов
- •5.6. Пример решения задачи распределения ресурсов
- •4.7. Задачи о замене оборудования.
- •4.8. Пример решения задачи о замене оборудования
- •5.9. Задания для самостоятельной работы
1.6. Задания для самостоятельной работы}
Решить игру с платежной матрицей:
-
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
2.Задача о назначениях
2.1. Содержательная постановка
Задано различных работ, каждую из которых может выполнять любой из исполнителей. Эффективность при выполнении работы исполнителем равна . Требуется распределить исполнителей по работам, т.е. назначить одного исполнителя на каждую работу таким образом, чтобы максимизировать суммарную эффективность.
Формально задача о назначениях может быть сформулирована следующим образом. Необходимо выбрать из каждой строки и каждого столбца матрицы
ровно по обному элементу (всего элементов) так, чтобы их сумма была наибольшей.
2.2. Математическая модель
Для каждой -й работы и для каждого -го исполнителя введем переменную , которая может принимать всего два значения (0 или 1):
если -я работа выполняется -м исполнителем,
в противном случае.
Тогда суммарная эффективность выполнения всех работ выражается функцией:
.
Ограничения задачи
, , (11)
, , (12)
интерпретируются следующим образом. Уравнения (11) означают, что каждая работа выполняется ровно одним исполнителем. Уравнения (12) предъявляют требования к исполнителям: каждый исполнитель выполняет ровно одну работу.
Таким образом, математическая модель задачи о назначениях является задачей целочисленного линейного (булева) программирования вида:
(13)
при ограничениях (11), (12) и
, , (14)
. (15)
Нетрудно видеть, что модель (11)-(15) является частным случаем классической транспортной задачи, в которой число поставщиков совпадает с числом потребителей (), а запасы и потребности всех пунктов совпадают и равны единице (). Задача (11)-(15), как транспортная задача, может быть решена методом потенциалов [1]. Однако здесь мы рассмотрим другой метод решения задачи назначениях, который, по существу, является уточнением двойственного симплекс-метода применительно к транспорной задаче.
2.3. Венгерский метод
Идея метода была высказана венгерским математиком Е.Эгервари в 1931 г.,а в 1953 г. другой венгерский математик Г.Кун развил его идею и назвал метод венгерским [3].
Введем следующие понятия:
Две матрицы и назовем эквивалентными , если, . Задачи о назначениях, определяемые эквивалентными матрицами, называются эквивалентными.
Нулевые элементы матрицы называются незавмсимыми нулями, если для любого нуля , , строка и столбец, на пересечении которых лежит этот нуль, не содержат других нулевых элементов .
Выделенные элементы матрицы - это элементы строк или столбцов, помеченных знаком +. Все остальные элементы матрицы - невыделенные элементы.
Алгоритм состоит из подготовительного этапа и не более, чем ( - 2)-х последовательно проводимых итераций. Каждая итерация состоит из эквивалентных преобразований матрицы и выбора максимального числа независимых нулей. Окончательным результатом каждой итерации является увеличение числа независимых нулей, имеющих в начале итерации, на единицу. Как только количество независимых нулей становится равным , задача о назначениях решена: оптимальный вариант определяется позициями независимых нулей в последней из матриц, эквивалентных исходной матрице .