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:

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.