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
}

QPU Provider

None

Was this page helpful?