使用 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 (将#修改为@)