A lot of problems can be solved without needing to modify the anneal time at all.
The anneal time is controlled by the annealing_time parameter.
But what are some scenarios that might benefit from longer anneal times? When do we want to change the anneal time?
The following are a few scenarios that might benefit from increasing, adjusting, or optimizing the anneal time.
- Problems with a small minimum gap will benefit from longer anneal times. This gap is referring to the difference in energies between different output variable states, namely the smallest difference in energies between two states.
- If you are trying to generate an output sample that matches some distribution (such as a Boltzmann distribution), the distribution may be better with longer anneal times. Different lengths of anneal time produce different distributions in general.
- For both Quantum and Classical Annealing, the optimal anneal time is not guaranteed to match the default anneal time, so it can be beneficial to optimize this value for all problems submitted.
- Often for harder or more complex problems the optimal anneal time is longer.
- Highly connected problems, or worded another way, problems with more quadratic terms also benefit from longer anneal times.
- Problems with many and/or long chains will also benefit from a longer anneal time.
- In addition, when anneal offsets are involved, longer anneal times can be beneficial. Often with longer chains, they will "freeze out" (choose and stick with a value) early in the anneal cycle. The longer the chain the earlier the freeze out, so the later we would want to offset them in the anneal cycle.
- Finding lower energy states can also benefit from longer anneal times. When we consider the same total time for longer anneals vs the same total time for higher number of reads on the same problem, longer anneals are more effective than taking more samples in finding lower energies. This is partly due to the overhead involved in writing problems to, and reading results from the QPU.