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.3.tar.gz (291.7 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.3-cp313-cp313-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.13Windows x86-64

dwave_optimization-0.6.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

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

dwave_optimization-0.6.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.5 MB view details)

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

dwave_optimization-0.6.3-cp313-cp313-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dwave_optimization-0.6.3-cp313-cp313-macosx_10_13_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

dwave_optimization-0.6.3-cp312-cp312-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12Windows x86-64

dwave_optimization-0.6.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

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

dwave_optimization-0.6.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.5 MB view details)

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

dwave_optimization-0.6.3-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dwave_optimization-0.6.3-cp312-cp312-macosx_10_13_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

dwave_optimization-0.6.3-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11Windows x86-64

dwave_optimization-0.6.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

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

dwave_optimization-0.6.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.6 MB view details)

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

dwave_optimization-0.6.3-cp311-cp311-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dwave_optimization-0.6.3-cp311-cp311-macosx_10_13_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 10.13+ x86-64

dwave_optimization-0.6.3-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10Windows x86-64

dwave_optimization-0.6.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

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

dwave_optimization-0.6.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.6 MB view details)

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

dwave_optimization-0.6.3-cp310-cp310-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dwave_optimization-0.6.3-cp310-cp310-macosx_10_13_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 10.13+ x86-64

dwave_optimization-0.6.3-cp39-cp39-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.9Windows x86-64

dwave_optimization-0.6.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.7 MB view details)

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

dwave_optimization-0.6.3-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.6 MB view details)

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

dwave_optimization-0.6.3-cp39-cp39-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

dwave_optimization-0.6.3-cp39-cp39-macosx_10_13_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9macOS 10.13+ x86-64

File details

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

File metadata

  • Download URL: dwave_optimization-0.6.3.tar.gz
  • Upload date:
  • Size: 291.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for dwave_optimization-0.6.3.tar.gz
Algorithm Hash digest
SHA256 f3c52553d1276ff91d238b89be0bdefa42ea2a64b2622422534f196fd42f1a9b
MD5 9c33add249d513aeb9e77d67f66c7531
BLAKE2b-256 cbd29190aebfca41e2f15226937f5a70b6a615cce9982334b249bc027b13808c

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.3-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b9dfa041ddbdcb8c0ac870f89a86af62d5af8f39d7f9b74bac92e4b079d31c32
MD5 766a7d0c6f1cf3194287f1cdd806a55d
BLAKE2b-256 c40e81a175e96b311b5371449bdf569bdc0b9c4b64121617d82ef84a42c486e1

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 751f27a3c597e0b39a352dd7647c90204843e5c9d269efadc63be742ae84b236
MD5 4db56f678a3a74ed17cf96790d263869
BLAKE2b-256 e23408b2e77d18b9b0926a30466b32c7df290a4260923b3e6e967febda3c15b0

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 10a8a2e24eb50012073b5e456c596992936db4aa6600480351cd3873e52b3b8b
MD5 b66df902970b9dde2891887ca497cec4
BLAKE2b-256 435d67ab3b28896a0219cbfc884bc03ae6f5e2776f8596311490b1099f5e362a

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 36e993c2623cbd4d0d39a426b02ba7e03e5818277986232db697caa343f6ca4f
MD5 7399894b57209173b8a5dab91eff1869
BLAKE2b-256 ba927344d8e742ef2c64aff1a761680466139d6fe2faeb08e4512aa87a63d5bd

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.3-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 cf6329c7c235e364fdbee65a511787271c63a16b0bb3ea5d78f664d52133d59c
MD5 23a44ae2dd4103a10e4baacc7194a9e2
BLAKE2b-256 7ef654f6b4d9b4a767614af025b5653d42599721e5343552664ddfd65dbf00cc

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 12ea4a7320cc4fc71cfb38f6db2d807115190ac08e2a4bbc0da3f81df183bcac
MD5 39bf20ead90a481bcb2efb514cdb8a57
BLAKE2b-256 f803a0e0c5c2855289c9d01ef2f812bf3151b114f44c33bdb5e94fce9ae0e8ce

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c0030786989cac5122a73f87b42664663e144c5052a150b1e3e239172c809787
MD5 cb8832e3d6149ad27ca4000a20ef5d68
BLAKE2b-256 d09c7574af77d9cf73b286c1c61c974ee7f6c2a43467ebdf79be75b217f5564f

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a0e3355b581498cf644684ae70f540a6646968769aead96431edb9180899b6b6
MD5 cfce2808724fea270bc90d9e8d39ecad
BLAKE2b-256 2e44bbc26e3f8e3857fed96826841ddba6243c5f4337be3c41a747708ad0f7ea

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3e3f0cda9191bb7ce8d1067a0a2ba8ec665f2155f77ed93b6531e3715dc931e5
MD5 b61f9def9f725481a3de6c5ffa0582e6
BLAKE2b-256 b7638e9b12ac870b8dc5d857e7d8078e3bd183f6cb638ef25e53c84b0ee3d20e

See more details on using hashes here.

File details

Details for the file dwave_optimization-0.6.3-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9b208b0c14a58c529e6d8e06cdb322682aa0b42aecf7aadd5699d6dee6a3e1c3
MD5 e236655f7fdf92e630530e36ee59ed76
BLAKE2b-256 4ba19b1b4746729e3d3cc83e4f08e23615c698866a75372598de9f8e7d86966c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ae58e7b3c94960c445881552c0710dddcaa41449f16e1a2f99df869dd485db96
MD5 3d944a9a334cead3f4473d539a18dfb0
BLAKE2b-256 85d071d3c0673bfdc2c5229e645eeaea069cfd870b03561c9383a21891c2a3b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e234298f6b5b9473581da13c08519b6aba9cb0013ebcd7d444f11aeb14bbd5fb
MD5 7b114ffa570a3c077ddb4c33967b9b4f
BLAKE2b-256 c59464c4804a6ad78836902eb1210c82b4a04254aa8a484988e057f5311c501f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 eda09b2a59b4e2450b30551da4943931ca6c16823cd4a79700a413c84a8c05e7
MD5 6e59ea5ee81f8dbf23b268a0f1c624bf
BLAKE2b-256 6d65545394fc8e06399a245856554c5517af1cdb1d3bf63c24506dba6cf5df91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb749f87e20b1dace9bf87297cd5e7e0604530e98a6b379ca20c420c8c9562fd
MD5 4b44c578c0fefd761fa2a904d6fc681b
BLAKE2b-256 a0b0e21763e8378dc63796b741d011742f509692302fc3ab1ae96ecb698a97af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 951a48ce11c6a5107b80b3a9c3d6b349c0d0b62ff7ec1a4e5123f6373ffa6f35
MD5 753e53d60064c54250138f6a52f2b26c
BLAKE2b-256 27ab1d68916e6064c111e9c9d893d0f26b4b9504999e5afb7a42b075c369dc9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 01155f0b1bb90f5bdec6925621f0856a4731fab36e34c7718f4eb2cce1ace425
MD5 f9864c22aba3898e5effabea55218173
BLAKE2b-256 82a37de87a955c0ac1a2a6e1185f4327c16cc03a861c0e8cc112da9762c2e38d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 be5599b73e740d6ab371521d7791023154eaf12452e75c1a5a4ad8602dc1fd12
MD5 a1ad7fd421ad584561494a20ab10c544
BLAKE2b-256 9edd579444a96d758bdab67ca995381766c55c586e4d1a0440cb6e5f3fcae09e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 32d14bd780fdb6339f7883cefa5ec04887e81c2d4daddf5d1c8c57927780f2ff
MD5 57ea6e6b1eae1998684b900a24996d39
BLAKE2b-256 a1b1f779cd35c328bd42fbc424023f5f507dd6ee6b56e52808f3ac4b4b2b4435

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa82b467c0f82686bad5a4d5ea283e8d37a4f7c7264d49d7c0bba51ad1569bb2
MD5 330936d901ea56fac9748c3ec93a8d09
BLAKE2b-256 b7954e618a651ca2e022633afb6de57c4c8d55ee211e82323730a17866dda120

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2f066c3ae4787a5fcc024be0692df2cc48e826a3f9092f9429b9ddf2c1f2ddec
MD5 a045c750acb2c752005fa22d541696bf
BLAKE2b-256 3685016cbb5b6b020411182f8696d07f6d2db60ebe252cf18d0f60faf486bb03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6294b5ed5bf18d6aaac87eaa1f433134530a9bb914337b7f87a972d3200adace
MD5 52bd2f31cba8354d48634e679a911110
BLAKE2b-256 031601ba29ca3d43927be796c29baad4f90b96093ee36220c9138f8b7ea9caea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0bfe1f720e5c298312453b5592af4d52f81e2d7eb437282a8daa2861e434b549
MD5 32f38b304838f5484b92147533028b33
BLAKE2b-256 d7fbd1bde1304b7fbfe407e96b8b5aaa56a33ed5f1ad05c3599dba329f20e867

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e5840e8895feed16a0740d67f9c43d3c49b4c3250cc14b4c377e754866ae7bd8
MD5 d0e0e665063f1be97f8180eacce8e222
BLAKE2b-256 0c437a15ce85d4f53dc35ae57cbc388f6665ca5fba542db7fdffe39e390d87af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d8c87b5de7642cdb9babacd7d39185a3d586ca947df7f5fbf1bddedf37314046
MD5 f2fa4a640005ff05fbd6cb7559dca8cf
BLAKE2b-256 137b87863f1517d3ee2be81b8d4df4a5693965669426454c8d78af2ad1f3306c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dwave_optimization-0.6.3-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2fa2c501d1ec176bd117180152dbbabb6b09c83c7f3cb4f4e53a52c2e348dc1d
MD5 353315bba7004d483a1bcbda8ccc4fcf
BLAKE2b-256 de5313253855ff3cd953a7d49c34656e554311e5b1fbb080dbaa2ad7d8977dd6

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