skillfed

dwave-optimization

Enables the formulation of nonlinear models for industrial optimization problems.

dwave-optimization v0.7.2 95.3K downloads/30d#13,268 on PyPI30
Permissive license Apache-2.0 Active released

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-optimization

uv

uv add dwave-optimization

poetry

poetry add dwave-optimization

Installing 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

Operating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPython

Tags

nonlinear optimization modelingquantum hybrid solver formulationd-wave stride optimizationsymbolic optimization modelscombinatorial optimization problemsarray-based model constructionindustrial optimization formulation
quantum-optimizationhybrid-solvercombinatorial-optimization

More Mathematics packages

Further reading