当前位置:文档之家› 系统工程论文ISM

系统工程论文ISM

系统工程ISM论文摘要:结构模型法是现代系统工程中广泛应用的一种分析方法,能够利用系统要素之间已知的关系,分析复杂系统要素间关联结构,揭示出系统内部结构。

本次试验的目的是应用C语言编程实现解释结构模型(ISM)方法。

为了举例说明,我们举我校食堂拥挤问题,来对编程进行检验,进而研究分析的思路和方法。

关键词:计算机;ISM;编程;C语言;食堂拥挤1 引言本次试验的目的是编写程序设计快速实现解释结构模型(ISM)方法解释信息工程技术大学理学院食堂拥挤问题的算法,使我们对系统工程解决社会经济等复杂性、系统性问题需要计算机的支持获得深刻的理解,进而懂得计算机应用的重要性!强化计算机实际应用能力。

近年来,随着我校整体规模的不断扩大,很多细节问题都成了师生们关注的焦点,尤其是学校食堂的问题日益成为师生们关心的重点。

可以看到,食堂经常出现很长的排队情况。

拟定用这个例子作为突破点,进行计算机的ISM方法实现,我们首先组建了一个ISM 研究小组,共四人,研究出现该拥挤问题的原因。

经过小组成员及其他有关人员的讨论,我们初步整理出了问题构成的要素。

2ISM方法的编程实现2.1 ISM的算法设计步骤(1)信息工程大学食堂拥挤问题原因分析;近年来,随着我校整体规模的不断扩大,很多细节问题都成了师生们关注的焦点,尤其是学校食堂的问题日益成为师生们关心的重点。

可以看到,食堂经常出现很长的排队情况。

针对该拥挤问题,我们首先组建了一个ISM 研究小组,共四人,研究出现该拥挤问题的原因。

经过小组成员及其他有关人员的讨论,我们初步整理出了问题构成的要素。

(2)选择构成食堂拥挤问题的要素;在形成对食堂拥挤问题初步认识的意识模型基础上,本组成员进一步明确定义了影响食堂客源的各要素,系统共有11个要素所组成,见表1。

要素集合为A,表达式:A= {A1,A2,A3, (11)表1 系统构成要素(3)针对信息工程大学大食堂拥挤问题建立邻接矩阵和可达矩阵;系统中这11个要素是有机的联系在一起的,而这些要素之间又是相互影响的,将这种影响关系用矩阵,即邻接矩阵来表示。

矩阵的元素aij =1 表示要素Ai 对Aj 有直接影响,否则a ij =0。

在本实验中,根据小组及相关人员分析之后,建立邻接矩阵如表2。

表2 邻接矩阵A2.2 实验步骤1.根据系统元素建立的邻接矩阵编程求出可达矩阵;2.对可达矩阵编程求系统元素的前因集、后果集及其它们的交集,作出分级划分;3.作出强连通与不连通子集划分。

邻接矩阵表2反映了要素之间的直接关系,同时,要素之间还存在着间接关系,要素Ai 影响A j,而A j又影响A k,则Ai就间接影响Ak。

这种影响可能是通过一个中间要素,也可能通过多个中间要素。

我们用可达矩阵M来表示这样的直接或者间接的要素之间的影响关系。

矩阵的元素a ij =1表示要素A i 对Aj有直接或间接的影响,否则,a ij =0。

具体结果如图表3。

表3 可达矩阵M2.3 对可达矩阵进行分检整理;根据可达矩阵,我们找出要素A i能够影响到的所有要素,组成可达集R(A i )和所有能够影响到A i的要素,组成前因集A (Ai) ,同时我们找出所有即能影响Ai又被Ai 影响的要素,组成交集S(Ai)。

见表4表4 可达集和前因集列表区域内的级位划分,是确定区内各要素所处层次地位的过程。

基本方法是找出整个系统要素集合中没有影响其他要素的要素,即最高级要素,将他们去掉,求剩下要素集合的最高级要素,依次类推,直到确定出最低一级的要素集合。

最高级要素的定义式为:L1 ={ A i︱A i∈A,R 0 (A i )∩A0 (A i )=R 0 (A i ),i= 1,2,…n }通过运算,可以得到第一级元素为A1;二级元素A11;三级元素A3, A7,A8 A9 A10,;四级元素A6;五级元素A2, A5;六级元素A4。

2.4如果使用计算机应用软件,则给出详细的实现ISM的操作过程;(1)建立系统要素关系表(2)根据系统要素关系表,作相交有向图,建立领接矩阵(3)通过矩阵运算求出系统的可达矩阵M(4)对M进行区域分解与级间分解(5)建立模型2.5 课后应用实验课掌握的计算机知识给出小组论文中涉及的ISM算法。

之前,我们已经提到了ISM算法的步骤,针对本小组这次的实验,我觉得我们基本涉及的ISM算法有:(1)设定信息工程技术大学食堂拥挤问题,明确ISM的分析目标;(2)选择构成食堂拥挤问题的要素;(3)针对信息工程技术大学大食堂拥挤问题建立邻接矩阵和可达矩阵;(4)画图,建立解释结构模型。

2.6 部分算法:void columchang(matrix pmat){//n行n一1矩阵进行列变换,使得n+1行n列矩阵第一行上仅有一个元素为非零.int i,j,min,minloc,minsgn;//min,minloc,minsgn:矩阵第一行上最小元素、位置、符号.int divminexact;//未知数的系数均能被最小系数整除标志.int notdivexacol;//第一个不能被最小数整除的未知系数下标.int n,changcol,temp;//交换列n pmat一> paratotal;//找出第一行上绝对值最小的元素及所在位置.min= abs(pmat一> array_result[0][0]);minloc = 0:if(pmat一>array_result.[0][0]>0)minsgn= 1;II1:正数.else minsgn=0;//0:负数.for(i: 1;i<n;i++){if(min>abs(pmat一>aray_result[0][i])){min= abs(pmat一> array_result[0][i]);minloc = i;if(pmat一>array_result[0][i]>0)minsgn= 1;else minsgn = 0:}}divminexact=1;//判断所有未知数的系数是否均能被绝对值最小数1整除.for(i=0;i<n;i++){i (abs(pmat一>aray_result[0][i])%min!=O)&&abs(pmat一> aray_result[0][i])%min==1){//找到不能被最小系数整除但整除余1的元素所在的位置notdivexacoldivminexact= 0;notdivexacol= i;break;}}if(divminexact==1 1//若所有未知数的系数均能被最小系数整除,作列变换直接将其余系数变为0{//从而仅仅保留一个非0int multi;for(i=0;i<n;i++){multi=abs(pmat一>array_result[0][i])/min;for(j=0;j< n;j++){if(minloc!:i){If((minsgn== l&&pmat一>array_result[0][i]>=0)ll(minsgn==•63 •第3期曲靖师范学院学报第28卷O&&pmat一>array_result[0][i]<O)){pmat一>array_result[j][i]+ pmat一>array_resuh[j][minloc]*(一multi);}If((minsgn=:1&&pmat一>a聃y—resuh[O][i]<0)I I(minsgn:=O&&pmat 一>aray_result[0][i]>:0)){pmat一>array_result[j][i]+=pmat一>aray_resuh[j][minloc]*multi;}}}}}if(divminexact=:O){/,将不能整除最小未知数系数的第一个未知数系数列通过列变换设置为1int multi;multi=abs(pmat一>array_result[0][notdivexaco1])/min;for(i=0;i<n;i++)}If((minsgn==1&&pmat一>aray_result[0][notdivexaco1]>=0)II’(minsgn= = O&&pmat一>aray_result[0][notdivexaco1] <0)){pmat一>array_result[i][notdivexaco1]+=pmat一>aray_resuh[i][minloc]*(一muhi);}I“(minsgn=:l&&pmat一>aray_result[0][notdivexaco1]<0)lJ(minsgn: = O&&pmat一>array_result[O][notdivexaco1] >=0)){pmat一>aray_result[i][notdivexaco1]+=pmat一>array_result[i][minloc]*multi;}}f0r(i=O;i<n;i++)f//用第一行为I的列去处理其余列,通过列变换将其余列的第一行全部设置为0multi=abs(pmat一>aray_result[O][i])/1;for(j=O;j<n;j++)•64 •{if(notdivexacol!=i){if(pmat一>aray_result[0][i]>=O){pmat一> array_result[j][i]+: pmat一>aray_result[j][notdivexaco1]*(一multi);} if(pmat一>aray_result[0][i]<0){pmat一>array_result[j][i] i+=pmat一>array_result[j][notdivexaco1]*multi;}}}}}for(i=0;i<n;i++)//将第一行非O元素列和第一列交换{if(pmat一>array_result[0][i]!=0)ehangcol=i;}for(i=0;i<:n;i++){temp=pmat一>array_result[i][0];pmat一>array_result[i][0]=pmat一>aray_result[i][changco1];pmat一> aray_result[i][changeo1] = temp;}}3 结论图1 递阶结构模型图2 解释结构模型如图1所示,我们可以清楚地看到食堂客源系统是一个有6级的递阶结构模型。

相关主题