У мене є проблема, яку можна звести до проблеми призначення. (У попередньому запитанні я дізнався, як це зробити.)
Що означає, що у нас є набір агентів і набір завдань, а також функція витрат . Нам потрібно знайти завдання, щоб загальна вартість була мінімальною.
Угорський алгоритм може знайти оптимальне рішення по крайней мере . Що мені добре звучить
Моя нова проблема: Існує задана кількість днів. Мені доводиться вирішувати задачу на кожен день, щоб кожне завдання робилося щодня, і жоден агент не робив одне і те ж завдання двічі .
Що я спробував: ми могли запускати алгоритм угорщини окремо на кожен день і обмежувати кількість можливих комбінацій на основі результату попереднього дня. Але це призведе до виникнення проблем у деякі пізніші дні, де, швидше за все, неможливо знайти можливе рішення.
Інша ідея - якось інтегрувати локальний пошук, щоб змінити рішення, прийняті за попередній день. Але я думаю, що ми не можемо на це покластися.
Проблемні випадки, з якими я маю зіткнутися, будуть десь навколо . Матриця витрат матиме безліч однакових значень (наприклад, переважно 1 або нескінченність, лише деякі 2 або 3). Тож під час алгоритму Угорщини є багато місця для створення різних оптимальних рішень за один день.
Буду радий почути деякі ідеї чи поради, як знайти гарне рішення проблеми. Заздалегідь спасибі.