这两天用DEA分析几个公司并购的业绩,用到了DEA模型,发现谢金星和薛毅编的《优化建模与LINDO/LINGO》P347有LINGO的源代码例子不错,改改就放上自己的数据就可以用了。
--------------------------------------------------------------------------
sets:
DMU /1..6/: S,T,P; !Decision Making Unit;
II /1..2/: w; !Input Index;
OI /1..2/: u; !Output Index;
IV(II, DMU) : X; !Input Variable;
OV(OI, DMU) : Y; !Output Variable;
endsets
data:
P = 0 1 0 0 0 0; !书上是“P=?;”,我改成了0 1 0 0 0 0;表示计算第二决策单元,算第一个用 1 0 0 0 0 0
X = 89.39 86.25 108.13 106.38 62.40 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;
enddata
max= @sum(DMU: P*T);
@for(DMU(j):
S(j)=@sum(II(i): w(i)*X(i,j));
T(j)=@sum(OI(i): u(i)*Y(i,j));
S(j)>=T(j));
@sum(DMU: P*S)=1;
-----------------------------------------------------------
这样计算要一个个单元算,而且要改P= x x x x ... 比较烦,不知谁有好的方法,能让它一次吧个个决策单元一下算出来的方法。