Computing apparatus, computing method, program, and circuit information

The calculation device employs a simulated branching algorithm to generate composite objective functions and predict Pareto hypervolume increases, addressing inefficiencies in existing methods by accurately calculating multiple approximate Pareto solutions with reduced computational effort, even in non-convex scenarios.

JP2024175889AActive Publication Date: 2024-12-19KK TOSHIBA +1

Patent Information

Application Number
JP2023093971
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-07
Publication Date
2024-12-19
Estimated Expiration
2043-06-07

AI Technical Summary

Technical Problem

Existing methods for solving multi-objective optimization problems, such as the constraint method and linear weighted sum method, struggle with determining appropriate constraint conditions and weight coefficients, leading to inefficiencies in calculating multiple Pareto solutions, especially in non-convex scenarios.

Method used

A calculation device and method that uses a solver device with a simulated branching algorithm to generate composite objective functions, predicting Pareto hypervolume increases, and iteratively selecting weight patterns to accurately calculate approximate Pareto solutions with reduced computational effort.

Benefits of technology

The approach effectively calculates a large number of approximate Pareto solutions close to the Pareto front, even in non-convex scenarios, with reduced computational resources, filling gaps in the Pareto front and providing a comprehensive set of trade-off solutions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024175889000001_ABST
    Figure 2024175889000001_ABST
Patent Text Reader

Abstract

To calculate, with satisfactory accuracy and with less computing amount, an approximate Pareto solution group in a multi-purpose minimization problem.SOLUTION: A computing apparatus according to the present invention has a prediction unit, a selection unit, an update unit, a repeat control unit, and an output unit. The prediction unit executes prediction processing for predicting an increased amount of a Pareto hyper volume by using a wight pattern corresponding to each of a plurality of weight patterns. The selection unit executes selection processing for selecting a maximum weight pattern with a maximum increased amount. The update unit acquires, from a solver device, a plurality of solutions in a problem of minimizing a synthesized object function as a linear weighted sum of a plurality of object functions and a plurality of weight coefficient represented by the maximum weight patterns to add them to a candidate solution group, thereby carrying out update processing for updating the candidate solution group. The repeat control unit repeatedly controls a series of the prediction processing, the selection processing, and the update processing. The output unit outputs, as an approximate Pareto solution group, a group including a non-dominated solution of the candidate solution group.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a computing device, a computing method, a program, and circuit information. [Background technology]

[0002] In many optimization problems in the real world, the optimal solution is determined not by a single evaluation value, but by taking into account multiple evaluation values. Such optimization problems that use multiple evaluation values ​​are called multi-objective optimization problems. In multi-objective optimization problems, the ideal solution is called a Pareto solution. Multi-objective optimization problems have multiple Pareto solutions with different balances of evaluation values. In many optimization problems in the real world, the optimal solution is determined based on such multiple Pareto solutions, taking into account the trade-off between multiple evaluation values.

[0003] As methods for solving a multi-objective optimization problem and calculating multiple Pareto solutions, the constraint method, the linear weighted sum method, and the multi-objective optimization method are known.

[0004] In the constraint method, one of multiple evaluation values ​​is represented by an objective function, and the other evaluation values ​​are represented as constraint conditions. Then, in the constraint method, an optimization solver is used to find a solution that optimizes the objective function under the constraint conditions. However, in the constraint method, it is difficult to determine the constraint conditions rationally. Also, in the constraint method, it is necessary to change the constraint conditions and solve the solution that optimizes the objective function multiple times in order to obtain multiple Pareto solutions with different balances.

[0005] In the linear weighted sum method, each of the multiple evaluation values ​​is represented by a separate objective function. Then, in the linear weighted sum method, a linear weighted sum of the multiple objective functions and multiple weight coefficients is calculated to generate a composite objective function. However, in the linear weighted sum method, it is difficult to determine the multiple weight coefficients rationally. In addition, in the linear weighted sum method, it is necessary to change the multiple weight coefficients and solve the solution that optimizes the composite objective function multiple times, otherwise multiple Pareto solutions with different balances cannot be obtained. In addition, in the linear weighted sum method, when a set including feasible solutions is non-convex, a Pareto solution in a concave portion cannot be obtained.

[0006] The multi-objective optimization method solves multi-objective optimization problems using a multi-objective optimization solver. However, the algorithm of the multi-objective optimization solver is complicated, and the amount of calculation required is enormous. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Patent Publication No. 2022-118555 [Patent Document 2] Patent Publication No. 2021-043667 [Patent Document 3] JP 2021-043589 A [Non-patent literature]

[0008] [Non-Patent Document 1] Yoshihiko Ozaki, Yuki Tanigaki, Shuhei Watanabe and Masaki Onishi, “Multiobjective Tree-structured Parzen Estimator for Computationally Expensive Optimization Problems”, Association for Computing Machinery, The Genetic and Evolutionary Computation Conference, 2020 June, pp. 533-541 [Non-Patent Document 2] Preferred Networks, Optuna (registered trademark), [Retrieved May 12, 2023], Internet<URL, https: / / optuna.org / > , <URL, https: / / optuna.readthedocs.io / en / stable / reference / samplers / generated / optuna.samplers.MOTPESampler.html> [Non-Patent Document 3] Hayato Goto, Kosuke Tatsumura and Alexander R. Dixon, “Combinatorial optimization by simulating adiabatic bifurcations in nonlinear Hamiltonian systems,” Science Advances 5, eaav2372, 2019 [Non-Patent Document 4] Hayato Goto, Kotaro Endo, Masaru Suzuki, Yoshisato Sakai, Taro Kanao, Yohei Hamakawa, Ryo Hidaka, Masaya Yamasaki and Kosuke Tatsumura, “High-performance combinatorial optimization based on classical mechanics”, Science Advances 7, eabe7953, 2021 Summary of the Invention [Problem to be solved by the invention]

[0009] An object of the present invention is to provide a calculation device, a calculation method, a program, and circuit information that can calculate multiple approximate Pareto solutions in a multi-objective minimization problem with high accuracy and with a small amount of calculation. [Means for solving the problem]

[0010] A computing device according to an embodiment calculates an approximate Pareto solution set including approximate Pareto solutions that approximate a Pareto solution in a multi-objective minimization problem for minimizing a plurality of objective functions. The computing device includes a function acquisition unit, a prediction unit, a selection unit, an update unit, an iterative control unit, and an output unit. The function acquisition unit acquires the plurality of objective functions. The prediction unit executes a prediction process for predicting an increase in a Pareto hypervolume, which is a hypervolume of an inferior solution region, when updating a candidate solution set including a candidate solution that is a candidate for the approximate Pareto solution, using a corresponding weight pattern for each of a plurality of weight patterns that represent a plurality of weight coefficients that correspond one-to-one to the plurality of objective functions. The selection unit executes a selection process for selecting a weight pattern that maximizes the increase from among the plurality of weight patterns as a maximum weight pattern. The update unit executes an update process to update the candidate solution set by acquiring from a solver device a plurality of solutions to a problem of minimizing a composite objective function, which is a linear weighted sum of the plurality of objective functions and the plurality of weight coefficients represented by the maximum weight pattern, and adding at least some of the acquired plurality of solutions to the candidate solution set as the candidate solutions. The iterative control unit performs iterative control to repeat the prediction process, the selection process, and the update process. After the iterative control ends, the output unit selects a non-dominated solution from the candidate solutions included in the candidate solution set, and outputs a set including the selected non-dominated solution as the approximate Pareto solution set. [Brief description of the drawings]

[0011] [Figure 1] FIG. 1 is a diagram showing a computing system according to the first embodiment. [Diagram 2] FIG. 2 is a diagram for explaining the Pareto solutions. [Diagram 3] FIG. 3 is a diagram for explaining the Pareto hypervolume when there is one candidate solution. [Figure 4] FIG. 4 is a diagram for explaining the Pareto hypervolume when there are three candidate solutions. [Diagram 5] FIG. 5 is a diagram for explaining the increase in the Pareto supervolume. [Figure 6] FIG. 6 is a diagram illustrating the configuration of a computing device according to the first embodiment. [Figure 7] FIG. 7 is a flowchart showing a flow of processing by the computing device according to the first embodiment. [Figure 8] FIG. 8 is a flowchart showing the process flow of S16. [Figure 9] FIG. 9 is a diagram showing Pareto solutions when a multi-objective optimization problem is solved by the technique of Patent Document 1. [Figure 10] FIG. 10 is a diagram showing approximate Pareto solutions when a multi-objective optimization problem is solved by the technique of Non-Patent Document 1. [Figure 11] FIG. 11 is a diagram showing approximate Pareto solutions when a multi-objective optimization problem is solved by the computing device according to the first embodiment. [Figure 12] FIG. 12 is a diagram for explaining approximate Pareto solutions calculated by the computing device according to the first embodiment when the set of feasible solutions is non-convex. [Figure 13] FIG. 13 is a diagram illustrating the configuration of a computing device according to the second embodiment. [Figure 14] FIG. 14 is a diagram illustrating the configuration of a computing device according to the third embodiment. [Figure 15] FIG. 15 is a flowchart showing the flow of processing by the computing device according to the third embodiment. [Figure 16] FIG. 16 is a flowchart showing the process flow of S41. [Figure 17] FIG. 17 is a diagram illustrating an approximate Pareto solution set calculated by the computing device according to the third embodiment when the set of feasible solutions is non-convex. [Figure 18] FIG. 18 is a diagram illustrating the configuration of a computing device according to the fourth embodiment. [Figure 19] FIG. 19 is a hardware block diagram of a computing device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] (First embodiment) FIG. 1 is a diagram showing the functional configuration of a computing system 10. As shown in FIG.

[0013] Computing system 10 includes a computing device 20 and a solver device 22 .

[0014] The computing device 20 calculates an approximate Pareto solution set including approximate Pareto solutions that are approximate to Pareto solutions in a multi-objective minimization problem for minimizing multiple objective functions. The computing device 20 is realized by one or more hardware processors, computers, servers, or the like executing a program.

[0015] In the process of calculating the approximate Pareto solution set, the computing device 20 repeatedly generates different composite objective functions by changing the weight pattern. The composite objective function is a linear weighted sum of multiple objective functions and multiple weight coefficients represented by the weight pattern. Every time the computing device 20 generates a composite objective function, the computing device 20 provides the generated composite objective function to the solver device 22 and obtains multiple solutions from the solver device 22 that minimize the composite objective function.

[0016] The solver device 22 executes a process of solving a solution that minimizes a given function, and outputs a plurality of solutions for a given composite objective function.

[0017] The solver device 22 solves the problem of minimizing the composite objective function by using a heuristic solving algorithm, thereby obtaining not only an exact solution but also an approximate solution. As a result, the solver device 22 can output multiple solutions that minimize a given composite objective function. Note that the solver device 22 outputs, from among a large number of solutions obtained by solving a problem using a heuristic solving algorithm, multiple solutions for which the value obtained by substituting the solution into the composite objective function is smaller than a predetermined value, or multiple solutions for which the value obtained by substituting the solution into the composite objective function is smaller, for example, a predetermined number of multiple solutions.

[0018] The solver device 22 may be any device that can obtain multiple solutions that minimize a function. For example, the solver device 22 may be a device that uses quantum annealing technology or a device that uses quasi-quantum annealing technology.

[0019] In this embodiment, the solver device 22 uses a simulated bifurcation algorithm to solve the problem. The simulated bifurcation algorithm is shown in, for example, Non-Patent Document 3, Non-Patent Document 4, Patent Document 2, and Patent Document 3. The simulated bifurcation algorithm is also called a quantum-inspired algorithm because it was discovered based on a quantum mechanical optimization method based on the quantum adiabatic theorem. The simulated bifurcation algorithm can solve a combinatorial optimization problem in which the cost function is a quadratic function of multiple binary decision variables, that is, a QUBO (Quadratic Unconstrained Binary Optimization) problem. The simulated bifurcation algorithm can also solve a combinatorial optimization problem in which the cost function is a cubic or higher function of multiple binary decision variables, that is, a HUBO (Higher Order Binary Optimization) problem. The simulated bifurcation algorithm for solving the HUBO problem is shown in, for example, Patent Document 2. The simulated bifurcation algorithm can also solve a combinatorial optimization problem in which some or all of the multiple decision variables include continuous-value variables. A simulated bifurcation algorithm for solving a combinatorial optimization problem in which some or all of a plurality of decision variables include continuous-valued variables is shown in, for example, Patent Document 3.

[0020] In this embodiment, the solver device 22 includes multiple engines each independently executing a simulated bifurcation algorithm. The solver device 22 outputs multiple solutions for a given composite objective function by executing the multiple engines in parallel. The solver device 22 may output multiple solutions by having one engine repeatedly execute the simulated bifurcation algorithm multiple times.

[0021] The simulated bifurcation algorithm uses a plurality of position variables and a plurality of momentum variables that correspond one-to-one to a plurality of decision variables included in a given composite objective function. The simulated bifurcation algorithm sets a set of initial values ​​for the plurality of position variables or the plurality of momentum variables at the start of execution. When the sets of initial values ​​set for the plurality of position variables and the plurality of momentum variables are different, the simulated bifurcation algorithm is more likely to output different approximate solutions. In this embodiment, the solver device 22 outputs a plurality of solutions by setting a plurality of sets of initial values ​​different from each other for the plurality of position variables or the plurality of momentum variables used by each of the plurality of engines.

[0022] Next, the multi-objective minimization problem, the composite objective function, and the evaluation value are explained.

[0023] Equation (1) represents multiple objective functions included in a multi-objective minimization problem.

number

[0024] f1(x), f2(x), …, f m (x),…,f M Each of (x) represents an objective function. M represents the number of objective functions and is an integer of 2 or more. m represents an index that identifies one of the objective functions and is an integer of 1 or more and M or less. f m (x) represents the m-th objective function among the M objective functions.

[0025] x1,x2,…,x n ,…,x N Each of x represents a decision variable. N represents the number of decision variables included in the objective functions, and is an integer of 2 or more. n represents an index that identifies one of the decision variables, and is an integer of 1 or more and N or less. n represents the n-th decision variable among multiple decision variables.

[0026] Each of the objective functions does not have to include any of the decision variables. That is, each of the objective functions may have a coefficient of 0 for a term including any of the decision variables.

[0027] Each of the multiple decision variables and each of the multiple objective functions are variables and functions whose solutions can be obtained by the solver device 22. For example, when the solver device 22 solves a QUBO problem, each of the multiple decision variables is a binary variable, and each of the multiple objective functions is a quadratic function. When the solver device 22 can solve a HUBO problem, each of the multiple decision variables is a binary variable, and each of the multiple objective functions is a cubic or higher function that can be solved by the solver device 22. When the solver device 22 can solve an optimization problem including a decision variable that represents a continuous value, the multiple decision variables may include a decision variable that is a continuous value.

[0028] The computing device 20 may receive a multi-objective optimization problem for maximizing some or all of the objective functions. In this case, the computing device 20 converts the objective function to be maximized among the multiple objective functions into an objective function to be minimized by multiplying the objective function to be maximized by a negative value. In this way, the computing device 20 can convert the multi-objective optimization problem for maximizing some or all of the objective functions among the multiple objective functions into a multi-objective minimization problem to calculate an approximate Pareto solution set.

[0029] Equation (2) represents the weight pattern (W), and Equation (3) represents the composite objective function (F(x)).

number

number

[0030] The weight pattern (W) represents a number of weight coefficients that correspond one-to-one to a number of objective functions. Each of the weight coefficients is a real number greater than 0.

[0031] w1, w2, …, w m ,…w M Each of w represents a weight coefficient. m represents the m-th weight coefficient among the multiple weight coefficients. The m-th weight coefficient is the m-th objective function f m Corresponds to (x).

[0032] A composite objective function (F(x)) is a function that is a function of multiple objective functions (f1(x), f2(x), …, f m (x),…,f M (x)) and multiple weight coefficients (w1, w2, …, w m ,…,w M ) In other words, the composite objective function (F(x)) is a function obtained by adding together a plurality of objective functions, each of which is multiplied by a corresponding one of a plurality of weight coefficients.

[0033] Equation (4) expresses the m-th objective function (f m Represents the evaluation value of (x).

number

[0034] The evaluation value of the objective function is obtained by substituting the solution that minimizes the composite objective function obtained by the solver device 22 into multiple decision variables included in the corresponding objective function. The evaluation value of the objective function is a value that evaluates the obtained solution, and is expressed by a real number, and the smaller the number, the better.

[0035] Fig. 2 is a diagram for explaining a Pareto solution of a multi-objective minimization problem for minimizing two objective functions. In Fig. 2, the horizontal axis represents the evaluation value of the first objective function (f1(x)), and the vertical axis represents the evaluation value of the second objective function (f2(x)).

[0036] In a multi-objective minimization problem, a feasible solution is a solution that satisfies all of the multiple objective functions. In a multi-objective minimization problem, a Pareto solution is a non-dominated solution among the multiple feasible solutions that has no other superior solution. For example, in a multi-objective minimization problem, a Pareto solution is a solution that has the smallest evaluation value for any of the multiple objective functions when the evaluation values ​​of the other objective functions are minimized.

[0037] In the example of FIG. 2, each of A and B is one of the Pareto solutions. For A, when the evaluation value of the first objective function (f2(x)) is fixed to a1, the evaluation value of the second objective function (f2(x)) becomes the smallest, and when the evaluation value of the second objective function (f2(x)) is fixed to b2, the evaluation value of the first objective function (f1(x)) becomes the smallest. Also, in the example of FIG. 2, for B, when the evaluation value of the first objective function (f1(x)) is fixed to a2, the evaluation value of the second objective function (f2(x)) becomes the smallest, and when the evaluation value of the second objective function (f2(x)) is fixed to b1, the evaluation value of the first objective function (f1(x)) becomes the smallest.

[0038] The Pareto front represents a surface connecting multiple Pareto solutions. When a multi-objective minimization problem includes two objective functions, the Pareto front is a curved line.

[0039] The calculation device 20 calculates an approximate Pareto solution set including approximate Pareto solutions that approximate such Pareto solutions. The approximate Pareto solutions are non-dominated solutions that are close to the Pareto front. However, the approximate Pareto solutions may be Pareto solutions that are strictly tangent to the Pareto front. Therefore, the approximate Pareto solution set includes not only Pareto solutions that are strictly tangent to the Pareto front, but also approximate Pareto solutions that are close to the Pareto front. Note that all solutions included in the approximate Pareto solution set may be Pareto solutions.

[0040] Fig. 3 is a diagram for explaining the Pareto hypervolume when there is one candidate solution. Fig. 4 is a diagram for explaining the Pareto hypervolume when there are three candidate solutions. In Fig. 3 and Fig. 4, the horizontal axis represents the evaluation value of the first objective function (f1(x)), and the vertical axis represents the evaluation value of the second objective function (f2(x)).

[0041] The calculation device 20 repeats the process of calculating candidate solutions that are candidates for approximate Pareto solutions while changing the weight pattern, thereby increasing the number of candidate solutions. Then, the calculation device 20 executes the process of calculating candidate solutions a predetermined number of times or until a sufficiently good candidate solution is obtained, and then selects a plurality of approximate Pareto solutions from the calculated plurality of candidate solutions.

[0042] Here, the calculation device 20 predicts an increase in the Pareto hypervolume as an index for selecting a weight pattern to be used in the process of calculating a candidate solution.

[0043] The Pareto hypervolume represents the size of the poor solution region in a set of candidate solutions that includes one or more candidate solutions that have already been calculated.

[0044] The inferior solution region is a region of feasible solutions that satisfy all of the objective functions, in which a candidate solution included in the candidate solution set is not selected as a non-dominated solution. A non-dominated solution is a solution in which there is no other solution that is superior to the candidate solution set. In other words, the inferior solution region is a region in which, even if a new candidate solution is added to the region, the new added candidate solution is not selected as an approximate Pareto solution.

[0045] The Pareto hypervolume represents the area when the multi-objective minimization problem involves two objective functions, and represents the volume when the multi-objective minimization problem involves three objective functions.

[0046] As shown in FIG. 3, assume that the candidate solution included in the candidate solution set is only C. In C, the evaluation value of the first objective function (f1(x)) is a3, and the evaluation value of the second objective function (f2(x)) is b3. The Pareto hypervolume in this case represents the size of the range in the feasible solution domain where the evaluation value of the first objective function is equal to or greater than a3 and the evaluation value of the second objective function is equal to or greater than b3. That is, the Pareto hypervolume in this case represents the size of the range in the feasible solution domain excluding the range where the evaluation value of the first objective function is smaller than a3 and the range where the evaluation value of the second objective function is smaller than b3.

[0047] As shown in FIG. 4, the candidate solutions included in the candidate solution set are C, D, and E. D has an evaluation value of a4 for the first objective function (f1(x)), and an evaluation value of b4 for the second objective function (f2(x)). E has an evaluation value of a5 for the first objective function (f1(x)), and an evaluation value of b5 for the second objective function (f2(x)). In this case, the Pareto hypervolume represents the size of a range obtained by combining the range in the feasible solution region where the evaluation value of the first objective function is equal to or greater than a3 and the evaluation value of the second objective function is equal to or greater than b3, the range where the evaluation value of the first objective function is equal to or greater than a4 and the evaluation value of the second objective function is equal to or greater than b4, and the range where the evaluation value of the first objective function is equal to or greater than a5 and the evaluation value of the second objective function is equal to or greater than b5.

[0048] Fig. 5 is a diagram for explaining the increase in the Pareto hypervolume, in which the horizontal axis represents the evaluation value of the first objective function (f1(x)) and the vertical axis represents the evaluation value of the second objective function (f2(x)).

[0049] When a new candidate solution is added outside the poor solution region of one or more candidate solutions included in the candidate solution set already calculated, the Pareto hypervolume increases. The increase in the Pareto hypervolume represents the increase in such a case. F is a new candidate solution added to the candidate solution set including C, D, and E. F's first objective function (f1(x)) has an evaluation value of a6, and its second objective function (f2(x)) has an evaluation value of b6. The increase in the Pareto hypervolume when F is added is (a3-a6) x (b5-b6).

[0050] Each time a weight pattern is generated, the calculation device 20 according to this embodiment executes a process of predicting an increase in Pareto hypervolume in a candidate solution calculated by a composite objective function generated using the generated weight pattern.

[0051] The prediction process of the increase in the Pareto hypervolume can be realized by existing technologies. For example, Non-Patent Document 1 describes an algorithm for predicting the increase in the Pareto hypervolume of a composite objective function based on one or more solutions and weight patterns. In addition, the Internet site described in Non-Patent Document 2 provides a program for predicting the increase in the Pareto hypervolume of a composite objective function based on one or more solutions and weight patterns. The calculation device 20 may predict the increase in the Pareto hypervolume by using these technologies.

[0052] FIG. 6 is a diagram showing the configuration of a computing device 20 according to the first embodiment.

[0053] The calculation device 20 according to the first embodiment includes a candidate solution storage unit 32, a function acquisition unit 34, a prediction unit 36, a selection unit 38, an update unit 40, a repetition control unit 42, and an output unit 44.

[0054] The candidate solution storage unit 32 stores a candidate solution set including candidate solutions that are candidates for approximate Pareto solutions. Note that the candidate solution set may be an empty set at the start of processing, or may include a feasible solution calculated by some method.

[0055] The function acquisition unit 34 acquires a plurality of objective functions included in the multi-objective minimization problem.

[0056] The prediction unit 36 ​​executes a prediction process. In the prediction process, the prediction unit 36 ​​generates a plurality of weight patterns that are different from each other. The prediction unit 36 ​​may generate a plurality of weight patterns based on information registered in advance. The prediction unit 36 ​​may also generate a plurality of weight patterns based on random numbers or the like. Furthermore, in the prediction process, the prediction unit 36 ​​predicts an increase in the Pareto hyper-volume when a candidate solution set is updated using a weight pattern corresponding to each of the generated weight patterns. That is, in the prediction process, the prediction unit 36 ​​predicts an increase in the Pareto hyper-volume when a solution that minimizes a composite objective function generated using a weight pattern corresponding to each of the generated weight patterns is added to a candidate solution set as a new solution candidate.

[0057] The selection unit 38 acquires the multiple weight patterns generated by the prediction unit 36 ​​and the increase in the Pareto hyper-volume predicted for each of the multiple weight patterns. The selection unit 38 executes a selection process to select, as a maximum weight pattern, a weight pattern that has the maximum increase from the multiple weight patterns generated.

[0058] The update unit 40 acquires a plurality of objective functions from the function acquisition unit 34, and acquires a maximum weight pattern from the selection unit 38. The update unit 40 executes an update process for updating a candidate solution set stored in the candidate solution storage unit 32. In the update process, the update unit 40 generates a composite objective function that is a linear weighted sum of the plurality of objective functions and a plurality of weight coefficients represented by the maximum weight pattern. In the update process, the update unit 40 further provides the composite objective function to the solver device 22, and acquires a plurality of solutions to the problem of minimizing the composite objective function from the solver device 22.

[0059] Then, in the update process, the update unit 40 adds at least some of the multiple solutions acquired from the solver device 22 as candidate solutions to the candidate solution set stored in the candidate solution storage unit 32. For example, the calculation device 20 may add all of the multiple solutions acquired from the solver device 22 to the candidate solution set. Also, for example, the update unit 40 may add solutions of which the value of the composite objective function is equal to or less than a predetermined reference value, among the multiple acquired solutions, to the candidate solution set. Also, for example, the update unit 40 may add a predetermined number of solutions of which the value of the composite objective function is smaller, among the multiple acquired solutions, to the candidate solution set.

[0060] The repetition control unit 42 performs repetition control to repeat the prediction process by the prediction unit 36, the selection process by the prediction unit 36 ​​by the selection unit 38, and the update process by the prediction unit 36. The repetition control unit 42 repeats the prediction process, the selection process, and the update process a predetermined number of times or for a predetermined time. Furthermore, the repetition control unit 42 may repeat the prediction process, the selection process, and the update process until the candidate solution set includes a sufficiently appropriate quantity or quality of multiple candidate solutions.

[0061] After the iterative control is completed, the output unit 44 selects a non-dominated solution from among the candidate solutions included in the candidate solution set stored in the candidate solution storage unit 32. The output unit 44 outputs a set including the selected non-dominated solution as an approximate Pareto solution set. The output unit 44 may display the approximate Pareto solution set on a display device. For example, the output unit 44 may display a graph of a predetermined dimension with the evaluation values ​​of all or some of the multiple objective functions as axes on the display device. In this way, the output unit 44 can present the trade-off relationship among the multiple evaluation values ​​to the user.

[0062] 7 is a flowchart showing the flow of processing by the computing device 20 according to the first embodiment. In the first embodiment, the computing device 20 executes processing according to the flow shown in FIG.

[0063] First, in S11, the calculation device 20 obtains a plurality of objective functions included in a multi-objective minimization problem.

[0064] Next, in S12, the calculation device 20 acquires a first external input value provided from the outside as a first hyperparameter (LoopLimit), and acquires a second external input value as a second hyperparameter (WeightLimit). More specifically, the calculation device 20 acquires an upper limit value of the number of repetitions as the first hyperparameter (LoopLimit), and acquires the number of multiple weight patterns as the second hyperparameter (WeightLimit).

[0065] Next, in S13, the computing device 20 initializes the candidate solution set (Solutions) stored in the candidate solution storage unit 32. More specifically, the computing device 20 sets the candidate solution set (Solutions) to an empty set.

[0066] Next, in S14, the calculation device 20 initializes a first variable (LoopCounter). For example, the calculation device 20 assigns 0 to the first variable (LoopCounter).

[0067] Next, in S15, the calculation device 20 determines whether the first variable (LoopCounter) is smaller than the first hyperparameter (LoopLimit). If the first variable (LoopCounter) is equal to or larger than the first hyperparameter (LoopLimit) (No in S15), the calculation device 20 advances the process to S24. If the first variable (LoopCounter) is smaller than the first hyperparameter (LoopLimit) (Yes in S15), the calculation device 20 advances the process to S16.

[0068] In S16, the calculation device 20 generates a plurality of weight patterns, and for each of the generated weight patterns, executes a prediction process to predict an increase in the Pareto hypervolume when the current candidate solution set is updated by the corresponding weight pattern. Details of the process of S16 will be described later with reference to FIG.

[0069] Next, in S17, the calculation device 20 executes a selection process to select, as a maximum weight pattern, a weight pattern that maximizes the amount of increase in the Pareto hypervolume from among the multiple weight patterns generated in S16.

[0070] Next, in S18, the computing device 20 generates a composite objective function based on the maximum weight pattern. More specifically, the computing device 20 generates a composite objective function that is a linearly weighted sum of the objective functions and the weight coefficients represented by the maximum weight pattern.

[0071] Next, in S19, the calculation device 20 provides the generated composite objective function to the solver device 22. When the composite objective function is provided, the solver device 22 calculates a plurality of solutions to the problem of minimizing the composite objective function. Next, in S20, the calculation device 20 obtains a plurality of solutions to the problem of minimizing the composite objective function calculated by the solver device 22.

[0072] In S21, the computing device 20 adds at least some of the multiple solutions to the problem of minimizing the composite objective function acquired from the solver device 22 in S20 as candidate solutions to a candidate solution set (Solutions). Then, in S22, the computing device 20 adds 1 to a first variable (LoopCounter).

[0073] Next, in S23, the computing device 20 judges whether the multiple candidate solutions included in the candidate solution set (Solutions) are sufficiently good. If the computing device 20 judges that the multiple candidate solutions included in the candidate solution set (Solutions) are sufficiently good (Yes in S23), the computing device 20 proceeds to the process of S24. If the computing device 20 does not judge that the multiple candidate solutions included in the candidate solution set (Solutions) are sufficiently good (No in S23), the computing device 20 returns the process to S15 and repeats the process from S15.

[0074] In S24, the computing device 20 selects a non-dominated solution from among a plurality of candidate solutions included in the candidate solution set (Solutions), and outputs the set including the selected non-dominated solution to an external device as an approximate Pareto solution set.

[0075] When the computing device 20 finishes the process of S24, it ends this flow.

[0076] 8 is a flowchart showing the process flow of S16 of the computing device 20 according to the first embodiment. In the prediction process of S16, the computing device 20 executes the process according to the flow shown in FIG.

[0077] First, in S31, the calculation device 20 initializes a second variable (WeightCounter). For example, the calculation device 20 assigns 0 to the second variable (WeightCounter).

[0078] Next, in S32, the calculation device 20 determines whether the second variable (WeightCounter) is smaller than the second hyperparameter (WeightLimit). If the second variable (WeightCounter) is equal to or smaller than the second hyperparameter (WeightLimit) (No in S32), the calculation device 20 ends this flow and proceeds to S17 in Fig. 7. If the second variable (WeightCounter) is smaller than the second hyperparameter (WeightLimit) (Yes in S32), the calculation device 20 proceeds to S33.

[0079] In S33, the calculation device 20 generates a weighting pattern. The calculation device 20 may select one weighting pattern from a plurality of weighting patterns different from each other that are prepared in advance. The calculation device 20 may also generate one weighting pattern based on a random number or the like.

[0080] Next, in S34, the calculation device 20 generates a function by calculating a linear weighted sum of a plurality of objective functions and a plurality of weight coefficients represented by the weight pattern generated in S33. That is, the calculation device 20 generates a function by adding together a plurality of objective functions multiplied by corresponding weight coefficients among the plurality of weight coefficients represented by the generated weight pattern.

[0081] Next, in S35, the calculation device 20 predicts an increase in the Pareto hypervolume when the candidate solution set (Solutions) is updated using the generated weight pattern. That is, the calculation device 20 predicts an increase in the Pareto hypervolume when the solution that minimizes the function generated in S33 is added to the candidate solution set (Solutions) as a new candidate solution. For example, the calculation device 20 predicts an increase in the Pareto hypervolume based on the algorithm described in Non-Patent Document 1 or a program provided by the Internet site described in Non-Patent Document 2.

[0082] Next, in S36, the calculation device 20 adds 1 to a second variable (WeightCounter).

[0083] Next, in S37, the computing device 20 determines whether the generated weight pattern is sufficiently good. For example, the computing device 20 may determine that the generated weight pattern is sufficiently good when the increase in the Pareto hyper-volume is equal to or greater than a predetermined value, or equal to or greater than a predetermined ratio with respect to the existing Pareto hyper-volume.

[0084] If it is determined that the generated weighting pattern is sufficiently good (Yes in S37), the computing device 20 ends this flow and proceeds to S17 in Fig. 7. If it is determined that the generated weighting pattern is not sufficiently good (No in S37), the computing device 20 returns the process to S32 and repeats the process from S32.

[0085] Fig. 9 is a diagram showing approximate Pareto solutions when a multi-objective optimization problem is solved by the technique of Patent Document 1. Fig. 10 is a diagram showing approximate Pareto solutions when a multi-objective optimization problem is solved by the technique of Non-Patent Document 1. Fig. 11 is a diagram showing approximate Pareto solutions when a multi-objective optimization problem is solved by the computing device 20 according to the first embodiment.

[0086] In the examples of Figures 9, 10, and 11, the same multi-objective optimization problem for minimizing two objective functions (f1(x), f2(x)) is solved. In the examples of Figures 9, 10, and 11, the calculation device 20 uses the same weight pattern and optimization solver, and the processing is performed by the same arithmetic device in the same solution-finding time.

[0087] Compared with the technology of Patent Document 1 and the technology of Non-Patent Document 1, the computing device 20 according to the first embodiment can generate an approximate Pareto solution set that includes a sufficiently large number of approximate Pareto solutions close to the Pareto front and further includes a sufficiently large number of approximate Pareto solutions so as to completely fill the Pareto front.

[0088] As described above, according to the computing system 10 according to the first embodiment, a plurality of approximate Pareto solutions for a multi-objective minimization problem can be calculated with high accuracy and with a small amount of calculation.

[0089] 12 is a diagram for explaining approximate Pareto solutions calculated by the computing device 20 according to the first embodiment when the set of feasible solutions is non-convex. In Fig. 12, the horizontal axis represents the evaluation value of the first objective function (f1(x)), and the vertical axis represents the evaluation value of the second objective function (f2(x)).

[0090] The computing device 20 according to the first embodiment calculates a plurality of convex hull solutions included in a set that approximates the convex hull of the Pareto solution set.

[0091] Therefore, when the set of feasible solutions is convex, the computing device 20 according to the first embodiment can calculate an approximate Pareto solution set that includes approximate Pareto solutions in all smooth regions on the Pareto front. However, when the set of feasible solutions is non-convex, the computing device 20 according to the first embodiment calculates an approximate Pareto solution set that does not include solutions that touch or are close to concave portions on the Pareto front, as shown in FIG.

[0092] For example, if the Pareto solution set is [x0 2 +x1 2 =1, x0≧0, x1≧0]. In this case, the calculation device 20 according to the first embodiment can calculate x=(1,0) and x=0,1 as approximate Pareto solutions. However, the calculation device 20 according to the first embodiment cannot calculate x=(1 / √2, 1 / √2) as an approximate Pareto solution.

[0093] Second embodiment Next, a description will be given of the computing system 10 according to the second embodiment. The computing system 10 according to the second embodiment has substantially the same functions and configurations as the computing system 10 according to the first embodiment, so that the components having substantially the same functions and configurations are given the same reference numerals, and detailed descriptions thereof will be omitted except for the differences.

[0094] FIG. 13 is a diagram showing the configuration of a calculation device 20 according to the second embodiment.

[0095] In the calculation device 20 according to the second embodiment, the function acquisition unit 34 acquires constraint conditions along with a plurality of objective functions. The constraint conditions are expressed by constraint expressions such as equalities or inequalities including a plurality of decision variables included in the plurality of objective functions. Then, the function acquisition unit 34 provides the acquired constraint conditions to the update unit 40.

[0096] The update unit 40 adds a solution that satisfies the constraint conditions, among the multiple solutions obtained from the solver device 22, to a candidate solution set stored in the candidate solution storage unit 32 as a candidate solution. For example, the update unit 40 may determine whether each of the multiple solutions obtained from the solver device 22 satisfies the constraint conditions and select a solution that satisfies the constraint conditions. The update unit 40 may also generate a penalty function whose value becomes smaller when the constraint conditions are satisfied, and provide the solver device 22 with a composite objective function to which the penalty function has been added. This allows the solver device 22 to output multiple solutions that satisfy the constraint conditions with a high probability.

[0097] The solver device 22 may receive the constraint conditions and the function, and output a plurality of solutions that satisfy the constraint conditions. In this case, the update unit 40 provides the constraint conditions together with the composite objective function to the solver device 22, obtains a plurality of solutions that satisfy the constraint conditions from the solver device 22, and adds at least some of the obtained solutions to a candidate solution set as candidate solutions.

[0098] As described above, the calculation system 10 according to the second embodiment can accurately calculate a plurality of approximate Pareto solutions for a multi-objective minimization problem including constraint conditions with a small amount of calculation.

[0099] Third embodiment Next, a calculation system 10 according to a third embodiment will be described. The calculation system 10 according to the third embodiment has substantially the same functions and configurations as the calculation system 10 according to the first embodiment, so that the components having substantially the same functions and configurations are given the same reference numerals, and detailed descriptions thereof will be omitted except for the differences.

[0100] FIG. 14 is a diagram showing the configuration of a calculation device 20 according to the third embodiment.

[0101] Compared to the calculation device 20 according to the first embodiment shown in FIG. 6, the calculation device 20 according to the third embodiment further includes a convex hull acquisition unit 54, a maximum value acquisition unit 56, a minimum value acquisition unit 58, and a function modification unit 60.

[0102] The convex hull acquisition unit 54 acquires a plurality of convex hull solutions included in a set that approximates the convex hull of a Pareto solution set in a multi-objective minimization problem. For example, the convex hull acquisition unit 54 acquires an approximate Pareto solution set in a multi-objective minimization problem calculated by the computing device 20 according to the first embodiment as a plurality of convex hull solutions.

[0103] The maximum value obtaining unit 56 obtains the multiple objective functions obtained by the function obtaining unit 34 and the multiple convex hull solutions obtained by the convex hull obtaining unit 54. For each of the multiple objective functions, the maximum value obtaining unit 56 obtains the maximum value among the values ​​obtained by substituting each of the multiple convex hull solutions into the corresponding objective function.

[0104] The minimum value acquisition unit 58 acquires the multiple objective functions acquired by the function acquisition unit 34 and the multiple convex hull solutions acquired by the convex hull acquisition unit 54. For each of the multiple objective functions, the minimum value acquisition unit 58 acquires the minimum value among the values ​​obtained by substituting each of the multiple convex hull solutions into the corresponding objective function.

[0105] The function modification unit 60 obtains the multiple objective functions obtained by the function acquisition unit 34, the maximum value for each of the multiple objective functions obtained by the maximum value acquisition unit 56, and the minimum value for each of the multiple objective functions obtained by the minimum value acquisition unit 58.

[0106] The function modification unit 60 is preset with a first multiplier, which is a real number greater than 1. Then, the function modification unit 60 modifies each of the multiple objective functions. More specifically, the function modification unit 60 multiplies the corresponding objective function by a coefficient and translates it so that the corresponding objective function becomes 0 when a solution that obtains a minimum value is substituted for each of the multiple objective functions, and becomes 1 when a solution that obtains a maximum value is substituted for each of the multiple objective functions. Furthermore, the function modification unit 60 modifies the corresponding objective function by raising the function that has been multiplied by the coefficient and translated to the power of the first multiplier for each of the multiple objective functions. In this way, the function modification unit 60 can modify each of the multiple objective functions in a direction that makes a concave portion of the Pareto front convex.

[0107] The first multiplier may be any value as long as it is a real number greater than 1. However, the first multiplier must be a value that allows the composite objective function generated by the update unit 40 to be solved by the solver device 22.

[0108] The function modification unit 60 provides each of the modified objective functions to the prediction unit 36. In the third embodiment, the iterative control unit 42 performs iterative control to repeat the prediction process in the prediction unit 36, the selection process in the selection unit 38, and the update process in the update unit 40, using the modified objective functions. Note that the convex hull acquisition unit 54 may include, prior to the iterative control, a plurality of convex hull solutions included in a set approximating the convex hull of the acquired Pareto solution set, in the candidate solution set stored in the candidate solution storage unit 32.

[0109] 15 is a flowchart showing the flow of processing by the computing device 20 according to the third embodiment. In the third embodiment, the computing device 20 executes processing according to the flow shown in FIG.

[0110] In the third embodiment, the computing device 20 differs from the flowchart shown in Fig. 7 in that it executes a correction process of the objective function in S41 between S11 and S12. That is, in the third embodiment, the computing device 20 first acquires a plurality of objective functions in S11, and then corrects each of the plurality of objective functions in S41. Details of the process of S41 will be described later with reference to Fig. 16. Then, in the third embodiment, following S41, the computing device 20 executes the processes from S13 to S24 in the same manner as in the first embodiment.

[0111] 16 is a flowchart showing the process flow of S41 in the computing device 20 according to the third embodiment. In the third embodiment, the computing device 20 executes the process in S41 of FIG. 15 according to the flow shown in FIG.

[0112] First, in S51, the calculation device 20 acquires a third external input value given from the outside as the number of objective functions (FunctionsNumber). Note that the calculation device 20 may count the objective functions acquired in S11 to calculate the number of objective functions (FunctionsNumber).

[0113] Next, in S52, the computing device 20 obtains closures that approximate the convex hull of the Pareto solution sets in the multi-objective minimization problem to be solved.

[0114] Next, in S53, the calculation device 20 acquires the fourth external input value given from the outside as a first multiplier (Power). Note that the first multiplier (Power) is a real number greater than 1.

[0115] Next, in S54, the calculation device 20 initializes a third variable (FunctionsCounter). For example, the calculation device 20 assigns 0 to the third variable (FunctionsCounter).

[0116] Next, in S55, the calculation device 20 determines whether the third variable (FunctionsCounter) is smaller than the number of objective functions (FunctionsNumber). If the third variable (FunctionsCounter) is equal to or greater than the number of objective functions (FunctionsNumber) (No in S55), the calculation device 20 ends this flow and proceeds to S12 in Fig. 15. If the third variable (FunctionsCounter) is smaller than the number of objective functions (FunctionsNumber) (Yes in S55), the calculation device 20 proceeds to S56.

[0117] In S56, the calculation device 20 calculates the maximum value (Emax) for the target objective function identified by the third variable (FunctionsCounter) among the multiple objective functions. For example, the calculation device 20 calculates the maximum value based on Equation (5).

[0118] Emax=max[ObjectiveFunctions(FunctionsCounter) in Closures]…(5)

[0119] ObjectiveFunctions(FunctionsCounter) represents one of the objective functions identified by the third variable (FunctionsCounter). In formula (5), max[] represents a function that selects the maximum value from among the values ​​obtained by substituting the multiple solutions included in the set (Closures) that approximates the convex hull into the objective function.

[0120] Next, in S57, the calculation device 20 calculates the minimum value (Emin) for the target objective function identified by the third variable (FunctionsCounter) among the multiple objective functions. For example, the calculation device 20 calculates the minimum value based on Equation (6).

[0121] Emin=min[ObjectiveFunctions(FunctionsCounter) in Closures]…(6)

[0122] In addition, in the formula (6), min[] represents a function that selects the minimum value from among the values ​​obtained by substituting multiple solutions contained in a set (Closures) that approximates a convex hull into the objective function.

[0123] Next, in S58, the calculation device 20 corrects the target objective function specified by the third variable (FunctionsCounter) among the multiple objective functions. More specifically, the calculation device 20 corrects the target objective function by multiplying the target objective function by a coefficient, translating it, and raising it to the power of a first multiplier (Power) so that the target objective function becomes 0 when a solution that obtains a minimum value (Emin) is substituted, and becomes 1 when a solution that obtains a maximum value (Emax) is substituted.

[0124] For example, the computing device 20 modifies the target objective function based on equation (7).

[0125] ObjectiveFunctions(FunctionsCounter)= [{ObjectiveFunctions(FunctionsCounter) - Emin} / (Emax - Emin)]^Power …(7)

[0126] In addition, in equation (7), A^B represents A to the Bth power.

[0127] Next, in S59, the calculation device 20 adds 1 to the third variable (FunctionsCounter). After completing the process of S58, the calculation device 20 returns the process to S55 and repeats the process from S55.

[0128] Fig. 17 is a diagram showing an approximate Pareto solution set calculated by the computing device 20 according to the third embodiment when the set of feasible solutions is non-convex. In Fig. 17, the horizontal axis represents the evaluation value of the first objective function (f1(x)), and the vertical axis represents the evaluation value of the second objective function (f2(x)).

[0129] A computing device 20 according to the third embodiment modifies a plurality of objective functions, thereby modifying concave portions of the Pareto front in a multi-objective minimization problem to be convex, as shown in Fig. 17. Since each of the modified objective functions is powered by a value greater than 1 after being modified so that the minimum value is 0 and the maximum value is 1, the magnitude relationship is not inverted, and there is no change in the feasible solution. Then, the Pareto front changes to a convex direction due to the powering of each of the modified objective functions by a value greater than 1.

[0130] Therefore, the computing system 10 according to the third embodiment calculates a solution that minimizes the multiple objective functions after modification using a process similar to that of the computing device 20 according to the first embodiment, and can calculate an approximate Pareto solution set including approximate Pareto solutions in concave portions of the Pareto front even when the set of feasible solutions to the multi-objective minimization problem is non-convex.

[0131] (Fourth embodiment) Next, a calculation system 10 according to a fourth embodiment will be described. The calculation system 10 according to the fourth embodiment has substantially the same functions and configurations as the calculation system 10 according to the third embodiment, so that the components having substantially the same functions and configurations are given the same reference numerals, and detailed descriptions thereof will be omitted except for the differences.

[0132] FIG. 18 is a diagram showing the configuration of a calculation device 20 according to the fourth embodiment.

[0133] In the calculation device 20 according to the fourth embodiment, the function acquisition unit 34 acquires constraint conditions together with a plurality of objective functions. The function acquisition unit 34 provides the acquired constraint conditions to the maximum value acquisition unit 56, the minimum value acquisition unit 58, and the update unit 40.

[0134] The maximum value acquiring unit 56 acquires the maximum value for each of the multiple objective functions on condition that the constraint conditions are satisfied, similarly to the third embodiment. That is, the maximum value acquiring unit 56 does not acquire, as the maximum value, a value obtained by substituting a solution that does not satisfy the constraint conditions among the multiple convex closed hull solutions into the corresponding objective function.

[0135] The minimum value acquiring unit 58 acquires the minimum value for each of the multiple objective functions on condition that the constraint conditions are satisfied, similarly to the third embodiment. That is, the maximum value acquiring unit 56 does not acquire, as the minimum value, a value obtained by substituting a solution that does not satisfy the constraint conditions among the multiple convex closed hull solutions into the corresponding objective function.

[0136] As in the second embodiment, the update unit 40 adds a solution that satisfies the constraint condition, among the multiple solutions acquired from the solver device 22, to the candidate solution set stored in the candidate solution storage unit 32 as a candidate solution.

[0137] As described above, the computing system 10 according to the third embodiment can calculate an approximate Pareto solution set including approximate Pareto solutions in a concave portion of the Pareto front for a multi-objective minimization problem that includes constraints, even if the set of feasible solutions to the multi-objective minimization problem is non-convex.

[0138] (Hardware configuration) Fig. 19 is a hardware block diagram of the calculation device 20. The calculation device 20 is realized, for example, by a hardware configuration similar to that of a general computer (information processing device) as shown in Fig. 19. The calculation device 20 may be realized by one computer or server as shown in Fig. 19, or may be realized by multiple computers or servers operating in cooperation. Furthermore, the calculation device 20 may be configured to include a dedicated hardware circuit in a portion thereof.

[0139] The computing device 20 includes a memory 204, one or more hardware processors 206, a storage device 208, an operation device 210, a display device 212, and a communication device 214. Each of the components is connected via a bus.

[0140] The memory 204 includes, for example, a ROM 222 and a RAM 224. The ROM 222 stores programs used to control the computing device 20 and various setting information in a non-rewritable manner. The RAM 224 is a volatile storage medium such as a Synchronous Dynamic Random Access Memory (SDRAM). The RAM 224 functions as a working area for one or more hardware processors 206.

[0141] The one or more hardware processors 206 are connected to the memory 204 (the ROM 222 and the RAM 224) via a bus. Each of the one or more hardware processors 206 may be, for example, a CPU (Central Processing Unit) or a hardware circuit for calculation.

[0142] The one or more hardware processors 206 execute various processes in cooperation with various programs stored in advance in the ROM 222 or the storage device 208, using a predetermined area of ​​the RAM 224 as a working area, and comprehensively control the operation of each unit constituting the computing device 20. In addition, the one or more hardware processors 206 control the operation device 210, the display device 212, the communication device 214, etc. in cooperation with the programs stored in advance in the ROM 222 or the storage device 208.

[0143] The storage device 208 is a rewritable storage device such as a semiconductor storage medium such as a flash memory, a magnetically or optically recordable storage medium, etc. The storage device 208 stores programs used to control the computing device 20, various setting information, etc.

[0144] The operation device 210 is an input device such as a mouse, a keyboard, etc. The operation device 210 receives information input by a user, and outputs the received information to one or more hardware processors 206.

[0145] The display device 212 displays information to a user. The display device 212 receives information, etc. from one or more hardware processors 206 and displays the received information. Note that, when outputting information to the communication device 214 or the storage device 208, etc., the computing device 20 does not need to include the display device 212. The communication device 214 communicates with external devices and transmits and receives information via a network, etc.

[0146] The program executed by the computing device 20 of this embodiment is provided as a file in an installable or executable format recorded on a computer-readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, or a DVD (Digital Versatile Disk).

[0147] The program executed by the computing device 20 of this embodiment may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. The program executed by the computing device 20 of this embodiment may be provided or distributed via a network such as the Internet. The program executed by the computing device 20 of this embodiment may be provided by being pre-installed in a ROM or the like.

[0148] The program for making the information processing device function as the calculation device 20 has a module configuration including, for example, a prediction module, a selection module, an update module, an iteration control module, and an output module. The program may further include a convex hull acquisition module, a maximum value acquisition module, a minimum value acquisition module, and a function correction module. This program is executed by one or more hardware processors 206, and each module is loaded into the RAM 224 of the memory 204, causing the one or more hardware processors 206 to function as the function acquisition unit 34, the prediction unit 36, the selection unit 38, the update unit 40, the iteration control unit 42, and the output unit 44. This program may further cause the one or more hardware processors 206 to function as the convex hull acquisition unit 54, the maximum value acquisition unit 56, the minimum value acquisition unit 58, and the function correction unit 60. In addition, this program causes the memory 204 and the storage device 208 to function as the candidate solution storage unit 32. Note that these configurations may be partially or entirely configured by hardware.

[0149] The computing device 20 may also be realized by a reconfigurable semiconductor device such as a field-programmable gate array (FPGA). The computing device 20 may also be realized by a CPU, a microprocessor, a graphics processing unit (GPU), an application specific integrated circuit (ASIC), or an electronic circuit including these circuits. The computing device 20 may also be realized by an information processing device such as a computer, a computer system in which multiple computers or servers communicate with each other via a network, or a PC cluster in which multiple computers work together to execute information processing.

[0150] Furthermore, when the computing device 20 is realized by a reconfigurable semiconductor device such as an FPGA, the circuit information (configuration data) to be written into the reconfigurable semiconductor device to operate the reconfigurable semiconductor device as the computing device 20 may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Furthermore, the circuit information (configuration data) to be written into the reconfigurable semiconductor device to operate the reconfigurable semiconductor device as the computing device 20 may be provided by being recorded on a computer-readable recording medium.

[0151] Furthermore, when the computing device 20 is realized by a semiconductor device such as an ASIC, the circuit information representing the configuration of the circuit described in a hardware description language may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network in order to operate the semiconductor device such as an ASIC as the computing device 20. Furthermore, in order to operate the semiconductor device such as an ASIC as the computing device 20, the circuit information representing the configuration of the circuit described in a hardware description language may be provided by being recorded on a computer-readable recording medium.

[0152] Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and spirit of the invention, and are included in the scope of the invention and its equivalents described in the claims. [Explanation of symbols]

[0153] 10. Computing Systems 20 Computing equipment 22 Solver Device 32 Candidate solution storage section 34 Function Acquisition Section 36 Prediction Department 38 Selection section 40 Update section 42 Repeat control section 44 Output section 54 Convex hull acquisition part 56 Maximum value acquisition section 58 Minimum value acquisition section 60 Function Modification Section

Claims

1. A computing device for calculating an approximate Pareto solution set including approximate Pareto solutions that are approximate to Pareto solutions in a multi-objective minimization problem for minimizing a plurality of objective functions, comprising: A function acquisition unit that acquires the plurality of objective functions; a prediction unit that executes a prediction process for predicting an increase in a Pareto hypervolume, which is a hypervolume of a poor solution region, when updating a candidate solution set including a candidate solution that is a candidate for the approximate Pareto solution, using a corresponding weight pattern for each of a plurality of weight patterns representing a plurality of weight coefficients that correspond one-to-one to the plurality of objective functions; a selection unit that executes a selection process to select, from the plurality of weight patterns, a weight pattern in which the amount of increase is maximum, as a maximum weight pattern; an update unit that executes an update process to update the candidate solution set by acquiring a plurality of solutions to a problem of minimizing a composite objective function, which is a linear weighted sum of the plurality of objective functions and the plurality of weight coefficients represented by the maximum weight pattern, from a solver device, and adding at least a part of the acquired solutions to the candidate solution set as the candidate solutions; a repeat control unit that performs repeat control for repeating the prediction process, the selection process, and the update process; an output unit that selects a non-dominated solution from among the candidate solutions included in the candidate solution set after the iterative control is completed, and outputs a set including the selected non-dominated solution as the approximate Pareto solution set; A computing device comprising:

2. The inferior solution region is a region of feasible solutions that satisfy all of the plurality of objective functions, in which the candidate solutions included in the candidate solution set are not selected as the non-dominated solutions. The computing device of claim 1 .

3. The update unit adds a predetermined number of solutions, among the acquired solutions, whose values ​​of the composite objective function are equal to or smaller than a predetermined reference value or whose values ​​of the composite objective function are small, as the candidate solutions to the candidate solution set. The computing device of claim 1 .

4. The composite objective function is a function obtained by adding together the objective functions each multiplied by a corresponding one of the weight coefficients. The computing device of claim 1 .

5. The prediction unit predicts the increase in the Pareto hypervolume when a solution that minimizes a function obtained by adding the objective functions multiplied by the weight coefficients represented by the corresponding weight patterns is added to the candidate solution set as the candidate solution. The computing device of claim 1 .

6. The function acquisition unit further acquires a constraint condition, The update unit adds a solution that satisfies the constraint condition from among the plurality of solutions to the candidate solution set as the candidate solution. The computing device of claim 1 .

7. a convex hull acquisition unit for acquiring a plurality of convex hull solutions included in a set that approximates a convex hull of a Pareto solution set in the multi-objective minimization problem; a maximum value acquisition unit that acquires a maximum value among values ​​obtained by substituting each of the plurality of convex closed hull solutions into a corresponding objective function for each of the plurality of objective functions; a minimum value acquisition unit that acquires a minimum value among values ​​obtained by substituting each of the plurality of convex closed hull solutions into a corresponding objective function for each of the plurality of objective functions; a function modification unit that modifies each of the plurality of objective functions by multiplying each of the plurality of objective functions by a coefficient, translating each of the plurality of objective functions, and further exponentiating each of the plurality of objective functions by a first multiplier greater than 1, so that each of the plurality of objective functions becomes 0 when a solution that provides the minimum value is substituted therein and becomes 1 when a solution that provides the maximum value is substituted therein; Further equipped with The repetition control unit performs the repetition control for repeating the prediction process, the selection process, and the update process by using the modified objective functions. The computing device of claim 1 .

8. The iterative control unit includes the plurality of convex closed hull solutions in the candidate solution set prior to the iterative control.

8. The computing device of claim 7.

9. The function acquisition unit further acquires a constraint condition, The update unit adds a solution that satisfies the constraint condition as the candidate solution to the candidate solution set among the plurality of solutions.

8. The computing device of claim 7.

10. A calculation method for calculating an approximate Pareto solution set including approximate Pareto solutions that are approximate to Pareto solutions in a multi-objective minimization problem for minimizing multiple objective functions by an information processing device, comprising: The information processing device acquires the plurality of objective functions, a prediction process for predicting an increase in a Pareto hypervolume, which is a hypervolume of a poor solution region, when the information processing device updates a candidate solution set including a candidate solution that is a candidate for the approximate Pareto solution, using a corresponding weight pattern for each of a plurality of weight patterns representing a plurality of weight coefficients that correspond one-to-one to the plurality of objective functions; the information processing device executes a selection process of selecting, as a maximum weight pattern, a weight pattern in which the amount of increase is maximum from among the plurality of weight patterns; the information processing device acquires from a solver device a plurality of solutions to a problem of minimizing a composite objective function, which is a linear weighted sum of the plurality of objective functions and the plurality of weight coefficients represented by the maximum weight pattern, and executes an update process of updating the candidate solution set by adding at least a part of the acquired plurality of solutions as the candidate solutions to the candidate solution set; a repeat control unit that performs repeat control for repeating the prediction process, the selection process, and the update process; After the iterative control is completed, the information processing device selects a non-dominated solution from among the candidate solutions included in the candidate solution set, and outputs a set including the selected non-dominated solution as the approximate Pareto solution set. Calculation method.

11. A program for causing an information processing device to function as a calculation device for calculating an approximate Pareto solution set including approximate Pareto solutions that are approximate to Pareto solutions in a multi-objective minimization problem for minimizing a plurality of objective functions, the program comprising: The information processing device, A function acquisition unit that acquires the plurality of objective functions; a prediction unit that executes a prediction process for predicting an increase in a Pareto hypervolume, which is a hypervolume of a poor solution region, when updating a candidate solution set including a candidate solution that is a candidate for the approximate Pareto solution, using a corresponding weight pattern for each of a plurality of weight patterns representing a plurality of weight coefficients that correspond one-to-one to the plurality of objective functions; a selection unit that executes a selection process to select, from the plurality of weight patterns, a weight pattern in which the amount of increase is maximum, as a maximum weight pattern; an update unit that executes an update process to update the candidate solution set by acquiring a plurality of solutions to a problem of minimizing a composite objective function, which is a linear weighted sum of the plurality of objective functions and the plurality of weight coefficients represented by the maximum weight pattern, from a solver device, and adding at least a part of the acquired solutions to the candidate solution set as the candidate solutions; a repeat control unit that performs repeat control for repeating the prediction process, the selection process, and the update process; an output unit that selects a non-dominated solution from among the candidate solutions included in the candidate solution set after the iterative control is completed, and outputs a set including the selected non-dominated solution as the approximate Pareto solution set; A program that makes it work.

12. Circuit information describing a configuration of a circuit, the circuit information being written in a hardware description language, The circuit is caused to function as a calculation device that calculates an approximate Pareto solution set including approximate Pareto solutions that are approximate to Pareto solutions in a multi-objective minimization problem that minimizes a plurality of objective functions; The computing device comprises: A function acquisition unit that acquires the plurality of objective functions; a prediction unit that executes a prediction process for predicting an increase in a Pareto hypervolume, which is a hypervolume of a poor solution region, when updating a candidate solution set including a candidate solution that is a candidate for the approximate Pareto solution, using a corresponding weight pattern for each of a plurality of weight patterns representing a plurality of weight coefficients that correspond one-to-one to the plurality of objective functions; a selection unit that executes a selection process to select, from the plurality of weight patterns, a weight pattern in which the amount of increase is maximum, as a maximum weight pattern; an update unit that executes an update process to update the candidate solution set by acquiring a plurality of solutions to a problem of minimizing a composite objective function, which is a linear weighted sum of the plurality of objective functions and the plurality of weight coefficients represented by the maximum weight pattern, from a solver device, and adding at least a part of the acquired solutions to the candidate solution set as the candidate solutions; a repeat control unit that performs repeat control for repeating the prediction process, the selection process, and the update process; an output unit that selects a non-dominated solution from among the candidate solutions included in the candidate solution set after the iterative control is completed, and outputs a set including the selected non-dominated solution as the approximate Pareto solution set; Circuit information comprising:

13. Circuit information to be written into a reconfigurable semiconductor device in order to operate the reconfigurable semiconductor device, causing the reconfigurable semiconductor device to function as a computing device that calculates an approximate Pareto solution set including approximate Pareto solutions that are approximate to Pareto solutions in a multi-objective minimization problem for minimizing a plurality of objective functions; The computing device comprises: A function acquisition unit that acquires the plurality of objective functions; a prediction unit that executes a prediction process for predicting an increase in a Pareto hypervolume, which is a hypervolume of a poor solution region, when updating a candidate solution set including a candidate solution that is a candidate for the approximate Pareto solution, using a corresponding weight pattern for each of a plurality of weight patterns representing a plurality of weight coefficients that correspond one-to-one to the plurality of objective functions; a selection unit that executes a selection process to select, from the plurality of weight patterns, a weight pattern in which the amount of increase is maximum, as a maximum weight pattern; an update unit that executes an update process to update the candidate solution set by acquiring a plurality of solutions to a problem of minimizing a composite objective function, which is a linear weighted sum of the plurality of objective functions and the plurality of weight coefficients represented by the maximum weight pattern, from a solver device, and adding at least a part of the acquired solutions to the candidate solution set as the candidate solutions; a repeat control unit that performs repeat control for repeating the prediction process, the selection process, and the update process; an output unit that selects a non-dominated solution from among the candidate solutions included in the candidate solution set after the iterative control is completed, and outputs a set including the selected non-dominated solution as the approximate Pareto solution set; Circuit information comprising:

Citation Information

Patent Citations

  • Optimization device, optimization method, and optimization program

    JP2022118555A

  • Calculation device, calculation method, and program

    JP2021043589A

  • Information processing device, program, information processing method, and electronic circuit

    JP2021043667A

Cited By

  • Production planning system and production planning method

    WO2026172639A1