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], np.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
- fval#
Returns the objective function value.
- Returns:
The function value corresponding to the objective function value found in the optimization.
- raw_results#
Return the original results object from the optimization algorithm.
Currently a dump for any leftovers.
- Returns:
Additional result information of the optimization algorithm.
- samples#
Returns the list of solution samples
- Returns:
The list of solution samples.
- status#
Returns the termination status of the optimization algorithm.
- Returns:
The termination status of the algorithm.
- variable_names#
Returns the list of variable names of the optimization problem.
- Returns:
The list of variable names of the optimization problem.
- variables#
Returns the list of variables of the optimization problem.
- Returns:
The list of variables.
- variables_dict#
Returns the variable values as a dictionary of the variable name and corresponding value.
- 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.
- Returns:
The variable values found in the optimization.
Methods