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

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

目录

  • 1. 模型原理
    • 1.1 模型介绍
    • 1.2 数据包络分析的CCR模型
      • 1.2.1 投入导向的CCR模型
      • 1.2.2 产出导向的CCR模型
  • 2. 案例分析


1. 模型原理

1.1 模型介绍

  数据包络分析是以“相对效率”概念为基础,根据多指标投入和多指标产出对相同类型的单位进行相对有效性或效益评价的一种系统分析方法。
  DEA特别适用于具有多输入多输出的复杂系统,这主要体现在以下几点:
  (1)DEA以决策单位各输人/输出的权重为变量,从最有利于决策单元的角度进行评价,从而避免了确定各指标在优先意义下的权重。
  (2)假定每个输人都关联到一个或者多个输出,而且输入/输出之间确实存在某种关系,使用DEA方法则不必确定这种关系的显示表达式。
  DEA最突出的优点是无须任何权重假设,每一个输入/输出的权重不是根据评价者的主观认定,而是由决策单元的实际数据求得的最优权重。因此,DEA方法排除了很多主观因素,具有很强的客观性。

1.2 数据包络分析的CCR模型

DMUm个投入q个产出
1 x 11 , ⋯ , x 1 m x_{11}, \cdots, x_{1 m} x11,,x1m y 11 , ⋯ , y 1 q y_{11}, \cdots, y_{1 q} y11,,y1q
⋮ \vdots ⋮ \vdots ⋮ \vdots
n x n 1 , ⋯ , x n m x_{n1}, \cdots, x_{n m} xn1,,xnm y n 1 , ⋯ , y n q y_{n1}, \cdots, y_{n q} yn1,,ynq

  设有n个决策单元(DMC),每个决策单元都有 m 种投入和 q 种产出,设 x i j ( i = 1 , ⋯ , n ; j = 1 , ⋯ , m ) x_{i j}(i=1, \cdots, n ; j=1, \cdots, m) xij(i=1,,n;j=1,,m)表示第i个决策单元的第i种投入量, y i j ( i = 1 , ⋯ , n ; r = 1 , ⋯ , q ) y_{i j}(i=1, \cdots, n ; r=1, \cdots, q) yij(i=1,,n;r=1,,q)表示第 j 个决策单元的第 r 种产出量; v j ( j = 1 , ⋯ , m ) v_{j}(j=1, \cdots, m) vj(j=1,,m)表示第i 种投入的权值, u r ( r = 1 , ⋯ , q ) u_{r}(r=1, \cdots, q) ur(r=1,,q)表示第 r 种产出的权值;向量 X i , Y i ( i = 1 , ⋯ , n ) X_{i}, Y_{i}(i=1, \cdots, n) Xi,Yi(i=1,,n)分别表示决策单元j的输入和输出向量,则 X i = ( x i 1 , ⋯ , x i m ) X_{i}=\left(x_{i 1}, \cdots, x_{i m}\right) Xi=(xi1,,xim) Y i = ( y i 1 , ⋯ , y i q ) Y_{i}=\left(y_{i 1}, \cdots, y_{i q}\right) Yi=(yi1,,yiq)
  决策单元 i 的评价效率指数可以使用产出和投入的比例衡量,则第 k 个决策单元的产出投入比为 h k = u 1 y k 1 + u 2 y k 2 + ⋯ + u q y k r v 1 x k 1 + v 2 x k 2 + ⋯ + v m x k j = u r Y k T v j X k T h_{k}=\frac{u_{1} y_{k 1}+u_{2} y_{k 2}+\cdots+u_{q} y_{k r}}{v_{1} x_{k 1}+v_{2} x_{k 2}+\cdots+v_{m} x_{k j}}=\frac{ u_{r} Y_{k}^{T}}{ v_{j} X_{k}^{T}} hk=v1xk1+v2xk2++vmxkju1yk1+u2yk2++uqykr=vjXkTurYkT

1.2.1 投入导向的CCR模型

  投入导向的CCR模型,是在给定投入的条件下最大化产出。评价决策单元k效率的数学模型为
max ⁡ u Y k T v X k T \max \frac{u Y_{k}^{T}}{v X_{k}^{T}} maxvXkTuYkT s . t . { u r Y k T v j X k T ⩽ 1 v j ⩾ 0 , u r ⩾ 0 , j = 1 , ⋯ , m ; r = 1 , ⋯ , q s.t.\left\{\begin{array}{c}\frac{u_{r} Y_{k}^{T}}{v_{j} X_{k}^{T}} \leqslant 1 \\ v_{j} \geqslant 0, u_{r} \geqslant 0, j=1, \cdots, m ; r=1, \cdots, q\end{array}\right. s.t.{vjXkTurYkT1vj0,ur0,j=1,,m;r=1,,q
  由于该形式是非线性规划,因此将其转化为线性规划形式为
max ⁡ u r Y k T \max u_{r} Y_{k}^{T} maxurYkT s . t . { u r Y k T − v j X k T ⩽ 0 v j X k T = 1 v j ⩾ 0 , u r ⩾ 0 , j = 1 , ⋯ , m ; r = 1 , ⋯ , q s.t. \left\{\begin{array}{c}u_{r} Y_{k}^{T}-v_{j} X_{k}^{T} \leqslant 0 \\ v_{j} X_{k}^{T}=1 \\ v_{j} \geqslant 0, u_{r} \geqslant 0, j=1, \cdots, m ; r=1, \cdots, q\end{array}\right. s.t. urYkTvjXkT0vjXkT=1vj0,ur0,j=1,,m;r=1,,q

  由于对偶模型的决策变量中包含效率值,因此将上述模型转化为对偶形式为:
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 ⩾ 0 , j = 1 , ⋯ , m ; r = 1 , ⋯ , 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} \leqslant y_{k r} \\ \lambda_{i} \geqslant 0, j=1, \cdots, m ; r=1, \cdots, q\end{array}\right. s.t. i=1nλixijθxiji=1nλiyirykrλi0,j=1,,m;r=1,,q 其中, k = 1 , ⋯ , n k=1, \cdots, n k=1,,n
  在对偶规划中, λ \lambda λ表示DMU的线性组合系数,参数 θ \theta θ即为效率值,其范围在0到1之间。

1.2.2 产出导向的CCR模型

产出导向的CCR模型,是在给定产出条件下最小化投入,其最终的对偶模型如下:
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 ⩾ 0 , j = 1 , ⋯ , m ; r = 1 , ⋯ , 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} \\ \lambda_{i} \geqslant 0, j=1, \cdots, m ; r=1, \cdots, q\end{array}\right. s.t. i=1nλixijxiji=1nλiyirϕykrλi0,j=1,,m;r=1,,q 其中, k = 1 , ⋯ , n k=1, \cdots, n k=1,,n

2. 案例分析

  (多指标评价问题) 某市教委需要对六所重点中学进行评价,其相应的指标如表所示。表中的生均投入和非低收入家庭百分比是输入指标,生均写作得分和生均科技得分是输出指标。请根据这些指标,评价哪些学校是相对有效的。
在这里插入图片描述
  该案例中,决策单元数量为6,投入指标数和产出指标数均为2。
根据投入导向的CCR对偶模型,利用Matlab编程求解得到6个最优目标值分别为:

1,0.9096,0.9635,0.9143,1,1

根据产出导向的CCR对偶模型,利用Matlab编程求解得到6个最优目标值也是:

1,0.9096,0.9635,0.9143,1,1

可见决策单元1,5,6的投入产出最有效率,均为1,因此学校A,E,F是DEA有效的。
投入导向的CCR模型Matlab程序如下:

clc,clear
X=[89.39 86.25 108.13 106.38 62.4 47.19;64.3 99 99.6 96 96.2 79.9];
Y=[25.2 28.2 29.4 26.4 27.2 25.2;223 287 317 291 295 222];
n=size(X,2)     % 决策单元数
m=size(X,1)     % 投入指标数
q=size(Y,1)     % 产出指标数
%投入导向的CCR模型
w = [];
for i = 1:nf = [zeros(1,n) 1];   % 定义目标函数Aeq = [];             % 没有等式约束beq = [];LB = zeros(n+1,1);    % 指定下界UB = [];A = [X -X(:,i);-Y zeros(q,1)];         % 设定不等式约束b = [zeros(m,1);-Y(:,i)];w(:,i) = linprog(f,A,b,Aeq,beq,LB,UB); % 模型求解
end    
CCR_IN = w(n+1,:)'             % 结果输出

产出导向的CCR模型Matlab程序如下:

clc,clear
X=[89.39 86.25 108.13 106.38 62.4 47.19;64.3 99 99.6 96 96.2 79.9];
Y=[25.2 28.2 29.4 26.4 27.2 25.2;223 287 317 291 295 222];
n=size(X,2)     % 决策单元数
m=size(X,1)     % 投入指标数
q=size(Y,1)     % 产出指标数
%产出导向的CCR模型
w = [];
for i = 1:nf = [zeros(1,n) -1];   % 定义目标函数Aeq = [];             % 没有等式约束beq = [];LB = zeros(n+1,1);    % 指定下界UB = [];A = [X zeros(m,1);-Y Y(:,i)];         % 设定不等式约束b = [X(:,i)' zeros(1,q)]';w(:,i) = linprog(f,A,b,Aeq,beq,LB,UB); % 模型求解
end    
CCR_OUT = 1./w(n+1,:)'             % 结果输出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/83932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基于微信小程序的青少年健康心理科普平台

第一章 简介 青少年心理健康科普平台为用户提供心理医生咨询服务,系统包括微信小程序端和后台。 微信小程序用户可以先进行注册,填写个人的基本信息提交到服务器,服务器把数据保存到数据库。管理员对青少年的信息进行验证后,青少…

Fedora Linux 39 Beta 预估 10 月底发布正式版

Fedora 39 Beta 镜像于今天发布,用户可以根据自己的使用偏好,下载 KDE Plasma,Xfce 和 Cinnamon 等不同桌面环境版本,正式版预估将于 10 月底发布 Fedora 39 Beta 版本主要更新了 DNF 软件包管理器,并优化了 Anaconda …

ASfP: 增强AOSP平台开发的利器——Android Studio for Platform

ASfP: 增强AOSP平台开发的利器——Android Studio for Platform Android Studio for Platform (ASfP) 是一个为使用 Soong 构建系统构建的 Android 开源项目(AOSP)平台开发者而设计的 Android Studio IDE 版本。与标准 Android Studio 不同,…

【Zabbix监控一】zabbix的原理与安装

利用一个优秀的监控软件,我们可以: ●通过一个友好的界面进行浏览整个网站所有的服务器状态 ●可以在 Web 前端方便的查看监控数据 ●可以回溯寻找事故发生时系统的问题和报警情况 总结:zabbix主要功能 监控,cpu负载,内存使用&a…

IT行业未来三年最靠谱的职业方向选择,一定要看完!

近些年“互联网”模式不断发展,以信息化带动传统产业的升级中,社会对IT互联网人才的需求量也在不断增加。随着AI、大数据、人工智能、云计算的兴起,也为对新兴事物充满兴趣热爱和探索的年轻人带来了更多的就业机会,在很大程度上激…

Nginx rewrite+防盗链

Nginx Nginx6、重写功能rewrite6.1 if指令6.2 return6.3 set指令6.4 break指令6.5 rewrite指令6.5.1 基本原理6.5.2 语法格式6.5.3 举例6.5.3.1 测试访问bj跳转到beijing6.5.3.2 域名重定向:所有域名都跳转到accp 7、防盗链7.1 什么是防盗链7.2 防盗链简介7.3 实现防…

《研发效能(DevOps)工程师国家职业技术认证》工信部教考中心认证证书:塑造研发效能的黄金标准丨IDCF

随着科技的飞速发展和市场竞争的日益激烈,高素质的技术管理人才在当今社会中扮演着越来越重要的角色。特别是在信息技术领域,企业对于拥有专业技能和丰富知识的研发效能管理与技术人才的需求愈发旺盛。工业和信息化部教育与考试中心(以下简称…

MissionPlanner编译过程

环境 windows 10 mission planner 1.3.80 visual studio 2022 git 2.22.0 下载源码 (已配置git和ssh) 从github上克隆源码 git clone gitgithub.com:ArduPilot/MissionPlanner.git进入根目录 cd MissionPlanner在根目录下的ExtLibs文件下是链接的其它github源码&#xff0…

【深度学习】 Python 和 NumPy 系列教程(十二):NumPy详解:4、数组广播;5、排序操作

目录 一、前言 二、实验环境 三、NumPy 0、多维数组对象(ndarray) 多维数组的属性 1、创建数组 2、数组操作 3、数组数学 4、数组广播 5、排序操作 1. np.sort() 函数 2. np.argsort() 函数 3. ndarray.sort() 方法 4. 按列或行排序 5. n…

Mybatis 映射器中使用@InsertProvider,@UpdateProvider,@DeleteProvider,@SelectProvider

上一篇我们介绍了在Mybatis映射器的映射方法中使用Param接收多个参数;本篇我们继续介绍如何在Mybatis的映射器中使用动态SQL。 如果您对Mybatis映射器的映射方法中使用Param接收多个参数不太了解,建议您先进行了解后再阅读本篇,可以参考&…

【Java 基础篇】Java 多线程详解

多线程是 Java 编程中的一个重要概念,它允许程序同时执行多个任务,提高了程序的性能和响应能力。本篇博客将深入探讨 Java 多线程,从基础概念到实际应用,适用于 Java 初学者和希望深入了解多线程的开发人员。 什么是多线程&#…

Vue之路由及Node.js环境搭建(一起探索新事物)

目录 ​编辑 前言 一、Vue之路由 1.路由简介 1.1 什么是路由 1.2 什么是SPA 1.3 SPA的实现思路 1.4 使用路由的优势 2. 案例演示 2.1 导入所需的js文件 2.2 编写案例代码(模拟页面跳转) 二、Vue之node.js 1. node.js简介 1.1 什么是node.j…

ubuntu 18.04 中 eBPF samples/bpf 编译

1. history 信息 一次成功编译 bpf 后执行 history 得到的信息: yingzhiyingzhi-Host:~/ex/ex_kernel/linux-5.4$ history1 ls2 mkdir ex3 cd ex4 mkdir ex_kernel5 ls /boot/6 sudo apt install linux-source7 ls /usr/src/8 uname -r9 cd ex_kernel/10…

postman记录backup

之前一直未登录postman,在临时空间处理请求,可能是因为postman更新了,导致其记录没了 别着急! 首先我们先登录postman,有谷歌登录方式等 第一步、登录后点击import 第二步、点击files 第三步、找到c:/users/AppData…

20-SpringCloudAlibaba-2

六 分布式流量防护 1 认识分布式流量防护 在分布式系统中,服务之间的相互调用会生成分布式流量。如何通过组件进行流量防护,并有效控制流量,是分布式系统的技术挑战之一。 什么是服务雪崩 假设我有一个微服务系统,这个系统内包…

【WinForm】WinForm窗体程序如何一直运行在屏幕的最前方

文章目录 前言一、新建一个项目二、完整代码三、收起程序总结 前言 程序一致运行在其他软件的最前方,比如让WinForm窗体程序一致运行在微信的最前面。 WinForm窗体程序如何一直运行在屏幕的最前方 一、新建一个项目 新建一个WinForm程序 设置最大化为true&…

R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据...

全文链接:http://tecdat.cn/?p24456 如果你正在进行统计分析:想要加一些先验信息,最终你想要的是预测。所以你决定使用贝叶斯(点击文末“阅读原文”获取完整代码数据)。 相关视频 但是,你没有共轭先验。你…

数据结构与算法:排序算法(1)

目录 冒泡排序 思想 代码实现 优化 鸡尾酒排序 优缺点 适用场景 快速排序 介绍 流程 基准元素选择 元素交换 1.双边循环法 使用流程 代码实现 2.单边循环法 使用流程 代码实现 3.非递归实现 排序在生活中无处不在,看似简单,背后却隐藏…

【漏洞复现】JumpServer未授权访问漏洞(CVE-2023-42442)

文章目录 前言声明一、JumpServer简介二、漏洞描述三、影响范围四、资产搜索五、漏洞复现六、修复建议 前言 JumpServer的权限管理存在缺陷,未经授权的远程攻击者可以下载历史会话连接期间的所有操作日志,可导致敏感信息泄漏。 声明 请勿利用文章内的…

Mybatis懒加载

懒加载是什么? 按需加载所需内容,当调用到关联的数据时才与数据库交互否则不交互,能大大提高数据库性能,并不是所有场景下使用懒加载都能提高效率。 Mybatis懒加载:resultMap里面的association、collection有延迟加载功…