# Data Envelopment Analysis following the formulation given # in Williams, "Model Building in Mathematical Programming". # set DMU; set Input; set Output; param ipar {DMU, Input}; param opar {DMU, Output}; param k symbolic in DMU; var w >= 1; var x {DMU} >= 0; maximize z: w; s.t. inputs {i in Input}: sum {j in DMU} ipar[j,i]*x[j] <= ipar[k,i]; s.t. outputs {i in Output}: sum {j in DMU} opar[j,i]*x[j] >= opar[k,i]*w;