Learn R Programming

SdeaR (version 1.0.2)

modelstoch_dir: Chance Constrained Directional Models with Stochastic Directions

Description

It solves chance constrained directional models with stochastic directions, under constant, variable, non-increasing, non-decreasing or generalized returns to scale. Inputs and outputs must follow a multivariate normal distribution. By default, models are solved in a two-stage process (slacks are maximized).

We consider \(\mathcal{D}=\left\{ \textrm{DMU}_1, \ldots ,\textrm{DMU}_n \right\} \) a set of \(n\) DMUs with \(m\) stochastic inputs and \(s\) stochastic outputs. Matrices \(\tilde{X}=(\tilde{x}_{ij})\) and \(\tilde{Y}=(\tilde{y}_{rj})\) are the input and output data matrices, respectively, where \(\tilde{x}_{ij}\) and \(\tilde{y}_{rj}\) represent the \(i\)-th input and \(r\)-th output of the \(j\)-th DMU. Moreover, we denote by \(X=(x_{ij})\) and \(Y=(y_{rj})\) their expected values. In general, we denote vectors by bold-face letters and they are considered as column vectors unless otherwise stated. The \(0\)-vector is denoted by \(\bm{0}\) and the context determines its dimension.

Given \(0<\alpha <1\), the first stage program for \(\text{DMU}_o\) with constant returns to scale is given by $$\max \limits_{\beta, \bm{\lambda}}\quad \beta$$ $$\text{s.t.}\quad P\left\{ \left( \Theta ^-(\beta )\tilde{\mathbf{x}}_o- \tilde{X}\bm{\lambda}\right) _i\geq 0\right\} \geq 1-\alpha,\quad i=1,\ldots ,m,$$ $$P\left\{ \left( \tilde{Y}\bm{\lambda}-\Theta ^+(\beta ) \tilde{\mathbf{y}}_{o}\right) _r\geq 0\right\} \geq 1-\alpha,\quad r=1,\ldots ,s,$$ $$\bm{\lambda}\geq \mathbf{0},$$ where \(\bm{\lambda}=(\lambda_1,\ldots,\lambda_n)^\top\), \(\tilde{\mathbf{x}}_o =(\tilde{x}_{1o},\ldots,\tilde{x}_{mo})^\top\) and \(\tilde{\mathbf{y}}_o= (\tilde{y}_{1o},\ldots,\tilde{y}_{so})^\top\) are column vectors, \(\Theta ^-(\beta )=I_m-\beta D^-\), \(\Theta ^+(\beta )=I_s+\beta D^+\) (with \(I_m,I_s\) identity matrices), and \(D^-=\mathrm{diag}(d^-_1, \ldots ,d^-_m)\), \(D^+=\mathrm{diag}(d^+_1,\ldots ,d^+_s)\) are diagonal matrices with orientation parameters \(d^-_1,\ldots ,d^-_m, d^+_1,\ldots ,d^+_s \geq 0\). Different returns to scale can be easily considered by adding the corresponding constraints: \(\mathbf{e}\bm{\lambda}=1\) (VRS), \(0\leq \mathbf{e}\bm{\lambda} \leq 1\) (NIRS), \(\mathbf{e}\bm{\lambda}\geq 1\) (NDRS) or \(L\leq \mathbf{e} \bm{\lambda}\leq U\) (GRS), with \(0\leq L\leq 1\) and \(U\geq 1\), where \(\mathbf{e}=(1,\ldots ,1)\) is a row vector.

The corresponding second stage program is given by $$\max \limits_{\bm{\lambda},\mathbf{s}^-,\mathbf{s}^+}\quad \mathbf{w}^- \mathbf{s}^-+\mathbf{w}^+\mathbf{s}^+$$ $$\text{s.t.}\quad P\left\{ \left( \Theta ^-(\beta ^*)\tilde{\mathbf{x}}_o- \tilde{X}\bm{\lambda}-\mathbf{s}^-\right) _i\geq 0\right\} = 1-\alpha,\quad i=1,\ldots ,m,$$ $$P\left\{ \left( \tilde{Y}\bm{\lambda}-\Theta ^+(\beta ^*) \tilde{\mathbf{y}}_{o}-\mathbf{s}^+\right) _r\geq 0\right\} = 1-\alpha,\quad r=1,\ldots ,s,$$ $$\bm{\lambda}\geq \mathbf{0},\,\, \mathbf{s}^-\geq \mathbf{0},\,\, \mathbf{s}^+\geq \mathbf{0},$$ where \(\beta ^*\) is the optimal objective function of the first stage program, \(\mathbf{s}^-,\mathbf{s}^+\) are column vectors with the slacks, and \(\mathbf{w}^-,\mathbf{w}^+\) are positive row vectors with the weights for the slacks.

The deterministic equivalents for a multivariate normal distribution of inputs/outputs are given by $$\max \limits_{\beta, \bm{\lambda}} \quad \beta$$ $$\text{s.t.} \quad X\bm{\lambda}-\Phi ^{-1}(\alpha)\bm{\sigma} ^-(\beta , \bm{\lambda}) \leq \Theta ^-(\beta )\mathbf{x}_o,$$ $$Y\bm{\lambda}+\Phi ^{-1}(\alpha)\bm{\sigma} ^+(\beta ,\bm{\lambda}) \geq \Theta ^+(\beta )\mathbf{y}_o,$$ $$\bm{\lambda}\geq \mathbf{0},$$ and for the second stage, $$\max \limits_{\bm{\lambda},\mathbf{s}^-,\mathbf{s}^+} \quad \mathbf{w}^- \mathbf{s}^-+\mathbf{w}^+\mathbf{s}^+$$ $$\text{s.t.} \quad X\bm{\lambda}+\mathbf{s}^--\Phi ^{-1}(\alpha) \bm{\sigma} ^-(\beta ^*,\bm{\lambda}) =\Theta ^-(\beta ^*)\mathbf{x}_o,$$ $$Y\bm{\lambda}-\mathbf{s}^++\Phi ^{-1}(\alpha)\bm{\sigma} ^+(\beta ^*, \bm{\lambda}) = \Theta ^+(\beta ^*)\mathbf{y}_{o},$$ $$\bm{\lambda}\geq \mathbf{0},\,\, \mathbf{s}^-\geq \mathbf{0},\,\, \mathbf{s}^+\geq \mathbf{0},$$ where \(\Phi \) is the standard normal distribution, and $$\displaystyle \left( \sigma ^-_i\left( \beta, \bm{\lambda}\right)\right) ^2 = \sum _{j,q=1}^n\lambda _j\lambda _q\mathrm{Cov}(\tilde{x}_{ij},\tilde{x}_{iq})- 2(1-\beta d^-_i)\sum _{j=1}^n\lambda _j\mathrm{Cov}(\tilde{x}_{ij},\tilde{x}_{io})$$ $$+(1-\beta d^-_i)^2\mathrm{Var}(\tilde{x}_{io}),\quad i=1,\ldots ,m,$$ $$\displaystyle \left( \sigma ^+_r\left( \beta, \bm{\lambda}\right)\right) ^2 = \sum _{j,q=1}^n\lambda _j\lambda _q\mathrm{Cov}(\tilde{y}_{rj},\tilde{y}_{rq})- 2(1+\beta d^+_r)\sum _{j=1}^n\lambda _j\mathrm{Cov}(\tilde{y}_{rj},\tilde{y}_{ro})$$ $$+(1+\beta d^+_r)^2\mathrm{Var}(\tilde{y}_{ro}),\quad r=1,\ldots ,s.$$

Usage

modelstoch_dir(datadea,
            alpha = 0.05,
            dmu_eval = NULL,
            dmu_ref = NULL,
            d_input = 1,
            d_output = 1,
            rts = c("crs", "vrs", "nirs", "ndrs", "grs"),
            L = 1,
            U = 1,
            solver = c("alabama", "cccp", "cccp2", "slsqp"),
            give_X = TRUE,
            n_attempts_max = 5,
            maxslack = FALSE,
            weight_slack_i = 1,
            weight_slack_o = 1,
            compute_target = TRUE,
            returnqp = FALSE,
            silent_ud = FALSE,
            ...)

Value

A list with the results for the evaluated DMUs and other parameters for reproducibility.

Arguments

datadea

The data of class deadata_stoch, including n DMUs, and the expected values of m inputs and s outputs.

alpha

A value for parameter alpha.

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 dir_output == 0, it is equivalent to input oriented (beta = 1 - efficiency).

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 (beta = efficiency - 1).

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).

solver

Character string with the name of the solver used by function solvecop from package optiSolve.

give_X

Logical. If it is TRUE, it uses an initial vector (given by the evaluated DMU) for the solver, except for "cccp". If it is FALSE, the initial vector is given internally by the solver and it is usually randomly generated.

n_attempts_max

A value with the maximum number of attempts if the solver does not converge. Each attempt uses a different initial vector.

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.

compute_target

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

returnqp

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

silent_ud

Logical, to avoid warnings related with undesirable variables.

...

Other parameters, like the initial vector X, to be passed to the solver.

Author

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

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

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

University of Valencia (Spain)

References

Bolós, V.J.; Benítez, R.; Coll-Serrano, V. (2024). “Chance constrained directional models in stochastic data envelopment analysis", Operations Research Perspectives, 12, 100307.. tools:::Rd_expr_doi("10.1016/j.orp.2024.100307")

Examples

Run this code
# \donttest{
# Example 1.
library(deaR)
data("Coll_Blasco_2006")
ni <- 2 # number of inputs
no <- 2 # number of outputs
data_example <- make_deadata(datadea = Coll_Blasco_2006,
                             ni = ni,
                             no = no)
nd <- length(data_example$dmunames) # number of DMUs
var_input <- matrix(1, nrow = ni, ncol = nd)
var_output <- matrix(1, nrow = no, ncol = nd)
data_stoch <- make_deadata_stoch(datadea = data_example,
                                 var_input = var_input,
                                 var_output = var_output)
# Evaluate the sixth DMU
Collstochdir <- modelstoch_dir(data_stoch, dmu_eval = 6)
efficiencies(Collstochdir)
# }

Run the code above in your browser using DataLab