詹 敏,王 铮,赵燕伟,任设东,汪 磊
(1.浙江工业大学 机械工程学院,浙江 杭州 310023;2.浙大城市学院 计算机与计算科学学院,浙江 杭州 310015;3.浙江工业大学 计算机科学与技术学院,浙江 杭州 310023)
在产品开发过程中,需求变更、设计错误等多种原因都可能导致设计变更[1]。由于产品各零部件之间复杂关联关系的存在,任何一个设计变更都可能影响其他零部件,最终在零部件关联网络中广泛传播[2]。因此,设计变更通常会对产品开发的时间、成本造成不可预测的影响。
为了找出对产品设计影响最小的变更传播路径,更好地响应设计变更请求,国内外学者展开了大量研究。何睿等[3]具体分析了水波式传播、开花式传播与雪崩式传播3种变更传播类型的特点;FU 等[4]基于设计结构矩阵(Design Structure Matrix, DSM)构建了概率模型,以评估产品各组件的变更传播潜在风险;KOH等[5]结合质量屋和变更预测方法对复杂产品进行建模,用各变更选项对产品要求的满足程度来衡量潜在的变更传播影响;宫中伟等[6]利用信息论和统计学原理提出基于经验和历史数据的变更传播路径预测方法;Li 等[7]基于设计任务构建变更传播模型,将变更传播的仿真与优化算法相结合,提出一种在复杂产品开发过程中进行设计变更调度的集成方法;郭于明[8]基于小世界网络提出一种设计变更传播风险预测方法,并阐述了设计变更传播最大风险优化机理;李从东等[9]基于“功能-行为-结构”模型和多重网络理论建立了变更传播模型,并采用改进遗传算法进行求解;杨帆等[10-11]基于产品特性关联网络建立变更传播模型,并提出由变更影响传播路径搜索算法、变更路由路径搜索算法、可行路径方案评价和优选算法3部分组成的路径搜索方法;郑玉洁等[12]采用特性关联网络描述复杂产品设计结构,认为变更对上、下游特性的影响分别具有随主观变动和客观确定的特点,并设计了一套集成上游影响特性动态优化和下游影响特性动态搜索的变更传播路径动态优化方法;陈宗衡等[13]基于零部件构建网络模型,针对单变更传播路径搜索方法面向多变更的不适用问题,提出多变更传播路径并行搜索方法;REN等[14]针对多源设计变更问题,基于多层复杂网络模型和遗传算法提出一种设计变更路径优化方法;王秋月等[15]运用复杂网络对产品可配置单元进行表达,提出一种面向需求变更的复杂产品配置更新路径优选方法。
综上所述,国内外学者在变更传播路径优化方面已取得一定的研究成果,但仍存在一些不足。一方面,变更影响评估指标大多基于节点度、长链连接等网络模型的统计特征或变更传播概率构建。网络模型的统计特征仅能反映参数在网络中的统计特性对变更的影响,而忽略了参数本身的重要性和节点当前所处的状态对变更的影响;而变更传播概率依赖于专家经验或历史数据库,无法保证评估结果的准确性,且历史数据库构建难度大。另一方面,当前研究中,在变更传播优化算法方面主要采用广度优先等穷举类算法或蚁群算法等启发式算法。穷举类算法可以找到精确的最优解,但随着问题规模的增加无法避免“组合爆炸”现象的出现;启发式算法提高了搜索效率,但无法保证得到可行解和最优解。鉴于此,本文提出基于参数基元网络的变更传播路径优化方法。首先,基于可拓基元理论构建产品参数基元网络模型;其次,以敏度、设计裕度和成本系数为评估指标实现变更传播代价评估,通过可拓关联函数计算用户需求满意度,并应用于耦合节点变更影响评估。基于上述变更传播评估模型,设计时序差分求解算法,获取最优变更传播策略和最小累计代价的变更传播路径。最后,以汽车离合器的变更设计为例,建立相应的变更传播评估模型,生成最优变更传播方案,并通过对比分析,验证了本文方法的可行性和有效性。
在变更传播分析过程中,除了对参数关联网络的结构进行分析外,关联网络节点自身的属性也需要被充分考虑。每个节点的变更造成的变更影响不一样,这不仅受其在网络中关联特性的影响,还取决于节点本身的重要性和节点当前所处的状态,如当前取值在允许取值区间内所处的位置等。因此,本文引入可拓基元理论将参数关联网络中的参数节点和关联关系拓展到包含完整特征属性的参数基元和关系基元,为后续变更传播影响评估指标的构建提供基础。
设计过程中参数发挥作用的方式可分为两种:①设计人员可以直接修改的,并且通过其修改操作可以控制其他参数向指定方向变化的决策参数;②用以指示产品工作特性的参数,在设计任务中通常作为设计目标存在,称为目标参数。需要指出的是,目标参数和决策参数并不是绝对的,同一个参数在不同的设计任务中可能具有不同的身份,如在设计任务A中为决策参数,而在任务B中为目标参数。
根据参数之间约束方式的不同,可将参数关联关系划分为纵向关联关系和横向关联关系两类。在产品设计过程中存在如下情况:设计任务A为设计任务B的上游任务,任务B的设计需求取决于任务A的设计结果。纵向关联关系即由这种设计任务之间的逻辑关系衍生而来,通常为上游参数对下游参数的单方面约束,一般由物理规律决定;横向关联关系则主要指参数间的相互约束关系,一般由设计人员根据设计目标所配置。纵向关联关系通常由一个目标参数和多个决策参数构成,其中目标参数的值由其各个决策参数根据关联规则共同决定。假设纵向关联关系中决策参数分别为x1,x2, …,xn,目标参数为y,则纵向关联关系可表示为y=f(x1,x2, …,xn),即目标参数y与各决策参数xi之间形成“一对多”的函数关系,如图1a 所示。当决策参数发生变更时,会根据关联规则影响目标参数,但不会影响同一目标参数下其他决策参数。当目标参数要发生变更时,设计人员不能直接对其进行修改,而是应该通过对其决策参数进行修改间接实现。由于决策参数之间存在相互独立的性质,对同一目标参数进行修改可能会有多个可行方案,这也为变更传播提供了可优化的空间。横向关联关系主要是为了满足产品组件之间接口的配合关系,包括功能上的互相匹配、装配关系上的互相配合等,由设计人员人为规定,由具有关联关系的多个参数以及其关联规则构成,其中各个参数可以相互影响。假设横向关联关系中各参数为x1,x2, …,xm,则横向关联关系可表示为φ(x1,x2, …,xm)≥Δ,如图1b所示。例如对于横向关联关系“x1应不小于x2”可表示为φ(x1,x2)≥0,则其中φ(x1,x2)=x1-x2.
多个纵向链接组构成纵向关联网络,每一个链接组由一个父参数和一个或多个子参数构成,参数变更沿着纵向关联关系在关联网络中跨层传播时称为纵向传播。当其中一个子参数发生变更时,必将导致父参数的变更,变更方式和变更量可由关联关系确定。根据关联特性,一个参数可能会有多个父参数,此时所有父参数都将发生相应的变更,其传播路径是固定不变的。当父参数发生变更时,也必将传播到子参数,而传播路径可选择任意一个子参数。同样,子参数的变更方式和变更量均可由关联关系式明确得知。横向关联关系为多个参数相互关联,其内部可能存在多种组合方式,可以是一个参数与多个参数分别关联也可以是多个参数两两相关。参数变更沿着横向关联关系在网络中同层传播时称为横向传播。
在可拓学[16]中,为了形式化地描述物、事和关系,建立了物元、事元和关系元,它们构成了可拓学的逻辑细胞,统称为基元。定性与定量相结合的可拓模型为问题提供了便于计算机处理的表达方式。因此,本文采用可拓物元模型对变更传播网络节点进行表示,采用可拓关系元表示参数与参数之间的关联关系。参数节点可表示为:
(1)
参数基元主要由编号id、参数当前取值va、允许取值范围X、单位变更量vu、成本系数E以及可变更性vb构成。在产品设计时,设计参数的取值会被设定一个允许取值范围。各参数的量纲、变化范围可能存在较大差异,定义单位变更量表示变更基数,为这些参数提供比较的基础,进而计算变量成本。成本系数用以计算变更成本,在变更传播指标中将进行介绍。在一些特殊情况下,某些参数可能会被禁止变更,例如已经变更的参数可能会引起需求参数的变更。当需求参数的变更需要被消解时,其变更传播可能再次经过之前已经变更的决策参数,但此时该参数不应该再次变更,否则将违背初始变更的目的。
参数之间关联关系则采用关系基元进行表示,如式(2)所示:
(2)
式中:MPi和MPj表示分别位于关联关系两端的参数基元;F为关联关系表达式。
在一个产品设计项目中,设计人员所需要完成的所有任务称为设计任务[17]。为了明确开发计划,通常需逐步分解总的设计任务。设计任务包含输入参数和输出参数,输入参数即设计需求,属于目标参数;输出参数即需要设计人员根据设计知识确定的参数,属于决策参数。各级设计任务之间往往存在依赖关系,即下级设计任务的输入参数通常为上级设计任务的输出参数。参数之间的关联关系则是各级设计任务之间依赖关系的具体化。参数基元网络模型以产品设计任务划分为依据,具体构建步骤如下:
(1) 对产品设计任务进行分解,得到产品设计任务分解模型,如图2a所示。
(2) 对各层级设计任务进行深入分析,确定其设计需求和设计目标,并用可拓基元进行表示。以汽车离合器设计中踏板工作行程设计任务为例,其设计需求为给定的踏板工作行程,踏板工作行程由压盘升程和总传动比共同决定,故设计目标即为确定压盘升程和总传动比。踏板工作行程MS2,压盘升程MS,总传动比MiΣ的基元表示如下:
(3)
(3)
(3) 根据设计任务之间的依赖关系确定各参数之间的关联关系,并表示为基元形式。同样,以汽车离合器设计中踏板工作行程为例,踏板工作行程MS2与压盘升程MS的关联关系基元表示为:
(4)
(4) 根据纵向关联关系对参数进行层级划分,根据横向关联关系构建同层参数关联网络,进而构建产品参数关联网络,如图2d所示。
用户对产品提出的需求通常是指示产品总体性能的一组参数,例如汽车离合器的单位面积摩擦功、转矩容量、踏板力等,本文将这样一组参数称为需求参数,对应在参数基元网络模型中的节点即为需求节点,需求节点也通常作为最顶层节点。当出现变更需求时,意味着需求节点中出现了不满足用户需求的节点,即该节点当前取值与用户需求存在冲突,本文将该节点定义为冲突节点,变更传播优化过程即为对冲突节点及其相关节点进行更改,使其满足需求的过程。若某一节点与其他节点之间存在横向关联关系或有多个父节点,则称其为耦合节点。变更节点即变更传播过程中的当前变更节点。
为找到最优的变更传播方案,有必要建立一套有效的变更传播评估方法。本文采用变更代价作为主要评价指标,需要指出的是本文中的变更成本是指变更实施过程中需要付出的时间、资源等成本,而变更代价是指包含变更成本、收益、风险等因素在内的综合评价指标。具体到每个参数节点,其变更代价又包含其自身的变更代价和后续变更代价,本章仅介绍节点自身变更代价评估方法,对于其后续变更代价,在优化过程中采用递归方式进行直接计算。
本文通过计算变更传播代价来衡量变更传播造成的影响,而变更代价由变更成本和变更风险构成。其中变更成本是指变更实施过程中需要付出的时间、资源等成本,受参数重要度和变更量影响。不同参数具有不同重要度,在变更量等其他因素相同的情况下对重要参数进行变更会造成更大的影响,即不同参数在单位变更量下变更成本不同,因此定义成本系数E来衡量参数重要度。在成本系数相同的情况下,变更量越大,则变更成本越大,因此定义敏度SD来计算变更量。敏度SD是关联关系的线性近似,代表关联两参数之间的比例关系。而变更风险则表示当前变更导致后续变更影响逐步扩大造成雪崩式变更传播或变更失败的风险。参数当前值越靠近参数允许取值范围的边缘,即设计裕度DM越小,变更后参数取值超出允许取值范围的可能性就越大,进而造成的变更影响更大。因此,本文综合考虑敏度SD、设计裕度DM和成本系数E三个因素以衡量变更传播影响。
(1) 敏度SD
将节点间的关联关系进行线性化处理,并用敏度SD近似表示,以简化变更量计算过程。敏度SD用以衡量各个决策参数对目标参数的贡献度。假设a,b为具有纵向关联关系的两个设计参数,则b可以近似看作与an成比例关系。a和b变化的比例关系可以表示为[18]:
(5)
式(5)表示当a发生r% 的变更量,则b会随之变更nr%。式中n表示参数a和b的定量关联关系。根据式(5)可以定义敏度SD,用以估算xi和y之间的定量关联关系,敏度SD定义如下:
(6)
(2) 设计裕度DM
设计裕度DM用来衡量参数本身对变更的包容度。在对参数实施变更时,设计人员需要考虑变更后其值是否会超出允许取值范围,当参数当前值靠近参数允许取值范围的边缘时,变更风险较大;而当参数当前值远离参数允许取值范围边缘时,对变更的兼容性则较高。设计裕度DM定义如下:
(7)
(8)
其中:ρ表示参数取值偏离理想取值的程度;vmax,vmin分别为区间X的上、下界。
(3) 成本系数E
由于不同的设计参数量纲不同,为便于比较,定义成本系数E表示参数发生单位变更量变更的成本,则变更成本可表示为:
(9)
式中vm为当前节点变更量。
成本系数E可采用层次分析法[19]获取,关于变更成本的准确评估方法可参考郑晓晨[20]和王祯[21]等研究成果。在变更成本指标体系和量化方法上,以上学者已经进行了较为深入的研究。至此,参数节点变更代价C可通过综合上述3项指标进行量化计算:
(10)
式中v′m为上一级节点的变更量。
若某一节点与其他节点之间存在横向关联关系或有多个父节点,则称其为耦合节点。从用户需求转化而来的,同时也是直接影响用户满意度的参数节点称为需求节点。耦合节点变更影响是指由于横向关联关系和多父节点的存在造成的初始变更节点以外的需求节点变更,通过计算满意度进行评估。客户对产品最初的要求通常可以表示为对各需求节点的区间约束,满意度即等价于需求节点对相应区间的隶属度。可拓关联函数[22]可准确地衡量变量对区间的隶属度,本文采用可拓关联函数对单个节点的用户满意度进行评估计算,关联函数定义如下:
(11)
其中:ρ(x,x0,X),ρ(x,x0,X0)分别表示点x与区间X,X0关于x0的侧距;D(x,X0,X)表示点x对区间X关于x0的位值;x0表示最优点;X0为标准正域,即需求节点的满意区间;X为正域,即需求节点的可接受范围。
分别计算各需求节点的变更前用户满意度、变更后用户满意度以及最优点处的用户满意度值后,可以通过计算整体用户满意度变化比例得到耦合节点变更影响,具体计算公式如下:
(12)
变更需求产生的原因是某些产品参数不能满足用户需求,这些参数节点称为冲突节点,而变更传播优化过程即对冲突节点及其相关节点的更改,使其满足需求。根据所构建的参数基元网络的特性,本文提出如图3所示的基于强化学习中时序差分(Temporal-Difference Learning, TD)算法[23]的变更传播路径优化方法。强化学习包括环境、策略、收益信号、价值函数等要素[24],具体到本文中,参数基元网络作为环境,根据2.1节中节点变更代价计算方法构建收益信号,将来累计总收益的期望即为价值函数,策略则采用ε-greedy探索策略。变更传播优化过程可概括为智能体在与参数基元网络模型交互过程中,以最小化长期总变更代价为目标,通过价值函数不断迭代,进而找到最优变更方案的过程。基于TD的变更传播优化方法具体步骤如下:
(1) 初始化冲突节点列表,给定初始变更节点和变更量,并将初始变更节点放入冲突节点列表。
(2) 根据第2.1节中方法对变更节点各子节点变更代价进行评估,根据评估结果选择子节点传播至下一级。变更量vm计算。如下:
(13)
(3) 根据变更代价和式(14)计算动作的收益,进而根据式(15)更新上一节点变更收益值。
(14)
qs,a=qs,a+lr·(r+γ·qs_,a_-qs,a)。
(15)
其中:r表示收益;lr表示学习率;γ表示折扣率;qs,a表示节点s下动作a的价值;r+γ·qs_,a_表示价值的实际值;qs,a表示价值的估计值。
(4) 若仍然存在下一级子节点,则重复步骤(2)和步骤(3),直至变更传播至网络底层。
(5) 根据变更传播路径和参数基元网络结构,列出所有耦合节点。耦合节点对应需求节点变更量计算方法如式(16)所示。得到需求节点变更量后根据2.2节中方法对变更过程中造成的用户满意度变化进行评估,确定是否需要进行冲突消解,若需要则将对应需求节点列入冲突节点列表。分别处理完所有耦合节点后,若冲突节点列表为空,则此轮变更传播无需冲突消解,变更传播结束;若冲突节点列表不为空,则转入步骤(2)对冲突节点列表中各节点分别其进行反向变更。
(16)
式中:vm,r为对应需求节点变更量;vm为当前耦合节点变更量;SDi为耦合节点至需求节点路径中第i组关联关系的敏度;n为耦合节点至需求节点的路径长度。
(6) 判断是否达到终止条件。理论上来说时序差分方法需要经过无数轮迭代才能精确地收敛,而实践中往往设定一个阈值作为中止条件,即当参数基元网络中各节点变更收益值改变很小时,就认为获得了最优策略也即达到了终止条件。若达到终止条件则根据最优策略输出最终变更方案,否则转步骤(1)。
离合器是安装在发动机和变速器之间的一个独立组件,各个组成部分紧密配合,任何局部变更都可能导致大规模的变更传播。因此,变更实施前进行变更传播路径优化是十分必要的。本文以常见的膜片弹簧离合器为例,验证所提出的变更传播路径优化方法的有效性。
参数基元网络模型是进行变更传播优化的前提,在1.3节中已经介绍过参数基元网络模型的构建方法和步骤,最终建立离合器参数关联网络模型如图4所示。
表1和表2列出了用于参数变更传播所必要的数据。数据来源于对相关文献的知识提取[25-29]。
表1 参数节点数据
表2 需求参数节点数据
假设在离合器设计过程中客户对离合器踏板力提出新的需求,要求踏板力Ff由原来的132 N变更为120 N,由此引发变更传播。将1.3节所建立的基元网络模型、起始变更基元踏板力MFf以及变更量带入变更传播优化算法,得出结果如图6所示。图6中虚线箭头所示路径为根据最优策略输出的最终变更传播方案。踏板力MFf的变更目标通过总传动比MiΣ实现,根据两节点的关联关系计算可得,总传动比iΣ由35变更为iΣ=F/(Ffη)=3 724/(120×0.8)=38.79。 同时,这将导致踏板工作行程由105 mm变更为S2=S·iΣ=3×38.79=116.37 mm,进一步导致踏板总行程由133 mm变更为SΣ=S1+S2=28+116.37=144.37 mm,造成产品满意度下降,根据2.2节介绍方法可计算满意度下降比例为7.74%。因此,需对踏板总行程MSΣ进行反向的主动变更,以消除消极影响,即踏板自由行程由28 mm变更为S1=SΣ-S2=133-116.37=16.63 mm。
为了体现本文所提方法的优势,引入文献[30]方法与本文方法进行对比。文献[30]基于设计特性和小世界网络提出一种设计变更分析模型(Design Change Analysis Model,DCAM),分别用小世界网络的节点和节点之间的箭头表示设计特性和特性之间的关联关系。在DCAM中通过变更传播强度(Change Propagation Intensity,CPI)评估变更传播影响,而CPI通过变更传播概率、节点度、长链连接以及设计余量4个指标定义。根据该文献方法构建汽车离合器DCAM如图7所示,节点之间箭头上的数字为CPI计算结果。
初始变更节点和变更量同样设置为踏板力Ff由132 N变更为120 N,采用文献[30]中方法分析可得可行的变更传播路径如表3所示,路径方案右侧为其对应的CPI累积计算结果。由表3可知,所有方案中累积CPI值最小的为方案1,故最终方案为方案1。
表3 可行的变更传播路径
最终得出的方案与本文方法得出的结果存在差异,究其原因可能存在两方面因素:一方面,文献[30]采用CPI评估设计变更传播影响,其计算公式如式(17)所示。当仅考虑变更后设计参数当前值在参数允许取值区间所处不同位置对CPI或变更传播代价的影响时,其变化趋势分别如图8和图9所示(以允许取值区间为[-5, 5]为例)。对比两图可以看出,当节点变更量大于其设计余量,即变更超出参数允许取值区间时,CPI通过变更传播概率、节点度等进行计算,而当节点的取值位于允许取值区间内时,CPI统一等于0,变更传播被节点吸收从而结束。而本文认为变更量不超过设计余量,只能说明其对当前节点本身的影响较小,其变更仍然有可能导致后续节点产生较大变化。具体到案例中,方案1变更传播到弹簧形变量λ时,变更情况为从1.56 mm变更为1.42 mm,确实未超出允许的最小值0.26 mm, 但其变更将导致压紧弹簧工作压力F由3 724 N变更为F=λhE=1.42×2.15×1 110=3 388.8 N, 进而导致需求参数转矩容量Tc由1 582 N·m变更为Tc=fFZRc=0.25×3 388.8×2×0.85=1 440.25 N·m, 因此,方案1中CPI的计算还应加上0.808,代表对转矩容量Tc造成的变更影响。
(17)
另一方面,文献[30]未考虑需求节点变更后可能导致的用户满意度下降,此时需要对其进行主动的反向变更,本文将这部分仍然作为变更传播路径的一部分。由于转矩容量Tc由3 724 N·m变更为3 388.8 N·m, 将导致用户满意度下降5.40%. 因此,最终方案1的完整变更传播路径应为如图10所示,重新计算累积CPI值为1.795。
此外,在变更传播路径搜索效率方面,本文采用基于时序差分的强化学习算法,找到最优方案的时间与状态和动作的数量呈多项式关系。本文中状态和动作均由参数基元网络节点决定,假设状态和动作的数量分别为n和k,则算法需要的计算操作的数量少于n与k的某个多项式函数。并且算法每一次变更传播优化都是一个迭代计算过程,是在前一个策略的价值函数的基础上进行进一步优化的,这意味着经过一定的探索和学习过程后,其策略改进的收敛速度将大大提高,这一点可以通过实验进行验证。如图11和图12所示为变更传播优化收敛趋势图,纵轴表示每一幕所得出的路径方案总的变更传播代价,横轴表示迭代次数。其中,图11是首次变更传播的收敛趋势图,图12是对与图11相同的节点进行变更,但变更方式和变更量不同时,优化算法的收敛趋势。可以看出,经过一定的探索和学习过程后,当相同节点再次进行变更时,即使变更量与之前不同也能快速搜索得到最优方案。
本文基于可拓基元理论构建产品参数基元网络模型取代传统的模块或零部件关联网络模型,提高了网络节点信息表示的完整性和逻辑性,为更加准确、客观地变更传播影响评估和路径优化提供了基础。将变更传播影响分为节点变更代价和耦合节点变更影响,分别采用基于敏度、设计裕度、成本系数的节点变更代价评估方法和基于关联函数的满意度衡量方法进行计算,提高了变更影响评估的客观性和准确性。提出基于时序差分方法的变更传播优化算法,为变更传播的智能化管理与优化提供了一种新的思路。
本文所提方法还存在一些不足之处。首先,本文方法优化结果的优劣高度依赖各参数节点变更量的准确计算,然而参数节点之间的关联关系复杂多样甚至可能出现模糊关联的情况,这给变更量的计算造成了较大的阻碍。其次,实际变更传播过程中可能存在多个子参数组合起来同时变更以满足父参数变更需求的情况,对此本文采取的是一种间接的处理方式。不管存在多少可选择的参数都首先只选择一个进行变更,其他参数在反向变更时再变更。从结果上来看也实现了多参数更改,但这种方式与变更前综合考虑直接实现的同时变更多个参数存在着本质的区别,无法确保得到最优方案。本文案例仅作为对所提方法有效性的一个验证性试验,对汽车离合器模型作了一定的简化,实际应用中还需要更为详细的分析。对于本文方法在更复杂场景下的表现有待进一步验证。下一阶段的研究工作将围绕这几点展开。