Name | qubo-solver JSON |
Version |
0.0.1
JSON |
| download |
home_page | None |
Summary | A Quadratic Unconstrained Binary Optimization (QUBO) solver library using quantum and classical approaches. |
upload_time | 2025-09-04 08:38:45 |
maintainer | None |
docs_url | None |
author | None |
requires_python | <3.13,>=3.10 |
license | MIT-derived |
keywords |
combinatorial
optimization
quantum
qubo
solver
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Qubo Solver
Solving combinatorial optimization (CO) problems using quantum computing is one of those promising applications for the near term. The Quadratic Unconstrained Binary Optimization (QUBO) (also known as unconstrained binary quadratic programming) model enables to formulate many CO problems that can be tackled using quantum hardware. QUBO offers a wide range of applications from finance and economics to machine learning.
The Qubo Solver is a Python library designed for solving Quadratic Unconstracined Binary Optimization (QUBO) problems on a neutral atom quantum processor.
The core of the library is focused on the development of several algorithms for solving QUBOs: classical (tabu-search, simulated annealing, ...), quantum (Variational Quantum Algorithms, Quantum Adiabatic Algorithm, ...) or hybrid quantum-classical.
Users setting their first steps into quantum computing will learn how to implement the core algorithm in a few simple steps and run it using the Pasqal Neutral Atom QPU. More experienced users will find this library to provide the right environment to explore new ideas - both in terms of methodologies and data domain - while always interacting with a simple and intuitive QPU interface.
## Development tools
## Installation
### Install as a dependency
Using `hatch`, `uv` or any pyproject-compatible Python manager
Edit file `pyproject.toml` to add the line
```
"qubo-solver"
```
### Using `pip` or `pipx`
To install the `pipy` package using `pip` or `pipx`
1. Create a `venv` if that's not done yet
```sh
$ python -m venv venv
```
2. Enter the venv
```sh
$ . venv/bin/activate
```
3. Install the package
```sh
$ pip install qubo-solver
# or
$ pipx install qubo-solver
```
Alternatively, you can also:
* install with `pip` in development mode by simply running `pip install -e .`. Notice that in this way
you will install all the dependencies, including extras.
* install it with `conda` by simply using `pip` inside the Conda environment.
### Install on Windows
Note the package is not compatible with Windows systems. We recommend using the Windows Subsystem for Linux (WSL).
## QuickStart
### With a quantum solver
```python
from qubosolver import QUBOInstance
from qubosolver.config import SolverConfig
from qubosolver.solver import QuboSolver
from qoolqit._solvers.data import BackendConfig
from qoolqit._solvers.types import BackendType
# define QUBO
Q = torch.tensor([[1.0, 0.0], [0.0, 1.0]])
instance = QUBOInstance(coefficients=Q)
# Create a SolverConfig object to use a quantum backend
config = SolverConfig(use_quantum=True, backend_config = BackendConfig(backend=BackendType.QUTIP))
# Instantiate the quantum solver.
solver = QuboSolver(instance, config)
# Solve the QUBO problem.
solution = solver.solve()
```
### With a classical solver
```python
from qubosolver import QUBOInstance
from qubosolver.config import ClassicalConfig, SolverConfig
from qubosolver.solver import QuboSolverClassical, QuboSolverQuantum
# define QUBO
Q = torch.tensor([[1.0, 0.0], [0.0, 1.0]])
instance = QUBOInstance(coefficients=Q)
# Create a SolverConfig object with classical solver options.
classical_config = ClassicalConfig(
classical_solver_type="cplex",
cplex_maxtime=10.0,
cplex_log_path="test_solver.log",
)
config = SolverConfig(use_quantum=False, classical=classical_config)
# Instantiate the classical solver via the pipeline's classical solver dispatcher.
classical_solver = QuboSolver(instance, config)
# Solve the QUBO problem.
solution = classical_solver.solve()
```
## Documentation
- [Documentation](https://pasqal-io.github.io/qubo-solver/latest/)
- [Notebooks Tutorials](https://pasqal-io.github.io/qubo-solver/latest/tutorial/01-dataset-generation-and-loading/).
- [Full API documentation](https://pasqal-io.github.io/qubo-solver/latest/api/qubo_instance/).
## Getting in touch
- [Pasqal Community Portal](https://community.pasqal.com/) (forums, chat, tutorials, examples, code library).
- [Github repository](https://github.com/pasqal-io/qubo-solver) (source code, issue tracker).
- [Professional Support](https://www.pasqal.com/contact-us/) (if you need tech support, custom licenses, a variant of this library optimized for your workload, your own QPU, remote access to a QPU, ...)
Raw data
{
"_id": null,
"home_page": null,
"name": "qubo-solver",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.10",
"maintainer_email": null,
"keywords": "combinatorial, optimization, quantum, qubo, solver",
"author": null,
"author_email": "Manu Lahariya <manu.lahariya@pasqal.com>, Charles Moussa <c.moussa@pasqal.com>, Yassine Naghmouchi <yassine.naghmouchi@pasqal.com>, Quentin Ma <quentin.ma@pasqal.com>, Monique Garzillo <monique.garzillo@pasqal.com>, Daniele Cucurachi <daniele.cucurachi@pasqal.com>",
"download_url": "https://files.pythonhosted.org/packages/e6/fb/768a288271e1fabbcf827c29d93a742030823b337754e2d928fff22f8890/qubo_solver-0.0.1.tar.gz",
"platform": null,
"description": "# Qubo Solver\n\nSolving combinatorial optimization (CO) problems using quantum computing is one of those promising applications for the near term. The Quadratic Unconstrained Binary Optimization (QUBO) (also known as unconstrained binary quadratic programming) model enables to formulate many CO problems that can be tackled using quantum hardware. QUBO offers a wide range of applications from finance and economics to machine learning.\nThe Qubo Solver is a Python library designed for solving Quadratic Unconstracined Binary Optimization (QUBO) problems on a neutral atom quantum processor.\n\nThe core of the library is focused on the development of several algorithms for solving QUBOs: classical (tabu-search, simulated annealing, ...), quantum (Variational Quantum Algorithms, Quantum Adiabatic Algorithm, ...) or hybrid quantum-classical.\n\nUsers setting their first steps into quantum computing will learn how to implement the core algorithm in a few simple steps and run it using the Pasqal Neutral Atom QPU. More experienced users will find this library to provide the right environment to explore new ideas - both in terms of methodologies and data domain - while always interacting with a simple and intuitive QPU interface.\n\n## Development tools\n\n## Installation\n\n### Install as a dependency\n\nUsing `hatch`, `uv` or any pyproject-compatible Python manager\n\nEdit file `pyproject.toml` to add the line\n\n```\n \"qubo-solver\"\n```\n\n### Using `pip` or `pipx`\n\nTo install the `pipy` package using `pip` or `pipx`\n\n1. Create a `venv` if that's not done yet\n\n```sh\n$ python -m venv venv\n\n```\n\n2. Enter the venv\n\n```sh\n$ . venv/bin/activate\n```\n\n3. Install the package\n\n```sh\n$ pip install qubo-solver\n# or\n$ pipx install qubo-solver\n```\n\nAlternatively, you can also:\n\n* install with `pip` in development mode by simply running `pip install -e .`. Notice that in this way\n you will install all the dependencies, including extras.\n* install it with `conda` by simply using `pip` inside the Conda environment.\n\n### Install on Windows\n\nNote the package is not compatible with Windows systems. We recommend using the Windows Subsystem for Linux (WSL).\n\n## QuickStart\n\n### With a quantum solver\n\n```python\nfrom qubosolver import QUBOInstance\nfrom qubosolver.config import SolverConfig\nfrom qubosolver.solver import QuboSolver\nfrom qoolqit._solvers.data import BackendConfig\nfrom qoolqit._solvers.types import BackendType\n\n# define QUBO\nQ = torch.tensor([[1.0, 0.0], [0.0, 1.0]])\ninstance = QUBOInstance(coefficients=Q)\n\n# Create a SolverConfig object to use a quantum backend\nconfig = SolverConfig(use_quantum=True, backend_config = BackendConfig(backend=BackendType.QUTIP))\n\n# Instantiate the quantum solver.\nsolver = QuboSolver(instance, config)\n\n# Solve the QUBO problem.\nsolution = solver.solve()\n```\n\n### With a classical solver\n\n```python\nfrom qubosolver import QUBOInstance\nfrom qubosolver.config import ClassicalConfig, SolverConfig\nfrom qubosolver.solver import QuboSolverClassical, QuboSolverQuantum\n\n# define QUBO\nQ = torch.tensor([[1.0, 0.0], [0.0, 1.0]])\ninstance = QUBOInstance(coefficients=Q)\n\n# Create a SolverConfig object with classical solver options.\nclassical_config = ClassicalConfig(\n classical_solver_type=\"cplex\",\n cplex_maxtime=10.0,\n cplex_log_path=\"test_solver.log\",\n)\nconfig = SolverConfig(use_quantum=False, classical=classical_config)\n\n# Instantiate the classical solver via the pipeline's classical solver dispatcher.\nclassical_solver = QuboSolver(instance, config)\n\n# Solve the QUBO problem.\nsolution = classical_solver.solve()\n```\n\n\n## Documentation\n\n- [Documentation](https://pasqal-io.github.io/qubo-solver/latest/)\n- [Notebooks Tutorials](https://pasqal-io.github.io/qubo-solver/latest/tutorial/01-dataset-generation-and-loading/).\n- [Full API documentation](https://pasqal-io.github.io/qubo-solver/latest/api/qubo_instance/).\n\n\n## Getting in touch\n\n- [Pasqal Community Portal](https://community.pasqal.com/) (forums, chat, tutorials, examples, code library).\n- [Github repository](https://github.com/pasqal-io/qubo-solver) (source code, issue tracker).\n- [Professional Support](https://www.pasqal.com/contact-us/) (if you need tech support, custom licenses, a variant of this library optimized for your workload, your own QPU, remote access to a QPU, ...)\n",
"bugtrack_url": null,
"license": "MIT-derived",
"summary": "A Quadratic Unconstrained Binary Optimization (QUBO) solver library using quantum and classical approaches.",
"version": "0.0.1",
"project_urls": {
"Documentation": "https://pasqal-io.github.io/qubo-solver/",
"Issues": "https://github.com/pasqal-io/qubo-solver/issues",
"Source": "https://github.com/pasqal-io/qubo-solver"
},
"split_keywords": [
"combinatorial",
" optimization",
" quantum",
" qubo",
" solver"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3496e418c3154dc9238859568db6b17943e1ee4b786412c9a2d1c78d8cd67583",
"md5": "1cd4f3ad61ee5a8fd2f1891bc5f24f16",
"sha256": "d6f8abce77145bf20ff842bfaa3d90d0beb78071f947bd85e2eb0b65249f4aef"
},
"downloads": -1,
"filename": "qubo_solver-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1cd4f3ad61ee5a8fd2f1891bc5f24f16",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.10",
"size": 53208,
"upload_time": "2025-09-04T08:38:43",
"upload_time_iso_8601": "2025-09-04T08:38:43.937653Z",
"url": "https://files.pythonhosted.org/packages/34/96/e418c3154dc9238859568db6b17943e1ee4b786412c9a2d1c78d8cd67583/qubo_solver-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e6fb768a288271e1fabbcf827c29d93a742030823b337754e2d928fff22f8890",
"md5": "fb6a0abe811dbc6b5008847143ff09bb",
"sha256": "c841c8f109259877dbbd3200c34f579ee187d9a9006867e7b97f1a170e76caa3"
},
"downloads": -1,
"filename": "qubo_solver-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "fb6a0abe811dbc6b5008847143ff09bb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.10",
"size": 48575,
"upload_time": "2025-09-04T08:38:45",
"upload_time_iso_8601": "2025-09-04T08:38:45.286704Z",
"url": "https://files.pythonhosted.org/packages/e6/fb/768a288271e1fabbcf827c29d93a742030823b337754e2d928fff22f8890/qubo_solver-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-04 08:38:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pasqal-io",
"github_project": "qubo-solver",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "qubo-solver"
}