$Title Chapter 2 (Fig. 2.21)
$Title Mathematical formulation of the multiplier CRS DEA model with Assurance Region (AR) constraints and the corresponding GAMS code
$onText
If using this code, please cite:
---------------------------------------------------------------------------------
Emrouznejad, A., P. Petridis, and V. Charles (2023). Data Envelopment Analysis
with GAMS: A Handbook on Productivity Analysis, and Performance Measurement,
Springer, ISBN: 978-3-031-30700-3.
---------------------------------------------------------------------------------
Website: https://dataenvelopment.com/GAMS/
$offText
Sets j DMUs /DMU1*DMU10/
g Inputs and Outputs /ProdCost, TrnCost, HoldInv, SatDem, Rev/
i(g) Inputs /ProdCost, TrnCost, HoldInv/
r(g) Outputs /SatDem, Rev/;
alias(j,jj);
Table Data(j,g) Data for inputs and outputs
ProdCost TrnCost HoldInv SatDem Rev
DMU1 0.255 0.161 0.373 20 2.64
DMU2 0.98 0.248 0.606 6 5.29
DMU3 0.507 0.937 0.749 17 2.43
DMU4 0.305 0.249 0.841 2 8.99
DMU5 0.659 0.248 0.979 19 2.94
DMU6 0.568 0.508 0.919 17 0.75
DMU7 0.583 0.628 0.732 17 6.36
DMU8 0.627 0.675 0.738 10 7.2
DMU9 0.772 0.657 0.486 9 2.16
DMU10 0.917 0.639 0.234 8 7.3;
Variables efficiency objective function
mu
v(i) dual input
u(r) dual output;
Nonnegative variables
v(i) dual input
u(r) dual output;
Parameters DMU_data(g) slice of data
eff(j) efficiency report
res_v(j,i) results for dual input
res_u(j,r) results for dual output
sm(j);
Equations OBJ objective function
CON1(j)
CON2
CON3
CON4
CON5
CON6
CON7
CON8;
OBJ.. efficiency=E=SUM(r,u(r)*DMU_data(r));
CON1(j).. SUM(r,u(r)*Data(j,r))-SUM(i,v(i)*Data(j,i))=L=0;
CON2.. SUM(i,v(i)*DMU_data(i))=E=1;
CON3.. v('TrnCost')=G=0.5*v('ProdCost');
CON4.. v('TrnCost')=L=4*v('ProdCost');
CON5.. v('HoldInv')=G=2*v('ProdCost');
CON6.. v('HoldInv')=L=6*v('ProdCost');
CON7.. u('SatDem')=G=3*u('Rev');
CON8.. u('SatDem')=L=5*u('Rev');
model multiplier_DEA_CRS_AR input oriented DEA CRS / OBJ, CON1, CON2, CON3, CON4, CON5, CON6, CON7, CON8/;
loop(jj,
DMU_data(i) = Data(jj,i);
DMU_data(r) = Data(jj,r);
solve multiplier_DEA_CRS_AR using LP Maximizing efficiency;
eff(jj)=efficiency.l;
res_v(jj,i)=v.l(i);
res_u(jj,r)=u.l(r);
sm(j)=multiplier_DEA_CRS_AR.modelstat;
);
Display eff, res_v, res_u;
execute_unload