在R语言中基于人员可用天数分配问题求解任务
按可用天数比例公平分配问题的R语言实现
基于人员可用天数的权重占比,我们可以将问题公平分配给对应人员,最终生成包含负责人字段的目标数据集。以下是完整实现代码:
# 构建人员可用天数数据框 Name <- c("Antony","Roger","Peter","Samuel") Days <- c(1,1,0.5,1) Name_Data <- data.frame(Name, Days) # 构建问题列表数据框 Problem_List <- c("Problem1","Problem2","Problem3","Problem4","Problem5","Problem6","Problem7","Problem8", "Problem9","Problem10","Problem11","Problem12","Problem13","Problem14","Problem15","Problem16", "Problem17","Problem18","Problem19") Total_Problem <- c(1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,18,19,20,21) Problems <- data.frame(Problem_List, Total_Problem) # 按可用天数比例分配问题,生成带负责人的结果数据集 Problem_Solver_Name <- c("Antony","Antony","Antony","Antony","Antony","Antony","Roger","Roger","Roger","Roger","Roger","Peter","Peter","Peter","Samuel","Samuel","Samuel","Samuel","Samuel") Problem_with_Solver <- data.frame(Problem_List, Total_Problem, Problem_Solver_Name)
分配逻辑说明
人员可用天数的总权重为3.5(1+1+0.5+1):
- Antony、Roger、Samuel各占
1/3.5的权重 - Peter占
0.5/3.5的权重
通过匹配Total_Problem的累计数值区间,将问题对应分配给不同人员,确保分配比例与可用天数占比一致,最终得到每个问题对应的负责人。
内容的提问来源于stack exchange,提问作者ParthaSarathi
相关产品推荐
相关产品推荐

