Fixstars Amplifyยถ

Fixstars Amplify Annealing Engine v1ยถ

Fixstars Amplify Annealing Engine (Amplify AE) is a solver provided by Fixstars Amplify. It uses heuristic algorithms based on simulated annealing on GPUs, leveraging their parallel computing capabilities to search for solutions with high speed and accuracy.

Tip

A free API token is available upon user registration.

Solver specification:

Binary variable

Ising variable

Integer variable

Real variable

Objective function

4th

-

-

-

Equality constraint

4th

-

-

-

Inequality constraint

4th

-

-

-

Binary variable

Ising variable

Integer variable

Real variable

Objective function

4th

-

-

-

Equality constraint

4th*

-

-

-

Inequality constraint

4th*

-

-

-

*: must give a penalty function.

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

solver

Solver

Set the solve mode for Amplify AE. The default is Constraint. By setting it to Pubo or Qubo, you can perform solves that emulate the PUBO / QUBO solvers. For details, please refer to the Amplify AE documentation.

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:

Here is an example configuration. For parameter details, please refer to the Amplify AE documentation.

from amplify import AmplifyAEClient
from datetime import timedelta

client = AmplifyAEClient()

# Set API token
client.token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# Set the solver mode
client.solver = "Constraint" # For general (Default)
# client.solver = "Pubo"  # For PUBO simulation
# client.solver = "Qubo"  # For QUBO simulation

# Set timeout to 1 second
client.parameters.time_limit_ms = 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.duplicate_solutions = True
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 and GPU name:

>>> client.version
'1.0.0+V100'

Obtain detailed execution time:

# Get GPU annealing time
>>> print(result.client_result.execution_time_ms)
0:00:01.008328
# Get queue wait time
>>> print(result.client_result.queue_time_ms)
0:00:00.000108
# Get the time of request reception
>>> print(result.client_result.submitted_at)
2025-08-25 17:37:38.553593+09:00
# Get the time when the request processing started
>>> print(result.client_result.started_at)
2025-08-25 17:37:38.553701+09:00

Obtain runtime parameter information:

# Number of GPUs used for solving
>>> result.client_result.num_gpus
1
# Total flip count of all GPUs tried until the execution result is returned
>>> result.client_result.num_flips
1567467520
# Number of solutions (samples) obtained until the execution result is returned
>>> result.client_result.num_samplings
58

[Deprecated] Fixstars Amplify Annealing Engine v0ยถ

Deprecated

Amplify AE v0 is now deprecated. Accordingly, amplify.FixstarsClient is also deprecated. For new usage, please use Amplify AE v1 and amplify.AmplifyAEClient.

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"
})