Я столкнулся с уникальной проблемой, связанной с производством.мои данные приведены ниже
df<- read.table(text="LOT Step Tool_code Time_taken Transfer_time START_Time end_time
LOT1 1 Machine 1 3 1 09:00:00 09:04:00
LOT1 2 Machine 2 10 1 09:04:00 09:15:00
LOT1 3 Machine 3 3 1 09:15:00 09:19:00
LOT1 4 Machine 2 10 1 09:19:00 09:30:00
LOT1 5 Machine 4 2 1 09:30:00 09:33:00
LOT1 6 Machine 5 2 1 09:33:00 09:36:00
LOT1 7 Machine 6 1 1 09:36:00 09:38:00
LOT1 8 Machine 7 5 1 09:38:00 09:44:00
LOT1 9 Machine 8 5 1 09:44:00 09:50:00
",header =T)
. Проблема в том, что эти данные состоят из ЛОТа, подлежащего изготовлению.я хочу эффективно использовать машины, выделяя их свободное время на другой лот LOT2.Основная проблема, с которой я сталкиваюсь, скажем, например, что работа машины 2 завершена в 9:15, поэтому в 9.15 я позволю этой машине работать на LOT2 bt в 9:19, машина 2 снова должна вернуться на лот 1.Таким образом, в этой ситуации lot1 должен добавить задержку, которая произойдет из-за машины 2, работающей в LOT2.
Я пробовал пакет плана, пакет проектировщика.пытался использовать foverlaps, но не смог получить какой-либо конкретный результат для этой уникальной проблемы.Любая помощь или пакет, относящиеся к этому, будут высоко оценены
Желаемый результат будет
lot1 <- structure(list(LOT = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L), .Label = "LOT1", class = "factor"), Step = 1:9, Tool_code = structure(c(1L,
2L, 3L, 2L, 4L, 5L, 6L, 7L, 8L), .Label = c("Machine 1", "Machine 2",
"Machine 3", "Machine 4", "Machine 5", "Machine 6", "Machine 7",
"Machine 8"), class = "factor"), Time_taken = c(3L, 10L, 3L,
10L, 2L, 2L, 1L, 5L, 5L), Transfer_time = c(1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L), START_Time = structure(1:9, .Label = c("09:00:00",
"09:04:00", "09:15:00", "09:19:00", "09:30:00", "09:33:00", "09:36:00",
"09:38:00", "09:44:00"), class = "factor"), end_time = structure(1:9, .Label = c("09:04:00",
"09:15:00", "09:19:00", "09:30:00", "09:33:00", "09:36:00", "09:38:00",
"09:44:00", "09:50:00"), class = "factor"), desired_start_time = structure(1:9, .Label = c("09:00:00",
"09:04:00", "09:15:00", "09:26:00", "09:37:00", "09:40:00", "09:43:00",
"09:45:00", "09:51:00"), class = "factor"), desired_end_time = structure(1:9, .Label = c("09:04:00",
"09:15:00", "09:19:00", "09:37:00", "09:40:00", "09:43:00", "09:45:00",
"09:51:00", "09:57:00"), class = "factor"), comment = structure(c(1L,
1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L), .Label = c("", "Delay because machine was working in LOT2"
), class = "factor")), class = "data.frame", row.names = c(NA,
-9L))
, и время лота 2 будет следующим, учитывая, что работа машины завершена в LOT1
lot2 <- structure(list(LOT = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L), .Label = "LOT2", class = "factor"), Step = 1:9, Tool_code = structure(c(1L,
2L, 3L, 2L, 4L, 5L, 6L, 7L, 8L), .Label = c("Machine 1", "Machine 2",
"Machine 3", "Machine 4", "Machine 5", "Machine 6", "Machine 7",
"Machine 8"), class = "factor"), Time_taken = c(3L, 10L, 3L,
10L, 2L, 2L, 1L, 5L, 5L), Transfer_time = c(1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L), START_Time = structure(1:9, .Label = c("09:04:00",
"09:15:00", "09:26:00", "09:37:00", "09:48:00", "09:51:00", "09:54:00",
"09:56:00", "10:02:00"), class = "factor"), end_time = structure(1:9, .Label = c("09:08:00",
"09:26:00", "09:30:00", "09:48:00", "09:51:00", "09:54:00", "09:56:00",
"10:02:00", "10:08:00"), class = "factor")), class = "data.frame", row.names = c(NA,
-9L))