Назначать задания работникам в зависимости от сложности и даты - PullRequest
0 голосов
/ 18 апреля 2020

Спасибо за ваши идеи. Ниже мне нужно назначить 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"))
  1. Первое распределение предназначено для последовательного назначения задач работникам в алфавитном порядке имени работника.
  2. Второе распределение предназначено для последовательного назначения задач работникам. задание "дебетование" 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))
    
  3. Третье распределение такое же, как и второе, за исключением того, что End даты требуют завершения задачи и задание Difficulty пополняется для этого работника. Большое спасибо, снова.
...