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.
(For explanations of the terminology, see the Ocean glossary.)
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)
See the documentation for more examples.
Installation from PyPI:
pip install dwave-optimization
During package development, it is often convenient to use an editable install. See meson-python's editible installs for more details.
pip install -r requirements.txt
pip install --no-build-isolation --config-settings=editable-verbose=true --editable .
Released under the Apache License 2.0. See LICENSE file.
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.