WO2023286170A1 - 情報生成装置、情報生成方法および情報生成プログラム - Google Patents

情報生成装置、情報生成方法および情報生成プログラム Download PDF

Info

Publication number
WO2023286170A1
WO2023286170A1 PCT/JP2021/026334 JP2021026334W WO2023286170A1 WO 2023286170 A1 WO2023286170 A1 WO 2023286170A1 JP 2021026334 W JP2021026334 W JP 2021026334W WO 2023286170 A1 WO2023286170 A1 WO 2023286170A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
information
objective function
optimization problem
generating
Prior art date
Application number
PCT/JP2021/026334
Other languages
English (en)
French (fr)
Inventor
力 江藤
英恵 下村
大 窪田
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2021/026334 priority Critical patent/WO2023286170A1/ja
Priority to JP2023534486A priority patent/JPWO2023286170A1/ja
Publication of WO2023286170A1 publication Critical patent/WO2023286170A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying

Definitions

  • the present invention relates to an information generation device, an information generation method, and an information generation program that generate searchable information.
  • Patent Document 1 discloses a device that selects one or a plurality of machine learning models from a plurality of machine learning models stored in advance in a database and provides the selected machine learning models to a user-side device in response to a request for use acquired from the user-side device. Have been described.
  • the database described in Patent Literature 1 stores a plurality of machine learning models, and also stores model information, which is at least one of function and generation environment information for each machine learning model.
  • Patent Document 1 assumes a prediction model generated by machine learning based on learning data and correct answer data, but it is assumed to be used for decision making such as combinatorial optimization problems.
  • an object of the present invention to provide an information generation device, an information generation method, and an information generation program capable of generating information for searching optimization problems.
  • An information generating apparatus comprises input means for receiving input of first data representing an optimization problem including an objective function and constraints and second data representing characteristics of the optimization problem; and generating means for generating search information in which the two data are associated with each other.
  • a computer receives first data representing an optimization problem including an objective function and constraints, and second data representing characteristics of the optimization problem. It is characterized by generating search information in which the data and the second data are associated with each other.
  • An information generating program comprises an input process for receiving input of first data representing an optimization problem including an objective function and constraints and second data representing characteristics of the optimization problem to a computer; It is characterized by executing generation processing for generating search information in which the first data and the second data are associated with each other.
  • information for searching optimization problems can be generated.
  • FIG. 1 is a block diagram showing a configuration example of an embodiment of an information distribution system according to the invention
  • FIG. 4 is an explanatory diagram showing an example of types of decision making
  • It is a block diagram which shows the structural example of an information generation apparatus.
  • FIG. 4 is an explanatory diagram showing an example of search information;
  • It is a block diagram which shows the structural example of a search device.
  • It is a flow chart which shows an example of operation of an information generating device.
  • 4 is a flowchart showing an operation example of the search device 200
  • 1 is a block diagram showing a configuration example of an embodiment of a robot control system
  • FIG. 1 is a block diagram showing an overview of an information generation device according to the present invention
  • FIG. 1 is a schematic block diagram showing a configuration of a computer according to at least one embodiment;
  • 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, search device 200, and storage server 300 are interconnected through a communication line.
  • the information generation device 100 is a device that generates information (hereinafter referred to as search information) that is used by the search device 200, which will be described later, to search for optimization problems.
  • 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 user's decision-making for the problem to be solved. A method of generating search information will be described later.
  • FIG. 2 is an explanatory diagram showing examples of types of decision making (that is, optimization problems).
  • the type of problem to be solved is classified as a so-called "shift scheduling problem", and the optimization problem is a violation degree ( explanatory variables), and two constraints (Conditions 4 and 5).
  • ⁇ of the objective function illustrated in FIG. 2 is a value indicating the degree to which the user attaches importance to the condition (hereinafter, may be referred to as the user's intention). set to the value By searching for a combination that minimizes the value of this objective function, it becomes possible to derive an appropriate action.
  • the storage server 300 stores the search information generated by the information generation device 100 .
  • the storage server 300 may manage search information using, for example, a general database (database system). Also, the storage server 300 may store search information generated by a device other than the information generation device 100 .
  • the search device 200 uses search information stored in the storage server 300 (more specifically, the database of the storage server 300) to search for optimization problems. Also, the search device 200 uses the searched optimization problem to derive the user's optimal behavior.
  • FIG. 3 is a block diagram showing a configuration example of the information generating device 100 of this embodiment.
  • the information generation device 100 of this 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 .
  • the storage unit 110 stores various information used when the information generating device 100 performs processing.
  • the storage unit 110 may store training data, parameters, learning results, and the like used for learning processing by the learning unit 150, which will be described later.
  • the storage unit 110 is realized by, for example, a magnetic disk or the like.
  • the input unit 120 accepts input of various information used when generating search information. Specifically, the input unit 120 receives information indicating an optimization problem including an objective function and constraints (hereinafter referred to as first data), information indicating characteristics of the optimization problem (hereinafter referred to as second data ) is accepted.
  • first data information indicating an optimization problem including an objective function and constraints
  • second data information indicating characteristics of the optimization problem
  • the input unit 120 may accept input of the first data and the second data from the user.
  • the input unit 120 may also receive an input of an objective function generated by the learning unit 150 (more specifically, an objective function stored in the storage unit 110).
  • the input unit 120 may also receive an input of second data (that is, information indicating the characteristics of the optimization problem) from the feature generation unit 130, which will be described later.
  • the input unit 120 may receive input of an optimization solver (or information specifying an optimization solver) that is a candidate for solving the optimization problem together with the first data.
  • optimization solvers include, for example, mathematical programming solvers.
  • a user who inputs an optimization problem often knows an optimization solver suitable for solving that optimization problem. Therefore, by accepting input of such information together with the first data, a user who searches for an optimization problem using a search device 200, which will be described later, can grasp the optimization solver to be used for the optimization problem. Become.
  • the first data represents information indicating the optimization problem by the structure of the objective function as described above, conditions indicating constraints, and the like.
  • the objective function may take any form, and may be, for example, a function represented by a linear sum of explanatory variables (conditions), as exemplified in FIG.
  • the form of the constraint is also arbitrary, and it may be information that specifies whether the constraint is satisfied or not satisfied by binary values, or information that indicates the degree to which the constraint is satisfied. .
  • the second data is arbitrary as long as it shows the characteristics of the optimization problem.
  • the second data need not be information that can uniquely identify the optimization problem.
  • Optimization problem characteristics include, for example, the type of optimization problem, attribute information such as included explanatory variables (feature values), when, where, who, and what kind of optimization decisions are made.
  • the optimization status indicating whether or not there is a problem, and usage conditions such as the range of available (disclosed) target users and date and time.
  • the type of optimization problem may be a template type of optimization problem, such as a schedule optimization problem or a knapsack problem, and the type of industry used (e.g., retail, manufacturing, travel, etc.) and so on.
  • 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. Any method may be used by the feature generator 130 to generate the second data. The feature generator 130 may, for example, automatically generate the second data based on a predetermined method, or may generate the second data based on a user's designation.
  • the feature generation unit 130 determines the optimization problem according to the weight (that is, the degree of importance) of the explanatory variables included in the objective function.
  • Features may be generated.
  • the feature generation unit 130 may generate, for example, the content of the explanatory variable with the highest weight as the feature of the optimization problem.
  • the feature generation unit 130 optimizes the contents of the specified explanatory variables. It may be generated as a feature of the problem.
  • the feature generation unit 130 may also identify the type of optimization problem based on explanatory variables (feature amounts) included in the objective function, and generate the identified optimization problem type as a feature. For example, assume that the input unit 120 has received an input of an objective function including an explanatory variable "employee's 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 there is a high possibility that "employee's working hours" is included in "shift scheduling” as a feature amount. Therefore, the type of optimization problem corresponding to the explanatory variable is determined in advance, and the feature generation unit 130 generates the corresponding predetermined type of optimization problem as a feature based on the explanatory variable included in the objective function. You may
  • the recommendation unit 140 recommends the features generated by the feature generation unit 130 to the user. Specifically, the recommendation unit 140 presents the recommended features to the user and causes the user to designate them. Note that the recommendation unit 140 may present features in any manner, and may present content such as the second data illustrated in FIG. 4, for example. Also, the number of features that the recommendation unit 140 causes the user to specify is not limited, and may be one or more.
  • 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 performs optimization problems (more specifically, to generate the objective function of the first data).
  • the learning unit 150 may receive an input of a prediction model that derives 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, and visitor number prediction. Note that when the prediction model is stored in advance in the storage unit 110 , the learning unit 150 may acquire the prediction model stored in the storage unit 110 .
  • the feature generation unit 130 may generate, as the second data, information indicating the user who generated the training data used for learning the objective function. By using such information, it becomes possible to use the information of the user who made the decision on which the objective function is generated as a feature of the optimization problem.
  • the learning unit 150 stores the generated objective function in the storage unit 110. If the optimization problem (more specifically, the objective function) has already been generated or if there is no need to learn the objective function, the information generating device 100 may not include the learning unit 150. .
  • the generation unit 160 generates search information in which the first data and the second data are associated. As a result, information for retrieving the optimization problem can be generated, so that the first data associated with the second data can be retrieved using the second data as a key.
  • the generation unit 160 may generate search information including information on the optimization solver. This makes it possible to know which optimization solvers are available for the corresponding optimization problem.
  • the generation unit 160 may generate search information in which the feature specified by the user is included in the second data.
  • the registration unit 170 registers the generated search information in the storage server 300.
  • FIG. 4 is an explanatory diagram showing an example of search information stored in the storage server 300.
  • FIG. FIG. 4 illustrates search information in which the first data and the second data are associated with each other.
  • the search information in the first row indicates that the optimization problem includes an objective function represented by a linear sum of three conditions (explanatory variables) and two constraints to be satisfied.
  • the optimization problem corresponds to the type of so-called "schedule optimization" problem, and while emphasizing time efficiency, the purpose is to emphasize actions such as spending time slowly at night. It indicates that
  • the optimization problem shown in the first line relates to the situation when a man in his twenties traveled to Osaka, and indicates that all users can use it for one month. Furthermore, it indicates that “solver A” is specified as an optimization solver candidate for solving the optimization problem shown in the first line.
  • the first data does not need to be associated with all of the assumed features as illustrated in FIG. 4, and only some of the features may be associated.
  • the classification and representation of the features included in the second data are examples. These features may be represented, for example, based on index specifications defined in each database.
  • 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 computer processors (e.g., CPU (Central Processing Unit) and GPU (Graphics Processing Unit)).
  • CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • the program is stored in the storage unit 110 included in the information generation device 100, the processor reads the program, and according to the program, the input unit 120, the feature generation unit 130, the recommendation unit 140, the learning unit 150, the generation unit 160, Also, it may operate as the registration unit 170 . Also, the functions of the information generating device 100 may be provided in a SaaS (Software as a Service) format.
  • SaaS Software as a Service
  • 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, part or all of each component of each device may be implemented by general-purpose or dedicated circuitry, processors, etc., or combinations thereof. These may be composed of a single chip, or may be composed of multiple chips connected via a bus. A part or all of each component of each device may be implemented by a combination of the above-described circuits and the like and programs.
  • each component of the information generating device 100 is realized by a plurality of information processing devices, circuits, etc.
  • the plurality of information processing devices, circuits, etc. may be centrally arranged, They may be distributed.
  • the information processing device, circuits, and the like may be implemented as a form in which each is connected via a communication network, such as a client-server system, a cloud computing system, or the like.
  • FIG. 5 is a block diagram showing a configuration example 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. include.
  • the search condition input unit 210 accepts input of conditions for searching for optimization problems (hereinafter sometimes simply referred to as search conditions). Specifically, the search condition input unit 210 receives input of information (specifically, second data) indicating characteristics of the optimization problem as a search condition.
  • the form of information to be input is arbitrary, and the search condition input unit 210 may extract search conditions based on assumed input.
  • the search condition input unit 210 may, for example, accept input of a character string indicating the content to be solved as the optimization problem.
  • 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.
  • the search condition input unit 210 selects "male in his twenties", A feature such as "travel to Osaka” may be extracted.
  • the search condition input unit 210 may accept input of information indicating the optimization problem (specifically, information indicating the first data) as the search condition.
  • the search condition input unit 210 may, for example, display a list of candidates for the first data representing the optimization problem and receive designation of the candidates from the user.
  • the search unit 220 receives search conditions specified by input to the search condition input unit 210 from the storage server 300 (more specifically, a database that stores search information in which the first data and the second data are associated). Find optimization problems that match . More specifically, the search unit 220 searches for first data (that is, optimization problem) associated with search information that matches input second data (that is, optimization problem characteristics).
  • the search unit 220 may search for optimization problems that match the input information indicating the first data.
  • the search unit 220 may also search for the corresponding optimization solver.
  • the search unit 220 may present the search results to the user and accept the specification of the optimization problem desired by the user.
  • the search unit 220 may display the characteristics of the optimization problem (that is, the second data) together with the first data as the search result, and accept the user's designation of the displayed first data.
  • the model input unit 230 accepts input of a model (hereinafter also referred to as a decision-making model) learned based on the target user's decision-making history data. That is, the model input unit 230 receives an input of a model that reflects the target user's past decision-making. Note that the model input unit 230 may also receive input of constraints imposed on the model together with the model.
  • a model hereinafter also referred to as a decision-making model
  • the method by which the model that accepts input is generated is arbitrary.
  • the model input unit 230 may receive an input of a model learned by a method (for example, inverse reinforcement learning) similar to the method by which the learning unit 150 of the information generating device 100 generates the objective function.
  • the received model is compared with the optimization problem retrieved by the retrieval unit 220. Therefore, the input model is preferably a model generated by a method similar to the optimization problem to be retrieved, or a model generated in a similar manner.
  • the problem extraction unit 240 compares the optimization problem retrieved by the retrieval unit 220 with the decision-making model whose input is received by the model input unit 230, and determines the retrieved optimization problem (i.e., first data). Among them, an optimization problem that satisfies a predetermined condition in terms of similarity to the input decision-making model is extracted. Predetermined conditions include, for example, that the degree of similarity is greater than a predetermined threshold.
  • the problem extraction unit 240 can extract an optimization problem reflecting the intention of being similar to the target user by judging the degree of similarity between such a model and the optimization problem.
  • the method by which the problem extraction unit 240 calculates the degree of similarity is arbitrary.
  • the problem extraction unit 240 may calculate the similarity between feature quantities (explanatory variables) included in each of the decision-making model and the optimization problem.
  • the problem extraction unit 240 may calculate, for example, the degree of overlapping of types of feature amounts as the degree of similarity.
  • the problem extraction unit 240 may calculate the similarity by calculating the difference in the value of the weighting factor of each overlapping feature quantity, for example, by cosine similarity or RMSE (Root Mean Square Error). .
  • RMSE Root Mean Square Error
  • the problem extracting unit 240 extracts the degree of overlap of the range of values that can be taken by the same feature quantity, the average of each feature quantity Alternatively, variance may be calculated as the degree of similarity.
  • the method by which the problem extraction unit 240 calculates the degree of similarity is not limited to the method based on the structure of the decision-making model and the optimization problem as described above.
  • the problem extraction unit 240 may calculate the degree of similarity based on the difference in output values when the same data is input to each of the decision-making model and the optimization problem.
  • the problem extraction unit 240 calculates the similarity between the sentences. It may be calculated as degrees.
  • the search device 200 does not necessarily need to accept the input of the decision-making model. If there is no decision-making model input, the search device 200 may not include the model input unit 230 and the problem extraction unit 240 .
  • the problem generation unit 250 When a plurality of optimization problems are extracted, the problem generation unit 250 generates a new objective function from the plurality of extracted optimization problems. Specifically, the problem generator 250 combines two or more objective functions selected from a plurality of optimization problems to generate a new objective function. Note that when one optimization problem is specified, the problem generator 250 does not need to generate a new objective function.
  • 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 using the extracted explanatory variables to formulate (function It means to convert).
  • this rule is determined by a user or the like according to the degree to which the intention indicated by each objective function is reflected.
  • a predetermined rule for example, there is a method of multiplying the weight of the original explanatory variables by a predetermined ratio, extracting all the explanatory variables, and then calculating the sum of the respective extracted explanatory variables.
  • objective function A and objective function B include a plurality of overlapping features f 1 , f 2 , and f 3 as illustrated below.
  • Objective function A a1 *f1 + a2 *f2+ a3 * f3
  • Objective function B b1 *f1 + b2 *f2 + b3 * f3
  • the problem generator 250 adds the objective functions obtained by multiplying the coefficients of the explanatory variables by 0.5 so that the combination ratio is 1:1, and obtains the objective function C may be generated.
  • Objective function C 0.5* ( a1+ b1 )*f1 + 0.5* ( a2 + b2)*f2+0.5*( a3 + b3 )*f3
  • the question generator 250 may combine the objective variables so that the combination ratio is, for example, 4:1 to generate an 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
  • the optimization unit 260 performs optimization processing based on the generated new objective function and derives the optimization result. Further, for example, when an optimization solver candidate is designated, the optimization unit 260 may derive the optimization result using the designated optimization solver.
  • the output unit 270 outputs the optimization result (eg, optimal behavior) derived by the optimization unit 260.
  • 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 operate according to a program (search program). Implemented by a computer processor.
  • the program is stored in a storage unit (not shown) provided in the search device 200, the processor reads the program, and according to the program, the search condition input unit 210, the search unit 220, the model input unit 230, the problem extraction unit 240 , problem generator 250 , optimizer 260 and output unit 270 .
  • the functions of the search device 200 may be provided in a SaaS (Software as a Service) format.
  • a search condition input unit 210 may be implemented by dedicated hardware.
  • a search unit 220 may be implemented by dedicated hardware.
  • a model input unit 230 may be implemented by dedicated hardware.
  • a problem extraction unit 240 may be implemented by dedicated hardware.
  • a problem generation unit 250 may be implemented by dedicated hardware.
  • an optimization unit 260 may be implemented by dedicated hardware.
  • FIG. 6 is a flowchart showing an operation example of the information generation device 100 of this embodiment.
  • the input unit 120 receives inputs of first data representing an optimization problem including an objective function and constraints, and second data representing features of the optimization problem (step S11).
  • the generation unit 160 generates search information in which the first data and the second data are associated (step S12).
  • the registration unit 170 registers the generated search information in the storage server 300 (step S13).
  • FIG. 7 is a flowchart showing an operation example of the search device 200 of this embodiment.
  • the search condition input unit 210 receives input of information (that is, second data) indicating the characteristics of the optimization problem (step S21).
  • the search unit 220 searches the storage server 300 for optimization problems (that is, first data) associated with search information that matches the input information (that is, second data) (step S22). Thereafter, the optimization unit 260 performs optimization processing using the retrieved first data, and the output unit 270 outputs the optimization result.
  • the input unit 120 receives inputs of the first data and the second data
  • 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 optimization problems can be generated.
  • optimization problems are generally generated individually in consideration of the user's point of view and various constraints. There was no technical idea to 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, it is possible to manage the optimization problem using this search information.
  • the search condition input unit 210 receives input of second data as a search condition
  • the search unit 220 receives the first data associated with the search information that matches the input second data. is retrieved from the storage server 300 . Therefore, a desired optimization problem can be retrieved.
  • 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 obtain a desired optimization problem.
  • FIG. 8 is a block diagram showing a configuration example of an embodiment of the robot control system.
  • a robot control system 2000 illustrated in FIG. 8 includes a search device 200 and a robot 2300 .
  • 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, which will be described later.
  • the robot 2300 is a device that operates based on the optimization results. It should be noted that the robots here are not limited to devices shaped like humans or animals, and include devices that perform automatic work (automatic operation, automatic control, etc.). Robot 2300 includes a storage unit 2310 , an input unit 2320 and a control unit 2330 .
  • the storage unit 2310 stores the optimization results derived by the search device 200.
  • the input unit 2320 accepts input of various information used when operating the robot.
  • the control unit 2330 controls the motion of the robot 2300 based on the received various information and the optimization results stored in the storage unit 2310. Note that a method for controlling the operation of the robot 2300 by the control unit 2330 based on the optimization result 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.
  • FIG. 9 is a block diagram showing an outline of an information generation device according to the present invention.
  • An information generation device 80 (eg, information generation device 100) according to the present invention receives input of first data representing an optimization problem including an objective function and constraints and second data representing characteristics of the optimization problem. It comprises input means 81 (for example, input unit 120) and generation means 82 (for example, generation unit 160) for generating search information in which first data and second data are associated with each other.
  • the generating means 82 may generate search information in which the first data including the objective function learned using the subject's decision history data and the second data are associated with each other.
  • the information generation device 80 may also include feature generation means (for example, the feature generation unit 130) that generates features of the optimization problem. Then, the generating means 82 may generate search information in which the characteristics of the generated optimization problem are associated with the first data.
  • feature generation means for example, the feature generation unit 130
  • the objective function may be represented by a linear sum of explanatory variables.
  • the feature generating means may generate the feature of the optimization problem according to the weight of the explanatory variable included in the objective function.
  • the feature generating means may generate, as a feature of the optimization problem, information indicating the user who generated the training data used for learning the objective function.
  • the information generation device 80 may also include a recommendation means (for example, the recommendation unit 140) that recommends the feature generated by the feature generation means to the user. Then, the recommendation unit may present the recommended feature to the user and cause the user to specify the feature, and the generation unit 82 may create search information including the feature specified by the user in the second data.
  • a recommendation means for example, the recommendation unit 140
  • the recommendation unit may present the recommended feature to the user and cause the user to specify the feature
  • the generation unit 82 may create search information including the feature specified by the user in the second data.
  • the input means 81 may receive input of information on optimization solvers that are candidates for solving the optimization problem. Then, the generating means 82 may generate search information including information about the optimization solver.
  • the information generation device 80 may include learning means (for example, the learning unit 150) that generates an objective function for the optimization problem by inverse reinforcement learning using the subject's decision-making history data. Then, the generating means 82 may generate search information in which the first data including the generated objective function and the second data are associated with each other.
  • learning means for example, the learning unit 150
  • the generating means 82 may generate search information in which the first data including the generated objective function and the second data are associated with each other.
  • the learning unit may receive the input of the prediction model and generate the objective function using the prediction result of the received prediction model as the explanatory variable.
  • the information generation device 80 may also include registration means (eg, registration unit 170) for registering the generated search information in a database (eg, storage server 300).
  • registration means eg, registration unit 170
  • a database eg, storage server 300
  • FIG. 10 is a schematic block diagram showing the configuration of a computer according to at least one embodiment.
  • a computer 1000 comprises a processor 1001 , a main storage device 1002 , an auxiliary storage device 1003 and an interface 1004 .
  • 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 operation of each processing unit described above is stored in the auxiliary storage device 1003 in the form of a program.
  • the processor 1001 reads out the program from the auxiliary storage device 1003, develops it in the main storage device 1002, and executes the above processing according to the program.
  • the secondary storage device 1003 is an example of a non-transitory tangible medium.
  • Other examples of non-transitory tangible media include magnetic disks, magneto-optical disks, CD-ROMs (Compact Disc Read-only memory), DVD-ROMs (Read-only memory), connected via interface 1004, A semiconductor memory etc. are mentioned.
  • the computer 1000 receiving the distribution may develop the program in the main storage device 1002 and execute the above process.
  • the program may be for realizing part of the functions described above.
  • the program may be a so-called difference file (difference program) that implements the above-described functions in combination with another program already stored in the auxiliary storage device 1003 .
  • An information generation apparatus comprising: generation means for generating search information in which the first data and the second data are associated with each other.
  • Supplementary Note 2 The information generating device according to Supplementary Note 1, wherein the generating means generates search information in which the first data including the objective function learned using the subject's decision-making history data and the second data are associated with each other. .
  • Appendix 3 A feature generating means for generating a feature of the optimization problem, 2.
  • the information generating apparatus according to appendix 1 or appendix 2, wherein the generating means generates search information in which features of the generated optimization problem are associated with the first data.
  • the objective function is represented by a linear sum of explanatory variables, 3.
  • a recommendation means for recommending the feature generated by the feature generation means to the user The recommendation means presents a recommended feature to the user and prompts the user to designate the feature,
  • the information generating apparatus according to any one of appendices 3 to 5, wherein the generating means generates search information in which the feature specified by the user is included in the second data.
  • the input means receives input of information on an optimization solver that is a candidate for solving the optimization problem,
  • the information generating device according to any one of appendices 1 to 6, wherein the generating means generates search information including information of the optimization solver.
  • Appendix 8 A learning means for generating an objective function of the optimization problem by inverse reinforcement learning using the subject's decision-making history data, The information generating device according to any one of appendices 1 to 7, wherein the generating means generates search information in which the first data including the generated objective function and the second data are associated with each other.
  • Appendix 10 The information generation device according to any one of Appendices 1 to 9, including registration means for registering the generated search information in a database.
  • the computer receives input of first data indicating an optimization problem including an objective function and constraints and second data indicating characteristics of the optimization problem, An information generation method, wherein the computer generates search information in which the first data and the second data are associated with each other.
  • a program storage medium storing an information generation program for executing a generation process of generating search information in which the first data and the second data are associated with each other.
  • an information generation program is stored for generating search information in which the first data including the objective function learned using the decision-making history data of the subject and the second data are associated with each other. program storage medium.
  • Appendix 16 to the computer, 16.
  • Information distribution 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 unit 230 model input unit 240 problem extraction unit 250 Problem generator 260 Optimization unit 270 Output unit 300 Storage server

Abstract

入力手段81は、目的関数と制約とを含む最適化問題を示す第1データと、その最適化問題の特徴を示す第2データとの入力を受け付ける。生成手段82は、第1データと第2データとを対応付けた検索情報を生成する。

Description

情報生成装置、情報生成方法および情報生成プログラム
 本発明は、検索可能な情報を生成する情報生成装置、情報生成方法および情報生成プログラムに関する。
 特許文献1には、ユーザ側装置から取得した利用要求に応じて、データベースに予め保管されている複数の機械学習モデルから1または複数の機械学習モデルを選択してユーザ側装置に提供する装置が記載されている。特許文献1に記載されたデータベースは、複数の機械学習モデルを記憶し、各機械学習モデルについての機能および生成環境の少なくとも一方の情報であるモデル情報も併せて記憶する。
国際公開2018/142766号
 特許文献1に記載された機械学習モデルは、学習データおよび正解データに基づき、機械学習により生成した予測モデルを想定しているが組み合わせ最適化問題のような意思決定に利用されることを想定していない。
 そこで、本発明では、最適化問題を検索するための情報を生成できる情報生成装置、情報生成方法および情報生成プログラムを提供することを目的とする。
 本発明による情報生成装置は、目的関数と制約とを含む最適化問題を示す第1データと、その最適化問題の特徴を示す第2データとの入力を受け付ける入力手段と、第1データと第2データとを対応付けた検索情報を生成する生成手段とを備えたことを特徴とする。
 本発明による情報生成方法は、コンピュータが、目的関数と制約とを含む最適化問題を示す第1データと、その最適化問題の特徴を示す第2データとの入力を受け付け、コンピュータが、第1データと第2データとを対応付けた検索情報を生成することを特徴とする。
 本発明による情報生成プログラムは、コンピュータに、目的関数と制約とを含む最適化問題を示す第1データと、その最適化問題の特徴を示す第2データとの入力を受け付ける入力処理、および、第1データと第2データとを対応付けた検索情報を生成する生成処理を実行させることを特徴とする。
 本発明によれば、最適化問題を検索するための情報を生成できる。
発明による情報流通システムの一実施形態の構成例を示すブロック図である。 意思決定の種類の例を示す説明図である。 情報生成装置の構成例を示すブロック図である。 検索情報の例を示す説明図である。 検索装置の構成例を示すブロック図である。 情報生成装置の動作例を示すフローチャートである。 検索装置200の動作例を示すフローチャートである。 ロボット制御システムの一実施形態の構成例を示すブロック図である。 本発明による情報生成装置の概要を示すブロック図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 以下、本発明の実施形態を図面を参照して説明する。
 図1は、本発明による情報流通システムの一実施形態の構成例を示すブロック図である。本実施形態の情報流通システム1は、情報生成装置100と、検索装置200と、ストレージサーバ300とを備えている。情報生成装置100と、検索装置200と、ストレージサーバ300とは、通信回線を通じて相互に接続される。
 情報生成装置100は、後述する検索装置200が最適化問題を検索するために用いられる情報(以下、検索情報と記す。)を生成する装置である。本実施形態における最適化問題は、解くべき問題に対して定式化された目的関数(より具体的には、目的関数の構造)および制約条件を含むものである。そのため、本実施形態における最適化問題は、解くべき問題に対するユーザの意思決定の種類を表わしていると言える。なお、検索情報の生成方法については後述される。
 図2は、意思決定の種類(すなわち、最適化問題)の例を示す説明図である。図2に示す例では、解くべき問題の種類が、いわゆる「シフトスケジューリング問題」に分類されるものであり、最適化問題が、3つの条件(条件1,条件2,条件3)の違反度(説明変数)の線形和で規定される目的関数、および2つの制約条件(条件4,条件5)を含むことを示す。
 また、図2に例示する目的関数のλは、ユーザが条件を重視する度合い(以下、ユーザの意図、と記すこともある。)を示す値であり、意思決定の種類に応じて、様々な値に設定される。この目的関数の値を最小化する組み合わせを探索することで、適切な行動を導出することが可能になる。
 ストレージサーバ300は、情報生成装置100が生成した検索情報を記憶する。ストレージサーバ300は、例えば、一般的なテータベース(データベースシステム)により検索情報を管理してもよい。また、ストレージサーバ300は、情報生成装置100以外が生成した検索情報を記憶してもよい。
 検索装置200は、ストレージサーバ300(より具体的には、ストレージサーバ300のデータベース)に記憶された検索情報を利用して、最適化問題を検索する。また、検索装置200は、検索された最適化問題を利用して、ユーザの最適な行動を導出する。
 以下、情報生成装置100および検索装置200の具体的な構成例を説明する。
 図3は、本実施形態の情報生成装置100の構成例を示すブロック図である。本実施形態の情報生成装置100は、記憶部110と、入力部120と、特徴生成部130と、推薦部140と、学習部150と、生成部160と、登録部170とを含む。
 記憶部110は、情報生成装置100が処理を行う際に用いる各種情報を記憶する。記憶部110は、後述する学習部150が学習処理に用いるトレーニングデータやパラメータ、学習結果などを記憶してもよい。記憶部110は、例えば、磁気ディスク等により実現される。
 入力部120は、検索情報を生成する際に用いる各種情報の入力を受け付ける。具体的には、入力部120は、目的関数と制約とを含む最適化問題を示す情報(以下、第1データと記す。)と、その最適化問題の特徴を示す情報(以下、第2データと記す。)の入力を受け付ける。
 入力部120は、第1データおよび第2データの入力をユーザから受け付けてもよい。また、入力部120は、後述する学習部150が生成した目的関数の入力(より具体的には、記憶部110に記憶された目的関数)を受け付けてもよい。また、入力部120は、後述する特徴生成部130から、第2データ(すなわち、最適化問題の特徴を示す情報)の入力を受け付けてもよい。
 さらに、入力部120は、第1のデータと共に、最適化問題を解くための候補とする最適化ソルバ(または、最適化ソルバを特定する情報)の入力を受け付けてもよい。最適化ソルバの例として、例えば、数理計画ソルバなどが挙げられる。
 例えば、最適化問題を入力するユーザは、その最適化問題を解くために適した最適化ソルバを把握している場合も多い。そのため、このような情報の入力を第1のデータと共に受け付けることで、後述する検索装置200により最適化問題を検索したユーザが、その最適化問題に利用する最適化ソルバを把握することが可能になる。
 第1データは、上述するような目的関数の構造や、制約を示す条件などにより、最適化問題を示す情報を表わす。なお、目的関数の態様は任意であり、例えば、図2に例示するように、説明変数(条件)の線形和で表されるような関数であってもよい。また、制約の態様も任意であり、制約を満たす、または、制約を満たさないを、2値で特定するような情報であってもよく、制約を満たす程度を示すような情報であってもよい。
 また、第2データは、最適化問題の特徴を示す内容であれば任意である。ただし、第2データは、最適化問題を一意に識別可能な情報である必要はない。最適化問題の特徴として、例えば、その最適化問題の種類や、含まれる説明変数(特徴量)などの属性情報、いつ、どこで、だれが、どのような意思決定をする際に用いられる最適化問題かを示す最適化状況、および、利用可能な(公開する)対象者の範囲や日時などの利用条件、などが挙げられる。
 最適化問題の種類は、例えば、スケジュール最適化問題やナップサック問題などのように、最適化問題のテンプレート的な種類であってもよく、用いられる業種(例えば、小売、製造、旅行など)の種類などであってもよい。
 特徴生成部130は、最適化問題の特徴を生成する。具体的には、特徴生成部130は、第1データから、上述する第2データを生成する。特徴生成部130が第2データを生成する方法は任意である。特徴生成部130は、例えば、予め定めた方法に基づいて自動で第2データを生成してもよく、ユーザからの指定に基づいて第2データを生成してもよい。
 例えば、目的関数が上述する説明変数の線形和で表されている場合、特徴生成部130は、その目的関数に含まれる説明変数の重み(すなわち、重視する度合い)に応じて、最適化問題の特徴を生成してもよい。特徴生成部130は、例えば、重みが最も大きい説明変数の内容を、最適化問題の特徴として生成してもよい。
 また、例えば、明示的にユーザから説明変数が指定された場合(例えば、他の最適化問題では用いられない特徴など)、特徴生成部130は、その指定された説明変数の内容を、最適化問題の特徴として生成してもよい。
 また、特徴生成部130は、目的関数に含まれる説明変数(特徴量)に基づいて、最適化問題の種類を特定し、特定した最適化問題の種類を特徴として生成してもよい。例えば、入力部120が、「従業員の勤務時間」という説明変数が含まれる目的関数の入力を受け付けたとする。この場合、最適化問題の種類は、「発注量最適化」よりも「シフトスケジューリング」である可能性が高いと言える。「シフトスケジューリング」には「従業員の勤務時間」が特徴量として含まれている可能性が高いからである。そこで、説明変数に応じた最適化問題の種類を予め定めておき、特徴生成部130は、目的関数に含まれる説明変数に基づいて、予め定められた対応する最適化問題の種類を特徴として生成してもよい。
 なお、生成された最適化問題の特徴の全てが、後述する検索情報に含まれていてもよく、後述する推薦部140がユーザから指定された特徴が、後述する検索情報に含まれていてもよい。
 推薦部140は、特徴生成部130によって生成された特徴をユーザに推薦する。具体的には、推薦部140は、推薦する特徴をユーザに提示して指定させる。なお、推薦部140が、特徴を提示する方法は任意であり、例えば、図4に例示する第2データのような内容を提示してもよい。また、推薦部140がユーザに指定させる特徴の数も限定されず、1つであってもよく、複数であってもよい。
 学習部150は、記憶部110に記憶されたトレーニングデータを用いた機械学習により目的関数を生成する。具体的には、学習部150は、ユーザが意思決定を行った際の履歴データ(以下、意思決定履歴データと記す。)をトレーニングデータとして用いた逆強化学習により、最適化問題(より具体的には、第1データ)の目的関数を生成する。
 また、将来の予測結果を利用する場合、学習部150は、所望の予測結果を導出する予測モデルの入力を受け付けてもよい。そして、学習部150は、受け付けた予測モデルの予測結果を説明変数に用いて目的関数を生成してもよい。将来の予測結果の一例として、商品需要予測や、道路混雑度予測、来客数予測などが挙げられる。なお、予測モデルが、記憶部110に予め記憶されている場合、学習部150は、記憶部110に記憶された予測モデルを取得してもよい。
 ここで、特徴生成部130は、目的関数の学習に用いられたトレーニングデータを生成する基になったユーザを示す情報を第2データとして生成してもよい。そのような情報を用いることで、その目的関数を生成する基になる意思決定を行ったユーザの情報を、最適化問題の特徴として利用することが可能になる。
 学習部150は、生成された目的関数を記憶部110に記憶する。なお、最適化問題(より具体的には、目的関数)が既に生成されている場合や、目的関数を学習する必要がない場合、情報生成装置100は、学習部150を備えていなくてもよい。
 生成部160は、第1データと第2データとを対応付けた検索情報を生成する。これにより、最適化問題を検索するための情報を生成できるため、第2データに対応付けられた第1データを、その第2データをキーとして検索することが可能になる。
 また、入力部120が最適化問題を解くための候補とする最適化ソルバの入力を受け付けていた場合、生成部160は、最適化ソルバの情報を含む検索情報を生成してもよい。これにより、対応する最適化問題に利用可能な最適化ソルバを把握することが可能になる。
 また、推薦部140が推薦した特徴の指定をユーザから受け付けた場合、生成部160は、ユーザから指定された特徴を第2データに含めた検索情報を生成してもよい。
 登録部170は、生成された検索情報をストレージサーバ300に登録する。
 図4は、ストレージサーバ300に記憶された検索情報の例を示す説明図である。図4には、第1データと第2データとを対応付けた検索情報が例示されている。例えば、1行目の検索情報の場合、最適化問題が、3つの条件(説明変数)の線形和で表わされた目的関数と、満たすべき2つの制約条件とを含むことを示す。
 さらに、1行目の検索情報の場合、最適化問題が、いわゆる「スケジュール最適化」問題の種類に該当し、時間効率を重視しつつも、夜間はゆっくり過ごすような行動を重視することを目的とするものであることを示す。他にも、1行目に示す最適化問題は、20代男性が大阪旅行を行った際の状況に関するものであり、全ユーザが一ヶ月間利用可能なものであることを示す。さらに、1行目に示す最適化問題を解くための最適化ソルバの候補として、「ソルバA」が指定されていることを示す。
 なお、第1のデータには、図4に例示するような想定される特徴の全てが対応付けられている必要はなく、一部の特徴のみが対応付けられていればよい。また、第2データに含まれる特徴の分類や表現態様は例示である。これらの特徴が、例えば、各データベースで規定されるインデックスの仕様に基づいて表現されていてもよい。
 入力部120と、特徴生成部130と、推薦部140と、学習部150と、生成部160と、登録部170とは、プログラム(情報生成プログラム)に従って動作するコンピュータのプロセッサ(例えば、CPU(Central Processing Unit )、GPU(Graphics Processing Unit))によって実現される。
 例えば、プログラムは、情報生成装置100が備える記憶部110に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、入力部120、特徴生成部130、推薦部140、学習部150、生成部160、および、登録部170として動作してもよい。また、情報生成装置100の機能がSaaS(Software as a Service )形式で提供されてもよい。
 また、入力部120と、特徴生成部130と、推薦部140と、学習部150と、生成部160と、登録部170とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
 また、情報生成装置100の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 図5は、本実施形態の検索装置200の構成例を示すブロック図である。本実施形態の検索装置200は、検索条件入力部210と、検索部220と、モデル入力部230と、問題抽出部240と、問題生成部250と、最適化部260と、出力部270とを含む。
 検索条件入力部210は、最適化問題を検索するための条件(以下、単に検索条件と記すこともある。)の入力を受け付ける。具体的には、検索条件入力部210は、検索条件として、最適化問題の特徴を示す情報(具体的には、第2データ)の入力を受け付ける。
 なお、入力される情報の態様は任意であり、検索条件入力部210は、想定される入力に基づいて、検索条件を抽出すればよい。検索条件入力部210は、例えば、最適化問題として解くべき内容を示す文字列の入力を受け付けてもよい。この場合、検索条件入力部210は、既知の自然言語処理に基づいて、入力された文字列から抽出したい最適化問題の特徴を抽出してもよい。抽出された特徴は、後述する検索部220で利用される。
 例えば、「20代の男性が大阪旅行を行う場合の最適なプランを作成したい」という文字列が入力された場合、検索条件入力部210は、入力された文字列から、「20代男性」、「大阪旅行」などの特徴を抽出してもよい。
 また、検索条件入力部210は、検索条件として、最適化問題を示す情報(具体的には、第1データを示す情報)の入力を受け付けてもよい。検索条件入力部210は、例えば、最適化問題を示す第1データの候補の一覧を表示し、ユーザから候補の指定を受け付けてもよい。
 検索部220は、ストレージサーバ300(より具体的には、第1データと第2データとを対応付けた検索情報を記憶するデータベース)から、検索条件入力部210への入力により指定された検索条件に合致する最適化問題を検索する。より具体的には、検索部220は、入力された第2データ(すなわち、最適化問題の特徴)に合致する検索情報に対応付けられた第1データ(すなわち、最適化問題)を検索する。
 また、第1データを示す情報が入力された場合、検索部220は、入力された第1データを示す情報に合致する最適化問題を検索してもよい。また、検索情報に最適化ソルバの候補が含まれている場合、検索部220は、対応する最適化ソルバを併せて検索してもよい。
 また、検索部220は、検索結果をユーザに提示して、ユーザが所望する最適化問題の指定を受け付けてもよい。検索部220は、例えば、検索結果として、第1データと共に、最適化問題の特徴(すなわち、第2データ)を表示し、表示した第1データに対するユーザの指定を受け付けてもよい。
 モデル入力部230は、対象ユーザの意思決定履歴データに基づいて学習されたモデル(以下、意思決定モデルと記すこともある)の入力を受け付ける。すなわち、モデル入力部230は、対象ユーザの過去の意思決定を反映したモデルの入力を受け付ける。なお、モデル入力部230は、モデルと共に、そのモデルに課せられた制約条件の入力を併せて受け付けてもよい。
 なお、入力を受け付けるモデルが生成される方法は任意である。モデル入力部230は、例えば、情報生成装置100の学習部150が目的関数を生成する方法と同様の方法(例えば、逆強化学習)で学習されたモデルの入力を受け付けてもよい。
 なお、受け付けたモデルは、検索部220によって検索された最適化問題との比較が行われる。そのため、入力されるモデルは、検索される最適化問題と同様の方法により生成されたモデル、または、同様の態様で生成されたモデルであることが好ましい。
 問題抽出部240は、検索部220によって検索された最適化問題と、モデル入力部230が入力を受け付けた意思決定モデルとの比較を行い、検索された最適化問題(すなわち、第1データ)のうち、入力された意思決定モデルとの類似度が所定の条件を満たす最適化問題を抽出する。所定の条件として、例えば、類似度が予め定めた閾値よりも大きいこと、などが挙げられる。
 意思決定モデルは、対象ユーザの意思決定履歴データに基づいて学習されたモデルであることから、対象ユーザの意思が反映されているモデルと言える。そのため、問題抽出部240が、そのようなモデルと最適化問題との類似度を判断することで、その対象ユーザに類似する意思が反映された最適化問題を抽出することが可能になる。
 問題抽出部240が類似度を算出する方法は任意である。問題抽出部240は、意思決定モデルと最適化問題のそれぞれに含まれる特徴量(説明変数)の類似度を算出してもよい。問題抽出部240は、例えば、特徴量の種類が重複する度合いを類似度として算出してもよい。他にも、問題抽出部240は、重複する特徴量それぞれの重み係数の値の差異を、例えば、コサイン類似度やRMSE(Root Mean Square Error)により算出することで類似度を算出してもよい。
 さらに、意思決定モデルおよび最適化問題を生成する際に用いられた学習データが存在する場合、問題抽出部240は、同一の特徴量において取り得る値域の範囲の重複度合いや、各特徴量の平均または分散を類似度として算出してもよい。
 なお、問題抽出部240が類似度を算出する方法は、上述するような、意思決定モデルと最適化問題との構造に基づく方法に限定されない。問題抽出部240は、例えば、意思決定モデルおよび最適化問題のそれぞれに同じデータを入力した際の出力値の差分に基づいて類似度を算出してもよい。また、最適化問題および意思決定モデルに、それぞれ、問題またはモデルの特徴を示す文章が付与されている場合、問題抽出部240は、各文章間の類似度を最適化問題と意思決定モデルの類似度として算出してもよい。
 なお、検索装置200は、必ずしも意思決定モデルの入力を受け付ける必要はない。意思決定モデルの入力がない場合、検索装置200は、モデル入力部230および問題抽出部240を含んでいなくてもよい。
 問題生成部250は、最適化問題が複数抽出された場合、抽出された複数の最適化問題から、新たな目的関数を生成する。具体的には、問題生成部250は、複数の最適化問題から選択された2以上の目的関数を組み合わせて、新たな目的関数を生成する。なお、最適化問題が1つに特定されている場合、問題生成部250は、新たな目的関数を生成する必要はない。
 ここで、2以上の目的関数を組み合わせるとは、各目的関数に含まれる一部または全部の説明変数を予め定めた規則に基づいてそれぞれ抽出し、抽出された説明変数を用いて定式化(関数化)することを意味する。なお、この規則は、各目的関数が示す意図を反映させる程度に応じてユーザ等により定められる。予め定めた規則として、例えば、元の説明変数の重みに所定の割合を乗じて全て抽出した後、抽出されたそれぞれの説明変数の和を算出する方法などが挙げられる。
 以下、目的関数を組み合わせる具体例を説明する。例えば、目的関数Aと、目的関数Bが、以下に例示するように重複する複数の特徴量f,f,fを含むとする。
 目的関数A:a*f+a*f+a*f
 目的関数B:b*f+b*f+b*f
 ここで、目的関数Aが示す意図と目的関数Bが示す意図の中間の意図(すなわち、両者の意図を等分に反映した意図)を示すような目的関数を生成したいとする。この場合、問題生成部250は、組み合わせ比率が1:1になるように、各説明変数の係数それぞれに0.5を乗じた目的関数同士を加算して、以下に例示するような目的関数Cを生成してもよい。
 目的関数C:0.5*(a+b)*f+0.5*(a+b)*f+0.5*(a+b)*f
 同様に、目的関数Aが示す意図を目的関数Bが示す意図よりも、より反映させた意図を示すような目的関数を生成したいとする。この場合、問題生成部250は、組み合わせ比率が、例えば、4:1になるように目的変数を組み合わせて、以下に例示するような目的関数Dを生成してもよい。
 目的関数D:(0.8*a+0.2*b)*f+(0.8*a+0.2*b)*f+(0.8*a+0.2*b)*f
 最適化部260は、生成された新たな目的関数に基づいて最適化処理を行い、最適化結果を導出する。また、例えば、最適化ソルバの候補が指定されてた場合、最適化部260は、指定された最適化ソルバを用いて最適化結果を導出してもよい。
 出力部270は、最適化部260により導出された最適化結果(例えば、最適な行動)を出力する。
 検索条件入力部210と、検索部220と、モデル入力部230と、問題抽出部240と、問題生成部250と、最適化部260と、出力部270とは、プログラム(検索プログラム)に従って動作するコンピュータのプロセッサによって実現される。
 例えば、プログラムは、検索装置200が備える記憶部(図示せず)に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、検索条件入力部210、検索部220、モデル入力部230、問題抽出部240、問題生成部250、最適化部260、および、出力部270として動作してもよい。また、検索装置200の機能がSaaS(Software as a Service )形式で提供されてもよい。
 また、情報生成装置100の構成と同様、検索条件入力部210と、検索部220と、モデル入力部230と、問題抽出部240と、問題生成部250と、最適化部260と、出力部270とは、それぞれが専用のハードウェアで実現されていてもよい。
 次に、本実施形態の情報流通システム1の動作を説明する。図6は、本実施形態の情報生成装置100の動作例を示すフローチャートである。入力部120は、目的関数と制約とを含む最適化問題を示す第1データと、その最適化問題の特徴を示す第2データとの入力を受け付ける(ステップS11)。生成部160は、第1データと第2データとを対応付けた検索情報を生成する(ステップS12)。そして、登録部170は、生成された検索情報をストレージサーバ300に登録する(ステップS13)。
 図7は、本実施形態の検索装置200の動作例を示すフローチャートである。検索条件入力部210は、最適化問題の特徴を示す情報(すなわち、第2データ)の入力を受け付ける(ステップS21)。検索部220は、ストレージサーバ300から、入力された情報(すなわち、第2データ)に合致する検索情報に対応付けられた最適化問題(すなわち、第1データ)を検索する(ステップS22)。以降、最適化部260が、検索された第1データを用いて最適化処理を行い、出力部270が、最適化結果を出力する。
 以上のように、本実施形態では、入力部120が、第1データと第2データとの入力を受け付け、生成部160が、第1データと第2データとを対応付けた検索情報を生成する。よって、最適化問題を検索するための情報を生成できる。
 すなわち、上述するように、最適化問題は、一般にユーザの観点や各種の制約条件を考慮して個別に生成されるものであるため、複数の最適化問題を検索可能な態様でデータベース等に記憶させるという技術的思想は存在しなかった。一方、本実施形態では、生成部160が、第1データと第2データとを対応付けた検索情報を生成するため、この検索情報を用いて最適化問題を管理することが可能になる。
 また、本実施形態では、検索条件入力部210が、検索条件として、第2データの入力を受け付け、検索部220が、入力された第2データに合致する検索情報に対応付けられた第1データをストレージサーバ300から検索する。よって、所望の最適化問題を検索できる。
 すなわち、上述するように、個別に生成される最適化問題の特性上、他の最適化問題をデータベースから検索するという技術的思想は存在しなかった。一方、本実施形態では、検索部220が、入力された第2データに合致する検索情報に対応付けられた第1データをストレージサーバ300から検索する。よって、所望の最適化問題を取得することが可能になる。
 次に、本実施形態の検索装置200を利用したロボット制御システムの具体例を説明する。図8は、ロボット制御システムの一実施形態の構成例を示すブロック図である。図8に例示するロボット制御システム2000は、検索装置200と、ロボット2300とを備えている。
 図8に例示する検索装置200は、上記実施形態における検索装置200と同様である。検索装置200は、最適化結果を後述するロボット2300の記憶部2310に記憶させる。
 ロボット2300は、最適化結果に基づいて動作する機器である。なお、ここでのロボットには、人や動物を模した形状の機器に限られず、自動作業(自動運転、自動制御など)を行う機器なども含まれる。ロボット2300は、記憶部2310と、入力部2320と、制御部2330とを含む。
 記憶部2310は、検索装置200によって導出された最適化結果を記憶する。
 入力部2320は、ロボットを動作させる際に用いる各種情報の入力を受け付ける。
 制御部2330は、受け付けた各種情報、および、記憶部2310に記憶された最適化結果に基づいて、ロボット2300の動作を制御する。なお、制御部2330が、最適化結果に基づいてロボット2300の動作を制御する方法は予め定められればよい。本実施形態では、ロボット2300のような自動作業を行う機器を、導出された最適化結果に基づいて制御することができる。
 次に、本発明の概要を説明する。図9は、本発明による情報生成装置の概要を示すブロック図である。本発明による情報生成装置80(例えば、情報生成装置100)は、目的関数と制約とを含む最適化問題を示す第1データと、その最適化問題の特徴を示す第2データとの入力を受け付ける入力手段81(例えば、入力部120)と、第1データと第2データとを対応付けた検索情報を生成する生成手段82(例えば、生成部160)とを備えている。
 そのような構成により、最適化問題を検索するための情報を生成できる。
 また、生成手段82は、対象者の意思決定履歴データを用いて学習された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成してもよい。
 また、情報生成装置80は、最適化問題の特徴を生成する特徴生成手段(例えば、特徴生成部130)を備えていてもよい。そして、生成手段82は、生成された最適化問題の特徴を第1データに対応付けた検索情報を生成してもよい。
 また、目的関数が、説明変数の線形和で表わされていてもよい。このとき、特徴生成手段は、目的関数に含まれる説明変数の重みに応じて最適化問題の特徴を生成してもよい。
 また、特徴生成手段は、目的関数の学習に用いられたトレーニングデータを生成する基になったユーザを示す情報を最適化問題の特徴として生成してもよい。
 また、情報生成装置80は、特徴生成手段によって生成された特徴をユーザに推薦する推薦手段(例えば、推薦部140)を備えていてもよい。そして、推薦手段は、推薦する特徴をユーザに提示して指定させ、生成手段82は、ユーザから指定された特徴を第2データに含めた検索情報を生成してもよい。
 また、入力手段81は、最適化問題を解くための候補とする最適化ソルバの情報の入力を受け付けてもよい。そして、生成手段82は、最適化ソルバの情報を含む検索情報を生成してもよい。
 また、情報生成装置80は、対象者の意思決定履歴データを用いた逆強化学習により、最適化問題の目的関数を生成する学習手段(例えば、学習部150)を備えていてもよい。そして、生成手段82は、生成された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成してもよい。
 このとき、学習部は、予測モデルの入力を受け付け、受け付けた予測モデルの予測結果を説明変数に用いて目的関数を生成してもよい。
 また、情報生成装置80は、生成された検索情報をデータベース(例えば、ストレージサーバ300)に登録する登録手段(例えば、登録部170)を備えていてもよい。
 図10は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ1000は、プロセッサ1001、主記憶装置1002、補助記憶装置1003、インタフェース1004を備える。
 上述の情報流通システム1の各装置(情報生成装置100、および、検索装置200)は、それぞれ、コンピュータ1000に実装される。そして、上述した各処理部の動作は、プログラムの形式で補助記憶装置1003に記憶されている。プロセッサ1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、当該プログラムに従って上記処理を実行する。
 なお、少なくとも1つの実施形態において、補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read-only memory )、DVD-ROM(Read-only memory)、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000が当該プログラムを主記憶装置1002に展開し、上記処理を実行してもよい。
 また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)目的関数と制約とを含む最適化問題を示す第1データと、当該最適化問題の特徴を示す第2データとの入力を受け付ける入力手段と、
 前記第1データと前記第2データとを対応付けた検索情報を生成する生成手段とを備えた
 ことを特徴とする情報生成装置。
(付記2)生成手段は、対象者の意思決定履歴データを用いて学習された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成する
 付記1記載の情報生成装置。
(付記3)最適化問題の特徴を生成する特徴生成手段を備え、
 生成手段は、生成された最適化問題の特徴を第1データに対応付けた検索情報を生成する
 付記1または付記2記載の情報生成装置。
(付記4)目的関数が、説明変数の線形和で表わされ、
 特徴生成手段は、前記目的関数に含まれる説明変数の重みに応じて最適化問題の特徴を生成する
 付記3記載の情報生成装置。
(付記5)特徴生成手段は、目的関数の学習に用いられたトレーニングデータを生成する基になったユーザを示す情報を最適化問題の特徴として生成する
 付記3または付記4記載の情報生成装置。
(付記6)特徴生成手段によって生成された特徴をユーザに推薦する推薦手段を備え、
 前記推薦手段は、推薦する特徴をユーザに提示して指定させ、
 生成手段は、前記ユーザから指定された特徴を第2データに含めた検索情報を生成する
 付記3から付記5のうちのいずれか1つに記載の情報生成装置。
(付記7)入力手段は、最適化問題を解くための候補とする最適化ソルバの情報の入力を受け付け、
 生成手段は、前記最適化ソルバの情報を含む検索情報を生成する
 付記1から付記6のうちのいずれか1つに記載の情報生成装置。
(付記8)対象者の意思決定履歴データを用いた逆強化学習により、最適化問題の目的関数を生成する学習手段を備え、
 生成手段は、生成された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成する
 付記1から付記7のうちのいずれか1つに記載の情報生成装置。
(付記9)学習手段は、予測モデルの入力を受け付け、受け付けた予測モデルの予測結果を説明変数に用いて目的関数を生成する
 付記8記載の情報生成装置。
(付記10)生成された検索情報をデータベースに登録する登録手段を備えた
 付記1から付記9のうちのいずれか1つに記載の情報生成装置。
(付記11)コンピュータが、目的関数と制約とを含む最適化問題を示す第1データと、当該最適化問題の特徴を示す第2データとの入力を受け付け、
 前記コンピュータが、前記第1データと前記第2データとを対応付けた検索情報を生成する
 ことを特徴とする情報生成方法。
(付記12)コンピュータが、対象者の意思決定履歴データを用いて学習された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成する
 付記11記載の情報生成方法。
(付記13)コンピュータに、
 目的関数と制約とを含む最適化問題を示す第1データと、当該最適化問題の特徴を示す第2データとの入力を受け付ける入力処理、および、
 前記第1データと前記第2データとを対応付けた検索情報を生成する生成処理を実行させる
 ための情報生成プログラムを記憶するプログラム記憶媒体。
(付記14)コンピュータに、
 生成処理で、対象者の意思決定履歴データを用いて学習された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成させるための情報生成プログラムを記憶する
 付記13記載のプログラム記憶媒体。
(付記15)コンピュータに、
 目的関数と制約とを含む最適化問題を示す第1データと、当該最適化問題の特徴を示す第2データとの入力を受け付ける入力処理、および、
 前記第1データと前記第2データとを対応付けた検索情報を生成する生成処理を実行させる
 ための情報生成プログラム。
(付記16)コンピュータに、
 生成処理で、対象者の意思決定履歴データを用いて学習された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成させる
 付記15記載の情報生成プログラム。
 1 情報流通システム
 100 情報生成装置
 110 記憶部
 120 入力部
 130 特徴生成部
 140 推薦部
 150 学習部
 160 生成部
 170 登録部
 200 検索装置
 210 検索条件入力部
 220 検索部
 230 モデル入力部
 240 問題抽出部
 250 問題生成部
 260 最適化部
 270 出力部
 300 ストレージサーバ

Claims (14)

  1.  目的関数と制約とを含む最適化問題を示す第1データと、当該最適化問題の特徴を示す第2データとの入力を受け付ける入力手段と、
     前記第1データと前記第2データとを対応付けた検索情報を生成する生成手段とを備えた
     ことを特徴とする情報生成装置。
  2.  生成手段は、対象者の意思決定履歴データを用いて学習された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成する
     請求項1記載の情報生成装置。
  3.  最適化問題の特徴を生成する特徴生成手段を備え、
     生成手段は、生成された前記最適化問題の特徴を第1データに対応付けた検索情報を生成する
     請求項1または請求項2記載の情報生成装置。
  4.  目的関数が、説明変数の線形和で表わされ、
     特徴生成手段は、前記目的関数に含まれる説明変数の重みに応じて最適化問題の特徴を生成する
     請求項3記載の情報生成装置。
  5.  特徴生成手段は、目的関数の学習に用いられたトレーニングデータを生成する基になったユーザを示す情報を最適化問題の特徴として生成する
     請求項3または請求項4記載の情報生成装置。
  6.  特徴生成手段によって生成された特徴をユーザに推薦する推薦手段を備え、
     前記推薦手段は、推薦する特徴をユーザに提示して指定させ、
     生成手段は、前記ユーザから指定された特徴を第2データに含めた検索情報を生成する
     請求項3から請求項5のうちのいずれか1項に記載の情報生成装置。
  7.  入力手段は、最適化問題を解くための候補とする最適化ソルバの情報の入力を受け付け、
     生成手段は、前記最適化ソルバの情報を含む検索情報を生成する
     請求項1から請求項6のうちのいずれか1項に記載の情報生成装置。
  8.  対象者の意思決定履歴データを用いた逆強化学習により、最適化問題の目的関数を生成する学習手段を備え、
     生成手段は、生成された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成する
     請求項1から請求項7のうちのいずれか1項に記載の情報生成装置。
  9.  学習手段は、予測モデルの入力を受け付け、受け付けた予測モデルの予測結果を説明変数に用いて目的関数を生成する
     請求項8記載の情報生成装置。
  10.  生成された検索情報をデータベースに登録する登録手段を備えた
     請求項1から請求項9のうちのいずれか1項に記載の情報生成装置。
  11.  コンピュータが、目的関数と制約とを含む最適化問題を示す第1データと、当該最適化問題の特徴を示す第2データとの入力を受け付け、
     前記コンピュータが、前記第1データと前記第2データとを対応付けた検索情報を生成する
     ことを特徴とする情報生成方法。
  12.  コンピュータが、対象者の意思決定履歴データを用いて学習された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成する
     請求項11記載の情報生成方法。
  13.  コンピュータに、
     目的関数と制約とを含む最適化問題を示す第1データと、当該最適化問題の特徴を示す第2データとの入力を受け付ける入力処理、および、
     前記第1データと前記第2データとを対応付けた検索情報を生成する生成処理を実行させる
     ための情報生成プログラムを記憶するプログラム記憶媒体。
  14.  コンピュータに、
     生成処理で、対象者の意思決定履歴データを用いて学習された目的関数を含む第1データと、第2データとを対応付けた検索情報を生成させるための情報生成プログラムを記憶する
     請求項13記載のプログラム記憶媒体。
PCT/JP2021/026334 2021-07-13 2021-07-13 情報生成装置、情報生成方法および情報生成プログラム WO2023286170A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/026334 WO2023286170A1 (ja) 2021-07-13 2021-07-13 情報生成装置、情報生成方法および情報生成プログラム
JP2023534486A JPWO2023286170A1 (ja) 2021-07-13 2021-07-13

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/026334 WO2023286170A1 (ja) 2021-07-13 2021-07-13 情報生成装置、情報生成方法および情報生成プログラム

Publications (1)

Publication Number Publication Date
WO2023286170A1 true WO2023286170A1 (ja) 2023-01-19

Family

ID=84920139

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/026334 WO2023286170A1 (ja) 2021-07-13 2021-07-13 情報生成装置、情報生成方法および情報生成プログラム

Country Status (2)

Country Link
JP (1) JPWO2023286170A1 (ja)
WO (1) WO2023286170A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424451B1 (en) * 2000-10-10 2008-09-09 International Business Machines Corporation System and method of solving optimization problems using prestored advanced bases
WO2017056367A1 (ja) * 2015-09-30 2017-04-06 日本電気株式会社 情報処理システム、情報処理方法および情報処理用プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424451B1 (en) * 2000-10-10 2008-09-09 International Business Machines Corporation System and method of solving optimization problems using prestored advanced bases
WO2017056367A1 (ja) * 2015-09-30 2017-04-06 日本電気株式会社 情報処理システム、情報処理方法および情報処理用プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ETO RIKI, YASUO SUZUKI, YUKI NAKAGUCHI, DAI KUBOTA, ATSUSHI KASHIWAYA: "Intention learning technology that imitates expert decision making", NEC TECHNICAL JOURNAL, NIPPON DENKI BUNKA SENTA, TOKYO, JP, vol. 72, no. 1, 1 October 2019 (2019-10-01), JP , pages 95 - 98, XP055910107, ISSN: 0285-4139 *

Also Published As

Publication number Publication date
JPWO2023286170A1 (ja) 2023-01-19

Similar Documents

Publication Publication Date Title
Kazak et al. Artificial intelligence in the tourism sphere
CN109670267B (zh) 一种数据处理方法和装置
Soibelman et al. Data preparation process for construction knowledge generation through knowledge discovery in databases
WO2020197624A1 (en) Method for predicting the successfulness of the execution of a devops release pipeline
JP4592325B2 (ja) Itシステムの設計支援システムおよび設計支援方法
Akperov et al. Using soft computing methods for the functional benchmarking of an intelligent workplace in an educational establishment
CN112598405B (zh) 一种基于大数据的商业项目数据管理方法及系统
WO2023286170A1 (ja) 情報生成装置、情報生成方法および情報生成プログラム
Huang et al. Rough set theory: a novel approach for extraction of robust decision rules based on incremental attributes
WO2023286171A1 (ja) 検索装置、検索方法および検索プログラム
Proletarsky et al. Approach to Forecasting the Development of Crisis Situations in Complex Information Networks
Poornima et al. Prediction of Water Consumption Using Machine Learning Algorithm
US20220366315A1 (en) Feature selection for model training
Aliyeva Fuzzy type-2 decision making method on project selection
CN113537731A (zh) 基于强化学习的设计资源能力评估方法
JP7063397B2 (ja) 回答統合装置、回答統合方法および回答統合プログラム
CN113571198A (zh) 转化率预测方法、装置、设备及存储介质
Birkeland et al. Developing and evaluating an automated valuation model for residential real estate in Oslo
Ma et al. A novel artificial bee colony algorithm for robust permutation flowshop scheduling
Beresnev et al. Computation of an upper bound in the two-stage bilevel competitive location model
Huang et al. Branch Ranking for Efficient Mixed-Integer Programming via Offline Ranking-Based Policy Learning
Bobulski et al. Design of the BLINDS system for processing and analysis of Big Data-a pre-processing data analysis module
Kvet et al. Use of machine learning for the unknown values in database transformation processes
Drobek et al. Parameter estimation and equation formulation in Business Dynamics
JP7185888B1 (ja) 情報処理システム、情報処理方法及び情報処理プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21950111

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023534486

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE