Learn R Programming

prioriactions (version 0.5.0)

evalTarget: Evaluate multiple target values

Description

Return one solution per instance for different targets values. This function assumes that the minimizeCosts model is being used. As well as the prioriactions() function, it inherits all arguments from inputData(), problem() and solve().

Usage

evalTarget(values = c(), ...)

Value

An object of class portfolio.

Arguments

values

numeric. Proportion of maximum value of benefits to verify (both recovery and conservation benefits). This information can be obtained with getPotentialBenefit() function. More than one value is needed.

...

arguments inherited from inputData(), problem(), and solve() functions.

Details

evalTarget() creates and solves multiple instances, of the corresponding multi-actions planning problem, for different proportions of maximum benefit values as target values. It is assumed that the same proportion is applied for the maximum benefit in recovery and conservation. Alternatively, this could be obtained by executing function prioriactions() or by steps the inputData(), problem() and solve() functions; using, in each run, different targets values. However, the evalTarget() function has two advantages with respect to this manual approach: : 1) it is more efficient to create the models (this is because the model is created just once and, at each iteration, only the target values are updated); and 2) the output is a portfolio object, which allows obtaining information about the group of solutions (including all get functions).

Examples

Run this code
# \donttest{
# set seed for reproducibility
set.seed(14)

## Create model and solve
port <- evalTarget(pu = sim_pu_data, features = sim_features_data,
                dist_features = sim_dist_features_data,
                threats = sim_threats_data,
                dist_threats = sim_dist_threats_data,
                sensitivity = sim_sensitivity_data,
                boundary = sim_boundary_data,
                values = c(0.1, 0.3, 0.5),
                time_limit = 50,
                output_file = FALSE,
                cores = 2)

getCost(port)
# }

Run the code above in your browser using DataLab