Skip to main content

Enables the formulation of nonlinear models for industrial optimization problems.

Project description

https://img.shields.io/pypi/v/dwave-optimization.svg https://img.shields.io/pypi/pyversions/dwave-optimization.svg https://circleci.com/gh/dwavesystems/dwave-optimization.svg?style=svg

dwave-optimization

dwave-optimization enables the formulation of nonlinear models for industrial optimization problems. The package includes:

  • A class for nonlinear models used by the Leap service’s quantum-classical hybrid nonlinear-program solver.

  • Model generators for common optimization problems.

Example Usage

The flow-shop scheduling problem is a variant of the renowned job-shop scheduling optimization problem. Given n jobs to schedule on m machines, with specified processing times for each job per machine, minimize the makespan (the total length of the schedule for processing all the jobs). For every job, the i-th operation is executed on the i-th machine. No machine can perform more than one operation simultaneously.

This small example builds a model for optimizing the schedule for processing two jobs on three machines.

from dwave.optimization.generators import flow_shop_scheduling

processing_times = [[10, 5, 7], [20, 10, 15]]
model = flow_shop_scheduling(processing_times=processing_times)

For explanations of the terminology, see the Ocean glossary.

See the documentation for more examples.

Installation

Installation from PyPI:

pip install dwave-optimization

During package development, it is often convenient to use an editable install. See meson-python’s editable installs for more details.

pip install -r requirements.txt
pip install --no-build-isolation --config-settings=editable-verbose=true --editable .

Testing

All code should be thoroughly tested and all pull requests should include tests.

To run the Python tests, first install the package using an editable install as described above. The tests can then be run with unittest.

python -m unittest

To run the C++ tests, first install the project dependencies, then setup a meson build directory. You must configure the build as a debug build for the tests to run.

pip install -r requirements.txt
meson setup build -Dbuildtype=debug

You can then run the tests using meson’s test framework.

meson test -Cbuild

License

Released under the Apache License 2.0. See LICENSE file.

Contributing

Ocean’s contributing guide has guidelines for contributing to Ocean packages.

dwave-optimization includes some formatting customization in the .clang-format and setup.cfg files.

Release Notes

dwave-optimization makes use of reno to manage its release notes.

When making a contribution to dwave-optimization that will affect users, create a new release note file by running

reno new your-short-descriptor-here

You can then edit the file created under releasenotes/notes/. Remove any sections not relevant to your changes. Commit the file along with your changes.

See reno’s user guide for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dwave_optimization-0.6.6.tar.gz (341.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dwave_optimization-0.6.6-cp314-cp314t-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.14tWindows x86-64

dwave_optimization-0.6.6-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

dwave_optimization-0.6.6-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

dwave_optimization-0.6.6-cp314-cp314t-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

dwave_optimization-0.6.6-cp314-cp314t-macosx_10_13_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.14tmacOS 10.13+ x86-64

dwave_optimization-0.6.6-cp312-abi3-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.12+Windows x86-64

dwave_optimization-0.6.6-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

dwave_optimization-0.6.6-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

dwave_optimization-0.6.6-cp312-abi3-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

dwave_optimization-0.6.6-cp312-abi3-macosx_10_13_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12+macOS 10.13+ x86-64

dwave_optimization-0.6.6-cp311-cp311-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.11Windows x86-64

dwave_optimization-0.6.6-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

dwave_optimization-0.6.6-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

dwave_optimization-0.6.6-cp311-cp311-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dwave_optimization-0.6.6-cp311-cp311-macosx_10_13_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 10.13+ x86-64

dwave_optimization-0.6.6-cp310-cp310-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.10Windows x86-64

dwave_optimization-0.6.6-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

dwave_optimization-0.6.6-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

dwave_optimization-0.6.6-cp310-cp310-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dwave_optimization-0.6.6-cp310-cp310-macosx_10_13_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 10.13+ x86-64

dwave_optimization-0.6.6-cp39-cp39-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.9Windows x86-64

dwave_optimization-0.6.6-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

dwave_optimization-0.6.6-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

dwave_optimization-0.6.6-cp39-cp39-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

dwave_optimization-0.6.6-cp39-cp39-macosx_10_13_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9macOS 10.13+ x86-64

File details

Details for the file dwave_optimization-0.6.6.tar.gz.

File metadata

  • Download URL: dwave_optimization-0.6.6.tar.gz
  • Upload date:
  • Size: 341.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for dwave_optimization-0.6.6.tar.gz
Algorithm Hash digest
SHA256 f50fd9cff71b259487212f88c793348e26ebe785e6c2a50ec2b62486c2060ee4
MD5 eca9bbe6ccdb5e03d41a4f655c1a4e68
BLAKE2b-256 87f24a21768048cc25c480ec7b9158ed6f047a708fe100e3001e6c2828496b91

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 e7dbdea50776d9461af6c31cc0b21d92e99eaf1f3d38786499839b0c0bdc6786
MD5 1899202a2e1df707d9b6444c0cdf984e
BLAKE2b-256 fa7f30ebc2120b2c370aea798bb1f3e64a36b3b4f1811e962b5427cec3d8d13c

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 77780ddfe5f5f6f56c61a49481d14b04383e221a514e63c67265413e442fe560
MD5 65cbafc98a432b6125a9e20ef9bb7b83
BLAKE2b-256 a5ef0ebf2fe107dea3a71ad2d4e0a966fd9ea791f0777fd6a0ae215cc6b6e583

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 acb9703e84bba5eef6e45ce2eb3d9d4aa28937ded54f36ed8ab9d856722c2c18
MD5 a17792030a685fe17005c218a668ab23
BLAKE2b-256 a57727dd295e966b750b8c9132e732287e4c853f8619ef7e96cfa3dd93ac4fe6

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59e4da53d560b6e0c408d811bc794214399c7d48fcc676d59a2e81b5a1955a04
MD5 ecf3f26414e5f2bd5053b8eb47ff3754
BLAKE2b-256 e9b76a8ef0fbdbb8486f1cb7b12764d9c283e8ab20e25ca1bf2cdcffab041db8

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp314-cp314t-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp314-cp314t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 8b5334c83a167ef8db5fee1412612a914344260b40690f80b2b1647a1ca46dd1
MD5 1b6117c8b572d5496ffba5b273bafe0d
BLAKE2b-256 13f7cfb0fb1f2b54b0693187feb99d358c7099adc03c6042e0f78c616321e358

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp312-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1c231fb5b308ac07feadaab15ccf15c7cc2a445c324386e98aa7945e2dac01ed
MD5 9afc582e511972af08ebf31bd66492a4
BLAKE2b-256 67a031f451417f61e3704dfc6a9b030a4ce7496100ab5ba1c368605c1673e004

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7a2ef6a2a907b18f87044f1e2638f8b3867132fa9ccbaa5e06ac8211340570c5
MD5 7e5ae28367cd3bcc3618417f94a892b6
BLAKE2b-256 5ae7bebc68ae18c9d8b39d904bf8503f9aa0eb71a407b851f83ab4e28714b873

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 24e5321f8cae9ef6f2a6378a7286defc619601a9f6849e8eefed19435038a49e
MD5 2d2c35912e4913d2d922b4a28b5edb43
BLAKE2b-256 6a1bf2019116fcf874ed9a3c100068cce355d4bc4387ea511b35076695fa3be7

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8eb56ee712af7054959908432cb0e1269d7b844646771ebb69175184566e8803
MD5 c18aaa447ac9e698b8912ffcff6b96c4
BLAKE2b-256 69ebf7b98b210d72ad5cd123c19843b5f1e6326b632cde0b413db4ae958d3d51

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp312-abi3-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp312-abi3-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 42de5df860c7fdceb87d4743b63c2abad9dc48afb6cf93811294e42bebb41b5a
MD5 4d7f29aa5c387dcf8c2debbef4618ddf
BLAKE2b-256 9970b716d3997205e8b31a2123503aa4cd0ebd32f733385519334f5ae5d17574

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f0bc7632b2e78c0ca67b654e51f730ddd851ffd411320be4b31f4c04c33c915c
MD5 f643ee21f05488be698b873bd6f013b4
BLAKE2b-256 fc3eb740523cd0638c67d931e24b8b14c527c80aeaaa8843a2f50945482c7d05

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cb84839a8a79e448028d3339bc0bf5115f57c5dbd18802761ff67cde65be45b0
MD5 992acdb7c10d1cd5661a81ddcae24a4b
BLAKE2b-256 53a528d659787d1f01f87fb417d09ea5b7267eba862ff21aad5b962bd1481604

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3f4d071729a03f36597522ca473b631909609125f743141b7e80b7844c326cd6
MD5 ced8f7353146954f1699f98af06c615f
BLAKE2b-256 d18c7040715442a98178d89818051093174598a40eef8094097c66814afcdc14

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c96ea2baa28b710c32df2cc693392c7454f0f9a6e81be74e91f8e5abf2dcbb61
MD5 6c1295be3481f43682cfcb55e8a5658e
BLAKE2b-256 543dde48431ce499f8665655becb3bad049177701af7ef224d52046abe016b44

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp311-cp311-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 86feaf308077d778c457339815a997961fca31fae3607c1dcce79bbdc5a43823
MD5 98a407c10a6d391713a5934f4a9c2a2b
BLAKE2b-256 a016399a995ef8a06f705cbdb5cf0f5a0c23a5ae2d8b7dfbe1d3768eef0d473c

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3ae5ad05acb21f7f61fb42c879e8365ee7ca28a9459b90f4c35c1ba0e8c9fe30
MD5 836708524b2ae6acc1c36878f9a4c012
BLAKE2b-256 98367583f3fad64172281126b0f439eac2aaf1deecc4a52453ddb60b97c63508

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c97b57f45f4b43c8173fdbbfbef1e3d20c28cc52dda6ee0422f6f19adcdd7bc6
MD5 30abfa9f71ee02da919ead91588bf089
BLAKE2b-256 c87c395ae3a17ca7cc9e5e7b60acc5c65b3adb9db1a715c45bd47acae8e10fce

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a100475955789f88c8765ebcaa4c46c1a9a8a2c1553b3d6a68b4a74f02807292
MD5 0bb79ba4717956e1bfcfb7722a8daec3
BLAKE2b-256 a1a88d771cf4eeae496ff2b636dd60f117a1e555eb432dd6483507a5b909aa78

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ffc34138acd062a1ca0b4fbe80b9e3c938704480ba901490d8c826437c403a80
MD5 5b51887fbd08791dd3f2620d473ad02a
BLAKE2b-256 f9e7f851dee9df301c2e7abf5fd5fb49610f7f30dfe38cd31b746d175c03b7ae

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp310-cp310-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b9995f1a38fd2ca0191abe52ba773eb17554600c256bc57df307607b2dc0cf4c
MD5 36c11ed367ec58542271a327d2b3e913
BLAKE2b-256 f14b7000e2780fb04c223744832379973a19fb8af82ea3529d1ff8244ecca0f5

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 65a677da1b0e6dfa06cab684c9800254db67945b7d189ae3667845e69e15afea
MD5 b82170472dabee09e1253c6008600193
BLAKE2b-256 8658b32ee888bd746b46008adce47a7c8ca98d3a4d8f74fa7b1b5cea38c1ddba

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ff748f7874a9fbe6f4bc95f6853a64eb8c56ee5f826022865411fa7a8639be9d
MD5 66d2b65acc938bf314f931ef4e187c79
BLAKE2b-256 67ce2d56422bc0b9d64f8f5daa2b4f02b7e3f9b0049bec1fab5aa6160398cd11

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9f84393857a658c98263e0cd4d9e9f087b1565b811325baf206e858adc95dfad
MD5 76cb44b63f5bb545a03b5e5cb5af532e
BLAKE2b-256 cc7fd6f0f8bf193ba6d634d26e4798435e40808de2f2630e179e6ffff5cfff25

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b35c6793589fa1dbbfcce5619453446a508e054ec8a86bf909d4c96644469b7e
MD5 11e48d21e230d1a38817182048fd80bf
BLAKE2b-256 ad0ffcaa73bdc221f61c83f6d74a124ac4773b32b2f48e5a0e8eb6e943376197

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.6-cp39-cp39-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.6-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 315ebf8f169a68a5cbcd45680b47e480cac7ebd9b7bdaa733971bac4c02ee542
MD5 5c5c33d963eabef1fe462993b2c12c75
BLAKE2b-256 fe0afc348db1496641721f895d238df6d9939b7387e9abe1fa569712223022c0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page