我是谷歌或工具的新手,目前我正在解决员工调度问题。该问题有一个约束条件,即根据轮班的客流量,将员工分配到轮班。每个员工从 1 到 n 进行排名,并被分配到班次,这样排名更高的员工就会被分配到更高的班次。我有轮班优先级和员工等级的数据,但我无法继续处理要提供给求解器的约束。请帮忙。
问问题
830 次
2 回答
2
我对模型的了解还不够,无法给出权威的答案。但我们走了。我会考虑将这部分作为目标而不是硬约束。假设我们使用二进制变量对员工的班次分配进行建模:
x[i,k] = 1 if employee i is assigned to shift k
0 otherwise
然后在目标中添加一个术语
sum( (i,k), x[i,k] * rank[i] * footfall[k])
使得这个术语最大化。
于 2018-06-25T10:00:22.017 回答
0
You can have a look at this starting example:
https://github.com/google/or-tools/blob/stable/examples/python/shift_scheduling_sat.py
于 2019-03-23T11:07:36.307 回答