This prototype is used to generate objects that represent methods for solving
optimization problems. **This class represents a recipe to
create solver and and is only recommended for use by expert users. To
customize the method used to solve optimization problems, please see the
help page on solvers**.

- $name
`character`

name of solver.- $data
`list`

object optimization problem data.- $parameters
`Parameters`

object with parameters used to customize the the solver.- $solve
`function`

used to solve a`OptimizationProblem`

object.

`x$print()`

`x$show()`

`x$repr()`

`x$get_data(name)`

`x$set_data(name, value)`

`x$set_variable_ub(index, value)`

`x$set_variable_lb(index, value)`

`x$calculate(op)`

`x$run()`

`x$solve(op)`

- x
`Solver`

object.- op
`OptimizationProblem`

object.

print the object.

- show
show the object.

- repr
`character`

representation of object.- get_data
return an object stored in the

`data`

field with the corresponding`name`

. If the object is not present in the`data`

field, a`waiver`

object is returned.- set_data
store an object stored in the

`data`

field with the corresponding name. If an object with that name already exists then the object is overwritten.- set_variable_ub
set the upper bounds on decision variables in a pre-calculated optimization problem stored in the solver.

- set_variable_lb
set the lower bounds on decision variables in a pre-calculated optimization problem stored in the solver.

- calculate
ingest a general purpose

`OptimizationProblem`

object and convert it to the correct format for the solver.- run
run the solver and output a solution

- solve
solve an

`OptimizationProblem`

using this object.