Information processor, information processing system, and information processing program
Patent Information
- Application Number
- JP2023201420
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-29
- Publication Date
- 2026-02-13
AI Technical Summary
Conventional annealing methods for solving quadratic programming problems with constraints face challenges in identifying the optimal solution due to the arbitrary large penalty coefficients used, which compromise the performance of the method.
The proposed solution involves determining a penalty coefficient for the quadratic programming problem without constraints based on dual variables obtained by solving a relaxed problem. This approach improves the performance of the annealing method by optimizing the objective function while satisfying the constraints.
By using the dual variables to calculate an appropriate penalty coefficient, the method efficiently obtains a solution to the quadratic programming problem with constraints, enhancing the performance of the annealing method and ensuring optimal solution identification.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an information processing apparatus, an information processing system, and an information processing program.
Background Art
[0002] In various fields such as natural science, engineering, and social science, optimization problems are used to analyze a state in which a specific objective function becomes minimum or maximum while considering constraints on entities in a target system and interrelationships between the entities.
[0003] In a given system, the problem of optimizing an objective function while satisfying constraints is called a "constrained optimization problem." Further, when the objective function of this optimization problem can be described as a quadratic function, the optimization problem is called a "quadratic programming problem with constraints."
[0004] The quadratic programming problem with constraints can be solved by a so-called annealing method such as simulated annealing or quantum annealing by replacing the constraints in the objective function with penalty terms. Generally, this penalty term is composed of the product of a penalty coefficient determined in advance and a function derived based on the constraints. In order to optimize the objective function while satisfying the constraints using an annealing method, determining an appropriate penalty coefficient has become an important issue affecting the performance of the annealing method.
[0005] Conventionally, several means for solving optimization problems using annealing methods have been proposed. For example, International Publication No. 2022 / 003943 (Patent Document 1) describes a technique where "the solution accuracy guarantee annealing calculation device 20 includes a first solving means 21 for solving a combinatorial optimization problem by an annealing method, and a second solving means 22 for solving a relaxed problem which is a problem generated by relaxing the constraint conditions imposed on the combinatorial optimization problem. When the combinatorial optimization problem is a minimization problem, the second solving means 22 calculates a lower bound of the minimization target in the minimization problem by solving the relaxed problem generated from the combinatorial optimization problem. When the combinatorial optimization problem is a maximization problem, the second solving means 22 calculates an upper bound of the maximization target in the maximization problem by solving the relaxed problem generated from the combinatorial optimization problem."
Prior Art Documents
Patent Documents
[0006]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0007] Patent Document 1 discloses a solution accuracy guarantee annealing device that solves a combinatorial optimization problem by an annealing method and guarantees the solution quality by solving a relaxed problem in which some of the constraints of the original problem are relaxed.
[0008] However, in conventional means such as Patent Document 1, the penalty coefficient of the penalty term corresponding to the constraint in the objective function is set to an arbitrarily 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 arbitrarily large value, although a feasible solution can be easily identified, it becomes difficult to identify the optimal solution among the feasible solutions, and the performance of the annealing method may be limited.
[0009] Therefore, an object of the present disclosure is to provide information processing means capable of improving the performance of an annealing method and efficiently obtaining a solution to a quadratic programming problem with constraints by determining a penalty coefficient applied to a penalty term of the quadratic programming problem without constraints based on dual variables obtained by solving a relaxed problem obtained by relaxing the constraints of the quadratic programming problem with constraints.
Means for Solving the Problems
[0010] To solve the above problems, one of the representative information processing apparatuses of the present invention includes a processor and a memory. The memory inputs a quadratic programming problem with constraints having a predetermined objective function and at least one linear constraint, and a predetermined conversion function. Based on the quadratic programming problem with constraints, a problem generation unit that generates a relaxed problem obtained by relaxing the quadratic programming problem with constraints and a quadratic programming problem without constraints obtained by replacing the linear constraint with a penalty term, a relaxation unit that calculates a dual variable that becomes an executable solution of the relaxed problem by solving the relaxed problem, a penalty management unit that calculates a penalty coefficient corresponding to the linear constraint of the quadratic programming problem with constraints based on the conversion function and the dual variable, and a processing instruction for causing the processor to function as an annealing calculation unit that determines an executable solution that satisfies the linear constraint by solving the quadratic programming problem without constraints to which the penalty coefficient is applied to the penalty term using an annealing method.
Advantages of the Invention
[0011] According to the present disclosure, it is possible to provide information processing means capable of improving the performance of an annealing method and efficiently obtaining a solution to a quadratic programming problem with constraints by determining a penalty coefficient applied to a penalty term of the quadratic programming problem without constraints based on dual variables obtained by solving a relaxed problem obtained by relaxing the constraints of the quadratic programming problem with constraints. Problems, configurations, and effects other than those described above will be clarified by the description in the following embodiments for carrying out the invention.
Brief Description of the Drawings
[0012]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
DETAILED DESCRIPTION OF THE INVENTION
[0013] Hereinafter, embodiments of the present invention will be described with reference to the drawings. Note that the present invention is not limited by this embodiment. Also, in the description of the drawings, the same parts are denoted by the same reference numerals. Also, terms such as "first", "second", "third", etc. may be used in this disclosure to describe various elements or components, but it will be understood that these elements or components should not be limited by these terms. These terms are only used to distinguish one element or component from another. Thus, the first element or component discussed below could also be referred to as the second element or component without departing from the teachings of the inventive concept.
[0014] (Summary of the Disclosure) As described above, the constrained quadratic programming problem is used in optimization problems in various fields such as, for example, scheduling problems, network design, and product manufacturing in factories. Embodiments of the present disclosure relate to solving a constrained quadratic programming problem P including linear constraints as shown in the following Mathematical Formulas 1 and 2. [Number] [Number] Here, J is a set of indices 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] Note that the constrained quadratic programming problem P shown in Mathematical Formula 1 can be rewritten as a quadratic programming problem P' including the following equality constraints shown in Mathematical Formula 3. [Number] Here, s k is an integer slack variable of equation k that can also be described as a binary expansion, and Z 0 is a set of integers greater than or equal to 0. Thus, the constrained quadratic programming problem P can be expressed as a quadratic programming problem P' including equality constraints. In the present disclosure, for the sake of convenience of explanation, the case where the constrained quadratic programming problem P is a minimization problem is considered. 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 the constrained quadratic programming problem P as shown in Equation 1 by an annealing apparatus that executes simulated annealing or quantum annealing, it is desirable to replace the constraints of the constrained quadratic programming problem P with penalty terms in the objective function and convert the constrained quadratic programming problem P into an unconstrained quadratic programming problem Q as shown in Equation 4.
Equation
[0017] In the conventional annealing method, the constraints in the objective function are the penalty coefficients p k and r l of the penalty terms. They are determined by being set in advance to arbitrarily large values or by gradually increasing the penalty coefficients until appropriate values are obtained so that H(f(x)) = H(g(x)) = 0 holds when the solution of Q is obtained by the annealing method. The penalty term update rule when using the method of gradually increasing the penalty coefficients may be, for example, as shown in Equation 5.
Equation
[0018] However, if the penalty coefficients p and r are set to arbitrarily large values so that feasible solutions satisfying the constraints can be easily identified, the influence of the original objective function becomes relatively small in Equation 4 solved by the annealing method, and there is 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 necessity of satisfying all constraints and the optimality of the solution. Therefore,
[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 inputs 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 includes a problem generation unit that generates a relaxed problem obtained by relaxing the constraints of a quadratic programming problem with constraints and a quadratic programming problem without constraints, a relaxation unit that solves the relaxed problem and calculates dual variables, a penalty management unit that determines penalty coefficients corresponding to the constraints of the quadratic programming problem with constraints based on the dual variables, and an annealing calculation unit that solves the quadratic programming problem without constraints using the penalty coefficients. The present disclosure relates to an information processing apparatus.
[0021] According to the information processing apparatus according to the embodiment of the present disclosure, by determining an appropriate penalty coefficient, it is possible to improve the performance of the annealing method and calculate the optimal solution of the quadratic programming problem with constraints.
[0022] Next, with reference to FIG. 1, a computer system 100 for implementing embodiments of the present disclosure will be described. The mechanisms and apparatuses of the various embodiments disclosed herein may be applied to any suitable computing system. The main components of the computer system 100 include one or more processors 102, a 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] The computer system 100 may include one or more general-purpose programmable central processing units (CPUs) 102A and 102B collectively referred to as the processor 102. In certain embodiments, the computer system 100 may comprise multiple processors, and in another embodiment, the computer system 100 may be a single CPU system. Each processor 102 may execute instructions stored in the memory 104 and may include an on-board cache.
[0024] In certain embodiments, the memory 104 may include a random access semiconductor memory, a storage device, or a storage medium (either volatile or non-volatile) for storing data and programs. The memory 104 may store all or a portion of the programs, modules, and data structures for implementing the functions described herein. For example, the memory 104 may store an information processing application 150. In certain embodiments, the information processing application 150 may include instructions or descriptions for executing the functions described below on the processor 102.
[0025] In certain 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 certain embodiments, information processing application 150 may include data other than instructions or descriptions. In certain embodiments, a camera, sensor, or other data input device (not shown) may be provided to communicate directly with bus interface unit 109, processor 102, or other hardware of 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 be coupled to an I / O bus 108 for transferring data between various I / O units. I / O bus interface unit 110 may communicate via I / O bus 108 with a plurality of 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, display memory, or both. The display controller may be capable of providing video, audio, or both data to display device 126. Also, computer system 100 may include devices such as one or more sensors configured to collect data and provide the data to processor 102.
[0028] For example, the computer system 100 may include a biometric sensor that collects heart rate data, stress level data, etc., an environmental sensor that collects humidity data, temperature data, pressure data, etc., and a motion sensor that collects acceleration data, motion data, etc. Other types of sensors can also be used. The display system 124 may be connected to a display device 126 such as a single display screen, a television, a tablet, or a portable device.
[0029] The I / O interface unit has a function to communicate with various storage or I / O devices. For example, the terminal interface unit 112 can be attached with a user I / O device 116 such as a user output device like a video display device, a speaker television, or a user input device such as a keyboard, a mouse, a keypad, a touch pad, a trackball, a button, a light pen, or other pointing devices. The user can use the user interface to operate the user input device to input input data and instructions to the user I / O device 116 and the computer system 100, and receive output data from the computer system 100. The user interface may be displayed on the display device, played by the speaker, or printed via the printer, for example, via the user I / O device 116.
[0030] The storage interface 113 can be attached to one or more disk drives or direct access storage devices 117 (usually magnetic disk drive storage devices, but may also be an array of disk drives configured to appear as a single disk drive or other storage device). In certain embodiments, the storage device 117 may be implemented as any secondary storage device. The contents of the memory 104 may be stored in the storage device 117 and read from the storage device 117 as needed. The I / O device interface 114 may provide an interface to other I / O devices such as printers, fax machines, etc. The network interface 115 may provide a communication path so that the computer system 100 can communicate with other devices mutually. This communication path may be, for example, the network 130.
[0031] In certain embodiments, the 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, the computer system 100 may be a desktop computer, a portable computer, a notebook computer, a tablet computer, a pocket computer, a telephone, a smartphone, or any other suitable electronic device.
[0032] Next, with reference to FIG. 2, an information processing system according to an embodiment of the present disclosure will be described.
[0033] FIG. 2 is a diagram showing an example of the 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 shown in FIG. 2, the information processing system 200 mainly includes an information processing apparatus 210, a communication network 250, and a user terminal 260. The information processing apparatus 210 and the user terminal 260 may be connected to each other via the communication network 250.
[0034] The information processing apparatus 210 is an apparatus for solving a quadratic programming problem with constraints, 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 a certain embodiment, the information processing apparatus 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 the embodiments of the present disclosure. This information processing application 150 may include processing instructions for implementing the functions of software modules such as a problem generation unit 222, a relaxation unit 224, a penalty management unit 226, and an annealing calculation unit 228, as shown in FIG. 2.
[0036] The problem generation unit 222 inputs a quadratic programming problem with constraints having a predetermined objective function and at least one linear constraint, and a predetermined conversion function from the user terminal 260, and based on the quadratic programming problem with constraints, generates a relaxed problem obtained by relaxing the quadratic programming problem with constraints, and a quadratic programming problem without constraints in which the linear constraint is replaced with a penalty term. The relaxed problem here is a problem that is easier to solve than the quadratic programming problem with constraints, obtained by relaxing the constraints of the quadratic programming problem with constraints. In addition, by replacing the linear constraint in the quadratic programming problem with constraints with a penalty term composed of the product of a penalty coefficient and a predetermined function, a quadratic programming problem without constraints that can be solved by the annealing method can be generated.
[0037] The relaxation unit 224 is a functional unit for calculating dual variables that become executable solutions of the relaxed problem by solving the relaxed problem generated by the problem generation unit 222. In the present disclosure, the expression "executable solution" means a solution that satisfies all the constraints of a predetermined planning problem (for example, a relaxed problem or a quadratic programming problem with constraints). Also, the "dual variable" is an auxiliary variable for each constraint condition of the objective function of the relaxation problem, and is used to maintain the balance between the optimization of the objective function and the satisfaction of the constraint conditions. In an embodiment, the dual variable here may be information indicating the values of feasible solutions that satisfy the constraints of the relaxation problem in vector form. As will be described later, this dual variable is used to identify the feasible solutions of the quadratic programming problem with constraints.
[0038] The penalty management unit 226 is a functional unit for calculating the penalty coefficient corresponding to the linear constraints of the quadratic programming problem with constraints based on the conversion function input from the user terminal and the dual variable calculated by the relaxation unit 224. The conversion function here is a variable used to convert the dual variable calculated in the problem space of the relaxation problem into the penalty coefficient in the problem space of the quadratic programming problem without constraints.
[0039] The annealing calculation unit 228 is a functional unit for determining a feasible solution that satisfies the linear constraints of the quadratic programming problem with constraints by solving the quadratic programming problem without constraints to which the penalty coefficient calculated by the penalty management unit 226 is applied using the annealing method. In an embodiment, the annealing calculation unit 228 may be composed of a conventional CPU (so-called classical CPU), GPU, optical circuit, adiabatic quantum computing device, quantum gate computer, or logic circuit using CMOS (Complementary Metal Oxide Semiconductor) technology.
[0040] The storage unit 230 is a storage area that houses a database (hereinafter, "DB") for storing various information according to the embodiments of the present disclosure, and may include a solution information DB 236 as shown in FIG. 2.
[0041] The solution information DB 236 is a database that stores information regarding relaxed problems and executable solutions of quadratic programming problems without constraints when iteratively solving quadratic programming problems without constraints in the information processing apparatus according to the second embodiment of the present disclosure described below. This solution information DB 236 is used by the relaxation unit 224 and the annealing calculation unit 228 in order to solve quadratic programming problems with constraints.
[0042] The processor 244 is a processing unit for executing processing instructions that define the functions of the respective functional units of the information processing application 150 stored by the memory 220. Also, in one embodiment, the processor 244 may be composed of a conventional CPU, GPU, optical circuit, adiabatic quantum computing device, quantum gate computer, or a logic circuit using CMOS (Complementary Metal Oxide Semiconductor) technology, similar to the annealing calculation unit 228 described above. Further, the processor 244 may have a configuration on a dedicated computer so as to execute the annealing method.
[0043] The input / output unit 246 is a functional unit for receiving information input to the information processing apparatus 210 and outputting information generated by the information processing apparatus 210 (such as executable solutions and optimal solutions of quadratic programming problems with constraints). In one embodiment, the input / output unit 246 may include, for example, a keyboard, a mouse, a display for displaying a GUI (Graphical User Interface), and the like. In one embodiment, the input / output unit 246 may provide a GUI for inputting and outputting various information to the user terminal 260.
[0044] The communication 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 the user of the information processing apparatus 210. By using the user terminal 260, the user can input a constrained quadratic programming problem or a conversion function to the information processing apparatus 210, or check the executable solution or the optimal solution of the constrained quadratic programming problem output from the information processing apparatus 210. As an example, the user terminal 260 may include, for example, a smartphone, a smartwatch, a tablet, a personal computer, etc. of a user who subscribes to an information processing service provided by the information processing system 200, and is not particularly limited. In FIG. 2, for convenience of explanation, a configuration including one user terminal 260 is described as an example, but the number of user terminals 260 is not limited, and a configuration including a plurality of user terminals 260 is also possible.
[0046] According to the information processing system 200 described above, by determining an appropriate penalty coefficient, it is possible to improve the performance of the annealing method and calculate an optimal solution to the constrained quadratic programming problem.
[0047] (Embodiment 1) Next, with reference to FIG. 3, the logical configuration of the information processing system according to the first embodiment of the present disclosure will be described.
[0048] FIG. 3 is a diagram showing an example of the logical configuration of an information processing system 300 according to the first embodiment of the present disclosure. As shown in FIG. 3, the information processing system 300 according to the first embodiment of the present disclosure mainly includes an information processing apparatus 210, a communication network 250, and a user terminal 260. The information processing apparatus 210 mainly includes an input / output unit 246, a problem generation unit 222, a relaxation unit 224, a penalty management unit 226, and an annealing calculation unit 228.
[0049] The input / output unit 246 inputs, from the user terminal 260, a constrained quadratic programming problem P having a predetermined objective function and at least one linear constraint, and a conversion function h in , h eq to. More specifically, here, the input / output unit 246 may input problem instance information that defines a specific instance of the quadratic programming problem P with constraints (i.e., a set of parameters that define the problem), as the quadratic programming problem P with constraints. For example, the input / output unit 246 may input parameters such as matrices A, D, W and vectors b, c, e, etc. that define the quadratic programming problem P with constraints, as the problem instance information.
[0050] Based on the quadratic programming problem P with constraints input by the input / output unit 246, the problem generation unit 222 generates a relaxed problem R in which the constraints of the quadratic programming problem P with constraints are relaxed, and a quadratic programming problem Q without constraints. Then, the problem generation unit 222 transmits the relaxed problem R to the relaxation unit 224, and the transformation functions h in 、h eq to the penalty management unit 226, and transmits the quadratic programming problem Q without constraints to the annealing calculation unit 228.
[0051] By solving the relaxed problem R received from the problem generation unit 222, the relaxation unit 224 calculates dual variables λ, μ that are feasible solutions of the relaxed problem R, and transmits the calculated dual variables λ, μ to the penalty management unit 226. The dual variables here are information that describes the relationship between the constraints of the relaxed problem and the penalty terms of the quadratic programming problem without constraints. By using this dual variable, an appropriate value of the penalty coefficient in the penalty term of the quadratic programming problem without constraints can be determined.
[0052] Based on the dual variables λ, μ received from the relaxation unit 224 and the transformation functions h in 、h eq received from the problem generation unit 222, the penalty management unit 226 calculates penalty coefficients p, r. More specifically, here, the penalty management unit 226 uses the transformation functions h in 、h eq to transform the dual variables λ, μ calculated in the problem space of the relaxed problem into penalty coefficients p, r in the problem space of the quadratic programming problem without constraints. The penalty coefficient here is a parameter that defines how much penalty (loss) occurs when the constraints of the quadratic programming problem P with constraints are violated.
[0053] The annealing calculation unit 228 calculates the solution x by solving the quadratic programming problem Q without constraints using the quadratic programming problem Q without constraints 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 may verify the feasibility of the calculated solution x and, if it determines that it is an executable solution, transmit it to the user terminal 260 via the communication network 250.
[0054] Next, with reference to FIG. 4, an information processing method according to the first embodiment of the present disclosure will be described.
[0055] FIG. 4 is a flowchart showing an example of the flow of the 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 quadratic programming problem with constraints, and is implemented by each functional unit of the information processing apparatus 210 shown in FIGS. 2 and 3.
[0056] First, in step S405, the input / output unit 246 of the information processing apparatus 210 receives problem instance information defining a quadratic programming problem with constraints and a conversion function from the user terminal 260 via the communication network 250. This problem instance information defines, for example, vectors c, b, e and matrices W = {w} ij , A = {a} ki , D = {d} li for a quadratic programming problem P with at least one linear constraint. Also, as described above, the conversion functions h in , h eq may be freely set by the user. In one embodiment, the input / output unit 246 may convert the received problem instance information and conversion function into a format that can be decoded by the problem generation unit 222.
[0057] Next, in step S410, the problem generation unit 222 generates a relaxed problem R obtained by relaxing the constraints of the quadratic programming problem with constraints 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 characteristics. 1) The feasible region of the relaxed problem R includes the feasible region of the quadratic programming problem P with constraints. 2) For any feasible solution x of the quadratic programming problem P with constraints, 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 quadratic programming problem P with constraints. 3) The relaxed problem R is constructed such that the optimal solution of the quadratic programming problem P with constraints and the dual variables corresponding to the constraints can be obtained. Here, since the relaxed problem R is a relaxed problem obtained by relaxing the quadratic programming problem P with constraints, the solution of the relaxed problem R gives a limit value to the objective function of the quadratic programming problem P with constraints. For example, when the quadratic programming problem P with constraints is a minimization problem, by substituting the solution of the relaxed problem R into the objective function of the quadratic programming problem P with constraints, the lower bound of the quadratic programming problem P can be obtained.
[0059] In an embodiment, the relaxed problem R may be constructed as a linear programming relaxation problem obtained by linearizing the quadratic programming problem P with constraints. For example, by linearizing the quadratic programming problem P with constraints, the mixed-integer linear programming problem P shown in the following Equation 6 L can be formulated.
Equation
[0060] Mixed-integer linear programming problem P L The LP relaxation problem R of is obtained by relaxing the integrality constraints, as shown in the following Equation 7.
Equation
[0061] Also, the problem generation unit 222 generates an unconstrained quadratic programming problem Q as shown in the following Equation 8 based on the vectors c, b, e and the matrices W, A, D included in the problem instance information.
Equation
Equation
[0062] Next, in step S415, the relaxation unit 224 solves the relaxation problem R and determines the dual variables (dual solution; also referred to as λ, μ). λ k represents the dual variable corresponding to each inequality constraint of the relaxation problem R, and μ l represents the dual variable corresponding to each equality constraint of the relaxation problem R. For any linear programming problem, the optimal solution x *When given, since the strong duality and complementary slackness conditions hold, the dual solution can be easily obtained. Furthermore, when solving the relaxation problem R, which is a linear programming problem, using the simplex method, both the primal solution and the dual solution can be obtained. This dual variable is information that describes the relationship between the constraints of the relaxation problem R and the penalty terms of the quadratic programming problem P without constraints. More specifically, the dual variable represents the impact (cost, loss, effect, etc.) when the constraints of the relaxation problem R are violated. By using this dual variable, it is possible to control the balance between the optimality of the objective function of the quadratic programming problem P with constraints and the satisfaction of the constraints, and to determine an appropriate value for the penalty coefficient in the penalty term of the quadratic programming problem without constraints.
[0063] Next, in step S420, the penalty management unit 226 calculates the penalty coefficient according to Equation 10 shown below based on the dual variables (λ, μ) calculated by the relaxation unit 224 in step S415 and the conversion function h included in the problem instance information. This penalty coefficient is a parameter that defines when a penalty (loss) occurs when the constraints of the quadratic programming problem P with constraints are violated to what extent. in h eq Specifically, here, the penalty management unit 226 uses the conversion functions h to convert the dual variables λ, μ calculated in the problem space of the relaxation problem into the penalty coefficients p, r in the problem space of the quadratic programming problem without constraints. More specifically, here, the penalty management unit 226 in h eq uses the conversion functions h to convert the dual variables λ, μ calculated in the problem space of the relaxation problem into the penalty coefficients p, r in the problem space of the quadratic programming problem without constraints.
Equation
Equation
[0064] Also, it is desirable to define the conditions shown in Equation 12 so as not to violate the constraints.
Equation
Equation
Equation
[0065] In the example of the conversion functions h in , h eq shown in Equations 13 and 14, when a small value is assigned when the value of the corresponding dual variable is 0, it is guaranteed that p and r are positive.
[0066] Next, in step S425, the annealing calculation unit 228 obtains the solution (x, s) by solving the quadratic programming problem Q without constraints using the penalty coefficient calculated by the penalty management unit 226 in step S420. Here, the annealing calculation unit 228 may solve the quadratic programming problem Q without constraints using a so-called annealing algorithm. Examples of the annealing algorithm here include, for example, quantum annealing, simulated annealing, momentum annealing, etc. In one embodiment, the annealing algorithm by this annealing calculation unit 228 may be executed on a GPU or a dedicated computer using quantum technology or CMOS (Complementary Metal Oxide Semiconductor) technology. Next, the annealing calculation unit 228 determines whether the obtained solution (x, s) satisfies the constraints. When f(x, s) = g(x) = 0, all the constraints of the quadratic programming problem P with constraints are satisfied, and the solution (x, s) is regarded as a feasible solution of the quadratic programming problem P with constraints. Further, when the quadratic programming problem P with constraints is a minimization problem, C(x) is the upper limit of the quadratic programming problem P with constraints.
[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 an embodiment, the input / output unit 246 may output the solution (x, s) as a binary vector as shown in the following mathematical formula 15.
Equation
[0068] According to the information processing means according to the embodiment of the present disclosure described above, by determining the penalty coefficient of the quadratic programming problem Q without constraints based on the dual variable obtained from the relaxation problem of the quadratic programming problem P with constraints, the solution of the quadratic programming problem with constraints can be easily determined, and the performance of the annealing method can be improved. More specifically, since this dual variable represents the influence when violating the constraints of the relaxation problem R, by determining the penalty coefficient of the quadratic programming problem Q without constraints based on this dual variable, it is possible to calculate an appropriate penalty coefficient that can optimize the objective function while sufficiently satisfying the constraints of the relaxation problem of the quadratic programming problem P with constraints.
[0069] According to one aspect of the information processing means according to the embodiment of the present disclosure, the quadratic programming problem Q without constraints may be repeatedly solved until a predetermined termination condition is satisfied. By repeatedly solving the quadratic programming problem Q, it is possible to determine a solution with a good value of the objective function from among a plurality of feasible solutions that satisfy the constraints of the quadratic programming problem P with constraints. Next, with reference to FIGS. 5 to 6, a case where the quadratic programming problem Q without constraints is repeatedly solved using the information processing apparatus according to the second embodiment of the present disclosure will be described.
[0070] FIG. 5 is a diagram showing an example of the 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 repeatedly solve a quadratic programming problem Q without constraints. As shown in FIG. 5, the configuration of the information processing system 500 according to the second embodiment is substantially the same as that of the information processing system 200 according to the first embodiment described with reference to FIG. 3, but the information processing system 500 is different from the information processing system 300 in that it includes a solution information DB 236. In the following description, the description of the 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 a process of solving the relaxation problem R, a process of determining a penalty coefficient, and a process of solving the quadratic programming problem Q without constraints, and store the executable solutions of the relaxation problem R and the quadratic programming problem Q without constraints 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 for determining a 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 executable solutions of the relaxation problem R and the quadratic programming problem Q without constraints determined in each iteration. Also, in an embodiment, the solution information DB 236 may store information regarding limit values (i.e., lower and upper limits) of the value of the objective function of the quadratic programming problem P with constraints. As described above, when the quadratic programming problem P with constraints is a minimization problem, the upper limit of the value of the objective function of the quadratic programming problem P with constraints is the minimum value when the executable solution of the relaxation problem Q is substituted into the objective function, and the lower limit of the value of the objective function of the quadratic programming problem P with constraints is the maximum value when the executable solution of the relaxation problem R is substituted into the objective function.
[0073] FIG. 6 is a flowchart showing an example of the flow of the 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 quadratic programming problem P with constraints by repeatedly solving a quadratic programming problem Q without constraints, and is implemented by each functional unit 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 are omitted.
[0074] First, in step S605, the input / output unit 246 of the information processing apparatus 210 receives problem instance information defining the quadratic programming problem P with constraints and a conversion 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 obtained by relaxing the constraints of the quadratic programming problem P with constraints 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 relaxed problem R and determines the dual variables (λ, μ).
[0077] Next, in step S620, the penalty management unit 226 calculates a penalty coefficient based on the dual variables (λ, μ) determined by the relaxation unit 224 in step S615 and the conversion functions h in 、h eq included in the problem instance information.
[0078] Next, in step S625, the annealing calculation unit 228 obtains an executable solution (x, s) of the quadratic programming problem P without constraints by solving the quadratic programming problem Q without constraints using the penalty coefficient calculated by the penalty management unit 226 in step S620, and stores it in the solution information DB236 as solution information.
[0079] Next, in step S630, the annealing calculation unit 228 determines whether or not the termination condition is satisfied. The termination condition here is a condition for determining whether or not to terminate the processes of steps S615 to S625, and may be input from the user terminal 260 via the input / output unit 246. This termination condition may be, for example, until at least one feasible solution is obtained, until a repetition threshold that defines a predetermined number of repetitions is achieved, until a time threshold that defines a predetermined required processing time is achieved, until a convergence threshold that defines a predetermined difference between a limit value (lower limit) obtained by solving a relaxation problem and a limit value (upper limit) obtained by solving a quadratic programming problem without constraints is achieved, or a condition that requires repetition of the process. If it is determined that the termination condition is satisfied, this process proceeds to step S635. On the other hand, if it is determined that the termination condition is not satisfied, this process returns to step S615 and repeats the processes of steps S615 to S625. In an embodiment, in each iteration, the relaxation problem R obtained by relaxing the constraints of the quadratic programming problem P with constraints and the quadratic programming problem Q without constraints may be changed based on the solution information stored in the solution information DB236 (that is, the feasible solution obtained in the previous iteration). Thereby, for example, a regular search of the feasible region of the quadratic programming problem P with constraints, such as the branch and bound method, becomes possible.
[0080] Next, in step S635, the input / output unit 246 outputs, as the optimal solution, the feasible solution having the highest optimality among the feasible solutions of the determined quadratic programming problem P with constraints. Here, the "feasible solution having the highest optimality" 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 quadratic programming problem P with constraints. For example, when the quadratic programming problem P with constraints is a minimization problem, the input / output unit 246 may output, among the feasible solutions that satisfy all the constraints of the quadratic programming problem P with constraints, the solution for which the value of the objective function of the quadratic programming problem P with constraints is the minimum. On the other hand, when the quadratic programming problem P with constraints is a maximization problem, the input / output unit 246 may output, among the feasible solutions that satisfy all the constraints of the quadratic programming problem P with constraints, the solution for which the value of the objective function of the quadratic programming problem P with constraints is the maximum.
[0081] According to the information processing method 600 described above, it is possible to easily determine the optimal solution of the quadratic programming problem P with constraints from among the execution solutions determined by repeatedly solving the quadratic programming problem Q without constraints.
[0082] As one means of repeatedly solving the quadratic programming problem Q without constraints and obtaining the optimal solution of the quadratic programming problem P with constraints, the so-called branch and bound method can be used. Generally, the branch and bound method is an algorithm for obtaining the optimal solution of an optimization problem such as the quadratic programming problem P with constraints according to the embodiments of the present disclosure.
[0083] Next, with reference to FIGS. 7 to 10, a case where the branch and bound method is used in the information processing method according to the embodiments 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 a candidate for the optimal solution. Thereafter, it is determined whether to further search that subproblem only when there is a possibility of obtaining a solution better than the known optimal solution. This determination is called a "limiting operation". Also, in the branch and bound method, all solution candidates are systematically enumerated, and using the upper and lower bounds estimates of the optimized quantity, candidates determined not to be optimal are discarded by a "pruning" operation. In this way, by repeatedly dividing the search space and pruning the branches for solving the subproblems and narrowing down the candidates for the optimal solution, the optimal solution can be identified.
[0084] FIG. 7 is a flowchart showing an example of the flow of an information processing method 700 using the branch and bound method according to the embodiments of the present disclosure. This information processing method 700 is a process for obtaining the optimal solution of the quadratic programming problem P with constraints using the branch and bound method, and may be implemented, for example, by the information processing system 500 according to the second embodiment of the present disclosure shown in FIG. 5.
[0085] As described above, by solving the relaxation problem R, the lower bound of 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, the upper bound of the optimal value of the objective function of the constrained quadratic programming problem P can be obtained. In the search space defined by this lower bound and upper bound, by using the branch and bound method to repeatedly solve the unconstrained quadratic programming problem Q, the constrained quadratic programming problem P can be obtained from among the feasible solutions that are candidates for the optimal solution.
[0086] First, in step S705, the problem generation unit 222 generates an unsolved node list indicating a combination of variables in the search space explored by the branch and bound method. This unsolved node list may be in, for example, a table format or in the form of a state space tree as shown in FIG. 8. Note that in the first iteration, this unsolved node list includes only the root node that is the starting point of the search. This root node has not yet had its variables fixed and represents the initial state or partial solution of the overall problem. The search starts from the root node, and by generating new nodes from each node and proceeding with the search, the optimal solution is pursued.
[0087] More specifically, FIG. 8 is a diagram showing an example of the search space explored by the branch and bound method as a state space tree 800. In the state space tree 800 shown in FIG. 8, each node represents a partial solution or a specific state of the quadratic programming problem. These nodes correspond to various combinations of variables (for example, feasible solutions) that are investigated when searching for the optimal solution. Also, the edges of the state space tree 800 represent the transitions (moves) from one partial solution (node) to another solution (node) when the branch and bound algorithm investigates the search space. That is, each edge corresponds to the operation of assigning the variables to be investigated.
[0088] When repeatedly solving the unconstrained quadratic programming problem Q, in each iteration i, a subset of variables
Number
[0089] In the information processing method 700 using the branch and bound method, the branch and bound algorithm systematically investigates different branches (sub-problems) of the state space tree by expanding nodes and generating new nodes (states) based on specific rules and constraints. Also, the branch and bound algorithm tracks the best solution found so far and performs pruning to exclude branches from the state space tree 800 that cannot lead to a solution better than the current best solution. According to this process, all nodes (combinations of variables) of the branches of the state space tree 800 are investigated, and the optimal solution can be identified from the executable solutions.
[0090] Next, returning to the description of the information processing method 700, in step S710, the problem generation unit 222 selects the next node to be investigated from among the unsolved node list generated in step S705 for each iteration i. Here, the next node may be selected based on a predetermined rule that defines the behavior of the branch and bound method. Note that in the first iteration, since the unsolved node list contains only the root node, the root node is selected. On the other hand, as another example, if the unsolved node list contains nodes of the state space tree 800, the problem generation unit 222 may select, for example, node 805 as the next node.
[0091] Next, in step S715, the relaxation unit 224 generates a modified relaxed problem R(J i ’)(also referred to as the second relaxed problem) based on the node selected in step S710, and this modified relaxed problem R(Ji ’) is solved. In one embodiment, this modified relaxation problem R(J i ’) may be described as a linear programming problem as shown in Equation 19 below.
Equation
[0092] Next, in step S720, the relaxation unit 224 determines whether the solution of the modified relaxation problem R(J i ’) is a feasible solution that satisfies the constraints of the constrained quadratic programming problem P. If the solution of the modified relaxation problem R(J i ’) is a feasible solution, this process proceeds to step S725. If the solution of the modified relaxation problem R(J i ’) is not a feasible solution, this process proceeds to step S760.
[0093] Next, in step S725, the relaxation unit 224 determines whether the solution of the modified relaxation problem R(J i ’) is an integer. If the solution of the modified relaxation problem R(J i ’) is not an integer, this process proceeds to step S730. On the other hand, if the solution of the modified relaxation problem R(J i ’) is an integer, this process proceeds to step S745.
[0094] Next, in step S730, the penalty management unit 226 uses the conversion functions h in , h eq received from the user terminal 260 or the like to convert the solution of the modified relaxation problem R(J i ’) obtained in step S715 (that is, the dual variables λ, μ,) into penalty coefficients p, r.
[0095] Next, in step S735, the annealing calculation unit 228 solves the modified quadratic programming problem Q(J i ’) (also referred to as the second quadratic programming problem without constraints) without constraints to which the penalty coefficient determined in step S730 is applied. The modified quadratic programming problem Q(J iAn example of ') is shown by the following mathematical formula 20.
Number
[0096] Next, in step S740, the annealing calculation unit 228 determines whether the solution of the modified quadratic programming problem Q (J i ') without constraints obtained in step S735 satisfies the linear constraints of the quadratic programming problem P with constraints. If it is determined that the solution of the modified quadratic programming problem Q (J i ') satisfies the linear constraints of the quadratic programming problem P with constraints, this process proceeds to step S745. On the other hand, if the solution of the modified quadratic programming problem Q (J i ') does not satisfy the linear constraints of the quadratic programming problem P with constraints, this process proceeds to step S750.
[0097] Next, in step S745, the annealing calculation unit 228, if it is determined in step S725 that the solution of the modified relaxation problem R (J i ') is an integer, or if it is determined that the solution of the modified quadratic programming problem Q (J i ') satisfies the linear constraints of the quadratic programming problem P with constraints, sets the solution as a candidate for the optimal solution, and stores it in the solution search information DB236 together with the lower limit LB of the objective function value of the quadratic programming problem P with constraints obtained from the modified relaxation problem R (J i ') and the global upper limit GUB, which is the maximum value of the upper limits of the objective function values of the quadratic programming problem P with constraints obtained from the modified quadratic programming problem Q (J i ') for all nodes.
[0098] Next, in step S750, the annealing calculation unit 228 compares the lower limit and the upper limit stored in the solution information DB236 for the target node i with each other. 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 greater than or equal to the global upper limit GUB, this 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, this process proceeds to step S755.
[0099] Next, in step S755, the annealing calculation unit 228 performs a branching operation and adds 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 that divides the search space into smaller subproblems. More specifically, one unsolved variable is selected in the current target node i, and possible values of the variable are assumed to generate new subproblems (child nodes). As a result, the original problem is divided into smaller subproblems, and each subproblem can be solved individually. By the branching operation, the search space is efficiently reduced, and the search for the optimal solution is made more efficient. In an embodiment, the variable for which the branching operation is performed may be the variable having the value closest to 0.5 (most fractional value) among the solutions obtained by the relaxation problem R. An example of the process for determining the variable having the value closest to 0.5 is shown in Table 1 below.
Table 1
[0100] Next, in step S760, the annealing calculation unit 228 performs a pruning operation on the target node. The pruning operation here means an operation of excluding subproblems (a set of nodes) for which the optimal solution cannot be obtained from the unsolved list. As described above, in the branch-and-bound method, when finding an optimal solution while searching the search space, many subproblems (nodes) are generated. However, it is not necessary to search all subproblems, and some subproblems (for example, nodes from which an optimal solution cannot be obtained) may not have an impact even if they are excluded from the search target. Thus, by excluding nodes from which an optimal solution cannot be obtained from the unsolved list, the search space is efficiently reduced and the search for the optimal solution is made 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, when it is determined that the solution of the modified relaxation problem R(J i ’) for node i does not satisfy the constraints of the quadratic programming problem P with constraints. This is because an optimal solution cannot be obtained with the combination of variables used to calculate a solution that does not satisfy the constraints of the quadratic programming problem P with constraints. 2) In step S725, when it is determined that the solution of the modified relaxation problem R(J i ’) for node i is an integer. This is because when the solution of the modified relaxation problem R(J i ’) is an integer, the upper and lower limits of the value of the objective function become the same value, and since the solution is a candidate for the optimal solution, further investigation of the target node is unnecessary. 3) In step S750, when it is determined that the lower limit of the value of the objective function for node i is greater than or equal to the upper limit of the value of the objective function. This is because the upper and lower limits of the value of the objective function become the same value, and since the solution is a candidate for the optimal solution, further investigation of the target node is unnecessary.
[0102] FIG. 9 is a diagram showing an example of performing a pruning operation in the state space tree 900. In the state space tree 900 shown in FIG. 9, assume that the variables corresponding to node 905 are determined, as a result of investigation by the above-described branch-and-bound method, not to yield an optimal solution or to correspond to a candidate for the optimal solution. In this case, since further investigation is unnecessary, node 905 is excluded from the state space tree 900 by the pruning operation.
[0103] Next, returning to the description of the information processing method 700, in step S765, the annealing calculation unit 228 determines whether the termination condition is satisfied. This termination condition may be, for example, until at least one executable solution is obtained, until a repetition threshold that defines a predetermined number of repetitions is achieved, until a time threshold that defines a predetermined required processing time is achieved, until a convergence threshold that defines a predetermined difference between the limit value (lower limit) obtained by solving the relaxation problem and the limit value (upper limit) obtained by solving the quadratic programming problem without constraints is achieved, or a condition that requires the repetition of the process. If the termination condition is not satisfied, this process returns to step S710 and the next node is selected. If the termination condition is satisfied, this process proceeds to step S770.
[0104] Next, in step S770, the input / output unit 246 outputs the executable solution with the highest optimality as the optimal solution from among the candidates for the optimal solution stored in the solution information DB 236 in step S745. Here, the "executable solution with the highest optimality" may be, for example, an executable solution that satisfies a predetermined optimality criterion, and this optimality criterion may be set according to the objective of the quadratic programming problem P with constraints. For example, when the quadratic programming problem P with constraints is a minimization problem, the input / output unit 246 may select, from among the executable solutions that satisfy all the constraints of the quadratic programming problem P with constraints, the solution for which the value of the objective function of the quadratic programming problem P with constraints is minimized. In a certain embodiment, the input / output unit 246 may output, together with the optimal solution, the global upper limit that is the maximum value of the upper limits of all the nodes and the global lower limit that is the minimum value of the lower limits of all the nodes.
[0105] According to the information processing method 700 described with reference to FIGS. 7 to 9, by efficiently investigating the search space using the branch-and-bound method, it is possible to easily identify the optimal solution of the quadratic programming problem P with constraints.
[0106] FIG. 10 is a graph 1000 showing the relationship between the objective function value and the number of iterations when the branch and bound method according to the embodiment of the present disclosure is used. In FIG. 10, the objective function value is shown on the vertical axis, and the number of iterations is shown on the horizontal axis. Also, transition 1010 shows the transition of the upper limit of the objective function value, and transition 1020 shows the transition of the lower limit of the objective function value.
[0107] As shown in FIG. 10, as the number of iterations increases, transition 1010 showing the upper limit of the objective function value determined from the quadratic programming problem Q without constraints and transition 1020 showing the lower limit of the objective function value determined from the relaxation problem R converge to the same value, that is, the optimal solution of the quadratic programming problem P with constraints. Thus, when repeatedly solving the quadratic programming problem Q without constraints, by increasing the number of iterations, it becomes possible to easily determine the optimal solution of the quadratic programming problem P with constraints.
[0108] As described above, the information processing according to the embodiment of the present disclosure calculates a penalty coefficient to be applied to the penalty term of the quadratic programming problem without constraints based on the dual variables obtained by solving the relaxation problem in which the constraints of the quadratic programming problem with constraints are relaxed, and solves the quadratic programming problem without constraints to which the penalty coefficient is applied by an annealing method, thereby specifying the optimal solution of the quadratic programming problem with constraints.
[0109] In the information processing according to the embodiment of the present disclosure, by calculating the penalty coefficient to be applied to the penalty term based on the dual variables indicating the influence when violating the constraints of the quadratic programming problem with constraints, it is possible to determine the penalty coefficient that can obtain the optimal solution that optimizes the objective function of the quadratic programming problem P with constraints while satisfying the constraints of the quadratic programming problem P with constraints.
[0110] Also, according to one aspect of the information processing according to the embodiment of the present disclosure, by searching the problem space of the quadratic programming problem P with constraints by the branch and bound method and repeatedly solving the quadratic programming problem Q without constraints, it becomes possible to efficiently specify the optimal solution of the quadratic programming problem P with constraints from among a plurality of executable solutions.
[0111] As described above, according to the present disclosure, by determining a penalty coefficient to be applied to a penalty term of a quadratic programming problem without constraints based on a dual variable obtained by solving a relaxed problem obtained by relaxing the constraints of a constrained quadratic programming problem, it is possible to improve the performance of the annealing method and provide an information processing means capable of efficiently obtaining a solution to the 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 apparatus, comprising a processor and a memory, wherein the memory inputs a constrained quadratic programming problem having a predetermined objective function and at least one linear constraint, and a predetermined conversion function, and based on the constrained quadratic programming problem, generates a relaxed problem obtained by relaxing the constrained quadratic programming problem, and a quadratic programming problem without constraints in which the linear constraint is replaced with a penalty term; a problem generation unit, a relaxation unit that calculates a dual variable that becomes a feasible solution of 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 conversion function and the dual variable; an annealing calculation unit that determines, as a feasible solution of the constrained quadratic programming problem, a solution that satisfies the linear constraint by solving the quadratic programming problem without constraints to which the penalty coefficient is applied to the penalty term using an annealing method; An information processing apparatus characterized by including processing instructions for causing the processor to function as such.
[0114] (Aspect 2) The information processing apparatus further includes a storage unit that stores solution information including a feasible solution of the quadratic programming problem, wherein the annealing calculation unit When solving the quadratic programming problem without the above constraints and determining a solution that satisfies the linear constraints as the first feasible solution of the quadratic programming problem with constraints, determine whether the first feasible solution satisfies a predetermined termination condition, if the first feasible solution does not satisfy the termination condition, save the first feasible solution as the solution information in the storage unit, the problem generation unit, obtains the solution information from the storage unit, generates a second relaxation problem based on the first feasible solution indicated by the solution information, the relaxation unit, by solving the second relaxation problem, calculates a second dual variable that becomes a feasible solution of the second relaxation problem, saves the second dual variable as the solution information in the storage unit, the penalty management unit, obtains the solution information from the storage unit, calculates a second penalty coefficient based on the conversion function and the second dual variable indicated by the solution information, the annealing calculation unit, by solving a second quadratic programming problem without constraints to which the second penalty coefficient is applied to the penalty term, determines a solution that satisfies the linear constraints as the second feasible solution of the quadratic programming problem with constraints, The information processing apparatus according to aspect 1, characterized in that.
[0115] (Aspect 3) the relaxation unit, determines the feasible solution of the second relaxation problem as the first limit value of the objective function value of the quadratic programming problem with constraints, and saves it in the storage unit as the solution information, the annealing calculation unit, determines the feasible solution of the quadratic programming problem without constraints as the second limit value of the objective function value of the quadratic programming problem with constraints, and saves it in the storage unit as the solution information, The information processing apparatus according to aspect 2, characterized in that.
[0116] (Aspect 4) The termination condition is an iteration threshold based on the number of iterations for solving the quadratic programming problem without constraints, 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, The information processing apparatus according to Aspect 3, characterized in that.
[0117] (Aspect 5) The annealing calculation unit when the second feasible solution of the quadratic programming problem with constraints satisfies the termination condition, outputs the second feasible solution of the quadratic programming problem with constraints and the first limit value and the second limit value as the optimal solution of the quadratic programming problem with constraints. The information processing apparatus according to Aspect 3, characterized in that.
[0118] (Aspect 6) The annealing method is any one of an electronic circuit, an optical circuit, an adiabatic quantum computing device, and a quantum gate computer. The information processing apparatus according to Aspects 1 to 5, characterized in that.
[0119] (Aspect 7) The problem generation unit generates the relaxed problem by linearizing the quadratic term in the quadratic programming problem with constraints and relaxing the consistency constraints in the quadratic programming problem with constraints. The information processing apparatus according to Aspects 1 to 6, characterized in that.
[0120] (Aspect 8) The problem generation unit generates the relaxed problem using a semidefinite programming problem relaxation method. The information processing apparatus according to Aspects 1 to 7, characterized in that.
[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 can be made without departing from the gist of the present invention.
Explanation of Signs
[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 apparatus comprising: a processor and a memory; wherein the memory receives a quadratic programming problem with constraints having a predetermined objective function and at least one linear constraint, and a predetermined transformation function, and based on the quadratic programming problem with constraints, generates a relaxed problem obtained by relaxing the quadratic programming problem with constraints and a quadratic programming problem without constraints in which the linear constraint is replaced with a penalty term; a relaxation unit that calculates a dual variable that is a feasible solution of the relaxed problem by solving the relaxed problem; a penalty management unit that calculates a penalty coefficient corresponding to the linear constraint of the quadratic programming problem with constraints based on the transformation function and the dual variable; an annealing calculation unit that determines a solution that satisfies the linear constraint as a feasible solution of the quadratic programming problem with constraints by solving the quadratic programming problem without constraints in which the penalty coefficient is applied to the penalty term using an annealing method; and includes processing instructions for causing the processor to function as such, characterized by the information processing apparatus.
2. The information processing apparatus further includes a storage unit that stores solution information including a feasible solution of the quadratic programming problem; wherein the annealing calculation unit when solving the quadratic programming problem without constraints and determining a solution that satisfies the linear constraint as a first feasible solution of the quadratic programming problem with constraints, determines whether the first feasible solution satisfies a predetermined termination condition; when the first feasible solution does not satisfy the termination 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; generates a second relaxed problem based on the first feasible solution indicated in the solution information; wherein the relaxation unit calculates a second dual variable that is a feasible solution of the second relaxed problem by solving the second relaxed problem; stores the second dual variable in the storage unit as the solution information; wherein the penalty management unit acquires the solution information from the storage unit; calculates a second penalty coefficient based on the transformation function and the second dual variable indicated in the solution information; wherein the annealing calculation unit determines a solution that satisfies the linear constraint as a second feasible solution of the quadratic programming problem with constraints by solving a second quadratic programming problem without constraints in which the second penalty coefficient is applied to the penalty term, characterized by the information processing apparatus according to claim 1.
3. The relaxation unit determines an executable solution of the second relaxation problem as a first limit value of the objective function value of the quadratic programming problem with constraints, and stores it in the storage unit as the solution information; The annealing calculation unit determines an executable solution of the quadratic programming problem without constraints as a second limit value of the objective function value of the quadratic programming problem with constraints, and stores it in the storage unit as the solution information. The information processing apparatus according to claim 2, characterized in that.
4. The termination condition is an iteration threshold based on the number of iterations for solving the quadratic programming problem without constraints, a time threshold based on a predetermined required processing time, or a convergence threshold based on a difference between the first limit value and the second limit value. The information processing apparatus according to claim 3, characterized in that.
5. The annealing calculation unit when the second executable solution of the quadratic programming problem with constraints satisfies the termination condition, outputs the second executable solution of the quadratic programming problem with constraints, the first limit value, and the second limit value as the optimal solution of the quadratic programming problem with constraints. The information processing apparatus according to claim 3, characterized in that.
6. 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. The information processing apparatus according to claim 1, characterized in that.
7. The problem generation unit generates the relaxation problem by linearizing the quadratic term in the quadratic programming problem with constraints and relaxing the consistency constraints in the quadratic programming problem with constraints. The information processing apparatus according to claim 1, characterized in that.
8. The problem generation unit generates the relaxation problem using a semidefinite programming problem relaxation method. The information processing apparatus according to claim 1, characterized in that.
9. An information processing system in which an information processing apparatus for solving a quadratic programming problem with constraints and a user terminal are connected via a communication network, wherein the information processing apparatus comprises a processor and a memory, and the memory inputs a quadratic programming problem with constraints having a predetermined objective function and at least one linear constraint and a predetermined conversion function, and based on the quadratic programming problem with constraints, generates a relaxation problem obtained by relaxing the quadratic programming problem with constraints and a quadratic programming problem without constraints in which the linear constraint is replaced with a penalty term; a problem generation unit A relaxation unit that calculates dual variables that are feasible solutions to the relaxation problem by solving the relaxation problem; A penalty management unit that calculates a penalty coefficient corresponding to the linear constraint of the quadratic programming problem with constraints based on the conversion function and the dual variables; An annealing calculation unit that determines a solution that satisfies the linear constraint as a feasible solution to the quadratic programming problem with constraints by solving the quadratic programming problem without constraints to which the penalty coefficient is applied to the penalty term using an annealing method; An information processing system characterized by including processing instructions for causing the processor to function as such.
10. An information processing program executed in an information processing device, The information processing device Comprises a processor and a memory, The memory A step of inputting a quadratic programming problem with constraints having a predetermined objective function and at least one linear constraint, and a predetermined conversion function; A step of generating a relaxation problem obtained by relaxing the quadratic programming problem with constraints based on the quadratic programming problem with constraints, and a quadratic programming problem without constraints in which the linear constraint is replaced with a penalty term; A step of calculating dual variables that are feasible solutions to the relaxation problem by solving the relaxation problem; A step of calculating a penalty coefficient corresponding to the linear constraint of the quadratic programming problem with constraints based on the conversion function and the dual variables; A step of determining a solution that satisfies the linear constraint as a first feasible solution to the quadratic programming problem with constraints by solving the quadratic programming problem without constraints to which the penalty coefficient is applied to the penalty term using an annealing method; A step of determining whether or not the first feasible solution to the quadratic programming problem with constraints satisfies a predetermined termination condition; When the first feasible solution to the quadratic programming problem with constraints does not satisfy the termination condition, A step of generating a second relaxation problem based on the first feasible solution; A step of calculating second dual variables that are feasible solutions to the second relaxation problem by solving the second relaxation problem; A step of calculating a second penalty coefficient based on the conversion function and the second dual variables; A step of determining a solution that satisfies the linear constraint as a second feasible solution to the quadratic programming problem with constraints by solving a second quadratic programming problem without constraints to which the second penalty coefficient is applied to the penalty term; A step of determining whether or not the second executable solution satisfies the termination condition; When the second executable solution satisfies the termination condition; A step of outputting the second executable solution as an optimal solution of the quadratic programming problem with constraints; An information processing program characterized by including processing instructions for causing the processor to execute the above.