Optimization support apparatus, optimization support method, and program

The optimization support device addresses the challenge of arbitrarily manipulable intermediate outputs in gray-box optimization by using a directed acyclic graph and proxy models to efficiently calculate input points for desired outputs in complex systems.

JP2026010484APending Publication Date: 2026-01-22NEC CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024110385
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-09
Publication Date
2026-01-22

AI Technical Summary

Technical Problem

Existing gray-box optimization techniques are difficult to apply in simulations where intermediate outputs can be arbitrarily manipulated, as they do not account for the flexibility in selecting inputs from the evaluated outputs of connected functions.

Method used

An optimization support device that utilizes a directed acyclic graph to represent relationships between functions, generating proxy models for each function, determining input ranges, selecting input points within those ranges, updating models with sampled data, and calculating input points corresponding to desired outputs using predicted distributions.

Benefits of technology

Enables efficient estimation of inputs to achieve desired outputs in systems with arbitrarily manipulable intermediate outputs by optimizing input selection and model updates, enhancing the accuracy and efficiency of simulations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026010484000001_ABST
    Figure 2026010484000001_ABST
Patent Text Reader

Abstract

To provide an optimization support device, method and program capable of supporting estimation of an input for obtaining a desired output of an objective function when an intermediate output can be arbitrarily operated for the objective function to which a plurality of functions are connected.SOLUTION: Generating, for each function, a proxy model indicating a predicted distribution of an output value of the function, the proxy model using, as an objective function, a model in which a relationship between a plurality of functions can be indicated by a directed acyclic graph having the function as a node and an input / output as an edge; For a function whose input range has been determined, an input point within the input range is selected, the proxy model is updated using data sampled for the selected input point, and an input point corresponding to a desired output of the objective function is calculated using a predicted distribution of output values of the objective function calculated based on the proxy model.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to an optimization support device, an optimization support method, and a program. [Background technology]

[0002] Gray-box optimization is a method for optimizing an objective function in which multiple black-box functions are connected, in which the input that maximizes the final output is found while taking into account intermediate outputs between the functions.

[0003] Non-Patent Document 1 discloses a grey-box optimization technique for finding an input that maximizes the final output of an objective function to which multiple functions are connected, taking into account intermediate outputs between the functions. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] Poompol Buathong, Jiayue Wan, Samuel Daulton, Raul Astudillo, Maximilian Balandat, Peter I. Frazier, “Bayesian Optimization of Function Networks with Partial Evaluations,” arXiv:2311.02146 Summary of the Invention [Problem to be solved by the invention]

[0005] The technique described in Non-Patent Document 1 is difficult to apply to the simulation of a system in which the user can arbitrarily manipulate intermediate outputs, since the input to a function is selected from the evaluated output of another function.

[0006] The present disclosure has been made in consideration of the above-mentioned problems, and one of its objectives is to provide an optimization support device or the like that can assist in estimating inputs for obtaining a desired output of an objective function when intermediate outputs of an objective function to which multiple functions are connected can be arbitrarily manipulated. [Means for solving the problem]

[0007] An optimization support device according to one aspect of the present disclosure has an objective function that is a model in which the relationships between multiple functions can be represented by a directed acyclic graph with functions as nodes and inputs and outputs as edges, and includes: a generation means for generating, for each function, a proxy model that indicates a predicted distribution of the output values ​​of the function; a determination means for determining an input range of a child node function from the output range of a parent node function estimated based on the proxy model; a selection means for selecting an input point for each function, and for a function whose input range has been determined, selecting an input point within the input range; an update means for updating the proxy model using data sampled for the selected input point; and a calculation means for calculating an input point corresponding to a desired output of the objective function using the predicted distribution of the output values ​​of the objective function calculated based on the proxy model.

[0008] An optimization support method according to one aspect of the present disclosure uses an objective function as a model in which the relationships between multiple functions can be represented by a directed acyclic graph with functions as nodes and inputs and outputs as edges, generates a proxy model for each function that indicates the predicted distribution of the function's output values, determines the input range of the child node function from the output range of the parent node function estimated based on the proxy model, selects input points within the determined input range, updates the proxy model using data sampled for the selected input points, and calculates input points corresponding to the desired output of the objective function using the predicted distribution of the output values ​​of the objective function calculated based on the proxy model.

[0009] A program according to one aspect of the present disclosure includes a program for generating a model of a directed acyclic graph in which relationships between a plurality of functions can be represented by a directed acyclic graph with functions as nodes and inputs and outputs as edges, the program comprising: The computer is caused to perform the following processes: generating a proxy model for each function that indicates a predicted distribution of the output values ​​of the function; determining an input range for the function of a child node from the output range of the function of a parent node estimated based on the proxy model; selecting an input point within the determined input range; updating the proxy model using data sampled for the selected input point; and calculating an input point corresponding to the desired output of the objective function using the predicted distribution of the output values ​​of the objective function calculated based on the proxy model. [Effects of the Invention]

[0010] According to the present disclosure, when intermediate outputs of an objective function to which multiple functions are connected can be arbitrarily manipulated, it is possible to assist in estimating inputs for obtaining a desired output of the objective function. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 1 is a diagram schematically illustrating an example of the structure of an objective function according to the present disclosure. [Figure 2] 1 is a first block diagram showing an example of a functional configuration of an optimization support device according to the present disclosure. [Figure 3] 1 is a first flowchart illustrating an example of the operation of the optimization support device according to the present disclosure. [Figure 4] FIG. 2 is a second block diagram showing an example of the functional configuration of an optimization support device according to the present disclosure. [Figure 5] FIG. 1 is a diagram illustrating an example of a proxy model according to the present disclosure. [Figure 6] FIG. 1 is a first diagram illustrating a process for determining an input range according to the present disclosure. [Figure 7] FIG. 2 is a second diagram illustrating the process of determining an input range according to the present disclosure. [Figure 8] 10 is a second flowchart illustrating an example of the operation of the optimization support device according to the present disclosure. [Figure 9]FIG. 2 is a block diagram showing an example of the hardware configuration of a computer device that realizes an optimization support device according to the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0012] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.

[0013] First Embodiment An overview of the optimization support device according to the first embodiment will be described.

[0014] First, an example of a situation in which the optimization support device of the present disclosure is applied will be described. The optimization support device of the present disclosure can be applied to a situation in which an input for obtaining a desired output from an objective function is estimated. The objective function may be a model in which multiple functions are connected. In this case, each of the functions may be a black-box function.

[0015] The relationships between multiple functions in an objective function can be represented by a graph structure. FIG. 1 is a diagram schematically illustrating an example of the structure of an objective function. More specifically, FIG. 1 illustrates an example of the structure of an objective function that is the subject of the present disclosure, shown in a graph structure. In this example, a directed acyclic graph is shown, in which functions are nodes and inputs and outputs are edges. Functions f1 and f2 are connected. For example, f1 has an input of x and an output of y1. Furthermore, f2 has an input of y1 and an output of y2. In other words, f2 uses the output of f1 as an input. In this example, when f2 is expressed as a function of a child node, f1 is expressed as a function of a parent node.

[0016] In the example of FIG. 1, the input to the objective function is x, and the output is y2. y1 can be considered an intermediate output. Thus, in this disclosure, an example of an objective function is a model in which the relationships between multiple functions can be represented by a directed acyclic graph, with functions as nodes and inputs and outputs as edges. In this disclosure, a model of a function represented by a directed acyclic graph such as that shown in FIG. 1 will be mainly described as the target objective function, but the objective function is not limited to this example. The objective function may also be a model in which nodes are further connected. Alternatively, the objective function may include a function with multiple inputs. Furthermore, the objective function may include a function with further external inputs.

[0017] The optimization support device 100 calculates input points corresponding to a desired output for an objective function. For example, the optimization support device 100 calculates input points that maximize the output of the objective function, or input points that minimize the output of the objective function. The desired output is not limited to this example.

[0018] 2 is a block diagram showing an example of the functional configuration of the optimization support device 100 according to the first embodiment. As shown in FIG. 2, the optimization support device 100 includes a generating unit 110, a determining unit 120, a selecting unit 130, an updating unit 140, and a calculating unit 150.

[0019] The generation unit 110 generates a surrogate model. The surrogate model is a model that indicates a predicted distribution of the output value of the black-box function. More specifically, the surrogate model is a probabilistic model of the behavior of the black-box function that is configured based on sampling points. The surrogate model is generated using, for example, Gaussian process regression. The surrogate model is also called a surrogate model.

[0020] The generation unit 110 generates a surrogate model for each of the multiple functions included in the objective function. At this time, the generation unit 110 generates the surrogate model based on initial data. The initial data is data indicating points sampled in advance for each function. In this way, the generation unit 110 generates a surrogate model indicating a predicted distribution of the output values ​​of the function for each function. The generation unit 110 is an example of a generation means.

[0021] The determination unit 120 determines the input range of a function. Assume that the output of the function of the parent node is the input to the function of the child node. In this case, the input range of the function of the child node is determined according to the output range of the function of the parent node. The output range of each function is estimated based on a surrogate model. For example, a confidence interval is calculated for each function based on the surrogate model. The confidence interval indicates an interval in which a corresponding output point is likely to exist for a given input point of the function. For example, the determination unit 120 may determine the input range of the child node from information on the confidence interval of the function of the parent node. Note that for the function of the root node, the determination unit 120 may determine any input range.

[0022] In this way, the determining unit 120 determines the input range of the function of the child node from the output range of the function of the parent node, which is estimated based on the proxy model. The determining unit 120 is an example of a determining means.

[0023] The selection unit 130 selects input points for functions included in the objective function. Here, the selection unit 130 selects input points using information on the determined input range. Specifically, for a function whose input range has been determined, the selection unit 130 selects input points from points within the input range. At this time, the selection unit 130 may select points within the input range that satisfy a predetermined condition. For example, the selection unit 130 generates an acquisition function based on a surrogate model. Furthermore, for each function, the selection unit 130 extracts points within the input range whose values ​​based on the acquisition function satisfy a predetermined criterion. Then, the selection unit 130 may select one or more points from the extracted points. Note that the method of selecting input points is not limited to this example.

[0024] In this way, the selection unit 130 selects an input point within the determined input range. The selection unit 130 is an example of a selection means.

[0025] The functions included in the objective function are sampled based on the selected input points. The update unit 140 uses the sampled data to update a surrogate model of the function. For example, the update unit 140 generates a surrogate model for the target function for which the input points are selected, using Gaussian process regression from the initial data and the data obtained by sampling. The generated surrogate model is defined as a new surrogate model for the target function.

[0026] In this way, the update unit 140 updates the surrogate model using the sampled data for the selected input points. The update unit 140 is an example of an update means.

[0027] The series of processes performed by the determining section 120, the selecting section 130, and the updating section 140 may be repeated multiple times.

[0028] The calculation unit 150 calculates input points corresponding to the desired output of the objective function. At this time, the calculation unit 150 uses a predictive distribution of the output values ​​of the objective function. The predictive distribution of the output values ​​of the objective function is calculated based on a surrogate model for each function. For example, in the case of the objective function of FIG. 1, for the root node f1, the output y1 corresponding to the input x is predicted based on the surrogate model. At this time, the value of y1 is sampled. Then, the output y2 of f2 corresponding to the sampled y1 is predicted based on the surrogate model for f2. This makes it possible to calculate the predictive distribution of the output y2 corresponding to the input x. For example, the calculation unit 150 may calculate an acquisition function of the objective function from the predictive distribution of the output of the objective function calculated in this way. Then, the calculation unit 150 may use the calculated acquisition function to calculate input points corresponding to the desired output of the objective function.

[0029] In this way, the calculation unit 150 calculates the input point corresponding to the desired output of the objective function by using the predictive distribution of the output value of the objective function calculated based on the surrogate model. The calculation unit 150 is an example of a calculation means.

[0030] Next, an example of the operation of the optimization support device 100 will be described with reference to Fig. 3. In this disclosure, each step in the flowchart is represented by a number assigned to it, such as "S1." In this case, the objective function is a model in which the relationships between multiple functions can be represented by a directed acyclic graph with functions as nodes and inputs and outputs as edges.

[0031] 3 is a first flowchart illustrating an example of the operation of the optimization support device 100. The generation unit 110 generates, for each function, a surrogate model indicating the predicted distribution of the output values ​​of the function (S1).

[0032] The determining unit 120 determines the input range of the function of the child node from the output range of the function of the parent node, which is generated based on the proxy model (S2).

[0033] The selection unit 130 selects an input point within the determined input range (S3).

[0034] The update unit 140 updates the surrogate model using the sampled data for the selected input points (S4).

[0035] The calculation unit 150 uses the predicted distribution of the output value of the objective function calculated based on the surrogate model to calculate an input point corresponding to the desired output of the objective function (S5).

[0036] In this way, the optimization support device 100 of the first embodiment generates, for each function, a surrogate model indicating the predictive distribution of the output values ​​of the function. Next, the optimization support device 100 determines the input range of the child node function from the output range of the parent node function generated based on the surrogate model. The optimization support device 100 also selects input points within the determined input range. Furthermore, the optimization support device 100 updates the surrogate model using data sampled for the selected input points. Then, the optimization support device 100 calculates input points corresponding to the desired output of the objective function using the predictive distribution of the output values ​​of the objective function calculated based on the surrogate model.

[0037] For a system to which multiple devices are connected, an optimal input for obtaining a desired output of the system is estimated through simulation. In the present disclosure, an example of an object that is regarded as an objective function is such a system as a whole. Also, an example of an object that is regarded as a function included in the objective function is each of the input / output operations of the multiple devices in such a system. In a situation where optimization is performed using a simulation of such a system as an objective function, the input of each function, i.e., the intermediate output, can be freely determined.

[0038] Assuming such a simulation, the optimization support device 100 can select any input point for each function and, as shown in the above configuration, can perform sampling for each function included in the objective function. Furthermore, at this time, the optimization support device 100 can perform sampling while taking into account the realizable input range for each function. In other words, the optimization support device 100 can perform sampling after appropriately excluding intermediate outputs that cannot be output regardless of how the input to the objective function is manipulated. Therefore, the optimization support device 100 can efficiently obtain a surrogate model that is more suitable for use in calculating input points corresponding to the desired output of the objective function.

[0039] That is, when intermediate outputs of an objective function to which multiple functions are connected can be manipulated arbitrarily, the optimization support device 100 can support the estimation of inputs for obtaining a desired output of the objective function.

[0040] <Second embodiment> Next, an optimization support device according to a second embodiment will be described. In the second embodiment, a further example of the optimization support device 100 described in the first embodiment will be described. In this embodiment, too, a function model represented by a directed acyclic graph as shown in FIG. 1 will be mainly described as the target objective function. Note that some of the content overlapping with the first embodiment will be omitted.

[0041] [Details of the optimization support device 100] In general Bayesian optimization, a surrogate model is generated for a single black-box objective function, and input points are searched for using various acquisition functions. Sampling is then performed using the searched input points, and the surrogate model is updated. This allows an approximate shape of the objective function to be obtained.

[0042] An example of an optimization support device 100 disclosed herein samples each function of an objective function to which multiple functions are connected, and calculates input points for the objective function that correspond to a desired output based on the obtained data. For example, the optimization support device 100 generates a surrogate model for each function included in the objective function. The optimization support device 100 also samples each function and updates the surrogate model. The optimization support device 100 then repeats sampling and updating the surrogate model m times (m is a natural number greater than or equal to 1), and then calculates input points corresponding to the desired output of the objective function. The processing of the optimization support device 100 is realized by the functional configuration described below.

[0043] In the following, as an example, a case where an input x is calculated to maximize the output y2 of the objective function represented by the graph shown in Fig. 1 will be mainly described. However, the present invention is not limited to this example, and the optimization support device 100 can also be applied to a case where an input is calculated to minimize the output of the objective function.

[0044] Fig. 4 is a second block diagram showing an example of the functional configuration of the optimization support device 100. As shown in Fig. 4, the optimization support device 100 includes a generating unit 110, a determining unit 120, a selecting unit 130, an updating unit 140, and a calculating unit 150. The optimization support device 100 may include further components. For example, the optimization support device 100 may include a storage device.

[0045] The generation unit 110 generates a surrogate model for each of the multiple functions included in the objective function. That is, the generation unit 110 generates a surrogate model for each of the functions f1 and f2. The surrogate model is a model in which the predicted distribution of output values ​​for unknown input values ​​is expressed using a mean and a variance. A surrogate model based on Gaussian process regression shows a normal distribution for the function. In this case, the surrogate model is expressed by a mean function that approximates the output value at an arbitrary input point and a variance function that indicates its uncertainty. The standard deviation of the predicted distribution estimated based on the variance function of the surrogate model is called a confidence interval.

[0046] FIG. 5 is a diagram illustrating an example of a surrogate model. Specifically, FIG. 5 is a diagram illustrating an image of a surrogate model generated for a black-box function in which the input is x and the output is y. In this example, the mean function is indicated by a solid line. Furthermore, the range indicated by the variance function is indicated by hatching. This hatched range is the confidence interval. For example, when the input x i The output y corresponding to i indicates a high probability of being within the confidence interval indicated by the double arrow.

[0047] Incidentally, when generating a surrogate model, if there is no known data, the distribution will be uniform. When known data is added, a surrogate model is generated (or updated). The generation unit 110 generates a surrogate model using initial data. The initial data indicates points sampled in advance for each function. Initial data exists for each function. The initial data includes a set of input points and corresponding output points for each function. The initial data may be stored, for example, in a storage device (not shown) included in the optimization support device 100. Alternatively, the initial data may be stored in an external storage device communicably connected to the optimization support device 100.

[0048] The determination unit 120 includes a confidence interval calculation unit 1201 and a range determination unit 1202. The confidence interval calculation unit 1201 calculates the upper and lower limits of the confidence interval of the function of each node. The upper and lower limits of the confidence interval of the function are estimated based on a surrogate model of the function. For example, the confidence interval calculation unit 1201 may calculate the upper and lower limits of the confidence interval using an upper confidence bound (UCB) and a lower confidence bound (LCB). The UCB and the LCB are also known as acquisition functions.

[0049] For example, for the function of the i-th node, the upper limit of the confidence interval for the input z is calculated as shown in the following equation 1.

[0050] [Number 1] TIFF2026010484000002.tif6150Similarly, for the function of the i-th node, the lower limit of the confidence interval for the input z can be calculated using the following equation 2.

[0051] [Number 2] TIFF2026010484000003.tif6150μ is the mean function of the surrogate model. σ is the variance function of the surrogate model. β is a hyperparameter. β is a variable that can control whether to emphasize the mean function or the variance function. In other words, the hyperparameter indicates the weight that takes variance into account. The equations 1 and 2 can also be said to be models that use the mean and variance based on the surrogate model and the hyperparameter that indicates the weight that takes variance into account.

[0052] Note that this hyperparameter can be changed. For example, the larger the hyperparameter, the more importance is placed on the variance. On the other hand, the smaller the hyperparameter, the more importance is placed on the mean. As the number of samplings increases, the mean function of the surrogate model becomes closer to the true function. Therefore, the confidence interval calculation unit 1201 may, for example, decrease the value of the hyperparameter as the number of samplings increases. This allows the confidence interval calculation unit 1201 to more accurately calculate the upper and lower limits of the confidence interval of the function.

[0053] In this way, the confidence interval calculation unit 1201 may calculate the upper and lower limits of the confidence interval of the function based on a model that uses the mean and variance based on a surrogate model and a hyperparameter indicating a weight that takes the variance into consideration.The confidence interval calculation unit 1201 may then change the hyperparameter depending on the number of samplings.

[0054] The UCB and LCB values ​​can be calculated for each input value. The upper limit of a function's confidence interval refers to the maximum value of the UCB values ​​calculated for the target function. Hereinafter, the upper limit of a function's confidence interval is also referred to as the maximum upper confidence interval. The lower limit of a function's confidence interval refers to the minimum value of the LCB values ​​calculated for the target function. Hereinafter, the lower limit of a function's confidence interval is also referred to as the minimum lower confidence interval.

[0055] The range determination unit 1202 determines the input range of the child node based on the maximum upper limit confidence interval and minimum lower limit confidence interval calculated by the confidence interval calculation unit 1201. For example, assume that the range determination unit 1202 calculates the maximum upper limit confidence interval and minimum lower limit confidence interval for the function of the i-th node. In this case, the range determination unit 1202 determines the input range of the function of the child node of the i-th node. In this case, the input range is from the minimum lower limit confidence interval to the maximum upper limit confidence interval.

[0056] Let the input range be Δ. Also, let the input to the root node be x. In this case, when the i-th node is the parent node, the input range of the child node can be expressed as follows:

[0057] [Number 3] TIFF2026010484000004.tif8150Note that the root node is shown as follows.

[0058] [Number 4] TIFF2026010484000005.tif6150In this way, the confidence interval calculation unit 1201 calculates the upper and lower limits of the confidence interval of the function of the parent node based on a proxy model of the function.At this time, the confidence interval calculation unit 1201 calculates the upper and lower limits of the confidence interval of the function based on, for example, a model that uses a mean and variance based on the proxy model and a hyperparameter that indicates a weight that takes the variance into consideration.The range determination unit 1202 then determines the range from the calculated upper limit to the lower limit as the input range of the function of the child node.

[0059] Next, the process of determining the input range will be described. Here, the objective function is assumed to be the function shown in the graph of FIG. 1. In this case, the determination unit 120 performs processing in order from the root node of the objective function. Specifically, the confidence interval calculation unit 1201 calculates the maximum upper confidence interval and the minimum lower confidence interval for the function f1 of the root node. FIG. 6 is a first diagram illustrating the process of determining the input range. It is assumed that a surrogate model of the function f1, whose input is x and whose output is y1, is shown as in FIG. 6. In this case, the maximum upper confidence interval is determined by the upper limit value of the confidence interval, that is, y a1 The minimum lower confidence interval is the lower limit of the confidence interval, i.e., y b1 In other words, the output value of f1 is y b1 From y a1 It is clear that the range is highly likely to be

[0060] Here, the output of f1 becomes the input of f2, which is a function of the child node. Therefore, the input value of f2 is y b1 From y a1 Therefore, the range determination unit 1202 determines the input range of f2 as follows: b1 From y a1 FIG. 7 is a second diagram illustrating the process of determining the input range. Specifically, FIG. 7 shows an average function for a function f2 whose input is y1 and whose output is y2. For f2, y1 is determined to be y b1 From y a1 It is clear that the search should be performed within the range up to

[0061] If there is a child node whose parent node is f2, the confidence interval calculation unit 1201 determines whether y1 is greater than y b1 From y a1The range determination unit 1202 then determines the input range of the child node based on the calculated maximum upper limit confidence interval and minimum lower limit confidence interval for f2. In this way, the determination unit 120 determines the input range of each function included in the objective function by recursively calculating the maximum upper limit confidence interval and minimum lower limit confidence interval from the root node.

[0062] In this way, the confidence interval calculation unit 1201 calculates the upper and lower limits of the confidence interval of the function of the parent node from the mean and variance based on the proxy model of the function of the parent node. Then, the range determination unit 1202 determines the range from the calculated upper limit to the lower limit as the input range of the function of the child node.

[0063] The selection unit 130 selects an input point within the determined input range. The selection unit 130 includes an acquisition function generation unit 1301 and an input point selection unit 1302. The acquisition function generation unit 1301 first generates an acquisition function based on a surrogate model for each function. At this time, the acquisition function is a function for searching for an input point of the function corresponding to the output of the objective function. For example, for function f2, the acquisition function generation unit 1301 generates an acquisition function for searching for an input y1 that maximizes output y2. Note that various acquisition functions corresponding to the desired output can be adopted, such as PI (Probability of Improvement), EI (Expected Improvement), UCB, and LCB. For example, when UCB is used, the acquisition function for f2 is generated based on the mean function and variance function of the surrogate model for f2, as shown in Equation 1.

[0064] For the function f1, an acquisition function is generated to search for an input x that maximizes the output y2. Here, the distribution of the output y2 corresponding to the input x is unknown at this point. Therefore, the acquisition function generation unit 1301 approximates the distribution of y2 corresponding to x.

[0065] First, the acquisition function generation unit 1301 samples the output y1 when x is input to f1. In Gaussian process regression, y1 corresponding to x is estimated to exist according to the following Gaussian distribution.

[0066] [Number 5] Therefore, the acquisition function generation unit 1301 samples y1 corresponding to x assuming that it exists with a probability according to a Gaussian distribution. For example, in FIG. 6, c Let us sample candidate points that indicate the candidate values ​​of y1 corresponding to x c The value of the mean function corresponding to y c The acquisition function generation unit 1301 generates x c For example, the acquisition function generation unit 1301 samples multiple candidate points for y1 from within the confidence interval corresponding to y1. c At this time, the acquisition function generation unit 1301 uses random numbers to select points whose value is y c Sampling may be performed to obtain more points closer to .

[0067] Similarly, y2 corresponding to y1 is estimated to exist according to a Gaussian distribution. Therefore, the acquisition function generation unit 1301 samples candidate points for the value of y2 corresponding to y1 using y1 sampled for x. For example, the acquisition function generation unit 1301 c By performing this process, the acquisition function generation unit 1301 can acquire the value of y2 corresponding to x (i.e., the sampling point). By performing this process for multiple x's, the acquisition function generation unit 1301 can acquire the predicted distribution of y2. It can be said that this predicted distribution is approximate to the distribution of y2 corresponding to x.

[0068] The acquisition function generation unit 1301 also performs similar processing on objective functions to which three or more nodes are connected. That is, the acquisition function generation unit 1301 performs processing to sample candidate output points of child node functions using the candidate output points sampled for the parent node function, up to the leaf node functions reachable from each function. As a result, the acquisition function generation unit 1301 calculates a predictive distribution of the output of the objective function corresponding to the input of each function. Then, the acquisition function generation unit 1301 generates an acquisition function for each function from the calculated predictive distribution.

[0069] The acquisition function generated for f1 can be expressed as follows, for example. The following equation 6 is the acquisition function generated when applying the predictive distribution of y2 to UCB. In this case, the mean of f1(x) is μ1(x) and the variance is σ1 2 (x). Also, let the mean of f2(x) be μ2(y1) and the variance be σ2 2 Let (y1).

[0070] [Number 6] TIFF2026010484000007.tif10150 The input point selection unit 1302 extracts candidates for input points in the input range for each function according to a first criterion. For example, the input point selection unit 1302 may extract, for each function, an input point that takes the maximum value of the acquisition function as a candidate. Alternatively, the input point selection unit 1302 may select an input point based on a predetermined evaluation value according to the acquisition function.

[0071] In a simulation of trials in a design industry or the like that involves trials, a system with multiple connected devices is likened to an objective function. A simulation of the operation of each device corresponds to each function included in the objective function. Here, a trial may incur costs. The costs include the time and money spent on the trial. Each device may have different costs. Even within a single device, the costs spent may differ depending on the input. Therefore, in order to efficiently sample each function, input point candidates may be extracted based on an evaluation value that takes cost into consideration.

[0072] Specifically, the input point selection unit 1302 may calculate the value of the acquisition function per cost for each function. For example, assume that an acquisition function α(x) is generated for f1. In this case, the input point selection unit 1302 may calculate α(x) / c1 and extract the input point that has the highest value of the acquisition function per cost. i is a function indicating the cost. Note that information regarding the cost for each function is stored in advance in a storage device that the optimization support device 100 has.

[0073] Similarly, the input point selection unit 1302 calculates the value of the acquisition function per cost for f2. Specifically, the input point selection unit 1302 extracts the input point with the highest value of the acquisition function per cost within the determined input range.

[0074] Then, the input point selection unit 1302 selects input points that satisfy a second criterion from the points extracted for each function. For example, the input point selection unit 1302 selects one input point from the extracted points that has the highest value of the acquisition function per cost. This example is not limiting, and the input point selection unit 1302 may select multiple input points from the extracted points that have the highest values ​​of the acquisition function per cost.

[0075] In this way, the acquisition function generation unit 1301 generates an acquisition function based on the surrogate model for each function. The input point selection unit 1302 extracts, for each function, input points in the determined input range whose acquisition function value per cost satisfies a first criterion based on the cost determined for the function. Then, the input point selection unit 1302 selects, from the points extracted for each function, input points that satisfy a second criterion. This allows the optimization support device 100 to perform sampling for each function while taking cost into consideration.

[0076] The functions included in the objective function are sampled based on the selected input points. The sampling may be performed by the update unit 140. At this point, the sampled data for each node is accumulated. The accumulated data can be expressed as follows:

[0077] [Number 7] TIFF2026010484000008.tif6150 where z j、k denotes the jth input data at node k. j、k indicates the j-th output data at node k, where K is the number of nodes. The data indicated by equation 7 includes the initial data.

[0078] The update unit 140 uses the initial data and the sampled data to again generate a surrogate model based on Gaussian process regression for each function.

[0079] The optimization support device 100 may repeat a series of processes by the determining unit 120, the selecting unit 130, and the updating unit 140 until a predetermined condition is met. An example of the predetermined condition is the number of times. For example, the optimization support device 100 may repeat a series of processes until the number of times the representative model has been updated reaches or exceeds a predetermined value. Another example of the predetermined condition is cost. For example, the optimization support device 100 may repeat a series of processes until the cumulative value of the cost spent on simulation reaches or exceeds a predetermined value.

[0080] The calculation unit 150 calculates an input point for the objective function according to the desired output of the objective function. If the objective function is as in the example of FIG. 1, the calculation unit 150 uses an acquisition function to search for an input x that maximizes the output y2. This acquisition function is the same as the acquisition function generated for the function f1 of the root node by the acquisition function generation unit 1301. The calculation unit 150 uses the latest acquisition function of f1 to calculate x that maximizes y2.

[0081] That is, the calculation unit 150 calculates input points according to a desired output of the objective function based on an acquisition function corresponding to the objective function. At this time, the acquisition function corresponding to the objective function is generated based on a predictive distribution of the output values ​​of the objective function obtained by performing a process of sampling candidate points of the output of the child node function using candidate points of the output sampled for the parent node function, from the root node function to the leaf node function.

[0082] [Example of operation of optimization support device 100] Next, an example of the operation of the optimization support device 100 will be described with reference to Fig. 8. Fig. 8 is a flowchart illustrating an example of the operation of the optimization support device 100.

[0083] First, the generation unit 110 acquires initial data (S101). The initial data is data indicating a set of input points and corresponding output points for each function included in the objective function. For example, the generation unit 110 acquires the initial data from a storage device included in the optimization support device 100. Note that at this time, the generation unit 110 may acquire data obtained by sampling each function multiple times as the initial data. Then, the generation unit 110 uses the initial data to generate a surrogate model for each of the multiple functions (S102).

[0084] The confidence interval calculation unit 1201 calculates a maximum upper confidence interval and a minimum lower confidence interval for each function based on the surrogate model for each function (S103). The range determination unit 1202 determines an input range for each function based on the calculated maximum upper confidence interval and minimum lower confidence interval (S104).

[0085] The acquisition function generation unit 1301 generates an acquisition function for each function based on the proxy model (S105). The input point selection unit 1302 extracts, for each function, input points in the determined input range whose acquisition function per cost value satisfies a first criterion (S106). For example, the input point selection unit 1302 extracts, for each function, an input point in the input range whose acquisition function per cost value is the largest. Then, the input point selection unit 1302 selects, from the extracted points for each function, an input point that satisfies a second criterion (S107). For example, the input point selection unit 1302 selects the largest input point from the extracted points.

[0086] The update unit 140 performs sampling based on the selected input points (S108). The update unit 140 updates the proxy model of the function included in the objective function using the initial data and the sampled data (S109).

[0087] If the predetermined condition is not satisfied ("No" in S110), the optimization support device 100 returns to the process of S103. That is, the optimization support device 100 repeats the processes of S103 to S108 until the predetermined condition is satisfied. An example of the predetermined condition is the number of times the representative model has been updated.

[0088] Then, the calculation unit 150 calculates an input point according to the desired output of the objective function (S110). Note that this operation example is merely an example. That is, the operation of the optimization support device 100 is not limited to this example.

[0089] In this way, the optimization support device 100 of the second embodiment generates, for each function, a surrogate model indicating the predictive distribution of the output values ​​of the function. Next, the optimization support device 100 determines the input range of the child node function from the output range of the parent node function generated based on the surrogate model. The optimization support device 100 also selects input points for each function. At this time, for functions whose input ranges have been determined, the optimization support device 100 selects input points within the input range. Furthermore, the optimization support device 100 updates the surrogate model using data sampled for the selected input points. Then, the optimization support device 100 calculates input points corresponding to the desired output of the objective function using the predictive distribution of the output values ​​of the objective function calculated based on the surrogate model.

[0090] For a system to which multiple devices are connected, an optimal input for obtaining a desired output of the system is estimated through simulation. In the present disclosure, an example of an object that is regarded as an objective function is such a system as a whole. Also, an example of an object that is regarded as a function included in the objective function is each of the input / output operations of the multiple devices in such a system. In a situation where optimization is performed using a simulation of such a system as an objective function, the input of each function, i.e., the intermediate output, can be freely determined.

[0091] Assuming such a simulation, the optimization support device 100 can select any input point for each function and, as shown in the above configuration, can perform sampling for each function included in the objective function. Furthermore, at this time, the optimization support device 100 can perform sampling while taking into account the realizable input range for each function. In other words, the optimization support device 100 can perform sampling after appropriately excluding intermediate outputs that cannot be output regardless of how the input to the objective function is manipulated. Therefore, the optimization support device 100 can efficiently obtain a surrogate model that is more suitable for use in calculating input points corresponding to the desired output of the objective function.

[0092] That is, when intermediate outputs of an objective function to which multiple functions are connected can be manipulated arbitrarily, the optimization support device 100 can support the estimation of inputs for obtaining a desired output of the objective function.

[0093] The surrogate model may be a model in which the predicted distribution of output values ​​for unknown input values ​​is expressed using a mean and a variance. The optimization support device 100 then calculates the upper and lower limits of the confidence interval of the parent node function from the mean and variance based on the surrogate model of the parent node function, and determines the range from the calculated upper limit to the lower limit as the input range of the child node function. In this way, the optimization support device 100 can determine the input range of the child node function, taking into account the upper and lower limits of the range of values ​​output by the parent node function.

[0094] Alternatively, the optimization support device 100 may generate an acquisition function based on the surrogate model for each function, extract input points for each function within a determined input range based on the cost determined for the function, whose acquisition function value per cost satisfies a first criterion, and select input points that satisfy a second criterion from among the extracted points for each function. This allows the optimization support device 100 to, for example, prioritize sampling of functions with high acquisition function values ​​per cost. This allows the optimization support device 100 to first use functions with low costs to obtain an outline of the predictive distribution of the objective function, thereby suppressing increases in costs spent on overall processing.

[0095] [Variations] The selection unit 130 selects, for each function, input points within the determined input range whose acquisition function value per cost satisfies a predetermined criterion. The cost-related information at this time may be estimated by the optimization support device 100.

[0096] As described in the operation example of the optimization support device 100, the generation unit 110 generates a surrogate model for each of a plurality of functions using initial data. The initial data may be data obtained by sampling each function multiple times. Here, a cost is incurred for each sampling. For example, a predetermined time is required for each sampling. Therefore, the generation unit 110 may estimate the cost of each function from the cost spent on sampling. For example, assume that multiple samplings are performed on function f1. In this case, the generation unit 110 calculates the average of the costs incurred by the sampling. The generation unit 110 may estimate the calculated average cost as the cost of f1. Note that information on the costs incurred by each sampling is included in the initial data.

[0097] In this way, the generation unit 110 generates a surrogate model for each function using initial data obtained by sampling each function multiple times. At this time, the initial data includes a set of input points and corresponding output points for each function, and information indicating the cost incurred for each sampling. The generation unit 110 may then estimate the cost of each function from the information indicating the cost included in the initial data.

[0098] [Specific example] The optimization support device 100 of the present disclosure can be applied to, for example, simulations related to airplane design.

[0099] Specifically, suppose a simulation is performed to output the fuel efficiency of an airplane. In this case, the simulation to output the fuel efficiency includes a structural mechanics simulation to design the materials of the airplane and a fluid dynamics simulation to design the shape of the wings based on information about the designed materials. In this case, of the objective functions shown in the graph in Figure 1, the structural mechanics simulation is function f1 and the fluid dynamics simulation is function f2.

[0100] In this case, the input x is the type of material, composition ratio, hardness, etc. The intermediate output y1 indicates the material of the airplane, and the output y2 is the fuel consumption.

[0101] In such a situation, by using the method of this embodiment, function f1 is executed using various values ​​of x, and function f2 is executed using various values ​​of y1, etc. In other words, for each function, arbitrary inputs can be determined and evaluation can be performed for each function.

[0102] As another specific example, the optimization support device 100 of the present disclosure can also be applied to a simulation of a product shipping process in a factory. This simulation is implemented as a system built on a server, collects information on each process in the factory via a network, and calculates an optimal production plan and shipping schedule for the product.

[0103] Specifically, suppose a simulation is performed to find the optimal process for manufacturing and shipping a product by its delivery date. The simulation includes a manufacturing process simulation that represents the process of manufacturing the product's parts, an assembly process simulation that represents the process of assembling the manufactured parts, and a shipping process simulation that represents the process of packaging and shipping the assembled product. In this case, among the objective functions shown in the graph in Figure 1, the manufacturing process simulation is function f1, the assembly process simulation is function f2, and the shipping process simulation is function f3.

[0104] In this case, input x is the type of product, the number of required parts, the production start date, etc. Intermediate output y1 indicates the type and quantity of parts produced in the manufacturing process. Intermediate output y2 indicates the type and quantity of products assembled in the assembly process. Finally, output y3 is an evaluation value of the entire shipping process, including the shipping date and transportation costs.

[0105] Information on each process is collected from sensors and cameras attached to manufacturing machines, assembly robots, and shipping equipment, and aggregated on a server via a network. Based on the aggregated information, an optimization support device 100 on the server executes a simulation while obtaining input and output values ​​for each function.

[0106] In such a situation, by using the method of this embodiment, function f1 is executed using various product types, quantities, production start dates, etc. as input values ​​x, and function f2 is executed using various combinations of manufactured parts as input values ​​y1. In other words, for each process, arbitrary inputs can be defined and evaluations can be performed for each function. This makes it possible to quickly calculate new production plans and shipping schedules even if the product types, quantities, or delivery dates change.

[0107] As described above, by using the optimization support device 100 implemented on a server, it is possible to simulate and optimize the entire product shipping process while collecting information within the factory.

[0108] It should be noted that this specific example shows an example of a situation in which the optimization support device 100 is applied, but the situation in which the optimization support device 100 is applied is not limited to this example.

[0109] <Example of hardware configuration for optimization support device> The hardware constituting the optimization support device of the first and second embodiments described above will now be described. Fig. 9 is a block diagram showing an example of the hardware configuration of a computer device constituting the optimization support device in each embodiment. The optimization support device and optimization support method described in each embodiment and each modified example are realized in a computer device 90. For example, the optimization support device etc. described in each embodiment and each modified example may have the hardware configuration shown in Fig. 9.

[0110] 9, a computer device 90 includes a processor 91, a RAM (Random Access Memory) 92, a ROM (Read Only Memory) 93, a storage device 94, an input / output interface 95, a bus 96, and a drive device 97. Note that the optimization support device and the like may be realized by a plurality of electric circuits.

[0111] The storage device 94 stores a program (computer program) 98. The processor 91 executes the program 98 of the reception support system using the RAM 92. Specifically, for example, the program 98 includes a program that causes a computer to execute the processes shown in FIGS. 3 and 8, etc. The processor 91 executes the program 98 to realize the functions of each component of the optimization support device. The program 98 may be stored in the ROM 93. The program 98 may also be recorded on the storage medium 80 and read out using the drive device 97, or may be transmitted to the computer device 90 from an external device (not shown) via a network (not shown).

[0112] The input / output interface 95 exchanges data with peripheral devices (such as a keyboard, a mouse, and a display device) 99. The input / output interface 95 functions as a means for acquiring or outputting data. The bus 96 connects each component.

[0113] There are various variations in the implementation of the optimization support device. For example, each component included in the optimization support device can be implemented as a dedicated device. Furthermore, the optimization support device can be implemented based on a combination of multiple devices.

[0114] The scope of each embodiment also includes a processing method for recording a program for realizing each configuration of the function of each embodiment on a storage medium, reading the program recorded on the storage medium as code, and executing it on a computer. That is, a computer-readable storage medium is also included in the scope of each embodiment. Furthermore, the storage medium on which the above-mentioned program is recorded and the program itself are also included in each embodiment.

[0115] The storage medium may be, but is not limited to, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD (Compact Disc)-ROM, a magnetic tape, a non-volatile memory card, or a ROM. The programs recorded on the storage medium are not limited to standalone programs that execute processes, but also include programs that run on an OS (Operating System) in cooperation with other software and functions of an expansion board.

[0116] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

[0117] Furthermore, the above-described embodiments and modifications can be combined as appropriate.

[0118] Some or all of the above-described embodiments can be described as, but are not limited to, the following supplementary notes.

[0119] <Additional Notes>

[0120] [Appendix 1] The objective function is a model in which the relationships between multiple functions can be expressed as a directed acyclic graph with functions as nodes and inputs and outputs as edges. A generating means for generating a surrogate model indicating a predictive distribution of output values ​​of the function for each function; a determining means for determining an input range of a function of a child node from an output range of a function of a parent node estimated based on the proxy model; a selection means for selecting an input point within the determined input range; updating means for updating the surrogate model using sampled data for selected input points; a calculation means for calculating an input point corresponding to a desired output of the objective function by utilizing a predictive distribution of the output value of the objective function calculated based on the surrogate model, Optimization support device.

[0121] [Appendix 2] The surrogate model is a model in which a predicted distribution of an output value for an unknown input value is expressed using a mean and a variance, the determining means calculates an upper limit and a lower limit of a confidence interval of the function of the parent node from the mean and variance based on the surrogate model of the function, and determines the range from the calculated upper limit to the calculated lower limit as the input range of the function of the child node; 2. The optimization support device according to claim 1.

[0122] [Appendix 3] The determination means calculates upper and lower limits of a confidence interval of a function based on a model that uses a mean and variance based on the surrogate model and a hyperparameter indicating a weight that takes variance into consideration; The determining means changes the hyperparameters according to the number of samplings. 3. The optimization support device according to claim 2.

[0123] [Appendix 4] the calculation means calculates an input point according to a desired output of the objective function based on an acquisition function corresponding to the objective function; An acquisition function corresponding to the objective function is generated based on a predictive distribution of output values ​​of the objective function obtained by performing a process of sampling candidate output points of a child node function using candidate output points sampled for a parent node function, from the root node function to the leaf node function. 2. The optimization support device according to claim 1.

[0124] [Appendix 5] The selection means generating, for each function, a capture function based on the surrogate model; extracting, for each function, input points in the determined input range whose value of the acquisition function per cost satisfies a first criterion based on the costs determined for the functions; Selecting input points from the extracted points for each function that satisfy a second criterion; 2. The optimization support device according to claim 1.

[0125] [Appendix 6] The selection means Using the sampled output candidate points for the parent node function, the process of sampling the output candidate points for the child node function is carried out up to the leaf node function that is reachable from each function, thereby calculating a predictive distribution of the output of the objective function corresponding to the input of each function. Generate an acquisition function from the calculated predictive distribution. 6. The optimization support device according to claim 5.

[0126] [Appendix 7] the generating means generates the surrogate model for each function using initial data obtained by sampling each function multiple times; the initial data includes, for each function, a set of input points and corresponding output points, and information indicating a cost incurred for each sampling; the generating means estimates the cost of each function from information indicating the cost included in the initial data; 7. The optimization support device according to claim 5 or 6.

[0127] [Appendix 8] repeating the processes of the determining means, the selecting means, and the updating means until a predetermined condition is satisfied; 2. The optimization support device according to claim 1.

[0128] [Appendix 9] The objective function is a model in which the relationships between multiple functions can be expressed as a directed acyclic graph with functions as nodes and inputs and outputs as edges. generating a surrogate model for each function that indicates the predictive distribution of the function's output values; determining an input range of a function of a child node from an output range of a function of a parent node estimated based on the surrogate model; Select an input point within the determined input range; updating the surrogate model using sampled data for selected input points; calculating an input point corresponding to a desired output of the objective function using a predictive distribution of the output value of the objective function calculated based on the surrogate model; Optimization support methods.

[0129] [Appendix 10] The objective function is a model in which the relationships between multiple functions can be expressed as a directed acyclic graph with functions as nodes and inputs and outputs as edges. generating, for each function, a surrogate model that indicates a predictive distribution of the output values ​​of the function; a process of determining an input range of a function of a child node from an output range of a function of a parent node estimated based on the proxy model; selecting an input point within the determined input range; updating the surrogate model using sampled data for selected input points; and calculating an input point corresponding to a desired output of the objective function using a predictive distribution of the output value of the objective function calculated based on the surrogate model. program.

[0130] Furthermore, some or all of the configurations described in Supplementary Notes 2 to 8, which are dependent on Supplementary Note 1, may also be dependent on Supplementary Notes 9 and 10 in the same dependent relationship as Supplementary Notes 2 to 8. Furthermore, within the scope of each of the above-mentioned embodiments, some or all of the configurations described as Supplements may be made dependent on various hardware, software, various recording means for recording software, or systems. [Explanation of symbols]

[0131] 100 Optimization Support Device 110 Generation part 120 Decision Section 1201 Confidence interval calculation section 1202 Range determination section 130 Selection Section 1301 Acquisition Function Generation Unit 1302 Input point selection section 140 Update Department 150 Calculation Unit

Claims

1. The objective function is a model in which the relationships between multiple functions can be expressed as a directed acyclic graph with functions as nodes and inputs and outputs as edges. A generating means for generating a surrogate model indicating a predictive distribution of output values ​​of the function for each function; a determining means for determining an input range of a function of a child node from an output range of a function of a parent node estimated based on the proxy model; a selection means for selecting an input point within the determined input range; updating means for updating the surrogate model using sampled data for selected input points; a calculation means for calculating an input point corresponding to a desired output of the objective function by utilizing a predictive distribution of the output value of the objective function calculated based on the surrogate model, Optimization support device.

2. The surrogate model is a model in which a predicted distribution of an output value for an unknown input value is expressed using a mean and a variance, the determining means calculates an upper limit and a lower limit of a confidence interval of the function of the parent node from the mean and variance based on the surrogate model of the function, and determines the range from the calculated upper limit to the calculated lower limit as the input range of the function of the child node; The optimization support device according to claim 1 .

3. The determination means calculates upper and lower limits of a confidence interval of a function based on a model that uses a mean and variance based on the surrogate model and a hyperparameter indicating a weight that takes variance into consideration; The determining means changes the hyperparameters according to the number of samplings. The optimization support device according to claim 2 .

4. the calculation means calculates an input point according to a desired output of the objective function based on an acquisition function corresponding to the objective function; An acquisition function corresponding to the objective function is generated based on a predictive distribution of output values ​​of the objective function obtained by performing a process of sampling candidate output points of a child node function using candidate output points sampled for a parent node function, from the root node function to the leaf node function. The optimization support device according to claim 1 .

5. The selection means generating, for each function, a capture function based on the surrogate model; extracting, for each function based on the costs determined for the functions, input points in the determined input range whose value of the acquisition function per cost satisfies a first criterion; selecting input points from the extracted points for each function that satisfy a second criterion; The optimization support device according to claim 1 .

6. The selection means Using the sampled output candidate points for the parent node function, the process of sampling the output candidate points for the child node function is carried out up to the leaf node function that is reachable from each function, thereby calculating a predictive distribution of the output of the objective function corresponding to the input of each function. Generate an acquisition function from the calculated predictive distribution. The optimization support device according to claim 5.

7. the generating means generates the surrogate model for each function using initial data obtained by sampling each function multiple times; the initial data includes, for each function, a set of input points and corresponding output points, and information indicating a cost incurred for each sampling; the generating means estimates the cost of each function from information indicating the cost included in the initial data; 7. The optimization support device according to claim 5 or 6.

8. repeating the processes of the determining means, the selecting means, and the updating means until a predetermined condition is satisfied; The optimization support device according to claim 1 .

9. The objective function is a model in which the relationships between multiple functions can be expressed as a directed acyclic graph with functions as nodes and inputs and outputs as edges. generating a surrogate model for each function that indicates the predictive distribution of the function's output values; determining an input range of a function of a child node from an output range of a function of a parent node estimated based on the surrogate model; Select an input point within the determined input range; updating the surrogate model using sampled data for selected input points; calculating an input point corresponding to a desired output of the objective function using a predictive distribution of the output value of the objective function calculated based on the surrogate model; Optimization support methods.

10. The objective function is a model in which the relationships between multiple functions can be expressed as a directed acyclic graph with functions as nodes and inputs and outputs as edges. generating, for each function, a surrogate model that indicates a predictive distribution of the output values ​​of the function; a process of determining an input range of a function of a child node from an output range of a function of a parent node estimated based on the proxy model; selecting an input point within the determined input range; updating the surrogate model using sampled data for selected input points; and calculating an input point corresponding to a desired output of the objective function using a predictive distribution of the output value of the objective function calculated based on the surrogate model. program.