Спасибо за ваши идеи. Ниже мне нужно назначить tasks
для workers
с тремя различными подходами. Вот некоторые данные:
workers <- data.frame(Name = c("Ken", "Dan", "Jon", "Sal","Chris"), Total_Capacity = c(3,1,2,2,1))
tasks <- data.frame(Tasks = c(1,2,3,4,5,6,7,8,9,10),
Difficulty = c(.14,.74,.92,.12,.34,.45,.83,.78,.50,.9),
Start = c("Jan-1","Mar-3", "Jan-2","Feb-11","Apr-23","Jan-29","Jan-12","Aug-3","Feb-5","Jan-5"),
End = c("Jan-11","Mar-30","Aug-22","Feb-27","May-25","Mar-20","Apr-1","Mar-7","Feb-24","May-11"))
- Первое распределение предназначено для последовательного назначения задач работникам в алфавитном порядке имени работника.
Второе распределение предназначено для последовательного назначения задач работникам. задание "дебетование" Difficulty
от работника Current_Capacity
, не более Total_Capacity
. Как показано ниже, когда у Дэна второй ход, Difficulty
в задании 6 равно 0,45, что превышает его Capacity
. Так что Дэн пропущен (NA
). Когда он доберется до второго хода Криса, Задача 10 превысит его Total_Capacity
, поэтому он принимает пропущенное задание Дэна (так как оно не превышает Current_Capacity
Криса). Предположительно, кто бы ни был следующим в очереди, у которого есть место, он должен выполнить Задание 6.
workers <- data.frame(Name = c("Ken", "Dan", "Jon", "Sal","Chris","Ken", "Dan", "Jon", "Sal","Chris"),
Total_Capacity = c(3,1,2,2,1,3,1,2,2,1),
Current_Capacity = c((3-.14),(1-.74),(2-.94),(2-.12),(1-.34),(2.86-.45),NA,(1.06-.83),(1.88-.5),(.66-.45)),
Task = c(1,2,3,4,5,6,0,8,9,10))
- Третье распределение такое же, как и второе, за исключением того, что
End
даты требуют завершения задачи и задание Difficulty
пополняется для этого работника. Большое спасибо, снова.