4. Задача о назначениях
ЗАДАЧА
О НАЗНАЧЕНИЯХ [assignment
problem] — вид задачи линейного
программирования,
с помощью которой решаются вопросы
типа: как распределить рабочих по
станкам, чтобы общая выработка была
наибольшей или затраты на
заработную плату наименьшими (поскольку
для каждой комбинации “рабочий —
станок” характерна своя производительность
труда),
как наилучшим образом распределить
экипажи самолетов, как назначить людей
на различные должности (отсюда и название
задачи) и т. д.
Математически
такие задачи — частный случай распределительных
задач с
той особенностью, что в них объемы
наличных и требующихся для выполнения
каждой работы ресурсов равны
единице, т. е. aj = bj =
1, и все xij=1,
если работник i назначен
на работу j,
или нулю в остальных случаях (обозначения
см. в ст. “Распределительные
задачи”).
Иначе говоря, для выполнения каждой
работы расходуется только один вид
ресурса, а каждый ресурс может быть
использован на одной работе: ресурсы
неделимы между работами, а работы —
между ресурсами. Исходные данные
группируются в таблице, которая
называется матрицей
оценок,
результаты — в матрице
назначений.
Количество
возможных вариантов назначений равно
факториалу числа работ и ресурсов и
огромно даже в небольшой задаче. Поэтому
для нахождения оптимального варианта
применяют специальные алгоритмы. Среди
них особенно эффективен при решении З.
о н. вручную т. н. венгерский
метод.