当前位置: 主页 > 学术动态 >

一种考虑多优先级维修任务调度的两层优化方法

点击数:   更新日期: 2024-04-03

中文题目:一种考虑多优先级维修任务调度的两层优化方法

论文题目:A Two-layer Optimization Method for Maintenance Task Scheduling Considering Multiple Priorities

录用期刊/会议: Computers & Chemical Engineering (JCR Q2,CAA A类期刊)

原文DOI https://doi.org/10.1016/j.compchemeng.2024.108640

原文链接:https://www.sciencedirect.com/science/article/pii/S0098135424000589

录用/见刊时间:2024219

作者列表

1) 高小永 中国石油大学(北京)信息科学与工程学院/人工智能学院 自动化系 教师

2) 罗少为 中国石油大学(北京)信息科学与工程学院/人工智能学院 自动化 本科

3) 彭   雕 中国石油大学(北京)信息科学与工程学院/人工智能学院 控制科学与工程 硕21

4) 夔国凤 中国石油大学(北京)信息科学与工程学院/中国兵器工业第208研究所 控制科学与工程 硕19

5) 谢   毅 中国石油大学(北京)信息科学与工程学院 控制科学与工程 硕18

6) 吴   娟 国家能源集团宁夏煤业煤制油分公司

7) 潘   军 北京万普隆能源科技有限公司

8) 左   信 中国石油大学(北京)信息科学与工程学院/人工智能学院 自动化系 教师

9) 陈   韬 英国萨里大学 化学与过程过程系

文章简介:

在本文中,我们使用提出的两层优化策略有效地解决了油气田维修任务调度问题,基于几个实际案例,我们通过实验验证了提出的方法的有效性,并且我们的方法在效率上明显优于单个MILP模型。

摘要:

及时有效的维修调度是油气田安全稳定运行的关键。具有多个优先级的大规模维修任务很难在可接受的时间内完成。为了加快计算速度,提出了一种两层策略。在上层,为每个井簇生成一个集总任务。这种集总允许上层模型集中在紧急和重要的任务上,从而可以得到一个显著减少规模的混合整数线性规划(MILP)模型,以确定每个技术人员的调度和分配的时间长度。在底层,以上层预留时间为约束,为每个技术人员建立小规模的MILP模型。结果表明,我们的方法在效率上明显优于完整的MILP模型。通过我们与业界的合作,该方法目前正在现实场景中实施。

背景与动机:

石油和天然气行业在满足世界能源需求、推动经济发展和推动各个行业发展方面发挥着关键作用。油气田的作业涉及一系列复杂的活动,目的是定位、提取和提炼碳氢化合物。油气田的作业很复杂,需要昂贵的设备和设施。为了确保生产效率,这些设备和设施的正常运行至关重要。在生产过程中,会出现多种复杂的任务,优先级多,故障分布广,即维修任务。维修任务包括例行检查、设备维修和预防措施,以避免代价高昂的停机时间。如果不能及时有效地处理异常,就会导致故障。这会降低经济效益,甚至造成重大安全事故。及时高效的维修任务调度不仅可以节省维修成本和时间,还可以提高生产效率,对现场作业具有重要意义。

设计与实现:

设备维护是油气井现场日常运行管理的重要组成部分,对保证油气井安全、盈利的生产运行起着至关重要的作用。高效的维护和管理可以提高生产效率、安全性和降低运营成本。面对不同地点和优先级的任务,确定每个技术人员的最佳任务顺序以提高整体效率至关重要。

任务根据其重要性分为三个优先级:紧急、重要和一般。紧急的任务需要立即处理,重要的任务要在同一天内完成。一般任务应该尽可能多地处理。非命令性的一般任务占大多数。因此,大量的一般任务是解决困难的根本原因。如果可以很好地处理大量的一般任务,那么解决方案的效率将大大提高。这是本文的重点。

因此,本文引入了“井簇”的概念。维护任务分布图如图1所示。共有7个井簇,每个井簇由若干任务组成,其中任务1、任务11和任务36为紧急任务,任务2和任务12为重要任务,其余为一般任务。



图1 维修任务分布图

     

基于使用井簇的任务描述,提出了一个双层优化框架来加速求解过程,如图2所示。在上层模型中,属于同一井簇的所有通用优先级任务被打包成一个虚拟的集总通用任务。虚拟集总任务的完井时间是该井簇中所有单个一般任务的完成时间之和。



图2 两层优化流程图

主要内容:

根据实际应用规则,需要满足以下假设:

(1)一项任务只需要一名技术人员完成。各技术人员独立完成分配的维修任务,维修任务相互独立。

(2)先验已知不同任务之间的过渡时间,每个技术人员完成维修任务的时间,任务的优先级,任务的技能水平需求,技术人员的技能水平等相关信息。

(3)同一井群中存在多个维修任务,任务优先级可能不同。


上层优化模型

(1)任务最多只能完成一次。

image004.png

(1)

(2)同一技术人员每次只能完成一项任务。

image005.png

(2)

(3)必须完成优先级为1(即紧急任务)2(即重要任务)的任务。

image006.png

(3)

(4)技能水平匹配约束。

对于每个任务,指派的技术人员应满足任务的技能水平要求。

image007.png

(4)

(5)时间序列约束。

前一个约束:从任务到任务的时间段必须是任务完成后紧接着的下一个时间段。

image010.png

(5)

后序约束:从任务到任务的下一个时间段必须是任务的执行时间。

image011.png

(6)

由于存在两个离散变量的乘积,根据You and Grossmann, 2010提供的线性化思想,将两个方程线性化为式(7-11):

image012.png

(7)

image013.png

(8)

辅助变量约束:

image014.png

(9)

image015.png

(10)

image016.png

(11)

(6)过渡时间约束。

两个相邻任务之间分配的过渡时间应长于所需时间。

image017.png

(12)

(7)任务持续时间约束。

任务持续时间,即任务完成时间与开始时间之差,应大于所需的任务时间,见式(13)

image018.png

(13)

(8)上一事件结束时间与下一事件开始时间的关系。在每个技术人员的时间轴上定义事件的开始和结束时间之间的顺序关系。对于每个技术人员,下一个事件点的开始时间必须在前一个事件点结束时间之后,参见式(14)。且它们都不能超过调度地平线H,见式(15~16)

image019.png

(14)

image020.png

(15)

image021.png

(16)

(9)技术人员只能返回维修站一次。为简单起见,维修站代码设置为0

image022.png

(17)

(10)每个技术人员有一个中断任务,即午休约束。为简单起见,午休作为一项任务被编码为1

image023.png

(18)

(11)午休任务开始和结束的时间限制。

将维修技师午休时间也视为一项强制性任务,该中断任务的开始和结束时间由式(19)和式(20)给出。

image024.png

(19)

image025.png

(20)

式中,BLBU为表示午休时间段的常数参数。

(12)为每位技术员预留时间。

每位技术人员的工作时间为上午8:00-12:00,午休后13:30-17:30定义为优先级为12的任务调度完成后可以调度的预留时间,用于执行优先级为3的任务。

image027.png

(21)

(13)目标函数。

方程(22)是模型的目标函数,它使维护时间最小化,包括维护任务所需的时间和任务间转移所需的时间。

image028.png

(22)


下层优化模型

每个技术人员在完成所有紧急和重要的任务后所预留的时间可以由上级决定。因此,在下层优化中,一般任务分配将逐井进行优化。

(1)每个井簇完成虚拟集总任务所需的总时间。这个总时间是上层优化的结果,它将作为下层优化的限制。

image029.png

(23)

(2)每个井簇的虚拟集总任务最多只能完成一次。

image030.png

(24)

(3)目标函数。

方程(25)是下层模型的目标函数,其目标是一般任务的完成数量最大化。

image031.png

(25)

实验结果及分析:

3显示了未采用双层优化方法的现场应用结果。不同井簇的任务用不同的颜色来区分。现有技术人员3人,高级2人,初级1人。重要任务23项,一般任务28项,紧急任务2项。为了便于区分,不同的数字和不同的颜色代表不同的实际井簇。每个集群有多个任务,属于同一集群的任务在图3中用相同的颜色表示。


3 未采用两层优化模型的调度甘特图


4显示了另一个现场应用结果,其中实现了两层优化策略。现有技术人员2人,其中高级技术人员1人,初级技术人员1人。重要任务23项,一般任务16项,紧急任务2项。为了便于区分,不同的数字和不同的颜色代表不同的实际井簇。每个集群有多个任务,属于同一集群的任务在图4中用相同的颜色表示。


4 采用两层优化模型的调度甘特图


由图4可知,采用双层优化方法得到的结果更为合理。由于对一般任务进行了良好的聚类处理,大大减少了模型求解过程中涉及的二元变量,不仅提高了求解效率,而且使调度结果更加优化。技术人员将更多的时间用于任务维护,减少了井组之间的转移时间,从而完成了更多的任务,大大提高了技术人员的工作效率。

结论:

为了提高大规模维修任务调度问题的求解效率,这项研究提出了一种双层优化方法。油气行业的维护任务调度问题具有参数和变量规模大的特点,对传统的MILP模型提出了挑战。在所有维护任务中,非命令性的一般任务占大多数。因此,大部分一般任务构成了解决的主要困难。因此,在上层优化中,一般任务被打包成虚拟集总任务。考虑到技术人员与任务技能之间的匹配关系约束,上层优化重点关注任务优先级约束,得到紧急任务、重要任务和虚拟集总任务预留时间的调度结果。上层优化模型的目标是最小化完成紧急和重要任务的时间。以上层优化得到的预留时间为阈值,由下层优化得到各井簇中一般任务的调度结果。底层优化模型的目标是使完成的一般任务数量最大化。算例结果表明,所提出的双层优化方法优于传统的综合优化方法。提出的两层方法不仅大大减少了计算量,而且得到了更合理的结果。

通讯作者简介:

高小永,信息科学与工程学院/人工智能学院副院长,博士生导师,石大学者,校青年拔尖人才,自动化专业及控制科学与工程学科建设负责人,担任北京自动化学会常务理事、中国自动化学会过程控制专业委员会委员、中国自动化学会教育工作委员会委员、中国化工学会信息技术应用专业委员会副秘书长、中国系统工程学会过程系统工程专业委员会委员等。研究领域为复杂石油石化工业过程智能制造,主要方向有:机理与数据驱动的故障诊断、复杂工业过程建模与优化控制、工业过程计划与调度优化等。主持国家自然科学基金项目2项、北京市自然科学基金面上项目1项、校企联合项目20多项,发表SCI/EI等各类论文50多篇。

Emailx.gao@cup.edu.cn