if (FALSE) {
# load data
sim_pu_raster <- get_sim_pu_raster()
sim_features <- get_sim_features()
sim_locked_in_raster <- get_sim_locked_in_raster()
sim_locked_out_raster <- get_sim_locked_in_raster()
# create minimal problem with only targets and no additional constraints
p1 <-
problem(sim_pu_raster, sim_features) %>%
add_min_set_objective() %>%
add_relative_targets(0.2) %>%
add_binary_decisions() %>%
add_default_solver(verbose = FALSE)
# create problem with locked in constraints
p2 <- p1 %>% add_locked_in_constraints(sim_locked_in_raster)
# create problem with locked in constraints
p3 <- p1 %>% add_locked_out_constraints(sim_locked_out_raster)
# create problem with neighbor constraints
p4 <- p1 %>% add_neighbor_constraints(2)
# create problem with contiguity constraints
p5 <- p1 %>% add_contiguity_constraints()
# create problem with feature contiguity constraints
p6 <- p1 %>% add_feature_contiguity_constraints()
# solve problems
s <- terra::rast(lapply(list(p1, p2, p3, p4, p5, p6), solve))
names(s) <- c(
"minimal problem", "locked in", "locked out",
"neighbor", "contiguity", "feature contiguity"
)
# plot solutions
plot(s, axes = FALSE, nr = 2)
}
Run the code above in your browser using DataLab