解决一个排班问题(建模,算法,java实现)
※排班分三班,早班,晚班,夜班。
工人分“高级”和“新人”
※以31天为一月,医院有16名护士为例。
※平时早班需要6-9人,晚班需要2人,夜班需要2人。早班需要2名以上“高级工人”。晚班,夜班各需要1名以上“高级工人”。
【硬性条件】
每一班(早,晚,夜班)分配的工人数要满足人数要求。
【柔性条件】
1. 尽量不要分配三连班,尽量避免早晚夜,晚夜早,夜早晚班出现。
2. 尽量避免工人连续工作5天以上。(被分配了一天中的任意一班视为当天有工作)。
3. 尽量避免工人连续休息5天以上。(一天中三班均未分配工作任务视为当天休息)。
4. 工人可以提出自己需要特殊休息的时间,排班时要尽量避开。
5. 每个工人被分配的夜班数尽量均衡。计算工人平均的夜班数,求出每个工人夜班数与平均夜班数的差值和,差值和越小为越优。
【目标】
在满足硬性条件的前提下,尽量满足柔性条件,找出最适排班。
工人分“高级”和“新人”
※以31天为一月,医院有16名护士为例。
※平时早班需要6-9人,晚班需要2人,夜班需要2人。早班需要2名以上“高级工人”。晚班,夜班各需要1名以上“高级工人”。
【硬性条件】
每一班(早,晚,夜班)分配的工人数要满足人数要求。
【柔性条件】
1. 尽量不要分配三连班,尽量避免早晚夜,晚夜早,夜早晚班出现。
2. 尽量避免工人连续工作5天以上。(被分配了一天中的任意一班视为当天有工作)。
3. 尽量避免工人连续休息5天以上。(一天中三班均未分配工作任务视为当天休息)。
4. 工人可以提出自己需要特殊休息的时间,排班时要尽量避开。
5. 每个工人被分配的夜班数尽量均衡。计算工人平均的夜班数,求出每个工人夜班数与平均夜班数的差值和,差值和越小为越优。
【目标】
在满足硬性条件的前提下,尽量满足柔性条件,找出最适排班。
...全文
相关推荐
基于Cplex的人员排班问题建模求解(JavaAPI)
基于Cplex的人员排班问题建模求解(JavaAPI)
员工到岗排班算法实现
1、需求描述 每周5个工作日,每个工作日只要求全员的部分员工到岗,实现公平下的自动排班,给出一个月的排班明细。 2、代码实现 /** * 自动排班 **/ public class ScheduleAutoJob { public static void main(String[] args) { //员工数组 String[] employeeArray = {"张三", "李四", "王五", "李丽", "孙萌", "张凯", "李炜", "赵明"
东北三省数学建模大赛第五问排课代码
2019东北三省数学建模大赛C题第五问排课,这只是一个简单排课代码,请各位珍惜使用,完成分享
Cplex的算法框架详解.pdf
对cplex内部算法框架的详解 对cplex内部算法框架的详解 对cplex内部算法框架的详解 对cplex内部算法框架的详解
index.pdf optaplanner 规划引擎
optaplanner 规划引擎 车辆路径问题 旅行商问题 ,排班问题,车间调度问题系列讲解


