Create a new OptimizationProblem object.

predefined_optimization_problem(x)

Arguments

x

list object containing data to construct the problem.

Details

The argument to x must be a list that contains the following elements:

modelsense

character model sense.

number_of_features

integer number of features in problem.

number_of_planning_units

integer number of planning units.

A_i

integer row indices for problem matrix.

A_j

integer column indices for problem matrix.

A_x

numeric values for problem matrix.

obj

numeric objective function values.

lb

numeric lower bound for decision values.

ub

numeric upper bound for decision values.

rhs

numeric right-hand side values.

sense

numeric constraint senses.

vtype

character variable types. These are used to specify that the decision variables are binary ("B") or continuous ("C").

row_ids

character identifiers for the rows in the problem matrix.

col_ids

character identifiers for the columns in the problem matrix.

Examples

# create list with problem data
l <- list(modelsense = "min", number_of_features = 2,
          number_of_planning_units = 3, number_of_zones = 1,
          A_i = c(0L, 1L, 0L, 1L, 0L, 1L), A_j = c(0L, 0L, 1L, 1L, 2L, 2L),
          A_x = c(2, 10, 1, 10, 1, 10), obj = c(1, 2, 2), lb = c(0, 1, 0),
          ub = c(0, 1, 1), rhs = c(2, 10), compressed_formulation = TRUE,
          sense = c(">=", ">="), vtype = c("B", "B", "B"),
          row_ids = c("spp_target", "spp_target"),
          col_ids = c("pu", "pu", "pu"))

# create OptimizationProblem object
x <- predefined_optimization_problem(l)

# print new object
print(x)
#> optimization problem
#>   model sense: min
#>   dimensions:  2, 3, 6 (nrow, ncol, ncell)
#>   variables:   3 (B)