DA - Digital Annealer version 3
Description
From the website:
Fujitsu's Digital Annealer provides an alternative to quantum computing technology, which is at present both very expensive and difficult to run. Using a digital circuit design inspired by quantum phenomena, the Digital Annealer focuses on rapidly solving complex combinatorial optimization problems without the added complications and costs typically associated with quantum computing methods.
Parameters
time_limit_sec: int
Maximum running time of DA in seconds. Specifies the upper limit of running time of DA. Default: 10, Min: 1, Max: 3600
target_energy: int
Threshold energy for fast exit. This may not work correctly if the specified value is larger than its max value or lower than its min value. Default: None, Min: -99999999999, Max: +99999999999
num_group: int
Number of independent optimization processes. Default: 1, Min: 1, Max: 16
num_solution: int
Number of solutions maintained and updated by each optimization process. Default: 16, Min: 1, Max: 1024
num_output_solution: int
Maximal number of the best solutions returned by each optimization. Total number of results is num_solution * num_group. Default: 5, Min: 1, Max: 1024
gs_num_iteration_factor: int
Maximal number of iterations in one epoch of the global search in each optimization is Iterations factor * number of bits. Default: 5, Min: 0, Max: 100
gs_num_iteration_cl: int
Maximal number of iterations without improvement in one epoch of the global search in each optimization before terminating and continuing with the next epoch. For problems with very deep local minima having a very low value is helpful. Default: 8000, Min: 0, Max: 1000000
gs_penalty_auto_mode: int
Parameter to choose whether to automatically incrementally adapt gs_penalty_coef to the optimal value. 0: Use gs_penalty_coef as the fixed factor to weight the penalty polynomial during optimization. 1: Start with gs_penalty_coef as weight factor for penalty polynomial and automatically and incrementally increase this factor during optimization by multiplying gs_penalty_inc_rate / 100 repeatedly until gs_max_penalty_coef is reached or the penalty energy is zero. Default: 1, Min: 0, Max: 10000
gs_penalty_coef: int
Maximal value for the penalty coefficient. If gs_penalty_auto_mode is 0, this is the maximal value for gs_penalty_coef. If gs_penalty_auto_mode is 1, this is the maximal value to which gs_penalty_coef can be increased during the automatic adjustment. If gs_max_penalty_coef is set to 0, then the maximal penalty coefficient is 2^63 - 1. Default: 0, Min: 0, Max: 9223372036854775807
auto_tuning: int
Scaling of qubo, penalty_qubo and inequalities. Default: 0 0: no action 1: scaling_factor is multiplied to qubo, penalty_qubo and inequalities. 2: A maximum scaling factor w.r.t. scaling_bit_precision is multiplied to qubo, penalty_qubo and inequalities.
scaling_factor: int | float
The scaling_factor for qubo, penalty_qubo and inequalities. Default: 1.0
scaling_bit_precision: int
Maximum bit_precision for qubo, penalty_qubo and inequalities. Used to define the scaling factor for qubo, penalty_qubo and inequalities. Default: 32
random_seed: int
Seed for random numbers for the optimization call, valid values are [0, 9999]. Default: None
random_seed_increment: int
Seed increment for random number generator, in case of multiple optimization calls. Default: 1
annealer_protocol: str
Protocol for Digital Annealer REST access ('http' or 'https'). Default: "https"
annealer_address: str
IP address of the host machine of Digital Annealer. Default: "cloud.ts.fujitsu.com"
annealer_port: str
Port of Digital Annealer service on the host machine. Default: 443
annealer_path: str
Path prefix used as common root for all REST productions. Default: "/da-s"
request_mode: int
Defines how the request should be sent. Default: 1 0: classic, based on http.client.HTTPConnection, data sent as stream 1: based on requests, data sent plain 2: based on requests, data encoded with gzip
annealer_queue_size: int
Size of Digital Annealer queue for selected service. Default: 16
Available
Parameters
{
"time_limit_sec": 10,
"target_energy": None,
"num_group": 1,
"num_solution": 16,
"num_output_solution": 5,
"gs_num_iteration_factor": 5,
"gs_num_iteration_cl": 8000,
"gs_penalty_auto_mode": 1,
"gs_penalty_coef": 1,
"gs_penalty_inc_rate": 150,
"gs_max_penalty_coef": 0,
"auto_tuning": 0,
"scaling_factor": 1.0,
"scaling_bit_precision": 32,
"random_seed": None,
"random_seed_increment": 1,
"annealer_protocol": "https",
"annealer_address": "cloud.ts.fujitsu.com",
"annealer_port": 443,
"annealer_path": "/da-s",
"request_mode": 1,
"annealer_queue_size": 16
}
QPU Provider
fujitsu
DACPU - Digital Annealer version 2 simulation on CPU
Description
From the website:
Fujitsu's Digital Annealer provides an alternative to quantum computing technology, which is at present both very expensive and difficult to run. Using a digital circuit design inspired by quantum phenomena, the Digital Annealer focuses on rapidly solving complex combinatorial optimization problems without the added complications and costs typically associated with quantum computing methods.
Parameters
optimization_method: str
Digital Annealer optimization algorithms, 'annealing' or 'parallel_tempering'. Default: 'annealing'
number_iterations: int
Total number of iterations per run. Default: 1000, Min: 1, Max: 100000000
number_runs: int
Number of stochastically independent runs. Default: 2, Min: 1, Max: 128
number_replicas: int
Number of replicas in parallel tempering. Default: 5, Min: 5, Max: 128
temperature_start: float
Start temperature of the annealing process. Default: 1000.0, Min: 0.0, Max: 100000000000000000000.0
temperature_end: float
End temperature of the annealing process. Default: 1.0, Min: 0.0, Max: 100000000000000000000.0
temperature_mode: int
0, 1, or 2 to define the cooling curve: 0, 'EXPONENTIAL': Reduce temperature by factor (1 - temperature_decay) every temperature_interval steps 1, 'INVERSE': Reduce temperature by factor (1 - temperature_decay * temperature) every temperature_interval steps 2, 'INVERSE_ROOT': Reduce temperature by factor (1 - temperature_decay * temperature²) every temperature_interval steps Default: 0
temperature_interval: int
Number of iterations keeping temperature constant. Default: 100, Min: 1, Max: 100000000000000000000
temperature_decay: float
Decay per step. If temperature_decay is None it will be calculated based on temperature_start, temperature_end, temperature_mode, temperature_interval and number_iterations. Default: None
offset_increase_rate: float
Increase of dynamic offset when no bit is selected. Set to 0.0 to switch off dynamic energy feature. Default: 5.0, Min: 0.0, Max: 100000000000000000000.0
pt_temperature_model: str
Temperature model for furnace temperature distribution for parallel tempering process. Options: 'Exponential', 'Linear', 'Hukushima', Default: 'Exponential'
pt_replica_exchange_model: str
Select replica exchange model for parallel tempering process. Options: 'Neighbours', 'Far jump', Default: 'Neighbours'.
bit_precision: int
DAv2 bit precision, possible values are 16, 32, 64. Default: 64
auto_tuning: int
Following methods for scaling qubo, penalty_qubo and inequalities are available: 0: no action 1: scaling_factor is multiplied to qubo, temperature_start, temperature_end and offset_increase_rate. 2: A maximum scaling factor w.r.t. scaling_bit_precision is multiplied to qubo, penalty_qubo and inequalities. 3: temperature_start, temperature_end and offset_increase_rate are automatically determined. 4: Temperatures and scaling factor are automatically determined and applied.
scaling_factor: int | float
The scaling_factor for qubo, temperature_start, temperature_end and offset_increase_rate.
scaling_bit_precision: int
Maximum bit_precision for qubo. Used to define the scaling factor for qubo, temperature_start, temperature_end and offset_increase_rate.
start_progress_probability: float
Parameter for determining the start temperature. This parameter indicates the acceptance probability of an energy increase (worsening) in the annealing process at the calculated start temperature.
end_progress_probability: float
This parameter end_progress_probability specifies the acceptance probability of an energy increase (worsening) in the annealing process in the iteration step annealing_steps, which by default is half of the total steps set by number_iterations.
annealing_steps: float
annealing_steps stands for the portion of annealing steps, where end_progress_probability is reached. Default is half of the total steps set by number_iterations, i.e., 0.5.
sampling_walk_count: int
Sub-parameter used to define the energy deltas during the internal energy sampling procedure for annealing parameter estimation. sampling_walk_count is the number of random walkers started for energy deltas determination.
sampling_walk_length: int
Sub-parameter used to define the energy deltas during the internal energy sampling procedure for annealing parameter estimation. The sampling_walk_length corresponds to the number of sampling steps of a random walker from a current state to a new state, also known as Hamming distance = sampling_walk_length. It is the sequential progression from current to new state that is used to determine the energy deltas.
sampling_distance: int
Sub-parameter used to define the energy deltas during the internal energy sampling procedure for annealing parameter estimation. sampling_distance is the number of energy deltas a random walker should generate by sampling.
random_seed: int
Seed for random numbers for the optimization call, valid values are [0, 9999].
random_seed_increment: int
Seed increment for random number generator, in case of multiple optimization calls.
Available
Parameters
{
"optimization_method": "annealing",
"number_iterations": 1000,
"number_runs": 2,
"number_replicas": 5,
"temperature_start": 1000.0,
"temperature_end": 1.0,
"temperature_mode": 0,
"temperature_interval": 100,
"temperature_decay": None,
"offset_increase_rate": 5.0,
"pt_temperature_model": "Exponential",
"pt_replica_exchange_model": "Neighbours",
"bit_precision": 64,
"auto_tuning": 0,
"scaling_factor": 1.0,
"scaling_bit_precision": 32,
"start_progress_probability": 0.99,
"end_progress_probability": 0.01,
"annealing_steps": 0.5,
"sampling_walk_count": 100,
"sampling_walk_length": 100,
"sampling_distance": 10,
"random_seed": None,
"random_seed_increment": 1
}