GAMS code for Data Envelopment Analysis

Chapter 6 (Fig. 6.04) – The Mathematical formulation for the Modified MOLP DEA model for output values and the corresponding GAMS code

$Title Chapter 6 (Fig. 6.4)
$Title Mathematical formulation for the Modified MOLP DEA model for output values 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/
        sc scenarios /SC1*SC100/
        g Inputs and Outputs /Prodc, Trn, Inv, SatDem, Rev/
        i(g)  Inputs /Prodc, Trn, Inv/
        r(g) Outputs /SatDem, Rev/;
        alias(jj,j);
        alias(k,jj);

Table Data(j,g) Data for inputs and outputs

            Prodc     Trn      Inv         SatDem        Rev
DMU1        10        100       61           20         2.64
DMU2        52        125       100          6          5.29
DMU3        24         54       56           17         2.43
DMU4        45         91       14            2         8.99
DMU5        51         10       67           19         2.94
DMU6        52         26       56           17         0.75
DMU7        22         35       34           17         6.36
DMU8        91         56       101          10         7.2
DMU9        43         72       55            9         2.16
DMU10       34         39       16            8         7.3;


Parameter w(sc) weights on outputs for scenario s

loop(sc,
   w(sc)=ORD(sc)/100;
   );


Variables efficiency objective function
          sigma(r)  �*y;

Nonnegative variables
          l(j) dual weights (Lambda values);

Parameters DMU_data(g) slice of data
           lamres(j,j) peers for each DMU
           res_sigma(r,sc) results for sigma for each scenario s
           ww slice of res_sigma;


Equations  OBJ Objective function of the MOLP model
           CON1(i) Input constraints for MOLP model
           CON2(r) Output constraints for MOLP model;

OBJ..       efficiency=E=sigma('SatDem')*ww*DMU_data('SatDem')+sigma('Rev')*(1-ww)*DMU_data('Rev');

CON1(i)..  SUM(j, l(j)*Data(j,i))=L=DMU_data(i);

CON2(r)..  SUM(j, l(j)*Data(j,r))=E=sigma(r)*DMU_data(r);

model MOLP_DEA Multi Objective LP DEA /All/;

loop(sc,
 ww = w(sc);
 loop(jj,
   DMU_data(g) = Data(jj,g);
   solve MOLP_DEA using LP maximizing efficiency;
   loop(k,
      Lamres(jj,k)=l.l(k);
    );
    res_sigma(r,sc)= sigma.l(r);
 );
);


display  res_sigma;

execute_unload