数据包络分析CCR、BCC模型

本文深入探讨了数据包络分析(DEA)中的CCR和BCC模型,用于评估决策单元的效率。内容包括模型的原规划、对偶规划的数学表达式,并提供了MATLAB代码示例,帮助理解如何应用DEA评估热电企业、银行等的生产效率和管理水平。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:本文给出数据包络分析(Data envelopment analysis, DEA)中的CCR、BCC模型的原规划、对偶规划以及matlab代码实现

用以评价决策单元(decision making unit, DMUs)的效率高低,如:180家热电企业那一家的生产效率更高?我国所有银行中那些银行的管理水平更先进?哪些企业中员工积极性更高?拓展探究:评价技术进步率、环境效率、预测等

CCR模型

线性规划

max⁡μY0 s.t. {ωXj−μYj≥0,j=1,2,⋯ ,nωX0=1ω,μ≥0 \begin{aligned} &\max \mu Y_{0} \\ &\text { s.t. }\left\{\begin{array}{l} \omega X_{j}-\mu Y_{j} \geq 0, j=1,2, \cdots, n \\ \omega X_{0}=1 \\ \omega, \mu \geq 0 \end{array}\right. \end{aligned} maxμY0 s.t. ωXjμYj0,j=1,2,,nωX0=1ω,μ0

形式展开
max⁡μ1y01+μ2y02+…+μty0t{ω1x11+ω2x12+…+ωsx1s−μ1y11−μ2y12−…−μty1t≥0ω1x21+ω2x22+…+ωsx2s−μ1y21−μ2y22−…−μty2t≥0……………….……ω1xn1+ω2xn2+…+ωsxns−μ1yn1−μ2yn2−…−μtynt≥0ω1x01+ω2x02+…+ωsx0s=1 \begin{aligned} &\max \mu_{1} y_{01}+\mu_{2} y_{02}+\ldots+\mu_{t} y_{0 t} \\ &\left\{\begin{array}{l} \omega_{1} x_{11}+\omega_{2} x_{12}+\ldots+\omega_{s} x_{1 s}-\mu_{1} y_{11}-\mu_{2} y_{12}-\ldots-\mu_{t} y_{1 t} \geq 0 \\ \omega_{1} x_{21}+\omega_{2} x_{22}+\ldots+\omega_{s} x_{2 s}-\mu_{1} y_{21}-\mu_{2} y_{22}-\ldots-\mu_{t} y_{2 t} \geq 0 \\ \ldots \ldots \ldots \ldots \ldots \ldots . \ldots \ldots \\ \omega_{1} x_{n 1}+\omega_{2} x_{n 2}+\ldots+\omega_{s} x_{n s}-\mu_{1} y_{n 1}-\mu_{2} y_{n 2}-\ldots-\mu_{t} y_{n t} \geq 0 \\ \omega_{1} x_{01}+\omega_{2} x_{02}+\ldots+\omega_{s} x_{0 s}=1 \end{array}\right. \end{aligned} maxμ1y01+μ2y02++μty0tω1x11+ω2x12++ωsx1sμ1y11μ2y12μty1t0ω1x21+ω2x22++ωsx2sμ1y21μ2y22μty2t0.ω1xn1+ω2xn2++ωsxnsμ1yn1μ2yn2μtynt0ω1x01+ω2x02++ωsx0s=1

对偶规划
min⁡θ s.t. {∑i=1nλjxij≤θx0j,j=1,2,⋯ , n ∑i=1nλjyij≥y0j,j=1,2,⋯ , n λj≥0,j=1,2,⋯ ,nθ无约束 \begin{aligned} &\min \theta\\ &\text { s.t. }\left\{\begin{array}{l} \sum_{i=1}^{n} \lambda_{j} x_{i j} \leq \theta x_{0 j}, j=1,2, \cdots, \text { n } \\ \sum_{i=1}^{n} \lambda_{j} y_{i j} \geq y_{0 j}, j=1,2, \cdots, \text { n } \\ \lambda_{j} \geq 0, j=1,2, \cdots, n \\ \theta 无约束 \end{array}\right. \end{aligned} minθ s.t. i=1nλjxijθx0j,j=1,2,, n i=1nλjyijy0j,j=1,2,, n λj0,j=1,2,,nθ

代码实现

clear
clc
x=[]; y=[];
n=size(x,1); m=size(x',1); s=size(y',1);
A=[-x y]; b=zeros(n,1); LB=zeros(m+s,1);  UB=[];
for i=1:n;
    f=[zeros(1,m) -y(i,:)];
    Aeq=[x(i,:) zeros(1,s)];    beq=1;
    w(:,i)=linprog(f,A,b,Aeq,beq,LB,UB);
    E(i,i)=y(i,:)*w(m+1:m+s,i);
    theta(i)=E(i,i);
end
w         %权重向量
theta'    %输出相对效率值

BCC模型

线性规划

min⁡f⋅w s.t. {A⋅w⩽bAeq⋅w=1w⩾0 \begin{aligned} &\min f \cdot w \\ &\text { s.t. }\left\{\begin{array}{l} A \cdot w \leqslant b \\ \mathrm{Aeq} \cdot w=1 \\ w \geqslant 0 \end{array}\right. \end{aligned} minfw s.t. AwbAeqw=1w0

f=[00⋯0−y01−y02⋯−y0snb01nb01⋯nb0t]A=[−x11−x12⋯−x1my11y12⋯y1m−nb11−nb12⋯−nb1t−x21−x12−x2m⋯⋯⋯−xn1−xn1−xnnyn1yn2⋯ynm−nbn1−nbn2⋯−nbnt]Aeq=[x01x02⋯x0 m00⋯000⋯0]yb=[00⋯0y01y02⋯y0 snb01nb01⋯nb0t] \begin{aligned} &f=\left[\begin{array}{llllllllllll} 0 & 0 & \cdots & 0 & -y_{01} & -\mathrm{y}_{02} & \cdots & -y_{0 s} & n b_{01} & n b_{01} & \cdots & n b_{0 t} \end{array}\right]\\ &A=\left[\begin{array}{cccccccccccc} -x_{11} & -x_{12} & \cdots & -x_{1 m} & y_{11} & y_{12} & \cdots & y_{1 m} & -n b_{11} & -n b_{12} & \cdots & -n b_{1 t} \\ -x_{21} & -x_{12} & & -x_{2 m} & & & & & & & & \\ \cdots & \cdots & & \cdots & & & & & & & & \\ -x_{\mathrm{n} 1} & -x_{n 1} & & -x_{n n} & y_{n 1} & y_{n 2} & \cdots & y_{n m} & -n b_{n 1} & -n b_{n 2} & \cdots & -n b_{n t} \end{array}\right]\\ &A e q=\left[\begin{array}{llllllllllll} x_{01} & x_{02} & \cdots & x_{0 \mathrm{~m}} & 0 & 0 & \cdots & 0 & 0 & 0 & \cdots & 0 \end{array}\right]\\ &\mathrm{yb}=\left[\begin{array}{cccccccccccc} 0 & 0 & \cdots & 0 & y_{01} & \mathrm{y}_{02} & \cdots & y_{0 \mathrm{~s}} & n b_{01} & n b_{01} & \cdots & n b_{0 t} \end{array}\right] \end{aligned} f=[000y01y02y0snb01nb01nb0t]A=x11x21xn1x12x12xn1x1mx2mxnny11yn1y12yn2y1mynmnb11nbn1nb12nbn2nb1tnbntAeq=[x01x02x0 m000000]yb=[000y01y02y0 snb01nb01nb0t]

对偶规划
max⁡z0 s.t. {∑i=1nxijλi+x0j,z0≤0,j=1,2⋯m∑i=1n−yijλi⩽−yij,j=1,2⋯s∑i=1nnbijλi⩽nbij,j=1,2⋯tλi≥0,i=1,2⋯n z0无约束 \begin{aligned} &\max z_{0} \\ &\text { s.t. }\left\{\begin{array}{l} \sum_{i=1}^{n} x_{i j} \lambda_{i}+x_{0 j}, z_{0} \leq 0, j=1,2 \cdots m \\ \sum_{i=1}^{n}-y_{i j} \lambda_{i} \leqslant-y_{i j}, j=1,2 \cdots s \\ \sum_{i=1}^{n} n b_{i j} \lambda_{i} \leqslant n b_{i j}, j=1,2 \cdots t \\ \lambda_{i} \geq 0, \quad i=1,2 \cdots n\\ \ z_{0}无约束 \end{array}\right. \end{aligned} maxz0 s.t. i=1nxijλi+x0j,z00,j=1,2mi=1nyijλiyij,j=1,2si=1nnbijλinbij,j=1,2tλi0,i=1,2n z0

代码实现

x=[]; y=[]; nb=[];
n=size(x,1); m=size(x',1); s=size(y',1);t=size(nb',1);
A=[-x y -nb]; b=zeros(n,1); LB=zeros(m+s+t,1); UB=[];
for i=1:n;
  f=[zeros(1,m) -y(i,:) nb(i,:)];
  Aeq=[x(i,:) zeros(1,s+t)];  beq=1;
  w(:,i)=linprog(f,A,b,Aeq,beq,LB,UB);
  yb=[y(i,:) nb(i,:)];
  E(i,i)=yb*w(m+1:m+s+t,i);
  theta(i)=E(i,i);
end
w         %权重向量
theta'    %输出相对效率值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值