如何解决使用 Pyomo 的员工规划优化问题
我正在尝试解决这个员工规划优化问题,但无法创建目标函数、决策变量和约束。需要帮助。
该公司在三个州开展业务:A、B 和 C。本年度各州对保险的需求如下表所示: 状态 A - 一月 - (需求 1);二月 - (需求 2);三月——(需求3)..... 状态 B - 一月 - (需求 1);二月 - (需求 2);三月 - (需求 3).... 状态 C - 一月 - (需求 1);二月 - (需求 2);三月 - (需求 3)....
公司可以与他们雇用的员工一起处理申请,也可以将其外包给供应商。假设外包没有能力限制。 如果他们雇佣员工,他/她在100%的工作日工作的情况下,他/她每个月可以处理40份保险申请。但是,由于培训、休息日等原因,他/她有时无法处理申请。 下表显示了工作人员每个月处理保险申请的可用性(百分比)。如前所述,在 100% 可用性的情况下,每个成员可以处理 40 个应用程序。 状态 A - 一月 - (x%);二月 - (y%);三月 - (z%)..... 状态 B - 一月 - (x%);二月 - (y%);三月 - (z%)..... 状态 C - Jan - (x%);二月 - (y%);三月 - (z%).....
A 州和 B 州有一项监管限制,即每个月的外包保险申请不能超过申请总数的 30% 和 40%。 下表显示了员工与外部资源的成本: A 国 - 员工年薪 - 60000 美元;每个应用程序的外包成本 - 180 美元 B 州 - 员工年薪 - 55000 美元;每个应用程序的外包成本 - 150 美元 C 州 - 员工年薪 - 53000 美元;每个应用程序的外包成本 - 160 美元
目标是通过在 FTE 和供应商之间分配适当数量的应用程序,同时满足每个州的月度需求来优化应用程序批准过程的总成本。
我已经使用以下代码定义了集合和参数:
model.i = Set(initialize=State.tolist(),doc='States')
model.j = Set(initialize=Month.tolist(),doc='Months')
model.demand = Param(model.i,model.j,initialize = Demand,doc='Demand')
model.sa = Param(model.i,initialize = StaffAvPer,doc = 'StaffAvPercent')
另外,我的决策变量如下:
model.x = Var(model.i,doc='No of FTE',domain = NonNegativeReals) model.y = Var(model.i,doc='No of Outsource App',domain = NonNegativeIntegers)
而且,这是我的约束代码:
model.demand_constraint2 = ConstraintList()
for i in model.i:
for j in model.j:
model.demand_constraint2.add(expr = model.x[i,j]*40*model.sa[i,j] + model.y[i,j] == model.demand[i,j])
虽然我无法制定目标函数
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。