GraphOptimizationApplication

class GraphOptimizationApplication(graph)[source]

Bases: OptimizationApplication

An abstract class for graph optimization applications.

Parameters:

graph (nx.Graph | np.ndarray | list) – A graph representing a problem. It can be specified directly as a NetworkX graph, or as an array or list format suitable to build out a NetworkX graph.

Attributes

graph

Getter of the graph

Returns:

A graph for a problem

Methods

draw(result=None, pos=None)[source]

Draw a graph with the result. When the result is None, draw an original graph without colors.

Parameters:
  • result (OptimizationResult | np.ndarray | None) – The calculated result for the problem

  • pos (dict[int, np.ndarray] | None) – The positions of nodes

abstract interpret(result)

Convert the calculation result of the problem (OptimizationResult or a binary array using np.ndarray) to the answer of the problem in an easy-to-understand format.

Parameters:

result (OptimizationResult | np.ndarray) – The calculated result of the problem

static sample_most_likely(state_vector)

Compute the most likely binary string from state vector.

Parameters:

state_vector (QuasiDistribution | Statevector | np.ndarray | dict) – state vector or counts or quasi-probabilities.

Returns:

binary string as numpy.ndarray of ints.

Raises:

ValueError – if state_vector is not QuasiDistribution, Statevector, np.ndarray, or dict.

Return type:

np.ndarray

abstract to_quadratic_program()

Convert a problem instance into a QuadraticProgram

Return type:

QuadraticProgram