Package: restoptr 1.1.1

Dimitri Justeau-Allaire

restoptr: Ecological Restoration Planning

Flexible framework for ecological restoration planning. It aims to identify priority areas for restoration efforts using optimization algorithms (based on Justeau-Allaire et al. 2021 <doi:10.1111/1365-2664.13803>). Priority areas can be identified by maximizing landscape indices, such as the effective mesh size (Jaeger 2000 <doi:10.1023/A:1008129329289>), or the integral index of connectivity (Pascual-Hortal & Saura 2006 <doi:10.1007/s10980-006-0013-z>). Additionally, constraints can be used to ensure that priority areas exhibit particular characteristics (e.g., ensure that particular places are not selected for restoration, ensure that priority areas form a single contiguous network). Furthermore, multiple near-optimal solutions can be generated to explore multiple options in restoration planning. The package leverages the 'Choco-solver' software to perform optimization using constraint programming (CP) techniques (<https://choco-solver.org/>).

Authors:Dimitri Justeau-Allaire [aut, cre], Jeffrey O Hanson [aut], Ghislain Vieilledent [aut], Guillaume Lannuzel [aut], Philippe Vismara [aut], Xavier Lorca [aut], Philippe Birnbaum [aut]

restoptr_1.1.1.tar.gz
restoptr_1.1.1.tar.gz(r-4.7-any)restoptr_1.1.1.tar.gz(r-4.6-any)
restoptr_1.1.1.tgz(r-4.6-emscripten)
manual.pdf |manual.html
card.svg |card.png
restoptr/json (API)
NEWS

# Install 'restoptr' in R:
install.packages('restoptr', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/dimitri-justeau/restoptr/issues

Pkgdown/docs site:https://dimitri-justeau.github.io

Uses libs:
  • openjdk– OpenJDK Java runtime, using Hotspot JIT

On CRAN:

Conda:

openjdk

3.00 score 6 scripts 692 downloads 40 exports 7 dependencies

Last updated from:561be3c0bb. Checks:4 OK. Indexed: no.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK349
source / vignettesOK324
linux-release-x86_64OK340
wasm-releaseOK141

Exports:%>%add_available_areas_constraintadd_compactness_constraintadd_components_constraintadd_connected_constraintadd_locked_out_constraintadd_min_iic_constraintadd_min_mesh_constraintadd_nb_patches_constraintadd_no_new_patch_constraintadd_restorable_constraintadd_settingsarea_to_nb_cellscell_areacell_widthget_aggregation_factorget_aggregation_methodget_cell_areaget_constraintsget_existing_habitatget_habitat_thresholdget_locked_out_areasget_metadataget_objectiveget_original_habitatget_restorable_habitatget_settingsinvert_vectoris_java_availablenb_cell_to_areapreprocess_inputrestopt_problemset_max_iic_objectiveset_max_mesh_objectiveset_max_nb_pus_objectiveset_max_restore_objectiveset_min_nb_patches_objectiveset_min_nb_pus_objectiveset_min_restore_objectiveset_no_objective

Dependencies:assertthatcrayonmagrittrRcpprJavaterraunits

Case study: using historical data to set ecological restoration targets

Rendered fromcase_study.Rmdusingknitr::rmarkdown_notangleon Jun 09 2026.

Last update: 2022-11-12
Started: 2022-10-13

Getting started

Rendered fromrestoptr.Rmdusingknitr::rmarkdown_notangleon Jun 09 2026.

Last update: 2023-01-30
Started: 2022-06-09

Readme and manuals

Help Manual

Help pageTopics
Add available areas constraintadd_available_areas_constraint
Add constraint to limit compactnessadd_compactness_constraint
Add constraint to limit the number of connected componentsadd_components_constraint
Add constraint to ensure that the selected planning units for restoration are connected.add_connected_constraint
Add locked out constraintadd_locked_out_constraint
Add constraint to enforce a minimum integral index of connectivity (IIC) valueadd_min_iic_constraint
Add constraint to enforce a minimum effective mesh size (MESH) valueadd_min_mesh_constraint
Add constraint to limit the number of patches (habitat + restoration)add_nb_patches_constraint
Add constraint to forbid the creation of new patches.add_no_new_patch_constraint
Add constraint to specify the available amount of surface for restorationadd_restorable_constraint
Add settingsadd_settings
Compute the number of cells corresponding to a given area.area_to_nb_cells
Compute the area of a cellcell_area
Compute the width of a cellcell_width
Retrieve the aggregation factor of a restopt problem.get_aggregation_factor
Retrieve the aggregation method of a restopt problem.get_aggregation_method
Retrieve the aggregated cell area of a restopt problem.get_cell_area
Retrieve the constraints of a restopt problem.get_constraints
Retrieve the existing (i.e. aggregated) habitat data.get_existing_habitat
Retrieve the habitat threshold parameter of a restopt problem.get_habitat_threshold
Retrieve the locked out areas of a restopt problem.get_locked_out_areas
Restopt solution metadataget_metadata
Retrieve the optimization objective of a restopt problem.get_objective
Retrieve the original (i.e. not aggregated) habitat data.get_original_habitat
Retrieve the restorable habitat (aggregated) data.get_restorable_habitat
Retrieve the settings of a restopt problem.get_settings
Invert a vector layer according to the extent of a restopt problem.invert_vector
Is Java is available?is_java_available
Compute the area corresponding to a given number of cells.nb_cell_to_area
Restopr input preprocessing function.preprocess_input
Print a restoration optimization problemprint.RestoptProblem
Restoration optimization problemrestopt_problem
Restopt solutionrestopt_solution
'restoptr': Ecological Restoration Planningrestoptr-package restoptr
Set an objective to maximize the integral index of connectivityset_max_iic_objective
Set an objective to maximize effective mesh sizeset_max_mesh_objective
Set an objective to maximize the number of planning unitsset_max_nb_pus_objective
Set an objective to maximize the amount restoration area.set_max_restore_objective
Set an objective to minimize the number of patches (habitat + restored areas)set_min_nb_patches_objective
Set an objective to minimize the number of planning unitsset_min_nb_pus_objective
Set an objective to minimize the amount restoration area.set_min_restore_objective
Configure the solver to only satisfy the constraints, without optimization objectiveset_no_objective
Solve a restoration optimization problemsolve.RestoptProblem