Skip to main content

Quantagonia

Quantagonia offers a Hybrid Quantum Platform for solving complex computational problems.

Solvers

ModelBackend
BinaryQuadraticModelquantagonia.qubo
MPSFilequantagonia.mps

QuantagoniaParameterModel

  • sense (str: "MAXIMIZE" or "MINIMIZE") default "MINIMIZE"
  • timelimit (float) default 86400
  • relative_gap (float) default 1e-4
  • absolute_gap (float) default 1e-9
  • heuristics_only (bool) default False. Only for QUBO problems

Binary Quadratic Model

import strangeworks as sw
from strangeworks_optimization import StrangeworksOptimizer
from strangeworks_optimization_models.parameter_models import QuantagoniaParameterModel
from dimod import BinaryQuadraticModel

sw.authenticate('your-api-key')

linear = {1: -2, 2: -2, 3: -3, 4: -3, 5: -2}
quadratic = {(1, 2): 2, (1, 3): 2, (2, 4): 2, (3, 4): 2, (3, 5): 2, (4, 5): 2}
model = BinaryQuadraticModel(linear, quadratic, "BINARY")

options = QuantagoniaParameterModel(sense="MINIMIZE")

solver = "quantagonia.qubo"

optimizer = StrangeworksOptimizer(
model=model, solver=solver, options=options, resource_slug=resource_slug
)
sw_job = optimizer.run()

optimizer = StrangeworksOptimizer(model=model, solver=solver, options=options)
sw_job = optimizer.run()

print(f"Job slug: {sw_job.slug}")
print(f"Job status: {optimizer.status(sw_job.slug)}")

results = optimizer.results(sw_job.slug)

Mathemical Programming System

import strangeworks as sw
from strangeworks_optimization import StrangeworksOptimizer
from strangeworks_optimization_models.problem_models import MPSFile
from strangeworks_optimization_models.parameter_models import QuantagoniaParameterModel
from dimod import BinaryQuadraticModel

sw.authenticate('your-api-key')

file = "example.mps"
model = MPSFile.read_file(file)

options = QuantagoniaParameterModel(sense="MINIMIZE")

solver = "quantagonia.mps"

optimizer = StrangeworksOptimizer(model=model, solver=solver, options=options)
sw_job = optimizer.run()

print(f"Job slug: {sw_job.slug}")
print(f"Job status: {optimizer.status(sw_job.slug)}")

results = optimizer.results(sw_job.slug)