- Fix aliasing for package manual entry (#21).
- Fix compatibility with updates to ggplot2 package.
- Fix compatibility with updates to package citation format.
- Fix broken URLs in package documentation.
- Fix broken badges in README.
- 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 theadd_rsymphony_solver
andadd_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, thegap
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 thegap
parameter is correct. We apologize for any inconvenience this may have caused. - Update
add_rsymphony_solver
andadd_lpsymphony_solver
functions to have a defaulttime_limit
argument set as the maximum machine integer for consistency. - Update
add_rsymphony_solver
,add_lpsymphony_solver
, andadd_gurobi_solver
functions to requirelogical
(TRUE
/FALSE
) arguments for thefirst_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.
- Replace
tibble::as.tibble
withtibble::as_tibble
to avoid warnings.
- 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
andadd_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 toplot_feature_persistence
andplot_phylo_persistence
so that plotting data can be obtained for creating custom plots.
- Fix bug in
add_relative_targets
andadd_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 usesNumericFocus=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
andsimulate_ptm_data
are now sorted.
- Initial commit.