This class represents a convex optimization problem.

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

- 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.

`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.

`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.