Getting Started#

New to Ocean? The following sections describe how to install Ocean tools, what they are and how they fit together, and give examples of using them to solve hard problems on a D-Wave quantum computer.

Initial Set Up#

The following steps set up your development environment for Ocean:

  1. Installing Ocean Tools

    Installation is not needed if you are using an IDE that implements the Development Containers specification (aka “devcontainers”), whether locally on your system (e.g., VS Code) or cloud-based (e.g., GitHub Codespaces), because you can work in an updated Ocean environment through the Ocean Docker file.

  2. Authorizing Access to Leap

    Optionally authorize Ocean to access your Leap account to facilitate token management.

  3. Configuring Access to Leap’s Solvers

    Enable the running problems on D-Wave remote compute resources, including quantum-classical hybrid solvers and the D-Wave quantum processing unit (QPU).

Ocean’s Programming Model#

Learn Ocean software’s workflow for problem solving.

D-Wave Compute Resources#

Use Ocean’s samplers to solve problems on D-Wave’s compute resources (solvers) or locally on your CPU.

Because most industrial problems (large, complex, and hard) are best approached with quantum-classical hybrid solvers, a good place to start is with examples of the End-to-End Examples: Hybrid section. If you wish to learn how to work directly with the quantum computer, see the examples of the End-to-End Examples: QPU section.

End-to-End Examples: Hybrid#

For beginners, formulating problems as Quadratic Models can be a more intuitive introduction to solving optimization problems. Nonlinear Models may be more familiar for users with experience in non-linear programming; for many problems, these models—if effectively formulated—are expected to enable superior performance.

Quadratic Models#

Nonlinear Models#

These examples solve small instances of known optimization problems using a Leap hybrid nonlinear-model solver.

End-to-End Examples: QPU#

Additional Examples#

D-Wave’s dwave-examples GitHub repo contains many more code examples:

Further Learning#