Information generation device, information generation method, and information generation program
The information generation device addresses the limitation of existing machine learning models by using inverse reinforcement learning to generate objective functions for optimization problems, creating searchable information that aids in decision-making.
Patent Information
- Application Number
- JP2023534486
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-07-13
- Publication Date
- 2025-06-03
- Estimated Expiration
- 2041-07-13
AI Technical Summary
Existing machine learning models are not designed to address combinatorial optimization problems, limiting their application in decision-making processes.
An information generation device and method that utilizes inverse reinforcement learning to generate an objective function for optimization problems, associating it with characteristics of the problem to create searchable information.
Enables the generation of information for searching optimization problems, facilitating decision-making by providing a structured approach to combinatorial optimization.
Smart Images

Figure 0007687400000001 
Figure 0007687400000002 
Figure 0007687400000003
Abstract
Description
Technical Field
[0001] The present invention relates to an information generation device, an information generation method, and an information generation program for generating searchable information.
Background Art
[0002] Patent Document 1 describes an apparatus that selects one or a plurality of machine learning models from a plurality of machine learning models pre-stored in a database according to a usage request acquired from a user-side apparatus and provides the models to the user-side apparatus. The database described in Patent Document 1 stores a plurality of machine learning models and also stores model information, which is information on at least one of the functions and generation environments of each machine learning model.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] The machine learning models described in Patent Document 1 are assumed to be prediction models generated by machine learning based on learning data and correct answer data, but are not assumed to be used for decision-making such as combinatorial optimization problems.
[0005] Therefore, an object of the present invention is to provide an information generation device, an information generation method, and an information generation program capable of generating information for searching optimization problems.
Means for Solving the Problems
[0006] The information generation device according to the present invention includes an input means for receiving an input of first data indicating an optimization problem including an objective function and constraints, and second data indicating characteristics of the optimization problem, and a generation means for generating search information associating the first data and the second data. , a learning means for generating an objective function of an optimization problem by inverse reinforcement learning using the decision-making history data of the target person, the learning means receives an input of a prediction model, generates an objective function using the prediction result of the received prediction model as an explanatory variable, and the generation means generates search information associating first data including the generated objective function with second data It is characterized by this.
[0007] In the information generation method according to the present invention, a computer receives an input of first data indicating an optimization problem including an objective function and constraints, and second data indicating characteristics of the optimization problem. A computer receives an input of a prediction model, and generates an objective function of an optimization problem by inverse reinforcement learning using the decision-making history data of the target person, using the prediction result of the received prediction model as an explanatory variable. The computer including the generated objective function is characterized by generating search information associating the first data and the second data.
[0008] The information generation program according to the present invention causes a computer to perform an input process for receiving an input of first data indicating an optimization problem including an objective function and constraints, and second data indicating characteristics of the optimization problem. , the A generation process for generating search information associating the first data and the second data. , and execute a learning process for generating an objective function of an optimization problem by inverse reinforcement learning using the decision-making history data of the target person. In the learning process, receive an input of a prediction model, generate an objective function using the prediction result of the received prediction model as an explanatory variable, and in the generation process, generate search information associating first data including the generated objective function with second data It is characterized by this.
Advantages of the Invention
[0009] According to the present invention, information for searching an optimization problem can be generated.
Brief Description of the Drawings
[0010]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Mode for Carrying Out the Invention
[0011] Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0012] FIG. 1 is a block diagram showing a configuration example of an embodiment of an information distribution system according to the present invention. The information distribution system 1 of this embodiment includes an information generation device 100, a search device 200, and a storage server 300. The information generation device 100, the search device 200, and the storage server 300 are mutually connected through a communication line.
[0013] The information generation device 100 is a device that generates information (hereinafter referred to as search information) used by the search device 200 described later to search for an optimization problem. The optimization problem in this embodiment includes an objective function (more specifically, the structure of the objective function) and constraint conditions formulated for the problem to be solved. Therefore, it can be said that the optimization problem in this embodiment represents the type of user's decision-making for the problem to be solved. Note that the method for generating search information will be described later.
[0014] FIG. 2 is an explanatory diagram showing an example of the type of decision-making (that is, the optimization problem). In the example shown in FIG. 2, the type of problem to be solved is classified into a so-called "shift scheduling problem", and the optimization problem includes an objective function defined by the linear sum of the violation degrees (explanatory variables) of three conditions (Condition 1, Condition 2, Condition 3), and two constraint conditions (Condition 4, Condition 5).
[0015] In addition, λ of the objective function illustrated in FIG. 2 is a value indicating the degree to which the user emphasizes conditions (hereinafter, may also be referred to as the user's intention). Depending on the type of decision-making, it is set to various values. By searching for the combination that minimizes the value of this objective function, it becomes possible to derive appropriate actions.
[0016] The storage server 300 stores the search information generated by the information generation device 100. The storage server 300 may manage the search information by, for example, a general database (database system). In addition, the storage server 300 may store search information generated by entities other than the information generation device 100.
[0017] The search device 200 searches for an optimization problem using the search information stored in the storage server 300 (more specifically, the database of the storage server 300). In addition, the search device 200 derives the optimal action of the user using the searched optimization problem.
[0018] Hereinafter, specific configuration examples of the information generation device 100 and the search device 200 will be described.
[0019] FIG. 3 is a block diagram showing a configuration example of the information generation device 100 of the present embodiment. The information generation device 100 of the present embodiment includes a storage unit 110, an input unit 120, a feature generation unit 130, a recommendation unit 140, a learning unit 150, a generation unit 160, and a registration unit 170.
[0020] The storage unit 110 stores various information used when the information generation device 100 performs processing. The storage unit 110 may store training data, parameters, learning results, etc. used by the learning unit 150 described later for learning processing. The storage unit 110 is realized by, for example, a magnetic disk or the like.
[0021] The input unit 120 receives the input of various types of information used when generating search information. Specifically, the input unit 120 receives the input of information indicating an optimization problem including an objective function and constraints (hereinafter referred to as first data), and information indicating the characteristics of the optimization problem (hereinafter referred to as second data).
[0022] The input unit 120 may receive the input of the first data and the second data from the user. Further, the input unit 120 may receive the input of the objective function generated by the learning unit 150 described later (more specifically, the objective function stored in the storage unit 110). Further, the input unit 120 may receive the input of the second data (that is, information indicating the characteristics of the optimization problem) from the feature generation unit 130 described later.
[0023] Furthermore, the input unit 120 may receive the input of an optimization solver (or information specifying the optimization solver) as a candidate for solving the optimization problem together with the first data. Examples of the optimization solver include, for example, a mathematical programming solver.
[0024] For example, users who input an optimization problem often know an optimization solver suitable for solving the optimization problem. Therefore, by receiving the input of such information together with the first data, the user who searches for the optimization problem by the search device 200 described later can know the optimization solver to be used for the optimization problem.
[0025] The first data represents information indicating an optimization problem based on the structure of the objective function and the conditions indicating constraints as described above. Note that the form of the objective function is arbitrary. For example, as illustrated in FIG. 2, it may be a function represented by a linear sum of explanatory variables (conditions). Also, the form of the constraint is arbitrary, and it may be information that specifies whether the constraint is satisfied or not satisfied in a binary value, or information that indicates the degree of satisfaction of the constraint.
[0026] Also, the second data can be arbitrary as long as it indicates the characteristics of the optimization problem. However, the second data does not necessarily need to be information that can uniquely identify the optimization problem. Examples of the characteristics of the optimization problem include, for example, the type of the optimization problem, attribute information such as the explanatory variables (features) included, the optimization situation indicating when, where, by whom, and for what decision-making the optimization problem is used, and usage conditions such as the range and time of available (public) subjects.
[0027] The type of the optimization problem may be, for example, a template type of the optimization problem such as a schedule optimization problem or a knapsack problem, or may be the type of the industry (e.g., retail, manufacturing, travel, etc.) in which it is used.
[0028] The feature generation unit 130 generates the characteristics of the optimization problem. Specifically, the feature generation unit 130 generates the second data described above from the first data. The method by which the feature generation unit 130 generates the second data is arbitrary. The feature generation unit 130 may, for example, automatically generate the second data based on a predetermined method, or may generate the second data based on a designation from the user.
[0029] For example, when the objective function is represented by a linear sum of the above-described explanatory variables, the feature generation unit 130 may generate the characteristics of the optimization problem according to the weights (i.e., the degrees of emphasis) of the explanatory variables included in the objective function. For example, the feature generation unit 130 may generate the content of the explanatory variable with the largest weight as the characteristic of the optimization problem.
[0030] Also, for example, when explanatory variables are explicitly designated by the user (e.g., features not used in other optimization problems), the feature generation unit 130 may generate the content of the designated explanatory variable as the characteristic of the optimization problem.
[0031] Further, the feature generation unit 130 may identify the type of optimization problem based on the explanatory variables (features) included in the objective function, and generate the identified type of optimization problem as a feature. For example, assume that the input unit 120 receives an input of an objective function including an explanatory variable of "employee working hours". In this case, it can be said that the type of optimization problem is more likely to be "shift scheduling" than "order quantity optimization". This is because "shift scheduling" is likely to include "employee working hours" as a feature. Therefore, a type of optimization problem corresponding to the explanatory variable may be predetermined, and the feature generation unit 130 may generate the predetermined corresponding type of optimization problem as a feature based on the explanatory variables included in the objective function.
[0032] Note that all of the generated features of the optimization problem may be included in the search information described later, or the features specified by the user to the recommendation unit 140 described later may be included in the search information described later.
[0033] The recommendation unit 140 recommends the features generated by the feature generation unit 130 to the user. Specifically, the recommendation unit 140 presents the features to be recommended to the user for specification. Note that the method by which the recommendation unit 140 presents the features is arbitrary. For example, the content such as the second data illustrated in FIG. 4 may be presented. Also, the number of features that the recommendation unit 140 allows the user to specify is not limited, and may be one or a plurality.
[0034] The learning unit 150 generates an objective function by machine learning using the training data stored in the storage unit 110. Specifically, the learning unit 150 generates an objective function of an optimization problem (more specifically, the first data) by inverse reinforcement learning using the history data (hereinafter referred to as decision-making history data) when the user makes a decision as training data.
[0035] Also, when using future prediction results, the learning unit 150 may receive an input of a prediction model for deriving a desired prediction result. Then, the learning unit 150 may generate an objective function using the prediction result of the received prediction model as an explanatory variable. Examples of future prediction results include product demand prediction, road congestion prediction, visitor number prediction, etc. In addition, when the prediction model is pre-stored in the storage unit 110, the learning unit 150 may acquire the prediction model stored in the storage unit 110.
[0036] Here, the feature generation unit 130 may generate information indicating a user who is the basis for generating training data used for learning the objective function as second data. By using such information, it becomes possible to utilize the information of the user who made the decision that is the basis for generating the objective function as a feature of the optimization problem.
[0037] The learning unit 150 stores the generated objective function in the storage unit 110. In addition, when the optimization problem (more specifically, the objective function) has already been generated or when there is no need to learn the objective function, the information generation device 100 may not include the learning unit 150.
[0038] The generation unit 160 generates search information associating the first data and the second data. As a result, since information for searching for an optimization problem can be generated, it becomes possible to search for the first data associated with the second data using the second data as a key.
[0039] Also, when the input unit 120 has received an input of an optimization solver to be used as a candidate for solving the optimization problem, the generation unit 160 may generate search information including information on the optimization solver. This makes it possible to grasp the optimization solver that can be used for the corresponding optimization problem.
[0040] Also, when the recommendation unit 140 has received a specification of a feature recommended by the user, the generation unit 160 may generate search information including the feature specified by the user in the second data.
[0041] The registration unit 170 registers the generated search information in the storage server 300.
[0042] FIG. 4 is an explanatory diagram showing an example of search information stored in the storage server 300. FIG. 4 illustrates search information in which first data and second data are associated with each other. For example, in the case of the search information in the first row, it shows that the optimization problem includes an objective function represented by a linear sum of three conditions (explanatory variables) and two constraint conditions to be satisfied.
[0043] Furthermore, in the case of the search information in the first row, it shows that the optimization problem belongs to the category of so-called "schedule optimization" problems, and aims to emphasize time efficiency while also emphasizing actions such as spending time slowly at night. Among other things, the optimization problem shown in the first row relates to the situation when a 20-year-old male travels to Osaka and is available for all users for one month. Furthermore, it shows that "solver A" is specified as a candidate for the optimization solver for solving the optimization problem shown in the first row.
[0044] Note that it is not necessary for all of the assumed features exemplified in FIG. 4 to be associated with the first data; only some of the features may be associated. Also, the classification and expression modes of the features included in the second data are examples. These features may be expressed, for example, based on the index specifications defined in each database.
[0045] The input unit 120, the feature generation unit 130, the recommendation unit 140, the learning unit 150, the generation unit 160, and the registration unit 170 are realized by a processor (e.g., a CPU (Central Processing Unit), a GPU (Graphics Processing Unit)) of a computer that operates according to a program (information generation program).
[0046] For example, the program is stored in the storage unit 110 provided in the information generation device 100, and the processor may read the program and operate as the input unit 120, the feature generation unit 130, the recommendation unit 140, the learning unit 150, the generation unit 160, and the registration unit 170 according to the program. Further, the functions of the information generation device 100 may be provided in the form of SaaS (Software as a Service).
[0047] Further, the input unit 120, the feature generation unit 130, the recommendation unit 140, the learning unit 150, the generation unit 160, and the registration unit 170 may each be realized by dedicated hardware. Also, some or all of the components of each device may be realized by general-purpose or dedicated circuitry, processors, etc. or combinations thereof. These may be constituted by a single chip or by a plurality of chips connected via a bus. Some or all of the components of each device may be realized by a combination of the circuitry etc. described above and a program.
[0048] Further, when some or all of the components of the information generation device 100 are realized by a plurality of information processing devices, circuitry, etc., the plurality of information processing devices, circuitry, etc. may be centrally arranged or may be distributed. For example, the information processing devices, circuitry, etc. may be realized in a form in which each is connected via a communication network, such as a client-server system or a cloud computing system.
[0049] FIG. 5 is a block diagram showing a configuration example of the search device 200 of the present embodiment. The search device 200 of the present embodiment includes a search condition input unit 210, a search unit 220, a model input unit 230, a problem extraction unit 240, a problem generation unit 250, an optimization unit 260, and an output unit 270.
[0050] The search condition input unit 210 receives an input of conditions for searching for an optimization problem (hereinafter, may also be simply referred to as search conditions). Specifically, the search condition input unit 210 receives an input of information indicating the features of the optimization problem (specifically, the second data) as the search conditions.
[0051] Note that the form of the input information is arbitrary, and the search condition input unit 210 may extract search conditions based on the assumed input. For example, the search condition input unit 210 may accept the input of a character string indicating the content to be solved as an optimization problem. In this case, the search condition input unit 210 may extract the characteristics of the optimization problem to be extracted from the input character string based on known natural language processing. The extracted characteristics are used by the search unit 220 described later.
[0052] For example, when a character string such as "want to create an optimal plan when a 20-something male travels to Osaka" is input, the search condition input unit 210 may extract characteristics such as "20-something male" and "travel to Osaka" from the input character string.
[0053] In addition, the search condition input unit 210 may accept the input of information indicating an optimization problem (specifically, information indicating the first data) as a search condition. For example, the search condition input unit 210 may display a list of candidates for the first data indicating the optimization problem and accept the designation of a candidate from the user.
[0054] The search unit 220 searches the storage server 300 (more specifically, the database that stores the search information associating the first data and the second data) for an optimization problem that matches the search conditions specified by the input to the search condition input unit 210. More specifically, the search unit 220 searches for the first data (that is, the optimization problem) associated with the search information that matches the input second data (that is, the characteristics of the optimization problem).
[0055] In addition, when the information indicating the first data is input, the search unit 220 may search for an optimization problem that matches the information indicating the input first data. Further, when the search information includes candidates for optimization solvers, the search unit 220 may also search for the corresponding optimization solvers.
[0056] In addition, the search unit 220 may present the search results to the user and accept the specification of the optimization problem desired by the user. For example, as search results, the search unit 220 may display, together with the first data, the characteristics of the optimization problem (i.e., the second data), and accept the user's specification for the displayed first data.
[0057] The model input unit 230 accepts the input of a model (hereinafter sometimes referred to as a decision-making model) learned based on the decision-making history data of the target user. That is, the model input unit 230 accepts the input of a model that reflects the past decisions of the target user. Note that the model input unit 230 may also accept, together with the model, the input of the constraint conditions imposed on the model.
[0058] Note that the method for generating the model that accepts the input is arbitrary. For example, the model input unit 230 may accept the input of a model learned by a method similar to the method by which the learning unit 150 of the information generation device 100 generates an objective function (e.g., inverse reinforcement learning).
[0059] Note that the received model is compared with the optimization problem searched by the search unit 220. Therefore, the model to be input is preferably a model generated by a method similar to the optimization problem to be searched or a model generated in a similar manner.
[0060] The problem extraction unit 240 compares the optimization problem searched by the search unit 220 with the decision-making model for which the model input unit 230 has accepted the input, and extracts, from the searched optimization problem (i.e., the first data), the optimization problem whose similarity to the input decision-making model satisfies a predetermined condition. Examples of the predetermined condition include that the similarity is greater than a predetermined threshold value.
[0061] Since the decision-making model is a model learned based on the decision-making history data of the target user, it can be said that the model reflects the intention of the target user. Therefore, by determining the similarity between such a model and the optimization problem, the problem extraction unit 240 can extract an optimization problem that reflects an intention similar to that of the target user.
[0062] The method by which the problem extraction unit 240 calculates the similarity is arbitrary. The problem extraction unit 240 may calculate the similarity of the feature amounts (explanatory variables) included in each of the decision-making model and the optimization problem. For example, the problem extraction unit 240 may calculate the degree of overlap of the types of feature amounts as the similarity. Alternatively, the problem extraction unit 240 may calculate the similarity by calculating the difference in the values of the weight coefficients of each overlapping feature amount, for example, by cosine similarity or RMSE (Root Mean Square Error).
[0063] Furthermore, when there is learning data used when generating the decision-making model and the optimization problem, the problem extraction unit 240 may calculate the degree of overlap of the value ranges that can be taken for the same feature amount, or the average or variance of each feature amount, as the similarity.
[0064] Note that the method by which the problem extraction unit 240 calculates the similarity is not limited to the method based on the structure of the decision-making model and the optimization problem as described above. For example, the problem extraction unit 240 may calculate the similarity based on the difference in the output values when the same data is input to each of the decision-making model and the optimization problem. Also, when a sentence indicating the feature of the problem or the model is attached to each of the optimization problem and the decision-making model, respectively, the problem extraction unit 240 may calculate the similarity between the sentences as the similarity between the optimization problem and the decision-making model.
[0065] Note that the search device 200 does not necessarily need to receive the input of the decision-making model. When there is no input of the decision-making model, the search device 200 may not include the model input unit 230 and the problem extraction unit 240.
[0066] When multiple optimization problems are extracted, the problem generation unit 250 generates a new objective function from the multiple extracted optimization problems. Specifically, the problem generation unit 250 generates a new objective function by combining two or more objective functions selected from the multiple optimization problems. Note that when the optimization problem is specified as one, the problem generation unit 250 does not need to generate a new objective function.
[0067] Here, combining two or more objective functions means extracting some or all of the explanatory variables included in each objective function based on a predetermined rule, and formulating (functionalizing) using the extracted explanatory variables. Note that this rule is determined by the user or the like according to the degree of reflecting the intention indicated by each objective function. As a predetermined rule, for example, after multiplying the weights of the original explanatory variables by a predetermined ratio and extracting all of them, a method of calculating the sum of the extracted explanatory variables can be mentioned.
[0068] Hereinafter, a specific example of combining objective functions will be described. For example, assume that the objective function A and the objective function B have a plurality of overlapping feature amounts f 1 , f 2 , f 3 . Objective function A: a 1 *f 1 + a 2 *f 2 + a 3 *f 3 Objective function B: b 1 *f 1 + b 2 *f 2 + b 3 *f 3
[0069] Here, assume that it is desired to generate an objective function that shows the intermediate intention (that is, the intention that equally reflects the intentions of both) between the intention shown by the objective function A and the intention shown by the objective function B. In this case, the problem generation unit 250 may add the objective functions obtained by multiplying the coefficients of each explanatory variable by 0.5 so that the combination ratio becomes 1:1, and generate an objective function C as exemplified below. Objective function C: 0.5 * (a 1 + b 1 ) * f 1 + 0.5 * (a 2 + b 2 ) * f 2 + 0.5 * (a 3 + b 3 ) * f 3
[0070] Similarly, it is desired to generate an objective function that reflects the intention indicated by the objective function A more than the intention indicated by the objective function B. In this case, the problem generation unit 250 may combine the objective variables so that the combination ratio is, for example, 4:1, and generate an objective function D as exemplified below. Objective function D: (0.8 * a 1 + 0.2 * b 1 ) * f 1 + (0.8 * a 2 + 0.2 * b 2 ) * f 2 + (0.8 * a 3 + 0.2 * b 3 ) * f 3
[0071] The optimization unit 260 performs an optimization process based on the generated new objective function and derives an optimization result. Also, for example, when candidates for an optimization solver are specified, the optimization unit 260 may derive an optimization result using the specified optimization solver.
[0072] The output unit 270 outputs the optimization result (e.g., the optimal action) derived by the optimization unit 260.
[0073] The search condition input unit 210, the search unit 220, the model input unit 230, the problem extraction unit 240, the problem generation unit 250, the optimization unit 260, and the output unit 270 are realized by a processor of a computer that operates according to a program (search program).
[0074] For example, the program is stored in a storage unit (not shown) provided in the search device 200, and the processor may read the program and operate as the search condition input unit 210, the search unit 220, the model input unit 230, the problem extraction unit 240, the problem generation unit 250, the optimization unit 260, and the output unit 270 according to the program. Also, the functions of the search device 200 may be provided in the form of SaaS (Software as a Service).
[0075] Also, similar to the configuration of the information generation device 100, the search condition input unit 210, the search unit 220, the model input unit 230, the problem extraction unit 240, the problem generation unit 250, the optimization unit 260, and the output unit 270 may each be implemented by dedicated hardware.
[0076] Next, the operation of the information circulation system 1 of the present embodiment will be described. FIG. 6 is a flowchart showing an operation example of the information generation device 100 of the present embodiment. The input unit 120 receives the input of the first data indicating the optimization problem including the objective function and the constraints, and the second data indicating the characteristics of the optimization problem (step S11). The generation unit 160 generates search information associating the first data and the second data (step S12). Then, the registration unit 170 registers the generated search information in the storage server 300 (step S13).
[0077] FIG. 7 is a flowchart showing an operation example of the search device 200 of the present embodiment. The search condition input unit 210 receives the input of information indicating the characteristics of the optimization problem (that is, the second data) (step S21). The search unit 220 searches the storage server 300 for the optimization problem (that is, the first data) associated with the search information that matches the input information (that is, the second data) (step S22). Thereafter, the optimization unit 260 performs optimization processing using the searched first data, and the output unit 270 outputs the optimization result.
[0078] As described above, in the present embodiment, the input unit 120 receives the input of the first data and the second data, and the generation unit 160 generates search information in which the first data and the second data are associated with each other. Therefore, information for searching for an optimization problem can be generated.
[0079] That is, as described above, since the optimization problem is generally generated individually in consideration of the user's perspective and various constraint conditions, there is no technical idea of storing a plurality of optimization problems in a database or the like in a searchable manner. On the other hand, in the present embodiment, since the generation unit 160 generates search information in which the first data and the second data are associated with each other, it becomes possible to manage the optimization problem using this search information.
[0080] Also, in the present embodiment, the search condition input unit 210 receives the input of the second data as a search condition, and the search unit 220 searches the storage server 300 for the first data associated with the search information that matches the input second data. Therefore, a desired optimization problem can be searched for.
[0081] That is, as described above, due to the characteristics of the individually generated optimization problems, there is no technical idea of searching for other optimization problems from a database. On the other hand, in the present embodiment, the search unit 220 searches the storage server 300 for the first data associated with the search information that matches the input second data. Therefore, it becomes possible to acquire a desired optimization problem.
[0082] Next, a specific example of a robot control system using the search device 200 of the present embodiment will be described. FIG. 8 is a block diagram showing a configuration example of an embodiment of a robot control system. The robot control system 2000 illustrated in FIG. 8 includes a search device 200 and a robot 2300.
[0083] The search device 200 illustrated in FIG. 8 is the same as the search device 200 in the above embodiment. The search device 200 stores the optimization result in the storage unit 2310 of the robot 2300 described later.
[0084] The robot 2300 is a device that operates based on the optimization result. Here, the robot is not limited to a device in the shape of a human or an animal, but also includes devices that perform automatic operations (such as automatic driving and automatic control). The robot 2300 includes a storage unit 2310, an input unit 2320, and a control unit 2330.
[0085] The storage unit 2310 stores the optimization result derived by the search device 200.
[0086] The input unit 2320 receives the input of various information used when operating the robot.
[0087] The control unit 2330 controls the operation of the robot 2300 based on the received various information and the optimization result stored in the storage unit 2310. Note that the method by which the control unit 2330 controls the operation of the robot 2300 based on the optimization result may be predetermined. In this embodiment, a device that performs an automatic operation such as the robot 2300 can be controlled based on the derived optimization result.
[0088] Next, the outline of the present invention will be described. FIG. 9 is a block diagram showing the outline of the information generation device according to the present invention. The information generation device 80 (for example, the information generation device 100) according to the present invention includes an input means 81 (for example, the input unit 120) that receives an input of first data indicating an optimization problem including an objective function and constraints, and second data indicating the characteristics of the optimization problem, and a generation means 82 (for example, the generation unit 160) that generates search information associating the first data and the second data.
[0089] With such a configuration, information for searching for an optimization problem can be generated.
[0090] Further, the generation means 82 may generate search information associating the first data including the objective function learned using the decision-making history data of the target person and the second data.
[0091] Further, the information generation device 80 may include feature generation means (for example, feature generation unit 130) that generates features of the optimization problem. Then, the generation means 82 may generate search information in which the generated features of the optimization problem are associated with the first data.
[0092] Further, the objective function may be represented as a linear sum of explanatory variables. At this time, the feature generation means may generate features of the optimization problem according to the weights of the explanatory variables included in the objective function.
[0093] Further, the feature generation means may generate, as features of the optimization problem, information indicating a user who is the basis for generating the training data used for learning the objective function.
[0094] Further, the information generation device 80 may include recommendation means (for example, recommendation unit 140) that recommends the features generated by the feature generation means to the user. Then, the recommendation means may present and specify the features to be recommended to the user, and the generation means 82 may generate search information in which the features specified by the user are included in the second data.
[0095] Further, the input means 81 may receive an input of information on an optimization solver that is a candidate for solving the optimization problem. Then, the generation means 82 may generate search information including the information on the optimization solver.
[0096] Further, the information generation device 80 may include learning means (for example, learning unit 150) that generates an objective function of the optimization problem by inverse reinforcement learning using the decision-making history data of the target person. Then, the generation means 82 may generate search information in which the first data including the generated objective function is associated with the second data.
[0097] At this time, the learning unit may receive an input of a prediction model and generate an objective function using the prediction result of the received prediction model as an explanatory variable.
[0098] Further, the information generation device 80 may include a registration unit (for example, the registration unit 170) that registers the generated search information in a database (for example, the storage server 300).
[0099] FIG. 10 is a schematic block diagram showing the configuration of a computer according to at least one embodiment. The computer 1000 includes a processor 1001, a main storage device 1002, an auxiliary storage device 1003, and an interface 1004.
[0100] Each device (the information generation device 100 and the search device 200) of the information distribution system 1 described above is implemented in the computer 1000, respectively. The operations of the above-described respective processing units are stored in the auxiliary storage device 1003 in the form of a program. The processor 1001 reads the program from the auxiliary storage device 1003 and expands it in the main storage device 1002, and executes the above processing according to the program.
[0101] In at least one embodiment, the auxiliary storage device 1003 is an example of a non-transitory tangible medium. Other examples of non-transitory tangible media include a magnetic disk, a magneto-optical disk, a CD-ROM (Compact Disc Read-only memory), a DVD-ROM (Read-only memory), a semiconductor memory, etc. connected via the interface 1004. Further, when this program is distributed to the computer 1000 via a communication line, the computer 1000 that has received the distribution may expand the program in the main storage device 1002 and execute the above processing.
[0102] Also, the program may be for realizing a part of the functions described above. Further, the program may be a so-called difference file (difference program) that realizes the functions described above in combination with other programs already stored in the auxiliary storage device 1003.
[0103] Some or all of the above embodiments may be described as follows in the appended claims, but are not limited thereto.
[0104] (Appendix 1) Input means for receiving an input of first data indicating an optimization problem including an objective function and constraints, and second data indicating characteristics of the optimization problem, and generation means for generating search information associating the first data and the second data. An information generation device characterized by the above.
[0105] (Appendix 2) The generation means generates search information associating first data including an objective function learned using decision-making history data of a target person and second data. The information generation device according to Appendix 1.
[0106] (Appendix 3) It includes feature generation means for generating characteristics of an optimization problem, and the generation means generates search information associating the generated characteristics of the optimization problem with the first data. The information generation device according to Appendix 1 or Appendix 2.
[0107] (Appendix 4) The objective function is represented by a linear sum of explanatory variables, and the feature generation means generates characteristics of the optimization problem according to the weights of the explanatory variables included in the objective function. The information generation device according to Appendix 3.
[0108] (Appendix 5) The feature generation means generates, as characteristics of the optimization problem, information indicating a user who was the basis for generating training data used for learning the objective function. The information generation device according to Appendix 3 or Appendix 4.
[0109] (Appendix 6) It includes recommendation means for recommending features generated by the feature generation means to a user, the recommendation means presents the features to be recommended to the user for specification, and the generation means generates search information including the features specified by the user in the second data. The information generation device according to any one of Appendices 3 to 5.
[0110] (Appendix 7) The input means receives an input of information on an optimization solver to be used as a candidate for solving an optimization problem, and the generation means generates search information including the information on the optimization solver. An information generation device according to any one of Appendices 1 to 6.
[0111] (Appendix 8) A learning means for generating an objective function of an optimization problem by inverse reinforcement learning using decision-making history data of a target person is provided, and the generation means generates search information in which first data including the generated objective function is associated with second data. An information generation device according to any one of Appendices 1 to 7.
[0112] (Appendix 9) The learning means receives an input of a prediction model and generates an objective function using the prediction result of the received prediction model as an explanatory variable. An information generation device according to Appendix 8.
[0113] (Appendix 10) An information generation device including a registration means for registering the generated search information in a database. An information generation device according to any one of Appendices 1 to 9.
[0114] (Appendix 11) A computer receives an input of first data indicating an optimization problem including an objective function and constraints, and second data indicating characteristics of the optimization problem, and the computer generates search information in which the first data is associated with the second data. An information generation method characterized by the above.
[0115] (Appendix 12) A computer generates search information in which first data including an objective function learned using decision-making history data of a target person is associated with second data. An information generation method according to Appendix 11.
[0116] (Appendix 13) To the computer, An input process that receives an input of first data indicating an optimization problem including an objective function and constraints, and second data indicating characteristics of the optimization problem, and A program storage medium that stores an information generation program for executing a generation process that generates search information associating the first data and the second data.
[0117] (Appendix 14) A computer Stores an information generation program for causing, in a generation process, the search information associating the first data including an objective function learned using decision-making history data of a target person and the second data to be generated. The program storage medium described in Appendix 13.
[0118] (Appendix 15) A computer An input process that receives an input of first data indicating an optimization problem including an objective function and constraints, and second data indicating characteristics of the optimization problem, and An information generation program for executing a generation process that generates search information associating the first data and the second data.
[0119] (Appendix 16) A computer In a generation process, causes the search information associating the first data including an objective function learned using decision-making history data of a target person and the second data to be generated. The information generation program described in Appendix 15.
Explanation of Signs
[0120] 1 Information circulation system 100 Information generation device 110 Storage unit 120 Input unit 130 Feature generation unit 140 Recommendation unit 150 Learning unit 160 Generation unit 170 Registration unit 200 Search device 210 Search condition input unit 220 Search Section 230 Model Input Section 240 Problem Extraction Section 250 Problem Generation Section 260 Optimization Section 270 Output Section 300 Storage Server
Claims
1. input means for receiving an input of first data indicating an optimization problem including an objective function and constraints, and second data indicating characteristics of the optimization problem; generation means for generating search information associating the first data and the second data; learning means for generating an objective function of an optimization problem by inverse reinforcement learning using decision-making history data of a target person, wherein the learning means receives an input of a prediction model, generates an objective function using a prediction result of the received prediction model as an explanatory variable, and the generation means generates search information associating the first data including the generated objective function and the second data; An information generation apparatus characterized by the above.
2. The generation means generates search information associating first data including an objective function learned using decision-making history data of a target person and second data. The information generation apparatus according to claim 1.
3. comprising feature generation means for generating characteristics of the optimization problem, wherein the generation means generates search information associating the generated characteristics of the optimization problem with the first data; The information generation apparatus according to claim 1 or claim 2.
4. The objective function is represented by a linear sum of explanatory variables, and the feature generation means generates characteristics of the optimization problem according to weights of the explanatory variables included in the objective function. The information generation apparatus according to claim 3.
5. The feature generation means generates, as characteristics of the optimization problem, information indicating a user who was the basis for generating training data used for learning the objective function. The information generation apparatus according to claim 3 or claim 4.
6. comprising recommendation means for recommending features generated by the feature generation means to a user, wherein the recommendation means presents and allows the user to specify the features to be recommended, and the generation means generates search information including the features specified by the user in the second data. The information generation apparatus according to any one of claims 3 to 5.
7. The input means receives an input of information on an optimization solver as a candidate for solving the optimization problem, and the generation means generates search information including the information on the optimization solver. The information generation apparatus according to any one of claims 1 to 6.
8. A computer receives an input of first data indicating an optimization problem including an objective function and constraints, and second data indicating characteristics of the optimization problem, The computer receives an input of a prediction model, uses the prediction result of the received prediction model as an explanatory variable, and generates an objective function of an optimization problem by inverse reinforcement learning using the decision-making history data of the target person. The computer generates search information associating the first data including the generated objective function with the second data. An information generation method characterized by the above.
9. In a computer, an input process for receiving an input of first data indicating an optimization problem including an objective function and constraints, and second data indicating characteristics of the optimization problem; a generation process for generating search information associating the first data with the second data; and a learning process for generating an objective function of an optimization problem by inverse reinforcement learning using the decision-making history data of the target person, in the learning process, causing the computer to receive an input of a prediction model, and generating an objective function using the prediction result of the received prediction model as an explanatory variable; in the generation process, causing the computer to generate search information associating the first data including the generated objective function with the second data. An information generation program for the above.
Citation Information
Patent Citations
Method and equipment for optimizing inquiry in relational database system with external function
JP1995141236A
Storage medium, retrieval method, and retrieval device
JP2010211540A
Information analysis apparatus, information analysis method, and program
JP2019046172A
System and method of solving optimization problems using prestored advanced bases
US7424451B1
Information processing system, information processing method, and information processing program
WO2017056367A1