【数学建模笔记 22】数学建模的模糊数学模型 |
您所在的位置:网站首页 › 模糊规划例题及解析 › 【数学建模笔记 22】数学建模的模糊数学模型 |
定义
模糊数学就是用数学方法研究与处理模糊现象的数学。 现实的数学模型可以分为三大类: 确定性数学模型:模型背景具有确定性,对象之间具有必然关系;随机性数学模型:模型背景具有随机性和偶然性。模糊性模型:模型背景具有模糊性。被讨论的对象全体称论域,用 U , V U,V U,V 等表示。 对于论域 U U U 的每个元素和某一子集 A A A,在经典数学中,要么 x ∈ A x\in A x∈A,要么 x ∉ A x\notin A x∈/A。 在模糊数学中,称没有明确边界的集合为模糊集合,元素属于模糊集合的程度用隶属度表示,计算隶属度的函数称隶属函数。 论域 U U U 到 [ 0 , 1 ] [0,1] [0,1] 闭区间上的任意映射 M : U → [ 0 , 1 ] , u → M ( u ) , M:U\to[0,1],u\to M(u), M:U→[0,1],u→M(u), 都确定了 U U U 上的一个模糊集合, M ( u ) M(u) M(u) 称隶属函数,记 M = { ( u , M ( u ) ∣ u ∈ U } M=\{(u,M(u)|u\in U\} M={(u,M(u)∣u∈U},使得 M ( u ) = 0.5 M(u)=0.5 M(u)=0.5 的点称过渡点,最具模糊性。 指派法指派法是一种主观方法,依据人们的实践经验确定隶属函数。一些常用分布如: 矩阵型 M ( x ) = { 1 , a ≤ x ≤ b , 0 , x < a o r x > b . M(x)=\left\{\begin{aligned} &1,a\le x\le b,\\ &0,xb. \end{aligned}\right. M(x)={1,a≤x≤b,0,xb. 梯形型 M ( x ) = { x − a b − a , a ≤ x ≤ b , 1 , b < x ≤ c , d − x d − c , c < x ≤ d , 0 , x < a o r x > d . M(x)=\left\{\begin{aligned} &\frac{x-a}{b-a},a\le x\le b,\\ &1,by1,y2,…,yn}, R R R 为从 U U U 到 V V V 的模糊关系,隶属函数为 μ R ( x , y ) \mu_R(x,y) μR(x,y),对任意 ( x i , y j ) ∈ U × V (x_i,y_j)\in U\times V (xi,yj)∈U×V,有 μ R ( x i , y j ) = r i j ∈ [ 0 , 1 ] , \mu_R(x_i,y_j)=r_{ij}\in[0,1], μR(xi,yj)=rij∈[0,1], 记 R = ( r i j ) m × n R=(r_{ij})_{m\times n} R=(rij)m×n 为模糊矩阵。 模糊模型识别 最大隶属度原则设 A i ∈ F ( U ) , i = 1 , 2 , … , n A_i\in F(U),i=1,2,\dots,n Ai∈F(U),i=1,2,…,n,对 u 0 ∈ U u_0\in U u0∈U,若存在 i 0 i_0 i0,使 A i 0 ( u 0 ) = max { A 1 ( u 0 ) , A 2 ( u 0 ) , … , A n ( u 0 ) } , A_{i0}(u_0)=\max\{A_1(u_0),A_2(u_0),\dots,A_n(u_0)\}, Ai0(u0)=max{A1(u0),A2(u0),…,An(u0)}, 则认为 u 0 u_0 u0 相对隶属于 A i A_i Ai。 例子考虑人的年龄问题,分年轻、中年、老年三类,对应三个模糊集 A 1 , A 2 , A 3 A_1,A_2,A_3 A1,A2,A3,设论域 U = ( 0 , 100 ] U=(0,100] U=(0,100],且对 x ∈ ( 0 , 100 ] x\in(0,100] x∈(0,100] 有 A 1 ( x ) = { 1 , 0 < x ≤ 20 , 1 − 2 ( x − 20 20 ) 2 , 20 < x ≤ 30 , 2 ( x − 40 20 ) 2 , 30 < x ≤ 40 , 0 , 40 < x ≤ 100. A_1(x)=\left\{\begin{aligned} &1,0u1,u2,…,un},则 N ( A , B ) Δ = 1 − 1 n ∑ i = 1 n ∣ A ( u i ) − B ( u i ) ∣ , N(A,B)\underset{=}{\Delta}1-\frac{1}{n}\sum_{i=1}^n|A(u_i)-B(u_i)|, N(A,B)=Δ1−n1i=1∑n∣A(ui)−B(ui)∣, 若 U = [ a , b ] U=[a,b] U=[a,b],则 N ( A , B ) Δ = 1 − 1 b − a ∫ a b ∣ A ( u ) − B ( u ) ∣ d u . N(A,B)\underset{=}{\Delta}1-\frac{1}{b-a}\int_a^b|A(u)-B(u)|du. N(A,B)=Δ1−b−a1∫ab∣A(u)−B(u)∣du. 欧几里得贴近度若 U = { u 1 , u 2 , … , u n } U=\{u_1,u_2,\dots,u_n\} U={u1,u2,…,un},则 N ( A , B ) Δ = 1 − 1 n ( ∑ i = 1 n ∣ A ( u i ) − B ( u i ) ∣ ) 1 / 2 , N(A,B)\underset{=}{\Delta}1-\frac{1}{\sqrt{n}}(\sum_{i=1}^n|A(u_i)-B(u_i)|)^{1/2}, N(A,B)=Δ1−n 1(i=1∑n∣A(ui)−B(ui)∣)1/2, 若 U = [ a , b ] U=[a,b] U=[a,b],则 N ( A , B ) Δ = 1 − 1 b − a ( ∫ a b ∣ A ( u ) − B ( u ) ∣ d u ) 1 / 2 . N(A,B)\underset{=}{\Delta}1-\frac{1}{\sqrt{b-a}}(\int_a^b|A(u)-B(u)|du)^{1/2}. N(A,B)=Δ1−b−a 1(∫ab∣A(u)−B(u)∣du)1/2. 黎曼贴近度若 U = ( − ∞ , + ∞ ) U=(-\infty,+\infty) U=(−∞,+∞),则 N 1 ( A , B ) Δ = ∫ − ∞ + ∞ ( A ( u ) ∧ B ( u ) ) d u ( A ( u ) ∨ B ( u ) ) d u , N_1(A,B)\underset{=}{\Delta}\frac{\int_{-\infty}^{+\infty}(A(u)\wedge B(u))du}{(A(u)\vee B(u))du}, N1(A,B)=Δ(A(u)∨B(u))du∫−∞+∞(A(u)∧B(u))du, N 2 ( A , B ) Δ = 2 ∫ − ∞ + ∞ ( A ( u ) ∧ B ( u ) ) d u ∫ − ∞ + ∞ A ( u ) d u + ∫ − ∞ + ∞ B ( u ) d u . N_2(A,B)\underset{=}{\Delta}\frac{2\int_{-\infty}^{+\infty}(A(u)\wedge B(u))du}{\int_{-\infty}^{+\infty}A(u)du+\int_{-\infty}^{+\infty}B(u)du}. N2(A,B)=Δ∫−∞+∞A(u)du+∫−∞+∞B(u)du2∫−∞+∞(A(u)∧B(u))du. 例子设集合 A 1 = ( 0.4 , 0.3 , 0.5 , 0.3 ) A_1=(0.4,0.3,0.5,0.3) A1=(0.4,0.3,0.5,0.3), A 2 = ( 0.3 , 0.3 , 0.4 , 0.4 ) A_2=(0.3,0.3,0.4,0.4) A2=(0.3,0.3,0.4,0.4), B = ( 0.2 , 0.3 , 0.4 ) , 0.3 B=(0.2,0.3,0.4),0.3 B=(0.2,0.3,0.4),0.3,确定 B B B 属于哪一类。 由欧几里得贴近度有 N ( B , A 1 ) = 0.8882 , N ( B , A 2 ) = 0.9293 , N ( B , A 3 ) = 0.95 , N(B,A_1)=0.8882,N(B,A_2)=0.9293,N(B,A_3)=0.95, N(B,A1)=0.8882,N(B,A2)=0.9293,N(B,A3)=0.95, 因此 B B B 属于 A 3 A_3 A3 类。 模糊聚类 构造模糊矩阵设全体为论域 U = { u 1 , u 2 , … , u n } U=\{u_1,u_2,\dots,u_n\} U={u1,u2,…,un},对象 u i u_i ui 的特性由 m m m 个指标表示,记 a i = [ a i 1 , a i 2 , … , a i m ] a_i=[a_{i1},a_{i2},\dots,a_{im}] ai=[ai1,ai2,…,aim],得 A = ( a i j ) n × m , A=(a_{ij})n\times m, A=(aij)n×m, 如果需要,作标准化处理得 B = ( b i j ) n × m . B=(b_{ij})n\times m. B=(bij)n×m. 计算 u i , u j u_i,u_j ui,uj 的模糊相似系数,构造模糊相似矩阵 R = ( r i j ) n × n . R=(r_{ij})_{n\times n}. R=(rij)n×n. 计算模糊相似系数的方法有: 夹角余弦法 r i j = ∑ k = 1 m b i k b j k ∑ k = 1 m b i k 2 ∑ k = 1 m b j k 2 . r_{ij}=\frac{\sum_{k=1}^mb_{ik}b_{jk}}{\sqrt{\sum_{k=1}^mb_{ik}^2}\sqrt{\sum_{k=1}^mb_{jk}^2}}. rij=∑k=1mbik2 ∑k=1mbjk2 ∑k=1mbikbjk. 相关系数法 r i j = ∑ k = 1 m ∣ b i k − b ‾ i ∣ ∣ b j k − b ‾ j ∣ ∑ k = 1 m ( b i k − b ‾ i ) 2 ∑ k = 1 m ( b j k − b ‾ j ) 2 . r_{ij}=\frac{\sum_{k=1}^m|b_{ik}-\overline{b}_i||b_{jk}-\overline{b}_j|}{\sqrt{\sum_{k=1}^m(b_{ik}-\overline{b}_i)^2}\sqrt{\sum_{k=1}^m(b_{jk}-\overline{b}_j)^2}}. rij=∑k=1m(bik−bi)2 ∑k=1m(bjk−bj)2 ∑k=1m∣bik−bi∣∣bjk−bj∣. 距离法 r i j = 1 − c ( d ( u i , u j ) ) α , r_{ij}=1-c(d(u_i,u_j))^\alpha, rij=1−c(d(ui,uj))α, 选取适当 c , α c,\alpha c,α 使 0 ≤ r i j ≤ 1 0\le r_{ij}\le1 0≤rij≤1,并选取适当距离公式 d ( u i , u j ) d(u_i,u_j) d(ui,uj)。 最大最小法 r i j = ∑ k = 1 m min ( b i k , b j k ) ∑ k = 1 m max ( b i k , b j k ) r_{ij}=\frac{\sum_{k=1}^m\min(b_{ik},b_{jk})}{\sum_{k=1}^m\max(b_{ik},b_{jk})} rij=∑k=1mmax(bik,bjk)∑k=1mmin(bik,bjk) 算术平均最小法 r i j = ∑ k = 1 m min ( b i k , b j k ) 1 2 ∑ k = 1 m ( b i k + b j k ) r_{ij}=\frac{\sum_{k=1}^m\min(b_{ik},b_{jk})}{\frac12\sum_{k=1}^m(b_{ik}+b_{jk})} rij=21∑k=1m(bik+bjk)∑k=1mmin(bik,bjk) 几何平均最小法 r i j = ∑ k = 1 m min ( b i k , b j k ) ∑ k = 1 m b i k b j k r_{ij}=\frac{\sum_{k=1}^m\min(b_{ik},b_{jk})}{\sum_{k=1}^m\sqrt{b_{ik}b_{jk}}} rij=∑k=1mbikbjk ∑k=1mmin(bik,bjk) 构造模糊等价矩阵构造得到的 R R R 一般只满足自反性和对称性,采用平方法求出 R R R 的传递闭包 t ( R ) t(R) t(R)。 对于矩阵 R n × n R_{n\times n} Rn×n,计算 R 2 = R ∘ R = ( r i j 2 ) R^2=R\circ R=(r_{ij}^2) R2=R∘R=(rij2) 其中 r i j 2 = max k { min { r i k , r k j } } , r_{ij}^2=\max_k\{\min\{r_{ik},r_{kj}\}\}, rij2=kmax{min{rik,rkj}}, k = 1 , 2 , … , n . k=1,2,\dots,n. k=1,2,…,n. 迭代计算 R → R 2 → ⋯ → R 2 i → … R\to R^2\to\dots\to R^{2^i}\to\dots R→R2→⋯→R2i→…, 直到出现 R k ∘ R k = R k R_k\circ R_k=R_k Rk∘Rk=Rk,即有 t ( R ) = R k t(R)=R^k t(R)=Rk。 聚类对于 t ( R ) t(R) t(R) 的每个元素 t r i j tr_{ij} trij,取不同阈值 λ \lambda λ 时,若 KaTeX parse error: Undefined control sequence: \tr at position 1: \̲t̲r̲_{ij}\ge\lambda,认为 u i , u j u_i,u_j ui,uj 属于一类,反之不属于一类,从而画出聚类图。 例子有五个类 I = ( 5 , 5 , 3 , 2 ) I=(5,5,3,2) I=(5,5,3,2), I I = ( 2 , 3 , 4 , 5 ) II=(2,3,4,5) II=(2,3,4,5), I I I = ( 5 , 5 , 2 , 3 ) III=(5,5,2,3) III=(5,5,2,3), I V = ( 1 , 5 , 3 , 1 ) IV=(1,5,3,1) IV=(1,5,3,1), V = ( 2 , 4 , 5 , 1 ) V=(2,4,5,1) V=(2,4,5,1)。 使用距离法求相似系数 r i j = 1 − 0.1 ∑ k = 1 4 ∣ a i k − a j k ∣ , r_{ij}=1-0.1\sum_{k=1}^4|a_{ik}-a_{jk}|, rij=1−0.1k=1∑4∣aik−ajk∣, 得相似矩阵 R = ( 1 0.1 0.8 0.5 0.3 0.1 1 0.1 0.2 0.4 0.8 0.1 1 0.3 0.1 0.5 0.2 0.3 1 0.6 0.3 0.4 0.1 0.6 1 ) , R=\begin{pmatrix} 1&0.1&0.8&0.5&0.3\\ 0.1&1&0.1&0.2&0.4\\ 0.8&0.1&1&0.3&0.1\\ 0.5&0.2&0.3&1&0.6\\ 0.3&0.4&0.1&0.6&1 \end{pmatrix}, R=⎝⎜⎜⎜⎜⎛10.10.80.50.30.110.10.20.40.80.110.30.10.50.20.310.60.30.40.10.61⎠⎟⎟⎟⎟⎞, 平方法求传递闭包得 t ( R ) = ( 1 0.4 0.8 0.5 0.5 0.4 1 0.4 0.4 0.4 0.8 0.4 1 0.5 0.5 0.5 0.4 0.5 1 0.6 0.5 0.4 0.5 0.6 1 ) t(R)=\begin{pmatrix} 1&0.4&0.8&0.5&0.5\\ 0.4&1&0.4&0.4&0.4\\ 0.8&0.4&1&0.5&0.5\\ 0.5&0.4&0.5&1&0.6\\ 0.5&0.4&0.5&0.6&1 \end{pmatrix} t(R)=⎝⎜⎜⎜⎜⎛10.40.80.50.50.410.40.40.40.80.410.50.50.50.40.510.60.50.40.50.61⎠⎟⎟⎟⎟⎞ 于是有: 0 ≤ λ ≤ 0.4 , { I , I I , I I I , I V , V } 0\le\lambda\le0.4,\{I,II,III,IV,V\} 0≤λ≤0.4,{I,II,III,IV,V}; 0.4 < λ ≤ 0.5 , { I , I I I , I V , V } , { I I } 0.4II}; 0.5 < λ ≤ 0.6 , { I , I I I } , { I V , V } , { I I } 0.5IV,V},{II}; 0.6 < λ ≤ 0.8 , { I , I I I } , { I I } , { I V } , { V } 0.6II},{IV},{V}; 0.8 < λ , { I } , { I I } , { I I I } , { I V } , { V } 0.8II},{III},{IV},{V}。 模糊综合评价 确定指标集 I = { x 1 , x 2 , … , x p } I=\{x_1,x_2,\dots,x_p\} I={x1,x2,…,xp} 和权重向量 W = ( w 1 , w 2 , … , w p ) W=(w_1,w_2,\dots,w_p) W=(w1,w2,…,wp);建立评语集 V = { v 1 , v 2 , … , v s } V=\{v_1,v_2,\dots,v_s\} V={v1,v2,…,vs};建立评价向量,获得评价矩阵 R = ( r i j ) p × s R=(r_{ij})_{p\times s} R=(rij)p×s;合成模糊综合评价结果向量,得到结果向量 A A AW ∘ R = ( a 1 , a 2 , … , a s ) = Δ A . W\circ R=(a_1,a_2,\dots,a_s)\overset{\Delta}{=}A. W∘R=(a1,a2,…,as)=ΔA. 对于 ∘ \circ ∘ 算子,通常有以下 4 种: M ( ∧ , ∨ ) M(\wedge,\vee) M(∧,∨) a k = max j { min ( w j , r j k ) } , a_k=\max_j\{\min(w_j,r_{jk})\}, ak=jmax{min(wj,rjk)}, M ( ⋅ , ∨ ) M(\cdot,\vee) M(⋅,∨) b k = max j { w j ⋅ r j k } , b_k=\max_j\{w_j\cdot r_{jk}\}, bk=jmax{wj⋅rjk}, M ( ∧ , + ) M(\wedge,+) M(∧,+) b k = ∑ j min ( w j , r j k ) , b_k=\sum_{j}\min(w_j,r_{jk}), bk=j∑min(wj,rjk), M ( ⋅ , + ) M(\cdot,+) M(⋅,+) b k = s u m j = 1 p w j r j k . b_k=sum_{j=1}^pw_jr_{jk}. bk=sumj=1pwjrjk. Python 代码 模糊聚类对模糊聚类中的例子求解并画聚类图,代码如下: #! /usr/bin/env python # -*- coding: utf-8 -*- # @ author: Koorye # @ date: 2021-7-29 # @ function: 模糊聚类 # %% import numpy as np import pandas as pd from scipy.cluster.hierarchy import dendrogram, linkage # %% # 距离公式 def dist(x, y): return np.sum(np.abs(x - y)) # 源数据 A = np.array([[5, 5, 3, 2], [2, 3, 4, 5], [5, 5, 2, 3], [1, 5, 3, 1], [2, 4, 5, 1]]) # 构造相似模糊矩阵 num = len(A) R = np.zeros((num, num)) for i in range(len(A)): for j in range(len(A)): R[i, j] = 1 - .1 * dist(A[i, :], A[j, :]) print('R =\n',R) # %% # 平方法求传递闭包 def tr(R): R2 = R.copy() for row in range(len(R)): for col in range(len(R)): r_list = [] for i in range(len(R)): r_list.append(np.min([R[row, i], R[i, col]])) R2[row, col] = np.max(r_list) return R2 R_old = R R = tr(R) while np.sum(np.abs(R-R_old)) > 1e-4: R_old = R R = tr(R) print('t(R) =\n', R) # %% # 画聚类图 R2 = np.triu(1-R, 1) R2 = R2[R2!=0] Z = linkage(R2) dendrogram(Z, labels=['I','II','III','IV','V'])输出如下: R = [[1. 0.1 0.8 0.5 0.3] [0.1 1. 0.1 0.2 0.4] [0.8 0.1 1. 0.3 0.1] [0.5 0.2 0.3 1. 0.6] [0.3 0.4 0.1 0.6 1. ]] t(R) = [[1. 0.4 0.8 0.5 0.5] [0.4 1. 0.4 0.4 0.4] [0.8 0.4 1. 0.5 0.5] [0.5 0.4 0.5 1. 0.6] [0.5 0.4 0.5 0.6 1. ]] |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |