decisions: Add problem decision type

Description Usage Arguments Details Value Examples

Description

Conservation planning problems involve making decisions on planning units. These decisions are then associated with actions (eg. turning a planning unit into a protected area). Below is a list of decisions that can be added to a conservation planning problem.

Usage

1
2
3
4
5
6
7

Arguments

x

ConservationProblem-class object.

upper_limit

numeric value specifying the maximum proportion of a planning unit that can be reserved (eg. set to 0.8 for 80 %).

Details

Only a single decision should be added to a ConservationProblem object. If multiple decisions are added to a problem object, then the last one to be added will be used.

add_default_decision

This decsion represents the default decision if no decision is specified when constructing a conservation planning problem. It defaults to using a binary_decision.

add_binary_decision

This is the classic decision of either prioritizing or not prioritizing a planning unit. Typically, this decision has the assumed action of buying the planning unit to include in a protected area network.

add_proportion_decision

This is a relaxed decision where a part of a planning unit can be prioritized. Typically, this this decsion has the assumed action of buying a fraction of a planning unit to include in a protected area network.

add_semicontinuous_decision

This decision is similar to the proportion_decision except that it has an upper bound parameter. By default, the decision can range from prioritizing none (0 %) to all (100 %) of a planning unit. However, a upper bound can be specified to ensure that at most only a fraction (eg. 80 %) of a planning unit can be preserved. This type of decision may be useful when it is not practical to conserve the entire planning unit.

Value

Decision-class object.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# create basic problem and using the default decision (binary)
p <- problem(sim_pu_raster, sim_features) %>%
       add_min_set_objective() %>%
       add_relative_targets(0.1)

# manually specify a binary decision type
p2 <- p %>% add_binary_decision()

# specify a proportion decision type
p3 <- p %>% add_proportion_decision()

# specify a semicontinuous decision type
p4 <- p %>% add_semicontinuous_decision(upper_limit=0.5)


# solve problem
s <- stack(solve(p), solve(p2), solve(p3), solve(p4))

# plot solutions
plot(s, main = c("default (binary)", "binary", "proportion",
                 "semicontinuous (upper=0.5)"))

prioritizr/prioritizrutils documentation built on May 25, 2019, 12:20 p.m.