English
Languages
English
Bengali
Japanese
Spanish

# OptimizationResult¶

class OptimizationResult(x, fval, variables, status, raw_results=None, samples=None)[source]

Bases: `object`

A base class for optimization results.

The optimization algorithms return an object of the type `OptimizationResult` with the information about the solution obtained.

`OptimizationResult` allows users to get the value of a variable by specifying an index or a name as follows.

Examples

```>>> from qiskit_optimization import QuadraticProgram
>>> from qiskit_optimization.algorithms import CplexOptimizer
>>> _ = problem.binary_var('x1')
>>> _ = problem.binary_var('x2')
>>> _ = problem.binary_var('x3')
>>> problem.minimize(linear={'x1': 1, 'x2': -2, 'x3': 3})
>>> print([var.name for var in problem.variables])
['x1', 'x2', 'x3']
>>> optimizer = CplexOptimizer()
>>> result = optimizer.solve(problem)
>>> print(result.variable_names)
['x1', 'x2', 'x3']
>>> print(result.x)
[0. 1. 0.]
>>> print(result[1])
1.0
>>> print(result['x1'])
0.0
>>> print(result.fval)
-2.0
>>> print(result.variables_dict)
{'x1': 0.0, 'x2': 1.0, 'x3': 0.0}
```

Note

The order of variables should be equal to that of the problem solved by optimization algorithms. Optimization algorithms and converters of `QuadraticProgram` should maintain the order when generating a new `OptimizationResult` object.

Parameters:
• x (List[float] | ndarray | None) – the variable values found in the optimization, or possibly None in case of FAILURE.

• fval (float | None) – the objective function value.

• variables (List[Variable]) – the list of variables of the optimization problem.

• raw_results (Any | None) – the original results object from the optimization algorithm.

• status (OptimizationResultStatus) – the termination status of the optimization algorithm.

• samples (List[SolutionSample] | None) – the solution samples.

Raises:

QiskitOptimizationError – if sizes of `x` and `variables` do not match.

Attributes

 `fval` Returns the objective function value. `raw_results` Return the original results object from the optimization algorithm. `samples` Returns the list of solution samples `status` Returns the termination status of the optimization algorithm. `variable_names` Returns the list of variable names of the optimization problem. `variables` Returns the list of variables of the optimization problem. `variables_dict` Returns the variable values as a dictionary of the variable name and corresponding value. `x` Returns the variable values found in the optimization or None in case of FAILURE.

Methods

 Get correlation matrix from the samples. Returns a pretty printed string of this optimization result.