This notebook explains and demonstrates the global anneal scheduling features. These features can improve solutions to a problem and provide insight into the behaviour and dynamics of problems undergoing quantum annealing.
anneal schedule refers to the global annealing trajectory. It specifies the
normalized anneal fraction, s, an abstract parameter ranging from 0 to 1.
s(t) is a continuous function starting at s=0 for time t=0
and ending with s=1 at t=t_f, the total time of the anneal.
There are two ways to specify the anneal schedule, using two mutually exclusive parameters:
annealing_time: Set to a number in microseconds to specify linear growth froms=0tos=1over that time.annealing_schedule: Specify a list of(t, s)pairs specifying points, which are then linearly interpolated. This feature supports two modes—mid-anneal pause and mid-anneal quench—which this tutorial explores.
The notebook has the following sections:
- Understanding the Anneal Schedule explains the feature.
- Using Anneal Schedule Features shows how to use the feature with an interactive example problem.
- Mapping Various Anneal Schedules provides code that sweeps through various anneal schedules to explore the effect on results.
You can run this example in the Leap IDE.
Alternatively, install requirements locally (ideally, in a virtual environment):
pip install -r requirements.txt
To enable notebook extensions1:
jupyter contrib nbextension install --sys-prefix
jupyter nbextension enable toc2/main
jupyter nbextension enable exercise/main
jupyter nbextension enable exercise2/main
jupyter nbextension enable python-markdown/main
To run the notebook:
jupyter notebookSee LICENSE file.
Footnotes
-
Leap's IDE, which runs VS Code, does not support all notebook extensions. ↩
