.. start_models_nonlinear :ref:`Nonlinear models ` typically represent general optimization problems with an :term:`objective function` and/or one or more constraints over integer and/or binary variables; the model supports constraints natively. This model is especially suited for use with :term:`decision variables` that represent a common logic, such as subsets of choices or permutations of ordering. For example, in a `traveling salesperson problem `_, permutations of the variables representing cities can signify the order of the route being optimized, and, in a `knapsack problem `_, the variables representing items can be divided into subsets of packed and not packed. The design principles and major features of this solver are described in the :ref:`dwave-optimization philosophy ` page. .. end_models_nonlinear .. start_models_cqm :ref:`Constrained quadratic models ` (CQM) are typically used for applications that optimize problems that might include binary-valued variables (both :math:`0/1`-valued variables and :math:`-1/1`-valued variables), integer-valued variables, and real variables (also known as *continuous variables*); the model supports constraints natively. .. end_models_cqm .. start_models_bqm :ref:`Binary quadratic models ` (BQM) are unconstrained and typically represent problems of decisions that could either be true (or yes) or false (no); for example, should an antenna transmit, or did a network node fail? The model uses :math:`0/1`-valued variables and :math:`-1/1`-valued variables; constraints are typically represented as :term:`penalty models `. .. end_models_bqm .. start_models_dqm :ref:`Discrete quadratic models ` (DQM) are unconstrained and typically represent problems with several distinct options; for example, which shift should employee X work, or should the state on a map be colored red, blue, green, or yellow? The model uses variables that can represent a set of values such as ``{red, green, blue, yellow}`` or ``{3.2, 67}``; constraints are typically represented as :term:`penalty models `. .. end_models_dqm .. start_models_ising .. removed examples (antenna transmit, network node fail) because this chunk is always with the BQM chunk so far (Mar 2025) :term:`Ising models ` are unconstrained and typically represent problems of decisions that could either be true or or false. The model uses :math:`-1/1`-valued variables; constraints are typically represented as :term:`penalty models `. .. end_models_ising .. start_models_ising_formula The Ising model is traditionally used in statistical mechanics. In the formula below, :math:`N` variables :math:`s=[s_1,...,s_N]` correspond to physical Ising "spin up" (:math:`\uparrow`) and "spin down" (:math:`\downarrow`) states, which can represent :math:`+1` and :math:`-1` values in an :term:`objective function`. .. math:: \text{E}(\vc s) = \sum_{i=1}^N h_i s_i + \sum_{i=1}^N \sum_{j=i+1}^N J_{i,j} s_i s_j \qquad\qquad s_i\in\{-1,+1\} Here, the linear coefficients, :math:`h_i`, correspond to qubit biases, and relationships between the spins (interactions: correlations or anti-correlations), :math:`J_{i,j}`, correspond to coupling strengths. .. end_models_ising_formula .. start_models_qubo .. removed examples (antenna transmit, network node fail) because this chunk is always with the BQM chunk so far (Mar 2025) :term:`QUBOs ` are unconstrained and typically represent problems of decisions that could either be true or false. The model uses :math:`0/1`-valued variables; constraints are typically represented as :term:`penalty models `. .. end_models_qubo .. start_models_qubo_formula QUBO problems are traditionally used in computer science. Variables take values :math:`1` (TRUE) and :math:`0` (FALSE). A QUBO problem is defined using an upper-diagonal matrix :math:`Q`, which is an :math:`N \times N` upper-triangular matrix of real weights, and :math:`x`, a vector of binary variables, as minimizing the function .. math:: f(x) = \sum_{i} {Q_{i,i}}{x_i} + \sum_{i