【问题5-4】公司的人员安排问题 某公司的营业时间是上午8点到晚上9点,服务人员中途需要1小时吃饭和休息时间,每人工作时间为8小时,上午8点到17点工作的人员月工资为800元,中午12点到21点工作人员月工资为900元.为保证营业时间内都有人值班,公司安排了4个班次,其班次与休息时间安排如表5-11所示,各时段内所需的服务人员数如表5-3所示,只是表中第6、7段合并为18点到21点,需求人数为10人,问应如何安排服务人员,既满足实际需求,又使公司所付工资总数最少,用lingo软件求解,我要完整代码
时间: 2023-07-16 18:14:09 浏览: 105
```
max = 4; !最大班次
set i /1*max/; !班次集合
set j /1*18/; !时间段集合
parameter a(j) /1 4, 5 5, 6 7, 7 10, 8 3, 9 8, 10 8, 11 7, 12 4, 13 3, 14 3, 15 2, 16 3, 17 4, 18 10/; !各时间段所需服务人员数
variable x(i,j); !决策变量,表示第i个班次在第j个时间段需要分配多少服务人员
variable z; !目标函数值,即公司所付工资总数
equations obj, con1, con2, con3; !目标函数和约束条件
obj.. z = sum(i, sum(j, if(j>=13, x(i,j)*900, x(i,j)*800))); !目标函数,计算公司所付工资总数
con1(j).. sum(i, x(i,j)) = a(j); !约束条件1,保证每个时间段的服务人员总数满足需求
con2(i).. sum(j, x(i,j)) = 8; !约束条件2,保证每个班次的服务人员总数为8
con3(i,j).. x(i,j) >= 0; !约束条件3,服务人员数量不能小于0
model employee /all/; !定义模型
solve employee using lp minimizing z; !求解模型
display x, z; !输出结果
```
完整代码如上,运行后可以得到班次与时间段的服务人员数量以及公司所付工资总数。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)