QUBOTools.jl
๐งฌ Tools for Quadratic Unconstrained Binary Optimization models in Julia
Install / Use
/learn @JuliaQUBO/QUBOTools.jlREADME
QUBOTools.jl
<div align="center"> <a href="/docs/src/assets/"> <img src="/docs/src/assets/logo.svg" width=400px alt="QUBOTools.jl" /> </a> <br> <a href="https://arxiv.org/abs/2307.02577"> <img src="https://img.shields.io/badge/arXiv-2307.02577-b31b1b.svg" alt="arXiv"/> </a> <a href="https://codecov.io/gh/psrenergy/QUBOTools.jl" > <img src="https://codecov.io/gh/JuliaQUBO/QUBOTools.jl/branch/main/graph/badge.svg?token=W7QJWS5HI4"/> </a> <a href="/actions/workflows/ci.yml"> <img src="https://github.com/JuliaQUBO/QUBOTools.jl/actions/workflows/ci.yml/badge.svg?branch=main" alt="CI" /> </a> <a href="https://www.youtube.com/watch?v=OTmzlTbqdNo"> <img src="https://img.shields.io/badge/JuliaCon-2022-9558b2" alt="JuliaCon 2022"> </a> <a href="https://juliaqubo.github.com/QUBOTools.jl/dev"> <img src="https://img.shields.io/badge/docs-dev-blue.svg" alt="Docs"> </a> <a href="https://doi.org/10.5281/zenodo.13879606"> <img src="https://zenodo.org/badge/DOI/10.5281/zenodo.13879606.svg" alt="DOI"> </a> <br> <i>Tools for Quadratic Unconstrained Binary Optimization models in Julia</i> </div>Introduction
The QUBOTools.jl package implements codecs for QUBO (Quadratic Unconstrained Binary Optimization) instances.
Its purpose is to provide fast and reliable conversion between common formats used to represent such problems.
This allows for rapid leverage of many emergent computing architectures whose job is to solve this kind of optimization problem.
The term QUBO is widely used when referring to boolean problems of the form
$$\begin{array}{rl} \min & \mathbf{x}'\ Q\ \mathbf{x} \ \text{s.t.} & \mathbf{x} \in \mathbb{B}^{n} \end{array}$$
with symmetric $Q \in \mathbb{R}^{n \times n}$. Nevertheless, this package also fully supports Ising Models, given by
$$\begin{array}{rl} \min & \mathbf{s}'\ J\ \mathbf{s} + \mathbf{h}'\ \mathbf{s} \ \text{s.t.} & \mathbf{s} \in \left\lbrace-1, 1\right\rbrace^{n} \end{array}$$
where $J \in \mathbb{R}^{n \times n}$ is triangular and $\mathbf{h} \in \mathbb{R}^{n}$.
Getting Started
Installation
import Pkg
Pkg.add("QUBOTools")
Build the Documentation Locally
From the repository root, use:
julia --project=docs -e 'using Pkg; Pkg.develop(path=pwd()); Pkg.instantiate()'
julia --project=docs docs/make.jl --skip-deploy
Basic Usage
using QUBOTools
model = QUBOTools.read_model("problem.json")
QUBOTools.write_model("problem.qubo", model)
Supported Formats
| Format | Read | Write | Model | Solutions | Start | Metadata | | :--------------------------------: | :---: | :---: | :---: | :-------: | :---: | :------: | | BQPJSON | โ | โ | โ | โ | โ | โ | | MiniZinc | โ | โ | โ | โ | โ | โ | | QUBin | โ | โ | โ | โ | โ | โ | | Qubist | โ | โ | โ | โ | โ | โ | | QUBO | โ | โ | โ | โ | โ | โ | | Rudy | โ | โ | โ | โ | โ | โ |
<div align="center"> <a href="https://github.com/JuliaQUBO/QUBO.jl"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/JuliaQUBO/QUBO.jl/refs/heads/master/docs/src/assets/logo-collaboration-dark.png"> <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/JuliaQUBO/QUBO.jl/refs/heads/master/docs/src/assets/logo-collaboration-light.png"> <img alt="QUBO.jl Collaboration" src=""> </picture> </a> </div>
Related Skills
node-connect
348.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
348.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
348.2kQQBot ๅฏๅชไฝๆถๅ่ฝๅใไฝฟ็จ <qqmedia> ๆ ็ญพ๏ผ็ณป็ปๆ นๆฎๆไปถๆฉๅฑๅ่ชๅจ่ฏๅซ็ฑปๅ๏ผๅพ็/่ฏญ้ณ/่ง้ข/ๆไปถ๏ผใ
