Compile a conservation planning
problem() into an
(potentially mixed) integer linear programming problem.
compile(x, ...) # S3 method for ConservationProblem compile(x, compressed_formulation = NA, ...)
logical should the conservation problem
compiled into a compressed version of a planning problem?
TRUE then the problem is expressed using the compressed
FALSE then the problem is expressed using the
expanded formulation. If
NA, then the compressed is used unless one
of the constraints requires the expanded formulation. This argument
This function might be useful for those interested in understanding
how their conservation planning
problem() is expressed
as a mathematical problem. However, if the problem just needs to
be solved, then the
solve() function should just be used.
Please note that in nearly all cases, the default argument to
formulation should be used. The only situation where manually
setting the argument to
formulation is desirable is during testing.
Manually setting the argument to
formulation will at best
have no effect on the problem. At worst, it may result in
an error, a misspecified problem, or unnecessarily long
# build minimal conservation problem p <- problem(sim_pu_raster, sim_features) %>% add_min_set_objective() %>% add_relative_targets(0.1) # compile the conservation problem into an optimization problem o <- compile(p) # print the optimization problem print(o) #> optimization problem #> model sense: min #> dimensions: 5, 90, 450 (nrow, ncol, ncell) #> variables: 90 (B)