Задача про призначення найменшого числа виконавців
У прикладній математиці під задачею про призначення найменшого числа виконавців розуміється задача комбінаторної оптимізації, що узагальнює задачу про покриття множини і схожа за постановкою з задачею про призначення.
У цій задачі множина виконавців має розмір не обов'язково рівний розміру множини робіт. При цьому виконавця можна призначити для виконання декількох робіт одночасно, а на кожну роботу призначається тільки по одному виконавцю. Є загальний бюджет на виконання всіх робіт, який є обмеженням при призначенні. Потрібно знайти таке призначення виконавців для виконання робіт, щоб кількість залучених до виконання робіт виконавців була найменшою і не було перевищено виділеного на весь комплекс робіт бюджету.
Визначення
Є n виконавців і m робіт. Для кожної пари виконавець і робота задано витрати на виконання роботи . Є загальний бюджет на виконання всього комплексу робіт. Розв'язком є підмножина виконавців U і розподіл призначення виконавців з U по роботах. Рішення допустиме, якщо призначено виконавців для всіх робіт і сума витрат не перевершує бюджету . Потрібно мінімізувати кількість призначених виконавців (L). Іншими словами, потрібно підібрати найменшу за розміром (потужністю) множину виконавців, які разом зможуть виконати всі роботи.
Задачу можна розв'язати, розбивши на дві задачі:
- Підбір найменшої за чисельністю групи виконавців, які разом зможуть виконати всі роботи і вкладуться в бюджет . Ця проблема NP-складна, оскільки є узагальненням NP-повної задачі про покриття множини.
- Призначення в підібраній групі виконавців на роботи.
Математично задачу про призначення найменшої кількості виконавців можна сформулювати так[1]:
- мінімізувати
- при
- ;
- .
У цій постановці цільова функція задачі нелінійна, що не дозволяє безпосередньо знайти оптимального розв'язку точними методами лінійного програмування, зокрема симплекс-методом. Однак, задачу можна лінеаризувати, включивши додаткові змінні , що показують факт вибору в групу виконавця , . Потрібно також зв'язати змінні і . Тоді цільова функція матиме вигляд
- мінімізувати .
Зв'язок змінних можна задати такою умовою:
Наближені алгоритми
Для швидкого розв'язання задач великої розмірності доцільно використовувати наближені алгоритми: алгоритм максимальної кількості мінімальних елементів (МКМЕ) і алгоритм максимальної кількості допустимих елементів (МКДЕ)[2].
Примітки
- Катаев А.В., Катаева Т.М., Коженко Я.В. Оптимизация численного состава команды проекта: экономико-математический инструментарий / А. В. Катаев, Т. М. Катаева, Я. В. Коженко // Конкурентоспособность в глобальном мире: экономика, наука, технологии. 2016. – № 8-3 (22). – С. 101-104
- Катаев А.В., Катаева Т.М. Управление проектами на базе динамической сети партнеров: монография. – Ростов-на-Дону – Таганрог: Издательство Южного федерального университета, 2017. – 125 с.