基于质量预测的飞机装配动态调度问题研究

2020-10-31 11:55陆志强朱宏伟廖怡娜
湖南大学学报(自然科学版) 2020年10期
关键词:搜索算法工期调度

陆志强,朱宏伟,廖怡娜

(同济大学机械与能源工程学院,上海 201804)

对飞机等大型设备装配制造企业而言,建立合理的装配调度计划是有效提高装配效率的途径之一[1].许多因素影响着调度计划的制定,包括各类资源供给限制、任务间的时序约束以及装配过程中出现的各种不确定性因素等.目前,已有学者对飞机装配调度及相关衍生问题开展研究.对于确定性问题,Lu[2]和朱宏伟[3]等认为飞机装配过程主要涉及资源约束和任务顺序关系两类确定性约束,因此可以将飞机装配调度问题抽象为资源受限项目调度问题(resource constrained project scheduling problem,RCPSP)及其扩展问题,并且可以通过构建启发式或元启发式算法[4-5]对问题进行有效求解.在不确定性问题方面,现有研究主要涉及资源和任务相关的不确定性因素,包括物料到达不确定、任务工期不确定以及装配质量缺陷等[6-8].其中,廖怡娜等[9]考虑任务因质量缺陷而导致的返工对计划变动性的影响,以最小化项目工期与任务开始时间变动性为目标构建问题模型.处理不确定性问题的方法主要包含反应式调度和前摄调度两类,其中前摄调度通过添加时间或资源缓冲来提升前摄调度计划的鲁棒性,以预防不确定性事件导致的计划中断[10].

实际上,各质量相关因素对装配或加工质量的影响以质量偏差传递过程的形式体现,而两者的映射关系可以通过质量预测模型来建立.贾峰等[11]采用复杂网络建模理论构建叶片加工误差传递网络,以说明误差在加工特征和工况要素间的传递过程.王秋明等[12]通过灰色理论和反向传播神经网络实现各工序的质量预测.鞠萍华等[13]提出一种基于GRA和AHP 的广义回归神经网络零件失效概率预测方法.

飞机装配周期长,与资源、任务相关的不确定性因素随着装配进程的推进不断变化,因此实际管理上更适合采用周期性的决策框架构建调度计划,其中包括滚动时域法.Lee 等[14]以滚动时域为框架解决短期调度问题.张洁等[15]针对工时不确定的混合流水车间动态调度问题,提出基于交货期偏差容忍度的滚动时域框架.

综观现有研究发现,现有调度方法往往在不确定性事件发生后进行被动处理且仅利用决策初期的信息,从而忽略了主动改善的优势,同时也无法有效应对装配过程中不确定因素不断改变的情况.现有文献虽然已经对质量偏差传递机理和预测方法进行了详细的分析,但实际上,装配人员的技能水平在很大程度上影响着飞机装配的可靠性与稳定性,是产生质量缺陷的重要原因之一[16],因此现有研究与真实的飞机装配质量传递过程仍存在偏差.滚动时域法则仅利用各决策点上的确定性信息,没有充分考虑到不确定性因素对计划构建的影响,而韩笑乐等[17]提出基于两阶段近似的动态决策框架能够充分利用未来不确定性场景来辅助评价当前决策优劣,提升调度计划应对未来不确定性因素的能力.

针对上述不足,本文分析了包括装配人员技能水平在内的质量因素对任务装配质量影响情况,建立飞机装配质量映射关系和预测模型;以此为基础,结合两阶段近似的动态决策框架,研究包括工件质量在内的不确定性因素对当前决策周期飞机装配调度计划构建的影响形式,建立基于不确定性场景的混合整数规划模型;最后,针对问题多阶段的特性,以禁忌搜索为框架构建多层循环迭代搜索算法进行求解.

1 问题描述及数学模型

1.1 问题描述

飞机装配涉及的零部件多种多样、数量庞大且工艺复杂,装配任务的完工质量是否能够达到规定标准除了与当前任务的待装配零部件质量、前序任务的完工质量有关以外,装配人员的技能水平也是影响质量的重要因素之一[13],因此,在本文的研究中,将装配人员技能水平l 作为影响任务质量的主要因素之一,使其与待装配零部件质量Qpart、前序任务完工质量Qpre一同决定各飞机装配任务的完工质量,并以此为基础对装配项目进行调度.

由于飞机装配周期较长,因此在实际的装配项目中,装配中心往往需要对供应链上的一系列因素,包括仓库的存储能力及费用、订货费用和订货次数等进行综合考量,制定合理的零部件采购计划,使得待装配零部件按照一定时间从供应商处分批次运送至装配中心进行加工制造,因此装配项目中各任务的待装配零部件质量状况通常无法在项目开始前全部知晓,而是随着装配项目的推进逐渐明确、又基于前文可知,待装配零部件质量Qpart是影响各装配任务完工质量的主要因素之一,因而装配项目中各任务的实际装配质量将随着待装配零部件质量的已知进而确定.

韩笑乐等[17]基于船舶调度背景提出的集装箱进出口码头泊位-堆场协同分配的动态决策问题与本文研究问题具有诸多共性:首先从目标来说,两者均是在特定背景下试图得到较优的调度结果;其次,两者均具备进行周期划分的条件,前者假设每一周期内部分船舶的确切到港时间可提前已知,后者则基于实际情况假设各装配任务的待装配零部件分批次到达,零部件到达后其质量情况才能够已知;然后在调度因素方面,前者需要对码头和堆场资源进行协同决策,后者则需要对装配任务的开始时间、包括装配人员在内的可更新资源进行联合分配;最后,后续不确定性场景均对两者的调度计划产生影响,对前者则影响整体调度计划中的船舶在港总时间,对后者则影响整体调度计划的项目工期.基于上述共性,参考韩笑乐等[17]提出的两阶段近似的动态决策框架,对本文研究问题进行抽象.

综合上述分析,本文在两阶段近似动态决策框架的基础上,将任务质量引入调度决策中,考虑后续不确定性场景对整体调度计划的影响,得到滚动时域框架下基于任务质量预测的飞机装配动态调度问题,该问题具体描述如下.

装配项目J 中包含n 个装配任务i∈J 和m 种资源k∈K;任务的工期为d,与任务的完工质量有关,将在后文中详述;单位时间内消耗各类资源量为r,每种资源任意时刻供给上限记为R;各任务之间存在时序关系,任务一旦开始就不允许中断.将整个装配过程分成多个阶段进行决策,同时装配任务可以根据其零部件质量状况Qpart在决策时间点处是否已知进行区分.对于在决策时间点处零部件质量未知的任务,其零部件质量状况存在多种不同情况,可表示为多个不确定性场景.如图1 所示,在飞机装配动态决策问题中,在任一决策点对任务进行调度时可分为两个阶段,第一阶段是对当前决策阶段中的各个任务进行安排,为固定性决策;第二阶段是对后续决策阶段的各个任务进行安排,为调整决策.由于后续决策阶段中存在多个不确定性场景,因此调整决策为临时的,仅用于辅助评估第一阶段的固定性决策.固定决策阶段和调整决策阶段分别针对不同的任务进行调度,在任一决策时间点,可将各任务分为A、B、C 3 类,对于不同类别的任务,将其归于上述不同的决策阶段.各类任务分类信息及其与不同决策阶段之间的关系如下:

1)已开始任务(A 类任务).对于该类任务,已知的确定参数包括:任务执行时间dA、装配人员需求rA、工件质量情况Qpart,A、任务开始时间xA和装配人员分配情况yA.该类任务无不确定参数,无需决策,仅需按照事先制定的计划完成剩余任务即可.

2)可在当前决策周期内开始执行的任务(B 类任务).已知的确定参数包括:装配人员需求情况rB和工件质量情况Qpart,B.可根据是否延迟到当前周期后执行而分为B0 类和B1 类任务.对于B0 类任务需进行第一阶段的固定性决策,包括为其分配具体的任务开始时间xB0和装配人员分配情况yB0,并通过装配质量映射关系间接确定其任务执行时间工期dB0.对于B1 类任务,由于其保留在下一周期再次决策的机会,因此进行第二阶段的调整性决策,具体决策过程与C 类任务相似.

3)在当前决策周期k 后开始执行的任务(C 类任务).已知的确定参数为装配人员需求情况rC,不确定参数为各场景下的工件质量情况.此时需要进行第二阶段各场景下的调整决策,包括与场景相关的任务开始时间xCm和装配人员分配情况.调整决策在决策点k+1 处仍有进一步调整的机会.

图1 飞机装配调度问题的逻辑架构Fig.1 Logic structure of dynamic scheduling problem of aircraft assembly

如前文所述,任意装配任务i 的完工质量由3个因素决定,分别为装配人员技能水平l、待装配零部件质量Qpart以及前序相关任务完工质量Qpre.其中,由于任务间的时序约束以及传递耦合效应,使得当前装配任务i 的装配质量受到前序相关任务的完工质量Qpre的影响,同时质量情况也通过任务时序网络进行传递,任务完工质量传递关系如图2 所示.为了提升算法搜索效率,对研究问题进行了简化,对于装配人员技能水平因素,当前装配任务i 所配备的装配人员集合中具备最高技能水平的装配人员对任务质量起主要作用,并将所配备的最高技能水平记为lmax.另外,在实际情况下,由于飞机装配质量的传递过程具有高度非线性,任务完工质量和影响质量状况的因素之间的具体关系通常不存在显式表达,在本文中,将通过SVR 机器学习模型结合上述3种影响因素对各任务完工质量进行预测,因此,任意任务的完工质量与3 种影响因素之间的映射关系表示为Q=f(lmax,Qpart,Qpre).

图2 任务完工质量传递关系图Fig.2 Job quality transfer diagram

装配任务的质量情况是本文研究问题中影响调度计划的不确定性因素,其对调度计划的影响在于装配质量的不合格会引起任务工期d 的变化,具体而言,若装配任务完工质量合格,则其实际工期仅为提前已知的正常执行工期,即d=dflxed;若装配任务完工质量不合格,为了保证其后续任务的质量,需要对当前质量不合格的装配任务进行返工,表现为在原本正常执行工期的基础上添加一段返工工期drework,此时,当前任务的实际工期为d=dflxed+drework.又基于上述任务完工质量Q 是由所配备的装配人员具有的最高技能水平lmax、待装配零部件质量状况Qpart和前序相关任务完工质量Qpre3 因素决定的,故任务实际工期d 与这3 种质量影响因素之间的关系可表示为d=F(lmax,Qpart,Qpre).

1.2 数学模型

参数:

其中目标函数(1)为最小化决策点时各场景下的项目工期期望值;约束(2)确保任一任务的开始时间不早于其前序任务的结束时间;约束(3)为资源约束;约束(4)代表任务开始后不允许中断;约束(5)限制任意装配人员在某时刻最多操作一个任务;由于飞机装配传递过程的高度非线性导致装配质量和影响其的3 个因素之间的具体关系未知,因此通过约束(6)(7)表示装配质量、任务实际工期与人员水平、工件质量及紧前任务质量间的映射关系,装配任务的完工质量将通过预测模型实现;约束(8)~(14)确保各类别任务在不同场景下决策的一致性;(15)~(17)代表了决策变量的取值范围.

2 算法描述

为适用飞机装配动态决策问题存在多阶段决策的情况,本文依据问题模型特点和决策逻辑,提出多层循环迭代搜索算法.算法主要思路为:结合装配任务历史质量数据,以装配质量相关参数为输入、装配质量为输出,构建飞机装配质量预测模型.以飞机装配质量预测模型为基础,构建多层循环迭代搜索算法.算法第一层基于任务列表的编码方式,以禁忌搜索算法为框架优化任务执行顺序;第二层通过设计装配人员分配列表的编码方式完成第一阶段固定性决策;第三层仍采用任务列表编码方式搜索第二阶段调整性决策,并通过计算各场景下的项目工期均值来评价整体决策的优劣性.具体步骤在2.1 节和2.2 节中详细阐述.

2.1 飞机装配质量预测模型

如第1 节中所描述,飞机装配质量受到包括装配人员分配情况、工件质量等多方面因素综合的影响,因此需要构建有效的预测模型来准确描述装配质量传递效应.考虑到飞机质量传递过程具有高度的非线性[18]以及支持向量回归(SVR)在非线性预测领域的适用性[19],本文采用支持向量回归(SVR)构建飞机装配质量预测模型.

基于前文分析,任务质量状况由该任务所配备装配人员具备的最高技能水平lmax、待装配零部件质量情况Qpart以及前序相关任务质量状况Qpre决定,因此将该3 种质量影响因素作为质量预测模型的输入,当前任务完工质量状况作为质量模型的输出构建质量预测模型样本,进而建立用于装配任务完工质量预测的SVR 支持向量回归模型.质量预测模型样本构成具体为:对于任意任务i,记样本为Si={(Xim,Yim)}(其中m=1,…,M 为编号索引).其中Xim为输入向量,lmax表示任务i 所分配装配人员的最高水平表示装配任务所需工件的公称要求、公差和实际误差{Δxj1,Δyj1,Δzj1,…,Δxjn,Δyjn,Δzjn}表示对当前任务具有最大影响的紧前任务j 在检测点1~n 上测量所得相对于名义坐标的偏差;Yim={Δxi1,Δyi1,Δzi1,…,Δxin,Δyin,Δzin}为输出向量,表示实际情况下任务i 以Xim为质量传递输入时在检测点1~n 上测量所得相对于名义坐标的偏差.

SVR 的基本原理为根据给定的训练数据集在高维特征空间中寻求一个最优超平面,使得所有样本点离超平面的总方差不大于预先给定的误差.此外,为适用飞机装配质量为多个输出值的情况,本文引入多输出回归,将原来的多输入多输出样本集合(Xim,Yim)拆分为3n 个多输入单输出的子样本集合(Xim,Δxi1),(Xim,Δyi1),…,(Xim,Δzin),通过SVR 模型对这些子样本集合的学习,分别得到各单一输出对应输入特征向量的3n 个超平面.最后通过测试样本对训练所得SVR 模型进行预测准确性的检测.飞机装配质量预测模型训练及预测过程可由图3表示.

2.2 多层循环迭代搜索算法

不同于以往飞机调度问题决策过程,以下两类特点使得本问题的决策难度显著提升:不同装配人员之间的水平分级使得本问题在保留以往飞机调度问题中所涉及的时间决策的基础上,进一步耦合了资源决策需求;于此同时,相较于单场景模型,基于场景的混合整数规划模型进一步扩大了各决策时间点上的决策规模.因此,本文采用多层循环迭代搜索算法在各决策时间点上构建装配计划.其中,鉴于禁忌搜索算法在邻域搜索及求解效率的优势,多层循环迭代搜索算法各层均采用禁忌搜索算法作为算法框架.具体而言,算法第一层(TS1)借鉴陆志强等[20]所采用的任务列表编码方式对任务执行顺序展开搜索;算法第二层(TS2)采用装配人员分配编码方式构建人员分配搜索模块,搜索可能的人员配置情形,并在此基础上通过串行调度算法区分B0、B1 和C 类任务;算法第三层(TS3)基于TS2任务区分的基础上,在各场景下搜索较优调度计划,计算调度计划的评价指标.多层循环迭代搜索算法框架如图4 所示.

图3 飞机装配质量预测模型训练和测试过程Fig.3 Training and testing process of prediction model of aircraft assembly quality

图4 多阶段循环迭代搜索算法流程图Fig.4 Flow chart of multi-level iterative search algorithm

2.2.1 TS1:基于任务列表编码禁忌搜索算法

任务列表编码用于算法第一层TS1中的任务执行顺序决策.任务列表编码包括A 类任务和B、C 类任务两类任务集合,图5(a)给出编码的示例.其中,每一编码位的数字代表任务编号,编码过程要求:1)虚拟开始任务和虚拟结束任务分别放入最开始的码位和最后的码位;2)后一码位中的任务与前一码位中的任务不能为直接或间接紧前关系;3)由于A 类船无需决策,因此A 类船置于列表中最高的优先级位置;4)B、C 类任务具有等效的优先程度,因此在任务列表中混编.初始任务列表由随机规则产生.

图5 任务列表编码及单项互换示例Fig.5 Example of activity list coding and single swap

TS1中禁忌搜索算法的邻域通过选取编码中两个B、C 类任务并对其进行单项互换操作来实现,其主要过程包括:从当前任务列表的B、C 类任务中随机选取两个不存在直接或间接紧前关系的任务,对两任务在列表中的位置进行互换.图5(b)给出单项互换操作的示例.TS1每一阶段的禁忌对象为通过TS2和TS3解码后评价指标最优的任务列表所对应的单项互换操作.设置禁忌搜索算法的最大循环次数为iter1,禁忌次数在上限和下限间随机生成.

2.2.2 TS2:基于人员分配编码禁忌搜索算法

不同的人员分配方案不仅会影响任务执行时间,同时也会间接的影响B0、B1 和C 类任务的划分情况.因此,本文设计人员分配编码用于人员分配方案的决策.初始人员分配编码通过最高人员水平(highest quality level,HQL)规则生成.采用HQL 规则时,待安排任务会被分配剩余装配人员集合中装配水平最高的人员.人员分配编码过程为:从待调整的任务集合中随机选取待调整任务组合(i,j),其中必须保证任务i、j 之间不存在紧前关系且两任务的开始和结束时间满足STi<STj<FTi或STj<STi<FTj(如图6(a)所示).

图6 资源冲突示例Fig.6 Example of resource conflict

邻域生成通过对待调整任务组合(i,j)间的装配人员交换操作实现,其中考虑到潜在的人员交换操作有很多,因此本文仅考虑任务组合(i,j)的最高水平装配人员M*交换操作,即TS2每一阶段的禁忌对象为通过TS3解码后最优评价指标所对应的人员交换操作.设置禁忌搜索算法的最大循环次数为iter2,禁忌次数在上限和下限间随机生成.

2.2.3 TS3:基于任务列表编码评价目标生成算法

评价目标的生成算法同样采用任务列表为编码方式,使用HQL 规则生成人员分配方案.在由TS1所构建的任务列表和TS2所构建的人员分配列表生成最终评价目标时,基于任务列表编码评价目标生成算法首先对在各场景ω 下由B1 和C 类船构成的部分列表进行单项互换操作,然后采用基于HQL 规则的串行调度算法求解该场景下的较优项目工期,最后通过求解所有场景下的项目工期期望来获得评价目标.

TS3中单项互换操作与TS1中类似,各场景ω 下的禁忌对象为上一步移动的互换操作.设置禁忌搜索算法的最大循环次数为iter3,禁忌次数在上限和下限间随机生成.

3 数值实验

3.1 测试环境

为验证所提决策框架的有效性,以某型号支线客机前机身、后机身和机身尾轴装配工位的部分装配流程和历史装配数据构建实验算例.上述装配流程所包含装配任务数量分别为21、32 和42 项,所构建算例分别记为C21、C32 和C42.装配过程所涉及装配人员的技能水平可划分为高级、中级和初级3种.上述质量预测模型和各对比算法均通过python3.7 编程实现,数值实验在Internet Core i7 处理器,3.4 GHz 主频,16 G 内存的计算平台上进行.

3.2 飞机装配质量预测模型效果验证

从上述C21、C32 和C42 3 类算例中选取装配任务的历史装配质量信息构建预测模型训练样本和测试样本,并通过交叉验证法对比装配质量预测值与实际值间的偏差,以验证飞机装配质量预测模型的准确性.模型训练过程为每一道任务(除去虚拟任务)生成M=1 000 组训练样本Si={(Xim,Yim)|∀i∈I,m=1,2,…,M},并按照图2 中的步骤训练SVR 模型.选取5 折为交叉验证法折数.此外,为进一步说明SVR 预测的适应性,将SVR 与BP 神经网络[21]预测准确率进行对比.

预测准确率均值如表1 所示.在所有算例中,SVR 在任意技能水平所对应装配质量预测准确率经交叉验证后可以达到95%以上,远优于BP 神经网络的预测准确率.可以看出,本文所构建的飞机装配质量预测模型能够比较准确地根据质量输入信息对任务装配质量进行预测.

表1 预测模型准确率Tab.1 Accuracy of prediction models%

3.3 多层循环迭代搜索算法效果验证

为了验证周期性决策框架的适用性以及多层循环迭代搜索算法(记为TSM)的有效性,本文采用预设的质量分布参数构建实际工件质量场景,并提出另外3 种调度计划生成算法作为对照,对比各调度计划生成算法所建调度计划应对随机扰动的能力.设多层循环迭代搜索算法的决策周期跨度p=10.其他3 种调度计划生成算法均采用非动态决策框架,即在决策初期为所有任务构建模板调度计划,且在实际装配过程中不进行更改.各算法具体构建方式如下.

CPLEX-RANDOM:首先在不考虑任务返工的情况下通过CPLEX 软件求解各算例,在保留CPLEX软件所得最优模板计划的任务执行顺序的基础上,为装配任务随机安排装配人员,并通过飞机装配质量预测模型重新确定任务执行时间.

CPLEX-TS:在CPLEX-RANDOM 基础上,通过增加基于人员分配编码禁忌搜索算法(TS2)优化人员配置.

TSD:双层循环迭代算法,其中上层采用基于任务列表编码禁忌搜索算法(TS1),下层在基于人员分配编码禁忌搜索算法(TS2)的基础上进行改编,即通过串行调度算法构建模板调度计划.

本文为C21、C32、C42 3 个算例各生成c=5组实验,每组实验随机扰动次数设为50 次.在构建工件质量场景时,每组实验中任务i 的工件质量服从正态分布N(ETAsi,σsi|∀s,∀i).在评价模板调度计划应对随机扰动的能力时,本文采用右移算法(Right Shift)修复随机扰动对模板计划产生的影响.右移算法作为常见的修复规则,其在保留原有任务执行顺序的同时将受影响任务的开始时间依次顺延.采用右移算法时采取的评价指标包含项目实际工期和任务开始时间偏差.其中,任务开始时间偏差表示为所有任务实际开始时间STi与模板计划开始时间的偏差绝对值之和:

3.3.1 实验1:工件质量预测值与实际值一致的情况

在该实验中,考虑工件质量的预测值与实际值一致的情况,即决策初期预估的工件质量分布在项目执行过程中不发生改变.各算法在随机环境下右移算法所得结果如表2 所示.其中Em表示右移算法所得项目实际工期;Ed表示右移算法所得任务开始时间偏差.

表2 右移算法结果Tab.2 Results of right shift algorithm

由表2 可以看出,在项目实际工期方面,TSD 经右移算法所得平均实际执行工期依次优于CPLEXTS 和CPLEX-RANDOM,其原因包含两方面:首先,基于人员分配编码禁忌搜索算法(TS2)能够实现人员分配的优化,从而减少任务因人员分配不合理而导致返工的情况发生;其次,通过基于任务列表编码禁忌搜索算法(TS1)对任务执行顺序实现优化,从而进一步降低任务延期对实际项目工期的影响.此外,多层循环迭代搜索算法所得平均实际执行工期优于CPLEX-TS 而较劣于TSD,其主要原因在于TSD 为单次决策,即在决策点为所有任务构建的邻域,其搜索范围要大于多层循环迭代搜索算法.

在偏差方面,多层循环迭代搜索算法求得的计划能够取得最优或较优的任务开始时间偏差值.在多数情况下,CPLEX-RANDOM 虽然能够取得最优任务开始时间偏差值,但这一结果是CPLEXRANDOM 牺牲项目工期评价指标而为任务设置大量时间缓冲所致.多层循环迭代搜索算法所得平均最优计划偏差值虽劣于CPLEX-RANDOM,但该算法能兼顾模板调度计划在项目实际工期和任务开始时间偏差的综合表现.在3 种规模算例下,多层循环迭代搜索算法所得项目实际工期和任务开始时间偏差均优于CPLEX-TS.

3.3.2 实验2:工件质量预测值与实际值不一致的情况

在该实验中,考虑工件质量的预测值与实际值不一致的情况,即在项目执行过程中工件质量分布N2(ETAsi,σsi)与决策初期预估的工件质量分布N1(ETAsi,σsi)不同.在此情形下各算法所得结果如表3 所示.

由表3 可以看出,在工件质量的预测值与实际值不一致的情况下,各算法所得项目实际工期和任务开始时间偏差与实验1 中具有相同的规律:TSD能够取得最优的平均项目实际工期,多层循环迭代搜索算法次之,而CPLEX-RANDOM 所得平均项目实际工期最劣;在任务开始时间偏差方面,多层循环迭代搜索算法依旧能够取得较优的表现,而TSD 所得平均任务开始时间偏差最劣.然而,比较表2 和表3,能够发现各算法虽然在项目实际工期方面变化不大(均值保持在1 以内),但不同算法在任务开始时间偏差方面的变化情况不同,因此需要进一步分析.

表3 右移算法结果Tab.3 Results of right shift algorithm

图7 给出各算法分别在工件质量预测值与实际值一致与不一致情况下,任务开始时间偏差的变化情况(即表2 和表3 中Em和Ed的差值).能够发现,在所有规模算例下,CPLEX-RANDOM、CPLEX-TS和多层循环迭代搜索算法在任务开始时间偏差变化均较小,能够保持在2 以下,而TSD 的任务开始时间偏差变化在C21 和C32 算例中均为最大,且3 个算例中均超多层循环迭代搜索算法.上述情况的主要原因在于:CPLEX-RANDOM 和CPLEX-TS 在构建模板计划时为任务设置大量时间缓冲,因此其模板计划鲁棒性较大,但也导致平均项目工期增大;TSD以工件质量的预测值构建模板计划,因此在工件质量的实际值与预测值不一致的情况下,其任务开始时间偏差的变化较大;多层循环迭代搜索算法利用两阶段近似动态决策框架的优势,在每一决策周期保留了调整模板计划的机会,且基于场景的决策目标也使得计划的调整以不确定性信息的变化情况为依据.

图7 任务开始时间偏差的变化情况Fig.7 Changes in the deviation of activity start time

4 结论

1)本文以飞机装配质量映射关系和预测模型为基础,研究包括工件质量在内的不确定性因素对飞机装配调度计划构建的影响形式,建立飞机装配过程的两阶段近似动态调度模型.其中动态调度模型以基于不确定性场景的项目工期期望为优化目标.

2)针对该问题耦合了时间决策与资源决策,且因涉及不确定性场景而导致搜索规模增大的情况,提出了多阶段循环迭代搜索算法.算法第一层对任务列表进行搜索,以获得较优的任务执行顺序;算法第二层基于人员分配编码对人员分配方案进行搜索,实现人员配置的优化;算法第三层通过搜索剩余任务所组成的任务列表,确保评价指标的有效性.

3)数值实验结果表明多阶段循环迭代搜索算法在不确定性环境中具有良好的求解性能,同时能够有效应对不确定性因素在飞机装配过程中的变化,验证了该算法的有效性和可行性.

4)未来可以进一步研究设备状态、设备维护计划与飞机动态调度计划的相互影响情况.

猜你喜欢
搜索算法工期调度
一种基于分层前探回溯搜索算法的合环回路拓扑分析方法
改进的非结构化对等网络动态搜索算法
改进的和声搜索算法求解凸二次规划及线性规划
工期延误的责任划分及处理方法研究
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
电力调度自动化中UPS电源的应用探讨
基于强化学习的时间触发通信调度方法
基于动态窗口的虚拟信道通用调度算法
基于莱维飞行的乌鸦搜索算法
建筑项目管理过程中的工期控制