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 (
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 – if sizes of
x
andvariables
do not match.
Attributes
-
fval
¶ Returns the optimal function value.
- Return type
float
- Returns
The function value corresponding to the optimal value found in the optimization.
-
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.
-
samples
¶ Returns the list of solution samples
- Return type
List
[SolutionSample
]- Returns
The list of solution samples.
-
status
¶ Returns the termination status of the optimization algorithm.
- Return type
OptimizationResultStatus
- Returns
The termination status of the algorithm.
-
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.
-
variables
¶ Returns the list of variables of the optimization problem.
- Return type
List
[Variable
]- Returns
The list of variables.
-
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.
-
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.