Step 4: Solve the QUBO problem
To solve the QUBO problem on D-Wave’s quantum annealing processor, we use the
solve_qubo function of the
DWaveSampler class as follows:
EmbeddingComposite class is used to embed the problem on D-Wave’s quantum annealer. The
num_reads the parameter specifies the number of times to sample the problem. The function returns a response object that contains the solutions to the problem.
Step 5: Extract the solution
To extract the solution from the response object, we can use the following code:
samples the method returns a list of all the solutions found by the quantum annealer. The
data_vectors['energy'] attribute returns a list of the energies of the solutions. The
min function is used to find the minimum energy, which corresponds to the optimal solution. The
index the method is used to find the index of the optimal solution in the list of energies. Finally, we extract the optimal solution from the list of solutions.
Step 6: Print the solution
To print the solution, we can use the following code:
This will print the values of the binary variables in the optimal solution.
Putting it all together
Here is the complete code for solving the QUBO problem using D-Wave QBSolv in Python:
This code should output the following solution:
In this article, we have provided a step-by-step guide to implementing D-Wave QBSolv in Python. We have shown how to install the D-Wave Ocean SDK, define a QUBO problem, create a QUBO object, solve the problem using D-Wave’s quantum annealing processor, extract the solution, and print the solution. We hope that this guide has been useful for those interested in solving optimization problems using quantum annealing.