Learn R Programming

deaR (version 1.5.2)

model_lgo: Linear Generalized Oriented DEA model.

Description

It solves linear generalized oriented DEA models (see Bolós et al. 2026). By default, models are solved in a two-stage process (slacks are maximized).

Usage

model_lgo(datadea,
            dmu_eval = NULL,
            dmu_ref = NULL,
            d_input = 1,
            d_output = 1,
            rts = c("crs", "vrs", "nirs", "ndrs", "grs"),
            L = 1,
            U = 1,
            maxslack = TRUE,
            weight_slack_i = 1,
            weight_slack_o = 1,
            returnlp = FALSE,
            ...)

Value

A list of class dea with the results for the evaluated DMUs (DMU component, we note that we call "targets" to the "efficient projections" in the strongly efficient frontier), along with any other necessary information to replicate the results, such as the name of the model and parameters orientation_param, rts,

dmu_eval and dmu_ref.

Arguments

datadea

A deadata object with n DMUs, m inputs and s outputs.

dmu_eval

A numeric vector containing which DMUs have to be evaluated. If NULL (default), all DMUs are considered.

dmu_ref

A numeric vector containing which DMUs are the evaluation reference set. If NULL (default), all DMUs are considered.

d_input

A value, vector of length m, or matrix m x ne (where ne is the length of dmu_eval) with the input orientation parameters. If d_input == 1 (default) and d_output == 0, it is equivalent to input oriented.

d_output

A value, vector of length s, or matrix s x ne (where ne is the length of dmu_eval) with the output orientation parameters. If d_input == 0 and d_output == 1 (default), it is equivalent to output oriented.

rts

A string, determining the type of returns to scale, equal to "crs" (constant), "vrs" (variable), "nirs" (non-increasing), "ndrs" (non-decreasing) or "grs" (generalized).

L

Lower bound for the generalized returns to scale (grs).

U

Upper bound for the generalized returns to scale (grs).

maxslack

Logical. If it is TRUE, it computes the max slack solution.

weight_slack_i

A value, vector of length m, or matrix m x ne (where ne is the length of dmu_eval) with the weights of the input slacks for the max slack solution.

weight_slack_o

A value, vector of length s, or matrix s x ne (where ne is the length of dmu_eval) with the weights of the output slacks for the max slack solution.

returnlp

Logical. If it is TRUE, it returns the linear problems (objective function and constraints) of stage 1.

...

Ignored, for compatibility issues.

Author

Vicente Coll-Serrano (vicente.coll@uv.es). Quantitative Methods for Measuring Culture (MC2). Applied Economics.

Vicente Bolós (vicente.bolos@uv.es). Department of Business Mathematics

Rafael Benítez (rafael.suarez@uv.es). Department of Business Mathematics

University of Valencia (Spain)

References

Bolós, V.J.; Benítez, R.; Coll-Serrano, V (2026). "A new family of models with generalized orientation in data envelopment analysis". International Transactions in Operational Research. tools:::Rd_expr_doi("10.1111/itor.70063")

Chambers, R.G.; Chung, Y.; Färe, R. (1996). "Benefit and Distance Functions", Journal of Economic Theory, 70(2), 407-419.

Chambers, R.G.; Chung, Y.; Färe, R. (1998). "Profit Directional Distance Functions and Nerlovian Efficiency", Journal of Optimization Theory and Applications, 95, 351-354.

See Also

model_basic, model_dir, model_qgo

Examples

Run this code

data("PFT1981") 
# Selecting DMUs in Program Follow Through (PFT)
PFT <- PFT1981[1:49, ] 
PFT <- make_deadata(PFT, 
                    inputs = 2:6, 
                    outputs = 7:9 )
eval_pft <- model_lgo(PFT)
efficiencies(eval_pft)
 

Run the code above in your browser using DataLab