A method of quantum annealing using a superconducting quantum processor comprising superconducting flux qubits , each of which having a superconducting loop that is interrupted by at least one compound Josephson junction, the method comprising: - applying a respective first flux bias to the superconducting loop of each qubit of the superconducting flux qubits, to realize a problem Hamiltonian whose ground state encodes a solution to the problem, including applying a respective first flux bias to the superconducting loop of each qubit of the superconducting flux qubits to realize a 2-local Ising Hamiltonian described by: H P = ∑ i = 1 n h i σ i z + ∑ i , j = 1 n J ij σ i z σ j z , wherein n represents the number of qubits of the superconducting flux qubits, σ i Z is the Pauli Z-matrix for the i th qubit , and h i and J i,j are dimensionless local fields coupled to each qubit of the superconducting flux qubits; - applying a respective second flux bias to the at least one compound Josephson junction of each qubit of the superconducting flux qubits, to realize a disorder term in an evolution Hamiltonian; - gradually reducing the respective second flux bias applied to the at least one compound Josephson junction of each qubit of the superconducting flux qubits, to gradually remove the disorder term from the evolution Hamiltonian, thereby inducing a change in a persistent current in each qubit of the superconducting flux qubits; - varying the respective first flux bias applied to the superconducting loop of each qubit of the superconducting flux qubits to compensate for the induced change in the persistent current in each qubit of the superconducting flux qubits, including maintaining a substantially constant ratio of h i : J i,j in both the evolution Hamiltonian and the problem Hamiltonian; and - measuring a state of at least one qubit of the superconducting flux qubits in the superconducting quantum processor. - applying a respective first flux bias to the superconducting loop of each qubit of the superconducting flux qubits, to realize a problem Hamiltonian whose ground state encodes a solution to the problem, including applying a respective first flux bias to the superconducting loop of each qubit of the superconducting flux qubits to realize a 2-local Ising Hamiltonian described by: H P = ∑ i = 1 n h i σ i z + ∑ i , j = 1 n J ij σ i z σ j z , wherein n represents the number of qubits of the superconducting flux qubits, σ i Z is the Pauli Z-matrix for the i th qubit , and h i and J i,j are dimensionless local fields coupled to each qubit of the superconducting flux qubits; - applying a respective second flux bias to the at least one compound Josephson junction of each qubit of the superconducting flux qubits, to realize a disorder term in an evolution Hamiltonian; - gradually reducing the respective second flux bias applied to the at least one compound Josephson junction of each qubit of the superconducting flux qubits, to gradually remove the disorder term from the evolution Hamiltonian, thereby inducing a change in a persistent current in each qubit of the superconducting flux qubits; - varying the respective first flux bias applied to the superconducting loop of each qubit of the superconducting flux qubits to compensate for the induced change in the persistent current in each qubit of the superconducting flux qubits, including maintaining a substantially constant ratio of h i : J i,j in both the evolution Hamiltonian and the problem Hamiltonian; and - measuring a state of at least one qubit of the superconducting flux qubits in the superconducting quantum processor. <EOS>