qiskit-documentation/docs/api/qiskit/0.29/qiskit.optimization.algorit...

182 lines
5.1 KiB
Plaintext

---
title: OptimizationResult (v0.29)
description: API reference for qiskit.optimization.algorithms.OptimizationResult in qiskit v0.29
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.optimization.algorithms.OptimizationResult
---
# OptimizationResult
<Class id="qiskit.optimization.algorithms.OptimizationResult" isDedicatedPage={true} github="https://github.com/qiskit-community/qiskit-aqua/tree/stable/0.9/qiskit/optimization/algorithms/optimization_algorithm.py" signature="OptimizationResult(x, fval, variables, status, raw_results=None, samples=None)" modifiers="class">
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**
```python
>>> from qiskit.optimization import QuadraticProgram
>>> from qiskit.optimization.algorithms import CplexOptimizer
>>> problem = QuadraticProgram()
>>> _ = 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}
```
<Admonition title="Note" type="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.
</Admonition>
**Parameters**
* **x** (`Union`\[`List`\[`float`], `ndarray`, `None`]) – the optimal value found in the optimization, or possibly None in case of FAILURE.
* **fval** (`float`) – the optimal function value.
* **variables** (`List`\[`Variable`]) – the list of variables of the optimization problem.
* **raw\_results** (`Optional`\[`Any`]) – the original results object from the optimization algorithm.
* **status** (`OptimizationResultStatus`) – the termination status of the optimization algorithm.
* **samples** (`Optional`\[`List`\[`SolutionSample`]]) – the solution samples.
**Raises**
[**QiskitOptimizationError**](qiskit.optimization.QiskitOptimizationError "qiskit.optimization.QiskitOptimizationError") – if sizes of `x` and `variables` do not match.
## Attributes
### fval
<Attribute id="qiskit.optimization.algorithms.OptimizationResult.fval">
Returns the optimal function value.
**Return type**
`float`
**Returns**
The function value corresponding to the optimal value found in the optimization.
</Attribute>
### raw\_results
<Attribute id="qiskit.optimization.algorithms.OptimizationResult.raw_results">
Return the original results object from the optimization algorithm.
Currently a dump for any leftovers.
**Return type**
`Any`
**Returns**
Additional result information of the optimization algorithm.
</Attribute>
### samples
<Attribute id="qiskit.optimization.algorithms.OptimizationResult.samples">
Returns the list of solution samples
**Return type**
`List`\[`SolutionSample`]
**Returns**
The list of solution samples.
</Attribute>
### status
<Attribute id="qiskit.optimization.algorithms.OptimizationResult.status">
Returns the termination status of the optimization algorithm.
**Return type**
`OptimizationResultStatus`
**Returns**
The termination status of the algorithm.
</Attribute>
### variable\_names
<Attribute id="qiskit.optimization.algorithms.OptimizationResult.variable_names">
Returns the list of variable names of the optimization problem.
**Return type**
`List`\[`str`]
**Returns**
The list of variable names of the optimization problem.
</Attribute>
### variables
<Attribute id="qiskit.optimization.algorithms.OptimizationResult.variables">
Returns the list of variables of the optimization problem.
**Return type**
`List`\[`Variable`]
**Returns**
The list of variables.
</Attribute>
### variables\_dict
<Attribute id="qiskit.optimization.algorithms.OptimizationResult.variables_dict">
Returns the optimal value as a dictionary of the variable name and corresponding value.
**Return type**
`Dict`\[`str`, `float`]
**Returns**
The optimal value as a dictionary of the variable name and corresponding value.
</Attribute>
### x
<Attribute id="qiskit.optimization.algorithms.OptimizationResult.x">
Returns the optimal value found in the optimization or None in case of FAILURE.
**Return type**
`Optional`\[`ndarray`]
**Returns**
The optimal value found in the optimization.
</Attribute>
</Class>