Search device, search method, and search program

The search device and method address the limitation of existing machine learning models by associating optimization problems with characteristics and generating new objective functions, enabling effective decision-making and optimal solution derivation.

JP7740336B2Active Publication Date: 2025-09-17NEC CORP
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023534487
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-07-13
Publication Date
2025-09-17
Estimated Expiration
2041-07-13

AI Technical Summary

Technical Problem

Existing machine learning models are not designed for decision-making in combinatorial optimization problems, limiting their ability to search for desired optimization problems effectively.

Method used

A search device and method that associates optimization problems with characteristics using search information, allowing for the generation of new objective functions by combining existing ones based on user intentions, and performs optimization processing to derive optimal solutions.

Benefits of technology

Enables the search and generation of desired optimization problems, facilitating effective decision-making by reflecting user intentions and constraints, thereby deriving optimal actions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007740336000001
    Figure 0007740336000001
  • Figure 0007740336000002
    Figure 0007740336000002
  • Figure 0007740336000003
    Figure 0007740336000003
Patent Text Reader

Abstract

A search means 91 searches for an optimization problem that matches a specified search condition from a database that stores search information in which first data indicating an optimization problem that includes an objective function and a constraint and second data indicating a characteristic of the optimization problem are associated with each other. An input means 92 receives an input of the second data as a search condition.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a search device, a search method, and a search program for searching registered information. [Background technology]

[0002] Patent Document 1 describes a method for selecting one or more machine learning models from a plurality of machine learning models stored in advance in a database in response to a usage request received from a user-side device and providing the selected machine learning model to the user-side device. The method described in Patent Document 1 applies test data to each of the plurality of machine learning models stored in the database to calculate the performance of each model, and selects a machine learning model to be provided to the user-side device based on the calculated performance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] International Publication No. 2018 / 142766 Summary of the Invention [Problem to be solved by the invention]

[0004] The machine learning model described in Patent Document 1 is intended to be a predictive model generated by machine learning based on training data and correct answer data, but is not intended to be used for decision-making such as combinatorial optimization problems.

[0005] Therefore, an object of the present invention is to provide a search device, a search method, and a search program that can search for a desired optimization problem. [Means for solving the problem]

[0006] The search device according to the present invention includes a search means for searching for an optimization problem that matches a specified search condition from a database that stores search information that associates first data representing an optimization problem including an objective function and constraints with second data representing characteristics of the optimization problem, and an input means for receiving input of the second data as the search condition. problem generation means for combining two or more objective functions selected from a plurality of first data to generate a new objective function; The search means searches for first data associated with search information that matches the input second data. multiple search The problem generation means generates a new objective function by adding together objective functions in which the coefficients of the explanatory variables included in each objective function are multiplied by a value corresponding to the combination ratio, based on a combination ratio defined according to the degree to which each objective function included in the retrieved first data reflects the intention indicated by the objective function. It is characterized by:

[0007] In a search method according to the present invention, a computer receives input of characteristics of an optimization problem as a search condition, and the computer retrieves an optimization problem associated with search information that matches the characteristics of the input optimization problem from a database that stores search information that associates first data representing an optimization problem including an objective function and constraints with second data representing the characteristics of the optimization problem. multiple search The computer generates a new objective function by adding together objective functions in which the coefficients of the explanatory variables included in each objective function are multiplied by a value corresponding to the combination ratio, based on a combination ratio defined according to the degree to which each objective function included in the searched optimization problem reflects the intention indicated by the objective function. It is characterized by:

[0008] The search program according to the present invention is a search process for searching an optimization problem that matches specified search conditions from a database that stores search information that associates first data indicating an optimization problem including an objective function and constraints with second data indicating the characteristics of the optimization problem. , Examination Input process that accepts secondary data as search conditions and a problem generation process for generating a new objective function by combining two or more objective functions selected from a plurality of first data. and in the search process, the first data associated with the search information that matches the input second data is retrieved. multiple Search In the problem generation process, based on a combination ratio defined according to the degree to which each objective function included in the retrieved first data reflects the intention indicated by the objective function, a new objective function is generated by adding together objective functions in which the coefficients of each explanatory variable included in each objective function are multiplied by a value according to the combination ratio. It is characterized by: [Effects of the Invention]

[0009] According to the present invention, a desired optimization problem can be searched for. [Brief explanation of the drawings]

[0010] [Figure 1] 1 is a block diagram showing an example of the configuration of an embodiment of an information distribution system according to the invention. [Figure 2]FIG. 10 is an explanatory diagram showing examples of types of decision making. [Figure 3] FIG. 2 is a block diagram illustrating an example of the configuration of an information generating device. [Figure 4] FIG. 10 is an explanatory diagram showing an example of search information. [Figure 5] FIG. 1 is a block diagram illustrating an example of the configuration of a search device. [Figure 6] 10 is a flowchart illustrating an example of the operation of the information generating device. [Figure 7] 10 is a flowchart showing an example of the operation of the search device 200. [Figure 8] 1 is a block diagram illustrating a configuration example of an embodiment of a robot control system. [Figure 9] 1 is a block diagram showing an overview of a search device according to the present invention; [Figure 10] FIG. 1 is a schematic block diagram illustrating the configuration of a computer according to at least one embodiment. DETAILED DESCRIPTION OF THE INVENTION

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

[0012] 1 is a block diagram showing an example of the configuration 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 connected to each other via communication lines.

[0013] The information generating 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 constraints formulated for the problem to be solved. Therefore, it can be said that the optimization problem in this embodiment represents the type of decision-making by the user regarding the problem to be solved. A method for generating search information will be described later.

[0014] Figure 2 is an explanatory diagram showing an example of a type of decision-making (i.e., an optimization problem). In the example shown in Figure 2, the type of problem to be solved is classified as a so-called "shift scheduling problem," and the optimization problem includes an objective function defined by a linear sum of the violation degrees (explanatory variables) of three conditions (condition 1, condition 2, and condition 3), and two constraint conditions (condition 4 and condition 5).

[0015] In addition, λ in the objective function shown in Figure 2 is a value that indicates the degree to which the user values ​​the conditions (hereinafter, sometimes referred to as the user's intention), and is set to various values ​​depending on the type of decision. By searching for a combination that minimizes the value of this objective function, it is possible to derive appropriate behavior.

[0016] The storage server 300 stores the search information generated by the information generating device 100. The storage server 300 may manage the search information using, for example, a general database (database system). The storage server 300 may also store search information generated by a device other than the information generating device 100.

[0017] The search device 200 searches for an optimization problem by using search information stored in the storage server 300 (more specifically, the database of the storage server 300). Furthermore, the search device 200 uses the searched optimization problem to derive an optimal behavior for the user.

[0018] Specific configuration examples of the information generating device 100 and the search device 200 will be described below.

[0019] 3 is a block diagram showing an example of the configuration of the information generating device 100 of this embodiment. The information generating device 100 of this embodiment includes a storage unit 110, an input unit 120, a feature generating unit 130, a recommendation unit 140, a learning unit 150, a generating unit 160, and a registration unit 170.

[0020] The storage unit 110 stores various types of information used when the information generating device 100 performs processing. The storage unit 110 may store training data, parameters, learning results, etc. used in learning processing by the learning unit 150 (described later). The storage unit 110 is realized by, for example, a magnetic disk.

[0021] The input unit 120 receives input of various information used when generating search information. Specifically, the input unit 120 receives input of information indicating an optimization problem including an objective function and constraints (hereinafter referred to as first data) and information indicating characteristics of the optimization problem (hereinafter referred to as second data).

[0022] The input unit 120 may receive input of the first data and the second data from a user. The input unit 120 may also receive input of an objective function generated by the learning unit 150 (described later) (more specifically, an objective function stored in the storage unit 110). The input unit 120 may also receive input of the second data (i.e., information indicating the features of the optimization problem) from the feature generation unit 130 (described later).

[0023] Furthermore, the input unit 120 may receive, together with the first data, an input of an optimization solver (or information specifying the optimization solver) that is a candidate for solving the optimization problem. Examples of the optimization solver include a mathematical programming solver.

[0024] For example, a user who inputs an optimization problem often knows an optimization solver suitable for solving the optimization problem. Therefore, by accepting input of such information together with the first data, a user who searches for an optimization problem using 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 by the structure of the objective function as described above, conditions indicating constraints, etc. The objective function may take any form, and may be, for example, a function expressed as a linear sum of explanatory variables (conditions), as exemplified in Fig. 2. The constraint may also take any form, and may be information that specifies, with a binary value, whether or not the constraint is satisfied, or information that indicates the degree to which the constraint is satisfied.

[0026] The second data may be any content that indicates the characteristics of the optimization problem. However, the second data does not need to be information that can uniquely identify the optimization problem. Examples of the characteristics of the optimization problem include attribute information such as the type of optimization problem and the explanatory variables (features) included, the optimization status indicating when, where, who, and what kind of decision the optimization problem is used for, and the conditions of use such as the range of target users (disclosure) and the date and time.

[0027] The type of optimization problem may be a template type of optimization problem, such as a schedule optimization problem or a knapsack problem, or may be the type of industry in which it is used (e.g., retail, manufacturing, travel, etc.).

[0028] The feature generation unit 130 generates features of the optimization problem. Specifically, the feature generation unit 130 generates the above-described second data from the first data. The feature generation unit 130 may generate the second data in any manner. For example, the feature generation unit 130 may automatically generate the second data based on a predetermined method, or may generate the second data based on a user specification.

[0029] For example, when the objective function is expressed as a linear sum of the explanatory variables described above, the feature generation unit 130 may generate features of the optimization problem according to the weights (i.e., the degrees of importance) 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 a feature of the optimization problem.

[0030] Furthermore, for example, when an explanatory variable is explicitly specified by the user (e.g., a feature that is not used in other optimization problems), the feature generation unit 130 may generate the content of the specified explanatory variable as a feature of the optimization problem.

[0031] Furthermore, the feature generation unit 130 may identify the type of optimization problem based on explanatory variables (features) included in the objective function, and generate the identified type of optimization problem as a feature. For example, suppose the input unit 120 receives input of an objective function that includes an explanatory variable called "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 more likely to include "employee working hours" as a feature. Therefore, the type of optimization problem corresponding to the explanatory variables may be predetermined, and the feature generation unit 130 may generate the corresponding predetermined type of optimization problem as a feature based on the explanatory variables included in the objective function.

[0032] All of the features of the generated 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 and allows the user to specify them. Note that the recommendation unit 140 may present the features in any manner, and may present content such as the second data exemplified in FIG. 4, for example. The number of features that the recommendation unit 140 allows the user to specify is not limited, and may be one or more.

[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 for an optimization problem (more specifically, the first data) by inverse reinforcement learning using history data (hereinafter referred to as decision-making history data) of when a user makes decisions as training data.

[0035] Furthermore, when using future prediction results, the learning unit 150 may receive input of a prediction model that derives the desired prediction results. Then, the learning unit 150 may generate an objective function using the prediction results of the received prediction model as explanatory variables. Examples of future prediction results include product demand prediction, road congestion prediction, and visitor number prediction. Note that, when a 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 generator 130 may generate, as the second data, information indicating the user who was the basis for generating the training data used to learn the objective function. By using such information, it becomes possible to use information about the user who made the decision that was 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. Note that if an optimization problem (more specifically, an objective function) has already been generated or if there is no need to learn the objective function, the information generating device 100 does not need to include the learning unit 150.

[0038] The generation unit 160 generates search information that associates the first data with the second data. This allows information for searching an optimization problem to be generated, making it possible to search for the first data associated with the second data using the second data as a key.

[0039] Furthermore, when the input unit 120 receives input of candidate optimization solvers for solving an optimization problem, the generation unit 160 may generate search information including information on the optimization solvers, thereby making it possible to identify optimization solvers that can be used for the corresponding optimization problem.

[0040] Furthermore, when the recommendation unit 140 receives from the user a specification of a feature recommended by the recommendation unit 140, the generation unit 160 may generate search information in which the feature specified by the user is included 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 that associates first data with second data. For example, the search information in the first row indicates that the optimization problem includes an objective function expressed as 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 line, it indicates that the optimization problem falls into the category of so-called "schedule optimization" problems, and aims to prioritize time efficiency while also placing emphasis on activities such as relaxing at night. Additionally, it indicates that the optimization problem shown in the first line is related to the situation when a man in his twenties traveled to Osaka, and is available to all users for one month. Furthermore, it indicates that "Solver A" is specified as a candidate optimization solver for solving the optimization problem shown in the first line.

[0044] It is not necessary for all of the expected features shown in Figure 4 to be associated with the first data; only some of the features may be associated. The classification and expression of the features included in the second data are merely examples. These features may be expressed based on the index specifications defined in each database, for example.

[0045] The input unit 120, feature generation unit 130, recommendation unit 140, learning unit 150, generation unit 160, and registration unit 170 are realized by a computer processor (e.g., a CPU (Central Processing Unit), a GPU (Graphics Processing Unit)) that operates according to a program (information generation program).

[0046] For example, the program may be stored in the storage unit 110 included in the information generating device 100, and the processor may read the program and operate as the input unit 120, feature generating unit 130, recommendation unit 140, learning unit 150, generation unit 160, and registration unit 170 in accordance with the program. Furthermore, the functions of the information generating device 100 may be provided in the form of SaaS (Software as a Service).

[0047] Furthermore, the input unit 120, feature generation unit 130, recommendation unit 140, learning unit 150, generation unit 160, and registration unit 170 may each be realized by dedicated hardware. Furthermore, some or all of the components of each device may be realized by general-purpose or dedicated circuits, processors, etc., or a combination of these. These may be configured by a single chip, or by multiple chips connected via a bus. Some or all of the components of each device may be realized by a combination of the above-mentioned circuits, etc., and a program.

[0048] Furthermore, when some or all of the components of the information generating device 100 are realized by a plurality of information processing devices, circuits, etc., the plurality of information processing devices, circuits, etc. may be centrally or decentralized. For example, the information processing devices, circuits, etc. may be realized as a client-server system, a cloud computing system, or the like, in a form in which each is connected via a communication network.

[0049] 5 is a block diagram showing an example of the configuration of the search device 200 of this embodiment. The search device 200 of this 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 accepts input of conditions for searching for an optimization problem (hereinafter, sometimes simply referred to as search conditions). Specifically, the search condition input unit 210 accepts input of information indicating the characteristics of the optimization problem (specifically, second data) as the search conditions.

[0051] The form of input information is arbitrary, and the search condition input unit 210 may extract search conditions based on expected input. For example, the search condition input unit 210 may accept 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 features of the optimization problem to be extracted from the input character string based on known natural language processing. The extracted features are used by the search unit 220, which will be described later.

[0052] For example, if the string "I want to create the best plan for a man in his twenties traveling to Osaka" is entered, the search condition input unit 210 may extract features such as "man in his twenties" and "trip to Osaka" from the entered string.

[0053] Furthermore, the search condition input unit 210 may accept input of information indicating an optimization problem (specifically, information indicating first data) as a search condition. The search condition input unit 210 may, for example, display a list of candidates for the first data indicating the optimization problem and accept designation of a candidate from the user.

[0054] The search unit 220 searches the storage server 300 (more specifically, a database that stores search information that associates first data with second data) for an optimization problem that matches the search conditions specified by input to the search condition input unit 210. More specifically, the search unit 220 searches for first data (i.e., the optimization problem) that is associated with search information that matches the input second data (i.e., the characteristics of the optimization problem).

[0055] Furthermore, when information indicating first data is input, the search unit 220 may search for an optimization problem that matches the input information indicating the first data. Furthermore, when the search information includes a candidate optimization solver, the search unit 220 may also search for a corresponding optimization solver.

[0056] Furthermore, the search unit 220 may present the search results to the user and accept the user's specification of a desired optimization problem. For example, the search unit 220 may display the first data together with the features of the optimization problem (i.e., the second data) as the search results and accept the user's specification of the displayed first data.

[0057] The model input unit 230 receives input of a model (hereinafter, sometimes referred to as a decision-making model) that has been trained based on the decision-making history data of the target user. That is, the model input unit 230 receives input of a model that reflects the target user's past decisions. Note that the model input unit 230 may also receive input of constraints imposed on the model together with the model.

[0058] The method for generating a model that accepts input may be arbitrary. For example, the model input unit 230 may accept input of a model that has been trained using a method similar to the method by which the learning unit 150 of the information generating device 100 generates an objective function (for example, inverse reinforcement learning).

[0059] The received model is compared with the optimization problem searched for by the search unit 220. Therefore, it is preferable that the input model is a model generated by the same method as the searched optimization problem, or a model generated in a similar manner.

[0060] The problem extraction unit 240 compares the optimization problems retrieved by the search unit 220 with the decision-making model input by the model input unit 230, and extracts, from the retrieved optimization problems (i.e., first data), optimization problems whose similarity to the input decision-making model satisfies a predetermined condition. An example of the predetermined condition is that the similarity is greater than a predetermined threshold.

[0061] The decision-making model is a model that is trained based on the decision-making history data of the target user, and therefore can be said to be a model that reflects the intentions of the target user. Therefore, by determining the similarity between such a model and an 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 problem extraction unit 240 may calculate the similarity by any method. The problem extraction unit 240 may calculate the similarity between the feature amounts (explanatory variables) included in the decision-making model and the optimization problem. For example, the problem extraction unit 240 may calculate the degree of overlap in 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 the overlapping feature amounts using, for example, cosine similarity or RMSE (Root Mean Square Error).

[0063] Furthermore, if there is training data used to generate the decision-making model and the optimization problem, the problem extraction unit 240 may calculate the degree of overlap of the ranges of values ​​that can be taken by the same feature, or the average or variance of each feature as the similarity.

[0064] 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 output values ​​when the same data is input to the decision-making model and the optimization problem. Furthermore, if the optimization problem and the decision-making model are each accompanied by a sentence that describes the characteristics of the problem or the model, 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] It is not necessary for the search device 200 to receive input of a decision-making model. If no decision-making model is input, the search device 200 does not need to include the model input unit 230 and the problem extraction unit 240.

[0066] When multiple optimization problems are extracted, problem generator 250 generates a new objective function from the extracted optimization problems. Specifically, problem generator 250 generates a new objective function by combining two or more objective functions selected from the multiple optimization problems. Note that when only one optimization problem is identified, problem generator 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 (forming a function) using the extracted explanatory variables. Note that these rules are determined by a user or the like depending on the degree to which the intention indicated by each objective function is to be reflected. An example of a predetermined rule is a method in which the weights of the original explanatory variables are multiplied by a predetermined ratio to extract all of them, and then the sum of each extracted explanatory variable is calculated.

[0068] A specific example of combining objective functions will be described below. For example, assume that objective function A and objective function B include multiple overlapping feature amounts f1, f2, and f3 as shown in the following example. Objective function A: a1*f1+a2*f2+a3*f3 Objective function B: b1*f1+b2*f2+b3*f3

[0069] Now, suppose we want to generate an objective function that indicates an intention intermediate between the intention indicated by objective function A and the intention indicated by objective function B (i.e., an intention that equally reflects both intentions). In this case, the question generator 250 may add together objective functions in which the coefficients of the explanatory variables are multiplied by 0.5 so that the combination ratio is 1:1, to generate objective function C as exemplified below. Objective function C:0.5*(a1+b1)*f1+0.5*(a2+b2)*f2+0.5*(a3+b3)*f3

[0070] Similarly, suppose we want to generate an objective function that reflects the intention indicated by objective function A more closely than the intention indicated by objective function B. In this case, the question generator 250 may combine objective variables so that the combination ratio is, for example, 4:1, to generate objective function D as exemplified below. Objective function D:(0.8*a1+0.2*b1)*f1+(0.8*a2+0.2*b2)*f2+(0.8*a3+0.2*b3)*f3

[0071] The optimization unit 260 performs optimization processing based on the generated new objective function and derives an optimization result. Also, for example, if a candidate optimization solver is specified, the optimization unit 260 may derive an optimization result using the specified optimization solver.

[0072] The output unit 270 outputs the optimization result (for example, the optimal action) derived by the optimization unit 260.

[0073] The search condition input unit 210, search unit 220, model input unit 230, problem extraction unit 240, problem generation unit 250, optimization unit 260, and output unit 270 are realized by a computer processor that operates according to a program (search program).

[0074] For example, the program may be stored in a storage unit (not shown) included in search device 200, and the processor may read the program and, in accordance with the program, operate as search condition input unit 210, search unit 220, model input unit 230, problem extraction unit 240, problem generation unit 250, optimization unit 260, and output unit 270. Furthermore, the functions of search device 200 may be provided in the form of SaaS (Software as a Service).

[0075] Furthermore, similar to the configuration of the information generating 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 realized by dedicated hardware.

[0076] Next, the operation of the information distribution system 1 of this embodiment will be described. FIG. 6 is a flowchart showing an example of the operation of the information generating device 100 of this embodiment. The input unit 120 receives input of first data indicating an optimization problem including an objective function and constraints, and second data indicating characteristics of the optimization problem (step S11). The generating unit 160 generates search information that associates the first data with the second data (step S12). Then, the registering unit 170 registers the generated search information in the storage server 300 (step S13).

[0077] 7 is a flowchart showing an example of the operation of the search device 200 of this embodiment. The search condition input unit 210 accepts input of information indicating the characteristics of an optimization problem (i.e., second data) (step S21). The search unit 220 searches the storage server 300 for an optimization problem (i.e., first data) associated with search information that matches the input information (i.e., 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 this embodiment, the input unit 120 receives input of the first data and the second data, and the generation unit 160 generates search information that associates the first data with the second data. Thus, information for searching for an optimization problem can be generated.

[0079] That is, as described above, optimization problems are generally generated individually taking into consideration the user's viewpoint and various constraints, and therefore there has been no technical idea of ​​storing multiple optimization problems in a searchable manner in a database, etc. On the other hand, in this embodiment, the generation unit 160 generates search information that associates the first data with the second data, and therefore it becomes possible to manage optimization problems using this search information.

[0080] Furthermore, in this embodiment, the search condition input unit 210 accepts input of second data as search conditions, and the search unit 220 searches the storage server 300 for first data associated with search information that matches the input second data. Thus, a desired optimization problem can be searched for.

[0081] That is, as described above, due to the characteristics of individually generated optimization problems, there was no technical idea of ​​searching a database for other optimization problems. On the other hand, in this embodiment, the search unit 220 searches the storage server 300 for first data associated with search information that matches the input second data. Therefore, it is possible to acquire the desired optimization problem.

[0082] Next, a specific example of a robot control system using the search device 200 of this embodiment will be described. Fig. 8 is a block diagram showing an example of the configuration of an embodiment of a robot control system. The robot control system 2000 shown in Fig. 8 includes the search device 200 and a robot 2300.

[0083] The search device 200 illustrated in Fig. 8 is similar to the search device 200 in the above embodiment. The search device 200 stores the optimization results in a storage unit 2310 of a robot 2300, which will be described later.

[0084] The robot 2300 is a device that operates based on the optimization results. Note that the robot here is not limited to devices that resemble humans or animals, but also includes devices that perform automatic work (automatic driving, automatic control, etc.). The robot 2300 includes a memory unit 2310, an input unit 2320, and a control unit 2330.

[0085] The storage unit 2310 stores the optimization results derived by the search device 200.

[0086] The input unit 2320 receives 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 results 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 results may be determined in advance. In this embodiment, a device that performs automatic work, such as the robot 2300, can be controlled based on the derived optimization results.

[0088] Next, an overview of the present invention will be described. Fig. 9 is a block diagram showing an overview of a search device according to the present invention. A search device 90 (e.g., search device 200) according to the present invention includes search means 91 (e.g., search unit 220) that searches a database (e.g., storage server 300) that stores search information that associates first data indicating an optimization problem including an objective function and constraints with second data indicating characteristics of the optimization problem, for an optimization problem that matches specified search conditions, and input means 92 (e.g., search condition input unit 210) that accepts input of the second data as search conditions.

[0089] Then, the search means 91 searches for the first data associated with the search information that matches the input second data.

[0090] Such a configuration can generate information for searching optimization problems.

[0091] Alternatively, the input means 92 may receive input of information indicating the first data, and the search means 91 may search for an optimization problem that matches the input information indicating the first data.

[0092] The search device 90 may also include a model input means (e.g., a model input unit 230) that accepts input of a decision-making model that is a model learned based on the user's decision-making history data, and a problem extraction means (e.g., a problem extraction unit 240) that extracts, from the searched first data, first data whose similarity to the input decision-making model satisfies a predetermined condition.

[0093] The search device 90 may also include a problem generating means (for example, the problem generating unit 250) that generates a new objective function by combining two or more objective functions selected from a plurality of first data. The search means 91 may then search a plurality of first data.

[0094] The search device 90 may also include an optimization means for performing an optimization process on the objective function.

[0095] In addition, the input means 92 may accept input of a character string indicating the content to be solved as an optimization problem, extract characteristics of the optimization problem from the accepted character string, and the search means 91 may search for first data associated with search information that matches the extracted characteristics.

[0096] 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 memory device 1002, an auxiliary memory device 1003, and an interface 1004.

[0097] Each device (information generating device 100 and search device 200) of the information distribution system 1 described above is implemented in a computer 1000. The operations of each of the processing units described above are stored in the form of a program in an auxiliary storage device 1003. The processor 1001 reads the program from the auxiliary storage device 1003, loads it into the main storage device 1002, and executes the above processing in accordance with the program.

[0098] 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), and a semiconductor memory connected via the interface 1004. In addition, when this program is distributed to the computer 1000 via a communication line, the computer 1000 that receives the program may load the program into the main storage device 1002 and execute the above processing.

[0099] The program may also be a program for realizing part of the above-described functions. Furthermore, the program may be a so-called differential file (differential program) that realizes the above-described functions in combination with another program already stored in the auxiliary storage device 1003.

[0100] A part or all of the above-described embodiments can be described as, but not limited to, the following supplementary notes.

[0101] (Supplementary Note 1) A search means for searching a database that stores search information that associates first data representing an optimization problem including an objective function and constraints with second data representing characteristics of the optimization problem, for the optimization problem that matches a specified search condition; an input means for receiving input of the second data as a search condition; The search means searches for the first data associated with search information that matches the input second data. A search device characterized by:

[0102] (Supplementary Note 2) The input means receives input of information indicating the first data; The search means searches for an optimization problem that matches the input information indicating the first data. 2. The retrieval device of claim 1.

[0103] (Appendix 3) A model input means for receiving an input of a decision-making model that is a model trained based on the user's decision-making history data; and a problem extraction means for extracting, from the retrieved first data, first data whose similarity to the input decision-making model satisfies a predetermined condition. 10. The retrieval device of claim 1 or 2.

[0104] (Appendix 4) A problem generation means is provided which combines two or more objective functions selected from a plurality of first data to generate a new objective function; The search means searches a plurality of first data. 4. A search device according to any one of claims 1 to 3.

[0105] (Appendix 5) Equipped with an optimization means for performing optimization processing of the objective function 5. A search device according to any one of claims 1 to 4.

[0106] (Supplementary Note 6) The input means receives an input of a character string indicating a content to be solved as an optimization problem, and extracts features of the optimization problem from the received character string; The search means searches for first data associated with search information that matches the extracted feature. 6. A search device according to any one of appendices 1 to 5.

[0107] (Appendix 7) The computer accepts input of the characteristics of the optimization problem as search criteria, The computer searches a database that stores search information that associates first data indicating an optimization problem including an objective function and constraints with second data indicating characteristics of the optimization problem, for an optimization problem associated with search information that matches the characteristics of the input optimization problem. A search method characterized by:

[0108] (Supplementary Note 8) The computer receives input of information indicating the first data, The computer searches for an optimization problem that matches the input information indicating the first data. Search methods described in Appendix 7.

[0109] (Appendix 9) To the computer, a search process for searching a database that stores search information that associates first data representing an optimization problem including an objective function and constraints with second data representing characteristics of the optimization problem, for an optimization problem that matches specified search conditions; and executes an input process for receiving input of the second data as a search condition; In the search process, the first data associated with search information that matches the input second data is searched for. A program storage medium for storing a search program for the above purpose.

[0110] (Appendix 10) To the computer, In the input process, an input of information indicating the first data is accepted; In the search process, an optimization problem matching the input information indicating the first data is searched for. Remember the search program for 10. The program storage medium of claim 9.

[0111] (Appendix 11) To the computer, a search process for searching a database that stores search information that associates first data representing an optimization problem including an objective function and constraints with second data representing characteristics of the optimization problem, for an optimization problem that matches specified search conditions; and executes an input process for receiving input of the second data as a search condition; In the search process, the first data associated with search information that matches the input second data is searched for. Search program for.

[0112] (Appendix 12) To the computer, In the input process, an input of information indicating the first data is accepted; In the search process, an optimization problem matching the input information indicating the first data is searched for. Remember the search program for The search program described in Appendix 11. [Explanation of symbols]

[0113] 1 Information distribution system 100 Information generation device 110 Storage section 120 Input section 130 Feature Generation Unit 140 Recommendation Department 150 Learning Department 160 Generation part 170 Registration Department 200 Search Device 210 Search criteria input section 220 Search Department 230 Model Input Section 240 Problem extraction part 250 Problem generation part 260 Optimization Department 270 Output section 300 Storage Servers

Claims

1. a search means for searching a database for search information that associates first data representing an optimization problem including an objective function and constraints with second data representing characteristics of the optimization problem, to find an optimization problem that matches a specified search condition; an input means for receiving input of the second data as a search condition; problem generation means for combining two or more objective functions selected from the plurality of first data to generate a new objective function; the search means searches for a plurality of pieces of first data associated with search information that matches the input second data, The problem generation means generates a new objective function by adding together objective functions obtained by multiplying the coefficients of the explanatory variables included in each objective function by a value corresponding to the combination ratio, based on a combination ratio defined according to the degree to which each objective function included in the retrieved first data reflects the intention indicated by the objective function. A search device characterized by:

2. the input means accepts input of information indicating the first data; The search means searches for an optimization problem that matches the input information indicating the first data. The search device according to claim 1.

3. a model input means for receiving an input of a decision-making model that is a model trained based on decision-making history data of a user; and a problem extraction means for extracting, from the retrieved first data, first data whose similarity to the input decision-making model satisfies a predetermined condition.

3. The search device according to claim 1.

4. Equipped with an optimization means for performing optimization processing of the objective function The search device according to any one of claims 1 to 3.

5. the input means receives an input of a character string indicating a content to be solved as an optimization problem, and extracts features of the optimization problem from the received character string; The search means searches for first data associated with search information that matches the extracted feature. The search device according to any one of claims 1 to 4.

6. The computer accepts input of the characteristics of the optimization problem as search criteria, the computer searches a database that stores search information that associates first data representing an optimization problem including an objective function and constraints with second data representing characteristics of the optimization problem, for a plurality of optimization problems associated with search information that matches the characteristics of the input optimization problem; The computer generates a new objective function by adding together objective functions in which the coefficients of the explanatory variables included in each objective function are multiplied by values ​​corresponding to the combination ratios, based on a combination ratio defined according to the degree to which each objective function included in the searched optimization problem reflects the intention indicated by the objective function. A search method characterized by:

7. the computer accepts input of information indicating the first data; The computer searches for an optimization problem that matches the input information indicating the first data. The search method according to claim 6.

8. On the computer, a search process for searching a database that stores search information that associates first data representing an optimization problem including an objective function and constraints with second data representing characteristics of the optimization problem, for the optimization problem that matches specified search conditions; an input process for receiving input of the second data as a search condition; and executes a problem generation process that combines two or more objective functions selected from the plurality of first data to generate a new objective function; In the search process, a search is made for a plurality of pieces of first data associated with search information that matches the input second data, In the problem generation process, based on a combination ratio defined according to the degree to which each objective function included in the retrieved first data reflects the intention indicated by the objective function, a new objective function is generated by adding together objective functions obtained by multiplying the coefficients of each explanatory variable included in each objective function by a value according to the combination ratio. Search program for.

9. On the computer, In the input process, an input of information indicating the first data is accepted; In the search process, an optimization problem matching the input information indicating the first data is searched for. The search program according to claim 8.

Citation Information

Patent Citations

  • Retrieval server, retrieval method, program, and recording medium

    JP2004127125A

  • Structured document retrieval support apparatus and program thereof

    JP2008083992A

  • Method and device for voice search

    JP2009282835A

  • System and method of solving optimization problems using prestored advanced bases

    US7424451B1

  • Information processing system, information processing method, and information processing program

    WO2017056367A1