Quantum enhancement optimization

By combining classical computing optimization techniques and quantum computing optimization techniques, the technical challenge of converting traditional optimization problems into formats available for quantum computing is solved, enabling faster and more accurate optimization solutions.

CN120106238APending Publication Date: 2025-06-06SAP SE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411758230.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-12-05
Filing Date
2024-12-03
Publication Date
2025-06-06

AI Technical Summary

Technical Problem

The prior art encounters technical challenges in converting traditional optimization problems into formats available to quantum computing, resulting in faster or more accurate traditional computing methods in some cases.

Method used

Using a method combining classical computing optimization technology and quantum computing optimization technology, the optimization problem is transformed into a quantum optimizer readable model through preprocessing and model transformation, and on this basis, the classical optimization program and quantum optimization program are used in parallel until the optimal solution is found.

Benefits of technology

The optimization problem is solved faster and more accurately than using either technique alone without negatively affecting the classical solution process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120106238A_ABST
    Figure CN120106238A_ABST
Patent Text Reader

Abstract

In example embodiments, both types of techniques are utilized together to solve the same problem rather than separately utilizing conventional computational optimization techniques or quantum computational optimization techniques. As a result, the problem can be solved more quickly and more accurately than using either technique alone.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to quantum computing and, more particularly, to quantum enhanced optimization. Background Art

[0002] Quantum computing is a type of computing that uses the principles of quantum mechanics to perform certain types of calculations more efficiently than classical computers. Quantum mechanics is the branch of physics that deals with the behavior of very small particles (such as electrons and photons) at the quantum level. Unlike classical computers, which use bits as the basic unit of information (0 or 1), quantum computers use quantum bits, or qubits. Summary of the invention

[0003] In an example embodiment, rather than utilizing either traditional computing optimization techniques or quantum computing optimization techniques alone, both types of techniques are utilized together to solve the same problem. As a result, the problem can be solved more quickly and accurately than using either technique alone. BRIEF DESCRIPTION OF THE DRAWINGS

[0004] The present disclosure is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like references indicate similar elements.

[0005] Figure 1 is a block diagram illustrating a system according to an example embodiment.

[0006] Figure 2 is a flow chart illustrating a method according to an example embodiment.

[0007] Figure 3 is a block diagram illustrating a software architecture that may be installed on any one or more of the devices described above.

[0008] Figure 4 A diagrammatic representation of a machine in the form of a computer system is shown within which a set of instructions may be executed to cause the machine to perform any one or more of the methodologies discussed herein. DETAILED DESCRIPTION

[0009] The following description discusses illustrative systems, methods, techniques, instruction sequences, and computing machine program products. In the following description, for the purpose of explanation, many specific details are set forth in order to provide an understanding of various example embodiments of the present subject matter. However, it will be apparent to those skilled in the art that various example embodiments of the present subject matter may be practiced without these specific details.

[0010] Quantum computing techniques can be used to optimize a variety of problems. An example of such a problem could be that an organization may want to minimize the number of trucks required to deliver a package, so the optimization problem involves finding a feasible assignment of packages or freight to trucks given that the packages or freight must be delivered on time.

[0011] Some of these optimizations are extremely difficult to solve, and therefore can take an extremely long time, even for fast classical computers. Quantum computing could provide a mechanism to speed up the solution process.

[0012] However, there are technical challenges in converting classical optimization problems into a format usable by quantum computing. This aspect, and the fact that some problems are still solved faster (or simply more accurately) by classical computing methods, means that it is often the developer or administrator's responsibility to choose whether to utilize classical computing optimization techniques or quantum computing optimization techniques to solve a particular problem.

[0013] In an example embodiment, rather than utilizing either traditional computing optimization techniques or quantum computing optimization techniques alone, both types of techniques are utilized together to solve the same problem. As a result, the problem can be solved more quickly and more accurately than using either technique alone.

[0014] More specifically, a method is introduced that includes quantum computation in the classical solution process without negatively affecting the classical solution process.

[0015] Suppose there is an optimization problem:

[0016] Optimize{f(x):x∈X}

[0017] It solves a given business problem. In this notation, f is the objective function that needs to be optimized (minimized or maximized). The feasible set is X and x∈X is a feasible action, such as assigning a pilot to an aircraft. In some example embodiments, the optimization problem can be automatically generated by transforming relevant data from an Enterprise Resource Planning (ERP) system and inputting such data and other sources into the model.

[0018] For simplicity, the optimization problems discussed herein are minimization problems, and thus the present disclosure describes minimization without loss of generality. However, this is not meant to be limiting, and the described techniques may also be applied to optimization problems other than minimization.

[0019] A very common optimization problem is the mixed integer linear programming, which is defined as follows:

[0020] minimize

[0021] For vector And the matrix Where n = n 1 +n 2 .

[0022] Given an optimization problem:

[0023] Minimize {f(x):x∈X},

[0024] First, a preprocessing step is performed on it to obtain a more simplified problem, such as:

[0025] Minimize {g(x):x∈X*}

[0026] and a mapping τ:x*→X such that

[0027]

[0028] The preprocessing step simplifies the problem, and from the results of the preprocessed problem, the solution to the original problem can be (efficiently) constructed.

[0029] Generally speaking, preprocessing an optimization problem involves some simplification of the optimization problem. This can include, for example, removing variables that are not relevant to the given problem or are not used in the optimization problem, adding constraints that reduce the complexity of the optimization problem, etc.

[0030] The optimization procedure is then applied to the preprocessed problem. At this point, it may be infeasible to find a solution to the problem to be solved; that is, it may be infeasible to find a solution x∈X*

[0031] Even if x∈X* is found during the preprocessing step, it is not necessarily a good solution with respect to the objective function.

[0032] At this point, the optimization procedure is parallelized into a classical optimization procedure and a quantum optimization procedure. In addition, the output of the classical optimization procedure can be input into the quantum optimization procedure, and vice versa.

[0033] In order to apply the quantum optimization procedure to the problem, the model is transformed into the required format. As with preprocessing, there is a new model

[0034] Minimize {h(x):x∈X q}

[0035] and the mapping τ q :X q →X*, so that

[0036]

[0037] The most notable example of a format available for quantum optimization programs is called Quadratic Unconstrained Binary Optimization (QUBO). In the QUBO problem, there is a set of binary variables that can take values ​​of 0 or 1. The goal is to find the assignment of values ​​to these binary variables that minimize (or maximize) a quadratic objective function. The objective function is quadratic because it consists of terms involving pairs of variables, and these terms can represent costs or energies associated with the states of the variables.

[0038] Mathematically, the QUBO problem can be expressed as:

[0039] Minimize (or maximize) F(x) = ∑(i = 1 to N) ∑(j = i + 1 to N) Q_ij * x_i * x_j

[0040] Here, x_i and x_j are binary variables, and Q_ij represents the coefficients that define the problem. These coefficients can be positive or negative and represent the interaction between variables i and j. The goal is to find the binary variable assignments that minimize (or maximize) this quadratic objective function.

[0041] Returning to the quantum optimization process, this process can be operated using one or more quantum optimization techniques. In quantum computing, information is processed using quantum bits, or qubits. These qubits can exist in a state of 0, 1, or a superposition of both. The complexity of the problem determines the number of qubits required.

[0042] A quantum optimization procedure starts with an initial state, typically a superposition of potential solutions that allows the quantum computer to explore multiple options concurrently. The quantum state evolves over time according to a Hamiltonian operator that encodes the objective function.

[0043] At specific intervals, measurements are taken, collapsing the quantum state into a classical outcome (0 or 1) for each qubit. These outcomes guide the algorithm in making decisions about how to proceed. Based on the measurement results, the quantum state and Hamiltonian are adjusted in multiple iterations, gradually converging towards an optimal or near-optimal solution. In some example embodiments, a single iteration may be used.

[0044] The final measurement results provide the solution to the optimization problem.

[0045] For the solution x found by the quantum optimization program q , the system checks whether x q ∈X*.

[0046] If this is the case, set the following: This is the set of all quantum solutions found so far (at this point, since the quantum optimization has only been run once, )

[0047] While the quantum optimizer is running, the classical optimizer is also running. The idea is to include the solution from the quantum optimizer in the solution process (i.e., to enhance the classical optimizer with the quantum optimizer).

[0048] Classic optimizers need to be checked Has it changed? If it has, the new solution is added to the optimization process. This can be considered a heuristic. A heuristic is an algorithm that does a good job of finding a solution to your problem, without making any guarantees about the quality of the solution.

[0049] One assumption made is that the classical optimizer supports callbacks. Such callbacks can be used to include heuristics into the solution process. In the current case, the heuristic checks changes, and if so, it extracts the changes and reports them as the newly found solution.

[0050] In the solution process of the classical optimization procedure, the classical optimization procedure can find a feasible solution x∈X*. Whenever such an x ​​is found, the set pass has been updated. ( is initialized to ) Again, this can be done with the help of callbacks.

[0051] Can be improved by quantum optimization procedures For the appropriate Optimizing the model

[0052] Minimize {h z (x):x∈X 2}

[0053] And the mapping τ z :X z →X* is constructed so that

[0054]

[0055] For the solution x found by the quantum optimization program Z , check x Z ∈X*. If this is the case, then pass renew.

[0056] In an example embodiment, the classical optimizer determines the run time. If it terminates, the entire process terminates.

[0057] Figure 11 is a block diagram illustrating a system 100 according to an example embodiment. An ERP system 102 contains data, such as data related to an organization. The data may be transmitted to a cloud service 104. The cloud service 104 may include a modeling component 106 that uses the data to formulate a problem into a model. The model may then be preprocessed by a preprocessing unit 108, thereby creating a preprocessed model that is a simplified version of the model created by the modeling component. A model quantum optimization format converter 110 then converts the preprocessed model into a quantum optimizer readable model. The quantum optimizer readable model is then sent to a separate quantum service 112.

[0058] In parallel with the formation of the quantum optimizer readable model and its sending to the quantum service 112, the model classical optimization format converter 114 transforms the preprocessed model into a classical optimizer readable model. The classical optimizer 116 is then able to find a solution to the problem by operating on the classical optimizer readable model, while in parallel, the quantum service 112 finds a solution to the problem by operating on the quantum optimizer readable model. The quantum service 112 then sends the solution it finds to the post-processing unit 118 on the cloud service 104. The post-processing unit 118 combines the quantum optimizer readable model with the solution from the quantum service to create a post-processed solution. The post-processed solution is then fed as input to the classical optimizer 116, which (before finding its solution for the first time, or in subsequent iterations) applies classical optimization techniques, using the post-processed solution to help find a solution. The optimal solution determiner 120 determines whether the solution from the classical optimizer 116 is "optimal". If not, a loop is created where the output of the classical optimizer 116 is sent to the quantum service 112, and the output of the quantum service 112 is sent to the classical optimizer. The solution from the classical optimizer 116 can be transformed by the re-optimization modeler 122 into a re-optimization model readable by the quantum service 112. In each iteration of this loop, the optimal solution determiner 120 determines whether an "optimal" solution to the problem has been found by this combination of the classical optimizer 116 and the quantum service 112.

[0059] It should be noted that the meaning of "optimal" can vary based on the needs of the designer or administrator, and thus the term "optimal" in this article should not be interpreted as limited to the absolute "best" solution. For example, while one administrator may indeed be looking for the absolute "best" solution, another administrator may only be looking for the best solution that can be found within 5% of some desired endpoint, or the best solution that can be found after a fixed number of iterations. In other words, "optimal" does not necessarily mean "best", but rather means "good enough based on some criteria established by someone in charge of the system."

[0060] Figure 2 2 is a flow chart illustrating a method 200 according to an example embodiment. At operation 202, an original optimization problem is accessed. For example, the optimization problem may be related to data in an ERP system. At operation 204, the original optimization problem is preprocessed to create a preprocessed optimization problem.

[0061] The two independent branches from operation 204 reflect two independent paths that are followed. In some example embodiments, the two independent paths are followed in parallel. In the first path, the quantum optimization procedure will be followed. Thus, at operation 206, the preprocessed optimization problem is transformed into a format readable by the quantum optimizer. At operation 208, the quantum optimizer executes the quantum optimization procedure on the transformed preprocessed optimization problem, thereby generating a quantum solution. At operation 210, the quantum solution is added to the set of quantum solutions to the original optimization problem. The set reflects the quantum solutions found in each iteration of the quantum optimization procedure. Therefore, when operations 208 and 210 are performed for the first time, the set will be empty, and then after performing operations 208 and 210, the set will have a solution for the first time, wherein each subsequent execution of operations 208 and 210 adds another solution to the set.

[0062] In parallel, in the second path, a classical optimization procedure is performed at operation 212 to produce a classical solution. This may include using the set of quantum solutions produced by the first path (if available). At operation 214, the classical solution is added to the set of classical solutions to the original optimization problem. The set reflects the classical solutions found in each iteration of the classical optimization procedure. Therefore, when operations 212 and 214 are performed for the first time, the set will be empty, and then after performing operations 212 and 214 for the first time, the set will have one solution, wherein each subsequent execution of operations 212 and 214 adds another solution to the set.

[0063] The output of the classical optimization program at each iteration is used to determine whether additional iterations of both the classical optimization program and the quantum optimization program are required. Therefore, at operation 216, it is determined whether the classical solution set is "optimal". As previously described, "optimal" is determined based on one or more preset criteria. If so, the method 200 ends. If not, at operation 218, the classical solution set and the preprocessed optimization problem are transformed into a re-optimization model readable by the quantum optimizer. The re-optimization model is then used in another execution of operations 208 and 210. Therefore, the method 200 keeps looping until it is determined at operation 216 that the classical solution set is "optimal".

[0064] In view of the above embodiments of the subject matter, the present application discloses the following list of examples, wherein one feature of a single example or a combination of more than one feature of the example, and optionally a combination with one or more features of one or more other examples, also belong to other examples of the content disclosed in the present application:

[0065] Example 1 is a system comprising: at least one hardware processor; a computer-readable medium storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising: accessing an optimization problem; transforming the optimization problem into a quantum-readable optimization model; causing a quantum optimization program to execute on the quantum-readable optimization model to produce a quantum solution to the optimization problem; and passing the quantum solution and the optimization problem to a classical optimization program that finds a classical solution to the optimization problem based at least in part on the quantum solution.

[0066] In Example 2, the subject matter of Example 1 includes, wherein the operations further include: determining whether the classical solution is considered an optimal solution based on a set of criteria; and in response to a determination that the classical solution is not considered an optimal solution: transforming the classical solution and the optimization problem into a quantum readable re-optimization model; and causing a quantum optimization program to execute on the quantum readable re-optimization model; and passing the quantum solution and the optimization problem to a classical optimization program, the classical optimization program finding a classical solution to the optimization problem based at least in part on the quantum solution.

[0067] In Example 3, the subject matter of Example 2 includes, wherein the operations further include: repeating the determining and the operations performed in response to the determination that the classical solution is not considered to be the optimal solution until it is determined that the classical solution is considered to be the optimal solution.

[0068] In Example 4, the subject matter of Examples 1-3 includes, wherein the quantum optimization program is performed by a quantum service that is separate and distinct from a service that performs the operation.

[0069] In Example 5, the subject matter of Examples 1-4 includes, wherein the optimization problem is created using data extracted from an enterprise resource planning (ERP) system.

[0070] In Example 6, the subject matter of Examples 1-5 includes, wherein the optimization problem is a minimization problem.

[0071] In Example 7, the subject matter of Examples 1-6 includes, wherein the quantum readable optimization model is in QUBO format.

[0072] Example 8 is a method comprising: accessing an optimization problem; transforming the optimization problem into a quantum readable optimization model; causing a quantum optimization program to execute on the quantum readable optimization model to produce a quantum solution to the optimization problem; and passing the quantum solution and the optimization problem to a classical optimization program, the classical optimization program finding a classical solution to the optimization problem based at least in part on the quantum solution.

[0073] In Example 9, the subject matter of Example 8 includes determining whether a classical solution is considered an optimal solution based on a set of criteria; and in response to a determination that the classical solution is not considered an optimal solution: transforming the classical solution and the optimization problem into a quantum readable re-optimization model; and causing a quantum optimization program to execute on the quantum readable re-optimization model; and passing the quantum solution and the optimization problem to a classical optimization program, the classical optimization program finding a classical solution to the optimization problem based at least in part on the quantum solution.

[0074] In Example 10, the subject matter of Example 9 includes, wherein the method further comprises: repeating the determining and the operations performed in response to the determination that the classical solution is not considered to be the optimal solution until it is determined that the classical solution is considered to be the optimal solution.

[0075] In Example 11, the subject matter of Examples 8-10 includes, wherein the quantum optimization program is performed by a quantum service that is separate and distinct from a service that performs the operation.

[0076] In Example 12, the subject matter of Examples 8-11 includes: wherein the optimization problem is created using data extracted from an ERP system.

[0077] In Example 13, the subject matter of Examples 8-12 includes, wherein the optimization problem is a minimization problem.

[0078] In Example 14, the subject matter of Examples 8-13 includes, wherein the quantum readable optimization model is in QUBO format.

[0079] Example 15 is a non-transitory machine-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: accessing an optimization problem; transforming the optimization problem into a quantum-readable optimization model; causing a quantum optimization program to execute on the quantum-readable optimization model to produce a quantum solution to the optimization problem; and passing the quantum solution and the optimization problem to a classical optimization program that finds a classical solution to the optimization problem based at least in part on the quantum solution.

[0080] In Example 16, the subject matter of Example 15 includes, wherein the method further comprises: determining whether the classical solution is considered an optimal solution based on a set of criteria; and in response to a determination that the classical solution is not considered an optimal solution: transforming the classical solution and the optimization problem into a quantum readable re-optimization model; and causing a quantum optimization program to execute on the quantum readable re-optimization model; and passing the quantum solution and the optimization problem to a classical optimization program, the classical optimization program finding a classical solution to the optimization problem based at least in part on the quantum solution.

[0081] In Example 17, the subject matter of Example 16 includes, wherein the operations further include: repeating the determining and the operations performed in response to the determination that the classical solution is not considered to be an optimal solution until it is determined that the classical solution is considered to be an optimal solution.

[0082] In Example 18, the subject matter of Examples 15-17 includes, wherein the quantum optimization program is performed by a quantum service that is separate and distinct from a service that performs the operation.

[0083] In Example 19, the subject matter of Examples 15-18 includes, wherein the optimization problem is created using data extracted from an ERP system.

[0084] In Example 20, the subject matter of Examples 15-19 includes, wherein the optimization problem is a minimization problem.

[0085] Figure 3 is a block diagram 300 illustrating a software architecture 302 that may be installed on any one or more of the devices described above. Figure 3 This is merely a non-limiting example of a software architecture, and it should be understood that many other architectures may be implemented to facilitate the functionality described herein. In various embodiments, the software architecture 302 is comprised of, for example, Figure 4 4, and the hardware implementation of the machine 400 includes a processor 410, a memory 430, and an input / output (I / O) component 450. In this example architecture, the software architecture 302 can be conceptualized as a stack of layers, where each layer can provide specific functionality. For example, the software architecture 302 includes layers such as an operating system 304, a library 306, a framework 308, and an application 310. In operation, consistent with some embodiments, the application 310 triggers an API call 312 through the software stack and receives a message 314 in response to the API call 312.

[0086] In various embodiments, operating system 304 manages hardware resources and provides common services. Operating system 304 includes, for example, kernel 320, services 322, and drivers 324. Consistent with some embodiments, kernel 320 serves as an abstraction layer between hardware and other software layers. For example, kernel 320 provides memory management, processor management (e.g., scheduling), component management, networking and security settings, and other functions. Services 322 can provide other common services to other software layers. Drivers 324 are responsible for controlling or interacting with the underlying hardware. For example, drivers 324 may include display drivers, camera drivers, or Low-power drivers, flash drivers, serial communication drivers (e.g., Universal Serial Bus (USB) drivers), Drivers, audio drivers, power management drivers, etc.

[0087] In some embodiments, libraries 306 provide a low-level common infrastructure utilized by applications 310. Libraries 306 may include system libraries 330 (eg, C standard libraries), which may provide functions such as memory allocation functions, string manipulation functions, math functions, and the like. In addition, the library 306 may include an API library 332, such as a media library (e.g., a library for supporting the presentation and manipulation of various media formats, such as Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 or AVC), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) audio codec, Joint Photographic Experts Group (PEG or JPG) or Portable Network Graphics (PNG)), a graphics library (e.g., an OpenGL framework for rendering in two-dimensional (2D) and three-dimensional (3D) in a graphics context on a display), a database library (e.g., SQLite for providing various relational database functions), a web library (e.g., WebKit for providing web browsing functions), etc. The library 306 may also include a variety of other libraries 334 to provide many other APIs to the application 310.

[0088] The framework 308 provides a high-level, general-purpose infrastructure that can be utilized by applications 310. For example, the framework 308 provides various graphical user interface functions, advanced resource management, advanced location services, etc. The framework 308 can provide a wide range of other APIs that can be utilized by applications 310, some of which can be specific to a particular operating system 304 or platform.

[0089] In an example embodiment, applications 310 include home applications 350, contacts applications 352, browser applications 354, book reader applications 356, location applications 358, media applications 360, messaging applications 362, game applications 364, and a variety of other applications, such as third-party applications 366. Applications 310 are programs that perform functions defined in the programs. Various programming languages ​​can be used to create one or more of the applications 310 constructed in various ways, such as object-oriented programming languages ​​(e.g., Objective-C, Java, or C++) or procedural programming languages ​​(e.g., C or assembly language). In a specific example, third-party applications 366 (e.g., applications developed by entities other than the vendor of a particular platform using ANDROID TM or IOS TM Software development kit (SDK) applications can be developed on mobile operating systems such as IOS TM ANDROID TM , In this example, third-party application 366 can trigger API call 312 provided by operating system 304 to facilitate the functions described herein.

[0090] Figure 4 A diagrammatic representation of a machine 400 in the form of a computer system is shown within which a set of instructions may be executed to cause the machine 400 to perform any one or more of the methodologies discussed herein. Figure 4 A diagrammatic representation of a machine 400 in the example form of a computer system is shown in which instructions 416 (e.g., software, a program, an application, an applet, an app, or other executable code) may be executed to cause the machine 400 to perform any one or more of the methodologies discussed herein. For example, the instructions 416 may cause the machine 400 to perform Figure 2 Additionally or alternatively, instruction 416 may implement Figure 1-4Etc. Instructions 416 transform a general, unprogrammed machine 400 into a specific machine 400 that is programmed to perform the functions described and shown in the described manner. In alternative embodiments, the machine 400 operates as a standalone device or can be coupled (e.g., networked) to other machines. In a networked deployment, the machine 400 can operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 400 may include, but is not limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular phone, a smart phone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart devices, a network device, a network router, a network switch, a bridge, or any machine capable of sequentially or otherwise executing instructions 416 specifying actions to be taken by the machine 400. Further, while a single machine 400 is illustrated, the term "machine" shall also be taken to include any collection of machines 400 that individually or jointly execute instructions 416 to perform any one or more of the methodologies discussed herein.

[0091] The machine 400 may include a processor 410, a memory 430, and an I / O component 450, which may be configured to communicate with each other, for example, via a bus 402. In an example embodiment, the processor 410 (e.g., a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a radio-frequency integrated circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, a processor 412 and a processor 414 that may execute instructions 416. The term "processor" is intended to include a multi-core processor that may include two or more independent processors (sometimes referred to as "cores") that may execute instructions 416 simultaneously. Although Figure 4 Multiple processors 410 are shown, but the machine 400 may include a single processor 412 with a single core, a single processor 412 with multiple cores (e.g., a multi-core processor 412), multiple processors 412, 414 with single cores, multiple processors 412, 414 with multiple cores, or any combination thereof.

[0092] The memory 430 may include a main memory 432, a static memory 434, and a storage unit 436, each of which may be accessed by the processor 410 via, for example, the bus 402. The main memory 432, the static memory 434, and the storage unit 436 store instructions 416 that embody any one or more of the methods or functions described herein. During execution of the instructions 416 by the machine 400, the instructions 416 may also reside, in whole or in part, within the main memory 432, within the static memory 434, within the storage unit 436, within at least one of the processors 410 (e.g., within a cache memory of the processor), or any suitable combination thereof.

[0093] I / O components 450 may include a variety of components for receiving input, providing output, generating output, sending information, exchanging information, capturing measurements, etc. The specific I / O components 450 included in a particular machine will depend on the type of machine. For example, a portable machine such as a mobile phone will likely include a touch input device or other such input mechanism, while a headless server machine will likely not include such a touch input device. It should be understood that I / O components 450 may include Figure 4 Many other components not shown in the figure. The I / O components 450 are grouped according to function only to simplify the following discussion, and the grouping is by no means restrictive. In various example embodiments, the I / O components 450 may include output components 452 and input components 454. The output components 452 may include visual components (e.g., displays such as plasma display panels (plasma display panels, PDP), light-emitting diode (light-emitting diode, LED) displays, liquid crystal displays (liquid crystal display, LCD), projectors or cathode ray tubes (cathode ray tube, CRT)), acoustic components (e.g., speakers), tactile components (e.g., vibration motors, resistance mechanisms), other signal generators, etc. Input component 454 may include an alphanumeric input component (e.g., a keyboard, a touch screen configured to receive alphanumeric input, an optical keyboard, or other alphanumeric input component), a point-based input component (e.g., a mouse, a touch pad, a trackball, a joystick, a motion sensor, or another pointing instrument), a tactile input component (e.g., a physical button, a touch screen that provides location and / or force of a touch or touch gesture, or other tactile input component), an audio input component (e.g., a microphone), etc.

[0094] In other example embodiments, the I / O component 450 may include a biometric component 456, a motion component 458, an environmental component 460, or a positioning component 462, as well as a variety of other components. For example, the biometric component 456 may include a component for detecting expressions (e.g., hand expressions, facial expressions, voice expressions, body postures, or eye tracking), measuring biosignals (e.g., blood pressure, heart rate, body temperature, sweat, or brain waves), identifying people (e.g., voice recognition, retinal recognition, facial recognition, fingerprint recognition, or EEG-based recognition), etc. The motion component 458 may include an acceleration sensor component (e.g., an accelerometer), a gravity sensor component, a rotation sensor component (e.g., a gyroscope), etc. The environment component 460 may include, for example, an illumination sensor component (e.g., a photometer), a temperature sensor component (e.g., one or more thermometers that detect ambient temperature), a humidity sensor component, a pressure sensor component (e.g., a barometer), an acoustic sensor component (e.g., one or more microphones that detect background noise), a proximity sensor component (e.g., an infrared sensor that detects nearby objects), a gas sensor (e.g., a gas detection sensor that detects hazardous gas concentrations or measures pollutants in the atmosphere for safety), or other components that can provide indications, measurements, or signals corresponding to the surrounding physical environment. The positioning component 462 may include a position sensor component (e.g., a Global Positioning System (GPS) receiver component), an altitude sensor component (e.g., an altimeter or a barometer that detects air pressure from which altitude can be derived), a direction sensor component (e.g., a magnetometer), etc.

[0095] A variety of technologies may be used to implement communications. I / O components 450 may include communications components 464 operable to couple machine 400 to network 480 or device 470 via coupling 482 and coupling 472, respectively. For example, communications components 464 may include a network interface component or another suitable device that interfaces with network 480. In other examples, communications components 464 may include wired communications components, wireless communications components, cellular communications components, near field communications (NFC) components, Components (e.g. Low power consumption), Components and other communication components to provide communication via other modalities. Device 470 can be another machine or any of a variety of peripheral devices (e.g., coupled via USB).

[0096] In addition, the communication component 464 can detect an identifier or include a component that can be operated to detect an identifier. For example, the communication component 464 can include a radio-frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor for detecting one-dimensional barcodes such as Universal Product Code (UPC) barcodes, multi-dimensional barcodes such as QR Codes, Aztec Codes, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D barcodes, and other optical codes), or an acoustic detection component (e.g., a microphone for identifying an audio signal of a tag). In addition, various information can be derived via the communication component 464, such as a location via Internet Protocol (IP) geolocation, a location via Internet Protocol (IP), ... The location of signal triangulation, the location of an NFC beacon signal via detection that can indicate a specific location, etc.

[0097] Various memories (i.e., 430, 432, 434 and / or the memory of processor 410) and / or storage unit 436 may store one or more sets of instructions 416 and data structures (e.g., software) that embody or are utilized by any one or more of the methods or functions described herein. These instructions (e.g., instructions 416) when executed by processor 410 cause various operations to implement the disclosed embodiments.

[0098] As used herein, the terms "machine storage medium", "device storage medium" and "computer storage medium" mean the same thing and may be used interchangeably. These terms refer to a single or multiple storage devices and / or media (e.g., centralized or distributed databases, and / or associated caches and servers) that store executable instructions and / or data. Therefore, these terms should be considered to include, but are not limited to, solid-state memory and optical and magnetic media, including memory internal or external to the processor. Specific examples of machine storage media, computer storage media and / or device storage media include non-volatile memory, including, for example, semiconductor memory devices, such as erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), field-programmable gate array (FPGA), and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The terms "machine storage media," "computer storage media," and "device storage media" specifically exclude carrier waves, modulated data signals, and other such media, at least some of which are encompassed under the term "signal media" discussed below.

[0099] In various example embodiments, one or more portions of network 480 may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local-area network (LAN), a wireless LAN (WLAN), a wide-area network (WAN), a wireless WAN (WWAN), a metropolitan-area network (MAN), the Internet, a portion of the Internet, a portion of a public switched telephone network (PSTN), a plain old telephone service (POTS) network, a cellular telephone network, a wireless network, For example, network 480 or a portion of network 480 may include a wireless or cellular network, and coupling 482 may be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile communications (GSM) connection, or another type of cellular or wireless coupling. In this example, coupling 482 can implement any of various types of data transmission technologies, such as Single Carrier Radio Transmission Technology (1xRTT), Evolution-Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data rates for GSM Evolution (EDGE) technology, the third Generation Partnership Project (3GPP) including 3G, fourth generation wireless (4G) networks, Universal Mobile Telecommunications System (UMTS), High-Speed ​​Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), Long-Term Evolution (LTE) standards, other standards defined by various standards development organizations, other remote protocols, or other data transmission technologies.

[0100] Instructions 416 may be sent or received over network 480 using a transmission medium via a network interface device (e.g., a network interface component included in communication component 464) and utilizing any of a number of well-known transmission protocols (e.g., Hypertext Transfer Protocol (HTTP)). Similarly, instructions 416 may be sent to or received from device 470 using a transmission medium via coupling 472 (e.g., a point-to-point coupling). The terms "transmission medium" and "signal medium" represent the same thing and may be used interchangeably in this disclosure. The terms "transmission medium" and "signal medium" should be deemed to include any intangible medium capable of storing, encoding, or carrying instructions 416 for execution by machine 400, and include digital or analog communication signals or other intangible media to facilitate the communication of such software. Therefore, the terms "transmission medium" and "signal medium" should be deemed to include any form of modulated data signals, carrier waves, etc. The term "modulated data signal" means a signal whose one or more characteristics are set or changed in a manner that encodes information in the signal.

[0101] The terms "machine-readable medium," "computer-readable medium," and "device-readable medium" mean the same thing and may be used interchangeably in this disclosure. These terms are defined to include both machine storage media and transmission media. Thus, these terms include both storage devices / medium and carrier / modulated data signals.

Claims

1. A system comprising: at least one hardware processor; A computer-readable medium storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising: Access optimization problems; transforming the optimization problem into a quantum-readable optimization model that takes one or more qubits as input; causing a quantum optimization program to be executed on the quantum readable optimization model to produce a quantum solution to the optimization problem; and The quantum solution and the optimization problem are passed to a classical optimization procedure, which finds a classical solution to the optimization problem based at least in part on the quantum solution.

2. The system according to claim 1, wherein: The operations also include: Determining whether the classical solution is considered an optimal solution based on a set of criteria; and In response to determining that the classical solution is not considered to be an optimal solution: transforming the classical solution and the optimization problem into a quantum readable re-optimization model; and causing the quantum optimization program to be executed on the quantum readable re-optimization model; and The quantum solution and the optimization problem are passed to a classical optimization procedure, which finds a classical solution to the optimization problem based at least in part on the quantum solution.

3. The system according to claim 2, wherein: The operations also include: The determining and the operations performed in response to determining that the classical solution is not considered to be an optimal solution are repeated until it is determined that the classical solution is considered to be an optimal solution.

4. The system according to claim 1, wherein: The quantum optimization procedure is performed by a quantum service that is separate and distinct from the service that performs the operations.

5. The system according to claim 1, wherein: The optimization problem is created using data extracted from an Enterprise Resource Planning (ERP) system.

6. The system according to claim 1, wherein: The optimization problem is a minimization problem.

7. The system according to claim 1, wherein: The quantum readable optimization model is in the quadratic unconstrained binary optimization QUBO format.

8. A method comprising: Access optimization problems; transforming the optimization problem into a quantum-readable optimization model that takes one or more qubits as input; causing the quantum optimization program to be executed on a quantum readable optimization model to generate a quantum solution to the optimization problem; and The quantum solution and the optimization problem are passed to a classical optimization procedure, which finds a classical solution to the optimization problem based at least in part on the quantum solution.

9. The method according to claim 8, further comprising: determining whether the classical solution is considered an optimal solution based on a set of criteria; and In response to determining that the classical solution is not considered to be an optimal solution: transforming the classical solution and the optimization problem into a quantum readable re-optimization model; and causing the quantum optimization program to be executed on the quantum readable re-optimization model; and The quantum solution and the optimization problem are passed to a classical optimization procedure, which finds a classical solution to the optimization problem based at least in part on the quantum solution.

10. The method according to claim 9, wherein: The method further comprises: The determining and the operations performed in response to determining that the classical solution is not considered to be an optimal solution are repeated until it is determined that the classical solution is considered to be an optimal solution.

11. The method according to claim 8, wherein: The quantum optimization procedure is performed by a quantum service that is separate and distinct from the service that performs the method.

12. The method according to claim 8, wherein: The optimization problem is created using data extracted from an Enterprise Resource Planning (ERP) system.

13. The method according to claim 8, wherein: The optimization problem is a minimization problem.

14. The method according to claim 8, wherein: The quantum readable optimization model is in the quadratic unconstrained binary optimization QUBO format.

15. A non-transitory machine-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: Access optimization problems; transforming the optimization problem into a quantum-readable optimization model that takes one or more qubits as input; causing a quantum optimization program to be executed on the quantum readable optimization model to generate a quantum solution to the optimization problem; and The quantum solution and the optimization problem are passed to a classical optimization procedure, which finds a classical solution to the optimization problem based at least in part on the quantum solution.

16. The non-transitory machine-readable medium of claim 15, wherein: The operations also include: Determining whether the classical solution is considered an optimal solution based on a set of criteria; and In response to determining that the classical solution is not considered to be an optimal solution: transforming the classical solution and the optimization problem into a quantum readable re-optimization model; and causing the quantum optimization program to be executed on the quantum readable re-optimization model; and The quantum solution and the optimization problem are passed to a classical optimization procedure, which finds a classical solution to the optimization problem based at least in part on the quantum solution.

17. The non-transitory machine-readable medium of claim 16, wherein: The operations also include: The determining and the operations performed in response to determining that the classical solution is not considered to be an optimal solution are repeated until it is determined that the classical solution is considered to be an optimal solution.

18. The non-transitory machine-readable medium of claim 15, wherein: The quantum optimization procedure is performed by a quantum service that is separate and distinct from the service that performs the operations.

19. The non-transitory machine-readable medium of claim 15, wherein: The optimization problem is created using data extracted from an Enterprise Resource Planning (ERP) system.

20. The non-transitory machine-readable medium of claim 15, wherein: The optimization problem is a minimization problem.