problem {prioriactions} | R Documentation |
Create mathematical model
Description
Create an optimization model for the multi-action conservation planning problem, following the mathematical formulations used in Salgado-Rojas et al. (2020).
Usage
problem(
x,
model_type = "minimizeCosts",
budget = 0,
blm = 0,
curve = 1,
segments = 3
)
Arguments
x |
data object. Data used in a problem of
prioritization of multiple conservation actions. This object must be created using the
|
model_type |
|
budget |
|
blm |
|
curve |
|
segments |
|
Details
Currently the problem function allows you to create two types of mathematical programming models:
- minimize cost (minimizeCosts):
This model seeks to find the set of actions that minimizes the overall planning costs, while meeting a set of representation targets for the conservation features.
This model can be expressed mathematically for a set of planning units
I
indexed byi
a set of featuresS
indexed bys
, and a set of threatsK
indexed byk
as:\min \space \sum_{i \in I}\sum_{k \in K_i} x_{ik} c_{ik} + \sum_{i \in I} x_{i \cdot} c'_{i} + blm \cdot connectivity\\ \mathit{s.t.} \\ \sum_{i \in I_s} p_{is} r_{is} \geq t_s \space \forall \space s \in S
Where,
x_{ik}
is a decisions variable that specifies whether an action to abate threatk
in planning uniti
has been selected (1) or not (0),c_{ik}
is the cost of the action to abate the threatk
in the planning uniti
,c'_{i}
is the monitoring cost of planning uniti
,p_{is}
is the probability of persistence of the features
in the planning uniti
(ranging between 0 and 1),r_{is}
is the amount of features
in planning uniti
.t_s
is the recovery target for features
. In the case of working with conservation target, the following constraint is necessary:\sum_{i \in I_s: |K_{s} \cap K_{i}| \neq 0} z_{is} r_{is} \geq t'_s \space \forall \space s \in S
With,
z_{is}
as the probability of persistence by conservation of the feature s in the planning unit i (ranging between 0 and 1). It is only present when there is no spatial co-occurrence between a feature and its threats (i.e.|K_{s} \cap K_{i}| \neq 0
). In the case of binary threat intensities it is assumed as 1.t'_s
is the conservation target for features
.- maximize benefits (maximizeBenefits):
The maximize benefits model seeks to find the set of actions that maximizes the sum of benefits of all features, while the cost of performing actions and monitoring does not exceed a certain budget. Using the terminology presented above, this model can be expressed mathematically as:
\max \space \sum_{i \in I}\sum_{s \in S_i} b_{is} - blm \cdot connectivity\\ \mathit{s.t.} \\ \sum_{i \in I} \sum_{k \in K_i} x_{ik} c_{ik} + \sum_{i \in I} x_{i \cdot} c'_{i} \leq budget
Where b_{is}
is the benefit of the feature s
in a planning unit i
and it
is calculated by multiplying the probability of persistence of the feature in the
unit by its corresponding amount, i.e., b_{is} = p_{is} r_{is}
. When we talk about
recovering, the probability of persistence is a measure of the number of actions taken against the threats that
affect said feature. For more information on its calculation, see the
getSolutionBenefit()
or getPotentialBenefit()
functions references.
As a way of including the risk associated with calculating our probability of
persistence of the features and in turn, avoiding that many low probabilities
of persistence end up reaching the proposed targets, is that we add the curve
parameter. That incorporates an exponent (values of 1: linear, 2: quadratic
or 3: cubic) to the calculation of the probability of persistence. Thus penalizing
the low probabilities in the sum of the benefits achieved.
Since prioriactions
works with linear models, we use a piecewise linearization strategy to
work with non-linear curves in b_{is}
. The segments
parameter indicates how well the expression
approximates the curved used in b_{is}
. A higher number implies a better
approximation but increases the resolution complexity. Note that for a linear curve
(curve
= 1) it is not necessary to set a segment
parameter.
Parameters blm
and blm_actions
allow controlling the spatial connectivity
of the selected units and of the deployed actions, respectively (similar to BLM in Marxan).
Value
An object of class optimizationProblem.
See Also
For more information regarding the arguments
curve
and segments
, see the supplementary material
of Salgado-Rojas et al. (2020)..
Examples
## This example uses input files included into package.
## set seed for reproducibility
set.seed(14)
## Load data
data(sim_pu_data, sim_features_data, sim_dist_features_data,
sim_threats_data, sim_dist_threats_data, sim_sensitivity_data,
sim_boundary_data)
## Create data instance
problem_data <- inputData(
pu = sim_pu_data, features = sim_features_data, dist_features = sim_dist_features_data,
threats = sim_threats_data, dist_threats = sim_dist_threats_data,
sensitivity = sim_sensitivity_data, boundary = sim_boundary_data
)
## Create minimizeCosts model
model_min <- problem(x = problem_data, blm = 1, model_type = "minimizeCosts")
#' ## Create maximazeBenefits model
model_max <- problem(x = problem_data, model_type = "maximizeBenefits", budget = 100)