A problem objective is used to specify the overall goal of the
conservation planning problem. Please note that all conservation
planning problems formulated in the prioritizr package require the addition
of objectives. Failing to do so will return a default error message
when solving.
The maximum utility problem seeks to find the set of planning units that
maximizes the overall level of representation across a suite of conservation
features, while keeping cost within a fixed budget. This problem is roughly
the opposite of what the conservation planning software Marxan does. In
versions prior to 3.0.0.0, this objective function was implemented in the
add_max_cover_objective
but has been renamed as
add_max_utility_objective
to avoid confusion with historical
formulations of the maximum coverage problem.
The maximum utility objective for the reserve design problem can be
expressed mathematically for a set of planning units (\(I\) indexed by
\(i\)) and a set of features (\(J\) indexed by \(j\)) as:
$$\mathit{Maximize} \space \sum_{i = 1}^{I} -s \space c_i +
\sum_{j = 1}^{J} a_j w_j \\
\mathit{subject \space to} \\ a_j = \sum_{i = 1}^{I} x_i r_{ij} \space
\forall j \in J \\ \sum_{i = 1}^{I} x_i c_i \leq B$$
Here, \(x_i\) is the decisions
variable (e.g.
specifying whether planning unit \(i\) has been selected (1) or not
(0)), \(r_{ij}\) is the amount of feature \(j\) in planning unit
\(i\), \(A_j\) is the amount of feature \(j\) represented in
in the solution, and \(w_j\) is the weight for feature \(j\)
(defaults to 1 for all features; see add_feature_weights
to specify weights). Additionally, \(B\) is the budget allocated for
the solution, \(c_i\) is the cost of planning unit \(i\), and
\(s\) is a scaling factor used to shrink the costs so that the problem
will return a cheapest solution when there are multiple solutions that
represent the same amount of all features within the budget.