MathModeling(Ⅰ)
主编: 😄 审阅:🔥
第一章:数学建模概论
数学模型可以描述为:对于现实世界的一个特定对象,为了一个特定目的,根据其特有的内在规律,做出一些必要打的简化假设,运用适当的数学工具,得到的一个数学结构。数学建模是指建立数学模型的全过程,包括表述、求解、解释、检验等。数学建模的基本步骤就是解决一个实际问题的步骤,主要包括下面几点:模型准备、问题分析、模型假设、模型建立、模型求解、模型检验。
第二章:数学建模软件
Matlab\text{Matlab}Matlab 简介
三维绘图:
plot3(x,y,z)x=x1:dx:x2;y=y1;dy;y2; %自变量x和y的取值范围和间隔[X,Y]=meshgrid(x,y)%生成格点矩阵Z=f(X,Y)%计算格点上的函数值mesh(X,Y,Z) %绘制网格图surf(X,Y,Z) %绘制曲面图
数值计算—高数篇
%求极限limit(f,x,a),limit(f,x,a,'left'),limit(f,x,a,'right')%求导diff(f,x,n)%求极值fminbnd,fminunc,fminsearch%求符号积分int(f,x),int(f,x,a,b)%求数值积分quad(f,a,b),quad1(f,a,b),quad2d(f,a,b,c,d)%高精度数值积分vpaintegral(f,a,b)%Talyor级数展开taylor(f,x,a,'Order',n)%Fourier级数计算展开fseries(f,x,n,a,b)%求级数symsum(f,k,m,n)%解代数方程(组)solve,fsolve%解微分方程(组)dsolve,ode45,ode15s
数值计算—线代篇
%矩阵的行列式det(A)%矩阵的逆inv(A)%矩阵的秩rank(A)%初等行变换rref(A)%因式分解factor(D)%基础解系null(A),null(A,'r')%特征值与特征向量[V,d]=eig(A)
数值计算—概率篇
%随机数rand,name+rnd(paras,m,n),randsample/randsrc,crnd%概率密度函数name+pdf(x,paras)%分布函数name+cdf(x,paras)%逆分布函数name+icdf(x,paras)%数字特征mean,median,geomean,mode,var,std,range,skewness(偏度),kurtosis(峰度),moment,OriginMoment,cov,corrcoef%频率直方图tabulate,ecdfhist,ksdensity%箱线图boxplot(X,notch,'sym',vert,whis)%参数估计name+fit(x,alpha),name+like(x,alpha)%假设检验ztest,ttest,ttest2,vartest,vartest2
Lingo\text{Lingo}Lingo 简介
具体代码放在线性规划以及非线性规划里。
~~
第三章:优化算法
线性规划与非线性规划
线性规划问题相关定义与标准型:
(若使用Matlab\text{Matlab}Matlab,需使用函数linprog()\text{linprog()}linprog())
可行解:满足约束条件的解
可行域:所有可行解构成的集合
最优解:使得目标函数达到最小值的可行解
标准形式如下所示:
minz=∑i=1ncjxjs.t.∑i=1naijxj≤bj,i=1,⋯,m\min z=\sum_{i=1}^nc_jx_j\\ \text{s.t.}\sum_{i=1}^na_{ij}x_j\leq b_j,~i=1,\cdots,m minz=i=1∑ncjxjs.t.i=1∑naijxj≤bj,i=1,⋯,m
例:求解下列线性规划问题
maxz=2x1+x2−x3s.t.{x1+x2+2x3=6x1+4x2−x3≤42x1−2x2+x3≤12x1≥0,x2≥0,x3≥0\max z=2x_1+x_2-x_3\\ \text{s.t.}\begin{cases} x_1+x_2+2x_3=6\\ x_1+4x_2-x_3\leq4\\ 2x_1-2x_2+x_3\leq12\\ x1\geq0,x_2\geq0,x_3\geq0 \end{cases} maxz=2x1+x2−x3s.t.⎩⎪⎪⎪⎨⎪⎪⎪⎧x1+x2+2x3=6x1+4x2−x3≤42x1−2x2+x3≤12x1≥0,x2≥0,x3≥0
解:对应 Lingo\text{Lingo}Lingo 代码如下所示:
model:max=2*x1+x2-x3;x1+x2+2*x3=6;x1+4*x2-x3<=4;2*x1-2*x2+x3<12;end
非线性规划问题相关定义与代码
定义:若规划为提的目标函数或约束条件中包含非线性函数,则称为非线性规划(简记为NLP\text{NLP}NLP)。非线性规划的最优解(若存在)可能在其可行域的任一点达到,目前非线性规划还没有合适各种问题的一般解法,各种方法都有其待定的使用范围。
例:求解下列非线性规划问题
minf(x)=x12+x22+8s.t.{x12−x2≥0x1+x22=2;x1≥0,x2≥0\min f(x)=x_1^2+x_2^2+8\\ \text{s.t.}\begin{cases} x_1^2-x_2\geq0\\ x_1+x_2^2=2;\\ x1\geq0,x_2\geq0 \end{cases} minf(x)=x12+x22+8s.t.⎩⎪⎨⎪⎧x12−x2≥0x1+x22=2;x1≥0,x2≥0
解:对应 Lingo\text{Lingo}Lingo 代码如下所示:
model:min=x1^2+x2^2+8;x1^2-x2>=0;x1+x2^2=2;end
无约束条件的非线性规划
标准形式为:
minxf(x)s.t.x1≤x≤x2\min_x f(x)\\ \text{s.t.}x_1\leq x \leq x_2 xminf(x)s.t.x1≤x≤x2
例:求解下列函数的极小值
miny=1∣x∣s.t.−3≤x≤1\min y=\frac{1}{|x|}\\ \text{s.t.}-3\leq x \leq 1 miny=∣x∣1s.t.−3≤x≤1
解:对应 Lingo\text{Lingo}Lingo 代码如下所示:
model:min=1/@abs(x);@bnd(-3,x,1);end
注: Lingo\text{Lingo}Lingo 在调用函数时要在函数名称前面加上@。
注: Lingo\text{Lingo}Lingo 中的注释用 “ !“表示,”;“表示结束(可多行注释)。
3.二次规划:目标函数为自变量 xxx 的二次函数,约束条件全是线性的
标准形式为:
minx12xTHx+fTxs.t.{Ax≤bMx=Nx1≤x≤x2其中A,M为矩阵,b,x1,x2为向量\min_x\frac{1}{2}x^THx+f^Tx\\ \text{s.t.}\begin{cases} Ax\leq b\\ Mx=N\\ x_1\leq x \leq x_2 \end{cases}\\ 其中A,M为矩阵,b,x_1,x_2为向量 xmin21xTHx+fTxs.t.⎩⎪⎨⎪⎧Ax≤bMx=Nx1≤x≤x2其中A,M为矩阵,b,x1,x2为向量
例:求解下列二次规划问题
minf(x)=2x12−4x1x2+4x22−6x1−3x2s.t.{x1+x2≤34x1+x2≤9x1≥0,x2≥0\min f(x)=2x_1^2-4x_1x_2+4x_2^2-6x_1-3x_2\\ \text{s.t.}\begin{cases} x_1+x_2\leq3\\ 4x_1+x_2\leq9\\ x_1\geq0,x_2\geq0 \end{cases} minf(x)=2x12−4x1x2+4x22−6x1−3x2s.t.⎩⎪⎨⎪⎧x1+x2≤34x1+x2≤9x1≥0,x2≥0
解:对应 Lingo\text{Lingo}Lingo 代码如下所示:
model:min=2*x1^2-4*x1*x2+4*x2^2-6*x1-3*x2;x1+x2<=3;4*x1+x2<=9;end
注:(非)线性规划问题采用 Lingo\text{Lingo}Lingo 软件实现来求解。
整数规划
定义:全部变量限制为整数的规划问题,称为纯整数规划;部分变量限制为整数的规划问题,称为混合整数规划;变量只取 000 或 111 的规划问题,称为**0−10-10−1整数规划**。这里只介绍分枝定界法。(其余的方法可以简单看一下PPT)
分枝定界法:
设有最大整数规划问题A,与它相应的线性规划问题B,从解问题B问题开始,若其最优解不符合A的整数条件,那么B的最优目标函数必是A的最优目标函数 z∗z^*z∗ 的上界,记作 z2z_2z2 ;而A的任意可行解的目标函数值将是 z∗z^*z∗ 的一个下界 z1z_1z1 。分枝定界法就是将B的可行域分成子区域的方法,逐步减小 z2z_2z2 和增大 z1z_1z1 ,最终求到 z∗z^*z∗ 。
通俗地说就是,先找出相应线性规划B的最优解,然后从两个变量任意一个开始考虑整数,确定一个变量的范围后,再求解这个新的规划问题。如此反复最后找到最优解。
例:求解下列整数规划问题
maxz=5x1+8x2s.t.{x1+x2≤65x1+9x2≤45xi≥0,xi∈Z,i=1,2\max z=5x_1+8x_2\\ \text{s.t.}\begin{cases} x_1+x_2\leq6\\ 5x_1+9x_2\leq45\\ x_i\geq0,x_i\in\mathbb{Z},i=1,2 \end{cases} maxz=5x1+8x2s.t.⎩⎪⎨⎪⎧x1+x2≤65x1+9x2≤45xi≥0,xi∈Z,i=1,2
解:对应 Lingo\text{Lingo}Lingo 代码如下所示:
model:max=5*x1+8*x2;x1+x2<=6;5*x1+9*x2<=45;@gin(x1);@gin(x2);end
注:@gin():整数约束;@bin():0-1约束
无赖法——隐枚举法(针对xix_ixi的整体组合数目较小)
该种方法的适用范围有限,解答灵魂在于图中表格。
哎,就是玩儿(备考请跳过😘):对于Lingo\text{Lingo}Lingo中对于循环的实现(以配送选址问题的代码为例)
@for():想必这个还是很好理解的,这是一个循环的标识
∑j=1nxij⇒\sum_{j=1}^nx_{ij}\Rightarrow∑j=1nxij⇒ @for( warehouse(i): @sum( link2(i,j):x(i,j)) ) 怎么理解呢?
大概讲一下Lingo\text{Lingo}Lingo中一个比较好玩的想法,上面这个问题的关键是要理解何为link2?
link2的定义位于set中,在数学上可以理解为笛卡尔积,考虑
sets:
factory/p1…p6/:p;
warehouse/w1…w4/:a,f,g;
customer/c1…c6/:d;
tr/tr1…tr4/: z;
link1(factory,warehouse):c,w;
link2(warehouse,customer):h,x;
endsets
如果说向量是Matlab\text{Matlab}Matlab的灵魂,那么数学的集合思想正是Lingo\text{Lingo}Lingo灵魂不可分割的重要部分。
在这里,warehouse和customer称为集合,但实际上严格来说我会称之为”集合族“,因为w1,w2,w3,w4都是独立的集**(set),这里的a,f,g和d分别称为warehouse和customer的属性(attribute)**,之所以w1,w2,w3,w4在同一族中,正是因为有相同的属性,物以类聚。
集合的定义语法可以简单记为:set_name/set_member/:attribute_list
link的作用正是一个声明,声明不同集合(族)之间是存在某种运算或某种关系的,这种定义并不会为我们增加任何负担。相反,就配送选址问题为例,我们可以这么想:备选配送中心作为供应工厂与顾客的枢纽,它势必是与这两者之间有某种联系的,具体表现为货物从每个供应工厂到每个配送中心运入量、从每个配送中心到每个顾客的运出量,因此我们需要这样的link1,link2,而供应工厂与顾客之间并无之间联系,因此也就没有所谓的link3
多目标优化
考试要求:可以解释方程组含义,不作求解要求
概念:
偏差变量:实际值与目标值之间的差异
正偏差变量 d+d^+d+ :超出目标的偏差
负偏差变量 d−d^-d− :未达到目标的偏差
{d−=0,d+>0,实际值超过目标值d+=0,d−>0,实际值未达到目标值d+=0,d−=0,实际值等于目标值\begin{cases} d^-=0,d^+>0,实际值超过目标值\\ d^+=0,d^->0,实际值未达到目标值\\ d^+=0,d^-=0,实际值等于目标值 \end{cases} ⎩⎪⎨⎪⎧d−=0,d+>0,实际值超过目标值d+=0,d−>0,实际值未达到目标值d+=0,d−=0,实际值等于目标值
统一处理目标与约束
刚性约束:类似线性规划,采用严格的等式或不等式约束
柔性约束:若希望不等式保持大于等于,则极小化负偏差;
若希望不等式保持小于等于,则极小化正偏差;
若希望保持等式,则同时极小化正负偏差。
目标的优先级与权系数
目标规划中,目标的优先级分为两个层面。
第一个层面:目标分成不同的优先级,再求解目标规划时,必须先优化优先级高的目标,再优化优先级低的目标。通常用 P1>>P2>>⋯>>Pk>>⋯P_1>>P_2>>\cdots>>P_k>>\cdotsP1>>P2>>⋯>>Pk>>⋯ 表示不同的因子。
第二个层面:目标处于同一优先级,但两个目标的权重不同,此时应零目标同时优化,但用权重系数的大小来表示目标的重要性的差别。
目标规划模型的一般形式:
设 xj,j=1,⋯,nx_j,j=1,\cdots,nxj,j=1,⋯,n 时目标规划的决策变量,共有 m 个刚性约束,有 I 个柔性约束目标,其偏差变量为 dj+,dj−,j=1,⋯,nd_j^+,d_j^-,j=1,\cdots,ndj+,dj−,j=1,⋯,n ,I 有 q 个优先级别,分别是 P1,⋯,PqP_1,\cdots,P_qP1,⋯,Pq ,在同一个优先级 PkP_kPk 中有不同的权重,分别记为 wkj+,wkj−,j=1,⋯,Iw_{kj}^+,w_{kj}^-,j=1,\cdots,Iwkj+,wkj−,j=1,⋯,I ,则目标规划模型的一般形式为:
minz=∑k=1qPk∑j=1I(wkj+dj−+wkj+dj+)s.t.{∑j=1naijxj≤(=,≥)bi,i=1,⋯,m∑j=1ncijxj+di−−di+=gi,i=1,⋯,Ixj≥0,j=1,⋯,ndi−,di+≥0,i=1,⋯,I\min z=\sum_{k=1}^qP_k\sum_{j=1}^I(w_{kj}^+d_j^-+w_{kj}^+d_j^+)\\ \text{s.t.}\begin{cases} \sum_{j=1}^na_{ij}x_j\leq(=,\geq)b_i,i=1,\cdots,m\\ \sum_{j=1}^nc_{ij}x_j+d_i^--d_i^+=g_i,i=1,\cdots,I\\ x_j\geq0,j=1,\cdots,n\\ d_i^-,d_i^+\geq0,i=1,\cdots,I \end{cases} minz=k=1∑qPkj=1∑I(wkj+dj−+wkj+dj+)s.t.⎩⎪⎪⎪⎨⎪⎪⎪⎧∑j=1naijxj≤(=,≥)bi,i=1,⋯,m∑j=1ncijxj+di−−di+=gi,i=1,⋯,Ixj≥0,j=1,⋯,ndi−,di+≥0,i=1,⋯,I
需要说明的是优先级的安排具有主观性,一般来说P1P_1P1是确定的,但后面的很有可能是不能肯定的,言之有理即可,没有唯一答案。
补充(不要求掌握,仅供娱乐):对于代码(ex3_9_2.lg4)的说明
(sets)⋯\cdots⋯Variable/1…2/: x; H_Cons(H_Con_Num, Variable): A; S_Cons(S_Con_Num, Variable): C;⋯\cdots⋯
在这里集合Variable称为集合H_Cons和S_Cons的派生集
(data)⋯\cdots⋯ctr = ? ; Goal = ? ? 0 ;⋯\cdots⋯
在这里每个?代表未知参数,但在每个问题中该参数是事先给定的,称为实时输入参数,在运行过程中,程序会自动跳出对话框,供操作者输入参数。
@for(Level(i)|i# lt #@size(Level):@bnd(0, z(i), Goal(i));
这里的for语句中,在条件中设置了一个成员资格过滤器,选择符合条件:i > size(level)的i进行后续语句的操作。” | “是成员资格过滤器的开始标志,两个” # “之间是一个逻辑判断,” lt “代表的是严格大于。函数@bnd(a,x,b)的作用是令a<x<b
排队论
排队系统的组成和特征
一般的排队过程都由输入过程,排队规则,服务过程三部分组成
输入过程:是指顾客到来时间的无规律性
顾客来源,到达方式,相继顾客到达的时间间隔
排队规则:指到达排队系统的顾客按怎样的规则排队等待
等待制,损失制,混合制,闭合制
服务过程:包括服务机构和服务规则两个部分
服务规则—先到先服务,后到后服务,随机服务
服务机构—单服务台,多服务台(并联,串联),混合型
排队系统的数量指标
队长:系统内顾客数(正被服务+排队等待服务)的数学期望,记作 LsL_sLs ;等待队长:系统内等待服务的顾客数的数学期望,记作 LqL_qLq ;等待时间:顾客在系统内逗留时间(等待排队时间+接受服务时间)的数学期望,记作 WsW_sWs ;顾客在系统内等待时间(进入系统到接受服务的时间)的数学期望,记作 WqW_qWq ;忙期:服务机构连续繁忙时间(顾客到达空闲服务机构起,到服务机构再次空闲的时间)的数学期望,记作 TbT_bTb ;损失率:顾客不能进入排队系统的概率;服务强度:忙期/服务总时间
M/M/SM/M/SM/M/S 等待制模型
顾客到达规律服从参数为 λ\lambdaλ 的 Poisson 分布,在 [0,t][0,t][0,t] 时间内到达的顾客数 X(t)X(t)X(t) 服从的分布为
P{X(t)=k}=(λt)ke−λtk!\mathbb{P}\{X(t)=k\}=\frac{(\lambda t)^ke^{-\lambda t}}{k!} P{X(t)=k}=k!(λt)ke−λt
顾客接受服务的时间服从负指数分布,单位时间服务的顾客平均数为 μ\muμ ,则服务时间的分布为
f(t)={μe−μt,t>00,其他f(t)=\begin{cases} \mu e^{-\mu t},t>0\\ 0,\text{其他} \end{cases} f(t)={μe−μt,t>00,其他
这表明每个顾客接受服务的平均时间为 Ts=1/μT_s=1/\muTs=1/μ 。
S=1S=1S=1 情形
服务强度:ρ=λ/(Sμ)=λ/μ\rho=\lambda /(S\mu)=\lambda/\muρ=λ/(Sμ)=λ/μ ,且 ρ<1\rho<1ρ<1 。
(理解:服务强度=单位时间服务强度=忙期总时间\frac{忙期}{总时间}总时间忙期=单位时间顾客数×每个顾客平均服务时间单位时间1\frac{单位时间顾客数\times每个顾客平均服务时间}{单位时间1}单位时间1单位时间顾客数×每个顾客平均服务时间=λ×1/μ1\frac{\lambda\times1/\mu}{1}1λ×1/μ=λμ\frac{\lambda}{\mu}μλ)
系统里有 n 个顾客的概率:pn=(1−ρ)ρn,n=0,1,2,⋯p_n=(1-\rho)\rho^n,n=0,1,2,\cdotspn=(1−ρ)ρn,n=0,1,2,⋯
(理解:流入-流出平衡原理,目前无法理解)
系统中顾客的平均队长为:Ls=ρ1−ρL_s=\frac{\rho}{1-\rho}Ls=1−ρρ (∑n=0∞npn\sum_{n=0}^\infty np_n∑n=0∞npn)
系统中顾客的平均等待队长:Lq=ρ21−ρL_q=\frac{\rho^2}{1-\rho}Lq=1−ρρ2 (∑n=0∞(1−n)pn\sum_{n=0}^\infty (1-n)p_n∑n=0∞(1−n)pn)
顾客在系统中的逗留时间: T∼Exp(μ−λ)T\sim Exp(\mu-\lambda)T∼Exp(μ−λ) ,平均逗留时间为:Ws=1μ−λW_s=\frac{1}{\mu-\lambda}Ws=μ−λ1
顾客在系统中平均等待时间:Wq=Ws−Ts=1μ−λ−1μ=λμ(μ−λ)W_q=W_s-T_s=\frac{1}{\mu-\lambda}-\frac 1\mu=\frac{\lambda}{\mu(\mu-\lambda)}Wq=Ws−Ts=μ−λ1−μ1=μ(μ−λ)λ
Little 公式:(对其他排队模型依然适用,包括 S>1S>1S>1 情形)
(在队长和等待时间之间建立起等式关系)
Ls=ρ1−ρ=λμ1−λμ=λμ−λ=λWsLq=ρ21−ρ=λ2μ21−λμ=λ2μ(μ−λ)=λWqL_s=\frac{\rho}{1-\rho}=\frac{\frac{\lambda}{\mu}}{1-\frac{\lambda}{\mu}}=\frac{\lambda}{\mu-\lambda}=\lambda W_s\\ L_q=\frac{\rho^2}{1-\rho}=\frac{\frac{\lambda^2}{\mu^2}}{1-\frac{\lambda}{\mu}}=\frac{\lambda^2}{\mu(\mu-\lambda)}=\lambda W_q Ls=1−ρρ=1−μλμλ=μ−λλ=λWsLq=1−ρρ2=1−μλμ2λ2=μ(μ−λ)λ2=λWq
S>1S>1S>1 情形
服务强度:ρ=λ/(Sμ)\rho=\lambda /(S\mu)ρ=λ/(Sμ) ,且 ρ<1\rho<1ρ<1
系统里有 n 个顾客的概率:
pn={(Sρ)nn!p0,n=1,⋯,S(Sρ)nS!Sn−Sp0,n≥Sp_n=\begin{cases} \frac{(S\rho)^n}{n!}p_0,n=1,\cdots ,S\\\\ \frac{(S\rho)^n}{S!S^{n-S}}p_0,n\ge S \end{cases} pn=⎩⎪⎨⎪⎧n!(Sρ)np0,n=1,⋯,SS!Sn−S(Sρ)np0,n≥S
其中,所有服务台都空闲的概率
p0=[∑n=0S−1(Sρ)nn!+(Sρ)SS!(1−ρ)]−1p_0=\left[\sum_{n=0}^{S-1}\frac{(S\rho)^n}{n!}+\frac{(S\rho)^S}{S!(1-\rho)}\right]^{-1} p0=[n=0∑S−1n!(Sρ)n+S!(1−ρ)(Sρ)S]−1
系统中顾客的平均队长:Ls=Sρ+(Sρ)SρS!(1−ρ)p0L_s=S\rho+\frac{(S\rho)^S\rho}{S!(1-\rho)}p_0Ls=Sρ+S!(1−ρ)(Sρ)Sρp0
顾客在系统中的平均逗留时间:Ws=LsλW_s=\frac{L_s}{\lambda}Ws=λLs
顾客在系统中的平均等待时间:Wq=Ws−Ts=Lsλ−1μW_q=W_s-T_s=\frac{L_s}{\lambda}-\frac{1}{\mu}Wq=Ws−Ts=λLs−μ1
系统中顾客的的平均等待队长:Lq=λWq=(Sρ)SρS!(1−ρ)2p0L_q=\lambda W_q=\frac{(S\rho)^S\rho}{S!(1-\rho)^2}p_0Lq=λWq=S!(1−ρ)2(Sρ)Sρp0
接受服务的顾客数期望:SρS\rhoSρ
S=2S=2S=2 情形
服务强度:ρ=λ/(2μ)\rho=\lambda/(2\mu)ρ=λ/(2μ),且ρ<1\rho<1ρ<1
系统里有 n 个顾客的概率:
pn={(2ρ)nn!p0,n=12ρnp0,n≥2p_n=\begin{cases} \frac{(2\rho)^n}{n!}p_0,n=1\\\\ 2\rho^n p_0,n\ge2 \end{cases} pn=⎩⎪⎨⎪⎧n!(2ρ)np0,n=12ρnp0,n≥2
其中,所有服务台都空闲的概率
p0=[∑n=02−1(2ρ)nn!+(2ρ)22!(1−ρ)]−1=1−ρ1+ρp_0=[\sum_{n=0}^{2-1}\frac{(2\rho)^n}{n!}+\frac{(2\rho)^2}{2!(1-\rho)}]^{-1}=\frac{1-\rho}{1+\rho} p0=[n=0∑2−1n!(2ρ)n+2!(1−ρ)(2ρ)2]−1=1+ρ1−ρ
系统中顾客的平均队长:
Ls=2ρ+(2ρ)2ρ2!(1−ρ)p0=4μλ(2μ−λ)(2μ+λ)L_s=2\rho+\frac{(2\rho)^2\rho}{2!(1-\rho)}p_0=\frac{4\mu\lambda}{(2\mu-\lambda)(2\mu+\lambda)} Ls=2ρ+2!(1−ρ)(2ρ)2ρp0=(2μ−λ)(2μ+λ)4μλ
由Little\text{Little}Little公式,平均逗留时间为,
Ws=Lsλ=4μ(2μ−λ)(2μ+λ)W_s=\frac{L_s}{\lambda}=\frac{4\mu}{(2\mu-\lambda)(2\mu+\lambda)} Ws=λLs=(2μ−λ)(2μ+λ)4μ
系统中顾客的平均等待时间为,
Wq=Ws−Ts=Ws−1μ=λ2μ(2μ−λ)(2μ+λ)W_q=W_s-T_s=W_s-\frac{1}{\mu}=\frac{\lambda^2}{\mu(2\mu-\lambda)(2\mu+\lambda)} Wq=Ws−Ts=Ws−μ1=μ(2μ−λ)(2μ+λ)λ2
由Little\text{Little}Little公式,平均等待队长为,
Lq=λWs=λ3μ(2μ−λ)(2μ+λ)L_q=\lambda W_s=\frac{\lambda^3}{\mu(2\mu-\lambda)(2\mu+\lambda)} Lq=λWs=μ(2μ−λ)(2μ+λ)λ3
可以发现,
KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ W_q=\rho^2W_S~…
因此,对于M/M/2模型的记忆只需要记住Wq,Ws,Lq,LsW_q,W_s,L_q,L_sWq,Ws,Lq,Ls四个之中任何一个即可,然后利用Little\text{Little}Little公式和(*)推导即可
第四章:评价算法
由于考试中只会针对层次分析法以及模糊综合评价进行考察,所以这里只归纳层次分析法以及模糊综合评价的相关知识点。
层次分析法(AHP)
基本概念:
层次分析法是将要决策的问题及其有关因素分解成目标、准则、方案等层次,进而进行定性和定量分析的决策方法。
它的特征是合理地将定性与定量决策结合起来,按照思维、心理的规律把决策过程细致化。
基本步骤:
建立递阶层次结构模型
构造出各层次中的所有判断矩阵
层次单排序及一致性检验
层次总排序及一致性检验
考试中只考单排序一致性检验
具体步骤:
第 111 步:建立递阶层次结构模型
最高层(目标层):只有一个元素,即决策目标
中间层(准则层):决策的准则、子准则
最底层(方案层):备选方案、措施
第 222 步:构造成对比较阵
假定共有 nnn 个元素参与比较,构造成对比较阵:
A=(a11⋯a1n⋮⋱⋮an1⋯ann)A=\left(\begin{matrix} a_{11} & \cdots & a_{1n}\\ \vdots & \ddots & \vdots\\ a_{n1} & \cdots & a_{nn} \end{matrix} \right) A=⎝⎜⎛a11⋮an1⋯⋱⋯a1n⋮ann⎠⎟⎞
其中 aija_{ij}aij 表示第 iii 个元素比第 jjj 个元素强的重要程度,典型标度如下:
概念及相关结论:
(1)如果 aij>0a_{ij}>0aij>0 ,aijaji=1a_{ij}a_{ji}=1aijaji=1 ,则称矩阵 AAA 为正互反矩阵。
(2)若 nnn 阶正互反矩阵 AAA 满足 aikakj=aija_{ik}a_{kj}=a_{ij}aikakj=aij ,则称 AAA 为一致性矩阵。
(3)nnn 阶正互反矩阵 AAA 为一致性矩阵 ⇔\Leftrightarrow⇔ AAA 最大特征值为 nnn 。
(4)aii=1a_{ii}=1aii=1
第 333 步:层次单排序及一致性检验
(1)计算成对比较阵 AAA 的最大特征值 λmax\lambda_{\text{max}}λmax
残缺矩阵的处理方法
a~ij={aij,aij≠θ,i≠j0,aij=θ,i≠jmi+1,i=j\tilde{a}_{ij}=\begin{cases} a_{ij},\qquad\quad a_{ij}\neq\theta,i\neq j\\ 0,\qquad~~~\quad a_{ij}=\theta,i\neq j\\ m_i+1,\quad~ i=j \end{cases} a~ij=⎩⎪⎨⎪⎧aij,aij=θ,i=j0,aij=θ,i=jmi+1,i=j
其中符号 θ\thetaθ 表示残缺,mim_imi 表示第 iii 行残缺元素的个数。
例:
A=(11θ114θ141)⟶A~=(2101140142)A=\left(\begin{matrix} 1 & 1 & \theta\\ 1 & 1 & 4\\ \theta & \frac{1}{4} & 1 \end{matrix} \right)\longrightarrow \tilde{A}=\left(\begin{matrix} 2 & 1 & 0\\ 1 & 1 & 4\\ 0 & \frac{1}{4} & 2 \end{matrix} \right) A=⎝⎛11θ1141θ41⎠⎞⟶A~=⎝⎛2101141042⎠⎞
再利用和法计算矩阵 A~\tilde{A}A~ 的最大特征值及作一致性检验。
(建议顺序:对角线 →θ→\rightarrow\theta\rightarrow→θ→ 其余补全)
和法计算最大特征值
A=(1131141/31/41)⟶列向量归一化(3/74/93/83/74/91/21/71/91/8)⟶按行求和(629/504173/126191/504)⟶归一化(629/1512173/3781191/1512)=w≈(0.41600.45770.1263)Aw=(1131141/31/41)(629/1512173/3781191/1512)=(947/7563895/5041721/4536)λ=13∑i=13((Aw)iwi)≈3.0092A=\left(\begin{matrix} 1 & 1 & 3\\ 1 & 1 & 4\\ 1/3 & 1/4 & 1\\ \end{matrix}\right)\overset{列向量归一化}\longrightarrow\left(\begin{matrix} 3/7 & 4/9 & 3/8\\ 3/7 & 4/9 & 1/2\\ 1/7 & 1/9 & 1/8\\ \end{matrix}\right)\\ \overset{按行求和}\longrightarrow\left(\begin{matrix} 629/504\\ 173/126\\ 191/504\\ \end{matrix}\right)\overset{归一化}\longrightarrow \left(\begin{matrix} 629/1512\\ 173/378\\ 1191/1512\\ \end{matrix}\right)=w\approx\left(\begin{matrix} 0.4160\\ 0.4577\\ 0.1263\\ \end{matrix}\right)\\ Aw=\left(\begin{matrix} 1 & 1 & 3\\ 1 & 1 & 4\\ 1/3 & 1/4 & 1\\ \end{matrix}\right)\left(\begin{matrix} 629/1512\\ 173/378\\ 1191/1512\\ \end{matrix}\right)=\left(\begin{matrix} 947/756\\ 3895/504\\ 1721/4536\\ \end{matrix}\right)\\ \lambda=\frac{1}{3}\sum_{i=1}^3(\frac{(Aw)_i}{w_i})\approx3.0092 A=⎝⎛111/3111/4341⎠⎞⟶列向量归一化⎝⎛3/73/71/74/94/91/93/81/21/8⎠⎞⟶按行求和⎝⎛629/504173/126191/504⎠⎞⟶归一化⎝⎛629/1512173/3781191/1512⎠⎞=w≈⎝⎛0.41600.45770.1263⎠⎞Aw=⎝⎛111/3111/4341⎠⎞⎝⎛629/1512173/3781191/1512⎠⎞=⎝⎛947/7563895/5041721/4536⎠⎞λ=31i=1∑3(wi(Aw)i)≈3.0092
(2)计算一致性指标
CI=λmax−nn−1CI=\frac{\lambda_{\text{max}}-n}{n-1} CI=n−1λmax−n
那么(1)中矩阵的一致性指标为:
CI=λ−nn−1=3.0092−33−1=0.0046CI=\frac{\lambda-n}{n-1}=\frac{3.0092-3}{3-1}=0.0046 CI=n−1λ−n=3−13.0092−3=0.0046
(3)计算一致性比率 CR=CIRICR=\frac{CI}{RI}CR=RICI ,其中随机一致性指标 RIRIRI 如下:
判断:当 CR<0.1CR<0.1CR<0.1 ,通过一致性检验;否则修正矩阵 AAA 。
那么(1)中矩阵的一致性检验为:
CR=CIRI=0.00460.58=0.0079<0.1CR=\frac{CI}{RI}=\frac{0.0046}{0.58}=0.0079<0.1 CR=RICI=0.580.0046=0.0079<0.1
通过一致性检验。
模糊综合评价(计算题中不要求过程,写了也不给分,题目总分降低 😓)
相关概念: 论域:处理某一问题是对有关议题的限制范围,记为 XXX 。集合:在论域 XXX 中,具有某种属性的事物的全体。隶属度函数:将任何 x∈Xx\in Xx∈X 映射到 [0,1][0,1][0,1] 区间上某个值的函数,记为 μA(⋅)→[0,1]\mu_A(\cdot)\rightarrow[0,1]μA(⋅)→[0,1] 。模糊集:A={μA(x)∣x∈X}A=\{\mu_A(x)|x\in X\}A={μA(x)∣x∈X}隶属度:隶属度函数 μA(X)\mu_A(X)μA(X) 在 xxx 处的取值 μA(x)\mu_A(x)μA(x) 。
由于考试只考察模糊矩阵,模糊合成,以及运算法则,所以这里只着重介绍这三个方面:
模糊集的运算法则
{A=B⇔A(x)=B(x),∀x∈XA⊆B⇔A(x)≤B(x),∀x∈X(A∪B)(x)=A(x)∨B(x)=max{A(x),B(x)},∀x∈X(A∩B)(x)=A(x)∧B(x)=min{A(x),B(x)},∀x∈XAc(x)=1−A(x),∀x∈X\begin{cases} A=B \Leftrightarrow A(x)=B(x),\forall x\in X\\ A\subseteq B\Leftrightarrow A(x)\leq B(x),\forall x\in X\\ (A\cup B)(x)=A(x)\vee B(x)=\max\{A(x),B(x)\},\forall x\in X\\ (A\cap B)(x)=A(x) \land B(x)=\min\{A(x),B(x)\},\forall x\in X\\ A^c(x)=1-A(x),\forall x\in X \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧A=B⇔A(x)=B(x),∀x∈XA⊆B⇔A(x)≤B(x),∀x∈X(A∪B)(x)=A(x)∨B(x)=max{A(x),B(x)},∀x∈X(A∩B)(x)=A(x)∧B(x)=min{A(x),B(x)},∀x∈XAc(x)=1−A(x),∀x∈X
模糊矩阵
设 R=(rij)n×mR=(r_{ij})_{n\times m}R=(rij)n×m 为矩阵,满足 0≤rij≤10\leq r_{ij}\leq10≤rij≤1 ,则称 RRR 为模糊矩阵;若 rijr_{ij}rij 只取值 000 或 111 ,称为 Boolean 矩阵。
模糊变换:
设 A,BA,BA,B 分别为 X,YX,YX,Y 上的模糊集,XXX 与 YYY 之间存在模糊关系,可用模糊矩阵 RRR 来表示,则 B=A∘RB=A\circ RB=A∘R 称为模糊变换。
模糊矩阵的运算法则
设 A=(aij)m×n,B=(bij)m×nA=(a_{ij})_{m\times n},B=(b_{ij})_{m\times n}A=(aij)m×n,B=(bij)m×n 都是 模糊矩阵,则
{A=B⇔aij=bijA⊆B⇔aij≤bijA∪B=(aij∨bij)m×n=(max{aij,bij})m×nA∩B=(aij∧bij)m×n=(min{aij,bij})m×nAc=(1−aij)m×n\begin{cases} A=B\Leftrightarrow a_{ij}=b_{ij}\\ A\subseteq B\Leftrightarrow a_{ij}\leq b_{ij}\\ A\cup B=(a_{ij}\vee b_{ij})_{m\times n}=(\max\{a_{ij},b_{ij}\})_{m\times n}\\ A\cap B=(a_{ij}\land b_{ij})_{m\times n}=(\min\{a_{ij},b_{ij}\})_{m\times n}\\ A^c=(1-a_{ij})_{m\times n} \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧A=B⇔aij=bijA⊆B⇔aij≤bijA∪B=(aij∨bij)m×n=(max{aij,bij})m×nA∩B=(aij∧bij)m×n=(min{aij,bij})m×nAc=(1−aij)m×n
模糊矩阵的合成
设 A=(aij)m×n,B=(bij)m×nA=(a_{ij})_{m\times n},B=(b_{ij})_{m\times n}A=(aij)m×n,B=(bij)m×n 都是 模糊矩阵,则模糊矩阵
A∘B=(cij)m×nA\circ B=(c_{ij})_{m\times n} A∘B=(cij)m×n
其中,
cij=∨k=1s(aik∧bkj)c_{ij}=\vee_{k=1}^s(a_{ik}\land b_{kj}) cij=∨k=1s(aik∧bkj)
称为模糊合成。特别地,A2=A∘AA^2=A\circ AA2=A∘A 。
B12=B1∘B1=(0.700.40.9)A2∘B2=(0.40.610.7)B2∘A2=(0.70.70.50.60.60.50.30.30.3)B_1^2=B_1\circ B_1= \left(\begin{matrix} 0.7&0\\0.4&0.9 \end{matrix}\right)~ A_2\circ B_2=\left(\begin{matrix} 0.4&0.6\\1&0.7 \end{matrix}\right)~ B_2\circ A_2= \left(\begin{matrix} 0.7&0.7&0.5 \\0.6&0.6&0.5 \\0.3&0.3&0.3 \end{matrix}\right) B12=B1∘B1=(0.70.400.9)A2∘B2=(0.410.60.7)B2∘A2=⎝⎛0.70.60.30.70.60.30.50.50.3⎠⎞