Information processing device, information processing method, and information processing program

JP7635649B2Active Publication Date: 2025-02-26FUJITSU LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2021100482
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-06-16
Publication Date
2025-02-26
Estimated Expiration
2041-06-16

AI Technical Summary

Benefits of technology

【0030】 多目的最適化問題において効率的に最適解を得ることができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007635649000001
    Figure 0007635649000001
  • Figure 0007635649000002
    Figure 0007635649000002
  • Figure 0007635649000003
    Figure 0007635649000003
Patent Text Reader

Abstract

To efficiently obtain an optimal solution in a multi-objective optimization problem.SOLUTION: An information processing device generates, for objective functions including a plurality of elemental objective functions, a first objective function, a second objective function, and a third objective function in which weighting factor values to be multiplied by each of the plurality of elemental objective functions are set to be different from each other. The information processing device calculates respective values for the first objective function, the second objective function, and the third objective function to search for a solution. The information processing device compares a first difference between the weighting factor value of the first objective function and the weighting factor value of the second objective function with a second difference between the weighting factor value of the first objective function and the weighting factor value of the second objective function. When the first difference is smaller than the second difference, the information processing device exchanges the solution searched based on the first objective function for the solution searched based on the second objective function, and further performs the search.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing device and the like. [Background technology]

[0002] As a method for solving multi-objective optimization that simultaneously evaluates two objective functions P(x) and Q(x), a method for solving a single-objective optimization problem by making the objective function in the form of equation (1) is known. α and β in equation (1) are weighting coefficients.

[0003] F(x) = αP(x) + βQ(x) (1)

[0004] In the following explanation, objective function P(x) will be written as P and objective function Q(x) as Q where appropriate. P and Q may also be called element objective functions. When element objective functions P and Q have a trade-off relationship, in other words, when P is reduced, Q increases, the balance between P and Q can be changed by changing the weighting coefficients α and β. For example, when α in formula (1) is increased, a force acts to reduce the value of P more than the value of Q.

[0005] In order to obtain multiple optimal solutions with different trade-off balances, multiple objective functions F with different weighting coefficients α and β are prepared, and the optimal solution is calculated for each. The results obtained by inputting these optimal solutions into the objective function are the Pareto solutions. By calculating more types of Pareto solutions and visualizing the distribution of the Pareto solutions, designers can obtain a lot of information.

[0006] FIG. 10 is a diagram showing an example of a Pareto solution. The horizontal axis of FIG. 10 corresponds to the value of the objective function Q, and the vertical axis corresponds to the value of the objective function P. For example, a Pareto solution 10a corresponds to the optimal solution of the objective function F where the relationship between α and β is "α / β=10". Pareto solutions 10b to 10g correspond to the optimal solutions of the objective function F where the relationships between α and β are "α / β=5", "α / β=2", "α / β=1", "α / β=0.5", "α / β=0.2", and "α / β=0.1", respectively. Each arrow indicates the direction of searching for the optimal solution of the objective function F.

[0007] Fig. 11 is an image diagram of optimization calculations for multiple objective functions F with different weighting coefficients α and β. As shown in Fig. 11, the optimal solution x of the objective function F changes depending on the weighting coefficients α and β. Also, there may be many local solutions in addition to the optimal solution. When there are many local solutions, the challenge is to escape from the local solutions and reach the optimal solution.

[0008] In Fig. 11, the vertical axis of graph G1 corresponds to the value of objective function F1, and the horizontal axis corresponds to solution x. The weighting coefficients of objective function F1 are α1 and β1, and "α1=2, β1=1." As shown in graph G1, the optimal solution of objective function F1 is x1. The square marks in graph G1 indicate local solutions.

[0009] The vertical axis of graph G2 corresponds to the value of objective function F2, and the horizontal axis corresponds to the solution x. The weighting coefficients of objective function F2 are α2 and β2, so that α2=1, β2=1. As shown in graph G2, the optimal solution of objective function F2 is x2. The square marks in graph G2 indicate local solutions.

[0010] The vertical axis of graph G3 corresponds to the value of objective function F3, and the horizontal axis corresponds to the solution x. The weighting coefficients of objective function F3 are α3 and β3, with α3=1 and β3=2. As shown in graph G3, the optimal solution of objective function F3 is x3. The square marks in graph G3 indicate local solutions.

[0011] Comparing graphs G1 to G3, when α is large, the optimal solution is shifted to the left, and when β is large, the optimal solution is shifted to the right. Also, during the search for the optimal solution, the system often falls into a local solution.

[0012] Here, in order to escape from a local solution and to possibly create an initial solution that is effective for other objective functions, there is a conventional technique in which optimization calculations for multiple objective functions are performed in parallel and the optimal solutions are exchanged. By storing multiple minimum solutions, it is possible to create a variety of solutions. In addition, the objective function may be set so that the solution in which the objective function value is maximized is the optimal solution. For example, if the sign on the right-hand side of the above formula (1) is set to minus (-), an objective function that searches for the maximum solution is obtained.

[0013] Fig. 12 is a flowchart showing the processing procedure of the optimization calculation of the objective function in the conventional technology. Fig. 12 shows the processing procedure of the optimization calculation of the objective function F1, but the optimization calculation of the other objective functions is also executed in parallel by a similar procedure. Here, the other objective functions are objective functions F2 and F3. For convenience, the optimization calculation of the objective function F1 is referred to as the first optimization calculation. The optimization calculation of the objective function F2 is referred to as the second optimization calculation. The optimization calculation of the objective function F3 is referred to as the third optimization calculation.

[0014] As shown in FIG. 12, in the conventional technology, in the first optimization calculation, the initial solution x i1 (Step S11), and execute a search calculation for an optimal solution of the objective function F1 (Step S12). In the conventional technology, the minimum value f1 and the minimum solution x o1 is output and used in the second optimization calculation, the second optimization calculation (step S13).

[0015] In the conventional technology, the other minimal solutions (x o2 , x o3 ) and calculates the objective function F1 (step S14). In the conventional technology, if the process is to be continued (step S15, Yes), the process proceeds to step S16.

[0016] In the conventional technology, the smallest value including the minimum value f1 is set as f m1 Then, the solution is the initial solution x i1 (step S16), and the process proceeds to step S11. For example, in step S16, the minimum solution x o2 The input value, F1, is the minimum solution x of the third optimization calculation. o3 The smallest value among the input values ​​and the minimum value f1 is f m1 Let us assume that.

[0017] On the other hand, in the conventional technology, when the process is not continued (step S15, No), the minimum value f 1m , minimum solution x i1 The N smallest minimum values ​​are stored in the storage unit (step S17).

[0018] Although not shown in the figures, in the second optimization calculation, objective function F2 is used to execute the optimization calculation corresponding to Fig. 12. In the third optimization calculation, objective function F3 is used to execute the optimization calculation corresponding to Fig. 12. As described above, in the conventional technology, optimization calculations of a plurality of objective functions are executed in parallel, and various optimal solutions are created by exchanging optimal solutions. [Prior art documents] [Patent documents]

[0019] [Patent Document 1] JP 2009-181195 A [Patent Document 2] U.S. Patent No. 8,645,293 Summary of the Invention [Problem to be solved by the invention]

[0020] However, the above-mentioned conventional techniques have a problem in that they are unable to efficiently obtain optimal solutions to multi-objective optimization problems.

[0021] In conventional techniques, if an optimal solution or a local solution with a very small minimum value exists among multiple objective functions, when the optimal solution is exchanged, the objective function cannot escape from the optimal solution or local solution, and an optimal solution cannot be created efficiently.

[0022] 13 is a diagram for explaining the problems of the conventional technology. The explanation of the vertical and horizontal axes of the graphs G1 to G3 is the same as the explanation of the vertical and horizontal axes of the graphs G1 to G3 explained in FIG.

[0023] For example, in the first optimization calculation, the initial solution x i1 Enter the following to perform a search for the optimal solution of the objective function F1, and find the optimal solution x 11 In the second optimization calculation, the initial solution x i2 Enter the following to perform a search for the optimal solution of the objective function F2, and find the optimal solution x 21 In the third optimization run, we obtain the initial solution x i3 Enter the following to perform a search for the optimal solution of the objective function F3, and find the optimal solution x 31 get.

[0024] In the first optimization calculation, the optimal solution x is exchanged, which is the search result of the second optimization calculation and the third optimization calculation. 21 , x 31 In the first optimization calculation, F1(x 11 ), F1(x 21 ), F1(x 31 ) respectively. In the example shown in graph G1, F1(x 31 ) is the smallest value, so x 31 is adopted as the initial solution, and the search calculation is performed again.

[0025] In the second optimization calculation, the optimal solution x is obtained by exchanging the optimal solutions, which is the search result of the first optimization calculation and the third optimization calculation. 11 , x 31 In the second optimization calculation, F2(x 11 ), F2(x 21 ), F2(x 31 ) respectively. In the example shown in graph G2, F2(x 21) is the smallest value, so x 21 is adopted as the initial solution, and the search calculation is performed again.

[0026] In the third optimization calculation, the optimal solution x is obtained by exchanging the optimal solutions, which is the search result of the first optimization calculation and the second optimization calculation. 11 , x 21 In the third optimization calculation, F3(x 11 ), F3(x 21 ), F3(x 31 ) respectively. In the example shown in graph G3, F3(x 31 ) is the smallest value, so x 31 is adopted as the initial solution, and the search calculation is performed again.

[0027] Here, if we focus on the first optimization calculation, in the process of repeating the above process, if the search results of the second and third optimization calculations are used to find the optimal solution, the optimal solution that minimizes the objective function F1 is always x 31 Therefore, the initial solution is x 31 In this way, the initial solution is always x 31 If we go back to the optimal solution x op1 It becomes difficult to reach.

[0028] In one aspect, the present invention aims to provide an information processing device, an information processing method, and an information processing program capable of efficiently obtaining an optimal solution to a multi-objective optimization problem. [Means for solving the problem]

[0029] In a first proposal, an information processing device generates a first objective function, a second objective function, and a third objective function by making the values ​​of weighting coefficients multiplied by each of the plurality of component objective functions different from each other for an objective function including a plurality of component objective functions. The information processing device calculates the values ​​of the first objective function, the second objective function, and the third objective function, respectively, and executes a solution search. The information processing device compares a first difference between the value of the weighting coefficient of the first objective function and the value of the weighting coefficient of the second objective function with a second difference between the value of the weighting coefficient of the first objective function and the value of the weighting coefficient of the second objective function. If the first difference is smaller than the second difference, the information processing device exchanges the solution searched based on the first objective function with the solution searched based on the second objective function, and further executes the search. Effect of the Invention

[0030] It is possible to efficiently obtain optimal solutions to multi-objective optimization problems. [Brief description of the drawings]

[0031] [Figure 1] FIG. 1 is a diagram for explaining the process of the information processing device according to the first embodiment. [Diagram 2] FIG. 2 is a functional block diagram of the information processing device according to the first embodiment. [Diagram 3] FIG. 3 is a diagram illustrating an example of a data structure of the weighting coefficient table. [Figure 4] FIG. 4 illustrates an example of a data structure of the shared buffer. [Diagram 5] FIG. 5 is a flowchart of a processing procedure of the calculation unit according to the first embodiment. [Figure 6] FIG. 6 is a flowchart of the optimization calculation process according to the first embodiment. [Figure 7] FIG. 7 is a functional block diagram of an information processing device according to the second embodiment. [Figure 8] FIG. 8 is a flowchart of the optimization calculation process according to the second embodiment. [Figure 9]FIG. 9 is a diagram illustrating an example of a hardware configuration of a computer that realizes the same functions as the information processing apparatus of the embodiment. [Figure 10] FIG. 10 is a diagram illustrating an example of the Pareto solutions. [Figure 11] FIG. 11 is an image diagram of optimization calculations for multiple objective functions F with different weighting coefficients α and β. [Figure 12] FIG. 12 is a flowchart showing a processing procedure for optimizing calculation of an objective function according to the prior art. [Figure 13] FIG. 13 is a diagram for explaining the problem with the conventional technology. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0032] Hereinafter, an information processing device, an information processing method, and an information processing program disclosed in the present application will be described in detail with reference to the accompanying drawings. Note that the present invention is not limited to the embodiments. EXAMPLES

[0033] When the information processing device according to the first embodiment executes optimization calculations of multiple objective functions with different weighting factors in parallel, it repeatedly executes a process of exchanging minimum solutions between multiple objective functions with similar weighting factors, identifying an initial solution, and searching for an optimal solution. In the following description, exchanging optimal solutions is appropriately referred to as solution exchange. A "minimal solution" is a solution searched for when searching for an optimal solution, and is a solution corresponding to a local solution or an optimal solution. When there is no particular distinction between a local solution and an optimal solution, it is referred to as a minimum solution.

[0034] In this embodiment 1, the objective functions F1, F2, and F3 are used as an example for explanation. The objective functions F1, F2, and F3 are shown in formulas (2), (3), and (4). Here, the weighting coefficients are α1=2, β1=1, α2=1, β2=1, α3=1, and β3=2. P(x) and Q(x) correspond to the "element objective functions."

[0035] F1(x)=α1P(x)+β1Q(x)...(2) F2(x)=α2P(x)+β2Q(x)...(3) F3(x)=α3P(x)+β3Q(x)...(4)

[0036] The information processing device compares the weighting coefficients of the objective functions F1, F2, and F3, and identifies the objective functions with similar weighting coefficients as the objective functions for which solution exchange is to be performed. For example, the information processing device identifies the objective functions for which the sum of the absolute values ​​of the differences between the same type of weighting coefficients is less than a threshold value as the objective functions for which solution exchange is to be performed. The information processing device performs solution exchange between the objective functions F1 and F2. The information processing device also performs solution exchange between the objective functions F2 and F3.

[0037] 1 is a diagram for explaining the processing of the information processing device according to the first embodiment. The vertical axis of the graph G11 corresponds to the value of the objective function F1, and the horizontal axis corresponds to the solution x. The vertical axis of the graph G12 corresponds to the value of the objective function F2, and the horizontal axis corresponds to the solution x. The vertical axis of the graph G13 corresponds to the value of the objective function F3, and the horizontal axis corresponds to the solution x.

[0038] For convenience, the optimization calculation of the objective function F1 is referred to as the first optimization calculation. The optimization calculation of the objective function F2 is referred to as the second optimization calculation. The optimization calculation of the objective function F3 is referred to as the third optimization calculation. The information processing device executes the first optimal solution calculation, the second optimization calculation, and the third optimization calculation in parallel.

[0039] In the first optimization calculation, the information processing device calculates an initial solution x i1 Enter the following to perform a search for the optimal solution of the objective function F1, and find the minimum solution x 11 In the second optimization calculation, the information processing device obtains the initial solution x i2 Enter the following to perform a search for the optimal solution of the objective function F2, and find the minimum solution x 21 In the third optimization calculation, the information processing device obtains the initial solution x i3 Enter the following to perform a search for the optimal solution of the objective function F3, and find the minimum solution x 31 get.

[0040] The information processing device exchanges solutions between the objective function F1 and the objective function F2. For this reason, in the first optimization calculation, the information processing device obtains the minimum solution x 21 In the first optimization calculation, the information processing device uses F1(x 11 ), F1(x 21 ) respectively. In the example shown in graph G11, F1(x 21 ) is the smallest value, so x 21 is adopted as the initial solution, and the search calculation is performed again.

[0041] The information processing device exchanges solutions between the objective function F2 and the objective function F3 with respect to the objective function F2. Therefore, in the second optimization calculation, the information processing device searches for the minimum solution x 11 , x 31 In the second optimization calculation, F2(x 11 ), F2(x 21 ), F2(x 31 ) respectively. In the example shown in graph G12, F2(x 21 ) is the smallest value, so x 21 is adopted as the initial solution, and the search calculation is performed again.

[0042] The information processing device exchanges solutions between the objective function F3 and the objective function F2. Therefore, in the third optimization calculation, the information processing device selects the minimum solution x 21 In the first optimization calculation, the information processing device uses F3(x 21 ), F3(x 31 ) respectively. In the example shown in graph G13, F3(x 31 ) is the smallest value, so x 31 is adopted as the initial solution, and the search calculation is performed again.

[0043] Here, if we focus on the first optimization calculation, the initial solution x 21 is the optimal solution x op1 Since it is close to the optimal solution x op1This increases the probability of reaching the optimal solution in a multi-objective optimization problem.

[0044] Next, an example of the configuration of the information processing device according to the embodiment 1 will be described. Fig. 2 is a functional block diagram showing the configuration of the information processing device according to the embodiment 1. As shown in Fig. 2, the information processing device 100 has a communication unit 110, an input unit 120, a display unit 130, a storage unit 140, and a control unit 150.

[0045] The communication unit 110 is connected to an external device or the like by wire or wirelessly, and transmits and receives information to and from the external device or the like. For example, the communication unit 110 is realized by a NIC (Network Interface Card) or the like. The communication unit 110 may be connected to a network (not shown).

[0046] The input unit 120 is an input device that inputs various types of information to the information processing device 100. The input unit 120 corresponds to a keyboard, a mouse, a touch panel, or the like.

[0047] The display unit 130 is a display device that displays information output from the control unit 150. The display unit 130 corresponds to a liquid crystal display, an organic EL (Electro Luminescence) display, a touch panel, etc. For example, the calculation results of the optimization calculation are displayed on the display unit 130.

[0048] The storage unit 140 includes a weighting coefficient table 141 and a shared buffer 142. The storage unit 140 is realized by, for example, a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk.

[0049] The weighting coefficient table 141 holds information about weighting coefficients set for objective functions. FIG. 3 is a diagram showing an example of the data structure of the weighting coefficient table. As shown in FIG. 3, in the weighting coefficient table 141, identification information and weighting coefficients are associated with each other. The identification information is information for identifying an objective function. The weighting coefficient indicates a weighting coefficient set for a corresponding objective function. For example, the identification information F-1 indicates the objective function F1 defined in equation (2). The identification information F-2 indicates the objective function F2 defined in equation (3). The identification information F-3 indicates the objective function F3 defined in equation (4).

[0050] In the example shown in Fig. 3, the weighting coefficients of the objective function F1 corresponding to the identification information "F-1" are shown to be "α1=2, β1=1". The weighting coefficients of the objective function F2 corresponding to the identification information "F-2" are shown to be "α1=1, β1=1". The weighting coefficients of the objective function F3 corresponding to the identification information "F-3" are shown to be "α1=1, β1=2".

[0051] The shared buffer 142 is a buffer that holds a minimum solution output in an optimization calculation for an objective function. FIG. 4 is a diagram showing an example of a data structure of the shared buffer. As shown in FIG. 4, the shared buffer 142 associates identification information with a minimum solution. The identification information is information for identifying an objective function. The minimum solution is a solution detected when searching for a minimum solution for each objective function. The minimum solution corresponds to a local solution or an optimal solution.

[0052] Although not shown, the storage unit 140 may have information on each parameter set in the component objective functions P(x) and Q(x) of the objective functions F1, F2, and F3.

[0053] Returning to the description of Fig. 2, the control unit 150 has a calculation unit 151 and an output unit 152. The control unit 150 is realized by, for example, a central processing unit (CPU) or a micro processing unit (MPU). The control unit 150 may also be executed by, for example, an integrated circuit such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA).

[0054] The calculation unit 151 calculates the objective functions F1 to F D In parallel, the calculation unit 151 performs optimization calculations for the objective functions having similar weighting coefficients as the objective functions for which solution exchange is to be performed, based on the weighting coefficient table 141. For example, the calculation unit 151 specifies the objective functions for which the sum of the absolute values ​​of the differences between the same type of weighting coefficients is less than a threshold value as the objective functions for which solution exchange is to be performed.

[0055] When the calculation unit 151 performs optimization calculations of multiple objective functions with different weighting coefficients in parallel, it repeatedly executes a process of exchanging minimum solutions between multiple objective functions with similar weighting coefficients, identifying an initial solution, and searching for an optimal solution.

[0056] Fig. 5 is a flowchart showing the processing procedure of the calculation unit according to the embodiment 1. As shown in Fig. 5, the calculation unit 151 of the information processing device 100 performs initial setting (step S101). The initial setting includes setting the number of optimization calculations to be executed in parallel, setting each objective function, setting an initial solution, the number of iterations L of the search calculation for the optimal solution, and the like.

[0057] The calculation unit 151 starts the optimization calculations 1 to D in parallel (step S102). The calculation unit 151 secures the shared buffer 142 (step S103). The calculation unit 151 executes the optimization calculation process in parallel for each optimization calculation (step S104).

[0058] In the optimization calculation process of step 104 in FIG. 5, the objective functions F1 to F DThe optimization calculations for each objective function are performed in parallel, but the optimization calculation process for one objective function will be described below with reference to FIG.

[0059] Fig. 6 is a flowchart showing the procedure of the optimization calculation process according to the embodiment 1. As shown in Fig. 6, the calculation unit 151 of the information processing device 100 identifies an objective function to be a target of solution exchange based on the weighting coefficient table 141 (step S201). The calculation unit 151 sets the number of iterations c to an initial value (step S202).

[0060] The calculation unit 151 calculates the initial solution x is (Step S203). The calculation unit 151 executes a search calculation for a minimum solution of the objective function Fs (Step S204). If the calculation unit 151 does not detect a minimum solution (Step S205, No), the process returns to Step S204.

[0061] When the calculation unit 151 detects the minimum solution (step S205, Yes), the calculation unit 151 calculates the minimum value f s , minimum solution x os The N repetition counts c are stored in ascending order of minimum value (step S206). The calculation unit 151 adds 1 to the repetition count c to update the repetition count c (step S207).

[0062] When the number of repetitions c is equal to or greater than L (step S208, Yes), the calculation unit 151 calculates the objective function F s On the other hand, if the number of repetitions c is not equal to or greater than L (step S208, No), the calculation unit 151 proceeds to step S209.

[0063] The calculation unit 151 calculates the minimum solution x os The calculation unit 151 registers the minimum solution x on (Step S210).

[0064] The calculation unit 151 calculates each minimum solution x on Objective function F fors Calculate the solution with the smallest value, and use the initial solution x is (step S211), and the process proceeds to step S203.

[0065] The calculation unit 151 performs the optimization calculation process shown in FIG. 6 for each of the objective functions F1 to F D The calculation unit 151 executes the calculation in parallel for each of the objective functions F1 to F D The information on the optimum solution, which is the optimum solution calculation result for the above equation, is output to the output unit 152.

[0066] The output unit 152 outputs each of the objective functions F1 to F D The information on the optimum solution, which is the result of the optimum solution calculation for the equation (1), is output to the display unit 130 for display.

[0067] Next, the effect of the information processing device 100 according to the first embodiment will be described. When the information processing device 100 executes optimization calculations of multiple objective functions with different weighting coefficients in parallel, it exchanges minimum solutions between multiple objective functions with similar weighting coefficients, identifies an initial solution, and repeatedly executes a process of searching for an optimal solution. This makes it possible to set an initial solution close to the optimal solution of the objective function, and to efficiently obtain the optimal solution. EXAMPLES

[0068] The information processing device 100 according to the first embodiment specifies the objective function for solution exchange based on the weighting coefficient, but is not limited to this. In the information processing device according to the second embodiment, even if the objective functions are not close, if the minimum solution is close, solution exchange is performed.

[0069] Here, the following description will be given using objective functions F1, F2, and F3. The information processing device applies the initial solution x i1 Enter the following to perform a search for the optimal solution of the objective function F1, and find the minimum solution x 11 The information processing device calculates the initial solution x i2 Enter the following to perform a search for the optimal solution of the objective function F2, and find the minimum solution x 21 The information processing device calculates the initial solution xi3 Enter the following to perform a search for the optimal solution of the objective function F3, and find the minimum solution x 31 get.

[0070] Here, the information processing device specifies an objective function for performing solution exchange with the objective function F1 as follows. 11 and other minimal solutions x 21 , x 31 The information processing device calculates the Hamming distance between each of the minimum solutions x and x, identifies a minimum solution for which the Hamming distance is equal to or less than a threshold, and sets the objective function corresponding to the identified minimum solution as the objective function for performing solution exchange. 11 And the minimum solution x 21 If the Hamming distance between the objective function F1 and the objective function F2 is equal to or smaller than a threshold, the objective function that performs solution exchange with the objective function F1 is set as the objective function F2.

[0071] The information processing device similarly performs the same processing on the other objective functions F2 and F3 to identify the objective functions for which solution exchange is to be performed.

[0072] As described above, in the information processing device according to the second embodiment, by performing solution exchange between objective functions having close minimum solutions, it is possible to prevent the initial solution from being set to a value far from the optimal solution, and efficiently obtain the optimal solution for a multi-objective optimization problem.

[0073] Next, an example of the configuration of an information processing device according to the present embodiment 2 will be described. Fig. 7 is a functional block diagram showing the configuration of the information processing device according to the present embodiment 2. As shown in Fig. 7, the information processing device 200 has a communication unit 210, an input unit 220, a display unit 230, a storage unit 240, and a control unit 250.

[0074] 7, the description of the communication unit 210, the input unit 220, and the display unit 230 is similar to the description of the communication unit 110, the input unit 120, and the display unit 130 described in FIG.

[0075] The storage unit 240 includes a weighting coefficient table 241 and a shared buffer 242. The storage unit 240 is realized by, for example, a semiconductor memory element such as a RAM or a flash memory, or a storage device such as a hard disk or an optical disk.

[0076] The weighting coefficient table 241 holds information about weighting coefficients set in the objective function. The rest of the description of the weighting coefficient table 241 is the same as the description of the weighting coefficient table 141.

[0077] The shared buffer 242 is a buffer that holds a minimum solution output in an optimization calculation for an objective function. The rest of the description of the shared buffer 242 is the same as the description of the shared buffer 142.

[0078] The control unit 250 includes a calculation unit 251 and an output unit 252. The control unit 250 is realized by, for example, a CPU or an MPU. The control unit 250 may also be implemented by, for example, an integrated circuit such as an ASIC or an FPGA.

[0079] The calculation unit 251 calculates the objective functions F1 to F D In parallel, the calculation unit 251 performs optimization calculations for the following: Even if the objective functions are not close, if the minimum solution is close, the calculation unit 251 performs solution exchange.

[0080] Here, the explanation will be given using objective functions F1, F2, and F3. The calculation unit 251 applies the initial solution x i1 Enter the following to perform a search for the optimal solution of the objective function F1, and find the minimum solution x 11 The calculation unit 251 calculates the objective function F2 using the initial solution x i2 Enter the following to perform a search for the optimal solution of the objective function F2, and find the minimum solution x 21 The calculation unit 251 calculates the objective function F3 using the initial solution x i3 Enter the following to perform a search for the optimal solution of the objective function F3, and find the minimum solution x 31 get.

[0081] The calculation unit 251 specifies an objective function for performing solution exchange with the objective function F1 as follows. 11 and other minimal solutions x 21 , x 31 The calculation unit 251 calculates the Hamming distance between each of the minimum solutions x 11 And the minimum solution x 21 If the Hamming distance between the objective function F1 and the objective function F2 is equal to or smaller than a threshold, the objective function that performs solution exchange with the objective function F1 is set as the objective function F2.

[0082] For example, the calculation unit 251 executes the following process. 11 and the minimum solution x of the other objective functions 21 , x 31 Calculate the Hamming distance between each of them and find the minimum solution x 11 And the minimum solution x 21 If the Hamming distance between x and x is less than the threshold, F1(x 11 ), F1(x 21 ) is calculated. The calculation unit 251 calculates F1(x 11 ) is minimized, the initial solution is x 11 The calculation unit 251 executes a search calculation for an optimal solution of the objective function F1 by using F1(x 21 ) is minimized, the initial solution is x 21 Then, a search calculation for the optimal solution of the objective function F1 is performed.

[0083] The calculation unit 251 calculates the objective function F for each minimum solution, substitutes the solution with the smallest value (minimum solution) for the initial solution, and repeatedly executes a search calculation for the optimal solution.

[0084] The calculation unit 251 similarly performs the same processing on the other objective functions F2 and F3 to identify the objective functions for which solution exchange is to be performed.

[0085] An example of the processing procedure of the calculation unit 251 will be described. The processing procedure of the calculation unit 251 is different from the processing procedure of the calculation unit 151 described in Fig. 5 of the first embodiment in the content of the optimization calculation processing from the processing procedure of the calculation unit 151. Therefore, the optimization calculation processing executed by the calculation unit 251 according to the second embodiment will be described.

[0086] 8 is a flowchart showing the procedure of the optimization calculation process according to the embodiment 2. The calculation unit 251 of the information processing device 200 sets the number of iterations c to an initial value (step S301).

[0087] The calculation unit 251 calculates the initial solution x is (Step S302). The calculation unit 251 sets the objective function F s (Step S303) When the calculation unit 251 does not detect the minimum solution (Step S304, No), the calculation unit 251 proceeds to Step S303.

[0088] When the calculation unit 251 detects the minimum solution (step S304, Yes), the calculation unit 251 calculates the minimum value f s , minimum solution x os The N repetition counts c are stored in ascending order of minimum value (step S305). The calculation unit 251 adds 1 to the repetition count c to update the repetition count c (step S306).

[0089] When the number of repetitions c is equal to or greater than L (step S307, Yes), the calculation unit 251 calculates the objective function F s On the other hand, if the number of repetitions c is not equal to or greater than L (step S307, No), the calculation unit 251 proceeds to step S308.

[0090] The calculation unit 251 calculates the minimum solution x os The calculation unit 251 registers the minimum solution x o1~ x oD (Step S309).

[0091] The calculation unit 251 calculates each minimum solution x o1~ x oD Among them, the minimum solution x os The calculation unit 251 selects a minimum solution having a close Hamming distance to (step S310). The calculation unit 251 calculates the objective function F s Calculate the solution with the smallest value, and use the initial solution x is (step S311), and the process proceeds to step S302.

[0092] The calculation unit 251 performs the optimization calculation process shown in FIG. 8 for each of the objective functions F1 to F D The calculation unit 251 executes the calculation in parallel for each of the objective functions F1 to F D The information on the optimum solution, which is the optimum solution calculation result for the above, is output to the output unit 252.

[0093] The output unit 252 outputs each of the objective functions F1 to F D The information on the optimum solution, which is the result of the optimum solution calculation for the equation (1), is output to the display unit 230 and displayed.

[0094] Next, a description will be given of the effects of the information processing device 200 according to the second embodiment. The information processing device 200 performs solution exchange between objective functions having close minimum solutions, thereby preventing the initial solution from being set to a value far from the optimal solution, and can efficiently obtain an optimal solution in a multi-objective optimization problem.

[0095] Incidentally, the calculation unit 251 of the information processing device 200 exchanges solutions between objective functions whose minimum solutions are close to each other, but this is not limited to this. For example, the calculation unit 251 may exchange solutions based on the values ​​of the element objective functions P and Q if the solutions have close values.

[0096] Other processes of the calculation unit 251 will be described using the objective functions F1, F2, and F3. The objective functions F1, F2, and F3 are composed of element objective functions P and Q as shown in equations (2), (3), and (4).

[0097] The calculation unit 251 calculates the objective function F1 using the initial solution x i1Enter the following to perform a search for the optimal solution of the objective function F1, and find the minimum solution x 11 The calculation unit 251 calculates the objective function F2 using the initial solution x i2 Enter the following to perform a search for the optimal solution of the objective function F2, and find the minimum solution x 21 The calculation unit 251 calculates the objective function F3 using the initial solution x i3 Enter the following to perform a search for the optimal solution of the objective function F3, and find the minimum solution x 31 get.

[0098] The calculation unit 251 calculates P(x 11 ) and Q(x 11 ), P(x 21 ) and Q(x 21 ), P(x 31 ) and Q(x 31 For example, the calculation unit 251 calculates P(x 11 ) and P(x 21 ) is less than a threshold and Q(x 11 ) and Q(x 21 ) is equal to or smaller than a threshold, solution exchange is performed between objective functions F1 and F2.

[0099] After the solution exchange, the calculation unit 251 calculates F1(x 11 ), F1(x 21 ) is calculated. The calculation unit 251 calculates F1(x 11 ) is minimized, the initial solution is x 11 The calculation unit 251 executes a search calculation for an optimal solution of the objective function F1 by using F1(x 21 ) is minimized, the initial solution is x 21 Then, a search calculation for the optimal solution of the objective function F1 is performed.

[0100] As described above, the information processing device 200 can prevent the initial solution from being set to a value far from the optimal solution, even if a solution exchange is performed if the solution has a close value based on the values ​​of the element objective functions P and Q, and can efficiently obtain an optimal solution for a multi-objective optimization problem.

[0101] Next, an example of a hardware configuration of a computer that realizes the same functions as the information processing device 100 (200) shown in the above embodiment will be described. Fig. 9 is a diagram showing an example of a hardware configuration of a computer that realizes the same functions as the information processing device of the embodiment.

[0102] 9, computer 300 has CPU 301 for executing various arithmetic processes, input device 302 for receiving data input from a user, and display 303. Computer 300 also has communication device 304 for transmitting and receiving data to and from external devices etc. via a wired or wireless network, and interface device 305. Computer 300 also has RAM 306 for temporarily storing various information, and hard disk device 307. Each of devices 301 to 307 is connected to bus 308.

[0103] The hard disk device 307 stores a calculation program 307a and an output program 307b. The CPU 301 reads out the programs 307a and 307b and develops them in the RAM 306.

[0104] The calculation program 307a functions as the calculation process 306a, and the output program 307b functions as the output process 306b.

[0105] The processing of the calculation process 306a corresponds to the processing of the calculation units 151 and 251. The processing of the output process 306b corresponds to the processing of the output units 152 and 252.

[0106] It should be noted that each of the programs 307a and 307b does not necessarily have to be stored in the hard disk device 307 from the beginning. For example, each of the programs may be stored in a "portable physical medium" such as a flexible disk (FD), CD-ROM, DVD, magneto-optical disk, or IC card that is inserted into the computer 300. Then, the computer 300 may read and execute each of the programs 307a and 307b.

[0107] The following supplementary notes are further disclosed regarding the embodiments including the above examples.

[0108] (Appendix 1) A plurality of objective functions consisting of a plurality of element objective functions each having a weighting coefficient set, an initial solution is input to the plurality of objective functions each having a different weighting coefficient, and a minimum solution that minimizes the output of the objective function is searched for, Identifying a plurality of objective functions for which solutions are to be exchanged based on weight coefficients set for the plurality of objective functions, a minimum solution searched for using the plurality of objective functions, or an output value when a minimum solution searched for using the plurality of objective functions is input to the plurality of element objective functions; identifying an initial solution of a first objective function based on a first minimum solution of a first objective function and a second minimum solution of a second objective function among the plurality of objective functions for which the solution exchange is performed; The identified initial solution is input to the first objective function, and a minimum solution that minimizes the output of the first objective function is searched for. An information processing device comprising a control unit for executing processing.

[0109] (Supplementary Note 2) The information processing device according to Supplementary Note 1, wherein the control unit identifies, as the initial solution, a minimal solution among the first minimal solution and the second minimal solution, which has a smallest value when input into the first objective function.

[0110] (Supplementary Note 3) The information processing device according to Supplementary Note 1, characterized in that when the control unit identifies the objective functions for which the solution exchange is to be performed based on weighting coefficients set for the objective functions, it identifies the objective functions for which the solution exchange is to be performed that have similar weighting coefficients.

[0111] (Appendix 4) The information processing device described in Appendix 1, characterized in that when the control unit identifies multiple objective functions for which the solution exchange will be performed based on a minimum solution searched for using the multiple objective functions, it identifies multiple objective functions that are close to the minimum solution as the multiple objective functions for which the solution exchange will be performed.

[0112] (Supplementary Note 5) The information processing device according to Supplementary Note 1, characterized in that when the control unit identifies the objective functions to perform the solution exchange based on output values ​​when a minimum solution searched for using multiple objective functions is input to the multiple element objective functions, the control unit identifies multiple objective functions whose output values ​​are close as the multiple objective functions to perform the solution exchange.

[0113] (Appendix 6) A plurality of objective functions consisting of a plurality of element objective functions to which weighting coefficients are set, an initial solution is input to the plurality of objective functions having different weighting coefficients, and a minimum solution that minimizes the output of the objective function is searched for, Identifying a plurality of objective functions for which solutions are to be exchanged based on weight coefficients set for the plurality of objective functions, a minimum solution searched for using the plurality of objective functions, or an output value when a minimum solution searched for using the plurality of objective functions is input to the plurality of element objective functions; identifying an initial solution of a first objective function based on a first minimum solution of a first objective function and a second minimum solution of a second objective function among the plurality of objective functions for which the solution exchange is performed; The identified initial solution is input to the first objective function, and a minimum solution that minimizes the output of the first objective function is searched for. An information processing method characterized in that the processing is executed by a computer.

[0114] (Appendix 7) The information processing method according to appendix 6, wherein the process of identifying the initial solution includes identifying, as the initial solution, a minimal solution among the first minimal solution and the second minimal solution, which has a smallest value when input to the first objective function.

[0115] (Appendix 8) The information processing method according to appendix 6, characterized in that when the process of identifying the objective functions that will perform the solution exchange is based on weighting coefficients set for the objective functions, objective functions that have similar weighting coefficients are identified as the objective functions that will perform the solution exchange.

[0116] (Appendix 9) The information processing method according to appendix 6, characterized in that when the process of identifying the multiple objective functions for which solution exchange is performed is based on a minimum solution searched for using the multiple objective functions, multiple objective functions close to the minimum solution are identified as the multiple objective functions for which solution exchange is performed based on a minimum solution searched for using the multiple objective functions.

[0117] (Appendix 10) The information processing method according to appendix 6, characterized in that, in the process of identifying the objective functions for which solution exchange is to be performed based on output values ​​when a minimum solution searched for using the objective functions is input to the element objective functions, the objective functions for which solution exchange is to be performed are identified by identifying the objective functions whose output values ​​are close to each other as the objective functions for which solution exchange is to be performed.

[0118] (Appendix 11) A plurality of objective functions consisting of a plurality of element objective functions to which weighting coefficients are set, an initial solution is input to the plurality of objective functions having different weighting coefficients, and a minimum solution in which the output of the objective function has a minimum value is searched for, Identifying a plurality of objective functions for which solutions are to be exchanged based on weight coefficients set for the plurality of objective functions, a minimum solution searched for using the plurality of objective functions, or an output value when a minimum solution searched for using the plurality of objective functions is input to the plurality of element objective functions; identifying an initial solution of a first objective function based on a first minimum solution of a first objective function and a second minimum solution of a second objective function among the plurality of objective functions for which the solution exchange is performed; The identified initial solution is input to the first objective function, and a minimum solution that minimizes the output of the first objective function is searched for. An information processing program that causes a computer to execute a process.

[0119] (Appendix 12) The information processing program according to appendix 11, wherein the process of identifying the initial solution includes identifying, as the initial solution, a minimal solution among the first minimal solution and the second minimal solution, which has a smallest value when input into the first objective function.

[0120] (Appendix 13) The information processing program according to appendix 11, characterized in that when the process of identifying the objective functions that will perform solution exchange is based on weighting coefficients set for the objective functions, objective functions that have similar weighting coefficients are identified as the objective functions that will perform solution exchange.

[0121] (Appendix 14) The information processing program according to appendix 11, characterized in that the process of identifying multiple objective functions for which solution exchange is performed identifies multiple objective functions close to the minimum solution as multiple objective functions for which solution exchange is performed, when the process of identifying multiple objective functions for which solution exchange is performed is based on a minimum solution searched for using the multiple objective functions.

[0122] (Appendix 15) The information processing program according to appendix 11, characterized in that the process of identifying the objective functions for which solution exchange is to be performed identifies the objective functions for which solution exchange is to be performed based on output values ​​when a minimum solution searched for using the objective functions is input to the element objective functions, and identifies the objective functions whose output values ​​are close as the objective functions for which solution exchange is to be performed.

[0123] (Appendix 16) For an objective function including a plurality of component objective functions, a first objective function, a second objective function, and a third objective function are generated by making the values ​​of weighting coefficients multiplied by each of the plurality of component objective functions different from each other; Calculating values ​​of the first objective function, the second objective function, and the third objective function to perform a solution search; comparing a first difference between the value of the weighting factor of the first objective function and the value of the weighting factor of the second objective function with a second difference between the value of the weighting factor of the first objective function and the value of the weighting factor of the second objective function; If the first difference is smaller than the second difference, the solution searched based on the first objective function is exchanged with the solution searched based on the second objective function, and the search is further performed. An information processing device comprising a control unit for executing processing.

[0124] (Appendix 17) For an objective function including a plurality of component objective functions, a first objective function, a second objective function, and a third objective function are generated by making the values ​​of weighting coefficients multiplied by each of the plurality of component objective functions different from each other; Calculating values ​​of the first objective function, the second objective function, and the third objective function to perform a solution search; comparing a first difference between a first solution searched for based on the first objective function and a second solution searched for based on the second objective function with a second difference between the first solution and a third solution searched for based on the third objective function; If the first difference is less than the second difference, swapping the first solution and the second solution and performing the search further. An information processing device comprising a control unit for executing processing.

[0125] (Appendix 18) For an objective function including a plurality of component objective functions, a first objective function, a second objective function, and a third objective function are generated by making the values ​​of weighting coefficients multiplied by each of the plurality of component objective functions different from each other; Calculating values ​​of the first objective function, the second objective function, and the third objective function to perform a solution search; comparing a first difference between values ​​of the plurality of element objective functions included in the first objective function and values ​​of the plurality of element objective functions included in the second objective function with a second difference between values ​​of the plurality of element objective functions included in the first objective function and values ​​of the plurality of element objective functions included in the third objective function; If the first difference is smaller than the second difference, the search is further performed by exchanging the first solution searched for based on the first objective function with a second solution searched for based on the second objective function. An information processing device comprising a control unit for executing processing.

[0126] (Appendix 19) For an objective function including a plurality of component objective functions, a first objective function, a second objective function, and a third objective function are generated by making the values ​​of weighting coefficients multiplied by each of the plurality of component objective functions different from each other; Calculating values ​​of the first objective function, the second objective function, and the third objective function to perform a solution search; comparing a first difference between the value of the weighting factor of the first objective function and the value of the weighting factor of the second objective function with a second difference between the value of the weighting factor of the first objective function and the value of the weighting factor of the second objective function; If the first difference is smaller than the second difference, the solution searched based on the first objective function is exchanged with the solution searched based on the second objective function, and the search is further performed. An information processing method characterized in that the processing is executed by a computer.

[0127] (Appendix 20) For an objective function including a plurality of component objective functions, a first objective function, a second objective function, and a third objective function are generated by making the values ​​of weighting coefficients multiplied by each of the plurality of component objective functions different from each other; Calculating values ​​of the first objective function, the second objective function, and the third objective function to perform a solution search; comparing a first difference between the value of the weighting factor of the first objective function and the value of the weighting factor of the second objective function with a second difference between the value of the weighting factor of the first objective function and the value of the weighting factor of the second objective function; If the first difference is smaller than the second difference, the solution searched based on the first objective function is exchanged with the solution searched based on the second objective function, and the search is further performed. An information processing program for causing a computer to execute a process. [Explanation of symbols]

[0128] 100,200 Information processing equipment 110,210 Communications Department 120,220 Input section 130,230 Display section 140,240 storage section 141,241 Weighting factor table 142,242 shared buffers 150,250 Control section 151,251 Calculation unit 152,252 Output unit

Claims

1. generating a first objective function, a second objective function, and a third objective function by making values ​​of weighting coefficients by which the plurality of component objective functions are multiplied differently from one another for an objective function including a plurality of component objective functions; Calculating values ​​of the first objective function, the second objective function, and the third objective function to perform a solution search; comparing a first difference between the value of the weighting factor of the first objective function and the value of the weighting factor of the second objective function with a second difference between the value of the weighting factor of the first objective function and the value of the weighting factor of the third objective function; If the first difference is smaller than the second difference, the solution searched based on the first objective function is exchanged with the solution searched based on the second objective function, and the search is further performed. An information processing device comprising a control unit for executing processing.

2. generating a first objective function, a second objective function, and a third objective function by making values ​​of weighting coefficients by which the plurality of component objective functions are multiplied differently from one another for an objective function including a plurality of component objective functions; Calculating values ​​of the first objective function, the second objective function, and the third objective function to perform a solution search; comparing a first difference between a first solution searched for based on the first objective function and a second solution searched for based on the second objective function with a second difference between the first solution and a third solution searched for based on the third objective function; If the first difference is less than the second difference, the first solution and the second solution are swapped and the search is further performed. An information processing device comprising a control unit for executing processing.

3. generating a first objective function, a second objective function, and a third objective function by making values ​​of weighting coefficients by which the plurality of component objective functions are multiplied differently from one another for an objective function including a plurality of component objective functions; Calculating values ​​of the first objective function, the second objective function, and the third objective function to perform a solution search; comparing a first difference between values ​​of the plurality of element objective functions included in the first objective function and values ​​of the plurality of element objective functions included in the second objective function with a second difference between values ​​of the plurality of element objective functions included in the first objective function and values ​​of the plurality of element objective functions included in the third objective function; If the first difference is smaller than the second difference, the search is further performed by exchanging the first solution searched for based on the first objective function with a second solution searched for based on the second objective function. An information processing device comprising a control unit for executing processing.

4. generating a first objective function, a second objective function, and a third objective function by making values ​​of weighting coefficients by which the plurality of component objective functions are multiplied differently from one another for an objective function including a plurality of component objective functions; Calculating values ​​of the first objective function, the second objective function, and the third objective function to perform a solution search; comparing a first difference between the value of the weighting factor of the first objective function and the value of the weighting factor of the second objective function with a second difference between the value of the weighting factor of the first objective function and the value of the weighting factor of the third objective function; If the first difference is smaller than the second difference, the solution searched based on the first objective function is exchanged with the solution searched based on the second objective function, and the search is further performed. An information processing method characterized in that the processing is executed by a computer.

5. generating a first objective function, a second objective function, and a third objective function by making values ​​of weighting coefficients by which the plurality of component objective functions are multiplied differently from one another for an objective function including a plurality of component objective functions; Calculating values ​​of the first objective function, the second objective function, and the third objective function to perform a solution search; comparing a first difference between the value of the weighting factor of the first objective function and the value of the weighting factor of the second objective function with a second difference between the value of the weighting factor of the first objective function and the value of the weighting factor of the third objective function; If the first difference is smaller than the second difference, the solution searched based on the first objective function is exchanged with the solution searched based on the second objective function, and the search is further performed. An information processing program for causing a computer to execute a process.

Citation Information

Patent Citations

  • Multi-objective optimization apparatus, method for adjusting weight, and weight adjustment program

    JP2009181195A

  • Knee point visualization program, knee point visualization method, and knee point visualization apparatus

    JP2019153012A

  • Pareto sampling using simplicial refinement by derivative pursuit

    US8645293B2