Learn R Programming

TFDEA (version 0.9.8.3)

SDEA: Super-efficiency Data Envelopment Analysis

Description

Calculate Data Envelopment Analysis super-efficiency

Usage

SDEA(x, y, rts="vrs", orientation="input", slack=TRUE, dual = FALSE,
  cook=FALSE,
  second="none", z=0,
  round=FALSE, debug=1)

Arguments

x
Inputs or resources used by each decision making unit
y
Outputs or products of each decision making unit
rts
Returns to scale for the application, production technology, or industry studied rl{

vrs Variable returns to scale, convexity and free disposability drs Decreasing returns to scale, convexity, down-scaling and free disposability

orientation
Orientation of the DEA model - primary emphasis on input-reduction input or output-augmentation output
slack
Optional: slack=TRUE indicates a secondary objective function of maximizing non-radial slacks
dual
Optional: dual=TRUE reports back the dual weights (multipliers) for the inputs and outputs
cook
Optional: cook=TRUE enables using Cook algo. to compute super efficiency of DMUs that are infeasible under the standard model.
round
Optional: round=TRUE rounds efficiency values to 0 and 1 if close.
second
Optional: Enables an alternate secondary objective function based on lambda and the z matrix. The default is second=none. Other options include min or max which will then minimize or maximize z*lambda while hold
z
Optional: a matrix with one column and the same number of rows (decision making units) as x and y, it is required when second=min or max
debug
Optional: Only for debugging. If debug is a integer greater then zero debug information is output.

Value

  • $statusIf the solver returned a non-zero status for each decision making unit
  • $effEfficiency score for each decision making unit
  • $lambdaLambda values for each decision making unit
  • $se.effTau(Gamma) in input(output)-orientated model, only returned when cook=TRUE
  • $se.excessBeta(Delta) in input(output)-oriented model, only returned when cook=TRUE
  • $vxInput weights used by each decision making unit, only returned when dual=TRUE
  • $uyOutput weights used by each decision making unit, only returned when dual=TRUE
  • $wW value for each decision making unit, only returned when dual=TRUE
  • $sxRadial input slacks, only returned when slack=TRUE
  • $syRadial output slacks, only returned when slack=TRUE

Details

This function implements either the standard super-efficiency model or the Cook's extended model whereby each decision making unit is compared to all other decision making units but not itself. This allows for efficiency scores that are "better" than 1 for most efficient Decision Making Units. Note that the standard super-efficiency model can cause infeasibilities especially when the Varialbe Returns to Scale is assumed. (Ex. rts=vrs)

References

P. Andersen, N.C. Petersen, A Procedure for Ranking Efficient Units in Data Envelopment Analysis, Manage. Sci. 39 (1993) 1261~1264.

W.D. Cook, L. Liang, Y. Zha, J. Zhu, A modified super-efficiency DEA model for infeasibility, J. Oper. Res. Soc. 60 (2009) 276~281.

See Also

DEA Data Envelopment Analysis - provides a variety of standard DEA models for examining the efficiency of different decision making units.

TFDEA Technology Forecasting Using Data Envelopment Analysis - a method of technology forecasting using past data to predict future capabilities

Examples

Run this code
x <- matrix(c(1,2,3,4),ncol=1,dimnames=list(LETTERS[1:4],"X"))
y <- matrix(c(1,3,4,3),ncol=1,dimnames=list(LETTERS[1:4],"Y"))

# Simple radial DEA super-efficiency
SDEA(x, y, rts="vrs", orientation="input")

# Simple radial DEA super-efficiency with slack maximization
SDEA(x, y, rts="vrs", orientation="input", slack=TRUE)

# Cook's super-efficiency with slack maximization
SDEA(x, y, rts="vrs", orientation="input", slack=TRUE, cook=TRUE)

# Example of secondary objective function
x <- matrix(c(8,2,4,7,10,12,2,8,4,3,2,2),ncol=2,dimnames=list(LETTERS[1:6]))
colnames(x) = c("X1", "X2")
y <- matrix(c(1,1,1,1,1,1),ncol=1,dimnames=list(LETTERS[1:6],"Y"))
z <- matrix(c(1:6),ncol=1,dimnames=list(LETTERS[1:6],"Z"))

SDEA (x, y, rts="crs", orientation="input", slack=FALSE, second="min", z=z)

Run the code above in your browser using DataLab