Fixstars Amplify

Fixstars Amplify Annealing Engine

The QUBO solver provided by Fixstars Amplify uses an algorithm based on Simulated Annealing implemented on GPUs.

Tip

A free API token is available upon user registration.

Solver specification:

Binary variable

Ising variable

Integer variable

Real variable

Objective function

2nd

-

-

-

Equality constraint

2nd*

-

-

-

Inequality constraint

2nd*

-

-

-

*: must give a penalty function.

Client class:

In addition to the common interface of the client class, it has the following attributes.

Attribute

Data type

Details

compression

bool

Compress the requested data before sending. The default is True; setting it to False will reduce request data compression time, but may increase transmission time.

Configuration example:
from amplify import FixstarsClient
from datetime import timedelta

client = FixstarsClient()

# Set API token
client.token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# Set timeout to 1 second
client.parameters.timeout = timedelta(milliseconds=1000)

# Set the number of GPUs to use to 1
client.parameters.num_gpus = 1

# Get all solutions obtained during the search
client.parameters.outputs.num_outputs = 0
Execution example:
from amplify import Model, VariableGenerator, solve

# Define decision variables and the objective function
g = VariableGenerator()
q = g.array("Binary", 2)
f = q[0] * q[1] + q[0] - q[1] + 1

# Create a model
model = Model(f)

# Run the solver
result = solve(model, client)

Obtain the solver version:

>>> client.version
'v0.8.5-V100'

Obtain detailed execution time:

>>> result.client_result.execution_time
FixstarsClient.Result.ExecutionTime({
"annealing_time": 9988.965504,
"queue_time": 0.047615,
"cpu_time": 0.19356399999999996,
"time_stamps": [
    8.764683
]
})

Obtain runtime parameter information:

>>> result.client_result.execution_parameters
FixstarsClient.Result.ExecutionParameters({
"num_gpus": 1,
"timeout": 10000,
"num_iterations": 585,
"penalty_calibration": false,
"penalty_multipliers": [],
"version": "v0.8.7-V100"
})