dwave-optimization
Enables the formulation of nonlinear models for industrial optimization problems.
What it is and what it does
dwave-optimization is a library for building nonlinear optimization models using a symbolic, array-based syntax inspired by NumPy. It lets you express combinatorial and nonlinear optimization problems—like facility assignment, routing, or resource allocation—as Python code, then submit those models to D-Wave's Stride hybrid solver for solution. The package handles model construction and provides generators for common problem types; the actual solving happens through D-Wave's hybrid quantum-classical infrastructure.
The library targets industrial optimization workflows where traditional solvers struggle with large, nonlinear, or combinatorial search spaces. You define decision variables (lists, arrays, or constants), express constraints and objectives symbolically, and the package translates that into a form Stride can process. It depends only on NumPy and is available as precompiled wheels for Python 3.10–3.14 on major platforms.
Use it for:
- Formulate quadratic assignment problems (assigning facilities to locations to minimize cost) for hybrid solving
- Build nonlinear constraint models for industrial scheduling or resource allocation tasks
- Prototype combinatorial optimization problems before submitting to D-Wave's Stride solver
- Generate standard optimization problem instances (e.g., TSP variants) using built-in model generators
- Express symbolic optimization objectives that would be tedious to encode manually in lower-level APIs
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Formulates nonlinear optimization models symbolically using NumPy-inspired syntax for use with D-Wave's Stride hybrid solver.
Yes, if you are actively using or evaluating D-Wave's Stride solver for nonlinear or combinatorial optimization. The package is actively maintained, has no known vulnerabilities, and provides a clean Python interface for model formulation. Install friction is moderate but manageable. Not worth installing if you have no D-Wave solver access or are looking for a general-purpose local optimizer.
Install
dwave-optimization on PyPI
pip
pip install dwave-optimizationuv
uv add dwave-optimizationpoetry
poetry add dwave-optimizationInstalling dwave-optimization
Before you install
Medium install friction due to compiled wheels across multiple Python versions and architectures. Actively maintained with recent release (22 days old) and ongoing repository activity.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions.
Quickstart
pip install dwave-optimization
from dwave.optimization import Model
import numpy as np
model = Model()
flows = model.constant([[0, 4, 2], [3, 0, 7], [1, 8, 0]])
assignment = model.list(3)
model.minimize((flows * assignment).sum())
Requires Python 3.10 or later; precompiled wheels available for macOS, Windows, and Linux on x86_64 and ARM architectures.
Verify before relying
- Whether D-Wave Stride solver access or additional setup is required beyond this package to actually solve models
- Performance characteristics and scalability limits for model complexity
- Integration requirements with the broader D-Wave Ocean SDK ecosystem
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — numpy |
| Maintenance | actively maintained — 22 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 95,340/month — #13,268 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dwave_optimization-0.7.2-cp310-cp310-macosx_10_13_x86_64.whl; dwave_optimization-0.7.2-cp310-cp310-macosx_11_0_arm64.whl; dwave_optimization-0.7.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; dwave_optimization-0.7.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; dwave_optimization-0.7.2-cp310-cp310-win_amd64.whl; dwave_optimization-0.7.2-cp311-cp311-macosx_10_13_x86_64.whl; dwave_optimization-0.7.2-cp311-cp311-macosx_11_0_arm64.whl; dwave_optimization-0.7.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; dwave_optimization-0.7.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; dwave_optimization-0.7.2-cp311-cp311-win_amd64.whl; dwave_optimization-0.7.2-cp312-abi3-macosx_10_13_x86_64.whl; dwave_optimization-0.7.2-cp312-abi3-macosx_11_0_arm64.whl; dwave_optimization-0.7.2-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; dwave_optimization-0.7.2-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; dwave_optimization-0.7.2-cp312-abi3-win_amd64.whl; dwave_optimization-0.7.2-cp314-cp314t-macosx_10_15_x86_64.whl; dwave_optimization-0.7.2-cp314-cp314t-macosx_11_0_arm64.whl; dwave_optimization-0.7.2-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; dwave_optimization-0.7.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; dwave_optimization-0.7.2-cp314-cp314t-win_amd64.whl
Tags
More Mathematics packages
NetworkX provides data structures and…
permissive · top 1,000 on PyPI
kiwisolverkiwisolver is a Python binding to a fast C++…
permissive · top 1,000 on PyPI
sympySymPy is a Python library for symbolic…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
torchPyTorch provides GPU-accelerated tensor…
permissive · top 1,000 on PyPI
onnxruntimeonnxruntime loads and executes Open Neural…
permissive · top 1,000 on PyPI
dwave-graphsProvides graph representations and algorithms…
permissive · top 15,000 on PyPI
dwave-networkxExtends NetworkX with tools for D-Wave quantum…
permissive · top 15,000 on PyPI
dwave-samplersProvides a collection of classical and hybrid…
permissive · top 15,000 on PyPI
dwave-cloud-clientD-Wave Cloud Client provides a Python interface…
permissive · top 15,000 on PyPI
casadiCasADi is a framework for algorithmic…
copyleft · top 5,000 on PyPI
gekkoGEKKO is a Python package for optimization and…
permissive · top 15,000 on PyPI
directsearchSolves unconstrained and linearly constrained…
copyleft · top 15,000 on PyPI
optlangOptlang formulates and solves linear,…
permissive · top 15,000 on PyPI
pyomoPyomo is a Python framework for formulating and…
permissive · top 5,000 on PyPI
salabimSalabim is a Python library for discrete event…
permissive · top 15,000 on PyPI