Problem-class: The Problem class.

Problem-classR Documentation

The Problem class.

Description

This class represents a convex optimization problem.

Usage

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)

anqif/CVXR documentation built on Feb. 6, 2024, 4:28 a.m.