当前位置: 首页 > news >正文

[模型]TOPSIS法(理想解法、优劣解距离法)

请添加图片描述

文章目录

  • 视频链接
  • 1 综合评价法的分类
    • 1.1 主观赋权法
    • 1.2 客观赋权法
    • 1.3 确定权重的方法
  • 2 评价指标的数据预处理
    • 2.1 指标类型
    • 2.2 数据规范化
    • 2.3 数据规范化的方法
      • 2.3.1 符号说明
      • 2.3.2 线性变换法
      • 2.3.3 极差变换法
      • 2.3.4 区间型指标的变换
        • 示例
      • 2.3.5 中间型评价指标的变换
        • 示例
      • 2.3.6 向量归一化法
      • 2.3.7 标准样本变换法
  • 3 TOPSIS法
    • 3.1 适用场景
    • 3.2 符号说明
    • 3.3 理论介绍
    • 3.4 模型的建立
  • 4 案例:
  • 5 资料


视频链接

根据视频进行整理
【数学建模】理想解法(TOPSIS法)精讲+作业,全网最详细讲解,适合零基础

1 综合评价法的分类

根据确定权重方法的不同,将评价方法分为:
(1)主观赋权法
(2)客观赋权法

1.1 主观赋权法

根据主观经验和判断,用某些方法(主观方法)确定属性指标的权重。多数采取综合咨询评分确定权重,如:模糊综合评判法、层次分析法等。

主观赋权法带有主观因素,不同的人可能有不同的权重赋值。

1.2 客观赋权法

根据决策矩阵提供评价指标的客观信息,用某种方法(客观方法)确定属性指标的权重。如:因子分析法、理想解法(也称TOPSIS)等。

决策矩阵:每个样本每个指标的取值共同组成的矩阵。

1.3 确定权重的方法

  1. 相对比较法(主观)
    • 所有的评价指标两两进行相互比较,确定哪个指标更为重要,即该指标所占的权重越大。
  2. 连环比率法(主观)
    • 也是通过指标间进行比较,确定哪个指标更为重要,即该指标所占的权重越大。
  3. 熵值法(客观)
    • 通过每个样本每个指标的数值来计算指标的权重。

2 评价指标的数据预处理

2.1 指标类型

指标类型说明举例
极大型(效益型)期望取值越大越好商品的利润
极小型(成本型)期望取值越小越好产品的成本
中间型期望取值为适当的中间值最好PH值要求为中性
区间型期望取值落在某一个确定的区间内最好-

2.2 数据规范化

  • 数据进行规范化处理的主要作用:
    1. 正向化(一致化处理)
      • 所谓一致化处理就是将评价指标的类型进行统一,评价指标一致化处理后,使得方案的任一评价指标越优,取值越大(极大型)。
    2. 无量纲化
      • 评价指标无量纲化处理后,可以消除评价指标之间,由于单位不同而造成的影响。
    3. 归一化
      • 归一化处理,是将评价指标的取值范围变换为 [ 0 , 1 ] [0, 1] [0,1]
      • 归一化常用的方法为:min-max标准化,公式为: x ∗ = x − m i n m a x − m i n x^{*} = \frac{x-min}{max-min} x=maxminxmin,其中, x ∗ x^{*} x 为每个指标归一化后的取值, x x x为归一化前的取值, m a x max max m i n min min为每个指标取值的最大值与最小值。
$[0, 1]$
$x^{*} = \frac{x-min}{max-min}$
$x^{*}$
$x$
$max$
$min$

2.3 数据规范化的方法

2.3.1 符号说明

设:多属性决策方案集为 A = { a 1 , a 2 , … , a m } A=\{ a_{1}, a_{2}, …, a_{m} \} A={a1,a2,,am},即有m个可行方案;衡量方案优劣的属性变量(评价指标)为 x 1 , x 2 , ⋯   , x n x_{1}, x_{2}, \cdots, x_{n} x1,x2,,xn,即有n个评价指标。

这时方案集A中的每个方案 a i ( i = 1 , 2 , … , m ) a_{i}(i=1, 2, …, m) ai(i=1,2,,m)的n个属性值构成了向量 [ a i 1 , a i 2 , . . . , a i n ] [a_{i1}, a_{i2}, ..., a_{in}] [ai1,ai2,...,ain],它作为n维空间中的一个点,则每个方案依照其各项指标的值就对应n维空间中一个坐标点。

2.3.2 线性变换法

将原始决策矩阵 A = ( a i j ) m × n A = (a_{ij})_{m \times n} A=(aij)m×n,进行线性比例变换。
(1)若评价指标为极大型:
x ∗ = x m a x x^{*} = \frac{x}{max} x=maxx
即:
b i j = a i j a i j m a x b_{ij} = \frac{a_{ij}}{a_{ij} ^{max}} bij=aijmaxaij
(2)若评价指标为极小型:
x ∗ = 1 − x m a x x^{*} = 1 - \frac{x}{max} x=1maxx
即:
b i j = 1 − a i j a i j m a x b_{ij} = 1 - \frac{a_{ij}}{a_{ij} ^{max}} bij=1aijmaxaij

其中, a i j a_{ij} aij为要进行处理的评价指标取值, a i j m a x a_{ij} ^{max} aijmax为对应评价指标中的最大值。

  1. 经过线性比例变换之后的 b i j b_{ij} bij最优值不一定为1,最差值不一定为0, 0 ≤ b i j ≤ 1 0 \le b_{ij} \le 1 0bij1
  2. 所有的指标均为正向指标
$A = (a_{ij})_{m \times n}$
$$x^{*} = \frac{x}{max}$$
$$b_{ij} = \frac{a_{ij}}{a_{ij} ^{max}}$$
$$x^{*} = 1 - \frac{x}{max}$$
$$b_{ij} = 1 - \frac{a_{ij}}{a_{ij} ^{max}}$$
$a_{ij}$
$a_{ij} ^{max}$
$b_{ij}$
$0 \le b_{ij} \le 1$

2.3.3 极差变换法

(1)若评价指标为极大型:
x ∗ = x − m i n m a x − m i n x^{*} = \frac{x-min}{max-min} x=maxminxmin
即:
b i j = a i j − a i j m i n a i j m a x − a i j m i n b_{ij} = \frac{a_{ij} - a_{ij} ^{min}}{a_{ij} ^{max} - a_{ij} ^{min}} bij=aijmaxaijminaijaijmin
(2)若评价指标为极小型:
x ∗ = m a x − x m a x − m i n x^{*} = \frac{max - x}{max-min} x=maxminmaxx
即:
b i j = a i j m a x − a i j a i j m a x − a i j m i n b_{ij} = \frac{a_{ij} ^{max} - a_{ij}}{a_{ij} ^{max} - a_{ij} ^{min}} bij=aijmaxaijminaijmaxaij

其中, a i j a_{ij} aij为要进行处理的评价指标取值, a i j m a x a_{ij} ^{max} aijmax为对应评价指标中的最大值, a i j m i n a_{ij} ^{min} aijmin为对应评价指标中的最小值。

  1. 经过极差变换法后 b i j b_{ij} bij的最优值为1,最差值为0, 0 ≤ b i j ≤ 1 0 \le b_{ij} \le 1 0bij1
  2. 所有指标均为正向指标
$$x^{*} = \frac{x-min}{max-min}$$
$$b_{ij} = \frac{a_{ij} - a_{ij} ^{min}}{a_{ij} ^{max} - a_{ij} ^{min}}$$
$$x^{*} = \frac{max - x}{max-min}$$
$$b_{ij} = \frac{a_{ij} ^{max} - a_{ij}}{a_{ij} ^{max} - a_{ij} ^{min}}$$
$a_{ij}$
$a_{ij} ^{max}$
$a_{ij} ^{min}$
$b_{ij}$
$0 \le b_{ij} \le 1$

2.3.4 区间型指标的变换

若评价指标为区间型:
假设给定最优属性区间为 [ c , d ] [c, d] [c,d] a j 0 a_{j} ^{0} aj0为无法容忍下限(即最低不能低于该值), a j ∗ a_{j} ^{*} aj为无法容忍上限。那么
b i j = { 1 − ( c − a i j ) ( c − a j 0 ) , a i j ∈ [ a j 0 , c ) 1 , a i j ∈ [ c , d ] 1 − ( a i j − d ) ( a j ∗ − d ) , a i j ∈ ( d , a j ∗ ] 0 ,  else  \mathrm{b}_{\mathrm{ij}}=\left\{\begin{array}{ll} 1-\frac{\left(c-a_{i j}\right)}{\left(c-a_{j}^{0}\right)}, & a_{i j} \in\left[a_{j}^{0}, c\right) \\ 1, & a_{i j} \in[c, d] \\ 1-\frac{\left(a_{i j}-d\right)}{\left(a_{j}^{*}-d\right)}, & a_{i j} \in\left(d, a_{j}^{*}\right] \\ 0, & \text { else } \end{array}\right. bij= 1(caj0)(caij),1,1(ajd)(aijd),0,aij[aj0,c)aij[c,d]aij(d,aj] else 

  1. 经过该变换后, b i j b_{ij} bij的取值范围为 0 ≤ b i j ≤ 1 0 \le b_{ij} \le 1 0bij1
  2. 所有指标均为正向指标
$[c, d]$
$a_{j} ^{0}$
$a_{j} ^{*}$
$$\mathrm{b}_{\mathrm{ij}}=\left\{\begin{array}{ll}
1-\frac{\left(c-a_{i j}\right)}{\left(c-a_{j}^{0}\right)}, & a_{i j} \in\left[a_{j}^{0}, c\right) \\
1, & a_{i j} \in[c, d] \\
1-\frac{\left(a_{i j}-d\right)}{\left(a_{j}^{*}-d\right)}, & a_{i j} \in\left(d, a_{j}^{*}\right] \\
0, & \text { else }
\end{array}\right.$$

示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以1号学校为例, 4 < 5 4 < 5 4<5 b 12 = 1 − 5 − 4 5 − 1 = 1 − 1 4 = 0.75 b_{12} = 1 - \frac{5-4}{5-1} = 1- \frac{1}{4} = 0.75 b12=15154=141=0.75

2.3.5 中间型评价指标的变换

若评价指标为中间型,且假设最优值为k,那么
x ∗ = 1 − ∣ x − k ∣ max ⁡ { ∣ x i − k ∣ } x^{*}=1-\frac{|{x}-k|}{\max \left\{\left|x_{i}-k\right|\right\}} x=1max{xik}xk
则:
b i j = 1 − ∣ a i j − k ∣ max ⁡ { ∣ a j − k ∣ } , i = 1 , 2 , … , m , j = 1 , 2 , … , n b_{i j}=1-\frac{\left|a_{i j}-k\right|}{\max \left\{\left|a_{j}-k\right|\right\}}, i=1,2, \ldots, m, j=1,2, \ldots, n bij=1max{ajk}aijk,i=1,2,,m,j=1,2,,n

  1. 经过该变换后, b i j b_{ij} bij的取值范围为 0 ≤ b i j ≤ 1 0 \le b_{ij} \le 1 0bij1
  2. 所有指标均为正向指标
$$x^{*}=1-\frac{|{x}-k|}{\max \left\{\left|x_{i}-k\right|\right\}}$$
$$b_{i j}=1-\frac{\left|a_{i j}-k\right|}{\max \left\{\left|a_{j}-k\right|\right\}}, i=1,2, \ldots, m, j=1,2, \ldots, n$$
$b_{ij}$
$0 \le b_{ij} \le 1$

示例

在这里插入图片描述
在这里插入图片描述
以生产线4为例, b 41 = 1 − ∣ 15 − 12 ∣ ∣ 3 ∣ = 0 b_{41} = 1 - \frac{|15-12|}{|3|} = 0 b41=1∣3∣∣1512∣=0

2.3.6 向量归一化法

向量归一化法,是使得每列数据的平方和为1
公式为:
b i j = a i j ∑ i = 1 m a i j 2 , i = 1 , 2 , … , m ; j = 1 , 2 , … , n b_{i j}=\frac{a_{i j}}{\sqrt{\sum_{i=1}^{m} a_{i j}^{2}}}, \quad i=1,2, \ldots, m ; j=1,2, \ldots, n bij=i=1maij2 aij,i=1,2,,m;j=1,2,,n
B = ( b i j ) m × n B = (b_{ij})_{m \times n} B=(bij)m×n为向量归一标准化矩阵。

向量归一标准化后:

  1. 0 ≤ b i j ≤ 1 0 \le b_{ij} \le 1 0bij1
  2. 正、负向指标的方向没有发生变化
$$ b_{i j}=\frac{a_{i j}}{\sqrt{\sum_{i=1}^{m} a_{i j}^{2}}}, \quad i=1,2, \ldots, m ; j=1,2, \ldots, n$$
$B = (b_{ij})_{m \times n}$
$0 \le b_{ij} \le 1$

2.3.7 标准样本变换法

公式:
b i j = a i j − μ j s j , i = 1 , 2 , … , m , j = 1 , 2 , … , n b_{i j}=\frac{a_{i j}-\mu_{j}}{s_{j}}, i=1,2, \ldots, m, j=1,2, \ldots, n bij=sjaijμj,i=1,2,,m,j=1,2,,n
B = ( b i j ) m × n B = (b_{ij})_{m \times n} B=(bij)m×n为向量标准样本变换矩阵。

经标准样本变换后标准化矩阵的样本服从均值为0,方差为1的正态分布。其中 S j S_{j} Sj为方差。由于样本数量无穷多的时候会近似服从正态分布,所以变换后标准化矩阵的样本服从正态分布。
经标准样本变换后没有实现正向化,即正、负向指标的方向没有发生变化

$$b_{i j}=\frac{a_{i j}-\mu_{j}}{s_{j}}, i=1,2, \ldots, m, j=1,2, \ldots, n$$
$B = (b_{ij})_{m \times n}$

3 TOPSIS法

TOPSIS法是解决多属性(多指标)决策问题,构造评价问题的正理想解和负理想解,即最优解和最劣解,计算每个方案到理想方案(最优解和最劣解)的相对贴近度,对计算结果排序,确定方案中的最优解

方案排序的规则是把各备选方案与正理想解和负理想解做比较,并以靠近正理想解和远离负理想解两个基准,作为评价各可行方案的判据,从而选出备选方案中最好的方案。又称双基点法,逼近理想解的排序方法。

3.1 适用场景

适用于有理想化指标数据,如环境质量评价、医疗质量综合评价、国家综合实力评价等

3.2 符号说明

正理想解 C + C^{+} C+:是设想各指标属性都达到最满意值的解
负理想解 C − C^{-} C:是设想各指标属性都达到最不满意值的解

在n维空间中,算出方案集A中的各备选方案 a i a_{i} ai,与正理想解 C + C^{+} C+和负理想解 C − C^{-} C的距离:
d ∗ d^{*} d:备选方案 a i ( i = 1 , 2 , … , m ) a_{i}(i=1,2,…,m) ai(i=1,2,,m)到正理想解的距离;
d 0 d^{0} d0:备选方案 a i ( i = 1 , 2 , … , m ) a_{i}(i=1,2,…,m) ai(i=1,2,,m)到负理想解的距离;

$C^{+}$
$C^{-}$
$a_{i}$
$C^{+}$
$d^{*}$
$a_{i}(i=1,2,…,m)$
$d^{0}$
$a_{i}(i=1,2,…,m)$

3.3 理论介绍

TOPSIS法又称逼近理想点排序法,是借助多目标决策问题的正理想解和负理想解排序的一种综合评价方法。

[1]叶静陶,张佳龙,石岩,姜福金.基于TOPSIS法和综合指数法多维度综合评价某医院医疗质量[J].中国病案,2022,23(05):28-31.

主要步骤包括:
(1)构建评价指标值的原始数据矩阵 A = ( a i j ) m × n A = (a_{ij})_{m \times n} A=(aij)m×n,其中,m为需要进行评价的方案数,n为评价指标的个数;

(2)对原始数据矩阵进行规范化处理,使得各评价指标同趋势化,同时消除指标量纲的影响,规范化处理后得到的新矩阵为 B = ( b i j ) m × n B=(b_{ij})_{m \times n} B=(bij)m×n

(3) [根据需要选择] 根据每个评价指标对评价结构的贡献程度的不同,指定不同的权重 w = [ w 1 , w 2 , . . . , w n ] w=[w_{1},w_{2},...,w_{n}] w=[w1,w2,...,wn],将B的第j列乘以其权重 w j w_{j} wj,得到带权的规范矩阵 C = ( c i j ) m × n C=(c_{ij})_{m \times n} C=(cij)m×n

(4)确定正理想解 C + C^{+} C+和负理想解 C − C^{-} C

(5)计算每个待评价方案到正理想解 C + C^{+} C+和负理想解 C − C^{-} C的距离 d ∗ d^{*} d d 0 d^{0} d0

(6)计算每个待评价方案的相对贴近度(评价参靠值) f i f_{i} fi,再将 f i f_{i} fi从大到小排列,得到各备选方案的优先序。

$A = (a_{ij})_{m \times n}$
$B=(b_{ij})_{m \times n}$
$w=[w_{1},w_{2},...,w_{n}]$
$w_{j}$
$C=(c_{ij})_{m \times n}$
$C^{+}$
$C^{-}$;
$C^{+}$
$C^{-}$
$d^{*}$
$d^{0}$
$f_{i}$
$f_{i}$

3.4 模型的建立

第一步:构建评价指标值的原始决策矩阵 A = ( a i j ) m × n A = (a_{ij})_{m \times n} A=(aij)m×n,其中,m为需要进行评价的方案数,n为评价指标的个数,即矩阵的每一行为一条待评价方案,每一列为一个评价指标。

$A = (a_{ij})_{m \times n}$

第二步:对原始决策矩阵进行规范化处理,得到新的决策矩阵 B = ( b i j ) m × n B=(b_{ij})_{m \times n} B=(bij)m×n

规范化处理的方法,根据评价指标的类型进行选择。

如:
为了消除不同评价指标不同量纲的影响,且为了方便比较,使用向量归一化法对原始决策矩阵进行处理。向量归一化的公式为:
b i j = a i j ∑ i = 1 m a i j 2 , i = 1 , 2 , … , m ; j = 1 , 2 , … , n b_{i j}=\frac{a_{i j}}{\sqrt{\sum_{i=1}^{m} a_{i j}^{2}}}, \quad i=1,2, \ldots, m ; j=1,2, \ldots, n bij=i=1maij2 aij,i=1,2,,m;j=1,2,,n
规范化处理后,得到新的矩阵为 B = ( b i j ) m × n B=(b_{ij})_{m \times n} B=(bij)m×n,且各个待评价方案的同一评价指标值的平方和为1。

$B=(b_{ij})_{m \times n}$
$$ b_{i j}=\frac{a_{i j}}{\sqrt{\sum_{i=1}^{m} a_{i j}^{2}}}, \quad i=1,2, \ldots, m ; j=1,2, \ldots, n$$
$B=(b_{ij})_{m \times n}$

第三步:根据每个评价指标对评价结构的贡献程度的不同,指定不同的权重 w = [ w 1 , w 2 , . . . , w n ] w=[w_{1},w_{2},...,w_{n}] w=[w1,w2,...,wn],将B的第j列乘以其权重 w j w_{j} wj,得到带权的规范矩阵 C = ( c i j ) m × n C=(c_{ij})_{m \times n} C=(cij)m×n

写 C 的计算公式

其中权重的取值,根据不同的方法而定。

$w=[w_{1},w_{2},...,w_{n}]$
$w_{j}$
$C=(c_{ij})_{m \times n}$

第四步:确定正理想解 C + C^{+} C+和负理想解 C − C^{-} C
C + = [ c 1 + , c 2 + , … , c n + ] ; \mathrm{C}^{+}=\left[\mathrm{c}_{1}{ }^{+}, \mathrm{c}_{2}^{+}, \ldots, \mathrm{c}_{\mathrm{n}}^{+}\right]; C+=[c1+,c2+,,cn+];
C − = [ c 1 − , c 2 − , … , c n − ] ; \mathrm{C}^{-}=\left[\mathrm{c}_{1}^{-}, \mathrm{c}_{2}^{-}, \ldots, \mathrm{c}_{\mathrm{n}}^{-}\right]; C=[c1,c2,,cn];

 正理想解:  c j + = { max ⁡ i c i j , j  为极大型属性,  min ⁡ i c i j , j  为极小型属性,  j = 1 , 2 , … , n , \text { 正理想解: } \mathrm{c}_{\mathrm{j}}{ }^{+}=\left\{\begin{array}{l} \max_i c_{i j}, j \text { 为极大型属性, } \\ \min_i c_{i j}, j \text { 为极小型属性, } \quad j=1,2, \ldots, n, \end{array}\right.  正理想解: cj+={maxicij,j 为极大型属性minicij,j 为极小型属性j=1,2,,n,

 负理想解:  c j − = { min ⁡ i c i j , j  为极大型属性,  max ⁡ i c i j , j  为极小型属性,  j = 1 , 2 , … , n , \text { 负理想解: } \mathrm{c}_{\mathrm{j}}{ }^{-}=\left\{\begin{array}{l} \min_i c_{i j}, j \text { 为极大型属性, } \\ \max_i c_{i j}, j \text { 为极小型属性, } \quad j=1,2, \ldots, n, \end{array}\right.  负理想解: cj={minicij,j 为极大型属性maxicij,j 为极小型属性j=1,2,,n,

$C^{+}$
$C^{-}$;
$$\mathrm{C}^{+}=\left[\mathrm{c}_{1}{ }^{+}, \mathrm{c}_{2}^{+}, \ldots, \mathrm{c}_{\mathrm{n}}^{+}\right];$$
$$\mathrm{C}^{-}=\left[\mathrm{c}_{1}^{-}, \mathrm{c}_{2}^{-}, \ldots, \mathrm{c}_{\mathrm{n}}^{-}\right];$$
$$\text { 正理想解: } \mathrm{c}_{\mathrm{j}}{ }^{+}=\left\{\begin{array}{l}
\max_i c_{i j}, j \text { 为极大型属性, } \\
\min_i c_{i j}, j \text { 为极小型属性, } \quad j=1,2, \ldots, n,
\end{array}\right.$$
$$\text { 负理想解: } \mathrm{c}_{\mathrm{j}}{ }^{-}=\left\{\begin{array}{l}
\min_i c_{i j}, j \text { 为极大型属性, } \\
\max_i c_{i j}, j \text { 为极小型属性, } \quad j=1,2, \ldots, n,
\end{array}\right.$$

第五步:计算每个待评价方案到正理想解 C + C^{+} C+和负理想解 C − C^{-} C的距离 d ∗ d^{*} d d 0 d^{0} d0

待评价方案 c i c_{i} ci到正理想解 C + C^{+} C+的距离为:
d i ∗ = ∑ j = 1 n ( c i j − c j + ) 2 , i = 1 , 2 , … , m d_{i}^{*}=\sqrt{\sum_{j=1}^{n}\left(c_{i j}-c_{j}^{+}\right)^{2}}, i=1,2, \ldots, m di=j=1n(cijcj+)2 ,i=1,2,,m

待评价方案 c i c_{i} ci到负理想解 C − C^{-} C的距离为:
d i 0 = ∑ j = 1 n ( c i j − c j − ) 2 , i = 1 , 2 , … , m d_{i}^{0}=\sqrt{\sum_{j=1}^{n}\left(c_{i j}-c_{j}^{-}\right)^{2}}, i=1,2, \ldots, m di0=j=1n(cijcj)2 ,i=1,2,,m

$C^{+}$
$C^{-}$
$d^{*}$
$d^{0}$
$c_{i}$
$C^{+}$
$$d_{i}^{*}=\sqrt{\sum_{j=1}^{n}\left(c_{i j}-c_{j}^{+}\right)^{2}}, i=1,2, \ldots, m$$
$c_{i}$
$C^{-}$
$$d_{i}^{0}=\sqrt{\sum_{j=1}^{n}\left(c_{i j}-c_{j}^{-}\right)^{2}}, i=1,2, \ldots, m$$

第六步:计算每个待评价方案的相对贴近度(评价参靠值) f i f_{i} fi,再将 f i f_{i} fi从大到小排列,得到各备选方案的优先序。
f i = d i 0 d i 0 + d i ∗ , i = 1 , … , m f_{i}=\frac{d_{i}^{0}}{d_{i}^{0}+d_{i}^{*}}, \quad i=1, \ldots, m fi=di0+didi0,i=1,,m

方案评分排序

$f_{i}$
$f_{i}$
$$f_{i}=\frac{d_{i}^{0}}{d_{i}^{0}+d_{i}^{*}}, \quad i=1, \ldots, m$$

4 案例:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5 资料

来源:
<<Python数学实验与建模>>
在这里插入图片描述

相关文章:

  • 初步学习http请求走私
  • DeviceIoControl获取硬盘信息
  • 47.全排列II | 90.子集II
  • 快鲸智慧楼宇系统在楼宇管理中发挥了哪些积极作用?
  • vsftp配置多用户
  • Self-supervised Video Transformer 阅读
  • ArcGisRuntime100.14绘制曲线
  • 榜一的蔑视!阿里专家手写Spring全家桶笔记,整2000页
  • 置业小技能:按揭相关事项
  • 存储更弹性,详解 Fluid “ECI 环境数据访问” 新功能
  • 高精度随流检测技术助力金融行业实现智能运维
  • windows上Qt5.15+openssl1.1.1+msvs2022静态编译32位版本的笔记
  • CentOS系统下,配制nginx访问favicon.ico
  • 1-十四烷基-3-甲基咪唑六氟磷酸盐([C14MIm][PF6])修饰纳米SiO2二氧化硅(mg级瓶装)
  • stm32f4xx-定时器
  • Apache Pulsar 2.1 重磅发布
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • css属性的继承、初识值、计算值、当前值、应用值
  • echarts的各种常用效果展示
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Java|序列化异常StreamCorruptedException的解决方法
  • LeetCode29.两数相除 JavaScript
  • python_bomb----数据类型总结
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • vue-cli在webpack的配置文件探究
  • Vue小说阅读器(仿追书神器)
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 闭包,sync使用细节
  • 扑朔迷离的属性和特性【彻底弄清】
  • 前端临床手札——文件上传
  • 在Mac OS X上安装 Ruby运行环境
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​【已解决】npm install​卡主不动的情况
  • ​520就是要宠粉,你的心头书我买单
  • # Maven错误Error executing Maven
  • ${ }的特别功能
  • (1)(1.13) SiK无线电高级配置(五)
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (C#)一个最简单的链表类
  • (Python) SOAP Web Service (HTTP POST)
  • (动态规划)5. 最长回文子串 java解决
  • (二)springcloud实战之config配置中心
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (十)c52学习之旅-定时器实验
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .NET委托:一个关于C#的睡前故事
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • .NET中 MVC 工厂模式浅析
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • .NET中两种OCR方式对比
  • :中兴通讯为何成功
  • [] 与 [[]], -gt 与 > 的比较