# NOT RUN {
# set seed for reproducibility
set.seed(500)
# load data
data(sim_pu_raster, sim_pu_polygons, sim_features, sim_pu_zones_stack,
sim_pu_zones_polygons, sim_features_zones)
# build minimal conservation problem with raster data
p1 <- problem(sim_pu_raster, sim_features) %>%
add_min_set_objective() %>%
add_relative_targets(0.1) %>%
add_binary_decisions()
# }
# NOT RUN {
# solve the problem
s1 <- solve(p1)
# print solution
print(s1)
# print attributes describing the optimization process and the solution
print(attr(s1, "objective"))
print(attr(s1, "runtime"))
print(attr(s1, "status"))
# calculate feature representation in the solution
r1 <- feature_representation(p1, s1)
print(r1)
# plot solution
plot(s1, main = "solution", axes = FALSE, box = FALSE)
# }
# NOT RUN {
# build minimal conservation problem with spatial polygon data
p2 <- problem(sim_pu_polygons, sim_features, cost_column = "cost") %>%
add_min_set_objective() %>%
add_relative_targets(0.1) %>%
add_binary_decisions()
# }
# NOT RUN {
# solve the problem
s2 <- solve(p2)
# print first six rows of the attribute table
print(head(s2))
# calculate feature representation in the solution
r2 <- feature_representation(p2, s2[, "solution_1"])
print(r2)
# plot solution
spplot(s2, zcol = "solution_1", main = "solution", axes = FALSE, box = FALSE)
# }
# NOT RUN {
# build multi-zone conservation problem with raster data
p3 <- problem(sim_pu_zones_stack, sim_features_zones) %>%
add_min_set_objective() %>%
add_relative_targets(matrix(runif(15, 0.1, 0.2), nrow = 5,
ncol = 3)) %>%
add_binary_decisions()
# }
# NOT RUN {
# solve the problem
s3 <- solve(p3)
# print solution
print(s3)
# calculate feature representation in the solution
r3 <- feature_representation(p3, s3)
print(r3)
# plot solution
plot(category_layer(s3), main = "solution", axes = FALSE, box = FALSE)
# }
# NOT RUN {
# build multi-zone conservation problem with spatial polygon data
p4 <- problem(sim_pu_zones_polygons, sim_features_zones,
cost_column = c("cost_1", "cost_2", "cost_3")) %>%
add_min_set_objective() %>%
add_relative_targets(matrix(runif(15, 0.1, 0.2), nrow = 5,
ncol = 3)) %>%
add_binary_decisions()
# }
# NOT RUN {
# solve the problem
s4 <- solve(p4)
# print first six rows of the attribute table
print(head(s4))
# calculate feature representation in the solution
r4 <- feature_representation(p4, s4[, c("solution_1_zone_1",
"solution_1_zone_2",
"solution_1_zone_3")])
print(r4)
# create new column representing the zone id that each planning unit
# was allocated to in the solution
s4$solution <- category_vector(s4@data[, c("solution_1_zone_1",
"solution_1_zone_2",
"solution_1_zone_3")])
s4$solution <- factor(s4$solution)
# plot solution
spplot(s4, zcol = "solution", main = "solution", axes = FALSE, box = FALSE)
# }
Run the code above in your browser using DataLab