English
Languages
English
Shortcuts



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 = 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}

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 (Union[List[float], ndarray, None]) – the optimal value found in the optimization, or possibly None in case of FAILURE.

  • fval (Optional[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 – if sizes of x and variables do not match.

Attributes

fval

Returns the optimal 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 optimal value as a dictionary of the variable name and corresponding value.

x

Returns the optimal value found in the optimization or None in case of FAILURE.

Methods

__getitem__(key)

Returns the value of the variable whose index or name is equal to key.

get_correlations()

Get <Zi x Zj> correlation matrix from the samples.