dwave-optimization#

Reference documentation for dwave-optimization:

About 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.

For explanations of the terminology, see the Concepts section.

Design Principals#

dwave-optimization and the hybrid nonlinear solver incorporate features and design principals from each of the following areas:

Quantum Optimization

Take advantage of quantum-mechanical effects not available to classical compute.

(Mixed-Integer) Linear Programming

Learn the basics of solving optimization problems with linear program solvers.

Lists, Sets, and Other Combinatorial Variables

Explore how lists, sets, and other combinatorial structures make optimization simpler and more performant.

Tensor Programming

Use N-dimensional arrays and operations to work with your data directly and succinctly.

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)

Usage Information#