摘 要 并行工程技术的引入为企业带来了明显的效益,已在国内外得到了广泛的应用。本文结合并行工程环境下对设计时间估计,项目规划,团队组织方面的研究成果,针对实际生产中遇到的产品开发计划制订和规模较大的团队组织问题进行了深入研究,考虑到现实中的具体问题,在 .net 平台上设计并实现了基于 C/S 的产品项目规划和团队组织系统,给出了相应的流程设计、模块结构设计和总体系统的实现, 为企业生产效率的提高提供了一条科学途径 。
0 引言
并行设计的思想和方法强调产品设计和相关的各种过程设计的并行与集成,并且要求产品生命周期内的各种因素在产品开发的一开始就要同时考虑,这也是它与传统的串行产品开发模式的根本区别所在。例如机械产品的设计活动中,按照传统的串行生产方式,工艺设计要等到产品结构设计全部完成后才能进行,然而大多数情况下,产品结构设计并不能完全满足工艺设计的要求,在工艺设计阶段发现问题后修改已经完成的产品结构设计将会比较困难,工作量比较大。在并行工程的模式下,相应的问题将会比较简单,工艺设计并不需要等到产品结构设计全部完成后才开始,在产品结构设计到达一定的完成度时,工艺设计就可以开始了,此时发现问题,产品结构设计还正在进行,对后期的影响比较小,修改量也比原先的串行模式要小。目前,并行设计的主要模型有: Krishnan 等提出的基于模具的框架模型 [1] ,用于描述上游设计活动进化规律及其对下游设计活动影响的模型; Luh 等提出的活动网络模型 [2] ,用于对产品开发项目进行规划与调度等。
在产品的设计生产中,人的因素很大,不同的设计生产阶段选择最合适的人参与会起到事半功倍的效果。根据对不同人员业务程度等指标的评估,将其在特定时间段安排到特定的岗位将能最大程度发挥该员工的能力,同时提高整个团队的任务完成效率。人员的选择既要考虑到其自身的技术水平,工作业绩等,也要注意其参与的设计活动之间的相似度,并尽量
使其利用率达到最高。 虚拟产品开发团队 (Virtual Team) 和灵活产品开发团队 (Agile Team) 强调产品开发人员之间的协作以及团队的自治性 [3] ,为解决此类问题指出了一条可行的途径。
现代的工业生产设计中产品越来越复杂,涉及到的人,物越来越多,生产设计计划的合理制订和安排,各部门人员之间的配合均对任务快速、高效、高质量的完成起到决定性的作用。以并行工程思想为基础的项目规划和团队组织,可以较好的解决生产设计时间过长,修改工作量过大,人员利用率偏低等传统串行模式生产方式下的弊病。
本文采用模糊神经网络模型和支持向量机模型,以及并行工程项目规划和团队组织模型,来描述产品研发计划制订和研发团队人员选择的问题,为提高企业研发过程中的决策和组织能力提出了一种可行的实现方案,从而可以在缩短产品研发时间的同时,提高研发过程中的资源利用率。
1 理论基础
1.1 设计活动时间估计
对于一个并行项目的规划,首先,需要比较准确地估计各子项目的完成时间。文献 [4] 和 [5] 提出的模糊神经网络模型和支持向量机模型为此提供了一个比较好的解决方法。其主要思想认为各种外部影响因素和设计活动时间之间存在某种非线性映射关系,通过对样本的学习找出最相似于该映射的逼近函数,再通过该函数求出具体设计活动的时间估计。文献 [4] 指出模糊神经网络模型需要大量的学习样本,海量的学习样本将显著提高时间估计的精度;文献 [5] 的结论说明支持向量机模型对学习样本的数量要求远低于模糊神经网络模型,样本的数量对精度影响不大,适用于小样本情况。
1.2 并行工程产品开发计划制订
文献 [6]提出了一种新的活动组网络模型, 着重描述由于下游设计发现上游设计的错误而导致的设计迭代 , 同时也体现上游设计活动对下游设计活动进度的影响。该模型关注上下游设计活动之间存在重叠的情形 , 而不是纯粹的串行或平行的情形。在并行工程模式下 , 项目的每个阶段都可以用若干组相互重叠的设计活动 ( 包括产品设计活动及其相关的过程设计活动 ) 来描述,因此产品开发项目就可以用设计活动组 ( 组内包含若干相互重叠的设计活动 ) 构成的网络来描述如图 1 。
文献 [6] 也给出了一种分枝定界算法解决此最优问题,在分配给各项目的资源确定时,调整分配的资源数量,最小化完成时间的同时使平均资源利用率不低于一个给定值。为了更好地模拟现实中的情况,又引入了扩展随机高级判断 Petri 网模型来描述实际生产中存在的生产设计过程的中断,该模型和算法能够较真实的反映和解决实际生产中的问题。
1.3 并行工程产品开发的团队组织
文献 [7] 使用一个整数规划模型描述产品开发团队组织问题, 在这一模型中 , 考虑了团队组织的几个主要原则 , 即已完成的产品开发设计活动和当前设计活动的相似性 , 开发人员的技术水平 , 创新能力 , 管理能力及产品开发设计活动对开发人员数量和工作负荷的要求, 并使用 Tabu 搜索算法解决了这个问题。
2 项目规划与团队组织系统的总体设计
本系统主要由三部分组成:产品设计时间估计,产品开发计划制订,产品开发团队组织。其中后一步的计算都需要用到前一步的结果。具体结构如图 2 。
2.1 产品设计时间估计模块的设计
产品设计时间估计模块主要作用是根据各产品设计过程所具有的不同特征,对比从样本库中学习到的规律,估计其完成设计活动所需要的时间。
作为整个系统的第一步,设计时间估计的精度对后两个模块计算的准确性有着相当大的影响。由于设计时间估计的精度很大程度上依赖于学习样本的数量和质量。考虑到用户并不一定拥有大量的高质量样本,所以提供了两种算法供用户选择。模糊神经网络模块对样本数量的敏感性比较强,样本数量越多精度越高,随着样本数量的减少精度的下降速度比较快;支持向量机模块则偏向于小样本情况,其精度随样本数量的减少下降不明显。
为了用户录入的方便和输出结果的统一,两个模块共用同一输入输出界面。设计时间估计的统一输入为影响产品设计时间的各方面的特征描述,例如产品的复杂程度,某些部分对整体的重要性,工艺精度的要求等,其中有部分量为数值型,另一部分为模糊型。该输入可以由用户经验得到,也可以由其他方式例如 QFD 质量屋评估得到,为此系统提供了相应接口,只要输入符合格式要求即可无缝结合。由于考虑到用户输入量比较大,或者数据有可能来自于其它程序得到得数据文件,所以在输入方式上考虑有手工输入和文件导入两种方式并存。所有输入作为独立的表存入数据库中,用户通过前台程序对数据库进行操作。
无论是模糊神经网络模块还是支持向量机模块均包含产品设计时间训练和产品设计时间计算两部分。
2.1.1 产品设计时间训练
此部分主要功能是对样本进行学习和训练,模拟出其内部的规律。由于此部分需要处理大量的样本数据,进行复杂的迭代运算,所以耗费时间比较长,经测试在 PIII733MHZ , 256 兆内存的机器上,使用微软的 .net 平台,对应于 46 组样本的模糊神经网络训练需要 50 秒左右;对应 40 组样本的支持向量机训练需要 330 秒左右。为此需设置进度条以展示计算的进度。因为此部分样本数据比较多,所以输入大多是文件导入方式。
由此可见将训练部分与结果计算部分分离用户不必每次均进行耗时的训练,可以以避免不必要的等待时间。
2.1.2 产品设计时间计算
此部分根据训练部分的结果经过运算得到产品设计时间的估计值。相比训练部分,此部分运算较为简单,耗时几乎可以忽略,输入大多使用手工输入(产品数量多时也可使用文件导入方式)。由于两种算法都有外推性差的缺点,所以输入产品的特征不能超出样本特征的范围,为此提供了提示和检查机制,避免产生错误的结果。
2.2 产品开发计划制订模块的设计
产品开发计划制订模块以设计时间估计模块估计出的产品设计时间为基础,结合其它约束条件(如资源约束)制定出在一定约束条件下,具有前后制约的设计流程的最短完成时间计划。
该模块的输入之一是设计时间估计模块的输出。程序将每个设计活动看作由多个单独设计活动组成的活动组,每个单独活动的设计时间即为设计时间估计模块的输出,各个活动组之间有顺序约束(如图 1 )。现实中的设计活动会受到资源的约束(例如人员材料分配等),并且这些资源还有可能出现缺席的现象 , 为此需要以一定的方式模拟缺席状况,在这里 设所有资源的某一次缺席开始时刻和结束时刻之间的时间间隔的长度服从参数为 0.5 的负指数分布,并设所