Reverse annealing, a technique that makes it possible to refine known good local solutions thereby increasing performance for certain applications. Reverse annealing involves (1) annealing backward from a known classical state to a mid-anneal state of quantum superposition, (2) searching for optimum solutions at this mid-anneal point while in the presence of an increased transverse field (quantum state), and then (3) proceeding forward to a new classical state at the end of the anneal.
|||For more information, see Reverse Annealing for Local Refinement of Solutions, D-Wave White Paper Series, no. 14-1018A-A, 2017.|
This feature leverages the Anneal Schedule Variations feature that allows users to define a waveform that specifies points at which to change the standard schedule. With reverse annealing, users can define a schedule that begins its evolution at \(s = 1\), a classical state.
For reverse annealing, the maximum number of points allowed for an anneal schedule waveform is one more than the number given by the max_anneal_schedule_points solver property.
Solver API Release 3.0, January 2018
Properties and Parameters¶
anneal_schedule—Parameter that enables variations on the standard global anneal schedule.
initial_state—Classical state of all qubits at the start of the reverse anneal.
reinitialize_state—Boolean flag controlling whether the initial state is to be reinitialized for every anneal-readout cycle.
An anneal schedule variation is defined by a series of pairs of floating-point numbers identifying points in the schedule at which to change slope. The first element in the pair is time \(t\) in microseconds; the second, normalized persistent current \(s\) in the range [0,1]. The resulting schedule is the piecewise-linear curve that connects the provided points.
Solver properties (may vary by QPU):
- max_anneal_schedule_points—Property that shows the maximum number of points at which the anneal schedule (waveform) can be changed for the solver.