TOSHIBA¶
SQBM+ v2.0.3¶
SQBM+ is a TOSHIBA-developed quantum-inspired optimization solution with a simulated bifurcation machine at its core.
Tip
Available as a paid option on AWS Marketplace or Fixstars Amplify.
Tip
The available solvers and variable types vary depending on the version of the SQBM+ server.
You can check the version from version
property of this client.
- Solver specification:
Client class
API method
REST API (HDF5/JSON)
API reference
When
Qubo
is set in thesolver
property (default):Binary variable
Ising variable
Integer variable
Real variable
Objective function
2nd
-
-
-
Equality constraint
-
-
-
-
Inequality constraint
-
-
-
-
When
Qplib
is set in thesolver
property:Binary variable
Ising variable
Integer variable
Real variable
Objective function
2nd
-
-
2nd
Equality constraint
1st
-
-
1st
Inequality constraint
1st
-
-
1st
When
Pubo
is set in thesolver
property:Binary variable
Ising variable
Integer variable
Real variable
Objective function
4th
-
-
4th
Equality constraint
-
-
-
-
Inequality constraint
-
-
-
-
- Client class:
In addition to the common interface, the client class has the following attributes and a method.
Attribute
Data type
Details
Compress the request data before sending. The default value is
True
; setting toFalse
will reduce the compression time of the request data, but may increase the communication time.Method
Return type
Details
Query the health check API to verify that the solver is working properly.
- Configuration example:
from amplify import ToshibaSQBM2Client from datetime import timedelta client = ToshibaSQBM2Client() # Set API token # (Not required if using AWS version) client.token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # Set URL (required if using AWS version) # client.url = "http://xxx.xxx.xxx.xxx:8000/" # Specify a solver # (Qubo, Qplib, or Pubo) client.solver = "Qplib" # Set execution time to 1 second client.parameters.timeout = timedelta(milliseconds=1000)
- Execution example:
from amplify import Model, VariableGenerator, solve # Create 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)
Perform health check API:
>>> client.health_check() True
Obtain the solver version:
>>> client.version '2.0.3'
Obtain runtime parameter information:
>>> result.client_result.param ToshibaSQBM2Client.Parameters({ "steps": 1, "dt": 1.0, "C": 0.1502210944890976, "algo": 204 })