数据包络分析——SBM模型

news2024/11/26 11:51:47

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


目录

  • 1. 引言
  • 2. 模型建立
  • 3. 模型求解


1. 引言

  前面我们已经介绍了数据包络分析的CCR模型和BCC模型,具体可参阅链接: 数据包络分析——CCR模型和链接: 数据包络分析——BCC模型,而CCR模型和BCC模型都是径向模型,在径向模型中,效率改善主要指的是投入或产出的等比例线性缩放,同时忽略了平行于坐标轴的弱有效的情形,而SBM模型纳入无效率的松弛改进,保证最终的结果是强有效的。

2. 模型建立

  基本的SBM模型形式为
min ⁡ ρ = 1 − 1 m ∑ j = 1 m s j − / x k j 1 + 1 q ∑ r = 1 q s r − / y k r  s.t.  { X λ + s − = x k Y λ − s + = y k λ , s − , s + ⩾ 0 , j = 1 , ⋯   , m ; r = 1 , ⋯   , q \begin{array}{l}\min \rho=\frac{1-\frac{1}{m} \sum_{j=1}^{m} s_{j}^{-} / x_{k j}}{1+\frac{1}{q} \sum_{r=1}^{q} s_{r}^{-} / y_{k r}} \\ \text { s.t. }\left\{\begin{array}{l}X \lambda+s^{-}=x_{k} \\ Y \lambda-s^{+}=y_{k} \\ \lambda, s^{-}, s^{+} \geqslant 0, \quad j=1, \cdots, m ; r=1, \cdots, q\end{array}\right.\end{array} minρ=1+q1r=1qsr/ykr1m1j=1msj/xkj s.t.  Xλ+s=xks+=ykλ,s,s+0,j=1,,m;r=1,,q其中,对每个决策单元 k = 1 , ⋯   , n k=1, \cdots, n k=1,,n
  目标函数 ρ ∗ \rho^{*} ρ表示效率值,该模型同时从投入和产出两个方面考察无效率的表现,故称为非径向模型。由于该模型为非线性模型,将该模型转化为线性模型,同时向模型中加入非期望产出得:
τ ∗ = min ⁡ ( t − 1 m ∑ j = 1 m s j − x k j )  s.t.  { t + 1 s 1 + s 2 ( ∑ r = 1 s 1 s r g y k r g + ∑ r = 1 s 2 s r b y k r g ) = 1 x k t = X Λ + S − y k g t = X Λ − S g y k b t = X Λ + S b Λ , S − , S g , S b ⩾ 0 t > 0 \begin{array}{l}\tau^{*}=\min \left(t-\frac{1}{m} \sum_{j=1}^{m} \frac{s_{j}^{-}}{x_{k j}}\right) \\ \text { s.t. }\left\{\begin{array}{l}t+\frac{1}{s_{1}+s_{2}}\left(\sum_{r=1}^{s_{1}} \frac{s_{r}^{g}}{y_{k r}^{g}}+\sum_{r=1}^{s_{2}} \frac{s_{r}^{b}}{y_{k r}^{g}}\right)=1 \\ x_{k} t=X \Lambda+S^{-} \\ y_{k}^{g} t=X \Lambda-S^{g} \\ y_{k}^{b} t=X \Lambda+S^{b} \\ \Lambda, S^{-}, S^{g}, S^{b} \geqslant 0 \\ t>0\end{array}\right.\end{array} τ=min(tm1j=1mxkjsj) s.t.  t+s1+s21(r=1s1ykrgsrg+r=1s2ykrgsrb)=1xkt=XΛ+Sykgt=XΛSgykbt=XΛ+SbΛ,S,Sg,Sb0t>0 其中,对每个决策单元 k = 1 , ⋯   , n k=1, \cdots, n k=1,,n。该模型中包含投入矩阵 X n × m X_{n \times m} Xn×m的转置,期望产出矩阵 Y n × s 1 g Y_{n \times s_{1}}^{g} Yn×s1g的转置,非期望产出 Y n × s 2 b Y_{n \times s_{2}}^{b} Yn×s2b的转置,模型参数主要包括投影变量 Λ \Lambda Λ,松弛变量 S − 、 S g 、 S b S^{-}、S^{g}、S^{b} SSgSb t t t

3. 模型求解

我们仍然用前面的例子:
  某市教委需要对六所重点中学进行评价,其相应的指标如表所示。表中的生均投入和非低收入家庭百分比是输入指标,生均写作得分和生均科技得分是输出指标。请根据这些指标,评价哪些学校是相对有效的。
在这里插入图片描述
  根据模型编写MATLAB代码如下:

%非期望产出SBM模型
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];
Z=[72 85 95 63 81 70]; %非期望产出:生均艺术得分
[m,n]=size(X);
s1=size(Y,1);
s2=size(Z,1);
c=1/(s1+s2);

rho=[];
w=[];
for i=1:n
    f=[-1./(m*X(:,i)') zeros(1,s1) zeros(1,s2) zeros(1,n) 1];
    A=[];
    b=[];
    UB=[];
    LB=zeros(m+s1+s2+n+1,1);
    Aeq=[zeros(1,m) c*1./Y(:,i)' c*1./Z(:,i)' zeros(1,n) 1;
        eye(m) zeros(m,s1)  zeros(m,s2) X -X(:,i);
        zeros(s1,m) -eye(s1) zeros(s1,s2) Y -Y(:,i);
        zeros(s2,m) zeros(s2,s1) eye(s2) Z -Z(:,i)];
    beq=[1 zeros(m,1)' zeros(s1,1)' zeros(s2,1)'];
    [w(:,i),rho(i)]=linprog(f,A,b,Aeq,beq,LB,UB);
end
rho'

  得到每个学校的效率值为

1.0000 、 0.8297 、 0.8692 、 1.0000 、1.0000 、 1.0000

  可见在带非期望产出的情况下,学校A、D、E、F是有效的。

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

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

相关文章

康耐德视觉检测系统可以在元器件生产中发挥什么作用?

电子元器件作为电子信息产业链的上游产品,是开发通信、计算机及网络、数字音视频等系统和终端产品的基础,电子元部件工作是否可靠决定了电子设备运行是否正常。电子元器件的外观缺陷检测是一个非常关键的部分,因为这类产品一般都比较小。质量…

MyBatis 工具学习笔记(基础)

Whats this 是一款优秀的持久层框架,用于简化 JDBC 开发是 Apache 的一个开源项目 Java EE 三层架构:表现层、业务层、持久层(存储层) (持久层:负责将数据保存到数据库的那一层代码) ORM&…

BUUCTF:[MRCTF2020]套娃

查看源码发现 PHP非法参数名传参问题,详细请参考我的这篇文章:谈一谈PHP中关于非法参数名传参问题 正则这里绕过使用%0a换行符绕过,payload: /?b.u.p.t23333%0a 得到下一步信息:secrettw.php 注释中的是JsFuck,用这…

Lostash同步Mysql数据到ElasticSearch(二)logstash脚本配置和常见坑点

1. logstash脚本编写(采用单文件对应单表实例) 新建脚本文件夹 cd /usr/local/logstash mkdir sql & cd sql vim 表名称.conf #如: znyw_data_gkb_logstash.conf 建立文件夹,保存资源文件更新Id mkdir -p /data/logstash/data/last_r…

VBA技术资料MF58:VBA_测试点是否在多边形中

【分享成果,随喜正能量】人一辈子,只能靠长期去做某件事情来成就自己,而不是靠某一个人来成就自己。关于这点,你要么及早领悟,要么等待时光给出教训,逼你领悟。 我给VBA的定义:VBA是个人小型自…

数据结构 第一章作业 绪论 西安石油大学

绪论第1章 1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。 答案: 数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。如数学计…

【C++面向对象侯捷】大师写法,证明你学过!一出手就是正规军~

文章目录 1.Header(头文件)中防卫式声明!2. 构造函数赋值3. const member functions(常量成员函数) > 不会改变数据内容的,加上const4. 参数 和 返回值尽量传 引用,减少 数据 传输5. 设计一个类,特别注意…

从功能测试到自动化测试你都知道他们的有缺点吗?

一、手工测试优点 测试人员的经验可以继承,对错误有猜测能力 测试人员有审美能力和心理体验 测试人员有逻辑推断能力 二、自动化的优点 自动化测试执行可以替代大量的手工机械重复性操作,测试工程师可以把更多的时间花在更全面的用例设计和新功能的测试上…

Python 爬虫使用 Selenium 如何在 WebElement 获得属性

首先,我们需要初始化驱动和指定使用特定的流量器。 代码如下: from selenium import webdriver wd webdriver.Firefox()上面的代码可以简单的理解为启动一个 Firefox 的实例。 使用 css 选择器 可以把程序读取的 HTML 理解为一个 Doc。 我们需要在 D…

三、双指针(two-point)

文章目录 一、算法核心思想二、算法模型(一)对撞指针1.[704.二分查找](https://leetcode.cn/problems/binary-search/)(1)思路(2)代码(3)复杂度分析 2.[15.三数之和](https://leetco…

Maven源码阅读(一)

获取源码 apache maven官网地址:https://maven.apache.org/ 不用点击,页面往下滚动,你会看到 找到源码地址,最终都是github:https://github.com/apache/maven 被墙了,可以用gitcode:https:…

Java基础13——异常的捕获与处理

什么是异常 异常是指程序在运行过程中出现的非正常情况,如用户输入错误,除数为零,文件不存在,数组下标越界等。 Java 异常体系结构 所有异常类都是Throwable 类的子类,他派生出两个子类,Error和Exception…

Git学习笔记6

Github分支开发: 第1步:在github上创建一个新的dev分支: 更新了微信的PC版本,发现默认的箭头比以前加粗了,变得更好看了。 create branch: dev from master。 切换到该分支,看到里面的内容跟master分支的…

macOS 运行xxx.command文件提示”无法执行,因为您没有正确的访问权限“解决方法

使用苹果mac电脑运行.command文件时,是否遇到弹出”无法执行,因为您没有正确的访问权限“的窗口?遇到这种问题怎么解决呢?这里小编为大家带来了详细的解决方法,一起来看看吧! 解决方法: 方法一…

从零学习开发一个RISC-V操作系统(一)丨计算机组成原理相关知识与RISC-V指令集简介

本篇文章的内容 一、计算机组成原理的相关知识1.1 计算机的硬件组成1.2 程序的存储与执行1.3 程序语言的设计和进化1.4 存储设备的层次结构1.5 操作系统 二、RISC-V的指令集ISA简介2.1 什么是ISA2.2 复杂指令集(CISC)和精简指令集(RISC&#…

halcon算子2、gray_histo

gray_histo 计算直方图 原形:gray_histo(Regions, Image : : : AbsoluteHisto, RelativeHisto) 功能:计算直方图 参数:Regions:区域,要计算的区域(在image上的区域) Image :要计算的…

【IC设计】ZC706板卡点灯入门(含Verilog代码,xdc约束,实验截图)

文章目录 假定已知的前置知识需求:注意点:代码实现:顶层模块led闪烁模块xdc约束 这篇博客将针对AMD Zynq 7000 SoC ZC706 Evaluation Kit板卡(对应Vivado创建工程时FPGA型号:XC7Z045ffg900-2)实现基本的点灯程序。 假定已知的前置…

JUC中创建的组件 多线程使用“哈希表”

JUC中创建的组件 JUC中创建的组件这些内容都不太常用,偶尔用到面试的时候,偶尔用到!到时候自行查找即可,本文主要来快速的过一下,留个印象即可~ JUC(java.util.concurrent)和多线程相关的工具…

【APUE】文件I/O(系统调用I/O)

目录 1、简介 2、文件描述符的本质 3、文件IO操作 3.1 open 3.2 close 3.3 read 3.4 write 3.5 lseek 4、文件IO与标准IO的区别 5、IO的效率问题 关键补充:进程的内存空间布局 代码区 常量区 全局区 .bss段 .data段 堆区 栈区 6、文件共享 7…

详解【异质图卷积网络 RGCN】回顾:图神经网络问题的三大处理步骤 | 从起源说起,RGCN核心公式解释,两种降低模型参数量/优化的方式,附核心代码实现讲解

书上说了,天下没有不散的宴席,但你别怕,书上还说了,人生何处不相逢。 【纯手工】优质讲解,码字不易,写作不易,走过路过,大家点个赞呗! 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌿[2] 2023年城市之星领跑者TOP…