$Title Chapter 5 (Fig. 5.7)
$Title Mathematical formulation for profit efficiency 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 /Prodc, Trn, Inv, SatDem, Quantity/
i(g) Inputs /Prodc, Trn, Inv/
r(g) Outputs /SatDem, Quantity/;
alias(jj,j);
alias(k,jj);
Table Data(j,g) Data for inputs and outputs
Prodc Trn Inv SatDem Quantity
DMU1 10 100 61 20 100
DMU2 52 125 100 6 150
DMU3 24 54 56 17 50
DMU4 45 91 14 2 510
DMU5 51 10 67 19 400
DMU6 52 26 56 17 60
DMU7 22 35 34 17 250
DMU8 91 56 101 10 35
DMU9 43 72 55 9 90
DMU10 34 39 16 8 650;
Table Cost(j,i) Cost Data for inputs
Prodc Trn Inv
DMU1 0.255 0.161 0.373
DMU2 0.98 0.248 0.606
DMU3 0.507 0.937 0.749
DMU4 0.305 0.249 0.841
DMU5 0.659 0.248 0.979
DMU6 0.568 0.508 0.919
DMU7 0.583 0.628 0.732
DMU8 0.627 0.675 0.738
DMU9 0.772 0.657 0.486
DMU10 0.917 0.639 0.234;
Table Price(j,r) Price Data for outputs
SatDem Quantity
DMU1 2 2.64
DMU2 3 5.29
DMU3 10 2.43
DMU4 5 8.99
DMU5 1 2.94
DMU6 3 0.75
DMU7 7 6.36
DMU8 8 7.2
DMU9 3 2.16
DMU10 9 7.3;
Variables efficiency objective function
profit_efficiency profit efficiency;
Nonnegative variables
l(j) dual weights (Lambda values)
y_t(r) auxilliary variable for p*phi
x_t(i) auxilliary variable for c*theta;
Parameters DMU_data(g) slice of data
prs(r) slice of price data
cst(i) slice of cost data
profit_eff(j) revenue efficiency
lamres(j,j) peers for each DMU;
Equations OBJ_PROFIT Profit efficiency objective function
CON1_COST(i) Constraint for cost
CON1_REV(r) Constraint for profit
CON3 VRS orientation;
OBJ_PROFIT.. profit_efficiency=E=SUM(r,prs(r)*y_t(r))-SUM(i,cst(i)*x_t(i));
CON1_COST(i).. SUM(j, l(j)*Data(j,i))=L=x_t(i);
CON1_REV(r).. SUM(j, l(j)*Data(j,r))=G=y_t(r);
CON3.. SUM(j, l(j))=E=1;
model PROFIT_DEA_VRS profit efficiency /ALL/;
loop(jj,
DMU_data(g) = Data(jj,g);
prs(r) = Price(jj,r);
cst(i) = Cost(jj,i);
solve PROFIT_DEA_VRS using LP maximizing profit_efficiency;
profit_eff(jj) = (SUM(r,prs(r)*DMU_data(r))-SUM(i,cst(i)*DMU_data(i)))/(SUM(r,prs(r)*y_t.l(r))-SUM(i,cst(i)*x_t.l(i)));
loop(k,
Lamres(jj,k)=l.l(k);
);
);
display profit_eff, lamres;
execute_unload