Add minimum shortfall objective
Set the objective of a conservation planning problem()
to
minimize the overall shortfall for as many targets as possible while
ensuring that the cost of the solution does not exceed a budget.
add_min_shortfall_objective(x, budget)
x |
|
budget |
|
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 an error message when attempting to solve problem.
The minimum shortfall objective aims to
find the set of planning units that minimize the overall
(weighted sum) shortfall for the
representation targets—that is, the fraction of each target that
remains unmet—for as many features as possible while staying within a
fixed budget (inspired by Table 1, equation IV, Arponen et al.
2005). Additionally, weights can be used
to favor the representation of certain features over other features (see
add_feature_weights()
.
The minimum shortfall 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:
Minimize sum_j^J wj * (yj / tj) subject to sum_i^I (xi * rij) + yj >= tj for all j in J & sum_i^I (xi * ci) <= B
Here, xi is the decisions variable (e.g.
specifying whether planning unit i has been selected (1) or not
(0)), rij is the amount of feature j in planning
unit i, tj is the representation target for feature
j, yj denotes the representation shortfall for
the target tj for feature j, and wj 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, ci is the
cost of planning unit i. Note that yj is a continuous
variable bounded between zero and infinity, and denotes the shortfall
for target j.
Object (i.e. ConservationProblem
) with the objective
added to it.
Arponen A, Heikkinen RK, Thomas CD, and Moilanen A (2005) The value of biodiversity in reserve selection: representation, species weighting, and benefit functions. Conservation Biology, 19: 2009–2014.
# load data data(sim_pu_raster, sim_pu_zones_stack, sim_features, sim_features_zones) # create problem with minimum shortfall objective p1 <- problem(sim_pu_raster, sim_features) %>% add_min_shortfall_objective(1800) %>% add_relative_targets(0.1) %>% add_binary_decisions() %>% add_default_solver(verbose = FALSE) ## Not run: # solve problem s1 <- solve(p1) # plot solution plot(s1, main = "solution", axes = FALSE, box = FALSE) ## End(Not run) # create multi-zone problem with minimum shortfall objective, # with 10% representation targets for each feature, and set # a budget such that the total maximum expenditure in all zones # cannot exceed 3000 p2 <- problem(sim_pu_zones_stack, sim_features_zones) %>% add_min_shortfall_objective(3000) %>% add_relative_targets(matrix(0.1, ncol = 3, nrow = 5)) %>% add_binary_decisions() %>% add_default_solver(verbose = FALSE) ## Not run: # solve problem s2 <- solve(p2) # plot solution plot(category_layer(s2), main = "solution", axes = FALSE, box = FALSE) ## End(Not run) # create multi-zone problem with minimum shortfall objective, # with 10% representation targets for each feature, and set # separate budgets for each management zone p3 <- problem(sim_pu_zones_stack, sim_features_zones) %>% add_min_shortfall_objective(c(3000, 3000, 3000)) %>% add_relative_targets(matrix(0.1, ncol = 3, nrow = 5)) %>% add_binary_decisions() %>% add_default_solver(verbose = FALSE) ## Not run: # solve problem s3 <- solve(p3) # plot solution plot(category_layer(s3), main = "solution", axes = FALSE, box = FALSE) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.