qDEA_solve: qDEA_solve: Sets up LP objects and solves DDEA dual DEA and...

View source: R/qDEA.R

qDEA_solveR Documentation

qDEA_solve: Sets up LP objects and solves DDEA dual DEA and qDEA using highs !!!! Intended to be called from qDEA function.!!!! Note: ndmu=number of dmus in reference set, ndmu0 = number dmus to process.

Description

qDEA_solve: Sets up LP objects and solves DDEA dual DEA and qDEA using highs !!!! Intended to be called from qDEA function.!!!! Note: ndmu=number of dmus in reference set, ndmu0 = number dmus to process.

Usage

qDEA_solve(
  X,
  Y,
  qout = 0.1,
  qoutS = qout,
  X0,
  Y0,
  DX0,
  DY0,
  RTS = "CRS",
  nqiter = 1,
  qtol = 1e-06,
  BIGM = 1e+09,
  eps = 1e-06,
  skipzprob = TRUE,
  unbounded = (-1000),
  obj2test = 1e-04,
  replaceA1 = FALSE,
  baseqDEA = FALSE,
  printlog = TRUE,
  prntmod = 100,
  printtxt = "",
  dmulist0 = 1:nrow(X0),
  solver = "highs"
)

Arguments

X

Reference dmu's = ndmu x number of inputs input matrix.

Y

Reference dmu's = ndmu x number of outputs output matrix.

qout

Maximal proportion of dmu's allowed external to DEA hull.

qoutS

Proportion of external points to identify using EJOR qDEA slicing.

X0

Inputs for set of ndmu0 dmu's to be processed.

Y0

Outputs for set of ndmu0 dmu's to be processed.

DX0

Input directions for ndmu0 dmu's in X0 and Y0.

DY0

Output directions for ndmu0 dmu's in X0 and Y0.

RTS

Returns to scale default='CRS' options are 'CRS,'VRS,'DRS','IRS.

nqiter

Maximal number of qDEA iterations.

qtol

q search tolerance with iterative qDEA.

BIGM

Default Big M in RHS of qDEA stage 2 process.

eps

Zero-test criterion. abs(x) > eps implies x!=0

skipzprob

Skip qDEA if qout=0.

unbounded

qDEA reported as unbounded if obj<=unbounded.

obj2test

Convergence tol for objective in iterative qDEA.

replaceA1

Put dmu0's data in first row of reference sets.

baseqDEA

Use basic qDEA model from EJOR article

printlog

Progress of dmu's solved when (X0,Y0) >1 dmus.

prntmod

Print progress every prntmod dmus. default=100

printtxt

Additional text to print with progress printlog.

dmulist0

DMU0 index in originally inputs X0,Y0,DX0,and DY0

solver

LP solver Default='highs'

Value

A list containing the following components:

effvals = ndmu0 by 3 matrix with DDEA,qDDEA-S1,qDDEA-S2 distances (NA indicates qDEA for given DMU was unbounded)

qhat = proportion of dmu's external to hull in qDEA solution (NA indicates qDEA for given DMU was unbounded)

qiter = number of qDEA iterations completed.

D2OUT = data frame indicating qDEA external reference dmus

status = ndmu0 by 3 matrix with LP status of DDEA,qDDEA-S1,qDDEA-S2

PSOL = ndmu0 by ? matrix with DDEA (dual-side) solutions for each dmu0

PSOLq1 = ndmu0 by ? matrix with qDDEA-S1 solutions for each dmu0

PSOLq2 = ndmu0 by ? matrix with qDDEA-S2 solutions for each dmu0

PEERS = dataframe of non-zero DDEA dmuz's and projection weights for each dmu0

PEERSq = dataframe of non-zero qDDEA-S2 dmuz's projection weights for each dmu0

RCOST = ndmu0 by ? matrix of LP reduced costs for DDEA solutions

RCOSTq1 = ndmu0 by ? matrix of LP reduced costs for qDDEA-S1 solutions

RCOSTq2 = ndmu0 by ? matrix of LP reduced costs for qDDEA-S2 solutions

devstart = LP index for column of first qDDEA-S1 LPM "deviation" value

devend = LP index for column of last qDDEA-S1 LPM "deviation" value

LP0 = DDEA LP object for last dmu0 processed

LP1 = qDDEA-S1 LP object for last dmu0 processed

LP2 = qDDEA-S2 LP object for last dmu0 processed


qDEA documentation built on April 13, 2026, 5:07 p.m.