| get_actions | R Documentation |
Extract the action-allocation summary table from a
solutionset-class object returned by solve.
The returned table summarizes solution values at the
planning unit–action level and typically includes a selected
indicator showing whether each feasible (pu, action) pair is selected
in a solution.
get_actions(x, solution = NULL, ...)
x |
A |
solution |
Optional positive integer giving the solution id to extract. If
|
... |
Deprecated arguments kept for backwards compatibility. Currently
supports |
This function reads the action summary stored in x$summary$actions. It
does not reconstruct the table from the raw decision vector; it simply
returns the stored summary after optional run filtering.
Let x_{ia} denote the decision variable associated with selecting
action a in planning unit i. In standard multiscape
workflows, the selected column is the user-facing representation of
that decision, typically coded as 0 or 1.
If solution is provided, only rows belonging to that solution are returned. This
requires the summary table to contain a solution_id column.
To return only selected action allocations, filter the returned table using
selected == 1.
A data.frame containing the stored action-allocation summary.
Typical columns include planning-unit ids, action ids, optional labels, and
a selected indicator.
get_planning_units,
get_features,
get_targets
# Load a complete simulated planning problem.
example_data <- load_sim_multiaction()
problem <- create_problem(
pu = example_data$planning_units,
features = example_data$features,
dist_features = example_data$dist_features,
cost = "cost"
) |>
add_actions(
example_data$actions,
cost = example_data$action_costs
) |>
add_effects(
example_data$effect_assumptions
) |>
add_constraint_targets_relative(0.05) |>
add_objective_min_cost(alias = "cost", include_pu_cost = FALSE) |>
add_objective_max_effect(alias = "benefit") |>
set_method_weighted_sum(
aliases = c("cost", "benefit"),
runs = set_runs_grid(n = 3),
normalize_weights = TRUE
)
if (requireNamespace("rcbc", quietly = TRUE)) {
problem <- set_solver_cbc(
problem,
verbose = FALSE
)
solutions <- solve(problem)
# All feasible planning-unit/action assignments
get_actions(solutions)
# Only selected action assignments
selected_actions <- get_actions(solutions)
selected_actions <- selected_actions[
selected_actions$selected == 1L,
,
drop = FALSE
]
selected_actions
# Action allocations for one solution
solution_ids <- get_runs(solutions)$solution_id
get_actions(
solutions,
solution = solution_ids[1]
)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.