• CRAN release.
  • Fix compiler warnings raised by CRAN checks.
  • Remove references to the ggtree package in documentation.
  • Fix memory issues encountered during installation on CRAN Windows server.
  • Fix compatibility issues with upcoming version of the Matrix package (version 1.4-2).
  • Fix broken URLs in package documentation.
  • CRAN release.
  • Fix URLs for CRAN.
  • Update minimum versions for tidytree and ggtree package dependencies. This is because some older versions of tidytree are not compatible with some older versions of ggtree.
  • Fix missing dependency in DESCRIPTION.
  • Bug fix: previous versions of the package reported that the gap parameter for the add_rsymphony_solver and add_lpsymphony_solver corresponded to the maximum absolute difference from the optimal objective value. This was an error due to misunderstanding the SYMPHONY documentation. Under previous versions of the package, the gap parameter actually corresponded to a relative optimality gap expressed as a percentage (such thatgap = 10 indicates that solutions must be at least 10% from optimality). We have now fixed this error and the documentation described for the gap parameter is correct. We apologize for any inconvenience this may have caused.
  • Update add_rsymphony_solver and add_lpsymphony_solver functions to have a default time_limit argument set as the maximum machine integer for consistency.
  • Update add_rsymphony_solver, add_lpsymphony_solver, and add_gurobi_solver functions to require logical (TRUE/FALSE) arguments for the first_feasible parameter.
  • Standardize run time calculations across all solvers.
  • Fix compatibility issues between the testthat R package and the gurobi R package in package tests.
  • Implement GitHub Actions continuous integration (i.e. update tests and README).
  • Update examples to use \dontrun instead of \donttest per CRAN policies.
  • Fix “Non-file package-anchored link(s) in documentation object” warnings in R-devel checks.
  • CRAN release.
  • CRAN release.
  • Fix compatibility issues with upcoming tibble (3.0.0) R package.
  • CRAN release.
  • Fix warnings in R-devel CRAN checks related to documentation.
  • Add citation for the research article that accompanies this package.
  • CRAN release.
  • Fix typo.
  • Fix broken links to Gurobi academic licenses.
  • CRAN release.
  • Retain debugging symbols to conform with CRAN policies.
  • CRAN release.
  • Fix address sanitizer issues causing CRAN checks to fail.
  • Tests successfully complete when the shiny R package is not installed.
  • CRAN release.
  • Add argument to add_heuristic_solver to skip initial step for removing projects and actions that exceed the budget. While this initial step improves solution quality, it is not conventionally used in project prioritization algorithms and so should be omitted to provide accurate benchmarks.
  • Reduce precision of extinction probability calculations when formulating a problem with a maximum expected phylogenetic diversity objective (i.e. add_max_phylo_div_objective). Specifically, 1’000 points instead of 10’000 points are now used for piece-wise linear components. It appears that reducing the precision in this manner does not affect the correctness of results, but substantially reduces the time needed to solve problems to optimality in certain situations.
  • Update add_heuristic_solver algorithm so that cost-effectiveness values are calculated with projects sharing costs (e.g. if two projects share an action that costs $100, then this action contributes $50 to the cost of each project). This update makes the algorithm similar to backwards heuristics conventionally used in prioritizing species recovery projects (i.e. https://github.com/p-robot/ppp; #14).
  • Fix bug in add_heuristic_solver function introduced in version 0.0.0.15.
  • Update add_heuristic_solver algorithm so that it removes projects, and not actions, in an iterative fashion. This update (i) makes the algorithm comparable to the backwards heuristics conventionally used in prioritizing species recovery projects (i.e. https://github.com/p-robot/ppp) and (ii) substantially reduces run time (#14).
  • Fix bugs in add_heuristic_solver and add_random_solver arising from floating point comparison issue. These were causing infeasible solutions to be returned in R version 3.4.4.
  • Fix bug in project_cost_effectiveness reporting incorrect costs, and cost-effectiveness values.
  • Assorted documentation tweaks.
  • Update add_heuristic_solver algorithm so that all actions and projects which exceed the budget are automatically removed prior to the iterative action removal.
  • Update add_random_solver algorithms so that projects are selected instead of individual actions. This means that solutions from this solver are (i) similar to those in previous project prioritization studies and (ii) more likely to deliver better solutions (#13).
  • Rename package to oppr since ppr is already on CRAN.
  • Fix issue with replacement_costs yielding incorrect results for baseline projects when used with SYMPHONY solvers.
  • Add new project_cost_effectiveness function to calculate the cost-effectiveness for each conservation project in a problem.
  • Fix typos in documentation (#8).
  • The solution_statistics function outputs which projects are completely funded in each solution (#9).
  • Add example for saving tabular data to vignette (#10).
  • Add examples to vignette for working with the solution output (#11).
  • Fix annoying “Found more than one class "tbl_df" in cache; using the first, from namespace 'tibble'” text.
  • Actually fix bug when solving problems with a phylogenetic objective and branches that have a constant probability of persistence (#6).
  • Fix bug in add_max_phylo_div_objective yielding incorrect solutions when features are ordered differently in the phylogenetic and tabular input data.
  • Fix bug in solution_statistics yielding objective values for phylogenetic problems when features are ordered differently in the phylogenetic and tabular input data.
  • Fix bug when handling phylogenetic data when a species is associated with two tip branches. Although such data probably indicate errors in the phylogenetic data, this functionality could be useful when combining multiple datasets.
  • Add return_data argument to plot_feature_persistence and plot_phylo_persistence so that plotting data can be obtained for creating custom plots.
  • Fix bug in add_relative_targets and add_manual_targets (when relative targets supplied) calculations. This result in incorrect calculations.
  • Fix issue with expected persistence probabilities not accounting for the “do nothing” scenario (#7).
  • The gurobi solver (i.e. add_gurobi_solver function) now uses NumericFocus=3 to help avoid numerical issues.
  • The compile function now throws a warning if problems are likely to have numerical issues.
  • Fix bug when solving problems with a phylogenetic objective and branches that have a constant probability of persistence (#6). Hindsight shows this attempt did not cover all edge cases.
  • Add additional data sanity checks to problem. It will now throw descriptive error messages if features are missing baseline probabilities, or are associated with baseline probabilities below 1e-11.
  • Fix unit test for simulate_ptm_data that had a very small chance of failing due to simulating a data set where an action is not associated with any project.
  • Feature columns in simulated data produced using simulate_ppp_data and simulate_ptm_data are now sorted.
  • Initial commit.