数据包络分析(DEA)——BCC模型

写在前面:

博主本人大学期间参加数学建模竞赛十多余次,获奖等级均在二等奖以上。为了让更多学生在数学建模这条路上少走弯路,故将数学建模常用数学模型算法汇聚于此专栏,希望能够对要参加数学建模比赛的同学们有所帮助。


目录

  • [1. 引言](#1. 引言)
  • [2. 模型建立](#2. 模型建立)
  • [3. 模型求解](#3. 模型求解)

1. 引言

关于数据包络分析法的CCR模型已经在上文中进行了介绍,CCR模型是规模收益不变(CRS)假设下的径向EDA模型,即模型中的 λ \lambda λ满足 λ ⩾ 0 \lambda \geqslant 0 λ⩾0,具体的模型原理可参阅链接: 数据包络分析------CCR模型
  但是在实际生产过程中,生产技术的规模收益并非CRS,若采用CRS假设,得出的技术效率并非完全是纯技术效率,而是包含了规模效率成分的综合效率。
一般来说,生产技术的规模收益要先后经历规模收益递增(IRS)、规模收益不变(CRS)、规模收益递减(DRS)三个阶段。如果无法确定研究样本处于哪个阶段,那么评价技术效率是应该选择可变规模收益(VRS)模型,即模型中的 λ \lambda λ满足 ∑ λ = 1 \sum \lambda=1 ∑λ=1。此时VRS模型得出的技术效率就是纯技术效率。

2. 模型建立

BCC模型即规模收益可变(VRS)假设下的径向DEA模型。它与CCR模型的区别就是增加了等式约束 ∑ λ = 1 \sum \lambda=1 ∑λ=1。
  投入导向的BCC对偶模型:
min ⁡ θ \min \theta minθ s . t . { ∑ i = 1 n λ i x i j ⩽ θ x i j ∑ i = 1 n λ i y i r ⩾ y k r ∑ i = 1 n λ i = 1 λ i ⩾ 0 , j = 1 , ⋯   , m ; r = 1 , ⋯   , 3 q s.t.\left\{\begin{array}{c}\sum_{i=1}^{n} \lambda_{i} x_{i j} \leqslant \theta x_{i j} \\ \sum_{i=1}^{n} \lambda_{i} y_{i r} \geqslant y_{k r} \\ \sum_{i=1}^{n} \lambda_{i}=1 \\ \lambda_{i} \geqslant 0, j=1, \cdots, m ; r=1, \cdots, 3 q\end{array}\right. s.t.⎩ ⎨ ⎧∑i=1nλixij⩽θxij∑i=1nλiyir⩾ykr∑i=1nλi=1λi⩾0,j=1,⋯,m;r=1,⋯,3q
其中, k = 1 , ⋯   , n k=1, \cdots, n k=1,⋯,n。
  产出导向的BCC对偶模型:
max ⁡ ϕ \max \phi maxϕ s . t . { ∑ i = 1 n λ i x i j ⩽ x i j ∑ i = 1 n λ i y i r ⩾ ϕ y k r ∑ i = 1 n λ i = 1 λ i ⩾ 0 , j = 1 , ⋯   , m ; r = 1 , ⋯   , 3 q s.t.\left\{\begin{array}{c}\sum_{i=1}^{n} \lambda_{i} x_{i j} \leqslant x_{i j} \\ \sum_{i=1}^{n} \lambda_{i} y_{i r} \geqslant \phi y_{k r} \\ \sum_{i=1}^{n} \lambda_{i}=1 \\ \lambda_{i} \geqslant 0, j=1, \cdots, m ; r=1, \cdots, 3 q\end{array}\right. s.t.⎩ ⎨ ⎧∑i=1nλixij⩽xij∑i=1nλiyir⩾ϕykr∑i=1nλi=1λi⩾0,j=1,⋯,m;r=1,⋯,3q 其中, k = 1 , ⋯   , n k=1, \cdots, n k=1,⋯,n。

3. 模型求解

还是以下面这个问题为例:

某市教委需要对六所重点中学进行评价,其相应的指标如表所示。表中的生均投入和非低收入家庭百分比是输入指标,生均写作得分和生均科技得分是输出指标。请根据这些指标,评价哪些学校是相对有效的。

根据上述建立的模型,编写投入导向的BCC模型的MATLAB程序如下:

matlab 复制代码
%投入导向BCC
w=[];
for i=1:n
    f=[zeros(1,n) 1];
    A=[X -X(:,i); -Y zeros(q,1)];
    b=[zeros(1,m) -Y(:,i)']';
    Aeq=[ones(1,n) 0];
    beq=1;
    LB=[zeros(n+1,1)];
    UB=[];
    w(:,i)=linprog(f,A,b,Aeq,beq,LB,UB);
end
BCC_IN=w(n+1,:)'

得到的结果为:1,0.9804,1,0.9395,1,1
产出导向的BCC模型的MATLAB程序如下:

matlab 复制代码
%产出导向BCC
w=[];
for i=1:n
    f=[zeros(1,n) -1];
    A=[X zeros(m,1); -Y Y(:,i)];
    b=[X(:,i)' zeros(1,q)]';
    Aeq=[ones(1,n) 0];
    beq=1;
    LB=[zeros(n+1,1)];
    UB=[];
    w(:,i)=linprog(f,A,b,Aeq,beq,LB,UB);
end
BCC_OUT=1./w(n+1,:)'

得到的结果为:1,0.9948,1,0.9466,1,1

观察投入导向的BCC模型和产出导向的BCC模型结果可以发现,学校A、C、E、F这几个学校的投入产出是比较有效的。


相关推荐
明天再做行么12 分钟前
数学建模资源合集
数学建模
wheeldown2 天前
【数学建模】数学建模 + 算法实战:精细网格搜索破解烟幕遮蔽时间优化难题
数学建模
CS数模2 天前
2025高教社杯全国大学生数学建模竞赛(B题)深度剖析| 碳化硅外延层厚度 |数学建模完整代码+建模过程全解全析
数学建模
数学建模小secret2 天前
2025 数学建模高教社杯 国赛(A题)| 无人机干扰弹 | 建模秘籍&文章代码思路大全
数学建模·无人机
CS数模2 天前
2025高教社杯全国大学生数学建模竞赛(A题)深度剖析| 烟幕干扰弹的投放 |数学建模完整代码+建模过程全解全析
数学建模
鹿鹿学长2 天前
2025年全国大学生数学建模竞赛(E题) 建模解析|立定跳远数学建模|小鹿学长带队指引全代码文章与思路
数学建模
鹿鹿学长3 天前
2025年全国大学生数学建模竞赛(C题) 建模解析|婴儿染色体数学建模|小鹿学长带队指引全代码文章与思路
c语言·开发语言·数学建模
RS_数模加油站3 天前
【C题解题思路】2025华数杯数学建模C题解题思路+可运行代码参考(无偿分享)
数学建模·2025华数杯
Tina表姐3 天前
(B题|碳化硅外延层厚度的确定)2025年高教杯全国大学生数学建模国赛解题思路|完整代码论文集合(B题|碳化硅外延层厚度的确定)2025年高教杯全国大学生数学建模国赛解题思路|完整代码论文集合
数学建模
好家伙VCC3 天前
数学建模模型 全网最全 数学建模常见算法汇总 含代码分析讲解
大数据·嵌入式硬件·算法·数学建模