Information processing device, information processing system, and information processing program

By determining a penalty coefficient for a quadratic programming problem using a dual variable from a relaxed problem, the method addresses the challenge of specifying an optimal solution in annealing methods, thereby improving the performance of the annealing method and efficiently solving constrained quadratic programming problems.

WO2025115289A1PCT designated stage expired Publication Date: 2025-06-05HITACHI LTD

Patent Information

Application Number
PCT/JP2024/026906
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-29
Filing Date
2024-07-29
Publication Date
2025-06-05

AI Technical Summary

Technical Problem

Conventional annealing methods for solving quadratic programming problems with constraints face challenges in determining an appropriate penalty coefficient, which affects the performance of the annealing method and makes it difficult to specify the optimal solution among executable solutions.

Method used

The proposed solution involves determining a penalty coefficient for a quadratic programming problem without constraints based on a dual variable obtained by solving a relaxed problem. This approach improves the performance of the annealing method by optimizing the objective function while satisfying the constraints.

Benefits of technology

By using the dual variable to calculate an appropriate penalty coefficient, the method efficiently obtains a solution to the constrained quadratic programming problem, enhancing the performance of the annealing method and ensuring optimal solution identification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024026906_05062025_PF_FP_ABST
    Figure JP2024026906_05062025_PF_FP_ABST
Patent Text Reader

Abstract

Provided is an information processing means that makes it possible to improve the performance of an annealing method and efficiently obtain the solution to a constrained quadratic programming problem. The information processing device includes: a problem generation unit into which a conversion function and a constrained quadratic programming problem having an objective function and a linear constraint are input, and that uses the constrained quadratic programming problem as a basis to generate a relaxation problem and an unconstrained quadratic programming problem in which the linear constraint is replaced with a penalty term; a relaxation unit that calculates a dual variable by solving the relaxation problem; a penalty management unit that calculates a penalty coefficient corresponding to the linear constraint of the constrained quadratic programming problem on the basis of the conversion function and the dual variable; and an annealing calculation unit that determines an executable solution satisfying the linear constraint by using an annealing method to solve the unconstrained quadratic programming problem in which the penalty coefficient is applied to the penalty term.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing device, information processing system, and information processing program

[0001] The present disclosure relates to an information processing device, an information processing system, and an information processing program.

[0002] In a wide variety of fields, including the natural sciences, engineering, and social sciences, optimization problems are used to analyze conditions in which a particular objective function is minimized or maximized while taking into account constraints on and interrelationships between entities in the system under consideration.

[0003] The problem of optimizing an objective function in a given system while satisfying constraints is called a "constrained optimization problem." If the objective function of this optimization problem can be written as a quadratic function, the optimization problem is called a "constrained quadratic programming problem."

[0004] Constrained quadratic programming problems can be solved using so-called annealing techniques, such as simulated annealing and quantum annealing, by replacing the constraints in the objective function with penalty terms. Generally, this penalty term consists of the product of a predetermined penalty coefficient and a function derived based on the constraints. In order to optimize the objective function while satisfying the constraints using annealing techniques, determining an appropriate penalty coefficient is an important issue that affects the performance of the annealing technique.

[0005] Several means for solving optimization problems using annealing techniques have been proposed in the past. For example, International Publication No. 2022 / 003943 (Patent Document 1) describes a technology in which "a solution accuracy guaranteed annealing computing device 20 includes a first solution-finding means 21 that solves a combinatorial optimization problem using an annealing method, and a second solution-finding means 22 that solves a relaxation problem, which is a problem generated by relaxing constraints imposed on the combinatorial optimization problem; if the combinatorial optimization problem is a minimization problem, the second solution-finding means 22 calculates a lower bound of a minimization object in the minimization problem by solving a relaxation problem generated from the combinatorial optimization problem; and if the combinatorial optimization problem is a maximization problem, the second solution-finding means 22 calculates an upper bound of a maximization object in the maximization problem by solving a relaxation problem generated from the combinatorial optimization problem."

[0006] International Publication No. 2022 / 003943

[0007] Patent Document 1 discloses an annealing device that solves a combinatorial optimization problem using an annealing technique and guarantees the quality of the solution by solving a relaxed problem in which some of the constraints of the original problem are relaxed.

[0008] However, in conventional methods such as those disclosed in Patent Document 1, the penalty coefficient of the penalty term corresponding to the constraint in the objective function is set to an arbitrary large value in advance so that a feasible solution that satisfies the constraint can be easily identified. However, when the penalty coefficient corresponding to the constraint is set to an arbitrary large value, although it becomes easier to identify a feasible solution, it becomes difficult to identify an optimal solution that exists among the feasible solutions, which may limit the performance of the annealing method.

[0009] Therefore, the present disclosure aims to provide an information processing means capable of improving the performance of annealing techniques and efficiently finding solutions to constrained quadratic programming problems by determining a penalty coefficient to be applied to the penalty term of an unconstrained quadratic programming problem based on dual variables obtained by solving a relaxed problem in which the constraints of a constrained quadratic programming problem are relaxed.

[0010] In order to solve the above-mentioned problems, one representative information processing device of the present invention includes a processor and a memory, and the memory includes processing instructions for causing the processor to function as an annealing calculation unit that uses an annealing technique to solve the unconstrained quadratic programming problem by applying the penalty coefficient to the penalty term, thereby determining a feasible solution that satisfies the linear constraint, by inputting a constrained quadratic programming problem having a predetermined objective function and at least one linear constraint and a predetermined transformation function.

[0011] According to the present disclosure, it is possible to provide information processing means capable of improving the performance of an annealing technique and efficiently finding a solution to a constrained quadratic programming problem by determining a penalty coefficient to be applied to a penalty term of an unconstrained quadratic programming problem based on dual variables obtained by solving a relaxed problem in which the constraints of the constrained quadratic programming problem are relaxed. Problems, configurations, and effects other than those described above will become clear from the description of the following mode for carrying out the invention.

[0012] FIG. 1 is a diagram illustrating a computer system for implementing an embodiment of the present disclosure. FIG. 2 is a diagram illustrating an example of a configuration of an information processing system according to an embodiment of the present disclosure. FIG. 3 is a diagram illustrating an example of a logical configuration of an information processing system according to a first embodiment of the present disclosure. FIG. 4 is a flowchart illustrating an example of the flow of an information processing method according to the first embodiment of the present disclosure. FIG. 5 is a diagram illustrating an example of the logical configuration of an information processing system according to a second embodiment of the present disclosure. FIG. 6 is a flowchart illustrating an example of the flow of an information processing method using a branch and bound method according to an embodiment of the present disclosure. FIG. 8 is a diagram illustrating an example of a search space searched by the branch and bound method as a state space tree. FIG. 9 is a diagram illustrating an example of a case where a pruning operation is performed on a state space tree. FIG. 10 is a graph illustrating the relationship between the objective function value and the number of iterations when using the branch and bound method according to an embodiment of the present disclosure.

[0013] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. However, the present invention is not limited to this embodiment. In the description of the drawings, the same parts are designated by the same reference numerals. Furthermore, although terms such as "first," "second," and "third" may be used to describe various elements or components in this disclosure, it will be understood that these elements or components should not be limited by these terms. These terms are used only to distinguish one element or component from another. Therefore, a first element or component discussed below could also be referred to as a second element or component without departing from the teachings of the inventive concept.

[0014] (Summary of the Present Disclosure) As described above, constrained quadratic programming problems are used in optimization problems in various fields, such as scheduling problems, network design, product manufacturing in factories, etc. An embodiment of the present disclosure relates to solving a constrained quadratic programming problem P including linear constraints, as shown in the following Equation 1 and Equation 2. Here, J is a set of subscripts assigned to each variable, K is a set of numbers assigned to each inequality constraint, and L is a set of numbers assigned to each equality constraint.

[0015] The constrained quadratic programming problem P shown in Equation 1 can be rewritten as a quadratic programming problem P′ including equality constraints shown in Equation 3 below. where s k is the integer slack variable of equation k, which can also be written as a binary expansion, and Z 0 is a set of integers equal to or greater than 0. In this way, a constrained quadratic programming problem P can be expressed as a quadratic programming problem P' including equality constraints. Note that, for convenience of explanation, the present disclosure considers a case where the constrained quadratic programming problem P is a minimization problem. However, since a maximization problem can be converted into a minimization problem by multiplying all terms of the objective function by -1, it goes without saying that the embodiments of the present disclosure are also applicable to maximization problems.

[0016] In order to solve a constrained quadratic programming problem P such as that shown in Equation 1 using an annealing device that performs simulated annealing or quantum annealing, it is desirable to replace the constraints of the constrained quadratic programming problem P with a penalty term in the objective function and convert the constrained quadratic programming problem P into an unconstrained quadratic programming problem Q such as that shown in Equation 4. where "p" and "r" are vectors of positive penalty coefficients, and H is such that H(y)=0 if and only if y=0 (e.g., H(y)=y 2 ) is a function of

[0017] In conventional annealing methods, the constraints in the objective function are set as the penalty coefficient p k and r lis set in advance to an arbitrary large value so that H(f(x)) = H(g(x)) = 0 holds when a solution to Q is found using the annealing method, or is determined by a method of gradually increasing the penalty coefficient until it reaches an appropriate value. The penalty term update rule when using the method of gradually increasing the penalty coefficient may be, for example, as shown in Equation 5. Here, p t is the penalty coefficient for iteration t, and β t+1 >β t is a positive increasing parameter, and h(x, p) is a non-negative function.

[0018] However, if the penalty coefficients p and r are set to arbitrarily large values ​​so as to make it easier to identify a feasible solution that satisfies the constraints, the influence of the original objective function in Equation 4 solved by the annealing method becomes relatively small, which poses a problem that it becomes difficult to obtain a solution with a good objective function value. Therefore, when solving a quadratic programming problem using the annealing method, it is necessary to consider the balance between the need to satisfy all constraints and the optimality of the solution.

[0019] In view of the above, the present disclosure relates to an information processing means for solving a quadratic programming problem including at least one linear constraint. The information processing means according to an embodiment of the present disclosure receives input of a quadratic programming problem including at least one linear constraint, and outputs an optimal solution that satisfies the linear constraint.

[0020] More specifically, one aspect of the present disclosure relates to an information processing device including a problem generation unit that generates a relaxed problem in which constraints of a constrained quadratic programming problem are relaxed, and an unconstrained quadratic programming problem; a relaxation unit that solves the relaxed problem and calculates dual variables; a penalty management unit that determines a penalty coefficient corresponding to the constraint of the constrained quadratic programming problem based on the dual variables; and an annealing calculation unit that solves the unconstrained quadratic programming problem using the penalty coefficient.

[0021] According to the information processing device according to an embodiment of the present disclosure, by determining an appropriate penalty coefficient, it becomes possible to improve the performance of the annealing method and calculate an optimal solution to a constrained quadratic programming problem.

[0022] 1, a computer system 100 for implementing embodiments of the present disclosure will be described. The mechanisms and devices of various embodiments disclosed herein may be applied to any suitable computing system. Major components of the computer system 100 include one or more processors 102, memory 104, a terminal interface 112, a storage interface 113, an I / O (input / output) device interface 114, and a network interface 115. These components may be interconnected via a memory bus 106, an I / O bus 108, a bus interface unit 109, and an I / O bus interface unit 110.

[0023] Computer system 100 may include one or more general-purpose programmable central processing units (CPUs) 102A and 102B, collectively referred to as processors 102. In some embodiments, computer system 100 may include multiple processors, while in other embodiments, computer system 100 may be a single CPU system. Each processor 102 executes instructions stored in memory 104 and may include an on-board cache.

[0024] In some embodiments, memory 104 may include random-access semiconductor memory, storage devices, or storage media (either volatile or non-volatile) for storing data and programs. Memory 104 may store all or part of the programs, modules, and data structures that implement the functions described herein. For example, memory 104 may store information processing application 150. In some embodiments, information processing application 150 may include instructions or descriptions that execute the functions described below on processor 102.

[0025] In some embodiments, information processing application 150 may be implemented in hardware via semiconductor devices, chips, logic gates, circuits, circuit cards, and / or other physical hardware devices instead of or in addition to a processor-based system. In some embodiments, information processing application 150 may include data other than instructions or descriptions. In some embodiments, cameras, sensors, or other data input devices (not shown) may be provided to communicate directly with bus interface unit 109, processor 102, or other hardware in computer system 100.

[0026] Computer system 100 may include a bus interface unit 109 that facilitates communication between processor 102, memory 104, display system 124, and I / O bus interface unit 110. I / O bus interface unit 110 may couple to an I / O bus 108 for transferring data to and from various I / O units. I / O bus interface unit 110 may communicate via I / O bus 108 with multiple I / O interface units 112, 113, 114, and 115, also known as I / O processors (IOPs) or I / O adapters (IOAs).

[0027] Display system 124 may include a display controller, a display memory, or both. The display controller may provide video, audio, or both data to display device 126. Computer system 100 may also include one or more sensors or other devices configured to collect data and provide the data to processor 102.

[0028] For example, computer system 100 may include biometric sensors that collect heart rate data, stress level data, etc., environmental sensors that collect humidity data, temperature data, pressure data, etc., and motion sensors that collect acceleration data, movement data, etc. Other types of sensors may also be used. Display system 124 may be connected to a display device 126, such as a standalone display screen, a television, a tablet, or a handheld device.

[0029] The I / O interface unit provides functionality for communicating with various storage or I / O devices. For example, the terminal interface unit 112 may be attached to user I / O devices 116, such as user output devices such as a video display, a television with speakers, and user input devices such as a keyboard, a mouse, a keypad, a touchpad, a trackball, buttons, a light pen, or other pointing device. A user may use a user interface to enter input data or instructions into the user I / O devices 116 and the computer system 100, and receive output data from the computer system 100, by operating the user input devices. The user interface may be displayed on a display, played through speakers, or printed via a printer via the user I / O devices 116, for example.

[0030] Storage interface 113 may accept one or more disk drives or direct access storage devices 117 (typically magnetic disk drive storage devices, but may also be an array of disk drives or other storage devices configured to appear as a single disk drive). In some embodiments, storage device 117 may be implemented as any secondary storage device. The contents of memory 104 may be stored in storage device 117 and retrieved as needed from storage device 117. I / O device interface 114 may provide an interface to other I / O devices, such as printers, fax machines, etc. Network interface 115 may provide a communications path that allows computer system 100 and other devices to communicate with each other. This communications path may be, for example, network 130.

[0031] In some embodiments, computer system 100 may be a device that receives requests from other computer systems (clients) without a direct user interface, such as a multi-user mainframe computer system, a single-user system, or a server computer. In other embodiments, computer system 100 may be a desktop computer, a portable computer, a laptop, a tablet computer, a pocket computer, a telephone, a smartphone, or any other suitable electronic device.

[0032] Next, an information processing system according to an embodiment of the present disclosure will be described with reference to FIG.

[0033] 2 is a diagram illustrating an example of a configuration of an information processing system 200 according to an embodiment of the present disclosure. The information processing system 200 is a system for solving a constrained quadratic programming problem. As illustrated in FIG. 2 , the information processing system 200 mainly includes an information processing device 210, a communication network 250, and a user terminal 260. The information processing device 210 and the user terminal 260 may be connected to each other via the communication network 250.

[0034] The information processing device 210 is a device for solving a constrained quadratic programming problem, and as shown in Fig. 2, mainly includes a memory 220, a storage unit 230, a processor 244, and an input / output unit 246. In one embodiment, the information processing device 210 may be implemented by the computer system 100 shown in Fig. 1.

[0035] The memory 220 may be a memory for storing an information processing application 150 for implementing the functions of the information processing means according to an embodiment of the present disclosure. The information processing application 150 may include processing instructions for implementing the functions of software modules such as a problem generator 222, a relaxation unit 224, a penalty manager 226, and an annealing calculation unit 228, as shown in FIG.

[0036] The problem generator 222 is a functional unit that receives a constrained quadratic programming problem having a predetermined objective function and at least one linear constraint, and a predetermined transformation function from the user terminal 260, and generates, based on the constrained quadratic programming problem, a relaxed problem obtained by relaxing the constrained quadratic programming problem and an unconstrained quadratic programming problem in which the linear constraints are replaced with penalty terms. The relaxed problem here is a problem that is easier to solve than the constrained quadratic programming problem, and is obtained by relaxing the constraints of the constrained quadratic programming problem. Furthermore, by replacing the linear constraints in the constrained quadratic programming problem with a penalty term consisting of the product of a penalty coefficient and a predetermined function, it is possible to generate an unconstrained quadratic programming problem that can be solved by an annealing technique.

[0037] The relaxation unit 224 is a functional unit for calculating dual variables that are feasible solutions to the relaxation problem generated by the problem generator 222 by solving the relaxation problem. In this disclosure, the term "feasible solution" refers to a solution that satisfies all constraints of a given planning problem (e.g., a relaxation problem or a constrained quadratic programming problem). Furthermore, a "dual variable" is an auxiliary variable for each constraint condition of the objective function of the relaxation problem, and is used to maintain a balance between optimizing the objective function and satisfying the constraint conditions. In some embodiments, the dual variable here may be information that indicates, in vector form, the values ​​of a feasible solution that satisfies the constraints of the relaxation problem. As described below, the dual variable is used to identify a feasible solution to a constrained quadratic programming problem.

[0038] The penalty management unit 226 is a functional unit for calculating penalty coefficients corresponding to the linear constraints of the constrained quadratic programming problem, based on the transformation function input from the user terminal and the dual variables calculated by the relaxation unit 224. The transformation function here is a variable used to convert the dual variables calculated in the problem space of the relaxation problem into penalty coefficients in the problem space of the unconstrained quadratic programming problem.

[0039] The annealing calculation unit 228 is a functional unit for determining a feasible solution that satisfies the linear constraints of the constrained quadratic programming problem by using an annealing technique to solve the unconstrained quadratic programming problem by applying the penalty coefficient calculated by the penalty management unit 226 to the penalty term. In an embodiment, the annealing calculation unit 228 may be configured with a conventional CPU (so-called classical CPU), a GPU, an optical circuit, an adiabatic quantum computing device, a quantum gate computer, or a logic circuit using CMOS (Complementary Metal Oxide Semiconductor) technology.

[0040] The storage unit 230 is a storage area that accommodates a database (hereinafter, "DB") for storing various information according to an embodiment of the present disclosure, and may include a solution-finding information DB 236 as shown in FIG. 2 .

[0041] The solution-finding information DB 236 is a database that stores information about feasible solutions of relaxation problems and unconstrained quadratic programming problems when iteratively solving unconstrained quadratic programming problems in an information processing device according to a second embodiment of the present disclosure, which will be described later. The solution-finding information DB 236 is used by the relaxation unit 224 and the annealing calculation unit 228 to solve constrained quadratic programming problems.

[0042] The processor 244 is a processing unit for executing processing instructions that define the functions of each functional unit of the information processing application 150 stored by the memory 220. In addition, in some embodiments, the processor 244, like the above-mentioned annealing calculation unit 228, may be configured with a conventional CPU, GPU, optical circuit, adiabatic quantum computing device, quantum gate computer, or logic circuit using CMOS (Complementary Metal Oxide Semiconductor) technology. The processor 244 may also have a dedicated computer configuration for executing the annealing method.

[0043] The input / output unit 246 is a functional unit that accepts information input to the information processing device 210 and outputs information (such as a feasible solution or an optimal solution to a constrained quadratic programming problem) generated by the information processing device 210. In an embodiment, the input / output unit 246 may include, for example, a keyboard, a mouse, a display that displays a GUI (Graphical User Interface), and the like. In an embodiment, the input / output unit 246 may provide the user terminal 260 with a GUI that inputs and outputs various types of information.

[0044] Communications network 250 may include, for example, a local area network (LAN), a wide area network (WAN), a satellite network, a cable network, a WiFi network, or any combination thereof.

[0045] The user terminal 260 is a terminal device that can be used by a user of the information processing device 210. By using the user terminal 260, the user can input constrained quadratic programming problems and transformation functions into the information processing device 210, and can confirm feasible solutions and optimal solutions of constrained quadratic programming problems output from the information processing device 210. As an example, the user terminal 260 may include, but is not limited to, a smartphone, smartwatch, tablet, or personal computer of a user who subscribes to an information processing service provided by the information processing system 200. Note that, for convenience of explanation, FIG. 2 illustrates an example of a configuration including one user terminal 260, but the number of user terminals 260 is not limited, and a configuration including multiple user terminals 260 is also possible.

[0046] According to the information processing system 200 described above, by determining an appropriate penalty coefficient, it becomes possible to improve the performance of the annealing method and calculate an optimal solution to a constrained quadratic programming problem.

[0047] First Embodiment Next, with reference to FIG. 3, a logical configuration of an information processing system according to a first embodiment of the present disclosure will be described.

[0048] 3 is a diagram illustrating an example of a logical configuration of an information processing system 300 according to the first embodiment of the present disclosure. As illustrated in FIG. 3, the information processing system 300 according to the first embodiment of the present disclosure mainly includes an information processing device 210, a communication network 250, and a user terminal 260. The information processing device 210 mainly includes an input / output unit 246, a problem generation unit 222, a mitigation unit 224, a penalty management unit 226, and an annealing calculation unit 228.

[0049] The input / output unit 246 receives, via a communication network 250, a constrained quadratic programming problem P having a predetermined objective function and at least one linear constraint, and a transformation function h in , h eqand the like are input from the user terminal 260. More specifically, here, the input / output unit 246 may input, as the constrained quadratic programming problem P, problem instance information that specifies a specific instance of the constrained quadratic programming problem P (i.e., a set of parameters that define the problem). For example, the input / output unit 246 may input, as the problem instance information, parameters such as matrices A, D, and W and vectors b, c, and e that define the constrained quadratic programming problem P.

[0050] Based on the constrained quadratic programming problem P input by the input / output unit 246, the problem generator 222 generates a relaxed problem R obtained by relaxing the constraints of the constrained quadratic programming problem P, and a quadratic programming problem Q without constraints. The problem generator 222 then transmits the relaxed problem R to the relaxation unit 224, and generates a transformation function h in , h eq is sent to the penalty management unit 226, and the unconstrained quadratic programming problem Q is sent to the annealing calculation unit 228.

[0051] The relaxation unit 224 solves the relaxation problem R received from the problem generator 222 to calculate the dual variables λ and μ that are feasible solutions to the relaxation problem R, and transmits the calculated dual variables λ and μ to the penalty manager 226. The dual variables here are information that describes the relationship between the constraints of the relaxation problem and the penalty term of the unconstrained quadratic programming problem. Using these dual variables, it is possible to determine an appropriate value for the penalty coefficient in the penalty term of the unconstrained quadratic programming problem.

[0052] The penalty management unit 226 calculates the dual variables λ and μ received from the relaxation unit 224 and the transformation function h received from the problem generation unit 222. in , h eq More specifically, the penalty management unit 226 calculates the penalty coefficients p and r based on the transformation function h in , h eq By using the above formula, the dual variables λ and μ calculated in the problem space of the relaxation problem are converted into penalty coefficients p and r in the problem space of the unconstrained quadratic programming problem. The penalty coefficients here are parameters that define the degree to which a penalty (loss) occurs when the constraints of the constrained quadratic programming problem P are violated.

[0053] The annealing calculation unit 228 calculates a solution x by solving the unconstrained quadratic programming problem Q using the unconstrained quadratic programming problem Q received from the problem generation unit 222 and the penalty coefficients p and r received from the penalty management unit 226. Thereafter, the annealing calculation unit 228 verifies the feasibility of the calculated solution x, and if it determines that the solution x is a feasible solution, it may transmit the solution x to the user terminal 260 via the communication network 250.

[0054] Next, an information processing method according to the first embodiment of the present disclosure will be described with reference to FIG.

[0055] 4 is a flowchart showing an example of the flow of an information processing method 400 according to the first embodiment of the present disclosure. The information processing method 400 according to the first embodiment of the present disclosure is a method for solving a constrained quadratic programming problem, and is performed by the functional units of the information processing device 210 shown in FIGS.

[0056] First, in step S405, the input / output unit 246 of the information processing device 210 receives problem instance information specifying a constrained quadratic programming problem and a transformation function from the user terminal 260 via the communication network 250. This problem instance information includes, for example, vectors c, b, and e and a matrix W={w} that define a constrained quadratic programming problem P having at least one linear constraint. ij , A={a} ki , D={d} li As described above, the transformation function h in , h eq may be freely set by the user. In an embodiment, the input / output unit 246 may convert the received question instance information and conversion function into a format that can be interpreted by the question generator 222.

[0057] Next, in step S410, the problem generation unit 222 generates a relaxed problem R in which the constraints of the constrained quadratic programming problem are relaxed, and a quadratic programming problem Q without constraints, based on the problem instance information received by the input / output unit 246 in step S405.

[0058] The relaxed problem R generated here desirably has the following properties: 1) The feasible region of the relaxed problem R encompasses the feasible region of the constrained quadratic programming problem P. 2) For any feasible solution x of the constrained quadratic programming problem P, the corresponding objective function value C'(x) ≤ C(x) holds. Here, C'(x) is the objective function of the relaxed problem R, and C(x) is the objective function of the constrained quadratic programming problem P. 3) The relaxed problem R is constructed so that the optimal solution of the constrained quadratic programming problem P can obtain dual variables corresponding to the constraints. Here, since the relaxed problem R is a relaxation of the constrained quadratic programming problem P, the solution of the relaxed problem R provides a limit value for the objective function of the constrained quadratic programming problem P. For example, if the constrained quadratic programming problem P is a minimization problem, substituting the solution of the relaxed problem R for the objective function of the constrained quadratic programming problem P will obtain a lower bound for the quadratic programming problem P.

[0059] In one embodiment, the relaxation problem R may be constructed as a linear programming relaxation problem obtained by linearizing a constrained quadratic programming problem P. For example, the relaxation problem P may be linearized to obtain a mixed integer linear programming problem P shown in Equation 6 below. L It can be formulated as follows:

[0060] Mixed integer linear programming problem P L The LP relaxation problem R of is obtained by relaxing the integral constraints as shown in Equation 7 below. In some embodiments, the relaxed problem R may be generated by a method based on semidefinite programming. In this way, by linearizing the constrained quadratic programming problem P or by using a method based on semidefinite programming, it is possible to obtain a relaxed problem that is easier to solve by relaxing the constraints of the constrained quadratic programming problem P. After generating the relaxed problem R, the problem generator 222 transmits the generated relaxed problem R to the relaxation unit 224.

[0061] Furthermore, the problem generator 222 generates an unconstrained quadratic programming problem Q as shown in the following equation 8, based on the vectors c, b, and e and the matrices W, A, and D included in the problem instance information. Here, for all j, the binary expansion of the slack variables associated with the k-th inequality constraint is given by Equation 9 below. After generating the unconstrained quadratic programming problem Q, the problem generator 222 transmits the generated unconstrained quadratic programming problem Q to the penalty manager 226. In this way, by replacing the linear constraints in the constrained quadratic programming problem P with penalty terms consisting of the product of a penalty coefficient and a predetermined function, it is possible to generate an unconstrained quadratic programming problem Q that can be solved by the annealing technique.

[0062] Next, in step S415, the relaxation unit 224 solves the relaxation problem R and determines the dual variables (λ, μ) (also called a dual solution). k denotes the dual variables corresponding to each inequality constraint of the relaxation problem R, and μ l denotes the dual variables corresponding to each equality constraint of the relaxation problem R. For any linear programming problem, the optimal solution x * Given the above equation, strong duality and complementary slack conditions hold, and therefore a dual solution can be easily found. Furthermore, when solving a relaxed problem R, which is a linear programming problem, using the simplex method, both a primal solution and a dual solution can be obtained. The dual variables are information describing the relationship between the constraints of the relaxed problem R and the penalty term of the unconstrained quadratic programming problem P. More specifically, the dual variables represent the impact (cost, loss, effect, etc.) of violating the constraints of the relaxed problem R. By using the dual variables, it is possible to control the balance between the optimality of the objective function of the constrained quadratic programming problem P and the satisfaction of the constraints, and to determine an appropriate value for the penalty coefficient in the penalty term of the unconstrained quadratic programming problem.

[0063] Next, in step S420, the penalty management unit 226 calculates the dual variables (λ, μ) calculated by the relaxation unit 224 in step S415 and the transformation function h included in the problem instance information. in , h eqBased on this, the penalty coefficient is calculated according to the following Equation 10. This penalty coefficient is a parameter that specifies the degree to which a penalty (loss) occurs when the constraints of the constrained quadratic programming problem P are violated. More specifically, the penalty management unit 226 calculates the penalty coefficient according to the following Equation 10. in , h eq By using the formula (2), the dual variables λ and μ calculated in the problem space of the relaxed problem are converted into penalty coefficients p and r in the problem space of the unconstrained quadratic programming problem. Here, the function h in , h eq may be defined as shown in Equation 11 below: where R is the set of real numbers, R 0 is the set of real numbers greater than or equal to 0.

[0064] It is also desirable to define the condition shown in Equation 12 so as not to violate the constraints. In this case, the relaxed problem R is k ≧0, and μ l There is no restriction on the positive or negative condition of the transformation function h in , h eq An example is shown below.

[0065] The transformation function h shown in Equations 13 and 14 in , h eq In the example of (1), when the value of the corresponding dual variable is 0, if a small value is assigned, p and r are guaranteed to be positive.

[0066] Next, in step S425, the annealing calculation unit 228 obtains a solution (x, s) by solving the unconstrained quadratic programming problem Q using the penalty coefficient calculated by the penalty management unit 226 in step S420. Here, the annealing calculation unit 228 may use a so-called annealing algorithm to solve the unconstrained quadratic programming problem Q. Examples of the annealing algorithm here include quantum annealing, simulated annealing, and momentum annealing. In some embodiments, the annealing algorithm performed by the annealing calculation unit 228 may be executed on a GPU or a dedicated computer using quantum technology or CMOS (Complementary Metal Oxide Semiconductor) technology. The annealing calculation unit 228 then determines whether the obtained solution (x, s) satisfies the constraints. If f(x, s) = g(x) = 0, all constraints of the constrained quadratic programming problem P are satisfied, and the solution (x, s) is considered a feasible solution to the constrained quadratic programming problem P. Furthermore, if the constrained quadratic programming problem P is a minimization problem, C(x) is an upper bound for the constrained quadratic programming problem P.

[0067] Next, in step S430, the input / output unit 246 outputs the feasible solution (x, s) determined in step S425 to, for example, the user terminal 260. In one embodiment, the input / output unit 246 may output the solution (x, s) as a binary vector as shown in the following Equation 15.

[0068] According to the information processing means of the embodiment of the present disclosure described above, it is possible to easily determine a solution to the constrained quadratic programming problem and improve the performance of the annealing technique by determining a penalty coefficient for the unconstrained quadratic programming problem Q based on the dual variables obtained from the relaxation problem of the constrained quadratic programming problem P. More specifically, since the dual variables represent the impact of violating the constraints of the relaxation problem R, determining the penalty coefficient for the unconstrained quadratic programming problem Q based on the dual variables makes it possible to calculate an appropriate penalty coefficient that can optimize the objective function while sufficiently satisfying the constraints of the relaxation problem of the constrained quadratic programming problem P.

[0069] According to one aspect of an information processing means according to an embodiment of the present disclosure, an unconstrained quadratic programming problem Q may be iteratively solved until a predetermined stopping condition is met. By iteratively solving the quadratic programming problem Q, it is possible to determine a solution that also has a good value for the objective function from among a plurality of feasible solutions that satisfy the constraints of the constrained quadratic programming problem P. Next, with reference to FIGS. 5 and 6 , a case where an unconstrained quadratic programming problem Q is iteratively solved using an information processing device according to a second embodiment of the present disclosure will be described.

[0070] 5 is a diagram illustrating an example of a logical configuration of an information processing system 500 according to a second embodiment of the present disclosure. As described above, the information processing system 500 according to the second embodiment of the present disclosure is a system configured to iteratively solve an unconstrained quadratic programming problem Q. As shown in FIG. 5 , the configuration of the information processing system 500 according to the second embodiment is substantially similar to that of the information processing system 200 according to the first embodiment described with reference to FIG. 3 . However, the information processing system 500 differs from the information processing system 300 in that it includes a solution-seeking information DB 236. In the following description, descriptions of configurations that are substantially similar between the information processing system 500 and the information processing system 300 will be omitted.

[0071] In the information processing system 500, the relaxation unit 224, the penalty management unit 226, and the annealing calculation unit 228 repeatedly perform the process of solving the relaxation problem R, the process of determining the penalty coefficient, and the process of solving the unconstrained quadratic programming problem Q, and store the feasible solutions of the relaxation problem R and the unconstrained quadratic programming problem Q determined in each iteration as solution information in the solution information DB 236.

[0072] The solution information DB 236 is a database for storing information used to determine the penalty coefficient. More specifically, the solution information DB 236 may store problem instance information input via the input / output unit 246, configuration information related to the execution of the annealing algorithm, and feasible solutions of the relaxed problem R and the unconstrained quadratic programming problem Q determined in each iteration. In some embodiments, the solution information DB 236 may also store information related to the limits (i.e., the lower and upper limits) of the objective function of the constrained quadratic programming problem P. As described above, when the constrained quadratic programming problem P is a minimization problem, the upper limit of the objective function of the constrained quadratic programming problem P is the minimum value when a feasible solution of the relaxed problem Q is substituted into the objective function, and the lower limit of the objective function of the constrained quadratic programming problem P is the maximum value when a feasible solution of the relaxed problem R is substituted into the objective function.

[0073] 6 is a flowchart showing an example of the flow of an information processing method 600 according to the second embodiment of the present disclosure. The information processing method 600 according to the second embodiment of the present disclosure is a method for solving a constrained quadratic programming problem P by iteratively solving an unconstrained quadratic programming problem Q, and is implemented by the functional units of the information processing system 500 shown in FIG. 5. In the following description, descriptions of configurations that are substantially similar between the information processing method 600 and the information processing method 400 will be omitted.

[0074] First, in step S605, the input / output unit 246 of the information processing device 210 receives the problem instance information defining the constrained quadratic programming problem P and the transformation function from the user terminal 260 via the communication network 250.

[0075] Next, in step S610, the problem generation unit 222 generates a relaxed problem R in which the constraints of the constrained quadratic programming problem P are relaxed, and a quadratic programming problem Q without constraints, based on the problem instance information received by the input / output unit 246 in step S605.

[0076] Next, in step S615, the relaxation unit 224 solves the relaxation problem R and determines the dual variables (λ, μ).

[0077] Next, in step S620, the penalty management unit 226 calculates the dual variables (λ, μ) determined by the relaxation unit 224 in step S615 and the transformation function h included in the problem instance information. in , h eq The penalty coefficient is calculated based on the

[0078] Next, in step S625, the annealing calculation unit 228 solves the unconstrained quadratic programming problem Q using the penalty coefficient calculated by the penalty management unit 226 in step S620, thereby obtaining a feasible solution (x, s) to the unconstrained quadratic programming problem P, and stores the solution in the solution information DB 236 as solution information.

[0079] Next, in step S630, the annealing calculation unit 228 determines whether a stop condition is satisfied. The stop condition here refers to a condition for determining whether to stop the processing from steps S615 to S625, and may be input from the user terminal 260 via the input / output unit 246. The stop condition may be, for example, a condition requiring repetition of the processing until at least one feasible solution is obtained, until an iteration threshold specifying a predetermined number of iterations is reached, until a time threshold specifying a predetermined required processing time is reached, or until a convergence threshold specifying a predetermined difference between a limit value (lower limit) obtained by solving the relaxation problem and a limit value (upper limit) obtained by solving the unconstrained quadratic programming problem is reached. If it is determined that the stop condition is satisfied, the processing proceeds to step S635. On the other hand, if it is determined that the stop condition is not satisfied, the processing returns to step S615 and repeats the processing from steps S615 to S625. In one embodiment, in each iteration, the relaxed problem R, which is a relaxed version of the constrained quadratic programming problem P, and the unconstrained quadratic programming problem Q may be modified based on the solution information (i.e., the feasible solutions obtained in the previous iteration) stored in the solution information DB 236. This allows for a systematic search of the feasible region of the constrained quadratic programming problem P, for example, by a branch-and-bound method.

[0080] Next, in step S635, the input / output unit 246 outputs the most optimal feasible solution from among the determined feasible solutions of the constrained quadratic programming problem P as the optimal solution. Here, the "most optimal feasible solution" may be, for example, a feasible solution that satisfies a predetermined optimality criterion. This optimality criterion may be set according to the objective of the constrained quadratic programming problem P. For example, when the constrained quadratic programming problem P is a minimization problem, the input / output unit 246 may select a solution that minimizes the value of the objective function of the constrained quadratic programming problem P from among feasible solutions that satisfy all the constraints of the constrained quadratic programming problem P. On the other hand, when the constrained quadratic programming problem P is a maximization problem, the input / output unit 246 may select a solution that maximizes the value of the objective function of the constrained quadratic programming problem P from among feasible solutions that satisfy all the constraints of the constrained quadratic programming problem P.

[0081] According to the information processing method 600 described above, it is possible to easily determine an optimal solution to a constrained quadratic programming problem P from among feasible solutions determined by iteratively solving an unconstrained quadratic programming problem Q.

[0082] One way to iteratively solve an unconstrained quadratic programming problem Q and find an optimal solution to a constrained quadratic programming problem P is to use the so-called branch and bound algorithm. In general, a branch and bound algorithm is an algorithm for finding an optimal solution to an optimization problem such as the constrained quadratic programming problem P according to embodiments of the present disclosure.

[0083] Next, with reference to FIGS. 7 to 10 , a case where a branch and bound method is used in an information processing method according to an embodiment of the present disclosure will be described. More specifically, in the branch and bound method, a "branching operation" is performed to divide the search space and decompose the problem into smaller subproblems, and each subproblem is solved to determine an optimal solution candidate. Then, only if there is a possibility of obtaining a solution better than the known optimal solution, a decision is made as to whether to further explore that subproblem. This decision is called a "bounding operation." Furthermore, in the branch and bound method, all solution candidates are systematically enumerated, and candidates determined to be suboptimal using estimates of the upper and lower bounds of the optimized quantity are discarded in a "pruning" operation. In this way, the optimal solution can be identified by repeatedly dividing the search space, branching to solve subproblems, and pruning to narrow down the optimal solution candidates.

[0084] 7 is a flowchart showing an example of the flow of an information processing method 700 using a branch and bound method according to an embodiment of the present disclosure. The information processing method 700 is a process for finding an optimal solution to a constrained quadratic programming problem P using the branch and bound method, and may be implemented by, for example, the information processing system 500 according to the second embodiment of the present disclosure shown in FIG.

[0085] As described above, by solving the relaxed problem R, a lower bound on the optimal value of the objective function of the constrained quadratic programming problem P can be obtained, and by solving the unconstrained quadratic programming problem Q, an upper bound on the optimal value of the objective function of the constrained quadratic programming problem P can be obtained. In the search space defined by the lower and upper bounds, the unconstrained quadratic programming problem Q is iteratively solved using a branch-and-bound method, whereby the constrained quadratic programming problem P can be obtained from among feasible solutions that are candidates for the optimal solution.

[0086] First, in step S705, the problem generator 222 generates an unsolved node list that indicates the combinations of variables in the search space searched by the branch and bound method. This unsolved node list may be in the form of a table, for example, or in the form of a state space tree as shown in FIG. 8. In the first iteration, this unsolved node list includes only the root node, which serves as the starting point for the search. This root node has no variables yet fixed and represents the initial state or partial solution of the entire problem. The search begins from the root node, and the optimal solution is pursued by generating new nodes from each node and continuing the search.

[0087] More specifically, Figure 8 illustrates an example of a search space explored by a branch-and-bound algorithm as a state space tree 800. In the state space tree 800 illustrated in Figure 8, each node represents a partial solution or a specific state of the quadratic programming problem. These nodes correspond to various variable combinations (e.g., feasible solutions) explored in the search for an optimal solution. Additionally, the edges of the state space tree 800 represent transitions (movements) from one partial solution (node) to another solution (node) as the branch-and-bound algorithm explores the search space. That is, each edge corresponds to an operation that assigns the variables explored.

[0088] When solving an unconstrained quadratic programming problem Q iteratively, at each iteration i, a subset of variables corresponds to a node in the state space tree 800 shown in FIG. i For all j in The value of is fixed. Also, the root node 801 of the state space tree 800 is and the variables are not fixed.

[0089] In the branch and bound information processing method 700, the branch and bound algorithm systematically explores different branches (subproblems) of the state space tree by expanding nodes and generating new nodes (states) based on specific rules and constraints. The branch and bound algorithm also tracks the best solution found so far and prunes the state space tree 800 to remove branches that cannot lead to a solution better than the current best solution. This process explores all branch nodes (combinations of variables) of the state space tree 800, allowing the optimal solution to be identified from among the feasible solutions.

[0090] Returning to the description of the information processing method 700, in step S710, the problem generator 222 selects the next node to be investigated from the unsolved node list generated in step S705 in each iteration i. Here, the next node may be selected based on a predetermined rule that defines the behavior of the branch-and-bound algorithm. Note that in the first iteration, the unsolved node list includes only the root node, so the root node is selected. On the other hand, as another example, if the unsolved node list includes a node of the state space tree 800, the problem generator 222 may select, for example, node 805 as the next node.

[0091] Next, in step S715, the mitigation unit 224 calculates the modified mitigated problem R(J i ') (also called the second relaxed problem), and this modified relaxed problem R(J i In one embodiment, this modified relaxed problem R(J i ') may be written as a linear programming problem as in Equation 19 below.

[0092] Next, in step S720, the mitigation unit 224 calculates the modified mitigated problem R(J i Determine whether the solution to the modified relaxed problem R(J ′) is a feasible solution that satisfies the constraints of the constrained quadratic programming problem P. iIf the solution to the modified relaxed problem R(J′) is feasible, the process proceeds to step S725. i If the solution of (a) is not a feasible solution, the process proceeds to step S760.

[0093] Next, in step S725, the mitigation unit 224 calculates the modified mitigated problem R(J i Determine whether the solution to the modified relaxed problem R(J i If the solution to the modified relaxed problem R(J i If the solution to (x') is an integer, the process proceeds to step S745.

[0094] Next, in step S730, the penalty management unit 226 calculates the conversion function h received from the user terminal 260 or the like. in , h eq The modified relaxed problem R(J i The solution of (i.e., the dual variables λ, μ) is converted into penalty coefficients p, r.

[0095] Next, in step S735, the annealing calculation unit 228 calculates the modified unconstrained quadratic programming problem Q(J i ') (also called the second unconstrained quadratic programming problem). The modified unconstrained quadratic programming problem Q(J i An example of this is shown in Equation 20 below.

[0096] Next, in step S740, the annealing calculation unit 228 calculates the modified unconstrained quadratic programming problem Q(J i Determine whether the solution of the modified unconstrained quadratic programming problem Q(J i If it is determined that the solution of the modified unconstrained quadratic programming problem Q(J′) satisfies the linear constraints of the constrained quadratic programming problem P, the process proceeds to step S745. i If the solution of P′) does not satisfy the linear constraints of the constrained quadratic programming problem P, the process proceeds to step S750.

[0097] Next, in step S745, the annealing calculation unit 228 calculates the modified relaxation problem R(J i If it is determined in step S725 that the solution to the modified unconstrained quadratic programming problem Q(J i If it is determined that the solution of the constrained quadratic programming problem P satisfies the linear constraints of the constrained quadratic programming problem P, the solution is selected as a candidate for the optimal solution, and the modified relaxed problem R(J i The lower bound LB of the objective function of the constrained quadratic programming problem P obtained from i The result is stored in the solution information DB 236 together with a global upper limit GUB, which is the maximum upper limit of the value of the objective function of the constrained quadratic programming problem P obtained from the equation (2).

[0098] Next, in step S750, the annealing calculation unit 228 compares the lower limit and upper limit stored in the solution-finding information DB 236 for the target node i. More specifically, the annealing calculation unit 228 may compare the lower limit LB determined for the target node i with the global upper limit GUB, which is the maximum value of the upper limits of all nodes. If the lower limit LB of node i is equal to or greater than the global upper limit GUB, the process proceeds to step S760. On the other hand, if the lower limit UB of node i is less than the global upper limit GUB, the process proceeds to step S755.

[0099] Next, in step S755, the annealing calculation unit 228 performs a branching operation to add two new nodes to the unsolved node list for the target node i. As described above, the branching operation in the branch-and-bound method is an operation to divide the search space into smaller subproblems. More specifically, one unsolved variable in the current target node i is selected, and a new subproblem (child node) is generated by assuming possible values ​​of that variable. This divides the original problem into smaller subproblems, and each subproblem can be solved individually. The branching operation efficiently reduces the search space and improves the efficiency of the search for an optimal solution. In one embodiment, the variable on which the branching operation is performed may be the variable with the most fractional value closest to 0.5 among the solutions obtained by the relaxed problem R. An example of the process of determining the variable with the most fractional value closest to 0.5 is shown in Table 1 below.

[0100] Next, in step S760, the annealing calculation unit 228 performs a pruning operation on the target node. The pruning operation here refers to the operation of excluding subproblems (sets of nodes) for which an optimal solution cannot be obtained from the unsolved list. As described above, in the branch and bound method, when an optimal solution is sought while searching the search space, many subproblems (nodes) are generated. However, it is not necessary to search all subproblems, and some subproblems (e.g., nodes for which an optimal solution cannot be obtained) may be excluded from the search targets without any impact. In this way, by excluding nodes for which an optimal solution cannot be obtained from the unsolved list, the search space is efficiently reduced, and the search for an optimal solution becomes more efficient.

[0101] In the information processing method 700 shown in FIG. 7, the pruning operation for node i is performed in the following cases: 1) In step S720, for node i, the modified relaxed problem R(J i 2) In step S725, if it is determined that the solution to the modified relaxed problem R(J′) for node i does not satisfy the constraints of the constrained quadratic programming problem P, the combination of variables used to calculate the solution that does not satisfy the constraints of the constrained quadratic programming problem P does not result in an optimal solution.i If the solution to the modified relaxed problem R(J i ') is an integer, the upper and lower bounds of the objective function value are the same, the solution is a candidate for the optimal solution, and no further investigation of the target node is necessary. 3) In step S750, it is determined that the lower bound of the objective function value for node i is equal to or greater than the upper bound of the objective function value. This is because the upper and lower bounds of the objective function value are the same, the solution is a candidate for the optimal solution, and no further investigation of the target node is necessary.

[0102] 9 is a diagram showing an example of a case where a pruning operation is performed on a state space tree 900. In the state space tree 900 shown in FIG. 9, it is assumed that the variable corresponding to node 905 is not an optimal solution or is determined to be a candidate for the optimal solution as a result of investigation using the branch and bound method described above. In this case, further investigation is unnecessary, and therefore node 905 is removed from the state space tree 900 by the pruning operation.

[0103] Returning to the description of the information processing method 700, in step S765, the annealing calculation unit 228 determines whether a stop condition is satisfied. This stop condition may be, for example, a condition requiring repetition of the process until at least one feasible solution is obtained, until an iteration threshold specifying a predetermined number of iterations is reached, until a time threshold specifying a predetermined required processing time is reached, or until a convergence threshold specifying a predetermined difference between a limit value (lower bound) obtained by solving the relaxation problem and a limit value (upper bound) obtained by solving the unconstrained quadratic programming problem is reached. If the stop condition is not satisfied, the process returns to step S710, where the next node is selected. If the stop condition is satisfied, the process proceeds to step S770.

[0104] Next, in step S770, the input / output unit 246 outputs the most optimal feasible solution from among the optimal solution candidates stored in the solution-finding information DB 236 in step S745 as the optimal solution. Here, the "most optimal feasible solution" may be, for example, a feasible solution that satisfies a predetermined optimality criterion, and this optimality criterion may be set according to the objective of the constrained quadratic programming problem P. For example, if the constrained quadratic programming problem P is a minimization problem, the input / output unit 246 may select a solution that minimizes the value of the objective function of the constrained quadratic programming problem P from among feasible solutions that satisfy all of the constraints of the constrained quadratic programming problem P. In an embodiment, the input / output unit 246 may output, together with the optimal solution, a global upper limit, which is the maximum value of the upper limits of all nodes, and a global lower limit, which is the minimum value of the lower limits of all nodes.

[0105] The information processing method 700 described with reference to FIGS. 7-9 allows for an efficient branch-and-bound exploration of the search space to easily identify an optimal solution to a constrained quadratic programming problem P.

[0106] 10 is a graph 1000 illustrating the relationship between objective function value and number of iterations when using a branch-and-bound method according to an embodiment of the present disclosure. In FIG. 10, the objective function value is plotted on the vertical axis and the number of iterations is plotted on the horizontal axis. Also, a transition 1010 shows the transition of the upper limit of the objective function value, and a transition 1020 shows the transition of the lower limit of the objective function value.

[0107] 10 , as the number of iterations increases, a transition 1010 indicating the upper limit of the objective function value determined from the unconstrained quadratic programming problem Q and a transition 1020 indicating the lower limit of the objective function value determined from the relaxed problem R converge to the same value, i.e., the optimal solution of the constrained quadratic programming problem P. In this way, when solving the unconstrained quadratic programming problem Q iteratively, by increasing the number of iterations, it becomes possible to easily determine the optimal solution of the constrained quadratic programming problem P.

[0108] As described above, the information processing according to the embodiment of the present disclosure relates to identifying an optimal solution to a constrained quadratic programming problem by calculating a penalty coefficient to be applied to a penalty term of an unconstrained quadratic programming problem based on dual variables obtained by solving a relaxed problem in which constraints of a constrained quadratic programming problem are relaxed, and solving the unconstrained quadratic programming problem to which the penalty coefficient has been applied by an annealing technique.

[0109] In information processing according to an embodiment of the present disclosure, by calculating a penalty coefficient to be applied to a penalty term based on a dual variable that indicates the impact of violating the constraints of a constrained quadratic programming problem, it is possible to determine a penalty coefficient that provides an optimal solution that optimizes the objective function of the constrained quadratic programming problem P while satisfying the constraints of the constrained quadratic programming problem P.

[0110] Furthermore, according to one aspect of information processing related to an embodiment of the present disclosure, by searching the problem space of a constrained quadratic programming problem P using a branch-and-bound method and iteratively solving an unconstrained quadratic programming problem Q, it becomes possible to efficiently identify an optimal solution to the constrained quadratic programming problem P from among multiple feasible solutions.

[0111] Thus, according to the present disclosure, by determining the penalty coefficient to be applied to the penalty term of an unconstrained quadratic programming problem based on the dual variables obtained by solving a relaxed problem in which the constraints of a constrained quadratic programming problem are relaxed, it is possible to improve the performance of the annealing method and provide an information processing means capable of efficiently finding a solution to a constrained quadratic programming problem.

[0112] As described above, the information processing means according to the embodiment of the present disclosure includes the following aspects.

[0113] (Aspect 1) An information processing device comprising: a processor and a memory, wherein the memory contains processing instructions for causing the processor to function as: a problem generation unit that receives a constrained quadratic programming problem having a predetermined objective function and at least one linear constraint, and a predetermined transformation function, and generates, based on the constrained quadratic programming problem, a relaxed problem that relaxes the constrained quadratic programming problem, and an unconstrained quadratic programming problem in which the linear constraint is replaced with a penalty term; a relaxation unit that calculates dual variables that result in a feasible solution to the relaxed problem by solving the relaxed problem; a penalty management unit that calculates penalty coefficients corresponding to the linear constraints of the constrained quadratic programming problem based on the transformation function and the dual variables; and an annealing calculation unit that uses an annealing technique to solve the unconstrained quadratic programming problem in which the penalty coefficient is applied to the penalty term, and determines a solution that satisfies the linear constraint as a feasible solution to the constrained quadratic programming problem.

[0114] (Aspect 2) The information processing device further includes a storage unit that stores solution information including a feasible solution to a quadratic programming problem, wherein the annealing calculation unit solves the unconstrained quadratic programming problem, and when a solution that satisfies the linear constraint is determined to be a first feasible solution to the constrained quadratic programming problem, determines whether the first feasible solution satisfies a predetermined stopping condition, and when the first feasible solution does not satisfy the stopping condition, stores the first feasible solution in the storage unit as the solution information, wherein the problem generation unit acquires the solution information from the storage unit and generates a second relaxed problem based on the first feasible solution indicated in the solution information, wherein the relaxation unit solves the second relaxed problem to calculate second dual variables that are a feasible solution of the second relaxed problem, and stores the second dual variables in the storage unit as the solution information, and wherein the penalty management unit acquires the solution information from the storage unit, the information processing device according to aspect 1, wherein the annealing calculation unit calculates a second penalty coefficient based on the transformation function and the second dual variable indicated in the solution information, and the annealing calculation unit solves a second unconstrained quadratic programming problem by applying the second penalty coefficient to the penalty term, thereby determining a solution that satisfies the linear constraint as a second feasible solution to the constrained quadratic programming problem.

[0115] (Aspect 3) The information processing device according to Aspect 2, characterized in that the relaxation unit determines a feasible solution of the second relaxed problem to be a first limit value of the value of the objective function of the constrained quadratic programming problem, and stores the solution-finding information in the storage unit, and the annealing calculation unit determines a feasible solution of the unconstrained quadratic programming problem to be a second limit value of the value of the objective function of the constrained quadratic programming problem, and stores the solution-finding information in the storage unit.

[0116] (Aspect 4) The information processing device according to Aspect 3, wherein the stopping condition is an iteration threshold based on the number of iterations required to solve the unconstrained quadratic programming problem, a time threshold based on a predetermined required processing time, or a convergence threshold based on the difference between the first limit value and the second limit value.

[0117] (Aspect 5) The information processing device according to Aspect 3, wherein the annealing calculation unit, if the second feasible solution of the constrained quadratic programming problem satisfies the stopping condition, outputs the second feasible solution of the constrained quadratic programming problem, the first limit value, and the second limit value as an optimal solution of the constrained quadratic programming problem.

[0118] (Aspect 6) The information processing device according to any one of aspects 1 to 5, wherein the annealing technique is any one of an electronic circuit, an optical circuit, an adiabatic quantum computing device, and a quantum gate computer.

[0119] (Aspect 7) The information processing device according to Aspects 1 to 6, wherein the problem generator generates the relaxed problem by linearizing a quadratic term in the constrained quadratic programming problem and relaxing a consistency constraint in the constrained quadratic programming problem.

[0120] (Aspect 8) The information processing device according to any one of aspects 1 to 7, wherein the problem generator generates the relaxed problem using a semidefinite programming problem relaxation technique.

[0121] Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, and various modifications are possible within the scope of the gist of the present invention.

[0122] 150: Information processing application, 200: Information processing system, 210: Information processing device, 220: Memory, 222: Problem generation unit, 224: Relaxation unit, 226: Penalty management unit, 230: Storage unit, 228: Annealing calculation unit, 236: Solution information DB, 244: Processor, 246: Input / output unit, 250: Communication network, 260: User terminal

Claims

1. An information processing device comprising a processor and a memory, the memory containing processing instructions for causing the processor to function as: a problem generation unit that receives a constrained quadratic programming problem having a predetermined objective function and at least one linear constraint and a predetermined transformation function, and generates, based on the constrained quadratic programming problem, a relaxed problem that relaxes the constrained quadratic programming problem and an unconstrained quadratic programming problem in which the linear constraint is replaced with a penalty term; a relaxation unit that calculates dual variables that are a feasible solution to the relaxed problem by solving the relaxed problem; a penalty management unit that calculates a penalty coefficient corresponding to the linear constraint of the constrained quadratic programming problem based on the transformation function and the dual variables; and an annealing calculation unit that uses an annealing technique to solve the unconstrained quadratic programming problem by applying the penalty coefficient to the penalty term, thereby determining that a solution that satisfies the linear constraint is a feasible solution to the constrained quadratic programming problem.

2. The information processing device further includes a memory unit that stores solution search information including a feasible solution to a quadratic programming problem, wherein the annealing calculation unit solves the unconstrained quadratic programming problem, and when a solution that satisfies the linear constraint is determined to be a first feasible solution to the constrained quadratic programming problem, determines whether the first feasible solution satisfies a predetermined stopping condition, and when the first feasible solution does not satisfy the stopping condition, stores the first feasible solution in the memory unit as the solution search information, wherein the problem generation unit acquires the solution search information from the memory unit, and generates a second relaxed problem based on the first feasible solution indicated in the solution search information, wherein the relaxation unit solves the second relaxed problem to calculate second dual variables that are a feasible solution to the second relaxed problem, and stores the second dual variables in the memory unit as the solution search information, wherein the penalty management unit acquires the solution search information from the memory unit, and calculates a second penalty coefficient based on the transformation function and the second dual variable indicated in the solution search information, 2. The information processing device according to claim 1, wherein the annealing calculation unit determines a solution that satisfies the linear constraint as a second feasible solution to the constrained quadratic programming problem by solving a second unconstrained quadratic programming problem in which the second penalty coefficient is applied to the penalty term.

3. The information processing device described in claim 2, characterized in that the relaxation unit determines a feasible solution of the second relaxed problem to be a first limit value of the objective function value of the constrained quadratic programming problem and stores it in the memory unit as the solution information, and the annealing calculation unit determines a feasible solution of the unconstrained quadratic programming problem to be a second limit value of the objective function value of the constrained quadratic programming problem and stores it in the memory unit as the solution information.

4. The information processing device according to claim 3, wherein the stopping condition is an iteration threshold based on the number of iterations required to solve the unconstrained quadratic programming problem, a time threshold based on a predetermined required processing time, or a convergence threshold based on the difference between the first limit value and the second limit value.

5. The information processing device described in claim 3, characterized in that, when the second feasible solution to the constrained quadratic programming problem satisfies the stopping condition, the annealing calculation unit outputs the second feasible solution to the constrained quadratic programming problem, the first limit value and the second limit value as optimal solutions to the constrained quadratic programming problem.

6. The information processing device according to claim 1, wherein the annealing calculation unit is configured using any one of an electronic circuit, an optical circuit, an adiabatic quantum computing device, and a quantum gate computer.

7. The information processing device according to claim 1, wherein the problem generation unit generates the relaxed problem by linearizing quadratic terms in the constrained quadratic programming problem and relaxing consistency constraints in the constrained quadratic programming problem.

8. The information processing device according to claim 1, wherein the problem generator generates the relaxed problem using a semidefinite programming problem relaxation method.

9. An information processing system in which an information processing device that solves a constrained quadratic programming problem and a user terminal are connected via a communications network, the information processing device comprising: a processor and a memory, the memory including processing instructions for causing the processor to function as: a problem generation unit that receives a constrained quadratic programming problem having a predetermined objective function and at least one linear constraint and a predetermined transformation function, and generates, based on the constrained quadratic programming problem, a relaxed problem that relaxes the constrained quadratic programming problem and an unconstrained quadratic programming problem in which the linear constraint is replaced with a penalty term; a relaxation unit that calculates dual variables that are a feasible solution to the relaxed problem by solving the relaxed problem; a penalty management unit that calculates a penalty coefficient corresponding to the linear constraint of the constrained quadratic programming problem based on the transformation function and the dual variables; and an annealing calculation unit that uses an annealing technique to solve the unconstrained quadratic programming problem by applying the penalty coefficient to the penalty term, thereby determining a solution that satisfies the linear constraint as a feasible solution to the constrained quadratic programming problem.

10. An information processing program executed in an information processing device, the information processing device comprising a processor and a memory, the memory comprising: a step of inputting a constrained quadratic programming problem having a predetermined objective function and at least one linear constraint, and a predetermined transformation function; a step of generating a relaxed problem obtained by relaxing the constrained quadratic programming problem and an unconstrained quadratic programming problem in which the linear constraint is replaced with a penalty term, based on the constrained quadratic programming problem; a step of calculating dual variables that are a feasible solution to the relaxed problem by solving the relaxed problem; a step of calculating a penalty coefficient corresponding to the linear constraint of the constrained quadratic programming problem, based on the transformation function and the dual variables; a step of determining a solution that satisfies the linear constraint as a first feasible solution to the constrained quadratic programming problem by solving the unconstrained quadratic programming problem in which the penalty coefficient is applied to the penalty term, using an annealing technique; a step of determining whether or not the first feasible solution to the constrained quadratic programming problem satisfies a predetermined stopping condition; and if the first feasible solution to the constrained quadratic programming problem does not satisfy the stopping condition, generating a second relaxed problem based on the first feasible solution; calculating second dual variables that are a feasible solution to the second relaxed problem by solving the second relaxed problem; calculating a second penalty coefficient based on the transformation function and the second dual variables; determining a solution that satisfies the linear constraint as a second feasible solution to the constrained quadratic programming problem by solving a second unconstrained quadratic programming problem by applying the second penalty coefficient to the penalty term; determining whether the second feasible solution satisfies the stopping condition; and if the second feasible solution satisfies the stopping condition, outputting the second feasible solution as an optimal solution to the constrained quadratic programming problem.

Citation Information

Patent Citations

  • Security constraint unit commitment calculation method based on pre-solution-precise solution double-layer iteration

    CN116305793A

  • Optimization device, optimization method and optimization program

    JP2020194273A

  • Accuracy and time-to-solution in solving combinatorial optimization problems with quantum annealers by using anneal offsets

    US20190102353A1

  • Solution accuracy guaranteeing annealing calculation device, method, and program

    WO2022003943A1

Cited By

  • Flow chart layout optimization method and device, equipment, medium and product

    CN121685696A