1. 程式人生 > >DEA(資料包絡分析)程式模板

DEA(資料包絡分析)程式模板

在人們的生產活動和社會活動中常常會遇到這樣的問題:經過一段時間之後,需要對具有相同型別的部門或單位(稱為決策單元)進行評價,其評價的依據是決策單元的“輸入”資料和“輸出”資料,輸入資料是指決策單元在某種活動中需要消耗的某些量,例如投入的資金總額,投入的總勞動力數,佔地面積等等;輸出資料是決策單元經過一定的輸入之後,產生的表明該活動成效的某些資訊量,例如不同型別的產品數量,產品的質量,經濟效益等等.再具體些說,譬如在評價某城市的高等學校時,輸入可以是學校的全年的資金,教職員工的總人數,教學用房的總面積,各類職稱的教師人數等等;輸出可以是培養博士研究生的人數,碩士研究生的人數,大學生的人數,學生的質量(德,智,體),教師的教學工作量,學校的科研成果(數量與質量)等等.根據輸入資料和輸出資料來評價決策單元的優劣,即所謂評價部門(或單位)間的相對有效性。

資料包絡分析是運籌學的一個新的研究領域。Charnes和Cooper等人的第一個應用DEA的十分成功的案例,是在評價為弱智兒童開設公立學校專案的同時,描繪出可以反映大規模社會實驗結果的研究方法。在評估中,輸出包括“自尊”等無形的指標;輸入包括父母的照料和父母的文化程度等,無論哪種指標都無法與市場價格相比較,也難以輕易定出適當的權重(權係數),這也是DEA的優點之一。

DEA程式模板

clc
clear
X=[40.4 23.1 33.6 43.2;
    2.45 8.56 5.67 10.03;
    20 70 93 120;
    2500 2000 2500 4000]
Y=[2 3 3 2;
    0
.76 0.68 0.83 0.89; 650 850 800 700] %%此前為資料的處理,只需按列輸入每個程式的X和Y指標集資料即可,無需改動程式。 %% A1=[X;Y] [m,~]=size(X) [s,~]=size(Y) [~,n]=size(A1) A2=blkdiag(eye(m),-eye(s)) i=1 %修改此處的i分別等於1至n,即可獲得不同目標的threta值。 A3=[-X(:,i);zeros(s,1)] A=[A1 A2 A3] B=[zeros(m,1);Y(:,i)] lb=zeros(n+m+s+1,1) x=linprog([zeros(1,n+m+s) 1],A
,B,[],[],lb,[]) theta=x(n+m+s+1) lambda=x(1:n) s_=x(n+1:m+n) s_plus=x(m+n+1:m+n+s-1)