Problem-class function

The Problem class.

The Problem class.

This class represents a convex optimization problem. class

Problem(objective, constraints = list()) ## S4 method for signature 'Problem' objective(object) ## S4 replacement method for signature 'Problem' objective(object) <- value ## S4 method for signature 'Problem' constraints(object) ## S4 replacement method for signature 'Problem' constraints(object) <- value ## S4 method for signature 'Problem' value(object) ## S4 replacement method for signature 'Problem' value(object) <- value ## S4 method for signature 'Problem' status(object) ## S4 method for signature 'Problem' is_dcp(object) ## S4 method for signature 'Problem' is_dgp(object) ## S4 method for signature 'Problem' is_qp(object) ## S4 method for signature 'Problem' canonicalize(object) ## S4 method for signature 'Problem' is_mixed_integer(object) ## S4 method for signature 'Problem' variables(object) ## S4 method for signature 'Problem' parameters(object) ## S4 method for signature 'Problem' constants(object) ## S4 method for signature 'Problem' atoms(object) ## S4 method for signature 'Problem' size_metrics(object) ## S4 method for signature 'Problem' solver_stats(object) ## S4 replacement method for signature 'Problem' solver_stats(object) <- value ## S4 method for signature 'Problem,character,logical' get_problem_data(object, solver, gp) ## S4 method for signature 'Problem,character,missing' get_problem_data(object, solver, gp) ## S4 method for signature 'Problem' unpack_results(object, solution, chain, inverse_data)

Arguments

  • objective: A Minimize or Maximize object representing the optimization objective.
  • constraints: (Optional) A list of Constraint objects representing constraints on the optimization variables.
  • object: A Problem class.
  • value: A Minimize or Maximize object (objective), list of Constraint objects (constraints), or numeric scalar (value).
  • solver: A string indicating the solver that the problem data is for. Call installed_solvers() to see all available.
  • gp: Is the problem a geometric problem?
  • solution: A Solution object.
  • chain: The corresponding solving Chain .
  • inverse_data: A InverseData object or list containing data necessary for the inversion.

Methods (by generic)

  • objective(Problem): The objective of the problem.
  • objective(Problem) \<- value: Set the value of the problem objective.
  • constraints(Problem): A list of the constraints of the problem.
  • constraints(Problem) \<- value: Set the value of the problem constraints.
  • value(Problem): The value from the last time the problem was solved (or NA if not solved).
  • value(Problem) \<- value: Set the value of the optimal objective.
  • status(Problem): The status from the last time the problem was solved.
  • is_dcp(Problem): A logical value indicating whether the problem statisfies DCP rules.
  • is_dgp(Problem): A logical value indicating whether the problem statisfies DGP rules.
  • is_qp(Problem): A logical value indicating whether the problem is a quadratic program.
  • canonicalize(Problem): The graph implementation of the problem.
  • is_mixed_integer(Problem): logical value indicating whether the problem is a mixed integer program.
  • variables(Problem): List of Variable objects in the problem.
  • parameters(Problem): List of Parameter objects in the problem.
  • constants(Problem): List of Constant objects in the problem.
  • atoms(Problem): List of Atom objects in the problem.
  • size_metrics(Problem): Information about the size of the problem.
  • solver_stats(Problem): Additional information returned by the solver.
  • solver_stats(Problem) \<- value: Set the additional information returned by the solver in the problem.
  • get_problem_data(object = Problem, solver = character, gp = logical): Get the problem data passed to the specified solver.
  • get_problem_data(object = Problem, solver = character, gp = missing): Get the problem data passed to the specified solver.
  • unpack_results(Problem): Parses the output from a solver and updates the problem state, including the status, objective value, and values of the primal and dual variables. Assumes the results are from the given solver.

Slots

  • objective: A Minimize or Maximize object representing the optimization objective.
  • constraints: (Optional) A list of constraints on the optimization variables.
  • value: (Internal) Used internally to hold the value of the optimization objective at the solution.
  • status: (Internal) Used internally to hold the status of the problem solution.
  • .cached_data: (Internal) Used internally to hold cached matrix data.
  • .separable_problems: (Internal) Used internally to hold separable problem data.
  • .size_metrics: (Internal) Used internally to hold size metrics.
  • .solver_stats: (Internal) Used internally to hold solver statistics.

Examples

x <- Variable(2) p <- Problem(Minimize(p_norm(x, 2)), list(x >= 0)) is_dcp(p) x <- Variable(2) A <- matrix(c(1,-1,-1, 1), nrow = 2) p <- Problem(Minimize(quad_form(x, A)), list(x >= 0)) is_qp(p)
  • Maintainer: Anqi Fu
  • License: Apache License 2.0 | file LICENSE
  • Last published: 2024-11-07