《1 引言》
1 引言
复杂产品的协同设计体现在不同领域专家知识的综合, 协同设计的任务是协调各部件开发与总产品之间的关系。协同设计产品开发的本质是过程重构。在实施协同设计时, 必须先对现有的产品开发流程进行深入分析, 找到影响产品开发进展的根本原因, 重新构造一个能为相关各方接受的新模式。
多领域的协同设计主要强调产品开发过程中的物理、功能、信息、资源、组织、过程和决策等方面的协调, 对于设计中的过程重构, 目前采用的建模技术和解决方法有:
1) 美国弗吉尼亚大学的CERC采用了一种形式化方法
2) Eppinger等人利用结构化建模方法来划分设计活动、规划设计过程
3) 清华大学CIMS中心提出的一系列的产品开发过程集成多视图建模方法, 包括DFD, SADT, IDEF, CIMFlow系统, T/L模型和IEM方法等
“设计结构矩阵” (design structure matrices, DSM) 方法最初由Steward提出
笔者在分析设计结构矩阵信息交互的基础上, 利用图论中的强连通分支算法确定耦合子集, 将DSM模块化, 在此基础上对DSM中的设计模块进行聚类、撕裂, 完成DSM的过程重构, 实现复杂产品协同设计开发过程的优化重组, 并通过实例说明该方法的实用性。
《2 设计结构矩阵方法》
2 设计结构矩阵方法
《2.1设计结构矩阵的概念》
2.1设计结构矩阵的概念
设计结构矩阵 (DSM) 是以矩阵的形式对产品开发过程建模, 进行并行协同产品设计规划, 设计中的各种活动及其相互关系都用矩阵中元素的值相映射
《2.2设计结构矩阵的分析》
2.2设计结构矩阵的分析
设计结构矩阵为理解和分析产品设计开发过程提供了一种简洁而直观的形式。分析DSM方法, 可以得出DSM具有以下丰富的内涵:
1) A1, A2, …, An表示与产品相关的设计任务及其顺序。
2) 矩阵中的元素“1”表示任务之间的信息交流及其方向。如在某设计行为对应的行与某一活动有信息反馈, 则将其标识为“1”, 表示该行对应的活动需要相应列的信息输入;同理, 对于某一列, 它同其他有信息交互的活动同样标识“1”, 表示对其他活动的信息输出。
3) 对角线以下的元素“1”表示前馈信息, 对角线以上的元素“1”表示反馈信息。
4) 若设计结构矩阵为下三角矩阵, 则意味着产品设计是串行的开发方式, 不需要反馈信息, 这样的设计过程是最理想的状态。
5) 对矩阵进行变换处理, 首先应尽可能减少反馈带来的设计重复;其次, 在不可避免的情况下, 尽量将反馈信息与相应的活动接近, 实现优化。
《3 协同设计过程重构技术》
3 协同设计过程重构技术
协同设计与传统的开发方式的本质区别, 在于它把产品开发的各个活动视为一个集成的过程, 从全局优化的角度出发进行管理和控制, 并且对已有的产品开发过程进行不断的改进和提高。这种方法被称为产品开发过程重构 (product development process reconfiguration)
协同设计过程重构的思想是:根据需要对产品设计过程进行重新构思和设计, 以用户需求为目标, 面向对象、面向制造、面向装配。因此, 过程重构意味着抛弃传统串行设计方式中不符合现代设计要求的部分, 是满足当前过程需要的一种创新。
协同设计过程重构需要考虑的问题有
在实际的产品协同设计中, 由于各个设计线程相互依赖, 在此之下的协同设计过程重构常常需要经过多次迭代才能获得满意的结果。在设计信息不完备的情况下开展设计活动, 当所需要的信息明确后, 往往引起再设计, 增加了产品开发成本, 延长了产品的上市周期。因此, 在产品最初的设计阶段, 明晰各个设计任务及其相关支持信息, 有助于设计人员避免不必要的设计更迭。
《4 基于DSM的过程重构》
4 基于DSM的过程重构
基于DSM过程重构的关键是最小化设计信息反馈及其影响, 通过重新排列DSM的行列顺序获得块三角的DSM, 并使各模块具有相对独立性, 以减少与其他模块之间的信息交流, 优化重组协同设计的开发过程。DSM建立的基础是设计行为之间的信息交流, 该类信息的组成是多方面的, 如功能、结构、工艺等, 并且设计行为之间的关联信息是引起信息交互的源头, 因此, 分析这类信息交互, 确定耦合识别算法, 并在此基础上根据DSM重构原则进行模块化的过程重构, 是实现复杂产品协同设计的直接有效的方法。
《4.1耦合活动的识别》
4.1耦合活动的识别
耦合关系常见于设计任务中, 是影响产品设计开发进度和开发质量的重要因素。交互耦合活动的识别是一个用来确定设计活动中耦合任务集的过程。耦合活动集包括具有相互依赖关系的两个活动或多个活动, 表示由活动之间的信息关联所构成的信息回路。耦合活动的识别过程实际上是搜索所有信息回路的过程, 可以用图论的知识将其转化为求图的强连通分支问题
定义1 在设计矩阵A中, 当aij∈A, aji∈A, 若aij=aji=1;或者aij=aji=…=ami=1, 则称ai与aj或者ai, aj, …, am等活动构成的集合为耦合活动集。
定义2 设u, v为有向图G中的两个顶点, 若存在u到v的通路, 则称u到v是可达的;若G的任意两结点都是可达的, 则称G是强连通图。
定义3 设G=〈V, E〉是有向图, 其中V={v1, v2, …, vn}, 并假定结点已经有了从v1到vn的次序, 定义n阶方阵P= (pij) n×n, 其中
称矩阵P为图G的可达矩阵, 且P=A (1) ∨A (2) ∨A (3) ∨…∨A (n) (1≤j≤n) , 其中A为G的邻接矩阵;A (n) 为A的n次幂矩阵, 如A (2) =A (1) ∧A (1) 。
定义4 1) 布尔矩阵:给定一个矩阵R= (rij) n×n, 如果该矩阵中的元素rij (i, j=1, 2, …, n) 全部由0或1构成, 则称这类矩阵为布尔矩阵。
2) 布尔运算器:“∨"叫做布尔或运算器;“∧”叫做布尔和运算器。
两种运算器的运算方法分别为:
《图2》
3) 布尔和矩阵:如果wij=rij∧sij, 则矩阵W= (wij) n×n称为R和S的布尔和矩阵, 此处的R= (rij) n×n和S= (sij) n×n均为布尔矩阵。
4) 布尔或矩阵:如果uij=∨
强连通分支问题识别算法为:设P= (pij) n×n为图G的可达矩阵, PT为矩阵P的转置矩阵, 定义P∩PT算法为
如果从节点vi到节点vj可达, 则pij=1;如果从节点vj到节点vi可达, 则pji=1;只有pij\5pji=1时, 节点vi与节点vj相互可达。对于P∩PT矩阵, 如果第i行的非零元素存在于第j1, j2, , …, jk列, 则节点vi, vj1, vj2, …, vjk组成一个强连通的分支, 相对应的设计行为形成一个强耦合序列。
图的强连通算法为识别设计结构矩阵耦合活动集提供了有效的代数分析方法, 为下一步的过程重构做好了准备。
《4.2DSM重构步骤》
4.2DSM重构步骤
DSM的重构是通过一系列的行列变化将矩阵重置获得新的工作序列, 目的是最大限度地减少未知因素, 使设计过程中耦合紧密的领域结合在一起, 减少由整个系统的反馈信息带来的重复设计;在不可避免的情况下, 尽量将反馈信息与相应的活动接近, 实现优化
第一步:将DSM块三角化, 即尽可能将DSM 转化为下三角矩阵, 对全部的设计任务进行规划, 使得相互耦合的设计任务作为一个整体来考虑, 对耦合活动实行归一化操作, 具体算法为:
1) 对DSM中的空行和空列进行规划, 将空行对应的设计任务排在前面, 空列对应的设计任务排在后面, 去除已排设计任务的影响并重复这些操作, 直到没有空行和空列为止。
2) 对于没有空行和空列的矩阵, 采用强连通分支耦合子集识别算法确定耦合设计任务集, 并运用归一操作将耦合设计任务集视为一个整体设计任务进行规划。
3) 重复1, 直到全部设计任务规划完毕。
当DSM不能完全转化为下三角矩阵时, 应尽可能使矩阵模块的大小和数量最小。
第二步:对第一步DSM 分解形成的耦合模块进行分析, 将设计任务聚类、撕裂。实现耦合块内设计任务撕裂的基本策略是:识别具有最少信息输入量的设计任务, 并将其置于耦合回路的首位; 当多个设计任务具有相同的信息输入量时, 向后续设计任务输出最大信息量的设计任务排在前面。采用A. Yassine的结构灵敏度方法分析耦合设计任务的信息依赖程度
设A为耦合设计任务集合, SIi, SOi分别为设计任务i (i∈A) 信息输入和输出的关联程度的度量。撕裂算法为:
1) 对任意一个设计任务i∈A, 计算Wi=SIi/SOi。
2) 找出k∈A, 使得Wk=min{Wi}, 如果k的个数大于1, 先排列SIi小的设计任务, 后排列SOi大的设计任务。
3) A=A-k, 若A为空集, 结束。
4) 对所有的i∈A, 重新计算SIi=SIi-aik (aik为A所对应的DSM中的元素) ;对所有的j∈A, 重新计算SOi=SOi-akj;转到1。
《5 应用实例》
5 应用实例
以某型号飞行器为研究对象, 具体来看基于DSM的过程重构在多领域协同设计中的简单应用。飞行器的设计涉及外形、空气热力学分析、空气动力学分析、飞行轨道分析、推进设备的设计以及飞行器本身的结构设计等多个领域。首先对各领域之间的设计信息交互进行分析, 选取最重要的关联最为密切的6个设计任务, 进行协同设计, 根据设计工作流程图获得完整的DSM量化表达, 如图2所示。
再根据强连通分支算法, 识别并确定耦合活动集, 分别是{活动B、活动C}, {活动A、活动F、活动E}, 分别称为耦合活动集1、耦合活动集2, 归一化处理以后重新排序, 得到新的设计顺序为耦合活动集1→活动D→耦合活动集2, 如图3所示, 其中耦合活动集1与活动D为并行活动, 并同时向耦合活动集2传递设计信息, 协同设计中的信息流如图4所示。
通过耦合识别, 使得原来设计关系复杂的各个领域转化为耦合紧密的模块, 可以在耦合模块内部进行信息交互, 并行协同地进行设计, 再以模块为单位进行系统层面的信息交互, 减少单个领域耦合带来的影响, 避免了大面积的设计反馈, 缩短了产品的设计周期, 保证了产品质量。
耦合活动对协同设计的影响很大, 耦合模块内部的设计任务排序对于整个协同设计的过程重构也至关重要, 它与飞行器设计知识密切相关, 一般依据设计专家的经验确定信息输入和信息输出关联程度的大小。以耦合活动集2模块为例, 利用撕裂算法计算Wi, 见表1。
由表1可知, Wi值由小到大的排序为活动F、活动E、活动A, 其中活动F的Wi值最小, 在耦合模块中应优先进行设计。依次类推其他耦合模块中的设计任务, 获得飞行器协同设计过程中基于整个DSM (包括耦合子集内部) 设计排序后的过程重构, 如图5所示。
Table 1 The results of calculating Wi
《表1》
SIi | SOi | Wi | |
活动A |
0.85 | 0.65 | 1.308 |
活动F |
0.25 | 0.75 | 0.333 |
活动E |
0.45 | 0.55 | 0.818 |
整个飞行器的协同设计过程是采用三维CAD/CAE技术实现数字虚拟样机的试制, 简化了设计迭代, 减少了无意义的设计输出, 减轻了实际生产的压力, 降低了产品成本。
《6 结论》
6 结论
在协同设计中对产品开发过程的信息交互进行分析, 建立量化的设计结构矩阵 (DSM) , 矩阵的行表示该设计行为从其他哪些活动中获得信息, 矩阵的列表示该设计行为的输出将影响哪些其他活动。可以通过将矩阵变换为分块的三角矩阵形式来实现协同设计中的过程重构。先利用强连通算法获得耦合子集, 再通过设计任务撕裂算法对耦合模块内部的设计行为进行排序, 获得基于DSM的协同设计优化组合。通过这种变换, DSM主对角线上各耦合块之间不再存在设计循环, 可以并行地进行协同设计。由于设计行为的任务结构没有变化, 所以设计迭代依然存在, 只是这些设计迭代被包含在耦合块中。在耦合块中, 存在频繁的通信联系, 而在块与块之间也存在偶尔的信息交互, 这种集中化是分布式协同设计的前提, 其结果形成了集中在某些确定设计行为上的信息交互和通信要求。基于DSM的过程重构通过分析信息交互, 识别耦合活动集, 撕裂块内设计任务等步骤, 获得协同设计开发过程的优化重组, 为复杂产品的开发提供了一种有效的解决方法。但是对于设计活动之间的重叠部分, DSM没有能够给出清晰的解决方法, 对于带有条件约束的大规模的设计行为过程重构也难以处理, 这些内容有待于进一步研究。