Configs
ClassicalConfig
Bases: Config
A ClassicalConfig instance defines the classical
part of a SolverConfig.
| ATTRIBUTE | DESCRIPTION |
|---|---|
classical_solver_type |
Classical solver type. Defaults to "cplex".
TYPE:
|
cplex_maxtime |
CPLEX maximum runtime. Defaults to 600s.
TYPE:
|
cplex_log_path |
CPLEX log path. Default to
TYPE:
|
max_iter |
Maximum number of iterations to perform for simulated annealing or tabu search.
TYPE:
|
max_bitstrings |
Maximal number of bitstrings returned as solutions.
TYPE:
|
sa_initial_temp |
Starting temperature (controls exploration).
TYPE:
|
sa_final_temp |
Minimum temperature threshold for stopping.
TYPE:
|
sa_alpha |
Cooling rate - should be slightly below 1 (e.g., 0.95–0.99).
TYPE:
|
tabu_x0 |
The initial binary solution tensor of shape (n,).
TYPE:
|
tabu_tenure |
Number of iterations a move (bit flip) remains tabu.
TYPE:
|
tabu_max_no_improve |
Maximum number of consecutive iterations without improvement before termination.
TYPE:
|
Config
Bases: BaseModel, ABC
Pydantic class for configs.
EmbeddingConfig
Bases: Config
A EmbeddingConfig instance defines the embedding
part of a SolverConfig.
| ATTRIBUTE | DESCRIPTION |
|---|---|
embedding_method |
The type of
embedding method used to place atoms on the register according to the QUBO problem.
Defaults to
TYPE:
|
greedy_layout |
Layout type for the
greedy embedder method. Defaults to
TYPE:
|
greedy_traps |
The number of traps on the register.
Defaults to
TYPE:
|
greedy_spacing |
The minimum distance between atoms.
Defaults to
TYPE:
|
greedy_density |
The estimated density of the QUBO matrix. Defaults to None.
TYPE:
|
blade_steps_per_round |
The number of steps for each layer of dimension for BLaDE. Defaults to 200.
TYPE:
|
blade_starting_positions |
The starting parameters according to the specified dimensions. Defaults to None.
TYPE:
|
blade_dimensions |
A list of dimension degrees
to explore one after the other (default is
TYPE:
|
draw_steps |
Show generated graph at each step of the optimization.
Defaults to
TYPE:
|
animation_save_path |
If provided, path to save animation. Defaults to None.
TYPE:
|
PulseShapingConfig
Bases: Config
A PulseShapingConfig instance defines the pulse shaping
part of a SolverConfig.
| ATTRIBUTE | DESCRIPTION |
|---|---|
pulse_shaping_method |
Pulse shaping
method used. Defauts to
TYPE:
|
dmm |
Whether to use a detuning map when applying pulse shaping or not. This gets added to the pulse sequence as a ConstantWaveform. Defaults to True, which applies DMM in pulse.
TYPE:
|
re_execute_opt_pulse |
Whether to re-run the optimal pulse sequence. Defaults to False.
TYPE:
|
optimized_n_calls |
Number of calls for the optimization process inside VQA. Defaults to 20. Note the optimizer accepts a minimal value of 12.
TYPE:
|
optimized_initial_omega_parameters |
Default initial omega parameters for the pulse. Defaults to Omega = (5, 10, 5).
TYPE:
|
optimized_initial_detuning_parameters |
Default initial detuning parameters for the pulse. Defaults to delta = (-10, 0, 10).
TYPE:
|
optimized_custom_qubo_cost |
Apply a different
qubo cost evaluation
than the default QUBO evaluation defined in
TYPE:
|
optimized_custom_objective_fn |
For bayesian optimization, one can change the output of
TYPE:
|
optimized_callback_objective |
Apply a callback
during bayesian optimization. Only accepts one input dictionary
created during optimization
TYPE:
|
SolverConfig
Bases: Config
A SolverConfig instance defines how a QUBO problem should be solved.
We specify whether to use a quantum or classical approach,
which backend to run on, and additional execution parameters.
| ATTRIBUTE | DESCRIPTION |
|---|---|
config_name |
The name of the current configuration. Defaults to ''.
TYPE:
|
use_quantum |
Whether to solve using a quantum approach (
TYPE:
|
backend |
Which underlying backend configuration is used.
Defaults to the default BackendConfig using
TYPE:
|
embedding |
Embedding part configuration of the solver.
TYPE:
|
pulse_shaping |
Pulse-shaping part configuration of the solver.
TYPE:
|
classical |
Classical part configuration of the solver.
TYPE:
|
num_shots |
Number of samples. Defaults to 500.
TYPE:
|
do_postprocessing |
Whether we apply post-processing (
TYPE:
|
do_preprocessing |
Whether we apply pre-processing (
TYPE:
|
from_kwargs(**kwargs)
classmethod
Create an instance based on entries of other configs.
Note that if any of the keywords ("backend_config", "embedding", "pulse_shaping", "classical") are present in kwargs, the values are taken directly.
| RETURNS | DESCRIPTION |
|---|---|
SolverConfig
|
An instance from values.
TYPE:
|
Source code in qubosolver/config.py
print_specs()
specs()
Return the specs of the SolverConfig, that is all attributes.
| RETURNS | DESCRIPTION |
|---|---|
dict
|
Dictionary of specs key-values.
TYPE:
|