gen_wrapped_bdprob_COR: Generate a correct wrapped Xu biodiversity problem from a...

gen_wrapped_bdprob_CORR Documentation

Generate a correct wrapped Xu biodiversity problem from a correct base problem

Description

Wrap a given distribution around a given Xu problem's distribution. That is, add more planning units and species to the flat Xu distribution's set of PUs and species so that the Xu distribution is a proper subset of the larger distribution.

Usage

gen_wrapped_bdprob_COR(starting_dir, parameters, base_bdprob)

Arguments

starting_dir

character string

parameters

parameters list for the run, usually derived from project.yaml and can have a varying number and set of elements depending on the run

base_bdprob

a correct Xu_bd_problem whose correct solution vector is known

Details

This is intended as a way of embedding the Xu problem's unrealistic species distribution (i.e., every species occurs on exactly 2 patches) inside a more realistic distribution, but one that has exactly the same correct solution set as the base Xu problem.

Value

Returns a correct wrapped biodiversity problem

Restrictions on wrapping distribution

At the moment, the only wrapping distribution that there is code for generating is the lognormal distribution. However, the basic idea allows for ANY distribution where the base set of Xu species and planning units is a proper subset of the final distribution.

To enhance the capabilities of this routine to allow other distributions, you would just have to

  • provide some kind of option(s) to choose what kind of wrapping distribution to use

  • provide a function to generate that wrapping distribution

  • replace the call to find_lognormal_to_wrap_around_Xu() with the new function

One caveat is that all species that occur on one and only one planning unit are removed from the distribution. This is because those species would automatically require their planning unit to be included in the final solution and therefore, make the problem simpler for the optimizer.


langfob/bdpg documentation built on Dec. 8, 2022, 5:33 a.m.