Computer system, parameter optimization method, and program

WO2026159802A1PCT designated stage Publication Date: 2026-07-30HITACHI LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HITACHI LTD
Filing Date
2025-01-22
Publication Date
2026-07-30

Smart Images

  • Figure JP2025001887_30072026_PF_FP_ABST
    Figure JP2025001887_30072026_PF_FP_ABST
Patent Text Reader

Abstract

This computer system repeatedly executes: first processing of generating a plurality of initial individuals, for individuals that are vectors having a plurality of parameter values as components, determining whether new individuals generated by crossing the plurality of individuals conform to a preset rule, and performing evaluation for selecting an individual of the next generation from among the new individuals; second processing of selecting a plurality of individuals of the next generation on the basis of the result of the evaluation; third processing of recording the new individuals in a storage device together with the result of the determination; and fourth processing of calculating a distance threshold defining a range of individuals violating the rule on the basis of a distribution of the individuals recorded in the storage device in a parameter space. On the basis of the result of the evaluation, this computer system selects an optimal individual from among individuals of a predetermined generation . The first processing determines whether a new individual conforms to the rule, on the basis of the result of comparison between the distance threshold and the distance between the new individual and the individual violating the rule.
Need to check novelty before this filing date? Find Prior Art

Description

Computer system, parameter optimization method, and program

[0001] The present invention relates to a computer system, method, and program for searching for optimal parameter values.

[0002] In designing models used for simulation and prediction, it is necessary to optimize the parameters that define the model.

[0003] Parameter optimization can be treated as a mathematical optimization problem. Genetic algorithms are known as methods for searching for the optimal solution of parameters. However, this method has the drawback of being computationally expensive because it requires exhaustive searching of the entire parameter space with the parameter being optimized as its dimension.

[0004] In contrast, the technology described in Patent Document 1 is known. Patent Document 1 states that "the values ​​of the decision variables evaluated by the multi-objective evolutionary algorithm unit 2, the fitness output from the optimization target 6, and the constraint violation flags indicating whether or not the constraint variable values ​​output from the optimization target 6 violate the constraint conditions are associated as a search history and stored in the search history storage unit 3. When determining the value of the decision variable to be evaluated, a predetermined number of evaluated decision variable values ​​that are closer to the value of the unevaluated decision variable are selected from the search history stored in the search history storage unit 3, and it is determined whether or not the value of the unevaluated decision variable should be evaluated based on whether or not the constraint violation flags corresponding to the selected predetermined number of decision variable values ​​indicate a violation of the constraint conditions."

[0005] Japanese Patent Publication No. 2010-152851

[0006] The technology described in Patent Document 1 determines whether or not to evaluate an individual (candidate parameter value) using the nearest neighbor method. More specifically, if an individual in the search history that is in the vicinity of the target individual violates the constraint, the target individual is presumed to be an individual that violates the constraint, and the evaluation is controlled not to be performed. In this method, in regions where more individuals that violate the constraint are recorded in the search history than individuals that do not violate the constraint, the target individual is presumed to be an individual that violates the constraint.

[0007] When the model exhibits strong nonlinearity, the region containing individuals that conform to predetermined rules, such as constraints, and the region containing individuals that violate those rules have complex geographical features. Therefore, if an individual that represents the optimal solution exists near a region containing individuals that violate the rules, existing methods may exclude it from evaluation, potentially making it impossible to converge to the optimal solution through the search.

[0008] This invention provides a method for efficiently and accurately searching for the optimal value of a parameter.

[0009] A typical example of the invention disclosed in this application is as follows: A computer system for optimizing multiple parameters, comprising a processor and a memory device connected to the processor, wherein the processor repeatedly performs the following: a first process for generating multiple initial individuals, which are vectors whose components are the values ​​of the multiple parameters; a second process for selecting multiple individuals of the next generation based on the results of the evaluation; a third process for recording the new individuals generated by crossing the multiple individuals, whether they conform to a predetermined rule and for evaluation to select the next generation of individuals from among the new individuals; a second process for selecting multiple individuals of the next generation based on the results of the evaluation; a third process for recording the new individuals in the memory device along with the results of the evaluation; and a fourth process for calculating a distance threshold that defines the range of individuals that violate the rule based on the distribution of individuals recorded in the memory device in a parameter space formed from axes corresponding to the multiple parameters, and selects the optimal individual from among the individuals of a predetermined generation based on the evaluation results of the individuals of that generation, wherein the first process includes a process for determining whether the new individual conforms to the rule based on the result of comparing the distance between the new individual and the individuals that violate the rule with the distance threshold.

[0010] According to the present invention, the optimal values ​​of parameters can be searched efficiently and accurately. Problems, configurations, and effects other than those mentioned above will be clarified by the following description of the embodiments.

[0011] This is a diagram showing an example of the functional configuration of the computer in Example 1. This is a diagram showing an example of the hardware configuration of the computer in Example 1. This is a flowchart illustrating an example of the search process performed by the computer in Example 1. This is a diagram illustrating the characteristics of the search process in Example 1. This is a diagram illustrating the characteristics of the search process in Example 1. This is a diagram showing an example of a similar kinetic model. This is a diagram showing an example of a similar kinetic model.

[0012] The embodiments of the present invention will be described below with reference to the drawings. However, the present invention is not to be construed as being limited to the embodiments described below. It will be readily apparent to those skilled in the art that the specific configuration can be modified without departing from the spirit or intent of the present invention.

[0013] In the configuration of the invention described below, identical or similar components or functions are denoted by the same reference numerals, and redundant descriptions are omitted.

[0014] The designations "First," "Second," "Third," etc., used in this specification are for the purpose of identifying constituent elements and do not necessarily limit their number or order.

[0015] The positions, sizes, shapes, and ranges of each component shown in the drawings, etc., may not represent the actual positions, sizes, shapes, and ranges, etc., in order to facilitate understanding of the invention. Therefore, the present invention is not limited to the positions, sizes, shapes, and ranges, etc., disclosed in the drawings, etc.

[0016] This specification describes, as an example, an optimization problem for optimizing the parameters of a kinetic model used to simulate the metabolic dynamics of microorganisms. However, the present invention is not limited to problems treated as optimization problems.

[0017] In kinetic models, the metabolic dynamics specific to a particular species are described by an ordinary differential equation as shown in equation (1). Here, s represents a vector of concentrations of multiple metabolites, and t represents time.

[0018]

[0019] f(s) is a vector, and each component is represented by a function defined from one or more rate equations. The rate equation is given as a function such as Equation (2), for example. Here, v represents the reaction rate, s represents the substrate concentration, and V

[0025] , , represents the maximum reaction rate, and K M represents the Michaelis constant. V max and K M are parameters to be optimized in the kinetics model.

[0020]

[0021] In this embodiment, an optimal combination of a plurality of parameters is searched based on a genetic algorithm. In the genetic algorithm, after generating an initial individual, selection of individuals to be parents from the current generation population, generation of the next generation individuals by crossover and mutation of the selected individuals, evaluation of the individuals, and selection of the next generation individuals are repeatedly executed. In this embodiment, a step of determining whether evaluation is necessary is added to the conventional genetic algorithm.

[0022] In the following description, a vector having the values of the parameters to be optimized in the kinetics model as components is denoted as an individual x.

[0023] FIG. 1 is a diagram showing an example of the functional configuration of the computer 100 in Example 1. FIG. 2 is a diagram showing an example of the hardware configuration of the computer 100 in Example 1.

[0024] The computer 100 includes a processor 200, a main memory device 201, a secondary storage device 202, and a network interface 203. Each hardware element is connected to each other via a bus 204. Note that the computer 100 may include an input device such as a keyboard, a mouse, a touch panel, etc., and an output device such as a display.

[0025] The processor 200 executes a program stored in the main memory device 201. By the processor 200 executing processing according to the program, it operates as a functional unit (module) that realizes a specific function. In the following description, when explaining the processing with the functional unit as the subject, it indicates that the processor 200 is executing a program that realizes the functional unit.

[0026] The main memory device 201 is a storage device that stores programs executed by the processor 200 and information processed by the programs, and is, for example, a volatile or non-volatile memory. The main memory device 201 is also used as a work area. The auxiliary storage device 202 is a large-capacity storage device, such as an HDD (Hard Disk Drive) and an SSD, etc.

[0027] The programs and information stored in the main memory device 201 may be stored in the auxiliary storage device 202. In this case, the processor 200 reads the programs and information from the auxiliary storage device 202 and loads them into the main memory device 201.

[0028] The computer 100 has, as functional units, an individual generation unit 110, an individual determination unit 111, an individual evaluation unit 112, a threshold calculation unit 113, and an output unit 114, and also holds a model database 120 and an individual database 121.

[0029] The model database 120 stores a kinetics model. Note that when the search process described later is executed, an optimal individual is associated with the kinetics model. The individual database 121 stores information about individuals. Specifically, data associating the identification information of the kinetics model, the individual, the generation, and the applicability of the rules is stored.

[0030] The rules are set in advance by the user and are, for example, the range of parameter values. Also, conditions for simulations using the kinetics model may be set as rules.

[0031] Regarding each functional unit of the computer 100, a plurality of functional units may be grouped into one functional unit, or one functional unit may be divided into a plurality of functional units for each function.

[0032] The functional units of the computer 100 may be realized using a computer system composed of a plurality of computers 100, or may be realized using a virtual computer realized using virtualization technology.

[0033] FIG. 3 is a flowchart for explaining an example of the search process executed by the computer 100 of Example 1.

[0034] When the computer 100 receives the input of the kinematic model and the evaluation function, it starts the search process. At this time, rules or the like may be input. In this embodiment, it is assumed that it is set as a rule that the result of the simulation using the kinematic model converges to a steady state.

[0035] When the search process starts, first, the individual generation unit 110 generates an individual x of the initial generation (step S101) and sets 1 for the generation. For example, the individual generation unit 110 randomly sets each component x i of the individual x within a predetermined value range. Here, it is assumed that N individuals x are generated.

[0036] Next, the threshold calculation unit 113 calculates a neighborhood threshold based on the distribution of individuals violating the rules in the parameter space with each component x i as the dimension (step S102). For example, the threshold calculation unit 113 calculates the neighborhood threshold using the Mahalanobis distance. Here, the method for calculating the Mahalanobis distance will be described.

[0037] (Procedure 1) As shown in Equation (3), the threshold calculation unit 113 calculates the average vector μ of the set P cg of the individuals x of the current generation.

[0038] [[ID=D21]]

[0039] (Procedure 2) As shown in Equation (4), the threshold calculation unit 113 calculates the unbiased covariance matrix Σ of the individuals x of the current generation.

[0040]

[0041] (Procedure 3) The threshold calculation unit 113 calculates D M (x) obtained by Equation (5) as the Mahalanobis distance between the individual x and the average vector μ.

[0042]

[0043] (Procedure 4) The threshold calculation unit 113 calculates s obtained by Equation (6) as the neighborhood threshold r nb and calculates it.

[0044]

[0045] The initial neighbor threshold will be set to an arbitrary value. This value should be sufficiently large.

[0046] Next, the individual generation unit 110 sets a parent population by selecting a predetermined number of individuals from the current generation population without replacement (step S103).

[0047] Next, the individual generation unit 110 generates one individual by crossing over the parent individual population (step S104). For example, the crossing is performed based on a known algorithm such as REX-star.

[0048] Next, the individual determination unit 111 determines whether the generated individual is near an individual that violates the rule (step S105). Specifically, the following process is performed. Here, the generated individual is x det Let's assume that.

[0049] (S105-1) The individual determination unit 111 refers to the individual database 121 and determines the individual x that violates the rule. nc set P nc Generates.

[0050] (S105-2) The individual determination unit 111 determines the Mahalanobis distance d(x) between the generated individual and the rule-violating individual, as shown in equation (7). det , x nc ) is calculated. Here, Σ is the unbiased covariance matrix calculated using the same method as in equation (4).

[0051]

[0052] (S105-3) Individual determination unit 111 determines the Mahalanobis distance d(x det , x nc The minimum value d of ) min Calculate.

[0053] (S105-4) Individual determination unit 111 is d min and neighboring threshold r nb Compare d. min The neighbor threshold r nb If it is greater than this, the individual determination unit 111 determines that the generated individual is not in the vicinity of an individual that violates the rule. min The neighbor threshold r nbIf the following conditions are met, the individual determination unit 111 determines that the generated individual is in the vicinity of an individual that violates the rules.

[0054] Furthermore, individuals from all generations may be used, not just those from the current generation. Also, the distance defining the neighborhood of an individual that violates the rules does not have to be the Mahalanobis distance. For example, the distance may be calculated by multiplying the reciprocal of the total number of individuals in all generations by a fixed value.

[0055] The above is a description of the process in step S105.

[0056] If it is determined that a generated individual is in the vicinity of an individual that violates the rules, the individual determination unit 111 rejects the individual and calls the individual generation unit 110. The individual generation unit 110 returns to step S103 and generates a new individual.

[0057] If it is determined that the generated individual is not in the vicinity of an individual that violates the rules, the individual evaluation unit 112 determines whether or not the individual conforms to the rules (step S106). Specifically, the following processing is performed.

[0058] (S106-1) The individual evaluation unit 112 performs a simulation using a kinetic model in which parameter values ​​corresponding to the individual are set, and determines whether or not it converges to a steady state. If it does not converge to a steady state, the individual evaluation unit 112 determines that it does not conform to the rules.

[0059] Note that simulation using a kinetic model means integrating the ordinary differential equation shown in equation (1) over a predetermined time interval. If the result of the integration satisfies equation (8), it is assumed that the system has converged to a steady state.

[0060]

[0061] However, since it is difficult to obtain an s that strictly satisfies equation (8), it is common to treat a system as having converged to a steady state if it satisfies equation (9). Note that ε is a sufficiently small positive real number.

[0062]

[0063] (S106-2) If the system converges to a steady state, the individual evaluation unit 112 calculates the value of the objective function based on the simulation results and terminates the process in step S106. For example, the objective function is given by equation (10). Here, s i The symbol 's' represents the measured value of the metabolite concentration, and the 's' with a hat symbol indicates this. i This represents the concentration of metabolites obtained from the simulation.

[0064]

[0065] If constraints on parameter values ​​are set, the individual evaluation unit 112 determines whether or not the constraints are met. If the constraints are not met, the individual evaluation unit 112 determines that the generated individual cannot be set as a child individual. The determination of whether or not the constraints are met may be performed after step S104 and before step S105.

[0066] The above is a description of the process in step S106.

[0067] If the generated individual is determined not to conform to the rules, the individual evaluation unit 112 registers the individual in the individual database 121 as an individual that violates the rules (step S107), and then calls the individual generation unit 110. The individual generation unit 110 returns to step S103 and generates a new individual.

[0068] If the generated individual is determined to conform to the rules, the individual evaluation unit 112 sets that individual as a child individual (step S108).

[0069] The individual evaluation unit 112 determines that the number of offspring individuals is n c Determine whether or not this is the case (step S109).

[0070] The number of offspring is n c Otherwise, the individual evaluation unit 112 calls the individual generation unit 110. The individual generation unit 110 returns to step S103 and generates a new individual.

[0071] The number of offspring is n c If this is the case, the individual evaluation unit 112 selects n from the set of child individuals. pIndividuals are selected, and the current generation's parent individuals are swapped with the selected individuals to be set as the next generation's parent individuals (step S110). At this time, the individual evaluation unit 112 sets the next generation's generation number to a value obtained by adding 1 to the current generation's value.

[0072] Specifically, the individual evaluation unit 112 calculates n based on the value of the objective function. p Select individual offspring. If the objective function is defined by equation (8), then the number of offspring is selected in ascending order of the objective function. p Individual offspring are selected.

[0073] Next, the individual evaluation unit 112 registers the next generation parent individuals in the individual database 121 as individuals that conform to the rules (step S111).

[0074] Next, the individual evaluation unit 112 determines whether the next generation is the G generation or not (step S112).

[0075] If it is determined that the next generation is not the G generation, the individual evaluation unit 112 calls the threshold calculation unit 113. The threshold calculation unit 113 returns to step S102 and calculates the neighboring threshold.

[0076] If it is determined that the next generation is the Gth generation, the individual evaluation unit 112 selects one individual from the current generation based on the value of the evaluation function and outputs the selected individual via the output unit 114 (step S113). If the objective function is defined by equation (8), the individual with the smallest objective function is selected.

[0077] When the computer 100 receives a registration request for an output individual or an individual that has been modified from an output individual, it stores the model and the individual in association with each other in the model database 120.

[0078] Figures 4A and 4B illustrate the characteristics of the search process in Example 1.

[0079] Figures 4A and 4B represent a two-dimensional parameter space. The hatched region represents the region where rule-compliant individuals exist. Individual 400 represents the individual corresponding to the true optimal solution, and individual 401 represents the individual corresponding to the local optimal solution. Individual 402 represents the rule-compliant individual of the current generation, and individual 403 represents the rule-violating individual. The range 410 represents the boundary of the neighborhood region of individual 403.

[0080] As shown in Figure 4A, when the search has not yet converged and the current generation of rule-fitting individuals 402 are sparsely distributed, the nearest neighbor threshold r nb The value becomes large. Therefore, individual 400 corresponding to the true optimal solution is rejected. As shown in Figure 4B, when the search process begins to converge and the rule-fitting individuals 402 of the current generation are densely distributed, the neighbor threshold r nb This becomes smaller. Therefore, not only individual 401 corresponding to the local optimum, but also individual 400 corresponding to the true optimum can be evaluated. This makes it possible to converge the search to individual 400 corresponding to the true optimum.

[0081] Thus, the neighboring threshold r is determined according to the distribution of the 402 rule-compliant individuals of the current generation. nb Because the criteria change, it avoids the risk of rejecting the true optimal solution, as is the case with conventional methods such as the nearest neighbor method. Furthermore, since individuals that may violate the rules are not evaluated, the optimal solution can be searched for efficiently.

[0082] In Example 2, the method for generating the initial generation of individuals is different. Below, we will describe Example 2, focusing on the differences from Example 1.

[0083] Figures 5A and 5B show examples of similar kinetic models.

[0084] Figure 5A shows a kinetic model consisting of rate equations for n reactions assumed in the metabolism of a certain microorganism. This model has m parameters, and the individual is denoted as x. If the value of the objective function in this kinetic model does not fall below the target value, a reaction not considered in the current kinetic model is added and verified, as shown in Figure 5B. If the added parameter is assumed to be one, and the individual is denoted as y, the kinetic model is determined by x and y.

[0085] While the method described in Example 1 may be applied directly, using the results of the initial kinetic model search process allows for a more efficient search for the optimal solution. In Example 2, the search process is performed using the optimal solution of a similar kinetic model.

[0086] The hardware and functional configuration of the computer 100 in Example 2 is the same as in Example 1. In Example 2, a part of the search process is different. Specifically, the process in step S101 is different.

[0087] The individual generation unit 110 compares the input kinetic model with the kinetic models stored in the model database 120 and identifies a kinetic model similar to the input kinetic model.

[0088] For example, the individual generation unit 110 determines whether the kinetic models are similar based on the types of substances included in the kinetic models and the structure of the kinetic models.

[0089] If a kinetic model similar to the input kinetic model exists, the individual generation unit 110 generates individuals of the input kinetic model based on the optimal individual associated with the identified kinetic model.

[0090] In the kinetic model shown in Figure 5B, the parameter x is in the interval [0.5x]. optm,i , 2x optm,i The value is set randomly within the range of [0.5y], and the parameter y is set within the interval [0.5y]. init,i , 2y init,i Set randomly within the range of ]. Here, x optm,i represents the parameter value at the optimal solution x, and y init,i This represents the initial value of the parameter.

[0091] By setting initial values ​​based on the optimal solutions of similar kinetic models, the search for the optimal solution of the target kinetic model can be accelerated.

[0092] Note that the objective function used in step S106 may be different from the objective function used in the search for the optimal solution of a similar kinetic model.

[0093] It should be noted that the present invention is not limited to the embodiments described above, and various modifications are included. Furthermore, for example, the embodiments described above are detailed explanations of the configuration in order to clearly illustrate the present invention, and are not necessarily limited to those having all the configurations described. In addition, some of the configurations in each embodiment can be added to, deleted from, or replaced with other configurations.

[0094] Furthermore, each of the above-mentioned configurations, functions, processing units, processing means, etc., may be implemented in hardware, either partially or entirely, by designing them as integrated circuits, for example. The present invention can also be implemented by software program code that realizes the functions of the embodiment. In this case, a storage medium on which the program code is recorded is provided to a computer, and the processor of that computer reads the program code stored in the storage medium. In this case, the program code read from the storage medium itself realizes the functions of the embodiment described above, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media used to supply such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and the like.

[0095] Furthermore, the program code that implements the functions described in this embodiment can be implemented in a wide range of programming or scripting languages, such as assembler, C / C++, Perl, Shell, PHP, Python, and Java.

[0096] Furthermore, the program code for the software that implements the functions of the embodiment may be distributed via a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the computer's processor may read and execute the program code stored in the storage means or storage medium.

[0097] In the above-described embodiment, the control lines and information lines shown are those deemed necessary for explanation and do not necessarily represent all control lines and information lines in the actual product. All components may be interconnected.

Claims

1. A computer system for optimizing multiple parameters, comprising a processor and a memory device connected to the processor, wherein the processor repeatedly performs: a first process of generating multiple initial individuals for an individual which is a vector whose components are the values ​​of the multiple parameters; a second process of selecting multiple individuals for the next generation based on the results of the evaluation; a third process of recording the new individuals, along with the results of the evaluation, in the memory device; and a fourth process of calculating a distance threshold that defines the range of individuals that violate the rule based on the distribution of individuals recorded in the memory device in a parameter space formed from axes corresponding to the multiple parameters; and selecting the optimal individual from the individuals of a predetermined generation based on the evaluation results of the individuals of that generation, wherein the first process includes a process of determining whether the new individual conforms to the rule based on the result of comparing the distance between the new individual and the individuals that violate the rule with the distance threshold.

2. A computer system according to claim 1, wherein the plurality of parameters are parameters that define a model for performing either prediction or simulation, and the first process includes a process of determining whether the new individual conforms to the rule based on the output of the model in which the new individual is set.

3. A computer system according to claim 2, wherein the processor records the model and the optimal individual in association with each other in the storage device, and when generating initial individuals, identifies a model similar to the target model, and generates a plurality of initial individuals in the target model based on the optimal individual associated with the identified model.

4. A computer system according to claim 2, wherein the distance threshold is calculated based on the Mahalanobis distance between the average vector of the set of individuals in the current generation and the individuals in the current generation.

5. A computer system according to claim 2, wherein the model is a kinetic model for simulating the metabolic dynamics of microorganisms.

6. A parameter optimization method to be performed by a computer system, wherein the computer system has a processor and a memory device connected to the processor, and the parameter optimization method includes: a first step in which the processor generates a plurality of initial individuals for an individual which is a vector whose components are the values ​​of a plurality of parameters; a first process in which the processor performs a determination on a new individual generated by crossing the plurality of individuals whether or not it conforms to a predetermined rule and an evaluation for selecting the next generation of individuals from among the new individuals; a second process in which the processor repeatedly performs a determination on a new individual generated by crossing the plurality of individuals and an evaluation for selecting a plurality of individuals for the next generation based on the results of the evaluation; a third process in which the processor repeatedly performs a determination on a new individual generated by crossing the plurality of individuals and an evaluation for selecting the next generation of individuals from among the new individuals; a fourth process in which the processor repeatedly performs a determination on a new individual generated by crossing the plurality of individuals and an evaluation for selecting the next generation of individuals, wherein the processor repeatedly performs a distance threshold that defines the range of individuals that violate the rule based on the distribution of individuals recorded in the memory device in a parameter space formed from axes corresponding to the plurality of parameters; and a third step in which the processor selects the optimal individual from among the individuals of a predetermined generation based on the evaluation results of the individuals of that generation. The parameter optimization method is characterized in that the first process includes a process of determining whether the new individual conforms to the rule based on the result of comparing the distance between the new individual and the individual that violates the rule with the distance threshold.

7. A parameter optimization method according to claim 6, wherein the plurality of parameters are parameters that define a model for performing either prediction or simulation, and the first process includes a process of determining whether the new individual conforms to the rule based on the output of the model in which the new individual is set.

8. A parameter optimization method according to claim 7, comprising the step of the processor recording the model and the optimal individual in association with each other in the storage device, wherein the first step comprises the processor identifying a model similar to the target model and generating a plurality of initial individuals in the target model based on the optimal individual associated with the identified model.

9. A parameter optimization method according to claim 7, characterized in that the distance threshold is calculated based on the Mahalanobis distance between the average vector of the set of individuals in the current generation and the individuals in the current generation.

10. A method for optimizing parameters according to claim 7, wherein the model is a kinetic model for simulating the metabolic dynamics of microorganisms.

11. A program to be executed by a computer, wherein the computer has a processor and a memory device connected to the processor, and the program causes the computer to execute the following: a first step of generating a plurality of initial individuals for an individual which is a vector whose components are the values ​​of a plurality of parameters; a first process of determining whether a new individual generated by crossing the plurality of individuals conforms to a predetermined rule and performing an evaluation to select the next generation of individuals from among the new individuals; a second process of selecting a plurality of individuals for the next generation based on the results of the evaluation; a third process of recording the new individuals in the memory device along with the results of the determination; a fourth process of calculating a distance threshold that defines the range of individuals that violate the rule based on the distribution of individuals recorded in the memory device in a parameter space formed from axes corresponding to the plurality of parameters; and a third step of the processor selecting the optimal individual from among the individuals of a predetermined generation based on the evaluation results of the individuals of that generation. The first process is a program characterized by including a process to determine whether the new individual conforms to the rule based on the result of comparing the distance between the new individual and the individual that violates the rule with the distance threshold.

12. A program according to claim 11, wherein the plurality of parameters are parameters that define a model for performing either prediction or simulation, and the first process includes a process that determines whether the new individual conforms to the rule based on the output of the model in which the new individual is set.

13. A program according to claim 12, wherein the computer is made to perform a procedure for recording the model and the optimal individual in association with each other in the storage device, the first procedure being characterized in that it includes a procedure for identifying a model similar to the target model and generating a plurality of initial individuals in the target model based on the optimal individual associated with the identified model.

14. A program according to claim 12, wherein the distance threshold is calculated based on the Mahalanobis distance between the average vector of the set of individuals in the current generation and the individuals in the current generation.

15. The program according to claim 12, wherein the model is a kinetic model for simulating the metabolic dynamics of microorganisms.