В настоящее время я пытаюсь создать инструмент планирования в python. У меня есть список задач с указанием их приоритета и продолжительности, а также список сотрудников с ежедневной загрузкой.
Tasks Employee Duration Priority
Task1 A 10 1
Task2 A 30 2
Task3 B 40 1
Task4 B 5 2
Task5 C 10 1
Task6 C 15 2
Task7 C 10 3
Employee Date Capacity
A 20200101 30
A 20200102 30
B 20200101 10
B 20200102 50
C 20200101 20
C 20200102 20
Все задачи должны выполняться полностью, и ни один сотрудник не может выполнить задачу другого сотрудника. Из приведенного выше набора данных я бы хотел получить вывод:
Tasks Employee Duration Priority Date
Task1 A 10 1 20200101
Task2 A 30 2 20200101
Task3 B 40 1 20200102
Task4 B 5 2 20200101
Task5 C 10 1 20200101
Task6 C 15 2 20200102
Task7 C 10 3 20200101
Моя первая идея - создать все это в pandas фреймах данных и создать словарь сотрудников. Но я не уверен, как выполнить l oop через словарь сотрудников при обращении к кадру данных Capacity, чтобы найти емкость для сотрудника. Я создал еще один столбец в моем кадре данных емкости, который называется «использованная мощность», полагая, что он поможет мне суммировать продолжительность и использовать ее для сравнения с фактической емкостью. Я сейчас немного растерян, где go.
Мои исследования привели меня к проблеме ранца, которая, на мой взгляд, похожа, но я не совсем уверен, как применить ее принципы к этому. Это как если бы вам сказали, какой порядок предметов нужно упаковать, все предметы должны были принадлежать указанному c рюкзаку.
Как я могу go о создании моего выходного кадра данных?