# Reverse Annealing¶

## Description¶

Reverse annealing, a technique that makes it possible to refine known good local solutions thereby increasing performance for certain applications.[1] 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.

 [1] 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.

Note

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.

Release 3.0

## Properties and Parameters¶

User parameter:

• 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.