$Title Chapter 3 (Fig. 3.17)
$Title Mathematical formulation of categorical variables in DEA under the VRS technol-ogy with 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/
l categorical orientations /Or1*Or4/;
alias(jj,j);
alias(kk,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;
Table w(j,l) Descriptor service vector
Or1 Or2 Or3 Or4
DMU1 1 1 1 0
DMU2 0 1 1 1
DMU3 0 0 0 1
DMU4 1 1 1 0
DMU5 1 0 1 0
DMU6 1 1 1 0
DMU7 1 1 1 1
DMU8 1 0 0 0
DMU9 0 0 0 0
DMU10 0 0 0 0;
Variables objective objective function for model
Lambda(j) dual weights (Lambda values);
Nonnegative variables
Lambda(j) dual weights (Lambda values)
Binary variables
t(l) Binary auxiliary variables;
Parameters DMU_data(g) slice of data
Lamres_s(j,j) peers for each DMU for strong disposability model
slice_w(l) slice of descriptor service vector
res_t(j,l) parameter for binary variables;
Equations OBJ objective function
CON1(i) input constraint
CON2(r) output constraint
CON3(l) service orientation
CON4(l) sequential improvememt constraint
VRS VRS constraint;
OBJ.. objective=E=SUM(l$(ORD(l)<=(CARD(l)-1)),t(l));
CON1(i).. SUM(j, Lambda(j)*Data(j,i))=L=DMU_data(i);
CON2(r).. SUM(j, Lambda(j)*Data(j,r))=G=DMU_data(r);
CON3(l)$(ORD(l)<=(CARD(l)-1)).. SUM(j, Lambda(j)*w(j,l))-t(l)=E=slice_w(l);
CON4(l)$(ORD(l)>=2 AND ORD(l)<=(CARD(l)-1)).. t(l-1)=G=t(l);
VRS.. SUM(j,Lambda(j))=E=1;
model DEA_categorical MIP model with categorical variables /OBJ, CON1, CON2, CON3, CON4, VRS/;
loop(jj,
DMU_data(g) = Data(jj,g);
slice_w(l)= w(jj,l);
solve DEA_categorical maximizing objective using MIP ;
res_t(jj,l)=t.l(l);
);
Display res_t;
execute_unload