40
数学建模 小册子

数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

数学建模小册子

Page 2: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

1

目 录

第一章 优化模型………………………………………………………………………………(02)

第二章 统计分析………………………………………………………………………………(05)

第三章 层次分析法……………………………………………………………………………(13)

第四章 数值计算………………………………………………………………………………(25)

第五章 微分方程………………………………………………………………………………(26)

第六章 差分方程………………………………………………………………………………(28)

第七章 图论……………………………………………………………………………………(31)

第八章 BP 人工神经网络……………………………………………………………………(34)

第九章 GM(1,1)灰色预测……………………………………………………………………(37)

Page 3: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

2

第一章 优化模型:用 LINGO

简单的优化模型:

简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

简单优化模型的灵敏度分析:

设有一个未知量为 的函数 ,其中 是未知系数(事实上x 1 2( , , ... ) 0nf x a a a = 1 2, ... na a a

是已知的),这个函数必定存在最值,最值的求法:

( 是各自独立的变量)1 2( , , ... )0nf x a a a

x∂

=∂ 1 2, ... na a a

得到 的函数 ,未知数是 ,用相对改变量衡量结果对参数的敏感程x 1 2( , ... )nx a a a 1 2, ... na a a

度,下面进行灵敏度分析: 对 的敏感度记作 ,定义为x 1a 1( , )S x a

11

1 1 1

/( , )/

ax x dxS x aa a da x∆

= ≈∆

1 2

1 1

( , ... )( )ndx a a adxda da

=

把 和 代入上式,可解得实值 ,即解释为当 增加 ,当 为正值1 2, ... na a a x 1( , )s S x a= x 1% s

时,就增加 ;当 为负值时,就减少 。%s s %s

同理可得 对 的敏感度记作 。x 2a 2( , )S x a

数学规划模型:

在很多实际问题中,所能够提供的决策变量取值受到很多因素的制约,这样就产生了一

般的优化模型,统称为数学规划模型。按照数学规划模型的具体特征,可以将数学规划分为 :

线性规划模型(目标函数和约束条件都是线性函数的优化问题);

非线性规划模型(目标函数或者约束条件是非线性的函数);

整数规划(决策变量是整数值得规划问题);

多目标规划(具有多个目标函数的规划问题);

目标规划(具有不同优先级的目标和偏差的规划问题);

动态规划(求解多阶段决策问题的最优化方法)

数学规划问题的基本形式为:

其中 为决策变量向量, 为目标函数(单目标规划只有一个函数,多目标规划可以X f

理 为 一 个 向 量 函 数 的 最 优 化 问 题 ), 为 约 束 条 件 , 记( ) ( )0g X ≤ ≥

Page 4: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

3

为可行集,因此规划的本质就是在可行集中选择使得目标最优的( ) ( ){ }0D X g X= ≤ ≥

点。若 ,则该问题为无条件约束问题,可以用微分法解决(有时仅有关于决策变量nD R=

的非负约束也可以归结为该类型);若 D 中的约束都是等式约束,则可以用 Lagrange 乘数法

解决。但是在实际问题中,D 的结构往往非常复杂,不能使用普通的微分方法解决,这时候

必须借助于计算软件。

规划模型的 LINGO 求解:

求解线性规划问题:

2 3

1 2 3

2 3 4

2 3 5

min. .

2 23 1

20, 1,...,5j

x xs tx x xx x xx x xx j

= − +

− + =

− + =

− + =

≥ =

Model

min=-x2+x3;

x1-2*x2+x3=2;

x2-3*x3+x4=1;

x2-x3+x5=2;

end

result:

Global optimal solution found.

Objective value: -2.000000

Infeasibilities: 0.000000

Total solver iterations: 2

Variable Value Reduced Cost

X2 2.500000 0.000000

X3 0.5000000 0.000000

X1 6.500000 0.000000

X4 0.000000 0.000000

X5 0.000000 1.000000

Row Slack or Surplus Dual Price

1 -2.000000 -1.000000

2 0.000000 0.000000

3 0.000000 0.000000

4 0.000000 1.000000

Page 5: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

4

Ranges in which the basis is unchanged:

Objective Coefficient Ranges

Current Allowable Allowable

Variable Coefficient Increase Decrease

X2 -1.000000 0.6666667 0.0

X3 1.000000 2.000000 0.0

X1 0.0 0.4000000 0.0

X4 0.0 INFINITY 0.0

X5 0.0 INFINITY 1.000000

Righthand Side Ranges

Row Current Allowable Allowable

RHS Increase Decrease

2 2.000000 INFINITY 6.500000

3 1.000000 1.000000 INFINITY

4 2.000000 INFINITY 1.000000

Variable表示目标函数;Row表示约束条件

分析报告:LINGO经过2次迭代后得到全局最优解,目标值Objective value为-1.5,全

局最优解为X=(6.5,2.5,0.5,0,0),Reduced Cost列出最优单纯形表中判别数所在行的变

量的系数,表示当变量有微小变动时, 目标函数的变化率。其中基变量的reduced cost值应

为0,对于非基变量Xi, 相应的reduced cost值表示当某个变量Xi增加一个单位时目标函数

减少(max型问题)或增加(min型问题)的量。Slack or Surplus给出松弛变量的值。DUAL

PRICE(对偶价格)表示当对应约束有微小变动时, 目标函数的变化率。输出结果中对应于每一

个约束有一个对偶价格。若其数值为p, 表示对应约束中不等式右端项若增加1个单位,目标函

数将增加(max型问题)或减少(min型问题)p个单位。(基变量【有实值】时为0;非基变量【为

0值】时不为0)

Ranges in which the basis is unchanged:即研究当目标函数的系数和约束右端

在什么范围变化时,最优基保持不变。(Current Coefficient【Current RHS】-

Allowable Increase,Current Coefficient【Current RHS】+ Allowable

Increase)。INFINITY表示无穷大。

Page 6: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

5

第二章 统计分析:用 matlab 或 SAS

统计学知识总结:

1、统计的几个基本名词:总体、样本、样本值

2、统计推断就是利用样本值来对总体的分布类型、未知参数进行估计和推断。

明确的说:

由样本统计量(样本均值、样本比例、样本方差)推断总体(总体均值、总体比例、

总体方差)

3、统计过程:样本—>统计量—>抽样分布—>总体分布

4、抽样分布:单正态总体的抽样分布(3 个):均值未知、方差未知、均值与方差均未知

双正态总体的抽样分布(2 个):均值差、方差比

5、参数估计:

正态分布的置信区间(6 中情况):

单正态总体均值(方差已知) 正双态总体均值差(方差已知)

单正态总体均值(方差未知) 正双态总体均值差(方差已知

单正态总体方差 正双态总体方差比

6、假设检验:

单正态总体的假设检验

双正态总体的假设检验

7、方差分析(单因素)

8、回归分析

判别分析:

判别分析法就是利用原有的分类信息,得到体现这种分类的函数关系式(称为判别函

统计分析

方差分析

判别分析

聚类分析

主成分分析

回归分析

单因子

双因子

Page 7: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

6

数),然后利用该函数去判别未知样品属于哪一类。

聚类分析:

分类问题分为判别分析和聚类分析。判别分析研究事先已经建立类别的情况,即将样品

或指标按已知的类别进行归类。聚类分析适用于实现没有分类的情况,即如何将样品或指标

进行分类的问题。聚类分析包含的范围很广,可以有系统聚类法、动态聚类法、分裂法、最

优分割法、模糊聚类法、图论聚类法、聚类预报等多种方法。

聚类分析法的原理试:首先将一定数量的样品各自看成一类,然后根据样品的亲疏程度 ,

将亲疏程度最高的两类进行合并。然后考虑合并后的类与其他类之间的亲疏程度,再进行合

并。重复这一过程,直至将所有的样品合并为一类。

主成分分析:注意建模步骤

在统计分析中有一类问题就是抽取信息的精华,这就是因子分析和主成分分析。

当要研究一个问题时,通常的做法是抽取大量的变量信息,例如,为了准确预报天气,

我们抽取了大量的数据,如有 1000 个变量的抽样数据,然而这些数据中很多是相关的,这

就是信息的冗余。信息冗余不仅带来计算上的复杂性,甚至导致计算误差增加。

主成分分析法就是从大量的信息中,选择一组个数少,且互不相关,并带有原样本的大

部分的信息另一组变量。简单的说,主成分分析就是把多个指标化为少数几个综合指标的一

种统计方法。

主成分分析计算步骤:

① 计算相关系数矩阵

(1)⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

pppp

p

p

rrr

rrrrrr

R

L

MMMM

L

L

21

22221

11211

在(3.5.3)式中,rij(i,j=1,2,…,p)为原变量的 xi与 xj之间的相关系数,其计算

公式为

(2)∑ ∑

= =

=

−−

−−=

n

k

n

kjkjiki

n

kjkjiki

ij

xxxx

xxxxr

1 1

22

1

)()(

))((

因为 R 是实对称矩阵(即 rij=rji),所以只需计算上三角元素或下三角元素即可。

② 计算特征值与特征向量

Page 8: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

7

首 先 解 特 征 方 程 , 通 常 用 雅 可 比 法 ( Jacobi ) 求 出 特 征 值0=− RIλ

,并使其按大小顺序排列,即 ;然后分别求出对应),,2,1( pii L=λ 0,21 ≥≥≥≥ pλλλ L

于特征值 的特征向量 。这里要求 =1,即 ,其中 表示向iλ ),,2,1( piei L= ie 11

2 =∑=

p

jije ije

量 的第 j个分量。ie

③ 计算主成分贡献率及累计贡献率

主成分 的贡献率为iz

),,2,1(

1

pip

kk

i L=

∑=

λ

λ

累计贡献率为

),,2,1(

1

1 pip

kk

i

kk

L=

=

=

λ

λ

一般取累计贡献率达 85—95%的特征值 所对应的第一、第二,…,第 mmλλλ ,,, 21 L

(m≤p)个主成分。

④ 计算主成分载荷

其计算公式为

(3)),,2,1,(),( pjiexzpl ijijiij L=== λ

得到各主成分的载荷以后,还可以按照(3.5.2)式进一步计算,得到各主成分的得分

Page 9: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

8

(4)⎥⎥⎥⎥

⎢⎢⎢⎢

=

nmnn

m

m

zzz

zzzzzz

Z

L

MMMM

L

L

21

22221

11211

更多的时候我们需要对数据进行标准化,也就是将数据归一化,即对每一列的数据除上

它们的标准差,然后进行主成分分析。

在 matlab 中进行主成分分析:

[pc,score,latent,tsquare]=princomp(x)PC:相对于特征值 latent 的特征向量。根据数据矩阵 X 返回因子成分 PC,也就是主成分 。

score:主成分 Yi 中的元素。通过将原始数据转换到因子成分空间中得到的数据。也就

是原始数据在由主成分所定义的新坐标系中的确定的数据,其大小与输入数据矩阵的大小相

同。

latent:存放从大到小的特征值。

tsquare:t 平方统计量,它是描述每一测量值与数据中心距离的统计量,用它可以找到

数据中的极值点。

在 SAS 系统中主成分分析通过 proc princomp 过程来实现。

主成分分析方法应用实例:

1) 实例 1: 流域系统的主成分分析(张超,1984)

表 3.5.1(点击显示该表)给出了某流域系统 57 个流域盆地的 9 项变量指

标。其中,x1代表流域盆地总高度(m),x2 代表流域盆地山口的海拔高度(m),

x3 代表流域盆地周长(m),x4 代表河道总长度(m),x5代表河道总数,x6

代表平均分叉率,x7代表河谷最大坡度(度),x8 代表河源数, x9代表流域

盆地面积(km2)。

(1) 分析过程:

① 将表 3.5.1 中的原始数据作标准化处理,然后将它们代入相关系数公式计算,

得到相关系数矩阵(表 3.5.2)。

Page 10: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

9

② 由相关系数矩阵计算特征值,以及各个主成分的贡献率与累计贡献率(见表

3.5.3)。由表 3.5.3 可知,第一,第二,第三主成分的累计贡献率已高达 86.5%,

故只需求出第一、第二、第三主成分 z1,z2,z3 即可。

z3 上的载荷(表 3.5.4)。

最重要的就是回归分析:

回归分析是指对具有相关关系的现象,根据其关系形态,选择一个合适的数学模型,用

来近似地表示变量间的平均变化关系的一种统计方法。

回归分析的分类:按照回归模型中变量个数分(一元回归,多元回归);按照回归曲线

的形态分(线性回归,非线性回归);按照是否要求总体分布类型已知分(参数回归,非参

数回归)

主要学习一元线性回归和多元线性回归

Page 11: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

10

建模过程:①模型的参数估计②检验、预测和控制

一元线性回归模型:

模型的参数估计:

一般地,称由 确定的模型为一元线性回归模型,记为0 1y xβ β ε= + +

0 120,

y xE D

β β εε ε σ= + +⎧

⎨ = =⎩

其中固定的未知参数 称为回归系数,自变量 也称为回归变量,0 1,β β x 0 1y xβ β= +

称为 对 的回归直线方程。y x一元线性回归分析的主要任务

1、用试验值(样本值)对 和 作点估计;0 1,β β σ

2、对回归系数 作假设检验;0 1,β β

3、在 处对 作预测,对 作区间估计。0x x= y y

回归系数的最小二乘估计

有 组独立观测值, 。n ( ), , 1,2,...,i ix y i n=

记 。最小二乘法就是选择 和( ) ( )220 1 0 1

1 1

,n n

i i ii i

Q Q y xβ β ε β β= =

= = = − −∑ ∑ 0β 1β

的估计 , 使得 。计算得到0β 1β ( ) ( )0 1

0 1 0 1,ˆ ˆ, min ,Q Q

β ββ β β β=

0 1

1 22

ˆ ˆ

ˆ

y x

xy xy

x x

β β

β

⎧ = −⎪⎨ −

=⎪−⎩

其中 。(经验)回归方程为:2 2

1 1 1 1

1 1 1 1, , ,n n n n

i i i i ii i i i

x x y y x x xy x yn n n n= = = =

= = = =∑ ∑ ∑ ∑

。( )0 1 1ˆ ˆ ˆy x y x xβ β β= + = + −

记 ,称 为残差平方和( ) ( ) ( )2 2

0 1 0 11 1

ˆ ˆ ˆ ˆ ˆ,n n

e i i i ii i

Q Q y x y yβ β β β= =

= = − − = −∑ ∑ eQ

或剩余平方和。 的无偏估计为 。2σ ( )2ˆ / 2eQ nσ = −

Page 12: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

11

回归方程的显著性检验:

对回归方程 的显著性检验,归结为对假设 进行检0 1Y xβ β= + 0 1 1 1: 0; : 0H Hβ β= ≠

验。

假设 被拒绝,则回归显著,认为 与 存在线性关系,所求的线性回归方0 1: 0H β = y x

程有意义;否则回归不显著, 与 的关系不能用一元线性回归模型来描述,所得的回归方y x程也无意义。

F 检验法:当 成立时, ,其中 (回归平0H ( ) ( )~ 1, 2/ 2e

UF F nQ n

= −−

( )2

1

ˆn

ii

U y y=

= −∑

方和)。若 ,拒绝 ,否则就接受 。( )1 1, 2F F nα−> − 0H 0H

回归系数的置信区间:

和 置信水平为 的置信区间分别为0β 1β 1 α−

和( ) ( )2 2

0 01 12 2

1 1ˆ ˆˆ ˆ2 , 2e exx xx

x xt n t nn L n Lα αβ σ β σ

− −

⎡ ⎤− − + + − +⎢ ⎥

⎢ ⎥⎣ ⎦

;( ) ( )0 01 12 2

ˆ ˆˆ ˆ2 , 2e xx e xxt n L t n Lα αβ σ β σ− −

⎡ ⎤− − + −⎢ ⎥

⎣ ⎦

的置信水平为 的置信区间为 。2σ 1 α−( ) ( )2 2

12 2

,2 2

e eQ Qn nα αχ χ

⎡ ⎤⎢ ⎥⎢ ⎥− −⎢ ⎥⎣ ⎦

预测:

用 的回归值 作为 的预测值。 的置信水平为 的预测区间为0y 0 0 1 0ˆ ˆy xβ β= + 0y 0y 1 α−

,其中 。特别,当( ) ( )0 0 0 0ˆ ˆ,y x y xδ δ− +⎡ ⎤⎣ ⎦ ( ) ( )2

00 1

2

( )1ˆ2 1exx

x xx t n

n Lαδ σ−

−= − + + n

很 大 且 在 附 近 取 值 时 , 的 置 信 水 平 为 的 预 测 区 间 近 似 为0x x y 1 α−

。1 1

2 2

ˆ ˆ ˆ ˆ,e ey u y uα ασ σ− −

⎡ ⎤− +⎢ ⎥

⎣ ⎦

多元线性回归:

一般称 为高斯—马尔柯夫线性模型 ( 元线性回归模( ) ( ) 20, , n

Y XE COV I

β εε ε ε σ

= +⎧⎨ = =⎩

k

型),并简记为 。( )2, , nY X Iβ σ

Page 13: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

12

其中 , , , ,

1

...

...

n

y

Y

y

⎛ ⎞⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎝ ⎠

11 12 1

21 22 2

1 2

1 ...1 ...... ... ... ... ...1 ...

k

k

n n nk

x x xx x x

X

x x x

⎛ ⎞⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎝ ⎠

0

1

...

k

ββ

β

β

⎛ ⎞⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎝ ⎠

1

2

...

n

εε

ε

ε

⎛ ⎞⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎝ ⎠

称为回归平面方程。0 1 1 ... k ky x xβ β β= + + +

线性模型 考虑的主要问题是:( )2, , nY X Iβ σ

(1) 用试验值(样本值)对未知参数 和 作点估计和假设检验,从而建立 与β 2σ y

之间的数量关系;1 2, ,..., kx x x

(2)在 处对 的值作预测与控制,即对 作区间估计。1 01 2 02 0, ,..., k kx x x x x x= = = y y

对 和 作估计,用最小二乘法求 的估计量:作离差平方和iβ2σ 0 ,..., kβ β

( )20 1 1

1

...n

i i k ki

Q y x xβ β β=

= − − − −∑

选择 使 达到最小。解得估计值 ,得到的 代入回归平方0 ,..., kβ β Q ( ) ( )1ˆ T TX X X Yβ−

= iβ

程得 ,称为经验回归平面方程。 称为经验回归系数。0 1 1ˆ ˆ ˆ... k ky x xβ β β= + + + iβ

多元线性回归中的检验与预测:

假设 。0 0 1: ... 0kH β β β= = = =

当 成立时, 。如果 ,则0H ( ) ( )/ ~ , 1/ 1e

U kF F k n kQ n k

= − −− −

( )1 , 1F F k n kα−> − −

拒绝 ,认为 与 之间显著地有线性关系;否则就接受 ,认为 与0H y 1 2, ,..., kx x x 0H y

之间线性关系不显著。1 2, ,..., kx x x

求出回归方程 ,对于给定自变量的值 ,用0 1 1ˆ ˆ ˆˆ ... k ky x xβ β β= + + + * * *

1 2, ,..., kx x x

来预测 。称 为 的点预测。* * *0 1 1

ˆ ˆ ˆˆ ... k ky x xβ β β= + + + * * *0 1 1

ˆ ˆ ˆˆ ... k ky x xβ β β ε= + + + + *y *y

多元线性回归matlabmatlabmatlabmatlab 命令:

确定回归系数的点估计值:b=regress( Y, X )

Page 14: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

13

0

1

ˆ

ˆ

...ˆk

b

β

β

β

⎛ ⎞⎜ ⎟⎜ ⎟

= ⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

1

2

...

n

YY

Y

Y

⎛ ⎞⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎝ ⎠

11 12 1

21 22 2

1 2

1 ...1 ...... ... ... ... ...1 ...

p

p

n n np

x x xx x x

X

x x x

⎛ ⎞⎜ ⎟⎜ ⎟= ⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

求回归系数的点估计和区间估计、并检验回归模型:

[b, bint,r,rint,stats]=regress(Y,X,alpha)Stats 给出用于检验回归模型的统计量,有三个数值:相关系数 r2、F 值、与 F 对应的概率 p。

判别规则:相关系数 r2 越接近 1,说明回归方程越显著; 时拒绝( )1 , 1F F k n kα−> − −

,F 越大,说明回归方程越显著;与 F 对应的概率 时拒绝 ,回归模型成立。0H p α< 0H

第三章 层次分析法

层次分析法(AHPAHPAHPAHP-AnalyticAnalyticAnalyticAnalytic HierachyHierachyHierachyHierachy processprocessprocessprocess)---------------- 多目标决策方法

70 年代由美国运筹学家 T·L·Satty 提出的,是一种定性与定量分析相结合的多目标

决策分析方法论。吸收利用行为科学的特点,是将决策者的经验判断给予量化,对目标(因

素)结构复杂而且缺乏必要的数据情况下,採用此方法较为实用,是一种系统科学中,常用

的一种系统分析方法,因而成为系统分析的数学工具之一。

基本内容:(1)多目标决策问题举例 AHP 建模方法

(2)AHP 建模方法基本步骤

(3)AHP 建模方法基本算法

一、问题举例:

假期旅游地点选择

暑假有 3 个旅游胜地可供选择。例如: :苏州杭州, 北戴河, 桂林,到底到哪1P 2P 3P

个地方去旅游最好?要作出决策和选择。为此,要把三个旅游地的特点,例如:①景色;②

费用;③居住;④环境;⑤旅途条件等作一些比较——建立一个决策的准则,最后综合评判

确定出一个可选择的最优方案。

目标层

准则层

方案层

选择旅游地

P1 P2 P3

Page 15: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

14

二、问题分析:

例如旅游地选择问题:一般说来,此决策问题可按如下步骤进行:

(S1S1S1S1)将决策解分解为三个层次,即:

目标层:(选择旅游地)

准则层:(景色、费用、居住、饮食、旅途等 5 个准则)

方案层:(有 , , 三个选择地点)1P 2P 3P

并用直线连接各层次。

(S2S2S2S2)互相比较各准则对目标的权重,各方案对每一个准则的权重。这些权限重在人的思

维过程中常是定性的。

例如:经济好,身体好的人:会将景色好作为第一选择;

中老年人:会将居住、饮食好作为第一选择;

经济不好的人:会把费用低作为第一选择。

而层次分析方法则应给出确定权重的定量分析方法。

(S3S3S3S3)将方案后对准则层的权重,及准则后对目标层的权重进行综合。

(S4S4S4S4)最终得出方案层对目标层的权重,从而作出决策。

以上步骤和方法即是 AHP 的决策分析方法。

三、确定各层次互相比较的方法——成对比较矩阵和权向量

在确定各层次各因素之间的权重时,如果只是定性的结果,则常常不容易被别人接受,

因而 Santy 等人提出:一致矩阵法

即:1. 不把所有因素放在一起比较,而是两两相互比较

2. 对此时採用相对尺度,以尽可能减少性质不同的诸因素相互比较的困难,提高准确

度。

因素比较方法 —— 成对比较矩阵法:

目的是,要比较某一层 个因素 对上一层因素 O 的影响(例如:旅游决n nCCC , ,, 21 L

策解中,比较景色等 5 个准则在选择旅游地这个目标中的重要性)。

採用的方法是:每次取两个因素 和 比较其对目标因素 O 的影响,并用 表示,iC jC ija

全部比较的结果用成对比较矩阵表示,即:

(1))1( 1 ,0 ,)( =⋅=>= ijijij

jiijnxnij aaa

aaaA 或

由于上述成对比较矩阵有特点:ji

ijijij aaaaA 1 ,0 , )( =>=

故可称 为正互反矩阵:显然,由 ,即: ,故有:Aji

ij aa 1

= 1=⋅ jiij aa 1=jia

例如:在旅游决策问题中:

Page 16: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

15

= 表示:21

12 =a(费用)

(景色)

2

1

CC

⎩⎨⎧

2O1O

2

1

的重要性为(费用)对目标

的重要性为景色)对目标(

CC

故: ),费用重要性为即景色重要性为 21(21

12 =a

= 表 示 :14413 ==a

(居住条件)

(景色)

3

1

CC

⎩⎨⎧

1OC4O(

3

1

的重要性为(居住条件)对目标

的重要性为景色)对目标C

即:景色为 4,居住为 1。

= 表 示 :17723 ==a

(居住条件)

(费用)

3

2

CC

⎩⎨⎧

1OC7O(

3

2

的重要性为(居住条件)对目标

的重要性为费用)对目标C

即:费用重要性为 7,居住重要性为 1。

因此有成对比较矩阵:

⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜

=

11351

31

11251

31

31

2117

14

15533

74

12

1

21

A

??问题:稍加分析就发现上述成对比较矩阵的问题:

① 即存在有各元素的不一致性,例如:

既然:411

14a ;2

21

1331

3

11321

2

112 ==⇒===⇒==

aa

CCa

CCa

所以应该有: 188

412

1

3

1

2

31

21

3

223 ======

CCC

C

aa

CC

a

而不应为矩阵 中的A 17

23 =a

②成对比较矩阵比较的次数要求太 ,因: 个元素比较次数为:n!2

)1(2 −=

nnCn

次,

因此,问题是:如何改造成对比较矩阵,使由其能确定诸因素 对上层因素nCC , ,1 L

O 的权重?

对此 Saoty 提出了:在成对比较出现不一致情况下,计算各因素 对因素(上nCC , ,1 L

Page 17: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

16

层因素)O 的权重方法,并确定了这种不一致的容许误差范围。

为此,先看成对比较矩阵的完全一致性——成对比较完全一致性

四:一致性矩阵

DefDefDefDef:设有正互反成对比较矩阵:

(4)

⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜

====

=

====

=====

=

1 a

, , 1

, , 1 1

nn2

21

1

22

2

222

1

221

11

2

112

1

111

n

nnn

nn

j

iij

nn

nn

WW

WW

aWW

a

WW

a

WW

aWW

aWW

a

WW

aWW

aWW

a

A

L

LLL

L

L

除满足:(i)正互反性:即

)1 ( 1 0 =⋅=> jiijji

ijij aaa

aa 或

而且还满足:( ii)一致性:即

n 2, 1,j i, L==⋅==haha

akaaa

aj

ikji

j

iij

则称满足上述条件的正互反对称矩阵 A 为一致性矩阵,简称一致阵。

一致性矩阵(一致阵)性质:

性质 1111: 的秩 Rank(A)=1A的唯一非 0 的特征根为 nA

性质 2222: 的任一列(行)向量都是对应特征根 的特征向量:A n即有(特征向量、特征值):

,则向量

⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜

=

n

nnn

n

n

WW

WW

WW

WW

WW

WW

WW

WW

WW

A

L

LLLL

L

L

21

2

2

2

1

2

1

2

1

1

1

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

3

2

1

W

WW

WM

r

满足: Wn

nW

nWnW

W

WW

WW

WW

WW

WW

WW

WW

WA

nnn

nnn

n=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

=LM

L

MLMM

L

2

1

2

1

21

1

2

1

1

1

Page 18: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

17

即: 0)( =− WnIA

启发与思考:既然一致矩阵有以上性质,即 n 个元素 W1, W2, W3 , …Wn 构成的向量

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

nW

WW

WL

2

1

是一致矩阵 A 的特征向量,则可以把向量 W 归一化后的向量 ,看成是诸元素 W1, W2, W3 ,ω…Wn

目标的权向量,因此,可以用求 A 的特征根和特征向量的办法,求出元素 W1, W2, W3 , …Wn

相对于目标 O 的劝向量。

解释:一致矩阵即: 件物体 ,它们重量分别为 ,将他n nMMM , , , 21 L nWWW , , , 21 L

们两两比较重量,其比值构成一致矩阵,若用重量向量 右乘 ,则

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

nW

WW

WL

2

1

A

( )

⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪

Σ⎟⎟⎟

⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

称特征根法,求权向量的方法量权向量,此种用特征向

为即对上层因素O的权重,,C,,CC,就表示诸因素=W=

则归一化后的特征向量,=:重量向量 为特征根的特征向量为以

的特征根为

n21

1WW

W

W

,

1

2

1

LL

L

i

nW

WW

n

nA

分析:

若重量向量 未知时,则可由决策者对物体 之间两两相比

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

nW

WW

WM

2

1

nMMM , , , 21 L

关系,主观作出比值的判断,或用 Delphi(调查法)来确定这些比值,使 矩阵(不一定A

有一致性)为已知的,并记此主观判断作出的矩阵为(主观)判断矩阵 ,并且此 (不A A

一致)在不一致的容许范围内,再依据: 的特征根或和特征向量的特征根或和特征向量的特征根或和特征向量的特征根或和特征向量 连续地依赖于矩阵连续地依赖于矩阵连续地依赖于矩阵连续地依赖于矩阵的的的的A W

元素元素元素元素 ,即当,即当,即当,即当 离一致性的要求不太远时,离一致性的要求不太远时,离一致性的要求不太远时,离一致性的要求不太远时, 的特征根的特征根的特征根的特征根 和特征值(向量)和特征值(向量)和特征值(向量)和特征值(向量) 与一致矩与一致矩与一致矩与一致矩ija ija A i W

阵阵阵阵 的特征根的特征根的特征根的特征根 和特征向量和特征向量和特征向量和特征向量 也相差不大的道理:由特征向量也相差不大的道理:由特征向量也相差不大的道理:由特征向量也相差不大的道理:由特征向量 求权向量求权向量求权向量求权向量 的方法即为的方法即为的方法即为的方法即为A λ W W W

Page 19: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

18

特征向量法特征向量法特征向量法特征向量法,并由此引出,并由此引出,并由此引出,并由此引出一致性检查的方法一致性检查的方法一致性检查的方法一致性检查的方法。。。。

问题:RemarkRemarkRemarkRemark

以上讨论的用求特征根来求权向量 的方法和思路,在理论上应解决以下问题:W

1.一致阵的性质 1 是说:一致阵的最大特征根为 (即必要条件),但用特征根来求特征n向量时,应回答充分条件:即正互反矩阵是否存在正的最大特征根和正的特征向量?且

如果正互反矩阵 的最大特征根 时, 是否为一致阵?A n=maxλ A

2.用主观判断矩阵 的特征根 和特征向量 连续逼近一致阵 的特征根 和特征向量A λ W A λ

时,即: 由W λλ =→ kkk

lim

得到: WW kk

=∞→

lim

即: AAkk

=∞→

lim

是否在理论上有依据。

3.一般情况下,主观判断矩阵 在逼近于一致阵 的过程中,用与 接近的 来代替A A A *A

,即有 ,这种近似的替代一致性矩阵 的作法,就导致了产生的偏差估计问题 ,A AA ≈* A

即一致性检验问题,即要确定一种一致性检验判断指标,由此指标来确定在什么样的允许

范围内,主观判断矩阵是可以接受的,否则,要 两两比较构造主观判断矩阵。此问题

即一致性检验问题的内容。

以上三个问题:前两个问题由数学严格比较可获得(见教材 P325,定理 1、定理 2)。

第 3 个问题:Satty 给出一致性指标(TH1,TH2 介绍如下:)

附:

Th1Th1Th1Th1:(教材 P326,perronTh 比隆 1970 )对于正矩阵 ( 的所有元素为正数)A A(1) 的最大特征根是正单根 ;A λ(2) 对应正特征向量 ( 的所有分量为正数)λ W W

(3) 其中: 为半径向量, 是对应 的归一化特征向量WeAeeAkT

k

k=

∞→lim

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

1

11

Le W λ

证明:(3)可以通过将 化为标准形证明A

Th2Th2Th2Th2: 阶正互反阵 A 的最大特征根 ;n n≥λ当 时, 是一致阵n=λ A

五、一致性检验——一致性指标:

1111.一致性检验指标的定义和确定.一致性检验指标的定义和确定.一致性检验指标的定义和确定.一致性检验指标的定义和确定———————— 的定义:的定义:的定义:的定义:IC ⋅

Page 20: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

19

当人们对复杂事件的各因素,采用两两比较时,所得到的主观判断矩阵 ,一般不可A

直接保证正互反矩阵 就是一致正互反矩阵 ,因而存在误差(及误差估计问题)。这种误A A

差,必然导致特征值和特征向量之间的误差 。此时就导致问题( )][ WW)( -及λλ −

与问题 之间的差别。(上述问题中 是主观判断矩阵 的特征WmaxWA λ= nWAW = maxλ A

值, 是带有偏差的相对权向量)。这是由判断矩阵不一致性所引起的。W

因此,为了避免误差太大,就要衡量主观判断矩阵 的一致性。A

因为:

①当主观判断矩阵 为一致阵 时就有:A A

为一致阵时有:∑∑∑ ∑=== =

===n

k

n

kkk

n

k

n

nkk na

111 11λλ = A 1=iia

此时存在唯一的非 n== maxλλ

(由一致阵性质 1:Rark(4)=1, 有唯一非 O 最大特征根且 )A n=maxλ

②当主观判断矩阵 不是一致矩阵时,此时一般有: (Th2)A n≥maxλ

此时,应有:

∑∑ ==+≠

naiik

hmax

maxλ

λλ

即: ∑≠

−=−max

maxk

kn λλ

所以,可以取其平均值作为检验主观判断矩阵的准则,一致性的指标,

即:11

maxmax

−=

−−

=⋅∑≠

nnn

IC kkλλ

显然:

(1) 当 时,有: , 为完全一致性n=maxλ 0=⋅ IC A

(2) 值越大,主观判断矩阵 的完全一致性越差,即: 偏离 越远(用特征IC ⋅ A A A

向量作为权向量引起的误差越大 )

(3) 一般 ,认为主观判断矩阵 的一致性可以接受,否则应重新进行两10 ⋅≤⋅ IC A

两比较,构造主观判断矩阵。

2222.随机一致性检验指标.随机一致性检验指标.随机一致性检验指标.随机一致性检验指标———————— IR ⋅

问题:实际操作时发现:主观判断矩阵 的维数越大,判断的一致性越差,故应放宽对高A

Page 21: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

20

维矩阵的一致性要求。于是引入修正值 来校正一致性检验指标:即定义IR ⋅ IR ⋅的修正值表为:

并定义新的一致性检验指标为:IRICRC⋅⋅

=⋅

随机一致性检验指标—— 的解释:IR ⋅为确定 的不一致程度的容许范围,需要确定衡量 的一致性指示 的标准。于是A A IC ⋅

Satty 又引入所谓随机一致性指标 ,其定义和计算过程为:IR ⋅

① 对固定的 ,随机构造正互反阵 ,其元素 从 1~9 和 1~ 中随机取值 ,n A′ )( jiaij <′ 91

且满足 与 的互反性,即: ,且 .ija′ jia ′ji

ij aa ′=′ 1 1=′iia

② 然后再计算 的一致性指标 ,因此 是非常不一致的,此时, 值相当大.A′ IC ⋅ A′ IC ⋅③ 如此构造相当多的 ,再用它们的 平均值作为随机一致性指标。A′ IC ⋅

④ SattySattySattySatty对于不同的 ~11)11)11)11),用 100100100100~500500500500个样本 计算出上表所列出的随机一1( =nn A′

致性指标 作为修正值表。IR ⋅

3333....一致性检验指标的定义一致性检验指标的定义一致性检验指标的定义一致性检验指标的定义————————一致性比率一致性比率一致性比率一致性比率 。。。。RC ⋅由随机性检验指标 可知:RC ⋅

当 时, ,这是因为 1, 2 阶正互反阵总是一致阵。2 ,1=n 0=⋅ IR

对于 的成对比较阵 ,将它的一致性指标 与同阶(指 相同)的随机一致性3≥n A IC ⋅ n指标 之比称为一致性比率——简称一致性指标,IR ⋅即有: 一致性检验指标的定义——一致性比率

定义: :IRICRC⋅⋅

=⋅IRICRC⋅⋅

=⋅

当: 时,认为主观判断矩阵 的不一致程度在容许范围之10 ⋅<⋅⋅

=⋅IRICRC A

内,可用其特征向量作为权向量。否则,对主观判断矩阵 重新进行成对比较,构重新A

的主观判断矩阵 。A

注:上式 的选取是带有一定主观信度的。10 ⋅<⋅⋅

=⋅IRICRC

六、标度——比较尺度解:

在构造正互反矩阵时,当比较两个可能是有不同性质的因素 和 对于上层因素iC jC

的维数A 1 2 3 4 5 6 7 8 9

IR ⋅ 0.00 0.00 0.58 0.96 1.12 1.24 1.32 1.41 1.45

Page 22: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

21

O 的影响时,採用什么样的相对刻度较好,即 的元素的值在(1~9)或(1~ )ija 91

或更多的数字,Satty 提出用 1~9 尺度最好,即 取值为 1~9 或其互反数 1~ ,心ija 91

理学家也提出:人们区分信息等级的极限解能力为 ±2。可见对 阶矩阵,只需作7 nn×

出 个判断值即可2

)1( −nn

注:以上比较的标度 Satty 曾用过多种标度比较层,得到的结论认为:1~9 尺度不仅在较简

单的尺度中最好,而且比较的结果并不劣于较为复杂的尺度。Satty 曾用的比较尺度为:

① 1~3, 1~5, 1~6,…, 1~11,以及

② ~ ,其中)1.0( +d )9.0( +d 4 ,3 ,2 ,1=d

③ ~ ,其中 …p1 P9 5 ,4 ,3 ,2=P

等共 27 种比较尺度,对放在不同距离处的光源亮度进行比较判断,并构造出成对比较矩阵,

计算出权向量。同时把计算出来的这些权向量与按照物理学中光强度定律和其他物理知识得

到的实际权向量进行对比。结果也发现 1~9 的比较标度不仅简单,而效果也较好(至少不

比其他更复杂的尺度差)

因而用 1~9 的标度来构造成对比较矩阵的元素较合适。

七、组合权向量的计算——层次总排序的权向量的计算

层次分析法的基本思想:

(1) 计算出下一层每个元素对上一层每个元素的权向量W

def:层次总排序,计算同一层次所有元素对最高层相对重要性的排序权值。

当然要先:①构造下一层每个元素对上一次每个元素的成对比较矩阵

②计算出成对比较矩阵的特征向量(和法,根法,幂法)

③由特征向量求出最大特征根 (由和法,根法,幂法求得)maxλ

标度 ija 定 义

135792,4,6,8,

倒数 1,91 ,

81 ,

71 ,

61 ,

51 ,

41 ,

31 ,

21

因素 与因素 相同重要i j因素 比因素 稍重要i j因素 比因素 较重要i j因素 比因素 非常重要i j因素 比因素 绝对重要i j因素 与因素 的重要性的比较值介于上述两i j个相邻等级之间

因素 与因素 比较得到判断值为 的互反j i ija

数,ij

ji aa 1

= 1=iia

Page 23: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

22

④用最大特征根 用方式 及 对成对比较maxλ1

max

−−

=⋅n

nIC

λIRRCRC⋅⋅

=⋅

矩阵进行一致性检,并通过。

(2) 并把下层每个元素对上层每个元素的权向量按列排成以下表格形式:例,假定:

上层 有 个元 素 , ,且 其 层 次总 排 序 权 向 量 为A m mAAA , , , 21 L

,下层 有 个元素 ,则按 对 个元素maaa , , , 21 L B n nBBB , , , 21 L jB iA

的单排序权向量的列向量为 ,即有:ijb

注:①若下层元素 与上层元素 无关系时,取kB jA 0=kjb

②总排序权向量各分量的计算公式: ),,1(1

nibaW ij

m

jji L==∑

=

(3) 对层次总排序进行一致性检验:从高层到低层逐层进行,如果

如果 层次某些元素对 单的排序的一致性指标为 ,相应的平均随机一致性指标B jA jCI

层次

…1A 1A mA1

层总是排序权重(权向B量、列向量)

…1a 2a ma

nB

B

B

M

2

1

1

12

11

nb

b

b

M

2

22

12

nb

b

b

M

L

M

L

L

nm

m

m

b

b

b

M

2

1

=

=

=

=

=

=

m

jnjjn

m

jjj

m

jjj

baW

baW

baW

1

122

111

M

maxλ 计算出最大特根(方法:和法、根法、幂法)

IC ⋅一致性检验

1max

−−

=⋅n

nIC

λ

IC ⋅ 一致性检验比率

=

=⋅⋅

=⋅ m

jjj

m

jj

RIa

CIa

IRICRC

3

检验 否?10 ⋅<CR

Page 24: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

23

为 ,则 层总排序随机一致性比率为:jRI B∑

=

==⋅ m

jjj

m

jjj

RIa

CIaRC

1

1

当 时,认为层次总排序里有满意的一致性,否则应重新调整判断矩阵的元素10 ⋅<CR取值。

八、层次分析法的基本步骤:

(S1)建立层次结构模型

将有关因素按照属性自上而下地分解成若干层次:

同一层各因素从属于上一层因素,或对上层因素有影响,同时又支配下一层的因素

或受到下层因素的影响。

最上层为目标层(一般只有一个因素),最下层为方案层或对象层/决策层,中间可

以有 1 个或几个层次,通常为准则层或指标层。

当准则层元素过多(例如多于 9 个)时,应进一步分解出子准则层。

(S2)构造成对比较矩阵,以层次结构模型的第 2 层开始,对于从属于(或影响及)上

一层每个因素的同一层诸因素,用成对比较法和 1~9 比较尺度构造成对比较矩阵,直

到最下层。

(S3)计算(每个成对比较矩阵的)权向量并作一致性检验

① 对每一个成对比较矩阵计算最大特征根 及对应的特征向量(和法、根法、幂法maxλ

等)

⎟⎟⎟

⎜⎜⎜

⎛=

nW

WW M

1

② 利用一致性指标 ,随机一致性指标 和一致性比率作一致性检验IC ⋅ RC ⋅

⎟⎠⎞

⎜⎝⎛

⋅⋅

=IRICCR

③ 若通过检验(即 ,或 )则将上层出权向量 归一化1.0<⋅ RC 1.0<⋅ IC⎟⎟⎟

⎜⎜⎜

⎛=

nW

WW M

1

之后作为( 到 )的权向量(即单排序权向量)jB jA

④ 若 不成立,则需重新构造成对比较矩阵1.0<⋅ RC

(S4)计算组合权向量并作组合一致性检验——即层次总排序

① 利用单层权向量的权值 构组合权向量表:并计算出特征根,mjW

WW

n

j , ,11

LM =⎟⎟⎟

⎜⎜⎜

⎛=

组合特征向量,一致性

Page 25: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

24

② 若通过一致性检验,则可按照组合权向量 的表示结果进行决策

⎟⎟⎟

⎜⎜⎜

⎛=

nW

WW L

1

( 中 中最大者的最优),即:

⎟⎟⎟

⎜⎜⎜

⎛=

nW

WW L

1

iW ( ){ }Tni WWWWW ,,:max* 1 L∈=

③ 若未能通过检验,则需重新考虑模型或重新构造那些一致性比率, 较大的成对CR比较矩阵

单 层

层 重

权 量

下层 量

层次

…1A 1A mA1

计算组合权向量

⎟⎟⎟

⎜⎜⎜

⎛=

nW

WW L

1

其中 ∑=

=m

jijji WaW

1

…1a 2a ma

nB

B

B

M

2

1

1

12

11

nW

W

W

M

2

22

12

nW

W

W

M

L

M

L

L

nm

m

m

W

W

W

M

2

1

=

=

=

=

=

=

m

jnjjn

m

jjj

m

jjj

baW

baW

baW

1

122

111

M

最大特征根)(

maxiλ 和法、根法、幂法

一致性检验CI

1max

)(

−−

=n

nCI

j

?1.0<CI

一致性随机检验 RI对照表jRI ?10 ⋅<CR

一致性比率CR

=

== m

jjj

m

jjj

RIa

CIa

RICICR

2

Page 26: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

25

第四章 数值计算:用 matlab

最重要的是拟合和插值:

问题:给定一批数据点(输入变量与输出变量的数据),需确定满足特定要求的曲线或

曲面。如果输入变量和输出变量都只有一个,则属于一元函数的拟合和插值;而若输入变量

有多个,则为多元函数的拟合和插值(有点回归分析的意思)

解决方案:

(1)若要求所求曲线(面)通过所给所有数据点,就是插值问题;

(2)若不要求曲线(面)通过所有数据点,而是要求它反映对象整体的变化趋势,这就是

数据拟合,又称曲线拟合或曲面拟合。

注意:函数插值与曲线拟合都是要根据一组数据构造一个函数作为近似,由于近似的要

求不同,二者的数学方法上是完全不同的。

用 matlab 进行拟合:

用 matlab 作线性最小二乘拟合,作多项式 拟合( ) 1 1...mm mf x a x a x a += + + +

a=polyfit(x,y,m)a=polyfit(x,y,m)a=polyfit(x,y,m)a=polyfit(x,y,m)用 matlab 进行插值:

一维插值函数:yi=interp1(x,y,xi,'method') method 为插值方法;

二维插值函数:z=interp2(x0,y0,z0,x,y,’method’)

解线性方程组:

数值积分:

常微分方程数值解法:

数值计算

拟合和插值

常微分方程数值计算

解线性方程组

数值积分

Page 27: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

26

第五章 微分方程:

动态过程的变化规律一般要用微分方程建立的动态模型来描述。动态连续的。

对于某些实际问题,建模的主要目的并不是要寻求动态过程每个瞬时的性态,而是研究

某种意义下稳定状态的特征,特别是当时间充分长以后动态的变化趋势。这就是微分方程稳

定性问题。

微分方程稳定性理论:

一阶方程的平衡点及稳定性:

设有微分方程

(1)( ) ( )x t f x=&

右端不含字变量 t,称为自治方程. 代数方程

(2)( ) 0f x =

的实根 称为方程(1)的平衡点(或奇点),它也是(1)的解(奇解)。0x x=

如果存在某个邻域,使方程(1)的解 x(t)从这个邻域内的某个 x(0)出发,满足

(3)( ) 0limt

x t x→∞

=

则称平衡点 x0 是稳定的(稳定性理论中称渐进稳定);;否则,称 是不稳定的(不渐进稳定)。0x

判断平衡点 x0 是否稳定通常有两种方法:利用定义即(3)式称间接法。不求方程(1)的解

x(t),因而不利用(3)式的方法称直接法。下面介绍直接法:

将 f(x)在 x0 点作 Taylor 展开,只取一次项,方程(1)近似为

(4)( ) ( )( )0 0x t f x x x′= −&

(4)称为(1)的近似线性方程, 也是方程(4)的平衡点. 关于 点稳定性有如下结论:0x 0x

若 ,则 对于方程(4)和(1)都是稳定的;( )0 0f x′ < 0x

若 ,则 对于方程(4)和(1)都是不稳定的。( )0 0f x′ > 0x

注: 点对方程(4)稳定性很容易由定义(3)证明:记 ,则(4)的一般解为0x ( )0f x a′ =

(5)( ) 0atx t ce x= +

其中常数 c 由初始条件确定,显然,a < 0 时(3)式成立。

二阶方程的平衡点和稳定性:

二阶方程可用两个一阶方程表为

Page 28: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

27

(6)( ) ( )( ) ( )

1 1 2

2 1 2

,,

x t f x xx t g x x

=⎧⎪⎨ =⎪⎩

&

&

右端不显含 t,是自治方程. 代数方程组

(7)( )( )

1 2

1 2

, 0, 0

f x xg x x

=⎧⎪⎨ =⎪⎩

的实根 , 称为方程(6)的平衡点,记作0

1 1x x= 02 2x x= ( )0 0

0 1 2,P x x

如果存在某个邻域,使方程(6)的解 , 从这个邻域内的某个 出发,( )1x t ( )2x t ( ) ( )1 2( 0 , 0 )x x

满足

(8)( )( )

01 1

02 2

lim

limt

t

x t x

x t x→∞

→∞

=

=

则称平衡点 是稳定的(渐进稳定);否则,称 是不稳定的(不渐进稳定)。0P 0P

先看线性常系数方程

(9)( )( )

1 1 1 2 2

2 1 1 2 2

x t a x a xx t b x b x

= +⎧⎪⎨ = +⎪⎩

&

&

(非齐次方程组,可用平移的方法( , )化为齐次方程组)1 1 1x u c= + 2 2 2x u c= +

系数矩阵记作

(10)1 2

1 2

a aA

b b⎛ ⎞

= ⎜ ⎟⎝ ⎠

为研究方程(9)的唯一平衡点 的稳定性,假定 的行列式( )0 0,0P A

(11)det 0A ≠

的稳定性由(9)的特征方程( )0 0,0P

(12)( )det 0A Iλ− =

的根 (特征根)决定。方程(12)可以写成更加明晰的形式λ

(13)( )

2

1 2

0

det

p qp a bq A

λ λ⎧ + + =⎪ = − +⎨⎪ =⎩

将特征根记作 , ,则1λ 2λ

(14)( )21 2

1, 42

p p qλ λ = − ± −

Page 29: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

28

方程(9)的一般解具有形式

( )1 21 2 1 2

t tc e c eλ λ λ λ+ ≠

( )1 11 2 1 2

t tc e c teλ λ λ λ+ =

, 为任意常数.1c 2c

按照稳定性的定义(8)式可知,当 , 均为负数或均有负实部时 是稳定平衡1λ 2λ ( )0 0,0P

点;而当 , 有一个为正数或有正实部时 是不稳定平衡点。在条件(11)下 ,1λ 2λ ( )0 0,0P 1λ

均不为零.2λ

按上述理论可得根据特征方程的系数 p, q 的正负来判断平衡点稳定性的准则:

若 p > 0, q > 0,则平衡点稳定; 若 p < 0, q < 0,则平衡点不稳定.对一般的非线性方程(6),仍可在平衡点作一次 Taylor 展开,得常系数的近似线性方程

来讨论。

第六章 差分方程:

差分方程: 差分方程反映的是关于离散变量的取值与变化规律。通过建立一个或几个

离散变量取值所满足的平衡关系,从而建立差分方程。动态离散的建立差分方程。

差分方程常用解法与差分方程稳定性:

常系数线性差分方程的解:

方程 (8))(...110 nbxaxaxa nkknkn =+++ −++

其中 为常数,称方程(8)为常系数线性方程。kaaa ,...,, 10

又称方程 (9)0...110 =+++ −++ nkknkn xaxaxa

为方程(8)对应的齐次方程。

如果(9)有形如 的解,带入方程中可得:nnx λ=

(10)0... 11

10 =++++ −−

kkkk aaaa λλλ

称方程(10)为方程(8)、( 9)的特征方程。

显然,如果能求出(10)的根,则可以得到(9)的解。

基本结果如下:

1、若(10)有 k 个不同的实根,则(9)有通解:

,n

kknn

n cccx λλλ +++= ...2211

Page 30: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

29

2、若(10)有 m 重根 ,则通解中有构成项:λ

nmm ncncc λ)...( 1

21−

−−−

+++

3 、 若 ( 10 ) 有 一 对 单 复 根 , 令 : ,βαλ i±= ϕρλ ie ±=

则(9)的通解中有构成项:αβ

ϕβαρ arctan,22 =+=

ncnc nn ϕρϕρ sincos 21

−−

+

4、若有 m 重复根: , ,则(9)的通项中有构成项:βαλ i±= φρλ ie±=

nncnccnncncc nmmmm

nmm ϕρϕρ sin)...(cos)...( 1

2211

21−

−−

++−

−−

+++++++

综上所述,由于方程(10)恰有 k 个根,从而构成方程(9)的通解中必有 k 个独立的任意

常数。通解可记为: 。如果能得到方程(8)的一个特解: ,则(8)必有通解:−

nx*nx

+ (11)=nx−

nx*nx

(1)的特解可通过待定系数法来确定。

例如:如果 为 n 的多项式,则当 b 不是特征根时,可设成形如)(),()( npnpbnb mmn=

形式的特解,其中 为 m 次多项式;如果 b 是 r 重根时,可设特解:)(nqb mn )(nqm

,将其代入(8)中确定出系数即可。rnnb )(nqm

差分方程的 z 变换解法:

对差分方程两边关于 取 Z 变换,利用 的 Z 变换 F(z)来表示出 的 Z 变换,nx nx knx +

然后通过解代数方程求出 F(z),并把 F(z)在 z=0 的解析圆环域中展开成洛朗级数,其系

数就是所要求的 nx

例 1 设差分方程 ,求1,0,023 1012 ===++ ++ xxxxx nnn nx

解:解法 1:特征方程为 ,有根:0232 =++ λλ 2,1 21 −=−= λλ

故: 为方程的解。nnn ccx )2()1( 21 −+−=

由条件 得:1,0 10 == xx nnnx )2()1( −−−=

解法 2:设 F(z)=Z( ),方程两边取变换可得:nx

Page 31: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

30

0)(2))((3)1.)(( 0102 =+−+−− zFxzFz

zxxzFz

由条件 得1,0 10 == xx23

)( 2 ++=

zzzzF

由 F(z) 在 中解析,有2>z

∑ ∑ ∑∞

=

=

−∞

=

−−=−−−=+

−+

=+

−+

=0 0 0

)21()1(2)1(1)1(21

111

1)2

11

1()(k k

k

k

kkk

k

kk z

zzzz

zzzzF

所以, nnnx )2()1( −−−=

二阶线性差分方程组:

设 , ,形成向量方程组=)(nz )(nyx

n )(dcba

A =

(12))()1( nAznz =+

则 (13))1()1( zAnz n=+

(13)即为(12)的解。

为了具体求出解(13),需要求出 ,这可以用高等代数的方法计算。常用的方法有:nA

(1)如果 A 为正规矩阵,则 A 必可相似于对角矩阵,对角线上的元素就是 A 的特征值,

相似变换矩阵由 A的特征向量构成:

。)1()()1(,, 111 zppnzppAppA nnn Λ=+∴Λ=Λ= −−−

(2)将 A 分解成 为列向量,则有ηξξη ,,/,=A

AA nnn .)(.......).( 1//.// −=== ηξηξηξηξηξ

从而, )1(.)()1()1( 1/ AzzAnz nn −==+ ηξ

(3)或者将 A 相似于约旦标准形的形式,通过讨论 A 的特征值的性态,找出 的内nA

在构造规律,进而分析解 的变化规律,获得它的基本性质。)(nz

关于差分方程稳定性的几个结果:

1、k 阶常系数线性差分方程(8)的解稳定的充分必要条件是它对应的特征方程(10)

所有的 特征根 满足kii ...2,1, =λ 1<iλ

2、一阶非线性差分方程

Page 32: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

31

(14))(1 nn xfx =+

(14)的平衡点 由方程 决定,−

x )(−−

= xfx

将 在点 处展开为泰勒形式:)( nxf−

x

(15))())(()( /−−−

+−= xfxxxfxf nn

故有: 时,(14)的解 是稳定的,1)(/ <−

xf−

x

时,方程(14)的平衡点 是不稳定的。1)(/ >−

xf−

x

第七章 图论

基本概念和名词:

1、图:由若干个不同的点(顶点或节点)与其中某些顶点的连线所组成的图形

图的表示: ,其中 为顶点集, 为边集,( ),G G V E= ( )V V G= ( )E E G=

联结 中的两个顶点。,e E e∀ ∈ V

2、权:图中的每条边都有一个具体的数与之对应,这些数为权,带权的图为赋权图或网络

3、边与弧:两点之间不带箭头的连线称为边,带箭头的连线称为弧

4、无向图:一个图 G 是由顶点和边构成的

5、有向图:一个图 G 是由顶点和弧构成的

设 V 和 E 分别是图的顶点的集合和边的集合, , ;弧的{ }1,..., nV v v= { }1,..., mE e e=

集合为 { }1,..., mA a a=

6、链:在无向图中,点与边的交错序列 称为连结 和 的链。( )1 1 2 1, , ,..., ,i i i ik ikv e v v v− 1iv ikv

( 为连结 和 的边)ite itv 1itv +

7、路径: 是有向图中一条链( 为从 指向 的弧),称之为从( )1 1 2 1, , ,..., ,i i i ik ikv e v v v− ita itv 1itv +

到 的路径。1iv ikv

8、回路:闭合的路径称为回路。

9、圈:闭合的链称为圈。

10、连通图:图 G 中任何两个点之间至少有一条链,称 G 为连通图。

11、树:一个无圈的连通图称为树

Page 33: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

32

12、生成树:若 是连通图 的生成子图(即 , ),( )1 1 1,G V E= ( )2 2 2,G V E= 1 2V V= 1 2E E⊆

且 本身是树,则称 为 的生成树。1G 1G 2G

13、邻接矩阵: 表示图 G 中从顶点 到 的弧(无向图只考虑 与 间的边)的数目,ijb iv jv iv jv

则矩阵 称为图 G 的邻接矩阵。( )ijB b=

14、带权邻接矩阵:以 表示网络 G 中从顶点 到 的弧的权(无向网只考虑 与 间ijw iv jv iv jv

的边的权),当 到 无弧或边时, ,则矩阵 称为图 G 的带权邻接矩阵。iv jv ijw = ∞ ( )ijW w=

图论中最常用的知识点:最短路问题、最小生成树问题、遍历性问题和图的匹配问题。

这里仅简单介绍前两个问题的解决方法。

1、最短路问题

两个指定顶点之间的最短路径

问题如下:给出了一个连接若干个城镇的铁路网络,在这个网络的两个指定城镇间,找

一条最短铁路线。

以各城镇为图 G 的顶点,两城镇间的直通铁路为图 G 相应两顶点间的边,得图 G。对 G 的

每一边 ,赋以一个实数 —直通铁路的长度,称为 的权,得到赋权图 G。G 的子图e ( )w e e

的权是指子图的各边的权和。问题就是求赋权图 G 中指定的两个顶点 间的具最小权的0 0,u v

轨。这条轨叫做 间的最短路,它的权叫做 间的距离,亦记作 。0 0,u v 0 0,u v ( )0 0,d u v

求最短路已有成熟的算法:迪克斯特拉(Dijkstra)算法,其基本思想是按距 从近到0u

远为顺序,依次求得 到 G 的各顶点的最短路和距离,直至 (或直至 G 的所有顶点),0u 0v

算法结束。为避免重复并保留每一步的计算信息,采用了标号算法。下面是该算法。

(i)令 ,对 ,令 。( )0 0l u = 0v u≠ ( ) { }0 0, , 0l v S u i= ∞ = =

( ii)对每个 ,用 代替 。计算( )/i i iv S S V S∈ = ( ) ( ) ( ){ }min ,iu Sl v l u w uv

∈+ ( )l v

,把达到这个最小值的一个顶点记为 ,令 。( ){ }miniu Sl v

∈ 1iu + { }1 1i i iS S u+ += U

(iii)若 ,停止;若 ,用 i+1 代替,转(ii)。 i1i V= − 1i V< −

算法结束时,从 到各顶点 的距离由 的最后一次的标号 给出。在 进入 之0u v v ( )l v v iS

前的标号 叫 T 标号, 进入 时的标号 叫 P 标号。算法就是不断修改各项点的 T( )l v v iS ( )l v

标号,直至获得 P 标号。若在算法运行过程中,将每一顶点获得 P 标号所由来的边在图上

Page 34: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

33

标明,则算法结束时,至各项点的最短路也在图上标示出来了。

每对顶点之间的最短路径

计算赋权图中各对顶点之间最短路径,显然可以调用 Dijkstra 算法。具体方法是:每

次以不同的顶点作为起点,用 Dijkstra 算法求出从该起点到其余顶点的最短路径,反复执

行次这样的操作,就可得到从每一个顶点到其它顶点的最短路径。这种算法的时间复杂度为

。第二种解决这一问题的方法是由 Floyd R W 提出的算法,称之为 Floyd 算法。

Floyd 算法的基本思想是:递推产生一个矩阵序列 ,其中0 1, ,..., ,...,k nA A A A ( ),kA i j

示从顶点 到 顶点 的路径上所经过的顶点序号不大于 的最短路径长度。iv jv k

计算时用迭代公式:

( ) ( ) ( ) ( )( )1 1 1, min , , , , ,k k k kA i j A i j A i k A k j− − −=

是迭代次数, 。k , , 1, 2,...,i j k n=

最后,当 时, 即是各顶点之间的最短通路值。k n= nA

2、最小生成树与 Kruskal 算法思想

最小生成树:在赋权图 G 中,求一棵生成树使其总权最小,称此为图 G 的最小生成树。

Kruskal 算法思想及步骤:每次添加权尽量小的边,使新的图无圈,直到生成一棵树为止,

便得最小生成树。

算法步骤如下:

1)把赋权图 G 中的边按权的非减次序排列。

2)按 1)排列的次序检查 G 中的每一条边,如果这条边与已得到的边不产生圈,则取这一条

边为解的一部分。

3)若已取到 条边,算法终止。此时以 为顶点集,以取到的 条边为边集的图即为最1n − V 1n −小生成树。

DijkstraDijkstraDijkstraDijkstra 的 matlabmatlabmatlabmatlab实现代码

function [d,DD]=dijkstra(D,s)

%Dijkstra 最短路算法 Matlab 程序用于求从起始点 s 到其它各点的最短路

%D 为赋权邻接矩阵

%d 为 s 到其它各点最短路径的长度

%DD 记载了最短路径生成树

[m,n]=size(D);d=inf.*ones(1,m);d(1,s)=0;dd=zeros(1,m);dd(1,s)=1;

Page 35: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

34

y=s;DD=zeros(m,m);DD(y,y)=1;counter=1;while length(find(dd==1))&lt;Mfor i=1:mif dd(i)==0d(i)=min(d(i),d(y)+D(y,i));endendddd=inf;for i=1:mif dd(i)==0&amp;&amp;d(i)&lt;DDDddd=d(i);endendyy=find(d==ddd);counter=counter+1;DD(y,yy(1,1))=counter;DD(yy(1,1),y)=counter;y=yy(1,1);dd(1,y)=1;end

第八章 BPBPBPBP人工神经网络:

人工神经网络:指模拟人脑神经系统的结构和功能,运用大量的处理部件,由人工方式

建立起来的网络系统。可以有多个输入,同时可以有多个输出。

用于一些高度非线性的数据,达到预测的效果;对于线性的数据,我们可以是使用线

性回归的方法来计算。

M-P 模型:

人工神经元是组成人工神经网络的基本处理单元,简称为神经元,就是一个 M-P 模型:

Page 36: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

35

0

n

i ji jj

v f w v=

⎛ ⎞= ⎜ ⎟

⎝ ⎠∑

其中 0 0, 1iw vθ= − =

MP 模型学习算法(Hebb 学习规则):对于人工神经网络而言,这种学习归结为神经元连接权的变化。调整 wij 的原则为:若

第 i 和第 j 个神经元同时处于兴奋状态,则它们之间的连接应当加强,即:

ij i jw u vα∆ =

这一规则与“条件反射”学说一致,并已得到神经细胞学说的证实。 α是表示学习速率的

比例常数。

B-P 模型:(1)神经网络的定义简介

神经网络是由多个神经元组成的广泛互连的神经网络,能够模拟生物神经系统真实世界

及物体之间所做出的交互反应。人工神经网络处理信息是通过信息样本对神经网络的训练,

使其具有人的大脑的记忆,辨识能力,完成名种信息处理功能。它不需要任何先验公式,就

能从已有数据中自动地归纳规则,获得这些数据的内在规律,具有良好的自学习,自适应,

联想记忆,并行处理和非线性形转换的能力,特别适合于因果关系复杂的非确定性推理,判

断,识别和分类等问题。对于任意一组随机的,正态的数据,都可以利用人工神经网络算法

进行统计分析,做出拟合和预测。

人工神经网络是由神经元广泛互连构成的,不同的连接方式就构成了网络的不同连接模

型。常用的有以下几种:前向网络、从输出层到输入层有反馈的网络、层内有互连的网络、

互连网络。

B-P 模型是一种用于前向多层神经网络的反传学习算法。B-P 算法用于多层网络,网络

中不仅有输入层节点及输出层节点,而且还有一层至多层隐层节点。

基于误差反向传播(Back propagation)算法的多层前馈网络(Multiple-layer feedforwardnetwork, 简记为BP网络),是目前应用最成功和广泛的人工神经网络。

(2)BP模型的基本原理

学习过程中由信号的正向传播与误差的逆向传播两个过程组成。正向传播时,模式作用

于输入层,经隐层处理后,传入误差的逆向传播阶段,将输出误差按某种子形式,通过隐层

向输入层逐层返回,并“分摊”给各层的所有单元,从而获得各层单元的参考误差或称误差信

号,以作为修改各单元权值的依据。权值不断修改的过程,也就是网络学习过程。此过程一

直进行到网络输出的误差准逐渐减少到可接受的程度或达到设定的学习次数为止。BP网络

模型包括其输入输出模型,作用函数模型,误差计算模型和自学习模型。

BP网络由输入层, 输出层以及一个或多个隐层节点互连而成的一种多层网 , 这种结构

使多层前馈网络可在输入和输出间建立合适的线性或非线性关系 , 又不致使网络输出限制

在-1和1之间. 见图(1)。

Page 37: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

36

O O O O1 2 i m

( 大于等于一层) W(1)…W(L)

(3)BP神经网络的训练

BP 算法通过“训练”这一事件来得到这种输入,输出间合适的线性或非线性关系。“训练”的过程可以分为向前传输和向后传输两个阶段:

[1]向前传输阶段:

①从样本集中取一个样本 , 将 输入网络;,i jP Q iP

②计算出误差测度 和实际输出 ;1E(1) (2) ( )

2 1(...( ( ( ) )...) )Li L iO F F F PW W W=

③对权重值 各做一次调整, 重复这个循环, 直到 .LWWW ,..., )2()1(iE ε<∑

[2]向后传播阶段——误差传播阶段:

①计算实际输出 与理想输出 的差;pO iQ

②用输出层的误差调整输出层权矩阵;

③ ;2

1

1 ( )2

m

i ij ijj

E Q O=

= −∑

④用此误差估计输出层的直接前导层的误差 , 再用输出层前导层误差估计更前一层的

误差. 如此获得所有其他各层的误差估计;

⑤并用这些估计实现对权矩阵的修改. 形成将输出端表现出的误差沿着与输出信号相

反的方向逐级向输出端传递的过程.网络关于整个样本集的误差测度:

ii

E E=∑

输入层

输出层

隐含层

……

……

……

P1

X1

P2 P3 Pn

图 1 BP 网络模型

Page 38: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

37

BP 神经网络的 matlab 程序

p=p1';t=t1';[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %原始数据归一化

net=newff(minmax(pn),[5,1],{'tansig','purelin'},'traingdx'); %设置网络,建立相应的 BP 网络

net.trainParam.show=2000; % 训练网络

net.trainParam.lr=0.01;net.trainParam.epochs=100000;net.trainParam.goal=1e-5;[net,tr]=train(net ,pn,tn); %调用 TRAINGDM 算法训练 BP网络

pnew=pnew1';pnewn=tramnmx(pnew,minp,maxp);anewn=sim(net,pnewn); %对 BP 网络进行仿真

anew=postmnmx(anewn,mint,maxt); %还原数据

y=anew';

第九章 GM(1,1)GM(1,1)GM(1,1)GM(1,1)灰色预测

灰色系统理论认为对既含有已知信息又含有未知或非确定信息的系统进行预测,就是对

在一定方位内变化的、与时间有关的灰色过程的预测。尽管过程中所显示的现象是随机的、

杂乱无章的,但毕竟是有序的、有界的,因此这一数据集合具备潜在的规律,灰色预测就是

利用这种规律建立灰色模型对灰色系统进行预测。

GM(1,N)表示 1 阶的,N 个变量的微分方程型模型。而 GM(1,1)则是 1 阶的,1 个变量

的微分方程型模型。

GM(1,1)预测模型的基本原理

(1)GM(1,1)灰色系统

所谓灰色系统是指既含有已知信息,又含有未知信息的系统,是由邓聚龙教授在 1986年提出的。灰色理论自诞生以来,发展很快,由于它所需因素少,模型简单,特别是对于因

素空间难以穷尽,运行机制尚不明确,又缺乏建立确定关系的信息系统,灰色系统理论及方

法为解决此类问题提供了新的思路和有益的尝试。

灰色预测方法是根据过去及现在已知的或非确知的信息,建立一个从过去引申到将来的

GM 模型,从而确定系统在未来发展变化的趋势,为规划决策提供依据。在灰色预测模型中,

对时间序列进行数量大小的预测,随机性被弱化了,确定性增强了。此时在生成层次上求解

得到生成函数,据此建立被求序列的数列预测,其预测模型为一阶微分方程,即只有一个变

量的灰色模型,记为 GM(1,1)模型。

灰色 GM(1,1)预测模型在计算过程中主要是以矩阵为主,它和 MATLAB 的结合可以有

效的解决了灰色系统理论在矩阵计算中的问题,为灰色系统理论的应用提供了一种新的方

法。

(2)GM(1,1)预测模型的基本原理

GM(1,1)模型是灰色预测的核心, 它是一个单个变量预测的一阶微分方程模型 , 其离散

时间响应函数近似呈指数规律。建立 GM(1,1)模型的方法是:

设 为原始非负时间序列, 为累加生成( ) ( ) ( ){ }(0) (0) (0) (0)1 , 2 , ,X X X X n= L ( )(1)X t

Page 39: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

38

序列,即

( 1)( ) ( )(1) (0)

1

, 1,2, ,i

m

X t X m t n=

= =∑ L

GM(1,1)模型的白化微分方程为:

( 2)(1)

(1)dXaX u

dt+ =

式(2)中, 为待辨识参数,亦称发展系数; 为待辨识内生变量,亦称灰作用量。设待辨a u

识向量 , 按最小二乘法求得 式中ˆa

au⎛ ⎞

= ⎜ ⎟⎝ ⎠

1ˆ ( )T Ta B B B y−=

( ) ( )( )

( ) ( )( )

( ) ( )( )

(1) (1)

(1) (1)

(1) (1)

1 1 2 121 2 3 12

1 1 12

X X

X XB

X n X n

− +

− +=

− − +

LL L

( )( )

( )

(0)

(0)

(0)

23

XX

y

X n

=L

于是可得到灰色预测的离散时间响应函数为:

( 3)( ) ( )(1) (0)1 1 atu uX t X ea a

−⎛ ⎞+ = − +⎜ ⎟⎝ ⎠

为所得的累加的预测值, 将预测值还原即为:( )(1) 1X t +

( 4)( ) ( ) ( ) ( )(0) (1) (1)ˆ ˆ ˆ1 1 , 1,2,3X t X t X t t n+ = + − = L

(3)GM(1,1)预测模型的 MATLAB 程序

根据上述 GM(1,1)模型的数学思想 , 结合 MATLAB 语言的特点编制了一套可读性强 ,容易理解的预测程序. 该程序操作简单灵活 , 稳定性好, 直接面向用户.

GM(1,1)的 matlab 程序

gm.m %为文件名

function f=gm(x0,m) %定义为函数 gm(x)n=length(x0);x1=zeros(1,n);x1(1)=x0(1);for i=2:n %计算累加序列 x1

Page 40: 数学建模 - hnumath.cn · 2 第一章 优化模型: 用 lingo 简单的优化模型: 简单的优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。

39

x1(i)=x1(i-1)+x0(i);endi=2:n; %对原始数列平行移位并负值给 yy(i-1)=x0(i);y=y';i=1:n-1;c(i)=-0.5*(x1(i)+x1(i+1));B=[c' ones(n-1,1)];au=inv(B'*B)*B'*y; %计算参数 a,u 矩阵

i=1:m; %计算预测累加数列的值

ago(i)=(x0(1)-au(2)/au(1))*exp(-au(1)*(i-1))+au(2)/au(1);yc(1)=ago(1);i=1:m-1; %还原数列的值

yc(i+1)=ago(i+1)-ago(i);i=2:n;error(i)=yc(i)-x0(i); %计算残差值

yc(1)=ago(1);i=1:m-1; %修正还原数列的值

yc(i+1)=ago(i+1)-ago(i);c=std(error)/std(x0); %计算后验差比

relerror=abs((error)-mean(error)*ones(size(error)));[nrow,ncol]=size(relerror);p=0;for i=2:ncol

if relerror(1,i)<0.6745*std(x0)p=p+1;

endendp=p/(n-1);w1=min(abs(error));w2=max(abs(error));i=1:n; %计算关联度

w(i)=(w1+0.5*w2)./(abs(error(i))+0.5*w2);w=sum(w)/(n-1);au %输出参数 a,u 的值

ago; %输出累加数列 ago 的值

x0; %输出原始序列值

f=yc; %输出预测的值

error; %输出残差的值

c; %输出后验差比的值

p; %输出小误差概率的值

w %输出关联度

end