Every estimator in pgt solves one linear programme per
evaluated unit \(i\) against a
reference (peer) set. This vignette states each programme as solved, so
the mapping from the cited papers to the code can be checked without
reading the source. Throughout, \(\lambda \ge
0\) are intensity weights over the peers, \(x\) the \(N\) material inputs, \(y\) the good output, \(b\) the bad output of the selected
pollutant, and the variable-returns row \(\sum_l \lambda_l = 1\) is dropped under
constant returns. The materials-balance cap of unit \(i\) for pollutant \(p\) is \(c_{pi} =
u_{pi}'x_i - v_{pi} y_i\), with DMU-specific coefficients
\(u_{pi}\) (a row of the \(L \times N \times P\) array) and \(v_{pi}\).
model = "wgd")The reduced form of Rødseth (2025, Eq. 6) used by the package is \[ \begin{aligned} \min_{\lambda,\, b_q}\quad & b_q \\ \text{s.t.}\quad & \textstyle\sum_l \lambda_l y_l \ge y_i, \\ & \textstyle\sum_l \lambda_l x_{nl} \le x_{ni}, \qquad n = 1, \dots, N,\\ & \textstyle\sum_l \lambda_l b_l \le b_q, \\ & b_q \le c_{pi}, \\ & \textstyle\sum_l \lambda_l b_{ql} \le c_{qi}, \qquad q \ne p,\\ & \textstyle\sum_l \lambda_l = 1, \qquad \lambda \ge 0,\ b_q \ge 0. \end{aligned} \] The first three rows are the free-disposal envelope of outputs, inputs and the peer emissions; the cap row keeps the projected bad output consistent with the evaluated unit’s own pollutant potential, which is how the weak-G summing-up condition on the disposal slacks enters the reduced form. The environmental efficiency is \(b^*/b_i\). Faithfulness to the paper is exercised numerically: the programme reproduces the Table 2 minima of Rødseth (2025) and agrees with an independent reference implementation in the test suite.
With several pollutants, each remaining pollutant \(q \ne p\) contributes the single row shown above. This collapse is exact: pollutant \(q\) carries no objective term, so introducing its own emission variable \(b_q'\) with \(\sum_l \lambda_l b_{ql} \le b_q' \le c_{qi}\) is feasible exactly when the combined row \(\sum_l \lambda_l b_{ql} \le c_{qi}\) holds (take \(b_q' = \sum_l \lambda_l b_{ql}\)).
A unit whose own account violates a cap (\(b_{qi} > c_{qi}\) for some \(q\)) loses its self-reference: its
programme is feasible only if some peer mix satisfies every row, it may
be infeasible (an NA score), and its projection can emit
more of pollutant \(p\) than observed,
so its score can exceed 1. Units satisfying every account always solve
with scores in \((0, 1]\).
model = "envelope")Freeing the inputs reduces Eq. 6 to the convex lower envelope of the \((y, b)\) scatter: \[ \min_{\lambda}\ \textstyle\sum_l \lambda_l b_l \quad\text{s.t.}\quad \textstyle\sum_l \lambda_l y_l \ge y_i,\qquad \textstyle\sum_l \lambda_l = 1,\qquad \lambda \ge 0. \] With the inputs free, the weak-G slack equality is absorbed by the input reallocation: whatever peer mix is chosen, the inputs adjust with it and the emissions follow the pollutant they carry. Self-reference is always feasible, so every score lies in \((0, 1]\).
model = "fdmo")The factorially determined multi-output form of Rødseth (2025, Eq.
13), with the abatement output \(a\)
held at the evaluated unit’s own level: \[
\begin{aligned}
\max_{\lambda,\, \theta_y,\, \theta_b}\quad & \theta_y + \theta_b \\
\text{s.t.}\quad
& \textstyle\sum_l \lambda_l y_l - \theta_y \ge y_i, \\
& \textstyle\sum_l \lambda_l a_l \ge a_i, \\
& \textstyle\sum_l \lambda_l x_{nl} \le x_{ni}, \qquad n = 1, \dots,
N,\\
& v_i\,\theta_y - \theta_b = c_{pi} - b_i - a_i, \\
& \textstyle\sum_l \lambda_l = 1, \qquad
\lambda \ge 0,\ \theta_y \ge 0,\ \theta_b \ge 0.
\end{aligned}
\] The materials-balance row is an exact equality, so the model
requires accounts that close exactly (\(c_{pi}
= b_i + a_i\)); open accounts either make the programme
infeasible or shift the closure gap into the scores, and
pgt() warns when it detects them. When the account closes,
the row forces \(\theta_b =
v_i\,\theta_y\). The gross inefficiency \(\theta_y + \theta_b\) adds good-output
units to bad-output units (direction \((1,
1)\)), so it is unit-dependent.
model = "mb_cost")Coelli, Lauwers and Van Huylenbroeck (2007), with the material flow
coefficients in the role of prices. Two programmes: radial technical
efficiency, \[
TE = \min\{\theta :\ \textstyle\sum_l \lambda_l x_{nl} \le \theta
x_{ni}\ \forall n,\ \sum_l \lambda_l y_l \ge y_i,\ \sum_l \lambda_l =
1\},
\] and the material-inflow minimisation over a free input point
\(\chi\), \[
EE = \frac{\min\{u_{pi}'\chi :\ \sum_l \lambda_l x_{nl} \le \chi_n\
\forall n,\ \sum_l \lambda_l y_l \ge y_i,\ \sum_l \lambda_l = 1\}}
{u_{pi}'x_i},
\] with environmental-allocative efficiency \(EAE = EE / TE\). The headline score is
\(EE\), a material-inflow ratio rather
than an emission ratio; the implied minimal controlled emission \(u_{pi}'\chi^* - v_{pi} y_i\) is
reported as b_star and can be negative under DMU-specific
coefficients, in which case pgt() warns.
model = "byprod")Murty, Russell and Levkoff (2012): the technology is the intersection
of an intended-production sub-technology and a residual-generation
sub-technology over the emission-causing inputs \(\mathcal{P}\). Output efficiency inverts
the maximal radial expansion of \(y\),
\[
E_1 = 1 \big/ \max\{\phi :\ \textstyle\sum_l \lambda_l y_l \ge \phi
y_i,\ \sum_l \lambda_l x_{nl} \le x_{ni}\ \forall n,\ \sum_l \lambda_l
= 1\},
\] and emission efficiency is the maximal radial contraction of
\(b\) with the polluting inputs bounded
below, \[
E_2 = \min\{\psi :\ \textstyle\sum_l \mu_l b_l \le \psi b_i,\ \sum_l
\mu_l x_{nl} \ge x_{ni}\ \forall n \in \mathcal{P},\ \sum_l \mu_l =
1\}.
\] \(E_2\) is the headline
environmental efficiency; fgl is the arithmetic mean \((E_1 + E_2)/2\), in the spirit of the
Färe-Grosskopf-Lovell graph measure. If either sub-programme fails,
every score of that unit is NA.
model = "wd")The Kuosmanen (2005) variable-returns form, a reference system with no materials balance. The intensity weights split into an active part \(z\) (scaling good and bad outputs together) and an abatement part \(w\) (scaling inputs only): \[ \begin{aligned} \min_{z,\, w,\, \phi}\quad & \phi \\ \text{s.t.}\quad & \textstyle\sum_l z_l y_l \ge y_i, \qquad \textstyle\sum_l z_l b_l = \phi\, b_i, \\ & \textstyle\sum_l (z_l + w_l)\, x_{nl} \le x_{ni}, \qquad n = 1, \dots, N,\\ & \textstyle\sum_l (z_l + w_l) = 1, \qquad z, w \ge 0. \end{aligned} \] The equality on the bad output is weak disposability: emissions shrink only with a proportional scaling of the active production plan.
pgt_ml())The global Malmquist-Luenberger index scores every observation \(k\) on a directional distance with
direction \(g = (y_k, b_k)\) against a
reference set \(R\) (a period or the
pooled panel). Under technology = "wd" the distance uses
the Kuosmanen weak-disposability technology above with \(\sum_{l \in R} z_l b_l = (1 - \beta) b_k\)
and \(\sum_{l \in R} z_l y_l \ge (1 + \beta)
y_k\); this is the technology under which Chung, Färe and
Grosskopf (1997) and Oh (2010) define the index. Under
technology = "wgd" and "envelope" the
bad-output row is the free-disposal envelope \(\sum_{l \in R} \lambda_l b_l \le (1 -
\beta) b_k\), with and without the input rows; these exploratory
variants bound emissions by the peer envelope rather than imposing weak
disposability.