Production process optimization method and production process optimization system
Patent Information
- Application Number
- CN202080103476.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-08-31
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2040-08-31
AI Technical Summary
[0012]根据本发明,能够优化生产工艺。
Smart Images

Figure CN115968480B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a method and system for optimizing production processes. Background Technology
[0002] Patent document 1 proposes a system for implementing and managing laboratory experiments in life sciences.
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: U.S. Patent Application Publication No. 2018 / 0196913 Summary of the Invention
[0006] The problem that the invention aims to solve
[0007] Despite the need to maximize the gains from the manufacturing process, Patent Document 1 does not disclose a method for optimizing the manufacturing process to obtain the maximum gains.
[0008] Therefore, the present invention is made to solve the above-mentioned problems, and its purpose is to provide a production process optimization method and production process optimization system that can optimize the production process.
[0009] Methods for solving problems
[0010] The production process optimization method of the present invention includes: an acquisition step, which acquires a starting execution program as the starting point of the search, the starting execution program specifying one or more operations to be performed in the production process and specifying content related to the operations; a variable parameter item determination step, which determines one or more variable parameter items for which variable parameter values can be set in the starting execution program; an execution program generation step, which, based on past execution performance results and the evaluation performance results, sets the variable parameter values in the variable parameter items determined by the variable parameter item determination step to generate an execution program; an execution result acquisition step, which acquires the execution result when the execution subject actually executes the execution program in the execution environment; an evaluation result acquisition step, which acquires an evaluation result of the execution result; and a storage step, which stores the execution program, the variable parameter values, the execution result, and the evaluation result in a corresponding manner.
[0011] Invention Effects
[0012] According to the present invention, the production process can be optimized. Attached Figure Description
[0013] Figure 1 This is a block diagram illustrating the overall structure of the production process optimization system of this embodiment.
[0014] Figure 2 This is a schematic diagram illustrating an example of the structure of the starting program.
[0015] Figure 3 This is a schematic diagram illustrating an example of the structure of the execution performance results and evaluation results 1 based on past execution procedures.
[0016] Figure 4 This is a schematic diagram illustrating an example of the structure of the execution performance results and evaluation results 2 based on past execution procedures.
[0017] Figure 5 This is a schematic diagram illustrating an example of the structure of a template executor.
[0018] Figure 6 This is a schematic diagram illustrating an example of the structure of executable program 1.
[0019] Figure 7 This is a schematic diagram illustrating an example of the structure of executable program 2.
[0020] Figure 8 This is a schematic diagram illustrating an example of the structure of an executable program's abstract syntax tree.
[0021] Figure 9 It is shown Figure 8 The diagram shows the subsequent structure of the executable abstract syntax tree.
[0022] Figure 10A This is a schematic diagram showing the structure of the execution environment information.
[0023] Figure 10B This is a schematic diagram illustrating the semi-order structure.
[0024] Figure 11 This is a diagram illustrating a set A' that has been assigned its own execution subject to each operation.
[0025] Figure 12 This is a schematic diagram illustrating an example of the structure of an extended abstract syntax tree.
[0026] Figure 13 It is shown Figure 12 The diagram shows the subsequent structure of the extended abstract syntax tree.
[0027] Figure 14 It is shown Figure 13 The diagram shows the subsequent structure of the extended abstract syntax tree.
[0028] Figure 15This is a diagram illustrating that set A'' has been assigned execution start time and execution end time for each element.
[0029] Figure 16 This is a schematic diagram illustrating a set A´´´ that satisfies the constraints.
[0030] Figure 17A This is a flowchart illustrating the production process optimization procedure of this embodiment.
[0031] Figure 17B This is a diagram used to illustrate the execution of multiple programs.
[0032] Figure 18 This is a block diagram showing the structure of the template executor generation unit.
[0033] Figure 19 This is a schematic diagram illustrating an example of the structure (1) of an execution program from another starting point.
[0034] Figure 20 This is a schematic diagram illustrating an example of the structure of a past associated execution program 1.
[0035] Figure 21 This is a schematic diagram illustrating an example of the structure of the previously associated execution program 2.
[0036] Figure 22 This is a schematic diagram illustrating an example of the structure of the past associated execution program 3.
[0037] Figure 23 This is a schematic diagram illustrating an example of the evaluation results of past associated execution procedures.
[0038] Figure 24 This is a schematic diagram illustrating an example of the structure (1) of other template executors.
[0039] Figure 25 This is a schematic diagram showing an example of the structure (1) of another executable program 1.
[0040] Figure 26 This is a schematic diagram showing an example of the structure (1) of another executable program 2.
[0041] Figure 27 This is a flowchart showing the template execution program generating the processing program.
[0042] Figure 28 This is a block diagram showing the structure of the variable parameter value setting section.
[0043] Figure 29 This is a flowchart illustrating the variable parameter value setting process.
[0044] Figure 30 This is a block diagram showing the structure of the execution plan generation unit.
[0045] Figure 31 This is a flowchart illustrating the execution plan generation process.
[0046] Figure 32 This is a schematic diagram illustrating an example of the structure (1) of an individual abstract syntax tree.
[0047] Figure 33 This is a schematic diagram illustrating an example of the structure (2) of an individual abstract syntax tree.
[0048] Figure 34 This is a schematic diagram illustrating an example of the structure (3) of an individual abstract syntax tree.
[0049] Figure 35 This is a schematic diagram illustrating an example of the structure (4) of an individual abstract syntax tree.
[0050] Figure 36 This is a flowchart illustrating the individual abstract syntax tree generation process.
[0051] Figure 37 This is a schematic diagram (1) used to illustrate the outline of the individual abstract syntax tree generation process.
[0052] Figure 38 This is a schematic diagram (2) used to illustrate the outline of the individual abstract syntax tree generation process.
[0053] Figure 39 This is a schematic diagram (3) used to illustrate the outline of the individual abstract syntax tree generation process.
[0054] Figure 40 This is a schematic diagram (4) used to illustrate the outline of the individual abstract syntax tree generation process.
[0055] Figure 41 This is a flowchart illustrating the process of generating the abstract syntax tree for the executable program.
[0056] Figure 42 This is a schematic diagram showing the structure (1) of the individual abstract syntax tree generated by the execution program abstract syntax tree to integrate the processing.
[0057] Figure 43 This is a schematic diagram showing the structure (2) of the individual abstract syntax tree generated by the execution program abstract syntax tree to integrate the processing.
[0058] Figure 44 It shows that it is integrated Figure 42 The individual abstract syntax trees shown Figure 43The diagram shows the structure of the intermediate abstract syntax tree of the individual abstract syntax tree.
[0059] Figure 45 This is a flowchart illustrating the extended abstract syntax tree generation process.
[0060] Figure 46 This is a schematic diagram used to illustrate the outline of the semi-order.
[0061] Figure 47 This is a block diagram showing the structure of the execution instruction information generation unit.
[0062] Figure 48 This is a flowchart illustrating the execution instruction information generation process.
[0063] Figure 49 This is a schematic diagram illustrating an example of the structure (2) of the program executing from another starting point.
[0064] Figure 50 This is a schematic diagram illustrating an example of the structure (2) of other template executors.
[0065] Figure 51 This is a schematic diagram illustrating an example of the structure (2) of another executable program 1.
[0066] Figure 52 This is a schematic diagram showing an example of the structure (2) of another executable program 2.
[0067] Figure 53 This is a schematic diagram illustrating an example of the structure of the template execution program used to explain the second embodiment.
[0068] Figure 54 This is a schematic diagram showing an example of the structure of the executable program 1 used to illustrate the second embodiment.
[0069] Figure 55 This is a schematic diagram illustrating an example of the structure of the executable program 2 used to explain the second embodiment.
[0070] Figure 56 This is a flowchart illustrating the template execution program generation process of the third embodiment.
[0071] Figure 57 This is a block diagram illustrating the structure of the production process optimization system according to the fourth embodiment.
[0072] Figure 58 This is a flowchart illustrating the characteristic processing of the production process optimization procedure in the fourth embodiment.
[0073] Figure 59 This is a block diagram showing the structure of the template execution program generation unit in the fifth embodiment.
[0074] Figure 60 This is a flowchart illustrating the template execution program generation process of the fifth embodiment.
[0075] Figure 61 This is a block diagram showing the structure of the variable parameter value setting unit in the fifth embodiment.
[0076] Figure 62 This is a flowchart illustrating the variable parameter value setting process of the fifth embodiment.
[0077] Figure 63 This is a schematic diagram used to illustrate the limitation of the range of variable parameter values in the fifth embodiment. Detailed Implementation
[0078] The embodiments of the present invention will now be described in detail with reference to the accompanying drawings. In the following description, the same structural elements are marked with the same symbols, and repeated descriptions are omitted.
[0079] (1) Production process optimization method of the first embodiment
[0080] (1-1) Overview of the production process optimization method of the first embodiment
[0081] First, a summary of the production process optimization method of this embodiment will be given. Figure 1 This is a block diagram showing the overall structure of the production process optimization system 1 of this embodiment, which performs the production process optimization method. (As shown...) Figure 1 As shown, the production process optimization system 1 has a structure that includes a production process optimization device 2 and multiple communication devices 3a, 3b, 3c, 3d connected to a network 4 such as the Internet.
[0082] In the production process optimization system 1, in various production processes, such as the production process of producing blended beans by mixing multiple types of coffee beans, the production process of producing castings made of ferroalloys by mixing multiple types of raw materials, the production process of producing a given dish by using multiple ingredients, and the production process of producing compound A by culturing E. coli X in culture medium M and inducing the expression of enzyme P, the execution procedure is sought through trial and error to obtain the best evaluation result with the highest possible gain.
[0083] Here, the term "optimal evaluation result" can refer to at least one of the following: cost, output, quality, execution time, deviations from these parameters, and deviations from their given target values in the execution of the production process. For example, an example of the evaluation result for a blend of two types of coffee beans could be the cost incurred before producing the blend, the output of the blend, the quality of the blend, the execution time before producing the blend, their deviations, and deviations from their given target values.
[0084] Here, the so-called "execution procedure" describes a series of operations performed in the production and evaluation processes (e.g., roasting or mixing, qualitative aroma evaluation, etc.), the processed objects (e.g., coffee beans, etc.) processed by each operation, the products obtained after processing the processed objects through each operation (e.g., coffee beans (roasted), etc.), the various execution parameter values when processing the processed objects through the operation (e.g., heating temperature or heating time, cooling temperature, cooling time, humidity, incubation time, concentration, mixing ratio, mixing amount, etc.), and the constraints related to the operation (e.g., "the mixing operation must be carried out within 180 seconds after the roasting of coffee bean A").
[0085] For example, in a factory, a production procedure that represents a series of operations using multiple machine tools from raw materials to the production of a certain product is equivalent to an execution procedure; in a laboratory, an experimental procedure that represents a series of operations conducted by multiple experimenters in a life science experiment is equivalent to an execution procedure; and in a kitchen, a cooking procedure that represents a series of operations by multiple chefs from ingredients to the preparation of a certain dish is equivalent to an execution procedure.
[0086] Here, the production conditions within the execution program of a production process that maximize the gain from a particular process (e.g., combinations of various execution parameter values such as heating temperature, heating time, and humidity) are not self-evident. In a simpler approach, multiple experiments need to be repeated, involving trial and error. The more complex the product, the more complex and massive its production process, and the more difficult it becomes to search for the optimal production conditions. Furthermore, in small-batch, multi-variety production processes, pharmaceutical manufacturing, and other applications, although automation is achieved through robots in biological production processes, the different varieties of products and individual differences among organisms necessitate determining the optimal production conditions for each situation. As a result, the total cost of searching for optimal production conditions increases.
[0087] Generally speaking, when searching for production conditions, if the types and number of execution entities such as machinery, robots, and people (operators) performing various operations in the production process increase, then appropriate execution instruction information needs to be generated sequentially for each execution entity for each production condition search condition, which requires a lot of labor.
[0088] In the production process optimization system 1 of this embodiment, considering the above-mentioned problems, the executing entity actually executes the production process according to the execution program in the execution environment 100. When searching for the optimal production conditions that can obtain the greatest possible gain, the optimal production conditions with a large gain can be obtained with the fewest possible number of experimental executions. This not only reduces the total cost and labor required to search for production conditions, but also obtains the optimal production process with a large gain.
[0089] Here, as an example of a production process optimized by the production process optimization system 1 of this embodiment, a production process for producing blended beans using blended coffee beans A and coffee beans B of a different type than coffee beans A will be described. The general outline of the production process optimization system 1 of this embodiment will be explained below. Furthermore, as an example of an evaluation process for assessing the blended beans obtained through the production process, a qualitative evaluation of the aroma of the blended beans will be described.
[0090] like Figure 1 As shown, the production process optimization system 1 includes a production process optimization device 2 with a computing unit 7, a database 8, a display unit 9, an operation unit 10, and a receiving and sending unit 11.
[0091] The arithmetic processing unit 7 has a microcomputer structure consisting of a CPU (Central Processing Unit), RAM (Random Access Memory), and ROM (Read Only Memory) (not shown), and is connected to the database 8, display unit 9, operation unit 10, and transceiver unit 11.
[0092] When the manager (also called "user") of the production process optimization device 2 gives various operation commands, the arithmetic processing unit 7 will read the production process optimization program, template execution program generation processing program, variable parameter value setting processing program, execution plan generation processing program, execution instruction information generation processing program, etc., which are pre-stored in the ROM according to the operation command through the operation unit 10, and expand them in the RAM, thereby controlling each circuit unit according to the production process optimization program, etc.
[0093] The computational processing unit 7 generates template execution programs, execution plans, execution instruction information, etc., by performing production process optimization processing, and stores these computational processing results in the database 8.
[0094] In addition to storing the processing results of the arithmetic processing unit 7, database 8 also stores execution environment information received from the outside via transceiver unit 11 (described later). Furthermore, database 8 stores various data such as the execution results of the execution entity when executing the production process execution program in the execution environment 100 (hereinafter referred to as "past execution results" or "execution performance results"), and past evaluation results of evaluating the execution performance results (hereinafter referred to as "evaluation results of past execution results" or "evaluation performance results").
[0095] Display unit 9 displays the calculation results of the template execution program, execution program, etc. generated by the calculation and processing unit 7, which can be understood by the manager of the production process optimization device 2.
[0096] The production process optimization device 2 of this embodiment generates, through production process optimization processing, the following: an execution procedure for the production process and evaluation process of the blended coffee beans A and B; data showing when each execution entity should coordinate to perform each operation within the execution procedure, i.e., an execution plan; and data instructing the execution entities of the execution environment 100 to perform their respective corresponding operations according to the execution plan, i.e., execution instruction information.
[0097] The production process optimization device 2 sends the execution plan and execution instruction information to the corresponding execution subject's communication devices 3a, 3b, 3c, and 3d in the execution environment 100 via the network 4.
[0098] Here, Figure 1 The execution environment 100 shown illustrates the environment in which the production process and evaluation process are actually executed, such as a factory, laboratory, kitchen, workshop, etc. Within the execution environment 100, the executing entity performs the various operations specified within the execution procedures of the production process and evaluation process. The executing entity varies depending on the type of production process and evaluation process, and may include, for example, mechanical devices, robotic arms, humans, incubators, measuring instruments such as cameras, automated experimental equipment, computers, etc.
[0099] In this embodiment, the production process of a blend of coffee beans A and B, and the evaluation process of qualitatively evaluating the aroma of the blend produced by executing the production process are described as an example. In this case, the roasting machines X and Y that roast coffee beans A and B, and the people P and Q who perform the blending and aroma qualitative evaluation can be the execution entities.
[0100] In the production process optimization system 1 of this embodiment, in order to prompt the execution plan and execution instruction information generated by the production process optimization device 2 to the execution subjects, namely baking machines X and Y and people P and Q, the system sends the information to the communication devices 3a, 3b, 3c and 3d of the execution subjects via the network 4.
[0101] For example, communication device 3a is connected to or mounted on baking machine X, and prompts baking machine X with setting information included in execution instruction information generated for use by baking machine X, and makes baking machine X work according to the execution plan based on the setting information. Similarly, communication device 3b is connected to or mounted on baking machine Y, and prompts baking machine Y with setting information included in execution instruction information generated for use by baking machine Y, and makes baking machine Y work according to the execution plan based on the setting information.
[0102] The communication device 3c in this embodiment is, for example, an information processing device such as a personal computer or smartphone, held by a person P capable of mixing coffee beans A and B. The communication device 3c prompts the person P with the execution plan received from the production process optimization device 2 or the execution instruction information generated for the person P's use, and causes the person P to perform operations such as mixing according to the execution plan based on the execution instruction information as needed.
[0103] Furthermore, the communication device 3d in this embodiment is, for example, an information processing device such as a personal computer or smartphone, held by a person Q capable of performing blending operations of coffee beans A and B and qualitative aroma assessment. The communication device 3d prompts the person Q with the execution plan received from the production process optimization device 2 or execution instruction information generated for the use of the person Q, and, as needed, instructs the person Q to perform operations such as blending operations and qualitative aroma assessment according to the execution plan based on the execution instruction information.
[0104] Furthermore, these communication devices 3a, 3b, 3c, and 3d will, as appropriate, send the execution results or evaluation results obtained by the corresponding execution subject when executing according to the execution plan and execution instruction information to the production process optimization device 2 via network 4.
[0105] The calculation and processing unit 7 of the production process optimization device 2 will now be described. The calculation and processing unit 7 includes a template execution program generation unit 15, a variable parameter value setting unit 16, an execution program generation unit 17, a determination unit 18, an execution plan generation unit 19, and an execution instruction information generation unit 20, and generates the template execution program, the execution program, the execution plan, and the execution instruction information, which will be described later.
[0106] Here, the template executor is generated as an executor that has been rewritten to become the starting point of a certain search (hereinafter referred to as the "starting point executor"). Figure 2 This is a schematic diagram illustrating an example of the production process related to a blend of coffee beans A and B, and the structure of the starting point execution procedure related to the evaluation process.
[0107] After the operation unit 10 selects or inputs the production process (e.g., the blending of coffee beans A and B) and the evaluation process (qualitative evaluation of the aroma of the blend) that the manager wishes to optimize, the template execution program generation unit 15 selects the execution program corresponding to these production processes and evaluation processes from multiple execution programs stored in the database 8 as the starting execution program.
[0108] In this case, such as Figure 2 As shown, the template execution program generation unit 15 specifies three operations as production process operations: roasting coffee bean A, roasting coffee bean B, and mixing coffee beans A and B. It also specifies one operation as evaluation process operations: qualitative evaluation of the aroma of the mixture. The program is selected as the starting point for execution.
[0109] The starting execution program specifies the content related to the operation performed in the production process and evaluation process in the operation summary diagrams C1, C2, C3, and C4 for each operation. In the operation summary columns C1, C2, C3, and C4 of the starting execution program in this embodiment, there are, for example, operation items 26a that specify the content of the operation, input items 26b that specify the processing object of the operation, output items 26c that specify the product obtained by the operation, execution parameter items 26d that specify the numerical values associated with the operation, and constraint condition items 26e that specify the constraints related to the operation.
[0110] For example, in the operation summary column C1 for roasting coffee bean A, "Roasting of coffee bean A" is specified in operation item 26a, the processing object "coffee bean A" is specified in input item 26b, the product "coffee bean A (roasted)" is specified in output item 26c, "roasting temperature" and "roasting time" are specified in execution parameter item 26d, and "none" is specified in constraint item 26e.
[0111] Furthermore, in the “baking temperature” section of the execution parameter item 26d, the execution parameter value for the heating temperature used for baking is specified as “172°C”, and in the “baking time” section, the execution parameter value for the baking time at that baking temperature is specified as “1200 sec”.
[0112] The "None" in constraint item 26e indicates that no constraints are specified related to the operation of "roasting coffee beans A". Constraints specify conditions that constrain the operation, such as time constraints, parallel constraints, execution condition constraints, etc., and specify constraints on the operation through time, environment, temperature, humidity, cleanliness, etc.
[0113] As time constraints, there are time constraints that specify the execution time spent by the executing entity when performing the procedure, and time constraints that set time constraints between the operations of the procedure. As execution condition constraints, there are execution condition constraints that specify that the operation of the procedure must be performed within a given range of conditions, such as the constraint that mixing must be done "within 180 seconds after the roasting of coffee beans A".
[0114] In the starting execution procedure of the production process and evaluation process in this embodiment, in addition to the operation summary column C1 related to "roasting coffee bean A" mentioned above, operation summary columns C2 related to "roasting coffee bean B", C3 related to "blending coffee bean A and coffee bean B", and C4 related to "qualitative evaluation of the aroma of the blend" are also specified. It should be noted that in the operation summary column C4 related to "qualitative evaluation of the aroma of the blend", the qualitative evaluation value of the aroma of the blended beans is set as an evaluation result in output item 26c with 5 levels from 1 to 5, with the lowest evaluation result represented by "1" and the highest evaluation result represented by "5".
[0115] The template execution program generation unit 15 selects execution parameter item 26d, whose execution parameter value can be changed in the starting execution program, as a variable parameter item based on the execution performance results of past execution programs stored in the database 8 and the actual performance results. Then, it generates a template execution program to determine the execution parameters to be used in the execution environment 100 to execute the production process and evaluate the process and evaluate the execution results.
[0116] Figure 3 and Figure 4 An example is shown of a structure based on past execution performance results and evaluation results, retrieved from database 8 according to the contents of the operation summary columns C1, C2, C3, and C4 of the starting execution program. The template execution program generation unit 15 compares, for example, multiple execution performance results and evaluation results retrieved from database 8, to determine execution parameter items 26d that can become variable parameter items with changeable execution parameter values. When determining execution parameter items 26d that can become variable parameter items, for example, the trend of changes in the values of execution parameter values in the execution performance results and evaluation results can be used as a benchmark.
[0117] Template Execution Program Generation Unit 15, for example, will Figure 3 The performance results and evaluation results shown are consistent with Figure 4Comparing the actual performance results and evaluation results shown, based on the differences in the execution parameter values in the execution parameter items 26d of "Roasting Temperature" and "Roasting Time" in the operation summary column C2 of "Roasting Coffee Beans B" and the execution parameter item 26d of "Weight of Coffee Beans B" in the operation summary column C3 of "Mixing of Coffee Beans A and Coffee Beans B", and the differences in the evaluation results caused by these differences, it can be inferred that these execution parameter values can be items with variable parameter values (variable parameter items).
[0118] It should be noted that the search range set in past execution programs that yielded the execution results can also be determined in the execution parameter values of the starting execution program, and the common part of the sum set of the past search range can be set as the new search range. In addition, if in multiple execution results, even if the same execution parameter item is changed, and the change range of each evaluation result is still below the specified value, rules such as "this execution parameter item has a small impact on the evaluation result and is therefore not considered a variable parameter item" can be set.
[0119] In this embodiment, for the sake of simplicity, the case where the variable parameter item is determined from the execution parameter items with set values is described. However, it is also possible to select operation items such as operation item 26a, which are not specified by values, such as manufacturing method or heating method, as variable parameter items. That is, in the initial execution program, all operations that can be changed in the execution environment 100 and the conditions related to the operations can become variable parameter items. It should be noted that examples of selecting operation items such as operation item 26a, which are not specified by values, as variable parameter items will be described in detail in other embodiments described later.
[0120] Template Execution Program Generation Unit 15 will Figure 3 The performance results and evaluation results shown are consistent with Figure 4 The execution results and evaluation results are compared, and the range of variable parameter values, i.e., the search range, is set in the variable parameter items. In this case, the template execution program generation unit 15 estimates the range of variable parameter values (hereinafter referred to as the "search range") that will be obtained approximately for the desired aroma qualitative evaluation value based on the differences in the "Qualitative Evaluation Value of Blended Bean Aroma" in the output item 26c of the operation summary column C4 of the evaluation process for the "Qualitative Evaluation of Blended Aroma" in these execution results and evaluation results, as well as the execution parameter values of the execution parameter item 26d, which is a variable parameter item. Figure 5 As shown, a template executable program can be generated with variable parameter items 26g and 26h set and the search range.
[0121] For example, as an example, in Figure 4In the execution results and evaluation results shown, for the "Roasting of Coffee Beans B" operation summary column C2, the "Roasting Temperature" of parameter item 26d is as high as 180℃, and the "Roasting Time" is as long as 650 seconds. Furthermore, for the "Mixing of Coffee Beans A and B" operation summary column C3, the "Weight of Coffee Beans B" of parameter item 26d is as high as 40g. It is speculated that this is the result of achieving higher... Figure 3 The main reason for the "4" in the performance results and evaluation results shown is that, through such feature extraction rules, we can estimate the search range of these variable parameter values for the qualitative evaluation of the aroma.
[0122] In this way, the template execution program generation unit 15, based on the given feature extraction rules and based on more than one past execution performance results and evaluation performance results, infers more than one execution parameter item and its search range that will likely affect the evaluation performance results.
[0123] It should be noted that here, there exists a past execution program consisting of the same operations as the starting execution program. The case where variable parameter items 26g and 26h, and their search ranges are set in the starting execution program based on the execution performance results and evaluation results of this past execution program is explained. The template execution program generation unit 15 also has the function of selecting a past execution program (hereinafter referred to as "associated execution program") associated with the starting execution program (even if the starting execution program consists of operations different from the past execution program), and setting variable parameter items 26g and 26h, and their search ranges in the starting execution program based on the execution performance results and evaluation results of the associated execution program.
[0124] For example, if the starting program includes unknown operations not included in previous programs, the types and values of the execution parameters are generally different. However, the template program generation unit 15 may, for example, compare and analyze the execution results and evaluation results of multiple related programs to infer the execution parameter items that will likely affect the evaluation results through the evaluation process in the starting program and their search range.
[0125] The template execution program generation unit 15 can design a feature quantity transformation function that combines at least one matrix operation and at least one linear or nonlinear transformation between the execution parameter values of the starting execution step and the execution performance results and evaluation performance results of multiple associated execution programs, so that the two correspond. Alternatively, the feature quantity transformation function itself can be modified through successive optimization.
[0126] Here, the so-called "feature transformation function" refers to a function that aims to extract a low-dimensional space effective for the target variable based on past performance and evaluation results, even when the search space used to infer the search range is high-dimensional, but the dimension that actually helps the target variable is low-dimensional. Search efficiency can be improved by searching for variable parameter values in the low-dimensional search space generated by such a feature transformation function.
[0127] Here, for example, as a type of regression model, a machine learning model based on neural networks, etc., can be defined as a combination of at least one matrix operation and at least one linear or nonlinear transformation.
[0128] As an example of designing a feature transformation function by combining at least one matrix operation and at least one linear or nonlinear transformation, the following example can be given. For instance, suppose there is a certain correlation between the roasting temperature and roasting time of coffee beans. When this correlation is satisfied while changing the conditions (roasting temperature and roasting time), a higher evaluation value (the case where the desired evaluation result can be obtained) is achieved. In such a case, the feature transformation function is used to learn the correlation between the roasting time and roasting temperature that result in higher evaluation values. Then, successive optimization is performed in the space specified by the feature transformation function, enabling efficient searching.
[0129] Furthermore, the template execution procedure generation unit 15, by regularizing prior knowledge derived from analysis by managers and others regarding "which factor contributed most to the improvement of the evaluation results in the execution performance and evaluation results of related execution procedures," can efficiently set the variable parameter items and their search range in the starting execution procedure based on the execution performance and evaluation results of related execution procedures. It should be noted that a detailed explanation of setting variable parameter items and their search range based on the execution performance and evaluation results of related execution procedures will be described later.
[0130] Figure 5 An example of a template execution program structure is shown, which sets variable parameter items 26g and 26h in the starting execution program based on the actual execution results and the evaluation results, and sets the search range in the variable parameter items 26g and 26h respectively.
[0131] In this example, based on the actual performance results and evaluation results, the "Roasting Temperature" and "Roasting Time" in the operation summary column C2 for "Roasting Coffee Beans B" are set as variable parameters of 26g. Furthermore, "180℃ < Roasting Temperature < 205℃" is set as the search range for roasting temperature, and "600sec < Roasting Time < 700sec" is set as the search range for roasting time. Additionally, the "Weight of Coffee Beans B" in the operation summary column C3 for "Mixing Coffee Beans A and B" is set as a variable parameter of 26h, and "10g < Weight of Coffee Beans B < 100g" is set as the search range for the weight of Coffee Beans B.
[0132] The template execution program generation unit 15 sends the generated template execution program to the variable parameter value setting unit 16 and the execution program generation unit 17. The variable parameter value setting unit 16 determines, based on past execution performance results and evaluation performance results, what variable parameter values to use to execute the execution program in the execution environment 100 within the search range, and sends multiple variable parameter values selected from the search range to the execution program generation unit 17.
[0133] Here, the variable parameter value setting unit 16 generates multiple variable parameter values, including those within the search range, based on one or more past execution results and evaluation results, following a given procedure (e.g., Bayesian optimization, orthogonal array, Latin hypercube sampling, etc.) within the template execution program. Alternatively, the variable parameter values can be set by projecting the execution results onto the search space representing the search range of the variable parameter items 26g and 26h.
[0134] It should be noted that, in this embodiment, even if the past performance results and evaluation results are not present in database 8, variable parameter values can be set from the search range according to rules prescribed by the manager, such as the orthogonal method.
[0135] In the variable parameter value setting unit 16 of this embodiment, a regression model (response surface) is generated, for example, based on one or more past performance results and evaluation results. Using this regression model, multiple variable parameter values are selected from the search range, for example, through Bayesian optimization, multi-task Bayesian optimization, etc.
[0136] The executable program generation unit 17 writes the variable parameter values selected by the variable parameter value setting unit 16 into the variable parameter items 26g and 26h of the template executable program, generating multiple executable programs with different variable parameter values. In this way, the executable program generation unit 17 generates a list of multiple executable programs with different variable parameter values.
[0137] Figure 6 and Figure 7This example shows two executable programs with different variable parameter values set in variable parameter items 26g and 26h. Figure 6 As an example of the execution procedure, the following is shown: in the operation summary column C2 for "Roasting of Coffee Beans B", the variable parameter item 26g is set to "195℃" as the variable parameter value for "Roasting Temperature", "660sec" as the variable parameter value for "Roasting Time", and in the operation summary column C3 for "Mixing of Coffee Beans A and Coffee Beans B", the variable parameter item 26g is set to "50g" as the variable parameter value for "Weight of Coffee Beans B".
[0138] also, Figure 7 As an example of other execution procedures, an execution procedure is shown in which "205°C" is set as the variable parameter value for "roasting temperature" and "700 sec" is set as the variable parameter value for "roasting time" in the variable parameter item 26g in the operation summary column C2 for "roasting coffee beans B", and "70g" is set as the variable parameter value for "weight of coffee beans B" in the variable parameter item 26g in the operation summary column C3 for "mixing coffee beans A and coffee beans B".
[0139] The program generation unit 17 generates a list of such executable programs and sends the list of executable programs to the execution plan generation unit 19.
[0140] The execution plan generation unit 19 selects executors sequentially from the list of executors and generates an execution plan for each executor. Here, as an example, for instance, based on... Figure 6 The summary of the execution plan generated by the execution program is explained below.
[0141] It should be noted that, for the sake of simplicity, this explanation describes the case where the executable programs are selected sequentially from the list of executable programs and an execution plan is generated for each program. However, it is also possible to generate separate execution plans for multiple execution steps in the list at once, or to generate an execution plan that represents the relationship between the execution status of multiple executable programs.
[0142] The executor, which is prompted with multiple execution plans, can either execute the procedures according to multiple execution plans simultaneously, or select any execution plan from multiple plans sequentially and execute the procedures according to each plan. Ideally, the executor should send the execution results or evaluation results of these procedures to the production process optimization unit 2 as soon as it receives them.
[0143] The production process optimization device 2 prompts the execution entity in the execution environment 100 with an execution plan, and causes the execution entity to execute the execution procedure according to the execution plan. However, when receiving execution results and evaluation results from the execution entity, it is preferable to regenerate the execution procedure that reflects the content of these execution results and evaluation results. The execution plan of the regenerated execution procedure is regenerated each time. Accordingly, it is possible to limit the optimal execution procedure that reflects the actual execution results and evaluation results obtained by the execution entity in the execution environment 100 each time, and to optimize the production process.
[0144] It should be noted that the processing by the production process optimization device 2 when it prompts multiple execution plans to the executing entities and receives execution results and evaluation results from each executing entity will refer to the following: Figure 17B To be described later.
[0145] Execution Plan Generation Department 19 based on Figure 6 The executable program shown generates Figure 8 and Figure 9 The example shown is an abstract syntax tree (t) for an executable program. An abstract syntax tree is a syntax tree that performs syntactic analysis on an executable program, providing a data structure that can analyze the dependencies between various operations specified in the executable program, the objects processed by each operation, the products obtained through each operation, and the constraints associated with each operation.
[0146] As a syntax tree, the executable abstract syntax tree t has a tree-like data structure. This tree-like data structure uses the contents of operation items 26a, input items 26b, output items 26c, execution parameter items 26d, variable parameter items 26g, 26h, and constraint items 26e specified in the operation summary columns C1, C2, C3, and C4 of the executable program as nodes, and connects these nodes with edges to specify the dependencies between operations.
[0147] In this case, the execution plan generation unit 19 can generate individual abstract syntax trees for each of the operation summary columns C1, C2, C3, and C4 of each executable program. Based on the order of operations performed by the executable program, these individual abstract syntax trees are linked together to generate the executable program abstract syntax tree t. This individual abstract syntax tree uses the contents of operation items 26a, input items 26b, output items 26c, execution parameter items 26d, variable parameter items 26g and 26h, and constraint items 26e as nodes, and connects these nodes with edges to define dependencies.
[0148] It should be noted that the details of generating individual abstract syntax trees and the abstract syntax tree t of the executable program, as well as the individual abstract syntax tree generation process and the executable program abstract syntax tree generation process, will be described later.
[0149] Then, the execution plan generation unit 19 generates an extended abstract syntax tree (described later) that associates the execution subjects of each operation in the execution program with the execution program abstract syntax tree t, based on the execution environment information (described later) received from the execution environment 100 via the transceiver unit 11 and the aforementioned execution program abstract syntax tree t.
[0150] An extended abstract syntax tree, as a syntax tree, is a data structure used for parsing an executable program. It can analyze the dependencies between various operations specified in the executable program, the objects processed by the operations, the products obtained by the operations, the constraints related to the operations, and the execution entities that perform the operations in the executable program.
[0151] Here, Figure 10A An example of the structure of the execution environment information E is shown. Figure 10A As shown, the execution environment information E displays information such as the candidates for execution subjects that can actually perform the various operations specified in the execution program in the execution environment 100, the execution time when the execution subject performs the operation, and the non-executable time (usage status) when the execution subject cannot be used for the operation.
[0152] exist Figure 10A The execution environment information E shows that the operation summary column C1 and C2 of the execution program specifies that the "roasting" operation can be performed by roasting machines X and Y, but cannot be performed by human P and Q. It also specifies the execution time when roasting machines X and Y perform "roasting" (1200 seconds for roasting coffee bean A and 660 seconds for roasting coffee bean B).
[0153] It should be noted that the execution environment information E can also specify, for example, the arrival time before reaching the target temperature in the device (here, baking machines X and Y) acting as the execution subject, and the maximum heatable temperature. Furthermore, the execution environment information E can also specify information related to the function and performance of the machine acting as the execution subject, such as the machine's motion accuracy and standby time.
[0154] Furthermore, the execution environment information E specifies that the "mix" operation shown in the operation summary column C3 of the execution program can be performed by human P and Q, but not by baking machines X and Y. It also specifies the execution time when human P and Q perform "mix" (250 seconds when human P performs mixing, and 320 seconds when human Q performs mixing).
[0155] Furthermore, the "Qualitative Aroma Assessment" shown in the Operation Summary section C4 of the execution procedure is specified in the execution environment information E. Figure 10A The operation marked "aroma assessment" can only be performed by person P, and cannot be performed by person Q or baking machines X and Y. Moreover, the execution time for person P to perform "aroma qualitative assessment" is specified (200 seconds).
[0156] The execution environment information E, as a usage status, specifies the unexecutable time for the representative P from 17:00 on January 2, 2020 to 8:00 on January 3, 2020, and specifies the unexecutable time for the representative Q from 17:00 on January 2, 2020 to 9:00 on January 3, 2020, for the representative Q.
[0157] It should be noted that in the execution environment information E of this embodiment, the description specifies the unexecutable time when the execution subject cannot perform the operation, which is a usage condition indicating whether the execution subject can operate. However, the present invention is not limited to this. For example, execution environment information E that specifies the executable time (e.g., from 9:00 to 16:00 on January 2, 2020) as a usage condition indicating whether the execution subject can operate may also be applied. It should be noted that these unexecutable times or executable times are simply referred to as usage conditions.
[0158] In this embodiment, it can also be provided by a given information processing device ( Figure 1 (Not shown in the diagram) In the execution environment 100, individual information of each executing entity (which executing entity can perform which operation, execution time, and usage status) is aggregated to generate execution environment information E. The production process optimization device 2 receives the execution environment information E generated by the information processing device on the execution environment 100 side. Alternatively, each executing entity in the execution environment 100 can send its individual information to the production process optimization device 2 via communication devices 3a, 3b, 3c, and 3d, and the production process optimization device 2 aggregates this individual information to generate execution environment information E.
[0159] The execution plan generation unit 19 determines the execution body nodes (in the abstract syntax tree t) that need to be allocated to the executor. Figure 8 and Figure 9 The operation nodes (marked as "actuator") are processed, and based on the acquired execution environment information E and the executable abstract syntax tree t, without considering constraints, the execution subject nodes ("actuator") of each operation node in the executable abstract syntax tree t are assigned execution subjects as specified by the execution environment information E, such as... Figure 11 As shown, we obtain a set A' that assigns execution subjects to each operation.
[0160] Here, set A' represents the combination pattern of all execution subjects that assign executable operations to the execution subject nodes in the abstract syntax tree t of the execution program, without considering constraints.
[0161] The execution plan generation section 19 makes the execution body nodes in the execution program abstract syntax tree t reflect the result of assigning the execution body to the set A' of operations, generating... Figure 12 , Figure 13 and Figure 14 The extended abstract syntax tree t´ is shown.
[0162] Figure 12 , Figure 13 and Figure 14 An example of an extended abstract syntax tree t´ is shown, which has the following properties: Figure 10A The execution entity of the execution environment information E shown is assigned to Figure 6 The tree-structured data structure of the execution program shown associates a series of operations—from roasting coffee beans A and B to blending and qualitative aroma evaluation—with the execution subject, execution time, and constraints, respectively. The generation of this extended abstract syntax tree t' will be described later. Coffee bean A, the execution subject, the execution time, and the constraints are associated with a series of operations from roasting B to blending and qualitative aroma evaluation, respectively. It should be noted that the generation of this extended abstract syntax tree t' will be described later.
[0163] Then, the execution plan generation unit 19, based on the extended abstract syntax tree t´, such as... Figure 10B The diagram shows a semi-order, indicating which operations can be executed sequentially and which can be executed in parallel. The execution plan generation unit 19 determines the start time of the program execution (here, 8:30 AM on January 2, 2020), and based on the semi-order that allows analysis of parallelism constraints for the operations in the program, assigns start and end times to each element of set A' according to the order in which the operations are executed, thus obtaining... Figure 15 The set A'' is shown.
[0164] It should be noted that in an executable program that can perform multiple operations simultaneously, parallelism constraints define which operations cannot be executed simultaneously and which can. These constraints can be reflected in the extended abstract syntax tree t´ and the semi-order. Furthermore, the parallelism constraints also specify whether the time efficiency of the entire production process can be improved by parallelizing only the mixing operation of coffee beans A and B.
[0165] Here, set A´´ represents a combination of execution start and end times assigned to each operation in the order of execution of the operations executed in the execution program, starting from a given start time (8:30 AM on January 2, 2020) without considering the constraints within the execution program.
[0166] For example, in Figure 15 The set A´´'s "No.1" indicates that for the roasting of "coffee bean A" and "coffee bean B" without parallel constraints, starting from the beginning time, "coffee bean A" is first roasted using "roaster X" until 8:50. After that, the same "roaster X" is used to roast the next "coffee bean B" from 8:50 until 9:01. Then, person P executes the time allocation plan for "mixing" and "qualitative aroma evaluation" in sequence.
[0167] also, Figure 15 The set A´´’s “No.6” represents the time allocation plan for “roasting coffee bean A” and “roasting coffee bean B” without parallel constraints, which simultaneously execute “roasting coffee bean A” of “roasting coffee bean A” and “roasting coffee bean B” of “roasting machine X” and “roasting coffee bean B” of “roasting machine Y” from the start time, and then “mixing” is performed by person Q and “aroma qualitative evaluation” is performed by other person P.
[0168] Thus, without considering the constraints within the execution program, the execution plan generation unit 19 generates all combinations of time allocation plans for operations that can be executed by the execution entity, and these combination patterns can be set as A´´.
[0169] Then, the execution plan generation unit 19 reads the constraints of each operation from the executor, the executor abstract syntax tree t, or the extended abstract syntax tree t´, and extracts all time allocation plans that satisfy the constraints such as execution time specified in the constraints from the set A´´ as candidate plans, thus obtaining a set A´´´ composed of candidate plans.
[0170] Figure 16 An example of a set A''' of combinations satisfying the constraints is shown. For example, in Figure 6 In the execution procedure, in the operation summary section 25c of "Mixing Coffee Beans A and B", the constraint item 26 specifies "within 180 seconds after the roasting of coffee beans A is completed". Therefore, as Figure 16 As shown, the execution plan generation unit 19 extracts “No.2”, “No.4”, “No.5”, “No.7”, “No.10” and “No.12” that satisfy the above constraints as candidate plans, and obtains a set A´´´ composed of these candidate plans.
[0171] Here, in the execution plan generation unit 19, selection criteria are preset by the manager, such as selecting the candidate plan with the earliest execution completion time for the "qualitative evaluation of the aroma of mixed beans," which is the final operation of the execution procedure. Accordingly, the execution plan generation unit 19 selects a candidate plan that meets the selection criteria from set A´´´ as the final execution plan.
[0172] exist Figure 16 In the set A''' shown, since the earliest execution completion time for candidate plans "No.5" and "No.7" is the only one, other criteria for determining merit beyond execution completion time are also set. Therefore, "No.5," with the smaller numerical value of its identifier (No), is selected as the execution plan. It should be noted that "No.5" includes the parallel roasting of coffee beans A and B.
[0173] The execution plan generation unit 19 sends the selected execution plan to the execution instruction information generation unit 20. The execution instruction information generation unit 20, referring to the execution environment information E, generates execution instruction information for each execution entity performing each operation, instructing it to operate according to the execution plan.
[0174] Here, execution instruction information is data that describes the various operations sufficient to enable the executing entity to perform the execution procedure according to the execution plan in the execution environment 100. A typical example includes, in addition to operation manuals that describe the operation to people P and Q and people operating baking machines X and Y in natural language, setting information such as programs that control the actions of baking machines X and Y.
[0175] In this way, the arithmetic processing unit 7 sends the execution plan and execution instruction information generated for each execution program to the transceiver unit 11 based on the list of execution programs, and then sends them to the communication devices 3a, 3b, 3c, and 3d of the corresponding execution subjects via the network 4.
[0176] Communication devices 3a, 3b, 3c, and 3d that receive execution plans and execution instructions will prompt their respective execution subjects, namely human P and Q or baking machines X and Y, with the execution plans and execution instructions, so that they can perform various operations in the execution environment 100.
[0177] As a result, in the production process optimization system 1, each execution entity performs the operation of the execution procedure according to the execution plan and execution instruction information in the execution environment 100. As a result, after obtaining the execution result or evaluation result of the execution procedure, each execution result or evaluation result is sent from the communication devices 3a, 3b, 3c, and 3d to the production process optimization device 2.
[0178] After receiving execution results or evaluation results from the communication devices 3a, 3b, 3c, and 3d of the execution environment 100, the production process optimization device 2 stores the execution program, the variable parameter values set in the execution program, the execution results, and the evaluation results in the database 8 each time, and analyzes these execution results or evaluation results through the determination unit 18 of the calculation processing unit 7.
[0179] At this time, when the replanning determination unit 23 of the determination unit 18 determines that (i) the actual progress of the execution procedure in the execution environment 100 differs from the execution plan and the execution procedure is not executed according to the execution plan, or (ii) it affects the unexecuted part of the execution plan and needs to be changed, the execution plan and execution instruction information are regenerated to ensure that the execution procedure is executed according to the execution plan.
[0180] For example, when roaster X executes the execution procedure according to the execution plan of "roasting coffee beans A by roaster X, and then roasting coffee beans B by the same roaster X", if it receives the execution result that "roaster X needs to spend more than the predetermined time to roast coffee beans A, and the subsequent roasting of coffee beans B by roaster X is delayed", then the determination unit 18 determines that "roaster X did not execute the execution procedure according to the execution plan" and regenerates the execution plan and execution instruction information.
[0181] On the other hand, for example, when roasters X and Y execute the execution plan according to the execution plan of "roasting coffee bean A by roaster X, and then roasting coffee bean B by roaster Y", even if roaster X takes longer than the predetermined time to roast coffee bean A, it will not affect the subsequent roasting of coffee bean B by roaster Y. The roasting and mixing of coffee bean B by roaster Y can be performed according to the execution plan. At this time, even if the determination unit 18 receives the execution result from roaster X that "the roasting of coffee bean A took time and therefore could not be performed according to the execution plan", it can determine that "it will not affect the unexecuted part of the execution plan (roasting, mixing, qualitative evaluation, etc. of coffee bean B performed by roaster Y), and there is no need to change the execution plan".
[0182] In other words, the determination unit 18 does not simply determine whether all executing entities have executed according to the execution plan, but also determines whether "even if some executing entities in the execution environment 100 do not execute according to the execution plan, the operation of those executing entities will not affect the operation of other executing entities, and the other executing entities will perform their operations according to the execution plan, and the execution process will eventually end before the end date and time indicated in the execution plan."
[0183] In this example, even if a part of the execution entity in the execution environment 100 does not execute according to the execution plan, as long as the execution program eventually ends before the end date and time indicated by the execution plan, the decision unit 18 will consider that it can be executed according to the execution plan and determine that there is no need to change the execution plan.
[0184] When the production process optimization device 2 regenerates the execution plan and execution instruction information, it will send the regenerated execution plan and execution instruction information to the communication devices 3a, 3b, 3c, and 3d of their respective execution subjects, prompting the execution plan and execution instruction information to their respective execution subjects, namely, human P, Q or baking machine X, Y, so that they can perform various operations in the execution environment 100.
[0185] Furthermore, when the decision unit 22 receives the execution result or evaluation result from the communication devices 3a, 3b, 3c, and 3d of the execution environment 100, it determines whether to search for a new variable parameter value that reflects the execution result or evaluation result again through the variable parameter value setting unit 16, based on whether a continuation order has been received from the manager via the operation unit 10, whether the evaluation result is the expected evaluation result, whether the prescribed number of evaluation results has been obtained, and the execution result or evaluation result received from the communication devices 3a, 3b, 3c, and 3d of the execution environment 100.
[0186] When the decision unit 22 receives a continue command from the administrator, for example, via the operation unit 10, the variable parameter value setting unit 16 regenerates a regression model (response surface) that includes the newly obtained execution results and evaluation results. Accordingly, the calculation processing unit 7 uses the regression model through the variable parameter value setting unit 16 to reselect multiple variable parameter values from the search range through Bayesian optimization, multi-task Bayesian optimization, etc., and generates a list of multiple execution programs with different or the same variable parameter values through the execution program generation unit 17.
[0187] It should be noted that although the execution program generation unit 17 causes the execution entity of the execution environment 100 to execute the same program multiple times when generating a list of execution programs with the same variable parameter values, it is effective from the viewpoint of verifying the authenticity of the execution program and verifying whether the same evaluation results are obtained. More specifically, when the noise of the execution results or evaluation results of the foreseeable production process is large (even if the evaluation result obtained by the given variable parameter value exceeds the past maximum value by 5%, it is not clear whether this is caused by noise or a real improvement in a single observation), statistical measures such as standard deviation or average can be obtained to perform a more accurate evaluation.
[0188] In this way, the production process optimization device 2 regenerates the execution plan and execution instructions corresponding to the regenerated execution program, and sends these to the communication devices 3a, 3b, 3c, and 3d of the execution subjects in the execution environment 100. In the execution environment 100, the execution plan and execution instructions are prompted to the corresponding execution subjects, namely human P and Q and baking machine X and Y, so that the execution subjects can perform various operations in the execution environment 100.
[0189] In this way, the production process optimization system 1 repeatedly performs the following steps: generating execution plans and execution instructions, prompting the execution subject with execution plans and execution instructions, obtaining execution results and evaluation results from the execution subject based on these, and setting new variable parameter values that reflect the obtained execution results and evaluation results.
[0190] Accordingly, the production process optimization system 1 can search for the best variable parameter value or execution plan that can obtain the greatest possible gain while reflecting the execution results and evaluation results of the actual production process executed by the executing entity in the execution environment 100, and can seek the best production process with greater gain.
[0191] Then, use Figure 17A The flowchart below provides an overview of the aforementioned production process optimization method. It should be noted that in the production process optimization system 1, it is preferable to present multiple execution plans and execution instructions generated for each listed execution program to each execution entity, and to execute multiple different execution programs simultaneously in the execution environment 100. However, it is also possible to receive execution results and evaluation results for each different execution program each time. Regarding this situation, [the following will be used]... Figure 17B This will be explained later. Figure 17A In the flowchart, for the sake of simplicity, the following explanation focuses on the processing of an executable program.
[0192] Figure 17A Flowchart as follows Figure 17A As shown, the production process optimization device 2 begins the production process optimization process from the start step. In subroutine SR1, a template execution program is generated. In the next subroutine SR2, the production process optimization device 2 performs variable parameter value setting processing, selecting multiple variable parameter values from the search range of variable parameter items 26g and 26h specified in the template execution program.
[0193] In the next step S3, the production process optimization device 2 generates a list of multiple execution programs with different or the same variable parameter values for variable parameter items 26g and 26h. In the next subroutine SR4, the production process optimization device 2 performs execution plan generation processing, generating an execution plan for each execution program generated in step S3. In the next subroutine SR5, the production process optimization device 2 performs execution instruction information generation processing, generating execution instruction information for the execution plans generated in subroutine SR4.
[0194] In the next step S6, the production process optimization device 2 sends the execution plan and execution instruction information generated for each execution program in the list to the corresponding execution entity within the execution plan. Accordingly, in the production process optimization system 1, within the execution environment 100, each execution entity performs the execution program operation according to the execution plan and execution instruction information.
[0195] In the next step S7, the production process optimization device 2 receives the execution result 21 and evaluation result obtained in the execution environment 100 through the transceiver unit 11. In the next step S8, the execution program executed by the execution subject in the execution environment 100 according to the execution plan and execution instruction information, the variable parameter values at this time, the execution result obtained from the execution environment 100, and the evaluation result obtained from the execution environment 100 are stored in the database 8.
[0196] In the next step S9, the production process optimization device 2 determines whether the execution procedure was executed according to the execution plan provided to the execution subject based on the execution results or evaluation results. Here, if the execution procedure was not executed according to the execution plan provided to the execution subject (No), the production process optimization device 2 analyzes the unexecuted part of the execution plan in step S10 and generates an execution plan that can be executed in the execution environment 100 through the execution plan generation process.
[0197] In addition, in the next step S11, the production process optimization device 2 generates execution instruction information for the regenerated execution plan, and in the next step S12, sends the regenerated execution plan and execution instruction information to the corresponding execution subject within the execution plan.
[0198] On the other hand, in step S9 above, when the execution program executes the execution plan given to the execution subject according to the prompt (Yes), the production process optimization device 2 reacts to the execution results and evaluation results obtained from the execution subject of the execution environment 100 in the next step S13, and determines whether to search for the optimal variable parameter value again from the search range of the template execution program.
[0199] For example, when a manager who has confirmed the execution results and evaluation results obtained from the execution entity of the execution environment 100 receives a command to continue searching for variable parameter values via the operation unit 10, or is set to search for variable parameter values until a pre-set evaluation result is obtained for the evaluation results obtained from the execution entity of the execution environment 100, or is set to search for variable parameter values a specified number of times after obtaining the execution results and evaluation results from the execution entity of the execution environment 100, the optimal variable parameter value is searched again from the search range of the template execution program (Yes).
[0200] In this case, the production process optimization device 2 returns to subroutine SR2 and repeats the above process until a negative result (No) is obtained in step S13. On the other hand, in step S13, when the production process optimization device 2 determines that "the optimal variable parameter value will not be searched again from the search range of the template execution program", the above production process optimization process ends.
[0201] Here, Figure 17A In the flowchart, for the sake of simplicity, focusing on one execution procedure, the explanation seems to suggest that the production process optimization process would end once the best execution result and evaluation result are obtained. Therefore, the following uses... Figure 17B The process optimization device 2 describes a summary of how it processes multiple execution plans and execution instructions to the execution entities, and how it receives execution results and evaluation results from each execution entity.
[0202] exist Figure 17B In the example shown, for instance, it is assumed that the execution entities in execution environment 100 are roasters 1 and 2, and people A and B, focusing on the production process prior to the roasting and blending of coffee beans. Furthermore, an example is shown where four execution procedures 0, 1, 2, and 3 are provided as execution procedures for the production process. Thus, in the production process optimization system 1, it is preferable to provide multiple different execution procedures to each execution entity via execution plans and execution instruction information, and to execute these multiple different execution procedures in parallel within execution environment 100.
[0203] Here, it is assumed that baking and mixing have been completed in execution program 0, and the optimal execution result has been obtained. On the other hand, it is assumed that baking failed or was delayed in execution program 2, resulting in the execution result of "operation not yet executed (mixing)". It is assumed that execution program 2 is "not executed" and execution program 3 is "in progress", neither of which has yielded an execution result.
[0204] At this time, as Figure 17BAs shown, the production process optimization device 2 may receive the execution result of other execution programs 2 after receiving the execution result of execution program 0, such as "baking failed or delayed, there is an unexecuted operation (mixing)".
[0205] In this scenario, within the process optimization device 2, the execution result of the optimal execution program 0 is stored in the database 8 for use in generating subsequent regression models. Furthermore, even after execution program 0 receives the optimal execution result, the process optimization process in the process optimization device 2 does not immediately terminate. Instead, the execution result of the subsequent non-optimal execution program 1 is also stored in the database 8. This non-optimal execution result can also be fully utilized as reference data for future execution programs.
[0206] Thus, in the production process optimization system 1, the optimization is not only focused on the end of the production process optimization process by executing one program 0, but also on obtaining the execution results or evaluation results of other programs 1, 2, and 3 as needed and accumulating them in the database 8, and ending the production process optimization process based on the judgment of managers, etc.
[0207] (1-2) Template Execution Program Generation Processing
[0208] (1-2-1) Structure of the template execution program generation unit
[0209] The following section explains the template executor generation process described above. Figure 18 This is a block diagram showing the structure of the template executor generation unit 15. For example... Figure 18 As shown, the template execution program generation unit 15 includes: a starting point execution program acquisition unit 1501, an execution performance result / evaluation performance result acquisition unit 1502, an associated execution program analysis unit 1503, a variable parameter item determination unit 1504, a search range setting unit 1505, a template execution program output unit 1506, and a constraint setting unit 1507.
[0210] Here, the starting point execution program acquisition unit 1501, based on the production process and evaluation process information input via the operation unit 10, such as "roasting and blending of two types of coffee beans," "coffee beans A and B," "roasting," and "aroma qualitative evaluation," retrieves information from the database 8. Figure 2 The starting program that is shown and has the same content (e.g., the object being processed, the product, the operation, etc.) serves as the starting point for optimization.
[0211] The performance result acquisition unit 1502 obtains performance results based on the production process and evaluation process information input via the operation unit 10, and the operation summary column of the starting execution procedure, such as... Figure 3 and Figure 4As shown, when there is no execution performance result and evaluation performance result of the same execution program as the starting execution program in database 8, or when there is no execution performance result and evaluation performance result of the same execution program as the starting execution program, the execution performance result and evaluation performance result of the execution program (associated execution program) associated with the starting execution program are obtained from database 8.
[0212] It should be noted that here, the execution results and evaluation results obtained from database 8 that are the same as the production process and evaluation process input via operation unit 10, and the operation summary column in the starting execution program are explained. For example, execution results and evaluation results that are similar to the input production process and evaluation process, and execution results and evaluation results that are similar to the operation summary column in the starting execution program can also be obtained from database 8.
[0213] Here, similarity refers to the ability to determine similarity based, for example, on the operations and their order within the production and evaluation processes (hereinafter collectively referred to as "processes"), and the names or characteristic values of the operations that become the inputs and outputs of the processes. If it is the operations and their order, it is preferable to compare normalized intermediate representations. Specifically, for example, the distance between the abstract syntax trees of the processes can be calculated. Furthermore, a tree automaton is created based on the abstract syntax tree of a process, accepting abstract syntax trees representing similar processes and determining whether they are accepted. When comparing the inputs and outputs of processes, if it is simply coffee beans, it is preferable to compare the distance between names or the characteristic values of the green beans' component content, moisture content, origin, genome sequence, etc.
[0214] By pre-defining such a similarity definition in the performance result / evaluation result acquisition unit 1502, it is possible to obtain performance results and evaluation results that are similar to the content of the input production process and evaluation process, and performance results and evaluation results that are similar to the content of the operation summary column in the starting execution program, from the database 8.
[0215] When the associated execution program analysis unit 1503 finds that the execution performance results and evaluation performance results of an execution program identical to the starting execution program do not exist in database 8, and reads the execution performance results and evaluation performance results of an execution program associated with the starting execution program (associated execution program) from database 8, it analyzes the execution performance results and evaluation performance results of the associated execution program in order to determine the variable parameter items and their search range from the starting execution program. It should be noted that the process of analyzing the execution performance results and evaluation performance results of the associated execution program to determine the variable parameter items and their search range from the starting execution program will be described later.
[0216] The variable parameter item determination unit 1504 determines, based on the execution performance results and evaluation performance results, execution parameter items 26d, etc., from the starting execution program that can be set with variable parameter items 26g and 26h, and sets the search range for variable parameter values for these variable parameter items 26g and 26h. The search range setting unit 1505 determines the search range set by the variable parameter items 26g and 26h based on the execution performance results and evaluation performance results, and sets the range.
[0217] It should be noted that the settings and search range of the variable parameters 26g and 26h can also be set by the administrator via the operation unit 10.
[0218] Furthermore, the search range set in the variable parameter items 26g and 26h may, for example, (i) represent a search range that further expands the range of the specified area based on the range of variable parameter values determined by the calculation processing unit 7 or the manager, or (ii) represent a search range that further narrows the range of the specified area based on the range of variable parameter values determined by the calculation processing unit 7 or the manager to the minimum variable prediction range that is considered promising (e.g., the range determined from the manager's past rules of experience, insights, constraints, etc.).
[0219] The search range setting unit 1505 can, for example, optimize variable parameter values on an actual production line while ensuring a certain quality or output. It can also perform reverse calculations based on the allowable deviations in quality and output to narrow the search range of variable parameter items, or narrow the search range by optimizing the cumulative value of a series of evaluation results.
[0220] The template execution program output unit 1506 sets the search range obtained by the search range setting unit in the starting point execution program, generates the template execution program based on the starting point execution program, and outputs the template execution program. The constraint setting unit 1507 adds new constraints or modifies the constraints in the constraint item 26e of the template execution program as needed.
[0221] (1-2-2) When there are no execution performance results and evaluation performance results of the same execution procedure as the starting point execution procedure.
[0222] Here, regarding the case where there are no execution performance results and evaluation performance results for the same execution program as the starting execution program in database 8, the execution performance results and evaluation performance results of the associated execution programs are analyzed, and the variable parameter items or their search range are determined from the starting execution program. Figures 19 to 27 The following explanation is provided.
[0223] Figure 19This is a schematic diagram illustrating an example of a production process that specifies the mixing of coffee beans A and B to produce blended beans, as well as an evaluation process that involves extracting the blended bean extract from the obtained blended beans and performing qualitative and quantitative taste evaluations.
[0224] In this case, for example, the terms "roasting of coffee bean A", "roasting of coffee bean B", and "blending of coffee beans A and B" that the manager wants to optimize are input through the operation unit 10. Then, the terms "extraction of blended bean extract", "qualitative taste evaluation", and "quantitative taste evaluation" that the evaluation process is determined are input through the operation unit 10. Based on these terms, the starting point execution program acquisition unit 1501 searches the database 8 for execution programs of the same production process and evaluation process and acquires them as the starting point execution program.
[0225] It should be noted that, for the sake of simplicity, this description focuses on the scenario where the administrator searches database 8 for executable programs containing the same terms as the specified executable program, but the invention is not limited to this. For example, in addition to the terms themselves, the starting program can also be obtained from database 8 based on the type represented by the term (e.g., operation, input, output, constraint, etc.), the procedure of the operation, the order of use of the processing objects before the operation, the order of appearance of the products obtained by the operation, the structure of the intermediate representation (e.g., abstract syntax tree), and the pre-defined similarity between them.
[0226] Figure 19 An example of the structure of the starting point execution program searched from database 8 is shown. Figure 19 As shown, the starting point execution procedure specifies the details related to the operation performed in the production and evaluation processes in the operation summary columns C6, C7, C8, C9, C10, and C11 for each operation. The operation summary columns C1, C2, C3, and C4 of this starting point execution procedure are also as described above. Figure 2 The starting execution program also has, for example, an operation item 26a that specifies the content of the operation, an input item 26b that specifies the processing object of the operation, an output item 26c that specifies the product obtained by the operation, an execution parameter item 26d that specifies the numerical value associated with the operation, and a constraint condition item 26e that specifies the constraint conditions related to the operation.
[0227] Then, the execution performance result / evaluation performance result acquisition unit 1502 searches the database 8 to see if there are execution performance results and evaluation performance results of the same execution program as the starting execution program. If there are no execution performance results and evaluation performance results of the same execution program as the starting execution program in the database 8, the execution performance results and evaluation performance results of the execution program (associated execution program) associated with the starting execution program are obtained from the database 8.
[0228] In this case, the execution performance result / evaluation performance result acquisition unit 1502, based on, for example, terms such as "roasting of coffee bean A", "roasting of coffee bean B", "roasting", "mixing of coffee beans A and B", and "mixing" specified in the production process of the starting execution procedure, and terms such as "extraction of extract", "qualitative evaluation of taste", and "quantitative evaluation of taste" specified in the evaluation process, determines the execution procedure containing these terms from the execution procedures stored in the database 8, uses the determined execution procedure as the associated execution procedure, and obtains the execution performance result and evaluation performance result of the associated execution procedure from the database 8.
[0229] Here, Figure 20 , Figure 21 and Figure 22 An example of the execution performance results of the associated execution procedure and the structure of the evaluation process is shown. Furthermore, Figure 23 These were shown Figure 20 , Figure 21 and Figure 22 The evaluation results of the associated execution procedures (execution procedures A, B, and Z) are shown.
[0230] Although Figure 20 The associated execution procedure (execution procedure A) shown does not contain the operation summary column C7 for "Roasting of Coffee Beans B" and the operation summary column C8 for "Mixing of Coffee Beans A and B" from the starting execution procedure. However, the operation summary columns C6, C12, C13, and C14 contain the terms "Roasting of Coffee Beans A," "Extraction of Extract," "Qualitative Taste Evaluation," and "Quantitative Taste Evaluation" from the starting execution procedure. Based on this, the execution performance result / evaluation performance result acquisition unit 1502 will... Figure 20 The associated execution program and Figure 23 The evaluation results of the execution procedure A shown are obtained as the execution results and evaluation results of the associated execution procedures.
[0231] In addition, although Figure 21The associated execution procedure (execution procedure B) shown does not contain the operation summary column C6 for "Roasting of Coffee Beans A" and the operation summary column C8 for "Mixing of Coffee Beans A and B" from the starting execution procedure. However, the operation summary columns C7, C16, C17, and C18 contain the terms "Roasting of Coffee Beans B," "Extraction of Extract," "Qualitative Taste Evaluation," and "Quantitative Taste Evaluation" from the starting execution procedure. Based on this, the execution performance result / evaluation performance result acquisition unit 1502 will... Figure 21 The performance results shown are as follows Figure 23 The evaluation results of the execution procedure B shown are obtained as the execution results and evaluation results of the associated execution procedure.
[0232] Moreover, although Figure 22 The associated execution procedure (execution procedure Z) shown does not include the operation summary columns C6 for "Roasting of Coffee Bean A", C7 for "Roasting of Coffee Bean B", and C8 for "Mixing of Coffee Beans A and B" of the starting execution procedure. However, it does contain the terms "Roasting", "Extraction of Extract", "Qualitative Taste Evaluation", and "Quantitative Taste Evaluation" from the starting execution procedure in operation summary columns C19, C20, C21, and C22. Based on this, the execution result / evaluation result acquisition unit 1502 will... Figure 22 The performance results shown are as follows Figure 23 The evaluation results of the execution procedure Z shown are obtained as the execution results and evaluation results of the associated execution procedures.
[0233] The associated execution program analysis unit 1503 will... Figure 20 , Figure 21 and Figure 22 The execution results shown in the operation summary columns C6, C7, and C19 of the associated execution procedure are consistent with the content of the execution performance results. Figure 23 The contents of each evaluation result are compared, and the correlation or dependence between the contents of the execution results obtained in the production process (such as changes in the values of execution parameters) and the contents of the evaluation results obtained in the evaluation process is analyzed to infer the execution parameters of the production process that affect the evaluation results.
[0234] The following assumptions can be made, for example, because as Figure 23 The value of the "qualitative evaluation result" of the evaluation results of the "execution procedure Z" shown is the highest value "5". Therefore, the associated execution procedure analysis unit 1503 of this embodiment can simply search for baking conditions and mixing ratios that can produce results close to the values of the "quantitative evaluation results" ([bitterness, sourness, deliciousness] = [7, 6, 7]) of the evaluation results of the same "execution procedure Z".
[0235] The associated execution procedure analysis unit 1503 analyzed the contents of the "quantitative evaluation results" of execution procedures A and B, and obtained the analysis results that the bitterness of "execution procedure A" is "9", which is higher than the "7" of "execution procedure Z", and the "sourness" of "execution procedure A" is "3", which is lower than the "6" of "execution procedure Z".
[0236] Furthermore, the correlation execution procedure analysis unit 1503 obtained the analysis result that the bitterness of "execution procedure B" is "4", which is lower than the "6" of "execution procedure Z", and the sourness of "execution procedure B" is "8", which is higher than the "6" of "execution procedure Z". In addition, the correlation execution procedure analysis unit 1503 obtained the analysis result that execution procedure Z exists near the line connecting execution procedure A and execution procedure B in the quantitative evaluation results.
[0237] Based on this, the associated execution process analysis unit 1503 obtained the analysis result that as long as coffee beans A (roasted) produced by "execution process A" and coffee beans B (roasted) produced by "execution process B" are mixed in an appropriate ratio, it is highly likely that a mixture with a similar taste to coffee beans Z (roasted) obtained by "execution process Z" will be produced.
[0238] The associated execution procedure analysis unit 1503 sends the analysis results to the variable parameter item determination unit 1504. The variable parameter item determination unit 1504, based on the analysis results received from the associated execution procedure analysis unit 1503, the execution performance results of the associated execution procedure, and the evaluation performance results, such as... Figure 24 As shown, the "weight of coffee bean A" in the operation summary column C8 of the "mixing of coffee bean A and coffee bean B" program at the starting point is set to the variable parameter item 26j.
[0239] The variable parameter item determination unit 1504, based on the analysis results from the associated execution program analysis unit 1503, the execution performance results and evaluation performance results of the associated execution program, and setting "weight of coffee bean A" in the operation summary column C8 as the starting point execution program for variable parameter item 26j, estimates the search range of variable parameter item 26j, for example, setting it to "4g < weight of coffee bean A < 101g". Based on this, the template execution program output unit 1506 outputs... Figure 24 The template execution program is shown.
[0240] It should be noted that, Figure 25 and Figure 26 It shows the basis Figure 24 This is an example of the structure of an executable program generated by a template executor. In the arithmetic processing unit 7, the variable parameter value setting unit 16 receives data from the template executor generation unit 15. Figure 24After the template execution program is shown, the variable parameter value setting unit 16 performs variable parameter value setting processing, selects multiple variable parameter values (in this example, "100g" or "70g") from the search range of variable parameter item 26j, and generates a list of multiple execution programs with each variable parameter value set by the execution program generation unit 17.
[0241] (1-2-3) Flowchart of the template execution program handler
[0242] Next, use Figure 27 The flowchart below illustrates the template execution process described above. Figure 27 As shown, the production process optimization device 2 starts the template execution program generation process from the beginning step. In the next step S201, the manager inputs the production process to be optimized and the evaluation process.
[0243] In the next step S202, the template execution program generation unit 15 retrieves the starting point execution program from the database 8 as the starting point for the search, based on the production process and the evaluation process.
[0244] It should be noted that, for the sake of simplicity, the description here focuses on the scenario where a starting program is obtained from database 8, but the present invention is not limited to this. For example, even if a starting program is not found in database 8, and cannot be obtained from database 8, the starting program can be re-compiled in the template program generation unit 15, and this new starting program can be obtained. Regarding the compilation of a new starting program, it can be obtained either by the manager compiling it via the operation unit 10, or by the template program generation unit 15 automatically compiling a general starting program based on trends such as the operation name or device name input by the manager, using the given production process and evaluation process as a template.
[0245] In the next step S203, the template executor generation unit 15 determines whether the database 8 contains past execution performance results and evaluation performance results of an executor identical to the starting executor. Here, when the template executor generation unit 15 determines that "the database 8 contains execution performance results and evaluation performance results of an executor identical to the starting executor (YES)," in the next step S204, it retrieves the execution performance results and evaluation performance results of the executor identical to the starting executor from the database 8.
[0246] In the next step S205, the template execution program generation unit 15 determines the variable parameter items whose variable parameter values can be set in the starting point execution program based on the past execution performance results and evaluation performance results obtained in step S204.
[0247] It should be noted that the setting of such variable parameter items can also be checked by the administrator from the starting point execution program. The administrator can set the given item as a variable parameter item by inputting the selection command through the operation unit 10.
[0248] In the next step S206, the template execution program generation unit 15, based on the past execution performance results and evaluation performance results obtained in step S204, infers the search range that can be set in the variable parameter item, and sets the inferred given search range in the variable parameter item. In the next step S210, the template execution program generation unit 15 outputs the template execution program with the search range set to the variable parameter item, and ends the above-described template execution program generation process.
[0249] It should be noted that the search range setting for such variable parameter items can also be determined by the administrator by examining the range of variable parameter values and setting the search range by inputting commands through the operation unit 10.
[0250] On the other hand, in step S203 above, when the template execution program generation unit 15 determines that "there is no execution performance result and evaluation performance result (NO) of the same execution program as the starting execution program in the database 8", in the next step S207, it obtains the execution performance result and evaluation performance result of the associated execution program related to the starting execution program from the database 8 according to the input production process and evaluation process.
[0251] In the next step S208, the template execution program generation unit 15 compares the execution performance results and evaluation performance results of multiple related execution programs, and infers the execution parameter items that affect the evaluation performance results from the starting execution program.
[0252] In the next step S209, the template execution program generation unit 15 treats execution parameter items that affect the evaluation results as variable parameter items, and, based on the execution results and evaluation results of the associated execution program, infers the search range that can be set in the variable parameter item. Then, the template execution program generation unit 15 sets the inferred search range in the variable parameter item. In the next step S210, the template execution program generation unit 15 outputs the template execution program with the search range set in the variable parameter item, and ends the above template execution program generation process.
[0253] (1-3) Variable parameter value setting process
[0254] The procedure for setting the variable parameter values described above will be explained below. Figure 28 This is a block diagram showing the structure of the variable parameter value setting unit 16. (Example) Figure 28As shown, the variable parameter value setting unit 16 includes a variable parameter value analysis unit 1601 and a variable parameter value selection unit 1602. The variable parameter value analysis unit 1601, for example, obtains execution performance results and evaluation performance results that are the same as or related to the starting execution program from the database 8, and analyzes the variable parameter values that affect the evaluation performance results from the search range by applying regression models or the like to these execution performance results and evaluation performance results.
[0255] As a regression model, various regression models applicable to linear or nonlinear transformations can be used. For example, principal component analysis (PCA) can be used, where the execution parameter values of the corresponding parts of the variable parameter items with a defined search range in the template execution procedure and the evaluation results are used as explanatory variables, and the evaluation results are used as the target variable. Alternatively, partial least squares (PLS), multinomial regression, Gaussian process regression, and RandomForest Regression can be used, where the execution parameter values of the corresponding parts of the variable parameter items with a defined search range in the template execution procedure and the evaluation results are used as explanatory variables, and the evaluation results are used as the target variable. Furthermore, machine learning models generated by performing machine learning on the execution results and evaluation results can also be used as regression models.
[0256] As a machine learning model, it can be applied, for example, to a neural network defined by combining at least one matrix operation and at least one linear or nonlinear transformation. There are two types of training when training a machine learning model: supervised training and unsupervised training. In supervised training of an untrained machine learning model, the execution performance result, the evaluation performance result, and correct answer labels indicating whether the evaluation performance result is the desired result (e.g., the accuracy indicating whether it is the desired evaluation performance result) are used. Correct answer labels are added during training of both the execution performance result and the evaluation performance result.
[0257] When training an unsupervised machine learning model, the patterns and characteristics of the training execution results and evaluation results are obtained by using the execution results and evaluation results.
[0258] In the variable parameter value analysis unit 1601, the variable parameter value setting unit 16 obtains a prediction result (e.g., accuracy when supervised, and evaluation result when unsupervised) by inputting arbitrarily selected variable parameter values into a trained machine learning model. In the variable parameter value selection unit 1602, the variable parameter value is selected based on the prediction result.
[0259] It should be noted that, for such a regression model, the execution results and evaluation results received from the execution environment 100 are preferably used as explanatory variables, target variables, training data, etc., and are added each time. Based on this, a regression model reflecting the latest data of the execution program executed in the execution environment 100 can be generated, which can further optimize the production process.
[0260] The variable parameter value selection unit 1602 selects a predetermined number of variable parameter values from the search range of variable parameter items according to the analysis results of the variable parameter value analysis unit 1601, such as Bayesian optimization, orthogonal array, or Latin hypercube sampling.
[0261] Specifically, for example, the variable parameter value selection unit 1602 selects variable parameter values using a regression model generated by the variable parameter value analysis unit 1601 based on past performance results and evaluation results. As a method for selecting variable parameter values using a regression model, besides defining a function in the search space based on the regression model and selecting an algorithm by optimizing that function, it is also possible to replace some or all of the generated variable parameter values through the manager's judgment.
[0262] The functions defined above based on the regression model in the search space are functions that quantitatively define, for example, how much improvement and information can be obtained by generating variable parameter values at which point in the search space (e.g., UpperConfidence Bound, Expected Improvement, parallel Knowledge Gradient, Mutual Information, etc.). By optimizing these functions according to a given procedure (e.g., maximizing, minimizing, weighted sampling, etc.), a list of a specified number of variable parameter values can be obtained.
[0263] When there are multiple variable parameter values, and it is necessary to assign them priority, in addition to determining the priority in the algorithm based on a properly determined given benchmark (e.g., in addition to classifying based on the values of the functions mentioned above, in the case of generating variable parameter values sequentially through methods such as Local Penalization, assigning priority in ascending order according to the generation order of the variable parameter values, etc.), the priority can also be arbitrarily assigned based on the manager's judgment.
[0264] It should be noted that the variable parameter setting unit 16 has the function of changing or limiting the search range based on the attribute value reflecting the variable parameter value (for example, if it is the concentration of a substance in the solution, the flow rate, etc., then when the variable parameter value is multiplied by log, the change of the target variable tends to be similar to the change of the explanatory variable, and the contribution becomes more obvious, etc., therefore, for example, the value of the variable parameter value multiplied by log). The variable parameter value can also be inferred from the changed or limited search range. For example, if it is known that a certain variable parameter value changes logarithmically relative to the evaluation value, the corresponding case also includes performing a logarithmic transformation on the variable parameter value.
[0265] Furthermore, when optimizing on an actual production line while ensuring a certain quality or output, the variable parameter setting unit 16 can also perform reverse calculations based on the allowable deviations in quality and production volume, narrowing the range of variable parameter values from the search range, or selecting variable parameter values from the search range that are the cumulative values of a series of evaluation results.
[0266] For example, if using Figure 29 If the flowchart above describes the variable parameter value setting process, then the variable parameter value setting unit 16 starts the variable parameter value setting process from the start step. In the next step S301, for example, a regression model related to the search range is generated based on past performance results and evaluation results.
[0267] In the next step S302, the variable parameter value setting unit 16 selects multiple variable parameter values from the search range based on the regression model in the variable parameter items for which the search range is set, and ends the variable parameter value setting process.
[0268] (1-4) Execution plan generation and processing
[0269] (1-4-1) Overview of Execution Plan Generation Process
[0270] The following is an explanation of the above execution plan generation process. Figure 30 This is a block diagram showing the structure of the execution plan generation unit 19. Furthermore, Figure 31 This is a flowchart illustrating the execution plan generation process. It should be noted that here, the generation... Figure 6 The following explanation illustrates an example of an execution plan for a given program.
[0271] like Figure 30 As shown, the execution plan generation unit 19 includes: an individual abstract syntax tree generation unit 1901, an executable program abstract syntax tree generation unit 1902, an extended abstract syntax tree generation unit 1903, an execution environment information acquisition unit 1904, a semi-order generation unit 1905, a candidate plan generation unit 1906, and an execution plan selection unit 1907.
[0272] In this case, such as Figure 31 As shown, the execution plan generation unit 19 begins executing the plan generation processing procedure from the start step, and then proceeds to the next subroutine SR41 and step S404. In subroutine SR41, the execution plan generation unit 19 performs individual abstract syntax tree generation processing (described later) through the individual abstract syntax tree generation unit 1901, as follows... Figure 6 As shown, an individual abstract syntax tree is generated for each operation specified in the operation summary columns C1, C2, C3, and C4 within the executable program.
[0273] Here, Figure 32 This demonstrates the process of generating individual abstract syntax trees from... Figure 6 The structure of the individual abstract syntax tree generated by the "Roasting of Coffee Beans A" operation summary column C1 of the execution program shown. Figure 33 This demonstrates the process of generating individual abstract syntax trees from... Figure 6 The structure of the individual abstract syntax tree generated by the "Roasting of Coffee Beans B" operation summary column C2 of the execution program is shown.
[0274] Figure 34 This demonstrates the process of generating individual abstract syntax trees from... Figure 6 The structure of the individual abstract syntax tree generated by the "mixing of coffee beans A and coffee beans B" operation summary column C3 of the execution program shown. Figure 35 This demonstrates the process of generating individual abstract syntax trees from... Figure 6 The structure of the individual abstract syntax tree generated by the "Qualitative Evaluation of Aroma of Mixed Beans" operation summary column C1 of the execution program is shown.
[0275] On the other hand, in step S404, the execution plan generation unit 19 obtains information from, for example, the database 8 or the execution environment 100 through the execution environment information acquisition unit 1904. Figure 10A The execution environment information E is shown.
[0276] In subroutine SR42, execution plan generation unit 19 performs executable abstract syntax tree generation processing (described later) through executable abstract syntax tree generation unit 1902, merging the multiple individual abstract syntax trees generated in subroutine SR41 to generate an executable abstract syntax tree. Figure 8 and Figure 9 The example shown is the executable abstract syntax tree t. It should be noted that if there is only one abstract syntax tree for a particular program, then that individual abstract syntax tree is treated as the executable abstract syntax tree.
[0277] In the next subroutine SR43, the execution plan generation unit 19 performs extended abstract syntax tree (EPS) generation processing through the extended abstract syntax tree (EPS) generation unit 1903 (described later). Figure 8 and Figure 9 The execution abstract syntax tree t shown reflects the content of the execution environment information E shown in Figure 10, and generates... Figure 12 , Figure 13 and Figure 14 The extended abstract syntax tree t´ is shown.
[0278] In the next step S405, the execution plan generation unit 19 generates the extended abstract syntax tree t´ from the semi-order generation unit 1905. Figure 10B The semi-order shown. In the next step S406, the execution plan generation unit 19 determines the start time of the execution program (e.g., 8:30 AM on January 2, 2020) through the candidate plan generation unit 1906. Based on the semi-order and execution environment information E, it generates a set A´´ of multiple time allocation plans, in which the execution start time and execution end time of each operation are assigned to the execution subject according to the order of execution operations. Figure 15 ).
[0279] Furthermore, the execution plan generation unit 19, through the candidate plan generation unit 1906, selects candidate plans from multiple time allocation plans that satisfy the constraints specified in the execution procedure, etc., and generates a set A''' ( Figure 16 ).
[0280] In the next step S408, the execution plan generation unit 19 selects an execution plan from multiple candidate plans by the execution plan selection unit 1907 according to pre-set selection conditions such as "selecting the candidate plan with the earliest execution end time for 'qualitative evaluation of the aroma of mixed beans' as the final operation of the execution procedure", and ends the execution plan generation process.
[0281] (1-4-2) Individual Abstract Syntax Tree Generation Processing
[0282] The following section explains the processing of generating individual abstract syntax trees. Figure 36 This is a flowchart illustrating an example of an individual abstract syntax tree generation process. Here, it shows an example based on... Figure 6 The execution program shown in Figure C3, which is the operation summary column for "Mixing Coffee Beans A and B", generates... Figure 34 Examples of individual abstract syntax trees are shown.
[0283] like Figure 36 As shown, the individual abstract syntax tree generation unit 1901 starts the individual abstract syntax tree generation process from the start step. In the next step S4101, the individual abstract syntax tree is generated from the execution program. For example, operation item 26a in the operation summary bar C1 is selected.
[0284] In the next step S4102, the individual abstract syntax tree generation unit 1901, based on the output item 26c of the operation summary column C3, such as... Figure 37 As shown in "step 1", an output object node n1 representing the content (here, "mixed") of output item 26c is generated. The individual abstract syntax tree generation unit 1901, in the next step S4103, as... Figure 37 As shown in "step2", an output label node n2 representing "output" is added to the child node of the output object node n1 by adding an edge.
[0285] In the next step S4104, the individual abstract syntax tree generation unit 1901, based on the operation item 26a of the operation summary column C3, such as... Figure 37 As shown in "step 3", an operation name node n3 representing the operation content of operation item 26a (here, representing the "mixture" of operation content) is appended to the child node of the output label node n2 by an edge. The individual abstract syntax tree generation unit 1901, in the next step S4105, as follows... Figure 37 As shown in "step4", an input label node n4 representing "input" is appended to the child node of the operation name node n3 by the edge.
[0286] In the next step S4106, the individual abstract syntax tree generation unit 1901, based on the input item 26b of the operation summary column C3, such as... Figure 38 As shown in “step5”, an input object node n5 representing the content of input item 26b (here, “Coffee Bean A (Roasted)” and “Coffee Bean B (Roasted)”) is appended by an edge.
[0287] In the next step S4107, the individual abstract syntax tree generation unit 1901 determines whether an execution parameter value or a variable parameter value exists in the operation summary column C3. Here, in Figure 6 In the operation summary column C3 of the execution program shown, there are execution parameter values in the execution parameter item 26d and variable parameter values in the variable parameter item 26h. Since a positive result (Yes) was obtained in step S4107, the individual abstract syntax tree generation unit 1901 moves to the next step S4108.
[0288] In step S4108, the individual abstract syntax tree generation unit 1901, as follows: Figure 38 As shown in “step6”, a group of parameter nodes n6 representing the contents of execution parameter item 26d and variable parameter item 26h is added to the child nodes of operation name node n3 by adding an edge.
[0289] It should be noted that the parameter node group n6 has: parameter label nodes n representing nodes that are parameters. 60 ; via the edge to the parameter label node n 60 The appended child nodes indicate static tag nodes that execute parameter values. 62 ; and via the edge to the parameter label node n 60 The appended child nodes represent dynamic label nodes with variable parameter values. 61 .
[0290] Furthermore, the edge representation is a static label node n that executes the parameter value. 62 The symbol n represents a dynamic label node with variable parameter values. 61 Append parameter name nodes n, each representing the parameter name specified by the execution parameter value or variable parameter value. 63 As a child node, it is accessed via an edge to the parameter name node n. 63 The child nodes are appended with parameter value nodes n, which represent the values of the execution parameters or the variable parameter values. 64 .
[0291] It should be noted that when the above step S4107 determines that "there is no execution parameter value or variable parameter value", the individual abstract syntax tree generation unit 1901 moves to the next step S4109.
[0292] In step S4109, the individual abstract syntax tree generation unit 1901 determines whether there are operation-related constraints in constraint item 26e of the operation summary column C3. If so, it proceeds to the next step S4110. It should be noted that when generating the executable program, it is determined which constraint in constraint item 26e is "operation-related constraint", "input item 26b constraint", "output item 26c constraint", or "execution parameter item 26d or variable parameter item 26h constraint".
[0293] In step S4110, the individual abstract syntax tree generation unit 1901, as follows: Figure 39 As shown in “step7”, according to constraint item 26e, a group of constraint nodes n7 representing the content of the constraints related to the operation is added to the child nodes of operation name node n3.
[0294] Here, in the constraint node group n7, constraint label nodes n representing the constraints related to the operation are appended to the child nodes of the operation name node n3 via edges. 70 By passing the edge to the constraint label node n70 The child node appended to indicate that the constraint condition is static (an unchanging fixed condition) is a static label node n. 71 Furthermore, a constraint name node n representing the name of the constrained object is appended via an edge. 72 As the static tag node n 71 The child nodes are appended with edges to represent the parameter value nodes n, which are constrained parameter values. 73 As the name node of this constraint n 72 The child nodes.
[0295] It should be noted that when it is determined in step S4109 that "no constraints related to the operation exist," the individual abstract syntax tree generation unit 1901 proceeds to the next step S4111. In step S4111, the individual abstract syntax tree generation unit 1901, as follows... Figure 40 As shown in “step8”, an actuator tag node n8 representing the execution subject of the operation is added to the child node of the operation name node n3 by an edge.
[0296] In the next step S4112, the individual abstract syntax tree generation unit 1901 determines whether there are constraints related to the input item 26b in the constraint item 26e of the operation summary column C3. If there are, it proceeds to the next step S4113.
[0297] In step S4113, the individual abstract syntax tree generation unit 1901, as follows: Figure 34 As shown in “step9”, according to constraint item 26e, a group of constraint nodes n9 representing the content of the constraint conditions related to input item 26b is added to the child nodes of the corresponding input object node n5 by means of the edge.
[0298] Here, in the constraint node group n9, an output label node n is appended to the child node of the corresponding input object node n5 via an edge. 90 To output label node n 90 Append intermediate tag node n to child nodes 91 Furthermore, in the constraint node group n9, the intermediate label node n is reached via an edge. 91 Append input tag node n to child node 92 By extending the edge to the input label node n 92The child nodes are appended to represent the input object node n, which becomes the criterion for judging the start / end of the operation as specified by the constraint (in this case, since the constraint "start mixing within 180 seconds after coffee bean A is roasted" is specified, "coffee bean A (roasted)" becomes the criterion for judging the start of the operation as specified by the constraint). 93 .
[0299] Furthermore, in the constraint node group n9, the intermediate label node n is reached via an edge. 91 The child nodes of the input item 26b are appended with constraint tag nodes n, which represent the constraints related to the input item 26b. 94 By extending the edge to the constraint label node n 94 The child nodes are appended in series to represent static (unchanging, fixed conditions) label nodes n. 95 The constraint name node n represents the name of the constrained object. 96 The parameter value node n represents the value of the constrained parameter. 97 .
[0300] It should be noted that when it is determined in step S4112 above that "there are no constraints related to input item 26b", the individual abstract syntax tree generation unit 1901 moves to the next step S4114.
[0301] In this way, the individual abstract syntax tree generation unit 1901 can generate an individual abstract syntax tree with respect to, for example, the operation summary column C3 of the executable program.
[0302] In step S4114, the Individual Abstract Syntax Tree Generation Unit 1901 determines whether there are any operation items 26a in the executable program that have not generated individual abstract syntax trees. Here, if the Individual Abstract Syntax Tree Generation Unit 1901 determines that "there are operation items 26a in the executable program that have not generated individual abstract syntax trees (YES)," in the next step S4115, it selects operation items 26a in other operation summary columns C1, C2, and C4 that have not generated individual abstract syntax trees from the executable program, returns to step S4102, and repeats the above process until a negative result (NO) is obtained in step S4114.
[0303] On the other hand, when the individual abstract syntax tree generation unit 1901 determines in step S4114 that "there is no operation item 26a (NO) in the executable program that has not generated an individual abstract syntax tree", it means that an individual abstract syntax tree has been generated for all operation items 26a in the operation summary columns C1, C2, C3, and C4 of the executable program, and the above-mentioned individual abstract syntax tree generation process ends.
[0304] (1-4-3) Processing of generating abstract syntax tree for execution program
[0305] The following section explains the process of generating an abstract syntax tree by merging the aforementioned individual abstract syntax trees. Figure 41 This is a flowchart illustrating an example of an abstract syntax tree generation processor. It should be noted that here, the flowchart shows... Figure 6 The execution procedure shown merges the operation summary generated based on "Mix of Coffee Beans A and Coffee Beans B" in column C3. Figure 42 Individual abstract syntax trees and operation summary C4 generated based on "Qualitative Evaluation of Aroma of Blended Beans" Figure 43 Examples of individual abstract syntax trees.
[0306] It should be noted that this explanation describes the scenario of generating multiple individual abstract syntax trees and merging them. However, depending on the template executor, there may only be one operation summary column, generating only one individual abstract syntax tree. In this case, as mentioned above, the generated individual abstract syntax tree is treated as the executor's abstract syntax tree.
[0307] like Figure 41 As shown, the program abstract syntax tree generation unit 1902 starts executing the program abstract syntax tree generation process from the start step, and in the next step S4201, from Figure 32 , Figure 33 , Figure 34 and Figure 35 ( Figure 42 and Figure 35 Select a given individual abstract syntax tree from among multiple individual abstract syntax trees (with the same structure) shown (here, for example, the individual abstract syntax tree related to the final operation of "qualitative evaluation of the aroma of blended beans"). Figure 42 )).
[0308] In the next step S4202, the abstract syntax tree generation unit 1902 executes the program. Figure 42 As shown, determine the set N of input tag nodes without child nodes contained in the individual abstract syntax tree of "qualitative evaluation of aroma of mixed beans" selected in the previous step S4201. l .
[0309] In the next step S4203, the abstract syntax tree generation unit 1902 of the execution program, as follows: Figure 43 As shown, determine that it has the same Figure 42 The set Nl contains n input object nodes (here, input object nodes labeled "Mixed Beans"). 100 The output object node n has the same label (e.g., the node name that identifies the node).200 And in the output object node n 200 The individual abstract syntax tree of "a mixture of coffee bean A and coffee bean B" that does not have a parent node.
[0310] The abstract syntax tree generation unit 1902 will be determined in the previous step S4203 in the next step S4204. Figure 43 The output object node n of the individual abstract syntax tree for "a mixture of coffee beans A and coffee beans B" is shown. 200 Replace with Figure 42 The set N of individual abstract syntax trees for the "qualitative evaluation of aroma of blended beans" shown. l The input object node n contained within 100 ,connect Figure 42 Individual abstract syntax trees and Figure 43 Individual abstract syntax trees, generating Figure 44 The intermediate abstract syntax tree shown.
[0311] In the next step S4205, the execution program abstract syntax tree generation unit 1902 determines whether there exists an individual abstract syntax tree or an intermediate abstract syntax tree that can be connected to the set Nl of input tag nodes without child nodes contained in the intermediate abstract syntax tree. If there exists one or more individual abstract syntax trees or intermediate abstract syntax trees that can be connected to the set Nl of input tag nodes without child nodes contained in the intermediate abstract syntax tree, the execution program abstract syntax tree generation unit 1902 again proceeds to step S4203 to determine the new set N that can be connected to the intermediate abstract syntax tree. l Individual abstract syntax trees. Thus, in step S4205, the above process is repeated until a set N of input tag nodes without child nodes contained in the intermediate abstract syntax tree can be connected. l The individual abstract syntax tree or intermediate abstract syntax tree of the element no longer exists.
[0312] On the other hand, in step S4205, the set N of input tag nodes that do not have child nodes contained in the intermediate abstract syntax tree can be connected. l When an individual abstract syntax tree or intermediate abstract syntax tree of an element does not exist, the executable abstract syntax tree generation unit 1902, in the next step S4207, uses the intermediate abstract syntax tree as the final executable abstract syntax tree t´( Figure 8 and Figure 9 The above execution program will output the abstract syntax tree generation process and end.
[0313] (1-4-4) Extended Abstract Syntax Tree Generation Process
[0314] The above-mentioned extended abstract syntax tree generation process will now be explained. Figure 45 This is a flowchart illustrating an example of an extended abstract syntax tree (EPB) generation processor. It should be noted that here, the flowchart shows an example based on... Figure 10A The execution environment information E shown is... Figure 8 and Figure 9 The execution program abstract syntax tree t' shown generates an extended abstract syntax tree ( Figure 12 , Figure 13 and Figure 14 Examples of ).
[0315] like Figure 45 As shown, the extended abstract syntax tree generation unit 1903 begins the extended abstract syntax tree generation process from the start step, and in the next step S4301, from Figure 10A The execution environment information E is used to select a given execution subject. It should be noted that, for simplicity, the example of selecting "person P" as the execution subject is used here. In the next step S4302, the extended abstract syntax tree generation unit 1903 determines the operations that can be performed by the execution subject "person P" selected in the previous step S4301, based on the information in the execution environment information E.
[0316] For example, in Figure 10A The execution environment information E shown indicates that if the person P is the subject of execution, only the mixing and aroma evaluation operations can be performed; if the baking machine X or Y is the subject of execution, only the baking operation can be performed; if the person Q is the subject of execution, only the mixing operation can be performed.
[0317] In the next step S4303, the extended abstract syntax tree generation section 1903 generates an execution subject name node n for "person P", which uses the execution subject selected in the previous step S4301 as a label (e.g., the execution subject name that identifies the execution subject). x More specifically, for example, if it is person P, then the name of the executing entity node n, which identifies person P, is the "person P". x If it is baking machine X, then the "baking machine X" that can identify baking machine X will be used as the execution subject name node n of the tag. x .
[0318] In the next step S4304, the extended abstract syntax tree generation unit 1903 selects the operation name node n3 corresponding to the operation that can be executed by the execution subject "person P" selected in the previous step S4301 from the executable program abstract syntax tree t. When "person P" was selected in step S4301, as follows... Figure 12 As shown, select, for example, the operation name node n3, "Qualitative Evaluation of Aroma".
[0319] In the next step S4305, the extended abstract syntax tree generation section 1903 appends the execution subject name node n of "person P" by edge. x It is a child node of the actuator tag node n8 that is connected to the operation name node n3 of “fragrance qualitative evaluation” selected in the previous step S4304.
[0320] In the next step S4306, the extended abstract syntax tree generation unit 1903 determines the execution time related to the "fragrance qualitative evaluation" operation that can be performed by the "person P" selected in the previous step S4301, based on the execution environment information E. Figure 12 As shown, the execution time node n (here, "200 seconds") is appended by an edge. x1 The name node n, which is the executor of "person P". x The child nodes.
[0321] In the next step S4307, the extended abstract syntax tree generation unit 1903 determines whether there exists an other operation name node n3 in the executable program abstract syntax tree t that corresponds to other operations that can be executed by the "person P" selected in the previous step S4301.
[0322] For example, when "Person P" is selected, there are "mixed" operations that "Person P" can perform, such as... Figure 9 As shown, there exists a "mixed" operation name node n3 that can be executed by "person P" in the executable abstract syntax tree t. Therefore, in this case, in the next step S4308, the extended abstract syntax tree generation unit 1903 selects the "mixed" operation name node n3 corresponding to the "mixed" operation that "person P" selected in the previous step S4301 from the executable abstract syntax tree t, and returns to step S4305 to repeat the above process.
[0323] On the other hand, when a negative result is obtained in step S4307, this means that all executable operation name nodes n3 (such as those for "person P") in the execution program abstract syntax tree t are executed. Figure 13 As shown, the "mixed" operation name node n3) has the execution subject name node n of "person P" appended to it. x Or execution time node n x1 At this point, the extended abstract syntax tree generation unit 1903 moves to the next step S4309.
[0324] In step S4309, the extended abstract syntax tree generation unit 1903 determines whether there are other unselected execution entities (e.g., baker X, Y, or person Q) in the execution environment information E. If they exist, it means that an extended abstract syntax tree t´ has been generated that specifies all execution entities in the execution environment information E as nodes in the execution program abstract syntax tree t, and the above extended abstract syntax tree generation process ends.
[0325] On the other hand, in step S4309, if there are other unselected execution entities (e.g., baker X, Y, or person Q) in the execution environment information E, the extended abstract syntax tree generation unit 1903 selects other execution entities from the execution environment information E in the next step S4310, returns to step S4302, and repeats the above process until a negative result is obtained in step S4309.
[0326] (1-4-5) Generation and processing of semi-order
[0327] The generation procedure for the aforementioned semi-order is described below. In this case, the semi-order generation unit 1905 generates from the extended abstract syntax tree. Figure 10B The semi-order shown. Semi-order generator 1905 as... Figure 46 As shown in “step1”, extract the operation name nodes “(Roasting of coffee bean A)” and “(Roasting of coffee bean B)” from the operation name node n3 of the extended abstract syntax tree t´, which do not have operation name node n3 in their child and grandchild nodes.
[0328] The semi-order generator 1905 extracts the "mixing" operation name node n3 from the operation name node n3 of the extended abstract syntax tree t´, which contains all operation name nodes n3 that do not have operation name nodes n3 in their child and grandchild nodes, such as "(roasting of coffee bean A)" and "(roasting of coffee bean B)". Figure 46 As shown in "step2", the operation name nodes n3 of "(Roasting of coffee bean A)" and "(Roasting of coffee bean B)" are added as child nodes of the operation name node n3 of "Mix".
[0329] The semi-order generator 1905 repeatedly performs these processes, and obtains the final result. Figure 46 The semi-sequence described in "step3".
[0330] (1-5) Execution instruction information generation and processing
[0331] The following is an explanation of the above-mentioned procedure for generating execution instruction information. Figure 47 This is a block diagram showing the structure of the execution instruction information generation unit 20. Furthermore, Figure 48 This is a flowchart illustrating the process for generating execution instruction information. For example... Figure 47As shown, the execution instruction information generation unit 20 includes: an operation summary bar selection unit 2001, an operation manual generation unit 2002, and a setting information generation unit 2003.
[0332] It should be noted that in this embodiment, the operation manual and setting information described later are used as execution instruction information. However, the present invention is not limited to this. For example, only the operation manual or only the setting information may be used as execution instruction information.
[0333] In this case, such as Figure 48 As shown, the execution instruction information generation unit 20 begins executing the plan generation process from the start step. In step S501, the operation summary selection unit 2001, for example, selects from... Figure 6 Select the given operation summary column C1 in the execution procedure shown, and proceed to the next step S502 and step S503.
[0334] In the next step S502, the operation manual generation unit 2002 reads the operation instruction format that corresponds to the operation summary column C1 selected in step S501 from the database 8.
[0335] For example, the format of operation instructions can be any form, such as an article in a pre-defined form of natural language, as long as it can indicate the content of the execution program or the content of the execution plan generated by the execution program, so that the people P and Q, as the subjects of execution, can understand it through natural language.
[0336] In the next step S504, the operation manual generation unit 2002 reads the constraint information, execution parameter values, variable parameter values, and execution plan timing information of the operation summary column C1 selected in step S501, and inputs the read content into the areas predetermined by the operation instruction format to generate the operation manual.
[0337] The operation manual can be written in various formats, as long as it enables the people P and Q who are the main implementers to understand the content of the execution program or the content of the execution plan generated by the execution program through natural language.
[0338] On the other hand, in step S503, the setting information generation unit 2003 generates setting information such as a program that makes the baking machines X and Y, which are execution devices, work, based on the execution start date when the execution subject begins to perform the operation, the execution end date when the execution subject ends to perform the operation, the constraints of the execution program, the execution parameter values, and the variable parameter values specified in the execution plan.
[0339] In step S505, the execution instruction information generation unit 20 outputs the operation manual and setting information generated based on the operation summary column C1 and execution plan selected in step S501 as execution instruction information.
[0340] In the next step S506, the execution instruction information generation unit 20 determines whether there is an unselected operation summary bar in the execution program. If there is (Yes), the operation summary bar selection unit 2001 selects the operation summary bar C2, etc., which was not selected in step S501, in step S507, and returns to the above step S502.
[0341] In this way, by repeatedly performing the above process until a negative result (No) is obtained in step S506, the execution instruction information generation unit 20 can generate execution instruction information for all operation summary columns C1, C2, C3, and C4 in the execution program.
[0342] (1-6) Functions and Effects
[0343] In the above structure, the production process optimization method of this embodiment obtains a starting point execution program (obtaining step) that serves as the starting point for the search. This starting point execution program defines multiple operations performed sequentially in the production process as operation items and specifies information related to the operations. The production process optimization method determines one or more variable parameter items for which variable parameter values can be set in the starting point execution program (variable parameter item determination step). Based on past execution performance results and their evaluation performance results, the variable parameter values are set for the variable parameter items determined in the variable parameter item determination step, and an execution program is generated (execution program generation step).
[0344] Furthermore, the production process optimization method obtains the execution results when the executing entity follows the execution procedure in the execution environment (execution result acquisition step), and obtains the evaluation results of the execution results (evaluation result acquisition step). The production process optimization method stores these execution procedures, variable parameter values, execution results, and evaluation results in a corresponding manner (storage step).
[0345] Accordingly, the production process optimization method, based on these execution procedures, variable parameter values, execution results, and evaluation results, can effectively utilize them as clues to search for the optimal production conditions in which the execution subject actually executes the production process in the execution environment 100 to obtain the greatest possible gain. It can obtain the optimal production conditions with the greatest gain with the fewest possible number of experiments. Furthermore, since the production process optimization method can obtain the optimal production conditions with the greatest gain with the fewest possible number of experiments, it can reduce the total cost and labor spent searching for production conditions and obtain the optimal production process with the greatest gain.
[0346] (1-7) Implementation methods of production processes for producing shaped articles by processing the workpiece
[0347] In the first embodiment described above, the production process for producing blended coffee beans A and B was explained. Here, as another embodiment, the production process for producing shaped product C by heating and shaping the workpiece A will be explained.
[0348] In this case, the production process optimization device 2 generates, in the same manner as in the first embodiment described above, the following: an execution procedure for the production process of producing the shaped product C from the workpiece A and its evaluation process; an execution plan, i.e., data indicating when each execution entity should coordinate to perform each operation within the execution procedure; and execution instruction information instructing the execution entities of the execution environment 100 to perform their respective corresponding operations according to the execution plan.
[0349] After the operation unit 10 selects the production process (e.g., heating method M and forming method X) and evaluation process (visual inspection) that the manager wants to optimize, the template execution program generation unit 15 selects the execution program corresponding to these production processes and evaluation processes from multiple execution programs stored in the database 8 as the starting execution program.
[0350] Here, Figure 49 An example of the structure of the starting execution procedure related to the production process and evaluation process of the manufactured product C is shown. In this starting execution procedure, the operation summary columns C27, C28, and C29 also specify the content related to the operation performed in the production and evaluation processes for each operation. The operation summary columns C27, C28, and C29 of the starting execution procedure in this embodiment also include, for example, operation items 26a specifying the content of the operation, input items 26b specifying the object to be processed by the operation, output items 26c specifying the product obtained through the operation, execution parameter items 26d specifying the numerical values associated with the operation, and constraint condition items 26e specifying the constraints associated with the operation.
[0351] Based on the execution performance results and evaluation performance results of past execution programs stored in the database 8, the template execution program generation unit 15 selects the execution parameter item 26d in the variable starting point execution program as a variable parameter item, and generates a template execution program to determine which execution parameter values should be used to execute the production process and evaluate the process in the execution environment 100 and evaluate the execution results.
[0352] Figure 50 This shows that, with reference to the actual performance results and the evaluation results, in Figure 49 The example shown is a template execution program structure in which variable parameter items 26m and 26n are set in the starting point execution program, and the search range is set in the variable parameter items 26m and 26n respectively.
[0353] In this embodiment, the "Heating Temperature" in the operation summary column C27 of "Heating Method M" is set as a variable parameter item 26m, and "60℃ < Baking Temperature < 90℃" is set as the search range for the heating temperature. Furthermore, in this embodiment, the operation item 26a in the operation summary column C28 of "Shaping Method" is set as a variable parameter item 26n, and "Shaping Method X or Shaping Method Y" instead of a numerical value is set as the search range for the shaping method. Thus, the variable parameter value does not necessarily have to be a numerical value; in addition to the specifications of the shaping method, it also includes the specifications of the heating method, the name of the raw material, etc. Here, "Shaping Method Y" is set as the search range based on the actual performance results and evaluation results.
[0354] Figure 51 and Figure 52 It shows according to Figure 50 The image shows an example of the structure of an executor generated by a template executor. Figure 51 In the execution procedure, the heating temperature is set to "60℃" in the operation summary column C27 of "Heating Method M", and operation item 26a of the variable parameter item 26n in the operation summary column C28 of "Forming Method" is set to "Forming Method X". Figure 52 In the execution program, the "Heating Temperature" is set to "90℃" in the operation summary column C27 of "Heating Method M", and the operation item 26a of the variable parameter item 26n in the operation summary column C28 of "Forming Method" is set to "Forming Method Y".
[0355] It should be noted that in this embodiment, the processing method for setting the search range and the processing method for setting variable parameter values from the search range are the same as in the above embodiment, so their description is omitted here.
[0356] (2) Production process optimization method of the second embodiment
[0357] The production process optimization method of the second embodiment will now be described. In this second embodiment, a verification rule is established that, when a variable parameter value is set from a search range specified in the variable parameter value setting item, the content set in the constraint condition item is corrected to the optimal content based on the variable parameter value. Here, using... Figure 53 The template executor shown and Figure 54 and Figure 55 The execution procedure shown illustrates the production process optimization method of the second embodiment.
[0358] It should be noted that, compared with the first embodiment, the second embodiment differs only in that... Figure 18The constraint setting unit 1507 of the template execution program generation unit 15 shown has a different structure, but the other structures are the same as those in the first embodiment described above. Therefore, here, we will only focus on the constraint setting unit 1507 with a different structure for the following description.
[0359] Here, Figure 53 The template execution procedure shown is related to the production process and evaluation process of blended coffee beans A and B. For each operation, the operation summary columns C32, C33, C34, and C35 specify the content related to the operation performed in the production process and evaluation process.
[0360] The constraint setting unit 1507 can set the following verification rule in the operation summary column C34 of the template execution program, for example, "Mixing of coffee beans A and coffee beans B": "In order to ensure that the mixing operation of coffee beans A and coffee beans B is performed only after the temperature of coffee beans B has cooled down to room temperature by natural cooling, when the roasting temperature of coffee beans B reaches 200°C or higher, the constraint condition of the constraint condition item is rewritten, and the standby time between the end of roasting coffee beans B and the start of the mixing operation is doubled."
[0361] It should be noted that the verification rules set in the constraint setting unit 1507 are preferably set based on the past performance results and evaluation results.
[0362] In this case, for example, in a template executor, such as Figure 53 As shown, in the constraint item 26e of the operation summary column C34 of "Mixing of coffee beans A and coffee beans B", the constraint "operation time required within 300 seconds" and the constraint "more than 600 seconds after the roasting of coffee beans B" are set.
[0363] In the production process optimization apparatus 2 of the second embodiment, similarly to the first embodiment described above, based on the past execution results and evaluation results of the execution program stored in the database 8, multiple variable parameter values are selected from the search range of roasting temperature (here, 100°C < roasting temperature < 250°C) specified in the operation summary column C33 of "Roasting of Coffee Beans B" using, for example, a regression model.
[0364] Here, Figure 54 and Figure 55 An example of the structure of an executable program with such a selection of variable parameter values is shown. Figure 54 In the execution procedure shown, in the "Roasting of Coffee Beans B" operation summary column C33, the variable parameter item 26p is set to 100℃ as the roasting temperature. On the other hand, in Figure 55In the execution procedure shown, in the variable parameter item 26p of the operation summary column C33 for "Roasting of Coffee Beans B", 250℃ is set as the roasting temperature.
[0365] In this case, Figure 54 In the execution procedure shown, since the condition of the verification rule "when the roasting temperature of coffee bean B reaches 200°C or higher, rewrite the content of the constraint condition of the constraint condition item" is not met, the constraint condition setting unit 1507 maintains the constraint condition specified in the template execution procedure unchanged.
[0366] On the other hand, Figure 55 In the case of the execution procedure shown, since the condition of the verification rule "when the roasting temperature of coffee bean B reaches 200°C or higher, rewrite the content of the constraint condition of the constraint condition item" is not met, the constraint condition setting unit 1507 rewrites the content of the constraint condition to the constraint condition "more than 1200 seconds after the roasting of coffee bean B is completed" according to the verification rule.
[0367] In the above structure, the production process optimization method in the second embodiment is also the same as in the first embodiment. Through production process optimization, the following are generated: an execution procedure for the production process of mixed beans and its evaluation process; data indicating when each execution entity should coordinate to perform each operation within the execution procedure, i.e., an execution plan; and execution instruction information instructing the execution entities of the execution environment 100 to perform their respective corresponding operations according to the execution plan.
[0368] Accordingly, the same effect as the first embodiment can be achieved in the production process optimization method of the second embodiment. Furthermore, based on this, in the production process optimization method of the second embodiment, by setting a verification rule of "rewriting the content of the constraints according to the variable parameter values set in the execution program to the content of the constraints that conform to the actual situation of the execution environment 100", the execution subject can execute the execution program that conforms to the actual situation, so the optimal production conditions with a large gain can be obtained with as few experiments as possible.
[0369] (3) Production process optimization method of the third embodiment
[0370] The production process optimization method of the third embodiment will now be described. In generating the template execution program, if there are constraints not present in the initial execution program in past execution results and evaluation results, or if there are modified history records of constraints in past execution results and evaluation results, then the method generates a template execution program with added or modified constraints on the initial execution program. It should be noted that the other structures are the same as in the first embodiment described above; therefore, their description is omitted here.
[0371] Here, Figure 56 This is a flowchart illustrating the template execution program generation process of the production process optimization method of the third embodiment. In this case, steps S201 to S210 are the same as those in the first embodiment described above. Figure 27 The description is the same, so it is omitted. In the third embodiment, after setting the given search range in the variable parameter item in step S206 or step S210, the process proceeds to step S31.
[0372] In step S31, the template execution program generation unit 15 of the third embodiment determines whether there are constraints in the past execution results and evaluation results that are not present in the starting execution program. When there are constraints in the past execution results and evaluation results that are not present in the starting execution program, the unit adds constraints that are present in the past execution results and evaluation results but are not present in the starting execution program to the constraint items as needed.
[0373] It should be noted that, here, when there are constraints in the past performance results and evaluation results that were not present in the initial execution procedure, such as when the constraints are added to the constraint item based on the manager's judgment as needed, this invention is not limited to this. For example, when there are constraints in the past performance results and evaluation results that were not present in the initial execution procedure, constraints that existed in the past performance results and evaluation results but were not present in the initial execution procedure can also be directly added to the constraint item.
[0374] Furthermore, in step S32, the template execution program generation unit 15 of the third embodiment determines whether there is a modification history of constraints in the past execution results and evaluation results. When there is a modification history of constraints in the past execution results and evaluation results, the constraints of the starting execution program are modified in the same way as the modification history based on the modification history of constraints in the past execution results and evaluation results.
[0375] Thus, in the third embodiment, a template execution program is generated that has the same constraints as the constraints of past performance results and evaluation results, or a template execution program with constraints that have been modified in the same way as the constraints of past performance results and evaluation results (step S211).
[0376] In the above structure, the production process optimization method in the third embodiment is also the same as in the first embodiment. Through production process optimization, the following are generated: an execution procedure for the production process of mixed beans and its evaluation process; data indicating when each execution entity should coordinate to execute each operation in the execution procedure, i.e., an execution plan; and execution instruction information instructing the execution entities of the execution environment 100 to execute their respective corresponding operations according to the execution plan.
[0377] As described above, the production process optimization method of the third embodiment can achieve the same effect as the first embodiment, and can generate a template execution program that reflects past rules of thumb and has constraints that are more in line with the actual situation of the execution environment 100 by keeping in line with the constraints of past performance results and evaluation results.
[0378] It should be noted that in the third embodiment, step S32 is performed after step S31, but the present invention is not limited to this. For example, it is also possible to perform step S31 after step S32, or to perform only step S31, or to perform only step S32.
[0379] (4) Production process optimization method of the fourth embodiment
[0380] The production process optimization method of the fourth embodiment will now be described. In this fourth embodiment, when the production process optimization apparatus 2 generates execution plans and execution instruction information, before prompting each execution entity in the execution environment 100, the production process optimization method confirms whether each execution entity in the execution environment 100 can execute the production process and evaluate the process according to these execution plans and execution instruction information by performing a simulation.
[0381] Here, Figure 57 This is a block diagram showing the structure of the production process optimization system 41 according to the fourth embodiment. Figure 57 The production process optimization system 41 shown differs from the production process optimization system 1 of the first embodiment in that it includes a simulation analysis unit 44 capable of performing certain operations. It should be noted that the other structures are the same as in the first embodiment, therefore, their description is omitted here.
[0382] When each execution entity in the execution environment 100 performs the execution procedure according to the execution plan and execution instruction information, the operation is performed by each execution entity while satisfying various constraints of the actual execution environment 100. Therefore, in the production process optimization apparatus 42 of the third embodiment, before generating the execution plan and execution instruction information and prompting it to each execution entity in the execution environment 100, the executionability simulation analysis unit 44 uses executionability simulation virtual execution to verify whether each execution entity can execute the execution procedure according to the execution plan and execution instruction information at the current moment of each execution entity in the execution environment 100.
[0383] For example, if the executing entity is a robotic arm, the execution plan and execution instructions will be provided to the robotic arm so that it can move along the given trajectory. However, it may also be set up in an environment where the robotic arm may collide with obstacles when it moves along the given trajectory according to the execution instructions.
[0384] Furthermore, if the executing entity is a 3D cutting machine, the execution plan and execution instruction information will be provided to the robotic arm, causing the cutting part of the 3D cutting machine to move along the given trajectory. However, it is also possible that when the cutting part is moved along the given trajectory according to the information, due to the specifications of the 3D cutting machine (it is recommended to limit the movable speed of the cutting part when improving cutting accuracy) or deterioration over time, the cutting part may not actually move sufficiently according to the execution instruction information, thus making it impossible to perform cutting processing according to the execution instruction information.
[0385] The production process optimization device 42 acquires the execution environment constraints and stores them in the database 8. The execution environment constraints show the constraints related to the environmental state of the execution environment 100. For example, due to real-world reasons such as the current condition of the robotic arm or the specifications of the 3D cutting machine, the relationship between the execution subjects, etc., there are constraints when the execution subjects of the execution environment 100 execute the program.
[0386] After generating the execution plan and execution instruction information, the simulation analysis unit 44 retrieves the execution environment constraints from the database 8, which show the constraints that exist when each execution subject performs operations in the execution environment 100. It then reflects the execution environment constraints and virtually executes the execution plan and execution instruction information.
[0387] The execution feasibility simulation analysis unit 44 performs such a feasibility simulation. For example, when the robotic arm moves within the range of motion indicated by the execution instruction information, it can obtain a simulation result that "based on the current state of the robotic arm determined according to the execution environment constraints, it is known that it will collide with an obstacle." After obtaining such a simulation result, the execution feasibility simulation analysis unit 44 analyzes the simulation result to analyze whether there is an execution plan and execution instruction information that satisfies the execution environment constraints and ensures that each execution subject can perform the execution program.
[0388] For example, the execution simulation analysis unit 44 performs the following analysis: According to the current execution instruction information, the robot arm's range of motion is constrained, so the given operation cannot be performed. However, if the robot arm moves in a sequence different from the current execution instruction information, the same operation can be performed even within the constrained range of motion. After obtaining such an analysis result, the execution simulation analysis unit 44 generates an execution plan or execution instruction information that reflects solutions such as changing the robot arm's movement sequence.
[0389] Furthermore, the execution simulation analysis unit 44 performs the following analysis: According to the current execution instruction information, the robot arm's range of motion is constrained, so the given operation cannot be performed. However, if, for a certain period of time, the obstacle constraining the robot arm's range of motion can be moved, the robot arm can perform the operation according to the execution instruction information. After obtaining such analysis results, the execution simulation analysis unit 44 generates an execution plan or execution instruction information that reflects solutions such as changing the robot arm's range of motion.
[0390] Based on the analysis results from the executable simulation analysis unit 44, the execution plan generation unit 19 and the execution instruction information generation unit 20 generate execution plans and execution instruction information that enable the execution entity to execute the execution procedure even under the current conditions of the execution environment 100. Accordingly, the production process optimization device 42 can present the regenerated execution plan and execution instruction information to each corresponding execution entity in the execution environment 100, so that each execution entity can execute the execution procedure according to the execution plan and execution instruction information.
[0391] Furthermore, after the production process optimization device 42 obtains the analysis result that "the given execution subject cannot perform the operation of the execution program by the execution environment constraint conditions through the simulation analysis unit 44", it performs the error handling described later.
[0392] As an error response, there are four types of processing (i) to (iv) as typical examples. The production process optimization device 42 has a given processing among the four types of processing preset. The corresponding processing can also be executed according to the setting, and the non-executable information, which displays the reason for non-executability, is notified to the manager via the display unit 9.
[0393] (i) Ignoring the fact that it is unenforceable, the execution plan and execution instructions are sent to the corresponding execution entity of the execution environment 100.
[0394] (ii) End the overall process optimization process currently being performed in the process optimization unit 42.
[0395] (iii) Skip the executable program that has been analyzed as “unexecutable” (“skip” means removing the executable program that has been analyzed as “unexecutable” from among multiple executable programs and continuing the subsequent processing of the remaining executable programs), generate an execution plan and execution instructions again, and send them to the corresponding execution entity of the execution environment 100.
[0396] (iv) Discard the existing execution plans and execution instructions, regenerate the list of execution procedures, and generate new execution plans and execution instructions from the list of execution procedures.
[0397] When the production process optimization device 42 notifies the manager of unexecutable information via the display unit 9, it can, for example, urge the manager to eliminate the reasons for unexecutability in the unexecutable information.
[0398] Furthermore, when the production process optimization device 42 transmits the execution plan and execution instruction information from the transceiver unit 11 to the corresponding communication device 3a, etc., via the network 4 according to (i), (iii), or (iv) above, it can cause the execution subject to execute the execution procedure according to the execution plan and execution instruction information. Correspondingly, after receiving the execution results and evaluation results from the execution subject in the execution environment 100, the production process optimization device 42 can regenerate new execution plans and execution instruction information reflecting these execution results and evaluation results as needed. In this case, it will present these regenerated execution plans and execution instruction information to the execution subject.
[0399] The production process optimization method of the fourth embodiment described above will now be explained using a flowchart. Here, Figure 58 It is a continuation Figure 17A The production process optimization procedure of the first embodiment shown is illustrated with a flowchart of the characteristic steps of the production process optimization procedure of the third embodiment. Figure 58 China and Figure 17A The subroutines SR1, SR2, and S3, which are the same as those in the production process optimization process of the first embodiment shown, have been omitted. Only the parts of steps S41 to S44 that are characteristic of the third embodiment have been extracted.
[0400] The production process optimization device 42 of the fourth embodiment is as follows: Figure 17AThe process optimization procedure begins at the start of the initial step, and after processing subroutines SR1 to SR5, it proceeds to step S41. The execution feasibility simulation analysis unit 44 determines whether the execution feasibility simulation can be performed in step S41: in the execution environment 100 with execution environment constraints, whether the executing entity can execute the program's operations to the end according to the execution plan and execution instruction information.
[0401] After obtaining the simulation result (No) that "the executing entity cannot execute the operation of the execution procedure to the end according to the execution plan and execution instruction information", in the next step S42, the simulation analysis unit 44 analyzes the execution environment constraints and determines whether it can be dealt with by changing any one or both of the execution plan or execution instruction information.
[0402] In step S42, if the execution simulation analysis unit 44 determines that "it can be dealt with by changing the execution plan and / or execution instruction information (Yes)," the production process optimization device 42 will perform execution plan generation processing by the execution plan generation unit 19 or the execution instruction information generation unit 20 in the next step S43 to change the execution plan, or perform execution instruction information generation processing to change the execution instruction information.
[0403] It should be noted that, for example, the simulation results indicating whether the simulation can be performed can be notified to the manager via the display unit 9, allowing the manager to determine whether the judgment in step S42 can be eliminated by changing the execution plan and / or execution instruction information. Accordingly, the manager can also investigate solutions and change the execution plan and / or execution instruction information.
[0404] Next, in step S6, the production process optimization device 42 sends the execution plan and execution instruction information to the corresponding execution entities within the execution plan.
[0405] On the other hand, in step S41, after the execution simulation analysis unit 44 obtains the simulation result that "the executing entity can execute the operation of the execution program to the end according to the execution plan and execution instruction information" (Yes), the process moves to step S6. If, in step S42, the execution simulation analysis unit 44 determines that "it cannot be dealt with by changing the execution plan and execution instruction information (No)," the error handling process described above is executed in the next step S44, and the production process optimization process ends.
[0406] It should be noted that, as a variation of the above error handling, when the executable simulation analysis unit 44 determines that "the problem cannot be solved by changing the execution instruction information", the executable simulation analysis unit 44 can generate unexecutable information indicating that "the corresponding execution subject is not executable" and send it to the corresponding execution subject.
[0407] Furthermore, the executable simulation analysis unit 44, upon receiving non-executable information, can first determine whether the non-executability can be resolved by simply changing the execution plan, and then determine whether it can be resolved by simply changing the execution instruction information. Alternatively, the reverse order can be adopted: first determining whether the non-executability can be resolved by simply changing the execution instruction information, and then determining whether it can be resolved by simply changing the execution plan. When the non-executability can be resolved by simply changing the execution plan, or when it can be resolved by simply changing the execution instruction information, it is preferable to change the execution plan or the execution instruction information respectively.
[0408] In step S42, if the execution simulation analysis unit 44 determines that "the problem can be solved by simply changing the execution plan (Yes)," the production process optimization device 42 will perform execution plan generation processing through the execution plan generation unit 19 in the next step S43 to change the execution plan.
[0409] On the other hand, if the simulation analysis unit 44 determines in step S42 that "it cannot be resolved by simply changing the execution plan" (No), it determines in the next step S44 whether it can be resolved by changing the execution instruction information.
[0410] When the production process optimization device 42 determines in step S44 that "the problem can be solved by changing the execution instruction information (Yes)" through the execution simulation analysis unit 44, the execution instruction information generation unit 20 performs execution instruction information generation processing in the next step S45 to change the execution instruction.
[0411] If, through the verification by the executable simulation analysis unit 44, information such as "cannot be executed with a specific variable parameter value or a combination of multiple variable parameter values" is obtained, this information can be stored in the database 8 and reflected again in the constraint conditions of the template execution program (for example, specifying the condition "cannot be executed in a certain execution environment" as a constraint condition). In this way, the production process optimization device 42 can also regenerate an execution program reflecting the constraints of the execution environment after inferring through the executable simulation that "the subject cannot perform the operation according to the execution program in the execution environment". In this case, the production process optimization device 42 regenerates the execution plan and execution instruction information according to the regenerated execution program.
[0412] In the above structure, the production process optimization method in the fourth embodiment is also the same as in the first embodiment. Through production process optimization, the following are generated: an execution procedure for the production process of mixed beans and its evaluation process; data indicating when each execution entity should coordinate to execute each operation in the execution procedure, i.e., an execution plan; and execution instruction information instructing the execution entities of the execution environment 100 to execute their respective corresponding operations according to the execution plan.
[0413] As described above, the production process optimization method of the fourth embodiment can achieve the same effect as the first embodiment, and can generate an execution plan and execution instruction information that conforms to the conditions of the execution environment 100.
[0414] Furthermore, in the production process optimization method of the fourth embodiment, various errors (conditions that prevent the execution of the program) that are not specified in the constraints of the execution program can be obtained in advance, and the execution subject of the execution environment 100 can be prevented from executing useless programs, thereby optimizing the production process quite efficiently.
[0415] (5) Production process optimization method of the fifth embodiment
[0416] The production process optimization method of the fifth embodiment will now be described. In the production process optimization method of the fifth embodiment, when a variable parameter item set in the template execution program is selected, an item selection simulation is performed, and based on the results of the item selection simulation, a variable parameter item is selected from the starting execution program.
[0417] Furthermore, in the production process optimization method of the fifth embodiment, when selecting a variable parameter value from the search range set in the variable parameter items of the template execution program, a variable parameter value selection simulation is performed, and a variable parameter value is selected from the search range in each variable parameter item based on the result of the variable parameter value selection simulation.
[0418] The production process optimization method of the fifth embodiment optimizes the execution program to be executed in the execution environment 100 by successive optimization. Before the execution program is actually executed in the execution environment 100 for successive optimization, the range of variable parameter items is narrowed in advance by selecting items for simulation, or the range of variable parameter values is limited in advance by using simulation analysis results obtained by selecting simulation based on variable parameter values. This can reduce the number of condition studies in the execution environment 100.
[0419] When optimizing an executable program running in an execution environment 100, if there are many variables that can be optimized or if the variables include categorical variables (e.g., types of added reagents), a large number of experiments would be required if a simple successive optimization search were used. Since many production processes executed in execution environment 100 typically require significant time and financial costs to execute an executable program, it is impractical to have the executing entity perform a large number of executions for the purpose of optimizing the executable program generated by the production process optimization system 1.
[0420] The production process optimization method of the fifth embodiment uses simulation analysis results to limit the range of variable parameter items or variable parameter values that are actually executed and optimized by the execution entity in the execution environment 100. By narrowing the scope using the production process optimization method, the number of execution procedures actually performed in the execution environment 100 can be significantly reduced.
[0421] Especially in systems with complex execution environments and numerous latent variables, such as biological devices, the predicted optimal conditions often do not directly match the real-world optimal production conditions due to the poor accuracy of the simulated system's behavior (and the difficulty in aligning dimensions). On the other hand, the relationship between the responsiveness of the objective function to different types of variables under varying conditions is sometimes common to both simulations and the real world. In such cases, even in systems with complex execution environments, by utilizing globally varying experimental conditions (variable parameter items or values), it is possible to roughly categorize variables into those that change the value of the objective function and those that do not, or to roughly understand the response characteristics of the objective variable to explanatory variables. By referring to this information, the search range (variable parameter items or values) can be set from variables predicted to contribute to the value of the objective function, or the shape of the regression model to be used can be determined, allowing for efficient advancement of the search for variable parameter items or values.
[0422] Here, the production process optimization method of the fifth embodiment will be described, especially using a biological device with many latent variables as an example. More specifically, for example, there is a biological device in which, assuming there is an *E. coli* X in which a plasmid for expressing an enzyme P for producing a certain compound A is introduced, compound A (hereinafter also referred to as "target substance") is produced by culturing the *E. coli* X in a culture medium M and inducing the expression of enzyme P. Hereinafter, the simulation of project selection and the simulation of variable parameter value selection will be described in sequence.
[0423] (5-1) The template execution program for the selected simulation project was used to generate the processing.
[0424] First, we will explain the scenario in which a project selection model is used in a production process optimization method to generate a template execution program that determines the optimal raw materials for the composition of culture medium M as variable parameter items that maximize the yield [g / L] of target substance A.
[0425] Here, for example, given the existence of hundreds of candidate raw materials for the composition of culture medium M, it is very difficult to determine the optimal choice of raw material from these hundreds of candidate raw materials in order to obtain a culture medium M that maximizes the yield of target substance A. Or, the optimal combination of raw materials and the optimal mixing of the raw materials. This question requires the execution entity to actually execute the execution procedure in the execution environment 100 and to make the determination based on the execution results and evaluation results.
[0426] Therefore, in the fifth embodiment, when generating the template execution program, the range of raw materials that can maximize the yield of target substance A from hundreds of candidate raw materials that make up the culture medium M is narrowed down in advance by performing a project selection simulation, thereby significantly reducing the number of execution programs actually performed in the execution environment 100.
[0427] Here, Figure 59 This is a block diagram showing the structure of the template execution program generation unit 51 in the fifth embodiment. Furthermore, Figure 60 This is a flowchart illustrating the template execution program generation process of the fifth embodiment. (Example) Figure 59 As shown, the template execution program generation unit 51 includes: a starting point execution program acquisition unit 1501, an execution performance result / evaluation performance result acquisition unit 1502, a candidate item selection unit 53, an item selection simulation analysis unit 54, a variable parameter item analysis unit 55, a search range setting unit 56, a template execution program output unit 1506, and a constraint setting unit 1507.
[0428] like Figure 60 As shown, the production process optimization device 2 starts the template execution program generation process from the beginning step. In the next step S201, the manager inputs the production process to be optimized and the evaluation process.
[0429] In the next step S202, the starting point execution program acquisition unit 1501 acquires the starting point execution program, which serves as the starting point for the search, from the database 8 based on the production process and the evaluation process. In step S51, the candidate item selection unit 53 determines multiple candidate raw materials (also called "candidate variable parameter items") that constitute the culture medium M, aiming to achieve the evaluation result of "maximizing the yield of target substance A" through the evaluation process, and arbitrarily selects a given dissolution amount as the parameter value for each candidate raw material. It should be noted that the number of candidate variable parameter items (candidate raw materials) is not particularly limited; here it can be 9 or 10, i.e., 2 or more, or even just 1. Furthermore, the determination of candidate variable parameter items (candidate raw materials) can be made by the manager or based on the results of past project selection simulation evaluations (described later); the method of determination is not particularly limited.
[0430] For example, when determining m candidate raw materials that make up the culture medium M from the metabolic pathway network, the past execution results and evaluation results related to the culture medium M can be obtained from the database 8 by the execution results / evaluation results acquisition unit 1502. For example, m candidate raw materials can be determined from the raw materials of the culture medium M used in the execution results, etc., or m candidate raw materials can be determined from a given region of the metabolic pathway network centered on the raw materials of the culture medium M used in the execution results, etc.
[0431] It should be noted that the metabolic pathway network is data showing the pathways of chained chemical reactions occurring within cells in biochemistry, and in this case, it is pre-stored in database 8. The candidate selection unit 53 retrieves the metabolic pathway network from database 8 and selects m candidate raw materials that constitute the culture medium M based on the metabolic pathway network.
[0432] In step S52, the project selection simulation analysis unit 54 takes the dissolution amount of the m candidate raw materials determined in step S51 as input to perform project selection simulation, and as the project selection simulation evaluation result, obtains the output result of the predicted yield of target substance A.
[0433] It should be noted that, here, as an example, since the raw materials constituting the culture medium M have been described, the parameter value selected for the project is the amount of dissolution. However, in other production processes, the parameter value selected for the project can of course be, for example, concentration, mixing volume, temperature, time, etc.
[0434] Here, the project selects simulation methods such as cell simulation (e.g., E-cell) or pre-modeling of biochemical reaction systems operating under non-ideal conditions such as molecular mixing or local presence, which can virtually simulate: for example, culturing E. coli X in a culture medium M composed of m selected raw materials, assuming that the expression of enzyme P is induced, what is the expected yield of target substance A.
[0435] The project selection simulation analysis unit 54 is used as the project selection simulation evaluation result. For example, the time T that has elapsed since the start of the project selection simulation is taken as the start time T. Based on the project selection simulation result, the integral value of the output of target substance A from the start time T to the time (T+Δt) is calculated as the project selection simulation evaluation result.
[0436] In the next step S53, the candidate project selection unit 53 determines whether to continue re-selecting candidate variable parameter projects (candidate raw materials) using the project selection parameter value (i.e., the amount of solubility of the candidate raw material) for project selection simulation. It should be noted that, for example, a manager can determine whether to continue the project selection simulation. Furthermore, the candidate project selection unit 53 can determine whether a given number of project selection simulations have been performed, and whether the desired project selection simulation evaluation result (here, the raw material that causes a significant change in the yield of target substance A) has been obtained.
[0437] When the candidate project selection unit 53 determines "Continue project selection simulation (Yes)" in step S53, meaning that the manager has determined "Continue", or when the candidate project selection unit 53 determines "The given number of project selection simulations has not been performed", or when the candidate project selection unit 53 determines "The expected project selection simulation evaluation result group has not been obtained", it returns to step S51, selects a new dissolution amount (project selection parameter value) for the candidate raw materials, and performs project selection simulation in the next step S52 with the newly selected dissolution amount as input.
[0438] In this way, multiple candidate raw materials with different solubility are generated, and project-selected simulations are performed on each of them. For each combination of candidate raw materials with changed solubility, the integral value of the yield of target substance A is calculated as the project-selected simulation evaluation result.
[0439] On the other hand, in step S53, when the candidate project selection unit 53 determines "do not continue project selection simulation (No)", that is, when the manager determines "do not continue", or when the candidate project selection unit 53 determines "the project selection simulation has been performed a given number of times", or when the candidate project selection unit 53 determines "the expected project selection simulation evaluation result group has been obtained", the process moves to the next step S54.
[0440] In step S54, the variable parameter project analysis unit 55 can determine whether a candidate raw material has a significant impact on the change (or increase) in the yield of target substance A caused by changing the amount of solubility of the candidate raw material, based on the obtained project selection simulation evaluation results. Based on this, it can be restricted to becoming a raw material for the variable parameter project.
[0441] In the next step S55, the search range setting unit 56, for each raw material of the variable parameter item whose range was narrowed in step S54 due to its influence on the production change (or production increase) of the target substance A, estimates the search range of the settable solubility based on past actual performance results and the trend of the evaluation results, and sets the estimated given search range for each raw material of the variable parameter item.
[0442] In step S211, the template execution program output unit 1506 sets the search range obtained by the search range setting unit in the starting point execution program, generates a template execution program based on the starting point execution program, outputs the template execution program, and ends the above template execution program generation process.
[0443] It should be noted that in the above embodiments, the scenario of repeatedly performing project selection simulation by changing the dissolution amount of each of the fixed combination of candidate raw materials with fixed types and quantities (m) is described. Of course, it is also possible to change the types and quantities of the combination of candidate raw materials as appropriate and repeatedly perform project selection simulation.
[0444] (5-2) A template execution program for simulation was generated using variable parameter values to select the simulation parameters.
[0445] The following explains the simulation for selecting variable parameter values. In this case, in the process optimization method, when selecting variable parameter values from the search range of the template execution program, for multiple (e.g., m1) raw materials that make up the culture medium M, the range of their respective solubilities (mol / L) in 1 (L) that maximize the yield [g / L] of the target substance A is narrowed down, and the variable parameter values are selected based on this.
[0446] Here, Figure 61 This is a block diagram showing the structure of the variable parameter value setting unit 61 in the fifth embodiment. Furthermore, Figure 62 This is a flowchart illustrating the variable parameter value setting process of the fifth embodiment. (Example) Figure 61 As shown, the variable parameter value setting unit 61 includes: a variable parameter value selection simulation analysis unit 62, a variable parameter value analysis unit 1601, and a variable parameter value selection unit 1602.
[0447] like Figure 62 As shown, the variable parameter value selection simulation analysis unit 62 starts the variable parameter value setting process from the start step. In the next step S70, a given amount of dissolution (e.g., the amount of dissolution of raw material m1 in 1 (L) L1, the amount of dissolution of raw material m2 L2, the amount of dissolution of raw material m3 L3, ..., etc.) is randomly selected from the search range of each raw material set in the variable parameter item as a candidate variable parameter value (hereinafter also referred to as "candidate dissolution amount").
[0448] In the next step S71, the variable parameter value selection simulation analysis unit 62 uses the candidate solubility of each raw material randomly selected in step S70 as input to perform a variable parameter value selection simulation, and obtains information related to "how the yield of target substance A is distributed when different concentrations of culture medium are input", which is used as the variable parameter value selection simulation evaluation result.
[0449] Here, in simulations with selected variable parameter values, such as using cell simulations like E-cell, biochemical reaction systems operating under non-ideal conditions such as molecular mixing or localized presence can be pre-modeled. This allows for virtual simulations such as: for example, culturing *E. coli* X in a culture medium M composed of m raw materials at specified solubilities (e.g., raw material m1 at solubility L1, raw material m2 at solubility L2, raw material m3 at solubility L3, ..., etc.), assuming the expression of enzyme P is induced, what is the expected yield of target substance A?
[0450] The variable parameter value selection simulation analysis unit 62 uses the variable parameter value selection simulation evaluation result as an example. For instance, it takes a given time T as the start time T from the start of the variable parameter value selection simulation. Based on the project selection simulation result, it calculates the integral value of the yield of target substance A from the start time T to time (T+Δt) and uses it as the variable parameter value selection simulation evaluation result.
[0451] In the next step S72, the variable parameter value selection simulation analysis unit 62 determines whether to reselect candidate solubility from the search range for variable parameter value selection simulation processing. If the variable parameter value selection simulation analysis unit 62 determines "Continue variable parameter value selection simulation (Yes)" in step S72, meaning the administrator has determined "Continue," or if the variable parameter value selection simulation analysis unit 62 determines "The given number of variable parameter value selection simulations has not been performed," or if the variable parameter value selection simulation analysis unit 62 determines "The expected variable parameter value selection simulation evaluation result group has not been obtained," then it returns to the above step S70, randomly selects candidate solubility from the search range, and performs variable parameter value selection simulation again.
[0452] In this way, multiple candidate combinations of m raw materials with different solubility are generated. For each candidate combination, a simulation with selected variable parameter values is performed. The integral value of the yield of target substance A is calculated for each candidate combination and used as the simulation evaluation result of the selected variable parameter values.
[0453] On the other hand, in step S72, when the variable parameter value selection simulation analysis unit 62 determines "not to continue variable parameter value selection simulation (No)", that is, the administrator determines "not to continue", or the variable parameter value selection simulation analysis unit 62 determines "the variable parameter value selection simulation has been performed a given number of times", or the variable parameter value selection simulation analysis unit 62 determines "the expected variable parameter value selection simulation evaluation result group has been obtained", the process moves to the next step S73.
[0454] In step S73, the variable parameter value analysis unit 1601, for example, selects simulation evaluation results based on variable parameter values to obtain the distribution trend of candidate variable parameter values and the selected variable parameter values simulation evaluation results, and limits the range of solubility from the search range of each raw material according to the distribution trend. In the next step S74, the variable parameter value selection unit 1602 selects the variable parameter values (solution amounts) of each raw material from the range of variable parameter values limited by the distribution trend of the selected variable parameter values and the selected variable parameter values simulation evaluation results, generates multiple execution programs with different solubility amounts of each raw material for the variable parameter item, and ends the above-mentioned variable parameter value setting processing program.
[0455] It should be noted that although there are no particular restrictions on the method of limiting the range of variable parameter values from the simulation results and selecting variable parameter values from the limited range, it is preferable to analyze the simulation evaluation results of variable parameter value selection and select the variable parameter values that are expected to obtain the best evaluation results.
[0456] Here, Figure 63 Figure 63A is a schematic diagram showing the distribution trend of candidate variable parameter values and the simulation evaluation results of variable parameter value selection. For example, for the sake of simplification, two variable parameter items (raw materials) are used. The candidate variable parameter values (candidate solubility) are changed for each variable parameter item and a variable parameter value selection simulation is performed. The output results of the variable parameter value selection simulation evaluation results are used to predict how much the yield of target substance A can be achieved.
[0457] Here, Figure 63 Section 63A shows, for example, when performing simulations with selected variable parameter values, that the horizontal axis represents the candidate solubility of the first raw material a1, the vertical axis represents the candidate solubility of the second candidate raw material b1, and the simulation evaluation results obtained for each selected variable parameter value are represented by color differentiation. From the distribution trend of such simulation evaluation results with selected variable parameter values, the range of variable parameter values that are presumed to be optimal is narrowed down, and from the narrowed range of variable parameter values, the variable parameter values (solution amounts) for each raw material specified in the execution program are selected.
[0458] It should be noted that, here, the variable parameter value analysis unit 1601 may use, for example, the candidate solubility of each raw material used for the variable parameter value selection simulation as the explanatory variable, and the variable parameter value selection simulation evaluation result as the target variable to generate a regression model, and based on the analysis results of the regression model, limit the range of the optimal solubility of the raw material, and select a variable parameter value from the limited range.
[0459] In addition, at this time, the variable parameter value analysis unit 1601 may use, in addition to the candidate dissolution amount of each raw material used for the variable parameter value selection simulation as explanatory variables, the past execution results or execution results (dissolution amount) stored in the database 8 as explanatory variables, and use the evaluation results or evaluation results (yield) of the execution results and the evaluation results of the variable parameter value selection simulation as target variables to generate a regression model. Based on the analysis results of the regression model, the range of the optimal dissolution amount of the raw material is limited, and the variable parameter value is selected from the limited range.
[0460] It should be noted that this simulation is performed with variable parameter values selected, limiting the range of variable parameter values (dissolution amount) of the raw material that increases the yield change of target substance A. The variable parameter values of the raw material are selected based on this, but the present invention is not limited to this.
[0461] As another implementation method, the input and output of the simulation with selected variable parameter values can be used as training data to train a machine learning model (regression model) such as a neural network, resulting in a trained regression model that can differentiate the output from the input. This ensures that even the trained regression model can obtain analysis results that are similar to those of the simulation with selected variable parameter values, and the range of optimal variable parameter values is limited by this regression model a.
[0462] In this case, it is preferable to store such a trained regression model a in the database 8 beforehand. Accordingly, when the variable parameter value analysis unit 1601 limits the dissolution amount of each raw material that increases the change in the yield of target substance A, it is not necessary to perform a variable parameter value selection simulation; the trained regression model a can be used to limit the range of the optimal dissolution amount of the raw materials.
[0463] When using a trained regression model a, the computational burden can sometimes be reduced compared to simulation with selected variable parameter values. It can also obtain analytical results that are similar to the evaluation results of simulation with selected variable parameter values in a shorter time than simulation with selected variable parameter values. Simulation can be used to efficiently search for the amount of solution that becomes a variable parameter value.
[0464] It should be noted that, when training regression model a, in addition to selecting the simulated input and output by variable parameter values, the execution results and evaluation results stored in database 8 can also be used as training data to train the machine learning model (regression model a).
[0465] In addition, as another implementation method, a regression model b can be applied to limit the range of variable parameter values. For example, the input and output of the simulation with selected variable parameter values can be used as training data to generate a trained regression model a that extracts characteristic hyperparameter values as features by changing the variable parameter value (the amount of raw material dissolved).
[0466] Then, by referring to the hyperparameter values and other features extracted from the trained regression model, a final regression model b can be generated, with past performance results (raw materials of culture medium M used in the past) or evaluation results (yield of target substance A at that time) as explanatory variables and the evaluation results as the target variable.
[0467] It should be noted that referring to the hyperparameter values and other features extracted from the trained regression model a to generate the final regression model b refers to, for example, the following situations.
[0468] 1. Here, the regression model f(x / w) takes the d-dimensional vector x as input. Furthermore, it is assumed that there are k weighted variables w (integers 1 ≤ k).
[0469] 2. The regression model described in point 1 above, which regresses data, refers to updating i (integers 1 ≤ i ≤ k) of the k weighted variables w to make the output of the regression model conform to the data. (For example, determining the approximate variable parameter values and selecting the weights of the regression model to simulate the input and output, etc.)
[0470] 3. The method for transferring the feature quantities of regression model a obtained in 2 above to other regression models b (such as transplanting the conclusions of regression model a trained to approximate the simulated input and output values of variable parameters to the final regression model b used for actually selecting variable parameter values) generally follows the patterns described in (1) and (2). For example, when regression model a and the final regression model b are multiplied with the same functional form,
[0471] (1) Substitute some or all of the k weight variables of the trained regression model a into the corresponding weight variables of the final regression model b.
[0472] (2) Extract (or be created by the administrator) one or more relations or inequalities such as c(w)=0 or c(w)>0 that hold true among the k weighted variables of regression model a, so that the weight variables w of the final regression model b (during training) also satisfy the same relations.
[0473] Furthermore, when regression model a and the final regression model b are not of the same functional form, the feature quantities of regression model a can be transferred to other regression models b by training the final regression model b to approximate the input and output of regression model a.
[0474] The variable parameter value analysis unit 1601 uses the final regression model obtained in this way to limit the range of the amount of raw material dissolved that would increase the change in the yield of target substance A.
[0475] Here, use Figure 63The following are simpler examples of generating the final regression model b from the features extracted from the above-trained regression model a, denoted as 63B, 63C, 63D, and 63E.
[0476] Figure 63 63B, 63C, and 63D are schematic diagrams illustrating, for example, two raw materials are specified as variable parameter items, the search range ER1 of each variable parameter value is performed in the template execution program, and the feature quantities extracted from the trained regression model a using the selected simulation evaluation results using the variable parameter values are displayed as regions ER2, ER3, and ER4.
[0477] In this case, by explicitly describing the constraints (without unknowns or degrees of freedom), the search range ER1 can be limited to regions ER2, ER3, and ER4, and these can be extracted as features.
[0478] For example, Figure 63 Figure 63E is a diagram illustrating that "the search range is not limited to objects that can be explicitly written as regions as in 63D, but can also have more than one unknown or degree of freedom." In 63D, the narrowed search range is uniquely specified, but in 63E, the search range itself is characterized by the unknown c. In actual searching, for example, by describing the search range characterized by this unknown c in a regression model b used to generate the variable parameter values for actual execution, the result is an effect of limiting the search range.
[0479] (5-3) Functions and Effects
[0480] In the above structure, the production process optimization method in the fifth embodiment is similar to that in the first embodiment. Through production process optimization processing, the following are generated: an execution program for the production process and its evaluation process; an execution plan, i.e., data indicating when each execution entity should coordinate to perform each operation within the execution program; and execution instruction information instructing the execution entities of the execution environment 100 to perform the corresponding operations according to the execution plan. Therefore, the production process optimization method in the fifth embodiment can achieve the same effect as the first embodiment.
[0481] Furthermore, in the production process optimization method of the fifth embodiment, a selection parameter value (solution amount) for candidate variable parameter items (candidate raw materials) that can be predicted to yield a specified evaluation result is selected. A project selection simulation is performed by taking the selection parameter value of the selected candidate raw material as input and the evaluation result (change in the yield of the target substance) as output. Based on the results of the project selection simulation, variable parameter items are pre-limited (variable parameter item determination step). Accordingly, in the fifth embodiment, it is possible to pre-narrow the range of raw materials constituting the culture medium M from hundreds of candidate raw materials that can approximately maximize the yield of the target substance A, thus significantly reducing the number of times the execution procedure is actually executed in the execution environment 100.
[0482] Furthermore, in the production process optimization method of the fifth embodiment, a variable parameter value selection simulation is performed through computational processing. Based on the results of the variable parameter value selection simulation, the range of variable parameter values is pre-limited (variable parameter value determination step). In this variable parameter value selection simulation, candidate variable parameter values (candidate raw materials) that are predicted to yield the specified evaluation results are selected. The selected candidate variable parameter values are used as input, and the evaluation result (change in the yield of the target substance) is output. Accordingly, in the fifth embodiment, it is possible to pre-narrow the range of the amount of raw material dissolved in the raw materials constituting the culture medium M that approximately maximizes the yield of the target substance A, thus significantly reducing the number of execution procedures actually performed in the execution environment 100.
[0483] Furthermore, as an example of the variable parameter value determination step, the input and output of the variable parameter value selection simulation can be used as training data to generate a trained regression model capable of differentiating the output from the input. Based on this trained regression model, the range of variable parameter values can be constrained. Accordingly, analytical results approximating the evaluation results of the variable parameter value selection simulation can be obtained in a shorter time than the time required for the variable parameter value selection simulation, thus efficiently searching for variable parameter values.
[0484] Furthermore, as an example of the variable parameter value determination step, the input and output of the selected variable parameter values can be used as training data to generate a trained regression model that extracts features corresponding to changes in candidate variable parameter values, and a final regression model that uses the features extracted from the trained regression model can be generated. Based on the final regression model, the range of the variable parameter values can be limited.
[0485] As described above, in the production process optimization method, by selecting simulation for projects and selecting simulation for variable parameter values, it is possible to limit the variable parameter projects or variable parameter values of the template execution program to a certain extent, thereby significantly reducing the number of executions performed by the reagent in the execution environment 100.
[0486] Especially in cases like biological devices with many implicit variables and complex execution environments (100), by using these project selection simulations and variable parameter value selection simulations, the number of searches for optimal production conditions by the execution entity in execution environment (100) can be effectively reduced.
[0487] It should be noted that in the production process optimization method of the fifth embodiment, the production process of producing compound A by culturing Escherichia coli X in culture medium M and inducing the expression of enzyme P was described as an example. In addition, it can of course be applied to various production processes such as the production process of producing blended beans by mixing multiple coffee beans, the production process of producing castings made of ferroalloys by mixing multiple raw materials, and the production process of producing a given dish using multiple ingredients.
[0488] (6) Other implementation methods
[0489] The embodiments described above are for the purpose of understanding the present invention and are not intended to limit or interpret the present invention. The present invention can be modified and improved without departing from its spirit, and its equivalents are also included in the present invention.
[0490] Alternatively, the production process optimization method may be a combination of the contents of the first to fifth embodiments described above. For example, it may be a production process optimization method of the second embodiment, which rewrites constraints based on verification rules, that incorporates the structure of the production process optimization method of the fifth embodiment, such as performing project selection simulation. Furthermore, it may be a production process optimization method of the third embodiment, which adds / modifies constraints on the template execution program based on the addition / modification of constraints based on past execution results, that incorporates the structure of the production process optimization method of the fourth embodiment, which performs simulation on whether or not it can be executed.
[0491] Furthermore, in the first to fifth embodiments described above, for execution subjects whose variable parameter values set in the execution program may be inconsistent with the variable parameter values obtained by the execution subject through the execution results, an inference can be made based on the past execution performance results of the execution subject.
[0492] For example, it is possible that in a production process of making blended coffee beans by mixing two types of coffee beans, during the operation of "roasting coffee bean B" as specified in the program, the roasting time is set to "700 sec", and the roaster X performs "roasting coffee bean B".
[0493] At this point, when the past performance result of "baking machine X cannot guarantee a baking time of more than 650 seconds" is obtained, it can be inferred in this production process optimization method that "even if baking machine X executes the execution program, the 'baking time of 700 seconds' indicated to baking machine X by the execution program may not be consistent with the variable parameter value (e.g., 'baking time of 650 seconds') obtained by baking machine X through the execution result".
[0494] In this case, the preferred method for optimizing the production process is to generate an execution program that modifies the baking time to be executable by the baking machine X.
[0495] Furthermore, in the first to fifth embodiments described above, a correction step may also be included, which calculates the deviation between the variable parameter value set in the execution program and the actual measured value of the variable parameter value executed by the execution entity according to the execution program, and changes the variable parameter value of the execution program in subsequent executions to correct the deviation.
[0496] For example, in a blending process for producing blended coffee beans, if the variable parameter value "roasting time 700 sec" is set in the execution program, and the actual measured value of the roaster X, acting as the execution entity, is "roasting time 650 sec" when executing the program, the deviation (50 sec) between these variable parameter values and the measured value is calculated. In the process optimization method, the content of the execution instructions for this execution entity is changed in subsequent iterations so that the execution entity, having obtained the measured value, corrects for this deviation (50 sec).
[0497] In addition, it may include a prompting step that presents information obtained by comparing the distribution of such deviations with the distribution of evaluation results to the implementing entity.
[0498] (7) Search for associated execution programs
[0499] It should be noted that in the above embodiments, the execution performance results and evaluation performance results of the associated execution program are retrieved from the database 8 based on the terms specified in operation item 26a in the starting execution program, but the present invention is not limited thereto. For example, not only operation item 26a in the starting execution program, but also terms specified in any of the other input items 26b, output items 26c, execution parameter items 26d, and constraint condition items 26e can be used to retrieve the execution performance results and evaluation performance results of the associated execution program from the database 8.
[0500] In addition, besides simple searches based on terminology identity, searches can also be conducted on items related to the execution process at the starting point, at least as specified in operation item 26a, input item 26b, output item 26c, execution parameter item 26d, and constraint item 26e, such as (i) technical processing / processing methods such as processing methods, heating methods, cooling methods, shaping methods, compression methods, or sorting methods; (ii) operation objects such as coffee beans, raw materials, or ingredients; (iii) products obtained through operation such as coffee beans (roasted), blended beans, target substances, finished products, or dishes; and (iv) evaluation methods such as qualitative and quantitative evaluation, appearance evaluation, shape evaluation, or quality evaluation. Based on these predetermined items, the execution results and evaluation results of the associated execution procedures can be retrieved from database 8.
[0501] For example, with Figure 2 The starting execution procedure for "mixing coffee beans A and B" shown is an example. Alternatively, the following can be retrieved from database 8: (i) execution results and evaluation results for coffee beans similar in composition or type to those specified in input item 26b of the starting execution procedure, coffee beans similar in strain, variety, or gene to those specified in those coffee beans A and B; (ii) execution results and evaluation results similar in qualitative and quantitative evaluation results specified in output item 26c of the evaluation process of the starting execution procedure; (iii) execution results and evaluation results for roasting methods, roasting temperatures, roasting times, and evaluation indicators similar to those specified in execution parameter item 26d of the starting execution procedure; and (iv) execution results and evaluation results within a given range, including time constraints or execution condition constraints specified in constraint item 26e of the starting execution procedure. These can be used as the execution results and evaluation results for the associated execution procedure.
[0502] In addition, with Figure 2 The starting execution procedure shown as "mixture of coffee beans A and B" is used as an example to illustrate the retrieval method for the execution performance results and evaluation performance results of associated execution procedures. However, as other examples, examples of retrieval methods for the execution performance results and evaluation performance results of associated execution procedures when a starting execution procedure related to "cell culture" is generated are also illustrated.
[0503] In this case, in addition to retrieving execution performance results and evaluation performance results from database 8 that contain terms identical to those specified in the operation item 26a, input item 26b, output item 26c, execution parameter item 26d, or constraint item 26e of the starting point execution program, which are the same as the execution performance results and evaluation performance results of the associated execution program, it is not only a simple search based on the identity of terms. It is also possible to predetermine these matters and matters associated with composition, variety, gene, homology, production conditions, etc., and retrieve the execution performance results and evaluation performance results of the associated execution program from database 8 based on the predetermined matters.
[0504] For example, the following can also be retrieved from database 8: (i) the execution results and evaluation results of the culture medium components and homologous materials, materials with similar strains, materials with similar metabolic pathway networks, etc., specified in the input item 26b of the starting execution program; (ii) the execution results and evaluation results of materials that have changed the target material, homologous materials, materials with similar sequences, materials with similar codons, materials with similar metabolic pathway networks, etc., specified in the output item 26c of the starting execution program; or evaluation results other than those obtained using the same evaluation method in the evaluation process. The following are considered as the execution results and evaluation results of the associated execution procedure: (iii) execution results and evaluation results of the same or similar execution performance, purity, physical properties (toughness, tensile strength, elasticity, etc.); (iv) execution results and evaluation results of the same or similar execution performance, including the same or similar baking method, baking temperature, baking time, and evaluation index as specified in the execution parameter item 26d of the starting execution procedure; and (iv) execution results and evaluation results of the same execution performance, including ...
[0505] Explanation of symbols
[0506] 1: Production process optimization system;
[0507] 2: Production process optimization device;
[0508] 3a, 3b, 3c, 3d: Communication devices;
[0509] 8: Database;
[0510] 11: Receiving and Dispatch Department (Execution Result Acquisition Department, Evaluation Result Acquisition Department);
[0511] 15: Template Execution Program Generation Section;
[0512] 16: Variable parameter value setting unit;
[0513] 17: Execution program generation section;
[0514] 19: Execution Plan Generation Department;
[0515] 20: Execution Instruction Information Generation Department;
[0516] 1501: Starting point execution program acquisition section;
[0517] 1504: Variable Parameter Item Determination Section;
[0518] t: The abstract syntax tree (syntax tree) of the executable program;
[0519] t´: Extended abstract syntax tree (syntax tree).
Claims
1. A method for optimizing a production process, wherein, The production process optimization method includes: The acquisition step involves acquiring the starting point execution program that serves as the search starting point. The starting point execution program specifies one or more operations to be performed in the production process and specifies content related to the operations. The variable parameter item determination step identifies one or more variable parameter items that can have their variable parameter values set in the starting point execution program. The template executor generation step generates a template executor, which sets a search range, and the search range displays the range of variable parameter values that can be set in the variable parameter item; The execution program generation step involves selecting the variable parameter value from the search range specified in the template execution program based on past execution performance results and their evaluation performance results, setting the selected variable parameter value in the variable parameter item determined by the variable parameter item determination step, and generating the execution program. The execution result acquisition step involves obtaining the execution result when the execution entity actually executes the execution program in the execution environment. The evaluation result acquisition step involves obtaining the evaluation result of the execution result; and The storage step involves storing the execution program, the variable parameter values, the execution result, and the evaluation result in a corresponding manner.
2. The production process optimization method according to claim 1, wherein, In the variable parameter item determination step, based on the execution performance results when the execution entity in the execution environment executes according to a past execution program that is the same as or associated with the starting execution program, one or more variable parameter items that can set the variable parameter value in the starting execution program are determined.
3. The production process optimization method according to claim 1 or 2, wherein, In the execution program generation step, the variable parameter value is determined based on the execution performance results when the execution subject in the execution environment executes a past execution program that is the same as or associated with the starting execution program.
4. The production process optimization method according to claim 1, wherein, In the execution process generation step, a regression model is generated based on the execution results, and the variable parameter values set in the variable parameter item are determined using the regression model.
5. The production process optimization method according to claim 1, wherein, In the execution process generation step, the variable parameter values are set to obtain the desired evaluation results.
6. The production process optimization method according to claim 1, wherein, The evaluation result is at least one of the following: cost, output, quality, execution time, deviations from their given target values, and the cost, output, quality, execution time, deviations from their given target values involved in the execution procedure.
7. The production process optimization method according to claim 1, wherein, The production process optimization method further includes an execution plan generation step, in which an execution plan is generated. The generated execution plan shows how the respective corresponding execution entities coordinate to execute the multiple operations specified in the execution program in a time sequence within the execution environment.
8. The production process optimization method according to claim 7, wherein, In the execution plan generation step, the executable program is subjected to syntax analysis to generate a syntax tree, and the execution plan is generated based on the syntax tree. The syntax tree is a data structure that can at least analyze the dependencies between the respective operations specified in the executable program, the processing objects of the operations, the products obtained by the operations, and the constraints related to the operations.
9. The production process optimization method according to claim 7 or 8, wherein, The production process optimization method further includes an execution environment information acquisition step, in which execution environment information is acquired. This execution environment information displays the executing entity that actually performs the operation specified in the execution program within the execution environment. In the execution plan generation step, the execution plan is generated based on the execution program and the execution environment information.
10. The production process optimization method according to claim 7 or 8, wherein, The execution plan is generated in the execution plan generation step, and the execution plan takes into account the constraints set in the constraint items of the execution program.
11. The production process optimization method according to claim 1, wherein, The production process optimization method further includes an execution instruction information generation step, in which execution instruction information is generated, and the execution instruction information instructs the execution subject in the execution environment to perform the operation specified in the execution program.
12. The production process optimization method according to claim 11, wherein, In the execution instruction information generation step, the constraints set in the constraint condition item of the execution program are extracted and included in the execution instruction information.
13. The production process optimization method according to claim 1, wherein, In the program generation step, the constraints of the execution subject when implementing the program in the execution environment are set in the constraint condition item of the execution program.
14. The production process optimization method according to claim 13, wherein, In the execution program generation step, as a constraint condition, a time constraint related to the operation is set in the constraint condition item.
15. The production process optimization method according to claim 14, wherein, In the execution program generation step, the time constraint includes at least one of the time constraint that specifies the execution time spent by the execution entity when performing the operation and the time constraint that sets a time constraint between the operations.
16. The production process optimization method according to claim 13, wherein, In the execution program generation step, as a constraint condition, a parallelism constraint is set in the constraint condition item to specify whether the multiple operations can be performed in parallel.
17. The production process optimization method according to claim 13, wherein, In the execution program generation step, execution condition constraints are set in the constraint condition item. The execution condition constraints stipulate that the operation must be performed within the specified conditions.
18. The production process optimization method according to claim 13, wherein, The production process optimization method also includes: The verification rule setting steps include setting verification rules, wherein the verification rules rewrite the constraint conditions based on the set variable parameter values; and The rewriting step involves rewriting the constraint conditions of the execution program when the constraint conditions need to be modified according to the variable parameter values based on the verification rules.
19. The production process optimization method according to claim 18, wherein, In the verification rule setting step, the verification rules are set based on the execution performance results and the evaluation performance results.
20. The production process optimization method according to claim 13, wherein, In the execution program generation step, if the constraint that is not present in the starting execution program exists in the execution performance result, the constraint is set in the constraint item.
21. The production process optimization method according to claim 13, wherein, In the execution program generation step, when there is a correction history of the constraint in the execution performance results, the corresponding constraint of the execution program is corrected according to the correction history.
22. The production process optimization method according to claim 1, wherein, The production process optimization method further includes a simulation step, in which execution environment constraints related to the environmental state of the execution environment are obtained. By performing the simulation, it is inferred whether the execution subject can perform the operation in the execution environment according to the execution procedure, even if the execution environment constraints exist.
23. The production process optimization method according to claim 22, wherein, In the execution program generation step, when the execution simulation suggests that the execution subject cannot perform the operation in the execution environment according to the execution program, the execution program reflecting the constraints of the execution environment is generated.
24. The production process optimization method according to claim 22, wherein, The production process optimization method further includes an execution plan generation step, in which an execution plan is generated. The generated execution plan shows how the corresponding execution entities coordinate and execute the multiple operations specified in the execution program in a time sequence within the execution environment. In the execution simulation step, if the execution simulation indicates that the execution subject cannot perform the operation in the execution environment according to the execution procedure, an execution plan reflecting the constraints of the execution environment is generated.
25. The production process optimization method according to claim 22, wherein, The production process optimization method further includes an execution instruction information generation step, in which execution instruction information is generated, which instructs the execution subject in the execution environment to perform the operation specified in the execution program. In the simulation step, if it is inferred from the simulation that the executing entity cannot perform the operation in the execution environment according to the execution program, the execution instruction information reflecting the constraints of the execution environment is generated.
26. The production process optimization method according to claim 1, wherein, In the variable parameter item determination step, an item selection simulation is performed through computational processing. The variable parameter item is selected based on the result of the item selection simulation. The item selection simulation selects the item selection parameter value from the candidate variable parameter items that can be predicted to obtain the specified evaluation result. The selected item selection parameter value is used as input, and the evaluation result is used as output.
27. The production process optimization method according to claim 1, wherein, In the execution program generation step, a variable parameter value selection simulation is performed through computational processing. The range of the variable parameter values is limited based on the results of the variable parameter value selection simulation. The variable parameter value selection simulation selects candidate variable parameter values that can be used to predict the variable parameter values that will obtain the specified evaluation results. The selected candidate variable parameter values are used as inputs, and the evaluation results are used as outputs.
28. The production process optimization method according to claim 27, wherein, The variable parameter values are selected and simulated using the input and output as training data to generate a trained regression model that can differentiate the output from the input. The range of the variable parameter values is then limited based on the regression model.
29. The production process optimization method according to claim 27, wherein, The input and output of the selected variable parameter values are used as training data to generate a trained regression model that extracts features corresponding to the changes in the candidate variable parameter values. The range of the variable parameter values is limited based on the regression model that uses the features extracted from the trained regression model.
30. The production process optimization method according to claim 1, wherein, Based on the past execution performance results of the executing entity, it is presumed that the variable parameter value set in the execution program is inconsistent with the variable parameter value obtained through the execution results and executed by the executing entity.
31. The production process optimization method according to claim 1, wherein, The production process optimization method further includes a step of changing the content of the execution instruction information. In the step of changing the content of the execution instruction information, the deviation between the variable parameter value set in the execution program and the actual measured value of the variable parameter value executed by the execution subject according to the execution program is calculated, so as to instruct the execution subject to correct the deviation and change the content of the execution instruction information that instructs the execution subject to perform the operation in the next and subsequent times.
32. The production process optimization method according to claim 1, wherein, The production process optimization method further includes a prompting step, in which the deviation between the variable parameter value set in the execution program and the actual measured value of the variable parameter value executed by the execution subject according to the execution program is calculated, and the information obtained by comparing the distribution of the deviation and the distribution of the evaluation results is prompted to the execution subject.
33. A production process optimization system for optimizing production processes, wherein, The production process optimization system includes: The starting point execution program acquisition unit acquires the starting point execution program that serves as the search starting point. The starting point execution program specifies one or more operations to be performed in the production process and specifies content related to the operations. A variable parameter item determination unit determines one or more variable parameter items whose variable parameter values can be set in the starting point execution program. The template executor generation unit generates a template executor, which sets a search range that displays the range of variable parameter values that can be set in the variable parameter item. The execution program generation unit selects the variable parameter value from the search range specified in the template execution program based on past execution performance results and its evaluation performance results, sets the selected variable parameter value in the variable parameter items determined by the variable parameter item determination unit, and generates the execution program. The execution result acquisition unit acquires the execution result when the execution subject executes the execution in the execution environment according to the execution program. An evaluation result acquisition unit acquires the evaluation result of the execution result; and The database stores the corresponding information of the executor, the variable parameter values, the execution results, and the evaluation results.
Citation Information
Patent Citations
System and method for management, execution, and analysis of laboratory experiments
US20180196913A1
Automatic Parameter Adjustment Device For Adjusting Parameter Corresponding To Processing Condition
CN105785918A