数据包络分析-加性网络DEA分解
这篇文章要介绍的是2017年的一篇两阶段网络DEA文章,文献名字如下:
这篇文章跟我的上一篇很相似,只是在效率分解上有区别,在编程上更复杂一点。具体内容如下:
additive two-stage network DEA
首先,仍然是介绍网络,这里我们只说第二种类型的情况,也就是在第二阶段有另外的投入,图示如下:
接下来,很自然的写出各个阶段的效率:
本文的系统效率不再是两个阶段效率的乘积,而是加权平均:
根据这个目标函数,得到模型如下:
上述模型是分式形式,若要在Python中进行求解,则需要对其进行线性转换。这里是通过两次基础变换:
第一次,通过(公式比较多,实在是懒得一个个打出来了,截图吧,大家谅解)
那么此时模型变为:
第二次,继续变换,通过:
最后模型的形式变成:
模型求解
上述的最终模型,有多个未知参数,且模型是非线性模型,那么用平常的办法是不能在python中求得全局最优解的。
这篇文章与我上一篇发表的另一篇文献思路(omega2012那篇)相似。先是固定arpha的值,然后通过k的迭代,取得最优值。具体如下:
我们先设置arpha的值:
对于每个arpha,因为k是一个参数,我们考虑k的范围:
那么,我们对k的值进行迭代:
上式中,0.01是我们所设定的步长,t便是迭代次数,且t为整数。
在每个arpha值下,所有迭代次数中,让系统效率最大的那个k便是我们所求,然后知道了k,那么相对应的各个参数也可以知道,stage-1和stage-2的效率便迎刃而解。
在文献中的表述可能更为精确,我把内容也放上来:
例子
这篇文献中有个例子,部分数据展示一下(这份数据就是上一篇文献介绍用到的数据,我已经放在我的资源里面了,名字是net2012):
投入数量:3 ,中间变量:2, 另外投入:1,最终产出:4
结果展示(右图贴的是我跑出来的,复现的比较成功):