Information processor, vehicle control system, mobile body control system, information processing method, program, and circuit information

The information processing device optimizes black-box functions through an iterative process involving a surrogate model and data deletion, addressing the challenge of high-accuracy optimization with minimal samplings.

JP2025122557APending Publication Date: 2025-08-21KK TOSHIBA
View PDF 13 Cites 0 Cited by

Patent Information

Application Number
JP2024018133
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-08
Publication Date
2025-08-21

AI Technical Summary

Technical Problem

Existing black-box optimization techniques struggle to optimize unknown functions with high accuracy using a small number of samplings, particularly in optimizing discrete parameters.

Method used

An information processing device executes an estimation, optimization, sampling, and addition process, utilizing a surrogate model based on a history data set, and includes a deletion process to maintain a focused data set for improved accuracy.

Benefits of technology

The solution allows for accurate optimization of black-box functions with a reduced number of samplings by using a surrogate model and a deletion process to ensure the data set remains relevant, enhancing control accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025122557000001_ABST
    Figure 2025122557000001_ABST
Patent Text Reader

Abstract

To accurately optimize a black box function with a small number of times of sampling.SOLUTION: An information processor according to an embodiment repeatedly executes estimation processing, optimization processing, sampling processing, and addition processing. The information processor estimates a surrogate model on the basis of a historical data set in the estimation processing. The information processor calculates, as an N-number of discrete parameters, solution of an optimization problem that minimizes or maximizes the surrogate model in the optimization processing. The information processor samples an output value in the sampling processing. The information processor adds, to the historical data set, historical data including the N-number of discrete parameters and the output value in the addition processing. The information processor further executes delete processing of deleting at least part of one or a plurality of pieces of historical data from the historical data set.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, a vehicle control system, a mobile object control system, an information processing method, a program, and circuit information. [Background technology]

[0002] Black-box optimization is a well-known optimization technique that optimizes unknown black-box functions by sampling the black-box functions from outside. Black-box optimization involves finding input values ​​for the black-box function, which is similar to optimizing the black-box function.

[0003] One black-box optimization technique involves repeating the following process: estimating a surrogate model that approximates a black-box function based on output values ​​sampled from the black-box function, calculating parameters to optimize the surrogate model, and then re-sampling output values ​​from the black-box function using the calculated parameters. The optimization performance of such a technique depends on the quality of the approximation of the surrogate model.

[0004] In recent years, a black-box optimization technique called FMQA has been gaining attention. This technique combines optimization using factorization machines (FM) and quantum annealing Ising machines (QA). This technique optimizes binary discrete parameters using a surrogate model expressed as a function form containing terms that represent interaction coefficients between variables using the dot product of vectors, called a factorization machine (FM). This technique learns the coefficients of the surrogate model using machine learning from output values ​​obtained by sampling, and then uses an Ising machine to calculate a solution that minimizes the learned surrogate model. This technique then repeats the process of re-sampling new output values ​​from the black-box function using the solution that minimizes the surrogate model. This black-box optimization technique, called FMQA, can reduce the number of coefficients included in the surrogate model, allowing for efficient optimization with minimal computational effort.

[0005] The performance of such black-box optimization methods is said to be better the fewer the number of samples and the better the evaluation results of the black-box function for the input values ​​found.In particular, research into black-box optimization, which optimizes discrete parameters, has just begun, and there is room for improvement in performance. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Japanese Patent Publication No. 2022-003484 [Patent Document 2] Patent Publication No. 2021-060864 [Patent Document 3] Japanese Patent Application Publication No. 2019-145010 [Patent Document 4] Japanese Patent Application Publication No. 2019-159566 [Patent Document 5] Japanese Patent Publication No. 2021-043667 [Patent Document 6] Japanese Patent Publication No. 2021-043589 [Non-patent literature]

[0007] [Non-Patent Document 1] Koki Kitai, Jiang Guo, Shenghong Ju, Shu Tanaka, Koji Tsuda, Junichiro Shiomi, and Ryo Tamura, “Designing metamaterials with quantum annealing and factorization machines,” Phys. Rev. Research 2, 013319 https: / / doi.org / 10.1103 / PhysRevResearch.2.013319, March 16, 2020 [Non-patent document 2] Hayato Goto, Kosuke Tatsumura and Alexander R. Dixon, “Combinatorial optimization by simulating adiabatic bifurcations in nonlinear Hamiltonian systems,” Science Advances 5, eaav2372, 2019 [Non-patent document 3] Hayato Goto, Kotaro Endo, Masaru Suzuki, Yoshisato Sakai, Taro Kanao, Yohei Hamakawa, Ryo Hidaka, Masaya Yamasaki and Kosuke Tatsumura, “High-performance combinatorial optimization based on classical mechanics”, Science Advances 7, eabe7953, 2021 Summary of the Invention [Problem to be solved by the invention]

[0008] The problem to be solved by the present invention is to optimize a black-box function with high accuracy by a small number of samplings. [Means for solving the problem]

[0009] An information processing device according to an embodiment repeatedly executes an estimation process, an optimization process, a sampling process, and an addition process. In the estimation process, the information processing device estimates a surrogate model, which is a function including multiple discrete variables and which models a black-box function, based on a history data set. The history data set includes history data including N discrete parameters (N is an integer greater than or equal to 2) input to the black-box function and output values ​​output from the black-box function in response to the input of the N discrete parameters. In the optimization process, the information processing device calculates, as the N discrete parameters, a solution to an optimization problem that minimizes or maximizes the surrogate model estimated in the estimation process. In the sampling process, the information processing device samples the output value output from the black-box function based on sample values ​​obtained corresponding to the N discrete parameters calculated in the optimization process. In the addition process, the information processing device adds, to the history data set, history data including the N discrete parameters calculated in the optimization process and the output value sampled in the sampling process. The information processing device further executes a deletion process to delete from the history data set at least a portion of one or more of the history data that were added in the addition process more than a predetermined number of times ago or more than a predetermined time ago. [Brief explanation of the drawings]

[0010] [Figure 1] FIG. 1 is a configuration diagram of a control system according to a first embodiment. [Figure 2] FIG. 2 is a diagram showing a processing flow of the information processing apparatus according to the first embodiment. [Figure 3] FIG. 10 is a configuration diagram of a control system according to a first modified example. [Figure 4]FIG. 10 is a configuration diagram of a control system according to a second modified example. [Figure 5] FIG. 11 is a configuration diagram of a control system according to a third modified example. [Figure 6] FIG. 10 is a diagram for explaining a mapping process. [Figure 7] FIG. 10 is a configuration diagram of a control system according to a fourth modified example. [Figure 8] FIG. 11 is a diagram showing a processing flow of an information processing device according to a fifth modified example. [Figure 9] FIG. 13 is a configuration diagram of a control system according to a sixth modified example. [Figure 10] FIG. 13 is a configuration diagram of a control system according to a seventh modified example. [Figure 11] FIG. 13 is a configuration diagram of a control system according to an eighth modified example. [Figure 12] FIG. 10 is a configuration diagram of a vehicle control system according to a second embodiment. [Figure 13] FIG. 10 is a configuration diagram of a mobile object control system according to a third embodiment. [Figure 14] FIG. 10 is a configuration diagram of a mobile object control system according to a fourth embodiment. [Figure 15] FIG. 2 is a diagram showing an example of a time-series pattern of input and output of electric power. [Figure 16] FIG. 10 is a configuration diagram of a power system according to a fifth embodiment. [Figure 17] FIG. 10 is a configuration diagram of a suspension control system according to a sixth embodiment. [Figure 18] FIG. 13 is a diagram showing a first example of the configuration of a vehicle control system according to a seventh embodiment. [Figure 19] FIG. 20 is a diagram showing a second example of the configuration of a vehicle control system according to the seventh embodiment. [Figure 20] FIG. 1 is a diagram showing an example of a hardware configuration of an information processing apparatus. DETAILED DESCRIPTION OF THE INVENTION

[0011] Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.

[0012] (definition) Sampling refers to the process of obtaining the output value of a function when a certain input value is input to the function. The input and output values ​​can be any values. That is, the input and output values ​​can be a scalar value, multiple scalar values, or a vector. The input and output values ​​can also be values ​​that indicate some mode.

[0013] A black-box function is a function that is the target of sampling. The black-box function may be an unknown function or a function with a known functional form.

[0014] The N discrete parameters are input values ​​input to the black-box function. The N discrete parameters are a sequence of N discrete values, where N is an integer equal to or greater than 2. Each of the N discrete parameters may represent two values, 0 or 1, two values, +1 or -1, or three or more discrete values. The N discrete parameters may also be a sequence of N discrete values ​​arranged in time series, or N discrete values ​​arranged spatially.

[0015] The surrogate model is a function that models a black-box function. The surrogate model includes a plurality of discrete variables and outputs a scalar value. Each of N discrete parameters input to the black-box function corresponds to the value of one of the plurality of discrete variables. The surrogate model outputs a scalar value when N discrete parameters are input to the plurality of discrete variables. In this embodiment, the surrogate model is expressed by a quadratic function of the plurality of discrete variables. However, the surrogate model may be a quadratic or higher function of the plurality of discrete variables. Furthermore, the plurality of coefficients in the surrogate model may be discrete values ​​or continuous values.

[0016] The estimation process for estimating a surrogate model is a process for generating a surrogate model that approximates a black-box function. In this embodiment, the estimation process for estimating a surrogate model is a process for generating a plurality of coefficients in a surrogate model of a predetermined function form, for example, by machine learning, so that the relationship between input values ​​and output values ​​approximates the black-box function.

[0017] A combinatorial optimization solver is a device that finds values ​​of multiple discrete variables that optimize a function including multiple discrete variables. In other words, a combinatorial optimization solver is a device that finds a solution to a combinatorial optimization problem that optimizes a function including multiple discrete variables. The combinatorial optimization problem may be, for example, a function minimization problem or a function maximization problem. For example, a combinatorial optimization solver can solve both a function minimization problem and a function maximization problem using the same algorithm by inverting the positive and negative of the output value of the function to be solved. Furthermore, a combinatorial optimization problem may be a function minimization problem under predetermined constraints or a function maximization problem under predetermined constraints. A combinatorial optimization solver does not need to find an exact solution, as long as it can find an approximate solution. In other words, a combinatorial optimization solver may find a non-exact solution as long as it is a device that finds a solution based on some algorithm. A combinatorial optimization solver may also be able to calculate a solution to a problem that optimizes a function including continuous variables in addition to discrete variables.

[0018] Non-black-box control processing refers to processing for controlling a device using a method other than black-box optimization. For example, non-black-box control processing may be processing for executing PID (Proportional Integral Derivative) control or processing for executing control based on optimal control theory.

[0019] The historical data set is a set that includes historical data. The historical data set may include only one piece of historical data, or may be an empty set that does not include any historical data. The historical data includes N discrete parameters that are input to the black-box function, and output values ​​sampled in response to the N discrete parameters being input to the black-box function. In this embodiment, the surrogate model inductively estimates multiple coefficients included in a predetermined function form using the historical data set, such as through machine learning or statistical methods.

[0020] The historical data may include, as N discrete parameters, one or more values ​​obtained by converting N discrete parameters according to a predetermined rule. Furthermore, when the historical data is data in which the output value includes multiple elements, the historical data may include, as the output value, a scalar value obtained by converting the multiple elements according to a predetermined rule. By including such converted N discrete parameters or output values, the historical data can be represented with a small data volume.

[0021] (First embodiment) FIG. 1 is a diagram showing the configuration of a control system 10 according to the first embodiment together with a controlled object 100. As shown in FIG.

[0022] The control system 10 according to the first embodiment includes a control target 100 and an information processing device 20.

[0023] The controlled object 100 receives a control amount from the information processing device 20 and operates in accordance with the received control amount. In this embodiment, the controlled object 100 receives a control amount that changes over time from the information processing device 20 and operates in accordance with the received control amount. The controlled object 100 may receive one type of control amount, or may receive two or more types of control amounts in parallel. The control amount may be digital data, a value that represents the operation mode of the controlled object 100, or an analog amount such as current or voltage.

[0024] Furthermore, the control target 100 outputs a sensor value output from a sensor that observes the control target 100. The control target 100 may output one type of sensor value, or may output two or more types of sensor values.

[0025] The information processing device 20 controls the control object 100 based on a black-box optimization technique. More specifically, the information processing device 20 estimates a surrogate model that models a black-box function based on a historical data set. Next, the information processing device 20 calculates a solution to an optimization problem that minimizes or maximizes the estimated surrogate model as N discrete parameters. Next, the information processing device 20 controls the operation of the control object 100 by providing a control amount based on the calculated N discrete parameters to the control object 100. At the same time, the information processing device 20 samples an output value based on a sample value output from the control object 100 in response to the control amount being provided. Then, the information processing device 20 adds historical data including the N discrete parameters and the output value to the historical data set, and repeats the process again, starting with the process of estimating the surrogate model.

[0026] In this example, the information processing device 20 acquires the sensor values ​​output from a sensor observing the control object 100 as sample values ​​output from the control object 100 in response to the application of a control amount. However, the information processing device 20 may also simulate the operation of the control object 100 in response to the application of a control amount, and acquire the simulation results obtained by the simulation as sample values ​​output from the control object 100 in response to the application of a control amount.

[0027] In this embodiment, the black-box function is a function that receives N discrete parameters as input values ​​and outputs an output value in response to the input of the N discrete parameters. In this embodiment, the black-box function is a function that represents the control target 100 and the surrounding environment of the control target 100, and the function form may be unknown.

[0028] The information processing device 20 includes a history storage unit 22, an estimation unit 24, a proxy model storage unit 26, an optimization unit 28, a control unit 30, a sampling unit 32, an addition unit 34, a timing control unit 36, and a deletion unit 38.

[0029] The history storage unit 22 stores a history data set. Every time the sampling unit 32 samples an output value, new history data including the N discrete parameters that are the basis for outputting the output value and the sampled output value is added to the history data set.

[0030] A historical data set can be considered as a set of records in which historical data is registered. The historical data set includes historical data in an identifiable order. The order of the historical data is, for example, the order in which sample values ​​corresponding to output values ​​included in the historical data were output, the order in which output values ​​included in the historical data were sampled, or the order in which the historical data was added to the historical data set. Note that the order of the historical data may also be an order according to other criteria by which the historical data can be sorted.

[0031] The order of the history data may be identified by the data structure of the history data set, by the address in memory where the history data is recorded, by adding a numerical value indicating the order to the history data, or by adding a time stamp to the history data. For example, if the history storage unit 22 is a memory with a circular FIFO (First In First Out) structure, the order of the history data is identified by the address in memory and the start address and end address of the circular FIFO (First In First Out).

[0032] Furthermore, the historical data set may include historical data such that a time can be identified instead of or in addition to an order. The time of the historical data may be, for example, the time when a sample value corresponding to an output value included in the historical data was output, the time when an output value included in the historical data was sampled, or the time when the historical data was added to the historical data set. Note that the time of the historical data may also be a time according to other criteria.

[0033] The estimation unit 24 executes an estimation process to estimate a surrogate model. That is, the estimation unit 24 estimates a surrogate model, which is a function including multiple discrete variables that models a black-box function, based on the historical data set stored in the history storage unit 22. For example, the estimation unit 24 performs machine learning to generate multiple coefficients in the surrogate model based on one or more historical data included in the historical data set, so that the relationship between the input value and the output value approximates the black-box function. As a result, when N discrete parameters included in each historical data included in the historical data set are substituted for multiple discrete variables, the estimation unit 24 can generate a surrogate model that approximates a function that outputs an output value included in the corresponding historical data.

[0034] In this embodiment, the surrogate model has a predetermined functional form. That is, in this embodiment, the surrogate model is a function in which the coefficients are unknown and one or more discrete variables included in each term are known. In this embodiment, the surrogate model has terms in which at least two or more discrete variables are multiplied by coefficients. This allows the surrogate model to have terms that represent correlations between different discrete variables.

[0035] For example, the surrogate model may be represented by a quadratic function including N discrete variables, such as equation (1).

number

[0036] y is a real number representing the evaluation value of the surrogate model. i and j represent integers of 1 or more and N or less. x i represents the i-th discrete variable among N discrete variables. x j represents the j-th discrete variable among the N discrete variables. W ij is x i and x j represents the coefficient by which the quadratic terms containing w i is x i represents the coefficient by which the linear terms including w0 represents a coefficient by which the 0th-order term is multiplied, that is, a constant term, and is a real number. In addition, W ij , w i and w0 may be a binary value of 0 or 1, or a binary value of -1 or 1, etc.

[0037] As described above, the surrogate model of equation (1) is a function in which the evaluation value is expressed as a quadratic polynomial including N discrete variables.

[0038] In this embodiment, the surrogate model is expressed by a quadratic function including N discrete variables used in the factorization machine, such as equation (2). The quadratic function in equation (2) is x i and x j In a factorization machine, x i The vector v associated with i and x j The vector v associated with j The coefficient W in equation (1) is calculated by the dot product of ij Expresses.

number

[0039] K is an integer equal to or greater than 2 and less than N. k is an integer greater than or equal to 1 and less than or equal to K. v ik is x i and x zrepresents the coefficient by which the k-th quadratic term among the K quadratic terms including z is multiplied. Note that z is an integer between 1 and N. v jk is x z and x j represents the coefficient by which the k-th quadratic term among the K quadratic terms including

[0040] The surrogate model in equation (2) is the coefficient of the quadratic term in the surrogate model in equation (1), W ij to the vector (v i1 ,v i2 ,…,v iK ) and vector (v j1 ,v j2 ,…,v jK ) is expressed as an inner product with K. If K is smaller than N, the proxy model of equation (2) has a smaller number of coefficients than the proxy model of equation (1). Therefore, by setting K to a small value, the estimation unit 24 can accurately estimate the proxy model of equation (2) based on a small number of pieces of history data.

[0041] When the same N discrete parameters are input, such a surrogate model approximates the black-box function more accurately the closer the evaluation value y is to the output value output from the black-box function. However, the surrogate model may not be able to accurately approximate the entire domain of the black-box function. For example, the surrogate model's original function form may not be able to approximate the entire domain of the black-box function. However, local approximation is likely possible with the surrogate model's function system. In such cases, local approximation can be achieved by intentionally limiting the historical data used for induction. Furthermore, when controlling the control object 100 in real time, it is assumed that the number of samples required to approximate the entire domain cannot be secured. Even in such cases, the control object 100 can be appropriately controlled if the surrogate model locally approximates the range of the most recent output values.

[0042] The surrogate model storage unit 26 stores the surrogate model estimated by the estimation unit 24. The information of the surrogate model to be stored may be only the coefficients. Because the functional form of the surrogate model is limited, the information of the surrogate model to be exchanged may be only the coefficients of the surrogate model.

[0043] The optimization unit 28 executes an optimization process to optimize the surrogate model stored in the surrogate model storage unit 26. That is, the optimization unit 28 calculates a solution to an optimization problem that minimizes or maximizes the surrogate model stored in the surrogate model storage unit 26 as N discrete parameters.

[0044] The optimization unit 28 executes the optimization process using a combinatorial optimization solver. The optimization unit 28 may have a function of executing a combinatorial optimization solver. Alternatively, the optimization unit 28 may obtain a solution by providing an optimization problem to a combinatorial optimization solver executed by, for example, an accelerator or an offloader. Alternatively, the optimization unit 28 may obtain a solution by providing an optimization problem via a network to, for example, a server device executing a combinatorial optimization solver.

[0045] The optimization unit 28 may perform the optimization process using an Ising machine as a combinatorial optimization solver. When using an Ising machine, the optimization unit 28 converts the surrogate model into an equation expressing the Ising energy including N Ising spins, as shown in equation (3), and calculates the values ​​of the N Ising spins that minimize equation (3).

number

[0046] E represents the Ising energy. s i represents the i-th Ising spin among the N Ising spins. s j represents the j-th Ising spin among the N Ising spins. J ij is, s i and s jrepresents the interaction coefficient multiplied by the quadratic term containing h i is, s i represents the external magnetic field multiplied by the linear term containing

[0047] The optimization unit 28 may also be a simulated bifurcation machine. Simulated bifurcation machines are described in, for example, Patent Documents 2 to 6 and Non-Patent Documents 2 to 3. Simulated bifurcation machines are also called quantum-inspired algorithms because they were discovered inspired by quantum mechanical optimization techniques based on the quantum adiabatic theorem. Simulated bifurcation machines can solve combinatorial optimization problems in which the cost function is a quadratic function of multiple decision variables. Simulated bifurcation machines can also solve combinatorial optimization problems in which the cost function is a cubic or higher function of multiple decision variables, i.e., HUBO (Higher Order Binary Optimization) problems. For example, a simulated bifurcation machine that solves HUBO problems is described in Patent Document 5. Simulated bifurcation machines can also solve combinatorial optimization problems in which some or all of the multiple decision variables are continuous-valued variables. A simulated bifurcation machine that solves combinatorial optimization problems in which some or all of the multiple decision variables are continuous-valued variables is described in Patent Document 6. Such a simulated branching machine can calculate an approximate solution in a short time by using a highly parallel computer.

[0048] The optimization unit 28 may execute the optimization process using an Ising machine using simulated annealing or a digital annealer instead of the simulated bifurcation machine.

[0049] The optimization unit 28 provides the calculated N discrete parameters to the control unit 30. Furthermore, the optimization unit 28 provides the calculated N discrete parameters to the adding unit .

[0050] The control unit 30 executes a control process for controlling the control target 100 based on the N discrete parameters calculated by the optimization unit 28. Specifically, the control unit 30 generates a control amount based on the N discrete parameters calculated by the optimization unit 28. Then, the control unit 30 provides the generated control amount to the control target 100. This allows the control target 100 to operate in accordance with the provided control amount.

[0051] The control unit 30 may provide the N discrete parameters as control amounts directly to the control target 100. Alternatively, the control unit 30 may convert the format of the N discrete parameters and provide the control amounts represented by digital data or numerical values ​​in a predetermined format to the control target 100.

[0052] Furthermore, each of the N discrete parameters may represent one of the operation modes of the controlled object 100. These N discrete parameters may be optimized under a one-hot constraint so that two or more discrete parameters do not simultaneously become 1. When the control unit 30 acquires these N discrete parameters, it determines the mode of the controlled object 100 based on the acquired N discrete parameters and provides a value representing the determined mode to the controlled object 100 as a controlled variable. The control unit 30 may also provide the N discrete parameters to an analog circuit including a transistor, a relay, a photocoupler, etc. to generate a current, a voltage, etc. for driving or controlling the controlled object 100, and provide the generated current, voltage, etc. to the controlled object 100 as a controlled variable.

[0053] The sampling unit 32 executes sampling processing. More specifically, the sampling unit 32 samples the output value output from the black-box function based on the sample value obtained by applying, to the control target 100, control amounts corresponding to the N discrete parameters calculated by the control unit 30 in the optimization processing.

[0054] The output value is a value obtained by evaluating the N discrete parameters input to the black-box function based on evaluation indexes such as fuel efficiency, power consumption, or battery charge / discharge power. The sampling unit 32 may sample the acquired sample value as is as the output value. Alternatively, the sampling unit 32 may sample the output value by converting the sample value according to a predetermined rule. Alternatively, if the sample value includes multiple element values, the sampling unit 32 may sample a scalar value obtained by converting the multiple element values ​​according to a predetermined rule as the output value.

[0055] In this example, the sampling unit 32 acquires, as sample values, sensor values ​​output from a sensor that observes the operation of the control target 100. For example, the sensor may be a device that acquires the control results of the control target 100, which is a machine or device. The sensor may also be a device that acquires information on the status of the control target 100 or the surrounding environment of the control target 100. The sensor may also be a device that acquires a GPS (Global Positioning System) signal to detect the position or speed of the control target 100 or a peripheral device. The sampling unit 32 may also acquire, as sample values, simulation results obtained by simulating the operation of the control target 100.

[0056] Furthermore, the sampling unit 32 may or may not actively determine the timing for acquiring sample values. For example, when acquiring the speed of a vehicle, the sampling unit 32 acquires the speed at each predetermined sampling timing. For example, when acquiring a distance detected by a distance measurement device such as a Lidar (Light Detection and Ranging) device, the sampling unit 32 acquires the distance based on the timing at which the distance measurement device receives light reflected from an object.

[0057] Furthermore, the sampling unit 32 may acquire a plurality of sample values ​​each time the control unit 30 provides the control target 100 with a control amount based on the N discrete parameters calculated in the optimization process. The sampling unit 32 may then generate one output value based on the acquired plurality of sample values, or may generate an output value based on the corresponding sample value for each of the acquired plurality of sample values.

[0058] The adding unit 34 executes an adding process to add the history data to the history data set stored in the history storage unit 22. More specifically, the adding unit 34 acquires the N discrete parameters calculated in the optimization process by the optimization unit 28 and the output values ​​output by the sampling unit 32. Then, the adding unit 34 generates history data including the N discrete parameters calculated in the optimization process and the output values, and adds the generated history data to the history data set.

[0059] When the sampling unit 32 outputs multiple output values ​​each time a control amount is applied to the control target 100, the adding unit 34 generates history data for each of the multiple output values ​​and adds the history data to the history data set. In this case, the adding unit 34 sets different rankings for each of the multiple pieces of history data generated in response to applying a control amount to the control target 100 once.

[0060] The timing control unit 36 ​​instructs the estimating unit 24 to repeatedly execute the estimation process, the optimizing unit 28 to repeatedly execute the optimization process, the control unit 30 to repeatedly execute the control process, the sampling unit 32 to repeatedly execute the sampling process, and the adding unit 34 to repeatedly execute the addition process. This enables the timing control unit 36 ​​to control the controlled object 100 based on the black-box optimization technique that generates N discrete parameters that optimize a black-box function.

[0061] Note that when calculating an approximate solution, the combinatorial optimization solver used by the optimization unit 28 has a trade-off between solution quality and calculation speed. Such combinatorial optimization solvers may have a parameter that sets the solution quality, i.e., a parameter that sets the calculation speed. In this embodiment, the parameter that sets the solution quality is referred to as a solution control parameter. For example, since simulated branching machines and simulated annealing perform repeated calculations, a step count, which represents the number of repeated calculations, is set. For simulated branching machines and simulated annealing, the greater the number of steps, the better the solution quality tends to be. Better solution quality means, for example, obtaining a solution close to the exact solution or increasing the probability of satisfying constraints. On the other hand, for simulated branching machines and simulated annealing, the greater the number of steps, the longer it takes to obtain a solution. The solution control parameter does not need to be in a trade-off relationship with execution time, as long as it affects the randomness of the solution. Here, poor solution quality refers to high randomness of the solution. By increasing the randomness of the solutions, combinatorial optimization solvers will actively explore areas that have not currently been explored, preventing searches from being performed only locally.

[0062] The timing control unit 36 ​​may change the solution control parameters of the optimization unit 28 during the iterations of the black-box optimization process. For example, the timing control unit 36 ​​may set the solution control parameters to increase randomness in the initial stage of the iterations, and change the solution control parameters to improve the quality of the solution after the initial stage of the iterations. For example, the timing control unit 36 ​​may reduce the number of steps in the initial stage of the iterations and increase the number of steps after the initial stage of the iterations. In this way, the timing control unit 36 ​​can execute the optimization process at a high calculation speed from the start of the control until N discrete parameters of a certain quality are generated, and execute the optimization process with high quality after N discrete parameters of a certain quality are generated. Note that the timing control unit 36 ​​may gradually change the solution control parameters so that the quality of the solution improves as the number of iterations of the black-box optimization process increases. For example, the timing control unit 36 ​​may gradually increase the number of steps as the number of iterations of the black-box optimization process increases.

[0063] The deletion unit 38 executes a deletion process to delete at least a portion of one or more pieces of history data that were added in an addition process more than a predetermined number of times or more than a predetermined time from the history data set stored in the history storage unit 22.

[0064] For example, when the history data set includes more than a predetermined number of pieces of history data, the deletion unit 38 deletes some of the history data included in the history data set so that at least the predetermined number of pieces of history data remain in the history data set. In this case, the deletion unit 38 prioritizes deletion of earlier history data in the history data set. That is, the deletion unit 38 prioritizes deletion of earlier added history data over later added history data. That is, the deletion unit 38 prioritizes deletion of older history data over newer history data.

[0065] For example, after executing the addition process, the deletion unit 38 determines whether the history data set includes more than a predetermined number of pieces of history data, and if the history data set includes more than the predetermined number of pieces of history data, deletes a predetermined number of pieces of history data in descending order of the pieces that were added earlier.Also, if the history data set includes more than a predetermined number of pieces of history data after executing the addition process, the deletion unit 38 may select a predetermined number of pieces of history data in descending order of the pieces that were added last, and delete all of the history data that has not been selected.

[0066] By performing such processing, the deletion unit 38 can leave in the history data set a predetermined number of history data items that were added last. That is, the deletion unit 38 can leave in the history data set a predetermined number of history data items that were added most recently.

[0067] Furthermore, if a time stamp is attached to the history data, the deletion unit 38 may delete some of the history data included in the history data set, for example, so that at least history data from a time later than a predetermined time remains in the history data set. In this case, the deletion unit 38 prioritizes deleting earlier history data from the history data set. The predetermined time may be, for example, a predetermined time before the time of the latest history data or a predetermined time before the current reference processing time.

[0068] Furthermore, after executing the adding process, the deletion unit 38 determines whether the history data set includes history data before a predetermined time, and if the history data set includes history data before the predetermined time, deletes a predetermined number of history data items in order of oldest to newest. Furthermore, if the history data set includes history data before the predetermined time, the deletion unit 38 may delete all history data before the predetermined time.

[0069] By performing such processing, the deletion unit 38 can leave in the history data set history data that was added to the history data set after a predetermined time.

[0070] The deletion unit 38 described above can cause the estimation unit 24 to estimate a proxy model using the most recently added history data. That is, the deletion unit 38 can cause the estimation unit 24 to estimate a proxy model without using relatively old history data. Therefore, when the control target 100 is controlled in real time by, for example, black-box optimization, the deletion unit 38 can estimate a proxy model without using relatively old history data that would deteriorate the approximation performance. This allows the deletion unit 38 to estimate a proxy model that is accurately approximated for a black-box function that changes over time.

[0071] The deletion unit 38 may treat specific history data included in the history data set as fixed history data, and may not delete the fixed history data even if the fixed history data is history data prior to a predetermined order or a predetermined time. This allows the deletion unit 38 to continue to include specific history data that does not change over time, for example, in the history data set.

[0072] Furthermore, if the history data set includes a deletion flag that identifies whether the history data has been logically deleted, the deletion unit 38 may logically delete the history data by rewriting the deletion flag. In this case, the deletion unit 38 can include the deleted history data in the history data set again by rewriting the deletion flag of the deleted history data.

[0073] 2 is a flowchart showing the flow of processing by the information processing device 20. The information processing device 20 executes processing on the control target 100 according to the flow shown in FIG.

[0074] First, in S101, the information processing device 20 determines whether or not the history data set includes a first number or more of history data. The first number is a predetermined number of two or more.

[0075] If the history data set does not include the first number of pieces of history data or more (No in S101), the information processing device 20 proceeds to S102. If the history data set includes the first number of pieces of history data or more (Yes in S101), the information processing device 20 proceeds to S103. In this example, when the processing in FIG. 2 starts, the history data set is an empty set that does not include any history data.

[0076] In S102, the information processing device 20 randomly determines N discrete parameters based on, for example, random numbers. Note that the information processing device 20 may select N preset discrete values ​​as the N discrete parameters. The N preset discrete values ​​may be different for each repetition of this flow. For example, the N preset discrete values ​​may be set at the time of factory shipment or may be the results of the immediately preceding control process for the control target 100. After completing S102, the information processing device 20 proceeds to S105.

[0077] In S103, the information processing device 20 executes an estimation process to estimate a surrogate model based on the history data set. That is, the estimation unit 24 of the information processing device 20 performs machine learning based on the history data set to estimate a surrogate model. As a result, when N discrete parameters included in the history data included in the history data set are substituted for multiple discrete variables, the information processing device 20 can generate a surrogate model that approximates a function that outputs output values ​​included in the corresponding history data.

[0078] Subsequently, in S104, the information processing device 20 executes an optimization process to optimize the surrogate model. More specifically, the information processing device 20 uses a combinatorial optimization solver to calculate a solution to an optimization problem that minimizes or maximizes the surrogate model as N discrete parameters. After completing S104, the information processing device 20 advances the process to S105.

[0079] In S105, the information processing device 20 executes a control process for controlling the control target 100 based on the N discrete parameters. More specifically, the information processing device 20 generates a control amount based on the N discrete parameters. Then, the information processing device 20 applies the generated control amount to the control target 100 to control the control target 100.

[0080] Subsequently, in S106, the information processing device 20 executes a sampling process of sampling sample values ​​obtained by giving control amounts according to the N discrete parameters to the controlled object 100 as output values ​​output from the black box function.

[0081] Subsequently, in S107, the information processing device 20 executes an adding process to add the history data to the history data set. More specifically, the information processing device 20 generates history data including the N discrete parameters calculated or determined in S102 or S104 and the output value sampled in S106, and adds the generated history data to the history data set.

[0082] Next, in S108, the information processing device 20 determines whether the history data set includes more than a second number of pieces of history data. The second number is a predetermined number equal to or greater than 2. The second number may be the same as or different from the first number.

[0083] If the history data set does not include more than the second number of pieces of history data (No in S108), the information processing device 20 skips S109 and returns the process to S101. If the history data set includes more than the second number of pieces of history data (Yes in S108), the information processing device 20 proceeds to the process at S109.

[0084] In S109, the information processing device 20 executes a deletion process to delete from the history data set at least a portion of one or more history data items that were added in an addition process more than a predetermined number of times ago or more than a predetermined time ago. In this example, the information processing device 20 deletes a predetermined number of history data items, for example, one history data item. In this case, the information processing device 20 prioritizes deletion of the history data item that is earlier in the history data set, i.e., the history data item that was added first. In other words, the information processing device 20 prioritizes deletion of older history data over newer history data.

[0085] Instead of deleting a predetermined number of pieces of history data, the information processing device 20 may select a second number of pieces of history data in the order of most recently added, and delete all of the history data that has not been selected.

[0086] When the information processing device 20 completes the process of S109, the process returns to S101. Then, the information processing device 20 repeatedly executes the processes from S101 to S109. For example, the information processing device 20 may execute the processes from S101 to S109 at predetermined time intervals. Furthermore, the information processing device 20 may execute the processes from S101 to S109 every time a predetermined event that repeatedly occurs is detected.

[0087] The information processing device 20 according to the first embodiment as described above can estimate a proxy model using the most recently added history data, without using relatively old history data. Relatively old history data may include output values ​​that are far from the output values ​​of the current black-box function. Therefore, if a proxy model is estimated using relatively old history data, the accuracy of the approximation to the current black-box function may decrease. In contrast, the information processing device 20 according to the first embodiment does not use relatively old history data, but instead uses the most recently added history data for estimation, and thus can estimate a proxy model that accurately approximates the current black-box function.

[0088] As a result, the information processing device 20 according to the first embodiment can accurately optimize the black-box function around the currently sampled controlled variable (the region where the control inputs are similar) even with a small number of samplings. Therefore, the information processing device 20 according to the first embodiment can execute control by black-box optimization with high responsiveness and high accuracy for, for example, a dynamically changing controlled object 100.

[0089] (First Modification) Next, a first modification of the control system 10 according to the first embodiment will be described.

[0090] Note that each of the modified examples of the control system 10 described below has substantially the same functions and configurations as the control system 10 according to the first embodiment described with reference to Figures 1 and 2, and therefore the components having substantially the same functions and configurations are denoted by the same reference numerals, and detailed descriptions thereof will be omitted except for differences. Also, any two or more of the multiple modified examples described below may be simultaneously applied to the control system 10 according to the first embodiment.

[0091] FIG. 3 is a diagram showing the configuration of a control system 10 according to a first modified example, together with a controlled object 100. As shown in FIG.

[0092] The information processing device 20 according to the first modification further includes a duplication prevention unit 42 that executes duplication prevention processing.

[0093] The duplication prevention unit 42 acquires the N discrete parameters calculated by the optimization unit 28 executing the optimization process on behalf of the control unit 30. When the duplication prevention unit 42 acquires the N discrete parameters calculated by the optimization unit 28, it determines whether the N discrete parameters match the N discrete parameters that form the basis of the control amount given to the control target 100 a predetermined number of times before or a predetermined time before.

[0094] For example, the duplication prevention unit 42 determines whether or not the N discrete parameters calculated by the optimization unit 28 match the N discrete parameters included in any of one or more pieces of history data ranging from the most recent history data to the history data a predetermined time before, stored in the history storage unit 22. Alternatively, the duplication prevention unit 42 determines whether or not the N discrete parameters calculated by the optimization unit 28 match the N discrete parameters included in any of one or more pieces of history data ranging from the most recent history data to the history data a predetermined time before, stored in the history storage unit 22.

[0095] If they do not match, the duplication prevention unit 42 provides the acquired N discrete parameters to the control unit 30 as they are.

[0096] If there is a match, the duplication prevention unit 42 causes the optimization unit 28 to re-execute the optimization process without providing the acquired N discrete parameters to the control unit 30. Then, the duplication prevention unit 42 again acquires new N discrete parameters calculated by the re-executed optimization process.

[0097] The optimization unit 28 may repeatedly calculate the same N discrete parameters over a relatively short period of time. When the same N discrete parameters are repeatedly calculated over a relatively short period of time, differences between the multiple pieces of historical data included in the historical data set become smaller. When differences between the multiple pieces of historical data included in the historical data set become smaller, the probability that the same N discrete parameters will be calculated for the surrogate model also increases. As a result, the information processing device 20 may generate a loop in which the same N discrete parameters are continuously calculated even after repeating the estimation process, optimization process, sampling process, and addition process. When such a loop occurs, it may become difficult for the information processing device 20 to estimate a surrogate model that approximates a black-box function, making control by black-box optimization difficult.

[0098] If the duplication prevention unit 42 has acquired the same N discrete parameters a predetermined number of times or a predetermined time ago, it re-executes the optimization process to acquire the N discrete parameters again. This reduces the probability that the duplication prevention unit 42 will repeatedly acquire the same N discrete parameters within a relatively short period of time, allowing the history data set to include a wide variety of different history data. As a result, the information processing device 20 can estimate a surrogate model that accurately approximates the black-box function and perform appropriate black-box optimization control.

[0099] Note that instead of comparing the N discrete parameters calculated by the optimization unit 28 with the N discrete parameters included in the history data set, the duplication prevention unit 42 may store the N discrete parameters provided to the control unit 30 separately from the history data set. In this case, the duplication prevention unit 42 compares the N discrete parameters calculated by the optimization unit 28 with the separately stored N discrete parameters.

[0100] Furthermore, the duplication prevention unit 42 may cause the optimization unit 28 to re-execute the optimization process until the N discrete parameters calculated by the optimization process no longer match the N discrete parameters included in any of one or more pieces of history data ranging from the most recent history data to the history data that is a predetermined number of places before, stored in the history storage unit 22. Furthermore, the duplication prevention unit 42 may set an upper limit on the number of re-executions in advance, and when the number of re-executions reaches the upper limit, stop the re-execution and provide the calculated N discrete parameters to the control unit 30.

[0101] Furthermore, when causing the optimization unit 28 to re-execute the optimization process, the duplication prevention unit 42 may change the setting values ​​of the optimization unit 28 so as to increase the probability that N different discrete parameters are calculated. For example, the duplication prevention unit 42 may change a solution control parameter such as the number of steps so as to increase randomness each time the optimization unit 28 re-executes the optimization process. In other words, the duplication prevention unit 42 may change the setting values ​​so as to increase the randomness of the solution each time the optimization process is re-executed.

[0102] The optimization unit 28 may also perform the optimization process using an algorithm that increases the probability that N different discrete parameters are calculated. For example, the optimization unit 28 may perform the optimization process using an algorithm called Tabu search. When using an algorithm called Tabu search, the optimization unit 28 minimizes an objective function that includes a term that increases the Ising energy the closer the solution is to a pre-registered solution. In this case, the optimization unit 28 registers a predetermined number of solutions, from the most recently calculated solution to the solution calculated a predetermined number of times before, and performs the optimization process to calculate a solution different from these predetermined solutions.

[0103] (Second Modification) Next, a second modification of the control system 10 according to the first embodiment will be described.

[0104] FIG. 4 is a diagram showing the configuration of a control system 10 according to a second modified example, together with a controlled object 100. In FIG.

[0105] The information processing device 20 according to the second modification further includes a simulator 44. The simulator 44 acquires N discrete parameters from the optimization unit 28, and simulates, by information processing, the operation of the control object 100 when a control amount based on the acquired N discrete parameters is given to the control object 100. For example, the simulator 44 outputs, as a simulation result, an evaluation index such as fuel efficiency, power consumption, or battery charge / discharge power amount when a control amount based on the N discrete parameters is given to the control object 100.

[0106] Furthermore, the simulator 44 uses sensor values ​​output from a sensor observing the control target 100 to simulate the behavior of the control target 100 when a control amount based on N discrete parameters is given to the control target 100. This allows the simulator 44 to accurately simulate the behavior of the control target 100 when a control amount based on N discrete parameters is given to the control target 100. The sensor values ​​may be obtained by acquiring information about the surrounding environment or by acquiring values ​​of a black-box function.

[0107] In the second modified example, the sampling unit 32 acquires, as sample values, simulation results obtained by providing N discrete parameters to the simulator 44 in the sampling process. Then, the sampling unit 32 samples an output value predicted to be output from the black-box function in response to the input of the N discrete parameters, based on the sample values ​​output from the simulator 44. Furthermore, for example, the control unit 30 outputs a control amount to the control target 100 only when the sample values ​​output by the simulator 44 exceed a certain standard.

[0108] For example, if the control target 100 is a drive motor of an automobile, the information processing device 20 may impose some restrictions on the control amount based on N discrete parameters before applying it to the drive motor so as to prevent the drive motor from operating abnormally. In such a case, the information processing device 20 may not be able to properly sample the output value of the black box function. Furthermore, the behavior of the drive motor may change over time due to sampling, which may cause the operation of the automobile to become unstable. However, even in such a case, the information processing device 20 according to this modification can properly sample the output value of the black box function because the simulator 44 simulates the operation of the drive motor.

[0109] Furthermore, the simulator 44 can reflect the surrounding environment in the simulation by simulating the operation of the control target 100 using sensor values ​​output from sensors that observe the control target 100. For example, if the control target 100 is a drive motor of a vehicle, the simulator 44 can simulate the operation of the drive motor according to the road conditions on which the vehicle is traveling by acquiring the relationship between the rotation speed and torque of the drive motor.

[0110] In this way, the information processing device 20 according to the second variant can appropriately control the control object 100 by black-box optimization even in an environment where it is not possible to appropriately sample the output values ​​output from the black-box function based on the sample values ​​output from the control object 100.

[0111] When using the simulator 44, the optimization unit 28 may generate multiple sets of N discrete parameters using different solution control parameters. For example, the optimization unit 28 generates two sets of N discrete parameters using a solution control parameter with high solution quality and slow calculation speed, and a solution control parameter with low solution quality and fast calculation speed. In this case, the simulator 44 acquires each of the multiple sets of N discrete parameters and simulates the operation of the control target 100 for each of the multiple sets of N discrete parameters. Then, the sampling unit 32 samples output values ​​for each of the multiple sets of N discrete parameters based on the simulation results. This allows the information processing device 20 to include a wide variety of different historical data in the historical data set, estimate a proxy model that accurately approximates the black-box function, and perform appropriate black-box optimization control.

[0112] (Third Modification) Next, a third modified example of the control system 10 according to the first embodiment will be described.

[0113] FIG. 5 is a diagram showing the configuration of a control system 10 according to a third modified example, together with a controlled object 100. In FIG.

[0114] In the third modified example, the control unit 30 generates a plurality of control variables arranged in time series based on the N discrete parameters calculated by the optimization unit 28. Each of the plurality of control variables corresponds to one of the N discrete parameters. Therefore, in the third modified example, the N discrete parameters are arranged in time series. Then, in the third modified example, the control unit 30 provides the generated plurality of control variables to the control object 100, thereby executing a control process that controls the control object 100 over time based on the plurality of control variables.

[0115] The information processing device 20 according to the third modification further includes a mapping unit 46.

[0116] The mapping unit 46 executes a mapping process for changing the correspondence between N discrete parameters included in the historical data and a plurality of discrete variables in the surrogate model for each iteration of the black-box optimization.

[0117] For example, the mapping unit 46 changes the correspondence by changing information that associates each of the N discrete parameters included in the historical data with which of the multiple discrete variables in the surrogate model is input. Alternatively, the mapping unit 46 may change the correspondence by changing the position of each of the multiple discrete variables in the surrogate model in the function form of the surrogate model. In this way, the mapping unit 46 can change the correspondence between the N discrete parameters included in the historical data and the multiple discrete variables in the surrogate model while maintaining the coefficients in the surrogate model.

[0118] FIG. 6 is a diagram for explaining the mapping process performed by the mapping unit 46. In FIG.

[0119] For example, the controlled object 100 is assumed to be a vehicle drive motor. The multiple control variables correspond one-to-one to multiple time slots obtained by dividing a certain control time period into time slots. The certain control time period is a time period from a control point in time, such as the current time, to a predetermined time, such as 10 minutes later. Each of the multiple control variables is flag information indicating whether or not to rotate the drive motor in the corresponding time slot. In this case, the control unit 30 controls whether or not to rotate the drive motor in accordance with the control variable of the time slot corresponding to the control point in time, among the multiple control variables.

[0120] Here, when controlling the controlled object 100 in real time, for example, by black-box optimization, the information processing device 20 repeatedly generates N discrete parameters, for example, at regular time intervals. The N discrete parameters cover different control time periods depending on the time at which they are generated. Therefore, the control time period covered by the N discrete parameters shifts over time. For example, when the information processing device 20 repeatedly generates N discrete parameters for each time slot, the control time period covered by the N discrete parameters calculated at a first time period shifts by one time slot from the control time period covered by the N discrete parameters calculated at a second time period that is one time slot after the first time period. Each time the N discrete parameters are repeatedly generated, a discrete parameter corresponding to a new time slot is added, and a discrete parameter corresponding to the oldest time slot is deleted.

[0121] However, when the optimization of N discrete parameters by black-box optimization has progressed sufficiently, the discrete parameters among the N discrete parameters that correspond to timeslots other than the new ones are also sufficiently optimized. Therefore, it is preferable that the surrogate model maintains the coefficients multiplied by the discrete variables corresponding to the sufficiently optimized discrete parameters. In other words, it is preferable that the surrogate model continues to maintain the relationship between the sufficiently optimized discrete parameters and the corresponding discrete variables even if the control time period covered by the N discrete parameters shifts.

[0122] Therefore, the mapping unit 46 changes the correspondence between the N discrete parameters included in the historical data and the multiple discrete variables in the proxy model so that the time corresponding to a first discrete variable among the multiple discrete variables in the proxy model estimated in a first estimation process, which is one of the estimation processes that are repeatedly executed, matches the time corresponding to the first discrete variable in the proxy model estimated in a second estimation process, which is the estimation process immediately after the first estimation process.

[0123] 6, the mapping unit 46 maps the correspondence between the discrete variable x2 in the surrogate model estimated in the first estimation process and the discrete variable x2 in the surrogate model estimated in the second estimation process so that both correspond to the discrete parameters corresponding to the time slot of time t2. The mapping unit 46 also maps the correspondence between the discrete variable x3 and the time slot of time t3, the discrete variable x4 and the time slot of time t4, the discrete variable x5 and the time slot of time t5, the discrete variable x6 and the time slot of time t6, and the discrete variable x7 and the time slot of time t7 in a similar manner.

[0124] Then, the mapping unit 46 maps the correspondence relationship so that the discrete parameters corresponding to the time slot of time t8 newly added in the second estimation process correspond to the discrete variable x1 that was associated with the discrete parameters of the time slot of the earliest time t1 in the first estimation process. Note that in this case, the mapping unit 46 may initialize the coefficient by which the discrete variable (e.g., x1) corresponding to the time slot of the newly added time in the proxy model is multiplied to an initial value, a random value, or the like.

[0125] In this way, the mapping unit 46 changes the correspondence between the N discrete parameters included in the history data and the multiple discrete variables in the surrogate model so that the time corresponding to the first discrete variable in the surrogate model estimated in the first estimation process, which is one of the repeatedly executed estimation processes, matches the time corresponding to the first discrete variable in the surrogate model estimated in the second estimation process. This allows the mapping unit 46 to maintain coefficients in the surrogate model that are multiplied by discrete variables that correspond to sufficiently optimized discrete parameters.

[0126] Note that if the time interval between the time slots differs from the calculation interval for the N discrete parameters, there may be cases where no corresponding discrete parameter exists for one of the multiple discrete variables. In such cases, the mapping unit 46 may generate and associate a flag indicating that no corresponding discrete parameter exists, a dummy value, or a value interpolated from the immediately preceding discrete parameter or surrounding discrete parameters with the discrete variable for which no corresponding discrete parameter exists. Furthermore, if the history data does not contain a discrete parameter corresponding to the time slot, the mapping unit 46 may substitute a flag indicating that no corresponding discrete parameter exists, a dummy value, or a value interpolated from the immediately preceding discrete parameter or surrounding discrete parameters for the discrete parameter in the history data.

[0127] (Fourth Modification) Next, a fourth modified example of the control system 10 according to the first embodiment will be described.

[0128] FIG. 7 is a diagram showing the configuration of a control system 10 according to a fourth modified example, together with a controlled object 100. In FIG.

[0129] The information processing device 20 according to the fourth modification further includes an evaluation unit 50 and a non-black-box control unit 52.

[0130] The evaluation unit 50 executes an evaluation process to evaluate whether or not the control amount generated by the control unit 30 based on the N discrete parameters satisfies a predetermined evaluation criterion. For example, the evaluation unit 50 may substitute the N discrete parameters on which the control amount is based into a proxy model generated by the estimator 24, and evaluate whether or not the control amount satisfies the evaluation criterion. In this case, the evaluation unit 50 determines whether or not the evaluation value calculated by the proxy model satisfies the predetermined evaluation criterion.

[0131] In addition, the evaluation unit 50 may determine whether or not the control object 100 satisfies predetermined evaluation criteria using a model different from the proxy model, or may determine whether or not the control object 100 behaves in a manner that satisfies predetermined evaluation criteria by simulating the behavior of the control object 100 when a control amount is given.

[0132] If the control amount satisfies a predetermined evaluation criterion, the evaluation unit 50 provides the control value generated based on the N discrete parameters to the control object 100. If the control amount does not satisfy the predetermined evaluation criterion, the evaluation unit 50 provides the control object 100 with a control amount generated based on information different from the N discrete parameters, instead of the control amount generated based on the N discrete parameters.

[0133] In this modification, if the control amount generated based on N discrete parameters does not satisfy a predetermined evaluation criterion, the evaluation unit 50 provides the control amount generated by the non-black-box control unit 52 to the control object 100. The non-black-box control unit 52 generates a control amount for controlling the control object 100 by non-black-box control processing. For example, the non-black-box control unit 52 generates a control amount for performing control based on PID control or optimal control theory, based on sample values ​​output from a sensor that observes the control object 100.

[0134] When performing black-box optimization control of the control object 100, the information processing device 20 according to the fourth variant can avoid causing the control object 100 to behave in a manner that deteriorates the performance of the control object 100 beyond a predetermined evaluation standard, for example, to behave in a manner that impairs safety or comfort, thereby enabling more stable control.

[0135] (Fifth Modification) Next, a fifth modified example of the control system 10 according to the first embodiment will be described.

[0136] FIG. 8 is a flowchart showing the flow of processing by the information processing device 20 according to the fifth modified example.

[0137] When the information processing device 20 starts to control the control target 100, the information processing device 20 executes processing according to the flow shown in FIG.

[0138] First, in S201, the information processing device 20 executes an acquisition process to acquire a pre-generated history data set before the first estimation process and store the acquired history data set in the history storage unit 22. The pre-generated history data set includes at least one or more history data sets. The pre-generated history data set includes, for example, history data that was pre-registered at the time of shipping from the factory. The pre-generated history data set includes, for example, highly versatile history data that can handle many situations based on assumptions about normal usage situations.

[0139] When the information processing device 20 completes the process of S201, the process proceeds to S103. The information processing device 20 executes the processes from S103 to S109 that are the same as the processes described in Fig. 2. Then, when the information processing device 20 determines in S108 that the history data set does not include more than the second number of pieces of history data (No in S108), or when the information processing device 20 completes the process of S109, the process returns to S103.

[0140] For example, if a control variable is generated based on N randomly generated discrete parameters at the start of control, the information processing device 20 may generate a low-quality control variable, which may cause the controlled object 100 to behave in a manner that, for example, impairs safety or comfort. In this modification, the information processing device 20 generates a proxy model using a history data set generated in advance at the start of control, and therefore can provide the controlled object 100 with a control variable that is unlikely to cause the controlled object 100 to behave in a manner that, for example, impairs safety or comfort.

[0141] The information processing device 20 may acquire, for example, a history data set at the end of the previous control as the previously generated history data set. In this case, immediately after the start of control, the proxy model generated in the previous environment can be used to perform black-box optimization control, thereby suppressing a decrease in the quality of control immediately after the start of control.

[0142] The information processing device 20 may use a pre-generated surrogate model instead of a pre-generated historical data set. The pre-generated surrogate model may be registered, for example, at the time of factory shipment. The pre-generated surrogate model is a highly versatile surrogate model that can handle many situations based on, for example, assumptions about normal usage conditions. The pre-generated surrogate model is input to the estimation unit 24 together with a newly added historical data set, and the estimation process is repeated, gradually changing into a surrogate model inferred based on sampling results. The estimation process may be called online machine learning, in which the surrogate model is sequentially updated using input historical data. Alternatively, the pre-generated surrogate model may be a surrogate model at the end of the previous control. In this way, the information processing device 20 can reduce the possibility of performing low-quality control at the start of control.

[0143] (Sixth Modification) Next, a sixth modified example of the control system 10 according to the first embodiment will be described.

[0144] FIG. 9 is a diagram showing the configuration of a control system 10 according to a sixth modified example, together with a controlled object 100. In FIG.

[0145] The information processing device 20 according to the sixth modification includes a non-black box control unit 52 and a switching unit .

[0146] During a predetermined initial period after the start of control, the switching unit 54 provides the control amount generated by the non-black-box control unit 52 to the control target 100. After the predetermined period ends, the switching unit 54 provides the control amount generated by the control unit 30 and based on the N discrete parameters to the control target 100.

[0147] For example, the switching unit 54 may provide the control target 100 with the control amount generated by the non-black-box control unit 52 until a predetermined number of pieces of history data or more are sampled, and then provide the control target 100 with the control amount based on the N discrete parameters generated by the control unit 30 after sampling the predetermined number of pieces of history data or more. Furthermore, for example, the switching unit 54 may provide the control target 100 with the control amount generated by the non-black-box control unit 52 until a predetermined time has elapsed since the start of control, and then provide the control target 100 with the control amount based on the N discrete parameters generated by the control unit 30 after the predetermined time has elapsed since the start of control.

[0148] Furthermore, during the period in which the control amount generated by the non-black-box control unit 52 is being given to the control target 100, the sampling unit 32 calculates N discrete parameters based on the control amount given to the control target 100, and gives the calculated N discrete parameters to the adding unit 34. As a result, during the period in which the control amount generated by the non-black-box control unit 52 is being given to the control target 100, the adding unit 34 can sample history data including the N discrete parameters and output values ​​and add the sampled data to the history data set.

[0149] If a control variable is generated based on N randomly generated discrete parameters at the start of control, the information processing device 20 may generate a low-quality control variable, potentially causing the controlled object 100 to behave in a manner that, for example, compromises safety or comfort. In this modification, the information processing device 20 can control the controlled object 100 using a technically mature and highly versatile control method during a predetermined initial period after the start of control. This allows the information processing device 20 to provide the controlled object 100 with a control variable that is unlikely to cause the controlled object 100 to behave in a manner that, for example, compromises safety or comfort during the predetermined initial period after the start of control.

[0150] (Seventh Modification) Next, a seventh modification of the control system 10 according to the first embodiment will be described.

[0151] FIG. 10 is a diagram showing the configuration of a control system 10 according to the seventh modification, together with a controlled object 100. In FIG.

[0152] The proxy model storage unit 26 according to the seventh modification includes a first proxy model storage unit 62 and a second proxy model storage unit 64.

[0153] The first proxy model storage unit 62 stores the first proxy model, which is a proxy model.

[0154] The second surrogate model storage unit 64 stores the second surrogate model, which is a surrogate model. The second surrogate model is smaller in size than the first surrogate model. That is, the second surrogate model is expressed by a function form that includes fewer coefficients, i.e., fewer terms, than the first surrogate model.

[0155] A small-sized surrogate model can reduce the number of historical data pieces required for estimation. Therefore, a small-sized surrogate model can accurately approximate the black-box function when the number of historical data pieces included in the historical data set is small. On the other hand, a large-sized surrogate model can accurately approximate the black-box function more than a small-sized surrogate model when the number of historical data pieces included in the historical data set is sufficiently large.

[0156] Here, accuracy refers to the low error when the surrogate model approximates the black-box function. The surrogate model does not need to accurately approximate the entire domain of the black-box function, but only needs to accurately approximate the vicinity of the value of interest.

[0157] The optimization unit 28 calculates a solution to the optimization problem using either the first proxy model or the second proxy model as a proxy model. In this modification, the optimization unit 28 determines whether to use the first proxy model or the second proxy model depending on the number of pieces of history data included in the history data set. For example, when the number of pieces of history data included in the history data set is less than a predetermined number, the optimization unit 28 calculates a solution to the optimization problem using the second proxy model as a proxy model. For example, when the number of pieces of history data included in the history data set is equal to or greater than a predetermined number, the optimization unit 28 calculates a solution to the optimization problem using the first proxy model as a proxy model.

[0158] The information processing device 20 according to the seventh modification can perform black-box optimization control by using a small proxy model when the number of pieces of history data included in the history data set is small, and by using a large proxy model when the number of pieces of history data included in the history data set becomes sufficiently large. This allows the information processing device 20 according to the seventh modification to control the control target 100 with high accuracy regardless of the number of pieces of history data included in the history data set.

[0159] (Eighth Modification) Next, an eighth modification of the control system 10 according to the first embodiment will be described.

[0160] FIG. 11 is a diagram showing the configuration of a control system 10 according to the eighth modification, together with a controlled object 100. In FIG.

[0161] In the eighth modified example, the deletion unit 38 is provided between the history storage unit 22 and the estimation unit 24. In this case, at the stage of transferring the history data set to the estimation unit 24, the deletion unit 38 deletes from the history data set at least a portion of the history data that was added in an addition process more than a predetermined number of times ago or more than a predetermined time ago, and transfers the history data set to the estimation unit 24.

[0162] Furthermore, the deletion unit 38 does not erase the history data set stored in the history storage unit 22. Therefore, when the history data set includes more than a predetermined number of pieces of history data, the deletion unit 38 executes processing equivalent to a selection process of selecting a predetermined number of pieces of history data from the history data set stored in the history storage unit 22 and providing the history data set including the selected predetermined number of pieces of history data to the estimation unit 24.

[0163] In this case, the deletion unit 38 gives priority to selecting history data that is later in the history data set. That is, the deletion unit 38 gives priority to selecting history data that was added later over history data that was added earlier. That is, the deletion unit 38 gives priority to selecting new history data over old history data.

[0164] For example, before the estimation process is performed by the estimation unit 24, the deletion unit 38 determines whether the history data set includes more than a predetermined number of pieces of history data, and if the history data set includes more than the predetermined number of pieces of history data, selects a predetermined number of pieces of history data in order of the most recently added pieces. Note that if the history data set does not include more than the predetermined number of pieces of history data, the deletion unit 38 does not need to select the history data.

[0165] By performing such processing, the deletion unit 38 can provide the estimation unit 24 with a history data set that includes a predetermined number of history data items, starting from the most recently added items.

[0166] The deletion unit 38 may treat specific history data included in the history data set as fixed history data, and may select the fixed history data even if the fixed history data is prior to a predetermined order. This allows the deletion unit 38 to provide the history data set including the specific history data to the estimation unit 24.

[0167] Furthermore, if a time is added to the history data, the deletion unit 38 may select, for example, history data that is later than a predetermined time in the history data set.

[0168] Also in this case, the deletion unit 38 may treat specific history data included in the history data set as fixed history data, and may select the fixed history data even if the fixed history data is history data from before a predetermined time.

[0169] The information processing device 20 according to this modification can achieve the same effect as when some history data is deleted from the history data set stored in the history storage unit 22. That is, the information processing device 20 according to this modification can estimate a proxy model using the most recently added history data, without using relatively old history data. As a result, the information processing device 20 according to this modification can accurately optimize the black-box function with a small number of samplings. Therefore, the information processing device 20 according to this modification can execute control by black-box optimization with high responsiveness and high accuracy for, for example, a dynamically changing control object 100.

[0170] (Second embodiment) Next, a vehicle control system 200 according to a second embodiment will be described.

[0171] Fig. 12 is a diagram showing the configuration of a vehicle control system 200 according to the second embodiment. The vehicle control system 200 according to the second embodiment is a system for controlling a series hybrid vehicle, including the information processing device 20 according to the first embodiment described with reference to Figs. 1 to 11.

[0172] The vehicle control system 200 includes a motor 210, a battery 220, a generator 230, an energy prediction device 240, a simulation device 250, and an information processing device 20.

[0173] The motor 210 rotates the wheels of the vehicle based on the power supplied from the battery 220, causing the vehicle to travel.

[0174] The battery 220 stores the electric power supplied from the generator 230. The battery 220 supplies electric power to the motor 210. Furthermore, the battery 220 regenerates electric power generated by the rotation of the motor 210 and stores the regenerated electric power.

[0175] The generator 230 converts the fuel into electricity and supplies it to the battery 220 .

[0176] The energy prediction device 240 calculates a planned driving route along which the vehicle is scheduled to travel, and predicts the energy consumption that will be consumed if the vehicle travels along the calculated predicted driving route. The energy prediction device 240 is, for example, a car navigation device, and calculates a route from the vehicle's current position to a destination position as the planned driving route. Furthermore, the energy prediction device 240 calculates the energy consumption, for example, per predetermined time unit, when traveling along the planned driving route based on the gradient of the road surface, the curvature of curves, the average speed, the status of traffic lights, etc. on the planned driving route.

[0177] The simulation device 250 simulates the time transition of the remaining charge of the battery 220 when the vehicle travels along the planned travel route, based on the time-series on / off pattern of the generator 230 and the energy consumption predicted by the energy prediction device 240. The simulation device 250 may be the simulator 44 realized by the information processing device 20.

[0178] The information processing device 20 generates, for example, a plurality of control amounts arranged in a time series. In this embodiment, the plurality of control amounts are a time series pattern of on / off of the generator 230.

[0179] More specifically, in the estimation process, the information processing device 20 estimates a surrogate model that models a black-box function whose output value is the time transition of the remaining capacity of the battery 220. In the sampling process, the information processing device 20 provides N discrete parameters to the simulation device 250 and samples the simulation results by the simulation device 250 as output values. Then, in the control process, the information processing device 20 generates a plurality of control amounts arranged in a time series for controlling the generator 230 in a time series manner.

[0180] In a series hybrid vehicle, electric power is exchanged between the generator 230 and the battery 220, and between the battery 220 and the motor 210. The instantaneous amount of electric power exchanged between the battery 220 and the motor 210 is determined by the driver's operation, the gradient of the road surface, the speed, and the like. This amount of electric power is a continuous value. The energy prediction device 240 predicts the change in this amount of electric power over time.

[0181] The generator 230 provided in a series hybrid vehicle can always operate with highly efficient parameters. Therefore, a series hybrid vehicle can control the generator 230 by turning it on or off. Therefore, in this embodiment, the information processing device 20 generates, as the multiple control variables, a time-series pattern of the on / off of the generator 230. Note that the information processing device 20 may also generate, as the multiple control variables, a pattern in which quantized rotation speed values ​​are arranged in a time series.

[0182] A vehicle equipped with battery 220 may limit the remaining charge of battery 220 so that the remaining charge of battery 220 falls within a set range in order to prevent a state that shortens the life of battery 220. When such a limit is imposed, battery 220 cannot store the power regenerated by motor 210 when the remaining charge reaches the upper limit of the set range. Furthermore, when such a limit is imposed, the rotational force of motor 210 falls below the required amount when the remaining charge reaches the lower limit of the set range.

[0183] In this embodiment, the information processing device 20 controls black-box optimization using a surrogate model that models a black-box function whose output value is the time transition of the remaining charge of the battery 220. Therefore, the information processing device 20 can control the generator 230 so that the remaining charge of the battery 220 does not reach the upper limit or the lower limit of the set range. Therefore, in this embodiment, the information processing device 20 can, based on the time change of the predicted amount of power, free up the remaining charge of the battery 220 in advance to make it easier to recover regenerated power, or increase the remaining charge of the battery 220 in advance to prevent insufficient rotational force of the motor 210. Furthermore, the information processing device 20 can reduce the output of the generator 230 by reducing the frequency of insufficient rotational force of the motor 210.

[0184] (Third embodiment) Next, a mobile object control system 300 according to a third embodiment will be described.

[0185] Fig. 13 is a diagram showing the configuration of a mobile object control system 300 according to the third embodiment. The mobile object control system 300 according to the third embodiment is a system for controlling a mobile object such as a vehicle, and includes the information processing device 20 according to the first embodiment described with reference to Figs. 1 to 11.

[0186] The vehicle control system 300 includes an engine 310 and a control device 320 .

[0187] The engine 310 consumes fuel to move the vehicle, and includes, for example, an ignition device, intake and exhaust valves, a throttle, a cylinder, a fuel injector, an exhaust gas recirculation valve, and a variable intake system.

[0188] The control device 320 includes the information processing device 20 and controls the engine 310. The control device 320 controls at least one of the ignition device, intake and exhaust valves, throttle, cylinder, exhaust gas recirculation valve, and variable intake system of the engine 310, for example.

[0189] In this embodiment, in the estimation process, the information processing device 20 estimates a surrogate model that models a black-box function whose output value is at least one of the vibration, noise, and gas emission of the mobile body. In the sampling process, the information processing device 20 samples the output value based on a sensor value detected by a sensor that observes the vehicle body or the engine 310. Then, in the control process, the information processing device 20 generates a control amount for controlling the engine 310 based on N discrete parameters.

[0190] The ignition device, intake and exhaust valves, throttle, cylinder, exhaust gas recirculation valve, and part of the variable intake system of the engine 310 are periodically controlled. For example, the ignition timing of the ignition device, the opening and closing of the intake and exhaust valves, and the fuel injection timing of the throttle are periodically controlled based on the crank angle. Although the crank angle is a continuous value, it is represented by a discrete variable expressed in stages. The stages of the crank angle expression may or may not be at regular intervals.

[0191] Some control parameters of the ignition device, intake and exhaust valves, throttle, cylinder, exhaust gas recirculation valve, and variable intake system of engine 310 are represented by modes. For example, the throttle opening, fuel injection pattern, exhaust gas recirculation valve opening, and valve opening and closing of the variable intake system may be selected from a plurality of preset setting values ​​according to the mode. By being controlled by these setting values, information processing device 20 can generate control variables for engine 310 based on N discrete parameters.

[0192] In this embodiment, the information processing device 20 estimates a surrogate model that models a black-box function whose output value is at least one of the vibration, noise, and gas emissions of the mobile body. This allows the mobile body control system 300 according to this embodiment to control the engine 310 so as to optimize at least one of the vibration, noise, and gas emissions of the mobile body. For example, the mobile body control system 300 according to this embodiment estimates a surrogate model that models a black-box function whose output value is at least one of the vibration, noise, and gas emissions of the mobile body. x The emissions and combinations thereof can be optimized.

[0193] (Fourth embodiment) Next, a mobile object control system 400 according to a fourth embodiment will be described.

[0194] Fig. 14 is a diagram showing the configuration of a mobile object control system 400 according to the fourth embodiment. The mobile object control system 400 according to the fourth embodiment is a system for controlling a mobile object such as a vehicle, and includes the information processing device 20 according to the first embodiment described with reference to Figs. 1 to 11.

[0195] The mobile object control system 400 includes a motor 410 , a motor driver 420 , a battery 430 , a capacitor 440 , an energy prediction device 450 , a simulation device 460 , and a control device 470 .

[0196] The motor 410 moves the moving body. The motor driver 420 drives the motor 410 based on the power supplied from the battery 430 and the capacitor 440.

[0197] The battery 430 is an example of a first power storage device and stores power. The battery 430 supplies power to the motor driver 420. Furthermore, the battery 430 receives power regenerated from the motor driver 420 and stores the regenerated power.

[0198] Capacitor 440 is an example of a second power storage device having characteristics different from those of the first power storage device, and stores power. Capacitor 440 differs from battery 430, which is the first power storage device, in charge / discharge characteristics, aging characteristics, and capacity. For example, capacitor 440 deteriorates less with the number of charge / discharge cycles than battery 430. Capacitor 440 supplies power to motor driver 420. Furthermore, capacitor 440 regenerates power from motor driver 420 and stores the regenerated power.

[0199] The energy prediction device 450 calculates a planned travel route along which a mobile object is scheduled to travel, and predicts the energy consumption that will be consumed if the mobile object travels along the calculated predicted travel route. The energy prediction device 450 is, for example, a car navigation device, and calculates a route from the mobile object's current position to a destination position as the planned travel route. Furthermore, the energy prediction device 450 calculates the energy consumption, for example, per predetermined time unit, when traveling along the planned travel route based on the gradient of the road surface, the curvature of curves, the average speed, the status of traffic lights, etc. on the planned travel route.

[0200] The simulation device 460 simulates the state of the battery 430 when the moving object moves along the planned moving path, based on the pattern of power input / output between the motor driver 420 and the battery 430, the pattern of power input / output between the motor driver 420 and the capacitor 440, and the energy consumption predicted by the energy prediction device 450. In this embodiment, the simulation device 460 simulates the number of times the battery 430 is charged / discharged. The simulation device 460 may be a simulator 44 realized by the information processing device 20.

[0201] The control device 470 includes the information processing device 20 and controls the input and output of power between the motor driver 420 and the battery 430 and the input and output of power between the motor driver 420 and the capacitor 440 .

[0202] The information processing device 20 generates, for example, a plurality of control amounts arranged in a time series. In this embodiment, the plurality of control amounts are a time series pattern of the input and output of power between the motor driver 420 and the battery 430 and a time series pattern of the input and output of power between the motor driver 420 and the capacitor 440.

[0203] More specifically, in the estimation process, the information processing device 20 estimates a surrogate model that models a black-box function whose output values ​​are the time transition of the remaining capacity of the battery 430 and the time transition of the remaining capacity of the capacitor 440. Furthermore, in the sampling process, the information processing device 20 provides N discrete parameters to the simulation device 250 and samples the simulation results by the simulation device 250 as output values. Then, in the control process, the information processing device 20 generates a plurality of control amounts arranged in time series for controlling the input / output of power between the motor driver 420 and the battery 430 and the input / output of power between the motor driver 420 and the capacitor 440 in time series.

[0204] FIG. 15 is a diagram showing an example of a time-series pattern of the input and output of power between motor driver 420 and battery 430 and the input and output of power between motor driver 420 and capacitor 440. In FIG.

[0205] For each time slot, the information processing device 20 generates, as a plurality of control amounts arranged in time series, a time series pattern for transferring power from the motor driver 420 to the battery 430, a time series pattern for transferring power from the battery 430 to the motor driver 420, a time series pattern for transferring power from the capacitor 440 to the motor driver 420, and a time series pattern for transferring power from the motor driver 420 to the capacitor 440. The example in Fig. 15 indicates that power is input / output in time slots with a value of 1, and that power is not input / output in time slots with a value of 0.

[0206] In this embodiment, the information processing device 20 generates a plurality of control amounts arranged in chronological order so as to minimize the number of times the battery 430 is charged and discharged. The battery 430 is subject to greater deterioration due to charging and discharging than the capacitor 440. In this embodiment, the information processing device 20 can prevent the battery 430 from deteriorating by minimizing the number of times the battery 430 is charged and discharged.

[0207] The simulation device 460 may simulate an evaluation value indicating whether the torque required by the motor 410 when the moving object moves along the planned moving path is sufficient. In this case, the information processing device 20 estimates a proxy model in the estimation process, which is a model of a black-box function having an output value that indicates whether the torque required by the motor 410 is sufficient. The simulation device 460 may also simulate the total amount of power consumption or the amount of power not regenerated when the moving object moves along the planned moving path. In this case, the information processing device 20 estimates a proxy model in the estimation process, which is a model of a black-box function having an output value that indicates the total amount of power consumption or the amount of power not regenerated.

[0208] Furthermore, the simulation device 460 may simulate an evaluation value that combines two or more of the number of times the battery 430 is charged and discharged, the total amount of power consumption, and the amount of power not regenerated. In this case, the information processing device 20 estimates, in the estimation process, a proxy model that models a black-box function that uses such an evaluation value as an output value.

[0209] For example, when simulating an evaluation value indicating whether the torque required by the motor 410 is sufficient, the information processing device 20 can simultaneously output power from both the battery 430 and the capacitor 440, thereby increasing the maximum amount of power supplied to the motor 410 compared to when power is output only from the battery 430. Furthermore, when simulating the total amount of consumed energy or the amount of energy not regenerated, the information processing device 20 can minimize the total amount of energy discharged from the battery 430 and suppress power consumption.

[0210] Note that the mobile object control system 400 according to this embodiment includes a battery 430 as an example of a first power storage device, and a capacitor 440 as an example of a second power storage device. However, instead of the pair of battery 430 and capacitor 440, the mobile object control system 400 may include a pair of two or more power storage devices having different life characteristics or charge / discharge characteristics as an example of the first power storage device and the second power storage device.

[0211] (Fifth embodiment) Next, a power system 500 according to a fifth embodiment will be described.

[0212] Fig. 16 is a diagram showing the configuration of a power system 500 according to a fifth embodiment. The power system 500 according to the fifth embodiment is a system for controlling rotating equipment, including the information processing device 20 according to the first embodiment described with reference to Figs. 1 to 11.

[0213] The power system 500 includes a motor 510 , a DC power supply 520 , a motor driver 530 , a simulation device 540 , and a control device 550 .

[0214] The motor 510 drives a machine or the like.

[0215] The DC power supply 520 generates a direct current power supply voltage. For example, the DC power supply 520 generates a positive power supply voltage and a negative power supply voltage.

[0216] The motor driver 530 drives the motor 510 based on the power supplied from the DC power supply 520 .

[0217] The motor driver 530 includes a switching circuit 560 and a signal output circuit 570. The switching circuit 560 switches between a positive power supply voltage and a negative power supply voltage and supplies the voltage to the motor 510 in accordance with a signal output from the signal output circuit 570. For example, the switching circuit 560 is an inverter.

[0218] The signal output circuit 570 outputs a pulse width modulation (PWM) control signal for controlling the switching circuit 560 .

[0219] The simulation device 540 simulates the power loss of the power system 500 based on the pattern of the PWM control signal supplied to the switching circuit 560. The simulation device 540 may be the simulator 44 realized by the information processing device 20.

[0220] The control device 550 includes the information processing device 20 and controls the motor driver 530 .

[0221] The information processing device 20 generates, for example, a plurality of control amounts arranged in a time series. In this embodiment, the plurality of control amounts are control patterns of PWM control signals that cause the switching circuit 560 to perform switching.

[0222] More specifically, in the estimation process, the information processing device 20 estimates a surrogate model that models a black-box function whose output value is the power loss of the power system 500. Furthermore, in the sampling process, the information processing device 20 provides N discrete parameters to the simulation device 540 and samples the simulation results by the simulation device 540 as output values. Then, in the control process, the information processing device 20 generates a plurality of control variables arranged in a time series for controlling a PWM control signal in the motor driver 530 in a time series. The simulation device 540 may receive the rotation speed and torque required for the motor as input. Furthermore, the simulation device 540 may acquire these values ​​using a sensor.

[0223] In this embodiment, the information processing device 20 generates a plurality of control variables arranged in a time series to minimize power loss in the power system 500. The power loss in the power system 500 includes, for example, iron loss or copper loss in the motor 510, switching loss in the switching circuit 560, and on-loss in the switching circuit 560. In general, the fewer the number of switching operations in the switching circuit 560, the smaller the loss. On the other hand, the more frequently the switching circuit 560 switches, the more effectively it can suppress ripple.

[0224] In this embodiment, the motor driver 530 generates an on / off pattern for the switching circuit 560 in units of time slots divided by periods equal to or shorter than the minimum switching period. The simulation device 540 repeatedly calculates the power loss of the power system 500 based on the pattern of the PWM control signal supplied to the switching circuit 560. This allows the information processing device 20 to generate multiple control variables arranged in a time series to generate a PWM control signal that minimizes power loss. Furthermore, the information processing device 20 can generate a PWM control signal for the motor driver 530 so as to suppress power loss in the power system 500 even when environmental factors such as the required torque, required rotation speed, and input voltage change.

[0225] The simulation device 540 may simulate the degree of agreement with the target torque or the degree of agreement with the target rotational speed, instead of the power loss of the power system 500. In this case, the information processing device 20 estimates a proxy model that models a black-box function whose output value is the degree of agreement with the target torque or the degree of agreement with the target rotational speed, in the estimation process. Such information processing device 20 can generate a PWM control signal for the motor driver 530 so that the target torque or the target rotational speed matches the target value.

[0226] Furthermore, the simulation device 540 may simulate the temperature of the motor 510 or the switching circuit 560 instead of the power loss of the power system 500. In this case, the information processing device 20 estimates a proxy model that models a black-box function that uses temperature as an output value in the estimation process. Such information processing device 20 can generate a PWM control signal for the motor driver 530 so as to minimize the temperature of the motor 510 or the switching circuit 560.

[0227] (Sixth embodiment) Next, a suspension control system 600 according to a sixth embodiment will be described.

[0228] Fig. 17 is a diagram showing the configuration of a suspension control system 600 according to the sixth embodiment. The suspension control system 600 according to the sixth embodiment is a system that controls vibrations of the body of a vehicle and includes the information processing device 20 according to the first embodiment described with reference to Figs. 1 to 11.

[0229] The suspension control system 600 includes an electronically controlled suspension 610, an acceleration sensor 620, and an information processing device 20.

[0230] The electronically controlled suspension 610 controls the suspension to suppress vibration of the vehicle body. The electronically controlled suspension 610 controls the suspension based on the vehicle body speed, road surface conditions, curve curvature, acceleration, and the like.

[0231] The acceleration sensor 620 detects the acceleration of the vibration of the vehicle body.

[0232] The information processing device 20 generates a control amount for the electronically controlled suspension 610 so as to minimize vibration of the vehicle body. More specifically, in the estimation process, the information processing device 20 estimates a surrogate model that models a black-box function whose output value is the acceleration of the vibration of the vehicle body. Furthermore, in the sampling process, the information processing device 20 samples the output value based on the acceleration detected by the acceleration sensor 620. Then, in the control process, the information processing device 20 generates a control amount for controlling the spring force, etc. of the electronically controlled suspension 610.

[0233] The degree of vibrations that occur in the vehicle body due to unevenness of the road surface, shaking when turning, and shaking due to wind pressure changes depending on the control amount of the spring force and the like set in the electronically controlled suspension 610.

[0234] For example, when traveling on a gravel road, vibrations caused by unevenness in the road surface are large, and therefore the ride comfort of the vehicle can be improved by weakening the spring force set in the electronically controlled suspension 610. On the other hand, when traveling around a curve in a paved road or changing direction, shaking in the roll direction occurs, and shaking in the pitch direction occurs during acceleration and deceleration, and therefore the ride comfort of the vehicle can be improved by strengthening the spring force set in the electronically controlled suspension 610.

[0235] Furthermore, the optimum control amount of the electronically controlled suspension 610 changes depending on the position of the passenger or cargo, the gradient of the road surface, etc. In other words, the optimum control amount of the electronically controlled suspension 610 changes depending on the surrounding environment during driving.

[0236] The information processing device 20 can generate a control amount for the electronically controlled suspension 610 so as to minimize the acceleration detected by the acceleration sensor 620, even when such changes in the surrounding environment occur. This allows the information processing device 20 to control the control amount for the electronically controlled suspension 610 so as to provide an optimal ride comfort. Note that the information processing device 20 may generate an evaluation value by further combining at least one of the strength of the electronically controlled suspension 610, the strength of the electronically controlled bumper, the spring force or suspension strength of devices other than the electronically controlled suspension 610, or the height of the vehicle body, and generate control amounts for these devices so as to optimize the evaluation value. Furthermore, when controlling the strength of the spring force of a device, the information processing device 20 may generate a control amount representing the length of the spring.

[0237] (Seventh embodiment) Next, a vehicle control system 700 according to a seventh embodiment will be described.

[0238] 18 is a diagram showing a first example of the configuration of a vehicle control system 700 according to the seventh embodiment. The vehicle control system 700 according to the seventh embodiment is a system that controls the braking force of a vehicle and includes the information processing device 20 according to the first embodiment described with reference to FIGS.

[0239] The vehicle control system 700 includes a braking device 710, a sensor device 720, a control device 730, and an information processing device 20.

[0240] The braking device 710 is a device that stops the vehicle from moving and controls the braking force applied to each of the multiple tires provided on the vehicle.

[0241] The sensor device 720 detects the rotational speed of each of the plurality of tires. The sensor device 720 may further detect the angular acceleration of each of the plurality of tires.

[0242] The control device 730 controls the braking device 710 so that the vehicle can stop in a short distance and travel in an appropriate position. For example, the control device 730 controls the braking force of each of the multiple tires so that the multiple tires do not lock when a sudden brake operation is performed. Furthermore, the control device 730 controls the braking force of each of the multiple tires so that the vehicle does not slip sideways when traveling around a curve.

[0243] The information processing device 20 provides control variables to the control device 730 so that the vehicle can stop in a short distance and travel with an appropriate attitude. More specifically, in the estimation process, the information processing device 20 estimates a surrogate model that models a black-box function whose output values ​​are the rotational speed of each of the multiple tires and the degree of agreement between the vehicle body attitude and the target attitude. Furthermore, in the sampling process, the information processing device 20 samples the rotational speed of each of the multiple tires and the degree of agreement between the vehicle body attitude and the target attitude as output values. Then, in the control process, the information processing device 20 generates control variables for controlling the control device 730 so that each of the multiple tires does not lock and so that the vehicle body attitude matches the target attitude.

[0244] When braking suddenly, a vehicle is required to stop in as short a distance as possible. A vehicle equipped with an antilock braking system can stop in a short distance even on a wet road surface, for example, by controlling the braking strength of each of the multiple tires. For example, the information processing device 20 generates the braking force of each of the multiple tires as N discrete parameters.

[0245] Furthermore, when a vehicle employing a lateral deviation prevention system travels around a curve, it can prevent the vehicle from traveling on a trajectory that deviates to the outside or inside compared to a target trajectory based on steering operation, etc. For example, a vehicle employing a lateral deviation prevention system controls the vehicle body to maintain a target posture by controlling the braking force for each tire in a time series. For example, the information processing device 20 generates, as N discrete parameters, a time series pattern of the braking force for each of a plurality of tires.

[0246] FIG. 19 is a diagram showing a second example of the configuration of a vehicle control system 700 according to the seventh embodiment.

[0247] Vehicle control system 700 may further include a simulation device 740. Simulation device 740 simulates a difference between the target posture of the vehicle body and the actual posture of the vehicle body based on a time-series pattern of the braking force of each of the plurality of tires. Furthermore, simulation device 740 may simulate the rotational speed of each of the plurality of tires and the difference between the target posture of the vehicle body and the actual rotational speed of each of the plurality of tires using the actual rotational speed of each of the plurality of tires detected by sensor device 720.

[0248] When the vehicle control system 700 includes the simulation device 740, the information processing device 20 samples the simulation results by the simulation device 740 as output values ​​in the sampling process. Then, in the control process, the information processing device 20 generates a control amount for controlling the control device 730 so that the attitude of the vehicle body coincides with the target attitude.

[0249] Even when using such a simulation device 740, the vehicle control system 700 according to the seventh embodiment can control the braking force for each tire in a time series manner so that the vehicle body assumes a target attitude.

[0250] (Hardware configuration of information processing device 20, etc.) Fig. 20 is a diagram showing an example of the hardware configuration of the information processing device 20. The information processing device 20 is realized by, for example, a computer having the hardware configuration shown in Fig. 20. The information processing device 20 includes a CPU (Central Processing Unit) 901, a RAM (Random Access Memory) 902, a ROM (Read Only Memory) 903, a storage device 904, and a communication interface device 905. These components are connected via a bus.

[0251] The CPU 901 is one or more processors that execute arithmetic processing, control processing, etc. according to a program. The CPU 901 uses a predetermined area of ​​the RAM 902 as a working area and executes various processes in cooperation with programs stored in the ROM 903, the storage device 904, etc.

[0252] The RAM 902 is a memory such as an SDRAM (Synchronous Dynamic Random Access Memory), and functions as a work area for the CPU 901. The ROM 903 is a memory that stores programs and various information in a non-rewritable manner.

[0253] The storage device 904 is a device that writes and reads data to a semiconductor storage medium such as a flash memory, or a magnetically or optically recordable storage medium, etc. The storage device 904 writes and reads data to the storage medium in response to control from the CPU 901. The communication interface device 905 communicates with external devices via a network in response to control from the CPU 901.

[0254] A program executed by the computer causes the computer to function as the information processing device 20. This program is loaded onto the RAM 902 by the CPU 901 (processor) and executed.

[0255] In addition, the program to be executed by a computer is provided as a file in a format that can be installed on a computer or in a format that can be executed by a computer, and is recorded on a computer-readable recording medium such as a CD-ROM, a flexible disk, a CD-R, or a DVD (Digital Versatile Disk).

[0256] This program may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. This program may also be provided or distributed via a network such as the Internet. The program executed by the information processing device 20 may also be provided by being pre-installed in the ROM 903 or the like.

[0257] The program for causing a computer to function as the information processing device 20 has a modular configuration including, for example, an estimation module, an optimization module, a control module, a sampling module, an addition module, a timing control module, and a deletion module. When this program is executed by the CPU 901, each module is loaded into the RAM 902, causing the CPU 901 to function as the estimation unit 24, the optimization unit 28, the control unit 30, the sampling unit 32, the addition unit 34, the timing control unit 36, and the deletion unit 38. If the CPU 901 has multiple processors, these units may be divided among the multiple processors. Furthermore, this program causes the RAM 902 and the storage device 904 to function as the history storage unit 22 and the surrogate model storage unit 26. Note that these components may be partially or entirely configured by hardware.

[0258] The information processing device 20 may also be realized by one or more reconfigurable semiconductor devices such as a field-programmable gate array (FPGA). The information processing device 20 may also be realized by one or more CPUs, microprocessors, graphics processing units (GPUs), application-specific integrated circuits (ASICs), or electronic circuits including these circuits. The information processing device 20 may also be realized by an information processing device such as a computer, a computer system configured by multiple computers or servers communicating with each other via a network, or a PC cluster in which multiple computers cooperate to perform information processing.

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

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

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

[0262] (Addendum) The above-described embodiments can be summarized as the following technical proposals.

[0263] [Technical proposal 1] Repeat the estimation, optimization, sampling, and addition processes. In the estimation process, a surrogate model is estimated, which is a function including a plurality of discrete variables that models a black-box function based on a historical data set; the history data set includes history data including N discrete parameters (N is an integer equal to or greater than 2) input to the black-box function and output values ​​output from the black-box function in response to the input of the N discrete parameters; In the optimization process, a solution to an optimization problem that minimizes or maximizes the surrogate model estimated in the estimation process is calculated as the N discrete parameters; In the sampling process, the output value output from the black-box function is sampled based on sample values ​​obtained corresponding to the N discrete parameters calculated in the optimization process; In the adding process, history data including the N discrete parameters calculated in the optimization process and the output values ​​sampled in the sampling process is added to the history data set; Furthermore, a deletion process is executed to delete at least a part of the one or more pieces of history data added in the addition process more than a predetermined number of times or more than a predetermined time from the history data set. Information processing device.

[0264] [Technical proposal 2] The surrogate model is a quadratic function used in the factorization machine An information processing device according to Technical Proposal 1.

[0265] [Technical proposal 3] A control process is further performed to generate a control amount based on the N discrete parameters and to give the generated control amount to a control object. An information processing device according to Technical Solution 1 or 2.

[0266] [Technical proposal 4] In the sampling process, a sensor value output from a sensor observing the controlled object is acquired as the sample value. An information processing device according to Technical Proposal 3.

[0267] [Technical proposal 5] In the sampling process, a simulation result obtained by providing the N discrete parameters to a simulator that simulates the operation of the controlled object by information processing is acquired as the sample value. An information processing device according to Technical Proposal 3.

[0268] [Technical proposal 6] The simulator simulates the controlled object using sensor values ​​output from a sensor that observes the controlled object. An information processing device according to Technical Proposal 5.

[0269] [Technical proposal 7] a control process for generating a plurality of control variables arranged in time series based on the N discrete parameters, and for controlling the control object based on the plurality of control variables over time by applying the generated plurality of control variables to the control object; An information processing device according to any one of technical proposals 1 to 5.

[0270] [Technical proposal 8] each of the plurality of control variables corresponds to one of the N discrete parameters; further performing a mapping process to change the correspondence between the N discrete parameters included in the history data and the plurality of discrete variables in the surrogate model so that a time corresponding to a first discrete variable of the plurality of discrete variables in the surrogate model estimated in a first estimation process, which is one of the estimation processes that are repeatedly executed, coincides with a time corresponding to the first discrete variable in the surrogate model estimated in a second estimation process, which is the estimation process immediately after the first estimation process; An information processing device according to Technical Proposal 7.

[0271] [Technical proposal 9] further performing an evaluation process for evaluating whether the control amount generated based on the N discrete parameters satisfies a predetermined evaluation criterion; When the control amount does not satisfy the predetermined evaluation criterion, in the control process, instead of the control amount generated based on the N discrete parameters, the control amount generated based on information different from the N discrete parameters is given to the control object. An information processing device according to any one of technical proposals 3 to 8.

[0272] [Technical proposal 10] During a predetermined initial period after starting the control, the control amount generated based on information different from the control amount based on the N discrete parameters is given to the controlled object, and after the predetermined initial period ends, the control amount based on the N discrete parameters is given to the controlled object. An information processing device according to any one of technical proposals 3 to 9.

[0273] [Technical proposal 11] It is determined whether the N discrete parameters calculated in the optimization process match the N discrete parameters that are the basis of the control amount given to the control target a predetermined number of times or a predetermined time ago, and if they match, a duplication prevention process is further performed to re-execute the optimization process. An information processing device according to any one of technical proposals 3 to 10.

[0274] [Technical proposal 12] Before the initial estimation process, the historical data set or the surrogate model is obtained. An information processing device according to any one of technical proposals 1 to 11.

[0275] [Technical proposal 13] In the estimation process, a first surrogate model that is the surrogate model and a second surrogate model that is the surrogate model and includes fewer coefficients than the first surrogate model are estimated; In the optimization process, a solution to the optimization problem is calculated using either the first surrogate model or the second surrogate model as the surrogate model depending on the number of pieces of history data included in the history data set. An information processing device according to any one of technical proposals 1 to 12.

[0276] [Technical proposal 14] An information processing device according to any one of technical proposals 3 to 9; a motor that drives the vehicle; a battery that supplies power to the motor and from which power is regenerated by the motor; a generator that converts fuel into electricity and supplies the electricity to the battery; an energy prediction device that predicts energy consumption when the vehicle travels along a planned travel route; a simulation device that simulates a time transition of a remaining charge of the battery when the vehicle travels along the planned travel route; Equipped with The information processing device includes: In the estimation process, the proxy model is estimated by modeling the black-box function, which has a value based on the state of the battery as the output value; In the sampling process, the N discrete parameters are provided to the simulation device, and a simulation result by the simulation device is sampled as the output value; In the control process, the plurality of control variables arranged in time series for controlling the generator in time series are generated. Vehicle control system.

[0277] [Technical proposal 15] an engine that drives the vehicle; a control device for controlling the engine; Equipped with The control device includes an information processing device according to any one of technical proposals 3 to 9; The information processing device includes: In the estimation process, the proxy model is estimated by modeling the black box function, which has at least one of vibration, noise, and gas emission of the moving body as the output value; In the control process, the control amount for controlling the engine is generated based on the N discrete parameters. Mobile control system.

[0278] [Technical proposal 16] a motor that drives the moving body; a motor driver that drives the motor; a first power storage device that supplies power to the motor driver and regenerates power from the motor driver; a second power storage device that supplies power to the motor driver, regenerates power from the motor driver, and has characteristics different from those of the first power storage device; an energy prediction device that predicts energy consumption when the moving object moves along a planned moving path; a simulation device that simulates a state of the first power storage device when the moving object moves along the planned moving path; a control device that controls input and output of power between the motor driver and the first power storage device and input and output of power between the motor driver and the second power storage device; Equipped with The control device includes an information processing device according to any one of technical proposals 3 to 9; The information processing device includes: In the estimation process, the proxy model is estimated by modeling the black box function, which has as its output value a value based on a time transition of the remaining capacity of the first power storage device and a time transition of the remaining capacity of the second power storage device; In the sampling process, the N discrete parameters are provided to the simulation device, and a simulation result by the simulation device is sampled as the output value; In the control process, the plurality of control amounts arranged in time series are generated for controlling the input / output of power between the motor driver and the first power storage device and the input / output of power between the motor driver and the second power storage device in time series. Mobile control system.

[0279] [Technical proposal 17] An information processing method executed by an information processing device, the information processing device repeatedly executes an estimation process, an optimization process, a sampling process, and an addition process; In the estimation process, the information processing device estimates a surrogate model, which is a function including a plurality of discrete variables that models a black-box function, based on a history data set; the history data set includes history data including N discrete parameters (N is an integer equal to or greater than 2) input to the black-box function and output values ​​output from the black-box function in response to the input of the N discrete parameters; In the optimization process, the information processing device calculates a solution to an optimization problem that minimizes or maximizes the surrogate model estimated in the estimation process as the N discrete parameters; In the sampling process, the information processing device samples the output value output from the black-box function based on sample values ​​obtained corresponding to the N discrete parameters calculated in the optimization process; In the adding process, the information processing device adds history data including the N discrete parameters calculated in the optimization process and the output value sampled in the sampling process to the history data set; Furthermore, the information processing device executes a deletion process for deleting, from the history data set, at least a part of the one or more pieces of history data added in the addition process more than a predetermined number of times ago or more than a predetermined time ago. Information processing methods.

[0280] [Technical proposal 18] A program for causing a computer to function as an information processing device, The computer Repeat the estimation, optimization, sampling, and addition processes. In the estimation process, a surrogate model is estimated, which is a function including a plurality of discrete variables that models a black-box function based on a historical data set; the history data set includes history data including N discrete parameters (N is an integer equal to or greater than 2) input to the black-box function and output values ​​output from the black-box function in response to the input of the N discrete parameters; In the optimization process, a solution to an optimization problem that minimizes or maximizes the surrogate model estimated in the estimation process is calculated as the N discrete parameters; In the sampling process, the output value output from the black-box function is sampled based on sample values ​​obtained corresponding to the N discrete parameters calculated in the optimization process; In the adding process, history data including the N discrete parameters calculated in the optimization process and the output values ​​sampled in the sampling process is added to the history data set; Furthermore, a deletion process is executed to delete at least a part of the one or more pieces of history data added in the addition process more than a predetermined number of times or more than a predetermined time from the history data set. A program that operates like this.

[0281] [Technical proposal 19] Circuit information describing a circuit configuration written in a hardware description language, causing the circuit to function as an information processing device; The information processing device includes: Repeat the estimation, optimization, sampling, and addition processes. In the estimation process, a surrogate model is estimated, which is a function including a plurality of discrete variables that models a black-box function based on a historical data set; the history data set includes history data including N discrete parameters (N is an integer equal to or greater than 2) input to the black-box function and output values ​​output from the black-box function in response to the input of the N discrete parameters; In the optimization process, a solution to an optimization problem that minimizes or maximizes the surrogate model estimated in the estimation process is calculated as the N discrete parameters; In the sampling process, the output value output from the black-box function is sampled based on sample values ​​obtained corresponding to the N discrete parameters calculated in the optimization process; In the adding process, history data including the N discrete parameters calculated in the optimization process and the output values ​​sampled in the sampling process is added to the history data set; Furthermore, a deletion process is executed to delete at least a part of the one or more pieces of history data added in the addition process more than a predetermined number of times or more than a predetermined time from the history data set. Circuit information.

[0282] [Technical proposal 20] Circuit information written into a reconfigurable semiconductor device in order to operate the reconfigurable semiconductor device, causing the reconfigurable semiconductor device to function as an information processing device; The information processing device includes: Repeat the estimation, optimization, sampling, and addition processes. In the estimation process, a surrogate model is estimated, which is a function including a plurality of discrete variables that models a black-box function based on a historical data set; the history data set includes history data including N discrete parameters (N is an integer equal to or greater than 2) input to the black-box function and output values ​​output from the black-box function in response to the input of the N discrete parameters; In the optimization process, a solution to an optimization problem that minimizes or maximizes the surrogate model estimated in the estimation process is calculated as the N discrete parameters; In the sampling process, the output value output from the black-box function is sampled based on sample values ​​obtained corresponding to the N discrete parameters calculated in the optimization process; In the adding process, history data including the N discrete parameters calculated in the optimization process and the output values ​​sampled in the sampling process is added to the history data set; Furthermore, a deletion process is executed to delete at least a part of the one or more pieces of history data added in the addition process more than a predetermined number of times or more than a predetermined time from the history data set. Circuit information. [Explanation of symbols]

[0283] 10. Control System 100 Control Target 20 Information processing equipment 22 History memory section 24 Estimation part 26 Surrogate Model Memory Unit 28 Optimization Section 30 Control Unit 32 Sampling section 34 Additional Section 36 Timing control section 38 Deleted section 42 Duplication prevention section 44 Simulator 46 Mapping Section 50 Evaluation Department 52 Non-black box control section 54 Switching section

Claims

1. Repeat the estimation, optimization, sampling, and addition processes. In the estimation process, a surrogate model is estimated, which is a function including a plurality of discrete variables that models a black-box function based on a historical data set; the history data set includes history data including N discrete parameters (N is an integer equal to or greater than 2) input to the black-box function and output values ​​output from the black-box function in response to the input of the N discrete parameters; In the optimization process, a solution to an optimization problem that minimizes or maximizes the surrogate model estimated in the estimation process is calculated as the N discrete parameters; In the sampling process, the output value output from the black-box function is sampled based on sample values ​​obtained corresponding to the N discrete parameters calculated in the optimization process; In the adding process, history data including the N discrete parameters calculated in the optimization process and the output values ​​sampled in the sampling process is added to the history data set; Furthermore, a deletion process is executed to delete at least a part of the one or more pieces of history data added in the addition process more than a predetermined number of times or more than a predetermined time from the history data set. Information processing device.

2. The surrogate model is a quadratic function used in the factorization machine The information processing device according to claim 1 .

3. A control process is further performed to generate a control amount based on the N discrete parameters and to give the generated control amount to a control object. The information processing device according to claim 1 .

4. In the sampling process, a sensor value output from a sensor observing the controlled object is acquired as the sample value. The information processing device according to claim 3 .

5. In the sampling process, a simulation result obtained by providing the N discrete parameters to a simulator that simulates the operation of the controlled object by information processing is acquired as the sample value. The information processing device according to claim 3 .

6. The simulator simulates the controlled object using sensor values ​​output from a sensor that observes the controlled object. The information processing device according to claim 5 .

7. a control process for generating a plurality of control variables arranged in time series based on the N discrete parameters, and for controlling the control object based on the plurality of control variables over time by applying the generated plurality of control variables to the control object; The information processing device according to claim 1 .

8. each of the plurality of control variables corresponds to one of the N discrete parameters; a mapping process is further performed to change the correspondence between the N discrete parameters included in the history data and the plurality of discrete variables in the surrogate model so that a time corresponding to a first discrete variable of the plurality of discrete variables in the surrogate model estimated in a first estimation process, which is one of the estimation processes that are repeatedly executed, coincides with a time corresponding to the first discrete variable in the surrogate model estimated in a second estimation process, which is the estimation process immediately after the first estimation process. The information processing device according to claim 7 .

9. further performing an evaluation process for evaluating whether the control amount generated based on the N discrete parameters satisfies a predetermined evaluation criterion; When the control amount does not satisfy the predetermined evaluation criterion, in the control process, instead of the control amount generated based on the N discrete parameters, the control amount generated based on information different from the N discrete parameters is given to the control object. The information processing device according to claim 3 .

10. During a predetermined initial period after starting the control, the control amount generated based on information different from the control amount based on the N discrete parameters is given to the controlled object, and after the predetermined initial period is ended, the control amount based on the N discrete parameters is given to the controlled object. The information processing device according to claim 3 .

11. It is determined whether the N discrete parameters calculated in the optimization process match the N discrete parameters that are the basis of the control amount given to the control target a predetermined number of times or a predetermined time ago, and if they match, a duplication prevention process is further performed to re-execute the optimization process. The information processing device according to claim 3 .

12. Before the initial estimation process, the historical data set or the surrogate model is obtained. The information processing device according to claim 1 .

13. In the estimation process, a first surrogate model that is the surrogate model and a second surrogate model that is the surrogate model and includes fewer coefficients than the first surrogate model are estimated; In the optimization process, a solution to the optimization problem is calculated using either the first surrogate model or the second surrogate model as the surrogate model depending on the number of pieces of history data included in the history data set. The information processing device according to claim 1 .

14. The information processing device according to claim 7; a motor that drives the vehicle; a battery that supplies power to the motor and from which power is regenerated by the motor; a generator that converts fuel into electricity and supplies the electricity to the battery; an energy prediction device that predicts energy consumption when the vehicle travels along a planned travel route; a simulation device that simulates a time transition of a remaining charge of the battery when the vehicle travels along the planned travel route; Equipped with The information processing device includes: In the estimation process, the proxy model is estimated by modeling the black-box function, which has a value based on the state of the battery as the output value; In the sampling process, the N discrete parameters are provided to the simulation device, and a simulation result by the simulation device is sampled as the output value; In the control process, the plurality of control variables arranged in time series for controlling the generator in time series are generated. Vehicle control system.

15. an engine that drives the vehicle; a control device for controlling the engine; Equipped with The control device includes the information processing device according to claim 3, The information processing device includes: In the estimation process, the proxy model is estimated by modeling the black box function, which has at least one of vibration, noise, and gas emission of the moving body as the output value; In the control process, the control amount for controlling the engine is generated based on the N discrete parameters. Mobile control system.

16. a motor that drives the moving body; a motor driver that drives the motor; a first power storage device that supplies power to the motor driver and regenerates power from the motor driver; a second power storage device that supplies power to the motor driver, regenerates power from the motor driver, and has characteristics different from those of the first power storage device; an energy prediction device that predicts energy consumption when the moving object moves along a planned moving path; a simulation device that simulates a state of the first power storage device when the moving object moves along the planned moving path; a control device that controls input and output of power between the motor driver and the first power storage device and input and output of power between the motor driver and the second power storage device; Equipped with The control device includes the information processing device according to claim 7, The information processing device includes: In the estimation process, the proxy model is estimated by modeling the black box function, which has as its output value a value based on a time transition of the remaining capacity of the first power storage device and a time transition of the remaining capacity of the second power storage device; In the sampling process, the N discrete parameters are provided to the simulation device, and a simulation result by the simulation device is sampled as the output value; In the control process, the plurality of control amounts arranged in time series are generated for controlling the input / output of power between the motor driver and the first power storage device and the input / output of power between the motor driver and the second power storage device in time series. Mobile control system.

17. An information processing method executed by an information processing device, the information processing device repeatedly executes an estimation process, an optimization process, a sampling process, and an addition process; In the estimation process, the information processing device estimates a surrogate model, which is a function including a plurality of discrete variables that models a black-box function, based on a history data set; the history data set includes history data including N discrete parameters (N is an integer equal to or greater than 2) input to the black-box function and output values ​​output from the black-box function in response to the input of the N discrete parameters; In the optimization process, the information processing device calculates a solution to an optimization problem that minimizes or maximizes the surrogate model estimated in the estimation process as the N discrete parameters; In the sampling process, the information processing device samples the output value output from the black-box function based on sample values ​​obtained corresponding to the N discrete parameters calculated in the optimization process; In the adding process, the information processing device adds history data including the N discrete parameters calculated in the optimization process and the output value sampled in the sampling process to the history data set; Furthermore, the information processing device executes a deletion process for deleting at least a part of the one or more pieces of history data added in the addition process more than a predetermined number of times ago or more than a predetermined time ago from the history data set. Information processing methods.

18. A program for causing a computer to function as an information processing device, The computer Repeat the estimation, optimization, sampling, and addition processes. In the estimation process, a surrogate model is estimated, which is a function including a plurality of discrete variables that models a black-box function based on a historical data set; the history data set includes history data including N discrete parameters (N is an integer equal to or greater than 2) input to the black-box function and output values ​​output from the black-box function in response to the input of the N discrete parameters; In the optimization process, a solution to an optimization problem that minimizes or maximizes the surrogate model estimated in the estimation process is calculated as the N discrete parameters; In the sampling process, the output value output from the black-box function is sampled based on sample values ​​obtained corresponding to the N discrete parameters calculated in the optimization process; In the adding process, history data including the N discrete parameters calculated in the optimization process and the output values ​​sampled in the sampling process is added to the history data set; Furthermore, a deletion process is executed to delete at least a part of the one or more pieces of history data added in the addition process more than a predetermined number of times or more than a predetermined time from the history data set. A program that operates like this.

19. Circuit information describing a circuit configuration written in a hardware description language, causing the circuit to function as an information processing device; The information processing device includes: Repeat the estimation, optimization, sampling, and addition processes. In the estimation process, a surrogate model is estimated, which is a function including a plurality of discrete variables that models a black-box function based on a historical data set; the history data set includes history data including N discrete parameters (N is an integer equal to or greater than 2) input to the black-box function and output values ​​output from the black-box function in response to the input of the N discrete parameters; In the optimization process, a solution to an optimization problem that minimizes or maximizes the surrogate model estimated in the estimation process is calculated as the N discrete parameters; In the sampling process, the output value output from the black-box function is sampled based on sample values ​​obtained corresponding to the N discrete parameters calculated in the optimization process; In the adding process, history data including the N discrete parameters calculated in the optimization process and the output values ​​sampled in the sampling process is added to the history data set; Furthermore, a deletion process is executed to delete at least a part of the one or more pieces of history data added in the addition process more than a predetermined number of times or more than a predetermined time from the history data set. Circuit information.

20. Circuit information written into a reconfigurable semiconductor device in order to operate the reconfigurable semiconductor device, causing the reconfigurable semiconductor device to function as an information processing device; The information processing device includes: Repeat the estimation, optimization, sampling, and addition processes. In the estimation process, a surrogate model is estimated, which is a function including a plurality of discrete variables that models a black-box function based on a historical data set; the history data set includes history data including N discrete parameters (N is an integer equal to or greater than 2) input to the black-box function and output values ​​output from the black-box function in response to the input of the N discrete parameters; In the optimization process, a solution to an optimization problem that minimizes or maximizes the surrogate model estimated in the estimation process is calculated as the N discrete parameters; In the sampling process, the output value output from the black-box function is sampled based on sample values ​​obtained corresponding to the N discrete parameters calculated in the optimization process; In the adding process, history data including the N discrete parameters calculated in the optimization process and the output values ​​sampled in the sampling process is added to the history data set; Furthermore, a deletion process is executed to delete at least a part of the one or more pieces of history data added in the addition process more than a predetermined number of times or more than a predetermined time from the history data set. Circuit information.

Citation Information

Patent Citations

  • Plant controller

    JP1996083104A

  • Optimization calculating method, optimization system, and its program

    JP2003015704A

  • Control system and control method of utility consumption facility

    JP2004286284A

  • Information processor, regression model generation method, and regression model generation program

    JP2022003484A

  • Water treatment system, water treatment method, and information processing device

    JP2023121593A