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 newOptimizationResult
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
andvariables
do not match.
Attributes
Returns the objective function value.
Return the original results object from the optimization algorithm.
Returns the list of solution samples
Returns the termination status of the optimization algorithm.
Returns the list of variable names of the optimization problem.
Returns the list of variables of the optimization problem.
Returns the variable values as a dictionary of the variable name and corresponding value.
Returns the variable values 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 <Zi x Zj> correlation matrix from the samples.
Returns a pretty printed string of this optimization result.