{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# BCC 模型\n", "## 原理\n", "$$\n", "\t\\max \\mu Y_0-\\mu _0\\\\\n", "\t\\text{s}.\\text{t}.\\left\\{ \\begin{array}{c}\n", "\t\\omega X_i-\\mu Y_i+\\mu _0\\ge 0,\\quad i&=1,...,n\\\\\n", "\t\\quad \\omega X_0=1\\\\\n", "\t\\omega \\ge 0,\\mu \\ge 0\\\\\n", "\\end{array} \\right.\\tag{1}\n", "$$\n", "\n", "转换为对偶模型:\n", "\n", "$$\n", "\\min Z^{0} \\\\\n", "\\left\\{\\begin{array}{l}\n", "\\sum_{j=1}^{n} X_{j}^{0} \\lambda_{j} \\leq Z^{0} X_{0}^{0} \\\\\n", "\\sum_{j=1}^{n} Y_{j}^{0} \\lambda_{j} \\geq Y_{0}^{0} \\\\\n", "\\sum_{j=1}^{n} \\lambda_{j}<1 \\\\\n", "\\lambda_{j} \\geq 0, j=1,2, \\cdots n\n", "\\end{array}\\right.\\tag{2}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## matlab 程序\n", "```matlab\n", "clc; clear;\n", "\n", "% 1.添入数据\n", "x = [ ]; y = [ ]; % 其中 x 表示输入变量,y 表示输出变量\n", "\n", "% 2.确定参数\n", "n = size(x,1); % 输入变量 x 的行数\n", "m = size(x,2); % 输入变量 x 的列数\n", "s = size(y,2); % 输出变量 y 的列数\n", "\n", "% 3.线性规划\n", "A = [-x, y, ones(n,1)]; % 约束矩阵\n", "b = zeros(n,1); % 约束增广矩阵\n", "LB = zeros(m+s+1,1); UB = []; % 带估计参数取值范围,均 ≥0\n", "for i=1:n\n", " f = [zeros(1,m), -y(i,:), 1]; % 目标函数 min\n", " Aeq = [x(i,:), zeros(1,s+1)]; \n", " beq = 1; % 约束等式\n", " w(:,i) = linprog(f,A,b,Aeq,beq,LB,UB);\n", " E(i,i) = y(i,:)*w(m+1:m+s,i);\n", " theta(i) = E(i,i);\n", "end\n", "w % 权重向量\n", "theta % 输出相对效率值\n", "\n", "```" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 4 }