CN110348623B - 基于设计结构矩阵的复杂产品开发时间预测及优化方法 - Google Patents

基于设计结构矩阵的复杂产品开发时间预测及优化方法 Download PDF

Info

Publication number
CN110348623B
CN110348623B CN201910596239.2A CN201910596239A CN110348623B CN 110348623 B CN110348623 B CN 110348623B CN 201910596239 A CN201910596239 A CN 201910596239A CN 110348623 B CN110348623 B CN 110348623B
Authority
CN
China
Prior art keywords
activity
design
activities
product development
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910596239.2A
Other languages
English (en)
Other versions
CN110348623A (zh
Inventor
林军
文牧晨
钱艳俊
黄伟浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN201910596239.2A priority Critical patent/CN110348623B/zh
Publication of CN110348623A publication Critical patent/CN110348623A/zh
Application granted granted Critical
Publication of CN110348623B publication Critical patent/CN110348623B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

基于设计结构矩阵的复杂产品开发时间预测及优化方法,对于一个由n个平均完成时间已知、信息依赖关系已知的设计活动构成的复杂产品开发过程,其所有设计活动组成设计活动集,构建产品开发项目所对应的设计结构矩阵,并构建优化目标函数:根据优化目标函数,求解产品开发项目所对应的设计结构矩阵。本发明以复杂产品开发项目为研究对象,以预测并降低产品开发时间为目标,对产品开发项目对应的DSM进行分析建模,识别产品开发项目中的一阶返工和二阶返工,并通过优化得到其涉及的所有设计活动的最优执行顺序,最终实现产品开发项目的总返工时间最小,从而达到降低产品开发总时间,减少产品开发总成本,提高产品开发成功率的目的。

Description

基于设计结构矩阵的复杂产品开发时间预测及优化方法
技术领域
本发明涉及一种基于设计结构矩阵的复杂产品开发时间预测及优化方法。
背景技术
随着市场竞争环境日益激烈,产品生命周期不断缩短,更新换代越来越快,提高新产品开发效率已经成为了现代企业在市场中保持核心竞争力,获得商业成功的重要手段。调研数据表明:对于大部分公司而言,其利润的50%以上来源于最新推出的产品;但是另一方面,大约70%的产品开发项目超出了估算的时间进度,计划交付时间平均超期20%至50%,90%以上的产品开发项目开支超出预算,只有大约60%的产品开发项目最终取得了成功。这是因为现实的产品开发过程可以分为一系列相互耦合的设计活动,设计活动之间大量复杂的信息传递关系,给产品开发项目的过程管理带来了巨大的难度。相当大一部分设计活动需要在输入信息不完备时开始执行,并在输入信息到达或发生变化时返工,这些返工对新产品开发项目的开发周期和成本造成了很大的影响。通过对大量产品研发案例的研究,人们发现由于耦合设计活动之间复杂的信息传递关系导致的活动返工总时间占项目总开发时间的50%以上。因此,确定最优的设计活动执行顺序,以降低返工时间成为了产品开发过程管理中非常重要的问题。
传统的基于网络图的活动排序方法,如关键路径法(CPM)、计划评审法(PERT),很难处理耦合活动中的信息传递作用。因为他们假设活动之间的所有约束是已知的和固定的,但是在实际的新产品开发项目中这种情况是不存在的。后续发展出来的图形评审法(GERT)在PERT的基础上将各个活动及其相互之间的影响关系设为随机分布,并通过蒙特卡洛方法进行求解。但是,由于一个复杂产品开发项目往往存在着数百个耦合设计活动,这种情况下生成的GERT网络非常复杂,直接对其进行分析是极其困难的。
因此,人们提出使用设计结构矩阵(DSM)来安排耦合活动的执行顺序。DSM矩阵是由排列顺序相同的行列元素组成的方阵,所有元素共同组成了产品开发项目中的耦合活动集合,元素的排列顺序代表设计活动的执行顺序,对角线数据(阴影部分)表示对应活动的预计完成时间,非对角线数据表示活动之间信息依赖的方向和大小,上三角的数据表示由后序活动向前序活动的信息流动,称为信息反馈;下三角的数据表示由前序活动向后序活动的信息流动,称为信息前馈。图1展示了一个电动汽车开发项目的DSM矩阵。
DSM矩阵对设计活动返工的描述可以分为两种:一是下游活动的执行发现了上游活动的错误或者未完成的部分,导致上游活动需要返工,这种情况被称为一阶返工,一阶返工是由于信息反馈(对角线上方)造成的,如图1中活动3完成引起的活动2返工;二是经过至少一次活动返工后将改进的信息传递到了其他活动,导致其他活动需要返工,这种情况被称为高阶返工,高阶返工的产生可能来自信息反馈也可能来自信息前馈(对角线下方),如图1中活动2返工后引起的活动3的返工是信息前馈的作用,而引起活动1的返工是信息反馈的作用。
基于DSM矩阵,人们提出了多种优化算法对设计活动进行排序,以降低产品开发过程中的返工时间。这些算法按照其优化目标函数大致可以分为两类:一类是仅针对产品开发过程中的一阶返工进行优化,优化目标函数包括最小化信息反馈数目、最小化信息反馈和、最小化信息反馈的时间加权和等,例如Kusiak和Wang提出了一种三角分割算法对设计活动之间的信息依赖关系进行识别并进行排序;Ahmadi et al.提出了一个模块分解的算法用于设计活动排序;Qian et al.通过将多个活动合并为一个活动的思路,提出了一种启发式算法用于解决大规模排序问题;Lin et al.使用活动交换的思路设计了启发式算法对大规模耦合活动进行排序。一类是将产品开发过程中的高阶反馈纳入考虑,优化目标函数为最小化信息反馈的距离加权和,例如Altus et al.提出了一种基于活动置换的遗传算法用于找到总反馈长度最小的活动序列;Lin et al.提出了一种通过活动插入改进活动序列的局部搜索算法。
但是,这些目标函数也存在着一些缺陷,使其不能对产品开发项目中的返工进行完全有效的分析:(1)这些代理目标函数并没有与最终目标(缩短产品开发项目总时间)建立可量化的关系,也就是说,代理目标函数最终得到的取值很难在实际项目中找到对应的管理意义,项目经理很难根据代理目标函数的优化结果来估计产品开发项目的执行时间及优化程度,合理分配人员和资源并安排赶工。(2)现有的代理目标函数并没有充分发掘DSM矩阵中的所有信息,几乎所有的代理目标函数使用的都是DSM矩阵中的反馈信息(对角线上方),对于前馈信息(对角线下方)鲜有研究,但是前馈信息同样也是造成返工迭代的重要原因,尤其是高阶返工,这必然导致了现有算法在准确性上缺乏说服力。(3)现有的代理目标函数对高阶返工的研究不足。只有最小化信息反馈的距离加权和研究了高阶返工中前馈信息个数对开发项目周期的影响,但是对反馈信息导致的高阶返工没有研究,同时也并没有精确地量化这种影响,因此很难对高阶返工进行有效的分析。而其他代理目标函数则只研究了一阶返工,没有涉及高阶返工。
也有研究尝试对上述问题进行解决,例如Smith和Eppinger使用了马尔科夫链模拟返工迭代,建立了顺序迭代模型对项目的总体开发时间进行预测并得到最优的执行顺序。模型虽然涵盖了DSM矩阵中所有的一阶返工和高阶返工,具有很高的精确性,但是模型复杂不便于对实践中大规模的产品开发项目进行优化。Banerjee et al.根据这一模型设计了SEPTR启发式算法,但是这种算法依然不能解决大规模的活动排序问题,其解决9个设计活动的DSM矩阵平均就需要37分钟。
总结来说,现有的优化算法对产品开发项目中设计活动间大量复杂的信息依赖关系挖掘不足,对设计迭代中高阶返工的考虑不足,因此难以保证优化结果的准确有效。另外,这些算法得到的优化数值都没有现实管理意义,难以对这些优化数值进行分析和利用。
发明内容
本发明基于对DSM矩阵的分析建模,目的在于提出一种基于设计结构矩阵的复杂产品开发时间预测及优化方法。
为实现上述目的,本发明是通过以下技术方案来实现:
基于设计结构矩阵的复杂产品开发时间预测及优化方法,包括以下步骤:
基于设计结构矩阵的复杂产品开发时间预测及优化方法,包括以下步骤:
1)对于一个由n个平均完成时间已知、信息依赖关系已知的耦合设计活动构成的复杂产品开发过程,其所有设计活动组成设计活动集N;根据设计活动集N构建产品开发项目所对应的设计结构矩阵,并构建能够预测产品开发项目总时间的优化目标函数:
2)根据优化目标函数,求解设计活动数不大于15个的中小规模产品开发项目所对应的设计结构矩阵以及求解设计活动数大于15个的大规模产品开发项目所对应的设计结构矩阵。
本发明进一步的改进在于,步骤1)中构建优化目标函数的具体过程如下:
设计结构矩阵中对角线元素di表示活动i的平均完成时间;非对角线元素aij表示活动i对活动j的信息依赖程度;
按照n个设计活动的首次开始时间进行划分,将整个产品开发过程分为n个阶段;每一个设计阶段所包含的设计活动数等于此时所有已完成的设计活动数;
对于n个设计活动组成的复杂产品开发项目,初始执行序列是{1,2,...,n},构建包括n个阶段的马尔科夫链,那么对于第k阶段,第一个要完成的活动是设计活动k,因而第k阶段的第一个设计活动的期望执行时间为:
dk×1
其中,1≤k≤n,dk表示活动k的平均完成时间;
如果设计活动k引起了设计活动i的一阶返工,那么设计活动i一阶返工的期望执行时间为:
aik×di
其中,1≤i<k,aik表示活动i对活动k的信息依赖程度,di表示活动i的平均完成时间;那么第k阶段所有设计活动一阶返工的期望执行时间为:
Figure GDA0003224654480000031
如果设计活动k在引起了设计活动i的一阶返工后,设计活动i又导致了设计活动j的二阶返工,那么设计活动j二阶返工的期望执行时间为:
aik×aji×dj
其中,1≤j≤k,j≠i,aik表示活动i对活动k的信息依赖程度;aji表示活动j对活动i的信息依赖程度;dj表示活动j的平均完成时间;那么第k阶段所有设计活动二阶返工的期望执行时间为:
Figure GDA0003224654480000032
则第k阶段的总时间Tk为:
Figure GDA0003224654480000033
因此,对于n个设计活动组成的产品开发项目,产品开发项目总时间T为:
Figure GDA0003224654480000034
同理,当设计活动的执行序列发生改变时,对于任意活动执行序列,产品开发项目总时间T变为:
Figure GDA0003224654480000035
其中,zik、zjk分别表示活动i和活动k、活动j和活动k的相对位置;当活动i在活动k前完成时zik=1,否则取0;当活动j在活动k前完成时zjk=1,否则取0。
本发明进一步的改进在于,步骤2)中求解设计活动数不大于15个的中小规模设计结构矩阵的具体过程如下:
对于n个设计活动组成的设计结构矩阵,其活动执行序列为{1,2,...,n},以参数p为界,将活动执行序列分为Ap、Bp两个子序列,分别为:
Ap={1,2,...,p}
Bp={p+1,p+2,...,n}
其中,1≤p≤n;
根据优化目标函数,做出如下定义:
Figure GDA0003224654480000041
Figure GDA0003224654480000042
其中,TAP、TBP分别为子序列Ap、子序列Bp的独立完成时间;
此时,产品开发项目总时间T等于设计活动的平均完成时间之和与两个子序列独立完成时间TAP与TBP的和,即:
Figure GDA0003224654480000043
当子序列Ap前进运动变为Ap+1,或子序列Bp后退运动变为Bp-1时,子序列Ap的独立完成时间TAP与子序列Bp的独立完成时间TBP的变化为:
Figure GDA0003224654480000044
Figure GDA0003224654480000045
对于子序列Ap和子序列Bp两个部分的活动执行序列,均有固定的索引值
Figure GDA0003224654480000046
定义如下:
Figure GDA0003224654480000051
那么对完整的设计活动序列,其索引值是一个定值indexDSM
Figure GDA0003224654480000052
对于一个由n个设计活动组成的产品开发项目,将该产品开发项目所对应的设计结构矩阵分为独立的前进、后退两个部分,并分别对前进部分与后退部分进行优化,得到前进部分优化的结果Ap和后退部分优化的结果Bp
将前进部分优化的结果Ap和后退部分优化的结果Bp进行匹配,使得它们的索引值满足
Figure GDA0003224654480000053
从而得到备选的完整最优序列集合,并计算产品开发项目总时间
Figure GDA0003224654480000054
其中,
Figure GDA0003224654480000055
为Ap的索引值,
Figure GDA0003224654480000056
为Bp的索引值;
从备选的完整最优序列集合中选择具有最小产品开发项目总时间T值的序列为最优活动序列。
本发明进一步的改进在于,对前进部分与后退部分分别进行优化,得到前进部分优化的结果Ap和后退部分优化的结果Bp的具体过程如下:
前进运动部分优化的具体过程如下:
步骤1:找出所有可能的子序列A2序列,并计算TA2以及对应地索引值;
步骤2:对子序列A2进行序列匹配,并保留相同索引值中TA2最小的序列;
步骤3:假设参数t=2:1:(p-1),执行下列操作,直到循环结束后得到前进部分优化的结果Ap
步骤3.1:在子序列At的基础上,前进一步变为子序列At+1,并计算TAt+1以及对应地索引值;
步骤3.2:对于子序列At+1中的每一个序列,找到与其具有相同索引值的序列,比较各序列独立完成时间TAt+1,并保留具有最小独立完成时间TAt+1值的序列;
后退运动部分优化的具体过程如下:
步骤1:找出所有可能的Bn-2子序列,并计算独立完成时间TBn-2以及对应地索引值;
步骤2:对Bn-2进行序列匹配,并保留相同索引值中TBn-2最小的序列;
步骤3:假设参数t=(n-2):-1:(p+1),执行下列操作,直到循环结束后得到后退部分优化的结果Bp
步骤3.1:在子序列Bt的基础上,前进一步变为Bt-1,并计算独立完成时间TBt-1以及对应地索引值;
步骤3.2:对于Bt-1中的每一个序列,找到与其具有相同索引值的序列,比较各序列独立完成时间TBt-1值,并保留具有最小独立完成时间TBt-1值的序列。
本发明进一步的改进在于,步骤2)中,求解设计活动数大于15个的大规模设计结构矩阵的具体过程如下:
步骤0:假设复杂产品开发项目的初始活动执行顺序为S,并根据优化目标函数计算出其对应地产品开发项目总时间T;并初始化当前活动执行顺序S0=S,对应地产品开发项目总时间T0=T,总时间变化量ΔT=1;
当总时间变化量ΔT>0时,进行以下操作:
步骤1:选取初始活动执行顺序S的第一个设计活动i;
步骤2:对于当前活动执行顺序S0,找出活动i对应的位置,将活动i与后续位置的每一个设计活动j计算,得到活动i和活动j的独立完成时间变化量
Figure GDA0003224654480000061
如果
Figure GDA0003224654480000062
那么则交换S0中活动i和活动j的顺序,此时当前产品开发项目总时间为
Figure GDA0003224654480000063
步骤3:选取初始活动执行顺序S中的下一个设计活动,重复步骤2的操作,直到初始活动执行顺序S中的最后一个活动被选取;从而得到改进后的当前活动执行顺序S0
步骤4:设定初始执行顺序S=S0,同时选取此时初始执行顺序S中的第一个设计活动i;
步骤5:设定活动块I={i},找到活动块I={i}在当前活动执行顺序S0中对应的位置,将活动块I={i}与后续位置的每一个设计活动j计算,得到活动块I和活动j的独立完成时间变化量
Figure GDA0003224654480000064
如果
Figure GDA0003224654480000065
那么则交换当前活动执行顺序S0中活动块I和活动j的顺序,此时总时间
Figure GDA0003224654480000071
如果所有
Figure GDA0003224654480000072
那么则将序列S0中活动块I的后一个活动k加入到活动块I中,即I=I+{k},随后将更新的I与后续活动进行计算,直至活动块I不存在后续活动;
步骤6:选取初始执行顺序S中的下一个活动,重复步骤5的操作,直到S中的最后一个活动被选取;
步骤7:更新初始执行顺序S=S0,总时间变化量ΔT=T-T0,总时间T=T0
本发明进一步的改进在于,步骤2中,将活动i与后续位置的每一个设计活动j计算,得到活动i和活动j的独立完成时间变化量
Figure GDA0003224654480000073
的具体过程为:
对于一个由n个设计活动组成的产品开发项目,其活动执行顺序为{1,2,...,i,...,j,...,n};交换活动i与活动j的位置;定义:
Figure GDA0003224654480000074
Figure GDA0003224654480000075
Figure GDA0003224654480000076
式中,βij、βji分别为在保持其他活动相对位置不变情况下,活动i在活动j前执行、活动j在活动i前执行时,两个活动的独立完成时间;
Figure GDA0003224654480000077
为变换活动i、j位置时独立完成时间的变化量。
本发明进一步的改进在于,步骤5中,将活动块I与后续位置的每一个设计活动j计算,得到活动块I和活动j的独立完成时间变化量
Figure GDA0003224654480000078
的具体过程如下:
保持活动执行顺序不变,定义活动块I={i,...,h},同理,定义活动块H={h+1,...,j-1},交换活动块I与活动j的位置;定义:
Figure GDA0003224654480000079
Figure GDA0003224654480000081
Figure GDA0003224654480000082
式中,βIj为在保持其他活动相对位置不变情况下,活动块I在活动j前执行时,两者的独立完成时间;βjI为在保持其他活动相对位置不变情况下,活动j在活动块I前执行时,两者的独立完成时间,
Figure GDA0003224654480000083
为变换活动块I、活动j位置时独立完成时间的变化量。
本发明进一步的改进在于,步骤2)中求解设计活动数大于15个的大规模设计结构矩阵的具体过程如下:
步骤0:假设某复杂产品开发项目的初始执行顺序为S,并根据优化目标函数计算出其对应地产品开发项目总时间T;并初始化当前活动执行顺序S0=S,对应地产品开发项目总时间T0=T,总时间变化量ΔT=1;当总时间变化量ΔT>0时,进行以下操作:
步骤1:选取初始执行顺序S中的第一个设计活动i;
步骤2:对于当前活动执行顺序S0,找出活动i对应的位置,将活动i对应的位置与每一个设计活动j计算,分别得到独立完成时间的变化量αij;其中,j≠i;如果独立完成时间的变化量αij>0,那么则将活动i插入到活动j的前面,此时当前产品开发项目总时间T0=T-αij
步骤3:选取初始活动执行顺序S中的下一个活动,重复步骤2的操作,直到S中的最后一个活动被选取;从而得到改进后的当前活动执行顺序S0
步骤4:设定初始活动执行顺序S=S0,选取此时S中的第一个设计活动i;
步骤5:设定活动块I={i},找到活动块I={i}在当前活动执行顺序S0中对应的位置,将活动块I={i}与每一个设计活动j进行计算,分别得到活动I在活动j的独立完成时间的变化量αjI;其中,
Figure GDA0003224654480000084
如果αjI>0,那么则将活动块I插入到活动j的前面,此时T0=T-αjI;如果所有αjI≤0,那么则将序列S0中活动块I的后一个活动k加入到活动块I中,即I=I+{k},随后将更新的I与所有可能的设计活动进行计算,直至活动块I不存在后续活动;
步骤6:选取初始活动执行顺序S中的下一个活动,重复步骤5的操作,直到初始活动执行顺序S中的最后一个活动被选取;
步骤7:更新初始执行顺序S=S0,总时间变化量ΔT=T-T0,总时间T=T0
本发明进一步的改进在于,步骤2中,将活动i对应的位置与每一个设计活动j计算,分别得到独立完成时间的变化量αij的具体过程如下:
对于一个由n个活动构成的复杂产品开发项目,选取其中的两个设计活动i、j;将活动j插入到活动i之前;
如果在当前状态,活动i在活动j之前执行,即活动执行顺序为{1,2,...,i,...,j,...,n},那么定义:
Figure GDA0003224654480000091
Figure GDA0003224654480000092
αij=α'ij-α”ij
如果当前状态的活动i在活动j之后执行,即活动执行顺序为{1,2,...,j,...,i,...,n},那么定义:
Figure GDA0003224654480000093
Figure GDA0003224654480000094
αij=α'ij-α”ij
其中,α'ij、α”ij分别为在保持其他活动相对位置不变情况下,活动i、j在当前位置、将活动j插入活动i前时,两个活动的独立完成时间;αij为活动i和活动j执行插入操作的独立完成时间变化量。
本发明进一步的改进在于,步骤5中,将活动块I与每一个设计活动j进行计算,分别得到活动块I和活动j的独立完成时间的变化量αjI的具体过程如下:
定义活动块I={i,i+1,...,k},将活动块I插入到活动j之前;
如果当前状态下活动j在活动块I之前执行,那么定义:活动块J={j,j+1,...,i-1},
Figure GDA0003224654480000101
Figure GDA0003224654480000102
αjI=α'jI-α”jI
如果当前状态下活动j在活动块I之后执行,那么定义:活动块K={k+1,...,j-1},
Figure GDA0003224654480000103
Figure GDA0003224654480000104
αjI=α'jI-α”jI
式中,α'jI、α”jI分别为在保持其他活动相对位置不变情况下,活动j、I在当前位置、将活动块I插入活动j前时的独立完成时间,αjI为活动j和活动块I执行插入操作的独立完成时间变化量。
与现有技术相比,本发明具有的有益效果:
本发明以复杂产品开发项目为研究对象,以预测并降低产品开发时间为直接目标,对产品开发项目对应的设计结构矩阵(DSM)进行分析建模,识别产品开发项目中的一阶返工和二阶返工,并通过优化算法得到其涉及的所有设计活动的最优执行顺序,最终实现产品开发项目的总返工时间最小,从而达到降低产品开发总时间,减少产品开发总成本,提高产品开发成功率的最终目的。
本发明建立了具有现实管理意义的目标函数。目标函数即为预测的产品开发项目总时间,通过对产品开发项目总时间的合理预测和分析,项目经理可以据此安排耦合设计活动的执行顺序,进行开发资源和设计人员的分配、开发预算的估计以及赶工安排等各种事项,对现实的开发工作更具指导意义。
进一步的,本发明对产品开发项目中复杂的信息流动进行了充分挖掘。现有的算法主要针对产品开发中的反馈信息进行优化,认为反馈信息是设计活动返工的主要来源。本发明通过马尔科夫链模拟开发过程,认定前馈信息同样是导致设计活动返工的重要原因,将前馈信息纳入优化过程,因此大大提高了优化结果的准确性,增加了优化结果的说服力。
进一步的,本发明对产品开发项目中存在的高阶返工进行了充分研究。现有的算法大多针对一阶返工,对高阶返工缺少定量的研究。本发明通过马尔科夫链模拟开发过程,深入分析了产品开发过程中的高阶返工,定量考虑了一阶和二阶返工对产品开发时间的影响,增加了结果的准确性和说服力。
进一步的,本发明深入考虑了产品开发过程的动态性。产品开发过程是螺旋上升的动态过程,随着设计活动逐渐完善、设计人员逐渐成熟,出现三阶甚至更高阶返工的可能性会远远小于使用不变参数计算出的结果。这一方法对产品开发过程进行了合理简化,只考虑一阶和二阶返工的情况,更加贴近现实情况,同时也大大降低了问题的复杂性和计算的困难程度。
进一步的,本发明针对产品开发项目的不同规模、不同需求提出了相应的算法。本方法中提出的三种算法都有其适合的应用场景,使用者可以根据具体问题选择最适合的算法进行优化求解:精确算法适用于求解中小规模的DSM矩阵(设计活动数不大于15个),或者在时间、设备允许的情况下求解较大规模的DSM矩阵,其优点是可以找到全局最优解,确保得到的解是最优的。启发式算法适用于求解大规模复杂的DSM矩阵,并取得较好的优化结果,不同的是相比之下基于活动插入的启发式算法优化程度较高,基于活动交换的启发式算法求解速度更快。
附图说明
图1为某电动汽车开发项目的DSM矩阵。
图2为N个设计活动组成的DSM矩阵。
图3为三个设计活动组成的DSM矩阵。
图4为图3对应的马尔可夫链。
图5为活动块I的定义。
图6为平衡机产品开发项目的初始DSM矩阵。
图7为优化后的平衡机产品开发项目的DSM矩阵。
具体实施方式
下面结合附图对本发明进行详细说明。
基于设计结构矩阵的复杂产品开发时间预测及优化方法,包括以下步骤:
1.构建优化目标函数(产品开发项目的总时间):
首先,对于一个由n个平均完成时间已知、信息依赖关系已知的设计活动构成的复杂产品开发过程,其所有设计活动组成设计活动集N。设计活动之间具有相当复杂的信息依赖关系,如果得到的信息不完全或得到的信息发生改变,则会有一定的可能性出现返工,根据设计活动集N可以构建出任何产品开发项目所对应的DSM矩阵,如图2所示。其中,DSM矩阵中对角线元素di表示活动i的平均完成时间,即活动i得到了所有的输入信息并独立执行时所需要的时间;非对角线元素aij表示活动i对活动j的信息依赖程度,即由于缺少活动j的输入信息导致活动i返工的可能性,取值范围为[0,1]。
其次,现实中产品开发项目的活动执行过程往往是顺序迭代的,即一次只执行一个设计活动,不存在多个设计活动的并行,当同时引起多个活动的返工时,所有返工活动也是依次进行的,因此产品开发项目的总执行时间也就是所有活动首次执行时间和返工迭代时间的和。
接下来,引入马尔可夫链对产品开发过程中的返工进行直观简洁的描述。按照n个设计活动的首次开始时间进行划分,将整个产品开发过程分为n个阶段。每一个设计阶段一旦完成就不会再返回这个设计阶段,虽然这个设计阶段中的设计活动可能会再次返工。每一个设计阶段所包含的节点(设计活动)数等于此时所有已完成的设计活动数,即n个设计阶段共有
Figure GDA0003224654480000121
个节点。设计阶段之间、设计阶段内的设计活动之间的转换概率由DSM矩阵中的数据决定。以图3为例的3个设计活动组成的DSM矩阵,构成的马尔可夫链如图4所示。
对于大多数产品开发项目来说,返工迭代是影响产品开发周期和资源消耗的一个关键因素。但是大部分的活动返工一般都不会超过二阶,一方面这是因为高阶返工的概率本身就比较小,如表1所示,对于图3描述的3X3DSM矩阵,使用一阶、二阶返工就能够解释这个矩阵中89.775%的情况。对于实际应用中产品开发项目的DSM矩阵,大部分都是稀疏矩阵,一阶、二阶返工也足以解释项目中大部分的情况。另一方面,考虑到产品开发过程中设计活动逐渐完善、设计人员逐渐成熟的情况,产品开发项目出现三阶甚至更高阶返工的可能性会比通过DSM矩阵计算得到的数值更小。
表1一阶、二阶返工的总概率
Figure GDA0003224654480000122
因此,考虑对产品开发过程的描述进行合理简化,使之更贴近现实的产品开发项目:
当返工迭代进行到了二阶,则在二阶返工执行结束后,强制将其输出至马尔科夫链的下一个阶段,即假定产品开发项目的二阶返工就足以完善设计活动,不需要进行后续返工。
由此可以对产品开发项目的执行时间进行预测,并构建能够有效预测产品开发时间的优化目标函数,具体过程如下:
对于图2所示的n个设计活动组成的复杂产品开发项目,如果初始执行序列是{1,2,...,n},并对应地构建包括n个阶段的马尔科夫链。那么对于第k(1≤k≤n)阶段,无论返工情况如何,第一个要完成的活动都是设计活动k,因而第k阶段的第一个设计活动的期望执行时间为:
dk×1
其中,dk表示活动k的平均完成时间;
如果设计活动k引起了设计活动i(1≤i<k)的一阶返工,那么设计活动i一阶返工的期望执行时间为:
aik×di
其中,aik表示活动i对活动k的信息依赖程度,di表示活动i的平均完成时间;那么第k阶段所有设计活动一阶返工的期望执行时间为:
Figure GDA0003224654480000131
如果设计活动k在引起了设计活动i的一阶返工后,设计活动i又导致了设计活动j(1≤j≤k,j≠i)的二阶返工,那么设计活动j二阶返工的期望执行时间为:
aik×aji×dj
其中,aik表示活动i对活动k的信息依赖程度;aji表示活动j对活动i的信息依赖程度;dj表示活动j的平均完成时间;那么第k阶段所有设计活动二阶返工的期望执行时间为:
Figure GDA0003224654480000132
第k阶段的总时间Tk为:
Figure GDA0003224654480000133
因此,对于n个设计活动组成的产品开发项目,其产品开发项目总时间T为:
Figure GDA0003224654480000134
同理,当设计活动的执行序列发生改变时,对于任意活动执行序列,产品开发项目总时间T变为:
Figure GDA0003224654480000135
其中,zik、zjk分别表示活动i和活动k、活动j和活动k的相对位置;当活动i在活动k前完成时zik=1,否则取0;当活动j在活动k前完成时zjk=1,否则取0。
上式就是优化目标函数,即产品开发项目总时间。
2.采用适用于求解中小规模DSM矩阵(设计活动数不大于15个)的精确算法,求解设计活动数不大于15个的中小规模DSM矩阵的具体过程如下:
以图2所示的n个设计活动组成的DSM矩阵为例,其活动执行序列为{1,2,...,n},使用将所有活动分块处理的思想,以参数p(1≤p≤n)为界,将活动执行序列分为Ap、Bp两个子序列,分别为:
Ap={1,2,...,p}
Bp={p+1,p+2,...,n}
因为接下来,要对子序列Ap和子序列Bp进行分别优化。为了保证求解过程中,一个子序列的变化不会影响到另一个子序列的求解,根据优化目标函数,做出如下定义:
Figure GDA0003224654480000141
Figure GDA0003224654480000142
其中,TAP、TBP分别为子序列Ap、子序列Bp的独立完成时间,因为它们的取值不受子序列外其他活动排序的影响。
此时,产品开发项目总时间T等于设计活动的平均完成时间之和与独立完成时间TAP、TBP的和。即:
Figure GDA0003224654480000143
其中,各个活动的期望执行时间
Figure GDA0003224654480000144
与活动的执行顺序无关,是一个定值,因此并不会影响两个部分子序列Ap和子序列Bp的优化结果。
当子序列Ap前进运动变为Ap+1,或子序列Bp后退运动变为Bp-1时,子序列Ap的独立完成时间TAP与子序列Bp的独立完成时间TBP的变化为:
Figure GDA0003224654480000145
Figure GDA0003224654480000151
对于子序列Ap和子序列Bp两个部分的活动执行序列,都有其固定的索引值
Figure GDA0003224654480000152
定义如下:
Figure GDA0003224654480000153
那么对完整的设计活动序列,不管顺序如何,其索引值都是一个定值indexDSM
Figure GDA0003224654480000154
采用求解中小规模DSM矩阵的精确算法求解中小规模DSM矩阵的具体步骤如下:
步骤0:存在一个由n个设计活动组成的产品开发项目,其DSM矩阵已构建好;同时参数p由项目管理者确定。将DSM矩阵分为独立的前进、后退两个部分,并分别对每个部分进行优化,具体如下:
前进运动部分优化的具体过程如下:
步骤1:找出所有可能的子序列A2序列,并计算TA2以及对应地索引值。
步骤2:对子序列A2进行序列匹配,并保留相同索引值中TA2最小的序列。
步骤3:假设参数t=2:1:(p-1),执行下列操作,直到循环结束后得到前进部分优化的结果Ap
步骤3.1:在子序列At的基础上,前进一步变为子序列At+1,并计算TAt+1以及对应地索引值。
步骤3.2:对于子序列At+1中的每一个序列,都找到与其具有相同索引值的序列,比较他们的独立完成时间TAt+1,并保留具有最小TAt+1值的序列。
后退运动部分优化的具体过程如下:
步骤1:找出所有可能的Bn-2子序列,并计算独立完成时间TBn-2以及对应地索引值。
步骤2:对Bn-2进行序列匹配,并保留相同索引值中TBn-2最小的序列。
步骤3:假设参数t=(n-2):-1:(p+1),执行下列操作,直到循环结束后得到后退部分优化的结果Bp
步骤3.1:在子序列Bt的基础上,前进一步变为Bt-1,并计算独立完成时间TBi-1以及对应地索引值。
步骤3.2:对于Bt-1中的每一个序列,都找到与其具有相同索引值的序列,比较他们的TBt-1值,并保留具有最小TBt-1值的序列。
步骤4:将前进部分优化的结果Ap和后退部分优化的结果Bp进行匹配,使得它们的索引值满足
Figure GDA0003224654480000161
从而得到备选的完整最优序列集合,并计算总时间
Figure GDA0003224654480000162
Figure GDA0003224654480000163
为Ap的索引值,
Figure GDA0003224654480000164
为Bp的索引值。
步骤5:从备选的完整最优序列集合中选择具有最小总时间T值的序列为最优活动序列。
3.采用适用于求解大规模DSM矩阵(设计活动数大于15个)的启发式算法,求解大规模DSM矩阵,具体包括采用基于活动交换的启发式算法或采用基于活动插入的启发式算法求解大规模DSM矩阵。
3.1.采用活动交换的启发式算法求解大规模DSM矩阵
定理一:存在一个由n个设计活动组成的产品开发项目,如图2所示,其初始活动执行顺序为{1,2,...,i,...,j,...,n}。定义:
Figure GDA0003224654480000165
Figure GDA0003224654480000166
Figure GDA0003224654480000167
其中,βij、βji分别为在保持其他活动相对位置不变情况下,活动i在活动j前执行、活动j在活动i前执行时,两个活动的独立完成时间。那么,
Figure GDA0003224654480000168
为变换活动i、j位置时独立完成时间的变化量。
如果独立完成时间变化量
Figure GDA0003224654480000169
那么通过交换设计活动i和设计活动j的位置,可以使整个项目的产品开发项目总时间降低
Figure GDA00032246544800001610
此时活动执行顺序为{1,2,...,i-1,j,...,j-1,i,...,n}。
定理二:在初始活动执行顺序中,定义从设计活动i到设计活动h为一个活动块I={i,...,h}(如图5所示)。同理,定义从设计活动h+1到设计活动j-1为一个活动块H={h+1,...,j-1}。
定义:
Figure GDA0003224654480000171
Figure GDA0003224654480000172
Figure GDA0003224654480000173
其中,βIj为在保持其他活动相对位置不变情况下,活动块I在活动j前执行时,两者的独立完成时间。βjI为在保持其他活动相对位置不变情况下,活动j在活动块I前执行时,两者的独立完成时间。那么,
Figure GDA0003224654480000174
为变换活动块I、活动j位置时独立完成时间的变化量。
如果独立完成时间变化量
Figure GDA0003224654480000175
那么通过交换活动块I和设计活动j的位置,可以使整个项目的产品开发项目总时间降低
Figure GDA0003224654480000176
此时活动执行顺序为{1,2,...,i-1,j,h+1...,j-1,i,...,h,j+1...,n}。
基于活动交换的启发式算法的具体步骤如下:
步骤0:假设某复杂产品开发项目的初始活动执行顺序为S,并根据优化目标函数计算出其对应地产品开发项目总时间T。并初始化当前活动执行顺序S0=S,对应地产品开发项目总时间T0=T,总时间变化量ΔT=1。
当总时间变化量ΔT>0时,进行以下操作:
步骤1:选取初始活动执行顺序S的第一个设计活动i。
步骤2:对于当前活动执行顺序S0,找出活动i对应的位置,使用定理一,将其与后续位置的每一个设计活动j计算得到独立完成时间变化量
Figure GDA0003224654480000177
如果
Figure GDA0003224654480000178
那么则交换S0中活动i和活动j的顺序,此时当前产品开发项目总时间
Figure GDA0003224654480000181
步骤3:选取初始活动执行顺序S中的下一个活动,重复步骤2的操作,直到初始活动执行顺序S中的最后一个活动被选取。从而得到改进后的当前活动执行顺序S0
步骤4:设定初始执行顺序S=S0,选取此时初始执行顺序S中的第一个活动i。
步骤5:设定活动块I={i},找到其在当前活动执行顺序S0中对应的位置,使用定理二,将其与后续位置的每一个设计活动j计算得到独立完成时间变化量
Figure GDA0003224654480000182
如果
Figure GDA0003224654480000183
那么则交换当前活动执行顺序S0中活动块I和活动j的顺序,此时总时间
Figure GDA0003224654480000184
如果所有
Figure GDA0003224654480000185
那么则将序列S0中活动块I的后一个活动k加入到活动块I中,即I=I+{k},随后将更新的I与后续活动进行计算,直至活动块I不存在后续活动。
步骤6:选取初始执行顺序S中的下一个活动,重复步骤5的操作,直到S中的最后一个活动被选取。
步骤7:更新初始执行顺序S=S0,总时间变化量ΔT=T-T0,总时间T=T0
3.2.基于活动插入的启发式算法
定理一:对于一个由n个活动构成的复杂产品开发项目,如图2所示,选取其中的两个设计活动i、j。现在考虑将活动j插入到活动i之前。
如果在当前状态,活动i在活动j之前执行,即活动执行顺序为{1,2,...,i,...,j,...,n},那么定义:
Figure GDA0003224654480000186
Figure GDA0003224654480000187
αij=α'ij-α”ij
如果当前状态的活动j在活动i之前执行,即活动执行顺序为{1,2,...,j,...,i,...,n},那么定义:
Figure GDA0003224654480000188
Figure GDA0003224654480000191
αij=α'ij-α”ij
其中,α'ij、α”ij分别为在保持其他活动相对位置不变情况下,活动i、j在当前位置、将活动j插入活动i前时,两个活动的独立完成时间,αij为执行插入操作后独立完成时间的变化量。
如果αij>0,那么通过将设计活动j插到设计活动i的前面,即活动执行顺序变为{1,2,...,j,i,...,n},可以使得项目的产品开发项目总时间降低αij
定理二:接下来引入活动块概念,定义活动块I={i,i+1,...,k},将活动块I插入到活动j之前。
如果当前状态下活动j在活动块I之前执行,那么定义:活动块J={j,j+1,...,i-1},
Figure GDA0003224654480000192
Figure GDA0003224654480000193
αjI=α'jI-α”jI
如果当前状态下活动j在活动块I之后执行,那么定义:活动块K={k+1,...,j-1},
Figure GDA0003224654480000194
Figure GDA0003224654480000195
αjI=α'jI-α”jI
式中,α'jI、α”jI分别为在保持其他活动相对位置不变情况下,活动j、I在当前位置、将活动块I插入活动j前时的独立完成时间,αjI为活动j和活动块I执行插入操作的独立完成时间变化量。
如果αjI>0,那么通过将活动块I插入到活动j之前,即活动执行顺序变为{1,2,...,i,i+1,...,k,j,...,n},项目的产品开发项目总时间降低了αjI
采用活动插入的启发式算法算法,求解大规模DSM矩阵的具体步骤如下:
步骤0:假设项目的初始执行顺序为S,并计算出其对应地产品开发项目总时间间T。并初始化当前活动执行顺序S0=S,对应地产品开发项目总时间T0=T,总时间变化量ΔT=1。当总时间变化量ΔT>0时,进行以下操作:
步骤1:选取初始执行顺序S中的第一个设计活动i。
步骤2:对于当前活动执行顺序S0,找出机动活动i对应的位置,使用定理一,将其与每一个设计活动j(j≠i)计算得到αij。如果独立完成时间的变化量αij>0,那么则将活动i插入到活动j的前面,此时当前产品开发项目总时间T0=T-αij
步骤3:选取初始活动执行顺序S中的下一个活动,重复步骤2的操作,直到S中的最后一个活动被选取。从而得到改进后的当前活动执行顺序S0
步骤4:设定初始活动执行顺序S=S0,同时选取此时初始活动执行顺序S中的第一个活动i。
步骤5:设定活动块I={i},找到其在当前活动执行顺序S0中对应的位置,使用定理二,将其与每一个设计活动
Figure GDA0003224654480000201
计算得到αjI。如果αjI>0,那么则将活动块I插入到活动j的前面,此时T0=T-αjI;如果所有αjI≤0,那么则将序列S0中活动块I的后一个活动k加入到活动块I中,即I=I+{k},随后将更新的I与所有可能的设计活动进行计算,直至活动块I不存在后续活动。
步骤6:将初始活动执行顺序S中的下一个活动设为机动活动,重复步骤5的操作,直到S中的最后一个活动被设定为机动活动。即选取初始活动执行顺序S中的下一个活动,重复步骤5的操作,直到S中的最后一个活动被选取;
步骤7:更新初始执行顺序S=S0,总时间变化量ΔT=T-T0,总时间T=T0
下面为一个实施例。
以图1某电动汽车开发项目(n=8)为例,并设定参数p=4。首先,通过精确算法将DSM矩阵分为独立的前进、后退两个部分,这两个部分可以分别进行优化而不会相互影响。在前进部分优化中,第一步是要生成所有可能的子序列A2,包括{1,2}、{1,3}、...、{8,7}等56个序列
Figure GDA0003224654480000211
分别计算每一个序列的独立完成时间TA2及索引值。然后第二步进行序列匹配,保留具有相同索引值序列中TA2值最小的一个序列,最终保留{2,1}、{1,3}、...、{7,8}等28个序列
Figure GDA0003224654480000212
接下来在第三步,按照前两步的方法,前进部分继续不断地搜寻。并进行以下步骤:
步骤3.1将所有可能的活动添加到At(2≤t≤3)的末尾,生成子序列At+1(2≤t≤3),并计算每一个序列的TAt+1值及索引值。在这一步,A3会生成168个序列,A4会生成280个序列。一般来说,对于每一个At,其生成的序列总数为
Figure GDA0003224654480000213
步骤3.2将步骤3.1生成的所有序列按照索引值聚类,只保留其中TAt+1最小的序列。在这一步,A3会保留56个序列,A4会保留70个序列。一般来说,在这一步每一个At会保留
Figure GDA0003224654480000214
个序列。
类似地,后退部分的优化过程也和前进过程的类似。第一步生成了所有可能的B6序列。第二步进行序列匹配,保留具有相同索引值序列中TB6值最小的一个序列。接下来在第三步,后退部分继续不断地搜寻。并进行以下步骤:
步骤3.1,将所有可能的活动添加到Bt(5≤t≤6)的开头,生成Bt-1(5≤t≤6),并计算每一个序列的TBt-1值及索引值。
步骤3.2,将步骤3.1生成的所有序列按照索引值聚类,只保留其中TBt-1最小的序列。
在两个部分的优化都完成后,得到了序列集A4和B4,随后就需要进行第二次序列匹配。能够组成完整活动序列的两个子序列,必须满足
Figure GDA0003224654480000215
计算完整序列的产品开发项目总时间
Figure GDA0003224654480000216
最后从完整序列集中找到产品开发项目总时间T值最小的序列就是最优的设计活动序列。
表2展示了使用多种优化方法得到的求解结果对比,可以看出前三种方法得到的优化值不具有实际管理意义,同时与马尔科夫链模拟的结果相差较大,准确性和说服力都有较大局限;本发明提出的优化方法得到的优化结果较准确的预测了该产品开发项目的期望执行时间,且与马尔科夫链模拟的结果相似度最高,这也验证了本方法具有很高的准确性,同时本发明以算法的形式对产品开发项目进行优化和求解,相比马尔科夫链模拟具有更高的现实应用价值。从得到的优化结果来看,电动汽车开发项目的初始执行时间为28.94天,优化后的执行时间为25.59天。综合来讲,本发明提出的方法具有较高的有效性和应用价值。
表2多种方法对某电动汽车开发项目的优化结果对比
Figure GDA0003224654480000221
接下来验证精确算法的计算效率。测试了由10、11、12、13、14、15个设计活动组成的产品开发项目对应的DSM矩阵,每个活动的执行时间从[1,10]中随机生成,活动之间的信息依赖关系从[0,1]中随机生成。同时用De表示矩阵密度,De的数值等于DSM矩阵中非零的信息依赖(aij≠0)个数s,除以DSM矩阵中所有信息依赖个数(n(n-1)),取值包括0.1、0.2、0.3、0.4、0.5。对于给定活动总数n和矩阵密度De的DSM矩阵,都随机生成10个案例并求解,同时记录下它们的平均求解时间,如下表2所示:
表3精确算法的平均求解时间
Figure GDA0003224654480000222
Figure GDA0003224654480000231
从表3可以看出,精确算法在求解中小规模产品开发项目对应的DSM矩阵上具有较好的效果,可以在较短时间内得到全局最优解。
对启发式算法的验证如下:
两种启发式算法在求解大规模复杂产品开发项目对应的DSM矩阵问题上都具有较高的效率,能够在较短时间内找到优化程度较高的解。测试了10、15、20、25、30个活动组成的DSM矩阵。每个活动的执行时间从[1,10]中随机生成,活动之间的信息依赖关系从[0,1]中随机生成。同时用De表示矩阵密度,取值包括0.1、0.2、0.3、0.4、0.5。同时令T0为某复杂产品开发项目的初始总时间,Tr为优化后的产品开发项目总时间,Pr=100(T0-Tr)/T0衡量了算法对产品开发项目的优化程度。随后给定活动总数n和矩阵密度De,随机生成10个复杂产品开发项目案例对应的DSM矩阵并求解,同时记录下它们的平均求解时间和平均优化程度,如表4所示。
表4启发式算法的平均优化程度和求解时间
Figure GDA0003224654480000232
Figure GDA0003224654480000241
从表3可以看出,对于大规模复杂的DSM矩阵,两种启发式算法都可以在较短时间内,通过对设计活动执行序列的优化显著降低产品开发项目的总执行时间,优化程度在35%以上,从而产生显著的经济效益。两种算法中,基于活动交换的算法可以降低求解时间,基于活动插入的算法可以提高优化程度。
接下来,给出一家跨国公司子公司的平衡机产品开发实施例,这家公司生产的各种型号的平衡诊断机,在海内外均享有盛誉。公司的客户涵盖了几乎所有的主流汽车制造商,包括通用汽车、福特、大众等。这里选择其中一款平衡诊断机的开发过程进行优化分析。这一开发项目包括31个耦合设计活动,如表5所示。构成的DSM矩阵如图6所示。
表5组成平衡机产品开发项目的设计活动
Figure GDA0003224654480000242
Figure GDA0003224654480000251
针对初始DSM矩阵,计算得到:如果不存在返工的情况,所有设计活动只需要123天即可完成,但是在存在一阶和二阶返工的情况下,所有设计活动的总期望执行时间达到了244.15天,也就是说,返工时间占到了平衡机产品开发项目总时间的49.6%。这也进一步说明了通过优化设计活动执行顺序降低返工时间对复杂产品开发项目获得成功的必要性。接下来,应用两种启发式算法算法对初始DSM矩阵进行求解和优化。优化结果如表6所示。
表6平衡机开发项目的优化结果
算法 优化结果(天) 优化程度 求解时间(s)
活动交换 153.5 37.12% 276.09
活动插入 152.88 37.38% 569.98
从表5可以看出,两种启发式算法都在较短的时间内得到了优化结果,且优化程度都在37%以上,其中基于活动交换的启发式算法优化程度较低,但是求解时间较短;基于活动插入的启发式算法优化程度较高,但是耗费的求解时间较长。因此,两种启发式算法分别具备不同的应用环境。
以基于活动插入的启发式算法求解结果为例,求解结果如图7所示,优化后产品开发项目总时间降低至152.88天,其中返工时间仅占总时间的19.5%,返工对项目的影响程度大大降低。使用求解后得到的设计活动执行顺序,有利于缩短平衡机产品项目的开发周期,降低开发成本,提高该项目的研发成功率。

Claims (9)

1.基于设计结构矩阵的复杂产品开发时间预测及优化方法,其特征在于,包括以下步骤:
1)对于一个由n个平均完成时间已知、信息依赖关系已知的耦合设计活动构成的复杂产品开发过程,其所有设计活动组成设计活动集N;根据设计活动集N构建产品开发项目所对应的设计结构矩阵,并构建能够预测产品开发项目总时间的优化目标函数:
2)根据优化目标函数,求解设计活动数不大于15个的中小规模产品开发项目所对应的设计结构矩阵以及求解设计活动数大于15个的大规模产品开发项目所对应的设计结构矩阵;
步骤1)中构建优化目标函数的具体过程如下:
设计结构矩阵中对角线元素di表示活动i的平均完成时间;非对角线元素aij表示活动i对活动j的信息依赖程度;
按照n个设计活动的首次开始时间进行划分,将整个产品开发过程分为n个阶段;每一个设计阶段所包含的设计活动数等于此时所有已完成的设计活动数;
对于n个设计活动组成的复杂产品开发项目,初始执行序列是{1,2,...,n},构建包括n个阶段的马尔科夫链,那么对于第k阶段,第一个要完成的活动是设计活动k,因而第k阶段的第一个设计活动的期望执行时间为:
dk×1
其中,1≤k≤n,dk表示活动k的平均完成时间;
如果设计活动k引起了设计活动i的一阶返工,那么设计活动i一阶返工的期望执行时间为:
aik×di
其中,1≤i<k,aik表示活动i对活动k的信息依赖程度,di表示活动i的平均完成时间;那么第k阶段所有设计活动一阶返工的期望执行时间为:
Figure FDA0003224654470000011
如果设计活动k在引起了设计活动i的一阶返工后,设计活动i又导致了设计活动j的二阶返工,那么设计活动j二阶返工的期望执行时间为:
aik×aji×dj
其中,1≤j≤k,j≠i,aik表示活动i对活动k的信息依赖程度;aji表示活动j对活动i的信息依赖程度;dj表示活动j的平均完成时间;那么第k阶段所有设计活动二阶返工的期望执行时间为:
Figure FDA0003224654470000012
则第k阶段的总时间Tk为:
Figure FDA0003224654470000021
因此,对于n个设计活动组成的产品开发项目,产品开发项目总时间T为:
Figure FDA0003224654470000022
同理,当设计活动的执行序列发生改变时,对于任意活动执行序列,产品开发项目总时间T变为:
Figure FDA0003224654470000023
其中,zik、zjk分别表示活动i和活动k、活动j和活动k的相对位置;当活动i在活动k前完成时zik=1,否则取0;当活动j在活动k前完成时zjk=1,否则取0。
2.根据权利要求1所述的基于设计结构矩阵的复杂产品开发时间预测及优化方法,其特征在于,步骤2)中求解设计活动数不大于15个的中小规模设计结构矩阵的具体过程如下:
对于n个设计活动组成的设计结构矩阵,其活动执行序列为{1,2,...,n},以参数p为界,将活动执行序列分为Ap、Bp两个子序列,分别为:
Ap={1,2,...,p}
Bp={p+1,p+2,...,n}
其中,1≤p≤n;
根据优化目标函数,做出如下定义:
Figure FDA0003224654470000024
Figure FDA0003224654470000025
其中,TAP、TBP分别为子序列Ap、子序列Bp的独立完成时间;
此时,产品开发项目总时间T等于设计活动的平均完成时间之和与两个子序列独立完成时间TAP与TBP的和,即:
Figure FDA0003224654470000026
当子序列Ap前进运动变为Ap+1,或子序列Bp后退运动变为Bp-1时,子序列Ap的独立完成时间TAP与子序列Bp的独立完成时间TBP的变化为:
Figure FDA0003224654470000031
Figure FDA0003224654470000032
对于子序列Ap和子序列Bp两个部分的活动执行序列,均有固定的索引值
Figure FDA0003224654470000033
定义如下:
Figure FDA0003224654470000034
那么对完整的设计活动序列,其索引值是一个定值indexDSM
Figure FDA0003224654470000035
对于一个由n个设计活动组成的产品开发项目,将该产品开发项目所对应的设计结构矩阵分为独立的前进、后退两个部分,并分别对前进部分与后退部分进行优化,得到前进部分优化的结果Ap和后退部分优化的结果Bp
将前进部分优化的结果Ap和后退部分优化的结果Bp进行匹配,使得它们的索引值满足
Figure FDA0003224654470000036
从而得到备选的完整最优序列集合,并计算产品开发项目总时间
Figure FDA0003224654470000037
其中,
Figure FDA0003224654470000038
为Ap的索引值,
Figure FDA0003224654470000039
为Bp的索引值;
从备选的完整最优序列集合中选择具有最小产品开发项目总时间T值的序列为最优活动序列。
3.根据权利要求2所述的基于设计结构矩阵的复杂产品开发时间预测及优化方法,其特征在于,对前进部分与后退部分分别进行优化,得到前进部分优化的结果Ap和后退部分优化的结果Bp的具体过程如下:
前进运动部分优化的具体过程如下:
步骤1:找出所有可能的子序列A2序列,并计算TA2以及对应地索引值;
步骤2:对子序列A2进行序列匹配,并保留相同索引值中TA2最小的序列;
步骤3:假设参数t=2:1:(p-1),执行下列操作,直到循环结束后得到前进部分优化的结果Ap
步骤3.1:在子序列At的基础上,前进一步变为子序列At+1,并计算TAt+1以及对应地索引值;
步骤3.2:对于子序列At+1中的每一个序列,找到与其具有相同索引值的序列,比较各序列独立完成时间TAt+1,并保留具有最小独立完成时间TAt+1值的序列;
后退运动部分优化的具体过程如下:
步骤1:找出所有可能的Bn-2子序列,并计算独立完成时间TBn-2以及对应地索引值;
步骤2:对Bn-2进行序列匹配,并保留相同索引值中TBn-2最小的序列;
步骤3:假设参数t=(n-2):-1:(p+1),执行下列操作,直到循环结束后得到后退部分优化的结果Bp
步骤3.1:在子序列Bt的基础上,前进一步变为Bt-1,并计算独立完成时间TBt-1以及对应地索引值;
步骤3.2:对于Bt-1中的每一个序列,找到与其具有相同索引值的序列,比较各序列独立完成时间TBt-1值,并保留具有最小独立完成时间TBt-1值的序列。
4.根据权利要求1所述的基于设计结构矩阵的复杂产品开发时间预测及优化方法,其特征在于,步骤2)中,求解设计活动数大于15个的大规模设计结构矩阵的具体过程如下:
步骤0:假设复杂产品开发项目的初始活动执行顺序为S,并根据优化目标函数计算出其对应地产品开发项目总时间T;并初始化当前活动执行顺序S0=S,对应地产品开发项目总时间T0=T,总时间变化量ΔT=1;
当总时间变化量ΔT>0时,进行以下操作:
步骤1:选取初始活动执行顺序S的第一个设计活动i;
步骤2:对于当前活动执行顺序S0,找出活动i对应的位置,将活动i与后续位置的每一个设计活动j计算,得到活动i和活动j的独立完成时间变化量
Figure FDA0003224654470000041
如果
Figure FDA0003224654470000042
那么则交换S0中活动i和活动j的顺序,此时当前产品开发项目总时间为
Figure FDA0003224654470000043
步骤3:选取初始活动执行顺序S中的下一个设计活动,重复步骤2的操作,直到初始活动执行顺序S中的最后一个活动被选取;从而得到改进后的当前活动执行顺序S0
步骤4:设定初始执行顺序S=S0,同时选取此时初始执行顺序S中的第一个设计活动i;
步骤5:设定活动块I={i},找到活动块I={i}在当前活动执行顺序S0中对应的位置,将活动块I={i}与后续位置的每一个设计活动j计算,得到活动块I和活动j的独立完成时间变化量
Figure FDA0003224654470000044
如果
Figure FDA0003224654470000051
那么则交换当前活动执行顺序S0中活动块I和活动j的顺序,此时总时间
Figure FDA0003224654470000052
如果所有
Figure FDA0003224654470000053
那么则将序列S0中活动块I的后一个活动k加入到活动块I中,即I=I+{k},随后将更新的I与后续活动进行计算,直至活动块I不存在后续活动;
步骤6:选取初始执行顺序S中的下一个活动,重复步骤5的操作,直到S中的最后一个活动被选取;
步骤7:更新初始执行顺序S=S0,总时间变化量ΔT=T-T0,总时间T=T0
5.根据权利要求4所述的基于设计结构矩阵的复杂产品开发时间预测及优化方法,其特征在于,步骤2中,将活动i与后续位置的每一个设计活动j计算,得到活动i和活动j的独立完成时间变化量
Figure FDA0003224654470000054
的具体过程为:
对于一个由n个设计活动组成的产品开发项目,其活动执行顺序为{1,2,...,i,...,j,...,n};交换活动i与活动j的位置;定义:
Figure FDA0003224654470000055
Figure FDA0003224654470000056
Figure FDA0003224654470000057
式中,βij、βji分别为在保持其他活动相对位置不变情况下,活动i在活动j前执行、活动j在活动i前执行时,两个活动的独立完成时间;
Figure FDA0003224654470000058
为变换活动i、j位置时独立完成时间的变化量。
6.根据权利要求4所述的基于设计结构矩阵的复杂产品开发时间预测及优化方法,其特征在于,步骤5中,将活动块I与后续位置的每一个设计活动j计算,得到活动块I和活动j的独立完成时间变化量
Figure FDA0003224654470000059
的具体过程如下:
保持活动执行顺序不变,定义活动块I={i,...,h},同理,定义活动块H={h+1,...,j-1},交换活动块I与活动j的位置;定义:
Figure FDA00032246544700000510
Figure FDA00032246544700000511
Figure FDA0003224654470000061
式中,βIj为在保持其他活动相对位置不变情况下,活动块I在活动j前执行时,两者的独立完成时间;βjI为在保持其他活动相对位置不变情况下,活动j在活动块I前执行时,两者的独立完成时间,
Figure FDA0003224654470000062
为变换活动块I、活动j位置时独立完成时间的变化量。
7.根据权利要求1所述的基于设计结构矩阵的复杂产品开发时间预测及优化方法,其特征在于,步骤2)中求解设计活动数大于15个的大规模设计结构矩阵的具体过程如下:
步骤0:假设某复杂产品开发项目的初始执行顺序为S,并根据优化目标函数计算出其对应地产品开发项目总时间T;并初始化当前活动执行顺序S0=S,对应地产品开发项目总时间T0=T,总时间变化量ΔT=1;当总时间变化量ΔT>0时,进行以下操作:
步骤1:选取初始执行顺序S中的第一个设计活动i;
步骤2:对于当前活动执行顺序S0,找出活动i对应的位置,将活动i对应的位置与每一个设计活动j计算,分别得到独立完成时间的变化量αij;其中,j≠i;如果独立完成时间的变化量αij>0,那么则将活动i插入到活动j的前面,此时当前产品开发项目总时间T0=T-αij
步骤3:选取初始活动执行顺序S中的下一个活动,重复步骤2的操作,直到S中的最后一个活动被选取;从而得到改进后的当前活动执行顺序S0
步骤4:设定初始活动执行顺序S=S0,选取此时S中的第一个设计活动i;
步骤5:设定活动块I={i},找到活动块I={i}在当前活动执行顺序S0中对应的位置,将活动块I={i}与每一个设计活动j进行计算,分别得到活动I在活动j的独立完成时间的变化量αjI;其中,
Figure FDA0003224654470000063
如果αjI>0,那么则将活动块I插入到活动j的前面,此时T0=T-αjI;如果所有αjI≤0,那么则将序列S0中活动块I的后一个活动k加入到活动块I中,即I=I+{k},随后将更新的I与所有可能的设计活动进行计算,直至活动块I不存在后续活动;
步骤6:选取初始活动执行顺序S中的下一个活动,重复步骤5的操作,直到初始活动执行顺序S中的最后一个活动被选取;
步骤7:更新初始执行顺序S=S0,总时间变化量ΔT=T-T0,总时间T=T0
8.根据权利要求7所述的基于设计结构矩阵的复杂产品开发时间预测及优化方法,其特征在于,步骤2中,将活动i对应的位置与每一个设计活动j计算,分别得到独立完成时间的变化量αij的具体过程如下:
对于一个由n个活动构成的复杂产品开发项目,选取其中的两个设计活动i、j;将活动j插入到活动i之前;
如果在当前状态,活动i在活动j之前执行,即活动执行顺序为{1,2,...,i,...,j,...,n},那么定义:
Figure FDA0003224654470000071
Figure FDA0003224654470000072
αij=α′ij-α″ij
如果当前状态的活动i在活动j之后执行,即活动执行顺序为{1,2,...,j,...,i,...,n},那么定义:
Figure FDA0003224654470000073
Figure FDA0003224654470000074
αij=α′ij-α″ij
其中,α′ij、α″ij分别为在保持其他活动相对位置不变情况下,活动i、j在当前位置、将活动j插入活动i前时,两个活动的独立完成时间;αij为活动i和活动j执行插入操作的独立完成时间变化量。
9.根据权利要求7所述的基于设计结构矩阵的复杂产品开发时间预测及优化方法,其特征在于,步骤5中,将活动块I与每一个设计活动j进行计算,分别得到活动块I和活动j的独立完成时间的变化量αjI的具体过程如下:
定义活动块I={i,i+1,...,k},将活动块I插入到活动j之前;
如果当前状态下活动j在活动块I之前执行,那么定义:活动块J={j,j+1,...,i-1},
Figure FDA0003224654470000081
Figure FDA0003224654470000082
αjI=α′jI-α″jI
如果当前状态下活动j在活动块I之后执行,那么定义:活动块K={k+1,...,j-1},
Figure FDA0003224654470000083
Figure FDA0003224654470000084
αjI=α′jI-α″jI
式中,α'jI、α″jI分别为在保持其他活动相对位置不变情况下,活动j、I在当前位置、将活动块I插入活动j前时的独立完成时间,αjI为活动j和活动块I执行插入操作的独立完成时间变化量。
CN201910596239.2A 2019-07-03 2019-07-03 基于设计结构矩阵的复杂产品开发时间预测及优化方法 Active CN110348623B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910596239.2A CN110348623B (zh) 2019-07-03 2019-07-03 基于设计结构矩阵的复杂产品开发时间预测及优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910596239.2A CN110348623B (zh) 2019-07-03 2019-07-03 基于设计结构矩阵的复杂产品开发时间预测及优化方法

Publications (2)

Publication Number Publication Date
CN110348623A CN110348623A (zh) 2019-10-18
CN110348623B true CN110348623B (zh) 2021-11-19

Family

ID=68177760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910596239.2A Active CN110348623B (zh) 2019-07-03 2019-07-03 基于设计结构矩阵的复杂产品开发时间预测及优化方法

Country Status (1)

Country Link
CN (1) CN110348623B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110852593A (zh) * 2019-11-06 2020-02-28 重庆大学 任务处理方法、设备、存储介质及装置
CN115130828A (zh) * 2022-06-07 2022-09-30 北京科技大学 一种敏捷研发项目的冲刺划分及其排序优化方法及装置
CN116955352B (zh) * 2023-05-22 2024-06-11 广州生产力促进中心有限公司 一种基于等比数列的标签管理方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030395A (ja) * 2001-07-10 2003-01-31 Toshiba Corp プロジェクト管理方法及び装置及びプログラム及び記録媒体
JP2005135323A (ja) * 2003-10-31 2005-05-26 Toyota Motor Corp 開発工期短縮支援方法
CN102024203A (zh) * 2010-12-02 2011-04-20 北京航空航天大学 一种用于产品可靠性维修性保障性与性能一体化流程构建的模板转换方法
CN103679388A (zh) * 2013-12-26 2014-03-26 杭州万事利丝绸科技有限公司 生产调度方法及生产调度系统
CN103942349A (zh) * 2013-01-17 2014-07-23 中国空间技术研究院神舟学院 一种基于dsm的卫星耦合设计流程结构化分析及反演方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7280986B2 (en) * 2004-02-09 2007-10-09 The Board Of Trustees Of The University Of Illinois Methods and program products for optimizing problem clustering

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030395A (ja) * 2001-07-10 2003-01-31 Toshiba Corp プロジェクト管理方法及び装置及びプログラム及び記録媒体
JP2005135323A (ja) * 2003-10-31 2005-05-26 Toyota Motor Corp 開発工期短縮支援方法
CN102024203A (zh) * 2010-12-02 2011-04-20 北京航空航天大学 一种用于产品可靠性维修性保障性与性能一体化流程构建的模板转换方法
CN103942349A (zh) * 2013-01-17 2014-07-23 中国空间技术研究院神舟学院 一种基于dsm的卫星耦合设计流程结构化分析及反演方法
CN103679388A (zh) * 2013-12-26 2014-03-26 杭州万事利丝绸科技有限公司 生产调度方法及生产调度系统

Non-Patent Citations (11)

* Cited by examiner, † Cited by third party
Title
A Novel Approach to DSM-Based Activity Sequencing Problem;Yanjun Qian;《IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT》;20111130;第58卷(第4期);全文 *
A Predictive Model of Sequential Iteration in Engineering Design;Robert P. Smith;《Management Science》;19970801;第42卷(第8期);第6页左栏第2段-第10页右栏最后1段 *
An effective approach for scheduling coupled activities in development projects;Jun Lin;《European Journal of Operational Research》;20150516;第4页第2段-第12页第2段、第13页第2段 *
Exact algorithms for the feedback length minimisation problem;Zhen Shang;《International Journal of Production Research》;20180424;全文 *
Innovation at the speed of Information;Steven D. Eppinger;《harvard business review》;20010131;全文 *
Modeling the Impact of Process Architecture on Cost and Schedule Risk in Product Development;Tyson R. Browning;《IEEE Transactions on Engineering Management》;20021130;第49卷(第4期);全文 *
Novel Two-Phase Approach for Process Optimization of Customer Collaborative Design Based on Fuzzy-QFD and DSM;Aijun Liu;《IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT》;20170531;第64卷(第2期);第7页右栏第3段-第12页左栏第1段 *
Organizing Interrelated Activities in Complex Product Development;Yanjun Qian;《IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT》;20140531;第62卷(第2期);全文 *
Scheduling Interrelated Activities Using Insertion-Based Heuristics;Jun Lin;《IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT》;20180228;第65卷(第1期);全文 *
基于 DSM 的产品设计项目进度规划研究;冒宇婷;《中国优秀硕士学位论文全文数据库》;20180215(第2期);全文 *
基于设计结构矩阵的耦合活动排程;钱艳俊;《系统工程》;20180630;第36卷(第6期);全文 *

Also Published As

Publication number Publication date
CN110348623A (zh) 2019-10-18

Similar Documents

Publication Publication Date Title
CN110490717B (zh) 基于用户会话及图卷积神经网络的商品推荐方法及系统
CN110348623B (zh) 基于设计结构矩阵的复杂产品开发时间预测及优化方法
Zhu et al. An efficient evolutionary grey wolf optimizer for multi-objective flexible job shop scheduling problem with hierarchical job precedence constraints
Shen et al. Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems
Chang et al. An adaptive sampling algorithm for solving Markov decision processes
Yin et al. A Pareto-discrete hummingbird algorithm for partial sequence-dependent disassembly line balancing problem considering tool requirements
CN110989343A (zh) 一种基于强化学习的多阶段装备组合规划方法
US11675951B2 (en) Methods and systems for congestion prediction in logic synthesis using graph neural networks
CN111597757A (zh) 基于多目标加点准则的gp模型辅助slpso算法
Zhang et al. Flow faster: Efficient decision algorithms for probabilistic simulations
Shao et al. Customised pearlmutter propagation: A hardware architecture for trust region policy optimisation
Forootani et al. A stochastic dynamic programming approach for the machine replacement problem
CN114004065A (zh) 基于智能算法和环境约束下的变电站工程多目标优化方法
Horng et al. Ordinal optimization of G/G/1/K polling systems with k-limited service discipline
Wen et al. Scheduling interrelated activities in complex projects under high-order rework: a DSM-based approach
Soltan et al. System Engineering for dependency analysis-a Bayesian approach: application to obsolescence study
CN108830483B (zh) 多智能体系统任务规划方法
CN109902870A (zh) 基于AdaBoost回归树模型的电网投资预测方法
CN109377111A (zh) 基于改进模拟退火算法的作业调度方法和装置
Chen et al. Polynomial-time algorithms for computing distances of fuzzy transition systems
WO2019208581A1 (ja) インバーティブルロジック回路装置
Nukala et al. Generalized models of design iteration using signal flow graphs
Jarrah et al. Optimized parallel architecture of evolutionary neural network for mass spectrometry data processing
Subbaraj et al. Parallel genetic algorithm for VLSI standard cell placement
Krishnamoorthy et al. Optimizing stochastic temporal manufacturing processes with inventories: An efficient heuristic algorithm based on deterministic approximations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant