ToQUBO.jl Documentation

ToQUBO.jl is a Julia Package intended to automatically translate models written in JuMP, into the QUBO mathematical optimization framework.

Quick Start

Installation

julia> import Pkg

julia> Pkg.add("ToQUBO")

Example

using JuMP
using ToQUBO
using DWave

model = Model(() -> ToQUBO.Optimizer(DWave.Neal.Optimizer))

@variable(model, x[1:3], Bin)
@objective(model, Max, 1.0*x[1] + 2.0*x[2] + 3.0*x[3])
@constraint(model, 0.3*x[1] + 0.5*x[2] + 1.0*x[3] <= 1.6)

optimize!(model)

solution_summary(model)
* Solver : Virtual QUBO Model

* Status
  Result count       : 24
  Termination status : LOCALLY_SOLVED
  Message from the solver:
  ""

* Candidate solution (result #1)
  Primal status      : FEASIBLE_POINT
  Dual status        : NO_SOLUTION
  Objective value    : 5.00000e+00

* Work counters
  Solve time (sec)   : 1.98894e-01

Citing ToQUBO.jl

If you use ToQUBO.jl in your work, we kindly ask you to include the following citation:

@software{toqubo:2023,
  author       = {Pedro Maciel Xavier and Pedro Ripper and Tiago Andrade and Joaquim Dias Garcia and David E. Bernal Neira},
  title        = {{ToQUBO.jl}},
  month        = {feb},
  year         = {2023},
  publisher    = {Zenodo},
  version      = {v0.1.5},
  doi          = {10.5281/zenodo.7644291},
  url          = {https://doi.org/10.5281/zenodo.7644291}
}