您好,欢迎访问三七文档
数学建模作业姓名:叶勃学号:班级:024121一:层次分析法1、分别用和法、根法、特征根法编程求判断矩阵1261/2141/61/41A11/2433217551/41/711/21/31/31/52111/31/5311A的特征根和特征向量(1)冪法求该矩阵的特征根和特征向量程序为:#includeiostream#includemath.husingnamespacestd;#definen3//三阶矩阵#defineN20#defineerr0.0001//幂法求特征值特征向量voidmain(){cout**********幂法求矩阵最大特征值及特征向量***********endl;inti,j,k;doubleA[n][n],X[n],u,y[n],max;cout请输入矩阵:\n;for(i=0;in;i++)for(j=0;jn;j++)cinA[i][j];//输入矩阵cout请输入初始向量:\n;for(i=0;in;i++)cinX[i];//输入初始向量k=1;u=0;while(1){max=X[0];for(i=0;in;i++){if(maxX[i])max=X[i];//选择最大值}for(i=0;in;i++)y[i]=X[i]/max;for(i=0;in;i++){X[i]=0;for(j=0;jn;j++)X[i]+=A[i][j]*y[j];//矩阵相乘}if(fabs(max-u)err){coutA的特征值是:endl;coutmaxendl;coutA的特征向量为:endl;for(i=0;in;i++)coutX[i]/(X[0]+X[1]+X[2]);coutendl;break;}else{if(kN){k=k+1;u=max;}else{cout运行错误\n;break;}}}}程序结果为:(2)和法求矩阵最大特征值及特征向量程序为:#includestdio.h#includeiostream#includemath.husingnamespacestd;#definen3//三阶矩阵#defineN20voidmain(){inti,j,k;doubleA[n][n],w[n],M[n],u[n],W[n][n],max;cout********和法求矩阵的特征根及特征向量*******endl;cout请输入矩阵:\n;for(i=0;in;i++)for(j=0;jn;j++)cinA[i][j];//输入矩阵//计算每一列的元素和M[0]=0;M[1]=0;M[2]=0;for(i=0;in;i++)for(j=0;jn;j++){M[i]+=A[j][i];}//将每一列向量归一化for(i=0;in;i++)for(j=0;jn;j++){W[j][i]=A[j][i]/M[i];}//输出按列归一化之后的矩阵Wcout按列归一化后的矩阵为:endl;for(i=0;in;i++)for(j=0;jn;j++){coutW[i][j];if(j==2)coutendl;}//求特征向量w[0]=0;w[1]=0;w[2]=0;for(i=0;in;i++)for(j=0;jn;j++){w[i]+=W[i][j];}cout特征向量为:endl;for(i=0;in;i++){u[i]=w[i]/(w[0]+w[1]+w[2]);coutu[i]endl;}//求最大特征值max=0;for(i=0;in;i++){w[i]=0;for(j=0;jn;j++){w[i]+=A[i][j]*u[j];}}for(i=0;in;i++){max+=w[i]/u[i];}cout最大特征根为:endl;coutmax/nendl;}运行结果为:(3)根法求矩阵最大特征值及特征向量:程序为:#includestdio.h#includeiostream#includemath.husingnamespacestd;#definen3//三阶矩阵#defineN20voidmain(){inti,j;doubleA[n][n],w[n],M[n],u[n],W[n][n],max;cout********根法求矩阵的特征根及特征向量*******endl;cout请输入矩阵:\n;for(i=0;in;i++)for(j=0;jn;j++)cinA[i][j];//输入矩阵//计算每一列的元素和M[0]=0;M[1]=0;M[2]=0;for(i=0;in;i++)for(j=0;jn;j++){M[i]+=A[j][i];}//将每一列向量归一化for(i=0;in;i++)for(j=0;jn;j++){W[j][i]=A[j][i]/M[i];}//输出按列归一化之后的矩阵Wcout按列归一化后的矩阵为:endl;for(i=0;in;i++)for(j=0;jn;j++){coutW[i][j];if(j==2)coutendl;}//求特征向量//w[0]=A[0][0];w[1]=A[0][1];w[2]=A[0][2];w[0]=1;w[1]=1;w[2]=1;for(i=0;in;i++){for(j=0;jn;j++){w[i]=w[i]*W[i][j];}w[i]=pow(w[i],1.0/3);}cout特征向量为:endl;for(i=0;in;i++){u[i]=w[i]/(w[0]+w[1]+w[2]);coutu[i]endl;}//求最大特征值max=0;for(i=0;in;i++){w[i]=0;for(j=0;jn;j++){w[i]+=A[i][j]*u[j];}}for(i=0;in;i++){max+=w[i]/u[i];}cout最大特征值为:endl;coutmax/n;}运行结果为:2、编程验证n阶随机性一致性指标RI:运行结果:3、考虑景色、费用、居住、饮食、旅途五项准则,从桂林、黄山、北戴河三个旅游景点选择最佳的旅游地。其中假设目标对准则的比较判断矩阵为11/2433217551/41/711/21/31/31/52111/31/5311A11251/2121/51/21B211/31/8311/3831B31131131/31/31B41341/3111/411B5111/4111/4441B建模:计算层次单排序的权向性和一致性检验成对比较矩阵A的最大特征值=5.073该特征值对应的归一化向量110.0099.0055.0475.0263.0,,,,二数学规划练习练习1某班准备从5名游泳员中选择4人组成接力队,参加学校的4×100m混合泳接力比赛,5名队员4种泳姿的百米平均成绩如表,问如何选拔队员。从5名队员中选出4名组成接力队,每人一种泳姿,且4人的泳姿各不相同,使接力队的成绩最好。容易想到的一个办法是穷举法,组成接力队的方案共5!=120种,逐一计算逼供内比较,即可以得到最优方案。显然这不是解决这类问题的好方法,随着问题规模的变大,穷举法的计算量是无法接受的。可以用0-1变量表示一个队员是否入选接力对,从而建立这个问题的0-1规划模型,借助现成的数学软件求解。模型的建立与求解记甲乙丙丁戊分别为队员5,4,3,2,1i;记蝶泳、仰泳、自由泳分别为泳姿J=1,2,3,4.记队员i的第j种泳姿的百米最好成绩为,即有队员甲乙丙丁戊蝶泳1’06’’857’’21’18’’1’10’’1’07’’4仰泳1’15’’61’06’’1’14’’21’14’’21’11’’蛙泳1’27’’1’06’’41’09’’61’09’’61’23’’8自由泳58’’653’’59’’457’’21’02’’4引入0-1变量xij,若选择队员i参加泳姿j的比赛,记xij=1,否则记xij=0。根据组成接力队的要求,xij应满足两个约束条件程序为:练习2料场的建立与运输建筑工地的位置(用平面坐标a,b表示,距离单位:公里)及水泥日用量d(吨)下表给出。有两个临时料场位于P(5,1),Q(2,7),日储量各有20吨。从A,B两料场分别向各工地运送多少吨水泥,使总的吨公里数最小。两个新的料场应建在何处,节省的吨公里数有多大?123456a1.258.750.55.7537.25b1.250.754.7556.57.75d3547611设工地的位置为(ai,bi),水泥日用量为di,i=1,2,…,6;料场位置为(xj,yj),日储量为ej,j=1,2;从料场j向工地i的运送量为cij。决策变量:在问题(1)中,决策变量就是料场j向工地i的运送量为cij;在问题(2)中,决策变量除了料场j向工地i的运送量为cij外,新建料场位置(xj,yj)也是决策变量。运行结果:Localoptimalsolutionfound.Objectivevalue:85.26604Totalsolveriterations:61VariableValueReducedCostA(1)1.2500000.000000A(2)8.7500000.000000A(3)0.50000000.000000A(4)5.7500000.000000A(5)3.0000000.000000A(6)7.2500000.000000B(1)1.2500000.000000B(2)0.75000000.000000B(3)4.7500000.000000B(4)5.0000000.000000B(5)6.5000000.000000B(6)7.7500000.000000D(1)3.0000000.000000D(2)5.0000000.000000D(3)4.0000000.000000D(4)7.0000000.000000D(5)6.0000000.000000D(6)11.000000.000000X(1)3.2548830.000000X(2)7.2500000.6335133E-06Y(1)5.6523320.000000Y(2)7.7500000.5438639E-06E(1)20.000000.000000E(2)20.000000.000000C(1,1)3.0000000.000000C(1,2)0.0000004.008540C(2,1)0.0000000.2051358C(2,2)5.0000000.000000C(3,1)4.0000000.000000C(3,2)0.0000004.487750C(4,1)7.0000000.000000C(4,2)0.0000000.5535090C(5,1)6.0000000.000000C(5,2)0.0000003.544853C(6,1)0.0000004.512336C(6,2)11.000000.000000RowSlackorSurplusDualPriceOBJ85.26604-1.000000DEMAND_CON(1)0.000000-4.837363DEMAND_CON(2)0.000000-7.158911DEMAND_CON(3)0.000000-2.898893DEMAND_CON(4)0.000000-2.578982DEMAND_CON(5)0.000000-0.8851584DEMAND_CON(6)0.0000000.000000SUPPLY_CON(1)0
本文标题:数学建模作业及答案
链接地址:https://www.777doc.com/doc-2331354 .html