计算机实现的调度系统及相关方法 相关申请的交叉参考
本申请要求于 2007 年 10 月 18 日提交的美国临时申请 No.60/980,856 的优先权, 其全部内容结合于此作为参考。
背景技术
由于睡眠缺乏、 昼夜节律失调、 任务投入时间或其他原因导致的疲劳会降低认知 性能并损害性能、 生产率和安全性。 由于疲劳导致的错误、 偶发事件和意外事件中涉及的人 力、 经济和社会成本是相当大的。 然而, 用于排班和工作进度表优化的传统方法并没有考虑 到疲劳。 附图说明
图 1 是示出根据本发明实施例的用于基于疲劳进行排班 / 调度的系统的示意性框 图 2 是示出根据本发明附加实施例的用于基于疲劳进行排班 / 调度的系统的示意 图 3 是示出根据本发明实施例的用于基于疲劳进行排班 / 调度的处理的流程图。 图 4 是示出根据本发明实施例的用于基于疲劳进行排班 / 调度的搜索处理的流程图。
性框图。
图。 具体实施方式
本公开描述了通过将能够预测疲劳的数学模型与能够优化登记表 (roster) 和 / 或工作进度表 (schedule) 的软件 / 硬件组件结合来进行排班和调度以减轻疲劳及其后果 的系统和方法。结果, 可以产生有助于良好性能同时满足个体操作要求和符合可应用规则 的登记表 / 进度表。所得到的登记表和 / 或工作进度表可以帮助维持性能、 生产率、 安全性 和幸福感, 同时减少错误、 偶发事件、 突发事件以及服务人员和经济损失。
A、 介绍
睡眠缺乏和昼夜节律失调降低了警觉和认知性能、 有效性、 安全性、 健康和幸福 感。对经受严重的总睡眠减少和长期的部分睡眠限制的正常人的研究显示, 健全的可重复 认知性能下降。作为睡眠不足、 睡眠限制的后果发生低效率、 错误、 偶发事件以及灾祸, 并 且相反的昼夜定时会降低生产率, 增加成本, 以及导致伤害和死亡。在操作环境中, 通常存 在决定和行动的有限时间 - 奖励准确、 有效且及时的人类反应。操作环境包括交通、 航空、 海事操作、 医学、 军事单位、 安全操作、 工业生产和 / 或其他人类活动。当人为失败时, 系统 发生故障, 通常伴随灾难性的后果。涉及由于睡眠缺乏和相反昼夜定时所导致的人为失败 的疲劳相关灾祸的实例为三里岛、 挑战者号发射决定、 Chernobyl( 切尔诺贝利 ) 和 Exxon Valdez( 埃克森·瓦尔迪兹 )。
在美国军队中, 睡眠被看作后勤再供给的项目 ( 类似于弹药、 燃料、 食物、 水以及其他关键耗材 )。后勤再供给的任何关键项目的有效管理都要求指挥官 ( 在军事背景下 ) 或管理者 ( 在民用背景下 ) 知道目前有多少项目并且知道预期的使用率是多少。通过准确 地了解这些数量以及使一个与另一个相关的模型, 指挥官或管理者然后可以计划 / 调度合 适的再供给。 从而, 在军事领域中, 睡眠可以被优化作为再供给的总体后勤和操作调度的一 部分。 类似地, 本公开内容的多个实施例可用于优化组织 ( 军事或民用 ) 的总体后勤和操作 调度, 包括睡眠时间的定时和持续时间, 从而使疲劳最小化以及使操作约束 (operational constraints) 架构内的操作效率和对象的其他优化最大化。
疲劳可以在操作上被限定为工作能力的退化, 并且可以为睡眠 / 醒来历史 ( 醒来 的时间 )、 昼夜节律 ( 一天的时间 )、 睡眠惯性 ( 醒来之后短暂的嗜睡 )、 工作量 ( 任务投入 时间、 工作时间、 工作性质 ) 和 / 或其他合适的因素的函数。实验确定的睡眠 / 醒来历史和 昼夜节律对睡眠倾向、 警觉以及性能的影响可用于开发用于基于这些因素预测性能的数学 模型。 合适的数学模型可包括两个过程模型 (two-process model), 其调用用于睡眠的内衡 驱力和睡眠倾向中的昼夜节律作为驱动睡眠和疲劳的过程。 另一种数学模型还可以使用轮 班定时 (shift timing) 和持续时间 ( 构成工作负担的粗略估计 ) 以及一天的时间 ( 构成 昼夜节律阶段的粗略估计 ) 作为它们的输入。 通过基于轮班定时和持续时间、 睡眠 / 醒来历史以及昼夜节律阶段的一些结合来 预测疲劳和性能的有效模型, 相信任何可能的工作进度表的效果都可以在不试验性地测试 工作进度表的情况下被估计。可以对特定数据集合验证模型, 然后被假设归纳预测任何可 能工作进度表的性能结果, 由此避免用于每个特定工作进度表的特定实验性仔细检查的 需要。疲劳模型的预测可以被调节, 以客观地预测生产率的可测量损失 ( 例如, 在运输方 面 - 增加了燃料消耗并增加了保养费 ) 和其他操作相关的性能结果。
B. 排班和调度系统和方法的实施例
本公开的多个实施例被配置为基于来自工程、 管理、 数学以及心理学的知识使用 应用数学的工具 ( 例如, 数学建模 ) 来分析和控制复杂操作系统。在多个实施例中, 工业操 作的运行情况可以被概括为定量模型 : 目标函数 ; 然后该函数可以被控制以至少增加或最 大化理想的操作结果 ( 例如, 利润、 组装线输出、 作物产量、 带宽等 ) 和 / 或至少降低或最小 化不理想的操作结果 ( 例如, 疲劳、 损失、 错误的风险、 偶发事件、 操作成本等 ), 同时保持在 操作约束的范围内。词语 “操作约束” 通常是指特定过程或操作必须遵循或希望满足的限 制和 / 或约束。这样的限制或约束可以是合法的、 物理的、 功能性的、 经济的和 / 或其他类 型。
图 1 和图 2 是示出根据本公开实施例的排班 / 调度系统的示意性框图。在这些图 中, 每个组件都可以是作为以计算机编程语言 ( 诸如 PASCAL、 C++ 和 / 或其他合适的编程语 言 ) 编写为源代码的计算机程序、 过程或处理, 并且可通过个人计算机、 网络服务器、 膝上 型计算机和 / 或其他合适的计算设备的处理器执行。每个组件还可以被实现为专用集成电 路、 光学电路和 / 或其他合适的硬件设备。源代码和目标字节代码的多种实现可以被存储 在易失性和 / 或非易失性介质 ( 例如, ROM ; RAM, 磁盘存储介质 ; 光学存储介质 ; 闪存设备和 / 或其他合适的存储介质 ) 和 / 或其他合适的计算机可读存储介质上。如图 1 所示, 系统 100 可包括可操作地连接至可选数据获取组件 102 的处理组件 101。
如图 1 所示, 处理组件 101 可包括两个基本软件模块 : 可操作地相互连接的排班模
块 104 和疲劳模块 106。在所描述的实施例中, 这些模块均可以在单个计算机设备上执行。 然而, 在其他实施例中, 这些模块还可以在分布式计算环境下执行。
排班模块 104 可被配置成基于将要完成的任务、 可用资源、 可应用规则和制度和 / 或其他操作信息来生成可能的工作进度表 105。可应用操作研究的技术, 以开发排班模块 104 的例行程序 ( 例如, 用于商用航空和其他运输模式 )。这种技术使用数学模型来捕获工 作人员排班的现实问题, 包括不利于优化的操作约束和目标。开发这种系统的一个方面在 于, 以数学模型 ( 即, 目标函数 109) 概括工业知识, 例如结构、 操作以及特定操作 ( 例如, 运 输、 生产和 / 或其他类型的操作 ) 的结果。可以以数学模型概括的任何理想约束或目标均 可以被结合到目标函数 109 中。
疲劳模块 106 接收可能的工作进度表 105 并基于可能的工作进度表 105 生成疲劳 预测 107。 疲劳模块 106 的多个实施例可包括基于描述在警觉、 性能和生产率方面的疲劳相 关降低的数据模型 ( 例如, 两个过程模型 ) 的计算例行程序, 概括睡眠 / 醒来历史、 昼夜振 幅和阶段、 睡眠惯性、 工作负担 ( 任务投入时间、 工作时间、 工作性质 )、 个体差异对这些参 数和 / 或其他合适因素的影响的详细知识。
然后, 所生成的疲劳预测 107 可形成预测的性能概况 108。然后, 排班模块 104 可 利用目标函数 109 来估计预测的性能概况 108 并生成处理后的工作进度表 110, 其中, 理想 操作结果和 / 或关于组员的理想疲劳等级可以在操作约束内同时被优化。然后, 处理后的 工作进度表 110 可以形成计划工作进度表 111。 在特定实施例中, 计划工作进度表 111 可以 被提供给疲劳模块 106 作为用于生成新疲劳预测 107 的工作进度表输入 112, 并基于前述过 程被处理, 直到获得了满足相关操作约束的理想工作进度表 ( 例如, 具有最低疲劳分数 )。 数据获取组件 102 可包括个体睡眠监测模块 113 和个体性能监测模块 114。个体 睡眠监测模块 113 可以使用日志、 在线记录工具和 / 或其他合适的技术来记录各个组员的 活动 115( 包括睡眠和醒来 )。然后, 个体睡眠监测模块 113 可基于活动记录 115 来更新计 划工作进度表 111 作为工作记录表更新 116, 并提供工作进度表 111 给疲劳模块 106 以更新 用于对组员疲劳进行建模的参数。
类似地, 个体性能监测模块 114 可使用生产率、 警觉等指数基于预测的性能概况 108 获得组员的性能测量 117。然后, 个体性能监测模块 114 可提供性能测量 117 给疲劳模 块 106 以更新用于对组员性能进行建模的参数。
如图 2 所示, 系统 200 可包括目标函数 201, 目标函数包括相互之间可操作连接的 至少一个排班模块 202 和疲劳模块 204。 根据本公开的一个方面, 目标函数 201 可包括操作 设定的调度和 / 或其他操作约束、 特定调度方案的相对优点、 关于相对于可用资源检查的 工作进度表的成本、 相对于生产率和其他实际或感知利益检查的工作进度表的优点、 以及 疲劳和随之而来的性能损害的成本的数学描述。
可使用通常利用计算执行的数学和 / 或数字方法最小化目标函数 201, 以确定相 对于目标函数的加权要素最合适的工作进度表。例如, 可基于成本、 风险、 组员的疲劳等级 和 / 或其他合适的操作结果的加权平均数来最小化目标函数 201。
目标函数 201 可包括多个输入参数。例如, 如图 2 所示, 输入参数可包括规则 206( 例如, 休息日、 假期、 工作 / 轮岗时间的限制、 资格规则、 团队规则等 )、 活动 208( 例如, 组员的配对、 保留、 培训等 )、 组员因素 210( 例如, 排班历史、 资格、 工资 / 薪金、 预先分配、 假
期、 睡眠 / 醒来历史、 昼夜阶段、 工作负担、 个体差异等 ) 以及优化目标 212( 例如, 成本、 人 员报价、 工作进度表的鲁棒性、 疲劳、 警觉、 性能等 )。 在另一实例中, 目标函数 201 还可以包 括睡眠惯性、 工作负担 ( 任务投入时间、 工作时数、 工作性质 )、 个体差异和 / 或其他合适的 输入参数。
前述系统和方法的多个实施例可用于提出疲劳相关处理优化问题 ( 例如, 最大化 通过港口设备的货流、 优化工厂平面布置和材料流、 管理电信网络中的成本与质量以及优 化道路交通模式和流量 ) 的宽范围。特别是在调度领域内, 本公开的多个实施例可包括在 商用航空、 可持续设备制造、 工程的任务序列以及包括空中交通控制的管理网络交通中对 员工进行的排班和调度。
根据本公开多个实施例的多个方面, 这里所描述的技术可基于例如轮班定时和持 续时间、 所获得睡眠的估计和实际测量、 睡眠 / 醒来历史、 昼夜节律和幅度、 睡眠惯性、 工作 负担、 响应于这些因素的个体差异和 / 或其他合适的因素通过结合预测疲劳的至少一个数 学模型来改进基于产业知识的目标函数。结果, 本公开的多个实施例能够进行有效的总控 键、 自动的、 操作 - 宽疲劳风险管理。
本公开的多个实施例还能够进行疲劳风险管理。 一种形式的疲劳风险管理提出了 针对性能和生产率方面的疲劳相关降低以及由例如突发事件成因的 “Swiss cheese” 模型 所引导的疲劳相关错误、 偶发事件和突发事件的多层深度防御。 在一个实例中, 疲劳风险管 理包括三层防御 : 第一层查询值班周期的定时和持续时间是否允许在持续时间和定时方面 有足够的睡眠机会 ; 第二层查询正在考虑的雇员是否利用了睡眠机会并且实际上是否获得 了足够的睡眠 ; 以及第三层查询在给定睡眠机会和该机会构成的使用的情况下正在考虑的 雇员是否在值班的同时很好地执行了。 在本公开中所描述的系统的多个实施例可以优化睡 眠机会的定时和持续时间和 / 或当睡眠的定时和持续时间被限制为不太理想时有利地部 署疲劳对策, 从而在操作约束下改善性能并且有助于疲劳风险管理。
本公开的多个实施例的特征在于, 睡眠 / 醒来 / 工作进度表可以被控制以减少现 有操作约束中的疲劳。另一个特征在于, 系统和方法可以不要求或使用工作场所中的疲劳 或性能的实际测量或观测 ( 虽然这样的测量可以被用作将与目标函数结合的附加信息 )。 另一个特征在于, 系统和方法可以根据作为各种原因如何影响睡眠 / 醒来历史 ( 例如, 年 龄 ) 和 / 或生理时间天 ( 例如, 轮班工作 ) 的结果的原因说明认知性能的临时或偶然改变。 这样的原因可以不必须看作对不依赖睡眠 / 醒来 / 工作历史和 / 或一天时间的认知性能有 影响, 并且同样不要求分别测量、 造表和输入。
以下实例示出了上述系统和方法的一种实现。即使该实例由特定编程语言和 / 或 探索法来构建, 但在其他实施例中, 系统和方法还可以包括用于执行所示功能的其他合适 探索法。
C、 实例
图 3 是根据本公开实施例的用于基于疲劳进行排班 / 调度的处理 300 的流程图。 在所示实施例中, 处理 300 可以被具体化为用 TURBO PASCAL 编写并且可在 DOS 操作系统 或等价计算机结构下的 IBM 可兼容个人计算机上执行的一段软件。在其他实施例中, 处理 300 还可以被具体化为用 C、 C++ 和 / 或其他合适的编程语言编写并且可以在基于 Unix、 基 于 Linux 和 / 或其他合适类型的计算设备上执行的一段软件。处理 300 可以操作和优化劳动力针对轮班工作进度表的分配。在所示实施例中, 优化是基于当分配个体以覆盖面对操作约束的工作轮班时具有最小总体估计疲劳的所有 轮班的覆盖范围。处理 300 可以提供优选的解决方案, 或者, 如果优选的解决方案不是唯一 的, 则提供优选解决方案之一。由实例提出的操作约束的实例如下 :
1) 必须覆盖所有工作轮班 ;
2) 每个个体一次不能工作多于一个轮班 ;
3) 在工作轮班期间不允许睡眠 ; 以及
4) 登记表通过以下操作应该使用尽可能有效率的可用劳动力,
a、 使用尽可能少的个体来覆盖轮班 ; 或
b、 通过给定所有可用个体至少一个轮班来分配工作。
在初始阶段, 处理 300 包括输入轮班和劳动力信息 ( 框 302)。 在该实例中, 特定处 理 300 被配置为读取两个输入文件, 由处理 300 在 DOS 操作系统中执行时由命令行参数的 名称来表示。
第一输入文件包括轮班工作进度表, 在这种情况下, 采用在以累积时钟时间表示 的每个轮班的开始和停止时间的形式 ( 例如, 23 表示 11pm、 24 表示下一天的 12am、 25 表示 下一天的 1am 等 )。 示出了涉及在 36 小时时期内有七个工作轮班的一个实例, 即, 第一输入 文件包括以下 7 个轮班 ( 以累积时钟时间计算 ) :
轮班 1 : 8-17 小时累积时钟时间 轮班 2 : 16-23 小时累积时钟时间 轮班 3 : 22-31 小时累积时钟时间 轮班 4 : 30-36 小时累积时钟时间 轮班 5 : 32-40 小时累积时钟时间 轮班 6 : 9-14 小时累积时钟时间 轮班 7 : 36-44 小时累积时钟时间 该实例首先输入对应于前述轮班工作进度表的文件, 包括 : 8 17 16 23 22 31 30 36 32 40 9 14 36 44 以上轮班以下以图表示出 ( 累积小时 8 至 27- 前四行 ; 累积小时 28 至 44- 后四行):
每四行框中的第一行中的数字表示以小时为单位的累积时钟时间。 后四行接着前 四行。 每四行框中的第一行下面的三行表示七个轮班 ( 如灰色所示 ), 在第一输入文件中按 照它们的顺序被编号为 1 至 7。垂直线标记经过的时间。注意, 多种轮班部分重叠, 使得产 生将个体分配给这些轮班的真正问题。
第二输入文件包括关于可用劳动力的信息。在该实例中, 该文件包括可用个体的 名称以及它们的早晨 / 晚上偏好 / 类型的测量。相信后者与昼夜节律的定时 ( 与平均中间 类型相比, 行为上从用于极端早晨类型的约早 2 小时改变为用于极端晚上类型的约晚 2 小 时 ) 的差异相关。
包括 4 个个体的第二输入文件的实例如下 :
0 John
-1 Anita
2 Carl
-2 Marc
其中, 每个名称前面的数字表示人的早晨 / 晚上偏好 ( 例如, 通过早晨 / 晚上偏好 问卷获得 ), 正数表示晚上类型, 负数表示早晨类型。因此, 在以上实例中, John 被指定为中 间类型 ( 不是早晨也不是晚上 ) ; Anita 为中等早晨类型 ; Carl 为极端晚上类型 ; 以及 Marc 为极端早晨类型。
在读取两个输入文件之后, 处理 300 可包括基于输入轮班和劳动力信息计算可能 登记表的数量 ( 框 304)。在该实例中, 可能登记表的数量可被计算为将每个工作者分配给 每个轮班的排列的数量。从而, 在该实例中, 可能登记表的数量为 47( 即, 4 个个体的 7 个轮 班次方 ), 等于 16384。
处理 300 可以选择性地接收或确定什么附加惩罚可以被添加至用于劳动力规模 的目标函数。 该惩罚可用来改变优化处理的平衡, 以支持最小化所使用劳动力的规模, 或者 最大化尽可能多的个体的轮班分配。惩罚可以采用百分比疲劳等级的形式, 一个等级准备 允许将个体添加至劳动力工作进度表 ( 或从其减少 ) 作为交换。从而, 如果没有惩罚的最 优解决方案涉及仅对四分之三的个体进行调度以覆盖 7 个轮班, 则添加用于劳动力的负惩 罚可以颠倒平衡以在排班时包括所有 4 个个体, 同时添加正惩罚会颠倒平衡, 以附加平均 疲劳的成本仅利用 2 个个体覆盖 7 个轮班。然而, 如果由此发生的附加平均疲劳非常高, 则 目标函数不能利用减少或增加的劳动力被最小化, 而不管惩罚如何, 并且具有 3 个个体的 解决方案可能仍然是最好的。在一个实例中, 0 被输入为劳动力惩罚。在这种特定情况下, 还自动强加用于劳动力的微小惩罚, 即, 疲劳量表的 0.01%。如果总体估计疲劳等级相同, 则这相对于具有更多个体的解决方案, 其支持具有更少个体的解决方案。这满足以上标准 4a)。
即使按照疲劳等级的百分比来计算处理 300 中采用的目标函数, 目标函数也可以 被调节为不支持对于除疲劳等级之外的原因不是最优的解决方案。例如, 非常大的值 ( 例 如, 10000000% ) 可以被添加至用于排班解决方案 ( 涉及一个个体一次工作多于一个轮班 ) 的目标函数, 这将违反以上标准 2), 从而将决不构成最优方案 ( 并且当其不产生目标函数 的最小值时同样不被选择 )。
然后, 处理 300 可包括搜索具有最低总体疲劳等级的至少一个登记表 ( 框 306), 如 以下参考图 4 更详细描述的。然后, 处理 300 可包括决定框 308, 以确定处理是否将继续。 在一个实施例中, 处理 300 可以在操作者调节用于目标函数的参数 ( 框 310) 时继续, 并且 处理返回到在框 306 中搜索具有最低的总体疲劳等级的至少一个登记表。否则, 该处理结 束。
图 4 是示出根据本公开实施例的用于基于疲劳进行排班 / 调度的搜索处理 306。 在所示实施例中, 处理 306 包括对将每个工作轮班分配给劳动力的每个可用个体以覆盖满 足以上标准 1) 的所有轮班的所有可能性进行全面搜索。例如, 搜索处理 306 可包括将劳动 力中的至少一些个体分配给轮班以获得登记表 ( 框 312) 并计算所分配登记表的总体疲劳 等级 ( 框 314)。 在所示实施例中, 计算所分配登记表的总体疲劳等级可包括为劳动力中的四个个 体中的每个个体计算工作进度表的 36 个小时的疲劳等级 ( 包括估计排定的个体睡眠次 数 )。在所示实施例中, 使用预测用于睡眠和时间上的昼夜节律 (circadian rhythm) 状态 的内衡压力 (homeostatic pressure) 等级的两个过程模型来估计疲劳。该模型估计何时 睡眠可能发生, 其是用于睡眠的内衡压力超过由昼夜节律调节的上阈值的时候 ; 并且估计 何时睡眠可能结束, 其是用于睡眠的内衡压力降低到由昼夜节律调节的下阈值的时候。
该模型还估计觉醒期间的疲劳等级, 其可以通过所计算的内衡压力和昼夜节律之 间的差表示。这样, 该模型可通过根据所估计 / 预计的觉醒时期 ( 包括由于对轮班的分配 导致的被迫觉醒 ) 以及所估计 / 预计的睡眠时间跟踪内衡和昼夜处理来预测疲劳等级。在 特定实现中, 疲劳等级被表示为百分数, 100%表示非常疲劳, 0%表示不疲劳。在其他实施 例中, 疲劳等级还可以被表示为与正常值的偏差、 成绩和 / 或其他合适的度量。
在特定实现中, 每个个体的疲劳等级的计算如下进行。 首先, 为眼前的个体确定初 始状态。 在特定实现中, 假设个体完全恢复并且处于稳定状态, 即进行了睡眠使得在内衡和 昼夜处理之前存在平衡。对于中间类型个体, 两个过程模型预测这在人在每天 11:30pm 和 7:30am 之间睡 8 个小时的时候发生 ; 对具有不同程度的早晨 / 晚上偏好 / 类型的个体调节 这些时间。通过建模 10 天的睡眠来评估稳定状态, 相信其允许两个过程模型达到其稳定 状态的足够时间, 使用两个过程模型的公开参数值, 按照第二输入文件的内容对用于早晨 / 晚上的昼夜节律的定时进行调节。建模的 10 天的最后 24 小时中对所估计内衡压力和对所 估计睡眠时间的预测被存储在数据库中, 使得特定个体的初始值可以被恢复, 其对应于第 一输入文件中指定的工作进度表的开始。 昼夜节律的初始值可以被直接计算或者计算为存 储在数据库中的值。为所考虑的每个可能的登记表计算一次初始状态。
从特定人的初始状态开始, 搜索处理 306 然后跨过第一输入文件中限定的工作进 度表的持续时间内为登记表中的每个个体跟踪两个过程模型的内衡处理和昼夜处理。 这可 以在为 0.5 小时的步骤中作出, 但是两个过程模型的等式对于时间步骤的选择是不变的,
并且还可以使用更小 ( 或更大 ) 的时间步骤。在觉醒时期内, 用于睡眠的内衡压力以渐进 1 的饱和指数方式增加, 同时在睡眠期间, 内衡压力以渐进 0 的饱和指数方式减小。昼夜节 律通过两个过程模型的闭合式调和方程的估计来计算。
当用于睡眠的内衡压力增加到高于上阈值 ( 通过将偏移量添加至昼夜节律来计 算 ) 时, 假设睡眠发生。当用于睡眠的内衡压力降低到低于通过将较小偏移量添加到昼夜 节律所计算的下阈值时, 假设睡眠自然结束。然而, 在排定的工作轮班期间, 假设不发生睡 眠, 这满足以上标准 3)。 疲劳计算为用于睡眠的内衡压力和昼夜节律的值之间的差, 并表示 为百分数。跨过排定的工作时间, 疲劳被记录在计算机存储器中。用于目前个体在所有排 定工作轮班期间发生的总疲劳等级 ( 在 0.5 小时的步骤中或任何其他选定时间步骤 ) 被添 加至目标函数。 在所有个体都这样被建模后, 目标函数的最终值被存储在计算机存储器中。 相关惩罚可如本文所述那样添加。
然后, 搜索处理 306 可包括决定框 316, 以确定当前登记表的疲劳等级是否低于先 前登记表的疲劳等级。 如果是, 则当前登记表和对应疲劳等级被保持在缓存中 ( 框 318) ; 否 则搜索处理继续至另一决定框 320, 以确定搜索处理 306 是否应该继续。在一个实施例中, 如果还存在剩余的其他可能登记表, 即, 循环计数器还没有达到可能登记表的数量, 则搜索 处理 306 继续。在其他实施例中, 其他参数和 / 条件可用于终止搜索处理 306。如果所有可 能登记表均被搜索或该处理另外被结束, 则处理返回。
如上所述, 遍及所有的可能登记表, 具有目标函数的最低值 ( 或者如果存在具有 相同目标函数的多个登记表, 则为所遇到的第一个或最后一个 ) 的登记表被选择为最优登 记表。 目标函数的这种操作被认为是识别在用于所有个体的所有工作进度表中生成最小估 计疲劳的登记表, 同时满足以上操作准则 1) 至 4)。
处理 300 的特定实现可以选择性地包括在显示器 ( 例如, 计算机屏幕 ) 上打印什 么是目标函数的值和对应的轮班分配。还可以显示有多少可用个体可以进行工作轮班, 以 及由疲劳模型估计的每单位时间的平均疲劳等级是什么。在具有 7 个轮班和 4 个个体的实 例中, 输出可以如下 :
最小目标函数的值 : 33.9
最优登记表的轮班分配 :
轮班 1 轮到 John
轮班 2 轮到 Carl
轮班 3 轮到 Marc
轮班 4 轮到 Anita
轮班 5 轮到 John
轮班 6 轮到 Anita
轮班 7 轮到 Carl
所使用的个体数量 : 四分之四
平均疲劳等级 (0% -100%比例 ) : 32.6%。
通过图表示出, 这表示下列的最优登记表 :
这里, 第一行数字表示以小时为单位的累积时钟时间。下面三行表示如灰色所示 的 7 个轮班, 并且文本表示将谁分配给这些轮班。垂直线标记经过的时间。
处理 300 还可以包括对于最佳排班方案, 跨过工作进度表的持续时间, 为每个个 体生成包括疲劳模型预测 ( 例如, 内衡压力、 昼夜节律、 估计的睡眠 / 醒来状态以及由时间 点表示的疲劳等级 ) 的输出文件。如果不存在最佳解决方案 ( 例如, 如果想要仅利用一个 个体填充所有轮班 ), 则软件报告这样的调查结果。
即使传统排班过程和 / 或对疲劳非常了解的人类专家选择的登记表选自通过疲 劳预测模型的验后应用根据疲劳比较之后的一组登记表, 他们也不可能得到如上所示的相 同结论。应该相信, 对于在一开始的多个可能性中出现的最佳登记表, 在图 2 中所示最优化 处理期间而不是之后可以在目标函数中结合疲劳。从而, 传统排班很可能导致在登记表中 涉及更大的估计疲劳, 可能降低生产率并增加安全风险。
为了示出操作约束的影响, 利用所强加的劳动力惩罚再次重复先前实例, 使得容 许对于每个个体平均疲劳增加 5%。采样输出如下 :
最小目标函数的值 : 50.6
最优登记表的轮班分配 :
轮班 1 轮到 Anita
轮班 2 轮到 John
轮班 3 轮到 Carl
轮班 4 轮到 Anita
轮班 5 轮到 John
轮班 6 轮到 John
轮班 7 轮到 Carl。
所使用个体的数量 : 四分之三
平均疲劳等级 (0% -100%比例 ) : 33.7%。
该解决方案不同于轮班可以利用仅 3 个个体覆盖的先前登记表, 同时平均疲劳仅 大 1.1%。而且, John 被要求工作两个轮班, 两个轮班基本相连 (9 到 14 小时的轮班 6, 以 及 16 到 23 小时的轮班 2)。不过, 这看起来违反直觉的工作进度表是给定由目标函数表示 的新操作约束最小化疲劳的排班问题的最佳解决方案。当使用传统排班和调度方法时, 很 可能忽略该登记表, 这是由于倾向于将轮班 2 和 6 分配给两个不同的个体。
传统排班过程通常不按照个体的疲劳相关特征来区分个体。例如, 从调度的观点 看, 个体互换的以上登记表 ( 例如, Anita 负责 Carl 的轮班并且 Carl 负责 Anita 的轮班 ) 看起来同样有效。然而, 当考虑早晨 / 晚上偏好以及它们对睡眠和疲劳的影响时, 一些个体
互换的登记表将不再同样有效, 并且只有上述特定登记表最优。仅基于此, 本发明允许用 户在看起来为大量等效的登记表中挑选最佳工作进度表, 从而通过多达等于个体数量的阶 乘的因数限制选择 ( 在该情况下, 4 != 1×2×3×4 = 24 ; 对于 10 个个体的情况, 应该为 10 != 3628800 种选择的可能性 )。为了说明, 假设所有个体均具有第二输入文件的以下 实例中所示的中间昼夜节律偏好, 执行该处理 :
0 John
0 Anita
0 Carl
0 Marc
该处理的输出示出了以下解决方案, 其再次不同于先前实例 :
最小目标函数的值 : 37.3
最优登记表的轮班分配 :
轮班 1 轮到 Carl
轮班 2 轮到 Anita
轮班 3 轮到 John 轮班 4 轮到 Anita
轮班 5 轮到 Carl
轮班 6 轮到 Anita
轮班 7 轮到 John
所使用的个体数量 : 四分之三
平均疲劳等级 (0% -100%比例 ) : 35.9%。
除了最优化登记表和工作进度表之外, 本公开的特定实施例可用于优化疲劳对策 的适时部署, 包括但不限于关于工作午睡和值班咖啡因消耗。 此外, 进行优化处理可以考虑 疲劳对策原因的可利用性 ( 例如, 在由于例如军事操作期间或处于远程位置而限制诸如咖 啡因的供给的情况下 )。
除了优化用于最小平均疲劳的登记表之外, 目标函数还可以被公式化, 使得优化 处理致力于最小化极度疲劳周期的持续时间, 最小化极度疲劳等级, 最大化低疲劳的周期, 或者被认为相对于疲劳为最佳的任何变化。此外, 除了或者代替疲劳模型, 处理 300 的多个 实施例可包括预测嗜睡、 警觉、 认知性能、 效率、 生产率、 安全性、 风险、 错误、 偶发事件、 突发 事件或与疲劳相关的成本。 例如, 在进行或不进行对目前任务性质的调节的情况下, 多个风 险等级可基于预先选择的疲劳阈值分配给多种疲劳等级, 并且目标函数可以被公式化, 使 得其最小化 ( 或最大化 ) 导致在给定其他操作约束和优化目标的情况下具有最低风险等级 的登记表。虽然上述处理 300 用于对给定的组员规模最小化疲劳, 但本公开的多个实施例 可用于为给定的疲劳等级确定优化组员规模。
在操作约束环境下优化疲劳还可以被更广泛地构建为操作的总体逻辑优化方案 的一部分, 诸如战斗操作、 能源生产、 自然资源提取 ( 例如, 油井和矿井 ) 以及运输 ( 例如, 航空工业 )。 本领域技术人员将认识到, 将疲劳建模结合到后勤优化方案中使用与将疲劳建 模结合到调度或排班中相同的原理, 并且将认识到本发明可以扩展到后勤优化等级。
D、 附加实施例
虽然以上描述了基于疲劳优化方案的技术, 但在特定实施例中, 调度和排班优化 还可以基于除了或代替疲劳的操作风险。操作风险可包括安全性和生产率以及多种其他 损失或责任问题, 其可以通过除其他因素之外的疲劳来确定, 其中, 其他因素诸如暴露 ( 例 如, 作为运输环境中突发事件的风险因素的交通的暴露 ) 密度 ; 特定员工的操作临界性 ; 以 及操作的临界阶段, 包括但不限于处于起飞和降落期间的飞行员, 进坞操纵期间的宇航员 以及同时在被限制的水路和港口进行操纵的船长和船员。 这些操作风险因素可被包括作为 目标函数的一部分。
虽然以上描述了用于优化个体到给定工作进程表的分配的技术, 但排班优化处理 的多个实施例还可以包括检查不同工作进度表 ( 例如, 用于排定的轮班的不同开始和结束 时间 ), 以进一步根据疲劳等级和 / 或其他操作约束来改进登记表。例如, 可通过在目标函 数中表示排定轮班的灵活性测量或者通过扩展基于排定轮班的灵活性包括可允许的变量 而检查的可能工作进度表的数量来完成这样的改进。
除了将疲劳限定为预测的百分数之外, 本公开的多个实施例还可使用用于疲劳预 测的其他度量来实现, 例如, 关于瞌睡 / 疲劳问卷和标准的分数 ; 关于多个入眠时间测试或 类似的疲劳测试的入眠时间 ; 关于心理运动警觉测试或其他认知性能任务的性能和 / 或疲 劳的其他操作或理论定义。 除了早晨 / 晚上偏好的个体特性之外或者代替其, 还可以在优化处理中使用个体 或个体组的多种其他特性。例如, 除图 2 所示的因素之外, 还可以使用睡眠缺乏的个体弱 点, 轮班个体能够和不能够在工作 ( 例如, 由于资格的原因 ) 的其他显型、 基因型限制、 优选 职员配对等。 这些特性的组分布还可用于描述大量劳动力, 并通过贝叶斯统计、 基于蒙特卡 罗的采样策略和 / 或其他合适的技术而应用于优化处理。
在上面的描述中, 时间被跟踪作为累积时钟时间。 本领域技术人员将认识到, 在其 他实施例中, 时间可以表示为一些其他格式的范围, 例如, 秒或 ( 非全 ) 天以及根据世界时 间或测量的时间或其他任何时标。
此外, 在前述实例中使用的穷举搜索只是可用于执行处理 ( 包括基于或结合分析 解法、 微分、 矩阵代数、 线性和非线性编程、 遗传算法、 基于蒙特卡罗的采样策略、 自举、 贝叶 斯统计等的过程 ) 的多个例行程序之一。
在进一步的实施例中, 目标函数可以在没有普遍性损失的情况下被最大化而不是 最小化。本领域技术人员将认识到, 根据疲劳分数计算的目标函数仅是可用于实现相同或 类似效果的多个目标函数之一。 目标函数可以被表示为多种度量 ( 一维或者甚至多维 ), 只 要目标函数的最小化 ( 或最大化 ) 导致找到解决问题的最佳方案。同样地, 应用于目标函 数的惩罚和调节可以采用多种形式、 度量以及幅度。不能满足基本操作标准 ( 例如, 一个个 体必须同时在多个轮班工作 ) 的登记表可以通过对目标函数的大惩罚排除在外, 或者他们 可以事先从优化处理的考虑中被去除, 二者具有相同效果。
另外, 两个过程模型只是估计疲劳的多种可能方式之一。其他方法可以包括 : 1) 可选疲劳和性能模型 ; 2) 疲劳的直接测量 ; 以及 3) 疲劳的直接测量和数学建模的结合。
此外, 根据两个过程模型估计睡眠时间只是估计睡眠时间的多种可能方式之一。 其他方法可以包括 : 1) 根据多导睡眠、 活动监测仪和自我报告来直接测量 ; 2) 根据轮班定 时和持续时间的间接估计 ; 3) 可选睡眠估计模型。疲劳估计精确度的进一步改进可通过包
括睡眠及其结构的更详细模型来实现。然而, 所公开的系统和方法不能视包含睡眠时间的 估计而定 ; 可以利用根据工作估计恢复的其他手段, 包括但不限于 : 1) 将名义上或时间比 例恢复值归于每段不工作时间 ; 以及 2) 基于代替睡眠的休息来估计恢复。
所公开的系统和方法的多种实施例可以被实现为 : 1) 在计算机中作为软件加载 和执行的独立应用, 2) 在固定位置下被硬连线或者作为便携式设备的一部分, 或者 3) 作为 更大数据管理或后勤管理系统或软件工具的一部分的模块。
系统和方法的多个实施例可以被应用至任何活动或为配备延长工作时间、 轮班工 作的操作和 / 或 24×7 操作。例如, 这样的活动或操作包括商业航空、 货车运输、 海上运营、 军事操作、 太空飞行、 卫生保健、 应急响应、 制造、 全球金融市场、 资源提取 ( 采矿、 钻探 ) 以 及能源生产。系统和方法的多个实施例可以面对操作约束优化用于个体的排班和调度, 以 至少减轻疲劳和随之产生的与疲劳相关的错误、 偶发事件或突发事件。
根据上述内容, 应该想到, 为了说明目的在此描述了本公开的特定实施例, 但是在 不脱离本公开的情况下可以做出多种修改。例如, 工作进度表中用于疲劳估计的初始值可 以从基于给定睡眠 / 醒来历史或假设统计分布和 / 或其他合适的计算和 / 或测量的计算中 获得。在另一实例中, 前述系统和方法的多种实施例还可以被实现以产生疲劳友好工作进 度表, 该工作进度表基于所接收的关于操作环境或登记表中个体的新信息通过实时 ( 或离 线 ) 重优化被频繁更新。在特定实施例的上下文中描述的本公开的特定方面可以被结合或 排除在其他实施例中。不是所有实施例都必须需要呈现落在本公开范围内的这种优点。因 此, 本发明不限于本公开, 而是其范围总体上通过以下权利要求来确定。