数学建模算法大全层次分析法

发布时间 : 星期四 文章数学建模算法大全层次分析法更新完毕开始阅读

CR??CI(j)a?RI(j)aj?1j?1mmj

j当CR?0.10时,认为层次总排序结果具有较满意的一致性并接受该分析结果。 §2 层次分析法的应用

在应用层次分析法研究问题时,遇到的主要困难有两个:(i)如何根据实际情况抽象出较为贴切的层次结构;(ii)如何将某些定性的量作比较接近实际定量化处理。层次分析法对人们的思维过程进行了加工整理,提出了一套系统分析问题的方法,为科学管理和决策提供了较有说服力的依据。但层次分析法也有其局限性,主要表现在:(i)它在很大程度上依赖于人们的经验,主观因素的影响很大,它至多只能排除思维过程中的严重非一致性,却无法排除决策者个人可能存在的严重片面性。(ii)比较、判断过程较为粗糙,不能用于精度要求较高的决策问题。AHP至多只能算是一种半定量(或定性与定量结合)的方法。

在应用层次分析法时,建立层次结构模型是十分关键的一步。现再分析一个实例,以便说明如何从实际问题中抽象出相应的层次结构。

例2 挑选合适的工作。经双方恳谈,已有三个单位表示愿意录用某毕业生。该生根据已有信息建立了一个层次结构模型,如下图所示。

AB1B2B3B4B5B6

B1 1 1 1 4 1 1/2 B2 1 1 2 4 1 1/2 B3 1 1/2 1 5 3 1/2 B4 1/4 1/4 1/5 1 1/3 1/3 B5 1 1 1/3 3 1 1 B6 2 2 2 3 3 1

(方案层)

B1C1C2C3B2C1C2C3

C1 1 1/4 1/2 C1 1 1/4 1/5 C2 4 1 3 C2 4 1 1/2 C3 2 1/3 1 C3 5 2 1

B3C1C2C3B4C1C2C3

C1 1 3 1/3 C1 1 1/3 5 C2 1/3 1 7 C2 3 1 7 C3 3 1/7 1 C3 1/5 1/7 1 B5C1C2C3B6C1C2C3

C1 1 1 7 C1 1 7 9 C2 1 1 7 C2 1/7 1 1 C3 1/7 1/7 1 C3 1/9 1 1

(层次总排序)如下表所示。 研究 发展 待遇 同事 地理 单位 准则 课题 前途 情况 位置 名气 0.1507 0.1792 0.1886 0.0472 0.1464 0.2879 准则层权值 方案层 工作1 0.13650.09740.24260.27900.46670.7986 单排序 工作2 0.62500.33310.08790.64910.46670.1049 权值 工作3 0.23850.56950.66940.07190.06670.0965 根据层次总排序权值,该生最满意的工作为工作1。 计算程序如下: clc

a=[1,1,1,4,1,1/2 1,1,2,4,1,1/2 1,1/2,1,5,3,1/2

1/4,1/4,1/5,1,1/3,1/3 1,1,1/3,3,1,1 2,2,2,3,3,1];

[x,y]=eig(a);lamda=max(diag(y)); [i,j]=find(y==lamda);

ci1=(lamda-6)/5;cr1=ci1/1.24 w1=x(:,j)/sum(x(:,j))

b1=[1,1/4,1/2;4,1,3;2,1/3,1];

[x,y]=eig(b1);lamda=max(diag(y)); [i,j]=find(y==lamda);

ci21=(lamda-3)/2;cr21=ci21/0.58 w21=x(:,j)/sum(x(:,j))

b2=[1 1/4 1/5;4 1 1/2;5 2 1]; [x,y]=eig(b2);lamda=max(diag(y)); [i,j]=find(y==lamda);

ci22=(lamda-3)/2;cr22=ci22/0.58 w22=x(:,j)/sum(x(:,j))

b3=[1 3 1/3;1/3 1 1/7;3 7 1]; [x,y]=eig(b3);lamda=max(diag(y)); [i,j]=find(y==lamda);

ci23=(lamda-3)/2;cr23=ci23/0.58 w23=x(:,j)/sum(x(:,j))

b4=[1 1/3 5;3 1 7;1/5 1/7 1]; [x,y]=eig(b4);lamda=max(diag(y)); [i,j]=find(y==lamda);

总排序权值 0.3952 0.2996 0.3052 ci24=(lamda-3)/2;cr24=ci24/0.58 w24=x(:,j)/sum(x(:,j))

b5=[1 1 7;1 1 7;1/7 1/7 1]; [x,y]=eig(b5);lamda=max(diag(y)); [i,j]=find(y==lamda);

ci25=(lamda-3)/2;cr25=ci25/0.58 w25=x(:,j)/sum(x(:,j))

b6=[1 7 9;1/7 1 1 ;1/9 1 1]; [x,y]=eig(b6);lamda=max(diag(y)); [i,j]=find(y==lamda);

ci26=(lamda-3)/2;cr26=ci26/0.58 w26=x(:,j)/sum(x(:,j))

w_sum=[w21,w22,w23,w24,w25,w26]*w1 ci=[ci21,ci22,ci23,ci24,ci25,ci26]; cr=ci*w1/sum(0.58*w1)

习 题 八

1. 若发现一成对比较矩阵A的非一致性较为严重,应如何寻找引起非一致性的元素?例如,设已构造了成对比较矩阵

??1A??5?1??31?3?516?

?11?6?(i)对A作一致性检验。

(ii)如A的非一致性较严重,应如何作修正。

第九章 插值与拟合

插值:求过已知有限个数据点的近似函数。

拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小。

插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法上是完全不同的。而面对一个实际问题,究竟应该用插值还是拟合,有时容易确定,有时则并不明显。 §1 插值方法

下面介绍几种基本的、常用的插值:拉格朗日多项式插值、牛顿插值、分段线性插值、Hermite插值和三次样条插值。

1.1 拉格朗日多项式插值 1.1.1 插值多项式

用多项式作为研究插值的工具,称为代数插值。其基本问题是:已知函数f(x)在区间[a,b]上n?1个不同点x0,x1,?,xn处的函数值yi?f(xi)(i?0,1,?,n),求一个至多n次多项式

?n(x)?a0?a1x???anxn (1) 使其在给定点处与f(x)同值,即满足插值条件

?n(xi)?f(xi)?yi(i?0,1,?,n) (2)

?n(x)称为插值多项式,xi(i?0,1,?,n)称为插值节点,简称节点,[a,b]称为插值

区间。从几何上看,n次多项式插值就是过n?1个点(xi,f(xi))(i?0,1,?,n),作一条多项式曲线y??n(x)近似曲线y?f(x)。

n次多项式(1)有n?1个待定系数,由插值条件(2)恰好给出n?1个方程

2n?a0?a1x0?a2x0???anx0?y0?2n?a0?a1x1?a2x1???anx1?y1 (3) ?? ? ? ?a?ax?ax2???axn?y1n2nnnn?0记此方程组的系数矩阵为A,则

1x0det(A)?1x12x0?nx0x12?x1n???????2n1xnxn?xn

是范德蒙特(Vandermonde)行列式。当x0,x1,?,xn互不相同时,此行列式值不为零。因此方程组(3)有唯一解。这表明,只要n?1个节点互不相同,满足插值要求(2)

的插值多项式(1)是唯一的。

插值多项式与被插函数之间的差

Rn(x)?f(x)??n(x) 称为截断误差,又称为插值余项。当f(x)充分光滑时,

f(n?1)(?)Rn(x)?f(x)?Ln(x)??n?1(x),??(a,b)

(n?1)!其中?n?1(x)??(x?xj?0nj)。

1.1.2拉格朗日插值多项式

实际上比较方便的作法不是解方程(3)求待定系数,而是先构造一组基函数

li(x)?(x?x0)?(x?xi?1)(x?xi?1)?(x?xn)

(xi?x0)?(xi?xi?1)(xi?xi?1)?(xi?xn)nx?xj?? , (i?0,1,?,n)

x?xj?0ijj?ili(x)是n次多项式,满足

?0li(xj)???1令

nj?ij?i

?n?x?xj??Ln(x)??yili(x)??yi?? (4) ?i?0i?0?j?0xi?xj??j?i?n

联系合同范文客服:xxxxx#qq.com(#替换为@)