护士工作时间调度优化方案 下载本文

内容发布更新时间 : 2024/10/28 20:24:02星期一 下面是文章的全部内容请认真阅读。

护士工作时间调度优化方案

【摘要】

本文是在一定约束条件下求最值问题,是典型的规划问题,为此我们针对题目中的两个问题建立了相应的数学模型。为简化约束条件,避免因变量过多导致求解不便,我们首先在满足工作时间和强度约束的条件下优选出两种工作模式,然后充分利用集循环函数的特点建立非线性规划模型。然后利用数学模拟和 Lingo规划对其进行了有效的编程求解。

问题一:我们要研究的是,在满足护士每日工作时间,工作强度以及当班人员配备要求的条件下,达到护士需求量最少的目的。由于各时段所需护士数量不同,且护士工作存在间歇性,所以如何安排护士工作时段就成了解题的关键。针对此问题,我们从所有满足工作时间和强度约束的工作模式中,优选出两种独立的工作模式s1,s2,利用其推导出所需护士人数即目标函数表达式为:M1???s1(i)?s2(i)?,Lingo求解结果为:

i?112minM1?87,即为满足需求该医院至少需要87名护士,护士工作时间调度方案详见附录。

问题二:我们所要研究的是,在限定医院护士人数为80的前提下,安排最少的护士加班,完成医院需要达到的固定工作量。它给出的限制是加班的护士在完成正常时段工作后继续加班两小时。这仍是一个求最小值的规划问题。同样的,我们也相应选出一组独立工作模式s1,s2,此时加班人数即目标函数变为M2?12?s1(i),Lingo求解结果为minM2?26,即

i?1最少需要16名护士加班,对应的护士工作时间安排方案详见附录。

最后通过对求解结果和问题的再分析,我们发现在医院工作总量不变的前提下,目标人数其实已经可以确定。同时我们对数据的灵敏度以及模型的优缺点也进行了分析,并据此对模型的改进方向和可应用领域分别作出了说明和推介。

【关键字】 规划模型 工作模式 集循环函数 应用分析

第1页,共15页

2009年三峡大学数学建模竞赛热身赛,由三峡大学数学建模协会策划、组织和举办。

一、问题重述

某医院一个工作日(分为12个两小时长的时段)每个时段需要护士人数如下表:

每个时段的人员需求表

编号 时段 需要护士人数 0 00am-02am 15 1 02am-04am 15 2 04am-06am 15 3 06am-08am 35 4 08am-10am 40 5 10am-12pm 40 6 12pm-02pm 40 7 02pm-04pm 30 8 04pm-06pm 31 9 06am-08pm 35 10 08am-10pm 30 11 10pm-12am 20

问题1:假定每个护士每天工作8小时,且在连续工作4小时后需要休息2

小时,请计算为满足需求至少需要多少个护士。

问题2:此医院目前只有80名护士,这个数目不足以满足需求,因此需要

安排部分人加班,每天加班时间为2小时,且紧跟随在后一个4小时工作时段之后,中间没有休息,请给出护士工作时间安排方案,以使需要加班的护士人数最少。

二、模型假设与符号约定

2.1模型假设

(1)假设所有护士都能保持全勤率。

(2)假设所有护士都能服从安排,准时上下班。 (3)假设不考虑各种客观因素对护士人数的影响。 (4)假设没有突发事件发生,医院无需做出人员调整。

2

2009年三峡大学数学建模竞赛热身赛,由三峡大学数学建模协会策划、组织和举办。

2. 2符号约定

i,j:表示第i,j个工作时段,i,j?1,2...12;

n: 表示护士编号即第n个护士;

,表示n护士在i时段不、值班Ain?{10,表示n护士在i时段不值班

M1:表示所需护士的人数;

M2:表示所需加班护士的人数;

Pi:表示i时段所需护士的人数;

s1,s2:表示设定的护士每日当班的时段排列情况即值班模式

s1(i):表示第i个时间段以s1模式开始工作的人数; s2(i):表示第i个时间段以s2模式开始工作的人数;

i@j:表示为满足时段循环而定义的算法,i@j?i?j?k*12,i@j?[1,12],k?N

三、问题分析

本题是一个规划问题,我们想到建立一般规划模型求解,为能够用数学语言表示,引入一组二维的0-1整型变量

1,表示n护士在i时段值班in0,表示n护士在i时段不值班,

A?{

利用集循环函数建立相应模型顺利的完成了求解,其分析过程如下: 问题一,针对问题需要我们主要引用的集函数为:

@function,sets:times/1..12/:start1,start2,required; min=@sum(times:start1+start2)和@for,相应数学语言转化:

start1即s1模式: 1,1,0,1,1

start2即s2模式: 1,0,1,0,1,0,1

我们设定每名护士只能按其中一种工作模式值班,这时我们可以得出所需护士人数就是按照两种独立工作模式值班的护士之和即目标函数M1???s1(i)?s2(i)?;由于工作模

i?112式以满足两个约束条件,此时只有各时段护士需求约束,为解决首尾时段连续的影响,我们定义了一个算法i@j?i?j?k*12,i@j?[1,12],k?N,此时该约束可以表示为:

st:s1(i)?s1(i@8)?s1(i@9)?s1(i@11)?s2(i)?s2(i@6)?s2(i@8)?s2(i@10)?P(i)

最后利用lingo编程即可进行求解。

问题二,由于问题的相似性,据问题一的分析过程,我们可以很简单的将问题二的模型

3