System and method for hybrid algorithm for solving discrete quadratic models
A hybrid algorithm using Gibbs sampling and Cross-Boltzmann updates efficiently maps problems to a two-dimensional quadratic model, addressing inefficiencies in existing methods by leveraging classical and quantum processors to solve complex protein design and integer problems, achieving optimal solutions with reduced computation time.
Patent Information
- Application Number
- JP2025104562
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-12-20
- Filing Date
- 2025-06-20
- Publication Date
- 2025-09-25
- Estimated Expiration
- 2040-12-14
AI Technical Summary
Existing methods for solving problems with arbitrary variables, such as protein design and integer problems, are inefficient due to the use of Metropolis proposals in simulated annealing, leading to increased computation time and suboptimal solutions, especially for complex problems.
A hybrid algorithm using Gibbs sampling and Cross-Boltzmann updates is employed to efficiently map problems to a two-dimensional quadratic model, leveraging both classical and quantum processors to solve these problems by generating samples from a softmax distribution and ensuring compliance with constraints.
This approach significantly improves computational efficiency and effectiveness in solving protein side-chain optimization and constrained quadratic integer problems, providing optimal solutions with reduced computation time.
Smart Images

Figure 2025138716000001_ABST
Abstract
Description
[Technical Field]
[0001] Field This disclosure generally relates to a hybrid algorithm for solving discrete quadratic models using Gibbs sampling and Cross-Boltzmann updates. [Background technology]
[0002] background quantum processor The quantum processor may take the form of a superconducting quantum processor, which may include many superconducting qubits and associated local bias elements, and may also include coupling elements (also known as couplers) that selectively provide communicative coupling between the qubits.
[0003] Further details and embodiments of exemplary quantum processors that can be used in conjunction with the present systems and devices are described, for example, in U.S. Pat. No. 7,533,068, U.S. Pat. No. 8,008,942, U.S. Pat. No. 8,195,596, U.S. Pat. No. 8,190,548, and U.S. Pat. No. 8,421,053.
[0004] quantum computing A quantum computer is a system that directly uses at least one quantum mechanical phenomenon, such as superposition, tunneling, and entanglement, to perform operations on data. The elements of a quantum computer are qubits. Quantum computers can provide speedup for certain classes of computational problems, such as those that simulate quantum physics.
[0005] quantum annealing Quantum annealing is a computational method that can be used to find a low-energy state of a system, typically and preferably the ground state of the system. The method relies on the fundamental principle that natural systems tend to move toward lower energy states because lower energy states are more stable. Quantum annealing can use quantum effects, such as quantum tunneling, as a source of delocalization to reach an energy minimum.
[0006] Quantum processors can be designed to perform quantum annealing and / or adiabatic quantum operations. The evolution Hamiltonian is proportional to the sum of a first term proportional to the problem Hamiltonian and a second term proportional to the delocalized Hamiltonian, and can be constructed as follows: H E ∝A(t)H P +B(t)H D In the formula, H E is the evolutionary Hamiltonian, and H P is the problem Hamiltonian, and H D is the delocalized Hamiltonian, and A(t), B(t) are coefficients that can control the rate of evolution, typically in the range [0,1].
[0007] In some implementations, the problem Hamiltonian can include a time-varying envelope function. A suitable delocalized Hamiltonian is
number
number
number
[0008] A general problem Hamiltonian includes a first component proportional to the single-qubit diagonal terms and a second component proportional to the multi-qubit diagonal terms, and may be of the form:
number
number
[0009] Here,
number
[0010] Throughout this specification, the terms "problem Hamiltonian" and "final Hamiltonian" are used interchangeably unless the context dictates otherwise. Particular states of a quantum processor are energetically favored, or simply favored by the problem Hamiltonian. These include ground states, but may also include excited states.
[0011] H in the above two equations D and H P Each of these Hamiltonians can be physically realized in a variety of different ways. A particular example is realized by the implementation of superconducting qubits.
[0012] sampling Throughout this specification and the appended claims, the terms "sample," "sampling," "sampling device," and "sample generator" are used.
[0013] In statistics, a sample is a subset of a population, i.e., a variety of data taken from a statistical population. In electrical engineering and related fields, sampling relates to taking a set of measurements of an analog signal or some other physical system.
[0014] In many fields, including simulation of physical systems and computing (especially analog computing), the above meanings can be conflated. For example, a hybrid computer can derive samples from an analog computer. The analog computer, as a provider of samples, is an example of a sample generator. The analog computer can operate to provide samples from a selected probability distribution, which assigns a respective sampled probability to each data point in a population. The population can correspond to all possible states of the processor, and each sample can correspond to a respective state of the processor.
[0015] Markov Chain Monte Carlo Markov Chain Monte Carlo (MCMC) is a class of computational techniques, including, for example, simulated annealing, parallel tempering, population annealing, and other techniques. Markov chains can be described as sequences of discrete random variables and / or random processes whose states at each time step depend only on the previous states.
[0016] A Markov chain can be obtained by proposing a new point according to a Markov proposal process. The new point is either accepted or rejected. If the new point is rejected, a new proposal is made, and so on. An accepted new point is one that probabilistically converges to the target distribution.
[0017] Gibbs Sampling Gibbs sampling is a Markov Chain Monte Carlo (MCMC) algorithm that samples from the conditional distribution of one variable in a target distribution, given all other variables. Like other MCMC algorithms, Gibbs sampling generates a Markov chain of samples, each of which is correlated with nearby samples.
[0018] Softmax distribution The softmax function is a function that takes a vector of K real numbers as input and normalizes it into a probability distribution with K probabilities proportional to the exponents of the input numbers. That is, after applying softmax, each component lies in the interval (0,1) and sums to 1, which can then be interpreted as a probability. Softmax is often used in neural networks to map the network's unnormalized output into a probability distribution over predicted output classes.
[0019] The foregoing examples of the related art and limitations associated therewith are intended to be illustrative and not exhaustive. Other limitations of the related art will become apparent to those skilled in the art upon reading this specification and studying the drawings. Summary of the Invention [Means for solving the problem]
[0020] Quick Overview Some classes of problems (e.g., problems with arbitrary variables) cannot be efficiently mapped to quadratic unconstrained binary optimization (QUBO) problems or Ising Hamiltonian problems. Therefore, these problems require some overhead (e.g., transformation of variables) to be performed on a classical or digital processor and then solved by a quantum computer. It is therefore desirable to efficiently solve problems of arbitrary variables by efficiently mapping the problem to a model (e.g., a two-dimensional quadratic model) and then solving it by a quantum computer. A method of operation in a processor-based system is described. The method involves solving problems of n arbitrary variables v i Applying the algorithm to a problem with i and obtain two candidate values for each of the variables v i Each of the binary values s is used to determine which of the two possible values it should take. i , constructing a two-dimensional quadratic model based on the Hamiltonian, and obtaining samples from the two-dimensional quadratic model from a quantum processor as a solution to the problem. i For problems with v, we can apply the Gibbs sampler, which can extract v from any variable v. i We can obtain two possible values for each of n arbitrary variables v i Applying the algorithm to a problem with i and calculating the exponential weight of each of the arbitrary variables for each of the arbitrary variables, and calculating the exponential weight of each of the arbitrary variables for each of the arbitrary variables, i and computing a normalized probability of one of n arbitrary variables v iApplying the algorithm to a problem with i computing a respective exponential weight for each of the arbitrary variables for each of the arbitrary variables; computing a feasible region for each of the arbitrary variables, where the feasible region includes a set of values that respects the constraint set; and computing a respective number D of distinct values for each of the arbitrary variables. i and for each of the arbitrary variables, computing a mask for the arbitrary variable in each of the arbitrary variables, a respective number D of distinct values of the arbitrary variable proportional to the exponential weight and the mask. i and computing normalized probabilities that collectively represent the probability of taking one of the two quadratic models. i and two candidate values are used to create a new variable x i Define the problem and i Constructing the binary quadratic model may include relaxing the constrained binary optimization problem to an unconstrained binary optimization problem using a penalty term and determining a sum over each of two candidate values. The method may further include applying an embedding algorithm to the binary quadratic model to define an embedding in the quantum processor before obtaining samples from the binary quadratic model from the quantum processor. The method may include applying an embedding algorithm to the binary quadratic model to define an embedding in the quantum processor over n arbitrary variables v until a termination condition is met. i Applying the algorithm to a problem with i and obtain two candidate values for each of the variables v i Each of the binary values s is used to determine which of the two possible values it should take. iThe method may further include iteratively repeating the steps of constructing a Hamiltonian using (x, y) = (x, y) , constructing a two-dimensional quadratic model based on the Hamiltonian, obtaining samples from the two-dimensional quadratic model from a quantum processor, and incorporating the samples into the problem. The method may further include determining whether a termination condition is satisfied. The termination condition may include determining whether a measure representing a quality assessment of any variable is satisfied. The problem may be a resource scheduling problem. A processor-based system including at least one classical processor is operable to perform any of the above methods. The processor-based system may include a quantum processor communicatively coupled to the at least one classical processor.
[0021] Protein design problems can be formulated as combinatorial optimization problems. These optimization problems can be solved using branch-and-bound algorithms and / or simulated annealing. Simulated annealing methods use Metropolis proposals; however, as the number of examples of categorical distributions increases, the use of Metropolis proposals becomes inefficient, thus increasing computation time, making these methods ineffective for complex problems. This disclosure describes systems and methods useful for improving computational efficiency, which can be used, for example, in efficiently performing protein side-chain optimization. A method of operation in a processor-based system is described for computing a softmax distribution for an input problem with n variables. Each variable has a respective number D of distinct values. i The method involves calculating, for each variable in the input problem, the energy of each state of the variable in the input problem based on the interaction of each variable with other variables, and calculating, for each variable in the input problem, the number of distinct values of the variable D i and for each variable in the input problem, a number D proportional to the exponential weight of each distinct value of the variable. iand obtaining a number of samples from the normalized probability values. The number of samples can be obtained from the normalized probabilities via inverse transform sampling. The input problem can be a protein side chain optimization problem. The method includes: for each variable in the input problem, calculating an energy for each state of the variable based on interactions of the variable with other variables, until a termination condition is met; and, for each variable in the input problem, calculating a respective number D of distinct values of the variable, until a termination condition is met. i and for each variable in the input problem, calculate the number of distinct values of the variable D proportional to the exponential weight. i
[0010] The method may further include iteratively repeating the steps of computing normalized probabilities collectively representing the probability of the variable taking one of the following two values: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (48) (49) (50) (51) (52) (53) (54) (55) (66) (77) (78) (79) (80) (81) (82) (83) (84) (85) (96) (97) (98) (99) (100) (111) (122) (133)
[0022] Integer problems are commonly solved using branch-and-bound or tree-based algorithms, such as dead-end elimination (DEE). Under certain circumstances, integer problems can be solved by relaxing integer variables to continuous variables, but relaxing the variables does not guarantee finding an optimal solution in the feasible space. In addition, many current solvers do not scale well as problem size increases, and therefore require significant computation time, making them unsuitable for all applications. A method of operation is described for computing the softmax distribution of an input problem with n variables on a processor-based system. Each variable has a respective number D of distinct values. iThe method involves computing, for each variable in the input problem, the energy of the variable as a function of the magnitude of the variable and the current state of all other variables, and computing, for each variable in the input problem, the respective number D of distinct values of the variable. i computing a numerical value of an exponential weight for the variable in each of the input problems; computing, for each variable in the input problem, a feasible region for the variable, the feasible region including a set of values that respects the set of constraints; and computing, for each variable in the input problem, a respective number D of distinct values of the variable. i and for each variable in the input problem, computing a mask for the variable in each of the i and obtaining a number of samples from the normalized probability numbers. The input problem may be a constrained quadratic integer problem. The number of samples from the normalized probability numbers may be obtained via inverse transform sampling. The method includes: for each variable in the input problem, calculating an energy of the variable in the input problem as a function of the magnitude of the variable and the current states of all other variables, until a termination condition is met; and for each variable in the input problem, calculating a respective number D of distinct values of the variable. i computing a respective exponential weight value for the variable in each of the input problems; computing, for each variable in the input problem, a feasible region for the variable, the feasible region including a set of values that respects the set of constraints; and computing, for each variable in the input problem, a respective number D of distinct values of the variable. i and for each variable in the input problem, computing a mask for the variable in each of the i
[0010] The method may further include iteratively repeating the steps of computing a normalized probability value that takes one of the following values: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (48) (49) (50) (51) (52) (53) (54) (65) (76) (77) (88) (99) (100) (111)
[0023] A brief description of some of the figures in the drawing In the drawings, identical reference numbers identify similar elements or acts. The sizes and relative positions of elements in the drawings are not necessarily drawn to scale. For example, the shapes and angles of various elements are not necessarily drawn to scale, and some of these elements may be arbitrarily enlarged and positioned to facilitate reading of the drawings. Furthermore, the particular shapes of elements as drawn are not necessarily intended to convey any information regarding the actual shape of the particular elements, but may have been selected solely for ease of recognition in the drawings. [Brief explanation of the drawings]
[0024] [Figure 1] FIG. 1 is a schematic diagram of an example hybrid computing system including a quantum processor and a classical processor. [Figure 2] FIG. 1 is a flow diagram of an example method of operation of a computing system for sampling from a softmax distribution over instances of categorical distributions. [Figure 3] FIG. 1 is a flow diagram of an example iterative method of operation of a computing system for sampling from a softmax distribution over instances of categorical distributions. [Figure 4] FIG. 1 is a flow diagram of an example method of operation of a computing system for sampling from a softmax distribution over instances of categorical distributions with constraints. [Figure 5]FIG. 1 is a flow diagram of an example iterative method of operation of a computing system for sampling from a softmax distribution over instances of categorical distributions with constraints. [Figure 6] FIG. 1 is a flow diagram of an example method of operation of a hybrid computing system using cross-Boltzmann updates. [Figure 7] FIG. 1 is a flow diagram of an example iterative method for the operation of a hybrid computing system using cross-Boltzmann updates. [Figure 8] FIG. 1 is a flow diagram of an example method of operation of a hybrid computing system using cross-Boltzmann updates to sample from a softmax distribution over instances of categorical distributions. [Figure 9] FIG. 1 is a flow diagram of an example iterative method of operation of a hybrid computing system using cross-Boltzmann updates to sample from a softmax distribution over instances of categorical distributions. [Figure 10] FIG. 10 is a flow diagram of an example method of operation of a hybrid computing system using cross-Boltzmann updates to sample from a softmax distribution over instances of categorical distributions using constraints. [Figure 11] FIG. 10 is a flow diagram of an example iterative method of operation of a hybrid computing system using cross-Boltzmann updates to sample from a softmax distribution over instances of categorical distributions using constraints. [Figure 12] FIG. 1 is a flow diagram of an example method of operation of a hybrid computing system to optimize resource scheduling. DETAILED DESCRIPTION OF THE INVENTION
[0025] Detailed Description In the following description, certain specific details are set forth to provide a thorough understanding of various disclosed implementations. However, those skilled in the art will recognize that implementations can be practiced without one or more of these specific details, or with other methods, components, materials, etc. In other instances, well-known structures associated with computer systems, server computers, and / or communication networks have not been shown or described in detail to avoid unnecessarily obscuring implementations.
[0026] Unless the context requires otherwise, throughout this specification and the claims that follow, the word "comprising" is synonymous with "including" and is inclusive or open-ended (i.e., does not exclude additional, unrecited elements or method acts).
[0027] Throughout this specification, a reference to "one implementation" or "implementation" means that a particular feature, structure, or characteristic described in connection with an implementation is included in at least one implementation. Thus, the appearances of the phrase "in one implementation" or "in an implementation" in various places throughout this specification are not necessarily all referring to the same implementation. Moreover, particular features, structures, or characteristics may be combined in any suitable manner in one or more implementations.
[0028] As used in this specification and the appended claims, singular forms such as "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. It should also be noted that the term "or" is generally used in its sense to include "and / or" unless the context clearly dictates otherwise.
[0029] Throughout this specification and the appended claims, the terms "sample," "sampling," and "sample generator" are intended to have their corresponding meanings in the fields of statistics and electrical engineering. In statistics, a sample is a subset of a population, e.g., an individual datum, data point, object, or subset of data, data points, or objects. In electrical engineering, sampling refers to collecting multiple measurements (e.g., analog signals) of a physical system.
[0030] The hybrid computing system can derive samples from an analog processor that can be configured to provide samples from a statistical distribution, thus becoming a sample generator. An example of a processor that can act as a sample generator is a quantum processor designed to perform quantum annealing, where each sample corresponds to a state of the processor and the population corresponds to all possible states of the processor.
[0031] The headings and abstracts of the disclosure provided herein are for convenience only and should not be interpreted as stating the scope or meaning of the implementations.
[0032] 1 illustrates a hybrid computing system 100 that includes a classical computer 102 coupled to a quantum computer 104. The example classical computer 102 includes a digital processor (CPU) 106 that can be used to perform classical digital processing tasks, and is therefore referred to herein and in the claims as a classical processor.
[0033] Classical computer 102 may include at least one digital processor (such as a central processing unit 106 having one or more cores), at least one system memory 108, and at least one system bus 110 that couples various system components (including coupling system memory 108 to central processing unit 106). The digital processor may be any logical processing unit, such as one or more central processing units ("CPUs"), graphics processing units ("GPUs"), digital signal processors ("DSPs"), application specific integrated circuits ("ASICs"), programmable gate arrays ("FPGAs"), programmable logic controllers (PLCs), etc.
[0034] Classical computer 102 may include a user input / output subsystem 112. In some implementations, the user input / output subsystem includes one or more user input / output components, such as a display 114, a mouse 116, and / or a keyboard 118.
[0035] The system bus 110 may employ any known bus structure or architecture, including a memory bus, a peripheral bus, and a local bus coupled with a memory controller. The system memory 108 may include non-volatile memory such as read-only memory ("ROM"), static random access memory ("SRAM"), flash nano, and volatile memory (not shown) such as random access memory ("RAM").
[0036] The classical computer 102 may also include other non-transitory computer- or processor-readable storage media or non-volatile memory 120. The non-volatile memory 120 may take various forms, including a hard disk drive for reading from and writing to a hard disk, an optical disk drive for reading from and writing to a removable optical disk, and / or a magnetic disk drive for reading from and writing to a magnetic disk. The optical disk may be a CD-ROM or DVD, and the magnetic disk may be a magnetic floppy disk or diskette. The non-volatile memory 120 may communicate with the digital processor via the system bus 110 and may include an appropriate interface or controller 122 coupled to the system bus 110. The non-volatile memory 120 may serve as long-term storage for processor- or computer-readable instructions, data structures, or other data (sometimes referred to as program modules) for the classical computer 102.
[0037] While classical computer 102 has been described as employing hard disks, optical disks, and / or magnetic disks, those skilled in the art will appreciate that other types of non-volatile computer-readable media may be employed, such as magnetic cassettes, flash memory cards, flash, ROM, smart cards, etc. Those skilled in the art will appreciate that some computer architectures employ volatile and non-volatile memory. For example, data in volatile memory may be cached in non-volatile memory or on a solid-state disk that uses integrated circuits to provide non-volatile memory.
[0038] Various processor or computer readable instructions, data structures, or other data may be stored in system memory 108. For example, system memory 108 may store instructions for communicating with remote clients and instructions for scheduling the use of resources, including resources on classical computer 102 and quantum computer 104. For example, system memory 108 may store processor or computer readable instructions, data structures, or other data that, when executed by a processor or computer, cause the processor or computer to perform one, more, or all of the acts of methods 200 (FIGS. 2) through 1100 (FIG. 11).
[0039] In some implementations, system memory 108 may store processor or computer readable computational instructions for performing pre-processing, co-processing, and post-processing for quantum computer 104. System memory 108 may be stored with a quantum computer interface instruction set for interacting with quantum computer 104.
[0040] Quantum computer 104 may include one or more quantum processors, such as quantum processor 124. Quantum computer 104 may be provided in an isolated environment, such as an isolated environment that protects the internal components of the quantum computer from heat, magnetic fields, and other external noise (not shown). Quantum processor 124 includes programmable elements such as qubits, couplers, and other devices. In accordance with the present disclosure, quantum processors such as quantum processor 124 may be designed to perform quantum annealing and / or adiabatic quantum operations. Examples of quantum processors are described in U.S. Pat. No. 7,533,068.
[0041] Proteins are made of amino acids, a group of naturally occurring small molecules, and the primary structure of a protein is determined by the sequence of amino acids. The secondary and tertiary structures of a protein are determined by the 3D structure of the folded protein under the influence of electrostatic forces (e.g., van der Waals, salt bridges, hydrogen bonds, dipole-dipole bonds, etc.), and protein folding is a physical process in which a protein chain acquires its natural three-dimensional structure. Therefore, the protein folding problem can be summarized as determining the tertiary structure of a protein given the sequence of amino acids. The inverse problem (protein design) is the problem of finding a sequence of amino acids that forms a desired folded structure with desired properties. Examples of desirable properties include pharmacokinetics, binding, thermal stability, function, flexibility, developability, and / or manufacturability.
[0042] Side chain optimization is a part of protein design that formulates a combinatorial optimization problem to find a sequence of amino acids and their optimal configuration that minimizes the energy of some objective function. Side chain optimization is at the heart of computational peptide design and has applications in the biochemistry and pharmaceutical industries. Side chain optimization is well represented as a combinatorial optimization problem. This optimization problem can be solved using branch-and-bound algorithms and / or simulated annealing. An example of an algorithm used for side chain optimization is dead-end elimination (DEE). The simulated annealing method uses Metropolis proposals, in which changes to categorical variables are proposed and then the acceptance rate is measured. However, as the number of examples of categorical distributions increases, the use of Metropolis proposals becomes inefficient, thus increasing the computational time, making these methods ineffective for complex problems.
[0043] This disclosure describes systems and methods useful for improving computational efficiency, which can be used, for example, in efficiently performing protein side chain optimization. Classical computers can use Markov Chain Monte Carlo (MCMC) methods (e.g., simulated annealing, parallel tempering, population annealing, etc.), and can replace the Metropolis proposal procedure with Gibbs sampling.
[0044] The side chain optimization problem is
number
number
[0045] At any given stage of the MCMC method, the Metropolis proposal procedure is replaced by Gibbs sampling. i The effective energy of each state of x is calculated based on its interactions with other variables. i and for all cases j=(1,2,...,D i ) energy
number
number
number
[0046] variable x i The probability that takes state j is given by the weight w ijThis probability is known as the softmax probability distribution. Since we draw samples from a probability distribution, we can therefore
number
number
[0047] The samples can be obtained from the softmax distribution of equation (6) using standard algorithms or methods, such as inverse transform sampling.
[0048] The resulting samples can be further refined, for example, by a quantum computer as part of a hybrid algorithm using cluster reduction, which is disclosed in more detail in U.S. Patent Application Publication No. 20200234172.
[0049] 2 is a flow diagram of an example method 200 of operation of a computing system for sampling from a softmax distribution over instances of categorical distributions. Method 200 can be performed on a hybrid computing system (e.g., hybrid computing system 100 of FIG. 1) that includes at least one digital or classical processor and a quantum processor, or by a classical computing system that includes at least one digital or classical processor.
[0050] Method 200 includes acts 201-206. However, one skilled in the art will understand that the number of acts shown are examples and that in some implementations, certain acts may be omitted, additional acts may be added, and / or the order of acts may be changed.
[0051] Method 200 begins at 201, for example, in response to a call from another routine.
[0052] At 202, a digital processor calculates an effective energy
number
number
[0053] In 203, the digital processor calculates the value of the variable x i The exponential weight w for all instances j ij Calculate (Equation 7).
[0054] In 204, the digital processor calculates the weights w ij Each variable x is proportional to i The normalized probability p of taking state j ij Calculate (Equation 8).
[0055] At 205, a digital processor generates a probability distribution p using, for example, inverse transform sampling. ij Obtain samples from.
[0056] At 206, the method 200 ends, eg, does not start again until called again.
[0057] 3 is a flow diagram of an example iterative method 300 of operating a computing system to sample from a softmax distribution over instances of categorical distributions. Method 300 can be performed on a hybrid computing system (e.g., hybrid computing system 100 of FIG. 1) that includes at least one digital or classical processor and a quantum processor, or by a classical computing system that includes at least one digital or classical processor.
[0058] Method 300 includes acts 301-308. However, one skilled in the art will understand that the number of acts shown are examples and that in some implementations, certain acts may be omitted, additional acts may be added, and / or the order of acts may be changed.
[0059] Method 300 begins at 301, for example, in response to a call from another routine.
[0060] At 302, a digital processor calculates an effective energy
number
number
[0061] In 303, the digital processor calculates the value of the variable x i The exponential weight w for all instances j ij Calculate (Equation 7).
[0062] In 304, the digital processor calculates the weights w ij The normalized probability p of each variable i taking state j is proportional to ij Calculate (Equation 8).
[0063] At 305, a digital processor generates a probability distribution p using, for example, inverse transform sampling. ij Obtain samples from.
[0064] At 306, the digital processor incorporates the samples obtained at 305 into the input problem at 302.
[0065] In 307, the digital processor checks whether the termination condition is met. If the termination condition is met, control passes to 308. Otherwise, control passes to 302, where the available energy, , is calculated for the problem into which the sample was incorporated according to equation (6).
number
[0066] At 308, the method 300 ends, eg, does not start again until called again.
[0067] Constrained integer problems are mathematical optimization or feasibility problems in which some or all of the variables are restricted to integers and must respect a set of constraints. Integer problems are typically solved using branch-and-bound or tree-based algorithms, such as dead-end elimination (DEE). Under certain circumstances, integer problems can be solved by relaxing integer variables to continuous variables, but relaxing the variables does not guarantee finding an optimal solution in the feasible space. In addition, many current solvers do not scale well as problem size increases, and therefore can be very time-consuming and not suitable for all applications.
[0068] This disclosure describes systems and methods for solving constrained quadratic integer problems using a computing system (e.g., hybrid computing system 100 of FIG. 1) that includes at least one classical or digital computer and a quantum computer, or by a classical computing system that includes at least one digital or classical computer. The classical or digital computer can use Markov Chain Monte Carlo (MCMC) methods (e.g., simulated annealing, parallel tempering, population annealing, etc.), and can replace the Metropolis proposal procedure with constrained Gibbs sampling.
[0069] integer variable x i The available energy E of can be calculated by a digital processor as a function of the magnitude of the integer and the current state of all other variables.
number
[0070] All variables xi and the energy for all cases or values j
number
number
number
number
[0071] Samples can be obtained from the softmax distribution using standard algorithms or methods, such as inverse transform sampling. However, the probability distribution p(x i ) results in the violation of one or more constraints of the problem and therefore does not provide a solution to the constrained quadratic integer problem of interest.
[0072] Constraint C
number
number
[0073] variable x i Mask M j teeth,
number
[0074] Therefore, the variable x in the feasible region only i The probability that takes value j is
number
[0075] The samples can be obtained from the above probability distribution (Equation 15), for example, using inverse transform sampling.
[0076] The resulting samples can be further refined, for example, by a quantum computer as part of a hybrid algorithm using cluster reduction, which is disclosed in more detail in U.S. Patent Application Publication No. 20200234172.
[0077] 4 is a flow diagram of an example method 400 of operation of a computing system for sampling from a softmax distribution over instances of categorical distributions using constraints. Method 400 can be performed on a hybrid computing system (e.g., hybrid computing system 100 of FIG. 1) that includes at least one digital or classical processor and a quantum processor, or by a classical computing system that includes at least one digital or classical processor.
[0078] Method 400 includes acts 401-408. However, one skilled in the art will understand that the number of acts shown are examples and that in some implementations, certain acts may be omitted, additional acts may be added, and / or the order of acts may be changed.
[0079] The method 400 begins at 401, for example, in response to a call from another routine.
[0080] At 402, the digital processor computes the effective energy E of an integer variable for an input problem having n integer variables. i The energy E(x i ) is computed as a function of the magnitude of the integer and the current state of the other variables according to Equation 9. An input problem may be received at 401 as part of an input set.
[0081] In 403, the digital processor calculates the value of each variable x according to Equation 10. i and the exponential weight w for all cases j ij Calculate the following.
[0082] At 404, the digital processor calculates the value of each integer variable x according to Equation 13. i Feasible region for
number
number
[0083] At 405, the digital processor calculates the value j for each variable x according to Equation 14. i Mask M j Calculate the following.
[0084] At 406, the digital processor calculates the number of variables x in the feasible region only. i The normalized probability p of adopting state j ij Calculate the variable x i The probability of adopting state j is given by the exponential weight, according to Equation 15.
number
[0085] At 407, the digital processor generates a probability distribution p computed at 406, for example, by using inverse transform sampling. ij Obtain samples from.
[0086] At 408, the method 400 ends, eg, does not start again until called again.
[0087] 5 is a flow diagram of an example iterative method 500 of operating a computing system for sampling from a softmax distribution over instances of categorical distributions with constraints. Method 500 can be performed on a hybrid computing system (e.g., hybrid computing system 100 of FIG. 1) that includes at least one digital or classical processor and a quantum processor, or by a classical computing system that includes at least one digital or classical processor.
[0088] Method 500 includes acts 501-510. However, one skilled in the art will understand that the number of acts shown are examples and that in some implementations, certain acts may be omitted, additional acts may be added, and / or the order of acts may be changed.
[0089] Method 500 begins at 501, for example, in response to a call from another routine.
[0090] At 502 , the digital processor computes the effective energy E of the integer variables of the input problem as described above with reference to act 402 of method 400 .
[0091] At 503, the digital processor calculates the value of each variable x according to Equation 10. i and the exponential weight w for all cases j ij Calculate the following.
[0092] At 504, the digital processor calculates the value of each integer variable x according to Equation 13. i Feasible region for
number
number
[0093] At 505, the digital processor calculates the value j for each variable x according to Equation 14. i Mask M j Calculate the following.
[0094] At 506, the digital processor calculates the number of variables x in the feasible region only. i The normalized probability p of adopting state j ij Calculate the variable x i The probability of adopting state j is given by the exponential weight, according to Equation 15.
number
[0095] At 507, a digital processor generates a probability distribution p computed at 506, for example using inverse transform sampling. ij Obtain samples from.
[0096] At 508, the digital processor incorporates the samples obtained at 507 into the input problem at 502.
[0097] In 509, the digital processor checks whether a termination condition is met. If the termination condition is met, control passes to 510. Otherwise, control passes to 502, where the effective energy E is again calculated for the problem into which the sample was incorporated. The termination condition may be a determination that a measure or parameter representing the quality of a variable has been met. An example of a measure of the quality of a variable is the energy of the variable. The determination may be based, for example, on an evaluation of the variable, the evaluation being performed by the digital processor.
[0098] At 510, the method 500 ends, eg, does not start again until called again.
[0099] Some classes of problems (e.g., problems with arbitrary variables) cannot be efficiently mapped to quadratic unconstrained binary optimization (QUBO) problems or Ising Hamiltonian problems. Therefore, these problems require some overhead (e.g., transformation of variables) to be performed on a classical or digital processor and then solved by a quantum computer. Therefore, it is desirable to efficiently solve problems of arbitrary variables by efficiently mapping the problem to a model (e.g., a two-dimensional quadratic model) and then solving it by a quantum computer. In this disclosure and the appended claims, the term arbitrary variable is used to denote continuous, discrete, or binary variables.
[0100] This disclosure describes systems and methods for solving problems with arbitrary variables using cross-Boltzmann updates using a hybrid computing system (e.g., hybrid computing system 100 of FIG. 1 ) that includes at least one classical or digital computer and a quantum computer. The at least one classical or digital computer formulates a binary problem using cross-Boltzmann updates, which can then be solved by the quantum computer.
[0101] The problem may involve any number of variables v, which may be continuous, discrete, or binary. Digital computers can apply algorithms to problems with any number of variables, and can find the old values
number
number
number
[0102] Then, the variable v i and v j The decision to update can be expressed through the Hamiltonian H.
number
[0103] binary variable s i (e.g., factorial Bernoulli decisions), i.e., s i ~p(s i |v t-1 ) (20) can be replaced with a sample from a Boltzmann distribution as follows:
number
[0104] non-binary variable v i For each of x, y ... 1 and X 2 The digital processor can then return the binary variable s i Using this, we create a new variable x i can be defined.
number
[0105] discrete, non-binary variable v i If , the problem can be transformed into a quadratic unconstrained binary optimization (QUBO) problem in the following way: The energy function E is equivalent to QUBO.
number
[0106] The above equation 24 is
number
[0107] The above problem can be solved directly using a quantum processor (e.g., a quantum annealer) or via classical simulated annealing. However, directly solving Equation 24 can be inefficient due to the large number of qubits per variable.
[0108] Instead of solving equation 24 directly, a quantum processor can solve a subproblem of the form equation 25 below:
number
[0109] The problem in Equation 25 is similar to the input problem, but instead of finding the sum over all possible values of the variable x, we find the sum over two values selected by the digital processor using the native sampler. Equation 25 is:
number
number
[0110] 6 is a flow diagram of an example method 600 of operation of a hybrid computing system using cross Boltzmann updates. Method 600 can be performed on a hybrid computing system (e.g., hybrid computing system 100 of FIG. 1) that includes at least one digital or classical processor and a quantum processor.
[0111] Method 600 includes acts 601-608. However, one skilled in the art will understand that the number of acts shown are examples and that in some implementations, certain acts may be omitted, additional acts may be added, and / or the order of acts may be changed.
[0112] Method 600 begins at 601, for example, in response to a call from another routine.
[0113] In 602, the digital processor generates n arbitrary variables x i The algorithm applies an input problem having n n arbitrary variables. The n arbitrary variables may be continuous, discrete, or binary. The input problem may be received as part of an input set at 601. The digital processor may apply a native solver (e.g., a Gibbs sampler) to the input problem.
[0114] At 603, the digital processor obtains two candidate values for each variable of the input problem via the native solver applied at 602. The candidate values may be independent samples.
[0115] At 604, the digital processor converts the binary value s i construct the Hamiltonian H for the problem using t-1 A variable v has i is the updated value v t If you want to incorporate s i takes the value 1, and the Hamiltonian H depends on the binary variable s. H=Σ i h i s i +Σ ij Jij s i s j (19)
[0116] Equation 19 was introduced above and is reproduced here for clarity, and its details are discussed above with reference to Equation 19.
[0117] In 605, the digital processor constructs a two-dimensional quadratic model of the problem from the Hamiltonian H of act 604. i Depending on the nature of x, the digital processor reduces the binary quadratic model in different ways. For non-binary variables, the new variable x i is the sum of s as explained in more detail in the first reference to Equation 22 above. i is defined as follows using
number
[0118] For discrete, non-binary variables, as explained in more detail in the first reference to Equation 26 above, the subproblem E, i.e.,
number
[0119] In 606, the digital processor sends the two-way quadratic model of 605 to a quantum processor. In at least one implementation, an embedding algorithm (e.g., minor embedding) is applied to the model of act 605 to generate an embedded problem that can be sent to the quantum processor. Examples of embedding techniques can be found in U.S. Patent Nos. 7,984,012, 8,244,662, 9,727,823, 9,875,215, and 10,789,540.
[0120] At 607, the digital processor receives samples generated by the quantum processor from the model sent at 605. The samples represent a solution to the input problem.
[0121] The method 600 ends at 608 and does not begin again, for example, until called again.
[0122] 7 is a flow diagram of an example iterative method 700 of operating a hybrid computing system using cross-Boltzmann updates. Method 700 can be performed on a hybrid computing system (e.g., hybrid computing system 100 of FIG. 1) that includes at least one digital or classical processor and a quantum processor.
[0123] Method 700 includes acts 701-710. However, one skilled in the art will understand that the number of acts shown are examples and that in some implementations, certain acts may be omitted, additional acts may be added, and / or the order of acts may be changed.
[0124] Method 700 begins at 701, for example, in response to a call from another routine.
[0125] At 702, the digital processor generates n arbitrary variables x as described above with reference to act 602 of method 600. i The algorithm is applied to an input problem having
[0126] At 703, the digital processor obtains two candidate values for each variable of the input problem, as described above with reference to act 603 of method 600.
[0127] At 704, the digital processor generates a binary value s as described above with reference to act 604 of method 600. i to construct the Hamiltonian H for the problem.
[0128] In 705 , the digital processor constructs a two-way quadratic model of the problem from the Hamiltonian H of act 704 as described above with reference to act 605 of method 600 .
[0129] At 706, the digital processor transmits the two-dimensional quadratic model to the quantum processor as described above with reference to act 606 of method 600.
[0130] At 707, the digital processor receives the samples from the model sent at 706 that are generated by the quantum processor.
[0131] At 708, the digital processor incorporates the samples received at 707 into an input problem.
[0132] In 709, the digital processor checks whether a termination condition is met. If the termination condition is met, control passes to 710. Otherwise, control passes to 702, where the digital processor reapplies the algorithm to the input problem incorporating the sample. The termination condition may be a determination that a measure or parameter representing the quality of a variable has been met. An example of a measure of the quality of a variable is the energy of the variable. The determination may be based, for example, on an evaluation of the variable, the evaluation being performed by the digital processor.
[0133] At 710, the method 700 ends, eg, does not start again until called again.
[0134] Methods 600 and 700 may also be applied in solving problems that can benefit from obtaining samples from categorical distributions (e.g., protein structure optimization problems), as described above with reference to method 200 of FIG. 2 and method 300 of FIG. 3.
[0135] 8 is a flow diagram of an example method 800 of operation of a hybrid computing system using a cross-Boltzmann update to sample from a softmax distribution over instances of categorical distributions. Method 800 can be performed on a hybrid computing system (e.g., hybrid computing system 100 of FIG. 1) that includes at least one digital or classical processor and a quantum processor.
[0136] Method 800 includes acts 801-810. However, one skilled in the art will understand that the number of acts shown are examples and that in some implementations, certain acts may be omitted, additional acts may be added, and / or the order of acts may be changed.
[0137] Method 800 begins at 801, for example, in response to a call from another routine.
[0138] At 802, a digital processor calculates an effective energy
number
number
[0139] In the 803, the digital processor calculates the value of the variable x i The exponential weight w for all instances j ij Calculate (Equation 7).
[0140] In 804, the digital processor calculates the weights w ijThe normalized probability p of each variable i taking state j is proportional to ij Calculate (Equation 8).
[0141] At 805, the digital processor obtains two candidate values for each variable in the input problem through sampling from the probabilities computed at 804. The candidate values may be independent samples.
[0142] At 806, the digital processor calculates the binary value s as described in the first reference to Equation 19 above. i construct the Hamiltonian H for the problem using t-1 A variable v has i is the updated value v t If you want to incorporate s i takes the value 1, and the Hamiltonian H depends on the binary variable s.
number
[0143] At 807, the digital processor constructs a two-way quadratic model of the problem from the Hamiltonian H of act 806. Depending on the nature of any variables, the digital processor reduces the two-way quadratic model in different ways, as described above with reference to act 605 of method 600.
[0144] In 808, the digital processor sends the two-dimensional quadratic model to a quantum processor. In at least one implementation, an embedding algorithm (e.g., minor embedding) is applied to the model in act 807 to generate an embedding problem that can be sent to the quantum processor.
[0145] At 809, the digital processor receives samples generated by the quantum processor from the model sent at 808. The samples represent a solution to the input problem.
[0146] At 810, the method 800 ends, eg, does not start again until called again.
[0147] 9 is a flow diagram of an example iterative method 900 of operation of a hybrid computing system using a cross-Boltzmann update to sample from a softmax distribution over instances of categorical distributions. Method 900 can be performed on a hybrid computing system (e.g., hybrid computing system 100 of FIG. 1) that includes at least one digital or classical processor and a quantum processor.
[0148] Method 900 includes acts 901-912. However, one skilled in the art will understand that the number of acts shown are examples and that in some implementations, certain acts may be omitted, additional acts may be added, and / or the order of acts may be changed.
[0149] The method 900 begins at 901, for example, in response to a call from another routine.
[0150] At 902, the digital processor calculates an effective energy function for an input problem having n categorical variables, as described above with reference to act 802 of method 800.
number
[0151] In 903, the digital processor calculates the value of the variable x i The exponential weight w for all instances j ij Calculate (Equation 7).
[0152] In 904, the digital processor calculates the weights w ij The normalized probability p of each variable i taking state j is proportional to ij Calculate (Equation 8).
[0153] At 905, the digital processor obtains two candidate values for each variable in the input problem through sampling from the probabilities computed at 904. The candidate values may be independent samples.
[0154] At 906, the digital processor generates the binary value s as described above with reference to act 806 of method 800. i to construct the Hamiltonian H for the problem.
[0155] At 907 , the digital processor constructs a two-way quadratic model of the problem from the Hamiltonian H of act 906 as described above with reference to act 807 of method 800 .
[0156] At 908, the digital processor sends the two-dimensional quadratic model to a quantum processor. In at least one implementation, an embedding algorithm (e.g., minor embedding) is applied to the model in act 907 to generate an embedding problem that can be sent to the quantum processor.
[0157] At 909, the digital processor receives samples generated by the quantum processor from the model sent at 908. The samples represent a solution to the input problem.
[0158] At 910, the digital processor incorporates the samples received at 909 into the input problem at 902.
[0159] At 911, the digital processor checks whether the termination condition is met. If the termination condition is met, control passes to 912. Otherwise, control passes to 902, where the digital processor calculates the effective energy of the input problem incorporating the sample.
number
[0160] At 912, the method 900 ends, eg, does not start again until called again.
[0161] Methods 800 and 900 may also be applied in solving constrained problems (e.g., constrained quadratic integer problems) that can benefit from sampling from categorical distributions, as described above with reference to method 400 of FIG. 4 and method 500 of FIG. 5.
[0162] 10 is a flow diagram of an example method 1000 of operation of a hybrid computing system using a cross-Boltzmann update to sample from a softmax distribution over instances of categorical distributions using constraints. Method 1000 can be performed on a hybrid computing system (e.g., hybrid computing system 100 of FIG. 1) that includes at least one digital or classical processor and a quantum processor.
[0163] Method 1000 includes acts 1001-1012. However, one skilled in the art will understand that the number of acts shown are examples and that in some implementations, certain acts may be omitted, additional acts may be added, and / or the order of acts may be changed.
[0164] The method 1000 begins at 1001, for example, in response to a call from another routine.
[0165] In 1002, a digital processor computes an effective energy E of an integer variable for an input problem having n integer variables. i The energy E(x i ) is computed as a function of the magnitude of the integer and the current state of the other variables according to Equation 9. An input problem may be received at 1001 as part of an input set.
[0166] In 1003, the digital processor calculates the value of each variable x according to Equation 10. i and the exponential weight w for all cases jij Calculate the following.
[0167] At 1004, the digital processor calculates the value of each integer variable x according to Equation 13. i Feasible region for
number
[0168] At 1005, the digital processor calculates each variable x with value j according to Equation 14. i Mask M j Calculate the following.
[0169] At 1006, the digital processor calculates the number of variables x in the feasible region only. i The normalized probability p of adopting state j ij Calculate the variable x i The probability of adopting state j is given by the exponential weight, according to Equation 15.
number
[0170] At 1007, the digital processor obtains two candidate values for each variable in the input problem via sampling from the probabilities computed at 1006. The candidate values may be independent samples.
[0171] At 1008, the digital processor calculates the binary value s as described in the first reference to Equation 19 above. i construct the Hamiltonian H for the problem using t-1 A variable v has i is the updated value v t If you want to incorporate s i takes the value 1, and the Hamiltonian H depends on the binary variable s.
number
[0172] In 1009, the digital processor constructs a two-dimensional quadratic model of the problem from the Hamiltonian H of act 1008. i Depending on the nature of the two-dimensional quadratic model, the digital processor reduces the two-dimensional quadratic model in different ways, as described above with reference to act 605 of method 600.
[0173] At 1010, the digital processor sends the two-dimensional quadratic model to a quantum processor. In at least one implementation, an embedding algorithm (e.g., minor embedding) is applied to the model in act 1009 to generate an embedding problem that can be sent to the quantum processor.
[0174] At 1011, the digital processor receives samples generated by the quantum processor from the model sent at 1010. The samples represent a solution to the input problem.
[0175] At 1012, the method 1000 ends, eg, does not start again until called again.
[0176] 11 is a flow diagram of an example iterative method 1100 of operation of a hybrid computing system using a cross-Boltzmann update to sample from a softmax distribution over instances of categorical distributions using constraints. Method 1100 can be performed on a hybrid computing system (e.g., hybrid computing system 100 of FIG. 1) that includes at least one digital or classical processor and a quantum processor.
[0177] Method 1100 includes acts 1101-1114. However, one skilled in the art will understand that the number of acts shown are examples and that in some implementations, certain acts may be omitted, additional acts may be added, and / or the order of the acts may be changed.
[0178] The method 1100 begins at 1101, for example, in response to a call from another routine.
[0179] At 1102, the digital processor computes the effective energy E of the integer variables of an input problem having n integer variables, as described above with reference to act 1002 of method 1000.
[0180] In 1103, the digital processor calculates the value of each variable x according to Equation 10. i and the exponential weight w for all cases j ij Calculate the following.
[0181] At 1104, the digital processor calculates the value of each integer variable x according to Equation 13. i Feasible region for
number
[0182] At 1105, the digital processor calculates each variable x with value j according to Equation 14. i Mask M j Calculate the following.
[0183] In 1106, the digital processor calculates the number of variables x in the feasible region only. i The normalized probability p of adopting state j ij Calculate the variable x i The probability of adopting state j is given by the exponential weight, according to Equation 15.
number
[0184] At 1107, the digital processor obtains two candidate values for each variable in the input problem via sampling from the probabilities computed at 1106. The candidate values may be independent samples.
[0185] At 1108, the digital processor generates the binary value s as described above with reference to act 1008 of method 1000. i to construct the Hamiltonian H for the problem.
[0186] In 1109 , the digital processor constructs a two-way quadratic model of the problem from the Hamiltonian H of act 1108 as described above with reference to act 1009 of method 1000 .
[0187] In 1110, the digital processor transmits the binary quadratic model of act 1109 to the quantum processor, as described above with reference to act 1010 of method 1000.
[0188] At 1111, the digital processor receives samples generated by the quantum processor from the model sent at 1110. The samples represent a solution to the input problem.
[0189] At 1112, the digital processor incorporates the samples received at 1111 into an input problem.
[0190] At 1113, the digital processor checks whether the termination condition is met. If the termination condition is met, control passes to 1114. Otherwise, control passes to 1102, where the digital processor calculates the effective energy of the input problem incorporating the sample.
number
[0191] At 1114, the method 1100 ends, eg, does not start again until called again.
[0192] The systems and methods described above can be used to optimize resource scheduling, such as, for example, scheduling equipment and / or personnel for job assignments at a location. Resource scheduling is an NP-hard problem and can be formulated, for example, as a linear integer program. Linear integer programs can be solved with commercially available software, such as the SCIP solver, the CPLEX® optimizer, or the Gurobi® optimizer. However, formulating resource scheduling as an integer linear program introduces binary variables to enforce logical constraints, which increases the complexity and, in turn, the computation time required to solve the resource scheduling problem. Long computation times result in resource managers spending a significant amount of time allocating resources to jobs, shifts, or locations, leading to increased business inefficiencies.
[0193] Resource scheduling can be formulated as a discrete quadratic model f that encodes one-hot constraints and is then solved on a quantum processor. Such a model can be thought of as a two-way quadratic model with one-hot constraints, as described above with reference to Equation 19.
number
[0194] variable x d,i can be defined for each resource i and each day d. Resources can be available starting at different times, during different times and in different departments and locations. Of all combinations of these attributes, only one option can be selected at a time. For example, x (d,i),(s,u,j,l)indicates that resource i starts on date d, at time s, for duration u, in department j, at location l. If the above formulation only considers start times, it is impossible for any of the available combinations of time, duration, department, and location described to occur simultaneously.
number
[0195] set S d,i The above inequality can be converted to an equality by expanding with case 0 (which indicates that no case is selected).
number
[0196] In some implementations, it is desirable to schedule particular resources (e.g., more efficient resources, new resources, etc.) to particular jobs, shifts, or locations, preferably without introducing new variables to avoid increasing the complexity of the problem. Resource scheduling problems can be optimized by biasing individual resources.
number
[0197] Resource demand can be optimized by minimizing the interval between the scheduled time and the required time for any date, time, department, and location. The function f1 minimizes the interval between the scheduled resource and the resource demand. [Number] where b is a time bin, and S b ={(s, u): s ≤ b < s + u} is the set of start s and time u that overlap in bin b, and R d,b,j,l is the demand for resources in department j and at location l for time bin b on day d.
[0198] Also, in order to ensure that each resource is allocated a fixed number of time u, it may be desirable to add another objective function f2 to the problem. The function f2 minimizes the interval between the scheduled time and the planned time, where S i is the set of planned times. [Number]
[0199] In some implementations, it may be desirable to add another objective function f3 to ensure that a predetermined resource has an inactive period (e.g., two consecutive days of inactivity) scheduled, where this is represented by 0 (i.e., not scheduled). In one implementation, for example, it may be desirable to schedule two consecutive days off for regular maintenance. [Number]
[0200] The following is an example of a set of constraints that can be applied to the resource scheduling problem. However, those skilled in the art will understand that the following set of constraints is for illustrative purposes only, and that some constraints may not be used and other constraints may be added.
[0201] Each resource is assigned working hours based on the availability of the resource.
[0202] The length of the shift can vary depending on, for example, the type or location of the assignment.
[0203] The time between two consecutive shifts may vary depending on, for example, the distance between the physical locations of the two consecutive shifts or due to scheduled maintenance of equipment. In one exemplary implementation, the time between shifts for a resource may be at least 15 hours.
number
[0204] Each resource is allocated approximately the number of hours planned.
[0205] Each resource can be assigned scheduled periods of inactivity, for example, equipment can be idle for one day per week or two consecutive days per week for routine maintenance performed weekly.
[0206] Each department is allocated closed resources according to the number of resources required per day and per week.
[0207] Multiple departments or locations can be optimized together and share the same resources.
[0208] The two-way quadratic model constructed using the above constraints can then be solved using a hybrid computing system (e.g., hybrid computing system 100 of FIG. 1 ) using any of the methods 600, 700, 800, 900, 1000, and 1100 of FIGS. 6, 7, 8, 9, 10, and 11, respectively.
[0209] 12 is a flow diagram of an example method 1200 of operation of a hybrid computing system to optimize resource scheduling. Method 1200 can be performed on a hybrid computing system (e.g., hybrid computing system 100 of FIG. 1) that includes at least one digital or classical processor and a quantum processor.
[0210] Method 1200 includes acts 1201-1206. However, one skilled in the art will understand that the number of acts shown are examples and that in some implementations, certain acts may be omitted, additional acts may be added, and / or the order of acts may be changed.
[0211] Method 1200 begins at 1201, for example, in response to a call from another routine. Method 1200 can take as an input set data about each resource (e.g., planned availability and planned inactivity periods) and data about each work department and location (e.g., required resources).
[0212] In 1202, the digital processor formulates the input data into a set of constraints for each resource, date, time, department, and location. In at least one implementation, the digital processor formulates the following constraints: Each resource is assigned work hours based on the resource's availability. The length of a shift may vary, for example, depending on the type of assignment or location. The time between two consecutive shifts may vary, for example, depending on the distance between the physical locations of the two consecutive shifts or due to scheduled equipment maintenance. Each resource is assigned hours close to the planned number. Each resource may be allocated scheduled periods of inactivity. Each department is assigned closed resources to the required number of resources per day and per week.
[0213] In 1203, the digital processor constructs a two-way quadratic model based on the set of constraints formulated in 1202. The digital processor may employ any of the methods 600, 700, 800, 900, 1000, and 1100 of Figures 6, 7, 8, 9, 10, and 11, respectively.
[0214] In 1204, the digital processor sends the two-dimensional quadratic model constructed in 1203 to a quantum processor. In at least one implementation, an embedding algorithm (e.g., minor embedding) is applied to the model in act 1203 to generate an embedding problem that can be sent to the quantum processor.
[0215] At 1205, the digital processor receives samples generated by the quantum processor from the model sent at 1204. The samples represent a solution to the input problem.
[0216] At 1206, the method 1200 ends, eg, does not start again until called again.
[0217] The methods, processes, or techniques described above can be implemented by a series of processor-readable instructions stored on one or more non-transitory processor-readable media. Some example methods, processes, or techniques described above are performed in part by a specialized device (e.g., a computer including at least one digital processor), such as an adiabatic quantum computer or quantum annealer or system for programming or controlling the operation of the adiabatic quantum computer or quantum annealer. While the methods, processes, or techniques described above may include various acts, those skilled in the art will understand that in alternative examples, certain acts may be omitted and / or additional acts may be added. Those skilled in the art will understand that the order of acts shown is for illustrative purposes only and may be changed in alternative examples. Some example acts or operations of the methods, processes, or techniques described above are performed iteratively. Some acts of the methods, processes, or techniques described above may be performed during each iteration, after multiple iterations, or at the end of all iterations.
[0218] The above description of illustrated implementations, including those described in the Abstract, is not intended to be exhaustive or to limit implementations to the precise forms disclosed. While specific implementations and examples are described herein for illustrative purposes, various equivalent modifications can be made without departing from the spirit and scope of the present disclosure, as will be recognized by those skilled in the art. The teachings of various implementations provided herein are not necessarily limited to the example methods of quantum computing generally described above, but may also be applied to other methods of quantum computing.
[0219] The various implementations described above can be combined to provide further implementations. All commonly owned U.S. patent application publications, U.S. patent applications, foreign patents, and foreign patent applications referred to in this specification and / or listed in Application Data Sheets, including, but not limited to, U.S. Patent No. 7,533,068, U.S. Patent Publication No. 20200234172, U.S. Patent No. 7,984,012, U.S. Patent No. 8,244,662, U.S. Patent No. 9,727,823, U.S. Patent No. 9,875,215, U.S. Patent No. 10,789,540, and U.S. Provisional Patent Application No. 62 / 951,749, are incorporated herein by reference in their entirety.
[0220] These and other changes to the implementations can be made in light of the above detailed description. In general, in the following claims, the terms used should not be construed to limit the claims to the specific implementations disclosed in the specification and the claims, but rather to include all possible implementations, along with the full range of equivalents to which such claims are entitled. Accordingly, the claims are not limited by this disclosure.
Claims
1. 1. A method of computing in a processor-based system, comprising: n arbitrary variables v i applying the algorithm to a problem having From the algorithm, any variable v i obtaining two candidate values for each of Any variable v i Each of the binary values s is used to determine which of the two candidate values it should take. i Constructing a Hamiltonian using constructing a two-dimensional quadratic model based on the Hamiltonian; obtaining samples from said two-dimensional quadratic model from a quantum processor as a solution to said problem; A method comprising:
2. n arbitrary variables v i Applying the algorithm to a problem with n arbitrary variables v i applying a Gibbs sampler to a problem having i Obtaining two candidate values for each of the variables v from the Gibbs sampler i The method of claim 1 , comprising obtaining two candidate values for each of
3. n arbitrary variables v i Applying the algorithm to a problem having For each of the arbitrary variables, calculating an energy of each state of the arbitrary variable based on interactions of the arbitrary variable with other variables; For each of said optional variables, the number D of distinct values of said optional variable i computing a respective exponential weight for said arbitrary variable for each of Each of the arbitrary variables is proportional to the exponential weight. i and computing the normalized probability of taking one of The method of claim 1 , comprising:
4. n arbitrary variables v i Applying the algorithm to a problem having For each of the arbitrary variables, calculating the energy of the arbitrary variable as a function of the magnitude of the arbitrary variable and the current states of all other variables in relation to the arbitrary variable; For each of said arbitrary variables, the respective number D of distinct values of said arbitrary variable i computing a respective exponential weight for said arbitrary variable for each of for each of the arbitrary variables, computing a feasible region for the arbitrary variable, the feasible region comprising a set of values that respects a set of constraints; For each of said arbitrary variables, the respective number of distinct values D i computing a mask for said arbitrary variable in each of for each of the arbitrary variables, the arbitrary variable being proportional to the exponential weight and the mask, the respective number D of distinct values of the arbitrary variable; i and computing normalized probabilities that collectively represent the probability of taking one of the following: The method of claim 1 , comprising:
5. Constructing a two-way quadratic model is i and two candidate values are used to create a new variable x i Define the above problem as s i A method according to any one of claims 1 to 4, comprising transforming the problem into an optimization problem in the space of
6. 5. The method of claim 1, wherein constructing a two-way quadratic model comprises relaxing a constrained binary optimization problem to an unconstrained binary optimization problem using a penalty term, and finding a sum over each of the two candidate values.
7. 5. The method of claim 1, further comprising applying an embedding algorithm to the binary quadratic model to define an embedding in the quantum processor before obtaining samples from the binary quadratic model from the quantum processor.
8. until the termination condition is met. n arbitrary variables v i applying the algorithm to a problem having From the algorithm, any variable v i obtaining two candidate values for each of Any variable v i Each of the binary values s is used to determine which of the two candidate values it should take. i Constructing a Hamiltonian using constructing a two-dimensional quadratic model based on the Hamiltonian; obtaining samples from the two-dimensional quadratic model from the quantum processor; incorporating said sample into said problem; Repeatedly repeating The method of claim 1 further comprising:
9. The method of claim 8 , further comprising determining whether an exit condition is met.
10. The method of claim 9 , wherein determining whether a termination condition is met comprises determining whether a measure representing a quality assessment of the given variable is met.
11. The method according to any one of claims 1 to 4, wherein the problem is a resource scheduling problem.
12. A processor-based system including at least one classical processor, the system being operable to perform any of the methods of claims 1-11.
13. 13. The processor-based system of claim 12, further comprising a quantum processor communicatively coupled to the at least one classical processor.
14. A method of operation in a processor-based system for computing a softmax distribution for an input problem having n variables, wherein each variable has a respective number D of distinct values. i Take, the way, For each variable in the input problem, calculating an energy for each state of the variable in the input problem based on interactions of the respective variable with the other variables; For each variable in the input problem, the respective number D of distinct values of the variable i computing respective exponential weights for said variables in each of For each variable in the input problem, the number D of distinct values of the variable proportional to the exponential weight i computing normalized probabilities that collectively represent the probability of taking one of the following: obtaining a number of samples from said normalized probability values; A method comprising:
15. The method of claim 14 , wherein obtaining multiple samples from the normalized probabilities comprises obtaining multiple samples from the normalized probabilities via inverse transform sampling.
16. 15. The method of claim 14, wherein for each variable of the input problem, calculating an energy for each state of the variable comprises calculating an energy for each state of each variable of a protein side-chain optimization problem.
17. until the termination condition is met. For each variable in the input problem, computing an energy for each state of the variable based on interactions of the respective variable with the other variables; For each variable in the input problem, the respective number D of distinct values of the variable i computing a numerical value of each exponential weight for said variables in each of For each variable in the input problem, the number D of distinct values of the variable proportional to the exponential weight i computing normalized probabilities that collectively represent the probability of taking one of the following: obtaining a number of samples from the normalized probabilities; incorporating said multiple samples into said input problem; Repeatedly repeating 15. The method of claim 14, further comprising:
18. The method of claim 17 , further comprising determining whether an exit condition is met.
19. 20. The method of claim 18, wherein determining whether a termination condition is met comprises determining whether a measure representative of a quality assessment of the variable is met.
20. A processor-based system including at least one classical processor, the processor-based system being operable to perform any of the methods of claims 14 to 19.
21. A method of operation in a processor-based system for computing a softmax distribution for an input problem having n variables, wherein each variable has a respective number D of distinct values. i Take, the way, for each variable of the input problem, computing the energy of the variable in the input problem as a function of the magnitude of the variable and the current states of all other variables; For each variable in the input problem, the respective number D of distinct values of the variable i computing the exponential weight values of said variables in each of for each variable of the input problem, computing a feasible region for that variable, the feasible region comprising a set of values that respects a set of constraints; For each variable in the input problem, the respective number D of distinct values of the variable i computing a mask for said variables in each of For each variable in the input problem, the variable is proportional to the exponential weight and the mask, and the respective number D of distinct values of the variable i calculating a normalized probability value representing the probability of taking one of the following: obtaining a number of samples from said normalized probability values; A method comprising:
22. 22. The method of claim 21, wherein for each variable of the input problem, computing the energy of the variable comprises computing the energy of each variable of a constrained quadratic integer problem.
23. 22. The method of claim 21, wherein obtaining multiple samples from the normalized probability values comprises obtaining multiple samples from the normalized probability values via inverse transform sampling.
24. until the termination condition is met. for each variable of the input problem, computing the energy of the variable in the input problem as a function of the magnitude of the variable and the current states of all other variables; For each variable in the input problem, the respective number D of distinct values of the variable i computing a numerical value of each exponential weight for said variables in each of for each variable of the input problem, computing a feasible region for that variable, the feasible region comprising a set of values that respects a set of constraints; For each variable in the input problem, the respective number D of distinct values of the variable i computing a mask for said variables in each of For each variable in the input problem, the variable is proportional to the exponential weight and the mask, and the respective number D of distinct values of the variable i and computing a normalized probability value that takes one of: obtaining a number of samples from the normalized probabilities; incorporating said multiple samples into said input problem; Repeatedly repeating 22. The method of claim 21 further comprising:
25. 25. The method of claim 24, further comprising determining whether an exit condition is met.
26. 26. The method of claim 25, wherein determining whether a termination condition is met comprises determining whether a measure representative of a quality assessment of the variable is met.
27. A processor-based system including at least one classical processor, the processor-based system being operable to perform any of the methods of claims 21-26.
Citation Information
Patent Citations
Adiabatic quantum computation method
JP2009524857A
Method and system for decomposing problems involving discrete optimization into multiple smaller subproblems and their use for solving problems
JP2019512779A
System, method and apparatus for sampling from a sampling server
JP2019533241A
Nested quantum annealing correction
US20170364362A1
Quantum deep learning
WO2016089711A1