Dai Nippon Printing¶
DNP Annealing Software (DAS)¶
Dai Nippon Printing offers annealing software, which runs on computers equipped with GPUs and can handle quadratic problems of binary or Ising variables.
The Amplify SDK provides DASClient
, by which one can formulate a problem using amplify and execute it with DAS on computers where pysoan module is installed.
Tip
To execute DAS, pysoan module is required. Sign a contract with DNP to install and setup DAS.
- Solver Specification:
Client class |
|
API reference |
Binary variable |
Ising variable |
Integer variable |
Real variable |
|
---|---|---|---|---|
Objective function |
2nd |
2nd |
- |
- |
Equality constraint |
- |
- |
- |
- |
Inequality constraint |
- |
- |
- |
- |
- Client class:
It has the common interface of the client class.
- Configuration example:
from amplify import DASClient
client = DASClient()
# Set whether automatically choose the annealing parameters
client.parameters.auto = True
# Set the device on which the solver runs
client.parameters.proc = "GPU"
- Execution example:
from amplify import Model, Constraint, VariableGenerator, equal_to, solve
# Define decision variables and the objective function
g = VariableGenerator()
s = g.array("Ising", 3)
f = s[0] * s[1] + s[1] * s[2] + s[2] * s[0]
c = equal_to(s[0] * a[2] - s[1], 0)
# Create a model
model = Model(f, c)
# Run the solver
result = solve(model, client)
# Print API execution time
print(result.execution_time)
Obtain the directory path where pysoan module is installed:
>>> client.library_path
'<PATH_TO_MODULE>/pysoan/__init__.py'
Obtain the pysoan module version:
>>> client.version
'v1.0.3'
Note
DASClient
internally uses the “(a) Method using coefficient lists” method described in Chapter 2.4 of the user manual of DAS.