Summary

Summary of the package

oppr

oppr: Optimal Project Prioritization

Data

Simulated datasets and data simulation functions

sim_actions sim_projects sim_features sim_tree

Simulated data

simulate_ppp_data()

Simulate data for the 'Project Prioritization Protocol'

simulate_ptm_data()

Simulate data for 'Priority threat management'

Create and solve problems

Functions for creating new problems and solving them

problem()

Project prioritization problem

solve(<OptimizationProblem>,<Solver>) solve(<ProjectProblem>,<missing>)

Solve

Evaluate solutions

Functions for evaluating and visualizing solutions to a problem

plot(<ProjectProblem>)

Plot a solution to a project prioritization problem

plot_feature_persistence()

Plot a bar plot to visualize a project prioritization

plot_phylo_persistence()

Plot a phylogram to visualize a project prioritization

solution_statistics()

Solution statistics

replacement_costs()

Replacement cost

project_cost_effectiveness()

Project cost effectiveness

Objectives

Functions for adding an objective to a problem

objectives

Problem objective

add_max_phylo_div_objective()

Add maximum phylogenetic diversity objective

add_max_richness_objective()

Add maximum richness objective

add_max_targets_met_objective()

Add maximum targets met objective

add_min_set_objective()

Add minimum set objective

Weights

Functions for adding weights to a problem

weights

Weights

add_feature_weights()

Add feature weights

Targets

Functions for adding targets to a problem

targets

Targets

add_absolute_targets()

Add absolute targets

add_manual_targets()

Add manual targets

add_relative_targets()

Add relative targets

Constraints

Functions for adding constraints to a problem

constraints

Project prioritization problem constraints

add_locked_in_constraints()

Add locked in constraints

add_locked_out_constraints()

Add locked out constraints

add_manual_locked_constraints()

Add manually specified locked constraints

Decisions

Functions for specifying the type of decisions in a problem

decisions

Specify the type of decisions

add_binary_decisions()

Add binary decisions

Solvers

Functions for specifying how a problem should be solved

solvers

Problem solvers

add_default_solver()

Add a default solver

add_gurobi_solver()

Add a Gurobi solver

add_heuristic_solver()

Add a heuristic solver

add_lpsolveapi_solver()

Add a lp_solve solver with lpSolveAPI

add_lpsymphony_solver()

Add a SYMPHONY solver with lpsymphony

add_random_solver()

Add a random solver

add_rsymphony_solver()

Add a SYMPHONY solver with Rsymphony

Problem manipulation functions

Functions for extracting information from problems

feature_names()

Feature names

action_names()

Action names

project_names()

Project names

number_of_features()

Number of features

number_of_actions()

Number of actions

number_of_projects()

Number of projects

Miscellaneous functions

Assorted functions distributed with the package

print(<ProjectProblem>) print(<ProjectModifier>) print(<Id>) print(<Id>) print(<OptimizationProblem>) print(<ScalarParameter>) print(<ArrayParameter>) print(<Solver>)

Print

show(<ProjectModifier>) show(<ProjectProblem>) show(<Id>) show(<OptimizationProblem>) show(<Parameter>) show(<Solver>)

Show

%>% pipe

Pipe operator

%T>% tee

Tee operator

is.Id() is.Waiver()

Is it?

as.Id() as.list(<Parameters>)

Coerce object to another object

compile()

Compile a problem

branch_matrix()

Branch matrix

Class definitions and methods

These pages document the package’s internal data structures and functions for manipulating them—they contain information that is really only useful when adding new functionality to the package

new_id()

Identifier

new_waiver()

Waiver

pproto()

Create a new pproto object

new_optimization_problem()

Optimization problem

as.list(<OptimizationProblem>)

Convert OptimizationProblem to list

ArrayParameter-class ArrayParameter

Array parameter prototype

Collection-class Collection

Collection prototype

Constraint-class Constraint

Constraint prototype

Decision-class Decision

Decision prototype

MiscParameter-class MiscParameter

Miscellaneous parameter prototype

Objective-class Objective

Objective prototype

OptimizationProblem-class OptimizationProblem

Optimization problem class

Parameter-class Parameter

Parameter class

Parameters-class Parameters

Parameters class

ProjectModifier-class ProjectModifier

Conservation problem modifier prototype

ProjectProblem-class ProjectProblem

Project problem class

ScalarParameter-class ScalarParameter

Scalar parameter prototype

Solver-class Solver GurobiSolver-class HeuristicSolver-class LpsolveapiSolver-class LpsymphonySolver-class RandomSolver-class RsymphonySolver-class

Solver prototype

Target-class Target

Target prototype

Weight-class Weight

Weight prototype

nrow() ncol() ncell() modelsense() vtype() obj() pwlobj() A() rhs() sense() lb() ub() col_ids() row_ids() number_of_branches() get_data()

Optimization problem methods

nrow(<tbl_df>) ncol(<tbl_df>) as.list(<tbl_df>)

Manipulate tibbles

Parameter definitions

These pages document the package’s internal data structures for representing different types of variables—they contain information that is really only useful when adding new functionality to the package

proportion_parameter_array() binary_parameter_array() integer_parameter_array() numeric_parameter_array()

Array parameters

numeric_matrix_parameter() binary_matrix_parameter()

Matrix parameters

misc_parameter()

Miscellaneous parameter

proportion_parameter() binary_parameter() integer_parameter() numeric_parameter()

Scalar parameters

parameters()

Parameters