View source: R/add_objectives.R
| add_objective_min_fragmentation_planning_units | R Documentation |
Encourage cohesion of the selected planning units, regardless of which action is implemented within each unit.
add_objective_min_fragmentation_planning_units(
x,
relation_name = "boundary",
weight_multiplier = 1,
alias = NULL
)
x |
A |
relation_name |
Character string giving the name of the spatial relation
to use. The relation must already exist in
|
weight_multiplier |
Numeric scalar greater than or equal to zero. Global multiplier applied to the relation weights when the objective is built. |
alias |
Optional identifier used to register this objective for multi-objective workflows. |
This objective uses planning-unit selection variables w_i and
a spatial relation registered with add_spatial_relations() or
add_spatial_boundary(). Relation weights \omega_{ij}
are scaled by weight_multiplier.
The underlying model uses y_{ij}=w_i \land w_j to record
whether neighbouring units are both selected, encouraging spatially
consolidated selections. Action identities do not enter this spatial
criterion: adjacent units receiving different actions are part of the
same selected planning-unit set.
Without another requirement, selecting no units can be optimal.
Combine this objective with a budget equality, an area requirement,
or an ecological target that ensures meaningful management activity.
For action-specific cohesion, see
add_objective_min_fragmentation_action().
An updated Problem object.
With alias = NULL, one explicit single objective can be defined per
problem; a second unaliased definition raises an error. With an alias,
objectives accumulate under distinct names; a repeated alias raises an error.
Aliased definitions preserve an explicitly configured single objective.
To compare alternatives, start from the problem before its objective was added.
Ball, I. R., Possingham, H. P., and Watts, M. E. (2009). Marxan and relatives: software for spatial conservation prioritisation. In Spatial Conservation Prioritization: Quantitative Methods and Computational Tools, pp. 185–195. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1093/oso/9780199547760.003.0014")}
Önal, H., and Briers, R. A. (2002). Incorporating spatial criteria in optimum reserve network selection. Proceedings of the Royal Society B, 269, 2437–2441. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1098/rspb.2002.2183")}
add_spatial_boundary,
add_spatial_relations,
add_objective_min_fragmentation_action,
add_objective_min_fragmentation_pu
# EXAMPLE: Select a cohesive set of 12 planning units
#
# With one feasible action costing one unit, a budget equality
# forces exactly 12 selected units. Without this requirement,
# minimising fragmentation alone could select no units.
sim <- load_sim_multiaction()
p <- create_problem(
pu = sim$planning_units,
features = sim$features,
dist_features = sim$dist_features,
cost = "cost"
) |>
add_actions(data.frame(id = "restore"), cost = 1) |>
add_spatial_boundary(name = "boundary", include_self = TRUE) |>
add_constraint_budget(12, "equal", include_pu_cost = FALSE) |>
add_objective_min_fragmentation_planning_units(
relation_name = "boundary", alias = "pu_fragmentation"
)
# Cohesion is evaluated for the selected planning-unit pattern,
# irrespective of action identity. No additional objective is used.
if (requireNamespace("rcbc", quietly = TRUE) &&
requireNamespace("ggplot2", quietly = TRUE)) {
solutions <- solve(set_solver_cbc(p, time_limit = 30, verbose = FALSE))
get_objectives(solutions, format = "wide")
plot_spatial_planning_units(solutions)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.